From 619b47962e41f506baf7ce2b535b2de1fecc719e Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期四, 19 六月 2025 10:58:49 +0800 Subject: [PATCH] rfid扫描添加原生插件 --- pages/modal/3018_2.vue | 349 ++++++++++++++++++++++++++++----------------------------- 1 files changed, 172 insertions(+), 177 deletions(-) diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue index c1815f8..7431959 100644 --- a/pages/modal/3018_2.vue +++ b/pages/modal/3018_2.vue @@ -1,5 +1,5 @@ <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" @@ -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) { @@ -688,6 +666,7 @@ var attr = item.fieldId; this.head_styledef.form.model[attr] = newVal; var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+ // this.onScanValue(this.head_styledef.form.items[2].setting.colList[0], "test") if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent); } @@ -748,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) { @@ -861,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 = {}; @@ -909,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/>') : ''; @@ -1023,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; @@ -1078,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/>') : ''; @@ -1109,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 = { @@ -1151,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"), @@ -1177,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" }) @@ -1197,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'; @@ -1207,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'; @@ -1221,7 +1216,8 @@ req: req } uni.navigateTo({ - url: '../selPrj/index?relation=' + priRel + + url: '../selPrj/index?relation=' + + priRel + '¶m=' + JSON.stringify(param_), events: { @@ -1241,7 +1237,8 @@ var info = { eventid: callback_eventid, edtype: "2", - projectid: data[0].ID, + projectid: data[0] + .ID, rclsid: "", robjid: "", userlogin: "", @@ -1253,8 +1250,9 @@ dataJson: [], } - $this.DataObjRunCustomEvent( - info); + $this + .DataObjRunCustomEvent( + info); } } } @@ -1264,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') }); } } @@ -1277,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') @@ -1373,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') @@ -1381,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/>') : ''; @@ -1404,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 }); @@ -1467,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, @@ -1484,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, @@ -1505,8 +1510,11 @@ "value": val }); } - col.dict = - dictItemList; + if (col.useDict) { + col.dict = dictItemList; + } else { + col.selections = dictItemList; + } } } }); @@ -1514,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; + } } } }); @@ -1567,42 +1570,25 @@ }, hideFormItems(data) { const $this = this + const head_styledef = this.head_styledef 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; + 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; } - } else if (ele.name == - 'Layout') { - ele.setting.colList - .forEach( - col => { - if (col) { - if (col - .fieldId == - attr - .attr - ) { - col.show = - attr - .show; - } - } - }); } }); + } + }); }); - var head_styledef = JSON.parse(JSON.stringify($this.$data - .head_styledef)); - $this.head_styledef = []; - $this.head_styledef = head_styledef; }, afterOK() { this.saving = true @@ -1616,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, @@ -1656,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') @@ -1664,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/>') : ''; @@ -1677,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 }); @@ -1829,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/>') : ''; @@ -1849,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 }); @@ -1916,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; @@ -1928,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