From 6f92c97e2b488542559046cc603153afa38cfb9e Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期三, 29 五月 2024 17:33:37 +0800
Subject: [PATCH] 1
---
src/views/configuration/custom/planSettings.vue | 186 ++++++++++++++++++++
src/views/configuration/custom/setField.vue | 6
src/views/configuration/custom/addField.vue | 179 ++++++++++++-------
src/views/configuration/custom/index.vue | 9
src/views/configuration/custom/addPlan.vue | 109 ++++++++++++
src/config/route.js | 19 ++
6 files changed, 435 insertions(+), 73 deletions(-)
diff --git a/src/config/route.js b/src/config/route.js
index 705458c..a25a9dc 100644
--- a/src/config/route.js
+++ b/src/config/route.js
@@ -1,3 +1,11 @@
+/*
+ * @Author: lzhe lzhe@example.com
+ * @Date: 2024-05-24 11:25:26
+ * @LastEditors: lzhe lzhe@example.com
+ * @LastEditTime: 2024-05-29 16:16:57
+ * @FilePath: /src/config/route.js
+ * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
// 闈欐�佽矾鐢遍厤缃�
// 涔﹀啓鏍煎紡涓庡姩鎬佽矾鐢辨牸寮忎竴鑷达紝鍏ㄩ儴缁忕敱妗嗘灦缁熶竴杞崲
// 姣旇緝鍔ㄦ�佽矾鐢卞湪meta涓鍔犲叆浜唕ole瑙掕壊鏉冮檺锛屼负鏁扮粍绫诲瀷銆備竴涓彍鍗曟槸鍚︽湁鏉冮檺鏄剧ず锛屽彇鍐充簬瀹冧互鍙婂悗浠h彍鍗曟槸鍚︽湁鏉冮檺銆�
@@ -38,6 +46,17 @@
}
},
{
+ name: "璁″垝璁剧疆",
+ path: "/configuration/custom/planSettings",
+ component: "configuration/custom/planSettings",
+ meta: {
+ icon: "el-icon-menu",
+ title: "璁″垝璁剧疆",
+ type: 'menu',
+ hidden: true
+ }
+ },
+ {
name: "鏂板缓宸ヨ壓璺嚎",
path: "/console/product-process/process-route/add-craft",
component: "console/product-process/process-route/add-craft",
diff --git a/src/views/configuration/custom/addField.vue b/src/views/configuration/custom/addField.vue
index 2a60039..822f9f2 100644
--- a/src/views/configuration/custom/addField.vue
+++ b/src/views/configuration/custom/addField.vue
@@ -15,7 +15,7 @@
<el-col :span="24">
<el-form-item label="瀛楁绫诲瀷">
<el-select v-model="addFieldForm.fieldType" style="width: 100%" placeholder="閫夋嫨绗﹀悎涓氬姟鐨勫瓧娈电被鍨�">
- <el-option v-for="item in fieldTypeList" :key="item.id" :label="item.title" :value="item.id"/>
+ <el-option v-for="item in fieldTypeList" :disabled="item.disabled" :key="item.id" :label="item.title" :value="item.id"/>
</el-select>
</el-form-item>
</el-col>
@@ -93,42 +93,49 @@
<!-- 鍙橀噺5 鍗曢�夋寜閽�-->
<el-col :span="24" v-if="addFieldForm.fieldType == '5'">
<el-form-item label="閫夐」" class="specialItem">
- <div v-for="(item,index) in addFieldForm.radioList" class="fieldContent">
- <el-radio v-model="item.radio" :label="1" style="margin-right: 0px;">銆�</el-radio>
- <el-input v-model="item.input" clearable></el-input>
- <span class="remove-btn" @click="removeRadio(index)">鍒犻櫎</span>
- </div>
+ <el-radio-group v-model="addFieldForm.selectOption" class="specialRadio">
+ <el-radio :label="item.value" style="margin-right: 0px;" v-for="(item,index) in addFieldForm.radioList">
+ <el-input v-model="item.label" clearable></el-input>
+ <span class="remove-btn" @click="removeRadio(index)">鍒犻櫎</span>
+ </el-radio>
+ </el-radio-group>
<div class="add-btn" @click="addRadio">娣诲姞閫夐」</div>
</el-form-item>
</el-col>
<el-col :span="24" v-if="addFieldForm.fieldType == '5'">
<el-form-item label="鎺掑簭鏂瑰紡">
- <el-radio v-model="addFieldForm.radio" label="1">妯悜鎺掑垪</el-radio>
- <el-radio v-model="addFieldForm.radio" label="2">绾靛悜鎺掑垪</el-radio>
+ <el-radio v-model="addFieldForm.direction" label="0">妯悜鎺掑垪</el-radio>
+ <el-radio v-model="addFieldForm.direction" label="1">绾靛悜鎺掑垪</el-radio>
</el-form-item>
</el-col>
<!-- 鍙橀噺6 澶氶�夋寜閽�-->
<el-col :span="24" v-if="addFieldForm.fieldType == '6'">
<el-form-item label="閫夐」" class="specialItem">
- <div v-for="(item,index) in addFieldForm.checkboxList" class="fieldContent">
+ <el-checkbox-group v-model="addFieldForm.selectBoxOption" class="specialCheck">
+ <el-checkbox :label="item.value" :value="item.value" v-for="(item,index) in addFieldForm.checkboxList">
+ <el-input v-model="item.label" clearable></el-input>
+ <span class="remove-btn" @click="removeCheckbox(index)">鍒犻櫎</span>
+ </el-checkbox>
+ </el-checkbox-group>
+ <!-- <div v-for="(item,index) in addFieldForm.checkboxList" class="fieldContent">
<el-checkbox v-model="item.check" style="margin-right: 15px;"></el-checkbox>
<el-input v-model="item.input" clearable></el-input>
<span class="remove-btn" @click="removeCheckbox(index)">鍒犻櫎</span>
- </div>
+ </div> -->
<div class="add-btn" @click="addCheckbox">娣诲姞閫夐」</div>
</el-form-item>
</el-col>
<el-col :span="24" v-if="addFieldForm.fieldType == '6'">
<el-form-item label="鎺掑簭鏂瑰紡">
- <el-radio v-model="addFieldForm.radio" label="1">妯悜鎺掑垪</el-radio>
- <el-radio v-model="addFieldForm.radio" label="2">绾靛悜鎺掑垪</el-radio>
+ <el-radio v-model="addFieldForm.direction" label="0">妯悜鎺掑垪</el-radio>
+ <el-radio v-model="addFieldForm.direction" label="1">绾靛悜鎺掑垪</el-radio>
</el-form-item>
</el-col>
<!-- 鍙橀噺7 涓嬫媺閫夋嫨鍣�-->
<el-col :span="24" v-if="addFieldForm.fieldType == '7'">
<el-form-item label="閫夐」" class="specialItem">
<div v-for="(item,index) in addFieldForm.selectList" class="fieldContent">
- <el-input v-model="item.input" clearable></el-input>
+ <el-input v-model="item.label" clearable></el-input>
<span class="remove-btn" @click="removeSelect(index)">鍒犻櫎</span>
</div>
<div class="add-btn" @click="addSelect">娣诲姞閫夐」</div>
@@ -167,6 +174,7 @@
emits: ['success', 'closed'],
data() {
return {
+ dialogData: {},
inputTypeList: [ //杈撳叆鏍煎紡
{title: "鏃�",id: "1"},
{title: "鎵嬫満鍙风爜",id: "mobile"},
@@ -181,8 +189,8 @@
{title: "鍗曢�夋寜閽�",id: "5"},
{title: "澶氶�夋寜閽�",id: "6"},
{title: "涓嬫媺閫夋嫨鍣�",id: "7"},
- {title: "涓氬姟瀛楁-浜哄憳",id: "8"},
- {title: "榛樿",id: "9"}
+ {title: "涓氬姟瀛楁-浜哄憳",id: "9"},
+ {title: "榛樿",id: "10",disabled: true}
],
dateFormatList: [ //鏃ユ湡鏍煎紡
{title: "骞�-鏈�",id: "yyyy-MM"},
@@ -205,6 +213,7 @@
defaultValue: "",
maxlength: 20,
updateShow: false,
+ viewShow: true,
fieldType: "1", //瀛楁绫诲瀷锛岄粯璁よ緭鍏ユ
formatName: "",
supportUpdate: "1",
@@ -221,22 +230,10 @@
value: "month",
format: "yyyy-MM"
},
- radio: '1',
- num: 0,
- numLast: 9999,
- test: "",
- check: false,
- code: "",
- dictValue: "",
- sort: "",
- isSealed: false,
- remark: "",
- dictKey: "-1",
- test: "",
- viewShow: true,
- numArea: 200,
- dateType: "1",
+ direction: "0",
radioList: [],
+ selectOption: "",
+ selectBoxOption: [],
checkboxList: [],
selectList: []
},
@@ -290,7 +287,10 @@
};
}
},
- saveSubmit() {
+ fieldSubmit() { //淇濆瓨
+ this.saveSubmit('closeDialog');
+ },
+ saveSubmit(isClose) { //淇濆瓨骞剁户缁�
var obj = {
businessType: 1,
fieldDescription: this.addFieldForm.fieldDescription,
@@ -335,16 +335,49 @@
}
obj.propertyJson = JSON.stringify(propertyJson);
}
- console.log(obj);
- return;
- this.$HTTP.post(`/api/blade-system/custom-template-field/insert`,obj).then(res=> {
+ if(this.addFieldForm.fieldType == "5") { //鍗曢�夋寜閽�
+ var propertyJson = {
+ selectOption: this.addFieldForm.selectOption,
+ options: this.addFieldForm.radioList,
+ direction: this.addFieldForm.direction
+ }
+ obj.propertyJson = JSON.stringify(propertyJson);
+ }
+ if(this.addFieldForm.fieldType == "6") { //澶氶�夋寜閽�
+ var propertyJson = {
+ selectOption: this.addFieldForm.selectBoxOption,
+ options: this.addFieldForm.checkboxList,
+ direction: this.addFieldForm.direction
+ }
+ obj.propertyJson = JSON.stringify(propertyJson);
+ }
+ if(this.addFieldForm.fieldType == "7") { //涓嬫媺閫夋嫨鍣�
+ var propertyJson = {
+ options: this.addFieldForm.selectList
+ }
+ obj.propertyJson = JSON.stringify(propertyJson);
+ }
+ obj.businessType = this.$route.query.type;
+ var that = this;
+ if(this.mode == "edit") {
+ var url = "/api/blade-system/custom-template-field/update";
+ var method = "put";
+ obj.id = this.dialogData.id;
+ }else {
+ var url = "/api/blade-system/custom-template-field/insert";
+ var method = "post";
+ }
+ this.$HTTP[method](url,obj).then(res=> {
if(res.code == 200) {
- this.$message.success("鎻愪氦鎴愬姛");
+ that.$message.success("鎻愪氦鎴愬姛");
+ that.$emit("success",obj);
+ if(isClose == "closeDialog") {
+ that.visible = false;
+ }
}else {
- this.$message.error(res.msg);
+ that.$message.error(res.msg);
}
})
- console.log(obj)
},
removeRadio(index) {
this.addFieldForm.radioList.splice(index,1);
@@ -353,7 +386,7 @@
var flag = false;
if(this.addFieldForm.radioList.length > 0) {
this.addFieldForm.radioList.forEach(item=> {
- if(item.input == "") {
+ if(item.label == "") {
flag = true;
}
})
@@ -362,7 +395,7 @@
this.$message.error("璇疯緭鍏ヤ笂涓�涓嚜瀹氫箟閫夐」鐨勫唴瀹�");
return;
}
- this.addFieldForm.radioList.push({radio: "",input: ""});
+ this.addFieldForm.radioList.push({label: "",value: "radiosSelect" + (this.addFieldForm.radioList.length + 1),parentId: 0});
},
removeCheckbox(index) {
this.addFieldForm.checkboxList.splice(index,1);
@@ -371,7 +404,7 @@
var flag = false;
if(this.addFieldForm.checkboxList.length > 0) {
this.addFieldForm.checkboxList.forEach(item=> {
- if(item.input == "") {
+ if(item.label == "") {
flag = true;
}
})
@@ -380,7 +413,7 @@
this.$message.error("璇疯緭鍏ヤ笂涓�涓嚜瀹氫箟閫夐」鐨勫唴瀹�");
return;
}
- this.addFieldForm.checkboxList.push({check: "",input: ""});
+ this.addFieldForm.checkboxList.push({label: "",value: "checkboxSelect" + (this.addFieldForm.checkboxList.length + 1),parentId: 0});
},
removeSelect(index) {
this.addFieldForm.selectList.splice(index,1);
@@ -389,7 +422,7 @@
var flag = false;
if(this.addFieldForm.selectList.length > 0) {
this.addFieldForm.selectList.forEach(item=> {
- if(item.input == "") {
+ if(item.label == "") {
flag = true;
}
})
@@ -398,7 +431,7 @@
this.$message.error("璇疯緭鍏ヤ笂涓�涓嚜瀹氫箟閫夐」鐨勫唴瀹�");
return;
}
- this.addFieldForm.selectList.push({input: ""});
+ this.addFieldForm.selectList.push({label: "",value: "select" + (this.addFieldForm.selectList.length + 1),parentId: 0});
},
//鏄剧ず
open(mode='add'){
@@ -406,32 +439,35 @@
this.visible = true;
return this
},
- //琛ㄥ崟鎻愪氦鏂规硶
- fieldSubmit(){
- var obj = Object.assign({},this.addFieldForm);
- this.$refs.dialogForm.validate(async (valid) => {
- if (valid) {
- this.isSaveing = true;
- this.$HTTP.post("/api/blade-system/dict/submit",obj).then(res=> {
- this.isSaveing = false;
- if(res.code == 200) {
- this.$emit('success', this.addFieldForm, this.mode);
- this.visible = false;
- this.$message.success("鎿嶄綔鎴愬姛");
- }else {
- this.$alert(res.message, "鎻愮ず", {type: 'error'});
- }
- })
- }else{
- return false;
- }
- })
- },
//琛ㄥ崟娉ㄥ叆鏁版嵁
setData(data){
- console.log(data)
- //鍙互鍜屼笂闈竴鏍峰崟涓敞鍏ワ紝涔熷彲浠ュ儚涓嬮潰涓�鏍风洿鎺ュ悎骞惰繘鍘�
- //Object.assign(this.addFieldForm, data);
+ this.dialogData = data;
+ this.$HTTP.get(`/api/blade-system/custom-template-field/get/${data.id}`).then(res=> {
+ if(res.code == 200) {
+ res.data.fieldType = String(res.data.fieldType);
+ res.data.format = res.data.format == "0"?"0":"1";
+ res.data.direction = String(res.data.direction);
+ res.data.updateShow = res.data.updateShow == "1"?true:false;
+ res.data.viewShow = res.data.viewShow == "1"?true:false;
+ res.data.supportUpdate = String(res.data.supportUpdate);
+ if(res.data.fieldType != "10") {
+ this.addFieldForm = Object.assign(res.data,JSON.parse(res.data.propertyJson));
+ }else {
+ this.addFieldForm = res.data;
+ }
+ this.addFieldForm.format = String(this.addFieldForm.format);
+ if(res.data.fieldType == "5") {
+ this.addFieldForm.radioList = this.addFieldForm.options;
+ }
+ if(res.data.fieldType == "6") {
+ this.addFieldForm.checkboxList = this.addFieldForm.options;
+ this.addFieldForm.selectBoxOption = this.addFieldForm.selectOption;
+ }
+ if(res.data.fieldType == "7") {
+ this.addFieldForm.selectList = this.addFieldForm.options;
+ }
+ }
+ })
}
}
}
@@ -443,9 +479,18 @@
cursor: pointer;
}
.specialItem /deep/ .el-form-item__content{
+ display: flex;
flex-direction: column;
align-items: flex-start;
}
+.specialRadio,.specialCheck {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+}
+.specialRadio label,.specialCheck label{
+ margin-bottom: 8px;
+}
.fieldContent {
display: flex;
align-items: flex-start;
diff --git a/src/views/configuration/custom/addPlan.vue b/src/views/configuration/custom/addPlan.vue
new file mode 100644
index 0000000..67bd7e9
--- /dev/null
+++ b/src/views/configuration/custom/addPlan.vue
@@ -0,0 +1,109 @@
+<template>
+ <el-dialog :title="titleMap[mode]" v-model="visible" :width="700" destroy-on-close @closed="$emit('closed')">
+ <el-form :model="addPlanForm" :rules="addPlanRules" :disabled="mode=='show'" ref="dialogForm" label-width="180px" label-position="center">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="璁″垝绫诲瀷" prop="templateName">
+ <el-input v-model="addPlanForm.templateName" placeholder="璁″垝绫诲瀷" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="浜у搧绫诲瀷">
+ <el-select v-model="relationIds" multiple placeholder="浜у搧绫诲瀷" style="width: 100%">
+ <el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">{{
+ item.name }}</el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="閫氳繃宸叉湁璁″垝绫诲瀷鏂板缓" prop="copySourceId">
+ <el-select v-model="copySourceId" placeholder="閫氳繃宸叉湁璁″垝绫诲瀷鏂板缓" style="width: 100%">
+ <el-option v-for="item in planData" :key="item.id" :label="item.templateName" :value="item.id">{{
+ item.templateName }}</el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <template #footer>
+ <el-button @click="visible=false" >鍙栨秷</el-button>
+ <el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="planSubmit">淇� 瀛�</el-button>
+ </template>
+ </el-dialog>
+</template>
+
+<script>
+ export default {
+ emits: ['success', 'closed'],
+ data() {
+ return {
+ planData: {},
+ productList: [],
+ mode: "add",
+ titleMap: {
+ add: '鏂板',
+ edit: '淇敼',
+ show: '鏌ョ湅'
+ },
+ visible: false,
+ isSaveing: false,
+ //琛ㄥ崟鏁版嵁
+ addPlanForm: {
+ templateName: "",
+ relationIds: [],
+ copySourceId: ""
+ },
+ //楠岃瘉瑙勫垯
+ addPlanRules: {
+ templateName:[{required: true, message: '璇疯緭鍏ヨ鍒掔被鍨�'}],
+ copySourceId:[{required: true, message: '璇疯緭鍏ラ�氳繃宸叉湁璁″垝绫诲瀷鏂板缓'}]
+ }
+ }
+ },
+ mounted() {
+
+ },
+ methods: {
+ //鏄剧ず
+ open(productList,planData,mode='add'){
+ this.mode = mode;
+ this.visible = true;
+ this.productList = productList;
+ this.planData = planData;
+ this.addPlanForm.copySourceId = this.planData[0].id;
+ return this
+ },
+ //琛ㄥ崟鎻愪氦鏂规硶
+ planSubmit(){
+ var obj = Object.assign({},this.addPlanForm);
+ obj.businessType = this.$route.query.type;
+ obj.configTypes = [1, 2, 3];
+ this.$refs.dialogForm.validate(async (valid) => {
+ if (valid) {
+ this.isSaveing = true;
+ this.$HTTP.post("/api/blade-system/custom-template/insert",obj).then(res=> {
+ this.isSaveing = false;
+ if(res.code == 200) {
+ this.$emit('success', this.addPlanForm, this.mode);
+ this.visible = false;
+ this.$message.success("鎿嶄綔鎴愬姛");
+ }else {
+ this.$alert(res.message, "鎻愮ず", {type: 'error'});
+ }
+ })
+ }else{
+ return false;
+ }
+ })
+ },
+ //琛ㄥ崟娉ㄥ叆鏁版嵁
+ setData(data){
+ console.log(data)
+ Object.assign(this.addPlanForm, data);
+ }
+ }
+ }
+</script>
+
+<style>
+</style>
diff --git a/src/views/configuration/custom/index.vue b/src/views/configuration/custom/index.vue
index 5523b1b..e136322 100644
--- a/src/views/configuration/custom/index.vue
+++ b/src/views/configuration/custom/index.vue
@@ -2,7 +2,7 @@
* @Author: lzhe lzhe@example.com
* @Date: 2024-03-26 10:28:33
* @LastEditors: lzhe lzhe@example.com
- * @LastEditTime: 2024-05-13 11:39:54
+ * @LastEditTime: 2024-05-29 16:17:11
* @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
-->
@@ -17,7 +17,7 @@
<div class="card-title">璁″垝</div>
<div class="card-desc">
<span @click="goSetField(1)">瀛楁閰嶇疆</span>
- <span>璁″垝璁剧疆</span>
+ <span @click="goPlanSettings(1)">璁″垝璁剧疆</span>
</div>
</div>
</div>
@@ -30,7 +30,7 @@
<div class="card-title">浜у搧</div>
<div class="card-desc">
<span @click="goSetField(2)">瀛楁閰嶇疆</span>
- <span>鏄剧ず璁剧疆</span>
+ <span @click="goPlanSettings(2)">鏄剧ず璁剧疆</span>
</div>
</div>
</div>
@@ -56,6 +56,9 @@
methods: {
goSetField(type) {
this.$router.push({path: '/configuration/custom/setField',query: {type: type}});
+ },
+ goPlanSettings(type) {
+ this.$router.push({path: '/configuration/custom/planSettings',query: {type: type}});
}
}
}
diff --git a/src/views/configuration/custom/planSettings.vue b/src/views/configuration/custom/planSettings.vue
new file mode 100644
index 0000000..368eb9a
--- /dev/null
+++ b/src/views/configuration/custom/planSettings.vue
@@ -0,0 +1,186 @@
+<!--
+ * @Author: lzhe lzhe@example.com
+ * @Date: 2024-03-26 10:28:33
+ * @LastEditors: lzhe lzhe@example.com
+ * @LastEditTime: 2024-05-29 17:32:55
+ * @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="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>
+ </div>
+ <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
+ <el-tab-pane label="鏂板缓椤佃缃�" name="first">
+ <div>
+ <div class="add-field">+ 娣诲姞瀛楁</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 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>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ </el-tab-pane>
+ <el-tab-pane label="缂栬緫椤佃缃�" name="second">
+ <div class="add-field">+ 娣诲姞瀛楁</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 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>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="field-title">鎵╁睍瀛楁</div>
+ </el-tab-pane>
+ <el-tab-pane label="鏌ョ湅椤佃缃�" name="third">
+ <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>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="field-title">鎵╁睍瀛楁</div>
+ </el-tab-pane>
+ </el-tabs>
+ </div>
+ <save-dialog v-if="dialog.save" ref="saveDialog" @success="addPlanSuccess" @closed="dialog.save=false"></save-dialog>
+</template>
+<script>
+ import saveDialog from './addPlan'
+ export default {
+ name: "custom",
+ data(){
+ return {
+ dialog: {
+ save: false
+ },
+ planData: [],
+ activeName: "first",
+ tableData0: [],
+ tableData1: [],
+ tableData2: []
+ }
+ },
+ created(){
+
+ },
+ mounted(){
+ this.getBaseData();
+ this.gitProduct();
+ },
+ components: {
+ saveDialog
+ },
+ methods: {
+ gitProduct() {
+ this.$HTTP.get(`/api/blade-cps/product-type/list`).then(res=> {
+ if(res.code == 200) {
+ this.productList= res.data;
+ }
+ })
+ },
+ getBaseData() {
+ 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.getTableList();
+ }
+ })
+ },
+ getTableList() {
+ this.$HTTP.get(`/api/blade-system/custom-template-field/listField?configType=1&templateId=${this.planData[0].id}`).then(res=> {
+ if(res.code == 200) {
+ this.tableData0 = res.data.systemFieldList;
+ }
+ })
+ },
+ openPlan() {
+ this.dialog.save = true
+ this.$nextTick(() => {
+ this.$refs.saveDialog.open(this.productList,this.planData)
+ })
+ },
+ addPlanSuccess() {
+ this.getBaseData();
+ },
+ table_del(row,index) {
+
+ },
+ handleClick(text) {
+
+ }
+ }
+ }
+</script>
+
+<style scoped>
+.aposcope-main {
+ min-height: 100%;
+ margin: 8px;
+ padding:20px;
+ background: #fff;
+}
+.header {
+ margin-bottom: 8px;
+ background-color: #fff;
+ font-size: 14px;
+ font-weight: 700;
+ color: #333;
+}
+.title {
+ color: #000;
+ margin-bottom: 21px;
+}
+.type {
+ padding-bottom: 15px;
+ display: flex;
+ width: 100%;
+ overflow: auto;
+}
+.item {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #409eff;
+ cursor: pointer;
+ padding: 18px 12px;
+ margin-right: 24px;
+ border: 1px solid #ccc;
+ width: 260px;
+}
+.activeTab {
+ border: 1px solid #409eff;
+}
+.add-field {
+ color: #409eff;
+ font-weight: 400;
+ font-size: 14px;
+ cursor: pointer;
+ padding-left: 8px;
+ margin: 0;
+}
+.field-title {
+ font-weight: 700;
+ font-size: 14px;
+ color: #000;
+ margin: 14px 0;
+}
+</style>
diff --git a/src/views/configuration/custom/setField.vue b/src/views/configuration/custom/setField.vue
index 861660d..3895381 100644
--- a/src/views/configuration/custom/setField.vue
+++ b/src/views/configuration/custom/setField.vue
@@ -2,7 +2,7 @@
* @Author: lzhe lzhe@example.com
* @Date: 2024-03-26 10:28:33
* @LastEditors: lzhe lzhe@example.com
- * @LastEditTime: 2024-05-28 16:40:59
+ * @LastEditTime: 2024-05-29 15:24:20
* @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
-->
@@ -50,7 +50,7 @@
},
methods: {
addFieldSuccess() {
-
+ this.getTableData();
},
addField() {
this.dialog.save = true;
@@ -61,7 +61,7 @@
table_edit(row) {
this.dialog.save = true;
this.$nextTick(() => {
- this.$refs.saveDialog.open('edit').setData(row)
+ this.$refs.saveDialog.open('edit').setData(row);
})
},
table_del(row) {
--
Gitblit v1.9.3