From 15dcf7158d4c5d66d4b196e4e0b2030e1070d448 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期一, 03 三月 2025 16:46:24 +0800 Subject: [PATCH] 5601 form --- pages/modal/form/index.vue | 263 ++++++++++++++++++++++------------------------------ 1 files changed, 112 insertions(+), 151 deletions(-) diff --git a/pages/modal/form/index.vue b/pages/modal/form/index.vue index 2e3cda5..d2c24d3 100644 --- a/pages/modal/form/index.vue +++ b/pages/modal/form/index.vue @@ -8,7 +8,7 @@ <uni-forms-item v-if="item.name != 'Layout'" :label="item.label ?item.label +'锛�:'' " :label-width="item.labelWidth+'px'"> <uni-data-picker v-if="item.name=='Select'" :class="item.disabled?'input-disabled':''" - v-model="item.value" :localdata="item.dict" @change="onEnterChange(item)" + v-model="item.value" :localdata="item.useDict ? item.dict : item.selections" @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'"> <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]" @@ -50,9 +50,9 @@ <uni-col :span=" item.setting.spanList && item.setting.spanList[key]? item.setting.spanList[key] : 24 / item.setting.col" v-for="(col,key) in item.setting.colList"> - <uni-forms-item :label="col.label ? col.label +'锛�:''" :label-width="col.labelWidth+'px'"> + <uni-forms-item v-if="col!=null" :label="col.label ? col.label +'锛�:''" :label-width="col.labelWidth+'px'"> <uni-data-picker v-if="col.name=='Select'" :class="col.disabled?'input-disabled':''" - v-model="col.value" :localdata="col.dict" @change="onEnterChange(col)" + v-model="col.value" :localdata="col.useDict ? col.dict : col.selections" @change="onEnterChange(col)" :readonly="col.disabled" :clear-icon="false" :popup-title="col.label"></uni-data-picker> <view class="input-wrapper" v-if="col.name=='Input' || col.name=='InputNumber'"> @@ -147,7 +147,7 @@ }, data() { return { - okLoading:false, + okLoading: false, title: this.translateSys('add2'), type: '', editMode: false, @@ -158,7 +158,8 @@ focusOldFieldId: "", head_styledef: { form: { - items: [] + items: [], + model: {} } }, global_attr: [], @@ -230,7 +231,7 @@ this.ext_info = JSON.parse(options.extInfo); if (options.dataJson) this.data_json = JSON.parse(options.dataJson); - this.title = this.param.ShowName? this.param.ShowName : options.titlename; //璁剧疆鎸夐挳鏂囧瓧 + this.title = options.titlename ? options.titlename : this.param.ShowName; //璁剧疆鎸夐挳鏂囧瓧 // console.log(options) uni.setNavigationBarTitle({ title: this.title @@ -318,7 +319,7 @@ styledefHead.form .model[ele.fieldId] = itemName; } - ele.dict = selections.map((a) => { + ele.selections = selections.map((a) => { return { value: a.value, text: a.label @@ -355,7 +356,7 @@ styledefHead.form .model[col.fieldId] = itemName; } - col.dict = selections.map((a) => { + col.selections = selections.map((a) => { return { value: a.value, text: a.label @@ -437,54 +438,42 @@ }, async loadFormData(objAttr) { - let formData + let attrs = [] + if (this.objId) { let info = await dataObjInfo({ class_id: this.clsId, obj_id: this.objId, }); - formData = {}; - formData["id"] = info.id; - formData["state"] = info.state; + + attrs = [{ + attr: "id", + value: info.id + }, { + attr: "state", + value: info.state + }] info.attr_list.forEach(({ name, value }) => { - formData[name] = value; - }); - } else if (objAttr) { - formData = {}; - Object.keys(objAttr).forEach((attr) => { - let value = objAttr[attr]; - formData[attr] = value; - }); - } - //浼犲叆鍙傛暟鍊�- if (formData) { - if (this.head_styledef?.form) { - const items = this.head_styledef?.form?.items || [] - const model = this.head_styledef?.form?.model || {} - Object.assign(model, formData); - items.forEach(async (ele, index) => { - if (ele.name != "Layout") { - let value = formData[ele.fieldId] - if (value) - ele.value = value - - } else { - ele.setting.colList.forEach(async (col) => { - if (col) { - let value = formData[col.fieldId] - if (value) - col.value = value - } - }); - } + attrs.push({ + attr: name, + value: value }) - this.$data.head_styledef.form.model = model - this.$data.head_styledef.form.items = items - } + }); + this.setFormValues(attrs) + } else if (objAttr) { + Object.keys(objAttr).forEach((attr) => { + attrs.push({ + attr: attr, + value: objAttr[attr] + }) + }); + this.setFormValues(attrs) } + + }, async loadInitialEvent() { try { @@ -810,7 +799,7 @@ // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� this.$refs.popup.open(this.popupType); - this.dataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id, + this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, '', onSuffixClickCallbackEvent.id, item); }, @@ -983,110 +972,72 @@ } }, - setFormValues(data) { + setFormValues(attrs) { + console.log(attrs) const head_styledef = this.head_styledef - if (JSON.stringify(data) == '{}') { + if (JSON.stringify(attrs) == '{}') { return; } - head_styledef.form.items.forEach(async (ele, index) => { - if (ele.name != "Layout") { - let curIndex = data.findIndex((attr, index2, arr) => { - return attr.attr == ele.fieldId; - }) - if (curIndex > -1) { - const attr = data[curIndex] - if (ele.name == - 'Select' && - attr - .choice_list - ) { - const - dictItemList = []; - const - choiceList = - attr - .choice_list || []; - for (let d in - choiceList) { - const - val = - choiceList[ - d - ]; - dictItemList - .push({ - text: val, - value: val - }); + attrs.forEach(async (attr, key) => { + if (attr.choice_list) { + var dictItemList = []; + attr.choice_list.forEach(async (val, index) => { + dictItemList.push({ + text: val, + value: val + }); + }); + head_styledef.form.items.forEach(async (attr_item, index) => { + if (attr_item.name != "Layout") { + if (attr_item.fieldId == attr.attr) { + if (attr_item.useDict) { + attr_item.dict = dictItemList; + } else { + attr_item.selections = dictItemList; + } } - ele.dict = - dictItemList; - } - - ele.value = - attr - .value; - } - } else { - ele.setting - .colList - .forEach( - async ( - col - ) => { - if ( - col) { - let curIndex = data.findIndex(( - attr, index2, arr) => { - return attr.attr == col.fieldId; - }) - if (curIndex > -1) { - const attr = data[curIndex] - if (col.name == - 'Select' && - attr - .choice_list - ) { - const - dictItemList = []; - const - choiceList = - attr - .choice_list || []; - for (let d in - choiceList) { - const - val = - choiceList[ - d - ]; - dictItemList - .push({ - text: val, - value: val - }); - } - col.dict = - dictItemList; + } else if (attr_item.name == "Layout") { + attr_item.setting.colList.forEach((col) => { + if (col) { + if (col.fieldId == attr.attr) { + if (col.useDict) { + col.dict = dictItemList; + } else { + col.selections = dictItemList; } - - col.value = - attr - .value; } } - - }) - + }); + } + }); } - }) + head_styledef.form.model[attr.attr] = attr.value; + head_styledef.form.items.forEach(async (ele, index) => { + if (ele.name != "Layout") { + if (ele.fieldId == attr.attr) { + ele.value = attr.value; + ele.oldvalue = attr.value; + } + } else if (ele.name == "Layout") { + ele.setting.colList.forEach((col) => { + if (col) { + if (col.fieldId == attr.attr) { + col.value = attr.value; + col.oldvalue = attr.value; + } + } + }); + } + }) + + //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+ }) + console.log(head_styledef) this.setData({ head_styledef: head_styledef }) }, - - popupChange(e) { console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show); }, @@ -1718,7 +1669,7 @@ }); this.okLoading = true var obj_attr = this.head_styledef.form.model || {}; - console.log(obj_attr) + console.log(obj_attr) let ret = await this.sava(); this.okLoading = false uni.hideLoading(); @@ -1881,7 +1832,7 @@ async afterOK() { try { - var obj_attr = this.head_styledef.form.model ||{} + var obj_attr = this.head_styledef.form.model || {} // console.log(obj_attr); var input_param = { id: "", @@ -1930,7 +1881,7 @@ }, - async cancel(e) { //鍙栨秷 + async cancel(e) { //鍙栨秷 try { if (!this.objId) { if (this.editMode) { @@ -1962,9 +1913,12 @@ value: obj_attr[a], })), }; - let input_param = Base64.encode(JSON.stringify(inputParam)); - let global_attr = Base64.encode(JSON.stringify(this.global_attr)) - let data_json = Base64.encode(JSON.stringify(this.data_json)) + let input_param = Base64.encode(JSON.stringify( + inputParam)); + let global_attr = Base64.encode(JSON.stringify(this + .global_attr)) + let data_json = Base64.encode(JSON.stringify(this + .data_json)) let ext_info = Base64.encode(JSON.stringify(this.ext_info)) await runCustomEvent({ @@ -2005,10 +1959,14 @@ value: obj_attr[a], })), }; - let input_param = Base64.encode(JSON.stringify(inputParam)); - let global_attr = Base64.encode(JSON.stringify(this.global_attr)) - let data_json = Base64.encode(JSON.stringify(this.data_json)) - let ext_info = Base64.encode(JSON.stringify(this.ext_info)) + let input_param = Base64.encode(JSON.stringify( + inputParam)); + let global_attr = Base64.encode(JSON.stringify(this + .global_attr)) + let data_json = Base64.encode(JSON.stringify(this + .data_json)) + let ext_info = Base64.encode(JSON.stringify(this + .ext_info)) await runCustomEvent({ ed_type: 0, @@ -2027,7 +1985,8 @@ let exStr = JSON.stringify(ex) if (exStr == "{}") exStr = ex - let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr + let tip = typeof ex.errMsg == "string" ? ex.errMsg : + exStr uni.showModal({ title: this.translateSys("tip") + "8.2", content: tip, @@ -2038,11 +1997,13 @@ } }, translate(t) { - if (typeof this.$t == "function") return this.$t(`page.${t}`) + if (typeof this.$t == "function") return this.$t( + `page.${t}`) else return t; }, translateSys(t) { - if (typeof this.$t == "function") return this.$t(`sys.${t}`) + if (typeof this.$t == "function") return this.$t( + `sys.${t}`) else return t; }, }, @@ -2119,7 +2080,7 @@ margin: 0 10rpx; // padding: 5rpx 10rpx; background: #4D6AF4; - font-size: 38rpx; + font-size: 38rpx; border: none; color: #fff; float: left; -- Gitblit v1.9.1