<template>
|
<div v-if="display">
|
<!-- 第二层对话框,自定义参照配置Form组件 -->
|
<refer-config-form-dialog
|
ref="referConfigFormDialog"
|
@echoReferConfig="echoReferConfig">
|
</refer-config-form-dialog>
|
<!-- 第二层对话框,直接选择参照配置crud组件 -->
|
<refer-config-crud-dialog
|
ref="referConfigCrudDialog"
|
@openReconfigInterFace="openReconfigInterFace"
|
@echoReferConfig="echoReferConfig">
|
</refer-config-crud-dialog>
|
</div>
|
</template>
|
|
<script>
|
import referConfigFormDialog from "./referConfigFormDialog.vue";
|
import referConfigCrudDialog from "./referConfigCrudDialog.vue";
|
import func from "@/util/func";
|
export default {
|
name: "referConfigDialog",
|
props: ["referConfigOption","display"],
|
components: {referConfigFormDialog, referConfigCrudDialog},
|
data() {
|
return {
|
|
};
|
},
|
watch:{
|
referConfigOption (){
|
if(func.notEmpty(this.referConfigOption.referConfig) || func.notEmpty(this.referConfigOption.referBtmId)){
|
this.openReconfigInterFace(this.referConfigOption);
|
}else{
|
this.openTipsChooseOrCust();
|
}
|
}
|
},
|
methods: {
|
echoReferConfig(value) {
|
this.emitData = value;
|
},
|
// 当前已存在编辑过的参照配置,所以直接打开参照配置界面
|
openReconfigInterFace(preReferConfigForm){
|
const form = preReferConfigForm;
|
let data = {
|
referTypeName: form.referBtmName,
|
referType: form.referBtmId,
|
}
|
if(this.referConfigOption.referConfig){
|
// 编辑码段时referConfig可能会在为【参照引用的业务类型】选取值之后改变
|
let referConfigValue =JSON.parse(form.referConfig);
|
if(referConfigValue.referType != form.referBtmId){
|
referConfigValue.referType = form.referBtmId || '';
|
referConfigValue.referTypeName = form.referBtmName || form.referBtmId;
|
this.referConfigOption.referConfig = JSON.stringify(referConfigValue);
|
}
|
this.$set(data,"referConfig",this.referConfigOption.referConfig)
|
}
|
// 首次点击报错未定义
|
this.$nextTick(()=>{
|
this.$refs.referConfigFormDialog.isShowReferConfigForm = true;
|
this.$refs.referConfigFormDialog.initPageData(data);
|
})
|
},
|
// 打开自定义参照配置或直接选择参照配置的提示框
|
openTipsChooseOrCust(){
|
this.$confirm('请选择参照配置的定义方式?','参照配置的方式', {
|
distinguishCancelAndClose: true,
|
closeOnClickModal: false,
|
confirmButtonText: '自定义参照配置',
|
cancelButtonText: '直接选择参照配置'
|
})
|
.then(() => {
|
// 打开自定参照配置对话框
|
this.$refs.referConfigFormDialog.isShowReferConfigForm = true;
|
})
|
.catch(action => {
|
if (action === "cancel") {
|
// 打开直接选择参照配置对话框
|
this.$refs.referConfigCrudDialog.isShowReferConfigCrud = true;
|
|
}
|
});
|
},
|
/* 引用码段参照配置,子组件填完参照配置之后内容回显时调用 */
|
echoReferConfig(content){
|
this.$emit('setReferConfigValue', content) // 触发update:data将子组件值传递给父组件
|
},
|
|
},
|
}
|
</script>
|
|
<style>
|
|
</style>
|