|
|
@@ -3,9 +3,7 @@
|
|
|
<div class="page">
|
|
|
<div class="top">
|
|
|
<div class="topLeft" @click="clickBack">
|
|
|
- <img src="./img/rollback.png" style="margin-right: 8px"/><span
|
|
|
- >返回</span
|
|
|
- >
|
|
|
+ <img src="./img/rollback.png" style="margin-right: 8px" /><span>返回</span>
|
|
|
</div>
|
|
|
<div class="topRight">
|
|
|
<span v-if="pageType === 1">新建报表配置</span>
|
|
|
@@ -17,7 +15,7 @@
|
|
|
<div class="left">
|
|
|
<el-form
|
|
|
ref="ruleFormRef"
|
|
|
- style="max-width: 1000px"
|
|
|
+ style="max-width: 1000px;"
|
|
|
:model="form"
|
|
|
:rules="rules"
|
|
|
label-width="auto"
|
|
|
@@ -30,6 +28,7 @@
|
|
|
label="指定人员:"
|
|
|
required
|
|
|
prop="designatedUserList.value"
|
|
|
+ style="width: 660px;"
|
|
|
:rules="{ required: true, message: '请选择推送人员', trigger: ['change'] }"
|
|
|
>
|
|
|
<el-col :span="18">
|
|
|
@@ -44,7 +43,7 @@
|
|
|
>
|
|
|
<el-tooltip :visible="weekVisible" placement="top">
|
|
|
<template #content>
|
|
|
- <span>自然周数据(周一至周日),<br />每次将推送上一周数据</span>
|
|
|
+ <span>每次推送上个自然周数据</span><br /><div style="text-align: center;">(每周一至周日)</div>
|
|
|
</template>
|
|
|
<el-radio
|
|
|
:value="1"
|
|
|
@@ -56,7 +55,7 @@
|
|
|
|
|
|
<el-tooltip :visible="monthVisible" placement="top">
|
|
|
<template #content>
|
|
|
- <span>自然月数据(每月第一天至最后一天),<br />每次将推送上个月数据</span>
|
|
|
+ <span>每次推送上个自然月数据</span><br /><div style="text-align: center;">(每月第一天至最后一天)</div>
|
|
|
</template>
|
|
|
<el-radio
|
|
|
:value="2"
|
|
|
@@ -68,7 +67,7 @@
|
|
|
|
|
|
<el-tooltip :visible="seasonVisible" placement="top">
|
|
|
<template #content>
|
|
|
- <span>自然季数据,<br />每次将推送上个季度数据</span>
|
|
|
+ <span>每次将推送上个自然季度数据</span>
|
|
|
</template>
|
|
|
<el-radio
|
|
|
:value="3"
|
|
|
@@ -80,7 +79,7 @@
|
|
|
|
|
|
<el-tooltip :visible="yearVisible" placement="top">
|
|
|
<template #content>
|
|
|
- <span>整年数据,<br />每次将推送上一年数据</span>
|
|
|
+ <span>每次推送上一整年的数据</span>
|
|
|
</template>
|
|
|
<el-radio
|
|
|
:value="4"
|
|
|
@@ -117,7 +116,7 @@
|
|
|
<YearReport :form="form" :disableType="disableType"></YearReport>
|
|
|
</div>
|
|
|
|
|
|
- <div v-if="form.statisticType === 5">
|
|
|
+ <div v-if="form.statisticType === 5" class="custom-report">
|
|
|
<CustomReport
|
|
|
ref="CustomReportComponent"
|
|
|
:form="form"
|
|
|
@@ -137,20 +136,20 @@
|
|
|
</el-checkbox-group>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="操作人:">
|
|
|
- <el-input style="width: 425px" disabled :placeholder="operater" />
|
|
|
+ <el-form-item label="操作人:" style="margin-left: 10px;">
|
|
|
+ <el-input style="width: 425px; margin-left: -10px ;" disabled :placeholder="operater" />
|
|
|
</el-form-item>
|
|
|
- <div class="two-btns">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- @click="submitForm(ruleFormRef)"
|
|
|
- :disabled="disableType.contentDisable"
|
|
|
- >
|
|
|
- 确定
|
|
|
- </el-button>
|
|
|
- <el-button @click="clickBack">取消</el-button>
|
|
|
- </div>
|
|
|
</el-form>
|
|
|
+ <div class="two-btns">
|
|
|
+ <el-button @click="clickBack">取消</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="submitForm(ruleFormRef)"
|
|
|
+ :disabled="disableType.contentDisable"
|
|
|
+ >
|
|
|
+ 确定
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="right">
|
|
|
<TemplateExample :form="form" :disableType="disableType"></TemplateExample>
|
|
|
@@ -172,13 +171,16 @@ import { addMassage, searchMassage, editMassage } from '@/api/sendMessage/sendMe
|
|
|
import { ElMessage } from 'element-plus';
|
|
|
import { storeToRefs } from 'pinia';
|
|
|
import { useUserStore } from '@/store/modules/user';
|
|
|
+import { useFormList } from './store/useFormList';
|
|
|
import { useRoute, useRouter } from 'vue-router';
|
|
|
import DesignatedUserList from '@/views/message/designatedUserSelectTree.vue';
|
|
|
import type { FormProps } from 'element-plus';
|
|
|
const labelPosition = ref<FormProps['labelPosition']>('left');
|
|
|
|
|
|
const useUser = useUserStore();
|
|
|
+const FormList = useFormList();
|
|
|
const { info } = storeToRefs(useUser);
|
|
|
+const { type } = storeToRefs(FormList);
|
|
|
let operater = info.value.nickname;
|
|
|
|
|
|
const weekVisible = ref(false); // 控制Tooltip显示
|
|
|
@@ -204,6 +206,7 @@ const statisticType = ref<number>(
|
|
|
let queryType = { type: reportType.value, statisticType: statisticType.value };
|
|
|
|
|
|
const form = reactive<reportMessage>({
|
|
|
+ configIdList: null,
|
|
|
type: 0,
|
|
|
statisticType: 0,
|
|
|
monthAndDayList: ['1', '1'],
|
|
|
@@ -232,22 +235,22 @@ const rules = reactive({
|
|
|
// customUserList: [{ required: true, message: '请选择推送人员', trigger: 'change, blur' }],
|
|
|
});
|
|
|
|
|
|
- // const form = reactive<reportMessage>({
|
|
|
- // configIdList: null,
|
|
|
- // type: 0,
|
|
|
- // statisticType: 0,
|
|
|
- // monthAndDayList: ['1', '1'],
|
|
|
- // dayOfWeek: 1,
|
|
|
- // monthList: [''],
|
|
|
- // dayOfMonthList: ['1'],
|
|
|
- // pushTimeList: ['09:00:00'],
|
|
|
- // pushChannel: [],
|
|
|
- // userGroupList: [],
|
|
|
- // designatedUserList: [],
|
|
|
- // recipientType: undefined,
|
|
|
- // customPushConfigList: [],
|
|
|
- // customUserList: []
|
|
|
- // });
|
|
|
+// const form = reactive<reportMessage>({
|
|
|
+// configIdList: null,
|
|
|
+// type: 0,
|
|
|
+// statisticType: 0,
|
|
|
+// monthAndDayList: ['1', '1'],
|
|
|
+// dayOfWeek: 1,
|
|
|
+// monthList: [''],
|
|
|
+// dayOfMonthList: ['1'],
|
|
|
+// pushTimeList: ['09:00:00'],
|
|
|
+// pushChannel: [],
|
|
|
+// userGroupList: [],
|
|
|
+// designatedUserList: [],
|
|
|
+// recipientType: undefined,
|
|
|
+// customPushConfigList: [],
|
|
|
+// customUserList: []
|
|
|
+// });
|
|
|
const submitForm = async (formEl: FormInstance | undefined) => {
|
|
|
if (!formEl) return;
|
|
|
await formEl.validate((valid, fields) => {
|
|
|
@@ -283,6 +286,7 @@ const resetForm = (formEl: FormInstance | undefined) => {
|
|
|
};
|
|
|
|
|
|
const clickBack = () => {
|
|
|
+ type.value = reportType.value;
|
|
|
router.back();
|
|
|
};
|
|
|
|
|
|
@@ -352,17 +356,24 @@ onBeforeMount(() => {
|
|
|
}
|
|
|
.topRight {
|
|
|
margin-left: 20px;
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
.content {
|
|
|
display: flex;
|
|
|
height: calc(100vh - 130px);
|
|
|
.left {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
position: relative;
|
|
|
padding: 20px 0 0 32px;
|
|
|
- width: 669px;
|
|
|
+ width: 769px;
|
|
|
border-right: 1px solid rgba(0, 0, 0, 0.06);
|
|
|
overflow-y: auto;
|
|
|
+ .custom-report{
|
|
|
+ max-height: calc(100vh - 450px);
|
|
|
+ overflow-y: auto;
|
|
|
+ }
|
|
|
.two-btns {
|
|
|
position: absolute;
|
|
|
right: 33px;
|
|
|
@@ -371,7 +382,7 @@ onBeforeMount(() => {
|
|
|
}
|
|
|
.right {
|
|
|
height: 299px;
|
|
|
- width: 448px;
|
|
|
+ width: 363px;
|
|
|
margin-left: 31px;
|
|
|
margin-top: 20px;
|
|
|
background: #ffffff;
|