<!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 src="../../../js/vue/vue.js"></script> <script src="../../../js/vue/element-ui/lib/index.js"></script> <script src="../../../js/vue/axios/dist/axios.min.js"></script> <script src="../../../js/myelement.js?v=20220615"></script> <script src="../../../js/vue/page.js?v=20220615"></script> <link href="../../../js/vue/element-ui/lib/theme-chalk/index.css" rel="stylesheet"> <link href="../../../css/myelement.css?v=20220425" rel="stylesheet"> <link href="../../../css/iconfont.css" rel="stylesheet"> <link href="../../../css/page.css?v=20220425" rel="stylesheet"> <link href="//at.alicdn.com/t/font_2374495_mkoo966o0uo.css" rel="stylesheet"> </head> <body> <div id="vbody"> <div id="page_root"> <div ref="popup_body" style="padding-right: 20px;"> <div class="el-dialog_header"> <div class="dialog-title"> <i class="iconfont icon-customermanagement"></i> <span> {{formAttr.title}} </span> </div> </div> <div style="height: 580px; "> <div class="el-dialog_body" style="height: 530px;"> <template slot="title"> <i class="header-icon el-icon-info"></i> <span> 订å•ä¿¡æ¯ </span> </template> <span style="font-weight:bold"> 一ã€é€‰æ‹©å®¢æˆ·åç§° </span> <h-form ref="form1" :form-attr="formAttr" :table-fields="formFields" :form-data="formData" v-on:button-click="buttonClick" v-on:show-popup="showPopup" v-on:form-change="formChange" v-on:visible-change="cellVisibleChange" :is-end-colspan="false" v-on:formcall-click="formcallclick" v-on:formcallspan-click="formcallspanClick"> </h-form> <el-tag v-if="isshowCell" id="cell" type="danger" style="margin-left: 60px;" > {{cellInnerText}} </el-tag> <div v-if="!notdisabled" id="cell" class="h_stamp" style="margin-left: 20px;float: left;"> </div> <div v-if="notdisabled" style="overflow-y: auto;"> <span style="font-weight:bold;float: left;text-align: left;"> 二ã€é€‰æ‹©äº§å“,填写数é‡ç‰ä¿¡æ¯ </span> <div id="cell" class="h_stamp" style="margin-left: 20px;float: left;"> </div> <div style="float:right;text-align: right;"> <el-button @click="clearData">清空数æ®</el-button> <el-button-group style="margin-left: 40px;"> <!-- <el-button style="margin-right: 10px;"@click="showCredit()">资信查询</el-button> --> <el-button @click="addTableData">新增数æ®</el-button> </el-button-group> </div> </div> <h-table v-if="isRefresh" ref="table2" :table-fields="tableFields" :table-data="tableData2" :is-edit-table-data="isEditTableData" :is-within-edit-table-data="isWithinEditTableData" :show-summary="true" :table-height="tableHeight2" :is-pagination="false" :is-show-index="true" :edit-table-button="editTableButton" v-on:edit-data="editData" v-on:del-data="delData" v-on:cell-input-change="cellInputChange" v-on:row-click="rowClick" v-on:cell-show-popup="cellShowPopup"> </h-table> <div v-if="acctObj.flow_id && popupParames.sceneCode == 'approval'" style="height: 350px; border-top: 1px solid #ccc;"> <iframe :src="'../../approval/ApprovalList_page.html?flow_id=' + acctObj.flow_id" style="width: 100%; height: 100%; border: 0px;"></iframe> </div> </div> </div> <div class="el-dialog_footer"> <el-button-group v-if="seal" style="margin: 0px 20px;"> <el-button type="success" @click="onseal">ç›– ç« </el-button> </el-button-group> <el-button-group v-if="approval" style="margin: 0px 20px;"> <el-button type="success" @click="onpassApproval">通 过</el-button> </el-button-group> <el-button-group v-if="approval" style="margin: 0px 20px;"> <el-button type="danger" @click="onrefuseApproval">æ‹’ ç»</el-button> </el-button-group> <el-button v-if="close" type="default" @click="closeDialog">å– æ¶ˆ</el-button> <el-button v-if="!close" type="default" @click="closeDialog">å…³ é—</el-button> <el-button v-if="notdisabled" type="primary" :loading="isLoading" @click="saveRowTable">ä¿ å˜</el-button> <el-button v-if="notdisabled" type="primary" :loading="isLoading" @click="submitRowTable">æ 交</el-button> </div> </div> <div> <el-dialog title="å¡«å†™åŽŸå› " :visible.sync="reasonvisible" height="50%"> <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 10}" placeholder="è¯·è¾“å…¥åŽŸå› " v-model="textarea2"> </el-input> <el-button type="primary" style="float: left;" size="small" @click="onPopupByUploadFileAll()">ä¸Šä¼ é™„ä»¶</el-button> <span style="float: left;"> {{attachment_name}}</span> <div class="dialog-footer" style="float: right;margin-top: 30px;"> <el-button type="default" @click="reasonvisible = false">å– æ¶ˆ</el-button> <el-button type="primary" @click="saveReason">ç¡® 定</el-button> </div> </el-dialog> </div> <!-- <div class="versionNo" style="width: 0px;height: 0px;"> <iframe id="ifr1" :src="url" style="width: 100%;height: 100%; margin-top: 0px;"></iframe> </div> --> </div> <div id="page_loading" style="position: absolute; top:0px; width: 100vw; height: 50vh;z-index:9999"> <div class="spinner"> <div class="cube1"></div> <div class="cube2"></div> </div> </div> </div> <script type="text/javascript"> new ListVue({ el: "#vbody", data: { disabled: false, notdisabled: true, approval: false, address: [], form_dataname: "salesOrder", dataname: "proxSalesOrderDetailWithDelivery", rolecode: window.top.userinfo.user.rolecode, acctObj:{}, attachment_name:"", formAttr: { title: "订å•ä¿¡æ¯", istitle: false, columnnumber: 3, labelwidth: "130px", labelposition: "right", size: "medium", border: "0px solid #c6c6c600", }, formFields: [], formData: { biz_date: createDate(), create_time: createDatetime(), }, expiredMessage:[], isLoading: false, isshowCell : false, newRowDefault: { //id: uuid_short(), code: createCode("S"), statecode: "input", biz_date: createDate(), create_time: createDatetime(), trans_type:"01", //operate_emp_name: window.top.userinfo.employee.name, sales_business_type: "1", sales_type: "07", tax_rate: "13", }, tableFields: [], tableData2: [], tableDataChange: {}, tableHeight2: 240, formData2: [], isEditTableData: true, isWithinEditTableData: false, isRefresh: true, selectFormField: {}, selectrow: {}, close: true, productDetail: [], hierarchy_name: "", expiredLicense:false, sum_noRate_: 0, updatetime: createDatetime(), reasonvisible: false, editTableButton: { edit: { isshow: true, txt: "编辑" }, del: { isshow: true, txt: "åˆ é™¤" }, save: { isshow: true, txt: "确认" } }, roleList:[], cellInnerText:"应付账款余é¢:ï¿¥", textarea2: '', passOrRefuse: false, seal: false, isBusiness: false, dataRequest: [{ isClientMode: false, code: "code", label: "value", name: "manager_part_code", dataname: "dictitem", filter: " parent_id='manager-part'" }, { isClientMode: false, code: "code", label: "name", name: "trans_type", dataname: "md_trans_type", }, { isClientMode: false, code: "code", label: "value", name: "settle_type", dataname: "dictitem", filter: " parent_id='settle_type'" }, { isClientMode: false, code: "code", label: "value", name: "sales_type", dataname: "dictitem", filter: " parent_id='sales_type'" }, { isClientMode: false, code: "code", label: "value", name: "business_type", dataname: "dictitem", filter: " parent_id='business_type'" }, { isClientMode: false, code: "code", label: "value", name: "sales_business_type", dataname: "dictitem", filter: " parent_id='order-businesstype'" }, { isClientMode: false, code: "code", label: "value", name: "tax_rate", dataname: "dictitem", filter: " parent_id='order-rate'" }, { isClientMode: false, code: "code", label: "value", name: "control_type", dataname: "dictitem", filter: " parent_id='control_type'" }, ], dataRequestObj: {}, }, created() { let me = this; this.roleList = localStorage.getItem("roleid").split(";") this.popupParames = clone(Root.popupParames); this.initFields(); if (this.popupParames.data) { let formData1 = clone(this.popupParames.data); this.acctObj.flow_id = formData1.flow_id; if (formData1.is_offline === "1" || formData1.is_offline === true) { formData1.offline = "线下åˆåŒ"; } else if (formData1.is_offline === "0" || formData1.is_offline === false) { formData1.offline = "线上åˆåŒ"; } formData1.sales_business_type = formData1.sales_business_type + ""; formData1.business_type = formData1.business_type + ""; formData1.control_type = formData1.control_type + ""; formData1.r_depart_type = formData1.business_depart_id; me.formData = formData1; me.isOverdueM(me.formData.customer_code); let finance_ = clone(dataRoot.pageSetting.finance); let isFiinance = false; for (var i = 0; i < finance_.length; i++) { if(this.roleList.indexOf(finance_[i]) > -1){ isFiinance = true; break; } } if(isFiinance && this.popupParames.sceneCode == "approval") { me.getAccountsPayable(formData1.customer_code); } } if (this.popupParames.sceneCode) { this.formAttr.title = "订å•ä¿¡æ¯ " + this.formData.code; if (me.formData.id) { if (me.formData.emp_depart_code == "202104200018") me.formData.emp_depart_name = "招商管ç†éƒ¨"; } if (this.popupParames.sceneCode == "browse") { this.formAttr.disabled = true; this.isWithinEditTableData = false; this.isEditTableData = false this.notdisabled = false; this.approval = false; this.close = false; this.tableHeight2 = 170; } else if (this.popupParames.sceneCode == "approval") { this.formAttr.disabled = true; this.isWithinEditTableData = false; this.isEditTableData = false; this.notdisabled = false; this.approval = true; this.close = false; if (me.popupParames.disabledone && me.formData.is_offline) { this.seal = true } } else if (this.popupParames.sceneCode == "add") { this.addTableData(); if (this.newRowDefault) { let formData_ = clone(this.formData); for (var k in this.newRowDefault) { formData_[k] = this.newRowDefault[k]; } this.formData = formData_; } this.formAttr.title = "订å•ä¿¡æ¯"; } } }, mounted() { let me = this; if (this.dataRequest.length) { var result = {}; this.loadRequestData(this.dataRequest, result, function(data) { me.dataRequestObj = data; if (me.formFields.length) { var formFields_part_ = clone(me.formFields); formFields_part_.map(e => { if (e.field == "manager_part_code") { e.options = me.dataRequestObj.manager_part_code; } else if (e.field == "sales_type") { e.options = me.dataRequestObj.sales_type; } else if (e.field == "settle_type") { e.options = me.dataRequestObj.settle_type; } else if (e.field == "business_type") { e.options = me.dataRequestObj.business_type; } else if (e.field == "sales_business_type") { e.options = me.dataRequestObj.sales_business_type; } else if (e.field == "tax_rate") { e.options = me.dataRequestObj.tax_rate; } else if (e.field == "control_type") { e.options = me.dataRequestObj.control_type; }else if(e.field == "trans_type") { e.options = me.dataRequestObj.trans_type; } }); me.formFields = formFields_part_; } //me.initData(); }); } if (this.popupParames.sceneCode != "add") { this.initData(); } this.$nextTick(() => { // 以æœåŠ¡çš„æ–¹å¼è°ƒç”¨çš„ Loading 需è¦å¼‚æ¥å…³é— document.getElementById('page_root').style.display = "block"; document.getElementById('page_loading').style.display = "none"; //釿–°è®¾ç½®å¼¹çª—宽高 this.$nextTick(function() { let w_ = this.$refs.popup_body.offsetWidth + "px"; let h_ = this.$refs.popup_body.offsetHeight + "px"; Root.setPopupWH(w_, h_); }) }); }, methods: { initFields() { let me = this; me.tableFields = clone(dataRootFields.tableFields.orderDetail_); me.formFields = clone(dataRootFields.formFields.order_); me.formFields.map(e=>{ if(e.field == "customer_consignee_address") e.type = "input" /* if(e.field == "delivery_part_name") e.disabled = true; */ }) me.tableFields = me.tableFields.filter(e => { if (e.field == "stock") return false; else return true; }); if(this.popupParames.sceneCode != "add" && this.popupParames.sceneCode != "edit" && this.popupParames.data.status == "open") { me.tableFields = me.tableFields.filter(e=>{ if(e.field == "delivery_qty") e.isshow = "T" return true; }) me.formFields = me.formFields.filter(e=>{ if(e.field == "delivery_status") e.isshow = "T" return true; }) } /* if(this.popupParames.sceneCode == "add") { me.formFields = me.formFields.filter(e=>{ if(e.field == "customer_code" || e.field == "customer_eas_code") e.isshow = "T" return true; }) } */ /* let param = { isClientMode: false, dataname: "getDelivery_part_name", filter: "delivery_part_code ='" + delivery_part_code_ + "'", } Server.call("root/data/getEntity", param, function(result) { console.log(result); if (result && result.data.entity) { me.$set(me.formData,"delivery_part_code",result.data.entity.delivery_part_code); me.$set(me.formData,"delivery_part_name",result.data.entity.delivery_part_name); me.$set(me.formData,"book_no",result.data.entity.book_no); me.newRowDefault = clone(me.formData); }else{ Root.message({ type: 'warning', message: 'æ— æ”¿ç–备案' }); } }); */ }, initData() { let me = this; if (me.formData.contract_file_id) { let param = { dataname: "fileLog", filter: "id ='" + this.formData.contract_file_id + "'", } Server.call("root/data/getEntity", param, function(result1) { console.log(result1); if (result1 && result1.data.entity) { let name = me.fileNameTrim(result1.data.entity.name) me.$set(me.formData,"contract_file_name",name); me.$set(me.formData,"contract_file_name_t",result1.data.entity.name); me.$set(me.formData,"contract_file_id",result1.data.entity.id); } }); } if(me.formData.customer_id) { let param_customer = { isClientMode:false, dataname:"getCustomer_name", filter:"customer_id = '" + this.formData.customer_id + "'" } Server.call("root/data/getEntity",param_customer,function(result) { if(result && result.success) { me.$set(me.formData,'customer_code',result.data.entity.customer_code) me.$set(me.formData,'customer_eas_code',result.data.entity.customer_eas_code) }else { Root.message({ type:"warning", message:"å®¢æˆ·ç¼–ç æŸ¥è¯¢å¤±è´¥" }) } }) } if (me.formData.attachment_file_id) { let param = { dataname: "fileLog", filter: "id ='" + this.formData.attachment_file_id + "'", } Server.call("root/data/getEntity", param, function(result1) { console.log(result1); if (result1 && result1.data.entity) { let name = me.fileNameTrim(result1.data.entity.name) me.$set(me.formData,"attachment_file_name",name); me.$set(me.formData,"attachment_file_name_t",result1.data.entity.name); me.$set(me.formData,"attachment_file_id",result1.data.entity.id); } }); } me.formData.updatetime = this.updatetime; let filter_table = "1<>1"; if (this.formData.id) { filter_table = "sales_order_detail.parent_id = '" + this.formData.id + "'"; } let param_table = { isClientMode: false, dataname: this.dataname, filter: filter_table, } Server.call("root/data/getEntitySet", param_table, function(result) { console.log(result); if (result && result.data.entityset) { let tableData_ = result.data.entityset; if(tableData_.length > 0) { me.$set(me.formData,"sales_type",result.data.entityset[0].sales_type + "") me.$set(me.formData,"tax_rate",result.data.entityset[0].tax_rate) for (var i = 0; i < result.data.entityset.length; i++) { tableData_[i].supply_price = result.data.entityset[i].product_price tableData_[i].standrad_cnt = me.routnFixed(result.data.entityset[i].cnt / (result.data.entityset[i].product_conversion_rate || 1), 4); } } me.tableData2 = tableData_; me.setTableHeight(); } }); }, fileNameTrim(str) { let name = str.substring(0,str.indexOf(".")); let suffix = str.substring(str.indexOf(".")+1); if(name.length > 18) name = name.substring(0,18) + "...( " + suffix + " )" else name = str; return name; }, onServerInitData(data) { }, checkDiscountAmount(customer_code) { let me = this; let param = { isClientMode:false, dataname:"v_customer_rebate_book", filter:"customer_code = '" + customer_code + "'" } Server.call("root/data/getEntity",param,function(result) { if(result && result.success) { if(result.data.entity && result.data.entity.amount) { me.$set(me.formData,"amount",Math.abs(result.data.entity.amount)) me.$set(me.formData,"available_amt",Math.abs(result.data.entity.amount)) }else{ me.$set(me.formData,"amount",0) me.$set(me.formData,"available_amt",0) } }else{ Root.message({ type: 'warning', message: data.message }); } }) }, clearData() { Root.confirm('确定清空所有数æ®å—?', 'æç¤º', { confirmButtonText: "确认", cancelButtonText: 'å–æ¶ˆ', type: 'warning' }).then(() => { let m = document.getElementById("cell"); m.innerHTML = ""; this.formData = {}; this.tableData2 = []; this.address = []; this.addTableData(); if (this.newRowDefault) { let formData_ = clone(this.formData); for (var k in this.newRowDefault) { formData_[k] = this.newRowDefault[k]; } this.formData = formData_; } }).catch(() => { Root.message({ type: 'info', message: '已喿¶ˆ' }); }); }, closeDialog() { if (this.popupParames.sceneCode != "browse" && this.popupParames.sceneCode != "main") { Root.tab.removeItem(Root.tab.selected); Root.tab.open(me.popupParames.parentOption, false); } else if(this.popupParames.sceneCode == "browse") { Root.tab.removeItem(Root.tab.selected); Root.tab.open(me.popupParames.parentOption, false); } else { Root.hidePopup(); } }, submitRowTable() { this.formData.continueCommit = true; if(this.formData.control_type == "1" && ! this.formData.attachment_file_id) { Root.confirm('æœªä¸Šä¼ ä»˜æ¬¾å‡è¯,是å¦ç»§ç»ï¼Ÿ', 'æç¤º', { confirmButtonText: "确定", cancelButtonText: 'å–æ¶ˆ', type: 'warning' }).then(() => { this.saveRowTable(); }).catch(()=>{ Root.message({ type: 'info', message: '已喿¶ˆ' }); }) }else { this.saveRowTable(); } }, saveRowTable() { if (this.popupParames.sceneCode == "add" || this.popupParames.sceneCode == "edit") { if (!this.formData.manager_part_code || !this.formData.trans_type || !this.formData.delivery_part_name || !this.formData.customer_name || !this.formData.customer_consignee_address || !this.formData.customer_consignee_user_name || !this.formData.customer_consignee_phone || !this.formData.sales_type) { Root.message({ type: 'warning', message: '请填写必填项' }); return; } for (var i = 0; i < this.tableData2.length; i++) { if (this.tableData2[i].cnt == 0) { Root.message({ type: 'warning', message: 'è¯·å¡«å†™è®¢å•æ•°é‡' }); return; } } } if (this.formData.is_offline && !this.formData.contract_no) { Root.message({ type: 'warning', message: '请填写åˆåŒå·' }); return; } if(!this.formData.is_offline && this.popupParames.sceneCode == "edit") { this.formData.contract_no = this.formData.code; } var array_ = []; for (var i = 0; i < this.tableData2.length; i++) { var row = this.tableData2[i]; var row_ = {}; row_.id = row.id ? row.id : ""; row_.count = row.cnt; //ä»¶æ•° row_.product_id = row.product_id; row_.rebateAmt = row.rebate_amt; row_.salesType = this.formData.sales_type + "", //销售类型。。æ£å¸¸é”€å”® row_.taxRate = this.formData.tax_rate; //税率 row_.agreementRecordId = row.agreement_record_id ? row.agreement_record_id : ""; //åè®®id row.agreementRecordId row_.remark = row.remark; if (row_.agreementRecordId != "") { array_.push(row_); } } if(this.formData.customer_consignee_address.indexOf("?:?") > -1) this.formData.customer_consignee_address = this.formData.customer_consignee_address.substring(0,this.formData.customer_consignee_address.indexOf("?:?")); let param = { isClientMode: false, departSalesType: this.formData.depart_sales_type, departRevoType: this.formData.depart_revo_type, id: this.formData.id ? this.formData.id : "", code: this.formData.code || "", customerId: this.formData.customer_id, bizDate: this.formData.biz_date, salesType: this.formData.sales_type + "", transType: this.formData.trans_type, rBusinessType: this.formData.r_business_type, rDepartType: this.formData.r_depart_type, settleType: this.formData.settle_type, salesBusinessType: this.formData.sales_business_type, agreementRecordId: this.formData.agreementRecordId ? this.formData.agreementRecordId : "", //this.formData.agreementRecordId, //åè®®id contractNo: this.formData.contract_no ? this.formData.contract_no : "", contractFileId: this.formData.contract_file_id || "", attachmentFileId: this.formData.attachment_file_id || "", empDepartName: this.formData.emp_depart_name || "", taxRate: this.formData.tax_rate, oAgreementRecordId: this.tableData2[0].agreement_record_id, isOffline: this.formData.is_offline, bookNo:this.formData.book_no || "", subSalesOrderList: array_, proxyOrder:true, customerConsignee: { //æ”¶è´§ä¿¡æ¯ id: this.formData.addressid ? this.formData.addressid : "", //this.formData.addressid, userName: this.formData.customer_consignee_user_name, address: this.formData.customer_consignee_address ? this.formData.customer_consignee_address : "", phone: this.formData.customer_consignee_phone }, } let me = this; me.isLoading = true; Server.call("root/order/saveSalesOrder", param, function(result) { console.log(result); if (result.success) { document.getElementById('page_loading').style.display = "block"; if (me.formData.continueCommit) { me.formData.continueCommit = false; let param_ = { orderId: result.data.id, eventType: "commit", dataType: "sales", extra: { variableMap: { businessType: me.formData.business_type, businessDepartType: me.formData.depart_sales_type, controlType: me.formData.control_type, managerPartCode: me.formData.manager_part_code, isOverDue: me.formData.isOverDue, deliveryPartCode:me.formData.delivery_part_code, agreementRecordId:me.tableData2[0].agreement_record_id, proxyOrder:true, flowId:me.formData.flow_id || "", }, }, } Server.call("root/order/onEvent", param_, function(result_) { console.log(result_); if (result_.success) { Root.message({ type: 'success', message: 'æäº¤æˆåŠŸ' }); document.getElementById('page_loading').style.display = "none"; Root.tab.removeItem(Root.tab.selected); Root.tab.open(me.popupParames.parentOption, true); } }, function(result_) { document.getElementById('page_loading').style.display = "none"; Root.confirm(result_.message + ',确定直接æäº¤å—?', 'æç¤º', { confirmButtonText: "æäº¤", cancelButtonText: 'å–æ¶ˆ', type: 'warning' }).then(() => { document.getElementById('page_loading').style.display = "block"; let param = { orderId: result.data.id, eventType: "commit", dataType: 'proxyFactorySales', isClientMode: false, extra: { mandatory: true, variableMap: { businessType: me.formData.business_type, businessDepartType: me.formData.depart_sales_type, controlType: me.formData.control_type, managerPartCode: me.formData.manager_part_code, agreementRecordId:me.tableData2[0].agreement_record_id, isOverDue: me.formData.isOverDue, }, }, } Server.call("root/order/onEvent", param, function(result) { console.log(result); if (result.success) { Root.message({ type: 'success', message: 'æäº¤æˆåŠŸ' }); document.getElementById('page_loading').style.display = "none"; Root.tab.removeItem(Root.tab.selected); Root.tab.open(me.popupParames.parentOption, true); } }, function(result) { Root.message({ type: 'warning', message: 'æäº¤å¤±è´¥ï¼Œè¯·åœ¨é”€å”®è®¢å•页é¢é‡æ–°æäº¤' }); document.getElementById('page_loading').style.display = "none"; Root.tab.removeItem(Root.tab.selected); Root.tab.open(me.popupParames.parentOption, true); }); }).catch(() => { me.isLoading = false; Root.message({ type: 'info', message: '已喿¶ˆ' }); }); }); } else { if (me.popupParames.sceneCode != "approval") { Root.message({ type: 'success', message: 'ä¿å˜æˆåŠŸ' }); } Root.tab.removeItem(Root.tab.selected); Root.tab.open(me.popupParames.parentOption, true); } } else { me.isLoading = false; Root.message({ type: 'warning', message: result.message }); } },function(result){ me.isLoading = false; Root.message({ type: 'warning', message: result.message }); }); }, showCredit(code, row) { let me = this; if (me.formData.customername) { Root.popupParames = { url: "../tool/credit_status.html", }; Root.showPopup(Root.popupParames); } else { Root.message({ type: 'warning', message: '请先选择客户' }); } }, isOverdueM(customer_code) { let me = this; let param_1 = { isClientMode: false, dataname: "v_remit_customer", filter: "customer_code = '" + customer_code + "'", } Server.call("root/data/getEntitySet", param_1, function(result) { if (result.success) { if (result.data.entityset.length > 0) { me.$set(me.formData,'overdue',"超账期") me.$set(me.formData,'iscreditsuccess',"0") me.$set(me.formData,'isOverDue',true) } else { me.$set(me.formData,'overdue',"未超账期") me.$set(me.formData,'iscreditsuccess',"1") me.$set(me.formData,'isOverDue',false) } let param_ = { isClientMode: false, dataname: "customerSignatureMapping", filter: "1 = 1 and customer_code = '" + me.formData.customer_code + "'", } Server.call("root/data/getEntity", param_, function(result) { if (result && result.data.entity) { if (result.data.entity.has_signature && (!me.formData.business_type || me.formData.business_type == "1")) { me.$set(me.formData,"is_offline",false) me.$set(me.formData,"offline","线上åˆåŒ") } else{ me.$set(me.formData,'is_offline',true) me.$set(me.formData,'offline',"线下åˆåŒ") } } else { me.$set(me.formData,'is_offline',true) me.$set(me.formData,'offline',"线下åˆåŒ") } me.formFields = me.formFields.filter(e=>{ if(e.field == "contract_no" || e.field == "contract_file_name") { if(me.formData.is_offline) { e.disabled = false; }else e.disabled = true; } return true; }) }); } }); }, getAccountsPayable(customerCode) { let me = this; let param = { isClientMode:false, filter: "customer_code = '" + customerCode + "'", dataname:"v_cope_order" } Server.call("root/data/getEntity", param, function(result) { if(result && result.data.entity && result.data.entity.dod_amt) { if(!result.data.entity.rod_amt) { me.cellInnerText = me.cellInnerText + result.data.entity.dod_amt; }else me.cellInnerText = me.cellInnerText + (result.data.entity.dod_amt - result.data.entity.rod_amt); }else me.cellInnerText = me.cellInnerText + 0; me.isshowCell = true; }); }, rowChange(row, type) { //tc var id_ = row.id; if (this.tableDataChange[id_]) { this.tableDataChange[id_].data = row; } else { var changeRow_ = { type: type, data: row }; this.tableDataChange[id_] = changeRow_; } //t2 if (type == "add") { this.tableData2.unshift(row); this.setTableHeight(); } else if (type == "del") { this.tableData2.remove(row); if (this.tableData2.length == 0) { let formData_ = clone(this.formData); formData_.settle_type = ""; formData_.operate_emp_name = ""; formData_.control_type = ""; formData_.business_type = ""; formData_.emp_depart_name = ""; this.formData = formData_; } } var sum_noRate_ = 0; var rebate_amt = 0; var formData_ = clone(this.formData); this.tableData2.map(e => { sum_noRate_ += (e.product_amt || 0) * 1; rebate_amt += (e.rebate_amt || 0) * 1; }) formData_.rebate_amt = rebate_amt; formData_.amt = sum_noRate_ == 0 ? 0 : this.routnFixed(sum_noRate_ - rebate_amt, 2); this.formData = formData_; /* this.isRefresh = false; this.$nextTick(function(){ */ this.isRefresh = true; //}) }, setTableHeight(){ if(this.tableData2.length < 2){ this.tableHeight2 = 165; } else this.tableHeight2 = this.tableData2.length * 40 + 100; }, addTableData() { if (this.selectrow != {}) { this.selectrow.isWithinEdit = false; } var id_ = uuid_short(); var row_ = { isWithinEdit: true, id: id_, rebate_amt: 0 }; for (var i = 0; i < this.tableFields.length; i++) { let field_ = this.tableFields[i].field; if (field_ == "parent_id") { row_[field_] = this.formData.id; } else { row_[field_] = ""; } } this.selectrow = row_; this.rowChange(row_, "add"); }, rowClick(obj) { if (this.popupParames.sceneCode != "approval" && this.popupParames.sceneCode != "browse") { if (this.selectrow != {}) { this.selectrow.isWithinEdit = false; } this.selectrow = obj.row; obj.row.isWithinEdit = obj.row.isWithinEdit ? false : true; } }, editData(scope) { if (this.selectrow != {} && this.selectrow.isWithinEdit) { this.selectrow.isWithinEdit = false; } if (this.selectrow == scope.row) { scope.row.isWithinEdit = false; this.selectrow = {}; } else { this.selectrow = scope.row; scope.row.isWithinEdit = scope.row.isWithinEdit ? false : true; } this.isRefresh = false; this.$nextTick(function() { this.isRefresh = true; }) }, onPopupByUploadFileAll() { var me = this; this.attachment = ""; this.attachment_name = ""; var config = { totab: false, width: "1500px", icon: "icon-product", text: "é™„ä»¶ä¸Šä¼ ", id: "popupByUploadFile", url: "../tool/popup_uploadFile.html", data: {}, delta: {filetypelist: []}, callback: function(obj, callback) { var file_ = obj.row[0]; me.attachment = file_.id; me.attachment_name = file_.name; if (callback) { callback(); } } }; this.doPopupByPublic(config); }, cellShowPopup(scope) { if (!this.formData.customer_name) { Root.message({ message: '请选择客户' }); return; } let me = this; let row = scope.row; let field = scope.column.property; if (field == "product_name") { this.getFormData(row); } }, cellInputChange(scope) { let row = scope.row; let field = scope.column.property; if (field == "cnt") { if (row.cnt == 0) { Root.message({ type: 'warning', message: 'æ•°é‡ä¸èƒ½ä¸º0' }); row.cnt = row.product_conversion_rate; return; } row.product_amt = this.routnFixed(((row.cnt ? row.cnt : 0) * (row.supply_price ? row.supply_price : 0)), 2); row.tax_amt = this.routnFixed(row.product_amt * 1, 2); //row.standrad_cnt = (row.cnt / (row.product_conversion_rate || 1)).toFixed(4); row.standrad_cnt = this.routnFixed(row.cnt / (row.product_conversion_rate || 1), 4); } if (field == "rebate_amt") { if (row.rebate_amt > row.product_amt) { row.rebate_amt = "0"; Root.message({ type: 'warning', message: '返利金é¢å¤§äºŽé‡‘é¢' }); } if(this.formData.business_depart_name.indexOf("OTC") == 0) { if (row.rebate_amt > this.formData.available_amt || (this.formData.rebate_amt + row.rebate_amt > this.formData.available_amt)) { Root.message({ type: 'warning', message: '超过å¯ç”¨æŠ˜æ‰£' }); row.rebate_amt = 0; } } } this.rowChange(row, "up"); }, delData(scope) { let me = this; let row = scope.row; let index_ = scope.$index; Root.confirm('ç¡®å®šåˆ é™¤-' + row.product_name + '-å—?', 'åˆ é™¤æç¤º', { confirmButtonText: 'åˆ é™¤', cancelButtonText: 'å–æ¶ˆ', type: 'warning' }).then(() => { if (row.id == undefined || row.id == '') { me.rowChange(row, "del"); } else { let param = { id: row.id } Server.call("root/data/deleteEntity" + "/" + me.dataname, param, function(result) { me.rowChange(row, "del"); }); } Root.message({ type: 'success', message: 'åˆ é™¤æˆåŠŸ!' }); }).catch(() => { Root.message({ type: 'info', message: '已喿¶ˆåˆ 除' }); }); }, getFormData(row) { let me = this; let filter_ = "and agreement_record.customer_id is not null and flows.status = 'open'"; //管ç†ä¸»ä½“åç§° if (me.formData.manager_part_code) { filter_ += " and mdi.code = '" + me.formData.manager_part_code + "'" } //å‘货主体 if (me.formData.delivery_part_code) { filter_ += " and agreement_record.delivery_part_code = '" + me.formData.delivery_part_code + "'" }else { let isFWG = this.roleList.indexOf("sp064") > -1;//æœåС岗 éžç›´ç®¡ 爱尔海泰 白敬宇 let isSSW = this.roleList.indexOf("sp0") > -1;//çœå•†åŠ¡ 自管 爱尔海泰 白敬宇 let isHS = this.roleList.indexOf("sp063") > -1;//代ç†å·¥åŽ‚-厚生 if(isFWG || isSSW) { filter_ += " and (agreement_record.delivery_part_code = 'HBAEHT' or agreement_record.delivery_part_code = 'NJBJY'" if(isHS) { filter_ += " or agreement_record.delivery_part_code = 'NJHS2')" }else { filter_ += ")" } }else if(isHS){ filter_ += " and (agreement_record.delivery_part_code = 'NJHS2')" }else { filter_ += " and (agreement_record.delivery_part_code = '')" } } //客户åç§° if (me.formData.customer_code) { filter_ += " and agreement_record.customer_code = '" + me.formData.customer_code + "'" } //区域 if (me.formData.province_name) { filter_ += " and agreement_record.province_code = '" + me.formData.province_code + "'" } //业务部门 if (me.formData.business_depart_name) { filter_ += " and agreement_record.business_depart_id = '" + me.formData.business_depart_id + "'" } //结算类型 if (me.formData.settle_type) { filter_ += " and agreement_record.settle_type = '" + me.formData.settle_type + "'" } //商业类型 if (me.formData.business_type) { filter_ += " and agreement_record.business_type = '" + me.formData.business_type + "'" } //业务员 if (me.formData.operate_emp_name) { filter_ += " and v_employee.md_description = '" + me.formData.operate_emp_name + "'" } if (this.popupParames.sceneCode == "add") { //已选ä¸çš„ä¸å¯å†æ¬¡è¢«é€‰ä¸ var array_1 = ""; for (var i = 0; i < this.tableData2.length; i++) { if (this.tableData2[i].agreement_record_id) { if (this.tableData2[i].agreement_record_id != this.selectrow.agreement_record_id) array_1 += "'" + this.tableData2[i].agreement_record_id + "',"; } } if (array_1 != "") { array_1 = array_1.slice(0, array_1.length - 1) filter_ += " and agreement_record.id not in (" + array_1 + ")" } } //业务类型 if (me.formData.sales_business_type) { filter_ += ""; } Root.showPopup({ url: "../md/product/popup/product_list.html", width: 1100, height: 550, filter: filter_, dataname: "salesAgreement", //salesAgreement type: "sorder", callback: function(obj, callback) { row.product_name = obj.row.product_name row.product_id = obj.row.id row.product_code = obj.row.product_code row.product_spec = obj.row.pack row.supply_price = obj.row.supply_price //row.standrad_cnt = row.trans_rate*obj.row.trans_rate row.product_unit = obj.row.product_unit row.settle_type = obj.row.settle_type row.taxrate = obj.row.taxrate row.product_conversion_rate = obj.row.product_conversion_rate row.agreement_record_id = obj.row.id row.cnt = 0; row.standrad_cnt = 0; let url = window.top.RootSetting.url_stock + "order/getInventoryByVo"; let formData_ = clone(me.formData); if(me.tableData2.length > 1) { if(formData_.control_type != obj.row.control_type + "") { me.tableData2 = []; me.tableData2.push(row) } if(formData_.settle_type != obj.row.settle_type) { me.tableData2 = []; me.tableData2.push(row) } if(formData_.province_code != obj.row.province_code) { me.tableData2 = []; me.tableData2.push(row) } if(formData_.delivery_part_code != obj.row.delivery_part_code) { me.tableData2 = []; me.tableData2.push(row) } if(formData_.delivery_part_code != obj.row.delivery_part_code) { me.tableData2 = []; me.tableData2.push(row) } if(formData_.business_depart_id != obj.row.business_depart_id) { me.tableData2 = []; me.tableData2.push(row) } if(formData_.business_type != obj.row.business_type + "") { me.tableData2 = []; me.tableData2.push(row) } } axios.post(url, { deliveryPartCode:formData_.delivery_part_code, productCodeList:[row.product_code], }) .then(data => { if (data.data.data) { if(data.data.data.length == 0|| data.data.data[0].count === null || data.data.data[0].count === undefined) row.stock = "æ— åº“å˜"; else row.stock = data.data.data[0].count; } else if (data.data.message == "success") { row.stock = "æ— åº“å˜"; } }) .catch((error) => { console.log(error); }); formData_.tax_rate = obj.row.default_tax_rate?obj.row.default_tax_rate+"":"13" formData_.control_type = obj.row.control_type + ""; formData_.settle_type = obj.row.settle_type formData_.province_name = obj.row.province_name formData_.province_code = obj.row.province_code formData_.business_depart_name = obj.row.business_depart_name formData_.business_depart_id = obj.row.business_depart_id formData_.delivery_part_name = obj.row.delivery_part_name formData_.delivery_part_code = obj.row.delivery_part_code formData_.business_type = obj.row.business_type + "" formData_.r_business_type = obj.row.business_type if(formData_.business_type == "2") { me.formFields = me.formFields.filter(e=>{ formData_.is_offline=true formData_.offline="线下åˆåŒ" if(e.field == "contract_no" || e.field == "contract_file_name") { if(formData_.is_offline) { e.disabled = false; }else e.disabled = true; } return true; }) }else { me.isOverdueM(formData_.customer_code); } formData_.r_depart_type = obj.row.depart_type formData_.depart_sales_type = obj.row.s_depart_sales_type formData_.depart_revo_type = obj.row.s_depart_revo_type formData_.operate_emp_name = obj.row.operate_emp_name; formData_.tax_amt = 0; formData_.emp_depart_name = obj.row.emp_depart_name; let hierarchy_code = localStorage.getItem("hierarchy_code"); if (hierarchy_code == "202104200018") formData_.emp_depart_name = "招商管ç†éƒ¨"; if (obj.row.book_no) { formData_.book_no = obj.row.book_no; }else{ formData_.book_no = ""; } formData_.manager_part_code = obj.row.manager_part_code; me.formData = formData_; if (callback) { callback(); } } }); }, Getfilter(filter_, filter) { let me = this; //管ç†ä¸»ä½“åç§° if (me.formData.manager_part_code) { filter_ += " and manager_part_code = '" + me.formData.manager_part_code + "'" } //å‘货主体 if (me.formData.delivery_part_code && filter != "delivery_part_name") { filter_ += " and delivery_part_code = '" + me.formData.delivery_part_code + "'" } //客户åç§° if (me.formData.customer_id && filter != "customer_name") { filter_ += " and customer_id = '" + me.formData.customer_id + "'" } //区域 if (me.formData.province_name && filter != "province_name") { filter_ += " and province_code = '" + me.formData.province_code + "'" } //业务部门 if (me.formData.business_depart_name && filter != "business_depart_name") { filter_ += " and business_depart_id = '" + me.formData.business_depart_id + "'" } //商业属性 if (me.formData.business_type) { filter_ += " and business_type = '" + me.formData.business_type + "'" } return filter_ }, onseal() { this.operationtype = "approval"; //2. get config and go var config = new Config(), go = true; if (this.onApproveData) { go = this.onApproveData.call(this, config); } //3. popup if (go) { if (config.totab) { if (config.url) { if (config.text.length > 4) { config.text = config.text.substr(0, 4) + "..."; } } var parames = { url: config.url, sceneCode: config.sceneCode, data: config.data, delta: config.delta, disabled: config.disabled, disabledone: config.disabledone, operationtype: "approval", parentOption: window.top.tab.selected.option }; Root.popupParames = parames; window.top.tab.open(config); } else { this.doPopup(config); } } }, onApproveData(config) { var me = this; var row = this.formData; //3. popup config.combine({ totab: true, icon: "icon-product", text: "ç›–ç« ", id: "sorder_edit_approval1", url: "../order/sorder/signature.html?userid=" + window.top.userinfo.user.id, sceneCode: "approval", data: row, delta: me.dataname, }); return true; }, onpassApproval() { this.textarea2 = ""; this.reasonvisible = true; this.passOrRefuse = true; }, onrefuseApproval() { this.textarea2 = ""; this.reasonvisible = true; this.passOrRefuse = false; }, saveReason() { let me = this; let userId = localStorage.getItem("id"); document.getElementById('page_loading').style.display = "block"; if (this.passOrRefuse) { if(me.formData.act_node_name=="物æµç®¡ç†éƒ¨ç»ç†") { let param = { isClientMode:false, dataname:"user", filter:"id = '" + userId + "'" } Server.call("root/data/getEntity",param,function(result){ if(result && result.success) { if(result.data.entity.signature) { let param_ = { isClientMode:false, id:me.formData.id, userId:userId } Server.call("root/order/createDeliveryFile",param_,function(result) { if(result && result.success) { me.passApproval('sales', me.textarea2,{deliveryPartCode:me.formData.delivery_part_code}); }else { document.getElementById('page_loading').style.display = "none"; Root.message({ type:"warning", message:"å‘货申请å•生æˆå¤±è´¥" }) } },function(result){ document.getElementById('page_loading').style.display = "none"; Root.message({ type:"warning", message:"å‘货申请å•生æˆå¤±è´¥" }) }) }else { Root.popupParames = { width: "60vw", height: "80vh", url: "../api_qianming_jquery/qianming.html", callback: function(obj, callback) { if(!obj.signature) { Root.message({ type:"warning", message:"自动生æˆå‘货申请å•需è¦ç¾å,请ä¿å˜ç¾ååŽå®¡æ‰¹" }) if (callback) { callback(); } document.getElementById('page_loading').style.display = "none"; me.reasonvisible = false; return; }else { if (callback) { callback(); } me.saveReason(); } } }; Root.showPopup(Root.popupParames); } }else { document.getElementById('page_loading').style.display = "block"; Root.message({ type:"warning", message:"ç¾å获å–失败" }) } }) }else this.passApproval('sales', this.textarea2,{deliveryPartCode:me.formData.delivery_part_code}); if(this.isBusiness) { this.saveRowTable(); } } else { if (this.textarea2 != "") { this.refuseApproval('sales', this.textarea2,{deliveryPartCode:me.formData.delivery_part_code}) } else { Root.message({ type: 'warning', message: 'è¯·å¡«å†™åŽŸå› ' }); document.getElementById('page_loading').style.display = "none"; } } //document.getElementById('page_loading').style.display = "none"; }, showPopup(obj) { this.selectFormField = obj.obj; let isFWG = this.roleList.indexOf("sp064") > -1;//æœåС岗 éžç›´ç®¡ 爱尔海泰 白敬宇 let isSSW = this.roleList.indexOf("sp0") > -1;//çœå•†åŠ¡ 自管 爱尔海泰 白敬宇 let isHS = this.roleList.indexOf("sp063") > -1;//代ç†å·¥åŽ‚-厚生 if (this.selectFormField.field == "customer_name") { //客户åç§° let me = this; let hierarchy_code = localStorage.hierarchy_code; let roleList = localStorage.roleid.split(";"); let isAll = roleList.indexOf("7b84790f8649471c897d369bcde99623") > -1 let arr = ["202012210001","202104200018"]; var filter_ =" sales_agreement.operator_code = '" + localStorage.emp_code + "'" if(arr.indexOf(hierarchy_code) > -1 || isAll) filter_ = "1=1" if(isFWG || isSSW) { filter_ += " and (sales_agreement.delivery_part_code = 'HBAEHT' or sales_agreement.delivery_part_code = 'NJBJY'" if(isHS) { filter_ += " or sales_agreement.delivery_part_code = 'NJHS2')" }else { filter_ += ")" } }else if(isHS){ filter_ += " and (sales_agreement.delivery_part_code = 'NJHS2')" }else { filter_ += " and (sales_agreement.delivery_part_code = '')" } if(me.formData.customer_code) { filter_ += " and sales_agreement.customer_code = '" + me.formData.customer_code + "'" } if(me.formData.delivery_part_code) { filter_ += " and sales_agreement.delivery_part_code = '" + me.formData.delivery_part_code + "'" } filter_ += " and " Root.showPopup({ url: "../md/customer/popup/customer_list.html", width: 900, height: 550, filter: filter_, dataname: "getCustomer_name", callback: function(obj, callback) { let formData_ = clone(me.formData); formData_.customer_name = obj.row.md_description; /* formData_.customer_consignee_address = obj.row.address; me.address = [{address:obj.row.address}]; */ //formData_.customer_consignee_user_name = obj.row.operator_name; formData_.customer_code = obj.row.md_code; formData_.customer_id = obj.row.customer_id; formData_.province_name = obj.row.province_name; formData_.province_code = obj.row.province_code; formData_.customer_code = obj.row.customer_code; formData_.customer_eas_code = obj.row.customer_eas_code; /* formData_.operate_emp_name = obj.row.business_operator_name; formData_.emp_depart_name = obj.row.emp_depart_name; */ /* formData_.manager_part_code = ""; formData_.delivery_part_name = ""; formData_.settle_type = ""; formData_.business_depart_name = ""; */ me.formData = clone(formData_); me.checkDiscountAmount(formData_.customer_code) me.isOverdueM(formData_.customer_code); me.tableData2 = []; if (callback) { callback(); } me.addTableData(); } }); }else if (this.selectFormField.field == "delivery_part_name") { //å‘货主体 let me = this; var filter_ = " deo.is_poxy = 1"; if(isFWG || isSSW) { filter_ += " and (deo.code = 'HBAEHT' or deo.code = 'NJBJY'" if(isHS) { filter_ += " or deo.code = 'NJHS2')" }else { filter_ += ")" } }else if(isHS){ filter_ += " and (deo.code = 'NJHS2')" }else { filter_ += " and (deo.code = '')" } if(me.formData.customer_code) { filter_ += " and agreementRecord.customer_code = '" + me.formData.customer_code + "'" } if(me.formData.delivery_part_code) { filter_ += " and agreementRecord.delivery_part_code = '" + me.formData.delivery_part_code + "'" } Root.showPopup({ url: "../org/company/popup/managesubject_list.html", width: 800, height: 550, dataname: "getDelivery_part_name", type: "managesubjectname", filter: filter_, callback: function(obj, callback) { let formData_ = clone(me.formData); formData_.delivery_part_name = obj.row.delivery_part_name; formData_.delivery_part_code = obj.row.delivery_part_code; formData_.has_gsp = obj.row.has_gsp; if(!isFWG && isSSW){ if(obj.row.delivery_part_code == "NJBJY" || obj.row.delivery_part_code == "HBAEHT") formData_.business_type = "1" }else if(isFWG && !isSSW){ if(obj.row.delivery_part_code == "NJBJY" || obj.row.delivery_part_code == "HBAEHT") formData_.business_type = "2" } if (obj.row.book_no) { formData_.book_no = obj.row.book_no; }else{ formData_.book_no = ""; } if(callback) callback() me.formData = formData_; } }); }else if (this.selectFormField.field == "business_depart_name") { //业务部门 let me = this; var filter_ = " 1 = 1 and name is not null "; filter_ = this.Getfilter(filter_, "business_depart_name"); Root.showPopup({ url: "../org/department/popup/department_list.html", width: 800, height: 550, dataname: "getBusiness_depart_name", filter: filter_, callback: function(obj, callback) { let formData_ = clone(me.formData); formData_.business_depart_name = obj.row.name formData_.business_depart_id = obj.row.id me.formData = formData_; if (callback) { callback(); } } }); } else if (this.selectFormField.field == "province_name") { let me = this; var filter_ = " 1 = 1"; filter_ = this.Getfilter(filter_, "province_name"); Root.showPopup({ url: "../org/department/popup/area_list.html", width: 800, height: 550, dataname: "getProvince_name", filter: filter_, callback: function(obj, callback) { let formData_ = clone(me.formData); formData_.province_name = obj.row.province_name formData_.province_code = obj.row.province_code me.formData = formData_; if (callback) { callback(); } } }); } }, formcallclick(obj) { this.click = obj.obj; if (this.selectFormField.field == "upload") { var url = baseUrl + "file/download?id=" + this.formData.file_id; dealExportByPath(url, this.formData.upload); } else if (this.click.field == "file_upload") { //"../../../js/web/viewer.html?file=" + encodeURIComponent(window.top.RootSetting.url + "root/file/download?id=" + this.popupParames.data.contract_file_id) var url = baseUrl + "file/download?id=" + this.formData.attachment_file_id; dealExportByPath(url, this.formData.file_upload); //getDownloadFileUrl(this.formData.attachment_file_id) } }, buttonClick(obj) { if (obj.obj.field == "contract_file_name") { //åˆåŒ let me = this; this.doPopup({ totab: false, width: "1500px", icon: "icon-product", text: "é™„ä»¶ä¸Šä¼ ", id: "popupByUploadFile", url: "../tool/popup_uploadFile.html", data: {}, delta: { filetypelist: [".png", ".jpg", ".pdf"] }, callback: function(obj, callback) { let formData_ = clone(me.formData); formData_.contract_file_id = obj.row[0].id let name = me.fileNameTrim(obj.row[0].name) formData_.contract_file_name_t = obj.row[0].name formData_.contract_file_name = name me.formData = formData_; if (callback) { callback(); } } }); } else if (obj.obj.field == "attachment_file_name") { //附件 let me = this; Root.showPopup({ totab: false, width: "1500px", icon: "icon-product", text: "é™„ä»¶ä¸Šä¼ ", id: "popupByUploadFile", url: "../tool/popup_uploadFile.html", data: {}, delta: { filetypelist: [".png", ".jpg", ".pdf"] }, callback: function(obj, callback) { let formData_ = clone(me.formData); formData_.attachment_file_id = obj.row[0].id let name = me.fileNameTrim(obj.row[0].name) formData_.attachment_file_name = name formData_.attachment_file_name_t = obj.row[0].name me.formData = formData_; if (callback) { callback(); } } }); } }, formcallspanClick(obj) { if (obj.obj.field == "contract_file_name" && this.formData.contract_file_id) { this.onDownloadFileByFileId(this.formData.contract_file_id, this.formData.contract_file_name_t); }else if(obj.obj.field == "attachment_file_name" && this.formData.attachment_file_id) { this.onDownloadFileByFileId(this.formData.attachment_file_id, this.formData.attachment_file_name_t); } }, onDownloadFileByFileId(file_id, file_name) { var clickContext = {}; var row_ = {}; if (!file_id) { Root.message({ type: 'warning', message: '没有附件文件' }); return } //////////// let fileid = clone(file_id); let fileName = clone(file_name); let index1 = fileName.lastIndexOf("."); let index2 = fileName.length; let suffix = fileName.substring(index1, index2).toLowerCase(); //åŽç¼€å if (suffix == ".pdf" || suffix == ".png" || suffix == ".jpg") { var row = { fileid: fileid, filename: fileName } var config = { icon: "icon-product", text: "附件预览", id: "pdf_" + fileid, url: "../tool/popup_file_pdf.html", data: row, delta: {}, callback: function(obj, callback) { if (callback) { callback(); } } }; this.doPopupByPublic(config); return; } else { //åªå¯ä¸‹è½½ï¼Œä¸å¯é¢„览 handleDownload(fileid); } }, cellVisibleChange(obj) { let options_ = []; /* if (obj.field == "manager_part_code") { let param_ = { isClientMode: false, filter: "1 = 1 and parent_id = 'manager-part'", } Server.call("root/data/getEntitySet/dictitem", param_, function(result){ options_ = result.data.entityset; obj.options = options_; }); } else if (obj.field == "sales_type") { let param_ = { isClientMode: false, filter: "parent_id = 'sales_type'", } Server.call("root/data/getEntitySet/dictitem", param_, function(result){ options_ = result.data.entityset; obj.options = options_; }); } else*/ if (obj.field == "customer_consignee_address") { /* let param_ = { isClientMode: false, filter: "1 = 1 and customer_id = '" + this.formData.customer_id +"'", } Server.call("root/data/getEntitySet/customerConsigneeMapping", param_, function(result){ options_ = result.data.entityset; obj.options = options_; }); */ options_ = this.address; obj.options = options_; } }, formChange(obj) { this.selectFormField = obj.fieldobj; if (this.selectFormField.field == "amt_rebate") { if (!this.formData.customer_name) { Root.message({ type: 'warning', message: '请选择客户' }); return; } var data_ = obj.data; if (data_.amt_rebate > data_.rebate_available) { Root.message({ type: 'warning', message: '超出å¯ç”¨è¿”利' }); data_.amt_rebate = data_.rebate_available return; } } }, routnFixed(val, num) { return Math.round(Math.pow(10, num) * val) / Math.pow(10, num); } } }); </script> </body> </html>