<template>
|
<app-page-form v-bind="pageFormProps" v-loading="appStore.getLoading('getEntity')">
|
<base-info v-bind="baseInfoProps"/>
|
<template-info v-bind="templateInfoProps"/>
|
</app-page-form>
|
</template>
|
|
<script setup>
|
|
import BaseInfo from './BaseInfo';
|
import TemplateInfo from './TemplateInfo';
|
import {closeTab} from '@/utils/iframe.js';
|
import {useAppStore, useEntityStore} from "@/store/modules";
|
import {convertFilter} from "@/utils/filter.js";
|
|
const props = defineProps({
|
subSubmit: {
|
type: Function,
|
default: () => {
|
}
|
}
|
});
|
|
const entityStore = useEntityStore();
|
const appStore = useAppStore();
|
|
const router = useRouter();
|
|
const baseInfoRef = ref();
|
|
const baseInfoProps = {
|
ref: baseInfoRef,
|
}
|
|
const params = router.currentRoute.value.query;
|
|
const onReset = async () => {
|
if (params.id) {
|
const {data} = await entityStore.getEntity({
|
dataName: "sys_notice_config",
|
filter: convertFilter({
|
andEqParams: {
|
id: params.id
|
}
|
})
|
});
|
await nextTick();
|
baseInfoRef.value.onSetData(data.sys_notice_config);
|
templateInfoRef.value.onSetData(data.sys_notice_config);
|
return;
|
}
|
baseInfoRef.value.onSetData({});
|
templateInfoRef.value.onSetData({});
|
}
|
|
onMounted(async () => {
|
await onReset();
|
});
|
|
const templateInfoRef = ref();
|
|
const templateInfoProps = {
|
ref: templateInfoRef,
|
async subBaseInfo() {
|
const data = await baseInfoRef.value.onGetData();
|
return data;
|
}
|
}
|
|
const pageFormProps = {
|
subClose() {
|
closeTab();
|
},
|
async subSubmit() {
|
const data = await baseInfoRef.value.onGetData();
|
const template_content = await templateInfoRef.value.onGetData();
|
await entityStore.saveEntity({
|
dataName: 'sys_notice_config',
|
data: {
|
sys_notice_config: {
|
...(data.id ? {id: data.id} : {}),
|
...data,
|
template_content
|
}
|
}
|
});
|
closeTab();
|
},
|
async subReset() {
|
await onReset();
|
},
|
}
|
|
</script>
|