Bläddra i källkod

Merge remote-tracking branch 'origin/dev' into dev

Hwf 7 månader sedan
förälder
incheckning
8eb4518d9e

+ 61 - 36
src/views/informationissue/informationApproval.vue

@@ -9,36 +9,37 @@
                 <h3 class="common-dialog-title">信息详情</h3>
               </div>
               <div class="common-dialog-box">
-                <el-form ref="form" :model="formData" :rules="rules" label-width="120px">
+                <el-form ref="form" :model="formData" label-width="120px">
                   <h4>信息内容</h4>
                   <div class="box1">
                     <el-form-item label="标题:" prop="title">
-                      <el-input v-model="formData.title" placeholder="请输入标题" style="width: 468px !important" />
+                      <el-input v-model="formData.title" disabled placeholder="请输入标题" style="width: 468px !important" />
                     </el-form-item>
 
-                    <el-form-item label="发布单位:" prop="publishUnit">
-                      <el-input v-model="formData.publishUnit" placeholder="请输入发布单位" style="width: 468px !important" />
+                    <el-form-item label="发布单位:" prop="publish_group">
+                      <el-input v-model="formData.publish_group" disabled placeholder="请输入发布单位" style="width: 468px !important" />
                     </el-form-item>
 
-                    <el-form-item label="信息模板:" prop="templateType">
-                      <el-radio-group v-model="formData.templateType">
+                    <el-form-item label="信息模板:" prop="template_id">
+                      <el-radio-group v-model="formData.template_id" disabled>
                         <el-radio label="预设模板">预设模板</el-radio>
                         <el-radio label="自定义模板">自定义模板</el-radio>
                       </el-radio-group>
                     </el-form-item>
-                    <el-form-item v-if="formData.templateType === '预设模板'" label="预设模板:" prop="presetTemplate">
+                    <el-form-item v-if="formData.template_id === '预设模板'" label="预设模板:" prop="presetTemplate">
                       <el-select v-model="selectedPresetTemplate" placeholder="请选择预设模板" style="width: 300px !important">
                         <el-option v-for="option in presetTemplates" :key="option.value" :label="option.label" :value="option.value"></el-option>
                       </el-select>
                       <el-text class="common-btn-text-primary" @click="showExample">样例</el-text>
                     </el-form-item>
-                    <el-form-item v-if="formData.templateType === '自定义模板'" prop="customPageUrl">
+                    <el-form-item v-if="formData.template_id === '自定义模板'" prop="customPageUrl">
                       <el-input v-model="formData.customPageUrl" placeholder="请输入自定义详情页面链接地址" style="width: 468px !important" />
                     </el-form-item>
-                    <el-form-item label="信息内容:" prop="messageContent">
+                    <el-form-item label="信息内容:" prop="content">
                       <el-input
-                        v-model="formData.messageContent"
+                        v-model="formData.content"
                         type="textarea"
+                        disabled
                         placeholder="请输入信息内容"
                         style="width: 468px !important"
                       ></el-input>
@@ -54,7 +55,7 @@
                   <h4>推送配置</h4>
                   <div class="box1">
                     <el-form-item label="发布名单:" prop="releaseList" style="width: 468px !important"
-                      ><span class="highlight-text">已选择{{ formData.releaseList }}人</span>
+                      ><span class="highlight-text">已选择{{ formData.user_count }}人</span>
                       <el-text class="common-btn-text-primary" @click="showReleaseDetail">发送明细</el-text>
                     </el-form-item>
                     <el-row :gutter="18">
@@ -64,15 +65,13 @@
                         </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="publish_time">
+                          <el-date-picker v-model="formData.publish_time" disabled type="datetime" placeholder="选择发布时间"></el-date-picker>
                         </el-form-item>
                       </el-col>
                     </el-row>
-                    <el-form-item label="消息反馈方式:" prop="feedbackWay" style="width: 468px !important">
-                      <el-select v-model="formData.feedbackWay" placeholder="请选择消息反馈方式">
-                        <el-option v-for="option in feedbackOptions" :key="option.value" :label="option.label" :value="option.value"></el-option>
-                      </el-select>
+                    <el-form-item label="消息反馈方式:" prop="response_type" style="width: 468px !important">
+                      <el-select v-model="displayFeedbackText" disabled placeholder="请选择消息反馈方式"> </el-select>
                     </el-form-item>
                   </div>
                   <h4 class="common-dialog-title">审核配置</h4>
@@ -84,8 +83,8 @@
                         </li>
                       </ul>
                     </el-form-item>
-                    <el-form-item label="审核人:" prop="auditor">
-                      <el-input v-model="formData.auditor" placeholder="请输入审核人姓名" style="width: 368px !important" />
+                    <el-form-item label="审核人:" prop="examine_by">
+                      <el-input v-model="formData.examine_by" disabled placeholder="请输入审核人姓名" style="width: 368px !important" />
                     </el-form-item>
                   </div>
                 </el-form>
