| | |
| | | <view class="view-bottom" v-if="pageData.OK_Button==true"> |
| | | <button type="default" @tap="cancel" |
| | | class="btn_cancel">{{translateSys('cancel')}}</button> |
| | | <button type="primary" @tap="ok(pageData)" |
| | | class="btn_add">{{translateSys('ok')}}</button> |
| | | <button type="primary" @tap="ok(pageData)" class="btn_add" |
| | | :class="pageData.okLoading?'btn_disabled':''" |
| | | :disabled="pageData.okLoading? true:false">{{translateSys('ok')}}</button> |
| | | </view> |
| | | </view> |
| | | </swiper-item> |
| | |
| | | //加载Tab页签 |
| | | const pageList = this.param.Sub_Page || [] |
| | | for (let i in pageList) { |
| | | page.DefList = []; |
| | | |
| | | const page = pageList[i] |
| | | page.DefList = []; |
| | | page.StyleDef = await this.Detail_UIstyleGetInfo( |
| | | this.ClsID, |
| | | page.UI_Style.ID |
| | |
| | | |
| | | }, |
| | | async Detail_UIstyleGetInfo(class_id, style_id) { //获取自定义表单样式 |
| | | var $this = this; |
| | | var dataInfo = { |
| | | 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); |
| | | } |
| | | try { |
| | | var $this = this; |
| | | var dataInfo = { |
| | | class_id: class_id, |
| | | ui_style_id: style_id, |
| | | }; |
| | | const ret = await this.getUIStyleInfo(dataInfo) |
| | | 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 detailstyledef = ret.result.style_def ? JSON.parse( |
| | | styledef) : {}; |
| | | detailstyledef.SelBut_Checked = true; |
| | | for (let index in styledefHead.form.items) { |
| | | const ele = styledefHead.form.items[index] |
| | | const detailstyledef = ret.result.style_def ? JSON.parse( |
| | | styledef) : {}; |
| | | detailstyledef.SelBut_Checked = true; |
| | | for (let index in detailstyledef.form.items) { |
| | | const ele = detailstyledef.form.items[index] |
| | | |
| | | if (ele.name != "Layout") { |
| | | if (ele.useDict == true) { //判断useDict是否使用字典 |
| | | await this.DictGetInfo(ele.bind.dict, |
| | | if (ele.name != "Layout") { |
| | | if (ele.useDict == true) { //判断useDict是否使用字典 |
| | | await this.DictGetInfo(ele.bind.dict, |
| | | detailstyledef.form |
| | | .model, ele); |
| | | } |
| | | } else { |
| | | for (let j in ele.setting.colList) { |
| | | const col = ele.setting.colList[j] |
| | | if (col?.useDict == true) { |
| | | await this.DictGetInfo(col |
| | | .bind.dict, |
| | | detailstyledef.form |
| | | .model, ele); |
| | | } |
| | | } else { |
| | | for (let j in ele.setting.colList) { |
| | | const col = ele.setting.colList[j] |
| | | if (col?.useDict == true) { |
| | | await this.DictGetInfo(col |
| | | .bind.dict, |
| | | detailstyledef.form |
| | | .model, col); |
| | | } |
| | | .model, col); |
| | | } |
| | | } |
| | | } |
| | | console.log("Detail_UIstyleGetInfo", detailstyledef); |
| | | return detailstyledef |
| | | } else { |
| | | return {} |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + "2", |
| | | content: ret.err_msg, |
| | | showCancel: false, |
| | | confirmText: this.translateSys("cancel") |
| | | }); |
| | | } |
| | | }).catch(ex => { |
| | | console.log("Detail_UIstyleGetInfo", detailstyledef); |
| | | return detailstyledef |
| | | } catch (ex) { |
| | | // console.log(ex); |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + "2.1", |
| | | title: this.translateSys("error") + "2", |
| | | content: ex.errMsg, |
| | | showCancel: false, |
| | | confirmText: this.translateSys("cancel") |
| | | }); |
| | | return {} |
| | | }); |
| | | } |
| | | // 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 detailstyledef = ret.result.style_def ? JSON.parse( |
| | | // styledef) : {}; |
| | | // detailstyledef.SelBut_Checked = true; |
| | | // for (let index in detailstyledef.form.items) { |
| | | // const ele = detailstyledef.form.items[index] |
| | | |
| | | // if (ele.name != "Layout") { |
| | | // if (ele.useDict == true) { //判断useDict是否使用字典 |
| | | // await this.DictGetInfo(ele.bind.dict, |
| | | // detailstyledef.form |
| | | // .model, ele); |
| | | // } |
| | | // } else { |
| | | // for (let j in ele.setting.colList) { |
| | | // const col = ele.setting.colList[j] |
| | | // if (col?.useDict == true) { |
| | | // await this.DictGetInfo(col |
| | | // .bind.dict, |
| | | // detailstyledef.form |
| | | // .model, col); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // console.log("Detail_UIstyleGetInfo", detailstyledef); |
| | | // return detailstyledef |
| | | // } else { |
| | | // return {} |
| | | // uni.showModal({ |
| | | // title: this.translateSys("error") + "2", |
| | | // content: ret.err_msg, |
| | | // showCancel: false, |
| | | // confirmText: this.translateSys("cancel") |
| | | // }); |
| | | // } |
| | | // }).catch(ex => { |
| | | // // console.log(ex); |
| | | // uni.showModal({ |
| | | // title: this.translateSys("error") + "2.1", |
| | | // content: ex.errMsg, |
| | | // showCancel: false, |
| | | // confirmText: this.translateSys("cancel") |
| | | // }); |
| | | // return {} |
| | | // }); |
| | | |
| | | }, |
| | | |
| | |
| | | } |
| | | |
| | | }, |
| | | getDictInfo(info) { //Mobox3得到得到字典信息字典项列表 |
| | | getDictInfo(info) { //Mobox3得到字典信息字典项列表 |
| | | const loginInfo = this.$store.getters.loginid |
| | | const mobxoSApi = this.$store.getters.getMobxoSApi |
| | | return new Promise((resolve, reject) => { |
| | | uni.request({ |
| | | url: mobxoSApi + 'api/dict/GetInfo2?sessionid=' + loginInfo.result.session_id, |
| | | data: info, |
| | | method: 'POST', |
| | | dataType: "json", |
| | | success: (_res) => { |
| | | // console.log(_res); |
| | | const ret = _res.data |
| | | if (ret.err_code == 0) { |
| | | resolve(ret); |
| | | } else { |
| | | reject({ |
| | | "errMsg": ret.err_msg |
| | | }); |
| | | } |
| | | }, |
| | | fail: (err) => { |
| | | // console.log(err); |
| | | reject(err); |
| | | } |
| | | }) |
| | | |
| | | }) |
| | | |
| | | }, |
| | | getUIStyleInfo(info) { //Mobox3数据类界面样式 |
| | | const loginInfo = this.$store.getters.loginid |
| | | const dataSApi = this.$store.getters.getDataSApi |
| | | return new Promise((resolve, reject) => { |
| | | uni.request({ |
| | | url: dataSApi + 'api/class/uistyle/GetInfo?sessionid=' + loginInfo.result |
| | | .session_id, |
| | | data: info, |
| | | method: 'POST', |
| | | dataType: "json", |
| | |
| | | console.log(result.decodedata); |
| | | item.value = result.decodedata; |
| | | var $this = this; |
| | | if (item.oldvalue != item.value) { |
| | | if (item.oldvalue != item.value && item.value.trim() != "") { |
| | | item.oldvalue = item.value; |
| | | var attr = item.fieldId; |
| | | this.head_styledef.form.model[attr] = item.value; |
| | |
| | | |
| | | onEnterChange(item) { //回车,点击按钮,取消节点事件 |
| | | console.log(item); |
| | | if (item.oldvalue != item.value) { |
| | | if (item.oldvalue != item.value && item.value.trim() != "") { |
| | | item.oldvalue = item.value; |
| | | var attr = item.fieldId; |
| | | this.head_styledef.form.model[attr] = item.value; |
| | |
| | | }, |
| | | getDetailAttrList(pageData) { |
| | | const detailAttrList = []; |
| | | pageData.DefList.forEach(style => { |
| | | var detail_attr = {}; |
| | | style.form.items.forEach(item => { |
| | | if (item.name == "Layout") { //判断是否是栅栏格式 |
| | | item.setting.colList.forEach(cols => { |
| | | if (cols != null) detail_attr[cols |
| | | .fieldId] = cols.value; |
| | | }); |
| | | } else |
| | | detail_attr[item.fieldId] = item.value; |
| | | }); |
| | | |
| | | detail_attr['id'] = style.form.objId; |
| | | if (pageData.Select_Button == true) { //判断选择按钮是否为true |
| | | if (style.SelBut_Checked == true) |
| | | detailAttrList.push(detail_attr); |
| | | } else |
| | | detailAttrList.push(detail_attr); |
| | | }); |
| | | // console.log(detailAttrList); |
| | | //获取正在码盘里没有显示的字段 |
| | | pageData.DefList.forEach(style => { |
| | | style.form.attrs.forEach(attr => { |
| | | for (var key in detailAttrList) { |
| | | if (style.form.objId == detailAttrList[key][ |
| | | 'id' |
| | | ]) { |
| | | var keys = Object.keys(detailAttrList[key]); |
| | | var isflag = true; |
| | | keys.forEach((ele) => { |
| | | if (ele == attr.attr) isflag = |
| | | false; |
| | | if (pageData.DefList) { |
| | | pageData.DefList.forEach(style => { |
| | | var detail_attr = {}; |
| | | style.form.items.forEach(item => { |
| | | if (item.name == "Layout") { //判断是否是栅栏格式 |
| | | item.setting.colList.forEach(cols => { |
| | | if (cols != null) detail_attr[cols |
| | | .fieldId] = cols.value; |
| | | }); |
| | | if (isflag) { |
| | | detailAttrList[attr.attr] = attr.value; |
| | | } else |
| | | detail_attr[item.fieldId] = item.value; |
| | | }); |
| | | |
| | | detail_attr['id'] = style.form.objId; |
| | | if (pageData.Select_Button == true) { //判断选择按钮是否为true |
| | | if (style.SelBut_Checked == true) |
| | | detailAttrList.push(detail_attr); |
| | | } else |
| | | detailAttrList.push(detail_attr); |
| | | }); |
| | | // console.log(detailAttrList); |
| | | //获取正在码盘里没有显示的字段 |
| | | pageData.DefList.forEach(style => { |
| | | style.form.attrs.forEach(attr => { |
| | | for (var key in detailAttrList) { |
| | | if (style.form.objId == detailAttrList[key][ |
| | | 'id' |
| | | ]) { |
| | | var keys = Object.keys(detailAttrList[key]); |
| | | var isflag = true; |
| | | keys.forEach((ele) => { |
| | | if (ele == attr.attr) isflag = |
| | | false; |
| | | }); |
| | | if (isflag) { |
| | | detailAttrList[attr.attr] = attr.value; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | |
| | | } |
| | | const jsonlist = []; |
| | | detailAttrList.forEach(attr => { |
| | | jsonlist.push({ |
| | |
| | | var $this = this; |
| | | const jsonList = [] |
| | | this.pageDetail.forEach((page) => { |
| | | |
| | | jsonList.push({ |
| | | page_name: page.Name, |
| | | item_list: $this.getDetailAttrList(page |
| | |
| | | .Select_Button), |
| | | ext_data: page.ExtData || {} |
| | | }) |
| | | |
| | | }) |
| | | const data_json = Base64.encode( |
| | | JSON.stringify(jsonList) |
| | |
| | | input_param: input_param, |
| | | }; |
| | | this.$store.dispatch('runCustomEvent', dataInfo).then(ret => { |
| | | // console.log(ret); |
| | | console.log(ret); |
| | | if (ret.err_code == 0) { |
| | | var result = ret.result; |
| | | if (result.ret != 0) { |
| | |
| | | |
| | | if (result.result_type == 0 && result.action) { |
| | | result.action.forEach(item => { |
| | | |
| | | if (item.action_type == |
| | | "insert_subtable_page_row" |
| | | ) { //码盘中 |
| | |
| | | .page_name + |
| | | this |
| | | .translateSys( |
| | | "sys.quotation_mark_right" |
| | | "quotation_mark_right" |
| | | ) + |
| | | this |
| | | .translate( |
| | |
| | | ele2 |
| | | .attr |
| | | ) { |
| | | if (ele.name == |
| | | 'Select' && |
| | | ele2 |
| | | .choice_list |
| | | ) { |
| | | const |
| | | dictItemList = []; |
| | | const |
| | | choiceList = |
| | | ele2 |
| | | .choice_list || |
| | | []; |
| | | for (let d in |
| | | choiceList) { |
| | | const |
| | | val = |
| | | choiceList[ |
| | | d |
| | | ]; |
| | | dictItemList |
| | | .push({ |
| | | text: val, |
| | | value: val |
| | | }); |
| | | } |
| | | ele.dict = |
| | | dictItemList; |
| | | } |
| | | |
| | | ele.value = |
| | | ele2 |
| | | .value; |
| | |
| | | ele2 |
| | | .attr |
| | | ) { |
| | | if (col |
| | | .name == |
| | | 'Select' && |
| | | ele2 |
| | | .choice_list |
| | | ) { |
| | | const |
| | | dictItemList = []; |
| | | const |
| | | choiceList = |
| | | ele2 |
| | | .choice_list || |
| | | []; |
| | | for ( |
| | | let d in |
| | | choiceList |
| | | ) { |
| | | const |
| | | val = |
| | | choiceList[ |
| | | d |
| | | ]; |
| | | dictItemList |
| | | .push({ |
| | | text: val, |
| | | value: val |
| | | }); |
| | | } |
| | | col.dict = |
| | | dictItemList; |
| | | } |
| | | |
| | | col.value = |
| | | ele2 |
| | | .value; |
| | |
| | | return; |
| | | } |
| | | const pageData = this.pageDetail.find((page) => { |
| | | return value.page_name == page.Name; |
| | | return data.page_name == page.Name; |
| | | }); |
| | | if (!pageData) |
| | | return |
| | |
| | | viewAceionContent(data) { |
| | | var $this = this; |
| | | const pageData = $this.pageDetail.find((page) => { |
| | | return value.page_name == page.Name; |
| | | return data.page_name == page.Name; |
| | | }); |
| | | if (!pageData) |
| | | return |
| | | |
| | | console.log("viewAceionContent", pageData) |
| | | pageData.ExtData = data.ext_data || {} |
| | | |
| | | if (JSON.stringify(data.content) == '{}') { |
| | |
| | | } |
| | | data.content.forEach(cont => { |
| | | var styleStr = JSON.stringify(pageData.StyleDef); |
| | | |
| | | console.log("viewAceionContent2", pageData) |
| | | var detailStyle = JSON.parse(styleStr); |
| | | detailStyle.SelBut_Checked = data.checkbox ?? true; |
| | | detailStyle.form.objId = cont.id; |
| | |
| | | uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: this.translate( |
| | | "page.tip_no_data_first") + |
| | | "tip_no_data_first") + |
| | | this.translateSys( |
| | | "quotation_mark_left") + pageData.Name + this |
| | | .translateSys( |
| | | "sys.quotation_mark_right") + |
| | | "quotation_mark_right") + |
| | | this.translate( |
| | | "page.tip_no_data_last"), |
| | | "tip_no_data_last"), |
| | | showCancel: false, |
| | | confirmText: this.translateSys("cancel") |
| | | }); |
| | | return false; |
| | | } |
| | | //获取表头属性 |
| | | pageData.okLoading = true |
| | | var head_attr = {}; |
| | | this.$data.head_styledef.form.items.forEach(item => { |
| | | if (item.name == "Layout") { //判断是否是栅栏格式 |
| | |
| | | }); |
| | | }); |
| | | if (jsonlist.length == 0) { |
| | | pageData.okLoading = false |
| | | uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: this.translate("tip_no_select_data"), |
| | |
| | | "cancel") |
| | | }); |
| | | } |
| | | pageParam.okLoading = false |
| | | }).catch(ex => { |
| | | pageParam.okLoading = false |
| | | var tip = typeof ex == "string" ? ex : ex.errMsg; |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + "8.1", |
| | |
| | | font-size: 38rpx; |
| | | font-weight: bold; |
| | | float: right; |
| | | color: #fff; |
| | | display: inline-block; |
| | | } |
| | | |
| | | .btn_disabled { |
| | | background-color: #ddd; |
| | | color: #888; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | |