|
@@ -45,7 +45,7 @@
|
|
|
import ContentConfig from './compontents/ContentConfig.vue';
|
|
import ContentConfig from './compontents/ContentConfig.vue';
|
|
|
import RightCard from './compontents/RightCard.vue';
|
|
import RightCard from './compontents/RightCard.vue';
|
|
|
|
|
|
|
|
- const isDisabled = ref<boolean>(false);
|
|
|
|
|
|
|
+ const isDisabled = ref<boolean>(false); // 是可编辑还是只查看状态
|
|
|
const useUser = useUserStore();
|
|
const useUser = useUserStore();
|
|
|
const { info } = storeToRefs(useUser);
|
|
const { info } = storeToRefs(useUser);
|
|
|
const basicInfoRef = ref<InstanceType<typeof BasicInfo>>();
|
|
const basicInfoRef = ref<InstanceType<typeof BasicInfo>>();
|
|
@@ -56,7 +56,7 @@
|
|
|
bannerUrl: '',
|
|
bannerUrl: '',
|
|
|
pushChannel: [],
|
|
pushChannel: [],
|
|
|
expirationTime: '',
|
|
expirationTime: '',
|
|
|
- recipientType: 1, // 全员
|
|
|
|
|
|
|
+ recipientType: 1, // 默认全员 (FIXME:魔法数字)
|
|
|
userGroupList: [],
|
|
userGroupList: [],
|
|
|
customUserList: [],
|
|
customUserList: [],
|
|
|
introduction: '',
|
|
introduction: '',
|
|
@@ -79,7 +79,12 @@
|
|
|
const route = useRoute();
|
|
const route = useRoute();
|
|
|
const sysId = Number(route.query.id as string);
|
|
const sysId = Number(route.query.id as string);
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 获取当前系统配置信息
|
|
|
|
|
+ */
|
|
|
const fetchSystemMessage = async () => {
|
|
const fetchSystemMessage = async () => {
|
|
|
|
|
+ // 首次暂存后切换到编辑模式,因为路由没有发生变化,组件也不会发生变化,
|
|
|
|
|
+ // sysId会一直为undefined,但此时 ruleForm.id 是存在的
|
|
|
const messageId = sysId || ruleForm.id
|
|
const messageId = sysId || ruleForm.id
|
|
|
|
|
|
|
|
// 查看 或 编辑状态
|
|
// 查看 或 编辑状态
|
|
@@ -87,6 +92,7 @@
|
|
|
isDisabled.value = true;
|
|
isDisabled.value = true;
|
|
|
const res = await viewSystemMessage(messageId);
|
|
const res = await viewSystemMessage(messageId);
|
|
|
if (res.status === SysMessageStatus.DRAFT) {
|
|
if (res.status === SysMessageStatus.DRAFT) {
|
|
|
|
|
+ // 如果未发布,还是可以编辑的
|
|
|
isDisabled.value = false;
|
|
isDisabled.value = false;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -94,12 +100,13 @@
|
|
|
Object.entries(res).forEach(([key, value]) => {
|
|
Object.entries(res).forEach(([key, value]) => {
|
|
|
ruleForm[key] = value;
|
|
ruleForm[key] = value;
|
|
|
});
|
|
});
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-
|
|
|
|
|
- // 取消
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 取消。
|
|
|
|
|
+ * TODO:功能是否上线暂定
|
|
|
|
|
+ */
|
|
|
const onCancel = () => {
|
|
const onCancel = () => {
|
|
|
// 比对数据
|
|
// 比对数据
|
|
|
const changes = compareData(ruleForm, originalData);
|
|
const changes = compareData(ruleForm, originalData);
|
|
@@ -129,28 +136,33 @@
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
- // 暂存
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 暂存功能。 未正式发布之前,可继续编辑
|
|
|
|
|
+ */
|
|
|
const onSave = async () => {
|
|
const onSave = async () => {
|
|
|
- // to save dada
|
|
|
|
|
|
|
+ // 基础配置信息。
|
|
|
|
|
+ // FIXME: validate 返回了数据,不符合单一原则
|
|
|
const baseInfoData = await basicInfoRef.value?.validate();
|
|
const baseInfoData = await basicInfoRef.value?.validate();
|
|
|
|
|
+ // 内容配置信息。
|
|
|
const contentConfigData = contentConfigRef.value?.buildFormdata();
|
|
const contentConfigData = contentConfigRef.value?.buildFormdata();
|
|
|
|
|
|
|
|
const params: RuleFormAdd = {
|
|
const params: RuleFormAdd = {
|
|
|
...baseInfoData!,
|
|
...baseInfoData!,
|
|
|
...contentConfigData,
|
|
...contentConfigData,
|
|
|
};
|
|
};
|
|
|
|
|
+ // 请求体,不需要 operator 和 status
|
|
|
delete params.operator;
|
|
delete params.operator;
|
|
|
delete params.status;
|
|
delete params.status;
|
|
|
|
|
|
|
|
const messageId = sysId || ruleForm.id;
|
|
const messageId = sysId || ruleForm.id;
|
|
|
|
|
|
|
|
- if (!messageId) {
|
|
|
|
|
|
|
+ if (!messageId) { // 首次保存
|
|
|
ruleForm.id = await addSystemMessage(params);
|
|
ruleForm.id = await addSystemMessage(params);
|
|
|
ElMessage.success('暂存成功!');
|
|
ElMessage.success('暂存成功!');
|
|
|
await router.replace(`/message/sysnotion-config?id=${ruleForm.id}`)
|
|
await router.replace(`/message/sysnotion-config?id=${ruleForm.id}`)
|
|
|
fetchSystemMessage();
|
|
fetchSystemMessage();
|
|
|
|
|
|
|
|
- } else {
|
|
|
|
|
|
|
+ } else { // 继续编辑
|
|
|
await updateSystemMessage(params)
|
|
await updateSystemMessage(params)
|
|
|
ElMessage.success('编辑成功!');
|
|
ElMessage.success('编辑成功!');
|
|
|
}
|
|
}
|