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/5601.vue | 335 +++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 224 insertions(+), 111 deletions(-) diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue index e16e920..a6024ec 100644 --- a/pages/modal/5601.vue +++ b/pages/modal/5601.vue @@ -7,7 +7,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]" @@ -48,9 +48,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'"> <text v-if="col.setting.prefix" class="uni-icon" :class="[col.setting.prefix]" @@ -274,14 +274,11 @@ }, }, onLoad(options) { - console.log(options.titlename, options); uni.setNavigationBarTitle({ title: options.titlename }); //璁剧疆椤堕儴鏍囬 this.title = options.titlename; this.param = JSON.parse(options.param); - - //鑾峰彇涓绘暟鎹被ID this.ClsID = this.param.master_cls?.id; if (this.ClsID) { @@ -539,7 +536,8 @@ styledefHead.form .model[ele.fieldId] = itemName; } - ele.dict = selections.map((a) => { + + ele.selections = selections.map((a) => { return { value: a.value, text: a.label @@ -576,7 +574,7 @@ styledefHead.form .model[col.fieldId] = itemName; } - col.dict = selections.map((a) => { + col.selections = selections.map((a) => { return { value: a.value, text: a.label @@ -648,6 +646,13 @@ detailstyledef.form .model, ele); } + else + { + if (ele?.name === "Select") { + ele.selections =[] + } + } + } else { for (let j in ele.setting.colList) { const col = ele.setting.colList[j] @@ -656,6 +661,12 @@ .bind.dict, detailstyledef.form .model, col); + } + else + { + if (col?.name === "Select") { + col.selections =[] + } } } } @@ -736,7 +747,7 @@ .onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� var isflag = false; - if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� $this.onChange(onChangeEvent); } if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�@@ -819,7 +830,7 @@ this.head_styledef.form.model[attr] = item.value; var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠� - if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent); } @@ -835,7 +846,7 @@ let attr = col.fieldId; this.head_styledef.form.model[attr] = col.value; var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent); } return @@ -846,7 +857,7 @@ let attr = item.fieldId; this.head_styledef.form.model[attr] = item.value; var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent); } } @@ -863,7 +874,7 @@ let attr = col.fieldId; this.head_styledef.form.model[attr] = col.value; var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent); } return @@ -874,7 +885,7 @@ let attr = item.fieldId; this.head_styledef.form.model[attr] = item.value; var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent); } } @@ -908,7 +919,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); }, @@ -1032,7 +1043,6 @@ }; runCustomEvent(dataInfo).then(result => { console.log(result); - if (result.ret != 0) { var tip = result.err_info ? typeof result .err_info == 'string' ? result @@ -1721,109 +1731,74 @@ } }, - setFormValues(data) { + setFormValues(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 - }); + console.log(attrs) + 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; } } - - }) - + }); + } + }); } - }) + if (!head_styledef.form.model[attr.attr]) { + head_styledef.form.model[attr.attr] = attr.value; + } + head_styledef.form.items.forEach(async (ele) => { + 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 }) }, - onClickItem(e) { //閫夋嫨椤电 // console.log(e); this.current = e.currentIndex @@ -2574,14 +2549,17 @@ }) }, onBtnClick(btn, pageData) { + const $this = this if (btn.Prompt) { const sContent = btn.PromptContent || this.translate("confirm") uni.showModal({ title: this.translateSys("tip"), content: btn.PromptContent || this.translate("confirm"), success: function(res) { - if (res.confirm) {} - this.onButtonClicked(btn, pageData, -1); + if (res.confirm) { + $this.onButtonClicked(btn, pageData, -1); + } + }, }) @@ -2590,14 +2568,17 @@ } }, onRowBtnClick(btn, pageData, index) { + const $this = this if (btn.Prompt) { const sContent = btn.PromptContent || this.translate("confirm") uni.showModal({ title: this.translateSys("tip"), content: btn.PromptContent || this.translate("confirm"), success: function(res) { - if (res.confirm) {} - this.onButtonClicked(btn, pageData, index); + if (res.confirm) { + $this.onButtonClicked(btn, pageData, index); + } + }, }) @@ -2611,7 +2592,7 @@ button: "top", button_name: btn.ShowName, cls_id: btn.Cls_ID, - function: "3018", + function: "5601", master: {}, }; if (btn.FunCode == "TriggerEvent") { @@ -2621,14 +2602,145 @@ this.cancel(); } else if (btn.FunCode == "Delete") { if (index > -1) { + const pageIndex = this.pageDetail.findIndex(( + page) => { + return pageData.Name == page.Name; + }) const style = pageData.DefList[index]; //鍒犻櫎鐮佺洏涓牱寮忛潰鏉� pageData.DefList.splice(index, 1); this.del(pageData, style, btn.AfterProcess_Event); + this.$set(this.pageDetail, pageIndex, pageData) } + } else if (btn.FunCode == "Modify") { + if (index > -1) { + const style = pageData.DefList[index]; + if (btn.Edit_dlg.Model == "small") { + this.showSmallDialog(btn, style, enviroment, pageData); + } else if (btn.Edit_dlg.Model == "form") { + this.showFormDialog(btn, style, enviroment, pageData); + } else { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translateSys("unrealized"), + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } + } + } else { this.$Message.warning(this.$t("sys.unrealized")); } + }, + //淇敼灏忕獥鍙f暟鎹�+ showSmallDialog(btn, row, enviroment, pageData) { + var data = { + Add_BtnName: btn.ShowName, + EditDlgMode: btn.Edit_dlg.Model, + clsid: btn.Cls_ID, + objid: "", + cls_name: btn.Cls_Name, + Edit_dlg: btn.Edit_dlg + }; + const objAttr = {} + row.form.items.forEach(item => { + if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item.setting.colList.forEach(cols => { + if (cols != null) objAttr[cols + .fieldId] = cols.value; + }); + } else + objAttr[item.fieldId] = item.value; + }); + const url = `../modal/3018?param=${JSON.stringify(data)}&titlename=${btn.Edit_dlg + .Name}&editMode=1&objAttr=${JSON.stringify(objAttr)}&type=updateDataObj` + + var $this = this; + uni.navigateTo({ + url: url, + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁 + updateDataObj: function(formData) { + const pageIndex = $this.pageDetail.findIndex(( + page) => { + return pageData.Name == page.Name; + }) + if (pageIndex < 0) + return + Object.assign(row.form.model, formData); + row.form.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 + } + }); + } + }) + $this.$set($this.pageDetail, pageIndex, pageData) + + }, + + } + }); + }, + + //淇敼鑷畾涔夎〃鍗曟暟鎹�+ showFormDialog(btn, row, enviroment, pageData) { + const objAttr = {} + row.form.items.forEach(item => { + if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item.setting.colList.forEach(cols => { + if (cols != null) objAttr[cols + .fieldId] = cols.value; + }); + } else + objAttr[item.fieldId] = item.value; + }); + + const url = `../modal/form/index?param=${JSON.stringify(btn)}&titlename=${btn.ShowName}&editMode=1&objAttr=${JSON.stringify(objAttr)}&type=updateDataObj` + var $this = this; + uni.navigateTo({ + url: url, + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁 + updateDataObj: function(formData) { + const pageIndex = $this.pageDetail.findIndex(( + page) => { + return pageData.Name == page.Name; + }) + if (pageIndex < 0) + return + Object.assign(row.form.model, formData); + row.form.items.forEach(async (ele) => { + 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 + } + }); + } + }) + $this.$set($this.pageDetail, pageIndex, pageData) + + }, + } + }); }, //纭畾 ok(pageData) { @@ -3367,6 +3479,7 @@ line-height: 1.5; border: none; font-size: 30rpx; + margin-right: 10rpx; display: inline-block; float: right; text-align: center; -- Gitblit v1.9.1