@@ -157,33 +156,32 @@ import { reactive, ref } from 'vue';
 import { ElMessage } from 'element-plus';
 import SendDetail from './sendDetail.vue';
 import ShowReleaseDetail from './showReleaseDetail.vue';
+import { getInformationView } from '@/api/informationissue/informationissue';
 const processingTime = '1小时 6分22秒';
+const props = defineProps({
+  eventId: {
+    type: String,
+    required: true
+  }
+});
 const formData = ref({
   title: '',
-  publishUnit: '',
-  templateType: '',
-  messageContent: '',
-  releaseList: 0,
+  publish_group: '',
+  template_id: '',
+  content: '',
+  user_count: '',
   releaseTime: '',
-  feedbackWay: '',
-  auditor: '',
-  timing: '',
+  response_type: '',
+  examine_by: '',
+  publish_time: '',
   materials: '',
   processingTime: '',
-  approvalStatus: '',
-  approvalComment: ''
+  examines: []
 });
 
 const auditMaterials = ['2023年4月29日广东省发布突发事件预警信息.pdf', '审核材料2'];
 const rules = {
-  title: [{ required: true, message: '请填写标题', trigger: 'blur' }],
-  publishUnit: [{ required: true, message: '请填写发布单位', trigger: 'blur' }],
-  releaseList: [{ required: true, message: '请选择发布名单', trigger: 'change' }],
-  timing: [{ required: true, message: '请选择发布时间', trigger: 'change' }],
-  feedbackWay: [{ required: true, message: '请选择消息反馈方式', trigger: 'change' }],
-  auditor: [{ required: true, message: '请填写审核人', trigger: 'blur' }],
-  approvalStatus: [{ required: true, message: '请选择审批状态', trigger: 'change' }],
-  approvalComment: [{ required: true, message: '请输入具体意见', trigger: 'blur' }]
+  approvalStatus: [{ required: true, message: '请选择审批状态', trigger: 'change' }]
 };
 const files = ref([
   { name: '2023年4月29日广东省发布突发事件预警信息.pdf', url: '/path/to/file1.pdf' },
@@ -236,6 +234,19 @@ const approvalSteps = ref([
     comment: ''
   }
 ]);
+const feedbackTextMap = {
+  0: '仅需阅读',
+  1: '点击确认',
+  2: '签字确认'
+};
+const displayFeedbackText = computed({
+  get() {
+    return feedbackTextMap[formData.value.response_type];
+  },
+  set(value) {
+    formData.value.response_type = Object.keys(feedbackTextMap).find((key) => feedbackTextMap[key] === value);
+  }
+});
 let sendDetailState = reactive({
   show: false,
   eventId: ''
@@ -256,6 +267,20 @@ const viewFile = (file) => {
 const publishNow = () => {
   ElMessage.info('点击了立即发布');
 };
+const fetchInformation = async () => {
+  try {
+    const response = await getInformationView({ info_id: props.eventId });
+    if (response && response.data) {
+      formData.value = response.data;
+    }
+  } catch (error) {
+    console.error('Failed to fetch information:', error);
+  }
+};
+// 在组件挂载时调用 fetchInformation
+onMounted(() => {
+  fetchInformation();
+});
 </script>
 
 <style scoped>

+ 3 - 3
src/views/informationissue/informationDetail.vue

@@ -12,7 +12,7 @@
               <el-input v-model="formData.title" :disabled="!isEditable" placeholder="请输入标题" style="width: 468px !important" />
             </el-form-item>
             <el-form-item label="发布单位:" prop="publish_group">
-              <el-input v-model="formData.publish_group" :disabled="!isEditable" placeholder="请输入发布单位" style="width: 468px !important" />
+              <el-input v-model="formData.publish_group" disabled placeholder="请输入发布单位" style="width: 468px !important" />
             </el-form-item>
             <el-form-item label="信息模板:" prop="template_id">
               <el-radio-group v-model="formData.template_id" :disabled="!isEditable">
@@ -33,7 +33,7 @@
               <el-input
                 v-model="formData.content"
                 type="textarea"
-                :disabled="!isEditable"
+                disabled
                 placeholder="请输入信息内容"
                 style="width: 468px !important"
               ></el-input>
@@ -85,7 +85,7 @@
               </ul>
             </el-form-item>
             <el-form-item label="审核人:" prop="examine_by">
-              <el-input v-model="formData.examine_by" :disabled="!isEditable" placeholder="请输入审核人姓名" style="width: 368px !important" />
+              <el-input v-model="formData.examine_by" disabled placeholder="请输入审核人姓名" style="width: 368px !important" />
             </el-form-item>
           </div>
         </el-form>

+ 0 - 1
src/views/informationissue/informationView.vue

@@ -98,7 +98,6 @@
                     </el-row>
                     <el-form-item label="消息反馈方式:" prop="response_type" style="width: 468px !important">
                       <el-select v-model="displayFeedbackText" disabled placeholder="请选择消息反馈方式">
-                        <el-option v-for="option in feedbackOptions" :key="option.value" :label="option.label" :value="option.value"></el-option>
                       </el-select>
                     </el-form-item>
                   </div>