From d84283821bb08d81d887f20a7118caf25b8b2714 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期二, 27 八月 2024 18:29:10 +0800 Subject: [PATCH] 判断接口返回值是否是字符串,然后解析 --- pages/modal/5600.vue | 446 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 275 insertions(+), 171 deletions(-) diff --git a/pages/modal/5600.vue b/pages/modal/5600.vue index d589191..0f9b763 100644 --- a/pages/modal/5600.vue +++ b/pages/modal/5600.vue @@ -11,7 +11,8 @@ <uni-data-picker class="dv_select" v-if="item.name=='Select'" :class="item.disabled?'input-disabled':''" v-model="item.value" :localdata="item.dict" @change="onEnterChange(item)" :readonly="item.disabled" :clear-icon="false" :popup-title="item.label"></uni-data-picker> - <view class="input-wrapper" v-if="item.name=='Input' || item.name=='InputNumber'"> + <view class="input-wrapper" :style="{'width':`calc(96% - ${item.labelWidth}px)`}" + v-if="item.name=='Input' || item.name=='InputNumber'"> <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]" @click="onEnterChange(item)"></text> <input class="uni-input" :class="item.disabled?'input-disabled':''" @@ -336,19 +337,21 @@ $this.$data.head_styledef = ret.result.style_def ? JSON.parse(styledef) : {}; // this.form = this.head_styledef.form.model; // console.log($this.$data.head_styledef); - $this.$data.head_styledef.form.items.forEach(async (ele, index) => { - if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 - await this.DictGetInfo(ele.bind.dict, index, 'mast'); - } - if ($this.focusFieldId == "") { - if (ele.name == 'Input' || ele.name == 'InputNumber') { - $this.setData({ - focusFieldId: ele.fieldId - }) + if ($this.$data.head_styledef.form?.items) { + $this.$data.head_styledef.form.items.forEach(async (ele, index) => { + if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 + await this.DictGetInfo(ele.bind.dict, index, 'mast'); } - } + if ($this.focusFieldId == "") { + if (ele.name == 'Input' || ele.name == 'InputNumber') { + $this.setData({ + focusFieldId: ele.fieldId + }) + } + } - }); + }); + } } else { uni.showModal({ title: this.translateSys("error") + "1", @@ -359,9 +362,10 @@ } }).catch(ex => { // console.log(ex); + let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex uni.showModal({ title: this.translateSys("error") + "1.1", - content: ex.errMsg, + content: tip, showCancel: false, confirmText: this.translateSys("cancel") }); @@ -392,11 +396,13 @@ // var aa = JSON.stringify(this.detail1_styledef); // $this.$data.detail1StyleDefList.push(JSON.parse(aa)); // console.log($this.$data.detail1StyleDefList); - $this.detail1_styledef.form.items.forEach(async (ele, index) => { - if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 - await this.DictGetInfo(ele.bind.dict, index, 'sub'); - } - }); + if ($this.detail1_styledef.form?.items) { + $this.detail1_styledef.form.items.forEach(async (ele, index) => { + if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 + await this.DictGetInfo(ele.bind.dict, index, 'sub'); + } + }); + } } else { uni.showModal({ title: this.translateSys("error") + "2", @@ -407,9 +413,10 @@ } }).catch(ex => { // console.log(ex); + let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex uni.showModal({ title: this.translateSys("error") + "2.1", - content: ex.errMsg, + content: tip, showCancel: false, confirmText: this.translateSys("cancel") }); @@ -447,9 +454,10 @@ } }).catch(ex => { // console.log(ex); + let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex uni.showModal({ title: this.translateSys("error") + "3.1", - content: ex.errMsg, + content: tip, showCancel: false, confirmText: this.translateSys("cancel") }); @@ -525,12 +533,84 @@ 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('灏唃etDictInfo銆恓son string銆戣浆鎹负銆恓son object銆戝け璐�) + } + } + if (ret.err_code == 0) { + resolve(ret); + } else { + reject({ + "errMsg": ret.err_msg + }); + } + 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", + success: (_res) => { + // console.log(_res); + 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('灏唃etUIStyleInfo銆恓son string銆戣浆鎹负銆恓son object銆戝け璐�) + } + } + if (ret.err_code == 0) { + resolve(ret); + } else { + reject({ + "errMsg": ret.err_msg || ret.errMsg }); } }, @@ -789,7 +869,7 @@ 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) { @@ -1012,6 +1092,7 @@ }); } }); + console.log("end") } else { // this.detail2StyleDefList=[]; if (result.info) { @@ -1035,9 +1116,10 @@ } }).catch(ex => { // console.log(ex); + let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex uni.showModal({ title: this.translateSys("error") + "4.1", - content: ex.errMsg, + content: tip, showCancel: false, confirmText: this.translateSys("cancel") }); @@ -1130,48 +1212,53 @@ if (JSON.stringify(data.row) == '{}') { return; } - data.row.forEach(row => { - var styleStr = JSON.stringify(this.$data.detail1_styledef); - if (type) { //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鍒嗘嫞鏁版嵁 - styleStr = JSON.stringify(this.$data.detail2_styledef); - } else { - if (data.page_name == this.$data.param.Sub_Page[1].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞 - styleStr = JSON.stringify(this.$data.detail2_styledef); //寰呭垎鎷�- } + var styleStr = JSON.stringify(this.$data.detail1_styledef); + if (type) { //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鍒嗘嫞鏁版嵁 + styleStr = JSON.stringify(this.$data.detail2_styledef); + } else { + if (data.page_name == this.$data.param.Sub_Page[1].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞 + styleStr = JSON.stringify(this.$data.detail2_styledef); //寰呭垎鎷� } - var detailStyle = JSON.parse(styleStr); - detailStyle.form.objId = row.id; - detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '').replace('{', '').replace('}', - '') : 'null'; - detailStyle.form.attrs = row.attrs; - row.attrs.forEach(attr => { - detailStyle.form.items.forEach(ele => { - if (ele.name != 'Layout') { - if (ele.fieldId == attr.attr) ele.value = attr.value; - } else if (ele.name == 'Layout') { - ele.setting.colList.forEach(col => { - if (col) { - if (col.fieldId == attr.attr) col.value = attr - .value; - } - }); - } - }); - }); + } + data.row.forEach(row => { - if (type) { //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鍒嗘嫞鏁版嵁 - this.$data.detail2StyleDefList.push(detailStyle); - // console.log(this.$data.detail2StyleDefList); - } else { - if (data.page_name == this.$data.param.Sub_Page[1].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞 + var detailStyle = JSON.parse(styleStr); + if (detailStyle.form) { + detailStyle.form.objId = row.id; + detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '').replace('{', '').replace( + '}', + '') : 'null'; + detailStyle.form.attrs = row.attrs; + row.attrs.forEach(attr => { + detailStyle.form.items.forEach(ele => { + if (ele.name != 'Layout') { + if (ele.fieldId == attr.attr) ele.value = attr.value; + } else if (ele.name == 'Layout') { + ele.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == attr.attr) col.value = attr + .value; + } + }); + } + }); + }); + + if (type) { //纭畾鍚庤剼鏈繘鍏ュ姞杞藉凡鍒嗘嫞鏁版嵁 this.$data.detail2StyleDefList.push(detailStyle); // console.log(this.$data.detail2StyleDefList); } else { - this.$data.detail1StyleDefList.push(detailStyle); - this.activelist.push({ - active: false - }); - // console.log(this.$data.detail1StyleDefList); + if (data.page_name == this.$data.param.Sub_Page[1] + .Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄凡鍒嗘嫞 + this.$data.detail2StyleDefList.push(detailStyle); + // console.log(this.$data.detail2StyleDefList); + } else { + this.$data.detail1StyleDefList.push(detailStyle); + this.activelist.push({ + active: false + }); + // console.log(this.$data.detail1StyleDefList); + } } } }); @@ -1187,94 +1274,105 @@ if (JSON.stringify(data.content) == '{}') { return; } + var styleStr = JSON.stringify($this.$data.detail2_styledef); + if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄爜鐩樹腑 + styleStr = JSON.stringify($this.$data.detail1_styledef); //鐮佺洏涓�+ } data.content.forEach(cont => { - var styleStr = JSON.stringify($this.$data.detail2_styledef); - if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄爜鐩樹腑 - styleStr = JSON.stringify($this.$data.detail1_styledef); //鐮佺洏涓�- } + + var detailStyle = JSON.parse(styleStr); detailStyle.SelBut_Checked = data.checkbox ?? true; - detailStyle.form.objId = cont.id; - detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g, '').replace('{', '').replace('}', - '') : 'null'; - detailStyle.form.attrs = cont.attrs; - cont.attrs.forEach(attr => { - detailStyle.form.items.forEach(ele => { - if (ele.name != 'Layout') { - if (ele.fieldId == attr.attr) ele.value = attr.value; - } else if (ele.name == 'Layout') { - ele.setting.colList.forEach(col => { - if (col) { - if (col.fieldId == attr.attr) col.value = attr - .value; + if (detailStyle.form) { + detailStyle.form.objId = cont.id; + detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g, '').replace('{', '').replace( + '}', + '') : 'null'; + detailStyle.form.attrs = cont.attrs; + + cont.attrs.forEach(attr => { + detailStyle.form.items.forEach(ele => { + if (ele.name != 'Layout') { + if (ele.fieldId == attr.attr) ele.value = attr.value; + } else if (ele.name == 'Layout') { + ele.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == attr.attr) col.value = attr + .value; + } + }); + } + }); + }); + if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 + //濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�+ if (data.clear == false) { + var isflag = true; + $this.detail1StyleDefList.forEach((style, index) => { + if (style.form.objId == detailStyle.form.objId) { + cont.attrs.forEach(attr => { + style.form.items.forEach(ele => { + if (ele.name != 'Layout') { + if (ele.fieldId == attr.attr) ele + .value = + attr.value; + } else if (ele.name == 'Layout') { + ele.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == attr + .attr) col.value = + attr + .value; + } + }); + } + }); + }); + isflag = false; } }); + if (isflag) $this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�+ } else { + $this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷� } - }); - }); - if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 - //濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�- if (data.clear == false) { - var isflag = true; - $this.detail1StyleDefList.forEach((style, index) => { - if (style.form.objId == detailStyle.form.objId) { - cont.attrs.forEach(attr => { - style.form.items.forEach(ele => { - if (ele.name != 'Layout') { - if (ele.fieldId == attr.attr) ele.value = - attr.value; - } else if (ele.name == 'Layout') { - ele.setting.colList.forEach(col => { - if (col) { - if (col.fieldId == attr - .attr) col.value = attr - .value; - } - }); - } - }); - }); - isflag = false; - } + $this.activelist.push({ + active: false }); - if (isflag) $this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�+ // console.log($this.$data.detail1StyleDefList); } else { - $this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�- } - $this.activelist.push({ - active: false - }); - // console.log($this.$data.detail1StyleDefList); - } else { - if (data.clear == false) { - //濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�- var isflag = true; - $this.detail2StyleDefList.forEach((style, index) => { - if (style.form.objId == detailStyle.form.objId) { - cont.attrs.forEach(attr => { - style.form.items.forEach(ele => { - if (ele.name != 'Layout') { - if (ele.fieldId == attr.attr) ele.value = - attr.value; - } else if (ele.name == 'Layout') { - ele.setting.colList.forEach(col => { - if (col) { - if (col.fieldId == attr - .attr) col.value = attr - .value; - } - }); - } + if (data.clear == false) { + //濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�+ var isflag = true; + $this.detail2StyleDefList.forEach((style, index) => { + if (style.form.objId == detailStyle.form.objId) { + cont.attrs.forEach(attr => { + style.form.items.forEach(ele => { + if (ele.name != 'Layout') { + if (ele.fieldId == attr.attr) ele + .value = + attr.value; + } else if (ele.name == 'Layout') { + ele.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == attr + .attr) col.value = + attr + .value; + } + }); + } + }); }); - }); - isflag = false; - } - }); - if (isflag) $this.detail2StyleDefList.push(detailStyle); //宸插垎鎷�- } else { - $this.detail2StyleDefList.push(detailStyle); //宸插垎鎷�+ isflag = false; + } + }); + if (isflag) $this.detail2StyleDefList.push(detailStyle); //宸插垎鎷�+ } else { + $this.detail2StyleDefList.push(detailStyle); //宸插垎鎷�+ } + + //console.log($this.$data.detail2StyleDefList); } - // console.log($this.$data.detail2StyleDefList); } }); @@ -1353,9 +1451,10 @@ } }).catch(ex => { // console.log(ex); + let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex uni.showModal({ title: this.translateSys("error") + "5.1", - content: ex.errMsg, + content: tip, showCancel: false, confirmText: this.translateSys("cancel") }); @@ -1552,21 +1651,21 @@ }, sava(event) { var $this = this; - if (this.$data.detail1StyleDefList.length == 0) { - uni.showModal({ - title: this.translateSys("tip"), - content: this.translate( - "tip_no_data_first") + - this.translateSys( - "quotation_mark_left") + this.param.Sub_Page[0].Name + this.translateSys( - "quotation_mark_right") + - this.translate( - "tip_no_data_last"), - showCancel: false, - confirmText: this.translateSys("cancel") - }); - return false; - } + // if (this.$data.detail1StyleDefList.length == 0) { + // uni.showModal({ + // title: this.translateSys("tip"), + // content: this.translate( + // "tip_no_data_first") + + // this.translateSys( + // "quotation_mark_left") + this.param.Sub_Page[0].Name + this.translateSys( + // "quotation_mark_right") + + // this.translate( + // "tip_no_data_last"), + // showCancel: false, + // confirmText: this.translateSys("cancel") + // }); + // return false; + // } this.okLoading = true //鑾峰彇琛ㄥご灞炴� var head_attr = {}; @@ -1633,16 +1732,16 @@ }); }); const list = [] - if (jsonlist.length == 0) { - //this.okLoading = false - uni.showModal({ - title: this.translateSys("tip"), - content: this.translate("tip_no_select_data"), - showCancel: false, - confirmText: this.translateSys("cancel") - }); - return; - } + // if (jsonlist.length == 0) { + // //this.okLoading = false + // uni.showModal({ + // title: this.translateSys("tip"), + // content: this.translate("tip_no_select_data"), + // showCancel: false, + // confirmText: this.translateSys("cancel") + // }); + // return; + // } list.push({ page_name: $this.param.Sub_Page[0].Name, item_list: jsonlist, @@ -1978,7 +2077,9 @@ else if (type == "2") this.ok2Loading = false }).catch(ex => { - var tip = typeof ex == "string" ? ex : ex.errMsg; + let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex + + // var tip = typeof ex == "string" ? ex : ex.errMsg; if (type == "1") this.okLoading = false else if (type == "2") @@ -2028,6 +2129,7 @@ .v-headStyle { width: 100%; + margin-bottom: 11rpx; } .view-content { @@ -2073,22 +2175,24 @@ } .v-headStyle .txt_title { - font-size: 34rpx; + font-size: 14px; text-align: right; display: inline-block; - vertical-align: 12px; + // align-items: center; + color: #606266; + padding: 0 5px 0 0; + vertical-align: 10px; } .v-headStyle input { display: inline-block; width: 85%; - height: 52rpx; - line-height: 34rpx; + line-height: 14px; background: #FFF; border-radius: 0 !important; color: #2d8cf0; - padding: 10rpx 8rpx 12rpx; - font-size: 34rpx; + padding: 12rpx 8rpx; + font-size: 14px; font-family: inherit; box-shadow: none !important; transition-duration: 0.1s; -- Gitblit v1.9.1