From b5812cecf98745f4b36a8bf72ff082c3220ef1d6 Mon Sep 17 00:00:00 2001 From: zhangyanpeng <bob.zhang@highdatas.com> Date: 星期五, 02 八月 2024 14:32:07 +0800 Subject: [PATCH] Merge branch 'master' of http://highdatas.com:9000/r/promotion/promotion_html --- module/md/page/customer/page/customer_list_account.html | 22 css/myelement.css | 4 module/md/page/customer/page/customer_basic.html | 418 +++++ module/agreement/page/category_edit.html | 2 module/md/page/customer/page/404.html | 2564 +++++++++++++++++++++++++++++++++++++ module/md/page/customer/page/evaluation_management.html | 18 module/md/page/customer/page/customer_basic_acct.html | 281 +++- module/md/page/customer/page/evaluation_management_edit.html | 742 +++++++--- 8 files changed, 3,691 insertions(+), 360 deletions(-) diff --git a/css/myelement.css b/css/myelement.css index 2607b48..ecf9620 100644 --- a/css/myelement.css +++ b/css/myelement.css @@ -411,10 +411,10 @@ margin-bottom: 30px; } */ -.h_table .el-table__body-wrapper { +/* .h_table .el-table__body-wrapper { overflow-y: auto !important; overflow-x: auto !important; -} +} */ .h_form .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item { margin-bottom: 0px !important; diff --git a/module/agreement/page/category_edit.html b/module/agreement/page/category_edit.html index 1b0109a..aef6606 100644 --- a/module/agreement/page/category_edit.html +++ b/module/agreement/page/category_edit.html @@ -320,7 +320,7 @@ param.data[this.form_dataname] = entity; //param.data[this.table_dataname] = table_entityset; - Server.call("root/data/saveEntity", param, function(result) { + Server.call("root/data/saveEntity", param, function(result) { // console.log(result); if (result.success) { if(me.isCommit){ diff --git a/module/md/page/customer/page/404.html b/module/md/page/customer/page/404.html new file mode 100644 index 0000000..311cc90 --- /dev/null +++ b/module/md/page/customer/page/404.html @@ -0,0 +1,2564 @@ +<!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: "agm_agreement", + title: "鍗忚淇℃伅", + + formAttr: { + istitle: false, + title: "琛ㄥ崟鍚嶇О", + columnnumber: 4, + labelwidth: "100px", + labelposition: "left",//"left",// right//top + size: "mini", + border: "10px solid #c6c6c600" + }, + formFields: [], + newformData: { + // agreement_no: createCode("XY"), + state_code: "Input", + state_name: "褰曞叆", + is_generate: false, + // creator_id: + }, + formData: {}, + //瀛楁璁剧疆 + formfieldClick: {}, + + //鎸夐敭鏉冮檺璁剧疆 + isedit: false,//鎻愪氦鍓嶇紪杈戯紝淇濆瓨/鎻愪氦 + isrefuseedit: false,//鎷掔粷鍚庣紪杈戯紝淇濆瓨/鍐嶆鎻愪氦 + isapproval: false,//瀹℃壒锛屽悓鎰�/鎷掔粷/杞姙/閫�鍥� + iscommit: false,//鎻愪氦鏍囪 + loading_save: false, + + //瀹℃壒鐩稿叧鍙橀噺 + reasonvisible:false,//瀹℃壒閫氳繃鎴栨嫆缁濆~鍐欏師鍥� + approveremark: '',//濉啓鐞嗙敱 + passOrRefuse:false, + loading_pass: false, + + //楂樺害 + p_height: null, + + //寮圭獥鍙傛暟 + popupParames: {}, + + dataRequest: [ + { + name: "agm_category", // 鍗忚绫诲瀷涓嬫媺 + //url: "root/front/getOneDictionary", + //paramsobj: { code: "OrgType", }, + isnotoption: false, //true:涓嶆槸閫夐」 + code:"id",//鏄笅鎷夐�夐」鏃惰缃� + label:"name",//鏄笅鎷夐�夐」鏃惰缃� + }, + + { + name: "md_bu_product", // 浜у搧涓嬫媺椤� + dataname: "md_bu_product", + isnotoption: false, //true:涓嶆槸閫夐」 + code:"id",//鏄笅鎷夐�夐」鏃惰缃� + label:"product_name",//鏄笅鎷夐�夐」鏃惰缃� + filter: "", + orderby: "product_name" + }, + { + name: "md_geo_province", // 鐪佷唤涓嬫媺椤� + dataname: "md_geo_province", + isnotoption: false, //true:涓嶆槸閫夐」 + code:"name",//鏄笅鎷夐�夐」鏃惰缃� + label:"name",//鏄笅鎷夐�夐」鏃惰缃� + filter: "", + orderby: "name" + }, + ], + + copyAdd: false, + formDatas_old: [], + + isRefresh: true, + tabs: [ + {code: "tab1", name: "浜у搧/鍖哄煙", dataname: "", filterTxt: "", orderby: "", + tableFields: [ + {isshow: "T", field: "product_id", name: "浜у搧鑼冨洿", type: "cascader", options: [], props:{label: "value", value: "code", multiple: true}, colspan: 2, required: true}, + {isshow: "T", field: "province", name: "閿�鍞渷浠�", type: "cascader", options: [], props:{label: "value", value: "code", multiple: true}, colspan: 2}, + ], + formData: { + province: [], + product_id: [], + }, + formAttr: { + istitle: false, + title: "琛ㄥ崟鍚嶇О", + columnnumber: 2, + labelwidth: "100px", + labelposition: "left",//"left",// right//top + size: "mini", + border: "10px solid #c6c6c600", + disabled: false + }, + }, + // {code: "tab2", name: "绛剧害鍖婚櫌", dataname: "md_org_account_hospital", filterTxt: "1<>1", orderby: "", + // tableFields: [], + // tableData: [], + // tablefieldClick: {}, + // tablebuttonClick: {}, + // }, + {code: "tab3", name: "绛剧害鍖婚櫌", dataname: "md_target_dealer", filterTxt: "1<>1", orderby: "", + tableFields: [], + tableData: [], + tablefieldClick: {}, + tablebuttonClick: {}, + }, + // {code: "tab4", name: "浠锋牸鏀跨瓥", dataname: "md_prod_price_detail", filterTxt: "1<>1", orderby: "", + // tableFields: [], + // tableData: [], + // tablefieldClick: {}, + // tablebuttonClick: {}, + // }, + // {code: "tab6", name: "涔拌禒鏀跨瓥", dataname: "agm_record_gift", filterTxt: "1<>1", orderby: "", + // tableFields: [], + // tableData: [], + // tablefieldClick: {}, + // tablebuttonClick: {}, + // }, + // {code: "tab7", name: "鎶樻墸鏀跨瓥", dataname: "agm_record_rate", filterTxt: "1<>1", orderby: "", + // tableFields: [], + // tableData: [], + // tablefieldClick: {}, + // tablebuttonClick: {}, + // }, + // {code: "tab5", name: "闄勪欢", dataname: "md_sku", filterTxt: "1<>1", orderby: ""}, + + ], + activeTabName:"", + selectTabObj: {}, + TabObjMap: {}, + + productobj_map: {}, + md_bu_product_obj: {}, // 浜у搧鑼冨洿涓嬫媺 + options_tree_province: [], // 鍖哄煙鐪佷唤涓嬫媺 + + options_category: [], + options_categoryobj: {}, + options_template: [], + options_templateobj: {}, + + old_agm_record_product_obj: {}, + old_agm_record_province_obj: {}, + }, + created() { + 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.popupParames.delta || this.popupParames.delta.rows) { + this.formDatas_old = clone(this.popupParames.delta.rows); + // console.log(this.formDatas_old); + } + + if (this.popupParames.sceneCode) { + if (this.popupParames.sceneCode == "add") {//鏂板 + //鍔ㄦ�佽幏鍙栭粯璁ゆ暟鎹� + var newEntity_ = { + name: "newEntity", + url: "root/data/newEntity", + paramsobj: {dataname: this.dataname}, + isnotoption: true, //true:涓嶆槸閫夐」 + } + this.dataRequest.push(newEntity_); + this.isedit = true; + } + else if (this.popupParames.sceneCode == "browse") {//鍙 + this.formAttr.disabled = true; + this.tabs[0].formAttr.disabled = true; + } + else if (this.popupParames.sceneCode == "copyAdd") {//鍙 + this.copyAdd = true; + this.isedit = true; + } + else if (this.popupParames.sceneCode == "edit") {//缂栬緫 + this.isedit = true; + } + else if (this.popupParames.sceneCode == "change") {//鍙樻洿 + this.formAttr.disabled = true; + this.tabs[0].formAttr.disabled = true; + } + else if (this.popupParames.sceneCode == "approval") {//瀹℃壒 + this.formAttr.disabled = true; + this.isapproval = true; + this.tabs[0].formAttr.disabled = true; + } + else if (this.popupParames.sceneCode == "refuseedit") {//鎷掔粷鍚庣殑缂栬緫 + this.isrefuseedit = true; + } + } + }, + + mounted() { + this.activeTabName = "tab1"; + var me = this; + me.p_height = document.documentElement.clientHeight*1 - 91; + + //棰勫姞杞芥暟鎹� + if (this.dataRequest && this.dataRequest.length) { + var result = {}; + this.loadRequestData(this.dataRequest, result, function(data) { + me.dataRequestObj = data; + //棰勫姞杞芥暟鎹悗缁欏摢浜涘瓧娈佃缃畂ptions鎴杅ormatterjson + if (me.dataRequestObj.newEntity) { + var formData = clone(me.dataRequestObj.newEntity.data[me.dataname]); + // formData.product_category_name = []; + if (me.newformData) { + let formData_ = clone(formData); + + for (var k in me.newformData) { + if (!formData_[k]) { + formData_[k] = me.newformData[k]; + } + } + + me.formData = formData_; + } + } + + // 鍗忚绫诲瀷 + if (data.agm_category) { + data.agm_category.map(c=>{ + me.options_categoryobj[c.id] = c; + }) + + let agm_category_ = ArrayToTree(clone(data.agm_category), "name", "parent_id"); + me.options_category = agm_category_; + } + + // 浜у搧鑼冨洿涓嬫媺 + if (me.dataRequestObj.md_bu_product) { + var md_bu_product_array_ = clone(me.dataRequestObj.md_bu_product); + var md_bu_product_obj_ = {}; + var productobj_map_ = {}; + + md_bu_product_array_.map(p=>{ + if (!md_bu_product_obj_[p.bu_id]) { + md_bu_product_obj_[p.bu_id] = { + children: [], + } + } + var p_ = { + code: p.product_id, + value: p.product_name + } + productobj_map_[p.product_id] = p.product_name; + md_bu_product_obj_[p.bu_id].children.push(p_); + }) + me.md_bu_product_obj = clone(md_bu_product_obj_) + me.productobj_map = clone(productobj_map_); + } + + // 鍖哄煙鐪佷唤涓嬫媺 + if (me.dataRequestObj.md_geo_province) { + // var options_tree_province_ = listTOListGroup(me.dataRequestObj.md_geo_province, "area", "value"); + me.options_tree_province = clone(me.dataRequestObj.md_geo_province); + } + + // me.initData(); + }); + } + else { + // me.initData(); + } + + // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂� + }, + + 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(); + } + }, + + initData() { + let me = this; + var id_ = null; + if (this.formData.id) { + id_ = this.formData.id; + } + // this.selectTabObj = clone(this.TabObjMap[this.activeTabName]); + 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 formFields_ = []; + + metas.map(f=>{ + f.isshow = "T"; + if (f.field == "category_id") { + f.options = clone(me.options_category); + } + if (f.field == "agreement_no" || f.field == "logistics_code" || f.field == "template_attachment_name" || f.field == "contract_attachment_name") { + f.isshow = "F"; + } + + formFields_.push(clone(f)); + }) + + if (!me.formFields || (me.formFields && me.formFields.length == 0)) { + me.formFields = clone(formFields_); + + //瀛楁鏁扮粍杞瓧娈祇bj锛岀洰鐨勪负浜嗙瓫閫夋椂鑾峰彇瀛楁灞炴�� + me.fieldsToFieldsObj(); + } + + // 鍗忚绫诲瀷鐨勮祴鍊� + if (me.formData.category_id) { + me.formData.category_id_temp = clone(me.formData.category_id); + me.getParents(me.formData.category_id, me.options_categoryobj, [], function(parent_ids){ + me.formData.category_id = parent_ids; + me.$set(me.formData, "category_id", parent_ids); + }); + } + // 鍥炴寕闄勪欢鐨勮祴鍊� + if (me.rowData["agm_agreement_file"] && me.rowData["agm_agreement_file"].length) { + var comeback_attachment_name_ = [] + me.rowData["agm_agreement_file"].map(f=>{ + var f_ = { + id: f.id, + file_name: f.file_name + } + comeback_attachment_name_.push(f_); + }) + me.$set(me.formData, "comeback_attachment_name", comeback_attachment_name_); + } + + var formFields_ = clone(me.formFields); + formFields_.map(f=>{ + if (f.field == "template_attachment_name") { // 鑷姩鐢熸垚 + f.isshow = "F"; + if (me.rowData["agm_agreement"] && me.rowData["agm_agreement"].is_generate) { + f.isshow = "T"; + } + } + if (f.field == "contract_attachment_name") { // 鎵嬪伐涓婁紶 + f.isshow = "F"; + if (!me.rowData["agm_agreement"] || (me.rowData["agm_agreement"] && !me.rowData["agm_agreement"].is_generate)) { + f.isshow = "T"; + } + } + }) + me.formFields = clone(formFields_); + + + me.setTabObjMap(result.meta, me.rowData); + + } + }) + }, + + setTabObjMap(metas, datas) { + var me = this; + // tabs: [ + // {code: "tab1", name: "浜у搧/鍖哄煙", dataname: "md_sku", filterTxt: "1<>1", orderby: ""}, + // {code: "tab2", name: "鍖婚櫌鎺堟潈", dataname: "agm_authorization", filterTxt: "1<>1", orderby: ""}, + // {code: "tab3", name: "鎸囨爣", dataname: "md_target_dealer", filterTxt: "customer_id=''", orderby: ""}, + // {code: "tab4", name: "浠锋牸", dataname: "md_sku", filterTxt: "1<>1", orderby: ""}, + // // {code: "tab5", name: "闄勪欢", dataname: "md_sku", filterTxt: "1<>1", orderby: ""}, + // {code: "tab6", name: "鏀跨瓥", dataname: "agm_record", filterTxt: "1<>1", orderby: ""}, + // ], + this.tabs.map(tab=>{ + if (tab.code == "tab1") { + tab.tableFields.map(f=>{ + if (f.field == "product_id") { + if (me.formData.bu_id && me.md_bu_product_obj[me.formData.bu_id]) { + f.options = clone(me.md_bu_product_obj[me.formData.bu_id].children); + } + else { + f.options = []; + } + } + else if (f.field == "province") { + f.options = clone(me.options_tree_province); + } + }) + // agm_record_province + // agm_record_product + + if (datas["agm_record_product"]) { + var product_id_ = [] + me.old_agm_record_product_obj = {}; + datas["agm_record_product"].map(p=>{ + me.old_agm_record_product_obj[p.product_id] = p; + var select_p_ = [p.product_id]; + product_id_.push(select_p_); + }) + tab.formData.product_id = product_id_ + } + if (datas["agm_record_province"]) { + var province_id_ = [] + me.old_agm_record_province_obj = {}; + datas["agm_record_province"].map(p=>{ + me.old_agm_record_province_obj[p.province] = p; + var select_p_ = [p.province]; + province_id_.push(select_p_); + }) + tab.formData.province = province_id_; + } + } + else if (tab.code == "tab2" || tab.code == "tab3" || tab.code == "tab4" || tab.code == "tab6" || tab.code == "tab7") { + var metas_ = metas[tab.dataname].fields; + var tableFields_ = []; + metas_.map(f=>{ + f.isshow = "T"; + if (tab.code == "tab2") { + if (f.field == "md_hospital__code" || f.field == "md_hospital__name" || f.field == "hospital_code" || f.field == "hospital_name") { + f.isshow = "T"; + } + else { + f.isshow = "F"; + } + } + + if (f.field == "agreement_no" || f.field == "company_name" || f.field == "bu_name" || f.field == "state_name" + || f.field == "md_org__code" || f.field == "md_org__name" || f.field == "customer_code"|| f.field == "customer_name" + || f.field == "creator_name" || f.field == "create_time" || f.field == "update_time" + || f.field == "source" || f.field == "account_name" || f.field == "record_name" || f.field == "record_no") { + f.isshow = "F"; + } + if (me.isedit && (f.field == "date_from" || f.field == "date_to")) { + f.inputtype = "date"; + f.required = false; + f.width = "150"; + + } + else { + f.inputtype = "span"; + } + if (f.field == "category_id") { + f.options = clone(me.options_category); + } + + if (tab.code == "tab4" && f.field == "bu_name") { + f.isshow = "T"; + } + + tableFields_.push(clone(f)); + }) + tab.tableFields = clone(tableFields_); + tab.tableData = clone(datas[tab.dataname]); + } + + this.TabObjMap[tab.code] = clone(tab); + }) + // 璁剧疆瀛楁浜嬩欢 + this.tableFieldClick(); + // 琛ㄦ牸鎸夐敭浜嬩欢 + this.tableButtonClick(); + + this.selectTabObj = clone(this.TabObjMap[this.activeTabName]); + }, + + //鎷垮埌鎵�鏈夌殑鐖惰妭鐐筰d + getParents(id, treemap, list, callback) { + list.unshift(id); + if (treemap[id].parent_id) { + this.getParents(treemap[id].parent_id, treemap, list, callback) + } + else { + callback(list); + } + }, + + tableButtonClick() { + var me = this; + var tablebuttonClick = {}; + // 鎺堟潈鍖婚櫌 + tablebuttonClick.tab2 = [ + // { + // name: "鏂板", type: "primary", icon: "el-icon-plus", + // isbuttonshow: this.isedit, + // code: "add", isselected: false, classname: "", + // onclick: function(obj) { + // // obj.selectedList + // if (!me.formData.company_name) { + // Root.message({ + // type: 'warning', + // message: '璇峰厛閫夋嫨鍏徃' + // }); + // return + // } + // if (!me.formData.bu) { + // Root.message({ + // type: 'warning', + // message: '璇峰厛閫夋嫨BU' + // }); + // return + // } + + // me.openAccountHospital('addhospital', obj.selectedList[0]); + // } + // }, + { + isbuttonshow: this.isedit, + code: "add", isselected: false, classname: "", + onclick: function(obj) { + if (!me.formData.company_name) { + Root.message({ + type: 'warning', + message: '璇峰厛閫夋嫨鍏徃' + }); + return + } + if (!me.formData.bu_name) { + Root.message({ + type: 'warning', + message: '璇峰厛閫夋嫨BU' + }); + return + } + //鎵撳紑鍖婚櫌搴撳脊绐� + me.openHospital("add", obj, function(popupobj){ + let row_ = clone(me.formData); + var list_h = clone(popupobj.list) + + var tableData_ = clone(me.TabObjMap["tab2"].tableData); + list_h.map(h=>{ + var h_ = { + hospital_id: clone(h.hospital_id), + id: "", + agreement_id: me.formData.id, + // agreement_no: me.formData.agreement_no, // 淇濆瓨涓婄殑閮芥槸鍒濆缂栫爜0000锛� + account_id: me.formData.account_id, + + company_id: me.formData.company_id, + company_name: me.formData.company_name, + bu_id: me.formData.bu_id, + bu_name: me.formData.bu_name, + org_id: me.formData.customer_id, + md_org__name: me.formData.customer_name, + md_hospital__code: h.md_hospital__code, + md_hospital__name: h.md_hospital__name, + + hospital_code: h.md_hospital__code, + hospital_name: h.md_hospital__name, + } + + tableData_.unshift(clone(h_)); + }) + + me.TabObjMap["tab2"].tableData = clone(tableData_); + if (me.selectTabObj.code == "tab2") { + me.selectTabObj = clone(me.TabObjMap["tab2"]); + } + + }); + } + }, + + // { + // // name: "缂栬緫", // type: "primary", // icon: "el-icon-edit", + // isbuttonshow: this.isedit, + // code: "edit", isselected: true, classname: "", + // onclick: function(obj) { + // // obj.selectedList + // me.openAccountHospital('edithospital', obj.selectedList[0]); + // } + // }, + { + // 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.md_hospital__name); + + me.deleteDataById(row.id, me.selectTabObj.dataname, "銆�" + txt + "銆�", function() { + me.TabObjMap["tab2"].tableData.splice(obj.selectRowIndex, 1); + me.selectTabObj = clone(me.TabObjMap["tab2"]); + // me.getAccountHospitalByAgreementId(); + }) + } + }, + ] + // 鎸囨爣 + tablebuttonClick.tab3 = [ + { + // name: "鏂板", // type: "primary", // icon: "el-icon-edit", + isbuttonshow: this.isedit || me.popupParames.sceneCode == "change", + code: "add", isselected: false, classname: "", + onclick: function(obj) { + var options_product_ = []; + me.TabObjMap["tab1"].tableFields.map(f=>{ + if (f.field == "product_id") { + options_product_ = clone(f.options); + } + }) + // 鑾峰彇鎺堟潈浜у搧 + if (options_product_.length == 0) { + Root.message({ + type: 'warning', + message: '娌℃湁鎺堟潈浜у搧' + }); + return; + } + else { + me.openTargetDealer('addTarget', obj.selectedList[0], options_product_); + } + } + }, + { + // name: "缂栬緫", // type: "primary", // icon: "el-icon-edit", + isbuttonshow: this.isedit, + code: "edit", isselected: true, classname: "", + onclick: function(obj) { + // obj.selectedList + var options_product_ = []; + me.TabObjMap["tab1"].tableFields.map(f=>{ + if (f.field == "product_id") { + options_product_ = clone(f.options); + } + }) + // 鑾峰彇鎺堟潈浜у搧 + if (options_product_.length == 0) { + Root.message({ + type: 'warning', + message: '娌℃湁鎺堟潈浜у搧' + }); + return; + } + else { + me.openTargetDealer('editTarget', obj.selectedList[0], options_product_, obj.selectRowIndex); + } + } + }, + { + // 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, me.selectTabObj.dataname, "銆�" + txt + "銆�", function() { + me.TabObjMap["tab3"].tableData.splice(obj.selectRowIndex, 1); + // me.TabObjMap["tab3"].tableData.removeobj(row); + me.selectTabObj = clone(me.TabObjMap["tab3"]); + }) + } + }, + ] + // 浠锋牸鏀跨瓥 + tablebuttonClick.tab4 = [ + { + // name: "鏂板", // type: "primary", // icon: "el-icon-edit", + isbuttonshow: this.isedit, + code: "add", isselected: false, classname: "", + onclick: function(obj) { + var options_product_ = []; + + // 鑾峰彇鎺堟潈浜у搧 + if (me.TabObjMap["tab1"].formData.product_id.length == 0) { + Root.message({ + type: 'warning', + message: '璇峰厛璁剧疆銆愪骇鍝�/鍖哄煙銆戜腑鐨勪骇鍝佽寖鍥�' + }); + return; + } + else { + me.openPolicyList("add", "price", function(popupobj){ + // 鍒涘缓涓�涓柊鐨勪拱璧犲妗� root/data/newEntity + me.toSaveRecord("price", popupobj, function(newrow){ + var tableData_ = clone(me.TabObjMap["tab4"].tableData); + var formData_ = clone(me.formData); + if (newrow) { + newrow.type_code = 'Customer' + if (formData_.date_from) { + newrow.date_from = formData_.date_from + } + if (formData_.date_to) { + newrow.date_to = formData_.date_to + } + + tableData_.unshift(clone(newrow)); + } + + me.TabObjMap["tab4"].tableData = clone(tableData_); + if (me.selectTabObj.code == "tab4") { + me.selectTabObj = clone(me.TabObjMap["tab4"]); + } + }); + }); + } + } + }, + { + // 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, me.selectTabObj.dataname, "銆�" + txt + "銆�", function(){ + // me.getPolicyListByAgreementId("price"); + me.TabObjMap["tab4"].tableData.splice(obj.selectRowIndex, 1); + me.selectTabObj = clone(me.TabObjMap["tab4"]); + }) + } + }, + + + // { + // // name: "鏂板", // type: "primary", // icon: "el-icon-edit", + // isbuttonshow: this.isedit, + // code: "add", isselected: false, classname: "", + // onclick: function(obj) { + // var options_product_ = []; + + // // 鑾峰彇鎺堟潈浜у搧 + // if (me.TabObjMap["tab1"].formData.product_id.length == 0) { + // Root.message({ + // type: 'warning', + // message: '璇峰厛璁剧疆銆愪骇鍝�/鍖哄煙銆戜腑鐨勪骇鍝佽寖鍥�' + // }); + // return; + // } + // else { + // var product_ids_ = clone(me.TabObjMap["tab1"].formData.product_id); + // var product_line_obj_ = {}; + // product_ids_.map(pis=>{ + // if (!product_line_obj_[pis[0]]) { + // product_line_obj_[pis[0]] = { + // code: pis[0], + // value: me.productobj_map[pis[0]], + // children: [], + // } + // } + // var p_ = { + // code: pis[1], + // value: me.productobj_map[pis[1]] + // } + + // product_line_obj_[pis[0]].children.push(p_); + // }) + + // for (var line_ in product_line_obj_) { + // options_product_.push(product_line_obj_[line_]); + // } + // me.openPriceDetail('addbyagreement', obj.selectedList[0], options_product_); + // } + // } + // }, + // { + // // name: "缂栬緫", // type: "primary", // icon: "el-icon-edit", + // isbuttonshow: this.isedit, + // code: "edit", isselected: true, classname: "", + // onclick: function(obj) { + // // obj.selectedList + // var options_product_ = []; + + // // 鑾峰彇鎺堟潈浜у搧 + // if (me.TabObjMap["tab1"].formData.product_id.length == 0) { + // Root.message({ + // type: 'warning', + // message: '璇峰厛璁剧疆銆愪骇鍝�/鍖哄煙銆戜腑鐨勪骇鍝佽寖鍥�' + // }); + // return; + // } + // else { + // me.openPriceDetail('editbyagreement', obj.selectedList[0], options_product_); + // } + // } + // }, + // { + // // 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, me.selectTabObj.dataname, "銆�" + txt + "銆�", function(){ + // me.getProdPriceByAgreementId(); + // }) + // } + // }, + ] + // 涔拌禒鏀跨瓥 + tablebuttonClick.tab6 = [ + { + // name: "鏂板", // type: "primary", // icon: "el-icon-edit", + isbuttonshow: this.isedit, + code: "add", isselected: false, classname: "", + onclick: function(obj) { + var options_product_ = []; + + // 鑾峰彇鎺堟潈浜у搧 + if (me.TabObjMap["tab1"].formData.product_id.length == 0) { + Root.message({ + type: 'warning', + message: '璇峰厛璁剧疆銆愪骇鍝�/鍖哄煙銆戜腑鐨勪骇鍝佽寖鍥�' + }); + return; + } + else { + me.openPolicyList("add", "gift", function(popupobj){ + // 鍒涘缓涓�涓柊鐨勪拱璧犲妗� root/data/newEntity + me.toSaveRecord("gift", popupobj, function(newrow){ + var tableData_ = clone(me.TabObjMap["tab6"].tableData); + var formData_ = clone(me.formData); + if (newrow) { + if (formData_.date_from) { + newrow.date_from = formData_.date_from + } + if (formData_.date_to) { + newrow.date_to = formData_.date_to + } + + tableData_.unshift(clone(newrow)); + } + + me.TabObjMap["tab6"].tableData = clone(tableData_); + if (me.selectTabObj.code == "tab6") { + me.selectTabObj = clone(me.TabObjMap["tab6"]); + } + }); + }); + } + } + }, + { + // 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.policy_no) + clone(row.policy_name) + clone(row.product_name); + me.deleteDataById(row.id, me.selectTabObj.dataname, "銆�" + txt + "銆�", function(){ + // me.getPolicyListByAgreementId("gift"); + me.TabObjMap["tab6"].tableData.splice(obj.selectRowIndex, 1); + me.selectTabObj = clone(me.TabObjMap["tab6"]); + }) + } + }, + ] + + // 鎶樻墸鏀跨瓥 + tablebuttonClick.tab7 = [ + { + // name: "鏂板", // type: "primary", // icon: "el-icon-edit", + isbuttonshow: this.isedit, + code: "add", isselected: false, classname: "", + onclick: function(obj) { + var options_product_ = []; + + // 鑾峰彇鎺堟潈浜у搧 + if (me.TabObjMap["tab1"].formData.product_id.length == 0) { + Root.message({ + type: 'warning', + message: '璇峰厛璁剧疆銆愪骇鍝�/鍖哄煙銆戜腑鐨勪骇鍝佽寖鍥�' + }); + return; + } + else { + me.openPolicyList("add", "rate", function(popupobj){ + me.toSaveRecord("rate", popupobj, function(newrow){ + var tableData_ = clone(me.TabObjMap["tab7"].tableData); + var formData_ = clone(me.formData); + if (newrow) { + if (formData_.date_from) { + newrow.date_from = formData_.date_from + } + if (formData_.date_to) { + newrow.date_to = formData_.date_to + } + tableData_.unshift(clone(newrow)); + } + + me.TabObjMap["tab7"].tableData = clone(tableData_); + if (me.selectTabObj.code == "tab7") { + me.selectTabObj = clone(me.TabObjMap["tab7"]); + } + }); + }); + } + } + }, + { + // 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.policy_no) + clone(row.policy_name) + clone(row.discount_name); + me.deleteDataById(row.id, me.selectTabObj.dataname, "銆�" + txt + "銆�", function(){ + // me.getPolicyListByAgreementId("rate"); + me.TabObjMap["tab7"].tableData.splice(obj.selectRowIndex, 1); + me.selectTabObj = clone(me.TabObjMap["tab7"]); + }) + } + }, + ] + + for (var tabcode in this.TabObjMap) { + if (tablebuttonClick[tabcode]) { + this.TabObjMap[tabcode].tablebuttonClick = tablebuttonClick[tabcode]; + } + else { + this.TabObjMap[tabcode].tablebuttonClick = []; + } + } + }, + + toSaveRecord(typecode, policyobj, callback) { + var me = this; + var newdataname = "agm_record" + if (typecode == "price") { + newdataname = "md_prod_price_detail" + } + var newEntityParam = { + dataname: newdataname + } + Server.call("root/data/newEntity", newEntityParam, function(result) { + var newdata = clone(result.data[newdataname]); + + let formData_ = clone(me.formData); + let row_ = clone(policyobj.row); + for (var k in newdata) { + if (k != "id" && row_[k]) { + if (k == "policy_name") { + newdata["discount_name"] = row_[k]; + } + + newdata[k] = row_[k]; + } + } + + // newdata.policy_id = clone(row_.id); + newdata.record_id = clone(row_.id); + newdata.record_name = clone(row_.policy_name); + + newdata.agreement_id = formData_.id; + newdata.agreement_no = formData_.agreement_no; + newdata.company_name = formData_.company_name; + newdata.bu_name = formData_.bu_name; + + newdata.account_id = formData_.account_id; + newdata.org_id = formData_.customer_id; + // newdata.account_code = formData_.customer_code; + newdata.account_code = formData_.customer_code; + newdata.account_name = formData_.customer_name; + + newdata.state_code = "Input" + newdata.state_name = "褰曞叆" + newdata.date_from = "" + newdata.date_to = "" + newdata.source = "鍗忚鍒嗚В" + + newdata.company_id = me.formData.company_id + newdata.bu_id = me.formData.bu_id + callback(newdata); + // 淇濆瓨鍒板妗� + // let param = { + // dataname: me.selectTabObj.dataname, + // data: {} + // } + // param.data[me.selectTabObj.dataname] = newdata + // Server.call("root/data/saveEntity", param, function(result) { + // me.getPolicyListByAgreementId(typecode); + // }); + }); + }, + + openHospital(sceneCode, obj, callback) { + var me = this; + var data_ = {}; + var config = { + totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮� + width: "800px", + height: "520px", + icon: "icon-product", + text: "鍖婚櫌閫夋嫨", + id: "popup_hospitalToList",//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈� + url: "module/md/page/popup/page/popup_hospitalToList.html", + data: data_, + delta: {}, + // filter: "org_id='"+ me.selectedrow.org_id + "' and bu_id='" + me.selectedrow.bu_id + "'", + filter: "", + sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse", + callback: function(popupobj, popupcallback) { + callback(popupobj); + if (popupcallback) { + popupcallback(); + } + } + }; + me.doPopupByPublic(config); + }, + + openAccountHospital(sceneCode, seletrow) { + let me = this; + var row = {} + if (sceneCode == "addhospital") { + row = { + agreement_id: me.formData.id, + agreement_no: me.formData.agreement_no, + account_id: me.formData.account_id, + + company_id: me.formData.company_id, + company_name: me.formData.company_name, + bu_id: me.formData.bu_id, + bu_name: me.formData.bu_name, + org_id: me.formData.customer_id, + md_org__name: me.formData.customer_name, + } + } + else if (sceneCode == "edithospital" || sceneCode == "browse") { + row = seletrow; + if(!row.id){ + Root.message({ + type: 'warning', + message: '璇烽�夋嫨涓�鏉℃暟鎹�' + }); + return; + } + } + + var config = { + totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮� + width: "1100px", + height: "520px", + icon: "icon-product", + text: "鎺堟潈鍖婚櫌 " + (row.md_hospital__name ? row.md_hospital__name : ""), + id: "customer_basic_acct_yysq" + row.id + sceneCode,//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈� + url: "module/md/page/customer/page/customer_basic_acct_yysq.html", + data: row, + delta: {}, + sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse", + callback: function(obj, callback) { + me.getAccountHospitalByAgreementId(); + if (callback) { + callback(); + } + } + }; + me.doPopupByPublic(config); + }, + + openTargetDealer(sceneCode, obj, options_product_, selectRowIndex) { + let me = this; + var row = {}; + // 骞翠唤+鍏徃+BU+缁忛攢鍟� + var text_ = ""; + if(this.formData.company_name && this.formData.bu_name && this.formData.customer_name) { + text_ = this.formData.company_name + "銆�" + this.formData.bu_name + "銆�" + this.formData.customer_name; + } + else { + Root.message({ + type: 'warning', + message: '璇峰厛閫夋嫨缁忛攢鍟�' + }); + return; + } + if (sceneCode == "editTarget" || sceneCode == "browse") { + row = clone(obj); + if(!row.id){ + Root.message({ + type: 'warning', + message: '璇烽�夋嫨涓�鏉℃暟鎹�' + }); + return; + } + } + + var config = { + totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮� + width: "1100px", + height: "520px", + icon: "icon-product", + text: "鍟嗕笟鎸囨爣-" + text_, + id: "popup_target_dealer_edit",//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈� + url: "module/md/page/popup/page/popup_target_dealer_edit.html", + data: row, + delta: { + agreementdata: this.formData, + options_product: options_product_, + productobj_map: clone(me.productobj_map) + }, + sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse", + callback: function(popupobj, callback) { + var tableData_ = clone(me.TabObjMap["tab3"].tableData); + if (sceneCode == "addTarget" && popupobj.row) { + tableData_.unshift(clone(popupobj.row)); + } + else if (sceneCode == "editTarget" && popupobj.row) { + tableData_[selectRowIndex] = clone(popupobj.row); + } + + me.TabObjMap["tab3"].tableData = clone(tableData_); + if (me.selectTabObj.code == "tab3") { + me.selectTabObj = clone(me.TabObjMap["tab3"]); + } + + // me.getTargetDealerByAgreementId(); + if (callback) { + callback(); + } + } + }; + me.doPopupByPublic(config); + }, + + // openPriceDetail(sceneCode, obj, options_product_) { + // let me = this; + // var row = {}; + // var text = ""; + + // if (!me.formData.customer_id) { + // Root.message({ + // type: 'warning', + // message: '璇烽�夋嫨缁忛攢鍟�' + // }); + // return; + // } + + // // type_code: "", // Standard鏍囧噯浠风洰琛ㄣ�丆ustomer缁忛攢鍟嗕环鐩〃 + // if (sceneCode == "addbyagreement") { + // row = { + // source: "鍗忚鍒嗚В", + // agreement_id: me.formData.id, + // agreement_no: me.formData.agreement_no, + // company_id: me.formData.company_id, + // company_name: me.formData.company_name, + // bu_id: me.formData.bu_id, + // bu_name: me.formData.bu_name, + + // account_id: me.formData.account_id, + // customer_id: me.formData.customer_id, + // customer_code: me.formData.customer_code, + // customer_name: me.formData.customer_name, + // }; + // } + // else if (sceneCode == "editbyagreement" || sceneCode == "browse") { + // row = obj; + // if(!row){ + // Root.message({ + // type: 'warning', + // message: '璇烽�夋嫨涓�鏉℃暟鎹�' + // }); + // return; + // } + + // if (row.customer_name) { + // text = row.customer_name; + // } + // if (row.product_name) { + // text += "銆�" + row.product_name + "銆�"; + // } + // if (row.spec) { + // text += row.spec; + // } + + // if (text) { + // text = "-" + text; + // } + // } + + // var config = { + // totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮� + // width: "1100px", + // height: "520px", + // icon: "icon-product", + // text: "鍗忚浠锋牸" + text, + // id: "price_list_basic_edit" + row.id + sceneCode,//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈� + // url: "module/md/page/product/page/price_list_basic_edit.html", + // data: row, + // delta: { + // agreementdata: this.formData, + // options_product: options_product_, + // productobj_map: clone(me.productobj_map) + // }, + // sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse", + // callback: function(obj, callback) { + // me.getProdPriceByAgreementId(); + // if (callback) { + // callback(); + // } + // } + // }; + // me.doPopupByPublic(config); + // }, + + openPolicyList(sceneCode, typecode, callback) { + var me = this; + var data_ = {}; + var text_ = me.selectTabObj.name + var dataname = "agm_policy_gift"; + if (typecode == "rate") { + dataname = "agm_policy_rate" + } + else if (typecode == "price") { + dataname = "agm_policy_price" + } + var config = { + totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮� + width: "1100px", + height: "520px", + icon: "icon-product", + text: text_ + "閫夋嫨", + id: "popup_policy",//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈� + url: "module/md/page/popup/page/popup_policy.html", + dataname: dataname, + data: data_, + delta: {}, + // filter: "org_id='"+ me.selectedrow.org_id + "' and bu_id='" + me.selectedrow.bu_id + "'", + filter: "agm_policy.state_code='Open' and agm_policy.type_code='" + typecode + "'", + sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse", + callback: function(popupobj, popupcallback) { + callback(popupobj) + + if (popupcallback) { + popupcallback(); + } + } + }; + me.doPopupByPublic(config); + }, + + tableFieldClick() { + var me = this; + //琛ㄥ崟瀛楁浜嬩欢璁剧疆 + this.formfieldClick = { + is_generate: { + val: { + onchange: function(obj) { + var formFields_ = clone(me.formFields); + formFields_.map(f=>{ + if (f.field == "template_attachment_name") { // 鑷姩鐢熸垚 + f.isshow = "F"; + if (me.formData["is_generate"]) { + f.isshow = "T"; + } + } + if (f.field == "contract_attachment_name") { // 鎵嬪伐涓婁紶 + f.isshow = "F"; + if (!me.formData["is_generate"]) { + f.isshow = "T"; + } + } + }) + me.formFields = clone(formFields_); + } + } + }, + + contract_attachment_name: { + buttonarray: { + onclick: function(obj) { + var filenamefield = obj.obj.field; + var fileidfield = "contract_attachment_id"; + // 鍗曢檮浠� + if(obj.buttonobj && obj.buttonobj.code == "showfile"){ + me.showFileImgByFileId(filenamefield, fileidfield, me.dataname); + }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); + } + + // 澶氶檮浠� + // 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, "agm_agreement", obj.formdata); + // }else if (obj.buttonobj && obj.buttonobj.code == "delfilebyfile"){ + // me.deleteByFileId_n(filenamefield, obj.buttonobj.fileobj, obj.formdata); + // } + }, + } + }, + category_id:{ + val: { + onchange: function(obj) { + let row_ = clone(me.formData); + if (Array.isArray(row_.category_id)) { + row_.category_id_temp = row_.category_id[row_.category_id.length - 1]; + var selectoption = me.options_categoryobj[row_.category_id_temp]; + row_.category_name = selectoption.name; + // 鑾峰彇鍗忚绫诲瀷瀵瑰簲鐨勬ā鏉� + me.getTemplateByCategoryId(selectoption.id); + } + + me.formData = clone(row_); + } + } + }, + // template_id:{ + // val: { + // onchange: function(obj) { + // let row_ = clone(me.formData); + // if (Array.isArray(row_.template_id)) { + // row_.template_id_temp = row_.template_id[row_.template_id.length - 1]; + // var selectoption = me.options_templateobj[row_.template_id_temp]; + + // row_.template_name = selectoption.name; + // row_.template_attachment_id = selectoption.template_attachment_id; + // row_.template_attachment_name = selectoption.template_attachment; + // } + // me.formData = clone(row_); + // } + // } + // }, + customer_name: { + popup: { + onclick: function(obj) {//寮圭獥鐐瑰嚮浜嬩欢 + //鎵撳紑寮�鎴峰簱寮圭獥 + me.openAccount("add", obj, function(popupobj){ + let row_ = clone(me.formData); + row_.customer_id = popupobj.row.org_id; + row_.company_id = popupobj.row.company_id; + row_.company_name = popupobj.row.company_name; + row_.bu_id = popupobj.row.bu_id; + row_.bu_name = popupobj.row.bu_name; + row_.customer_code = popupobj.row.code; + row_.customer_name = popupobj.row.account_name; + row_.account_id = popupobj.row.id; + row_.account_actor_name = popupobj.row.actor_name; + me.formData = clone(row_); + + me.getAccountPByAccountId(popupobj.row.id); + me.getAccountHospitalByAgreementId(); + + }); + } + }, + }, + + comeback_attachment_name: { + buttonarray: { + onclick: function(obj) { + var filenamefield = obj.obj.field; + // var fileidfield = "comeback_attachment_name"; + var fileidfield = "comeback_attachment_id"; + // 鍗曢檮浠� + if(obj.buttonobj && obj.buttonobj.code == "showfile"){ + me.showFileImgByFileId(filenamefield, fileidfield, me.dataname); + }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); + } + + // 澶氶檮浠� + // 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, "agm_agreement", obj.formdata); + // }else if (obj.buttonobj && obj.buttonobj.code == "delfilebyfile"){ + // me.deleteByFileId_n(filenamefield, obj.buttonobj.fileobj, obj.formdata); + // } + }, + + } + }, + + + template_attachment_name: {//瀛楁浜嬩欢璁剧疆 + buttonarray: { + onclick: function(obj) { + var filenamefield = obj.obj.field; + // var fileidfield = "template_attachment_id"; + var fileidfield = "template_attachment_name"; + if(obj.buttonobj && obj.buttonobj.code == "showfile"){ + me.showFileImgByFileId(filenamefield, fileidfield, "agm_template"); + } + } + }, + }, + + date_from: {//璧峰鏃ユ湡 + val: { + onchange: function(obj) { + //寮�濮嬫棩鏈熻鏃╀簬鎴鏃ユ湡 + if (obj.data.date_from && obj.data.date_to) { + if (new Date(obj.data.date_from) > new Date(obj.data.date_to)) { + Root.message({ + type: 'warning', + message: '璧峰鏃ユ湡涓嶈兘鏅氫簬缁堟鏃ユ湡' + }); + obj.data.date_from = null; + } + } + } + } + }, + + date_to: {//缁堟鏃ユ湡 + val: { + onchange: function(obj) { + //鎴鏃ユ湡瑕佹櫄浜庡紑濮嬫棩鏈� + if (obj.data.date_from && obj.data.date_to) { + if (new Date(obj.data.date_from) > new Date(obj.data.date_to)) { + Root.message({ + type: 'warning', + message: '缁堟鏃ユ湡涓嶈兘鏃╀簬璧峰鏃ユ湡' + }); + obj.data.date_to = null; + } + } + } + } + }, + }; + + var formfieldClick_tab5 = { + field_fj: { //瀛楁浜嬩欢璁剧疆 + buttonarray: { + onclick: function(obj) { + if(obj.buttonobj && obj.buttonobj.fileobj){ + me.showFileImgByFileId(obj.buttonobj.fileobj.file_name, obj.buttonobj.fileobj.id); + } + } + }, + }, + }; + + this.TabObjMap["tab1"].formfieldClick = { + product_id: { + val: { + onchange:function(){ + me.TabObjMap["tab1"].formData = me.selectTabObj.formData + } + } + }, + province: { + val: { + onchange:function(){ + me.TabObjMap["tab1"].formData = me.selectTabObj.formData + } + } + } + }; + + // this.TabObjMap["tab5"].formfieldClick = formfieldClick_tab5; + }, + + 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: '宸插彇娑堝垹闄�' + }); + }); + + }, + + + // 鑾峰彇鎺堟潈鐪佷唤鍜屾巿鏉冧骇鍝侊紝鏍规嵁寮�鎴穒d + getAccountPByAccountId(account_id) { + var me = this; + me.TabObjMap["tab1"].tableFields.map(f=>{ + if (f.field == "product_id") { + if (me.formData.bu_id && me.md_bu_product_obj[me.formData.bu_id]) { + f.options = clone(me.md_bu_product_obj[me.formData.bu_id].children); + } + else { + f.options = []; + } + // f.options = clone(md_bu_product_line_array_); + } + else if (f.field == "province") { + f.options = clone(me.options_tree_province); + } + }) + + if (me.selectTabObj.code == "tab1") { + me.selectTabObj = clone(me.TabObjMap["tab1"]); + } + + // var me = this; + // let param_table = { + // isClientMode: false, + // dataname: "md_org_account", + // id: account_id, + + // } + // Server.call("root/data/getEntity", param_table, function(result) { + // var a = ""; + // if (result.data) { + // var rowData_ = clone(result.data); + // // var md_bu_product_line_array_ = []; + // // var options_tree_province = []; + // // if (rowData_["md_org_account_product"]) { + // // var md_bu_product_array_ = clone(rowData_["md_org_account_product"]); + // // var md_bu_product_line_obj_ = {}; + // // var md_bu_product_obj_ = {}; + // // var productobj_map_ = {}; + + // // md_bu_product_array_.map(p=>{ + // // if (!md_bu_product_line_obj_[p.product_line_id]) { + // // productobj_map_[p.product_line_id] = p.product_line_name; + // // md_bu_product_line_obj_[p.product_line_id] = { + // // code: p.product_line_id, + // // value: p.product_line_name, + // // bu_id: p.bu_id, + // // children: [], + // // } + // // } + // // var p_ = { + // // code: p.product_id, + // // value: p.product_name + // // } + // // productobj_map_[p.product_id] = p.product_name; + // // md_bu_product_line_obj_[p.product_line_id].children.push(p_); + // // }) + + // // me.productobj_map = clone(productobj_map_); + + // // for (var line in md_bu_product_line_obj_) { + // // md_bu_product_line_array_.push(md_bu_product_line_obj_[line]); + // // } + // // // me.md_bu_product_obj = clone(md_bu_product_obj_); + // // } + + // // if (rowData_["md_org_account_province"]) { + // // var province_ = rowData_["md_org_account_province"]; + // // province_.map(p=>{ + // // p.value = p.province; + // // p.code = p.province; + // // }) + // // var options_tree_province_ = listTOListGroup(province_, "area", "value"); + // // options_tree_province = options_tree_province_; + // // } + + // // me.TabObjMap["tab1"].tableFields.map(f=>{ + // // if (f.field == "product_id") { + // // if (me.formData.bu_id) { + // // mp.options = clone(me.md_bu_product_obj[me.formData.bu_id]); + // // } + // // else { + // // mp.options = []; + // // } + // // // f.options = clone(md_bu_product_line_array_); + // // } + // // else if (f.field == "province") { + // // f.options = clone(me.options_tree_province); + // // } + // // }) + + // // if (me.selectTabObj.code == "tab1") { + // // me.selectTabObj = clone(me.TabObjMap["tab1"]); + // // } + // } + + // }) + }, + // 鑾峰彇鎺堟潈鍖婚櫌锛屾牴鎹崗璁甶d + getAccountHospitalByAgreementId() { + var me = this; + let param_table = { + isClientMode: false, + dataname: "md_org_account_hospital", + filter: "agreement_id='" + me.formData.id + "'", + } + Server.call("root/data/getEntitySet", param_table, function(result) { + if (result.data.entityset) { + me.TabObjMap["tab2"].tableData = clone(result.data.entityset); + if (me.selectTabObj.code == "tab2") { + me.selectTabObj = clone(me.TabObjMap["tab2"]); + } + } + }) + }, + getTargetDealerByAgreementId() { + var me = this; + let param_table = { + isClientMode: false, + dataname: "md_target_dealer", + filter: "agreement_id='" + me.formData.id + "'", + } + Server.call("root/data/getEntitySet", param_table, function(result) { + if (result.data.entityset) { + me.TabObjMap["tab3"].tableData = clone(result.data.entityset); + if (me.selectTabObj.code == "tab3") { + me.selectTabObj = clone(me.TabObjMap["tab3"]); + } + } + }) + }, + + // 鑾峰彇浠锋牸鍒楄〃锛屾牴鎹崗璁甶d + getProdPriceByAgreementId() { + var me = this; + let param_table = { + isClientMode: false, + dataname: "md_prod_price_detail", + filter: "agreement_id='" + me.formData.id + "'", + } + Server.call("root/data/getEntitySet", param_table, function(result) { + if (result.data.entityset) { + me.TabObjMap["tab4"].tableData = clone(result.data.entityset); + if (me.selectTabObj.code == "tab4") { + me.selectTabObj = clone(me.TabObjMap["tab4"]); + } + } + }) + }, + + getPolicyListByAgreementId(typecode) { + var me = this; + var tabname = "tab6"; + var dataname = "agm_record_gift"; // 涔拌禒鏀跨瓥 + if (typecode == "rate") { + dataname = "agm_record_rate" // 鎶樻墸鏀跨瓥 + tabname = "tab7" + } + if (typecode == "price") { + dataname = "md_prod_price_detail" // 浠锋牸鏀跨瓥 + tabname = "tab4" + } + + let param_table = { + isClientMode: false, + dataname: dataname, + filter: "agreement_id='" + me.formData.id + "'", + } + Server.call("root/data/getEntitySet", param_table, function(result) { + if (result.data.entityset) { + me.TabObjMap[tabname].tableData = clone(result.data.entityset); + if (me.selectTabObj.code == tabname) { + me.selectTabObj = clone(me.TabObjMap[tabname]); + } + } + }) + }, + + // 鑾峰彇鍗忚妯℃澘鍙婃ā鏉块檮浠讹紝鏍规嵁鍗忚绫诲瀷 + getTemplateByCategoryId(category_id) { + var me = this; + let param_table = { + isClientMode: false, + dataname: "agm_template", + filter: "category_id='" + category_id + "'", + + } + Server.call("root/data/getEntitySet", param_table, function(result) { + if (result.data.entityset) { + var template_list_ = clone(result.data.entityset); + template_list_.map(t=>{ + if (t.template_type_code == "main_template") { // 涓绘ā鏉� + var formData_ = clone(me.formData); + formData_.template_id = t.id; + formData_.template_name = t.name; + formData_.template_attachment_id = t.template_attachment_id; + formData_.template_attachment_name = t.template_attachment; + me.formData = clone(formData_); + } + else { // 闄勫綍妯℃澘 + + } + }) + } + }) + }, + openAccount(sceneCode, obj, callback) { + var me = this; + var data_ = {}; + var config = { + totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮� + 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); + }, + showFileImgByFileId_n(filenamefield, fileobj, objformdata){ + let me = this; + var formData_ = clone(me.selectTabObj.formData); + var file_id = ""; + var file_name = ""; + var dataname_ = ""; + if(filenamefield == "contract_attachment_name"){ + file_id = fileobj.id; + file_name = fileobj.file_name + dataname_ = "agm_agreement" + } + + 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 formData_ = clone(me.selectTabObj.formData); + var delta_ = {filetypelist: [".png", ".jpg",".pdf"]}; //, ".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' + }); + console.log('闄勪欢淇℃伅',obj) + if(filenamefield == "contract_attachment_name"){ + var f_ = { + id: obj.row[0].id, + file_name: decodeURI(obj.row[0].name) + } + if (!objformdata[filenamefield]) { + objformdata[filenamefield] = [] + } + objformdata[filenamefield].push(f_); + // objformdata[filenamefield] = decodeURI(obj.row[0].name); + // objformdata[fileidfield] = obj.row[0].id; + if (!objformdata.id) { + objformdata.id = obj.row[0].sender_id; + } + } + if (!objformdata) { + me.selectTabObj.formData = formData_; + } + 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: "agm_agreement_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: '宸插彇娑堝垹闄�' + }); + }); + + }, + + showFileImgByFileId(filenamefield, fileidfield, dataname) { + let me = this; + var formData_ = clone(me.formData); + var file_name = formData_[filenamefield]; + var file_id = 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: dataname + } + + var config = { + totab: false, + width: "1000px", + 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(filenamefield, fileidfield,dataname) { + var me = this; + var analysistype_ = ""; + var formData_ = clone(me.formData); + var delta_ = {filetypelist: []}//".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); + }, + 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: "agm_agreement_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: '宸插彇娑堝垹闄�' + }); + }); + + }, + //鎻愪氦 + submitRowTable() { + this.iscommit = true; + //蹇呭~椤规牎楠� + var bo1 = this.$refs.form1.checkForm(); + if(!bo1){ + Root.message({ + type: 'error', + message: '璇峰~鍐欏繀濉」' + }); + this.iscommit = false; + return; + } + this.saveRowTable(); + }, + + //淇濆瓨 + saveRowTable() { + var me = this; + var operator_ = "saveEntity";//淇濆瓨 + me.loading_save = true; + if(me.iscommit) { + operator_ = "commit";//鎻愪氦 + } + + var entity_ = clone(me.formData); + + if (me.copyAdd) { + var entitys = clone(me.formDatas_old); + var entity = []; + entitys.map(es => { + for (var f in es) { + if (f == "id") { + es.source_id = es[f]; + } + if (f == "agreement_no" || f == "comeback_attachment_id" || f == "comeback_attachment_name" || f == "state_detail_code" || f == "state_detail_name" || f == "id" || f == "creator_id" || f == "creator_name" || f == "create_time" || f == "update_time") { + es[f] = ""; + } + if (f == "state_code") { + es[f] = "Input"; + } + if (f == "state_name") { + es[f] = "褰曞叆"; + } + if (f == "category_id" || f == "category_name" || f == "date_from" || f == "date_to" || f == "remark" || f == "template_attachment_id" || f == "template_attachment_name" || f == "template_id" || f == "template_name") { + es[f] = entity_[f]; + } + } + entity.push(es); + }) + } + else { + var entity = {}; + for (var r in entity_) { + if (r == "category_id" && entity_["category_id_temp"]) { + entity[r] = entity_["category_id_temp"]; + } + else if (r == "template_id" && entity_["template_id_temp"]) { + entity[r] = entity_["template_id_temp"]; + } + else if (r == "comeback_attachment_name") { + + } + else if (entity_[r] || entity_[r] == "" || entity_[r] == false || entity_[r] == 0) { + entity[r] = entity_[r]; + } + } + } + + var productlist_ = []; + var provincelist_ = []; + var account_hospital_ = []; + var target_dealer_ = []; + var price_policy_ = []; + var gift_policy_ = []; + var rate_policy_ = []; + + if (me.TabObjMap["tab1"].formData.product_id.length) { + var product_ids = clone(me.TabObjMap["tab1"].formData.product_id); + product_ids.map(pids=>{ + var p_ = { + agreement_id: me.formData.id, + agreement_no: me.formData.agreement_no, + company_name: me.formData.company_name, + bu_name: me.formData.bu_name, + company_id: me.formData.company_id, + bu_id: me.formData.bu_id, + + + account_id: me.formData.account_id, + customer_id: me.formData.customer_id, + customer_code: me.formData.customer_code, + customer_name: me.formData.customer_name, + source: "鍗忚鍒嗚В", + + product_id: pids[0], + product_name: me.productobj_map[pids[0]] + } + if (me.old_agm_record_product_obj[pids[0]]) { + p_.id = me.old_agm_record_product_obj[pids[0]].id + } + productlist_.push(p_) + }) + } + if (me.TabObjMap["tab1"].formData.province.length) { + var provinces = clone(me.TabObjMap["tab1"].formData.province); + provinces.map(ps=>{ + var p_ = { + agreement_id: me.formData.id, + agreement_no: me.formData.agreement_no, + company_name: me.formData.company_name, + bu_name: me.formData.bu_name, + company_id: me.formData.company_id, + bu_id: me.formData.bu_id, + + account_id: me.formData.account_id, + customer_id: me.formData.customer_id, + customer_code: me.formData.customer_code, + customer_name: me.formData.customer_name, + source: "鍗忚鍒嗚В", + + // area: ps[0], + province: ps[0], + } + if (me.old_agm_record_province_obj[ps[0]]) { + p_.id = me.old_agm_record_province_obj[ps[0]].id + } + provincelist_.push(p_) + }) + } + + if (me.TabObjMap["tab2"].tableData.length) { + account_hospital_ = clone(me.TabObjMap["tab2"].tableData); + } + + if (me.TabObjMap["tab3"].tableData.length) { + target_dealer_ = clone(me.TabObjMap["tab3"].tableData); + } + + if (me.TabObjMap["tab4"].tableData.length) { + price_policy_ = clone(me.TabObjMap["tab4"].tableData); + } + if (me.TabObjMap["tab6"].tableData.length) { + gift_policy_ = clone(me.TabObjMap["tab6"].tableData); + } + if (me.TabObjMap["tab7"].tableData.length) { + rate_policy_ = clone(me.TabObjMap["tab7"].tableData); + } + + let param = { + dataname: me.dataname, + data: {}, + } + if (me.formData.id) { + param.id = me.formData.id + } + // if(me.iscommit) { + // param.to_state = "OpeningApproval";//鎻愪氦 + // } + + param.data[me.dataname] = entity; + + if (productlist_.length) { + param.data["agm_record_product"] = productlist_; + } + if (provincelist_.length) { + param.data["agm_record_province"] = provincelist_; + } + if (account_hospital_.length) { + param.data["md_org_account_hospital"] = account_hospital_; + } + if (target_dealer_.length) { + param.data["md_target_dealer"] = target_dealer_; + } + + if (price_policy_.length) { + // param.data["agm_record_price"] = price_policy_; + param.data["md_prod_price_detail"] = price_policy_; + } + if (gift_policy_.length) { + param.data["agm_record_gift"] = gift_policy_; + } + if (rate_policy_.length) { + param.data["agm_record_rate"] = rate_policy_; + } + + Server.call("root/data/"+operator_, param, function(result) { + if (result.success) { + if (me.iscommit) { + me.iscommit = false; + me.loading_save = false; + Root.message({ + type: 'success', + message: '鎻愪氦鎴愬姛' + }); + } + else { + me.loading_save = false; + Root.message({ + type: 'success', + message: '淇濆瓨鎴愬姛' + }); + } + me.saveAfter(); + } + }, function(errorresult) { + console.log("閿欒淇℃伅", errorresult); + if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) { + if (errorresult.messages.list) { + me.iscommit = false; + me.loading_save = false; + 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 (errorresult.exists_errors && errorresult.exists_errors.length) { + var messages_list = [] + var index_ = 0; + errorresult.exists_errors.map(r=>{ + index_ ++; + var messages_ = { + step: index_, + level: "Error", + message: r.title + "銆�" + r.errors[0].agreement_no + r.errors[0].account_actor_name?r.errors[0].account_actor_name: '' + "銆�" + } + messages_list.push(messages_) + }) + me.iscommit = false; + var config = { + totab: false, + // width: "1200px", + // height: 800, + icon: "icon-product", + text: "閿欒淇℃伅", + url: "module/tool/page/popup_error_messages.html", + data: {}, + delta: messages_list, + callback: function(obj, callback) { + if (callback) { + callback(); + } + } + }; + me.doPopupByPublic(config); + } + else { + if(me.iscommit) { + me.iscommit = false; + Root.message({ + type: 'error', + message: '鎻愪氦澶辫触' + }); + } + else { + me.loading_save = false; + Root.message({ + type: 'error', + message: '淇濆瓨澶辫触' + }); + } + } + }); + }, + + //瀹℃壒閫氳繃鐩稿叧鏁版嵁璧嬪�� + onPassApproval() { + this.approveremark = ""; + this.reasonvisible = true; + this.passOrRefuse = true; + }, + + //瀹℃壒鎷掔粷鐩稿叧鏁版嵁璧嬪�� + onRefuseApproval(){ + this.approveremark = ""; + this.reasonvisible = true; + this.passOrRefuse = false; + }, + + //淇濆瓨閫氳繃/鎷掔粷鍘熷洜 + saveReason2(){ + this.loading_pass = true; + if(this.passOrRefuse){ + this.doPassApproval(true); + }else{ + if(this.approveremark != ""){ + this.doPassApproval(false); + } + else{ + Root.message({ + type: 'warning', + message: '璇峰~鍐欏師鍥�' + }); + this.loading_pass = false; + } + } + }, + + //瀹℃壒閫氳繃/鎷掔粷 + doPassApproval(bo) { + var me = this; + var state_ = "approve" + if (!bo) { + state_ = "reject" + } + + let param = { + dataname: me.dataname, + id: me.formData.id, + remark: me.approveremark, + } + Server.call("root/data/" + state_, param, function(result) { + me.loading_pass = false; + console.log(result); + if (bo) { + Root.message({ + type: 'success', + message: '瀹℃壒鎴愬姛' + }); + me.saveAfter(); + } + + else { + 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: '瀹℃壒澶辫触' + }); + } + }); + }, + + // 閫氳繃鎴栨嫆缁� + onShowApproval(passOrRefuse) { + this.approveremark = ""; + this.reasonvisible = true;//瀹℃壒澶囨敞濉啓寮圭獥 + this.passOrRefuse = passOrRefuse;// commit涓嬩竴涓姸鎬�;approve閫氳繃;gohome;//鎷掔粷 goback;//鍥為�� + }, + 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: "agm_agreement", + 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: '瀹℃壒鎴愬姛' + }); + } + 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: '瀹℃壒澶辫触' + }); + } + }); + }, + + onTabBeforeLeave(tab, oldtab) { + this.TabObjMap[oldtab] = clone(this.selectTabObj); + }, + handleClick() { + this.isRefresh = false; + + this.selectTabObj = {} + this.$nextTick(() => { // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂� + this.selectTabObj = clone(this.TabObjMap[this.activeTabName]); + this.isRefresh = true; + }); + } + + + + } + }); + }; + + loadJsCss(function () { + initVue(); + }); + </script> + <style> + /* 鍦╲ue.js涓� v-cloak 杩欎釜鎸囦护鏄槻姝㈤〉闈㈠姞杞芥椂鍑虹幇 vuejs 鐨勫彉閲忓悕鑰岃璁$殑 */ + [v-cloak] { + display: none !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"> + </div> + </div> + </div> + </div> + </div> + + + </body> +</html> diff --git a/module/md/page/customer/page/customer_basic.html b/module/md/page/customer/page/customer_basic.html index 970b6c0..2c272fc 100644 --- a/module/md/page/customer/page/customer_basic.html +++ b/module/md/page/customer/page/customer_basic.html @@ -64,7 +64,13 @@ label:"name",//鏄笅鎷夐�夐」鏃惰缃� filter: "", orderby: "name" - } + }, + { + name: "md_org_account_criteria_rule", + dataname: "md_org_account_criteria_rule", + isnotoption: true, //true:涓嶆槸閫夐」 + filter: "", + }, ], options_md_geo_province: [], md_geo_city_obj: {}, @@ -80,15 +86,29 @@ }, formFields: [], + formFields_criteria: [], formData: {}, - + formData_criteria: {}, + formData1:[], + imgLoading:false, + imgurl:'', + + formdata_group:[{group_name:'瀹㈣璇勫垎',group_code:'Objective',children:[]},{group_name:'涓昏璇勫垎',group_code:'Subjective',children:[]}], + //鎸夐敭鏉冮檺璁剧疆 isedit: false,//鎻愪氦鍓嶇紪杈戯紝淇濆瓨/鎻愪氦 isrefuseedit: false,//鎷掔粷鍚庣紪杈戯紝淇濆瓨/鍐嶆鎻愪氦 isapproval: false,//瀹℃壒锛屽悓鎰�/鎷掔粷/杞姙/閫�鍥� + isChange:false, iscommit: false,//鎻愪氦鏍囪 + + // 瀹℃壒 + reasonvisible: false, // 瀹℃壒澶囨敞濉啓寮圭獥 + approveremark: "", // 瀹℃壒澶囨敞 + passOrRefuse: false, // 閫氳繃鎴栨嫆缁� + loading_pass: false, //寮圭獥鍙傛暟 popupParames: {}, @@ -156,6 +176,44 @@ this.loadRequestData(this.dataRequest, result, function(data) { me.dataRequestObj = data; //棰勫姞杞芥暟鎹悗缁欏摢浜涘瓧娈佃缃畂ptions鎴杅ormatterjson + if (me.dataRequestObj.md_org_account_criteria_rule) { + me.formFields_criteria = me.dataRequestObj.md_org_account_criteria_rule; + //鏁版嵁澶勭悊 + me.formdata_group.map(g=>{ + me.formFields_criteria.map(v=>{ + if (v.group_code == g.group_code) { + v['criteria_value'] = null + v['remark'] = null + g.children.push(v) + } + }) + }) + console.log(me.formdata_group) + } + if (me.dataRequestObj.md_org_account_criteria && me.dataRequestObj.md_org_account_criteria.data && me.dataRequestObj.md_org_account_criteria.data.entityset.length>0) { + me.formData_criteria = me.dataRequestObj.md_org_account_criteria.data.entityset + //鏁版嵁澶勭悊 + me.formFields_criteria.map(g=>{ + me.formData_criteria.map(e=>{ + if (g.id == e.criteria_id) { + e['group_name'] = g.group_name + e['group_code'] = g.group_code + e['content_before'] = g.content_before + e['content_type'] = g.content_type + } + }) + }) + me.formdata_group.map(g=>{ + formData_criteria.map(v=>{ + if (v.group_code == g.group_code) { + // v['content_before'] = g.content_before + g.children.push(v) + } + }) + }) + console.log(me.formdata_group) + + } if (me.dataRequestObj.md_geo_province) { me.options_md_geo_province = me.dataRequestObj.md_geo_province } @@ -263,6 +321,7 @@ 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); @@ -304,6 +363,8 @@ } } }) + console.log(me.formdata_group) + }, tableFieldClick() { @@ -495,6 +556,40 @@ } }); }, + uploadFileFun_file(one,fileList,type) { + var me = this; + me.imgLoading = true + me.imgurl =URL.createObjectURL(one.raw) //淇濇寔鏂囦欢鍦ㄦ湰绐楀彛锛屽惁鍒欎細鍔犺浇澶辫触 + // me.imgurl = one.url + // console.log(one+fileList+type) + + }, + showThumbnail(file, type, num) { + var me = this; + + if(num == "2"){ + return me.fileUrl; + } + if(type == "pic") { + return file.url; + } + console.log(file) + // var me = this; + + // if(num == "2"){ + // return me.fileUrl; + // } + // if(type == "pic") { + // me.imgurl = file.url + // return file.url; + // } + + }, + delyyzz() {//鍒犻櫎钀ヤ笟鎵х収 + var me = this; + me.imgurl = ""; + me.formData1 = [] + }, //鎻愪氦 submitRowTable() { @@ -510,11 +605,138 @@ this.iscommit = true; this.saveRowTable(); }, - + showCluster() { + this.$forceUpdate(); + }, + onShowApproval(passOrRefuse) { + this.approveremark = ""; + this.reasonvisible = true;//瀹℃壒澶囨敞濉啓寮圭獥 + this.passOrRefuse = passOrRefuse;// commit涓嬩竴涓姸鎬�;approve閫氳繃;gohome;//鎷掔粷 goback;//鍥為�� + }, + 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() { + var me = this; + me.doRunApproval(); + + // this.getMachine(function(next_step, up_step) { // + // me.doRunApproval(next_step, up_step); + // }); + }, + doRunApproval(next_step, up_step) { + var me = this; + if (!next_step) { + next_step = {} + } + if (!up_step) { + up_step = {} + } + + // 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") { + // to_state_ = up_step[this.formData.state_code]; + } + 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: "md_org", + id: me.formData.id, + remark: this.approveremark + } + if (to_state_) { + param.to_state = to_state_ + } + // + // 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: '瀹℃壒鎴愬姛' + }); + } + 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: '瀹℃壒澶辫触' + }); + } + }); + }, //淇濆瓨 saveRowTable() { var me = this; - var operator_ = "save";//淇濆瓨 + var operator_ = "saveEntity";//淇濆瓨 + var md_org_account_criteria_ = [] var entity_ = clone(this.formData); var entity = {}; @@ -525,8 +747,6 @@ } if(me.iscommit) { operator_ = "commit";//鎻愪氦 - entity.state_code = "Open" - entity.state_name = "宸茬敓鏁�" } let param = { dataname: this.dataname, @@ -534,9 +754,25 @@ // operator: operator_, data: {}, } + //鏂板鐨勬儏鍐� + me.formdata_group.map(group => {// + group.children.map(unitobj => { + var row_ = { + id: uuid_short(), + parent_id: me.formData.id, + criteria_id: unitobj.id, + criteria_value: unitobj.criteria_value, + remark: unitobj.remark, + } + md_org_account_criteria_.push(row_); + }) + }) + param.data["md_org_account_criteria"] = md_org_account_criteria_.length ? md_org_account_criteria_ : null; param.data[this.dataname] = entity; + + - Server.call("root/data/uniqueSaveEntity", param, function(result) { + Server.call("root/data/"+operator_, param, function(result) { console.log(result); if (result.success) { if(me.iscommit){ @@ -631,6 +867,30 @@ [v-cloak] { display: none !important; } + .me_h_itemgroup_row { + margin-bottom: 10px; + } + .me_h_itemgroup_row .me_h_unitlabel:before { + content: '*'; + color: #F56C6C; + margin-right: 4px; + } + .me_h_itemgroup_row .me_h_nounitlabel:before { + content: '*'; + color: #F56C6C00; + margin-right: 4px; + } + .itemgroup_row_item { + text-align: left; + } + .ocr_img .el-upload-list--picture-card .el-upload-list__item { + width: 100% ; + height: 100% ; + } + div .el-upload--picture-card { + width: 100% ; + + } </style> </head> @@ -647,7 +907,29 @@ </div> <div :style="{height: dheight + 'px', 'overflow-y': 'auto'}"> <!-- <div style="position: absolute; top:40px; bottom: 50px; left: 0px; right: 0px; overflow-y: auto;"> --> - <div class="el-dialog__body"> + <div class="el-dialog__body" style="width: 20%; float: left;"> + <el-image + v-if="imgurl.length>0" + :style="{width: '100%', 'max-height': dheight + 'px'}" + :src="imgurl" + :preview-src-list="[imgurl]"> + </el-image> + <el-upload + v-else-if="!imgurl" + class="ocr_img" + action="#" style="margin-top: 15px;margin-bottom: 15px;" accept="image/jpeg,image/gif,image/png" + ref="reportUpload1" list-type="picture-card" :file-list="formData1" + :on-change="(file, fileList) => {uploadFileFun_file(file, fileList, '1')}" :auto-upload="false"> + <!-- <i slot="default" class="el-icon-plus"></i> --> + <span style="font-size: 14px; color: #909399;">钀ヤ笟鎵х収涓婁紶</span> + <div slot="file" slot-scope="{file}"> + <img class="el-upload-list__item-thumbnail" :src="showThumbnail(file, 'pic', '1')" alt=""> + </div> + </el-upload> + <el-button v-if="imgurl" size="small" type="danger" @click="delyyzz">鍒犻櫎钀ヤ笟鎵х収</el-button> + </div> + + <div class="el-dialog__body" style="width: 79%; float: right;"> <h-form ref="form1" :form-attr="formAttr" @@ -657,17 +939,127 @@ > </h-form> </div> + <!-- <div v-if='formFields.length>0' class="el-dialog__body" style="width: 100%; float: right; "> + <div style="border: 1px solid #C0C4CC ;padding: 5px"> + <div class="h_table_title"><i class="iconfont icon-fuzhushuxian" style="color: rgb(2, 112, 193);"></i><span style="font-size: 16px;">鎺ㄥ箍鍟嗚瘎鍒�</span></div> + </i> + <div style="width: 100%;height: 5px;margin: 10px 0px 25px 0px;background-color: gainsboro; opacity: 40%;"></div> + <template v-for="(formgroup, k) in formdata_group"> + <div style="display: flex;justify-content: space-between;padding: 5px;"> + <div style="width: 7%; display: flex; align-items: center; justify-content: center; text-align: center;font-weight: bold;border-right: 3px solid gainsboro;"> + <div style="display: flex;justify-content: center;align-items: center;margin-right: 15px;"> + {{formgroup.group_name}} + </div> + </div> + <div style="width: 93%;padding: 0 10px;"> + + <el-row v-for="(unitobj, kc) in formgroup.children" :key="'YWNL' + k + kc" class="me_h_itemgroup_row"> + <el-col :span="6" class="itemgroup_row_item"> + <div> + <span :class="[unitobj.required_no ? 'me_h_nounitlabel' : 'me_h_unitlabel']" style="font-size: 12px;"> + {{unitobj.content_before}} + </span> + </div> + </el-col> + <el-col :span="18" > + <div v-if="unitobj.content_type == 'textarea'"> + <el-input style="width:100%" type="textarea" + v-model="unitobj.criteria_value"> + </el-input> + </div> + <div v-else-if="unitobj.content_type == 'radio' && !unitobj.dictionary_id"> + <el-radio-group v-model="unitobj.criteria_value"> + <el-radio label="T">鏄�</el-radio> + <el-radio label="F">鍚�</el-radio> + </el-radio-group> + </div> + <div v-else-if="unitobj.content_type == 'radio' && unitobj.dictionary_id"> + <el-radio-group v-model="unitobj.criteria_value"> + <el-radio v-for="(r, k) in unitobj.options" :key="unitobj.id + k" :label="r.code">{{r.value}}</el-radio> + </el-radio-group> + </div> + <div v-else-if="unitobj.content_type == 'input'"> + <el-input style="width:100%" @input="showCluster" + v-model="unitobj.criteria_value"> + </el-input> + </div> + <div v-else-if="unitobj.content_type == 'date'"> + <el-date-picker style="width:100%" type="date" value-format="yyyy-MM-dd" + v-model="unitobj.criteria_value"> + </el-date-picker> + </div> + <div v-else-if="unitobj.content_type == 'upload'"> + <table> + <tr> + <td align="left" style="width: 100%; padding: 0px; overflow: hidden; border-bottom: 1px solid #DCDFE6;"> + <span class="h_cellclick" @click="buttonArrayClick(unitobj, {code:'showfile'})">{{unitobj.criteria_value}}</span> + </td> + <td > + <template v-if="isBusiness && unitobj.criteria_value"> + <el-button type="primary" style="padding: 5px;" @click="buttonArrayClick(unitobj, {code:'delfile'})" icon="el-icon-delete" class="form_delfile">鍒犻櫎闄勪欢</el-button> + </template > + + <template v-else-if="isBusiness && !unitobj.criteria_value"> + <el-button type="primary" style="padding: 5px;" @click="buttonArrayClick(unitobj, {code:'upload'})" icon="el-icon-upload" class="form_uploadfile">闄勪欢涓婁紶</el-button> + </template > + </td> + </tr> + </table> + </div> + </el-col> + </el-row> + </div> + </div> + <div style="width: 100%;height: 5px;margin: 25px 0px;background-color: gainsboro;opacity: 40%"></div> + </template > + </div> + </div> --> </div> - <div class="el-dialog__footer" style="position: absolute; bottom: 0px; left: 0px; right: 0px;"> + <!-- <div class="el-dialog__footer" style="position: absolute; bottom: 0px; left: 0px; right: 0px;"> + <el-button size="small" type="default" @click="reasonvisible = false">鍙� 娑�</el-button> <el-button size="small" type="default" @click="closeDialog">鍙� 娑�</el-button> <el-button size="small" v-if="isedit || isrefuseedit" type="primary" :loading="loading_save" @click="saveRowTable":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button> <el-button size="small" v-if="isedit" type="success" :loading="loading_submit" @click="submitRowTable":icon="buttonsconfig.submit.icon">{{buttonsconfig.submit.name}}</el-button> <el-button size="small" v-if="isrefuseedit" type="success" @click="">鍐嶆鎻愪氦</el-button> - <el-button size="small" v-if="isapproval" type="success" @click="">閫� 杩�</el-button> - <el-button size="small" v-if="isapproval" type="danger" @click="">鎷� 缁�</el-button> - <el-button size="small" v-if="isapproval" type="primary" @click="">杞� 鍔�</el-button> - <el-button size="small" v-if="isapproval" type="success" @click="">閫� 鍥�</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" v-if="isapproval" type="success" @click="onShowApproval('approve')">閫� 杩�</el-button> + </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 size="small" type="default" @click="reasonvisible = false">鍙� 娑�</el-button> + <el-button size="small" type="primary" :loading="loading_pass" @click="saveReason">纭� 瀹�</el-button> + </div> + </el-dialog> + + <div class="el-dialog__footer"> + <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="!isChange && (isedit || isrefuseedit)" type="primary" @click="saveRowTable":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button> + <el-button size="small" v-if="!isChange && isedit" type="success" @click="submitRowTable":icon="buttonsconfig.submit.icon">{{buttonsconfig.submit.name}}</el-button> + + <el-button size="small" v-if="isChange" type="primary" @click="saveChangeRowTable":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button> + <el-button size="small" v-if="isChange" type="success" @click="submitRowTable":icon="buttonsconfig.submit.icon">{{buttonsconfig.submit.name}}</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> + <!-- <el-button size="small" v-if="isapproval" type="danger" @click="onShowApproval('goback')">鎷� 缁�</el-button> --> + <!-- <el-button size="small" v-if="isapproval" type="primary" @click="">杞� 鍔�</el-button> --> + <!-- <el-button size="small" v-if="isapproval" type="success" @click="onShowApproval('gohome')">閫� 鍥�</el-button> --> </div> </div> </div> diff --git a/module/md/page/customer/page/customer_basic_acct.html b/module/md/page/customer/page/customer_basic_acct.html index 35cb2f3..ec53615 100644 --- a/module/md/page/customer/page/customer_basic_acct.html +++ b/module/md/page/customer/page/customer_basic_acct.html @@ -71,6 +71,12 @@ isnotoption: true, //true:涓嶆槸閫夐」 filter: "1<>1", }, + { + name: "md_org_account_criteria_rule", //rule绛斿嵎瀛楁 + dataname: "md_org_account_criteria_rule", + isnotoption: true, //true:涓嶆槸閫夐」 + filter: "", + }, ], options_md_org_master: [], isExistsAccount: false, @@ -89,7 +95,9 @@ meta_account_position_list: [], meta_account_change: [], + formFields_criteria: [], formData_change: {}, + formdata_rule_group:[], formAttr: { istitle: false, @@ -173,13 +181,7 @@ 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.source && !this.formData.md_org__source) { - this.newformData.md_org__source = this.formData.source; - } - else if (this.formData.md_org__ncc_code) { - this.newformData.md_org__source = "NCC" - } + this.formData = this.popupParames.data } var customer_id = "" @@ -319,6 +321,10 @@ //棰勫姞杞芥暟鎹悗缁欏摢浜涘瓧娈佃缃畂ptions鎴杅ormatterjson if (me.dataRequestObj.newEntity) { var formData = clone(me.dataRequestObj.newEntity.data[me.dataname]); + formData['company_id'] = '1181' + formData['company_name'] = '姹囧畤鍒惰嵂' + formData['bu_id'] = 'BU-GM' + formData['bu_name'] = '鑲跨槫' // formData.product_category_name = []; if (me.newformData) { let formData_ = clone(formData); @@ -469,6 +475,24 @@ // me.options_tree_province = options_tree_province_; me.options_province = clone(me.dataRequestObj.md_geo_province); } + if (me.dataRequestObj.md_org_account_criteria_rule) { + var obj_ = {} + me.formFields_criteria = me.dataRequestObj.md_org_account_criteria_rule; + me.formFields_criteria.map(e=>{ + if (!obj_[e.group_code]) { + var obj = {} + obj_[e.group_code] = e.group_code + obj_[e.group_name] = e.group_name + //obj_鐢ㄤ綔妫�娴嬫槸鍚﹂噸澶嶏紝鑻ユ湭閲嶅锛屽垯灏嗚obj鏀惧叆(鑰屼笉鏄斁鍏bj_) 鏋勫缓鐨刦ormdata_rule_group缁撴瀯濡備笅 + // formdata_rule_group:[{group_name:'瀹㈣璇勫垎',group_code:'Objective',children:[]},{group_name:'涓昏璇勫垎',group_code:'Subjective',children:[]}], + obj['group_code'] = e.group_code + obj['group_name'] = e.group_name + obj['children'] = [] + // obj.children.push(e) + me.formdata_rule_group.push(obj) + } + }) + } me.initData(); // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂� @@ -584,7 +608,35 @@ id_ = this.formData.id; } this.getRowDataById(id_, function(result) {//鏌ヨ鍚庣殑鍥炶皟锛岀敤浜庤幏鍙栧瓧娈电殑 - console.log(result) + if (result.data.md_org_account_criteria && result.data.md_org_account_criteria.length>0) { + var criteria_data = [] + me.formData_criteria = result.data.md_org_account_criteria + me.formFields_criteria.map(f=>{ + me.formData_criteria.map(v=>{ + if (f.id == v.criteria_id) { + var obj_ = {} + Object.assign(obj_,f,v) + criteria_data.push(obj_) + } + }) + }) + me.formdata_rule_group.map(g => { + criteria_data.map(v => { + if (v.group_code == g.group_code) { + g.children.push(v) + } + }) + }) + } + else { + me.formdata_rule_group.map(g=>{ + me.formFields_criteria.map(f=>{ + if(f.group_code == g.group_code) { + g.children.push(f) + } + }) + }) + } if (result.meta) { var metaBydataname = {}; for (var dataname_ in result.meta) { @@ -706,6 +758,8 @@ //璁剧疆瀛楁浜嬩欢 me.tableFieldClick(); } + //鏁版嵁澶勭悊 + var formData_ = {}; if (me.accountnccdata.id) { @@ -722,20 +776,20 @@ business_address: me.accountnccdata.md_org__business_address, // 缁忛攢鍟嗗叧鑱斾俊鎭� - business_person: me.accountnccdata.md_org__business_person, - business_phone: me.accountnccdata.md_org__business_phone, - business_email: me.accountnccdata.md_org__business_email, - md_org__license_business_no: me.accountnccdata.md_org__license_business_no, - md_org__register_address: me.accountnccdata.md_org__register_address, - md_org__code: me.accountnccdata.md_org__code, - md_org__ncc_code: me.accountnccdata.md_org__ncc_code, - md_org__province: me.accountnccdata.md_org__province, - md_org__city: me.accountnccdata.md_org__city, - md_org__county: me.accountnccdata.md_org__county, - - md_org__receive_address: me.accountnccdata.md_org__receive_address, - md_org__receiver_name: me.accountnccdata.md_org__receiver_name, - md_org__receiver_phone: me.accountnccdata.md_org__receiver_phone, + business_person: me.accountnccdata.md_org__business_person, + business_phone: me.accountnccdata.md_org__business_phone, + business_email: me.accountnccdata.md_org__business_email, + md_org__license_business_no: me.accountnccdata.md_org__license_business_no, + md_org__register_address: me.accountnccdata.md_org__register_address, + md_org__code: me.accountnccdata.md_org__code, + md_org__ncc_code: me.accountnccdata.md_org__ncc_code, + md_org__province: me.accountnccdata.md_org__province, + md_org__city: me.accountnccdata.md_org__city, + md_org__county: me.accountnccdata.md_org__county, + + md_org__receive_address: me.accountnccdata.md_org__receive_address, + md_org__receiver_name: me.accountnccdata.md_org__receiver_name, + md_org__receiver_phone: me.accountnccdata.md_org__receiver_phone, } for (var k in me.formData) { @@ -1285,7 +1339,7 @@ if (this.formData.business_email) { // 濉啓浜嗛偖绠憋紝鍒欐洿鏂癿d_org涓殑閭淇℃伅 var param = { - dataname: "md_org", + dataname: "md_org_account", id: this.formData.org_id, data: { md_org: { @@ -1381,7 +1435,6 @@ // return // } - console.log(param); // return 0 Server.call("root/data/" + operator_, param, function(result) { console.log(result); @@ -1449,56 +1502,13 @@ // var table_provinces_ = []; for (var r in entity_) { - // if (r == "product_id") { - // var products_ = entity_[r]; - // products_.map(p=>{ - // var p_ = { - // product_line_id: p[0], - // product_line_name: me.productobj_map[p[0]], - - // }; - // if (p.length == 2) { - // p_.product_id = p[1]; - // p_.product_name = me.productobj_map[p[1]] - // } - - // // 濡傛灉宸茬粡瀛樿繃鍒檌d淇濇寔涓嶅彉 - // if (me.old_md_org_account_product_obj[p[0] + p[1]]) { - // p_.id = me.old_md_org_account_product_obj[p[0] + p[1]].id - // } - - // // 锛堢己鍔熻兘锛夊鏋滄湰娆℃暟鎹腑娌℃湁浜嗭紝鍒欓渶瑕佸垹闄ゅ師鏁版嵁銆傜洰鍓嶆病鏈夊垹闄ゅ姩浣溿�� - - - // table_products_.push(p_); - // }) - // } - // else if (r == "province") { - // var provinces_ = entity_[r]; - // provinces_.map(p=>{ - // var p_ = { - // area: p[0], - // province: p[1] - // }; - - // // 濡傛灉宸茬粡瀛樿繃鍒檌d淇濇寔涓嶅彉 - // if (me.old_md_org_account_province_obj[p[0] + p[1]]) { - // p_.id = me.old_md_org_account_province_obj[p[0] + p[1]].id - // } - - // // 锛堢己鍔熻兘锛夊鏋滄湰娆℃暟鎹腑娌℃湁浜嗭紝鍒欓渶瑕佸垹闄ゅ師鏁版嵁銆傜洰鍓嶆病鏈夊垹闄ゅ姩浣溿�� - - - // table_provinces_.push(p_); - // }) - // } - // else if (entity_[r] || entity_[r] == 0) { entity[r] = entity_[r]; } } var tableData_ = []; + var md_org_account_criteria_ = [] this.tableData.map(r=>{ var row_ = {}; for (var k in r) { @@ -1509,6 +1519,14 @@ tableData_.push(row_); }) + if (tableData_.length == 0) { + Root.message({ + type: 'warning', + message: '璇峰厛娣诲姞鏄庣粏鏁版嵁' + }); + me.iscommit = false + return + } if (tableData_.length == 0) { Root.message({ type: 'warning', @@ -1528,13 +1546,33 @@ if(me.iscommit) { // param.to_state = "OpeningApproval";//鎻愪氦 if (me.formData.org_ncc_id) { - param.refer = { - dataname: "md_org_account_ncc", - id: me.formData.org_ncc_id - } + // param.refer = { + // dataname: "md_org_account", + // id: me.formData.org_ncc_id + // } } } + me.formdata_rule_group.map(group => {// + group.children.map(unitobj => { + if (!unitobj.criteria_value) { + Root.message({ + type: 'warning', + message: '璇峰厛娣诲姞鏄庣粏鏁版嵁' + }); + me.iscommit = false + return + } + var row_ = { + parent_id: me.formData.id, + criteria_id: unitobj.id, + criteria_value: unitobj.criteria_value, + remark: unitobj.remark ? unitobj.remark : '', + } + md_org_account_criteria_.push(row_); + }) + }) + param.data["md_org_account_criteria"] = md_org_account_criteria_.length ? md_org_account_criteria_ : null; param.data[this.dataname] = entity; param.data[this.table_dataname] = tableData_; @@ -1553,8 +1591,6 @@ return } - console.log(param); - // return Server.call("root/data/" + operator_, param, function(result) { console.log(result); if (result.success) { @@ -1774,6 +1810,22 @@ padding: 5px; box-sizing: border-box; } + .me_h_itemgroup_row { + margin-bottom: 10px; + } + .me_h_itemgroup_row .me_h_unitlabel:before { + content: '*'; + color: #F56C6C; + margin-right: 4px; + } + .me_h_itemgroup_row .me_h_nounitlabel:before { + content: '*'; + color: #F56C6C00; + margin-right: 4px; + } + .itemgroup_row_item { + text-align: left; + } </style> </head> @@ -1839,6 +1891,87 @@ </div> + <div v-if='formFields.length>0' class="el-dialog__body" style="width: 100%; float: right; "> + <div> + <div class="h_table_title"><i class="iconfont icon-fuzhushuxian" style="color: rgb(2, 112, 193);"></i><span style="font-size: 16px;">鎺ㄥ箍鍟嗚瘎鍒�</span></div> + </i> + <!-- <el-row style="display: flex;flex-direction: row;justify-content:space-between;padding-left: 91px;padding-top: 10px;" > + <el-col :span="16"><div class="itemgroup_field"><span>璇勫垎椤�</span></div></el-col> + <el-col :span="8"><div class="itemgroup_field"><span>璇勫垎</span></div></el-col> + </el-row> --> + <div style="width: 100%;height: 5px;margin: 10px 0px 25px 0px;background-color: gainsboro; opacity: 40%;"></div> + <template v-for="(formgroup, k) in formdata_rule_group"> + <div style="display: flex;justify-content: space-between;padding: 5px;"> + <div style="width: 7%; display: flex; align-items: center; justify-content: center; text-align: center;font-weight: bold;border-right: 3px solid gainsboro;"> + <div style="display: flex;justify-content: center;align-items: center;margin-right: 15px;"> + <!-- {{formgroup.groupname}} --> + {{formgroup.group_name}} + </div> + </div> + <div style="width: 93%;padding: 0 10px;"> + + <el-row v-for="(unitobj, kc) in formgroup.children" :key="'YWNL' + k + kc" class="me_h_itemgroup_row"> + <el-col :span="6" class="itemgroup_row_item"> + <div> + <span :class="[unitobj.required_no ? 'me_h_nounitlabel' : 'me_h_unitlabel']" style="font-size: 12px;"> + <!-- {{unitobj.content_before}} --> + {{unitobj.content_before}} + </span> + </div> + </el-col> + <el-col :span="18" > + <div v-if="unitobj.content_type == 'textarea'"> + <el-input style="width:100%" type="textarea" + v-model="unitobj.criteria_value"> + </el-input> + </div> + <div v-else-if="unitobj.content_type == 'radio' && !unitobj.dictionary_id"> + <el-radio-group v-model="unitobj.criteria_value"> + <el-radio label="T">鏄�</el-radio> + <el-radio label="F">鍚�</el-radio> + </el-radio-group> + </div> + <div v-else-if="unitobj.content_type == 'radio' && unitobj.dictionary_id"> + <el-radio-group v-model="unitobj.criteria_value"> + <el-radio v-for="(r, k) in unitobj.options" :key="unitobj.id + k" :label="r.code">{{r.value}}</el-radio> + </el-radio-group> + </div> + <div v-else-if="unitobj.content_type == 'input'"> + <el-input style="width:100%" + v-model="unitobj.criteria_value"> + </el-input> + </div> + <div v-else-if="unitobj.content_type == 'date'"> + <el-date-picker style="width:100%" type="date" value-format="yyyy-MM-dd" + v-model="unitobj.criteria_value"> + </el-date-picker> + </div> + <div v-else-if="unitobj.content_type == 'upload'"> + <table> + <tr> + <td align="left" style="width: 100%; padding: 0px; overflow: hidden; border-bottom: 1px solid #DCDFE6;"> + <span class="h_cellclick" @click="buttonArrayClick(unitobj, {code:'showfile'})">{{unitobj.criteria_value}}</span> + </td> + <td > + <template v-if="isBusiness && unitobj.criteria_value"> + <el-button type="primary" style="padding: 5px;" @click="buttonArrayClick(unitobj, {code:'delfile'})" icon="el-icon-delete" class="form_delfile">鍒犻櫎闄勪欢</el-button> + </template > + + <template v-else-if="isBusiness && !unitobj.criteria_value"> + <el-button type="primary" style="padding: 5px;" @click="buttonArrayClick(unitobj, {code:'upload'})" icon="el-icon-upload" class="form_uploadfile">闄勪欢涓婁紶</el-button> + </template > + </td> + </tr> + </table> + </div> + </el-col> + </el-row> + </div> + </div> + <div style="width: 100%;height: 5px;margin: 25px 0px;background-color: gainsboro;opacity: 40%"></div> + </template > + </div> + </div> </div> <el-dialog title="濉啓鍘熷洜" :visible.sync="reasonvisible" height="50%"> diff --git a/module/md/page/customer/page/customer_list_account.html b/module/md/page/customer/page/customer_list_account.html index 572f99e..a820d5f 100644 --- a/module/md/page/customer/page/customer_list_account.html +++ b/module/md/page/customer/page/customer_list_account.html @@ -730,7 +730,7 @@ code: "edit",isselected: true,classname: "", disabled: function(selectRowList) { var bo_ = true; - if (selectRowList[0] && selectRowList[0].source == "DMS") { + if (selectRowList[0] && selectRowList[0].state_code == "Input") { bo_ = false; } return bo_ @@ -740,17 +740,26 @@ } }, { - name: "寮�鎴�", isbuttonshow: me.cbuttons_r.accountOpen ? me.cbuttons_r.accountOpen : false,type:"success",icon: "el-icon-news", + name: "棰勫悎浣滅敵璇�", isbuttonshow: true,type:"success",icon: "el-icon-news", code: "account",isselected: true,classname: "", disabled: function(selectRowList) { var bo_ = true; - if (selectRowList[0] && selectRowList[0].source == "DMS" && !selectRowList[0].is_distributor) { + if (selectRowList[0] && selectRowList[0].state_code == "Prepared") { bo_ = false; } return bo_ }, onclick: function(obj) { - me.openCustomerUser('add') + + // obj.selectedList + // me.closeData('browse', obj.selectedList[0]); + // me.commitData(obj.selectedList[0]); + obj.selectedList[0]['company_id'] = '1181' + obj.selectedList[0]['company_name'] = '姹囧畤鍒惰嵂' + obj.selectedList[0]['bu_id'] = 'BU-GM' + obj.selectedList[0]['bu_name'] = '鑲跨槫' + console.log(obj.selectedList[0]) + me.openCustomerUser('add', obj.selectedList[0]); } }, // { @@ -845,7 +854,7 @@ }, { - name: "鍏虫埛", isbuttonshow: me.cbuttons_r.accountClose ? me.cbuttons_r.accountClose : false,type:"danger",icon: "el-icon-circle-close", + name: "閫�鍑�", isbuttonshow: me.cbuttons_r.accountClose ? me.cbuttons_r.accountClose : false,type:"danger",icon: "el-icon-circle-close", code: "account",isselected: true,classname: "", disabled: function(selectRowList) { var bo_ = true; @@ -939,6 +948,7 @@ me.openCustomerUser('edit', obj.selectedList[0]); } }, + { // name: "璇︽儏", // type: "primary", // icon: "el-icon-edit", isbuttonshow: me.cbuttons_r.formdetail ? me.cbuttons_r.formdetail : false, @@ -1337,7 +1347,7 @@ width: "1100px", height: "520px", icon: "icon-product", - text: "瀹㈠晢淇℃伅" + (row.name ? row.name : ""), + text: "鎺ㄥ箍鍟嗕俊鎭�" + (row.name ? row.name : ""), id: "customer_basic" + (row.id? row.id : "add"),//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈� url: "module/md/page/customer/page/customer_basic.html", data: row, diff --git a/module/md/page/customer/page/evaluation_management.html b/module/md/page/customer/page/evaluation_management.html index 518268d..8e083f9 100644 --- a/module/md/page/customer/page/evaluation_management.html +++ b/module/md/page/customer/page/evaluation_management.html @@ -25,8 +25,8 @@ // // {code: "Closed", name: "澶辨晥", dataname:"so_implant", filterTxt: "state_code='Open'",}, // {code: "All", name: "鍏ㄩ儴", dataname: "md_target_dealer", filterTxt: "1 = 1", orderby: "update_time desc"}, - {code: "Current", name: "褰撳墠璇勪及", dataname: "md_org", filterTxt: "1=1", orderby: ""}, - {code: "History", name: "鍘嗗彶璇勪及", dataname: "md_org", filterTxt: "1=1", orderby: ""}, + {code: "Current", name: "褰撳墠璇勪及", dataname: "md_org_account", filterTxt: "1=1", orderby: "update_time desc"}, + {code: "History", name: "鍘嗗彶璇勪及", dataname: "md_org_account", filterTxt: "1=1", orderby: ""}, // {code: "Apply", name: "鎸囨爣鐢宠", dataname: "md_target_apply", filterTxt: "1 = 1", orderby: "update_time desc"}, ], tabs: [], @@ -153,10 +153,18 @@ metas.map(f=>{ f.isshow = "T"; tableFields_.push(clone(f)); + if (f.isfilter) { + filterFields_.push(clone(f)); + } + else { + var filter_f = clone(f); + filter_f.isshow = "F"; + filterFields_.push(filter_f); + } }) if (!me.selectTabObj.filterFields || (me.selectTabObj.filterFields && me.selectTabObj.filterFields.length == 0)) { - me.selectTabObj.filterFields = clone(me.default_filterFields); - me.selectTabObj.tableFields = clone(me.default_tableFields); + me.selectTabObj.filterFields = clone(filterFields_); + me.selectTabObj.tableFields = clone(tableFields_); } } @@ -259,7 +267,7 @@ width: "1100px", height: "520px", icon: "icon-product", - text: "鎺ㄥ箍鍟嗕俊鎭�" + (row.customer_code ? ("-" + row.customer_code) : ""), + text: "鎺ㄥ箍鍟嗚瘎浼颁俊鎭�" + (row.customer_code ? ("-" + row.customer_code) : ""), id: "evaluation_management_edit" + row.id + sceneCode, url: "module/md/page/customer/page/evaluation_management_edit.html", data: row, diff --git a/module/md/page/customer/page/evaluation_management_edit.html b/module/md/page/customer/page/evaluation_management_edit.html index 35ea2c0..da88915 100644 --- a/module/md/page/customer/page/evaluation_management_edit.html +++ b/module/md/page/customer/page/evaluation_management_edit.html @@ -15,7 +15,8 @@ new FormVue({ el: "#vbody", data: { - dataname: "md_org_account_criteria", + // dataname: "md_org_account_criteria", + dataname: "md_org_account", title: "鎺ㄥ箍鍟嗚瘎浼颁俊鎭�", newformData: { id: uuid_short(), @@ -78,10 +79,190 @@ formFields: [], - formData: {}, - formData_: [], - formData_group:[], - formdata_obj:[{group_name:'瀹㈣璇勫垎',group_code:'Objective',children:[]},{group_name:'涓昏璇勫垎',group_code:'Subjective',children:[]}], + formData_criteria: [], //璇勫垎琛ㄨ繑鍥炵殑鏄暟缁� + formFields_criteria: [], + formdata_rule_group:[], + + activities: [ + { + id:uuid_short(), + code:uuid_short()+'01', + content: '涓村簥鎷滆', + timestamp: '2024-04-15', + remark:'娴嬭瘯淇℃伅', + }, + { + id:uuid_short(), + code:uuid_short()+'01', + content: '鎻愬崟', + timestamp: '2024-06-10', + remark:'娴嬭瘯淇℃伅', + }, + { + id:uuid_short(), + code:uuid_short()+'01', + content: '涓撮噰', + timestamp: '2024-06-29', + remark:'娴嬭瘯淇℃伅', + }, + { + id:uuid_short(), + code:uuid_short()+'01', + content: '杩囦細鍑嗗涓庢矡閫�', + timestamp: '2024-07-01', + remark:'娴嬭瘯淇℃伅', + }, + { + id:uuid_short(), + code:uuid_short()+'01', + content: '鍏ラ櫌閲囪喘', + timestamp: '2024-07-15', + remark:'娴嬭瘯淇℃伅', + }, + { + id:uuid_short(), + code:uuid_short()+'01', + content: '姝e紡閲囪喘', + timestamp: '', + remark:'娴嬭瘯淇℃伅', + }, + ], + treeData: [{ + id:1, + time: '2024鎺ㄥ箍鍟嗘祦鍚戞眹鎬�', + amt:4200, + children: [{ + id:2, + time: '2024-01瀛e害閲戦姹囨��', + amt:1200, + children: [{ + id:6, + time: '01鏈堥噾棰�', + amt:300, + }, + { + id:7, + time: '02鏈堥噾棰�', + amt:400, + }, + { + id:8, + time: '03鏈堥噾棰�', + amt:500, + }] + }, + { + id:3, + time: '2024-02瀛e害閲戦姹囨��', + amt:1000, + children: [{ + id:9, + time: '04鏈堥噾棰�', + amt:300, + }, + { + id:10, + time: '05鏈堥噾棰�', + amt:400, + }, + { + id:11, + time: '06鏈堥噾棰�', + amt:500, + }] + }, + { + id:4, + time: '2024-03瀛e害閲戦姹囨��', + amt:1000, + children: [{ + id:12, + time: '07鏈堥噾棰�', + amt:300, + }, + { + id:13, + time: '08鏈堥噾棰�', + amt:400, + }, + { + id:14, + time: '09鏈堥噾棰�', + amt:500, + }] + }, + { + id:5, + time: '2024-04瀛e害閲戦姹囨��', + amt:1000, + children: [{ + id:15, + time: '10鏈堥噾棰�', + amt:300, + }, + { + id:16, + time: '11鏈堥噾棰�', + amt:400, + }, + { + id:17, + time: '12鏈堥噾棰�', + amt:500, + }] + } + ], + }], + treeTxtFormatter: "{time} 锟amt}", + currentnodekey: 8, + defaultExpandedKeys: [2,6], + maxlevel:6, + + tableData:[ + { + + date:'2024-08-01', + // date:new Date(stamp).toISOString().replace(/T/, ' ').replace(/\..+/, '').substring(0, 19), + product:'澶氳タ浠栬禌娉ㄥ皠娑�', + qty:'12', + price:'2000', + amt:'24000', + rank:'D', + sale_employe:'', + }, + ], + isEditTableData: false, + tableFields: [ + // {isshow: "F", field: "id", name: "id", width: "70"}, + //{isshow: "T", field: "category_id", name: "鍗忚绫诲瀷-ID", width: "100"}, + {isshow: "T", field: "date", name: "鏇存柊鏃ユ湡", width: "100"}, + //{isshow: "T", field: "template_id", name: "妯℃澘-ID", width: "100"}, + {isshow: "F", field: "code", name: "鎺ㄥ箍鍟嗙紪鐮�", width: "100"}, + {isshow: "F", field: "name", name: "鎺ㄥ箍鍟嗗悕绉�", width: "220",align:'left',isminwidth:'T'}, + {isshow: "T", field: "product", name: "浜у搧", width: "100",isminwidth:'T'}, + {isshow: "T", field: "qty", name: "浜у搧鏁伴噺", width: "100"}, + {isshow: "T", field: "price", name: "浜у搧鍗曚环", width: "100",formatter:"formatter_money",prefix:'锟�'}, + {isshow: "T", field: "amt", name: "鎬婚噾棰�", width: "100",formatter:"formatter_money",prefix:'锟�'}, + {isshow: "T", field: "rank", name: "绛夌骇鍒掑垎", width: "100"}, + {isshow: "T", field: "sale_employe", name: "褰掑睘浜哄憳", width: "100"}, + //{isshow: "T", field: "state_code", name: "鍗忚鐘舵��-缂栫爜", width: "100"}, + // {isshow: "T", field: "state_name", name: "瀹㈣璇勪及", type:"tag", tagtype: '{^鑽夌^:^info^,^鐢熸晥^:^success^,^鍏抽棴^:^danger^}', width: "80"}, + // {isshow: "T", field: "", name: "瀹㈣璇勪及", headercolor: "#bdf1ff", children: [ + // {isshow: "T", field: "completion_rate", name: "瀹屾垚鐜�", width: "100", headercolor: "#bdf1ff"}, + // {isshow: "T", field: "exploitation_rate", name: "寮�鍙戠巼", width: "100", headercolor: "#bdf1ff"}, + // {isshow: "T", field: "growth_rate", name: "澧為暱鐜�", width: "100", headercolor: "#bdf1ff"}, + // {isshow: "T", field: "reach_rate", name: "杈炬爣鍗犳瘮", width: "100", headercolor: "#bdf1ff",formatter:"formatter_percent",align:"right",suffix:"%"}, + // ]}, + // {isshow: "T", field: "", name: "涓昏璇勪及", headercolor: "#e5ffab", children: [ + // {isshow: "T", field: "customer_item", name: "瀹㈡埛璇勪及", width: "100", headercolor: "#e5ffab"}, + // {isshow: "T", field: "hospital_item", name: "鍖婚櫌璇勪及", width: "100", headercolor: "#e5ffab"}, + // {isshow: "T", field: "employee_item", name: "閿�鍞瘎浼�", width: "100", headercolor: "#e5ffab"}, + + // ]}, + ], + + stepStatus:['wait','process','finish','error','success'], + active:0, //鎸夐敭鏉冮檺璁剧疆 isedit: false,//鎻愪氦鍓嶇紪杈戯紝淇濆瓨/鎻愪氦 @@ -110,24 +291,24 @@ } else if (this.popupParames.sceneCode == "browse") {//鍙 - var newEntity_ = { - name: "md_org_account_criteria", - url: "root/data/getEntitySet", - paramsobj: {dataname: this.dataname,parent_id:this.popupParames.data.id}, - isnotoption: true, //true:涓嶆槸閫夐」 - } - this.dataRequest.push(newEntity_); + // var newEntity_ = { + // name: "md_org_account_criteria", + // url: "root/data/getEntitySet", + // paramsobj: {dataname: this.dataname,parent_id:this.popupParames.data.id}, + // isnotoption: true, //true:涓嶆槸閫夐」 + // } + // this.dataRequest.push(newEntity_); this.formAttr.disabled = true; } else if (this.popupParames.sceneCode == "edit") {//缂栬緫 - //鍔ㄦ�佽幏鍙栭粯璁ゆ暟鎹� - var newEntity_ = { - name: "md_org_account_criteria", - url: "root/data/getEntitySet", - paramsobj: {dataname: this.dataname,parent_id:this.popupParames.data.id}, - isnotoption: true, //true:涓嶆槸閫夐」 - } - this.dataRequest.push(newEntity_); + // //鍔ㄦ�佽幏鍙栭粯璁ゆ暟鎹� + // var newEntity_ = { + // name: "md_org_account_criteria", + // url: "root/data/getEntitySet", + // paramsobj: {dataname: this.dataname,parent_id:this.popupParames.data.id}, + // isnotoption: true, //true:涓嶆槸閫夐」 + // } + // this.dataRequest.push(newEntity_); // if (this.newformData) { // let formData_ = clone(this.formData); @@ -137,7 +318,6 @@ // } // this.formData = formData_; // } - this.isedit = true; this.isedit = true; } else if (this.popupParames.sceneCode == "approval") {//瀹℃壒 @@ -165,53 +345,23 @@ me.dataRequestObj = data; //棰勫姞杞芥暟鎹悗缁欏摢浜涘瓧娈佃缃畂ptions鎴杅ormatterjson if (me.dataRequestObj.md_org_account_criteria_rule) { - var formData_group_ = [] - // var formdata_obj = {} - formData_group_ = me.dataRequestObj.md_org_account_criteria_rule - me.formData_ = formData_group_ - me.formData_group = [...new Set(formData_group_.map(e=>e.group_name))] - // me.formData_group.push(formData_group_.filter(e=>e.group_code == 'Objective')[0]) - // me.formData_group.push(formData_group_.filter(e=>e.group_code == 'Subjective')[0]) - // me.formData_group.map(e=>e['children'] = []) - - // me.formData_group.map(e=>{ - // formData_group_.map() - // }) - // console.log(me.formData_group) - // me.formData_group.map(e=>{ - // // me.formdata_obj[e.group_code] = [] - // e[children] - // }) - // Object.assign() - } - if (me.dataRequestObj.md_org_account_criteria) { - var formData_ = [] - formData_ = me.dataRequestObj.md_org_account_criteria.data.entityset - // formData_.m - me.formData_.map(g=>{ - formData_.map(e=>{ - if (g.id == e.criteria_id) { - e['group_name'] = g.group_name - e['group_code'] = g.group_code - e['content_before'] = g.content_before - e['content_type'] = g.content_type - } - }) + var obj_ = {} + me.formFields_criteria = me.dataRequestObj.md_org_account_criteria_rule; + me.formFields_criteria.map(e=>{ + if (!obj_[e.group_code]) { + + var obj = {} + obj_[e.group_code] = e.group_code + obj_[e.group_name] = e.group_name + //obj_鐢ㄤ綔妫�娴嬫槸鍚﹂噸澶嶏紝鑻ユ湭閲嶅锛屽垯灏嗚obj鏀惧叆(鑰屼笉鏄斁鍏bj_) 鏋勫缓鐨刦ormdata_rule_group缁撴瀯濡備笅 + // formdata_rule_group:[{group_name:'瀹㈣璇勫垎',group_code:'Objective',children:[]},{group_name:'涓昏璇勫垎',group_code:'Subjective',children:[]}], + obj['group_code'] = e.group_code + obj['group_name'] = e.group_name + obj['children'] = [] + // obj.children.push(e) + me.formdata_rule_group.push(obj) + } }) - me.formdata_obj.map(g=>{ - formData_.map(v=>{ - if (v.group_code == g.group_code) { - // v['content_before'] = g.content_before - g.children.push(v) - } - }) - }) - // formData_.map(e => { - // e['children'] = me.formData_group.filter(v => v.id == e.criteria_id).length > 0 ? me.formData_group.filter(v => v.id == e.criteria_id)[0] : {} - // formdata_obj[e.] - // }) - console.log(me.formdata_obj) - } if (me.dataRequestObj.md_geo_county) { var md_geo_county_obj_ = {}; @@ -287,6 +437,49 @@ initData() { let me = this; var id_ = null; + 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) { + + // } + if (result.data.md_org_account_criteria && result.data.md_org_account_criteria.length>0) { + var criteria_data = [] + me.formData_criteria = result.data.md_org_account_criteria + me.formFields_criteria.map(f=>{ + me.formData_criteria.map(v=>{ + if (f.id == v.criteria_id) { + var obj_ = {} + Object.assign(obj_,f,v) + criteria_data.push(obj_) + } + }) + }) + me.formdata_rule_group.map(g => { + criteria_data.map(v => { + if (v.group_code == g.group_code) { + g.children.push(v) + } + }) + }) + } + else { + me.formdata_rule_group.map(g=>{ + me.formFields_criteria.map(f=>{ + if(f.group_code == g.group_code) { + g.children.push(f) + } + }) + }) + } + if (result.meta) { + me.fieldsToFieldsObj(); + + //璁剧疆瀛楁浜嬩欢 + me.tableFieldClick(); + } + }) }, @@ -381,105 +574,83 @@ } }); }, - open_terminallist(obj) { - var me = this; - Root.showPopup({ - url: "../md/customer/popup/customer_list.html", - width: 800, - height: 550, - data: this.oldObj, - dataname: "customer", - callback: function(obj, callback) { - let formData_ = clone(me.formData); - formData_.customer_name = obj.row.md_description; - formData_.customer_code = obj.row.md_code; - formData_.customer_id = obj.row.id; - - me.formData = formData_; - if (callback) { - callback(); - } - } - }); - }, - open_productlist(obj) { - var me = this; - Root.showPopup({ - url: "../md/product/popup/sku_list.html", - width: 800, - height: 550, - callback: function(obj, callback) { - let formData_ = clone(me.formData); - - formData_.product_id = obj.row.id; - formData_.product_code = obj.row.md_code; - formData_.product_name = obj.row.md_description; - //formData_.spec = obj.row.pack_specification; - - me.formData = formData_; - if (callback) { - callback(); - } - } - }); - }, - tablepopup_customerlist(obj) { - var me = this; - Root.showPopup({ - url: "../md/customer/popup/customer_list.html", - width: 800, - height: 550, - data: this.oldObj, - dataname: "customer", - callback: function(callbackobj, callback) { - obj.row.customer_code = callbackobj.row.md_code - obj.row.customer_name = callbackobj.row.md_description + stepClick(index) { + console.log(index) + }, + onNodeClick(data) { + console.log(data) + }, + openDetail(row) { + + this.$nextTick(() => { + this.activities.map(e => { + if (e.id == row.id) { + document.getElementById(e.content).classList.add("card-body") + document.getElementById(e.content).getElementsByClassName("el-descriptions__body")[0].classList.add("card-body") + } + else { + document.getElementById(e.content).classList.remove("card-body") + document.getElementById(e.content).getElementsByClassName("el-descriptions__body")[0].classList.remove("card-body") + } + if (e.id == row.id) { + document.getElementById(e.id).getElementsByClassName("el-timeline-item__node--normal")[0].classList.add("timeline-node") + } + else { + document.getElementById(e.id).getElementsByClassName("el-timeline-item__node--normal")[0].classList.remove("timeline-node") + } + }) + }) + + var me = this; + var data_ = {}; + var text_ = row.content+"璇︽儏" + var config = { + totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮� + width: "500px", + height: "80vh", + icon: "icon-product", + text: text_, + id: uuid_short(),//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈� + url: "module/md/page/customer/page/404.html", + data: data_, + delta: {}, + // filter: "org_id='"+ me.selectedrow.org_id + "' and bu_id='" + me.selectedrow.bu_id + "'", + sceneCode: 'browser',//"refuseedit",//"approval", //"add"//"browse", + callback: function(popupobj, popupcallback) { + callback(popupobj) + + if (popupcallback) { + popupcallback(); + } + } + }; + me.doPopupByPublic(config); + }, + openDocument() { + let me = this; + var row = {} + var config = { + totab: true, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮� + width: "1100px", + height: "520px", + icon: "icon-product", + text: "閬撮�変俊鎭�" + (row.customer_code ? ("-" + row.customer_code) : ""), + id: "evaluation_management_edit", + url: "module/md/page/customer/page/404.html", + data: row, + delta: {}, + sceneCode: 'browse',//"refuseedit",//"approval", //"add"//"browse", + callback: function(obj, callback) { + me.onQuery(); if (callback) { callback(); } } - }); + }; + me.doPopupByPublic(config); }, - tablepopup_terminallist(obj) { - var me = this; - Root.showPopup({ - url: "../md/customer/popup/customer_list.html", - width: 800, - height: 550, - data: this.oldObj, - dataname: "customer", - callback: function(callbackobj, callback) { - obj.row.terminal_id = callbackobj.row.id - obj.row.terminal_name = callbackobj.row.md_description - - if (callback) { - callback(); - } - } - }); - }, - tablepopup_productlist(obj) { - var me = this; - Root.showPopup({ - url: "../md/product/popup/sku_list.html", - width: 800, - height: 550, - callback: function(callbackobj, callback) { - obj.row.product_id = callbackobj.row.id; - obj.row.product_code = callbackobj.row.md_code; - obj.row.product_name = callbackobj.row.md_description; - obj.row.spec = callbackobj.row.pack_specification; - obj.row.pack = callbackobj.row.unit; - - if (callback) { - callback(); - } - } - }); - }, - //鎻愪氦 submitRowTable() { //蹇呭~椤规牎楠� @@ -498,108 +669,81 @@ //淇濆瓨 saveRowTable() { var me = this; - var operator_ = "save";//淇濆瓨 + var operator_ = "saveEntity";//淇濆瓨 + //鏁版嵁妫�楠� + var formData_criteria_ = [] + var formData_criteria_new = [] + var criteria_ = {} + + me.formdata_rule_group.map(g=>{ + formData_criteria_ = formData_criteria_.concat(g.children) + }) //缂栬緫椤甸潰鐨勮瘎鍒嗘暟鎹拰棰樼洰 + // 姣旇緝 formData_criteria_涓庡師鏁版嵁 + me.formData_criteria.map(fo=>{ + formData_criteria_.map(fn=>{ + if (fo.criteria_id == fn.criteria_id) { //fo涓柊澧炵殑棰樼洰涓嶅弬涓庢瘮杈� + var str1 = fo.criteria_id + fo.criteria_value + var str2 = fn.criteria_id + fn.criteria_value + if (str1 === str2){} + else { + formData_criteria_new.push(fn) + } + } + }) + }) - var entity_ = clone(this.formData); - var entity = {}; - for (var r in entity_) { - // if (entity_[r] || entity_[r] == "" || entity_[r] == false || entity_[r] == 0) { - entity[r] = entity_[r]; - // } - } - if(me.iscommit) { - operator_ = "commit";//鎻愪氦 - entity.state_code = "Open" - entity.state_name = "宸茬敓鏁�" - } + // me.formdata_rule_group.map(g=>{ + + // }) + + // var entity_ = clone(this.formData); + // var entity = {}; + // for (var r in entity_) { + // // if (entity_[r] || entity_[r] == "" || entity_[r] == false || entity_[r] == 0) { + // entity[r] = entity_[r]; + // // } + // } + // if(me.iscommit) { + // operator_ = "commit";//鎻愪氦 + // entity.state_code = "Open" + // entity.state_name = "宸茬敓鏁�" + // } let param = { - dataname: this.dataname, - // dataname: "md_org_customer", - // operator: operator_, + dataname: 'md_org_account_criteria', data: {}, } - param.data[this.dataname] = entity; - - Server.call("root/data/uniqueSaveEntity", param, function(result) { - console.log(result); - if (result.success) { - if(me.iscommit){ - me.iscommit = false; - Root.message({ - type: 'success', - message: '鎻愪氦鎴愬姛' - }); - me.saveAfter(); - } - else { - Root.message({ - type: 'success', - message: '淇濆瓨鎴愬姛' - }); - me.saveAfter(); - } + if (formData_criteria_new.length > 0) { + let param = { + dataname: "md_org_account_criteria", + data: {}, } - }, function(errorresult) { - console.log("閿欒淇℃伅", errorresult); - if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) { - if (errorresult.messages.list) { - me.iscommit = false; - var config = { - totab: false, - // width: "1200px", - // height: 800, - icon: "icon-product", - text: "閿欒淇℃伅", - url: "module/tool/page/popup_error_messages.html", + param.data['md_org_account_criteria'] = formData_criteria_; + Server.call("root/data/saveEntity", param, function (result) { + console.log(result); + if (result.success) { + let formData_criteria_history = clone(me.formData_criteria) + formData_criteria_history.map(e =>{ + e['data_id'] = e.id + delete e.id + }) + let param_ = { + dataname: 'md_org_account_criteria_history', data: {}, - delta: errorresult.messages.list, - callback: function(obj, callback) { - if (callback) { - callback(); - } + } + param_.data['md_org_account_criteria_history'] = formData_criteria_history; + Server.call("root/data/saveEntity", param_, function (result2) { + if (result2.success) { + Root.message({ + type: 'success', + message: '淇濆瓨鎴愬姛' + }); + me.saveAfter(); } - }; - me.doPopupByPublic(config); + + }); } - } - else if (errorresult.exists_errors && errorresult.exists_errors.length) { - var messages_list = [] - var index_ = 0; - errorresult.exists_errors.map(r=>{ - index_ ++; - var messages_ = { - step: index_, - level: "Error", - message: r.title - } - messages_list.push(messages_) - }) - me.iscommit = false; - var config = { - totab: false, - // width: "1200px", - // height: 800, - icon: "icon-product", - text: "閿欒淇℃伅", - url: "module/tool/page/popup_error_messages.html", - data: {}, - delta: messages_list, - callback: function(obj, callback) { - if (callback) { - callback(); - } - } - }; - me.doPopupByPublic(config); - } - else { - me.iscommit = false; - Root.message({ - type: 'error', - message: '鎻愪氦澶辫触' - }); - } - }); + }) + } }, } @@ -655,6 +799,29 @@ text-decoration: underline; cursor: pointer; } + div .h_table .h_h_table { + display: none; + } + div .custom-tree-node { + font-size: 14px; + } + div .custom-tree-node .nodeLabel{ + max-width: 100%; + } + div .el-card__header { + padding: 10px 20px; + } + .el-card { + cursor: pointer; + } + .card-body { + background: #f0f7ff !important; + /* line-height: 32px; */ + color: rgba(78, 151, 255, 1) !important; + } + .timeline-node { + background: rgba(78, 151, 255, 1) !important; + } </style> </head> @@ -667,6 +834,7 @@ <div class="dialog-title"> <i class="iconfont icon-customermanagement"></i> <span> {{title}}</span> + <el-button style="float: right;right: 10%;" @click="openDocument()">閬撮�夎烦杞�</el-button> </div> </div> <div :style="{height: dheight + 'px', 'overflow-y': 'auto'}"> @@ -674,15 +842,15 @@ <div class="el-dialog__body"> <!-- <div v-if="showtab.SYPG && activeTabName=='SYPG' && activeTabName_detail=='YWNL'"> --> <div> - <div style="width: 100%; float: right;"> + <div style=" border: 1px solid #C0C4CC ;padding: 5px"> <div > <el-row style="display: flex;flex-direction: row;justify-content:space-between;padding-left: 91px;" > - <el-col :span="16"><div class="itemgroup_field"><span>璇勫垎椤�</span></div></el-col> - <el-col :span="8"><div class="itemgroup_field"><span>璇勫垎</span></div></el-col> + <el-col :span="6"><div class="itemgroup_field" style="font-size: 14px;font-weight: bold;margin-right: 10px;"><span>璇勫垎椤�</span></div></el-col> + <el-col :span="18"><div class="itemgroup_field" style="font-size: 14px;font-weight: bold;"><span>璇勫垎</span></div></el-col> </el-row> <div style="width: 100%;height: 5px;margin: 10px 0px 25px 0px;background-color: gainsboro; opacity: 40%;"></div> - <template v-for="(formgroup, k) in formdata_obj"> + <template v-for="(formgroup, k) in formdata_rule_group"> <div style="display: flex;justify-content: space-between;padding: 5px;"> <div style="width: 7%; display: flex; align-items: center; justify-content: center; text-align: center;font-weight: bold;border-right: 3px solid gainsboro;"> <div style="display: flex;justify-content: center;align-items: center;margin-right: 15px;"> @@ -693,7 +861,7 @@ <div style="width: 93%;padding: 0 10px;"> <el-row v-for="(unitobj, kc) in formgroup.children" :key="'YWNL' + k + kc" class="me_h_itemgroup_row"> - <el-col :span="12" class="itemgroup_row_item"> + <el-col :span="6" class="itemgroup_row_item"> <div> <span :class="[unitobj.required_no ? 'me_h_nounitlabel' : 'me_h_unitlabel']" style="font-size: 13px;"> <!-- {{unitobj.content_before}} --> @@ -701,7 +869,7 @@ </span> </div> </el-col> - <el-col :span="12" > + <el-col :span="18" > <div v-if="unitobj.content_type == 'textarea'"> <el-input style="width:100%" type="textarea" v-model="unitobj.criteria_value"> @@ -756,7 +924,63 @@ </div> </div> </div> + <el-row> + <el-col :span="12" style="padding-right: 10px;" > + <el-card class="box-card" style="height: 408px;overflow: auto;"> + <div slot="header" class="clearfix"> + <span style="font-size: 14px;font-weight: bold;">鎺ㄥ箍杩囩▼</span> + </div> + <el-timeline :reverse="false" style="padding-top: 10px;"> + <!-- <el-timeline-item @click.native="openDetail(activity)" + v-for="(activity, index) in activities" + :key="index" + :timestamp="activity.timestamp"> + {{activity.content}} + </el-timeline-item> --> + <el-timeline-item :reverse="false" :id="row.id" v-for="(row, k) in activities" :key="k" :timestamp="row.timestamp" placement="top"> + <div @click="openDetail(row)"> + <el-card :id="row.content" shadow="hover"> + <el-descriptions :title="row.content" :column="1" size="mini"> + </el-descriptions-item> + <el-descriptions-item label="澶囨敞">{{row.remark}}</el-descriptions-item> + </el-descriptions> + </el-card> + </div> + </el-timeline-item> + </el-timeline> + </el-card> + + </el-col> + <el-col :span="12" style="padding-right: 10px;" > + <el-card class="box-card" style="height: 408px;overflow: auto;"> + <div slot="header" class="clearfix" style="height: 20%;"> + <span style="font-size: 14px;font-weight: bold;" >娴佸悜姹囨��</span> + </div> + <h-tree + :isfilter="true" + :tree-data="treeData" + :tree-txt-formatter="treeTxtFormatter" + :currentnodekey="currentnodekey" + :is-readonly="true" + :maxlevel="maxlevel" + :default-expand-all="false" + :default-expanded-keys="defaultExpandedKeys" + :isbottomadd="true" + + @node-click="onNodeClick" + > + </h-tree> + </el-card> + + <!-- + + --> + </div> + </el-col> + + </el-row> </div> + <div class="el-dialog__footer" style="position: absolute; bottom: 0px; left: 0px; right: 0px;"> <el-button size="small" type="default" @click="closeDialog">鍙� 娑�</el-button> <el-button size="small" v-if="isedit || isrefuseedit" type="primary" :loading="loading_save" @click="saveRowTable":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button> -- Gitblit v1.8.0