From 0bfa9ba84cf3a96e42b15b3cb3779076a27d6520 Mon Sep 17 00:00:00 2001 From: tom <tom.he@highdatas.com> Date: 星期日, 04 八月 2024 17:04:15 +0800 Subject: [PATCH] 调整 --- module/md/page/customer/page/evaluation_management_edit.html | 1044 ++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 648 insertions(+), 396 deletions(-) diff --git a/module/md/page/customer/page/evaluation_management_edit.html b/module/md/page/customer/page/evaluation_management_edit.html index 35ea2c0..0a79b73 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,25 @@ 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['type_code'] = e.type_code + obj['type_name'] = e.type_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,8 +439,54 @@ 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(); + } + }) }, + // change(e){ + // this.$forceUpdate(); + // }, tableFieldClick() { var me = this; @@ -296,68 +494,7 @@ this.tablefieldClick = {}; //琛ㄥ崟瀛楁浜嬩欢璁剧疆 - this.formfieldClick = { - province: {//瀛楁浜嬩欢璁剧疆 - select: { - onchange: function(obj, refreshCallback) {//涓嬫媺灞曞紑浜嬩欢 - obj.data.province = obj.selectoption.value || ""; - obj.data.city = ""; - obj.data.county = ""; - refreshCallback(); - // me.$set(me.tabsobj.DDWL, "formData", me.tabsobj.DDWL.formData); - // var formData_ = clone(me.tabsobj.DDWL.formData); - // me.tabsobj.DDWL.formData = formData_; - }, - }, - }, - city: {//瀛楁浜嬩欢璁剧疆 - visible: { - onchange: function(obj,row,callback) {//涓嬫媺灞曞紑浜嬩欢 - if (me.formData.province) { - var formFields_ = clone(me.formFields); - formFields_.map(f=>{ - if (f.field == "city") { - if (me.md_geo_city_obj[me.formData.province] && me.md_geo_city_obj[me.formData.province].length) { - f.options = clone(me.md_geo_city_obj[me.formData.province]) - } - } - }) - me.formFields = clone(formFields_); - } - } - }, - select: { - onchange: function(obj,refreshCallback) {//涓嬫媺灞曞紑浜嬩欢 - obj.data.city = obj.selectoption.value || ""; - obj.data.county = ""; - refreshCallback() - }, - }, - }, - county: { - visible: { - onchange: function(fieldObj, row, callback) {//涓嬫媺灞曞紑浜嬩欢 - if (me.formData.city) { - var formFields_ = clone(me.formFields); - formFields_.map(f=>{ - if (f.field == "county") { - if (me.md_geo_county_obj[me.formData.city] && me.md_geo_county_obj[me.formData.city].length) { - f.options = clone(me.md_geo_county_obj[me.formData.city]) - } - } - }) - me.formFields = clone(formFields_); - } - }, - }, - select: { - onchange: function(obj,refreshCallback) {//涓嬫媺灞曞紑浜嬩欢 - obj.data.county = obj.selectoption.value - refreshCallback() - } - } - }, - }; + this.formfieldClick = {}; }, open_customerlist(obj) { @@ -381,105 +518,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 +613,85 @@ //淇濆瓨 saveRowTable() { var me = this; - var operator_ = "save";//淇濆瓨 - - 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 = "宸茬敓鏁�" - } + 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) + } + } + }) + }) + let formData_criteria_history = clone(me.formData_criteria) + formData_criteria_history.map(e =>{ + e['data_id'] = e.id + delete e.id + }) + // 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 +747,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> @@ -671,92 +786,229 @@ </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 v-if="showtab.SYPG && activeTabName=='SYPG' && activeTabName_detail=='YWNL'"> --> + <div class="el-dialog__body" style="width: 100%; " > <div> - <div style="width: 100%; float: right;"> - <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-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"> - <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="12" class="itemgroup_row_item"> - <div> - <span :class="[unitobj.required_no ? 'me_h_nounitlabel' : 'me_h_unitlabel']" style="font-size: 13px;"> - <!-- {{unitobj.content_before}} --> - {{unitobj.content_before}} - </span> - </div> - </el-col> - <el-col :span="12" > - <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 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.filter(e=>e.type_code == 'Selection')" > + <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 style="width: 100%;height: 5px;margin: 25px 0px;background-color: gainsboro;opacity: 40%"></div> - </template > + </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 :disabled="formAttr.disabled" 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 :disabled="formAttr.disabled" 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 :disabled="formAttr.disabled" 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 :disabled="formAttr.disabled" style="width:100%" + v-model="unitobj.criteria_value"> + </el-input> + </div> + <div v-else-if="unitobj.content_type == 'date'"> + <el-date-picker + :disabled="formAttr.disabled" + 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 :disabled="formAttr.disabled" 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 :disabled="formAttr.disabled" 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> + <div style="width: 100%;height: 5px;margin-top: 25px;background-color: gainsboro;opacity: 40%"></div> + </template > </div> </div> + <div class="el-dialog__body" style="width: 100%; " > + <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.filter(e=>e.type_code == 'Evaluation')" > + <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 :disabled="formAttr.disabled" 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 :disabled="formAttr.disabled" 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 :disabled="formAttr.disabled" 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 :disabled="formAttr.disabled" style="width:100% " + v-model="unitobj.criteria_value"> + </el-input> + </div> + <div v-else-if="unitobj.content_type == 'date'"> + <el-date-picker + :disabled="formAttr.disabled" + 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 :disabled="formAttr.disabled" 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 :disabled="formAttr.disabled" 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-top: 25px;background-color: gainsboro;opacity: 40%"></div> + </template > + </div> + </div> + <el-row v-if="formFields_criteria && formFields_criteria.length>0" > + <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