From 90e4076a8adf5dac4384f10d9ce22398580eaf34 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期三, 09 七月 2025 17:27:06 +0800 Subject: [PATCH] 5601列表页面中的内容变化处理,自定义表单的set_dlg_attr_show --- pages/modal/3018_2.vue | 362 +++++++++++++++++++++++++-------------------------- 1 files changed, 178 insertions(+), 184 deletions(-) diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue index 537f304..3538e49 100644 --- a/pages/modal/3018_2.vue +++ b/pages/modal/3018_2.vue @@ -1,8 +1,8 @@ <template> - <view class="uni-page-modal-3018-2"> + <view class="uni-page-modal-3018-2" :class="largeMode?'large-mode':''"> <view class="view-content"> <!-- 琛ㄥご鏍峰紡 --> - <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :focusId="focusFieldId" + <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :hiddenIds="head_styledef.hiddenIds ?head_styledef.hiddenIds :[] " :focusId="focusFieldId" @on-click="onClick" @on-focus="ontap" @on-change="onEnterChange" @on-click-prefix="classAttr_extButton" @on-click-suffix="classAttr_extButton"></OIForm> @@ -53,7 +53,7 @@ <script> import { Base64 - } from '@/js/Base64.js'; + } from '@/js/Base64.js'; import utils from "@/js/utils.js" import dayjs from "dayjs"; import OIForm from '@/components/oi-form/index.vue' @@ -67,14 +67,15 @@ dataObjCreate } from "@/api/data.js" import buttonClickMixin from '@/mixins/button-click.js'; - + export default { - mixins: [buttonClickMixin], + mixins: [buttonClickMixin], components: { OIForm, }, data() { return { + largeMode: getApp().globalData.largeMode || false, title: this.translateSys('add2'), btnName: "", param: {}, @@ -275,7 +276,7 @@ if (itemName) { styledefHead.form.model[ele.fieldId] = itemName; } - ele.dict = selections.map((a) => { + ele.selections = selections.map((a) => { return { value: a.value, text: a.label @@ -311,7 +312,7 @@ styledefHead.form .model[col.fieldId] = itemName; } - col.dict = selections.map((a) => { + col.selections = selections.map((a) => { return { value: a.value, text: a.label @@ -332,6 +333,25 @@ } } } + } + const app = getApp() + if (app.globalData.bindClasses) { + styledefHead.form.items.push({ + name: "Input", + label: this.translate("classes"), + labelWidth: 100, + disabled: true, + value: app.globalData.classes, + setting: { + width: 100, + height: 50, + }, + bind: { + attr: "", + }, + fieldId: "S_CLASSES", + }) + styledefHead.form.model["S_CLASSES"] = app.globalData.classes } } @@ -444,10 +464,8 @@ }); return false } else { - var tip = data.info ? typeof data.info == 'string' ? data.info : data - .info - .join( - '<br/>') : ''; + var tip = data.info ? typeof data.info == 'string' ? data.info : + data.info.join('<br/>') : ''; if (tip) uni.showModal({ title: this.translateSys("tip"), content: tip, @@ -470,9 +488,7 @@ } else if (action.action_type == "set_dlg_current_edit_attr" ) { - if ($this - .focusOldFieldId == - action.value) { + if ($this.focusOldFieldId == action.value) { $this.setData({ focusFieldId: "" }) @@ -528,50 +544,12 @@ ontap(item) { //鎵爜鍔熻兘 - // console.log("ontap",item); - // 鎵撳紑钃濈墮閫傞厤鍣�- // uni.openBluetoothAdapter({ - // success: function() { - // // 寮�鎼滅储钃濈墮璁惧 - // uni.startBluetoothDevicesDiscovery({ - // success: function() { - // // 鐩戝惉鎵惧埌鏂拌澶囩殑浜嬩欢 - // uni.onBluetoothDeviceFound(function(devices) { - // // 杩欓噷鍙互杩囨护鍑篟FID鑺墖锛岃繛鎺ュ苟璇诲彇鏁版嵁 - // console.log(devices[0].deviceId); - // }) - // } - // }) - // } - // }); - // 鐩戝惉NFC鍔熻兘鏄惁鍙敤 - // uni.getNFCAdapterState({ - // success: function(res) { - // console.log(res); - // if (res.errCode === 0) { - // // NFC鍔熻兘鍙敤锛屽紑濮嬬洃鍚�- // uni.onNFCStart((res) => { - // if (res.errCode === 0) { - // // 寮�NFC鏍囩妫�祴 - // uni.makeNFCReaderStart({ - // success: function() { - // // 鐩戝惉NFC鏍囩 - // uni.onNFCTagDiscovered(function(res) { - // console.log(res); - // // 杩欓噷鍙互澶勭悊NFC鏍囩鏁版嵁 - // }) - // } - // }) - // } - // }) - // } - // } - // }) + this.focusOldFieldId = item.fieldId getApp().onScan((result) => { console.log(result); // uni.hideKeyboard(); - this.onScanValue(item, result.decodedata) + this.onScanValue(item, result) }) }, onScanValue(item, value) { @@ -749,7 +727,8 @@ // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� this.$refs.popup.open(this.popupType); - this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, '', onSuffixClickCallbackEvent.id, + this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, '', onSuffixClickCallbackEvent + .id, item); }, popupChange(e) { @@ -862,7 +841,8 @@ // } enviroment = Base64.encode(JSON.stringify(enviroment)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 var input_param = Base64.encode(JSON.stringify(info.attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 - var global_attr = Base64.encode(JSON.stringify(this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 + var global_attr = Base64.encode(JSON.stringify(this + .global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 if (info.dataJson) info.dataJson = Base64.encode(JSON.stringify(info.dataJson)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 var obj_attr = {}; @@ -910,14 +890,16 @@ }); } else uni.showModal({ title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + data + content: tip + ',' + this.translateSys('tip') + ':' + + data .ret, showCancel: false, confirmText: this.translateSys('close') }); return false } else { - var tip = data.info ? typeof data.info == 'string' ? data.info : data + var tip = data.info ? typeof data.info == 'string' ? data.info : + data .info .join( '<br/>') : ''; @@ -1024,7 +1006,8 @@ class_id: $this.param.DataCls.id, //褰撳墠鏁版嵁绫籭d } extinfo = Base64.encode(JSON.stringify(extinfo)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 - var global_attr = Base64.encode(JSON.stringify($this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 + var global_attr = Base64.encode(JSON.stringify($this + .global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 var obj_attr = {}; req.forEach(item2 => { obj_attr[item2.attr] = item2.value; @@ -1079,14 +1062,16 @@ }); } else uni.showModal({ title: $this.translateSys("tip"), - content: tip + ',' + $this.translateSys('tip') + ':' + data + content: tip + ',' + $this.translateSys('tip') + ':' + + data .ret, showCancel: false, confirmText: $this.translateSys('close') }); return false } else { - var tip = data.info ? typeof data.info == 'string' ? data.info : data + var tip = data.info ? typeof data.info == 'string' ? data.info : + data .info .join( '<br/>') : ''; @@ -1110,13 +1095,17 @@ var d = dialog({ title: '<i class="ace-icon fa fa-info-circle"></i> ' + $this.translateSys("tip"), - content: $this.translateSys("quotation_mark_left") + - action.action_type + $this.translateSys( + content: $this.translateSys( + "quotation_mark_left") + + action.action_type + $this + .translateSys( "quotation_mark_right") + - $this.translate("tip_action_unprocessed") + $this.translate( + "tip_action_unprocessed") }); d.show(); - } else if (action.action_type == 'open_select_userdlg') { + } else if (action.action_type == + 'open_select_userdlg') { var style = val.style; // style == 'user' ? '閫夋嫨浜哄憳' : style == 'department' ? '閫夋嫨閮ㄩ棬' : style == 'role' ? '閫夋嫨瑙掕壊' : '' var param = { @@ -1152,13 +1141,15 @@ inputparameter: data, dataJson: [], } - $this.DataObjRunCustomEvent(info, + $this.DataObjRunCustomEvent( + info, param .data_attr); } } }); - } else if (action.action_type == 'open_data_query_dlg') { + } else if (action.action_type == + 'open_data_query_dlg') { var d = dialog({ title: '<i class="ace-icon fa fa-info-circle"></i> ' + $this.translateSys("tip"), @@ -1178,7 +1169,8 @@ $this.setData({ check_list: val.config }) - if (val.config.appear_style == 'sideslip') //鍒ゆ柇鏄惁鏄晶婊�+ if (val.config.appear_style == + 'sideslip') //鍒ゆ柇鏄惁鏄晶婊� $this.setData({ popupType: "right" }) @@ -1198,7 +1190,8 @@ popupParam: popupParam }) } - } else if (action.action_type == 'open_project_query_dlg') { + } else if (action.action_type == + 'open_project_query_dlg') { //console.log(action.value.select_range); //console.log(action.value.mulit_select); var priRel = '-1'; @@ -1208,7 +1201,8 @@ priRel = '1'; else if (action.value.select_range == '鎴戝垱寤虹殑') priRel = '2'; - else if (action.value.select_range == '鎴戝弬涓庣殑' || action + else if (action.value.select_range == '鎴戝弬涓庣殑' || + action .value .select_range == '鎴戝弬鍔犵殑') priRel = '3'; @@ -1222,7 +1216,8 @@ req: req } uni.navigateTo({ - url: '../selPrj/index?relation=' + priRel + + url: '../selPrj/index?relation=' + + priRel + '¶m=' + JSON.stringify(param_), events: { @@ -1242,7 +1237,8 @@ var info = { eventid: callback_eventid, edtype: "2", - projectid: data[0].ID, + projectid: data[0] + .ID, rclsid: "", robjid: "", userlogin: "", @@ -1254,8 +1250,9 @@ dataJson: [], } - $this.DataObjRunCustomEvent( - info); + $this + .DataObjRunCustomEvent( + info); } } } @@ -1265,12 +1262,14 @@ title: $this.translateSys("tip"), content: $this.translateSys( "quotation_mark_left") + - action.action_type + $this.translateSys( + action.action_type + $this + .translateSys( "quotation_mark_right") + $this .translate( "tip_action_unprocessed"), showCancel: false, - confirmText: $this.translateSys('close') + confirmText: $this.translateSys( + 'close') }); } } @@ -1278,9 +1277,11 @@ } else { uni.showModal({ title: $this.translateSys('tip') + "5.2", - content: $this.translateSys("quotation_mark_left") + + content: $this.translateSys( + "quotation_mark_left") + "before_click_button" + $this.translateSys( - "quotation_mark_right") + $this.translateSys( + "quotation_mark_right") + $this + .translateSys( "comma") + 'event_id' + eventid, showCancel: false, confirmText: $this.translateSys('close') @@ -1374,7 +1375,8 @@ }); } else uni.showModal({ title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + data + content: tip + ',' + this.translateSys('tip') + ':' + + data .ret, showCancel: false, confirmText: this.translateSys('close') @@ -1382,7 +1384,8 @@ this.saving = false return false } else { - var tip = data.info ? typeof data.info == 'string' ? data.info : data + var tip = data.info ? typeof data.info == 'string' ? data.info : + data .info .join( '<br/>') : ''; @@ -1405,7 +1408,8 @@ if (!this.param.After_Btn_Not_Refresh) { //鍒锋柊 uni.redirectTo({ - url: '../modal/3018_2?param=' + JSON.stringify(this.$data + url: '../modal/3018_2?param=' + JSON.stringify(this + .$data .param) + "&titlename=" + this.title }); @@ -1468,16 +1472,17 @@ }, setFormValues(data) { const $this = this + const head_styledef = this.head_styledef for (var i = 0; i < data.length; i++) { - if (data[i].choice_list) { - for (var c = 0; c < $this.head_styledef.form.items - .length; c++) { - var attr = $this.head_styledef.form.items[c]; - if (attr.name != 'Layout') { - if (attr.fieldId == data[i].attr) { + const attr = data[i] + if (attr.choice_list) { + for (var c = 0; c < head_styledef.form.items.length; c++) { + const item = head_styledef.form.items[c]; + if (item.name != 'Layout') { + if (item.fieldId == attr.attr) { var dictItemList = []; - for (var d in data[i].choice_list) { - var val = data[i].choice_list[d]; + for (var d in attr.choice_list) { + var val = attr.choice_list[d]; dictItemList.push({ "CN_S_NAME": val, "CN_S_VALUE": val, @@ -1485,20 +1490,19 @@ "value": val }); } - attr.dict = dictItemList; + if (item.useDict) { + item.dict = dictItemList; + } else { + item.selections = dictItemList; + } } - } else if (attr.name == 'Layout') { - attr.setting.colList.forEach(col => { + } else if (item.name == 'Layout') { + item.setting.colList.forEach(col => { if (col) { - if (col.fieldId == data[ - i] - .attr) { + if (col.fieldId == attr.attr) { var dictItemList = []; - for (var d in data[i] - .choice_list) { - var val = data[i] - .choice_list[ - d]; + for (var d in attr.choice_list) { + var val = attr.choice_list[d]; dictItemList.push({ "CN_S_NAME": val, "CN_S_VALUE": val, @@ -1506,8 +1510,11 @@ "value": val }); } - col.dict = - dictItemList; + if (col.useDict) { + col.dict = dictItemList; + } else { + col.selections = dictItemList; + } } } }); @@ -1515,49 +1522,44 @@ } } - for (var c = 0; c < $this.head_styledef.form - .items - .length; c++) { - var attr = $this.head_styledef.form.items[c]; - // console.log(attr[j].Name+'=='+data[i].attr); + for (var c = 0; c < head_styledef.form.items.length; c++) { + const item = head_styledef.form.items[c]; + // console.log(attr[j].Name+'=='+attr.attr); //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�- if ($this.head_styledef.form.model[data[i] - .attr] == - undefined) { - $this.head_styledef.form.model[data[i] - .attr] = - data[i] - .value; + if (head_styledef.form.model[attr.attr] == undefined) { + head_styledef.form.model[attr.attr] = attr.value; } //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (attr.name != 'Layout') { - if (attr.fieldId == data[i].attr) { - attr.value = ''; - attr.oldvalue = ''; - attr.value = data[i].value; - attr.oldvalue = data[i].value; - $this.head_styledef.form.model[attr - .fieldId] = - data[ - i].value; + if (item.name != 'Layout') { + if (item.fieldId == attr.attr) { + item.value = ''; + item.oldvalue = ''; + item.value = attr.value; + item.oldvalue = attr.value; + head_styledef.form.model[item.fieldId] = attr.value; + if (item.name == "Input") { + if (attr.prompt) item.placeholder = attr.prompt; + } + if (attr.enable !== undefined) { + if (attr.enable) item.disabled = false; + else item.disabled = true; + } } - } else if (attr.name == 'Layout') { - attr.setting.colList.forEach(col => { + } else if (item.name == 'Layout') { + item.setting.colList.forEach(col => { if (col) { - if (col.fieldId == data[i] - .attr) { + if (col.fieldId == attr.attr) { col.value = ''; col.oldvalue = ''; - col.value = data[i] - .value; - col.oldvalue = data[i] - .value; - $this.head_styledef.form - .model[ - col - .fieldId] = data[ - i] - .value; + col.value = attr.value; + col.oldvalue = attr.value; + if (col.name == "Input") { + if (attr.prompt) col.placeholder = attr.prompt; + } + if (attr.enable !== undefined) { + if (attr.enable) col.disabled = false; + else col.disabled = true; + } } } }); @@ -1566,45 +1568,28 @@ } }, - hideFormItems(data) { - const $this = this - data.forEach(async (attr, key) => { - $this.head_styledef.form.items - .forEach( - async ( - ele, index) => { - //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (ele.name != 'Layout') { - if (ele.fieldId == attr - .attr) { - ele.show = attr - .show; - } - } else if (ele.name == - 'Layout') { - ele.setting.colList - .forEach( - col => { - if (col) { - if (col - .fieldId == - attr - .attr - ) { - col.show = - attr - .show; - } - } - }); - } - }); + hideFormItems(attrs) { + if (!Array.isArray(attrs)) { + return + } + const head_styledef = this.head_styledef + if (!head_styledef.hiddenIds) { + head_styledef.hiddenIds = [] + } + attrs.forEach((attr) => { + let index = head_styledef.hiddenIds.findIndex((id) => id == attr.attr); + if (attr.show) { + if (index > -1) head_styledef.hiddenIds.splice(index, 1); + } else { + if (index == -1) head_styledef.hiddenIds.push(attr.attr); + } }); - var head_styledef = JSON.parse(JSON.stringify($this.$data - .head_styledef)); - $this.head_styledef = []; - $this.head_styledef = head_styledef; + + this.setData({ + head_styledef: head_styledef + }) }, + afterOK() { this.saving = true const $this = this @@ -1617,7 +1602,8 @@ value: obj_attr[a], })), }; - if (!this.after_ok.id.includes('{')) this.after_ok.id = '{' + this.after_ok.id + '}'; + if (!this.after_ok.id.includes('{')) this.after_ok.id = '{' + this.after_ok.id + + '}'; var dataInfo = { ed_type: "0", start_transaction: true, @@ -1657,7 +1643,8 @@ }); } else uni.showModal({ title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + data + content: tip + ',' + this.translateSys('tip') + ':' + + data .ret, showCancel: false, confirmText: this.translateSys('close') @@ -1665,7 +1652,8 @@ this.saving = false return false } else { - var tip = data.info ? typeof data.info == 'string' ? data.info : data + var tip = data.info ? typeof data.info == 'string' ? data.info : + data .info .join( '<br/>') : ''; @@ -1678,7 +1666,8 @@ if (!this.param.After_Btn_Not_Refresh) { //鍒锋柊 uni.redirectTo({ - url: '../modal/3018_2?param=' + JSON.stringify(this.$data + url: '../modal/3018_2?param=' + JSON.stringify(this + .$data .param) + "&titlename=" + this.title }); @@ -1830,14 +1819,16 @@ }); } else uni.showModal({ title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + data + content: tip + ',' + this.translateSys('tip') + ':' + + data .ret, showCancel: false, confirmText: this.translateSys('close') }); return false } else { - var tip = data.info ? typeof data.info == 'string' ? data.info : data + var tip = data.info ? typeof data.info == 'string' ? data.info : + data .info .join( '<br/>') : ''; @@ -1850,7 +1841,8 @@ if (!this.param.After_Btn_Not_Refresh) { //鍒锋柊 uni.redirectTo({ - url: '../modal/3018_2?param=' + JSON.stringify(this.$data + url: '../modal/3018_2?param=' + JSON.stringify(this + .$data .param) + "&titlename=" + this.title }); @@ -1917,7 +1909,8 @@ cls_name: btn.Cls_Name, Edit_dlg: btn.Edit_dlg }; - const url = '../modal/3018?param=' + JSON.stringify(data) + "&titlename=" + btn.Edit_dlg + const url = '../modal/3018?param=' + JSON.stringify(data) + "&titlename=" + btn + .Edit_dlg .Name + "&type=addDataObj" var $this = this; @@ -1929,7 +1922,8 @@ console.log(resData); //鍒锋柊 uni.redirectTo({ - url: '../modal/3018_2?param=' + JSON.stringify(this + url: '../modal/3018_2?param=' + JSON.stringify( + this .$data.param) + "&titlename=" + this.title }); -- Gitblit v1.9.1