forked from integrated_whb/integrated_whb_vue
				
			安全例会模块优化->参会人员页,详情页
							parent
							
								
									043e071b64
								
							
						
					
					
						commit
						a3b0cded3f
					
				|  | @ -12,3 +12,6 @@ export const addSafetyMeetingView = (params) => | ||||||
|   upload("/safetymeeting/add", params); // 添加安全通知
 |   upload("/safetymeeting/add", params); // 添加安全通知
 | ||||||
| export const getSafetyMeetingRecipient = (params) => | export const getSafetyMeetingRecipient = (params) => | ||||||
|   post("/safetymeeting/getAllRecipient", params); // 参会人员
 |   post("/safetymeeting/getAllRecipient", params); // 参会人员
 | ||||||
|  | 
 | ||||||
|  | export const editSafetyMeetingRecipient = (params) => | ||||||
|  |   post("/safetymeeting/edit", params); // 修改参会人员
 | ||||||
|  |  | ||||||
|  | @ -4,4 +4,5 @@ export const getSafetyStaffingList = (params) => | ||||||
| 
 | 
 | ||||||
| export const addStaffingView = (params) => upload("/staffing/add", params); // 添加 管理人员配备
 | export const addStaffingView = (params) => upload("/staffing/add", params); // 添加 管理人员配备
 | ||||||
| 
 | 
 | ||||||
| export const editStaffingView = (params) => upload("/staffing/edit", params); // 添加 管理人员配备
 | export const editStaffingView = (params) => upload("/staffing/edit", params); // 修改 管理人员配备
 | ||||||
|  | export const infoStaffingView = (params) => upload("/staffing/goEdit", params); // 详情 管理人员配备
 | ||||||
|  |  | ||||||
|  | @ -68,6 +68,7 @@ import { onMounted, reactive, ref } from "vue"; | ||||||
| import useFormValidate from "@/assets/js/useFormValidate.js"; | import useFormValidate from "@/assets/js/useFormValidate.js"; | ||||||
| import { ElMessage } from "element-plus"; | import { ElMessage } from "element-plus"; | ||||||
| import { addSafetyCustomerView } from "@/request/customer_management.js"; | import { addSafetyCustomerView } from "@/request/customer_management.js"; | ||||||
|  | import { useRouter } from "vue-router"; | ||||||
| 
 | 
 | ||||||
| const formRef = ref(null); | const formRef = ref(null); | ||||||
| const rules = { | const rules = { | ||||||
|  | @ -93,7 +94,7 @@ const data = reactive({ | ||||||
|     unitsList: [], |     unitsList: [], | ||||||
|   }, |   }, | ||||||
| }); | }); | ||||||
| 
 | const router = useRouter(); | ||||||
