| | |
| | | <uni-forms ref="baseForm" label-align="right"> |
| | | <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items"> |
| | | <!-- 普通布局 --> |
| | | <uni-forms-item class="head-form" v-if="item.name != 'Layout'&& item.show==true" |
| | | :label="item.label +':' " :label-width="item.labelWidth+'px'"> |
| | | <uni-forms-item v-if="item.name != 'Layout'&& item.show==true" :label="item.label +':' " |
| | | :label-width="item.labelWidth+'px'"> |
| | | <!-- <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text> --> |
| | | <span class="form-item-span" v-if="item.disabled" |
| | | :style="'width: calc(100% - '+item.labelWidth+'px);'">{{item.value}}</span> |
| | |
| | | <uni-row class="demo-uni-row" v-if="item.name=='Layout'"> |
| | | <uni-col v-for="(cols,key) in item.setting.colList" |
| | | :span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col"> |
| | | <uni-forms-item class="head-form" v-if="cols!=null && cols.show==true" :label="cols.label +':'" |
| | | :label-width="cols.labelWidth+'px'" > |
| | | <uni-forms-item v-if="cols!=null && cols.show==true" :label="cols.label +':'" |
| | | :label-width="cols.labelWidth+'px'"> |
| | | <!-- <text class="txt_title" :style="{'width':cols.labelWidth+'px'}">{{cols.label}}:</text> --> |
| | | <span class="form-item-span" v-if="cols.disabled">{{cols.value}}</span> |
| | | <view class="input-wrapper" |
| | |
| | | </a> |
| | | </view> |
| | | </view> |
| | | <button type="default" @tap="sava" class="btn_add" v-if="dropdownBtns.length==0" :class="saving?'btn_disabled':''" :disabled="saving">{{title}}</button> |
| | | <button type="default" @tap="sava" class="btn_add" v-if="dropdownBtns.length==0" |
| | | :class="saving?'btn_disabled':''" :disabled="saving">{{title}}</button> |
| | | <button type="default" @tap="cancel" class="btn_cancel">{{translateSys('cancel')}}</button> |
| | | |
| | | </view> |
| | |
| | | receiver: null, |
| | | intentFilter: null, |
| | | content: '', |
| | | saving:false |
| | | saving: false |
| | | }; |
| | | }, |
| | | onNavigationBarButtonTap(e) { |
| | |
| | | |
| | | } |
| | | }) |
| | | } |
| | | else if (e.index == 1) { |
| | | } else if (e.index == 1) { |
| | | //刷新 |
| | | uni.redirectTo({ |
| | | url: '../modal/3018_2?param=' + JSON.stringify(this.$data.param) + |
| | | "&titlename=" + this.$data.title |
| | | }); |
| | | // uni.redirectTo({ |
| | | // url: '../modal/3018_2?param=' + JSON.stringify(this.param) + |
| | | // "&titlename=" + this.title |
| | | // }); |
| | | this.setData({ |
| | | edit_inital_event: "", //弹窗初始化事件ID |
| | | edit_ok_event: "", //弹窗点击OK 触发事件ID |
| | | edit_select_compose_event: "", //选择组成对象时调用 |
| | | edit_compose_cls_id: "", |
| | | global_attr: [], |
| | | refdatastore: [], //引用数据存储区// {attr:'G_PRJ_' + bindattr + '_ID', value:info.id} |
| | | scanCodeVal: "", |
| | | subClassAttrList: [], |
| | | subPanelList: [], |
| | | subClassGridStyle: [], |
| | | popupType: "center", |
| | | check_list: {}, |
| | | |
| | | focusFieldId: "", |
| | | focusOldFieldId: "", |
| | | head_styledef: { |
| | | form: { |
| | | items: [] |
| | | } |
| | | }, |
| | | after_ok: {}, |
| | | activity: null, |
| | | receiver: null, |
| | | intentFilter: null, |
| | | content: '', |
| | | saving: false |
| | | }) |
| | | this.loadData() |
| | | } |
| | | }, |
| | | onLoad(options) { |
| | |
| | | class_id: class_id, |
| | | ui_style_id: style_id, |
| | | }; |
| | | this.$store.dispatch('UIStyleGetInfo', dataInfo).then(async (ret) => { |
| | | // console.log(ret); |
| | | if (ret.err_code == 0) { |
| | | var styledef = ""; |
| | | if (ret.result.style_def) { |
| | | //mobox2的style_def是json字符串 |
| | | styledef = ret.result.style_def.replace(/\\/g, ""); |
| | | //mobox3的style_def是base64字符串 |
| | | if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret |
| | | .result |
| | | .style_def); |
| | | } |
| | | const styledefHead = styledef ? JSON.parse(styledef) : {}; |
| | | try { |
| | | var textProgress = `Head_UIStyleGetInfo start ${class_id}_${style_id}\n` |
| | | const ret = await this.getUIStyleInfo(dataInfo) |
| | | textProgress += `err_code:${ret.err_code}\n` |
| | | var styledef = ""; |
| | | if (ret.result.style_def) { |
| | | //mobox2的style_def是json字符串 |
| | | styledef = ret.result.style_def.replace(/\\/g, ""); |
| | | //mobox3的style_def是base64字符串 |
| | | if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret |
| | | .result |
| | | .style_def); |
| | | } |
| | | textProgress += `styledef2:${styledef}\n` |
| | | |
| | | const styledefHead = styledef ? JSON.parse(styledef) : {}; |
| | | if (styledefHead?.form?.items) { |
| | | for (let i in styledefHead.form.items) { |
| | | const ele = styledefHead.form.items[i] |
| | | textProgress += `form.items${i}:${ele.name}\n` |
| | | if (ele.name != "Layout") { |
| | | |
| | | ele.show = true |
| | | if (ele?.useDict) { |
| | | //判断useDict是否使用字典 |
| | | textProgress += `Dict:${ele.bind.dict.name}\n` |
| | | await $this.DictGetInfo(ele.bind.dict, |
| | | styledefHead.form.model, |
| | | ele); |
| | |
| | | if ($this.focusFieldId == "") { |
| | | if (ele.name == 'Input' || ele.name == |
| | | 'InputNumber') { |
| | | textProgress += `focusFieldId=${ele.fieldId}\n` |
| | | $this.setData({ |
| | | focusFieldId: ele.fieldId |
| | | }) |
| | |
| | | } else { |
| | | for (let j in ele.setting.colList) { |
| | | const col = ele.setting.colList[j] |
| | | |
| | | textProgress += `col${j}:${col?.name || ''}\n` |
| | | if (col) { |
| | | col.show = true |
| | | if (col?.useDict) { |
| | | //判断useDict是否使用字典 |
| | | textProgress += `Dict:${col.bind.dict.name}\n` |
| | | await $this.DictGetInfo(col.bind |
| | | .dict, |
| | | styledefHead.form |
| | |
| | | if (col.name == 'Input' || col |
| | | .name == |
| | | 'InputNumber') { |
| | | textProgress += `focusFieldId=${col.fieldId}\n` |
| | | $this.setData({ |
| | | focusFieldId: col |
| | | .fieldId |
| | |
| | | } |
| | | } |
| | | } |
| | | $this.setData({ |
| | | head_styledef: styledefHead |
| | | }) |
| | | console.log("head_styledef",this.head_styledef) |
| | | if ($this.head_styledef.event?.length > 0) { |
| | | $this.head_styledef.event.forEach(async (a) => { //判断是否是初始化事件 |
| | | if (a.event_id == "initial") { |
| | | await $this.loadInitEvent(a.scrip_id); |
| | | } else if (a.event_id == 'after_ok') { |
| | | $this.after_ok = { |
| | | id: a.scrip_id, |
| | | name: a.scrip_name |
| | | }; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } else { |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + "1", |
| | | content: ret.err_msg, |
| | | showCancel: false, |
| | | confirmText: this.translateSys("cancel") |
| | | } |
| | | textProgress += `head_styledef value\n` |
| | | $this.setData({ |
| | | head_styledef: styledefHead |
| | | }) |
| | | textProgress += `event:${this.head_styledef.event?.length || 0}\n` |
| | | if ($this.head_styledef.event) { |
| | | $this.head_styledef.event.forEach(async (a) => { //判断是否是初始化事件 |
| | | if (a.event_id == "initial") { |
| | | await $this.loadInitEvent(a.scrip_id); |
| | | } else if (a.event_id == 'after_ok') { |
| | | $this.after_ok = { |
| | | id: a.scrip_id, |
| | | name: a.scrip_name |
| | | }; |
| | | } |
| | | }); |
| | | } |
| | | }).catch(ex => { |
| | | textProgress += `end` |
| | | } catch (ex) { |
| | | // console.log(ex); |
| | | console.log(textProgress); |
| | | console.log(JSON.stringify(ex), ex); |
| | | let exStr = JSON.stringify(ex) |
| | | if (exStr == "{}") |
| | | exStr = ex |
| | | let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + "1.1", |
| | | content: ex.errMsg, |
| | | content: tip + '\n' + textProgress, |
| | | showCancel: false, |
| | | confirmText: this.translateSys("cancel") |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | // this.$store.dispatch('UIStyleGetInfo', dataInfo).then(async (ret) => { |
| | | // // console.log("ret",ret); |
| | | // textProgress += `err_code:${ret.err_code}\n` |
| | | // if (ret.err_code == 0) { |
| | | // var styledef = ""; |
| | | // if (ret.result.style_def) { |
| | | // //mobox2的style_def是json字符串 |
| | | // styledef = ret.result.style_def.replace(/\\/g, ""); |
| | | // //mobox3的style_def是base64字符串 |
| | | // if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret |
| | | // .result |
| | | // .style_def); |
| | | // } |
| | | // textProgress += `styledef2:${styledef}\n` |
| | | |
| | | // const styledefHead = styledef ? JSON.parse(styledef) : {}; |
| | | // for (let i in styledefHead.form.items) { |
| | | // const ele = styledefHead.form.items[i] |
| | | // textProgress += `form.items${i}:${ele.name}\n` |
| | | // if (ele.name != "Layout") { |
| | | |
| | | // ele.show = true |
| | | // if (ele?.useDict) { |
| | | // //判断useDict是否使用字典 |
| | | // textProgress += `Dict:${ele.bind.dict.name}\n` |
| | | // await $this.DictGetInfo(ele.bind.dict, |
| | | // styledefHead.form.model, |
| | | // ele); |
| | | // } |
| | | // if ($this.focusFieldId == "") { |
| | | // if (ele.name == 'Input' || ele.name == |
| | | // 'InputNumber') { |
| | | // textProgress += `focusFieldId=${ele.fieldId}\n` |
| | | // $this.setData({ |
| | | // focusFieldId: ele.fieldId |
| | | // }) |
| | | // } |
| | | // } |
| | | // } else { |
| | | // for (let j in ele.setting.colList) { |
| | | // const col = ele.setting.colList[j] |
| | | // textProgress += `col${j}:${col?.name || ''}\n` |
| | | // if (col) { |
| | | // col.show = true |
| | | // if (col?.useDict) { |
| | | // //判断useDict是否使用字典 |
| | | // textProgress += `Dict:${col.bind.dict.name}\n` |
| | | // await $this.DictGetInfo(col.bind |
| | | // .dict, |
| | | // styledefHead.form |
| | | // .model, col); |
| | | // } |
| | | // if ($this.focusFieldId == "") { |
| | | // if (col.name == 'Input' || col |
| | | // .name == |
| | | // 'InputNumber') { |
| | | // textProgress += `focusFieldId=${col.fieldId}\n` |
| | | // $this.setData({ |
| | | // focusFieldId: col |
| | | // .fieldId |
| | | // }) |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // textProgress += `head_styledef value\n` |
| | | // $this.setData({ |
| | | // head_styledef: styledefHead |
| | | // }) |
| | | // textProgress += `event:${this.head_styledef.event?.length || 0}\n` |
| | | // if ($this.head_styledef.event) { |
| | | // $this.head_styledef.event.forEach(async (a) => { //判断是否是初始化事件 |
| | | // if (a.event_id == "initial") { |
| | | // await $this.loadInitEvent(a.scrip_id); |
| | | // } else if (a.event_id == 'after_ok') { |
| | | // $this.after_ok = { |
| | | // id: a.scrip_id, |
| | | // name: a.scrip_name |
| | | // }; |
| | | // } |
| | | // }); |
| | | // } |
| | | // textProgress += `end` |
| | | // } else { |
| | | // textProgress += `err_msg:${ret.err_msg}\n` |
| | | // uni.showModal({ |
| | | // title: this.translateSys("error") + "1", |
| | | // content: tip + '\n' + textProgress, |
| | | // showCancel: false, |
| | | // confirmText: this.translateSys("cancel") |
| | | // }); |
| | | // } |
| | | // }).catch(ex => { |
| | | // console.log(textProgress); |
| | | // console.log(JSON.stringify(ex), ex); |
| | | // let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex |
| | | // uni.showModal({ |
| | | // title: this.translateSys("error") + "1.1", |
| | | // content: tip + '\n' + textProgress, |
| | | // showCancel: false, |
| | | // confirmText: this.translateSys("cancel") |
| | | // }); |
| | | // // console.log(ex); |
| | | // // uni.showModal({ |
| | | // // title: this.translateSys("error") + "1.1", |
| | | // // content: ex.errMsg, |
| | | // // showCancel: false, |
| | | // // confirmText: this.translateSys("cancel") |
| | | // // }); |
| | | // }); |
| | | |
| | | }, |
| | | async DictGetInfo(dict, formModel, formItem) { //Mobox3得到得到字典信息字典项列表 |
| | | |
| | | var $this = this; |
| | | var dataInfo = { |
| | | dict_id: dict.id, |
| | |
| | | dataType: "json", |
| | | success: (_res) => { |
| | | // console.log(_res); |
| | | const ret = _res.data |
| | | var ret = _res.data |
| | | if (typeof ret == 'string') { |
| | | try { |
| | | try { |
| | | try { |
| | | ret = JSON.parse(ret.replace(/\\"/g, '"')); |
| | | } catch (ex) { |
| | | ret = JSON.parse(ret.replace(/\\/g, '\\\\')) |
| | | } |
| | | } catch (ex) { |
| | | ret = JSON.parse(ret.replace(/\\"/g, "'").replace(/[\r\n]/g, |
| | | '<br>').replace(/[\t]/g, ' ')); |
| | | } |
| | | } catch (ex) { |
| | | console.log(ret) |
| | | return reject('将getDictInfo【json string】转换为【json object】失败') |
| | | } |
| | | } |
| | | if (ret.err_code == 0) { |
| | | resolve(ret); |
| | | } else { |
| | |
| | | dataType: "json", |
| | | success: (_res) => { |
| | | // console.log(_res); |
| | | const ret = _res.data |
| | | var ret = _res.data |
| | | if (typeof ret == 'string') { |
| | | try { |
| | | try { |
| | | try { |
| | | ret = JSON.parse(ret.replace(/\\"/g, '"')); |
| | | } catch (ex) { |
| | | ret = JSON.parse(ret.replace(/\\/g, '\\\\')) |
| | | } |
| | | } catch (ex) { |
| | | ret = JSON.parse(ret.replace(/\\"/g, "'").replace(/[\r\n]/g, |
| | | '<br>').replace(/[\t]/g, ' ')); |
| | | } |
| | | } catch (ex) { |
| | | console.log(ret) |
| | | return reject('将getUIStyleInfo【json string】转换为【json object】失败') |
| | | } |
| | | } |
| | | if (ret.err_code == 0) { |
| | | resolve(ret); |
| | | } else { |
| | | reject({ |
| | | "errMsg": ret.err_msg |
| | | "errMsg": ret.err_msg || ret.errMsg |
| | | }); |
| | | } |
| | | }, |
| | |
| | | reject(err); |
| | | } |
| | | }) |
| | | |
| | | |
| | | }) |
| | | |
| | | |
| | | }, |
| | | |
| | | |
| | | async loadInitEvent(eventid) { |
| | | var $this = this; |
| | | if (!eventid.includes('{')) eventid = '{' + eventid + '}'; |
| | |
| | | |
| | | |
| | | ontap(item) { //扫码功能 |
| | | // console.log("ontap",item); |
| | | // console.log("ontap",item); |
| | | // 打开蓝牙适配器 |
| | | // uni.openBluetoothAdapter({ |
| | | // success: function() { |
| | |
| | | this.focusFieldId = item.fieldId |
| | | }, |
| | | onevent(item) { |
| | | // console.log("onevent",item); |
| | | // console.log("onevent",item); |
| | | if (item.oldvalue != item.value && item.value.trim() != "") { |
| | | item.oldvalue = item.value; |
| | | var attr = item.fieldId; |
| | |
| | | }, |
| | | onchange(item) { |
| | | // console.log("onchange",item); |
| | | if (item.oldvalue != item.value&& item.value.trim() != "") { |
| | | if (item.oldvalue != item.value && item.value.trim() != "") { |
| | | item.oldvalue = item.value; |
| | | var attr = item.fieldId; |
| | | this.head_styledef.form.model[attr] = item.value; |
| | |
| | | width: 98%; |
| | | } |
| | | |
| | | .v-headStyle .head-form { |
| | | .uni-forms-item { |
| | | // border: 0.5px solid red; |
| | | margin-bottom: 11rpx; |
| | | } |
| | | |
| | | .v-headStyle .form-item-span { |
| | | // border: 0.5px solid red; |
| | | padding: 7rpx 0; |
| | | color: #2d8cf0; |
| | | white-space: normal; |
| | | word-break: break-all; |
| | | display: inline-block; |
| | | // width: calc(100% - 100px); |
| | | } |
| | | // .v-headStyle .form-item-span { |
| | | // // border: 0.5px solid red; |
| | | // padding: 7rpx 0; |
| | | // color: #2d8cf0; |
| | | // white-space: normal; |
| | | // word-break: break-all; |
| | | // display: inline-block; |
| | | // // width: calc(100% - 100px); |
| | | // } |
| | | |
| | | .input-wrapper { |
| | | border: 1px solid #d5d5d5; |
| | |
| | | float: left; |
| | | display: inline-block; |
| | | } |
| | | |
| | | .btn_disabled { |
| | | background-color: #ddd; |
| | | color: #888; |
| | | } |
| | | |
| | | .btn_cancel { |
| | | width: 45%; |
| | | margin: 0 10rpx; |