1
lzhe
2024-05-29 6f92c97e2b488542559046cc603153afa38cfb9e
1
已添加2个文件
已修改4个文件
508 ■■■■ 文件已修改
src/config/route.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/configuration/custom/addField.vue 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/configuration/custom/addPlan.vue 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/configuration/custom/index.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/configuration/custom/planSettings.vue 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/configuration/custom/setField.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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中多加入了role角色权限,为数组类型。一个菜单是否有权限显示,取决于它以及后代菜单是否有权限。
@@ -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",
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;
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>
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}});
            }
        }
    }
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>
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) {