<!doctype html>
|
<html>
|
<head>
|
<meta charset="utf-8"><meta http-equiv="Expires" content="0"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cache-control" content="no-cache"><meta http-equiv="Cache" content="no-cache">
|
<title>订单信息</title>
|
|
<script type="text/javascript">
|
var pageVue = null;
|
function loadJsCss(callback) {
|
var jscss_urls = [];
|
window.top.initJsCss(document, jscss_urls, callback);
|
};
|
|
function initVue() {
|
new FormVue({
|
el: "#vbody",
|
data: {
|
dataname: "so_order",
|
table_dataname: "so_order_detail",
|
table_rebate_dataname: "so_order_detail_rebate",
|
title: "订单信息",
|
tabs: [
|
{code: "tab1", name: "订单明细", dataname: "so_order_detail", filterTxt: "1<>1", orderby: "create_time"},
|
{code: "tab2", name: "积分明细", dataname: "so_order_detail_rebate", filterTxt: "1<>1", orderby: ""},
|
// {code: "tab3", name: "预付款明细", dataname: "", filterTxt: "customer_id=''", orderby: ""},
|
],
|
activeTabName:"",
|
beforeActiveName:"",
|
selectTabObj: {},
|
TabObjMap: {
|
tab1: {
|
code: "tab1",
|
name: "订单明细",
|
tablebuttonClick: [],
|
tableFields: [],
|
tableData: [
|
// {company_name:"凯德诺", bu:"冠脉", begin_date: "2023-01-01", end_date: "2023-12-31", field_sqlx: "正式授权", field_yybm:"H00000057",field_yymc:"民航总医院", field_sqcp: "查看", field_sheng:"北京市", field_shi:"北京市", field_xian:""}
|
],
|
isEditTableData: false,
|
tableHeight: 300,
|
tablefieldClick: {},
|
selectedrow: {},
|
isRebateQty:false,
|
isOnsiteQty:false,
|
},
|
tab2: {
|
code: "tab2",
|
name: "折扣明细",
|
tablebuttonClick: [],
|
tableFields: [],
|
tableData: [
|
// {company_name:"凯德诺", bu:"冠脉", begin_date: "2023-01-01", end_date: "2023-12-31", field_sqlx: "正式授权", field_yybm:"H00000057",field_yymc:"民航总医院", field_sqcp: "查看", field_sheng:"北京市", field_shi:"北京市", field_xian:""}
|
],
|
isEditTableData: false,
|
tableHeight: 300,
|
tablefieldClick: {},
|
selectedrow: {}
|
|
},
|
// tab3: {
|
// code: "tab3",
|
// name: "预付款明细",
|
// tablebuttonClick: [],
|
// tableFields: [],
|
// tableData: [
|
// // {field_zklx:"商采指标-分配", field_cpx: "RESTORE", category_name: "紫杉醇释放冠脉球囊扩张导管", field_zblx:"金额",amt_year:""},
|
// // {field_zklx:"商采指标-考核", field_cpx: "RESTORE", category_name: "紫杉醇释放冠脉球囊扩张导管", field_zblx:"金额",amt_year:""},
|
// // {field_zklx:"植入指标-分配", field_cpx: "RESTORE", category_name: "紫杉醇释放冠脉球囊扩张导管", field_zblx:"数量",amt_year:""},
|
// // {field_zklx:"植入指标-考核", field_cpx: "RESTORE", category_name: "紫杉醇释放冠脉球囊扩张导管", field_zblx:"数量",amt_year:""}
|
// ],
|
// isEditTableData: false,
|
// tableHeight: 300,
|
// tablefieldClick: {},
|
// selectedrow: {}
|
|
// },
|
},
|
dataRequest: [
|
// {
|
// name: "so_order_detail", // 订单明细字段
|
// dataname: "so_order_detail",
|
// url: "root/data/getEntitySet",
|
// paramsobj: {dataname: "so_order_detail", attachMeta: true},
|
// isnotoption: true, //true:不是选项
|
// filter: "1<>1",
|
// },
|
{
|
name: "md_org_master", // 公司下拉项
|
dataname: "md_org_master",
|
// url: "root/data/newEntity",
|
// paramsobj: {dataname: "md_org_data", type_code:"Distributor"},
|
isnotoption: false, //true:不是选项
|
code:"id",//是下拉选项时设置
|
label:"name",//是下拉选项时设置
|
filter: "",
|
orderby: "name"
|
},
|
{
|
name: "rebate_qty_detail",
|
dataname: "rebate_qty_detail",
|
isnotoption: false, //true:不是选项
|
code:"code",//是下拉选项时设置
|
label:"qty_available",//是下拉选项时设置
|
// filter: "parent_id='"+window.top.vue.userinfo.org.id+"'",
|
orderby:""
|
},
|
{
|
name: "so_order_detail", // 订单明细字段
|
dataname: "so_order_detail",
|
url: "root/data/getEntitySet",
|
paramsobj: {dataname: "so_order_detail", attachMeta: true, filter: "1<>1"},
|
isnotoption: true, //true:不是选项
|
filter: "1<>1",
|
},
|
|
{
|
name: "so_order_setting", // 订单按键显示校验限制
|
dataname: "so_order_setting",
|
url: "root/data/getEntitySet",
|
paramsobj: {dataname: "so_order_setting", filter: "is_active='T'"},
|
isnotoption: true, //true:不是选项
|
// filter: "1<>1",
|
},
|
{
|
name: "so_order_setting_rule", // 订单按键校验限制
|
dataname: "so_order_setting_rule",
|
url: "root/data/getEntitySet",
|
paramsobj: {dataname: "so_order_setting_rule", filter: "is_active='T'"},
|
isnotoption: true, //true:不是选项
|
// filter: "1<>1",
|
},
|
],
|
options_rebate_qty_detail:[],
|
rebate_qty_detail_map: {},
|
// options_md_org_shipto: [],
|
// options_settlement_name: [{name: "现款现结",code: "现款现结",value: "现款现结"}],
|
options_company_name: [],
|
options_company_name_map: {},
|
options_shipto_address: [],
|
options_so_order_setting_type: [],
|
|
options_type_name: [{name: "标准",code: "标准",value: "标准"}, {name: "寄售",code: "寄售",value: "寄售"}, ],
|
// options_warehouse_name: [],
|
|
formAttr: {
|
istitle: false,
|
title: "表单名称",
|
columnnumber: 3,
|
labelwidth: "90px",
|
labelposition: "left",//"left",// right//top
|
size: "mini",
|
border: "5px solid #c6c6c600"
|
},
|
formFields: [],
|
newformData: {
|
type_code: 'normal',
|
type_name: "标准订单",
|
// code: createCode(),
|
// doc_date: createDate(),
|
// state_code: "Input",
|
// state_name: "草稿",
|
// create_time: createDatetime(),
|
// state_code: "Input",
|
// state_name: "草稿",
|
// org_id: window.top.vue.userinfo.org.id, //标识1
|
// org_code: window.top.vue.userinfo.org.code,
|
// org_name: window.top.vue.userinfo.org.name,
|
// creator_name: window.top.vue.userinfo.name,
|
},
|
formData: {},
|
|
isRefresh: true,
|
|
tableFields: [],
|
newTableData: {
|
qty:"",
|
create_time: createDatetime(),
|
creator_name: window.top.vue.userinfo.name,
|
},
|
tableData: [],
|
|
//按键权限设置
|
isedit: false,//提交前编辑,保存/提交
|
isrefuseedit: false,//拒绝后编辑,保存/再次提交
|
isapproval: false,//审批,同意/拒绝/转办/退回
|
|
iscommit: false,//提交标记
|
|
//弹窗参数
|
popupParames: {},
|
//字段设置
|
tablefieldClick: {},
|
formfieldClick: {},
|
dheight: 0,
|
checkarr:[],
|
delarr:[],
|
iscustomer: false, // 是否经销商账号
|
customerobj: {
|
// id: "",
|
// code: "",
|
// name: ""
|
},
|
accountobj: {},
|
tableAttr:{},
|
isExceedQuota: false, // 是否超标
|
rebateFilter:"",
|
//审批相关变量
|
reasonvisible:false,//审批通过或拒绝填写原因
|
approveremark: '',//填写理由
|
passOrRefuse:false,
|
loading_pass: false,
|
|
isedit_shipto_type: false, // 编辑货运方式
|
isedit_approve: false, // 审批时编辑
|
formFields_acc: [],
|
formData_acc: {},
|
|
// 价格选项bySKU
|
optionPriceByskuIdObj: {},
|
isbarter: false, // 是否换货订单
|
|
// 校验限制
|
settingByBU: {
|
// bu1: {
|
// isButton_mzc: false, // 买赠池按键
|
// isButton_zkc: false, // 积分池按键
|
// isButton_yhzc: false, // 优惠政策按键
|
// }
|
},
|
settingRuleByBU: {
|
// bu1: {
|
// isRestrictOneCoupon: false, // 限制仅使用一个优惠政策
|
// isButton2S1: false, // 限制买赠池和积分池二选一
|
// isButton3S1: false, // 限制买赠池和积分池、优惠政策三选一
|
// }
|
},
|
|
isRestrictOneCoupon: false, // 限制仅使用一个优惠政策
|
isButton2S1: false, // 限制买赠池和积分池二选一
|
isButton3S1: false, // 限制买赠池和积分池、优惠政策三选一
|
|
close_edit: false, // 订单关闭
|
close_edit_all: false, // 订单整单关闭
|
accountPositions_obj: {},
|
istooa: false,
|
|
closereasonvisible: false, // 关闭原因填写
|
closereason: "", // 关闭原因
|
},
|
created() {
|
this.istooa = window.top.config.istooa;
|
// 1、经销商没有换货单的编辑,但是有查看
|
// 2、新增(经销商仅有标准订单,非经销商包含换货单)、编辑(换货单经销商不可编辑,订单类型只读,不可更改)、查看、审批
|
// 3、根据订单类型进行显示,切换订单类型时需要清空明细数据
|
// 换货单和标准订单的区别,没有优惠政策和赠送,只有正常新增,且价格是手输的,不需要订单校验
|
|
this.iscustomer = window.top.vue.isCustomer
|
if (this.iscustomer) { // 是经销商账号
|
this.customerobj = window.top.vue.userinfo.org
|
this.accountobj = window.top.vue.userinfo.currentactor
|
}
|
|
this.dheight = document.documentElement.clientHeight - 92;
|
this.popupParames = clone(Root.popupParames);
|
this.title = this.popupParames.title || this.popupParames.text
|
if (this.popupParames.data) {
|
this.formData = clone(this.popupParames.data);
|
if (this.formData.type_code == "barter") { // 已设置订单类型为换货单
|
this.isbarter = true
|
}
|
if (this.formData.org_id) {
|
var shipto_ = {
|
name: "md_org_shipto",
|
dataname: "md_org_shipto",
|
isnotoption: false, //true:不是选项
|
code: "id",//是下拉选项时设置
|
label: "address",//是下拉选项时设置
|
filter: "parent_id='" + this.formData.org_id + "'",
|
orderby: "address"
|
}
|
|
this.dataRequest.push(shipto_);
|
}
|
}
|
|
var so_order_setting_type_ = {
|
name: "so_order_setting_type",
|
dataname: "so_order_setting_type",
|
isnotoption: false, //true:不是选项
|
code:"code",//是下拉选项时设置
|
label:"name",//是下拉选项时设置
|
// filter: "scene='standard'",
|
orderby:""
|
}
|
|
if (this.popupParames.sceneCode) {
|
if (this.popupParames.sceneCode == "add") {//新增
|
if (this.iscustomer) { // 是经销商则只有标准订单选项
|
so_order_setting_type_.filter = "scene='standard'"
|
|
// 带出大区岗位和大区负责人,销售岗位和销售负责人
|
var accountPosition_ = { //给formdata赋初始值和id
|
name: "accountPosition",
|
url: "root/data/getEntitySet",
|
paramsobj: {dataname: "md_org_account_position_list", attachMeta: false, filter: "md_org_account_position.parent_id='" + this.accountobj.target_id + "'"},
|
isnotoption: true, //true:不是选项
|
}
|
this.dataRequest.push(accountPosition_);
|
}
|
var newEntity_ = { //给formdata赋初始值和id
|
name: "newEntity",
|
url: "root/data/newEntity",
|
paramsobj: {dataname: this.dataname, attachMeta: false},
|
isnotoption: true, //true:不是选项
|
}
|
this.dataRequest.push(newEntity_);
|
|
this.isedit = true;
|
}
|
else if (this.popupParames.sceneCode == "browse") {// 只读
|
this.formAttr.disabled = true;
|
this.isedit = false;
|
|
if (!this.iscustomer && this.formData.customer_id) {// 不是经销商
|
this.isedit_shipto_type = true;
|
var accountEntity_ = { //给formdata赋初始值和id
|
name: "accountEntity",
|
url: "root/data/getEntity",
|
paramsobj: {dataname: "md_org_account", attachMeta: true, id: this.formData.customer_id},
|
isnotoption: true, //true:不是选项
|
}
|
this.dataRequest.push(accountEntity_);
|
}
|
}
|
else if (this.popupParames.sceneCode == "close_edit") {//编辑订单关闭
|
this.formAttr.disabled = true;
|
this.isedit = false;
|
this.close_edit = true;
|
if (!this.iscustomer && this.formData.customer_id) {// 不是经销商
|
this.isedit_shipto_type = true;
|
var accountEntity_ = { //给formdata赋初始值和id
|
name: "accountEntity",
|
url: "root/data/getEntity",
|
paramsobj: {dataname: "md_org_account", attachMeta: true, id: this.formData.customer_id},
|
isnotoption: true, //true:不是选项
|
}
|
this.dataRequest.push(accountEntity_);
|
}
|
}
|
else if (this.popupParames.sceneCode == "edit") {//编辑
|
this.isedit = true;
|
|
// 带出大区岗位和大区负责人,销售岗位和销售负责人
|
var accountPosition_ = { //给formdata赋初始值和id
|
name: "accountPosition",
|
url: "root/data/getEntitySet",
|
paramsobj: {dataname: "md_org_account_position_list", attachMeta: false, filter: "md_org_account_position.parent_id='" + this.formData.customer_id + "'"},
|
isnotoption: true, //true:不是选项
|
}
|
this.dataRequest.push(accountPosition_);
|
}
|
else if (this.popupParames.sceneCode == "approval") {//审批
|
this.formAttr.disabled = true;
|
this.isapproval = true;
|
|
// 填写货运方式(必填,显示开户的客商地址、联系人、联系电话) disabled
|
this.isedit_shipto_type = true;
|
var accountEntity_ = { //给formdata赋初始值和id
|
name: "accountEntity",
|
url: "root/data/getEntity",
|
paramsobj: {dataname: "md_org_account", attachMeta: true, id: this.formData.customer_id},
|
isnotoption: true, //true:不是选项
|
}
|
|
// 校验显示
|
var policy_ = { //给formdata赋初始值和id
|
name: "policy",
|
url: "root/policy/policyCheckBoard",
|
paramsobj: {dataname: "so_order", id: this.formData.id},
|
isnotoption: true, //true:不是选项
|
}
|
|
// 带出大区岗位和大区负责人,销售岗位和销售负责人
|
var accountPosition_ = { //给formdata赋初始值和id
|
name: "accountPosition",
|
url: "root/data/getEntitySet",
|
paramsobj: {dataname: "md_org_account_position_list", attachMeta: false, filter: "md_org_account_position.parent_id='" + this.formData.customer_id + "'"},
|
isnotoption: true, //true:不是选项
|
}
|
|
this.dataRequest.push(accountEntity_);
|
if (!this.isbarter) {
|
this.dataRequest.push(policy_);
|
}
|
this.dataRequest.push(accountPosition_);
|
|
//需要编辑批号
|
this.isedit_approve = true;
|
|
}
|
else if (this.popupParames.sceneCode == "refuseedit") {//拒绝后的编辑
|
this.isrefuseedit = true;
|
}
|
}
|
this.dataRequest.push(so_order_setting_type_);
|
},
|
|
mounted() {
|
var me = this;
|
this.activeTabName = "tab1";
|
this.beforeActiveName = "tab1"
|
// this.tableAttr.toolbarobj={};
|
// this.$set(tableAttr , 'toolbarobj', '');
|
//预加载数据
|
if (this.dataRequest && this.dataRequest.length) {
|
var result = {};
|
this.loadRequestData(this.dataRequest, result, function(data) {
|
me.dataRequestObj = data;
|
|
//预加载数据后给哪些字段设置options或formatterjson
|
if (me.dataRequestObj.md_org_master) {
|
me.options_company_name = me.dataRequestObj.md_org_master
|
me.options_company_name_map = me.dataRequestObj.map.md_org_master
|
}
|
|
if (me.dataRequestObj.newEntity) {
|
var formData = clone(me.dataRequestObj.newEntity.data[me.dataname]);
|
// formData.product_category_name = [];
|
if (me.newformData) {
|
let formData_ = clone(formData);
|
if (formData_.company_id) {
|
formData_.company_name = clone(me.options_company_name_map[formData_.company_id])
|
}
|
|
for (var k in me.newformData) {
|
if (!formData_[k]) {
|
formData_[k] = me.newformData[k];
|
}
|
}
|
if (me.customerobj && me.customerobj.id && !formData_.org_id) {
|
formData_.org_id = me.customerobj.id;
|
}
|
|
me.formData = formData_;
|
}
|
}
|
|
if (me.dataRequestObj.md_org_shipto) {
|
var options_shipto_address_ = [];
|
me.dataRequestObj.md_org_shipto.map(s=>{
|
s.value = s.province + s.city + "_" + s.value;
|
options_shipto_address_.push(s);
|
})
|
me.options_shipto_address = options_shipto_address_
|
}
|
if (me.dataRequestObj.so_order_setting_type) {
|
me.options_so_order_setting_type = me.dataRequestObj.so_order_setting_type
|
}
|
|
if (me.dataRequestObj.so_order_setting) {
|
/*
|
settingByBU: {
|
bu1: {
|
isButton_mzc: false, // 买赠池按键
|
isButton_zkc: false, // 积分池按键
|
isButton_yhzc: false, // 优惠政策按键
|
}
|
},
|
|
*/
|
var settingByBU_ = {}
|
if (me.dataRequestObj.so_order_setting.data && me.dataRequestObj.so_order_setting.data.entityset) {
|
var setting_data = clone(me.dataRequestObj.so_order_setting.data.entityset)
|
setting_data.map(sd=>{
|
if (!settingByBU_[sd.bu_id]) {
|
settingByBU_[sd.bu_id] = {
|
isButton_mzc: false, // 买赠池按键
|
isButton_zkc: false, // 积分池按键
|
isButton_yhzc: true, // 优惠政策按键
|
}
|
}
|
if (sd.template_id == "Active_RebateAmt") { // 可以使用积分池/折扣池
|
settingByBU_[sd.bu_id].isButton_zkc = true
|
}
|
if (sd.template_id == "Active_RebateQty") { // 可以使用买赠池
|
settingByBU_[sd.bu_id].isButton_mzc = true
|
}
|
})
|
}
|
|
me.settingByBU = clone(settingByBU_)
|
}
|
|
if (me.dataRequestObj.so_order_setting_rule) {
|
/*
|
settingRuleByBU: {
|
bu1: {
|
isRestrictOneCoupon: false, // 限制仅使用一个优惠政策
|
isButton2S1: false, // 限制买赠池和积分池二选一
|
isButton3S1: false, // 限制买赠池和积分池、优惠政策三选一
|
}
|
},
|
*/
|
|
var settingRuleByBU_ = {}
|
if (me.dataRequestObj.so_order_setting_rule.data && me.dataRequestObj.so_order_setting_rule.data.entityset) {
|
var setting_data = clone(me.dataRequestObj.so_order_setting_rule.data.entityset)
|
setting_data.map(sd=>{
|
if (!settingRuleByBU_[sd.bu_id]) {
|
settingRuleByBU_[sd.bu_id] = {
|
isRestrictOneCoupon: false, // 限制仅使用一个优惠政策
|
isButton2S1: false, // 限制买赠池和积分池二选一
|
isButton3S1: false, // 限制买赠池和积分池、优惠政策三选一
|
}
|
}
|
if (sd.action_id == "OnsiteCountSameTimeCheck") { // 限制仅使用一个优惠政策
|
settingRuleByBU_[sd.bu_id].isRestrictOneCoupon = true
|
}
|
if (sd.action_id == "RebateAmtQtySameTimeCheck") { // 限制买赠池和积分池二选一
|
settingRuleByBU_[sd.bu_id].isButton2S1 = true
|
}
|
if (sd.action_id == "DiscountCategorySameTimeCheck") { // 限制买赠池和积分池、优惠政策三选一
|
settingRuleByBU_[sd.bu_id].isButton3S1 = true
|
}
|
})
|
}
|
|
me.settingRuleByBU = clone(settingRuleByBU_)
|
}
|
|
|
// if (me.dataRequestObj.type_name) {
|
// me.options_type_name = me.dataRequestObj.type_name
|
// }
|
if (me.dataRequestObj.rebate_qty_detail) {
|
me.options_rebate_qty_detail = me.dataRequestObj.rebate_qty_detail
|
me.rebate_qty_detail_map = clone(me.dataRequestObj.map.rebate_qty_detail);
|
}
|
if (me.dataRequestObj.accountEntity) {
|
var dataname_acc = "md_org_account";
|
var formFields_acc = []
|
var formData_acc = {}
|
var meta_acc = clone(me.dataRequestObj.accountEntity.meta[dataname_acc].fields)
|
me.formData_acc = clone(me.dataRequestObj.accountEntity.data[dataname_acc])
|
/*
|
`business_address` varchar(254) DEFAULT NULL COMMENT '经营地址',
|
`business_person` varchar(32) DEFAULT NULL COMMENT '业务联系人',
|
`business_phone` varchar(32) DEFAULT NULL COMMENT '业务联系电话',
|
if (me.iscustomer && f.field == 'customer_name') {
|
f.inputtype = "span";
|
}
|
*/
|
meta_acc.map(f=>{
|
if (f.field == "md_org__receive_address") {
|
f.inputtype = "span";
|
f.isshow = "T";
|
f.group_name = "开户信息"
|
f.labelchinese = "NC仓库地址"
|
formFields_acc.push(f);
|
}
|
if (f.field == "md_org__receiver_name") {
|
f.inputtype = "span";
|
f.isshow = "T";
|
f.group_name = "开户信息"
|
f.labelchinese = "NC收货人"
|
formFields_acc.push(f);
|
}
|
if (f.field == "md_org__receiver_phone") {
|
f.inputtype = "span";
|
f.isshow = "T";
|
f.group_name = "开户信息"
|
f.labelchinese = "NC收货电话"
|
formFields_acc.push(f);
|
}
|
})
|
me.formFields_acc = clone(formFields_acc);
|
}
|
|
if (me.dataRequestObj.policy) {
|
var lines_ = clone(me.dataRequestObj.policy.data.lines)
|
|
me.showPolicy(lines_)
|
}
|
|
me.initData();
|
|
});
|
}
|
else {
|
this.initData();
|
}
|
|
// 以服务的方式调用的 Loading 需要异步关闭
|
this.$nextTick(() => {
|
hideLoading();
|
|
//重新设置弹窗宽高
|
this.$nextTick(function(){
|
//let w_ = this.$refs.popup_body.offsetWidth + "px";
|
let w_ = "900px";
|
let h_ = this.$refs.popup_body.offsetHeight + "px";
|
Root.setPopupWH(w_, h_);
|
})
|
});
|
},
|
|
methods:{
|
//关闭弹窗
|
closeDialog() {
|
var me = this;
|
if (me.popupParames.totab){
|
Root.tab.removeItem(Root.tab.selected);
|
Root.tab.open(me.popupParames.parentOption, false);
|
}
|
else {
|
Root.hidePopup();
|
}
|
},
|
//关闭前调回调
|
saveAfter() {
|
var me = this;
|
if(this.popupParames.callback) {
|
let obj = {
|
//row: this.formData
|
}
|
this.popupParames.callback(obj, function() {
|
me.closeDialog();
|
});
|
}
|
else {
|
me.closeDialog();
|
}
|
},
|
|
onShowPolicy() {
|
var me = this;
|
|
if (me.dataRequestObj.policy) {
|
var lines_ = clone(me.dataRequestObj.policy.data.lines)
|
|
me.showPolicy(lines_)
|
}
|
},
|
|
//
|
showPolicy(list) {
|
var me = this;
|
list.map(r=>{
|
if (r.value) {
|
r.title = r.title + "【" + r.value + r.unit + "】"
|
}
|
})
|
|
if (list && list.length) {
|
var config = {
|
totab: false,
|
// width: "1200px",
|
// height: 800,
|
icon: "icon-product",
|
text: "校验结果信息",
|
url: "module/tool/page/popup_policy.html",
|
data: {},
|
delta: list,
|
callback: function(obj, callback) {
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
me.doPopupByPublic(config);
|
}
|
},
|
|
initData() {
|
let me = this
|
var id_ = null;
|
me.selectTabObj = {}
|
if (this.formData.id) {
|
id_ = this.formData.id;
|
}
|
this.getRowDataById(id_, function(result) { //查询后的回调,用于获取字段的
|
if (result.meta && result.meta[me.dataname] && result.meta[me.dataname].fields) {
|
var metas = clone(result.meta[me.dataname].fields);
|
var table_metas = [];
|
var table_rebate_metas = [];
|
table_metas = clone(result.meta[me.table_dataname].fields);
|
table_rebate_metas = clone(result.meta[me.table_rebate_dataname].fields);
|
|
var formFields_ = [];
|
var tableFields_ = [];
|
var tableRebateFields_ = [];
|
metas.map(f=>{
|
f.isshow = "T";
|
|
if (me.iscustomer && f.field == 'customer_name') {
|
f.inputtype = "span";
|
}
|
// if (f.field == 'shipto_address_id' && me.options_shipto_address.length) { //标识二:暂时屏蔽
|
if (f.field == 'shipto_address_id') {
|
f.options = me.options_shipto_address
|
f.buttonarrayname = [{type: "", buttonname:"地址维护", icon: "el-icon-place", code:"showfile", classname: "form_showfile"},]
|
}
|
if (f.field == 'type_code') {
|
f.isnotclearable = true; // 该字段没有清空选择器功能
|
f.options = me.options_so_order_setting_type
|
if (me.popupParames.sceneCode == "edit") { // 如果是编辑则该字段只读
|
f.disabled = true
|
}
|
}
|
// if (f.field == 'type_name') {
|
// f.options = me.options_type_name
|
// }
|
|
if (f.field == 'remark_approve' || f.field == 'attachment_approve_id') {
|
f.isshow = "F";
|
}
|
|
if (me.isedit_shipto_type) {
|
if (f.field == "position_name" || f.field == 'shipto_plan_method_code' || f.field == 'remark_approve' || f.field == 'attachment_approve_id') {
|
f.isshow = "T";
|
if (me.isapproval) {
|
f.disabled = false;
|
}
|
else {
|
f.disabled = true
|
}
|
}
|
else {
|
f.disabled = true
|
}
|
if (f.field == 'shipto_plan_method_name') {
|
f.isshow = "F";
|
}
|
}
|
else {
|
if (f.field == 'shipto_plan_method_code') {
|
f.isshow = "F";
|
}
|
if (f.field == 'shipto_plan_method_name') {
|
f.isshow = "T";
|
}
|
}
|
|
// if (f.field == 'attachment_id') {
|
// f.colspan = 3;
|
// }
|
|
formFields_.push(clone(f));
|
})
|
|
if (me.rowData[me.dataname]) {
|
me.formData = me.rowData[me.dataname];
|
}
|
|
if (me.dataRequestObj.accountPosition && (me.isedit || me.isedit_approve)) {
|
var accountPositions_ =clone(me.dataRequestObj.accountPosition.data.entityset);
|
var region_id = ""
|
var region_name = ""
|
var position_id = ""
|
var employee_id = ""
|
var position_name = ""
|
|
if (me.formData.position_id) {
|
region_id = me.formData.region_id
|
region_name = me.formData.region_name
|
employee_id = me.formData.oa_employee_id
|
position_id = me.formData.position_id
|
position_name = me.formData.position_name
|
}
|
|
if (me.isedit_approve) { // 审批时
|
if (accountPositions_.length) { // 存在业务负责人
|
var accountPositions_options_ = [];
|
var accountPositions_obj_ = {};
|
accountPositions_.map(ap=>{
|
var e_ = ap.md_employee__name
|
var employee_ = {
|
code: e_,
|
value: e_
|
}
|
accountPositions_obj_[e_] = clone(ap);
|
accountPositions_options_.push(employee_);
|
})
|
me.accountPositions_obj = clone(accountPositions_obj_);
|
// 设置选择器,由进行选择
|
formFields_.map(ff=>{
|
if (ff.field == 'position_name') {
|
ff.inputtype = "select"
|
ff.options = accountPositions_options_
|
}
|
});
|
|
}
|
else { // 没有业务负责人
|
|
}
|
}
|
else { // 编辑时
|
if (accountPositions_.length == 1) { // 存在一个业务负责人
|
var a_position_ = clone(accountPositions_[0])
|
position_id = a_position_.position_id;
|
employee_id = a_position_.md_employee__id;
|
position_name = a_position_.md_employee__name;
|
var position_list = a_position_.md_position_hierarchy__position_path.split(">>");
|
position_list.map(p=>{
|
if (p.indexOf('大区经理') != -1) {
|
var region_position = p.split("-");
|
region_name = region_position[0]
|
}
|
else if (p.indexOf('高级地区经理') != -1) {
|
var region_position = p.split("-");
|
region_name = region_position[0]
|
}
|
})
|
}
|
else if (accountPositions_.length > 1) { // 多个业务负责人
|
var accountPositions_options_ = [];
|
var accountPositions_obj_ = {};
|
accountPositions_.map(ap=>{
|
var e_ = ap.md_employee__name
|
var employee_ = {
|
code: e_,
|
value: e_
|
}
|
accountPositions_obj_[e_] = clone(ap);
|
accountPositions_options_.push(employee_);
|
})
|
me.accountPositions_obj = clone(accountPositions_obj_);
|
// 设置选择器,由进行选择
|
formFields_.map(ff=>{
|
if (ff.field == 'position_name') {
|
ff.inputtype = "select"
|
ff.options = accountPositions_options_
|
}
|
});
|
|
}
|
else { // 没有业务负责人
|
|
}
|
}
|
|
var formData_ = clone(me.formData);
|
formData_.region_id = region_id;
|
formData_.region_name = region_name;
|
formData_.oa_employee_id = employee_id;
|
formData_.position_id = position_id;
|
formData_.position_name = position_name;
|
|
me.formData = clone(formData_);
|
}
|
|
table_metas.map(f=>{
|
f.isshow = "T";
|
f.is_readonly = true
|
if (me.isedit_approve && f.field == "batch_no") {
|
f.inputtype = "input";
|
f.is_readonly = false;
|
}
|
else if (!me.isedit) {
|
f.inputtype = "span";
|
}
|
if (f.field == "qty" || f.field == "amt_list" || f.field == "amt_rebate" || f.field == "amt_net" || f.field == "amt_rebate_close" || f.field == "qty_rebate_close" || f.field == "qty_close" ) {
|
f.istablesum = true
|
}
|
|
if (f.field == 'price' && me.isbarter && me.isedit) {
|
f.inputtype = "input";
|
}
|
|
if (f.field == "qty_rebate_close" || f.field == "amt_rebate_close" || f.field == "qty_close" || f.field == "todate_close" || f.field == "close_reason") {
|
if (me.close_edit) { // 订单关闭编辑
|
f.isshow = "T"
|
f.is_readonly = false;
|
if (f.field == "qty_rebate_close" || f.field == "amt_rebate_close" || f.field == "qty_close" || f.field == "close_reason") {
|
f.inputtype = "input";
|
}
|
if (f.field == "todate_close") {
|
f.inputtype = "date";
|
}
|
}
|
else if (me.rowData[me.dataname] && me.rowData[me.dataname].qty_close) { // 存在订单关闭数量的显示字段
|
f.isshow = "T"
|
}
|
else {
|
f.isshow = "F"
|
}
|
}
|
|
tableFields_.push(clone(f));
|
})
|
|
if (me.close_edit) {
|
if (!me.formData.qty_delivery && !me.formData.qty_close) { // 如果没有发货数量和关闭数量则整单关闭
|
me.close_edit_all = true;
|
// 设置默认的行关闭数据
|
// me.setdetailclose();
|
|
// 关闭行
|
var field_close_operate = {
|
isshow: "T", field: "field_close_operate", name: "操作", width: "100", align: "center", isfixed: "right", inputtype: "tag"//"capsuletag"
|
}
|
|
//从字典获取对应样式
|
var tagtypeList_ = window.top.Dictionary.getList("tagtype");
|
var tagtype_ = {};
|
tagtypeList_.map(tt=>{
|
tagtype_[tt.code] = tt.value;
|
})
|
field_close_operate.tagtype = tagtype_;
|
|
tableFields_.push(field_close_operate);
|
}
|
else {
|
// 关闭行
|
var field_close_operate = {
|
isshow: "T", field: "field_close_operate", name: "操作", width: "100", align: "center", isfixed: "right", inputtype: "tag"//"capsuletag"
|
}
|
|
//从字典获取对应样式
|
var tagtypeList_ = window.top.Dictionary.getList("tagtype");
|
var tagtype_ = {};
|
tagtypeList_.map(tt=>{
|
tagtype_[tt.code] = tt.value;
|
})
|
field_close_operate.tagtype = tagtype_;
|
|
tableFields_.push(field_close_operate);
|
}
|
|
}
|
|
table_rebate_metas.map(f=>{
|
f.isshow = "T";
|
f.is_readonly = true;
|
tableRebateFields_.push(clone(f));
|
})
|
|
if (!me.formFields || (me.formFields && me.formFields.length == 0)) {
|
me.formFields = clone(formFields_);
|
me.TabObjMap["tab1"].tableFields = clone(tableFields_);
|
me.TabObjMap["tab2"].tableFields = clone(tableRebateFields_);
|
|
}
|
}
|
|
if (me.rowData[me.table_dataname]) {
|
me.rowData[me.table_dataname].map(r=>{
|
if (me.close_edit_all) { // 是整单关闭
|
// 设置默认的行关闭数据
|
r.isWithinEdit = true
|
|
r.qty_close = r.qty
|
r.amt_rebate_close = r.amt_rebate
|
if (r.type_code == "RebateQty") { // 买赠池
|
r.qty_rebate_close = r.qty
|
}
|
if (r.amt_rebate_close || r.qty_rebate_close) {
|
var today = new Date(); // 获取当前日期
|
var day90_ = new Date(today.getTime() + 120 * (24 * 60 * 60 * 1000)); // 获取120天后的日期
|
|
r.todate_close = dateFormat(day90_, "yyyy-MM-dd");
|
}
|
}
|
|
if (r.line_state_code == "close") {
|
r.field_close_operate = "撤销关闭"
|
r.isWithinEdit = false
|
}
|
else if (me.close_edit) { // 是订单关闭
|
r.field_close_operate = "关闭行"
|
r.isWithinEdit = true
|
}
|
})
|
|
me.TabObjMap["tab1"].tableData = me.rowData[me.table_dataname];
|
}
|
if (me.rowData[me.table_rebate_dataname]) {
|
me.TabObjMap["tab2"].tableData = me.rowData[me.table_rebate_dataname];
|
}
|
if (me.rowData["so_order_file"] && me.rowData["so_order_file"].length) {
|
var attachment_id_ = []
|
var attachment_approve_id_ = []
|
me.rowData["so_order_file"].map(f=>{
|
if (f.sender_field_file_name == "attachment_id") {
|
var f_ = {
|
id: f.id,
|
file_name: f.file_name
|
}
|
attachment_id_.push(f_);
|
}
|
else if (f.sender_field_file_name == "attachment_approve_id") {
|
var f_ = {
|
id: f.id,
|
file_name: f.file_name
|
}
|
attachment_approve_id_.push(f_);
|
}
|
|
})
|
me.$set(me.formData, "attachment_approve_id", attachment_approve_id_);
|
me.$set(me.formData, "attachment_id", attachment_id_);
|
|
}
|
|
if (me.isedit) { // 如果是编辑
|
me.sumQTY()
|
me.sumRebate();//表单折扣值改变
|
}
|
|
me.selectTabObj = clone(me.TabObjMap[me.activeTabName]);
|
me.tableButtonClick()
|
})
|
|
//字段数组转字段obj,目的为了筛选时获取字段属性
|
me.fieldsToFieldsObj();
|
|
//设置字段事件
|
me.tableFieldClick();
|
|
},
|
tableButtonClick() {
|
var me = this;
|
var tablebuttonClick = {};
|
tablebuttonClick.tab1 = [
|
{
|
isbuttonshow: this.isedit && me.isbarter, type:"primary",
|
code: "add", isselected: false, classname:"",
|
onclick: function(obj) {
|
// me.onAddData(obj)
|
// me.openProduct(obj)
|
if (!me.formData.customer_id) {
|
Root.message({
|
type: 'warning',
|
message: '请先选择客商名称'
|
});
|
return;
|
}
|
|
me.openProductList("add", "", function(popupobj) { // qty买赠, amt折扣
|
// me.getProductPrice();
|
var list_h = clone(popupobj.list); //购物车返回一个数组
|
var tableData_ = clone(me.selectTabObj.tableData);
|
if (popupobj.type == "upload_sku") { // 导入产品
|
list_h.map(h=>{
|
var h_ = {
|
product_name: h.product_name,
|
product_code: h.product_code,
|
product_id: h.product_id,
|
sku_id: h.sku_id,
|
sku_nc_id: h.nc_id,
|
spec: h.spec,
|
unit: h.unit,
|
type_code: "Customize", // Customize自定义价格, ListPrice正常公价, OnsitePrice即时优惠价, OnsiteQty即时买赠, OncePrice一次性优惠价, OnceQty一次性买赠, RebateQty买赠池
|
type_name: "换货",
|
record_id: "",
|
record_no: "",
|
record_name: "",
|
qty: h.qty ? h.qty : 1, // 订单数量
|
price: 0, // 实际单价
|
amt_list: 0,
|
}
|
tableData_.unshift(clone(h_)); //unshift只能一个一个数组放
|
})
|
}
|
else { // 选择产品
|
list_h.map(h=>{
|
var h_ = {
|
product_name: h.product_name,
|
product_code: h.product_code,
|
product_id: h.product_id,
|
sku_id: h.id,
|
sku_nc_id: h.nc_id,
|
spec: h.spec,
|
unit: h.unit,
|
type_code: "Customize", // Customize自定义价格, ListPrice正常公价, OnsitePrice即时优惠价, OnsiteQty即时买赠, OncePrice一次性优惠价, OnceQty一次性买赠, RebateQty买赠池
|
type_name: "换货",
|
record_id: "",
|
record_no: "",
|
record_name: "",
|
qty: h.input_qty ? h.input_qty : 1, // 订单数量
|
price: 0, // 实际单价
|
amt_list: 0,
|
}
|
tableData_.unshift(clone(h_)); //unshift只能一个一个数组放
|
})
|
}
|
|
me.TabObjMap["tab1"].tableData = clone(tableData_);
|
if (me.selectTabObj.code == "tab1") {
|
me.selectTabObj = clone(me.TabObjMap["tab1"]);
|
}
|
me.sumQTY()
|
});
|
}
|
},
|
|
{
|
isbuttonshow: this.isedit && !me.isbarter, type:"primary",
|
code: "add", isselected: false, classname:"",
|
onclick: function(obj) {
|
// me.onAddData(obj)
|
// me.openProduct(obj)
|
if (!me.formData.customer_id) {
|
Root.message({
|
type: 'warning',
|
message: '请先选择客商名称'
|
});
|
return;
|
}
|
|
me.openProductList("add", "", function(popupobj){ // qty买赠, amt折扣
|
// me.getProductPrice();
|
var list_h = clone(popupobj.list); //购物车返回一个数组
|
var addlist = [];
|
var skuid_list = [];
|
var tableData_ = clone(me.selectTabObj.tableData);
|
if (popupobj.type == "upload_sku") { // 导入产品
|
list_h.map(h=>{
|
var h_ = {
|
product_name: h.product_name,
|
product_code: h.product_code,
|
product_id: h.product_id,
|
sku_id: h.sku_id,
|
sku_nc_id: h.nc_id,
|
spec: h.spec,
|
unit: h.unit,
|
type_code: "ListPrice", // ListPrice正常, OnsitePrice即时优惠价, OnsiteQty即时买赠, OncePrice一次性优惠价, OnceQty一次性买赠, RebateQty买赠池
|
type_name: "购买",
|
record_id: "",
|
record_no: "",
|
record_name: "",
|
// qty: 1, // 订单数量
|
qty: h.qty ? h.qty : 1, // 订单数量
|
price: 0, // 实际单价
|
}
|
skuid_list.push(h.sku_id);
|
addlist.push(h_)
|
})
|
}
|
else { // 选择产品
|
list_h.map(h=>{
|
var h_ = {
|
product_name: h.product_name,
|
product_code: h.product_code,
|
product_id: h.product_id,
|
sku_id: h.id,
|
sku_nc_id: h.nc_id,
|
spec: h.spec,
|
unit: h.unit,
|
type_code: "ListPrice", // ListPrice正常, OnsitePrice即时优惠价, OnsiteQty即时买赠, OncePrice一次性优惠价, OnceQty一次性买赠, RebateQty买赠池
|
type_name: "购买",
|
record_id: "",
|
record_no: "",
|
record_name: "",
|
// qty: 1, // 订单数量
|
qty: h.input_qty ? h.input_qty : 1, // 订单数量
|
price: 0, // 实际单价
|
}
|
skuid_list.push(h.id);
|
addlist.push(h_)
|
})
|
}
|
// 如果重复的sku_id获取单价有问题,需要导入时根据sku_id汇总数量
|
me.getPriceBySKUs(skuid_list, function(priceobjBysku) {
|
addlist.map(row=>{
|
if (priceobjBysku[row.sku_id].actives && priceobjBysku[row.sku_id].actives.length) { // && priceobjBysku[row.sku_id].actives.length == 1
|
row.price = priceobjBysku[row.sku_id].actives[0].price;
|
row.amt_list = row.price;
|
row.record_id = priceobjBysku[row.sku_id].actives[0].id
|
if (priceobjBysku[row.sku_id].actives[0].type_code == "Standard-SKU-Price") {
|
row.record_no = "标准价目表"
|
row.record_name = "标准价目表"
|
}
|
if (priceobjBysku[row.sku_id].actives[0].code) {
|
row.record_no = priceobjBysku[row.sku_id].actives[0].code
|
}
|
if (priceobjBysku[row.sku_id].actives[0].name) {
|
row.record_name = priceobjBysku[row.sku_id].actives[0].name
|
}
|
|
if (!me.optionPriceByskuIdObj[row.sku_id]) {
|
var option_price = [];
|
priceobjBysku[row.sku_id].actives.map(p=>{
|
var p_sku = {
|
code: p.price,
|
value: p.price,
|
}
|
option_price.push(p_sku);
|
})
|
me.optionPriceByskuIdObj[row.sku_id] = clone(option_price)
|
}
|
}
|
// else {
|
// row.price = 0
|
// }
|
tableData_.unshift(clone(row)); //unshift只能一个一个数组放
|
})
|
|
me.TabObjMap["tab1"].tableData = clone(tableData_);
|
if (me.selectTabObj.code == "tab1") {
|
me.selectTabObj = clone(me.TabObjMap["tab1"]);
|
}
|
|
me.sumQTY()
|
})
|
|
});
|
}
|
},
|
|
{
|
name: "买赠池", type: "primary", icon: "el-icon-coin",
|
isbuttonshow: this.isedit && !me.isbarter,
|
code: "addrebateqty", isselected: false, classname: "",
|
disabled: function(selectRowList) {
|
var bo_ = true ; // 可点击
|
// settingByBU: {
|
// bu1: {
|
// isButton_mzc: false, // 买赠池按键
|
// isButton_zkc: false, // 积分池按键
|
// isButton_yhzc: false, // 优惠政策按键
|
// }
|
// },
|
// settingRuleByBU: {
|
// // bu1: {
|
// // isRestrictOneCoupon: false, // 限制仅使用一个优惠政策
|
// // isButton2S1: false, // 限制买赠池和积分池二选一
|
// // isButton3S1: false, // 限制买赠池和积分池、优惠政策三选一
|
// // }
|
// },
|
// isButton2S1: false, // 限制买赠池和积分池二选一
|
// isButton3S1: false, // 限制买赠池和积分池、优惠政策三选一
|
// ListPrice正常, OnsitePrice即时优惠价, OnsiteQty即时买赠, OncePrice一次性优惠价, OnceQty一次性买赠, RebateQty买赠池
|
|
if (me.formData.bu_id && me.settingByBU[me.formData.bu_id] && !me.settingByBU[me.formData.bu_id].isButton_mzc) {
|
bo_ = false ; // 不可点击
|
}
|
var isButton3S1 = false;
|
var isButton2S1 = false;
|
|
if (me.formData.bu_id && me.settingRuleByBU[me.formData.bu_id]) {
|
isButton3S1 = me.settingRuleByBU[me.formData.bu_id].isButton3S1;
|
isButton2S1 = me.settingRuleByBU[me.formData.bu_id].isButton2S1;
|
}
|
|
if (isButton3S1) {
|
me.TabObjMap["tab1"].tableData.map(f=>{ // 优惠政策
|
if(f.type_code == "OnsitePrice") { // 即时优惠价
|
bo_ = false
|
}
|
if(f.type_code == "OnsiteQty") { // 即时买赠
|
bo_ = false
|
}
|
if(f.type_code == "OncePrice") { // 一次性优惠价
|
bo_ = false
|
}
|
if(f.type_code == "OnceQty") { // 一次性买赠
|
bo_ = false
|
}
|
})
|
}
|
if (isButton3S1 || isButton2S1) {
|
if (me.TabObjMap["tab2"].tableData && me.TabObjMap["tab2"].tableData.length) { // 积分池
|
bo_ = false
|
}
|
}
|
|
return !bo_; // return false // 可点击;return true // 不可点击
|
},
|
onclick: function(obj) {
|
if (!me.formData.customer_id) {
|
Root.message({
|
type: 'warning',
|
message: '请先选择客商名称'
|
});
|
return;
|
}
|
|
me.openRebateList("add", "rebate_qty_detail", function(popupobj){ // qty买赠, amt折扣
|
// var tableData_ = clone(me.TabObjMap["tab2"].tableData);
|
// var newrow = {
|
// rebate_id: popupobj.row.id,
|
// rebate_code: popupobj.row.code,
|
// qty: popupobj.row.qty_net,
|
// type_name: "买赠"
|
// }
|
// tableData_.unshift(clone(newrow));
|
|
// me.TabObjMap["tab2"].tableData = clone(tableData_);
|
// if (me.selectTabObj.code == "tab2") {
|
// me.selectTabObj = clone(me.TabObjMap["tab2"]);
|
// }
|
|
var tableData_ = clone(me.selectTabObj.tableData);
|
popupobj.rowlist.map(row=>{
|
var newrow = {
|
product_name: row.product_name,
|
product_code: row.product_code,
|
product_id: row.product_id,
|
sku_id: row.sku_id,
|
|
spec: row.spec,
|
unit: row.unit,
|
type_code: "RebateQty", // ListPrice正常, OnsitePrice即时优惠价, OnsiteQty即时买赠, OncePrice一次性优惠价, OnceQty一次性买赠, RebateQty买赠池
|
type_name: "买赠池",
|
// rebate_id: popupobj.row.id, // 买赠的id
|
// rebate_code: popupobj.row.code, //买赠的code,
|
record_id: row.id,
|
record_no: row.code, // 使用现实买赠备案编码字段接收
|
record_name: row.item_name,
|
qty_available: row.qty_available, //接收可用数量
|
qty_net: row.qty_net,
|
// qty: popupobj.row.qty_available,
|
qty: 0, //
|
price: 0,
|
}
|
tableData_.unshift(clone(newrow));
|
})
|
me.TabObjMap["tab1"].tableData = clone(tableData_);
|
if (me.selectTabObj.code == "tab1") {
|
me.selectTabObj = clone(me.TabObjMap["tab1"]);
|
}
|
me.sumQTY()
|
me.tableButtonClick()
|
});
|
}
|
},
|
{
|
name: "积分池", type: "primary", icon: "el-icon-coin",
|
isbuttonshow: this.isedit && !me.isbarter,
|
code: "addamt", isselected: false, classname: "",
|
disabled: function(selectRowList) {
|
var bo_ = true ;
|
if (me.formData.bu_id && me.settingByBU[me.formData.bu_id] && !me.settingByBU[me.formData.bu_id].isButton_zkc) {
|
bo_ = false ; // 不可点击
|
}
|
var isButton3S1 = false;
|
var isButton2S1 = false;
|
|
if (me.formData.bu_id && me.settingRuleByBU[me.formData.bu_id]) {
|
isButton3S1 = me.settingRuleByBU[me.formData.bu_id].isButton3S1;
|
isButton2S1 = me.settingRuleByBU[me.formData.bu_id].isButton2S1;
|
}
|
|
// isButton2S1: false, // 限制买赠池和积分池二选一
|
// isButton3S1: false, // 限制买赠池和积分池、优惠政策三选一
|
// ListPrice正常, OnsitePrice即时优惠价, OnsiteQty即时买赠, OncePrice一次性优惠价, OnceQty一次性买赠, RebateQty买赠池
|
if (isButton3S1 || isButton2S1) {
|
me.TabObjMap["tab1"].tableData.map(f=>{
|
if (isButton3S1) { // 优惠政策
|
if(f.type_code == "OnsitePrice") { // 即时优惠价
|
bo_ = false
|
}
|
if(f.type_code == "OnsiteQty") { // 即时买赠
|
bo_ = false
|
}
|
if(f.type_code == "OncePrice") { // 一次性优惠价
|
bo_ = false
|
}
|
if(f.type_code == "OnceQty") { // 一次性买赠
|
bo_ = false
|
}
|
if(f.type_code == "RebateQty") { // 买赠池
|
bo_ = false
|
}
|
|
}
|
else if (isButton2S1) {
|
if(f.type_code == "RebateQty") { // 买赠池
|
bo_ = false
|
}
|
}
|
})
|
}
|
|
return !bo_;
|
},
|
onclick: function(obj) {
|
if (!me.formData.customer_id) {
|
Root.message({
|
type: 'warning',
|
message: '请先选择客商名称'
|
});
|
return;
|
}
|
me.rebateFilter = ""
|
me.openRebateList("add", "rebate_amt_detail", function(popupobj){ // qty买赠, amt折扣
|
|
// var tableData_ = clone(me.TabObjMap["tab2"].tableData);
|
// var newrow = {
|
// rebate_id: popupobj.row.id,
|
// rebate_code: popupobj.row.code,
|
// // record_id:popupobj.row.id,
|
// // record_no:popupobj.row.code,
|
// amt: popupobj.row.amt_available,
|
// type_name: "折扣"
|
// }
|
// tableData_.unshift(clone(newrow));
|
|
// me.TabObjMap["tab2"].tableData = clone(tableData_);
|
// // if (me.selectTabObj.code == "tab2") {
|
// // me.selectTabObj = clone(me.TabObjMap["tab2"]);
|
// // }
|
|
me.TabObjMap["tab2"].tableData = clone(popupobj.rowlist);
|
|
me.sumRebate()
|
});
|
}
|
},
|
|
{
|
name: "优惠政策", type: "primary", icon: "el-icon-tickets",
|
isbuttonshow: this.isedit && !me.isbarter,
|
code: "addreality_rebateqty", isselected: false, classname: "",
|
disabled: function(selectRowList) {
|
var bo_ = true ;
|
if (me.formData.bu_id && me.settingByBU[me.formData.bu_id] && !me.settingByBU[me.formData.bu_id].isButton_yhzc) {
|
bo_ = false ; // 不可点击
|
}
|
var isButton3S1 = false;
|
var isButton2S1 = false;
|
|
if (me.formData.bu_id && me.settingRuleByBU[me.formData.bu_id]) {
|
isButton3S1 = me.settingRuleByBU[me.formData.bu_id].isButton3S1;
|
}
|
// isButton2S1: false, // 限制买赠池和积分池二选一
|
// isButton3S1: false, // 限制买赠池和积分池、优惠政策三选一
|
// ListPrice正常, OnsitePrice即时优惠价, OnsiteQty即时买赠, OncePrice一次性优惠价, OnceQty一次性买赠, RebateQty买赠池
|
|
if (isButton3S1) {
|
me.TabObjMap["tab1"].tableData.map(f=>{
|
if(f.type_code == "RebateQty") { // 买赠池
|
bo_ = false
|
}
|
})
|
if (me.TabObjMap["tab2"].tableData && me.TabObjMap["tab2"].tableData.length) { // 积分池
|
bo_ = false
|
}
|
}
|
|
return !bo_;
|
},
|
onclick: function(obj) {
|
if (!me.formData.customer_id) {
|
Root.message({
|
type: 'warning',
|
message: '请先选择客商名称'
|
});
|
return;
|
}
|
//
|
me.openOnsiteQtyEdit("add", "", function(popupobj, popupcallback){ // qty买赠, amt折扣
|
var tableData_ = clone(me.selectTabObj.tableData);
|
var notclosemessage = "";
|
var isRestrictOneCoupon = false
|
if (me.formData.bu_id && me.settingRuleByBU[me.formData.bu_id]) {
|
isRestrictOneCoupon = me.settingRuleByBU[me.formData.bu_id].isRestrictOneCoupon;
|
}
|
if (isRestrictOneCoupon) { // 判断是否只能使用一个优惠政策,如果是
|
var isselect_coupon_no = false; // 有选择的优惠政策
|
var coupon_no_obj = {}; // 选择的优惠政策
|
tableData_.map(r=>{
|
// ListPrice正常, OnsitePrice即时优惠价, OnsiteQty即时买赠, OncePrice一次性优惠价, OnceQty一次性买赠, RebateQty买赠池
|
if (r.type_code == "OnsitePrice" || r.type_code == "OnsiteQty" || r.type_code == "OncePrice" || r.type_code == "OnceQty") {
|
coupon_no_obj[r.record_no] = r
|
isselect_coupon_no = true;
|
}
|
})
|
|
if (isselect_coupon_no && !coupon_no_obj[popupobj.rowlist[0].record_no]) { // 判断是否已选择了优惠政策且当前选中的和已选择的优惠政策不同
|
notclosemessage = "已设置订单只能使用一个优惠政策";
|
popupcallback(notclosemessage);
|
return
|
}
|
}
|
|
if (popupcallback) {
|
popupcallback();
|
}
|
|
popupobj.rowlist.map(popupobj_row=>{
|
var newrow = {
|
product_name: popupobj_row.product_name,
|
product_code: popupobj_row.product_code,
|
product_id: popupobj_row.product_id,
|
sku_id: popupobj_row.sku_id,
|
spec: popupobj_row.spec,
|
unit: popupobj_row.unit,
|
type_code: popupobj_row.type_code,// "OnsiteQty", "OnsitePrice" //// ListPrice正常, OnsitePrice即时优惠价, OnsiteQty即时买赠, OncePrice一次性优惠价, OnceQty一次性买赠, RebateQty买赠池
|
type_name: popupobj_row.type_name, //"即时买赠",
|
// rebate_id: popupobj_row.record_id,
|
record_id: popupobj_row.record_id,
|
record_no: popupobj_row.record_no,
|
record_name: popupobj_row.record_name,
|
qty: 1,
|
price: popupobj_row.price,
|
}
|
tableData_.unshift(clone(newrow));
|
})
|
|
me.TabObjMap["tab1"].tableData = clone(tableData_);
|
if (me.selectTabObj.code == "tab1") {
|
me.selectTabObj = clone(me.TabObjMap["tab1"]);
|
}
|
|
me.sumQTY()
|
me.tableButtonClick()
|
});
|
}
|
},
|
// {
|
// name: "撤销", // type: "primary", // icon: "el-icon-edit",
|
// isbuttonshow: !this.isedit && window.top.vue.userinfo.currentactor.code == "Actor-Business-Director", type: "danger",
|
// code: "revoke", isselected: true, classname: "",
|
// onclick: function(obj) {
|
// var row = obj.selectedList[0];
|
// var txt = clone(row.product_name);
|
// me.revokeDataById(row.id, "so_order_detail", "【" + txt + "】", function(){
|
// me.TabObjMap["tab1"].tableData.splice(obj.selectRowIndex, 1);
|
// me.selectTabObj = clone(me.TabObjMap["tab1"]);
|
|
// me.sumQTY()
|
// })
|
// }
|
// },
|
{
|
// name: "删除", // type: "primary", // icon: "el-icon-edit",
|
isbuttonshow: this.isedit, type: "danger",
|
code: "delete", isselected: true, classname: "",
|
onclick: function(obj) {
|
var row = obj.selectedList[0];
|
var txt = clone(row.product_name);
|
me.deleteDataById(row.id, "so_order_detail", "【" + txt + "】", function(){
|
me.TabObjMap["tab1"].tableData.splice(obj.selectRowIndex, 1);
|
me.selectTabObj = clone(me.TabObjMap["tab1"]);
|
|
me.sumQTY()
|
me.tableButtonClick()
|
})
|
}
|
},
|
|
]
|
|
tablebuttonClick.tab2 = [
|
{
|
name: "积分池", type: "primary", icon: "el-icon-coin",
|
isbuttonshow: this.isedit,
|
code: "addamt", isselected: false, classname: "",
|
disabled: function(selectRowList) {
|
var bo_ = true ;
|
me.TabObjMap["tab1"].tableData.map(f=>{
|
if(f.type_code == "RebateQty" || f.type_code == "OnsiteQty") {
|
bo_ = false
|
}
|
})
|
return !bo_;
|
},
|
onclick: function(obj) {
|
if (!me.formData.customer_id) {
|
Root.message({
|
type: 'warning',
|
message: '请先选择客商名称'
|
});
|
return;
|
}
|
me.rebateFilter = ""
|
me.openRebateList("add", "rebate_amt_detail", function(popupobj){ // qty买赠, amt折扣
|
var tableData_ = clone(me.selectTabObj.tableData);
|
var newrow = {
|
rebate_id: popupobj.row.id,
|
rebate_code: popupobj.row.code,
|
// record_id:popupobj.row.id,
|
// record_no:popupobj.row.code,
|
amt: popupobj.row.amt_available,
|
type_name: "折扣"
|
}
|
tableData_.unshift(clone(newrow));
|
|
me.TabObjMap["tab2"].tableData = clone(tableData_);
|
if (me.selectTabObj.code == "tab2") {
|
me.selectTabObj = clone(me.TabObjMap["tab2"]);
|
}
|
|
me.sumRebate()
|
});
|
}
|
},
|
// {
|
// name: "撤销", // type: "primary", // icon: "el-icon-edit",
|
// isbuttonshow: !this.isedit && window.top.vue.userinfo.currentactor.code == "Actor-Business-Director", type: "danger",
|
// code: "revoke", isselected: true, classname: "",
|
// onclick: function(obj) {
|
// var row = obj.selectedList[0];
|
// var txt = clone(row.product_name);
|
// me.revokeDataById(row.id, "so_order_detail", "【" + txt + "】", function(){
|
// me.TabObjMap["tab1"].tableData.splice(obj.selectRowIndex, 1);
|
// me.selectTabObj = clone(me.TabObjMap["tab1"]);
|
|
// me.sumQTY()
|
// })
|
// }
|
// },
|
{
|
// name: "删除", // type: "primary", // icon: "el-icon-edit",
|
isbuttonshow: this.isedit, type: "danger",
|
code: "delete", isselected: true, classname: "",
|
onclick: function(obj) {
|
var row = obj.selectedList[0];
|
var txt = clone(row.type_name + row.rebate_code);
|
me.deleteDataById(row.id, "so_order_detail_rebate", "【" + txt + "】", function(){
|
me.TabObjMap["tab2"].tableData.splice(obj.selectRowIndex, 1);
|
me.selectTabObj = clone(me.TabObjMap["tab2"]);
|
|
me.sumRebate()
|
})
|
}
|
},
|
|
]
|
|
me.TabObjMap[me.activeTabName].tablebuttonClick = tablebuttonClick[me.activeTabName];
|
me.selectTabObj = clone(me.TabObjMap[me.activeTabName])
|
},
|
|
tableFieldClick() {
|
var me = this;
|
//表单字段事件设置
|
this.formfieldClick = {
|
position_name: {
|
select: {
|
onchange: function(obj,refreshCallback) {//下拉展开事件
|
var value = obj.selectoption.value
|
var region_id = ""
|
var region_name = ""
|
var position_id = ""
|
var employee_id = ""
|
var position_name = ""
|
|
var a_position_ = clone(me.accountPositions_obj[value]);
|
position_id = a_position_.position_id;
|
employee_id = a_position_.md_employee__id
|
position_name = a_position_.md_employee__name;
|
var position_list = a_position_.md_position_hierarchy__position_path.split(">>");
|
position_list.map(p=>{
|
if (p.indexOf('大区经理') != -1) {
|
var region_position = p.split("-");
|
region_name = region_position[0]
|
}
|
else if (p.indexOf('高级地区经理') != -1) {
|
var region_position = p.split("-");
|
region_name = region_position[0]
|
}
|
})
|
|
var formData_ = clone(me.formData);
|
formData_.region_id = region_id;
|
formData_.region_name = region_name;
|
formData_.oa_employee_id = employee_id;
|
formData_.position_id = position_id;
|
formData_.position_name = position_name;
|
|
me.formData = clone(formData_);
|
|
},
|
}
|
},
|
type_code: {
|
select: {
|
onchange: function(obj,refreshCallback) {//下拉展开事件
|
var aa = obj.data.type_code
|
var bb = obj.selectoption.value
|
|
var formData_ = clone(me.formData);
|
formData_.type_name = obj.selectoption.value || "";
|
me.formData = clone(formData_);
|
|
if (obj.data.type_code == "barter") { // 切换到换货单
|
me.isbarter = true
|
// 清空明细、隐藏按键
|
me.emptyTable();
|
}
|
else {
|
me.isbarter = false
|
// 清空明细、显示按键
|
me.emptyTable();
|
}
|
|
},
|
}
|
},
|
// settlement: {
|
// select: {
|
// onchange: function(obj,refreshCallback) {//下拉展开事件
|
// obj.data.settlement_name = obj.selectoption.value
|
// refreshCallback();
|
// },
|
// }
|
// },
|
shipto_plan_method_code: {
|
select: {
|
onchange: function(obj,refreshCallback) {//下拉展开事件
|
obj.data.shipto_plan_method_name = obj.selectoption.value
|
},
|
}
|
},
|
customer_name: {
|
popup: {
|
onclick: function(obj) {//弹窗点击事件
|
// 选择协议弹窗
|
// me.openAgreement(function(popupobj){
|
// let formData_ = clone(me.formData);
|
// formData_.company_id = popupobj.row.company_id;
|
// // formData_.company_name = popupobj.row.company_name;
|
// formData_.company_name = clone(me.options_company_name_map[popupobj.row.company_id])
|
// formData_.bu_id = popupobj.row.bu_id;
|
// formData_.bu_name = popupobj.row.bu_name;
|
|
// formData_.org_id = popupobj.row.customer_id;
|
// formData_.customer_id = popupobj.row.account_id;
|
// formData_.customer_code = popupobj.row.customer_code;
|
// formData_.customer_name = popupobj.row.customer_name;
|
// formData_.settlement = popupobj.row.md_org_account__settlement;
|
// formData_.shipto_address_id = ""
|
// formData_.shipto_address = ""
|
// formData_.shipto_contact = ""
|
// formData_.shipto_phone = ""
|
|
// me.formData = formData_;
|
// console.log(me.formData)
|
// me.onQuery();
|
// })
|
|
//打开开户库弹窗
|
me.openAccount("add", obj, function(popupobj){
|
let formData_ = clone(me.formData);
|
formData_.company_id = popupobj.row.company_id;
|
// formData_.company_name = popupobj.row.company_name;
|
formData_.company_name = clone(me.options_company_name_map[popupobj.row.company_id])
|
formData_.bu_id = popupobj.row.bu_id;
|
formData_.bu_name = popupobj.row.bu_name;
|
|
formData_.org_id = popupobj.row.org_id;
|
formData_.customer_id = popupobj.row.id;
|
formData_.customer_code = popupobj.row.code;
|
formData_.customer_name = popupobj.row.account_name;
|
formData_.settlement = popupobj.row.settlement;
|
formData_.shipto_address_id = ""
|
formData_.shipto_address = ""
|
formData_.shipto_contact = ""
|
formData_.shipto_phone = ""
|
|
me.formData = clone(formData_);
|
me.getAccountPosition(function() {
|
|
})
|
});
|
|
|
}
|
}
|
},
|
shipto_address_id: { //标识1:使收货地址对应经销商
|
buttonarray: {
|
onclick: function(obj) {
|
var data_ = {};
|
var url_ = "module/md/page/customer/page/customer_shipto.html";
|
var totab_ = true;
|
var filter_ = "";
|
if (!me.iscommit) {
|
if (!me.formData.org_id) {
|
Root.message({
|
type: 'warning',
|
message: '请先选择客商名称'
|
});
|
return
|
}
|
url_ = "module/md/page/customer/page/popup/popup_customer_shipto.html";
|
totab_ = false;
|
filter_ = " parent_id='" + me.formData.org_id + "'"
|
}
|
var config = {
|
totab: totab_, //true: 以Tab导航的方式打开
|
width: "850px",
|
height: "520px",
|
icon: "icon-product",
|
text: "收货地址列表",
|
id: "popup_customer_shipto",//totab: true时需设置,用于判断是否已打开此页面
|
url: url_,
|
data: data_,
|
delta: {org_id: me.formData.org_id},
|
// filter: "org_id='"+ me.selectedrow.org_id + "' and bu_id='" + me.selectedrow.bu_id + "'",
|
filter: filter_,
|
callback: function(popupobj, popupcallback) {
|
callback(popupobj);
|
if (popupcallback) {
|
popupcallback();
|
}
|
}
|
}
|
me.doPopupByPublic(config);
|
},
|
},
|
visible: {
|
onchange: function(obj,row,callback) {//下拉展开事件
|
let param_ = {
|
dataname: "md_org_shipto",//获取经销商对应收货地址
|
filter:"parent_id='" + row.org_id + "' and md_org_shipto.state_code='Open'",
|
}
|
Server.call("root/data/getEntitySet", param_, function(result) {
|
if (result && result.data && result.data.entityset) {
|
var options_ = []
|
result.data.entityset.map(address=>{
|
var option_ = {
|
code: address.id,
|
value: address.province + address.city + "_" + address.address,
|
contact_name: address.contact_name,
|
contact_phone: address.contact_phone
|
}
|
options_.push(option_)
|
})
|
var formFields_ = clone(me.formFields)
|
formFields_.map(f=>{
|
if(f.field == "shipto_address_id") {
|
f.options = options_
|
}
|
})
|
me.formFields = clone(formFields_)
|
|
}
|
});
|
}
|
},
|
select: {
|
onchange: function(obj,refreshCallback) {//下拉展开事件
|
obj.data.shipto_contact = obj.selectoption.contact_name
|
obj.data.shipto_phone = obj.selectoption.contact_phone
|
|
// obj.data.shipto_address_id = obj.selectoption.code
|
obj.data.shipto_address = obj.selectoption.value
|
refreshCallback();
|
},
|
},
|
},
|
|
sales_attachment_name: {
|
buttonarray: {
|
onclick: function(obj) {
|
var filenamefield = obj.obj.field;
|
var fileidfield = "sales_attachment_id";
|
if(obj.buttonobj && obj.buttonobj.code == "showfile"){
|
me.showFileImgByFileId(filenamefield, fileidfield, obj);
|
}else if (obj.buttonobj && obj.buttonobj.code == "upload"){
|
me.onPopupByUploadFile(filenamefield, fileidfield, me.dataname);
|
}else if (obj.buttonobj && obj.buttonobj.code == "delfile"){
|
me.deleteByFileId(filenamefield, fileidfield, obj);
|
}
|
}
|
},
|
},
|
attachment_id: {
|
buttonarray: {
|
onclick: function(obj) {
|
var filenamefield = obj.obj.field;
|
// var fileidfield = "contract_attachment_id";
|
var fileidfield = "";
|
if(obj.buttonobj && obj.buttonobj.code == "showfilebyfile"){
|
me.showFileImgByFileId_n(filenamefield, obj.buttonobj.fileobj, obj.formdata);
|
}else if (obj.buttonobj && obj.buttonobj.code == "uploadlist"){
|
me.onPopupByUploadFile_n(filenamefield, fileidfield, "so_order", obj.formdata);
|
}else if (obj.buttonobj && obj.buttonobj.code == "delfilebyfile"){
|
me.deleteByFileId_n(filenamefield, obj.buttonobj.fileobj, obj.formdata);
|
}
|
|
},
|
|
}
|
},
|
|
attachment_approve_id: {
|
buttonarray: {
|
onclick: function(obj) {
|
var filenamefield = obj.obj.field;
|
// var fileidfield = "contract_attachment_id";
|
var fileidfield = "";
|
if(obj.buttonobj && obj.buttonobj.code == "showfilebyfile"){
|
me.showFileImgByFileId_n(filenamefield, obj.buttonobj.fileobj, obj.formdata);
|
}else if (obj.buttonobj && obj.buttonobj.code == "uploadlist"){
|
me.onPopupByUploadFile_n(filenamefield, fileidfield, "so_order", obj.formdata);
|
}else if (obj.buttonobj && obj.buttonobj.code == "delfilebyfile"){
|
me.deleteByFileId_n(filenamefield, obj.buttonobj.fileobj, obj.formdata);
|
}
|
|
},
|
|
}
|
},
|
};
|
|
//表格字段事件设置
|
this.tablefieldClick.tab1 = {
|
field_close_operate: {
|
val: {//有值时的点击事件
|
notclick_val: [],//不可点击的值,1、是数组["11","22"];2、以“;”分隔的字符串"111;222"
|
notclick_bindfield: [],
|
onclick: function(obj) {
|
if (obj.row.line_state_code && obj.row.line_state_code == "close") {
|
// return
|
// 撤销行关闭
|
me.revokeCloseRowData(obj.row, function() {
|
obj.row.line_state_code = "";
|
obj.row.field_close_operate = "关闭行";
|
obj.row.isWithinEdit = true
|
|
me.close_edit_all = false;
|
})
|
}
|
else {
|
// 关闭行
|
me.closeRowData(obj.row, function() {
|
obj.row.line_state_code = "close";
|
// obj.row.field_close_operate = "撤销关闭";
|
obj.row.field_close_operate = "撤销关闭";
|
obj.row.isWithinEdit = false;
|
|
me.close_edit_all = false;
|
})
|
}
|
},
|
},
|
},
|
qty_rebate_close: {
|
val:{
|
// 当满足以下条件时,单元格不可编辑
|
readonly_bindfield:{field: "line_state_code", value: "close"}
|
},
|
input: {
|
onchange: function(obj) {//输入更改事件
|
me.TabObjMap["tab1"] = clone(me.selectTabObj);
|
}
|
},
|
},
|
amt_rebate_close: {
|
val:{
|
// 当满足以下条件时,单元格不可编辑
|
readonly_bindfield:{field: "line_state_code", value: "close"}
|
},
|
input: {
|
onchange: function(obj) {//输入更改事件
|
me.TabObjMap["tab1"] = clone(me.selectTabObj);
|
}
|
},
|
},
|
close_reason: {
|
val:{
|
// 当满足以下条件时,单元格不可编辑
|
readonly_bindfield:{field: "line_state_code", value: "close"}
|
},
|
input: {
|
onchange: function(obj) {//输入更改事件
|
me.TabObjMap["tab1"] = clone(me.selectTabObj);
|
}
|
},
|
},
|
qty_close: {
|
val:{
|
// 当满足以下条件时,单元格不可编辑
|
readonly_bindfield:{field: "line_state_code", value: "close"}
|
},
|
input: {
|
onchange: function(obj) {//输入更改事件
|
if (obj.row.amt_rebate) { // 如果有折扣金额,则根据关闭数量的占比自动计算关闭折扣金额和折扣到期日期
|
if (obj.row.qty_close) {
|
var zb_ = obj.row.qty_close/obj.row.qty;
|
|
obj.row.amt_rebate_close = (zb_ * obj.row.amt_rebate).toFixed(4);
|
var today = new Date(); // 获取当前日期
|
var day90_ = new Date(today.getTime() + 120 * (24 * 60 * 60 * 1000)); // 获取120天后的日期
|
|
obj.row.todate_close = dateFormat(day90_, "yyyy-MM-dd");
|
}
|
else {
|
obj.row.amt_rebate_close = null;
|
obj.row.todate_close = null;
|
}
|
}
|
|
me.TabObjMap["tab1"] = clone(me.selectTabObj);
|
}
|
},
|
},
|
todate_close: {
|
val:{
|
// 当满足以下条件时,单元格不可编辑
|
readonly_bindfield:{field: "line_state_code", value: "close"}
|
},
|
input: {
|
onchange: function(obj) {//输入更改事件
|
me.TabObjMap["tab1"] = clone(me.selectTabObj);
|
}
|
},
|
},
|
// product_name: {
|
// popup: {
|
// onclick: function(obj) {//弹窗点击事件
|
// me.openProduct(obj)
|
// }
|
// }
|
// },
|
qty: {
|
input: {
|
onchange: function(obj) {//输入更改事件
|
me.TabObjMap["tab1"] = clone(me.selectTabObj);
|
me.sumQTY(obj);//表单qty_total值改变
|
}
|
},
|
},
|
price: {
|
input: {
|
onchange: function(obj) {//输入更改事件
|
me.TabObjMap["tab1"] = clone(me.selectTabObj);
|
me.sumQTY(obj);//表单qty_total值改变
|
}
|
},
|
},
|
|
batch_no: {
|
input: {
|
onchange: function(obj) {//输入更改事件
|
me.TabObjMap["tab1"] = clone(me.selectTabObj);
|
}
|
},
|
},
|
|
record_no: {
|
val: {//有值时的点击事件
|
onclick: function(obj) {//数据值点击事件
|
//type_code: "RebateQty", // ListPrice正常, OnsitePrice即时优惠价, OnsiteQty即时买赠, OncePrice一次性优惠价, OnceQty一次性买赠, RebateQty买赠池
|
if (obj.row.type_code == "ListPrice") { //标准价
|
if (obj.row.record_name == "标准价目表") {
|
me.openPriceDetail(obj.row.record_id);
|
}
|
else {
|
me.openPolicy(obj.row.record_id, obj.row.record_name, "agm_record_price");
|
}
|
}
|
else if (obj.row.type_code == "OnsitePrice" || obj.row.type_code == "OncePrice" || obj.row.type_code == "OnsiteQty" || obj.row.type_code == "OnceQty") { //
|
/*
|
{code: "all_jg", name: "价格", groupname: "全部", dataname: "agm_record_price", filterTxt: "type_code != 'Standard' and (state_code = 'Open' || state_code = 'Closed')", selectedrows: [], orderby: "update_time desc"},
|
{code: "all_mz", name: "买赠", groupname: "全部", dataname: "agm_record_gift", filterTxt: " (state_code = 'Open' || state_code = 'Closed')", selectedrows: [], orderby: "update_time desc"},
|
*/
|
var dataname = "agm_record_price";
|
if (obj.row.type_code == "OnsiteQty" || obj.row.type_code == "OnceQty") {
|
dataname = "agm_record_gift";
|
}
|
|
me.openPolicy(obj.row.record_id, obj.row.record_name, dataname);
|
}
|
else if (obj.row.type_code == "RebateQty" ) { //买赠池
|
me.openRebate(obj.row.record_id, obj.row.record_name, "rebate_qty_detail")
|
}
|
|
},
|
},
|
}
|
};
|
//表格字段事件设置
|
this.tablefieldClick.tab2 = {
|
// qty: {
|
// val:{
|
// // 当满足以下条件时,单元格不可编辑
|
// readonly_bindfield:{field: "type_name", value: "折扣"}
|
// }
|
// },
|
amt: {
|
val:{
|
// 当满足以下条件时,单元格不可编辑
|
readonly_bindfield:{field: "type_name", value: "买赠"}
|
},
|
input: {
|
onchange: function(obj) {//输入更改事件
|
me.TabObjMap["tab2"] = clone(me.selectTabObj);
|
me.sumRebate();//表单折扣值改变
|
}
|
},
|
},
|
};
|
|
me.TabObjMap[me.activeTabName].tablefieldClick = this.tablefieldClick[me.activeTabName]
|
me.selectTabObj = me.TabObjMap[me.activeTabName]
|
},
|
|
emptyTable() {
|
var tab1_ = clone(this.TabObjMap[this.activeTabName]);
|
tab1_.tableFields.map(f=>{
|
if (f.field == 'price') {
|
if (this.isbarter) {
|
f.inputtype = "input";
|
}
|
else {
|
f.inputtype = "span";
|
}
|
}
|
})
|
tab1_.tableData = [];
|
this.TabObjMap[this.activeTabName] = clone(tab1_);
|
// this.selectTabObj = clone(this.TabObjMap[this.activeTabName])
|
this.TabObjMap['tab2'].tableData = []
|
|
this.isRefresh = false;
|
this.tableButtonClick();
|
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
|
this.sumQTY();
|
this.sumRebate();
|
this.isRefresh = true;
|
});
|
},
|
|
// 公司标准价
|
openPriceDetail(id) {
|
let me = this;
|
// type_code: "", // Standard标准价目表、Customer经销商价目表
|
var config = {
|
totab: false, //true: 以Tab导航的方式打开
|
width: "1100px",
|
height: "520px",
|
icon: "icon-product",
|
text: "标准价目表",
|
id: "price_list_basic_edit",//totab: true时需设置,用于判断是否已打开此页面
|
url: "module/md/page/product/page/price_list_basic_edit.html",
|
data: {
|
id: id,
|
|
},
|
delta: {},
|
sceneCode: "browse",//"refuseedit",//"approval", //"add"//"browse",
|
callback: function(obj, callback) {
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
me.doPopupByPublic(config);
|
},
|
|
// 优惠备案
|
openPolicy(id, name, dataname) {
|
var me = this;
|
var config = {
|
totab: false, //true: 以Tab导航的方式打开
|
width: "1100px",
|
height: "460px",
|
icon: "icon-product",
|
text: name + "备案申请",
|
id: "record_basic",//totab: true时需设置,用于判断是否已打开此页面
|
url: "module/agreement/page/record_basic.html",
|
data: {
|
id: id
|
},
|
delta: {dataname: dataname},
|
sceneCode: "browse",//"refuseedit",//"approval", //"add"//"browse",
|
callback: function(obj, callback) {
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
me.doPopupByPublic(config);
|
},
|
|
openRebate(id, name, dataname) {
|
var me = this;
|
//3. popup
|
var config = {
|
totab: false, //true: 以Tab导航的方式打开
|
width: "900px",
|
height: "460px",
|
icon: "icon-product",
|
text: name,
|
id: "popup_rebate_detail_edit" + id + "browse",//totab: true时需设置,用于判断是否已打开此页面
|
url: "module/performance/page/popup/page/popup_rebate_detail_edit.html",
|
data: {
|
id: id
|
},
|
delta: {
|
dataname: dataname
|
},
|
// dataname: me.selectTabObj.dataname, // rebate_amt_detail // rebate_qty_detail
|
sceneCode: "browse",//"refuseedit",//"approval", //"add"//"browse",
|
callback: function(obj, callback) {
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
me.doPopupByPublic(config);
|
},
|
|
getPriceBySKUs(skuid_list, callback) {
|
var params = {
|
customer_id: this.formData.customer_id,//buttonByPage/buttonByPanel
|
sku_id: skuid_list
|
}
|
Server.call("root/policy/getPriceList", params, function(result) {
|
if (result && result.data) {
|
callback(result.data)
|
}
|
});
|
},
|
openRebateList(sceneCode, dataname, callback) {
|
var me = this;
|
var data_ = {};
|
var text_ = "折扣";
|
var filter_ = "amt_available > 0" //标识二:年度过滤、状态过滤、可用额度过滤,待验证
|
var url = "module/performance/page/popup/page/popup_rebatedetail_amt.html";
|
var delta_ = {
|
rebatedetail: me.TabObjMap['tab2'].tableData
|
}
|
if (dataname == "rebate_qty_detail") {
|
text_ = "买赠";
|
filter_= "bu_id='" +me.formData.bu_id + "' and expire_date >= NOW() and qty_available > 0"; //标识二:BU过滤,待验证
|
url = "module/performance/page/popup/page/popup_rebatedetail.html"
|
delta_ = {}
|
}
|
var config = {
|
totab: false, //true: 以Tab导航的方式打开
|
width: "1100px",
|
height: "520px",
|
icon: "icon-product",
|
text: text_ + "选择",
|
id: "popup_rebatedetail",//totab: true时需设置,用于判断是否已打开此页面
|
url: url,
|
dataname: dataname,
|
data: data_,
|
delta: delta_,
|
// filter: "org_id='"+ me.selectedrow.org_id + "' and bu_id='" + me.selectedrow.bu_id + "'",
|
filter: "account_id='" + me.formData.customer_id + "' and " + filter_,
|
sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse",
|
callback: function(popupobj, popupcallback) {
|
if (callback) {
|
callback(popupobj)
|
}
|
|
if (popupcallback) {
|
popupcallback();
|
}
|
}
|
};
|
me.doPopupByPublic(config);
|
},
|
|
openProductList(sceneCode, dataname, callback) {
|
var me = this;
|
var data_ = {};
|
var text_ = "产品";
|
|
var config = {
|
totab: false, //true: 以Tab导航的方式打开
|
width: "1100px",
|
height: "520px",
|
icon: "icon-product",
|
text: text_ + "选择",
|
id: "popup_rebatedetail",//totab: true时需设置,用于判断是否已打开此页面
|
// url: "module/performance/page/popup/page/popup_rebatedetail.html",
|
url: "module/md/page/popup/page/popup_product_sku_upload.html",
|
dataname: "",
|
data: data_,
|
delta: {isinputqty: true},
|
filter: "EXISTS ( SELECT * FROM md_bu_product where md_prod_sku.product_id = product_id and bu_id='" + me.formData.bu_id + "')",
|
sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse",
|
callback: function(popupobj, popupcallback) {
|
callback(popupobj)
|
|
if (popupcallback) {
|
popupcallback();
|
}
|
}
|
};
|
me.doPopupByPublic(config);
|
},
|
|
openOnsiteQtyEdit(sceneCode, dataname, callback) {
|
var me = this;
|
var data_ = {};
|
|
var config = {
|
totab: false, //true: 以Tab导航的方式打开
|
width: "1100px",
|
height: "520px",
|
icon: "icon-product",
|
text: "新增优惠政策",
|
id: "popup_realityrebatedetail",//totab: true时需设置,用于判断是否已打开此页面
|
// url: "module/order/page/popup/popup_OnsiteQty_edit.html",
|
url: "module/performance/page/popup/page/popup_realityrebatedetail.html",
|
dataname: "",
|
data: data_,
|
delta: {
|
company_id: me.formData.company_id,
|
bu_id: me.formData.bu_id,
|
customer_id: me.formData.org_id,
|
order_id: me.formData.id,
|
},
|
// filter: "EXISTS ( SELECT * FROM md_bu_product where md_prod_sku.product_id = product_id and bu_id='" + me.formData.bu_id + "')",
|
sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse",
|
callback: function(popupobj, popupcallback) {
|
callback(popupobj, popupcallback)
|
}
|
};
|
me.doPopupByPublic(config);
|
},
|
|
deleteDataById(id, dataname, confirm_txt, callback){
|
var me = this;
|
var formData_ = clone(me.formData);
|
Root.confirm('确定删除该' + me.selectTabObj.name + confirm_txt + '吗?', '删除提示', {
|
confirmButtonText: '删除',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
if (id) {
|
let param = {
|
dataname: dataname,
|
id: id
|
}
|
Server.call("root/data/deleteEntity", param, function(result) {
|
console.log(result);
|
if (result && result.data) {
|
callback();
|
}
|
});
|
}
|
else {
|
callback();
|
}
|
|
}).catch(() => {
|
Root.message({
|
type: 'info',
|
message: '已取消删除'
|
});
|
});
|
|
},
|
revokeDataById(id, dataname, confirm_txt, callback){
|
var me = this;
|
var formData_ = clone(me.formData);
|
Root.confirm('确定撤销该' + me.selectTabObj.name + confirm_txt + '吗?', '撤销提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
if (id) {
|
let param = {
|
dataname: dataname,
|
id: id
|
}
|
Server.call("root/data/revoke", param, function(result) {//标识2:接口待接
|
console.log(result);
|
if (result && result.data) {
|
callback();
|
}
|
});
|
}
|
else {
|
callback();
|
}
|
|
}).catch(() => {
|
Root.message({
|
type: 'info',
|
message: '已取消'
|
});
|
});
|
|
},
|
|
|
onPopupByUploadFile(filenamefield, fileidfield,dataname) {
|
var me = this;
|
var analysistype_ = "";
|
var formData_ = clone(me.formData);
|
var delta_ = {filetypelist: [], isUploadAndSave: true}//".png", ".jpg", ".pdf"
|
var config = {
|
totab: false,
|
width: "500px",
|
icon: "icon-product",
|
text: "附件上传",
|
id: "popupByUploadFile",
|
url: "module/tool/page/popup_uploadFile.html",
|
data: {
|
dataName: dataname,
|
fileidfieldName: fileidfield,
|
id: me.formData.id,
|
fileNamefieldName: filenamefield,
|
},
|
delta: delta_,
|
callback: function(obj, callback) {
|
me.$message({
|
showClose: true,
|
message: '上传成功!',
|
type: 'success'
|
});
|
|
if (!formData_[filenamefield]) {
|
formData_[filenamefield] = {};
|
}
|
formData_[filenamefield] = decodeURI(obj.row[0].name);
|
formData_[fileidfield] = obj.row[0].id;
|
|
me.formData = formData_;
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
this.doPopupByPublic(config);
|
},
|
|
showFileImgByFileId(filenamefield, fileidfield, obj) {
|
let me = this;
|
var file_name = obj.formdata[filenamefield];
|
var file_id = obj.formdata[fileidfield];
|
if(file_id) {
|
var fileid = file_id;
|
let fileName = clone(file_name);
|
let index1 = fileName.lastIndexOf(".");
|
let index2 = fileName.length;
|
let suffix = fileName.substring(index1, index2).toLowerCase(); //后缀名
|
if (suffix == ".png" || suffix == ".jpg" || suffix == ".pdf") {
|
var row = {
|
fileid: fileid,
|
filename: fileName,
|
dataname: this.dataname
|
}
|
|
var config = {
|
totab: false,
|
width: "1200px",
|
height: 800,
|
icon: "icon-product",
|
text: "附件预览",
|
id: "pdf_" + fileid,
|
url: "module/tool/page/popup_file_pdf.html",
|
data: row,
|
delta: {},
|
callback: function(obj, callback) {
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
this.doPopupByPublic(config);
|
}
|
else {//只可下载,不可预览
|
// handleDownloadUrl(fileid,false);
|
handleDownload(fileid, this.dataname);
|
}
|
}
|
},
|
sumQTY(obj) {
|
var me = this;
|
var formData_ = clone(me.formData)
|
/*
|
`amt_list` decimal(24,4) DEFAULT NULL COMMENT '总金额',
|
-- `amt_after_onsite` decimal(24,4) DEFAULT NULL COMMENT '折扣后金额',
|
`amt_onsite` decimal(24,4) DEFAULT NULL COMMENT '折扣金额',
|
-- `amt_rebate` decimal(24,4) DEFAULT NULL COMMENT '票折金额',
|
-- `amt_net` decimal(24,4) DEFAULT NULL COMMENT '应付金额',
|
-- `qty_total` decimal(24,4) DEFAULT NULL COMMENT '订单总数量',
|
-- `qty_list` decimal(24,4) DEFAULT NULL COMMENT '公价数量',
|
-- `qty_price` decimal(24,4) DEFAULT NULL COMMENT '即时价格折扣数量',
|
-- `qty_onsite` decimal(24,4) DEFAULT NULL COMMENT '即时买赠数量',
|
-- `qty_rebate` decimal(24,4) DEFAULT NULL COMMENT '买赠池数量',
|
*/
|
// ListPrice正常, OnsitePrice即时优惠价, OnsiteQty即时买赠, OncePrice一次性优惠价, OnceQty一次性买赠, RebateQty买赠池
|
var qty_total_ = 0; //订单总数量
|
var qty_list_ = 0; //公价数量
|
var qty_price_ = 0; //即时价格折扣数量
|
var qty_onsite_ = 0; //即时买赠数量
|
var qty_rebate_ = 0; //买赠池数量
|
|
var amt_list_ = 0; // 总金额, 用公价计算
|
var amt_after_onsite_ = 0; // 折扣后金额, 用优惠价计算
|
var amt_onsite_ = 0; // 折扣金额, 公价金额-优惠价金额
|
var amt_rebate_ = 0; // 票折金额, 选择的积分池金额
|
var amt_net_ = 0; // 应付金额, 优惠金额-票折金额
|
|
var rebate_qty_detail_map_sum = {};
|
|
me.selectTabObj.tableData.map(row=>{
|
row.amt_list = (row.qty - 0) * (row.price - 0);
|
if (me.isbarter) { // 换货单
|
row.amt_net = (row.qty - 0) * (row.price - 0);
|
}
|
qty_total_ = (qty_total_ - 0) + (row.qty - 0)
|
amt_after_onsite_ = (amt_after_onsite_ - 0) + ((row.qty - 0) * (row.price - 0))
|
|
if (row.type_code == "ListPrice") {
|
qty_list_ = (qty_list_ - 0) + (row.qty - 0)
|
}
|
if (row.type_code == "OnsitePrice") {
|
qty_price_ = (qty_price_ - 0) + (row.qty - 0)
|
}
|
if (row.type_code == "RebateQty") { //计算相同编码订单的总数
|
if (!rebate_qty_detail_map_sum[row.record_no]) {
|
rebate_qty_detail_map_sum[row.record_no] = row.qty*1
|
}
|
else {
|
rebate_qty_detail_map_sum[row.record_no] += row.qty*1
|
}
|
|
if (rebate_qty_detail_map_sum[row.record_no]*1 > me.rebate_qty_detail_map[row.record_no]*1) {
|
Root.message({
|
type: 'warning',
|
message: '可用买赠数量不足'
|
});
|
rebate_qty_detail_map_sum[row.record_no] -= row.qty*1
|
|
row.qty = 0
|
}
|
|
qty_rebate_ = (qty_rebate_ - 0) + (row.qty - 0)
|
}
|
if (row.type_code == "OnsiteQty") {
|
qty_onsite_ = (qty_onsite_ - 0) + (row.qty - 0)
|
}
|
})
|
me.TabObjMap['tab1'].tableData = clone(me.selectTabObj.tableData)
|
|
formData_.amt_after_onsite = amt_after_onsite_
|
formData_.amt_rebate = formData_.amt_rebate ? formData_.amt_rebate : 0
|
formData_.amt_net = formData_.amt_after_onsite - formData_.amt_rebate
|
|
formData_.qty_total = qty_total_
|
formData_.qty_list = qty_list_
|
formData_.qty_price = qty_price_
|
formData_.qty_onsite = qty_onsite_
|
formData_.qty_rebate = qty_rebate_
|
|
me.formData = clone(formData_)
|
},
|
sumQTY_v1(obj) {
|
var me = this;
|
var formData_ = clone(me.formData)
|
/*
|
`amt_list` decimal(24,4) DEFAULT NULL COMMENT '总金额',
|
`amt_after_onsite` decimal(24,4) DEFAULT NULL COMMENT '折扣后金额',
|
`amt_onsite` decimal(24,4) DEFAULT NULL COMMENT '折扣金额',
|
`amt_rebate` decimal(24,4) DEFAULT NULL COMMENT '票折金额',
|
`amt_net` decimal(24,4) DEFAULT NULL COMMENT '应付金额',
|
-- `qty_total` decimal(24,4) DEFAULT NULL COMMENT '订单总数量',
|
`qty_list` decimal(24,4) DEFAULT NULL COMMENT '公价数量',
|
`qty_price` decimal(24,4) DEFAULT NULL COMMENT '即时价格折扣数量',
|
`qty_onsite` decimal(24,4) DEFAULT NULL COMMENT '即时买赠数量',
|
`qty_rebate` decimal(24,4) DEFAULT NULL COMMENT '买赠池数量',
|
*/
|
// ListPrice正常, OnsitePrice即时优惠价, OnsiteQty即时买赠, OncePrice一次性优惠价, OnceQty一次性买赠, RebateQty买赠池
|
var qty_total_ = 0; //订单总数量
|
var total_amt = 0;
|
var qty_total_ListPrice = 0;
|
var qty_total_RebateQty = 0;
|
var qty_available = 0;//可用数量
|
var qty_net = 0; //剩余数量
|
var oldqty_ = 0;
|
|
var rebate_qty_detail_map_sum = {};
|
|
me.selectTabObj.tableData.map(row=>{
|
row.amt_list = (row.qty - 0) * (row.price - 0);
|
qty_total_ = (qty_total_ - 0) + (row.qty - 0)
|
total_amt = (total_amt - 0) + ((row.qty - 0) * (row.price - 0))
|
|
|
if (row.type_code == "ListPrice" || row.type_code == "OnsitePrice") {
|
qty_total_ListPrice = (qty_total_ListPrice - 0) + (row.qty - 0)
|
}
|
if (row.type_code == "RebateQty") { //计算相同编码订单的总数
|
if (!rebate_qty_detail_map_sum[row.record_no]) {
|
rebate_qty_detail_map_sum[row.record_no] = row.qty*1
|
}
|
else {
|
rebate_qty_detail_map_sum[row.record_no] += row.qty*1
|
}
|
|
if (rebate_qty_detail_map_sum[row.record_no]*1 > me.rebate_qty_detail_map[row.record_no]*1) {
|
Root.message({
|
type: 'warning',
|
message: '可用买赠数量不足'
|
});
|
rebate_qty_detail_map_sum[row.record_no] -= row.qty*1
|
|
row.qty = 0
|
}
|
|
qty_total_RebateQty = (qty_total_RebateQty - 0) + (row.qty - 0)
|
}
|
if (row.type_code == "OnsiteQty") {
|
qty_total_RebateQty = (qty_total_RebateQty - 0) + (row.qty - 0)
|
}
|
})
|
me.TabObjMap['tab1'].tableData = clone(me.selectTabObj.tableData)
|
|
formData_.qty_total = qty_total_
|
formData_.amt_total = total_amt
|
formData_.amt_rebate_total = formData_.amt_rebate_total ? formData_.amt_rebate_total : 0
|
formData_.amt_rebate_net = formData_.amt_total - formData_.amt_rebate_total
|
|
formData_.qty_total_ListPrice = qty_total_ListPrice
|
formData_.qty_total_RebateQty = qty_total_RebateQty
|
|
me.formData = clone(formData_)
|
},
|
sumRebate() {
|
var me = this;
|
var formData_ = clone(me.formData)
|
var amt_rebate_ = 0;
|
var amt_rebate_net = 0;
|
|
me.TabObjMap['tab2'].tableData.map(f=>{
|
amt_rebate_ = (amt_rebate_ - 0) + (f.amt - 0)
|
})
|
formData_.amt_rebate = amt_rebate_
|
formData_.amt_net = formData_.amt_after_onsite - formData_.amt_rebate
|
me.formData = clone(formData_)
|
},
|
deleteByFileId(filenamefield, fileidfield, obj){
|
var me = this;
|
var formData_ = clone(me.formData);
|
Root.confirm('确定删除附件【' + formData_[filenamefield] + '】吗?', '删除提示', {
|
confirmButtonText: '删除',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
if (obj.formdata[fileidfield]) {
|
let param = {
|
dataname: "so_order_file",
|
id: obj.formdata[fileidfield],
|
}
|
|
Server.call("root/data/deleteEntity", param, function(result) {
|
console.log(result);
|
if (result && result.data) {
|
formData_[filenamefield] = "";
|
formData_[fileidfield] = "";
|
me.formData = clone(formData_);
|
Root.message({
|
type: 'success',
|
message: '删除成功!'
|
});
|
}
|
});
|
}
|
}).catch(() => {
|
Root.message({
|
type: 'info',
|
message: '已取消删除'
|
});
|
});
|
|
},
|
showFileImgByFileId_n(filenamefield, fileobj, objformdata){
|
let me = this;
|
var formData_ = clone(me.formData);
|
var file_id = fileobj.id
|
var file_name = fileobj.file_name
|
var dataname_ = this.dataname
|
|
this.zzimg = {};
|
this.zzimgList = [];
|
this.file_txt = false;
|
if(file_id) {
|
var fileid = file_id;
|
let fileName = clone(file_name);
|
let index1 = fileName.lastIndexOf(".");
|
let index2 = fileName.length;
|
let suffix = fileName.substring(index1, index2).toLowerCase(); //后缀名
|
if (suffix == ".png" || suffix == ".jpg" || suffix == ".pdf") {
|
var row = {
|
fileid: fileid,
|
dataname: dataname_,
|
filename: fileName
|
}
|
var config = {
|
totab: false,
|
width: "1200px",
|
height: 800,
|
icon: "icon-product",
|
text: "附件预览",
|
id: "pdf_" + fileid,
|
url: "module/tool/page/popup_file_pdf.html",
|
data: row,
|
delta: {},
|
callback: function(obj, callback) {
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
this.doPopupByPublic(config);
|
|
}
|
else {//只可下载,不可预览
|
// handleDownloadUrl(fileid,false);
|
handleDownload(fileid, dataname_);
|
}
|
}
|
},
|
|
onPopupByUploadFile_n(filenamefield, fileidfield, dataname, objformdata) {
|
var me = this;
|
var analysistype_ = "";
|
var sender_id_ = ""; // 业务数据id;
|
if (objformdata.id) {
|
sender_id_ = objformdata.id;
|
}
|
var delta_ = {filetypelist: [".png", ".jpg",".pdf"], isUploadAndSave: true}; //, ".pdf"
|
var config = {
|
totab: false,
|
width: "500px",
|
icon: "icon-product",
|
text: "附件上传",
|
id: "popupByUploadFile",
|
url: "module/tool/page/popup_uploadFile.html",
|
data: {
|
dataName: dataname,
|
fileidfieldName: fileidfield,
|
id: sender_id_,
|
fileNamefieldName: filenamefield
|
},
|
delta: delta_,
|
callback: function(obj, callback) {
|
me.$message({
|
showClose: true,
|
message: '上传成功!',
|
type: 'success'
|
});
|
var f_ = {
|
id: obj.row[0].id,
|
file_name: decodeURI(obj.row[0].name)
|
}
|
if (!objformdata[filenamefield]) {
|
objformdata[filenamefield] = []
|
}
|
objformdata[filenamefield].push(f_);
|
if (!objformdata.id) {
|
objformdata.id = obj.row[0].sender_id;
|
}
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
this.doPopupByPublic(config);
|
},
|
|
deleteByFileId_n(filenamefield, fileobj, objformdata){
|
var me = this;
|
var formData_ = clone(me.formData);
|
Root.confirm('确定删除附件【' + fileobj.file_name + '】吗?', '删除提示', {
|
confirmButtonText: '删除',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
if (fileobj.id) {
|
let param = {
|
dataname: "so_order_file", //附件存储位置
|
id: fileobj.id
|
}
|
|
Server.call("root/data/deleteEntity", param, function(result) {
|
console.log(result);
|
if (result && result.data) {
|
objformdata[filenamefield].remove(fileobj);
|
// me.formData[filenamefield].remove(fileobj);
|
|
// me.formData = formData_;
|
Root.message({
|
type: 'success',
|
message: '删除成功!'
|
});
|
}
|
});
|
}
|
}).catch(() => {
|
Root.message({
|
type: 'info',
|
message: '已取消删除'
|
});
|
});
|
|
},
|
openProduct(scope) {
|
var me = this;
|
var config = {
|
totab: false, //true: 以Tab导航的方式打开
|
width: "900px",
|
height: "500px",
|
icon: "icon-product",
|
text: "产品列表",
|
id: "popup_product"+"add",//totab: true时需设置,用于判断是否已打开此页面
|
url: "module/md/page/popup/page/popup_product_sku.html",
|
|
data: {},
|
delta: {},
|
filter: "bu_id='" + me.formData.bu_id + "'",
|
sceneCode: "add",//"refuseedit",//"approval", //"add"//"browse",
|
callback: function(obj, callback) {
|
let tableData_ = clone(me.selectTabObj.tableData);
|
// tableData_[scope.$index].product_id = obj.row.product_id
|
tableData_[scope.$index].product_name = obj.row.product_name;
|
tableData_[scope.$index].product_code = obj.row.product_code;
|
tableData_[scope.$index].spec = obj.row.spec;
|
tableData_[scope.$index].unit = obj.row.unit;
|
// 默认单价10
|
tableData_[scope.$index].price = 10;
|
me.TabObjMap[me.activeTabName].tableData= clone(tableData_);
|
me.selectTabObj = clone(me.TabObjMap[me.activeTabName])
|
console.log(me.selectTabObj.tableData)
|
|
// me.selectTabObj.selectedrow.product_id = clone(obj.row.product_id)
|
// me.selectTabObj.selectedrow.product_name = clone(obj.row.product_name);
|
console.log(scope.$index);
|
me.onQuery();
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
me.doPopupByPublic(config);
|
},
|
openAgreement(callback) {
|
var me = this;
|
var config = {
|
totab: false, //true: 以Tab导航的方式打开
|
width: "900px",
|
height: "500px",
|
icon: "icon-product",
|
text: "经销商协议列表",
|
id: "popup_agreement"+"add",//totab: true时需设置,用于判断是否已打开此页面
|
url: "module/md/page/popup/page/popup_agreement.html",
|
data: {},
|
delta: {},
|
filter: this.accountobj.target_id ? "account_id='" + this.accountobj.target_id + "'" : "",
|
sceneCode: "add",//"refuseedit",//"approval", //"add"//"browse",
|
callback: function(popupobj, popupcallback) {
|
callback(popupobj);
|
|
if (popupcallback) {
|
popupcallback();
|
}
|
}
|
};
|
me.doPopupByPublic(config);
|
},
|
|
openAccount(sceneCode, obj, callback) {
|
var me = this;
|
var data_ = {};
|
var config = {
|
totab: false, //true: 以Tab导航的方式打开
|
width: "800px",
|
height: "520px",
|
icon: "icon-product",
|
text: "经销商选择",
|
id: "popup_account",//totab: true时需设置,用于判断是否已打开此页面
|
url: "module/md/page/popup/page/popup_account.html",
|
data: data_,
|
delta: {},
|
// filter: "org_id='"+ me.selectedrow.org_id + "' and bu_id='" + me.selectedrow.bu_id + "'",
|
filter: "md_org_account.state_code='Open'",
|
sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse",
|
callback: function(popupobj, popupcallback) {
|
callback(popupobj);
|
if (popupcallback) {
|
popupcallback();
|
}
|
}
|
};
|
me.doPopupByPublic(config);
|
},
|
//提交
|
submitRowTable() {
|
var me = this;
|
//必填项校验
|
var bo1 = this.$refs.form1.checkForm();
|
if(!bo1){
|
Root.message({
|
type: 'error',
|
message: '请填写必填项'
|
});
|
return;
|
}
|
|
var bo_ = true;
|
var batch_no_ = true;
|
var type_code_ = true;
|
|
if (this.TabObjMap['tab1'].tableData && this.TabObjMap['tab1'].tableData.length == 0) {
|
bo_ = false;
|
Root.message({
|
type: 'warning',
|
message: '请先添加明细数据'
|
});
|
return
|
}
|
|
this.TabObjMap['tab1'].tableData.map(r=>{
|
if (r.qty == null || r.qty === "" || isNaN(r.qty) || r.qty == 0) {
|
bo_ = false;
|
}
|
if (r.batch_no == null || r.batch_no === "") {
|
batch_no_ = false;
|
}
|
if (r.type_code == null || r.type_code === "" || r.record_id == null || r.record_id === "") {
|
type_code_ = false;
|
}
|
|
})
|
if (!bo_) {
|
Root.message({
|
type: 'error',
|
message: '明细中存在数量为空的数据'
|
});
|
return
|
}
|
if (!type_code_ && me.formData.type_code == "normal") { // 是标准订单才校验
|
Root.message({
|
type: 'error',
|
message: '明细中存在【购买类型】或【政策名称】为空的数据'
|
});
|
return
|
}
|
|
// if (!batch_no_) {
|
// Root.message({
|
// type: 'error',
|
// message: '明细中存在批号为空的数据'
|
// });
|
// return
|
// }
|
|
// if (this.isedit) {
|
// // 根据业务负责人设置NC相关信息
|
// this.saveOAByPositionId(function(){
|
// me.iscommit = true;
|
// me.saveRowTable("");
|
// })
|
// }
|
// else {
|
this.iscommit = true;
|
this.saveRowTable("");
|
// }
|
},
|
|
getAccountPosition(callback) {
|
var me = this;
|
let param_ = {
|
dataname: "md_org_account_position_list",//获取经销商对应业务负责人
|
filter:"md_org_account_position.parent_id='" + this.formData.customer_id + "'",
|
}
|
Server.call("root/data/getEntitySet", param_, function(result) {
|
if (result && result.data && result.data.entityset) {
|
var accountPositions_ =clone(result.data.entityset);
|
var region_id = ""
|
var region_name = ""
|
var position_id = ""
|
var employee_id = ""
|
var position_name = ""
|
|
if (accountPositions_.length == 1) { // 存在一个业务负责人
|
var a_position_ = clone(accountPositions_[0])
|
position_id = a_position_.position_id;
|
employee_id = a_position_.md_employee__id;
|
position_name = a_position_.md_employee__name;
|
var position_list = a_position_.md_position_hierarchy__position_path.split(">>");
|
position_list.map(p=>{
|
if (p.indexOf('大区经理') != -1) {
|
var region_position = p.split("-");
|
region_name = region_position[0]
|
}
|
else if (p.indexOf('高级地区经理') != -1) {
|
var region_position = p.split("-");
|
region_name = region_position[0]
|
}
|
})
|
|
var formFields_ = clone(me.formFields);
|
formFields_.map(ff=>{
|
if (ff.field == 'position_name') {
|
ff.inputtype = "span"
|
// ff.options = accountPositions_options_
|
}
|
});
|
me.formFields = clone(formFields_);
|
}
|
else if (accountPositions_.length > 1) { // 多个业务负责人
|
var accountPositions_options_ = [];
|
var accountPositions_obj_ = {};
|
accountPositions_.map(ap=>{
|
var e_ = ap.md_employee__name
|
var employee_ = {
|
code: e_,
|
value: e_
|
}
|
accountPositions_obj_[e_] = clone(ap);
|
accountPositions_options_.push(employee_);
|
})
|
me.accountPositions_obj = clone(accountPositions_obj_);
|
// 设置选择器,由进行选择
|
var formFields_ = clone(me.formFields);
|
formFields_.map(ff=>{
|
if (ff.field == 'position_name') {
|
ff.inputtype = "select"
|
ff.options = accountPositions_options_
|
}
|
});
|
me.formFields = clone(formFields_);
|
|
}
|
else { // 没有业务负责人
|
var formFields_ = clone(me.formFields);
|
formFields_.map(ff=>{
|
if (ff.field == 'position_name') {
|
ff.inputtype = "span"
|
// ff.options = accountPositions_options_
|
}
|
});
|
me.formFields = clone(formFields_);
|
}
|
var formData_ = clone(me.formData);
|
formData_.region_id = region_id;
|
formData_.region_name = region_name;
|
formData_.position_id = position_id;
|
formData_.oa_employee_id = employee_id;
|
formData_.position_name = position_name;
|
|
me.formData = clone(formData_);
|
}
|
|
callback();
|
});
|
},
|
|
onDelData(scope1){
|
console.log("触发了scpoe")
|
console.log(scope1)
|
},
|
closeRowData(r, callback) {
|
var me = this;
|
if (!r.qty_close) {
|
Root.message({
|
type: 'error',
|
message: '请填写行关闭总数量'
|
});
|
return;
|
}
|
if (((r.qty_rebate_close && r.qty_rebate_close != "0") || (r.amt_rebate_close && r.amt_rebate_close != "0")) && !r.todate_close) {
|
Root.message({
|
type: 'error',
|
message: '请填写折扣到期日'
|
});
|
return;
|
}
|
if (r.qty_rebate_close && (r.qty_rebate_close*1) > r.qty_close) {
|
Root.message({
|
type: 'error',
|
message: '【关闭买赠数量】应<=【行关闭总数量】'
|
});
|
return;
|
}
|
if (!r.close_reason) {
|
Root.message({
|
type: 'error',
|
message: '请先填写该行的关闭原因'
|
});
|
return;
|
}
|
|
var todate_close_ = null;
|
if (r.todate_close) {
|
var r_todate_close = r.todate_close.toString(); // 获取当前日期
|
|
todate_close_ = dateFormat(new Date(r_todate_close), "yyyy-MM-dd");
|
}
|
|
var param = {
|
id: r.id,
|
qty_close: r.qty_close ? r.qty_close : null,
|
qty_rebate_close: r.qty_rebate_close ? r.qty_rebate_close : null,
|
amt_rebate_close: r.amt_rebate_close ? r.amt_rebate_close : null,
|
todate_close: todate_close_,
|
line_state_code: "close",
|
close_reason: r.close_reason ? r.close_reason : null,
|
};
|
|
Server.call("root/order/orderDetailClose", param, function(result) {
|
console.log(result);
|
if (result.success) {
|
Root.message({
|
type: 'success',
|
message: '已关闭该行'
|
});
|
callback();
|
}
|
})
|
},
|
|
revokeCloseRowData(r, callback) {
|
var me = this;
|
// callback();
|
// return
|
// var row_ = {
|
// id: r.id,
|
// qty_close: r.qty_close ? r.qty_close : null,
|
// qty_rebate_close: r.qty_rebate_close ? r.qty_rebate_close : null,
|
// amt_rebate_close: r.amt_rebate_close ? r.amt_rebate_close : null,
|
// todate_close: r.todate_close ? r.todate_close : null,
|
// line_state_code: ""
|
// };
|
let param = {
|
dataname: this.dataname,
|
data: {
|
so_order: {
|
id: this.formData.id
|
},
|
so_order_detail: [
|
{
|
id: r.id
|
}
|
]
|
},
|
}
|
Server.call("root/order/orderDetailCancelClose", param, function(result) {
|
console.log(result);
|
if (result.success) {
|
Root.message({
|
type: 'success',
|
message: '已撤销该行的关闭'
|
});
|
if (callback) {
|
callback();
|
}
|
}
|
})
|
},
|
|
// if (f.field == "close_reason") {
|
// f.isshow = "F";
|
// if (me.rowData[me.dataname] && me.rowData[me.dataname].close_reason) {
|
// f.isshow = "T";
|
// f.group_name = "订单关闭信息";
|
// }
|
// }
|
|
submitCloseRowTable() {
|
this.loading_pass = true;
|
if(this.closereason != "") {
|
this.doSubmitCloseRowTable();
|
}
|
else{
|
Root.message({
|
type: 'warning',
|
message: '请填写关闭原因'
|
});
|
this.loading_pass = false;
|
}
|
},
|
|
doSubmitCloseRowTable() {
|
var me = this;
|
var entity_ = clone(this.formData);
|
var entity = {
|
id: entity_.id,
|
// close_reason: this.closereason,
|
};
|
|
var tableData_ = [];
|
var isnot_qty_close = false;
|
var isnot_todate_close = false;
|
this.TabObjMap['tab1'].tableData.map(r=>{
|
var row_ = {
|
id: r.id,
|
qty_close: r.qty_close ? r.qty_close : null,
|
qty_rebate_close: r.qty_rebate_close ? r.qty_rebate_close : null,
|
amt_rebate_close: r.amt_rebate_close ? r.amt_rebate_close : null,
|
todate_close: r.todate_close ? r.todate_close : null,
|
line_state_code: "close",
|
close_reason: r.close_reason ? r.close_reason : this.closereason,
|
};
|
|
if (((row_.qty_rebate_close && row_.qty_rebate_close != "0") || (row_.amt_rebate_close && row_.amt_rebate_close != "0")) && !row_.todate_close) {
|
isnot_todate_close = true
|
}
|
|
if (row_.qty_rebate_close && (row_.qty_rebate_close*1) > row_.qty_close) {
|
isnot_qty_close = true
|
}
|
tableData_.push(row_);
|
})
|
|
if (isnot_todate_close) {
|
Root.message({
|
type: 'error',
|
message: '存在关闭买赠数量或关闭积分金额的需填写折扣到期日'
|
});
|
this.loading_pass = false;
|
return;
|
}
|
if (isnot_qty_close) {
|
Root.message({
|
type: 'error',
|
message: '【关闭买赠数量】应<=【行关闭总数量】'
|
});
|
this.loading_pass = false;
|
return;
|
}
|
|
let param = {
|
dataname: this.dataname,
|
data: {},
|
}
|
param.data[this.dataname] = entity;
|
param.data[this.table_dataname] = tableData_;
|
|
if (this.formData.id) {
|
param.id = this.formData.id
|
}
|
Server.call("root/order/orderClose", param, function(result) {
|
console.log(result);
|
if (result.success) {
|
Root.message({
|
type: 'success',
|
message: '已关闭订单成功'
|
});
|
me.saveAfter();
|
}
|
}, function(errorresult) {
|
console.log("错误信息", errorresult);
|
me.loading_pass = false;
|
if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) {
|
me.iscommit = false;
|
if (errorresult.messages.list) {
|
var config = {
|
totab: false,
|
// width: "1200px",
|
// height: 800,
|
icon: "icon-product",
|
text: "错误信息",
|
url: "module/tool/page/popup_error_messages.html",
|
data: {},
|
delta: errorresult.messages.list,
|
callback: function(obj, callback) {
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
me.doPopupByPublic(config);
|
}
|
}
|
else {
|
Root.message({
|
type: 'error',
|
message: '关闭失败'
|
});
|
}
|
});
|
},
|
|
//保存
|
saveRowTable(callback) {
|
var me = this;
|
var operator_ = "saveEntity";//保存
|
if(me.iscommit) {
|
operator_ = "Commit";//提交
|
}
|
|
if (!this.formData.type_code) { // 保存时必须要有订单类型
|
Root.message({
|
type: 'error',
|
message: '请选择订单类型'
|
});
|
return;
|
}
|
|
var entity_ = clone(this.formData);
|
var entity = {};
|
for (var r in entity_) {
|
if (r == "attachment_id" || r == "attachment_approve_id") {
|
entity[r] = null
|
}
|
else if (entity_[r] || entity_[r] == "" || entity_[r] == false || entity_[r] == 0) {
|
entity[r] = entity_[r];
|
}
|
}
|
|
var tableData_ = [];
|
var rebate_tableData_ = [];
|
var batch_no_ = true;
|
|
if (this.isedit_shipto_type) {
|
//必填项校验
|
var bo1 = this.$refs.form1.checkForm();
|
if(!bo1){
|
Root.message({
|
type: 'error',
|
message: '请填写必填项'
|
});
|
return;
|
}
|
}
|
|
this.TabObjMap['tab1'].tableData.map(r=>{
|
var row_ = {};
|
for (var k in r) {
|
if (me.isedit_approve && k=="batch_no") {
|
if (!r[k]) {
|
batch_no_ = false
|
}
|
}
|
|
if (r[k] || r[k]==0) {
|
row_[k] = r[k];
|
}
|
}
|
|
if (me.isbarter) { // 换货单的
|
row_.amt_net = row_.amt_list
|
row_.price_list = row_.price
|
row_.amt_discount = 0;
|
}
|
|
tableData_.push(row_);
|
})
|
|
// if (me.isedit_approve && !batch_no_) { // 需要填写批号,但存在没有填写批号的明细
|
// Root.message({
|
// type: 'error',
|
// message: '明细中存在批号为空的数据'
|
// });
|
// return
|
// }
|
|
this.TabObjMap['tab2'].tableData.map(r=>{
|
var row_ = {};
|
for (var k in r) {
|
if (r[k]) {
|
row_[k] = r[k];
|
}
|
}
|
rebate_tableData_.push(row_);
|
})
|
let param = {
|
dataname: this.dataname,
|
data: {},
|
}
|
//if (operator_ == "Commit") {
|
// entity.doc_date = null;
|
// entity.code = null;
|
//}
|
param.data[this.dataname] = entity;
|
param.data[this.table_dataname] = tableData_;
|
param.data[this.table_rebate_dataname] = rebate_tableData_;
|
|
if (this.formData.id) {
|
param.id = this.formData.id
|
}
|
Server.call("root/data/" + operator_, param, function(result) {
|
console.log(result);
|
if (result.success) {
|
if (callback) {
|
callback();
|
}
|
else if(me.iscommit){
|
// 根据业务负责人设置NC相关信息
|
me.saveOAByPositionId(function() {
|
me.iscommit = false;
|
Root.message({
|
type: 'success',
|
message: '提交成功'
|
});
|
me.saveAfter();
|
})
|
}
|
else {
|
Root.message({
|
type: 'success',
|
message: '保存成功'
|
});
|
me.saveAfter();
|
}
|
}
|
}, function(errorresult) {
|
console.log("错误信息", errorresult);
|
|
if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) {
|
me.iscommit = false;
|
if (errorresult.messages.list) {
|
var config = {
|
totab: false,
|
// width: "1200px",
|
// height: 800,
|
icon: "icon-product",
|
text: "错误信息",
|
url: "module/tool/page/popup_error_messages.html",
|
data: {},
|
delta: errorresult.messages.list,
|
callback: function(obj, callback) {
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
me.doPopupByPublic(config);
|
}
|
}
|
else {
|
if (me.iscommit) {
|
Root.message({
|
type: 'error',
|
message: '提交失败'
|
});
|
me.iscommit = false;
|
}
|
else {
|
Root.message({
|
type: 'error',
|
message: '保存失败'
|
});
|
}
|
|
}
|
});
|
},
|
|
// 通过或拒绝
|
onShowApproval(passOrRefuse) {
|
var me = this;
|
if ((this.isedit_shipto_type || this.isedit_approve) && passOrRefuse == "approve") {
|
// 如果存在业务员并且没有OA员工信息,则重新保存
|
if (me.formData.position_id && !me.formData.oa_employee_name) {
|
this.saveOAByPositionId(function(){
|
me.saveRowTable(function(){
|
me.approveremark = "";
|
me.reasonvisible = true;//审批备注填写弹窗
|
me.passOrRefuse = passOrRefuse;// commit下一个状态;approve通过;gohome;//拒绝 goback;//回退
|
})
|
})
|
}
|
else {
|
// 保存订单明细的批号
|
this.saveRowTable(function(){
|
me.approveremark = "";
|
me.reasonvisible = true;//审批备注填写弹窗
|
me.passOrRefuse = passOrRefuse;// commit下一个状态;approve通过;gohome;//拒绝 goback;//回退
|
})
|
}
|
|
}
|
else {
|
this.approveremark = "";
|
this.reasonvisible = true;//审批备注填写弹窗
|
this.passOrRefuse = passOrRefuse;// commit下一个状态;approve通过;gohome;//拒绝 goback;//回退
|
}
|
},
|
|
saveOAByPositionId(callback) {
|
var me = this;
|
let param = {
|
dataname: me.dataname,
|
id: me.formData.id,
|
position_id: me.formData.position_id,
|
employee_id: me.formData.oa_employee_id,
|
}
|
Server.call("root/order/writeOANCValues", param, function(result) {
|
callback();
|
})
|
},
|
|
saveReason() {
|
this.loading_pass = true;
|
if(this.passOrRefuse == "commit" || this.passOrRefuse == "approve"){
|
this.doApproval();
|
}
|
else{
|
if(this.approveremark != "") {
|
this.doApproval();
|
}
|
else{
|
Root.message({
|
type: 'warning',
|
message: '请填写原因'
|
});
|
this.loading_pass = false;
|
}
|
}
|
},
|
doApproval(bo) {
|
var me = this;
|
this.getMachine(function(next_step, up_step) { //
|
me.doRunApproval(next_step, up_step);
|
});
|
},
|
|
getMachine(callback) {
|
var me = this;
|
let param = {
|
dataname: me.dataname,
|
}
|
Server.call("root/state/getMachine", param, function(result) {
|
var next_step = {}; // 向下流程
|
var up_step = {}; // 向上流程
|
|
if (result && result.machine && result.machine.detail) {
|
result.machine.detail.map(md=>{
|
next_step[md.from_code] = md.to_code;
|
up_step[md.to_code] = md.from_code;
|
})
|
|
callback(next_step, up_step);
|
}
|
})
|
},
|
|
doRunApproval(next_step, up_step) {
|
var me = this;
|
this.passOrRefuse;//首次开户-通过
|
// commit // 下一个状态
|
// approve // 通过
|
// gohome // 拒绝
|
// goback // 回退
|
|
var to_state_ = "";
|
if (this.passOrRefuse == "commit") {
|
to_state_ = next_step[this.formData.state_code];
|
}
|
else if (this.passOrRefuse == "approve") {
|
|
}
|
else if (this.passOrRefuse == "gohome") {
|
// to_state_ = up_step[this.formData.state_code];
|
}
|
else if (this.passOrRefuse == "goback") {
|
to_state_ = up_step[this.formData.state_code];
|
}
|
|
let param = {
|
dataname: this.dataname,
|
id: me.formData.id,
|
to_state: to_state_,
|
remark: this.approveremark
|
}
|
//
|
// return
|
Server.call("root/data/" + this.passOrRefuse, param, function(result) {
|
me.loading_pass = false;
|
console.log(result);
|
if (me.passOrRefuse == "commit" || me.passOrRefuse == "approve") {
|
Root.message({
|
type: 'success',
|
message: '审批成功'
|
});
|
|
// 审批通过后需要推送OA
|
if (me.passOrRefuse == "approve" && me.istooa) {
|
me.OrderToOA(me.formData.id);
|
}
|
}
|
else if (me.passOrRefuse == "goback") {
|
Root.message({
|
type: 'success',
|
message: '已退回'
|
});
|
}
|
else if (me.passOrRefuse == "gohome") {
|
Root.message({
|
type: 'success',
|
message: '已拒绝'
|
});
|
}
|
me.saveAfter();
|
}, function(errorresult) {
|
console.log("错误信息", errorresult);
|
me.loading_pass = false;
|
if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) {
|
if (errorresult.messages.list) {
|
var config = {
|
totab: false,
|
// width: "1200px",
|
// height: 800,
|
icon: "icon-product",
|
text: "错误信息",
|
url: "module/tool/page/popup_error_messages.html",
|
data: {},
|
delta: errorresult.messages.list,
|
callback: function(obj, callback) {
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
me.doPopupByPublic(config);
|
|
}
|
}
|
else {
|
Root.message({
|
type: 'error',
|
message: '审批失败'
|
});
|
}
|
});
|
},
|
|
OrderToOA(id) {
|
var me = this;
|
let param = {
|
id: id,
|
dataname: "so_order",
|
icall: "so_order",
|
}
|
Server.call("root/data/callRemote", param, function(result) {
|
|
})
|
},
|
|
rowClick(obj) {
|
var me = this;
|
me.selectTabObj.selectedrow = obj.row
|
},
|
|
// clearDetail(callback) {
|
// var me = this;
|
// if (me.tableData && me.tableData.length) {
|
// var row = me.tableData[0];
|
// if (row.id) {
|
// let param = {
|
// dataname: me.table_dataname,
|
// id: row.id
|
// }
|
|
// Server.call("root/data/deleteEntity", param, function(result) {
|
// console.log(result);
|
// if (result && result.data) {
|
// me.tableData.remove(row);
|
// me.clearDetail(callback)
|
// }
|
// });
|
// }
|
// else {
|
// me.tableData.remove(row);
|
// me.clearDetail(callback)
|
// }
|
// }
|
// else {
|
// callback();
|
// }
|
// },
|
|
// delDetail() {
|
// var me = this;
|
// me.checkarr.map(e=>{
|
// me.delarr.push(e.funcid)
|
// })
|
// me.delarr = Array.from(new Set(me.delarr))
|
// if(me.selectTabObj.tableData && me.selectTabObj.tableData.length >=1){
|
// me.delarr.forEach(function(item, index, arr) {
|
// me.selectTabObj.tableData.map((e,index)=>{
|
// if(item == e.funcid) {
|
// me.selectTabObj.tableData.splice(index, 1);
|
// }
|
// })
|
// });
|
// }else {
|
// this.$message({
|
// type: 'info',
|
// message: '没有可删除的数据'
|
// })
|
// }
|
// },
|
|
handleClick() {
|
this.isRefresh = false;
|
this.TabObjMap[this.beforeActiveName] = clone(this.selectTabObj) //标识3:存放切换前的tab数据
|
this.selectTabObj = {};
|
//设置字段事件
|
this.tableFieldClick();
|
this.tableButtonClick();
|
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
|
this.beforeActiveName = this.activeTabName
|
this.selectTabObj = clone(this.TabObjMap[this.activeTabName]);//标识3:取出当前tab的数据
|
this.isRefresh = true;
|
});
|
},
|
toMoney(val) {
|
return window.top.toMoney(val);
|
},
|
openOA() {
|
var me = this;
|
//3. popup
|
var config = {
|
totab: false, //true: 以Tab导航的方式打开
|
width: "900px",
|
height: "300px",
|
icon: "icon-product",
|
text: "OA信息",
|
id: "order_oa",//totab: true时需设置,用于判断是否已打开此页面
|
url: "module/order/page/popup/order_oa.html",
|
data: this.formData,
|
delta: null,
|
sceneCode: "",//"refuseedit",//"approval", //"add"//"browse",
|
callback: function(obj, callback) {
|
var formData_ = clone(me.formData)
|
formData_.nc_company_id = obj.row.nc_company_id
|
formData_.nc_company_code = obj.row.nc_company_code
|
// formData_.nc_customer_code = obj.row.nc_customer_code
|
formData_.nc_region_id = obj.row.nc_region_id
|
formData_.nc_region_code = obj.row.nc_region_code
|
formData_.nc_region_name = obj.row.nc_region_name
|
formData_.nc_area_id = obj.row.nc_area_id
|
formData_.nc_area_code = obj.row.nc_area_code
|
formData_.nc_area_name = obj.row.nc_area_name
|
formData_.oa_employee_code = obj.row.oa_employee_code
|
formData_.oa_employee_name = obj.row.oa_employee_name
|
formData_.oa_department_id = obj.row.oa_department_id
|
formData_.oa_department_name = obj.row.oa_department_name
|
|
me.formData = clone(formData_);
|
|
if (callback) {
|
callback();
|
}
|
}
|
};
|
me.doPopupByPublic(config);
|
}
|
|
|
}
|
});
|
};
|
|
loadJsCss(function () {
|
initVue();
|
});
|
</script>
|
<style>
|
/* 在vue.js中 v-cloak 这个指令是防止页面加载时出现 vuejs 的变量名而设计的 */
|
[v-cloak] {
|
display: none !important;
|
}
|
.h_order_tag .el-tag {
|
border-radius: 13px;
|
}
|
.h_money {
|
font-weight: bold;
|
}
|
.h_money_rebate {
|
text-decoration:underline
|
}
|
.h_money_rebate:hover{
|
cursor: pointer;
|
}
|
.h_refresh_zx {
|
text-decoration:underline
|
}
|
.h_refresh_zx:hover {
|
cursor: pointer;
|
color: #000;
|
}
|
.el-table__body-wrapper {
|
z-index: 2;
|
}
|
.el-table__fixed-body-wrapper .el-table__row .el-table__cell {
|
background-color: #F5F7FA !important
|
}
|
</style>
|
|
</head>
|
|
<body style="margin: 0px;">
|
<div v-cloak id="vbody">
|
<div id="page_root">
|
<div ref="popup_body" style="padding: 0 20px;">
|
<div class="el-dialog__header">
|
<div class="dialog-title">
|
<i class="iconfont icon-customermanagement"></i>
|
<span> {{title}}</span>
|
|
<div style="float: right;">
|
<el-button size="small" v-if="isapproval && !isbarter" @click="onShowPolicy">检查结果</el-button>
|
</div>
|
</div>
|
|
</div>
|
<div :style="{height: dheight + 'px', 'overflow-y': 'auto'}">
|
<div class="el-dialog__body">
|
<h-form
|
ref="form1"
|
:form-attr="formAttr"
|
:table-fields="formFields"
|
:form-data="formData"
|
:table-field-click="formfieldClick"
|
>
|
</h-form>
|
<h-form
|
ref="form2"
|
:form-attr="formAttr"
|
:table-fields="formFields_acc"
|
:form-data="formData_acc"
|
>
|
</h-form>
|
<div class="h_order_tag" v-if="selectTabObj.tableFields && selectTabObj.tableFields.length && !isbarter">
|
<el-row>
|
<el-col :span="21">
|
<el-tag size="small" type="">订单总数量 {{formData.qty_total}}</el-tag>=
|
<el-tag size="small" type="">购买数量 {{formData.qty_list}}</el-tag>+
|
<el-tag size="small" type="">优惠价数量 {{formData.qty_price}}</el-tag>+
|
<el-tag size="small" type="success">即时买赠数量 {{formData.qty_onsite}}</el-tag>+
|
<el-tag size="small" type="success">赠品数量 {{formData.qty_rebate}}</el-tag>
|
</el-col>
|
</el-row>
|
<el-row style="margin-top: 2px;">
|
<el-col :span="21">
|
<el-tag size="small" type="" effect="dark">订单总金额 <span class="h_money">{{toMoney(formData.amt_after_onsite)}}</span></el-tag>-
|
<el-tag size="small" type="" effect="dark">折扣金额 <span class="h_money h_money_rebate" @click="openRebateList('browse', 'rebate_amt_detail')">{{toMoney(formData.amt_rebate)}}</span></el-tag>=
|
<el-tag size="small" type="" effect="dark">折扣后金额 <span class="h_money">{{toMoney(formData.amt_net)}}</span></el-tag>
|
</el-col>
|
<el-col :span="3" style="text-align: end;">
|
<el-tag v-if="isExceedQuota" size="small" type="danger">资信额度超标</el-tag>
|
<el-tag v-else size="small" type="success"><span class="h_refresh_zx">资信额度正常</span></el-tag>
|
</el-col>
|
</el-row>
|
</div>
|
|
<!-- <div style="padding: 5px 20px;">
|
<el-tabs v-model="activeTabName" @tab-click="handleClick">
|
<el-tab-pane v-for="(tab, k) in tabs" :label="tab.name" :name="tab.code" :key="k"></el-tab-pane>
|
</el-tabs>
|
</div> -->
|
<div v-if="activeTabName == 'tab1'" class="h_dialog__body" style="padding: 0px 0px;">
|
<!-- <div>
|
<el-link type="danger" disabled>买增池与优惠政策只能任选其一</el-link>
|
</div> -->
|
<h-table
|
v-if="isRefresh && selectTabObj.tableFields && selectTabObj.tableFields.length"
|
ref="table1"
|
:table-fields="selectTabObj.tableFields"
|
:table-data="selectTabObj.tableData"
|
:is-edit-table-data="selectTabObj.isEditTableData"
|
:table-field-click="selectTabObj.tablefieldClick"
|
:table-buttons-click="selectTabObj.tablebuttonClick"
|
:is-pagination="false"
|
:isdraggableorder="false"
|
:isbasicfilterfields="false"
|
:isfilterfield="false"
|
:is-highlight-row="true"
|
:is-within-edit-table-data="isedit || isedit_approve"
|
:show-summary="true"
|
:istablebuttons="false"
|
v-on:row-click="rowClick"
|
v-on:del-data="delData"
|
>
|
|
<!-- :is-selection="true"
|
@selection-change = "dddd" -->
|
</h-table>
|
</div>
|
<div v-else-if="activeTabName == 'tab2'" class="h_dialog__body" style="padding: 0px 20px;">
|
<!-- <div v-if="isedit || isrefuseedit" style=" text-align: right; margin-top: 20px;"> -->
|
<!-- 工具栏 -->
|
<!-- <div style=" display: inline-block; width: 90px;"> -->
|
<!-- <el-button-group style="display: flex;justify-content: center;"> -->
|
<!-- <el-button>批量导入</el-button>
|
<el-button type = "danger" @click="delDetail">删 除</el-button>
|
<el-button>导入模板下载</el-button> -->
|
<!-- <el-button @click="addTableData">新增明细</el-button> -->
|
<!-- </el-button-group> -->
|
<!-- </div> -->
|
<!-- </div> -->
|
<h-table
|
v-if="isRefresh && selectTabObj.tableFields.length"
|
ref="table2"
|
:table-fields="selectTabObj.tableFields"
|
:table-data="selectTabObj.tableData"
|
:is-edit-table-data="selectTabObj.isEditTableData"
|
:table-field-click="selectTabObj.tablefieldClick"
|
:table-buttons-click="selectTabObj.tablebuttonClick"
|
:is-within-edit-table-data="isedit"
|
:is-highlight-row="true"
|
:is-pagination="false"
|
:isdraggableorder="false"
|
:isfilterfield="false"
|
|
v-on:get-data="getData"
|
v-on:del-data="delData"
|
>
|
<!-- :is-selection="true"
|
@selection-change = "dddd" -->
|
</h-table>
|
</div>
|
<div v-else-if="activeTabName == 'tab3'" class="h_dialog__body" style="padding: 0px 20px;">
|
<!-- <div v-if="isedit || isrefuseedit" style=" text-align: right; margin-top: 20px;"> -->
|
<!-- 工具栏 -->
|
<!-- <div style=" display: inline-block; width: 90px;"> -->
|
<!-- <el-button-group style="display: flex;justify-content: center;"> -->
|
<!-- <el-button>批量导入</el-button>
|
<el-button type = "danger" @click="delDetail">删 除</el-button>
|
<el-button>导入模板下载</el-button> -->
|
<!-- <el-button @click="addTableData">新增明细</el-button> -->
|
<!-- </el-button-group> -->
|
<!-- </div> -->
|
<!-- </div> -->
|
<h-table
|
v-if="isRefresh && selectTabObj.tableFields.length"
|
ref="table3"
|
:table-fields="selectTabObj.tableFields"
|
:table-data="selectTabObj.tableData"
|
:is-edit-table-data="selectTabObj.isEditTableData"
|
:table-field-click="selectTabObj.tablefieldClick"
|
:table-buttons-click="selectTabObj.tablebuttonClick"
|
:is-pagination="false"
|
:isdraggableorder="false"
|
:isfilterfield="false"
|
|
v-on:get-data="getData"
|
v-on:del-data="delData"
|
>
|
<!-- :is-selection="true"
|
@selection-change = "dddd" -->
|
</h-table>
|
</div>
|
</div>
|
</div>
|
|
<!-- 审批时的原因 -->
|
<el-dialog title="填写原因" :visible.sync="reasonvisible" height="50%">
|
<el-input
|
type="textarea"
|
:autosize="{ minRows: 2, maxRows: 10}"
|
placeholder="请输入原因"
|
v-model="approveremark">
|
</el-input>
|
|
<div slot="footer" class="dialog-footer" >
|
<el-button type="default" @click="reasonvisible = false">取 消</el-button>
|
<el-button type="primary" :loading="loading_pass" @click="saveReason">确 定</el-button>
|
</div>
|
</el-dialog>
|
|
<el-dialog title="填写关闭原因" :visible.sync="closereasonvisible" height="50%">
|
<el-input
|
type="textarea"
|
:autosize="{ minRows: 2, maxRows: 10}"
|
placeholder="请输入原因"
|
v-model="closereason">
|
</el-input>
|
|
<div slot="footer" class="dialog-footer" >
|
<el-button type="default" @click="closereasonvisible = false">取 消</el-button>
|
<el-button type="primary" :loading="loading_pass" @click="submitCloseRowTable">确 定</el-button>
|
</div>
|
</el-dialog>
|
|
<div class="el-dialog__footer">
|
<el-button v-if="isapproval" size="small" type="primary" @click="openOA">OA相关信息</el-button>
|
<el-button-group style="margin-right: 80px;" >
|
<el-button size="small" v-if="isapproval" type="warning" plain @click="onShowApproval('gohome')">退回到申请人</el-button>
|
<el-button size="small" v-if="isapproval" type="danger" plain @click="onShowApproval('goback')">退回到上一步</el-button>
|
</el-button-group>
|
|
<el-button size="small" type="default" @click="closeDialog">取 消</el-button>
|
<el-button size="small" v-if="isedit || isrefuseedit" type="primary" @click="saveRowTable()":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button>
|
<!-- <el-button size="small" v-if="close_edit" type="primary" @click="saveCloseRowTable()":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button> -->
|
<el-button size="small" v-if="isedit" type="success" @click="submitRowTable":icon="buttonsconfig.submit.icon">{{buttonsconfig.submit.name}}</el-button>
|
<el-button size="small" v-if="close_edit_all" type="success" @click="closereasonvisible=true":icon="buttonsconfig.submit.icon">确认关闭</el-button>
|
<el-button size="small" v-if="isrefuseedit" type="success" @click="">再次提交</el-button>
|
|
<el-button size="small" v-if="isapproval" type="success" @click="onShowApproval('approve')">通 过</el-button>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<div id="page_loading" style="position: absolute; top:0px; width: 100vw; height: 50vh;">
|
<div class="spinner">
|
<div class="cube1"></div>
|
<div class="cube2"></div>
|
</div>
|
</div>
|
</body>
|
</html>
|