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/5602.vue | 372 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 220 insertions(+), 152 deletions(-) diff --git a/pages/modal/5602.vue b/pages/modal/5602.vue index 622cfaa..5f3b6f3 100644 --- a/pages/modal/5602.vue +++ b/pages/modal/5602.vue @@ -17,7 +17,8 @@ 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':''" @@ -343,18 +344,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.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.head_styledef.form?.items) { + $this.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", @@ -365,9 +369,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") }); @@ -398,11 +403,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", @@ -413,9 +420,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") }); @@ -453,9 +461,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") }); @@ -531,7 +540,32 @@ 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 { @@ -549,7 +583,7 @@ }) }, -getUIStyleInfo(info) { //Mobox3鏁版嵁绫荤晫闈㈡牱寮�+ getUIStyleInfo(info) { //Mobox3鏁版嵁绫荤晫闈㈡牱寮� const loginInfo = this.$store.getters.loginid const dataSApi = this.$store.getters.getDataSApi return new Promise((resolve, reject) => { @@ -561,12 +595,29 @@ 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('灏唃etUIStyleInfo銆恓son string銆戣浆鎹负銆恓son object銆戝け璐�) + } + } if (ret.err_code == 0) { resolve(ret); } else { reject({ - "errMsg": ret.err_msg + "errMsg": ret.err_msg || ret.errMsg }); } }, @@ -1056,9 +1107,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") }); @@ -1151,48 +1203,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); + } } } }); @@ -1209,95 +1266,103 @@ 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.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 (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); } }); }, @@ -1369,9 +1434,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") }); @@ -2052,7 +2118,8 @@ this.okLoading = false else if (type == "2") this.ok2Loading = false - var tip = typeof ex == "string" ? ex : ex.errMsg; + + let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex uni.showModal({ title: this.translateSys("error") + "8.1", content: this.translate("execute_after_ok_event_failed") + this.translateSys( @@ -2097,6 +2164,7 @@ .v-headStyle { width: 100%; + margin-bottom: 11rpx; } .view-content { @@ -2145,24 +2213,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; - /* border: 1px solid #d5d5d5; */ - /* width: 65%; */ 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