From f9d42f7a3929dacb96446e873ab992f9560ac9c9 Mon Sep 17 00:00:00 2001 From: zhangyanpeng <bob.zhang@highdatas.com> Date: 星期二, 20 八月 2024 12:21:05 +0800 Subject: [PATCH] 调整 --- module/flow/page/cleanHome.html | 528 +++++++++++ css/myelement.css | 9 js/myelement.js | 2 module/fee/page/popup/popup_edit_fee_execute.html | 951 ++++++++++++++++++++ module/fee/page/popup/popup_edit_fee_qty.html | 951 ++++++++++++++++++++ module/system/page/main.html | 20 js/config.js | 2 module/fee/page/fee_execute.html | 334 +++++++ 8 files changed, 2,785 insertions(+), 12 deletions(-) diff --git a/css/myelement.css b/css/myelement.css index ecf9620..52fc6ca 100644 --- a/css/myelement.css +++ b/css/myelement.css @@ -390,7 +390,16 @@ .h_table .el-input--mini .el-input__inner { height: 24px; line-height: 24px; + text-align: right; + padding-left: 5px; + padding-right: 5px; } + +.h_table .el-input-number .el-input-number__decrease, +.h_table .el-input-number .el-input-number__increase { + display: none; +} + .h_table .el-input--mini .el-input__icon { line-height: 26px; } diff --git a/js/config.js b/js/config.js index e72d157..3fdb7e8 100644 --- a/js/config.js +++ b/js/config.js @@ -14,7 +14,7 @@ config = { - jscssversion: "2024080201", //.js/.css鏂囦欢鐨勭増鏈彿锛屽幓闄ゅ墠绔紦瀛樼殑涓�绉嶆満鍒� + jscssversion: "2024081901", //.js/.css鏂囦欢鐨勭増鏈彿锛屽幓闄ゅ墠绔紦瀛樼殑涓�绉嶆満鍒� isupgrading: false, //鏄惁鍗囩骇涓� appName: "TPP", title: "钀ラ攢涓�浣撳寲杩愯惀骞冲彴", diff --git a/js/myelement.js b/js/myelement.js index 9c453ab..02cf998 100644 --- a/js/myelement.js +++ b/js/myelement.js @@ -1985,7 +1985,7 @@ // 鏁版嵁鍔犺浇鏃剁殑杞湀鍦� '<div v-loading="istableloading" v-if="istableloading" class="h_table_loading"></div> '+ // 琛ㄦ牸宸ュ叿鏍� - 鏍囬銆佸姛鑳界粍銆佸閫� - '<div v-if="isshowtool && ((tableAttr.istitle && tableAttr.title) || (istablebuttons && tablebuttons.length) || ((isbasicfilterfields && (tableAttr.toolbarobj && tableAttr.toolbarobj.isbasicfilterfields) && tableBasicFilterFields.length) || (isfilterfield && (tableAttr.toolbarobj && tableAttr.toolbarobj.isfilterfield))) || (tableAttr.tag && tableAttr.tag.name)) || ((tableAttr.toolbarobj && ((isbasicfilterfields && tableAttr.toolbarobj.isbasicfilterfields) || (tableAttr.toolbarobj.more_datalist && tableAttr.toolbarobj.more_datalist.length))) || (isshowShoppingcart && (tableAttr.isSelection || isSelection)) || (tableToolButtons && tableToolButtons.length))" class="h_h_table" :ref="\'h_tabletool\' + href"> '+ + '<div v-if="isshowtool && ((tableAttr.istitle && tableAttr.title) || (istablebuttons && tablebuttons.length) || ((isbasicfilterfields && (tableAttr.toolbarobj && tableAttr.toolbarobj.isbasicfilterfields) && tableBasicFilterFields.length) || (isfilterfield && (tableAttr.toolbarobj && tableAttr.toolbarobj.isfilterfield))) || (tableAttr.tag && tableAttr.tag.name)) || ((tableAttr.toolbarobj && (tableAttr.toolbarobj.more_datalist && tableAttr.toolbarobj.more_datalist.length)) || (isshowShoppingcart && (tableAttr.isSelection || isSelection)) || (tableToolButtons && tableToolButtons.length))" class="h_h_table aaa" :ref="\'h_tabletool\' + href"> '+ // 琛ㄦ牸鏈韩鍔熻兘锛堟爣棰樸�佸瓧娈甸『搴忋�佽〃鍒锋柊銆佽〃鏍囩锛� '<div v-if="(tableAttr.istitle && tableAttr.title) || (istablebuttons && tablebuttons.length) || ((isbasicfilterfields && (tableAttr.toolbarobj && tableAttr.toolbarobj.isbasicfilterfields) && tableBasicFilterFields.length) || (isfilterfield && (tableAttr.toolbarobj && tableAttr.toolbarobj.isfilterfield))) || (tableAttr.tag && tableAttr.tag.name)" class="h_table_tool_left">'+ // 鏍囬 diff --git a/module/fee/page/fee_execute.html b/module/fee/page/fee_execute.html new file mode 100644 index 0000000..aa2d175 --- /dev/null +++ b/module/fee/page/fee_execute.html @@ -0,0 +1,334 @@ +<!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 ListVue({ + el: "#vbody", + data: { + dataname: "fee_guide_settle_execute", + title: "鎵ц鍗�", + orderby: "", + filterfieldClick: {}, + tablefieldClick: {}, + formfieldClick: {}, + + dataRequest: [], + dataRequestObj:{}, + + filterFields: [], + tableFields: [], + cbuttons_r: {}, + ctabs_r: {}, + isCustomer: false, + }, + created() { + this.isCustomer = window.top.vue.isCustomer + }, + mounted() { + var me = this; + if (window.top.tab.selected.option.page_id) { + this.title = window.top.tab.selected.option.menutitle + getPageByPageId(window.top.tab.selected.option.page_id, function(result){ + me.cbuttons_r = result.buttons_r; + //棰勫姞杞芥暟鎹� + if (me.dataRequest && me.dataRequest.length) { + var result = {}; + me.loadRequestData(me.dataRequest, result, function(data) { + me.dataRequestObj = data; + //棰勫姞杞芥暟鎹悗缁欏摢浜涘瓧娈佃缃畂ptions鎴杅ormatterjson + + me.initData(); + }); + } + else { + me.initData(); + } + + me.$nextTick(() => { // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂� + hideLoading(); + }); + }) + } + }, + methods:{ + initData() { + var me = this; + + this.onQuery(function(result, callback) {//鏌ヨ鍚庣殑鍥炶皟锛岀敤浜庤幏鍙栧瓧娈电殑 + if (result.meta && result.meta[me.dataname] && result.meta[me.dataname].fields) { + var metas = clone(result.meta[me.dataname].fields); + var filterFields_ = []; + var tableFields_ = []; + + metas.map(f=>{ + f.isshow = "T"; + if (f.field == "md_org_account__bu_name") { + f.optionsgroup = "bu" + } + if (f.field == "md_org_account__company_name") { + f.optionsgroup = "company" + } + if (f.field == "province") { + f.options = me.dataRequestObj.md_province + } + + if (f.field == "is_editable") { + f.isshow = "F" + } + if (me.isCustomer && f.field == "md_position_hierarchy__position_path") { + f.isshow = "F" + f.isfilter = false + } + + if (f.isfilter) { + if (f.field == "state_name") { + f.filterfield = "state_code"; + f.options = me.dataRequestObj.machine_state; + } + filterFields_.push(clone(f)); + } + + else { + var filter_f = clone(f); + filter_f.isshow = "F"; + filterFields_.push(filter_f); + } + + tableFields_.push(clone(f)); + }) + if (!me.filterFields || (me.filterFields && me.filterFields.length == 0)) { + me.filterFields = clone(filterFields_); + me.tableFields = clone(tableFields_); + + //瀛楁鏁扮粍杞瓧娈祇bj锛岀洰鐨勪负浜嗙瓫閫夋椂鑾峰彇瀛楁灞炴�� + me.fieldsToFieldsObj(); + + //璁剧疆瀛楁浜嬩欢 + me.tableFieldClick(); + } + } + + if (callback) { + callback(); + } + }); + }, + + tableFieldClick() { + var me = this; + //琛ㄦ牸瀛楁浜嬩欢璁剧疆 + this.tablefieldClick = { + state_name: {//鐘舵�� + val: {//鏈夊�兼椂鐨勭偣鍑讳簨浠� + notclick_val: ["鑽夌","褰曞叆"],//涓嶅彲鐐瑰嚮鐨勫��,1銆佹槸鏁扮粍["11","22"]锛�2銆佷互鈥�;鈥濆垎闅旂殑瀛楃涓�"111;222" + notclick_bindfield: [], + onclick: function(obj) { + var config = { + totab: false, + width: "1100px", + height: "520px", + icon: "icon-product", + text: "娴佺▼姝ラ", + id: "popup_workflow_step_user" + obj.row.id, + url: "module/tool/page/popup_workflow_step_user.html?v=2023020703", + data: obj.row, + delta: {},//{machine_code: "Org_Account_Open"}, + sceneCode: "browse",//"refuseedit",//"approval", //"add"//"browse", + callback: function(obj, callback) { + if (callback) { + callback(); + } + } + }; + me.doPopupByPublic(config); + }, + }, + }, + code: {//瀛楁浜嬩欢璁剧疆 + val: {//鏈夊�兼椂鐨勭偣鍑讳簨浠� + notclick_val: "",//涓嶅彲鐐瑰嚮鐨勫��,1銆佹槸鏁扮粍["11","22"]锛�2銆佷互鈥�;鈥濆垎闅旂殑瀛楃涓�"111;222" + notclick_bindfield: [],//褰撹瀛楁鍊肩瓑浜庢寚瀹氬瓧娈靛�兼椂涓嶅彲鐐瑰嚮["filterfield": "111"] + onclick: function(obj) {//鏁版嵁鍊肩偣鍑讳簨浠� + var sceneCode_ = "browse"; + //濡傛灉鏄垱寤轰汉涓旀槸褰曞叆鐘舵�佹垨閫�鍥炵姸鎬佸垯鏄紪杈戠姸鎬� + if (obj.row.creator_id == window.top.vue.userinfo.id && (obj.row.state_code == "Input" || obj.row.state_code == "input" || obj.row.state_code == "Rejected")) { + sceneCode_ = "edit"; + } + + var config = { + totab: true, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮� + width: "1100px", + height: "520px", + icon: "icon-product", + text: "鍟嗕笟淇℃伅 " + (obj.row.name ? obj.row.name : ""), + id: "customer_edit_browse" + obj.row.id,//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈� + url: "module/md/page/customer/page/customer_edit.html", + data: obj.row, + delta: {closeCode:"1"}, + sceneCode: sceneCode_,//"refuseedit",//"approval", //"add"//"browse", + callback: function(obj, callback) { + me.onQuery(); + if (callback) { + callback(); + } + } + }; + me.doPopupByPublic(config); + }, + }, + }, + }; + }, + + rowClick(obj) { + var me = this; + me.selectedrow = obj.row; + }, + + editData(sceneCode) { + var me = this; + var row = me.selectedrow; + if(!row){ + Root.message({ + type: 'warning', + message: '璇烽�夋嫨涓�鏉℃暟鎹�' + }); + return; + } + var config = { + totab: true, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮� + width: "900px", + height: "500px", + icon: "icon-product", + text: "鏁伴噺鍗曠紪杈�", + id: "popup_edit_fee_qty" + sceneCode + row.id,//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈� + url: "module/fee/page/popup/popup_edit_fee_qty.html", + data: row, + delta: {}, + sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse", + callback: function(obj, callback) { + me.onQuery(); + if (callback) { + callback(); + } + } + }; + me.doPopupByPublic(config); + }, + + onDownload() { + let me = this; + var filter_ = "1 = 1"; + filter_ = this.getFilterData(filter_); + console.log("download", filter_); + let param = { + sign: "md_org_data", + filename: '缁忛攢鍟嗘柊澧炲鍑�' + String(new Date().getTime()), + filter: filter_, + orderby: "update_time desc", + token: Root.getToken() + } + + me.textdownloadForm(param); + }, + + textdownloadForm(params) {//post鏂囦欢娴佷笅杞� + let form = document.createElement('form'); + form.id = 'form_download'; + form.name = 'form_download'; + document.body.appendChild(form); + //寰幆鍒涘缓input妗� + for (let obj in params) { + if (params.hasOwnProperty(obj)) { + let input = document.createElement('input') + input.type = 'hidden' + input.name = obj; + input.value = params[obj] + form.appendChild(input) + } + }; + form.method = 'post'; //璇锋眰鏂瑰紡 + form.action = window.top.config.url_root + "root/exports/exportSheetsExcel?token=" + Root.getToken(); + form.submit(); // form琛ㄥ崟鎻愪氦 + + document.body.removeChild(form); // 绉婚櫎鍒涘缓鐨勫厓绱� + }, + + } + }); + }; + loadJsCss(function () { + initVue(); + }); + </script> + </head> + + <body style="margin: 0px;" > + <div v-cloak id="vbody"> + <div id="page_root"> + <div class="topbar"> + <span :class="page_title == 'right' ? 'h_page_title_right' : 'h_page_title_left'"><span class="h_page_title_txt">{{title}}</span></span> + + <div :class="page_title == 'right' ? 'h_page_button_left' : 'h_page_button_right'"> + <el-button-group style="margin-left: 3px;"> + <el-button :disabled="!(selectedrow.id)" @click="editData('edit') " :icon="buttonsconfig.alter.icon":icon="buttonsconfig.alter.icon">{{buttonsconfig.alter.name}}</el-button> + </el-button-group> + + <el-button v-show="cbuttons_r.export ? cbuttons_r.export : false" @click="onDownload" :icon="buttonsconfig.export.icon">{{buttonsconfig.export.name}}</el-button> + </div> + </div> + + <div class="h_dialog__body"> + <h-table + v-if="isRefresh" + ref="table1" + :table-fields="tableFields" + :table-data="tableData" + :is-edit-table-data="isEditTableData" + :table-field-click="tablefieldClick" + :pagesize="pagesize" + :pagenum="pagenum" + :total="total" + :table-height="tableHeight" + :is-highlight-row="true" + :isdraggableorder="false" + v-on:get-data="getData" + + v-on:cell-click="cellClick" + v-on:row-click="rowClick" + > + </h-table> + </div> + </div> + + </div> + <div id="page_loading" style="position: absolute; top:0px; width: 100vw; height: 50vh;"> + <div class="spinner"> + <div class="cube1"></div> + <div class="cube2"></div> + </div> + </div> + + <style> + [v-cloak] { + display: none !important; + } + .prefixclass { + width: 10px; + height: 10px; + border-radius: 5px; + background-color: #e6372b; + display: inline-block; + } + </style> + </body> +</html> diff --git a/module/fee/page/popup/popup_edit_fee_execute.html b/module/fee/page/popup/popup_edit_fee_execute.html new file mode 100644 index 0000000..029b720 --- /dev/null +++ b/module/fee/page/popup/popup_edit_fee_execute.html @@ -0,0 +1,951 @@ +<!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: "fee_guide_settle_execute", + table_dataname: "fee_working_out_base_execute", + title: "鎵ц鍗曚俊鎭�", + dataRequest: [ + { + name: "fee_working_out_base_execute", // 涓氬姟璐熻矗浜哄瓧娈� + dataname: "fee_working_out_base_execute", + url: "root/data/getEntitySet", + paramsobj: {dataname: "fee_working_out_base_execute", attachMeta: true, filter: "1<>1"}, + isnotoption: true, //true:涓嶆槸閫夐」 + } + ], + meta_fee_working_out_base_execute: [], + + options_md_org_master: [], + md_bu_org_obj: {}, + options_md_bu: [], + productobj_map: {}, + md_bu_product_obj: {}, + md_bu_product_bu_obj: {}, + md_prod_sku_obj: {}, + + formAttr: { + istitle: false, + title: "琛ㄥ崟鍚嶇О", + columnnumber: 3, + labelwidth: "100px", + labelposition: "left",//"left",// right//top + size: "mini", + border: "10px solid #c6c6c600", + borderleft: "0px" + }, + + formFields: [], + + newformData: { + state_code: "Input", + state_name: "褰曞叆", + is_active: true, + source: "鎵嬪姩褰曞叆", + type_code: "Customer", // Standard鏍囧噯浠风洰琛ㄣ�丆ustomer缁忛攢鍟嗕环鐩〃 + }, + formData: {}, + + isRefresh: true, + tableFields: [], + tableData: [], + //瀛楁璁剧疆 + tablefieldClick: {}, + pagesize: 10, + pagenum: 1, + total: 0, + tableHeight: 200, + tableloading: false, + + + //鎸夐敭鏉冮檺璁剧疆 + isedit: false,//鎻愪氦鍓嶇紪杈戯紝淇濆瓨/鎻愪氦 + isrefuseedit: false,//鎷掔粷鍚庣紪杈戯紝淇濆瓨/鍐嶆鎻愪氦 + isapproval: false,//瀹℃壒锛屽悓鎰�/鎷掔粷/杞姙/閫�鍥� + + iscommit: false,//鎻愪氦鏍囪 + + //寮圭獥鍙傛暟 + popupParames: {}, + + formfieldClick: {}, + dheight: null, + + agreementdata: {}, + options_product: [], + + //瀹℃壒鐩稿叧鍙橀噺 + reasonvisible:false,//瀹℃壒閫氳繃鎴栨嫆缁濆~鍐欏師鍥� + approveremark: '',//濉啓鐞嗙敱 + passOrRefuse:false, + loading_pass: false, + }, + created() { + this.popupParames = clone(Root.popupParames); + // this.title = this.popupParames.title || this.popupParames.text + if (this.popupParames.data) { + if (this.popupParames.data._datano) { + this.title = this.title + this.popupParames.data._datano; + } + this.formData = clone(this.popupParames.data); + } + if (this.popupParames.delta && this.popupParames.delta.dataname) { + this.dataname = clone(this.popupParames.delta.dataname); + } + + if (this.popupParames.delta && this.popupParames.delta.agreementdata) { + this.agreementdata = clone(this.popupParames.delta.agreementdata); + } + if (this.popupParames.delta && this.popupParames.delta.options_product) { + this.options_product = clone(this.popupParames.delta.options_product); + } + + 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_); + for (var k in this.popupParames.data) { + this.newformData[k] = this.popupParames.data[k] + } + this.isedit = true; + } + else if (this.popupParames.sceneCode == "browse") {//鍙 + this.formAttr.disabled = true; + } + else if (this.popupParames.sceneCode == "edit" || this.popupParames.sceneCode == "editbyagreement") {//缂栬緫 + this.isedit = true; + } + else if (this.popupParames.sceneCode == "approval") {//瀹℃壒 + this.formAttr.disabled = true; + this.isapproval = true; + + if (this.formData.current_step_name && this.formData.current_step_name == "杩愯惀閮ㄩ棬澶嶆牳") { + this.isedit = true; + } + + } + else if (this.popupParames.sceneCode == "refuseedit") {//鎷掔粷鍚庣殑缂栬緫 + this.isrefuseedit = true; + } + } + }, + + mounted() { + var me = this; + var title_h = 0; + if (me.popupParames.totab) { + title_h = 42; + } + me.dheight = document.documentElement.clientHeight - 50 - title_h; + //棰勫姞杞芥暟鎹� + 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]); + 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 (me.dataRequestObj.fee_working_out_base_execute) { + let meta_ = me.dataRequestObj.fee_working_out_base_execute.meta.fee_working_out_base_execute.fields; + meta_.map(f=>{ + f.isshow = "T"; + if (f.field == "_qty_trans" || f.field == "_qty_cal" || f.field == "_qty_final" || f.field == "_amt_final") { + f.isfixed = "right"; + } + }) + me.meta_fee_working_out_base_execute = clone(meta_) + } + me.initData(); + }); + } + else { + this.initData(); + } + + // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂� + this.$nextTick(() => { + hideLoading(); + }); + }, + + 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.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 == "company_id") { + // f.isshow = "F"; + f.options = me.options_md_org_master + } + + if (f.field == "product_id") { + f.props = {label: "value", value: "code", multiple: false}; + if (me.options_product.length) { + f.options = clone(me.options_product); + } + else 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 = []; + } + } + + // if (f.field == "customer_name" && (me.popupParames.sceneCode == "addbyagreement" || me.popupParames.sceneCode == "editbyagreement")) { + // f.disabled = true; + // } + // if ((f.field == "date_from" || f.field == "date_to") && (me.popupParames.sceneCode == "addbyagreement" || me.popupParames.sceneCode == "editbyagreement")) { + // f.isshow = false; + // } + + formFields_.push(clone(f)); + }) + if (!me.formFields || (me.formFields && me.formFields.length == 0)) { + me.formFields = clone(formFields_); + me.tableFields = clone(me.meta_fee_working_out_base_execute); + + //璁剧疆瀛楁浜嬩欢 + me.tableFieldClick(); + } + + if (me.formData.company_id) { + var formFields_ = clone(me.formFields); + formFields_.map(f=>{ + if (f.field == "bu_id") { + if (me.md_bu_org_obj[me.formData.company_id] && me.md_bu_org_obj[me.formData.company_id].length) { + f.options = clone(me.md_bu_org_obj[me.formData.company_id]) + } + } + }) + me.formFields = clone(formFields_); + } + + if (me.formData.product_id) { + var select_p_ = [me.formData.product_id]; + me.formData.product_id = clone(select_p_); + + var formFields_ = clone(me.formFields); + formFields_.map(f=>{ + if (f.field == "spec") { + if (me.formData.product_id) { + f.options = clone(me.md_prod_sku_obj[me.formData.product_id[0]]); + } + else { + f.options = []; + } + } + }) + me.formFields = clone(formFields_); + } + me.onTableQuery(); + } + }) + }, + + tableFieldClick() { + var me = this; + //琛ㄥ崟瀛楁浜嬩欢璁剧疆 + this.formfieldClick = { + type_code: { + select: { + onchange: function(obj,refreshCallback) {//涓嬫媺灞曞紑浜嬩欢 + obj.data.type_name = obj.selectoption.value || ""; + var formFields_ = clone(me.formFields); + formFields_.map(f=>{ + if (f.field == "account_name") { // f.field == "company_id" || f.field == "bu_id" || + if (obj.data.type_code == "Onsite") { // 浼樻儬浠锋牸 + f.required = false + } + else { + f.required = true + } + } + }) + me.formFields = clone(formFields_); + }, + }, + }, + _qty_trans: { + val: { + onchange: function(obj) { + var formData_ = clone(me.formData); + formData_._qty_trans = formData_._qty_trans * 1; + if (formData_._qty_cal) { + formData_._qty_final = (formData_._qty_cal * 1) - (formData_._qty_trans * 1) + formData_._amt_final = formData_._qty_final * formData_._taxunitprice + } + me.formData = clone(formData_); + } + }, + input: { + onchange: function(obj) { + var formData_ = clone(me.formData); + formData_._qty_trans = formData_._qty_trans * 1; + if (formData_._qty_cal) { + formData_._qty_final = (formData_._qty_cal * 1) - (formData_._qty_trans * 1) + formData_._amt_final = formData_._qty_final * formData_._taxunitprice + } + me.formData = clone(formData_); + } + } + }, + + }; + + this.tablefieldClick = { + _qty_trans: { + input: { + onchange: function(obj) { + obj.row._qty_trans = obj.row._qty_trans * 1; + if (obj.row._qty_cal) { + obj.row._qty_final = (obj.row._qty_cal * 1) - (obj.row._qty_trans * 1) + obj.row._amt_final = obj.row._qty_final * obj.row._taxunitprice + } + + me.saveTableRow(obj.row); + } + } + }, + } + }, + + saveTableRow(row) { + var me = this; + var entity_ = clone(row); + var entity = { + _qty_trans: entity_._qty_trans, + _qty_final: entity_._qty_final, + _amt_final: entity_._amt_final, + id: entity_.id + }; + + let param = { + dataname: me.table_dataname, + data: {}, + } + if (entity.id) { + param.id = entity.id + } + param.data[me.table_dataname] = entity; + Server.call("root/data/saveEntity", param, function(result) { + + }, function(errorresult) { + console.log("閿欒淇℃伅", errorresult); + if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) { + if (errorresult.messages.list) { + var config = { + totab: false, + 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].record_no + r.errors[0].record_name?r.errors[0].record_name: '' + "銆�" + } + messages_list.push(messages_) + }) + 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 { + Root.message({ + type: 'error', + message: '璋冩暣澶辫触' + }); + } + }); + }, + + 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); + }, + openOrg(sceneCode, obj, callback) { + var me = this; + var config = { + totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮� + width: "800px", + height: "520px", + icon: "icon-product", + text: "閫夋嫨閰嶉�佸晢", + id: "popup_customer",//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈� + url: "module/md/page/popup/page/popup_customer.html", + data: {}, + delta: "", + // filter: "category_code='"+ me.positiondata.org_id + "' and bu_id='" + me.positiondata.bu_id + "'", + filter: "is_distributor='T'", + sceneCode: "add",//"refuseedit",//"approval", //"add"//"browse", + callback: function(popupobj, popupcallback) { + callback(popupobj); + if (popupcallback) { + popupcallback(); + } + } + }; + me.doPopupByPublic(config); + }, + 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_hospital",//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈� + url: "module/md/page/popup/page/popup_hospital.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); + }, + + 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(); + } + } + }); + }, + + getData: function(page) { + this.pagesize = page.pagesize; + this.pagenum = page.pagenum; + // if (page.filtersobj) { + // this.filterObj = page.filtersobj; + // } + // this.selectedrow = {}; + this.onTableQuery(); + }, + onTableQuery() { + var me = this + let filter_ = "task_id='" + this.formData.id + "'"; + + let param_ = { + dataname: this.table_dataname, + filter: filter_, + orderby: "_dataNo", + page: { + pageno: this.pagenum, + pagesize: this.pagesize + }, + attachMeta: false + } + + me.tableData = []; + me.tableloading = true; + Server.call("root/data/getEntitySet", param_, function(result) { + me.tableloading = false; + if (result && result.data && result.data.entityset) { + var data_ = result.data.entityset; + me.tableData = data_; + me.total = result.data.page ? result.data.page.recordcount : 0; + } + else { + me.total = 0; + } + }, function(){ + me.tableloading = false; + }); + }, + + //鎻愪氦 + submitRowTable() { + var me = this; + var bo_ = this.$refs.form1.checkForm(); + + if (!bo_) { + bo_ = false; + Root.message({ + type: 'error', + message: '璇峰~鍐欏繀濉」' + }); + return + } + this.iscommit = true; + this.saveRowTable(); + }, + + //淇濆瓨 + saveRowTable(callback) { + var me = this; + var operator_ = "saveEntity";//淇濆瓨 + // if(me.iscommit) { + // operator_ = "commit";//鎻愪氦 + // } + + var entity_ = clone(this.formData); + var entity = { + _qty_trans: entity_._qty_trans, + _qty_final: entity_._qty_final, + _amt_final: entity_._amt_final, + id: entity_.id + }; + + let param = { + dataname: me.dataname, + data: {}, + } + if (me.formData.id) { + param.id = me.formData.id + } + param.data[me.dataname] = entity; + + Server.call("root/data/" + operator_, param, function(result) { + console.log(result); + if (result.success) { + if (callback) { + callback() + } + else { + if(me.iscommit){ + me.iscommit = false; + Root.message({ + type: 'success', + message: '鎻愪氦鎴愬姛' + }); + me.saveAfter(); + } + else { + Root.message({ + type: 'success', + message: '淇濆瓨鎴愬姛' + }); + me.saveAfter(); + } + } + } + }, function(errorresult) { + console.log("閿欒淇℃伅", errorresult); + if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) { + 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", + 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].record_no + r.errors[0].record_name?r.errors[0].record_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 { + me.iscommit = false; + 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; + // if (this.isedit) { + // this.saveRowTable(function() { + // me.doRunApproval(); + // }); + // } + // else { + me.doRunApproval(); + // } + + }, + + 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() { + var me = this; + + let param = { + dataname: me.dataname, + id: me.formData.id, + // to_state: to_state_, + remark: this.approveremark + } + // + // return + Server.call("root/data/" + this.passOrRefuse, param, function(result) { + me.loading_pass = false; + console.log(result); + if (me.passOrRefuse == "commit" || me.passOrRefuse == "approve") { + Root.message({ + type: 'success', + message: '瀹℃壒鎴愬姛' + }); + } + 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: '瀹℃壒澶辫触' + }); + } + }); + }, + + } + }); + }; + + 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 v-if="popupParames.totab" class="el-dialog__header"> + <div class="dialog-title"> + <i class="iconfont icon-customermanagement"></i> + <span> {{title}}</span> + </div> + </div> + <div :style="{height: dheight + 'px', 'overflow-y': 'auto'}"> + <div class="el-dialog__body"> + <h-form + ref="form1" + :form-attr="formAttr" + :table-fields="formFields" + :form-data="formData" + :table-field-click="formfieldClick" + > + </h-form> + </div> + + <div class="h_BU"> + <div style="padding: 0px;"> + <h-table + v-if="isRefresh" + ref="table1" + :table-fields="tableFields" + :table-data="tableData" + :is-within-edit-table-data="isedit" + :table-field-click="tablefieldClick" + :pagesize="pagesize" + :pagenum="pagenum" + :total="total" + :table-height="dheight - 252 - 64" + :is-highlight-row="true" + :isdraggableorder="false" + :isshowtool="false" + :isshow-shoppingcart="false" + + v-on:get-data="getData" + > + </h-table> + <!-- + :is-edit-table-data="isWithinEditTableData" + --> + </div> + </div> + </div> + <el-dialog title="濉啓鍘熷洜" :visible.sync="reasonvisible" height="50%"> + <el-input + type="textarea" + :autosize="{ minRows: 2, maxRows: 10}" + placeholder="璇疯緭鍏ュ師鍥�" + v-model="approveremark"> + </el-input> + + <div slot="footer" class="dialog-footer" > + <el-button type="default" @click="reasonvisible = false">鍙� 娑�</el-button> + <el-button type="primary" :loading="loading_pass" @click="saveReason">纭� 瀹�</el-button> + </div> + </el-dialog> + <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="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 && !formData.agreement_id" 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="onShowApproval('approve')">閫� 杩�</el-button> + <!-- <el-button size="small" v-if="isapproval" type="primary" @click="">杞� 鍔�</el-button> --> + </div> + </div> + </div> + </div> + + <div id="page_loading" style="position: absolute; top:0px; width: 100vw; height: 50vh;"> + <div class="spinner"> + <div class="cube1"></div> + <div class="cube2"></div> + </div> + </div> + </body> +</html> diff --git a/module/fee/page/popup/popup_edit_fee_qty.html b/module/fee/page/popup/popup_edit_fee_qty.html new file mode 100644 index 0000000..fdfa1c8 --- /dev/null +++ b/module/fee/page/popup/popup_edit_fee_qty.html @@ -0,0 +1,951 @@ +<!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: "fee_guide_settle_qty", + table_dataname: "fee_working_out_base_qty", + title: "鏁伴噺鍗曚俊鎭�", + dataRequest: [ + { + name: "fee_working_out_base_qty", // 涓氬姟璐熻矗浜哄瓧娈� + dataname: "fee_working_out_base_qty", + url: "root/data/getEntitySet", + paramsobj: {dataname: "fee_working_out_base_qty", attachMeta: true, filter: "1<>1"}, + isnotoption: true, //true:涓嶆槸閫夐」 + } + ], + meta_fee_working_out_base_qty: [], + + options_md_org_master: [], + md_bu_org_obj: {}, + options_md_bu: [], + productobj_map: {}, + md_bu_product_obj: {}, + md_bu_product_bu_obj: {}, + md_prod_sku_obj: {}, + + formAttr: { + istitle: false, + title: "琛ㄥ崟鍚嶇О", + columnnumber: 3, + labelwidth: "100px", + labelposition: "left",//"left",// right//top + size: "mini", + border: "10px solid #c6c6c600", + borderleft: "0px" + }, + + formFields: [], + + newformData: { + state_code: "Input", + state_name: "褰曞叆", + is_active: true, + source: "鎵嬪姩褰曞叆", + type_code: "Customer", // Standard鏍囧噯浠风洰琛ㄣ�丆ustomer缁忛攢鍟嗕环鐩〃 + }, + formData: {}, + + isRefresh: true, + tableFields: [], + tableData: [], + //瀛楁璁剧疆 + tablefieldClick: {}, + pagesize: 10, + pagenum: 1, + total: 0, + tableHeight: 200, + tableloading: false, + + + //鎸夐敭鏉冮檺璁剧疆 + isedit: false,//鎻愪氦鍓嶇紪杈戯紝淇濆瓨/鎻愪氦 + isrefuseedit: false,//鎷掔粷鍚庣紪杈戯紝淇濆瓨/鍐嶆鎻愪氦 + isapproval: false,//瀹℃壒锛屽悓鎰�/鎷掔粷/杞姙/閫�鍥� + + iscommit: false,//鎻愪氦鏍囪 + + //寮圭獥鍙傛暟 + popupParames: {}, + + formfieldClick: {}, + dheight: null, + + agreementdata: {}, + options_product: [], + + //瀹℃壒鐩稿叧鍙橀噺 + reasonvisible:false,//瀹℃壒閫氳繃鎴栨嫆缁濆~鍐欏師鍥� + approveremark: '',//濉啓鐞嗙敱 + passOrRefuse:false, + loading_pass: false, + }, + created() { + this.popupParames = clone(Root.popupParames); + // this.title = this.popupParames.title || this.popupParames.text + if (this.popupParames.data) { + if (this.popupParames.data._datano) { + this.title = this.title + this.popupParames.data._datano; + } + this.formData = clone(this.popupParames.data); + } + if (this.popupParames.delta && this.popupParames.delta.dataname) { + this.dataname = clone(this.popupParames.delta.dataname); + } + + if (this.popupParames.delta && this.popupParames.delta.agreementdata) { + this.agreementdata = clone(this.popupParames.delta.agreementdata); + } + if (this.popupParames.delta && this.popupParames.delta.options_product) { + this.options_product = clone(this.popupParames.delta.options_product); + } + + 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_); + for (var k in this.popupParames.data) { + this.newformData[k] = this.popupParames.data[k] + } + this.isedit = true; + } + else if (this.popupParames.sceneCode == "browse") {//鍙 + this.formAttr.disabled = true; + } + else if (this.popupParames.sceneCode == "edit" || this.popupParames.sceneCode == "editbyagreement") {//缂栬緫 + this.isedit = true; + } + else if (this.popupParames.sceneCode == "approval") {//瀹℃壒 + this.formAttr.disabled = true; + this.isapproval = true; + + if (this.formData.current_step_name && this.formData.current_step_name == "杩愯惀閮ㄩ棬澶嶆牳") { + this.isedit = true; + } + + } + else if (this.popupParames.sceneCode == "refuseedit") {//鎷掔粷鍚庣殑缂栬緫 + this.isrefuseedit = true; + } + } + }, + + mounted() { + var me = this; + var title_h = 0; + if (me.popupParames.totab) { + title_h = 42; + } + me.dheight = document.documentElement.clientHeight - 50 - title_h; + //棰勫姞杞芥暟鎹� + 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]); + 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 (me.dataRequestObj.fee_working_out_base_qty) { + let meta_ = me.dataRequestObj.fee_working_out_base_qty.meta.fee_working_out_base_qty.fields; + meta_.map(f=>{ + f.isshow = "T"; + if (f.field == "_qty_trans" || f.field == "_qty_cal" || f.field == "_qty_final" || f.field == "_amt_final") { + f.isfixed = "right"; + } + }) + me.meta_fee_working_out_base_qty = clone(meta_) + } + me.initData(); + }); + } + else { + this.initData(); + } + + // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂� + this.$nextTick(() => { + hideLoading(); + }); + }, + + 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.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 == "company_id") { + // f.isshow = "F"; + f.options = me.options_md_org_master + } + + if (f.field == "product_id") { + f.props = {label: "value", value: "code", multiple: false}; + if (me.options_product.length) { + f.options = clone(me.options_product); + } + else 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 = []; + } + } + + // if (f.field == "customer_name" && (me.popupParames.sceneCode == "addbyagreement" || me.popupParames.sceneCode == "editbyagreement")) { + // f.disabled = true; + // } + // if ((f.field == "date_from" || f.field == "date_to") && (me.popupParames.sceneCode == "addbyagreement" || me.popupParames.sceneCode == "editbyagreement")) { + // f.isshow = false; + // } + + formFields_.push(clone(f)); + }) + if (!me.formFields || (me.formFields && me.formFields.length == 0)) { + me.formFields = clone(formFields_); + me.tableFields = clone(me.meta_fee_working_out_base_qty); + + //璁剧疆瀛楁浜嬩欢 + me.tableFieldClick(); + } + + if (me.formData.company_id) { + var formFields_ = clone(me.formFields); + formFields_.map(f=>{ + if (f.field == "bu_id") { + if (me.md_bu_org_obj[me.formData.company_id] && me.md_bu_org_obj[me.formData.company_id].length) { + f.options = clone(me.md_bu_org_obj[me.formData.company_id]) + } + } + }) + me.formFields = clone(formFields_); + } + + if (me.formData.product_id) { + var select_p_ = [me.formData.product_id]; + me.formData.product_id = clone(select_p_); + + var formFields_ = clone(me.formFields); + formFields_.map(f=>{ + if (f.field == "spec") { + if (me.formData.product_id) { + f.options = clone(me.md_prod_sku_obj[me.formData.product_id[0]]); + } + else { + f.options = []; + } + } + }) + me.formFields = clone(formFields_); + } + me.onTableQuery(); + } + }) + }, + + tableFieldClick() { + var me = this; + //琛ㄥ崟瀛楁浜嬩欢璁剧疆 + this.formfieldClick = { + type_code: { + select: { + onchange: function(obj,refreshCallback) {//涓嬫媺灞曞紑浜嬩欢 + obj.data.type_name = obj.selectoption.value || ""; + var formFields_ = clone(me.formFields); + formFields_.map(f=>{ + if (f.field == "account_name") { // f.field == "company_id" || f.field == "bu_id" || + if (obj.data.type_code == "Onsite") { // 浼樻儬浠锋牸 + f.required = false + } + else { + f.required = true + } + } + }) + me.formFields = clone(formFields_); + }, + }, + }, + _qty_trans: { + val: { + onchange: function(obj) { + var formData_ = clone(me.formData); + formData_._qty_trans = formData_._qty_trans * 1; + if (formData_._qty_cal) { + formData_._qty_final = (formData_._qty_cal * 1) - (formData_._qty_trans * 1) + formData_._amt_final = formData_._qty_final * formData_._taxunitprice + } + me.formData = clone(formData_); + } + }, + input: { + onchange: function(obj) { + var formData_ = clone(me.formData); + formData_._qty_trans = formData_._qty_trans * 1; + if (formData_._qty_cal) { + formData_._qty_final = (formData_._qty_cal * 1) - (formData_._qty_trans * 1) + formData_._amt_final = formData_._qty_final * formData_._taxunitprice + } + me.formData = clone(formData_); + } + } + }, + + }; + + this.tablefieldClick = { + _qty_trans: { + input: { + onchange: function(obj) { + obj.row._qty_trans = obj.row._qty_trans * 1; + if (obj.row._qty_cal) { + obj.row._qty_final = (obj.row._qty_cal * 1) - (obj.row._qty_trans * 1) + obj.row._amt_final = obj.row._qty_final * obj.row._taxunitprice + } + + me.saveTableRow(obj.row); + } + } + }, + } + }, + + saveTableRow(row) { + var me = this; + var entity_ = clone(row); + var entity = { + _qty_trans: entity_._qty_trans, + _qty_final: entity_._qty_final, + _amt_final: entity_._amt_final, + id: entity_.id + }; + + let param = { + dataname: me.table_dataname, + data: {}, + } + if (entity.id) { + param.id = entity.id + } + param.data[me.table_dataname] = entity; + Server.call("root/data/saveEntity", param, function(result) { + + }, function(errorresult) { + console.log("閿欒淇℃伅", errorresult); + if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) { + if (errorresult.messages.list) { + var config = { + totab: false, + 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].record_no + r.errors[0].record_name?r.errors[0].record_name: '' + "銆�" + } + messages_list.push(messages_) + }) + 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 { + Root.message({ + type: 'error', + message: '璋冩暣澶辫触' + }); + } + }); + }, + + 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); + }, + openOrg(sceneCode, obj, callback) { + var me = this; + var config = { + totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮� + width: "800px", + height: "520px", + icon: "icon-product", + text: "閫夋嫨閰嶉�佸晢", + id: "popup_customer",//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈� + url: "module/md/page/popup/page/popup_customer.html", + data: {}, + delta: "", + // filter: "category_code='"+ me.positiondata.org_id + "' and bu_id='" + me.positiondata.bu_id + "'", + filter: "is_distributor='T'", + sceneCode: "add",//"refuseedit",//"approval", //"add"//"browse", + callback: function(popupobj, popupcallback) { + callback(popupobj); + if (popupcallback) { + popupcallback(); + } + } + }; + me.doPopupByPublic(config); + }, + 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_hospital",//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈� + url: "module/md/page/popup/page/popup_hospital.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); + }, + + 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(); + } + } + }); + }, + + getData: function(page) { + this.pagesize = page.pagesize; + this.pagenum = page.pagenum; + // if (page.filtersobj) { + // this.filterObj = page.filtersobj; + // } + // this.selectedrow = {}; + this.onTableQuery(); + }, + onTableQuery() { + var me = this + let filter_ = "task_id='" + this.formData.id + "'"; + + let param_ = { + dataname: this.table_dataname, + filter: filter_, + orderby: "_dataNo", + page: { + pageno: this.pagenum, + pagesize: this.pagesize + }, + attachMeta: false + } + + me.tableData = []; + me.tableloading = true; + Server.call("root/data/getEntitySet", param_, function(result) { + me.tableloading = false; + if (result && result.data && result.data.entityset) { + var data_ = result.data.entityset; + me.tableData = data_; + me.total = result.data.page ? result.data.page.recordcount : 0; + } + else { + me.total = 0; + } + }, function(){ + me.tableloading = false; + }); + }, + + //鎻愪氦 + submitRowTable() { + var me = this; + var bo_ = this.$refs.form1.checkForm(); + + if (!bo_) { + bo_ = false; + Root.message({ + type: 'error', + message: '璇峰~鍐欏繀濉」' + }); + return + } + this.iscommit = true; + this.saveRowTable(); + }, + + //淇濆瓨 + saveRowTable(callback) { + var me = this; + var operator_ = "saveEntity";//淇濆瓨 + // if(me.iscommit) { + // operator_ = "commit";//鎻愪氦 + // } + + var entity_ = clone(this.formData); + var entity = { + _qty_trans: entity_._qty_trans, + _qty_final: entity_._qty_final, + _amt_final: entity_._amt_final, + id: entity_.id + }; + + let param = { + dataname: me.dataname, + data: {}, + } + if (me.formData.id) { + param.id = me.formData.id + } + param.data[me.dataname] = entity; + + Server.call("root/data/" + operator_, param, function(result) { + console.log(result); + if (result.success) { + if (callback) { + callback() + } + else { + if(me.iscommit){ + me.iscommit = false; + Root.message({ + type: 'success', + message: '鎻愪氦鎴愬姛' + }); + me.saveAfter(); + } + else { + Root.message({ + type: 'success', + message: '淇濆瓨鎴愬姛' + }); + me.saveAfter(); + } + } + } + }, function(errorresult) { + console.log("閿欒淇℃伅", errorresult); + if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) { + 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", + 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].record_no + r.errors[0].record_name?r.errors[0].record_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 { + me.iscommit = false; + 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; + // if (this.isedit) { + // this.saveRowTable(function() { + // me.doRunApproval(); + // }); + // } + // else { + me.doRunApproval(); + // } + + }, + + 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() { + var me = this; + + let param = { + dataname: me.dataname, + id: me.formData.id, + // to_state: to_state_, + remark: this.approveremark + } + // + // return + Server.call("root/data/" + this.passOrRefuse, param, function(result) { + me.loading_pass = false; + console.log(result); + if (me.passOrRefuse == "commit" || me.passOrRefuse == "approve") { + Root.message({ + type: 'success', + message: '瀹℃壒鎴愬姛' + }); + } + 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: '瀹℃壒澶辫触' + }); + } + }); + }, + + } + }); + }; + + 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 v-if="popupParames.totab" class="el-dialog__header"> + <div class="dialog-title"> + <i class="iconfont icon-customermanagement"></i> + <span> {{title}}</span> + </div> + </div> + <div :style="{height: dheight + 'px', 'overflow-y': 'auto'}"> + <div class="el-dialog__body"> + <h-form + ref="form1" + :form-attr="formAttr" + :table-fields="formFields" + :form-data="formData" + :table-field-click="formfieldClick" + > + </h-form> + </div> + + <div class="h_BU"> + <div style="padding: 0px;"> + <h-table + v-if="isRefresh" + ref="table1" + :table-fields="tableFields" + :table-data="tableData" + :is-within-edit-table-data="isedit" + :table-field-click="tablefieldClick" + :pagesize="pagesize" + :pagenum="pagenum" + :total="total" + :table-height="dheight - 252 - 64" + :is-highlight-row="true" + :isdraggableorder="false" + :isshowtool="false" + :isshow-shoppingcart="false" + + v-on:get-data="getData" + > + </h-table> + <!-- + :is-edit-table-data="isWithinEditTableData" + --> + </div> + </div> + </div> + <el-dialog title="濉啓鍘熷洜" :visible.sync="reasonvisible" height="50%"> + <el-input + type="textarea" + :autosize="{ minRows: 2, maxRows: 10}" + placeholder="璇疯緭鍏ュ師鍥�" + v-model="approveremark"> + </el-input> + + <div slot="footer" class="dialog-footer" > + <el-button type="default" @click="reasonvisible = false">鍙� 娑�</el-button> + <el-button type="primary" :loading="loading_pass" @click="saveReason">纭� 瀹�</el-button> + </div> + </el-dialog> + <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="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 && !formData.agreement_id" 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="onShowApproval('approve')">閫� 杩�</el-button> + <!-- <el-button size="small" v-if="isapproval" type="primary" @click="">杞� 鍔�</el-button> --> + </div> + </div> + </div> + </div> + + <div id="page_loading" style="position: absolute; top:0px; width: 100vw; height: 50vh;"> + <div class="spinner"> + <div class="cube1"></div> + <div class="cube2"></div> + </div> + </div> + </body> +</html> diff --git a/module/flow/page/cleanHome.html b/module/flow/page/cleanHome.html new file mode 100644 index 0000000..e796f14 --- /dev/null +++ b/module/flow/page/cleanHome.html @@ -0,0 +1,528 @@ + +<!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"> + function loadJsCss(callback) { + var jscss_urls = [ + {id: "css_m1", type: "css", url: "root/css/tree.css"}, + ]; + window.top.initJsCss(document, jscss_urls, callback); + }; + + function initVue() { + new TreeVue({ + el: "#vbody", + data: { + dataname: "md_product_category", + title: "瀹㈡埛娓呮礂骞冲彴", + dataRequest: [], + + tree_title: "娓呮礂杩涘害", + treeTxtFormatter: "{name}锛歿cnt}", + isTreeReadonly: true, + isTreeRefresh: true, + + initTreeData_d: [ + {id: "C0", name: "娴佸悜鎬绘暟", cnt: "1200", + children: [ + {id: "C01", name: "姝g‘澶勭悊", cnt: "1200", dataname: "md_org_data", filtertxt: "1<>1", + children: [ + {id: "C011", name: "鍘婚噸瀹㈡埛", cnt: "1200", dataname: "md_org_data", filtertxt: "1<>1", + children: [ + {id: "C0111", name: "鑷姩鍖归厤", cnt: "1180", dataname: "md_org_data", filtertxt: "1<>1"}, + {id: "C0112", name: "浜哄伐寰呭鐞�", cnt: "12", dataname: "md_org_data", filtertxt: "1<>1"}, + {id: "C0113", name: "浜哄伐宸插鐞�", cnt: "0", dataname: "md_org_data", filtertxt: "1<>1"}, + {id: "C0114", name: "寤鸿鏂板", cnt: "8", dataname: "md_org_data", filtertxt: "1<>1"}, + ]}, + ]}, + {id: "C1", name: "澶勭悊閿欒", cnt: "0", dataname: "md_org_data", filtertxt: "1<>1"}, + ] + }, + ], + + isRefresh_table1: true, + tableFields_table1: [ + {isshow: "T", field: "field1", name: "鍘熷瀹㈡埛鍚嶇О", align: "left",width: "100", isminwidth: true}, + {isshow: "T", field: "field2", name: "鏈�楂樺垎", align: "center", width: "80"}, + {isshow: "T", field: "field3", name: "涓撴湁鍚嶈瘝", align: "left", width: "100", isminwidth: true}, + {isshow: "T", field: "field4", name: "娓犻亾", align: "left", width: "120"}, + {isshow: "T", field: "field5", name: "鐪佷唤", align: "center", width: "100"}, + {isshow: "T", field: "field6", name: "鍩庡競", align: "center", width: "100"}, + {isshow: "T", field: "field7", name: "鍖哄幙", align: "center", width: "100"}, + {isshow: "T", field: "field8", name: "鐘舵��", align: "center", width: "100"}, + ], + pagesize_table1: 10, + pagenum_table1: 1, + total_table1: 0, + tableHeight_table1: 100, + tablefieldClick_table1: {}, + tableData_table1: [ + {id: "001", field1: "瀹忎匠椤哄尰鐤楀櫒姊版湁闄愬叕鍙�", field2: "89", field3: "瀹忎匠椤�,鍖荤枟鍣ㄦ", field4: "鏈夐檺鍏徃", field5: "姹熻タ鐪�", field6: "", field7: "", field8: "寰呮竻娲�" }, + {id: "002", field1: "瑾夌編鍖荤枟鍣ㄦ璐告槗鏈夐檺鍏徃", field2: "89", field3: "瑾夌編,鍖荤枟鍣ㄦ,璐告槗", field4: "鏈夐檺鍏徃", field5: "婀栧崡鐪�", field6: "闀挎矙甯�", field7: "", field8: "寰呮竻娲�" }, + {id: "003", field1: "寰锋眹鍚屽垱鍖荤枟鍣ㄦ鏈夐檺鍏徃", field2: "89", field3: "寰锋眹鍚屽垱", field4: "鏈夐檺鍏徃", field5: "骞垮窞鐪�", field6: "", field7: "", field8: "寰呮竻娲�" }, + {id: "004", field1: "閫氭嘲鎱峰尰鐤楃鎶�鏈夐檺鍏徃", field2: "89", field3: "閫氭嘲鎱�,鍖荤枟绉戞妧", field4: "鏈夐檺鍏徃", field5: "涓婃捣甯�", field6: "", field7: "", field8: "寰呮竻娲�" }, + ], + selectedrow_table1: {}, + + isRefresh_table2: true, + filterAttr: { + columnnumber: 4, + labelwidth: "80px", + labelposition: "right",//"left",//"right", + size: "medium", + border: "0px solid #c6c6c600" + }, + filterFields_table2: [ + {isshow: "T", field: "field1", name: "瀹㈡埛鍚嶇О", filterfield: "", filteroperator: "like"}, + ], + filterObj_table2: {}, + tableFields_table2: [ + {isshow: "T", field: "field1", name: "瀹㈡埛鍚嶇О", align: "center",width: "150", isminwidth: true}, + {isshow: "T", field: "field2", name: "鐪佷唤", align: "center", width: "100"}, + {isshow: "T", field: "field3", name: "鍩庡競", align: "center", width: "100"}, + {isshow: "T", field: "field4", name: "鍖哄幙", align: "center", width: "100"}, + {isshow: "T", field: "field5", name: "娓犻亾", align: "center", width: "120"}, + {isshow: "T", field: "field6", name: "鍖哄幙", align: "center", width: "100"}, + {isshow: "T", field: "field7",name: "鎿嶄綔", type:"buttons", buttons: [{name:"鎺ㄨ崘",code:"tj"},{name: "涓嶆帹鑽�", code:"nbj"}]}, + ], + pagesize_table2: 10, + pagenum_table2: 1, + total_table2: 0, + tableHeight_table2: 100, + tablefieldClick_table2: {}, + tableData_table2: [], + selectedrow_table2: {}, + + isRefresh_table3: true, + tableAttr_table3: { + isborder: false + }, + tableFields_table3: [ + {isshow: "T", field: "field1", name: "鍒嗗��", align: "center",width: "100", headercolor: "#0000"}, + {isshow: "T", field: "field2", name: "瀹㈡埛鍚嶇О", align: "center", width: "150", headercolor: "#0000"}, + {isshow: "T", field: "field3", name: "涓撴湁鍚嶈瘝", width: "100", isminwidth: true, headercolor: "#0000"}, + {isshow: "T", field: "field5", name: "鐪佷唤", align: "center", width: "100", headercolor: "#0000"}, + {isshow: "T", field: "field6", name: "鍩庡競", align: "center", width: "100", headercolor: "#0000"}, + {isshow: "T", field: "field7", name: "鍖哄幙", align: "center", width: "100", headercolor: "#0000"}, + {isshow: "T", field: "field8", name: "鐘舵��", align: "center", width: "100", headercolor: "#0000"}, + {isshow: "T", field: "field9",name: "鎿嶄綔", align: "center", width: "100", headercolor: "#0000", type:"buttons", buttons: [{name:"鎺ㄨ崘",code:"tj"},{name: "涓嶆帹鑽�", code:"nbj"}]}, + ], + tableHeight_table3: 100, + tableData_table3: [ + {id: "1"}, + {id: "2"}, + {id: "3"}, + {id: "4"}, + ], + tablefieldClick_table3: {}, + selectedrow_table3: {}, + + }, + created() { + let clientHeight = document.documentElement.clientHeight; + this.treeHeight = clientHeight - 120; + // var currentcapacity = window.top.vue.userinfo.currentcapacity; + var dataRequest_ = { + name: "md_approval", + paramsobj: { + filter: "rolecode like '%|" + window.top.vue.userinfo.currentcapacity.code + "|%'" + // filter: "rolecode like '%|Capacity-QA|%'" + }, + url: "root/workflow/getOutline", + isnotoption: true, + } + // this.dataRequest.push(dataRequest_); + this.tableHeight_table1 = this.treeHeight / 3 + 10; + this.tableHeight_table2 = this.treeHeight / 3 + 10; + + this.tableHeight_table3 = this.treeHeight - this.tableHeight_table1 - this.tableHeight_table2 - 10; + + this.fieldClick(); + }, + + mounted() { + var me = this; + //棰勫姞杞芥暟鎹� + if (this.dataRequest && this.dataRequest.length) { + var result = {}; + this.loadRequestData(this.dataRequest, result, function(data) { + console.log("棰勫姞杞芥暟鎹細", data); + me.dataRequestObj = data; + // let md_approval_ = ArrayToTree(clone(data.md_approval.data), "name", "parent_id"); + // me.initTreeData_d = md_approval_; + + var medataRequest_ = [] + me.initTreeData_d.map(nodes=>{ + if (nodes.children) { + var isBadge_ = false; + nodes.children.map(node=>{ + if (node.cnt) { + isBadge_ = true; + node.badgeval = node.cnt + } + }) + nodes.isBadge = isBadge_; + } + }) + me.initData(); + // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂� + me.$nextTick(() => { + hideLoading(); + }); + + }); + } + else { + this.initData(); // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂� + this.$nextTick(() => { + hideLoading(); + }); + } + }, + + methods:{ + initData() { + var me = this; + me.treeData = me.initTreeData_d; + // this.onQuery(function(result, callback) {//鏌ヨ鍚庣殑鍥炶皟锛岀敤浜庤幏鍙栧瓧娈电殑 + // me.treeData = me.initTreeData_d; + // if (callback) { + // callback(); + // } + + // }); + + // me.treeRefresh() + }, + onTableDataAfter() {}, + treeRefresh() { + var me = this; + var param_ = { + filter: "rolecode like '%|" + window.top.vue.userinfo.currentcapacity.code + "|%'" + } + Server.call("root/workflow/getOutline", param_, function(result) { + let md_approval_ = ArrayToTree(clone(result.data), "name", "parent_id"); + var medataRequest_ = []; + md_approval_.map(nodes=>{ + if (nodes.children) { + var isBadge_ = false; + nodes.children.map(node=>{ + if (node.cnt) { + isBadge_ = true; + node.badgeval = node.cnt + } + }) + nodes.isBadge = isBadge_; + } + }) + me.isTreeRefresh = false; + me.treeData = md_approval_; + me.$nextTick(() => { // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂� + me.defaultexpandedkeys = [me.selectednode.id]; + me.currentnodekey = me.selectednode.id; + me.isTreeRefresh = true; + }); + + me.getData1ByNode(); + }) + }, + + onNodeClick(obj) { + var data = obj.data, node = obj.node, el = obj.el; + var val = data.name; + if (data.children && data.children.length) { + val = ""; + data.children.map(r=>{ + if (val == "") { + val = r.name; + } + else { + val += "','" + r.name; + } + }) + } + + // this.filterObjBydefault.category_name = val + this.selectednode = data; + this.pagenum_table1 = 1; + if (this.selectednode.dataname) { + // this.getTable1Meta(); + // this.getData1ByNode(); + } + }, + getTable1Meta() {}, + getData1ByNode() {}, + + getData1(page) { + this.pagesize_table1 = page.pagesize; + this.pagenum_table1 = page.pagenum; + + this.getData1ByNode(); + }, + + table1RowClick(obj) { + this.selectedrow_table1 = obj.row; + this.getData2ByRowTable1(); + }, + + getData2(page) { + this.pagesize_table2 = page.pagesize; + this.pagenum_table2 = page.pagenum; + }, + table2RowClick(obj) { + this.selectedrow_table2 = obj.row; + }, + getData2ByRowTable1() {}, + + onQueryTable2() {}, + onInitFilterTable2() { + //娓呯┖ + this.filterObj = {}; + this.selectedrow = {}; + this.onQueryTable2(); + }, + getData3(page) { + + }, + table3RowClick(obj) { + this.selectedrow_table3 = obj.row; + }, + + fieldClick() { + this.tablefieldClick_table3 = { + field9: { + buttons: { + onclick: function(row, code) { + Root.message({ + type: 'success', + message: code + }); + } + } + } + } + this.tablefieldClick_table2 = { + field7: { + buttons: { + onclick: function(row, code) { + Root.message({ + type: 'success', + message: code + }); + } + } + } + } + }, + + //娓呮礂 + doWash() { + var me = this; + var config = { + totab: false, //true: 浠ab瀵艰埅鐨勬柟寮忔墦寮� + width: "900px", + height: "900px", + icon: "icon-product", + text: "娓呮礂杩涘害", + id: "test_page",//totab: true鏃堕渶璁剧疆锛岀敤浜庡垽鏂槸鍚﹀凡鎵撳紑姝ら〉闈� + //url: "module/system/page/coming.html", + url: "module/flow/page/popup/washProcess.html", + data: {}, + delta: {}, + sceneCode: "edit", //"add"//"browse", + callback: function(obj, callback) { + if (callback) { + callback(); + } + } + }; + me.doPopupByPublic(config); + } + + + + } + }); + }; + + loadJsCss(function () { + initVue(); + }); + </script> + <style> + /* 鍦╲ue.js涓� v-cloak 杩欎釜鎸囦护鏄槻姝㈤〉闈㈠姞杞芥椂鍑虹幇 vuejs 鐨勫彉閲忓悕鑰岃璁$殑 */ + [v-cloak] { + display: none !important; + } + .el-tabs__nav-scroll { + overflow: hidden; + position: relative; + padding-left: 20px; + } + + .nodeLabel { + max-width: 200px !important; + } + .h_table { + margin-top: 0px !important; + position: relative; + } + .el-table--small .el-table__cell { + padding: 5px 0!important; + } + </style> + + </head> + + <body style="margin: 0px;"> + <div v-cloak id="vbody"> + <div id="page_root"> + <div class="topbar"> + <span>{{title}}</span> + + <!-- <div style="float: right; margin-right: 18px;"> + <el-button-group style="margin-left: 3px;"> + <el-button type="primary" @click="doWash">娓� 娲�</el-button> + </el-button-group> + </div> --> + </div> + + <div class="h_dialog__body"> + <div style="position: absolute;left: 10px; top:45px;width: 320px; bottom: 10px;border: 1px solid #ccc;"> + <div style="height: 32px;line-height: 32px;border-bottom: 1px solid #ccc ;"> + <span style="font-size: 14px;margin-left: 20px;">{{tree_title}}</span> + </div> + <div :style="{padding: '10px 0', height: treeHeight + 'px', overflow: 'auto'}"> + <h-tree v-if="isTreeRefresh" + :tree-data="treeData" + :tree-txt-formatter="treeTxtFormatter" + :is-readonly="isTreeReadonly" + :default-expanded-keys="defaultexpandedkeys" + :currentnodekey="currentnodekey" + :default-expand-all="true" + + @node-click="onNodeClick" + > + </h-tree> + + </div> + </div> + <div style="position: absolute;left: 340px; top:45px; right: 10px; bottom: 10px;border: 1px solid #ccc;"> + <div> + <div style="height: 32px;"> + <div class="table_title" style="float: left;"> + <span>浜哄伐寰呮竻娲楁暟鎹�</span> + </div> + + <div style="float: right; margin-right: 18px;"> + <el-button-group style="margin-left: 3px;"> + <el-button @click="">鏉ュ崄鏉�</el-button> + </el-button-group> + </div> + </div> + <h-table + v-if="isRefresh_table1 && tableFields_table1.length" + ref="table_table1" + :table-fields="tableFields_table1" + :table-data="tableData_table1" + :pagesize="pagesize_table1" + :pagenum="pagenum_table1" + :total="total_table1" + :table-height="tableHeight_table1 - 32" + :is-highlight-row="true" + :table-field-click="tablefieldClick_table1" + :is-pagination="false" + + v-on:get-data="getData1" + v-on:row-click="table1RowClick" + > + </h-table> + <div :style="{height: (tableHeight_table3) + 'px'}"> + <div style="height: 32px;line-height: 32px;margin-top: 10px;"> + + <span style="font-weight: bold;margin-left: 20px;"><i class="el-icon-tickets"></i> 鍘熷瀹㈡埛鍚嶇О锛�</span> + <span>{{selectedrow_table1.field1}}</span> + + <div style="float: right; margin-right: 18px;"> + <el-button-group style="margin-left: 3px;"> + <el-button @click="">寤鸿鏂板</el-button> + <el-button @click="">寰� 瀹�</el-button> + <el-button @click="">娓呯┖鎺ㄨ崘</el-button> + </el-button-group> + </div> + </div> + <h-table + v-if="isRefresh_table3 && tableFields_table3.length" + ref="table_table3" + :table-attr="tableAttr_table3" + :table-fields="tableFields_table3" + :table-data="tableData_table3" + :table-height="tableHeight_table3 - 42" + :is-highlight-row="true" + :table-field-click="tablefieldClick_table3" + :is-pagination="false" + :is-show-index="true" + :is-within-edit-table-data="true" + + v-on:get-data="getData3" + v-on:row-click="table3RowClick" + > + </h-table> + </div> + + <div :style="{height: (tableHeight_table2) + 'px'}"> + <!-- <div style="height: 32px; margin-top: 20px;"> + <div class="table_title" style="float: left;"> + <span> <span v-if="selectedrow && selectedrow.field2">銆恵{selectedrow.field2}}銆�</span>瀵瑰簲瀹℃壒浜�</span> + </div> + </div> --> + <div class="topbar-line"> + <div class="query-bar"> + <h-form-filter v-if="filterFields_table2" ref="form1" + :form-attr="filterAttr" + :table-fields="filterFields_table2" + :form-data="filterObj_table2" + :isdraggableorder="false" + + v-on:on-query="onQueryTable2" + v-on:on-init-query="onInitFilterTable2" + > + </h-form-filter> + </div> + </div> + <h-table + v-if="isRefresh_table1 && tableFields_table2.length" + ref="table_table2" + :table-fields="tableFields_table2" + :table-data="tableData_table2" + :table-height="tableHeight_table2 - 40" + :is-highlight-row="true" + :table-field-click="tablefieldClick_table2" + :is-pagination="true" + :is-within-edit-table-data="true" + + v-on:get-data="getData2" + v-on:row-click="table2RowClick" + > + </h-table> + </div> + </div> + </div> + + </div> + </div> + </div> + + <div id="page_loading" style="position: absolute; top:0px; width: 100vw; height: 50vh;"> + <div class="spinner"> + <div class="cube1"></div> + <div class="cube2"></div> + </div> + </div> + + <script>document.write('<script src="//' + (location.host || 'localhost').split(':')[0] + ':35929/livereload.js?snipver=1"></' + 'script>')</script><script>document.addEventListener('LiveReloadDisconnect', function() { setTimeout(function() { window.location.reload(); }, 500); })</script></body> +</html> diff --git a/module/system/page/main.html b/module/system/page/main.html index 98c14c3..0bd5d9c 100644 --- a/module/system/page/main.html +++ b/module/system/page/main.html @@ -7,27 +7,27 @@ <meta http-equiv="Cache-control" content="no-cache"> <meta http-equiv="Cache" content="no-cache"> <title>缁堢鎺ㄥ箍骞冲彴</title> - <link href="../css/main.css?v=2024080301" rel="stylesheet"> - <link href="../../../css/control.css?v=2024080301" rel="stylesheet"> - <link href="../../../css/page.css?v=2024080301" rel="stylesheet"> - <link href="../../../css/icon/iconfont.css?v=2024080301" rel="stylesheet"> + <link href="../css/main.css?v=2024081901" rel="stylesheet"> + <link href="../../../css/control.css?v=2024081901" rel="stylesheet"> + <link href="../../../css/page.css?v=2024081901" rel="stylesheet"> + <link href="../../../css/icon/iconfont.css?v=2024081901" rel="stylesheet"> <link href="../../../js/vue/element-ui/lib/theme-chalk/index.css" rel="stylesheet"> <link href="../../../img/org/head.png" rel="shortcut icon" type="image/x-icon"> - <link href="../../../css/myelement.css?v=2024080301" rel="stylesheet"> + <link href="../../../css/myelement.css?v=2024081901" rel="stylesheet"> <script src="../../../js/jquery-3.5.1.min.js"></script> <script src="../../../js/vue/vue.js"></script> - <script src="../../../js/config.js?v=2024080301"></script> + <script src="../../../js/config.js?v=2024081901"></script> <script src="../../../data/data.js"></script> <script src="../../../js/vue/elementDefault.js"></script> <script src="../../../js/vue/element-ui/lib/index.js"></script> <script src="../../../js/Sortable.js"></script> - <script src="../../../js/vue/page.js?v=2024080301"></script> - <script src="../../../js/foundation.js?v=2024080301"></script> - <script src="../../../js/control.js?v=2024080301"></script> + <script src="../../../js/vue/page.js?v=2024081901"></script> + <script src="../../../js/foundation.js?v=2024081901"></script> + <script src="../../../js/control.js?v=2024081901"></script> <script src="../../../js/loadJsCss.js"></script> - <script src="../../../js/myelement.js?v=2024080301"></script> + <script src="../../../js/myelement.js?v=2024081901"></script> </head> -- Gitblit v1.8.0