From 4c810c1feb3f78c458084d73e89adc6c4f2256f1 Mon Sep 17 00:00:00 2001 From: lzhe <lzhe@example.com> Date: 星期四, 06 六月 2024 18:22:55 +0800 Subject: [PATCH] 1 --- src/views/configuration/custom/planSettings.vue | 128 ++++++++++++++++++++++++++++++++++++------ 1 files changed, 110 insertions(+), 18 deletions(-) diff --git a/src/views/configuration/custom/planSettings.vue b/src/views/configuration/custom/planSettings.vue index a82571e..a1673a6 100644 --- a/src/views/configuration/custom/planSettings.vue +++ b/src/views/configuration/custom/planSettings.vue @@ -8,7 +8,7 @@ --> <template> <div class="aposcope-main"> - <div class="header"> + <div class="header" v-if="$route.query.type == 1"> <div class="title">璁″垝鏄剧ず璁剧疆</div> <div class="type"> <div class="item last" @click="openPlan">鏂板缓璁″垝绫诲瀷妯$増</div> @@ -24,69 +24,119 @@ </div> </div> </div> - <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> + <el-tabs v-model="activeName" class="demo-tabs" @tab-change="handleClick"> <el-tab-pane label="鏂板缓椤佃缃�" name="first"> <div> - <div class="add-field">+ 娣诲姞瀛楁</div> + <div class="add-field" @click="openSelect">+ 娣诲姞瀛楁</div> <div class="field-title">鍩虹瀛楁</div> <el-table ref="multipleTableRef" :data="tableData0" border style="width: 100%" class="multipleTableRef"> <el-table-column prop="fieldName" label="瀛楁鍚�"></el-table-column> <el-table-column prop="fieldDescription" label="鎻愮ず鏂囧瓧"></el-table-column> <el-table-column prop="defaultValue" label="榛樿鍊�"></el-table-column> - <el-table-column prop="mustField" label="鏄惁蹇呭~"></el-table-column> + <el-table-column prop="mustField" label="鏄惁蹇呭~"> + <template #default="scope"> + <span>{{scope.row.mustField == '1'?"鏄�": "鍚�"}}</span> + </template> + </el-table-column> <el-table-column fixed="right" label="鎿嶄綔"> <template #default="scope"> - <el-button text type="primary" :disabled="scope.row.systemFieldLabel == '鏄�'?true: false" size="small" @click="table_del(scope.row, scope.$index)">鍒犻櫎</el-button> + <el-button text type="primary" :disabled="scope.row.mustField == '1'?true: false" size="small" @click="table_del(scope.row, scope.$index)">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + <div class="field-title">鎵╁睍瀛楁</div> + <el-table ref="multipleTableRef" :data="tableData0extend" border style="width: 100%" class="multipleTableRef"> + <el-table-column prop="fieldName" label="瀛楁鍚�"></el-table-column> + <el-table-column prop="fieldDescription" label="鎻愮ず鏂囧瓧"></el-table-column> + <el-table-column prop="defaultValue" label="榛樿鍊�"></el-table-column> + <el-table-column prop="mustField" label="鏄惁蹇呭~"> + <template #default="scope"> + <span>{{scope.row.mustField == '1'?"鏄�": "鍚�"}}</span> + </template> + </el-table-column> + <el-table-column fixed="right" label="鎿嶄綔"> + <template #default="scope"> + <el-button text type="primary" :disabled="scope.row.mustField == '1'?true: false" size="small" @click="table_del(scope.row, scope.$index)">鍒犻櫎</el-button> </template> </el-table-column> </el-table> </div> </el-tab-pane> <el-tab-pane label="缂栬緫椤佃缃�" name="second"> - <div class="add-field">+ 娣诲姞瀛楁</div> + <div class="add-field" @click="openSelect">+ 娣诲姞瀛楁</div> <div class="field-title">鍩虹瀛楁</div> <el-table ref="multipleTableRef" :data="tableData1" border style="width: 100%" class="multipleTableRef"> <el-table-column prop="fieldName" label="瀛楁鍚�"></el-table-column> - <el-table-column prop="fieldDescription" label="鏀寔缂栬緫"></el-table-column> + <el-table-column label="鏀寔缂栬緫" prop="supportUpdateLabel"></el-table-column> <el-table-column fixed="right" label="鎿嶄綔"> <template #default="scope"> - <el-button text type="primary" :disabled="scope.row.systemFieldLabel == '鏄�'?true: false" size="small" @click="table_del(scope.row, scope.$index)">鍒犻櫎</el-button> + <el-button text type="primary" :disabled="scope.row.mustField == '1'?true: false" size="small" @click="table_del(scope.row, scope.$index)">鍒犻櫎</el-button> </template> </el-table-column> </el-table> <div class="field-title">鎵╁睍瀛楁</div> + <el-table ref="multipleTableRef" :data="tableData1extend" border style="width: 100%" class="multipleTableRef"> + <el-table-column prop="fieldName" label="瀛楁鍚�"></el-table-column> + <el-table-column prop="supportUpdateLabel" label="鏀寔缂栬緫"></el-table-column> + <el-table-column fixed="right" label="鎿嶄綔"> + <template #default="scope"> + <el-button text type="primary" :disabled="scope.row.mustField == '1'?true: false" size="small" @click="table_del(scope.row, scope.$index)">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> </el-tab-pane> <el-tab-pane label="鏌ョ湅椤佃缃�" name="third"> + <div class="add-field" @click="openSelect">+ 娣诲姞瀛楁</div> <div class="field-title">鍩虹瀛楁</div> <el-table ref="multipleTableRef" :data="tableData2" border style="width: 100%" class="multipleTableRef"> <el-table-column prop="fieldName" label="瀛楁鍚�"></el-table-column> <el-table-column fixed="right" label="鎿嶄綔"> <template #default="scope"> - <el-button text type="primary" :disabled="scope.row.systemFieldLabel == '鏄�'?true: false" size="small" @click="table_del(scope.row, scope.$index)">鍒犻櫎</el-button> + <el-button text type="primary" :disabled="scope.row.sysFieldMust == '1'?true: false" size="small" @click="table_del(scope.row, scope.$index)">鍒犻櫎</el-button> </template> </el-table-column> </el-table> <div class="field-title">鎵╁睍瀛楁</div> + <el-table ref="multipleTableRef" :data="tableData2extend" border style="width: 100%" class="multipleTableRef"> + <el-table-column prop="fieldName" label="瀛楁鍚�"></el-table-column> + <el-table-column fixed="right" label="鎿嶄綔"> + <template #default="scope"> + <el-button text type="primary" :disabled="scope.row.sysFieldMust == '1'?true: false" size="small" @click="table_del(scope.row, scope.$index)">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> </el-tab-pane> </el-tabs> </div> + <!-- 鏂板缓璁″垝 --> <save-dialog v-if="dialog.save" ref="saveDialog" @success="addPlanSuccess" @closed="dialog.save=false"></save-dialog> + <!-- 娣诲姞瀛楁 --> + <save-select-dialog v-if="dialog.saveSelect" ref="saveSelectDialog" @success="addSelectSuccess" @closed="dialog.saveSelect=false" @addExtend="addExtend"></save-select-dialog> + <!-- 娣诲姞鎵╁睍瀛楁 --> + <save-extend-dialog v-if="dialog.extendSave" ref="saveExtendDialog" @success="addExtendSuccess" @closed="dialog.save=false"></save-extend-dialog> </template> <script> import saveDialog from './addPlan' + import saveSelectDialog from './saveSelectDialog' + import saveExtendDialog from './addField' export default { name: "custom", data(){ return { id: "", dialog: { - save: false + save: false, //鏂板妯$増 + saveSelect: false, //娣诲姞瀛楁 + extendSave: false //娣诲姞鎵╁睍瀛楁 }, planData: [], activeName: "first", + configType: 1, tableData0: [], tableData1: [], - tableData2: [] + tableData2: [], + tableData0extend: [], + tableData1extend: [] } }, created(){ @@ -97,7 +147,7 @@ this.gitProduct(); }, components: { - saveDialog + saveDialog,saveSelectDialog,saveExtendDialog }, methods: { gitProduct() { @@ -126,9 +176,19 @@ this.getTableList(); }, getTableList() { - this.$HTTP.get(`/api/blade-system/custom-template-field/listField?configType=1&templateId=${this.id}`).then(res=> { + this.$HTTP.get(`/api/blade-system/custom-template-field/listField?configType=${this.configType}&templateId=${this.id}`).then(res=> { if(res.code == 200) { - this.tableData0 = res.data.systemFieldList; + if(this.activeName == "first") { + this.tableData0 = res.data.systemFieldList; + this.tableData0extend = res.data.customFieldList || []; + }else if(this.activeName == "second") { + this.tableData1 = res.data.systemFieldList; + this.tableData1extend = res.data.customFieldList || []; + }else if(this.activeName == "third") { + this.tableData2 = res.data.systemFieldList; + this.tableData2extend = res.data.customFieldList || []; + } + } }) }, @@ -152,14 +212,46 @@ this.$refs.saveDialog.open(this.productList,this.planData) }) }, + openSelect() { + this.dialog.saveSelect = true + this.$HTTP.get(`/api/blade-system/custom-template-field/getSelectBox?configType=${this.configType}&templateId=${this.id}`).then(res=> { + if(res.code == 200) { + this.$refs.saveSelectDialog.open(res.data,this.id,this.configType); + } + }) + }, addPlanSuccess() { this.getBaseData(); }, - table_del(row,index) { - + addSelectSuccess() { + this.getTableList(); }, - handleClick(text) { - + addExtendSuccess() { + this.getTableList(); + }, + addExtend() { + this.dialog.extendSave = true + this.$nextTick(() => { + this.$refs.saveExtendDialog.open(); + }) + }, + table_del(row,index) { + this.$HTTP.delete(`/api/blade-system/custom-template-field-relation/remove`,[row.id]).then(res=> { + if(res.code == 200) { + this.$message.success("鎿嶄綔鎴愬姛"); + this.getTableList(); + } + }) + }, + handleClick(TabPaneName) { + if(TabPaneName == "first") { + this.configType = 1; + }else if(TabPaneName == "second") { + this.configType = 2; + }else if(TabPaneName == "third") { + this.configType = 3; + } + this.getTableList(); } } } -- Gitblit v1.9.3