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