From 303d480e7569a0c0a476b462e843ea76658faac5 Mon Sep 17 00:00:00 2001 From: cyy <cuiqian2004@163.com> Date: 星期六, 01 三月 2025 17:55:53 +0800 Subject: [PATCH] 5601 modify form smallwmd --- pages/modal/3018_2.vue | 985 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 565 insertions(+), 420 deletions(-) diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue index 4ff0b35..ab196d0 100644 --- a/pages/modal/3018_2.vue +++ b/pages/modal/3018_2.vue @@ -5,7 +5,7 @@ <uni-forms ref="baseForm" label-align="right"> <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items"> <!-- 鏅�甯冨眬 --> - <uni-forms-item v-if="item.name != 'Layout'&& item.show==true" :label="item.label +'锛� " + <uni-forms-item v-if="item.name != 'Layout'&& item.show==true" :label="item.label ? item.label +'锛�:'' " :label-width="item.labelWidth+'px'"> <!-- <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> --> <!-- 涓嬫媺妗�鍗曢� item.useDict?item.dict:item.selections--> @@ -14,8 +14,7 @@ :class="item.disabled?'input-disabled':''" v-model="item.value" :localdata="item.dict" @change="onchange(item)" :disabled="item.disabled" :clear="false"></uni-data-select> <!-- 鏂囨湰妗�鏁板瓧妗�--> - <view class="input-wrapper" - v-if="(item.name=='Input' || item.name=='InputNumber')"> + <view class="input-wrapper" v-if="(item.name=='Input' || item.name=='InputNumber')"> <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]" @change="classAttr_extButton(item)"></text> <input class="uni-input" :class="item.disabled?'input-disabled':''" @@ -23,7 +22,7 @@ v-model="item.value" :disabled="item.disabled" :placeholder="item.placeholder" :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}" :focus="focusFieldId == item.fieldId" @focus="ontap(item)" @click="onClick(item)" - @blur="onevent(item)" /> + @blur="onevent(item)" :maxlength="-1" /> <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]" @click="classAttr_extButton(item)"></text> </view> @@ -37,17 +36,17 @@ </view> <!-- 澶嶉�妗�--> <checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'" - :class="item.disabled?'input-disabled':''" @change="onModelValue(item)" - :disabled="item.disabled" :data-ischeck="item.value"> - <label> - <checkbox :value="item.value" :checked="item.value" /> - <text>{{item.label}}</text> + :class="item.disabled?'input-disabled':''" :disabled="item.disabled" + @change="onCheckBoxValue" :data-attr="item.fieldId"> + <label v-for="(item2) in item.selections" :key="item2.value"> + <checkbox :value="item2.value" :checked="item.value.includes(item2.value)" /> + <text>{{item2.label}}</text> </label> </checkbox-group> <!-- 鍗曢�妗�--> <radio-group class="check_rememberPwd" v-if="item.name=='Radio'" :class="item.disabled?'input-disabled':''" :disabled="item.disabled" - @change="onModelValue(item)"> + @change="onRadioBoxValue" :data-attr="item.fieldId"> <label v-for="(item2) in item.selections" :key="item2.value"> <radio :value="item2.value" :checked="item2.value === item.value" /> <text>{{item2.label}}</text> @@ -58,8 +57,7 @@ :class="item.disabled?'input-disabled':''" :disabled="item.disabled" v-model="item.value" @change="onModelValue(item)" /> <!-- 鏃ユ湡鏃堕棿 --> - <view class="input-wrapper" - v-if="(item.name=='TimePicker' || item.name=='DatePicker')"> + <view class="input-wrapper" v-if="(item.name=='TimePicker' || item.name=='DatePicker')"> <picker mode="date" class="date_iput" :class="item.disabled?'input-disabled':''" :disabled="item.disabled" :value="item.value" @change="onModelValue(item)"> <view class="picker">{{item.value}}</view> @@ -70,10 +68,9 @@ <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 v-if="cols!=null && cols.show==true" :label="cols.label +'锛�" + <uni-forms-item v-if="cols!=null && cols.show==true" :label="cols.label? cols.label +'锛�:''" :label-width="cols.labelWidth+'px'"> - <view class="input-wrapper" - v-if="(cols.name=='Input' || cols.name=='InputNumber') "> + <view class="input-wrapper" v-if="(cols.name=='Input' || cols.name=='InputNumber') "> <text v-if="cols.setting.prefix" class="uni-icon" :class="[cols.setting.prefix]" @change="onchange(cols)"></text> <input class="uni-input" :class="cols.disabled?'input-disabled':''" @@ -81,7 +78,7 @@ v-model="cols.value" :disabled="cols.disabled" :placeholder="cols.placeholder" :style="{'width':cols.setting.prefix && cols.setting.suffix?'78%':cols.setting.prefix || cols.setting.suffix?'87%':'96%'}" :focus="focusFieldId == cols.fieldId" @focus="ontap(cols)" - @click="onClick(cols)" @blur="onevent(cols)" /> + @click="onClick(cols)" @blur="onevent(cols)" :maxlength="-1" /> <text v-if="cols.setting.suffix" class="uni-icon" :class="[cols.setting.suffix]" @click="onchange(cols)"></text> </view> @@ -101,17 +98,16 @@ <!-- 澶嶉�妗�--> <checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'" :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled" - @change="onModelValue(cols)" :data-ischeck="cols.value" - :style="{'margin-left':'10rpx'}"> - <label> - <checkbox :value="cols.value" :checked="cols.value" /> - <text>{{cols.label}}</text> + @change="onCheckBoxValue" :data-attr="cols.fieldId"> + <label v-for="(cols2) in cols.selections" :key="cols2.value"> + <checkbox :value="cols2.value" :checked="cols.value.includes(cols2.value)" /> + <text>{{cols2.label}}</text> </label> </checkbox-group> <!-- 鍗曢�妗�--> <radio-group class="check_rememberPwd" v-if="cols.name=='Radio'" :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled" - @change="onModelValue(cols)"> + @change="onRadioBoxValue" :data-attr="cols.fieldId"> <label v-for="(cols2) in cols.selections" :key="cols2.value"> <radio :value="cols2.value" :checked="cols2.value === cols.value" /> <text>{{cols2.label}}</text> @@ -146,7 +142,8 @@ </view> <button type="default" @tap="sava" class="btn_add" v-if="dropdownBtns.length==0 && btnName != ''" :class="saving?'btn_disabled':''" :disabled="saving">{{btnName}}</button> - <button type="default" @tap="cancel" :class="(dropdownBtns.length> 0 || btnName != '')?'btn_cancel':'btn_cancel2'">{{translateSys('cancel')}}</button> + <button type="default" @tap="cancel" + :class="(dropdownBtns.length> 0 || btnName != '')?'btn_cancel':'btn_cancel2'">{{translateSys('cancel')}}</button> </view> <!-- 鏅�寮圭獥 top bottom center left right --> @@ -241,7 +238,7 @@ $this.onScanValue(ele, res.result) break; } - } else if (ele.name == "Layot") { + } else if (ele.name == "Layout") { let curIndex = (ele.setting.colList || []).findIndex((col, index2, arr) => { return (col.name == 'Input' || col.name == 'InputNumber' || col @@ -390,6 +387,24 @@ await $this.DictGetInfo(ele.bind.dict, styledefHead.form.model, ele); + } else { + if (ele?.name === "Select") { + const selections = ele?.selections || [] + //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� + let itemName = ele.value || ""; + if (itemName) { + styledefHead.form + .model[ele.fieldId] = itemName; + } + ele.dict = selections.map((a) => { + return { + value: a.value, + text: a.label + } + }) + + } + } if ($this.focusFieldId == "") { if (ele.name == 'Input' || ele.name == @@ -410,6 +425,25 @@ .dict, styledefHead.form .model, col); + } else { + if (col?.name === "Select") { + const selections = col?.selections || [] + //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� + let itemName = col.value || ""; + if (itemName) { + styledefHead.form + .model[col.fieldId] = itemName; + } + col.dict = selections.map((a) => { + return { + value: a.value, + text: a.label + } + }) + + + } + } if ($this.focusFieldId == "") { if (col.name == 'Input' || col @@ -470,10 +504,10 @@ var itemName = ''; (res.dict_item_list || []).forEach((item) => { if (item.is_default == '1') - itemName = item.name; + itemName = item.name list.push({ - text: item.name, - value: item.id, + text: item.value ? item.value : item.name, + value: item.name, }); }); //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� @@ -484,12 +518,19 @@ formItem.dict = list; } catch (ex) { // console.log(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.3", - content: ex.errMsg, + content: tip, showCancel: false, confirmText: this.translateSys("cancel") }); + + } }, @@ -547,160 +588,32 @@ var action = actionlist[i]; if (action.action_type == 'set_dlg_attr') { var result = action.value; - for (var i = 0; i < result.length; i++) { - if (result[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 == result[i].attr) { - var dictItemList = []; - for (var d in result[i].choice_list) { - var val = result[i].choice_list[d]; - dictItemList.push({ - "CN_S_NAME": val, - "CN_S_VALUE": val, - "text": val, - "value": val - }); - } - attr.dict = dictItemList; - } - } else if (attr.name == 'Layout') { - attr.setting.colList.forEach(col => { - if (col) { - if (col.fieldId == result[ - i] - .attr) { - var dictItemList = []; - for (var d in result[i] - .choice_list) { - var val = result[i] - .choice_list[ - d]; - dictItemList.push({ - "CN_S_NAME": val, - "CN_S_VALUE": val, - "text": val, - "value": val - }); - } - col.dict = - dictItemList; - } - } - }); - } - - } - } - for (var c = 0; c < $this.$data.head_styledef.form - .items - .length; c++) { - var attr = $this.$data.head_styledef.form.items[c]; - // console.log(attr[j].Name+'=='+result[i].attr); - //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�- if ($this.head_styledef.form.model[result[i] - .attr] == - undefined) { - $this.head_styledef.form.model[result[i] - .attr] = - result[i] - .value; - } - //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (attr.name != 'Layout') { - if (attr.fieldId == result[i].attr) { - attr.value = ''; - attr.oldvalue = ''; - attr.value = result[i].value; - attr.oldvalue = result[i].value; - $this.head_styledef.form.model[attr - .fieldId] = - result[ - i].value; - } - } else if (attr.name == 'Layout') { - attr.setting.colList.forEach(col => { - if (col) { - if (col.fieldId == result[i] - .attr) { - col.value = ''; - col.oldvalue = ''; - col.value = result[i] - .value; - col.oldvalue = result[i] - .value; - $this.head_styledef.form - .model[ - col - .fieldId] = result[ - i] - .value; - } - } - }); - } - } - var length = 0; - if (!$this.$data.refdatastore.filter(function(s) { - return result[i].attr == s.attr - }).length) { - length = 1; - $this.$data.refdatastore.push(result[i]); - } - if (length == 0) { - for (var j = 0; j < $this.$data.refdatastore - .length; j++) { - if ($this.$data.refdatastore[j].attr == result[ - i] - .attr) { - $this.$data.refdatastore[j].value = result[ - i] - .value; - } - } - } - } - } else if (data.action[i].action_type == 'set_dlg_attr_show') { + $this.setFormValues(result) + } else if (action.action_type == 'set_dlg_attr_show') { var result = action.value; - result.forEach(async (attr, key) => { - $this.$data.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; - } - } - }); - } - }); - }); - var head_styledef = JSON.parse(JSON.stringify($this.$data - .head_styledef)); - $this.$data.head_styledef = []; - $this.$data.head_styledef = head_styledef; + $this.hideFormItems(result) // console.log($this.$data.head_styledef); + } else if (action.action_type == + "set_dlg_current_edit_attr" + ) { + if ($this + .focusOldFieldId == + action.value) { + $this.setData({ + focusFieldId: "" + }) + } else { + $this.setData({ + focusFieldId: $this + .focusOldFieldId + }) + } + $this.$nextTick(() => { + $this.setData({ + focusFieldId: action + .value + }) + }); } else { uni.showModal({ title: this.translateSys("tip"), @@ -818,6 +731,66 @@ } this.DataObjRunCustomEvent(info, ''); } + if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�+ //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴� + var findd = false + for (let i in $this.head_styledef.form.items) { + const ele = $this.head_styledef.form.items[i] + + if (ele.name != "Layout") { + if (ele.name == 'Input' || ele.name == 'InputNumber') { + if (attr == ele.fieldId) { + findd = true + } else { + if (findd) { + $this.setData({ + focusFieldId: ele.fieldId + }) + break + } + + } + + } + } else { + if (findd) { + let curIndex = ele.setting.colList.findIndex((col, index2, arr) => { + return (col.name == 'Input' || col.name == 'InputNumber'); + }) + if (curIndex > -1) { + $this.setData({ + focusFieldId: ele.setting.colList[curIndex] + .fieldId + }) + break + } + + } else { + let curIndex = ele.setting.colList.findIndex((col, index2, arr) => { + return attr == col.fieldId; + }) + if (curIndex > -1) { + findd = true + let curIndex2 = ele.setting.colList.findIndex((col, index2, arr) => { + return (col.name == 'Input' || col.name == + 'InputNumber') && + index2 > + curIndex; + }) + if (curIndex2 > -1) { + $this.setData({ + focusFieldId: ele.setting.colList[curIndex] + .fieldId + }) + break + } + } + } + + } + } + } + } }, onClick(item) { @@ -857,7 +830,7 @@ }, onchange(item) { - // console.log("onchange",item); + console.log("onchange", item); if (item.oldvalue != item.value && item.value.trim() != "") { item.oldvalue = item.value; var attr = item.fieldId; @@ -891,6 +864,17 @@ onModelValue(item) { //缁戝畾Model鍊� var attr = item.fieldId; this.head_styledef.form.model[attr] = item.value; + console.log(item.value) + }, + onCheckBoxValue(e) { //缁戝畾Model鍊�+ let values = e.detail.value || [] + let attr = e.currentTarget?.dataset?.attr || "" + this.head_styledef.form.model[attr] = values; + }, + onRadioBoxValue(e) { //缁戝畾Model鍊�+ let value = e.detail.value || "" + let attr = e.currentTarget?.dataset?.attr || "" + this.head_styledef.form.model[attr] = value; }, classAttr_extButton(item) { var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�@@ -970,23 +954,12 @@ if (data.length == 0) { uni.showModal({ title: this.translateSys("tip"), - content:this.translate("tip_no_select_data"), + content: this.translate("tip_no_select_data"), showCancel: false, confirmText: this.translateSys("cancel") }); return; } - // var fieldId = $this.$data.popupParam.item.fieldId; - // $this.head_styledef.form.model[fieldId] = name; - // console.log(fieldId,$this.$data.popupParam.item); - // for (var c = 0; c < $this.$data.head_styledef.form.items.length; c++) { - // var attr = $this.$data.head_styledef.form.items[c]; - // if (attr.fieldId == fieldId) { - // attr.value = name; - // } - // } - // console.log(data); - // console.log($this.head_styledef.form); var callback_eventid = $this.$data.popupParam.button_callback.trim(); var info = { eventid: callback_eventid, @@ -1115,160 +1088,34 @@ var action = actionlist[i]; if (action.action_type == 'set_dlg_attr') { var result = action.value; - for (var i = 0; i < result.length; i++) { - if (result[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 == result[i].attr) { - var dictItemList = []; - for (var d in result[i].choice_list) { - var val = result[i].choice_list[d]; - dictItemList.push({ - "CN_S_NAME": val, - "CN_S_VALUE": val, - "text": val, - "value": val - }); - } - attr.dict = dictItemList; - } - } else if (attr.name == 'Layout') { - attr.setting.colList.forEach(col => { - if (col) { - if (col.fieldId == result[ - i] - .attr) { - var dictItemList = []; - for (var d in result[i] - .choice_list) { - var val = result[i] - .choice_list[ - d]; - dictItemList.push({ - "CN_S_NAME": val, - "CN_S_VALUE": val, - "text": val, - "value": val - }); - } - col.dict = - dictItemList; - } - } - }); - } - - } - } - for (var c = 0; c < $this.$data.head_styledef.form - .items - .length; c++) { - var attr = $this.$data.head_styledef.form.items[c]; - // console.log(attr[j].Name+'=='+result[i].attr); - //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�- if ($this.head_styledef.form.model[result[i] - .attr] == - undefined) { - $this.head_styledef.form.model[result[i] - .attr] = - result[i] - .value; - } - //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (attr.name != 'Layout') { - if (attr.fieldId == result[i].attr) { - attr.value = ''; - attr.oldvalue = ''; - attr.value = result[i].value; - attr.oldvalue = result[i].value; - $this.head_styledef.form.model[attr - .fieldId] = - result[i] - .value; - } - } else if (attr.name == 'Layout') { - attr.setting.colList.forEach(col => { - if (col) { - if (col.fieldId == result[i] - .attr) { - col.value = ''; - col.oldvalue = ''; - col.value = result[i] - .value; - col.oldvalue = result[i] - .value; - $this.head_styledef.form - .model[col - .fieldId] = result[ - i].value; - } - } - }); - } - } - var length = 0; - if (!$this.$data.refdatastore.filter(function(s) { - return result[i].attr == s.attr - }).length) { - length = 1; - $this.$data.refdatastore.push(result[i]); - } - if (length == 0) { - for (var j = 0; j < $this.$data.refdatastore - .length; j++) { - if ($this.$data.refdatastore[j].attr == result[ - i] - .attr) { - $this.$data.refdatastore[j].value = result[ - i] - .value; - } - } - } - } + $this.setFormValues(result) } else if (action.action_type == 'set_dlg_attr_show') { var result = action.value; - result.forEach(async (attr, key) => { - $this.$data.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; - } - } - }); - } - }); - }); - var head_styledef = JSON.parse(JSON.stringify($this.$data - .head_styledef)); - $this.$data.head_styledef = []; - $this.$data.head_styledef = head_styledef; + $this.hideFormItems(result) // console.log($this.$data.head_styledef); } else if (action.action_type == 'set_global_attr') { $this.$data.global_attr = action.value || []; + } else if (action.action_type == + "set_dlg_current_edit_attr" + ) { + if ($this + .focusOldFieldId == + action.value) { + $this.setData({ + focusFieldId: "" + }) + } else { + $this.setData({ + focusFieldId: $this + .focusOldFieldId + }) + } + $this.$nextTick(() => { + $this.setData({ + focusFieldId: action + .value + }) + }); } else { uni.showModal({ title: this.translateSys("tip"), @@ -1378,7 +1225,7 @@ } }; var obj_attr = $this.head_styledef.form.model; - console.log(obj_attr); + console.log(obj_attr); var req = Object.keys(obj_attr).map((a) => ({ attr: a, value: obj_attr[a] || "", @@ -1395,7 +1242,7 @@ } } } - + var extinfo = enviroment; extinfo.edit_dlg = { type: 'small', //灏忕獥鍙�@@ -1434,7 +1281,7 @@ compose_info: '', ext_info: extinfo, global_attr: global_attr, - input_param:input_param, + input_param: input_param, }; console.log(dataInfo); // return; @@ -1553,13 +1400,19 @@ }); d.show(); } else if (action.action_type == 'open_common_dlg') { - + if (val.common_dlg_id == 'check_list') { - $this.setData({check_list:val.config}) + $this.setData({ + check_list: val.config + }) if (val.config.appear_style == 'sideslip') //鍒ゆ柇鏄惁鏄晶婊�- $this.setData({popupType:"right"}) + $this.setData({ + popupType: "right" + }) else - $this.setData({popupType:"center"}) + $this.setData({ + popupType: "center" + }) // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� $this.$refs.popup.open($this.popupType); var popupParam = { @@ -1568,7 +1421,9 @@ req: req, data_attr: data_attr } - $this.setData({popupParam:popupParam}) + $this.setData({ + popupParam: popupParam + }) } } else if (action.action_type == 'open_project_query_dlg') { //console.log(action.value.select_range); @@ -1685,6 +1540,7 @@ }, add() { + const $this = this uni.showLoading({ title: this.translateSys("loading"), mask: true @@ -1730,81 +1586,280 @@ }; console.log(dataInfo); // return - dataObjCreate(dataInfo).then(result => { + dataObjCreate(dataInfo).then(res => { uni.hideLoading(); - if (result.action) { - var action = JSON.parse(result.action); - console.log(action); - if (action.ret == '0') { - if (action.ret != 0) { - uni.showModal({ - title: this.translateSys("tip"), - content: this.translate('execute_script_failed') + - this - .translateSys('comma') + this.translate( - 'result') + - this - .translateSys('colon') + action.result, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - this.saving = false - return; + let data = res.lua_result + if (data.ret != 0) { + var tip = data.err_info ? typeof data.err_info == 'string' ? data + .err_info : + data + .err_info.join('<br/>') : ''; + if (data.ret == 801) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); } - if (action.info) { - uni.showModal({ - title: this.translateSys("tip"), - content: this.translate('execute_script_failed') + - this - .translateSys('comma') + - this.translateSys('colon') + action.info, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - return; - } - if (action.result_type == '0') { - uni.showToast({ - title: action.result, - icon: "success", - duration: 3000 - }); - } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } else uni.showModal({ + title: this.translateSys("tip"), + content: tip + ',' + this.translateSys('tip') + ':' + data + .ret, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + this.saving = false + return false + } else { + var tip = data.info ? typeof data.info == 'string' ? data.info : data + .info + .join( + '<br/>') : ''; + if (tip) uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + else { - // "{"ret":0, "result_type":0, "result":"鍒涘缓鎴愬姛123123123","info":""}" + uni.showToast({ + title: this.translate('create_success'), + icon: "success", + duration: 3000 + }); } - } else - uni.showToast({ - title: this.translate('create_success'), - icon: "success", - duration: 3000 - }); - if (!this.$data.param.After_Btn_Not_Refresh) { - //鍒锋柊 - uni.redirectTo({ - url: '../modal/3018_2?param=' + JSON.stringify(this.$data - .param) + - "&titlename=" + this.$data.title - }); - } + + if (!this.$data.param.After_Btn_Not_Refresh) { + //鍒锋柊 + uni.redirectTo({ + url: '../modal/3018_2?param=' + JSON.stringify(this.$data + .param) + + "&titlename=" + this.$data.title + }); + } else { + var actionlist = data.action; + if (actionlist) { + console.log(actionlist); + for (var i = 0; i < actionlist.length; i++) { + var action = actionlist[i]; + if (action.action_type == 'set_dlg_attr') { + $this.setFormValues(action.value) + } else if (action.action_type == 'set_dlg_attr_show') { + var result = action.value; + $this.hideFormItems(result) + } else if (action.action_type == + "set_dlg_current_edit_attr" + ) { + if ($this + .focusOldFieldId == + action.value) { + $this.setData({ + focusFieldId: "" + }) + } else { + $this.setData({ + focusFieldId: $this + .focusOldFieldId + }) + } + $this.$nextTick(() => { + $this.setData({ + focusFieldId: action + .value + }) + }); + } + } + } + + } + } // this.class_attr_init(); this.saving = false }).catch(ex => { - console.log(ex); this.saving = false + uni.hideLoading(); + let exStr = JSON.stringify(ex) + if (exStr == "{}") + exStr = ex + let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr uni.showModal({ title: this.translateSys("tip"), - content: ex.errMsg, + content: tip, showCancel: false, confirmText: this.translateSys("cancel") }); }); }, + setFormValues(data) { + const $this = this + 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) { + var dictItemList = []; + for (var d in data[i].choice_list) { + var val = data[i].choice_list[d]; + dictItemList.push({ + "CN_S_NAME": val, + "CN_S_VALUE": val, + "text": val, + "value": val + }); + } + attr.dict = dictItemList; + } + } else if (attr.name == 'Layout') { + attr.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == data[ + i] + .attr) { + var dictItemList = []; + for (var d in data[i] + .choice_list) { + var val = data[i] + .choice_list[ + d]; + dictItemList.push({ + "CN_S_NAME": val, + "CN_S_VALUE": val, + "text": val, + "value": val + }); + } + col.dict = + dictItemList; + } + } + }); + } + + } + } + for (var c = 0; c < $this.$data.head_styledef.form + .items + .length; c++) { + var attr = $this.$data.head_styledef.form.items[c]; + // console.log(attr[j].Name+'=='+data[i].attr); + //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+ if ($this.head_styledef.form.model[data[i] + .attr] == + undefined) { + $this.head_styledef.form.model[data[i] + .attr] = + data[i] + .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; + } + } else if (attr.name == 'Layout') { + attr.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == data[i] + .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; + } + } + }); + } + } + var length = 0; + if (!$this.$data.refdatastore.filter(function(s) { + return data[i].attr == s.attr + }).length) { + length = 1; + $this.$data.refdatastore.push(data[i]); + } + if (length == 0) { + for (var j = 0; j < $this.$data.refdatastore + .length; j++) { + if ($this.$data.refdatastore[j].attr == data[ + i] + .attr) { + $this.$data.refdatastore[j].value = data[ + i] + .value; + } + } + } + } + + }, + hideFormItems(data) { + const $this = this + data.forEach(async (attr, key) => { + $this.$data.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; + } + } + }); + } + }); + }); + var head_styledef = JSON.parse(JSON.stringify($this.$data + .head_styledef)); + $this.$data.head_styledef = []; + $this.$data.head_styledef = head_styledef; + }, afterOK() { this.saving = true + const $this = this var obj_attr = this.head_styledef.form.model; // console.log(obj_attr); var input_param = { @@ -1830,7 +1885,7 @@ user_login: '', data_json: '', compose_info: '', - input_param: '', + input_param: Base64.encode(JSON.stringify(input_param)), }; console.log(dataInfo); // return; @@ -1872,18 +1927,63 @@ showCancel: false, confirmText: this.translateSys("cancel") }); + if (!this.$data.param.After_Btn_Not_Refresh) { + //鍒锋柊 + uni.redirectTo({ + url: '../modal/3018_2?param=' + JSON.stringify(this.$data + .param) + + "&titlename=" + this.$data.title + }); + } else { + var actionlist = data.action; + if (actionlist) { + console.log(actionlist); + for (var i = 0; i < actionlist.length; i++) { + var action = actionlist[i]; + if (action.action_type == 'set_dlg_attr') { + $this.setFormValues(action.value) + } else if (action.action_type == 'set_dlg_attr_show') { + var result = action.value; + $this.hideFormItems(result) + } else if (action.action_type == + "set_dlg_current_edit_attr" + ) { + if ($this + .focusOldFieldId == + action.value) { + $this.setData({ + focusFieldId: "" + }) + } else { + $this.setData({ + focusFieldId: $this + .focusOldFieldId + }) + } + $this.$nextTick(() => { + $this.setData({ + focusFieldId: action + .value + }) + }); + } - var result = data.result; - + } + } + } } this.saving = false }).catch(ex => { // console.log(ex); this.saving = false + let exStr = JSON.stringify(ex) + if (exStr == "{}") + exStr = ex + let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr uni.showModal({ title: this.translateSys('tip') + "7.1", - content: ex.errMsg, + content: tip, showCancel: false, confirmText: this.translateSys("cancel") }); @@ -1933,6 +2033,7 @@ } }, onTriggerEvent(btn, enviroment) { + const $this = this var obj_attr = this.head_styledef.form.model; // console.log(obj_attr); var input_param = { @@ -1998,16 +2099,61 @@ showCancel: false, confirmText: this.translateSys("cancel") }); + if (!this.$data.param.After_Btn_Not_Refresh) { + //鍒锋柊 + uni.redirectTo({ + url: '../modal/3018_2?param=' + JSON.stringify(this.$data + .param) + + "&titlename=" + this.$data.title + }); + } else { + var actionlist = data.action; + if (actionlist) { + console.log(actionlist); + for (var i = 0; i < actionlist.length; i++) { + var action = actionlist[i]; + if (action.action_type == 'set_dlg_attr') { + $this.setFormValues(action.value) + } else if (action.action_type == 'set_dlg_attr_show') { + var result = action.value; + $this.hideFormItems(result) + } else if (action.action_type == + "set_dlg_current_edit_attr" + ) { + if ($this + .focusOldFieldId == + action.value) { + $this.setData({ + focusFieldId: "" + }) + } else { + $this.setData({ + focusFieldId: $this + .focusOldFieldId + }) + } + $this.$nextTick(() => { + $this.setData({ + focusFieldId: action + .value + }) + }); + } - var result = data.result; - + } + } + } } }).catch(ex => { // console.log(ex); + let exStr = JSON.stringify(ex) + if (exStr == "{}") + exStr = ex + let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr uni.showModal({ title: this.translateSys('tip') + "7.1", - content: ex.errMsg, + content: tip, showCancel: false, confirmText: this.translateSys("cancel") }); @@ -2026,7 +2172,6 @@ const url = '../modal/3018?param=' + JSON.stringify(data) + "&titlename=" + btn.Edit_dlg .Name + "&type=addDataObj" - console.log("showAddSmallDialog", url); var $this = this; uni.navigateTo({ url: url, @@ -2035,13 +2180,12 @@ addDataObj: function(resData) { console.log(resData); //鍒锋柊 - if (!this.$data.param.After_Btn_Not_Refresh) { - 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 + .$data.param) + + "&titlename=" + this.$data.title + }); + }, } }); @@ -2201,6 +2345,7 @@ float: right; display: inline-block; } + .btn_cancel2 { width: 90%; margin: 0 10rpx; -- Gitblit v1.9.1