diff --git a/sf_sale/models/sale_order.py b/sf_sale/models/sale_order.py
index aad75979..d6e46786 100644
--- a/sf_sale/models/sale_order.py
+++ b/sf_sale/models/sale_order.py
@@ -13,14 +13,17 @@ class ReSaleOrder(models.Model):
address_of_delivery = fields.Char('交货人地址')
payments_way = fields.Selection([('现结', '现结'), ('月结', '月结')], '结算方式', default='现结', tracking=True)
pay_way = fields.Selection([('转账', '转账'), ('微信', '微信'), ('支付宝', '支付宝')], '支付方式')
- check_status = fields.Selection([('unchecked', '未审核'), ('checked', '已审核')], '审核状态', default='unchecked')
-
+ check_status = fields.Selection([('pending', '待审核'), ('approved', '已审核'), ('fail', '不通过')], '审核状态')
+ schedule_status = fields.Selection(
+ [('schedule', '待排程'), ('process', '待加工'), ('deliver', '待发货'), ('receive', '待收货'), ('received', '已收货')],
+ '进度状态')
payment_term_id = fields.Many2one(
comodel_name='account.payment.term',
string="交付条件",
compute='_compute_payment_term_id',
store=True, readonly=False, precompute=True, check_company=True, tracking=True,
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]")
+ remark = fields.Text('备注')
# 业务平台分配工厂后在智能工厂先创建销售订单
def sale_order_create(self, company_id, delivery_name, delivery_telephone, delivery_address,
@@ -43,6 +46,10 @@ class ReSaleOrder(models.Model):
})
return order_id
+ # 提交
+ def submit(self):
+ self.check_status = 'pending'
+
# 审核
def action_check(self):
self.check_status = 'checked'
@@ -108,9 +115,13 @@ class ResPartnerToSale(models.Model):
def _name_search(self, name, args=None, operator='ilike', limit=100, name_get_uid=None):
if self._context.get('is_customer'):
if self.env.user.has_group('sf_base.group_sale_director'):
- domain = [('customer_rank', '=', 1)]
- else:
- domain = [('user_id', '=', self.env.user.id)]
+ domain = [('customer_rank', '>', 0)]
+ elif self.env.user.has_group('sf_base.group_sale_salemanager'):
+ customer = self.env['res.partner'].search(
+ [('customer_rank', '>', 0), ('user_id', '=', self.env.user.id)])
+ if customer:
+ ids = [t.id for t in customer]
+ domain = [('id', 'in', ids)]
return self._search(domain, limit=limit, access_rights_uid=name_get_uid)
return super()._name_search(name, args, operator, limit, name_get_uid)
diff --git a/sf_sale/security/group_security.xml b/sf_sale/security/group_security.xml
index 1c5b1659..67478aa6 100644
--- a/sf_sale/security/group_security.xml
+++ b/sf_sale/security/group_security.xml
@@ -11,7 +11,7 @@
- 销售总监查看所有的订单
+ 销售总监查看所有团队
[(1,'=',1)]
@@ -41,11 +41,11 @@
-
- 销售经理查看自己的订单
+
+ 销售总监查看所有订单
- [('user_id', '=',user.id)]
-
+ [(1,'=',1)]
+
diff --git a/sf_sale/views/sale_order_view.xml b/sf_sale/views/sale_order_view.xml
index 6df5d955..5b67d399 100644
--- a/sf_sale/views/sale_order_view.xml
+++ b/sf_sale/views/sale_order_view.xml
@@ -1,46 +1,42 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
sale.order.form.inherit.sf
sale.order
+
+
+
-
-
-
- {'invisible': [('check_status', '=', 'unchecked'),('state', 'not in',
- ['sent'])]}
-
+
+
+
+
-
- {'invisible': [('check_status', '=', 'unchecked'),('state', 'in',
- ['draft'])]}
+
+
+
+
+
+
+
+
+
+ {'invisible': [('check_status', '!=', 'approved')]}
@@ -73,16 +69,10 @@
下单日期
-
-
-
-
-
-
-
+
diff --git a/sf_sale/wizard/sale_order_wizard.py b/sf_sale/wizard/sale_order_wizard.py
index 544b5abe..26de6d1e 100644
--- a/sf_sale/wizard/sale_order_wizard.py
+++ b/sf_sale/wizard/sale_order_wizard.py
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
from odoo import models, api, fields
+from odoo.exceptions import UserError
class saleOrderCheckWizard(models.TransientModel):
@@ -8,9 +9,17 @@ class saleOrderCheckWizard(models.TransientModel):
_description = '报价/销售订单审核向导'
order_id = fields.Many2one('sale.order')
- check_state = fields.Selection([('pass', '通过'), ('back', '退回')], '审核状态', default='pass')
+ # check_state = fields.Selection([('pass', '通过'), ('back', '退回')], '处理意见', default='pass')
check_audit = fields.Text('审核意见')
def submit(self):
- self.order_id.check_status = 'unchecked' if not self.check_state == 'pass' else 'checked'
- self.order_id.message_ids = '1'
+ self.order_id.check_status = 'approved'
+ self.order_id.remark = self.check_audit
+
+ def back(self):
+ if not self.check_audit:
+ raise UserError('请输入原因')
+ else:
+ self.order_id.check_status = 'fail'
+ self.order_id.remark = self.check_audit
+
diff --git a/sf_sale/wizard/sale_order_wizard_views.xml b/sf_sale/wizard/sale_order_wizard_views.xml
index db6742fc..a576066b 100644
--- a/sf_sale/wizard/sale_order_wizard_views.xml
+++ b/sf_sale/wizard/sale_order_wizard_views.xml
@@ -6,20 +6,22 @@
- 销售订单审核向导
+ 审核
sale.order.check.wizard
form
new