From cc993ff4b559a937f6ceaf01c7e77e1d6b50baa1 Mon Sep 17 00:00:00 2001 From: Ldc <ldc@vci.com> Date: 星期二, 16 四月 2024 10:53:34 +0800 Subject: [PATCH] 1、修改form表单上传方式 --- Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue | 108 +++++++++++++++++++++++++++++------------------------- 1 files changed, 58 insertions(+), 50 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue index de695df..99b4527 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue @@ -1,5 +1,5 @@ <template> - <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid"> + <div :id="'UI-dynamic-'+areasName+componentVO.oid" class="UI-dynamic"> <avue-form v-model="form" :option="option"> <template v-for="item in slotData" :slot="item.prop + 'Label'"> <span> @@ -16,13 +16,13 @@ </span> </template> <template slot="menuForm"> - <dynamic-button type="form" :butttonList="componentVO.buttons" @buttonClick="buttonClick"></dynamic-button> + <dynamic-button :componentVO="componentVO" :butttonList="componentVO.buttons" :dataStore="[form]" :sourceData="sourceData" type="form" @buttonClick="buttonClick"></dynamic-button> </template> <template v-for="item in slotData" :slot="item.prop + ''"> <vciWebRefer v-if="item.type == 'refer'" :key="item.prop" - referType="master" + :ref="'referFormRef'+item.prop" :data-key="item.prop" :disabled="item.disabled || false" :display="item.display || true" @@ -30,8 +30,8 @@ :reloadFormKey="(item.referConfig.useFormKey && item.referConfig.formValues && item.referConfig.formValues[item.referConfig.useFormKey]) || ''" :text="item.referConfig.showProp" :value="item.prop || item.value" - @setReferValue="setReferValue" - :ref="'referFormRef'+item.prop"> + referType="master" + @setReferValue="setReferValue"> </vciWebRefer> </template> @@ -40,13 +40,22 @@ </template> <script> -import vciWebRefer from '@/components/refer/vciWebRefer' + import VciWebRefer from "@/components/refer/vciWebRefer"; import {verifyNull, verifySlash} from "@/util/validate"; + export default { name: "dynamic-form", components: {VciWebRefer}, props: { + //ui涓婁笅鏂囩殑涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛� + uiBtmType: { + type: String + }, + //ui涓婁笅鏂� + uiContext:{ + type: String + }, componentVO: { type: Object, default: {} @@ -59,14 +68,14 @@ type: String, default: '' }, - sourceData:{ + sourceData: { //鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁 - type:Object, + type: Object, default: {} }, - dataStore:{ + dataStore: { //寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁 - type:Array, + type: Array, default: [] }, paramVOS: { @@ -82,7 +91,6 @@ data() { return { form: {}, - ruleForm:{} } }, mounted() { @@ -100,14 +108,14 @@ return this.getColumnData() } }, - watch:{ - slotData:{ - handler(newV){ - this.getDictList(newV) + watch: { + slotData: { + handler(newV) { + this.getDictList(newV) }, immediate: true, }, - ruleForm: { + form: { handler(val) { if (val) { if (Array.isArray(val)) { // 妫�鏌� val 鏄惁涓烘暟缁� @@ -130,7 +138,7 @@ deep: true, immediate: true, }, - sourceData:{ + sourceData: { handler(newval) { //婧愭暟鎹湁鍙樺寲鏃跺彉鏇村綋鍓嶅尯鍩熸暟鎹� console.log(this.areasName); @@ -141,39 +149,39 @@ methods: { //杞寲鏁版嵁 formColumn(formList) { - return formList.map(item => { - const typeValue = item.type === 'text' ? 'input' : item.type === 'combox' ? 'select' : item.type; + return formList.map(item => { + const typeValue = item.type === 'text' ? 'input' : item.type === 'combox' ? 'select' : item.type; - const focusFunc = item.type === 'refer' ? (i) => { + const focusFunc = item.type === 'refer' ? (i) => { - } : undefined; + } : undefined; - return { - label: item.text, - prop: item.field, - type: typeValue, - labelWidth:item.text.length >= 6 ? 115 : 90, - value: item.defaultValue, - dicData: item.type === 'combox' ? item.dicData : item.dicUrl, - readonly: item.readOnly, - disabled: item.disabled, - display: !item.hidden, - labelSuffix: item.suffix, - suffixIcon: item.prefix, - placeholder: item.placeholder, - clearable: item.clearable, - tip: item.tooltips, - keyAttr: item.keyAttr, - focus:focusFunc, - referConfig:item.referConfig, - rules: [{ - required: item.required, - message: `璇疯緭鍏�${item.text}!`, - trigger: "blur" - }] - }; - }); + return { + label: item.text, + prop: item.field, + type: typeValue, + labelWidth: item.text.length >= 6 ? 115 : 90, + value: item.defaultValue, + dicData: item.type === 'combox' ? item.dicData : item.dicUrl, + readonly: item.readOnly, + disabled: item.disabled, + display: !item.hidden, + labelSuffix: item.suffix, + suffixIcon: item.prefix, + placeholder: item.placeholder, + clearable: item.clearable, + tip: item.tooltips, + keyAttr: item.keyAttr, + focus: focusFunc, + referConfig: item.referConfig, + rules: [{ + required: item.required, + message: `璇疯緭鍏�${item.text}!`, + trigger: "blur" + }] + }; + }); }, //鏁版嵁鍒ょ┖ @@ -228,7 +236,7 @@ if (code.type == "refer") { if (code.referConfig && code.referConfig.useFormKey) { if (verifyNull(code.referConfig.formValuesKey)) { - code.referConfig.formValuesKey = "ruleForm"; + code.referConfig.formValuesKey = "form"; } code.referConfig.formValues = this[code.referConfig.formValuesKey]; } @@ -249,8 +257,8 @@ }, setReferValue(data) { if (data && data.prop) { - this.ruleForm[data.prop] = data.value || ""; - this.ruleForm[data.showProp] = data.text || ""; + this.form[data.prop] = data.value || ""; + this.form[data.showProp] = data.text || ""; if (data.propMap) { //璇存槑闇�瑕佹槧灏� for (let key in data.propMap) { @@ -278,7 +286,7 @@ value.push(temp); } }); - this.ruleForm[key] = value.join(","); + this.form[key] = value.join(","); } } } -- Gitblit v1.9.3