<template>
|
<el-dialog :title="titleMap[mode]" v-model="visible" :width="700" destroy-on-close @closed="$emit('closed')">
|
<div class="field-title">基础字段</div>
|
<el-checkbox-group v-model="checkListData">
|
<el-checkbox v-for="item in checkList" :label="item.fieldName" :disabled="item.sysFieldMust == 1?true:false" />
|
</el-checkbox-group>
|
<div class="field-title">
|
扩展字段
|
<span class="add-field" @click="openSelect">+ 添加字段</span>
|
</div>
|
<el-checkbox-group v-model="extendListData" v-if="extendCheckList.length > 0">
|
<el-checkbox v-for="item in extendCheckList" :label="item.fieldName" :disabled="item.sysFieldMust == 1?true:false" />
|
</el-checkbox-group>
|
<template #footer>
|
<el-button @click="visible=false">取消</el-button>
|
<el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="selectSubmit">确定</el-button>
|
</template>
|
</el-dialog>
|
</template>
|
|
<script>
|
export default {
|
emits: ['success', 'closed'],
|
data() {
|
return {
|
id: "",
|
configType: "",
|
checkListData: [],
|
checkList: [],
|
extendListData: [],
|
extendCheckList: [],
|
mode: "add",
|
titleMap: {
|
add: '添加字段',
|
edit: '修改',
|
show: '查看'
|
},
|
visible: false,
|
isSaveing: false,
|
}
|
},
|
mounted() {
|
|
},
|
components: {
|
|
},
|
methods: {
|
openSelect() {
|
this.$emit('addExtend', true);
|
this.visible = false;
|
},
|
//显示
|
open(data,id,configType,mode='add'){
|
this.mode = mode;
|
this.visible = true;
|
this.checkList = data.systemFieldList || [];
|
this.extendCheckList = data.customFieldList || [];
|
this.checkList.forEach(item=> {
|
if(item.sort !=null) {
|
this.checkListData.push(item.fieldName);
|
}
|
})
|
this.extendCheckList.forEach(item=> {
|
if(item.sort !=null) {
|
this.extendListData.push(item.fieldName);
|
}
|
})
|
this.id = id;
|
this.configType = configType;
|
return this
|
},
|
//表单提交方法
|
selectSubmit(){
|
var list = [];
|
this.checkList.forEach(item=> {
|
this.checkListData.forEach(item1=> {
|
if(item.fieldName == item1) {
|
list.push(item.fieldId);
|
}
|
})
|
})
|
this.extendCheckList.forEach(item=> {
|
this.extendListData.forEach(item1=> {
|
if(item.fieldName == item1) {
|
list.push(item.fieldId);
|
}
|
})
|
})
|
var obj ={
|
businessType: this.$route.query.type,
|
configType: this.configType,
|
fieldList: list,
|
templateId: this.id
|
};
|
this.isSaveing = true;
|
this.$HTTP.post("/api/blade-system/custom-template-field-relation/insert",obj).then(res=> {
|
this.isSaveing = false;
|
if(res.code == 200) {
|
this.$emit('success', this.checkListData, this.mode);
|
this.visible = false;
|
this.$message.success("操作成功");
|
}else {
|
this.$alert(res.message, "提示", {type: 'error'});
|
}
|
})
|
},
|
//表单注入数据
|
setData(data){
|
//Object.assign(this.addPlanForm, data);
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
.add-field {
|
color: #409eff;
|
font-weight: 400;
|
font-size: 14px;
|
cursor: pointer;
|
padding-left: 8px;
|
margin: 0;
|
}
|
.field-title {
|
font-size: 14px;
|
color: #5f5f5f;
|
margin: 14px 0;
|
}
|
</style>
|