| onMounted(async () => { | onMounted(async () => { | ||||||
|   await fnPerson(); |   await fnPerson(); | ||||||
| }); | }); | ||||||
|  | @ -111,6 +112,7 @@ const fnSubmit = async () => { | ||||||
| 
 | 
 | ||||||
|   await addSafetyCustomerView(formData); |   await addSafetyCustomerView(formData); | ||||||
|   ElMessage.success("添加成功"); |   ElMessage.success("添加成功"); | ||||||
|  |   router.push("/electronic_waybill_management/customer_management"); | ||||||
|   Object.keys(data.form).forEach((key) => { |   Object.keys(data.form).forEach((key) => { | ||||||
|     if (Array.isArray(data.form[key])) { |     if (Array.isArray(data.form[key])) { | ||||||
|       data.form[key] = []; |       data.form[key] = []; | ||||||
|  |  | ||||||
|  | @ -105,6 +105,7 @@ import useFormValidate from "@/assets/js/useFormValidate.js"; | ||||||
| import { ElMessage } from "element-plus"; | import { ElMessage } from "element-plus"; | ||||||
| import { addSafetyLocationView } from "@/request/location_management.js"; | import { addSafetyLocationView } from "@/request/location_management.js"; | ||||||
| import MapDialog from "@/views/enterprise_management/information/components/map.vue"; | import MapDialog from "@/views/enterprise_management/information/components/map.vue"; | ||||||
|  | import { useRouter } from "vue-router"; | ||||||
| 
 | 
 | ||||||
| const formRef = ref(null); | const formRef = ref(null); | ||||||
| const rules = { | const rules = { | ||||||
|  | @ -141,7 +142,7 @@ const data = reactive({ | ||||||
|     territoryCascaderRef: "", |     territoryCascaderRef: "", | ||||||
|   }, |   }, | ||||||
| }); | }); | ||||||
| 
 | const router = useRouter(); | ||||||
| onMounted(async () => { | onMounted(async () => { | ||||||
|   await fnPerson(); |   await fnPerson(); | ||||||
| }); | }); | ||||||
|  | @ -153,6 +154,7 @@ const fnSubmit = async () => { | ||||||
|   await useFormValidate(formRef); |   await useFormValidate(formRef); | ||||||
|   await addSafetyLocationView(data.form); |   await addSafetyLocationView(data.form); | ||||||
|   ElMessage.success("添加成功"); |   ElMessage.success("添加成功"); | ||||||
|  |   router.push("/electronic_waybill_management/location_managemen"); | ||||||
|   Object.keys(data.form).forEach((key) => { |   Object.keys(data.form).forEach((key) => { | ||||||
|     if (Array.isArray(data.form[key])) { |     if (Array.isArray(data.form[key])) { | ||||||
|       data.form[key] = []; |       data.form[key] = []; | ||||||
|  |  | ||||||
|  | @ -267,6 +267,7 @@ import { getPostListAll, getUserListAll } from "@/request/data_dictionary.js"; | ||||||
| import { getSecurityCustomerList } from "@/request/customer_management.js"; | import { getSecurityCustomerList } from "@/request/customer_management.js"; | ||||||
| import { getSecurityLocationList } from "@/request/location_management.js"; | import { getSecurityLocationList } from "@/request/location_management.js"; | ||||||
| import { getOperationVehicleList } from "@/request/operation_vehicle.js"; | import { getOperationVehicleList } from "@/request/operation_vehicle.js"; | ||||||
|  | import { useRouter } from "vue-router"; | ||||||
| 
 | 
 | ||||||
| const formRef = ref(null); | const formRef = ref(null); | ||||||
| const rules = { | const rules = { | ||||||
|  | @ -334,6 +335,7 @@ const data = reactive({ | ||||||
|   EndOptions: [], // 目的地 |   EndOptions: [], // 目的地 | ||||||
|   OperationVehicle: [], // 运输车辆 |   OperationVehicle: [], // 运输车辆 | ||||||
| }); | }); | ||||||
|  | const router = useRouter(); | ||||||
| const fnVehicle = async () => { | const fnVehicle = async () => { | ||||||
|   const res = await getOperationVehicleList(); |   const res = await getOperationVehicleList(); | ||||||
|   const varList = res.varList || []; |   const varList = res.varList || []; | ||||||
|  | @ -392,6 +394,7 @@ const fnSubmit = async () => { | ||||||
| 
 | 
 | ||||||
|   await addSafetyThingsChecView(formData); |   await addSafetyThingsChecView(formData); | ||||||
|   ElMessage.success("添加成功"); |   ElMessage.success("添加成功"); | ||||||
|  |   router.push("/electronic_waybill_management/waybill_registration"); | ||||||
|   Object.keys(data.form).forEach((key) => { |   Object.keys(data.form).forEach((key) => { | ||||||
|     if (Array.isArray(data.form[key])) { |     if (Array.isArray(data.form[key])) { | ||||||
|       data.form[key] = []; |       data.form[key] = []; | ||||||
|  |  | ||||||
|  | @ -61,7 +61,7 @@ | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script setup> | <script setup> | ||||||
| import { onMounted, ref } from "vue"; | import { onMounted, ref, toRaw } from "vue"; | ||||||
| import { useVModels } from "@vueuse/core"; | import { useVModels } from "@vueuse/core"; | ||||||
| import { ElMessage } from "element-plus"; | import { ElMessage } from "element-plus"; | ||||||
| import LayoutUpload from "@/components/upload/index.vue"; | import LayoutUpload from "@/components/upload/index.vue"; | ||||||
|  | @ -120,34 +120,42 @@ const fnClose = () => { | ||||||
|   formRef.value.resetFields(); |   formRef.value.resetFields(); | ||||||
|   visible.value = false; |   visible.value = false; | ||||||
| }; | }; | ||||||
| const fnSubmit = async () => { |  | ||||||
|   const params = { |  | ||||||
|     ...form.value, |  | ||||||
|   }; |  | ||||||
| 
 | 
 | ||||||
|  | const fnSubmit = async () => { | ||||||
|   await formRef.value.validate(); |   await formRef.value.validate(); | ||||||
|  | 
 | ||||||
|  |   const rawFormValue = toRaw(form.value); | ||||||
|  | 
 | ||||||
|   const formData = new FormData(); |   const formData = new FormData(); | ||||||
|   if (Array.isArray(form.file)) { | 
 | ||||||
|     form.file.forEach((fileItem) => { |   // 处理文件上传 | ||||||
|  |   if (Array.isArray(rawFormValue.file)) { | ||||||
|  |     rawFormValue.file.forEach((fileItem) => { | ||||||
|       if (fileItem.raw) { |       if (fileItem.raw) { | ||||||
|         formData.append("FFILE", fileItem.raw); |         formData.append("FFILE", fileItem.raw); | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|   Object.keys(form).forEach((key) => { |   Object.keys(rawFormValue).forEach((key) => { | ||||||
|     if (key !== "file" && form[key] !== null && form[key] !== undefined) { |     if (key !== "file") { | ||||||
|       formData.append(key, form[key]); |       formData.append(key, rawFormValue[key]); | ||||||
|     } |     } | ||||||
|   }); |   }); | ||||||
| 
 |   // 执行添加或编辑操作 | ||||||
|   if (props.type === "add") { |   if (props.type === "add") { | ||||||
|     await addStaffingView(formData); |     await addStaffingView(formData); | ||||||
|   } else { |   } else { | ||||||
|     formData.append("STAFFING_ID", params.STAFFING_ID); |     formData.append("STAFFING_ID", rawFormValue.STAFFING_ID); | ||||||
|     await editStaffingView(formData); |     await editStaffingView(formData); | ||||||
|   } |   } | ||||||
|  | 
 | ||||||
|  |   // 操作成功提示 | ||||||
|   ElMessage.success("操作成功"); |   ElMessage.success("操作成功"); | ||||||
|  | 
 | ||||||
|  |   // 关闭表单对话框 | ||||||
|   fnClose(); |   fnClose(); | ||||||
|  | 
 | ||||||
|  |   // 触发更新数据的事件 | ||||||
|   emits("get-data"); |   emits("get-data"); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,129 +1,27 @@ | ||||||
| <template> | <template> | ||||||
|   <div> |   <div> | ||||||
|     <el-card> |  | ||||||
|       <el-form |  | ||||||
|         :model="searchForm" |  | ||||||
|         label-width="100px" |  | ||||||
|         @submit.prevent="searchNotifications" |  | ||||||
|       > |  | ||||||
|         <el-row> |  | ||||||
|           <el-col :span="8"> |  | ||||||
|             <el-form-item label="从业人员" prop="PRACTITIONER"> |  | ||||||
|               <el-input v-model="searchForm.PRACTITIONER" /> |  | ||||||
|             </el-form-item> |  | ||||||
|           </el-col> |  | ||||||
|           <el-col :span="8"> |  | ||||||
|             <el-form-item label="从业类型" prop="PRACTITIONER_TYPE"> |  | ||||||
|               <el-select v-model="searchForm.PRACTITIONER_TYPE"> |  | ||||||
|                 <el-option |  | ||||||
|                   v-for="item in relatedClassificationList" |  | ||||||
|                   :key="item.BIANMA" |  | ||||||
|                   :label="item.name" |  | ||||||
|                   :value="item.BIANMA" |  | ||||||
|                 /> |  | ||||||
|               </el-select> |  | ||||||
|             </el-form-item> |  | ||||||
|           </el-col> |  | ||||||
|           <el-col :span="8"> |  | ||||||
|             <el-form-item label="参会状态" prop="ATTENDANCE_STATUS"> |  | ||||||
|               <el-select v-model="searchForm.ATTENDANCE_STATUS"> |  | ||||||
|                 <el-option label="已参会" :value="1" /> |  | ||||||
|                 <!-- 1代表已签收 --> |  | ||||||
|                 <el-option label="未参会" :value="0" /> |  | ||||||
|                 <!-- 0代表未签收 --> |  | ||||||
|               </el-select> |  | ||||||
|             </el-form-item> |  | ||||||
|           </el-col> |  | ||||||
|           <el-col :span="8"> |  | ||||||
|             <el-form-item> |  | ||||||
|               <el-button type="primary" native-type="submit">搜索</el-button> |  | ||||||
|               <el-button native-type="reset" @click="resetSearchForm" |  | ||||||
|                 >重置</el-button |  | ||||||
|               > |  | ||||||
|             </el-form-item> |  | ||||||
|           </el-col> |  | ||||||
|         </el-row> |  | ||||||
|       </el-form> |  | ||||||
|     </el-card> |  | ||||||
|     <layout-card> |     <layout-card> | ||||||
|       <layout-table |       <!-- 内容,可能是一个加载中的提示或其他内容 --> | ||||||
|         v-model:pagination="pagination" |       <div v-if="loading">加载中...</div> | ||||||
|         :data="list" |       <div v-else>文件已尝试打开,请检查您的下载文件夹或弹出窗口设置。</div> | ||||||
|         stripe |  | ||||||
|         border |  | ||||||
|         show-header |  | ||||||
|         @get-data="fnGetData" |  | ||||||
|       > |  | ||||||
|         <el-table-column label="序号" width="60"> |  | ||||||
|           <template #default="{ $index }"> |  | ||||||
|             {{ serialNumber(pagination, $index) }} |  | ||||||
|           </template> |  | ||||||
|         </el-table-column> |  | ||||||
|         <el-table-column label="从业人员" prop="PRACTITIONER" /> |  | ||||||
|         <el-table-column label="从业类型" prop="PRACTITIONER_TYPE" /> |  | ||||||
|         <el-table-column label="身份证号" prop="IDENTITY_NUMBER" /> |  | ||||||
|         <el-table-column label="联系电话" prop="CONTACT_PHONE" /> |  | ||||||
|         <el-table-column label="参会状态" prop="ATTENDANCE_STATUS"> |  | ||||||
|           <template #default="{ row }"> |  | ||||||
|             <el-tag v-if="row.ATTENDANCE_STATUS === '1'">{{ "已参会" }}</el-tag> |  | ||||||
|             <el-tag v-else>未参会</el-tag> |  | ||||||
|           </template> |  | ||||||
|         </el-table-column> |  | ||||||
|       </layout-table> |  | ||||||
|     </layout-card> |     </layout-card> | ||||||
|   </div> |   </div> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script setup> | <script setup> | ||||||
| import { reactive, onMounted, ref } from "vue"; | import { ref, onMounted } from "vue"; | ||||||
| import { useRoute } from "vue-router"; | import { useRoute } from "vue-router"; | ||||||
| import { layoutFnGetSIGNEDSTATUSClassification } from "@/request/safety_production_related.js"; | import { infoStaffingView } from "@/request/traffic_safety_staffing.js"; | ||||||
| import { getSafetyMeetingRecipient } from "@/request/traffic_safety_meeting.js"; |  | ||||||
| import { serialNumber } from "@/assets/js/utils"; |  | ||||||
| import useListData from "@/assets/js/useListData"; |  | ||||||
| 
 | 
 | ||||||
| const route = useRoute(); | const route = useRoute(); | ||||||
| const SAFETY_MEETING_ID = route.query.SAFETY_MEETING_ID; | const STAFFING_ID = route.query.STAFFING_ID; | ||||||
| 
 | const loading = ref(true); // 用于指示文件是否正在加载 | ||||||
| const searchForm = reactive({ |  | ||||||
|   PERSON: "", |  | ||||||
|   PRACTITIONERTYPE: "", |  | ||||||
|   SIGNEDSTATUS: null, |  | ||||||
|   REPLYSTATUS: null, |  | ||||||
| }); |  | ||||||
| 
 |  | ||||||
| const { list, pagination, fnGetData, fnResetPagination } = useListData( |  | ||||||
|   getSafetyMeetingRecipient, |  | ||||||
|   { |  | ||||||
|     searchForm, |  | ||||||
|     otherParams: { SAFETY_MEETING_ID }, |  | ||||||
|     usePagination: true, |  | ||||||
|   } |  | ||||||
| ); |  | ||||||
| 
 |  | ||||||
| async function searchNotifications() { |  | ||||||
|   const params = Object.keys(searchForm).reduce((acc, key) => { |  | ||||||
|     acc[key] = searchForm[key]; |  | ||||||
|     return acc; |  | ||||||
|   }, {}); |  | ||||||
| 
 |  | ||||||
|   params.SAFETY_MEETING_ID = SAFETY_MEETING_ID; |  | ||||||
|   await fnGetData(params); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // 重置表单时,也确保重置为初始值 |  | ||||||
| function resetSearchForm() { |  | ||||||
|   Object.keys(searchForm).forEach((key) => { |  | ||||||
|     searchForm[key] = ""; |  | ||||||
|   }); |  | ||||||
|   fnResetPagination({ SAFETY_MEETING_ID }); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| const relatedClassificationList = ref(null); |  | ||||||
| 
 | 
 | ||||||
| onMounted(async () => { | onMounted(async () => { | ||||||
|   const data = await layoutFnGetSIGNEDSTATUSClassification(); |   const response = await infoStaffingView({ STAFFING_ID }); | ||||||
|   relatedClassificationList.value = JSON.parse(data.value.zTreeNodes); |   loading.value = false; // 加载完成 | ||||||
|  |   console.log(response.pd.ATTACHMENT_ROUTE, "111111111111111111111111111"); | ||||||
|  |   window.open(response.pd.ATTACHMENT_ROUTE, "_blank"); | ||||||
| }); | }); | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -8,21 +8,21 @@ | ||||||
|       > |       > | ||||||
|         <el-row> |         <el-row> | ||||||
|           <el-col :span="6"> |           <el-col :span="6"> | ||||||
|             <el-form-item label="制度名称" prop="MEETING_TITLE"> |             <el-form-item label="制度名称" prop="SYSTEMNAME"> | ||||||
|               <el-input v-model="searchForm.MEETING_TITLE" /> |               <el-input v-model="searchForm.SYSTEMNAME" /> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
|           </el-col> |           </el-col> | ||||||
|           <el-col :span="6"> |           <el-col :span="6"> | ||||||
|             <el-form-item label="完成状态" prop="MEETING_TYPE"> |             <el-form-item label="完成状态" prop="COMPLETIONSTATUS"> | ||||||
|               <el-select v-model="searchForm.MEETING_TYPE"> |               <el-select v-model="searchForm.COMPLETIONSTATUS"> | ||||||
|                 <el-option label="已上传" :value="1" /> |                 <el-option label="已上传" :value="1" /> | ||||||
|                 <el-option label="未上传" :value="0" /> |                 <el-option label="未上传" :value="0" /> | ||||||
|               </el-select> |               </el-select> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
|           </el-col> |           </el-col> | ||||||
|           <el-col :span="6"> |           <el-col :span="6"> | ||||||
|             <el-form-item label="有效状态" prop="MEETING_TYPE"> |             <el-form-item label="有效状态" prop="VALIDSTATUS"> | ||||||
|               <el-select v-model="searchForm.MEETING_TYPE"> |               <el-select v-model="searchForm.VALIDSTATUS"> | ||||||
|                 <el-option label="正常" :value="1" /> |                 <el-option label="正常" :value="1" /> | ||||||
|                 <el-option label="未生效" :value="0" /> |                 <el-option label="未生效" :value="0" /> | ||||||
|               </el-select> |               </el-select> | ||||||
|  | @ -78,9 +78,9 @@ | ||||||
|               link |               link | ||||||
|               @click=" |               @click=" | ||||||
|                 router.push({ |                 router.push({ | ||||||
|                   path: '/safety_production_related/safety_meeting/meeting_info', |                   path: '/management_staffing/details', | ||||||
|                   query: { |                   query: { | ||||||
|                     SAFETY_MEETING_ID: row.SAFETY_MEETING_ID, |                     STAFFING_ID: row.STAFFING_ID, | ||||||
|                   }, |                   }, | ||||||
|                 }) |                 }) | ||||||
|               " |               " | ||||||
|  |  | ||||||
|  | @ -188,7 +188,6 @@ const fnSubmit = async () => { | ||||||
|   await useFormValidate(formRef); |   await useFormValidate(formRef); | ||||||
|   const formData = new FormData(); |   const formData = new FormData(); | ||||||
| 
 | 
 | ||||||
|   // 添加文本类型的字段 |  | ||||||
|   Object.keys(data.form).forEach((key) => { |   Object.keys(data.form).forEach((key) => { | ||||||
|     if (key === "MEETING_DATE") { |     if (key === "MEETING_DATE") { | ||||||
|       const dateRangeString = data.form.MEETING_DATE.join(" , "); |       const dateRangeString = data.form.MEETING_DATE.join(" , "); | ||||||
|  | @ -198,12 +197,10 @@ const fnSubmit = async () => { | ||||||
|     } |     } | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   // 处理 fileList - 添加文件 |  | ||||||
|   data.form.fileList.forEach((file) => { |   data.form.fileList.forEach((file) => { | ||||||
|     if (file.raw) formData.append("FFILE", file.raw); |     if (file.raw) formData.append("FFILE", file.raw); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   // 处理 videoList - 添加视频文件 |  | ||||||
|   data.form.videoList.forEach((video) => { |   data.form.videoList.forEach((video) => { | ||||||
|     if (video.raw) formData.append("VVIDEO", video.raw); // 注意: 用不同的字段名区分文件和视频 |     if (video.raw) formData.append("VVIDEO", video.raw); // 注意: 用不同的字段名区分文件和视频 | ||||||
|   }); |   }); | ||||||
|  |  | ||||||
|  | @ -59,16 +59,28 @@ | ||||||
|             {{ serialNumber(pagination, $index) }} |             {{ serialNumber(pagination, $index) }} | ||||||
|           </template> |           </template> | ||||||
|         </el-table-column> |         </el-table-column> | ||||||
|         <el-table-column label="从业人员" prop="userName" /> |         <el-table-column label="从业人员" prop="NAME" /> | ||||||
|         <el-table-column label="从业类型" prop="PRACTITIONER_TYPE" /> |         <el-table-column label="从业类型" prop="PRACTITIONER_TYPE" /> | ||||||
|         <el-table-column label="身份证号" prop="IDENTITY_NUMBER" /> |         <el-table-column label="联系电话" prop="USERNAME" /> | ||||||
|         <el-table-column label="联系电话" prop="CONTACT_PHONE" /> |  | ||||||
|         <el-table-column label="参会状态" prop="ATTENDANCE_STATUS"> |         <el-table-column label="参会状态" prop="ATTENDANCE_STATUS"> | ||||||
|           <template #default="{ row }"> |           <template #default="{ row }"> | ||||||
|             <el-tag v-if="row.ATTENDANCE_STATUS === '1'">{{ "已参会" }}</el-tag> |             <el-tag v-if="row.ATTENDANCE_STATUS === '1'">{{ "已参会" }}</el-tag> | ||||||
|             <el-tag v-else>未参会</el-tag> |             <el-tag v-else>未参会</el-tag> | ||||||
|           </template> |           </template> | ||||||
|         </el-table-column> |         </el-table-column> | ||||||
|  |         <el-table-column label="操作" width="180"> | ||||||
|  |           <template #default="{ row }"> | ||||||
|  |             <el-button | ||||||
|  |               v-if="row.ATTENDANCE_STATUS === '1'" | ||||||
|  |               type="danger" | ||||||
|  |               text | ||||||
|  |               link | ||||||
|  |               @click="editItem(row.SAFETY_MEETING_ID, row.PRACTITIONER, 0)" | ||||||
|  |             > | ||||||
|  |               移除 | ||||||
|  |             </el-button> | ||||||
|  |           </template> | ||||||
|  |         </el-table-column> | ||||||
|       </layout-table> |       </layout-table> | ||||||
|     </layout-card> |     </layout-card> | ||||||
|   </div> |   </div> | ||||||
|  | @ -78,9 +90,13 @@ | ||||||
| import { reactive, onMounted, ref } from "vue"; | import { reactive, onMounted, ref } from "vue"; | ||||||
| import { useRoute } from "vue-router"; | import { useRoute } from "vue-router"; | ||||||
| import { layoutFnGetSIGNEDSTATUSClassification } from "@/request/safety_production_related.js"; | import { layoutFnGetSIGNEDSTATUSClassification } from "@/request/safety_production_related.js"; | ||||||
| import { getSafetyMeetingRecipient } from "@/request/traffic_safety_meeting.js"; | import { | ||||||
|  |   editSafetyMeetingRecipient, | ||||||
|  |   getSafetyMeetingRecipient, | ||||||
|  | } from "@/request/traffic_safety_meeting.js"; | ||||||
| import { serialNumber } from "@/assets/js/utils"; | import { serialNumber } from "@/assets/js/utils"; | ||||||
| import useListData from "@/assets/js/useListData"; | import useListData from "@/assets/js/useListData"; | ||||||
|  | import { ElMessage, ElMessageBox } from "element-plus"; | ||||||
| 
 | 
 | ||||||
| const route = useRoute(); | const route = useRoute(); | ||||||
| const SAFETY_MEETING_ID = route.query.SAFETY_MEETING_ID; | const SAFETY_MEETING_ID = route.query.SAFETY_MEETING_ID; | ||||||
|  | @ -118,6 +134,22 @@ function resetSearchForm() { | ||||||
|   }); |   }); | ||||||
|   fnResetPagination({ SAFETY_MEETING_ID }); |   fnResetPagination({ SAFETY_MEETING_ID }); | ||||||
| } | } | ||||||
|  | const editItem = async ( | ||||||
|  |   safetyMeetingId, | ||||||
|  |   practitioner, | ||||||
|  |   attendanceStatus = 0 | ||||||
|  | ) => { | ||||||
|  |   await ElMessageBox.confirm(`确定要移除吗?`, { | ||||||
|  |     type: "warning", | ||||||
|  |   }); | ||||||
|  |   await editSafetyMeetingRecipient({ | ||||||
|  |     SAFETY_MEETING_ID: safetyMeetingId, | ||||||
|  |     PRACTITIONER: practitioner, | ||||||
|  |     ATTENDANCE_STATUS: attendanceStatus, // 设置参会状态为0 | ||||||
|  |   }); | ||||||
|  |   ElMessage.success("移除成功"); | ||||||
|  |   fnGetData(); | ||||||
|  | }; | ||||||
| 
 | 
 | ||||||
| const relatedClassificationList = ref(null); | const relatedClassificationList = ref(null); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -29,7 +29,7 @@ | ||||||
|           </template> |           </template> | ||||||
|         </el-descriptions-item> |         </el-descriptions-item> | ||||||
|         <el-descriptions-item label="会议内容"> |         <el-descriptions-item label="会议内容"> | ||||||
|           {{ detailItems.MEETING_CONTENT }} |           <div v-html="detailItems.MEETING_CONTENT"></div> | ||||||
|         </el-descriptions-item> |         </el-descriptions-item> | ||||||
|         <!--        <el-descriptions-item label="备注">--> |         <!--        <el-descriptions-item label="备注">--> | ||||||
|         <!--        {{ detailItems.NOTES }}--> |         <!--        {{ detailItems.NOTES }}--> | ||||||
|  | @ -43,23 +43,41 @@ | ||||||
|       <el-table |       <el-table | ||||||
|         :border="true" |         :border="true" | ||||||
|         :data="detailItems.recipientsList" |         :data="detailItems.recipientsList" | ||||||
|         :show-header="false" |         :show-header="true" | ||||||
|       > |       > | ||||||
|         <el-table-column label="NAME1" align="center"> |         <el-table-column label="头像" align="center"> | ||||||
|           <template #default="{ row }"> |           <template #default="{ row }"> | ||||||
|             <img :src="row.AVATAR" alt="Avatar" /> |             <img :src="row.USERAVATARURL" alt="Avatar" /> | ||||||
|           </template> |           </template> | ||||||
|         </el-table-column> |         </el-table-column> | ||||||
|         <el-table-column label="NAME2" align="center"> |         <el-table-column label="姓名" align="center"> | ||||||
|           <template #default="{ row }"> |           <template #default="{ row }"> {{ row.NAME }}<br /> </template> | ||||||
|             {{ row.PRACTITIONER }}<br /> |  | ||||||
|             {{ row.CONTACT_PHONE }}<br /> |  | ||||||
|             {{ row.HOME_ADDRESS }} |  | ||||||
|           </template> |  | ||||||
|         </el-table-column> |         </el-table-column> | ||||||
|         <el-table-column label="NAME3" align="center"> |         <el-table-column label="手机号" align="center"> | ||||||
|  |           <template #default="{ row }"> {{ row.USERNAME }}<br /> </template> | ||||||
|  |         </el-table-column> | ||||||
|  |         <el-table-column label="参会证明" align="center"> | ||||||
|           <template #default="{ row }"> |           <template #default="{ row }"> | ||||||
|             <img :src="row.SIGNATUREPICTURE" alt="Signature" /> |             <img | ||||||
|  |               :src="row.SIGNATUREPICTURE" | ||||||
|  |               alt="Signature" | ||||||
|  |               style=" | ||||||
|  |                 max-width: 100px; | ||||||
|  |                 max-height: 100px; | ||||||
|  |                 display: block; | ||||||
|  |                 margin: auto; | ||||||
|  |               " | ||||||
|  |             /> | ||||||
|  |             <img | ||||||
|  |               :src="row.LIVEPHOTOS" | ||||||
|  |               alt="Live Photo" | ||||||
|  |               style=" | ||||||
|  |                 max-width: 100px; | ||||||
|  |                 max-height: 100px; | ||||||
|  |                 display: block; | ||||||
|  |                 margin: auto; | ||||||
|  |               " | ||||||
|  |             /> | ||||||
|           </template> |           </template> | ||||||
|         </el-table-column> |         </el-table-column> | ||||||
|       </el-table> |       </el-table> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue