From ab493128b646ede67a2bfa2e16c966eb4e5f2d94 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期四, 13 六月 2024 23:19:00 +0800
Subject: [PATCH] 传输文件
---
src/views/configuration/custom/planSettings.vue | 169 +++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 149 insertions(+), 20 deletions(-)
diff --git a/src/views/configuration/custom/planSettings.vue b/src/views/configuration/custom/planSettings.vue
index 368eb9a..a1673a6 100644
--- a/src/views/configuration/custom/planSettings.vue
+++ b/src/views/configuration/custom/planSettings.vue
@@ -2,81 +2,141 @@
* @Author: lzhe lzhe@example.com
* @Date: 2024-03-26 10:28:33
* @LastEditors: lzhe lzhe@example.com
- * @LastEditTime: 2024-05-29 17:32:55
+ * @LastEditTime: 2024-05-30 18:17:23
* @FilePath: /smart-web/src/views/master/person/main/index.vue
* @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<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>
- <div :class="{item:true, activeTab:index == 0?true:false}" v-for="(item,index) in planData">{{item.templateName}}<span>...</span></div>
+ <div :class="{item:true, activeTab: item.active}" v-for="(item,index) in planData" @click="changePlanData(item,index)">
+ <span style="margin-right: 12px;cursor: pointer;">{{item.templateName}}</span>
+ <el-popover placement="right-start" :width="30" trigger="click" :hide-after="0" :show-after="0">
+ <template #reference>...</template>
+ <template #default>
+ <span class="popvoer-title" @click="table_edit(item,index)">缂栬緫</span>
+ <span class="popvoer-title" style="margin-left: 12px" v-if="index != 0" @click="del_tab(item)">鍒犻櫎</span>
+ </template>
+ </el-popover>
+ </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(){
@@ -87,7 +147,7 @@
this.gitProduct();
},
components: {
- saveDialog
+ saveDialog,saveSelectDialog,saveExtendDialog
},
methods: {
gitProduct() {
@@ -101,14 +161,48 @@
this.$HTTP.get(`/api/blade-system/custom-template/list?businessType=${this.$route.query.type}`).then(res=> {
if(res.code == 200) {
this.planData = res.data.reverse();
+ this.id = this.planData[0].id;
+ this.planData[0].active = true;
this.getTableList();
}
})
},
+ changePlanData(row,index) {
+ this.id = row.id;
+ this.planData.forEach(item=> {
+ item.active = false;
+ })
+ this.planData[index].active = true;
+ this.getTableList();
+ },
getTableList() {
- this.$HTTP.get(`/api/blade-system/custom-template-field/listField?configType=1&templateId=${this.planData[0].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 || [];
+ }
+
+ }
+ })
+ },
+ table_edit(row) {
+ this.dialog.save = true
+ this.$nextTick(() => {
+ this.$refs.saveDialog.open(this.productList,this.planData,'edit').setData(row);
+ })
+ },
+ del_tab(row) {
+ this.$HTTP.delete(`/api/blade-system/custom-template/remove`,[row.id]).then(res=> {
+ if(res.code == 200) {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.getBaseData();
}
})
},
@@ -118,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();
}
}
}
@@ -183,4 +309,7 @@
color: #000;
margin: 14px 0;
}
+.popvoer-title {
+ cursor: pointer;
+}
</style>
--
Gitblit v1.9.3