From cc077973898450d7bbb3d24717a36f166f22f38c Mon Sep 17 00:00:00 2001 From: yuxc <yuxc@vci-tech.com> Date: 星期四, 25 四月 2024 15:21:21 +0800 Subject: [PATCH] 枚举接口编写与测试。 --- Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue | 112 ++++++++++++++++++++++++------------------------------- 1 files changed, 49 insertions(+), 63 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue index d0ccd6c..7c570d8 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue @@ -1,15 +1,26 @@ <template> - <basic-container> - <el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeHandler" append-to-body> - <avue-form v-model="form" :option="option" @submit="submitHandler" @reset-change="changeHandler"></avue-form> - </el-dialog> - </basic-container> + <div :id="'UI-dynamic-'+areasName+componentVO.oid" class="UI-dynamic"> + <dynamic-button v-if="componentVO && componentVO.buttons" :componentVO="componentVO" :butttonList="componentVO.buttons" :dataStore="[form]" :sourceData="sourceData" type="form"></dynamic-button> + <basic-form :span="this.componentVO.formDefineVO.columnOneRow?(24/this.componentVO.formDefineVO.columnOneRow) : 12" + :formItems="this.componentVO.formDefineVO && this.componentVO.formDefineVO.items" + :formData="form"> + </basic-form> + </div> </template> <script> + export default { name: "dynamic-form", props: { + //ui涓婁笅鏂囩殑涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛� + uiBtmType: { + type: String + }, + //ui涓婁笅鏂� + uiContext:{ + type: String + }, componentVO: { type: Object, default: {} @@ -23,23 +34,23 @@ default: '' }, sourceData: { - //鑿滃崟婧愭暟鎹垨鑰呭脊绐楁椂鎸夐挳鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁 + //鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁 type: Object, default: {} + }, + dataStore: { + //寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁 + type: Array, + default: [] }, paramVOS: { type: Object, default: {} }, - visible: { + isShow: { + //鎵�鍦ㄥ尯鍩熸槸鍚﹀凡鏄剧ず锛岄拡瀵箃ab鍜宑ollapse type: Boolean, - default: false, - }, - title: { - type: String - }, - formList:{ - type:Array + default: true }, }, data() { @@ -47,59 +58,34 @@ form: {}, } }, - computed: { - dialogFormVisible: { - get() { - return this.visible; - }, - set(val) { - this.$emit("update:visible", val); - }, - }, - option() { - return { - column: this.formColumn(this.formList) + mounted() { + }, + watch: { + form:{ + handler(newval) { + if(newval) { + this.$emit("setDataStore", { + area: this.areasName, + type:this.componentVO.uiComponentType, + btmType:this.componentVO.treeDefineVO.btmType, + dataStore:[newval] + }); + } } }, + sourceData: { + handler(newval) { + //婧愭暟鎹湁鍙樺寲鏃跺彉鏇村綋鍓嶅尯鍩熸暟鎹� + console.log(this.areasName); + console.log(newval); + this.handleRefresh(); + } + } }, - methods:{ - //琛ㄥ崟鎻愪氦 - submitHandler(form,done){ - console.log(form) - done() - }, - changeHandler(){ - this.form = {}; - // this.clearValidate() 娓呯┖鏍¢獙 - // this.resetFields() - }, - formColumn(formList) { - return formList.map(item => { - const typeValue = item.type === 'text' ? 'input' : item.type === 'combox' ? 'select' : item.type; + methods: { + handleRefresh(){ - return { - label: item.text, - prop: item.field, - type: typeValue, - value: item.defaultValue, - dicData: item.type === 'combox' ? item.dicData : null, - readonly: item.readOnly, - disabled: item.disabled, - labelSuffix: item.suffix, - suffixIcon: item.prefix, - placeholder:item.placeholder, - clearable:item.clearable, - rules: [{ - required: item.required, - message: `璇疯緭鍏�${item.text}!`, - trigger: "blur" - }] - } - }) - }, - closeHandler(){ - this.form = {}; - }, + } } } </script> -- Gitblit v1.9.3