Files
test/sf_sale/models/sale_order.py
jinling.yang 45d04e1a05 1.销售新增审核状态,选项为已审核和待审核,销售模型新增权限规则:销售总监查看所有的订单,销售经理只能查看自己的订单
2.报价单Form视图新增审核按钮,该按钮只有销售总监可以看到,且确认按钮只有在销售经理审核完才可显示,报价Tree视图新增审核状态
2023-11-23 17:28:58 +08:00

83 lines
3.2 KiB
Python

import datetime
import base64
from odoo import models, fields
class ReSaleOrder(models.Model):
_inherit = 'sale.order'
deadline_of_delivery = fields.Date('订单交期', tracking=True)
person_of_delivery = fields.Char('交货人')
telephone_of_delivery = fields.Char('交货人电话号码')
address_of_delivery = fields.Char('交货人地址')
payments_way = fields.Selection([('现结', '现结'), ('月结', '月结')], '结算方式', default='现结', tracking=True)
pay_way = fields.Selection([('转账', '转账'), ('微信', '微信'), ('支付宝', '支付宝')], '支付方式')
check_status = fields.Selection([('unchecked', '未审核'), ('checked', '已审核')], '审核状态', default='unchecked')
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)]")
# 业务平台分配工厂后在智能工厂先创建销售订单
def sale_order_create(self, company_id, delivery_name, delivery_telephone, delivery_address,
deadline_of_delivery, payments_way, pay_way):
now_time = datetime.datetime.now()
partner = self.get_customer()
order_id = self.env['sale.order'].sudo().create({
'company_id': company_id.id,
'date_order': now_time,
'name': self.env['ir.sequence'].next_by_code('sale.order', sequence_date=now_time),
'partner_id': partner.id,
'state': 'draft',
'person_of_delivery': delivery_name,
'telephone_of_delivery': delivery_telephone,
'address_of_delivery': delivery_address,
'deadline_of_delivery': deadline_of_delivery,
'payments_way': payments_way,
'pay_way': pay_way,
})
return order_id
# 审核
def action_check(self):
self.check_status = 'checked'
def get_customer(self):
customer = self.env['res.partner'].search([('name', '=', '业务平台')])
if customer:
return customer
else:
partner = self.env['res.partner'].create({'name': '业务平台'})
return partner
# 业务平台分配工厂时在创建完产品后再创建销售明细信息
def sale_order_create_line(self, product, item):
vals = {
'order_id': self.id,
'product_id': product.id,
'name': '%s/%s/%s/%s%s/%s' % (
product.model_long, product.model_width, product.model_height, product.model_volume,
product.model_machining_precision,
product.materials_id.name),
'price_unit': product.list_price,
'product_uom_qty': item['number'],
'model_glb_file': base64.b64decode(item['model_file']),
}
return self.env['sale.order.line'].create(vals)
class ResaleOrderLine(models.Model):
_inherit = 'sale.order.line'
model_glb_file = fields.Binary('模型的glb文件')
class ResCrmTeam(models.Model):
_inherit = 'crm.team'