|
@@ -62,14 +62,14 @@
|
|
|
<el-text class="common-btn-text-primary" @click="showReleaseList">查看详情</el-text>
|
|
|
</el-form-item>
|
|
|
<el-row :gutter="18">
|
|
|
- <el-col :span="6">
|
|
|
- <el-form-item label="发布时间:" prop="releaseTime">
|
|
|
- <el-button type="text" @click="publishNow">立即发布</el-button>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="定时发布:" prop="timing">
|
|
|
- <el-date-picker v-model="formData.timing" type="datetime" placeholder="选择发布时间"></el-date-picker>
|
|
|
+ <el-form-item label="发布时间:" prop="releaseTime">
|
|
|
+ <el-radio-group v-model="formData.releaseType">
|
|
|
+ <el-radio :label="'now'" @change="publishNow">立即发布</el-radio>
|
|
|
+ <el-radio :label="'schedule'">定时发布</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ <div v-if="formData.releaseType === 'now'">发布时间:{{ formattedCurrentTime }}</div>
|
|
|
+ <el-date-picker v-else v-model="formData.releaseTime" type="datetime" placeholder="选择发布时间" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -108,7 +108,6 @@
|
|
|
</el-form>
|
|
|
<div class="common-dialog-footer">
|
|
|
<el-button @click="$emit('close')">返回</el-button>
|
|
|
- <el-button @click="submitForm">编辑</el-button>
|
|
|
<el-button type="primary" @click="submitForm">提交</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -119,22 +118,42 @@
|
|
|
<script setup lang="ts">
|
|
|
import { ref } from 'vue';
|
|
|
import { ElMessage } from 'element-plus';
|
|
|
+import { getInformationAdd } from '@/api/informationissue/informationissue';
|
|
|
|
|
|
const formData = ref({
|
|
|
title: '',
|
|
|
publishUnit: '',
|
|
|
templateType: '',
|
|
|
- messageContent: '',
|
|
|
+ content: '',
|
|
|
+ presetTemplate: '',
|
|
|
+ customPageUrl: '',
|
|
|
releaseList: 0,
|
|
|
- releaseTime: '',
|
|
|
+ releaseType: 'now', // 默认选择立即发布
|
|
|
+ releaseTime: '', // 存储定时发布的时间
|
|
|
feedbackWay: '',
|
|
|
- auditor: '',
|
|
|
+ examineBy: '',
|
|
|
timing: '',
|
|
|
- materials: ''
|
|
|
+ materials: '',
|
|
|
+ attachs: [],
|
|
|
+ examineAttachs: []
|
|
|
});
|
|
|
|
|
|
const files = ref([]);
|
|
|
const auditMaterials = ref([]);
|
|
|
+const formattedCurrentTime = ref(formatTime(new Date().toISOString()));
|
|
|
+const formatTime = (isoString) => {
|
|
|
+ const date = new Date(isoString);
|
|
|
+ const year = date.getFullYear();
|
|
|
+ const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
|
+ const day = String(date.getDate()).padStart(2, '0');
|
|
|
+ const hours = String(date.getHours()).padStart(2, '0');
|
|
|
+ const minutes = String(date.getMinutes()).padStart(2, '0');
|
|
|
+ const seconds = String(date.getSeconds()).padStart(2, '0');
|
|
|
+ return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
|
|
+};
|
|
|
+const publishNow = () => {
|
|
|
+ formData.value.releaseTime = new Date().toISOString(); // 设置当前时间为发布时间
|
|
|
+};
|
|
|
|
|
|
const rules = {
|
|
|
title: [{ required: true, message: '请填写标题', trigger: 'blur' }],
|
|
@@ -142,7 +161,7 @@ const rules = {
|
|
|
releaseList: [{ required: true, message: '请选择发布名单', trigger: 'change' }],
|
|
|
timing: [{ required: true, message: '请选择发布时间', trigger: 'change' }],
|
|
|
feedbackWay: [{ required: true, message: '请选择消息反馈方式', trigger: 'change' }],
|
|
|
- auditor: [{ required: true, message: '请填写审核人', trigger: 'blur' }]
|
|
|
+ examineBy: [{ required: true, message: '请填写审核人', trigger: 'blur' }]
|
|
|
};
|
|
|
|
|
|
const feedbackOptions = [
|
|
@@ -186,12 +205,33 @@ const handleSuccess = (response, file, fileList) => {
|
|
|
const showReleaseList = () => {
|
|
|
ElMessage.info('点击了查看发布名单');
|
|
|
};
|
|
|
-const publishNow = () => {
|
|
|
- ElMessage.info('点击了立即发布');
|
|
|
-};
|
|
|
const submitForm = () => {
|
|
|
if (validateFormData()) {
|
|
|
- ElMessage.success('表单提交成功');
|
|
|
+ // 构建要提交的数据对象
|
|
|
+ const submitData = {
|
|
|
+ title: formData.value.title,
|
|
|
+ publish_group: formData.value.publishUnit,
|
|
|
+ template_id: formData.value.templateType === '0' ? parseInt(selectedPresetTemplate.value) : null,
|
|
|
+ content: formData.value.messageContent,
|
|
|
+ response_type: formData.value.feedbackWay,
|
|
|
+ publish_time: formData.value.releaseType === 'now' ? new Date().toISOString() : formData.value.releaseTime,
|
|
|
+ examine_by: formData.value.auditor, // 假设审核人姓名字段是 'auditor'
|
|
|
+ publish_channel: '', // 确保这个字段有适当的值
|
|
|
+ user_count: formData.value.releaseList,
|
|
|
+ users: [], // 确保这个字段有适当的值
|
|
|
+ attachs: files.value.map((file) => ({ file_name: file.name })),
|
|
|
+ examine_attachs: auditMaterials.value.map((file) => ({ file_name: file.name }))
|
|
|
+ };
|
|
|
+
|
|
|
+ // 调用 API 提交数据
|
|
|
+ getInformationAdd(submitData)
|
|
|
+ .then(() => {
|
|
|
+ ElMessage.success('信息发布申请已提交');
|
|
|
+ // 处理响应,可能需要清空表单或进行其他操作
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ ElMessage.error('提交失败: ' + error.message);
|
|
|
+ });
|
|
|
}
|
|
|
};
|
|
|
|