123
This commit is contained in:
		
							parent
							
								
									a074e4dca7
								
							
						
					
					
						commit
						7c479bb32e
					
				| @ -324,22 +324,22 @@ export const getAdditionIndexManageExamine= function(date: any) { | |||||||
| 
 | 
 | ||||||
| // 获取通知公告列表
 | // 获取通知公告列表
 | ||||||
| export function noticeList(data: any) { | export function noticeList(data: any) { | ||||||
|   return Http.post('/api/backend/publicAnnouncement/getPublicAnnouncementData', data) |   return Http.post('/api/backend/public_announcement/getPublicAnnouncementData', data) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // 新增通知公告
 | // 新增通知公告
 | ||||||
| export function noticeAdd(data: any) { | export function noticeAdd(data: any) { | ||||||
|     return Http.post('/api/backend/publicAnnouncement/create', data) |     return Http.post('/api/backend/public_announcement/create', data) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // 编辑通知公告
 | // 编辑通知公告
 | ||||||
| export function noticeEdit(data: any) { | export function noticeEdit(data: any) { | ||||||
|     return Http.post('/api/backend/publicAnnouncement/update', data) |     return Http.post('/api/backend/public_announcement/update', data) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // 删除通知公告
 | // 删除通知公告
 | ||||||
| export function noticeDelete(data: any) { | export function noticeDelete(data: any) { | ||||||
|     return Http.post('/api/backend/publicAnnouncement/delete', data) |     return Http.post('/api/backend/public_announcement/delete', data) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // 上传图片
 | // 上传图片
 | ||||||
| @ -365,6 +365,15 @@ export function getAnnualFindData(data: any) { | |||||||
|     return Http.post('/api/backend/Year/getAnnualFindData', data) |     return Http.post('/api/backend/Year/getAnnualFindData', data) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | // 投诉列表
 | ||||||
|  | export function getPoliticsList(data: any) { | ||||||
|  |     return Http.post('/api/backend/Politics/index', data) | ||||||
|  | } | ||||||
|  | // 投诉列表(编辑)
 | ||||||
|  | export function getPoliticsEdit(data: any) { | ||||||
|  |     return Http.post('/api/backend/Politics/update', data) | ||||||
|  | } | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -3,19 +3,12 @@ | |||||||
|     <lay-row :space="10"> |     <lay-row :space="10"> | ||||||
|       <!-- 搜索区域 --> |       <!-- 搜索区域 --> | ||||||
|       <lay-col :md="24"> |       <lay-col :md="24"> | ||||||
|         <lay-card> |         <!-- <lay-card> | ||||||
|           <lay-form style="margin-top: 20px"> |           <lay-form style="margin-top: 20px"> | ||||||
|             <lay-row> |             <lay-row> | ||||||
|               <lay-col :md="5"> |               <lay-col :md="5"> | ||||||
|                 <lay-form-item label="患者姓名:" label-width="80"> |                 <lay-form-item label="科室" label-width="80"> | ||||||
|                   <lay-input  v-model="searchQuery.patientName" placeholder="请输入患者姓名" |                   <lay-select v-model="searchQuery.group_id" placeholder="请选择类型" :allow-clear="true"> | ||||||
|                     :allow-clear="true"> |  | ||||||
|                   </lay-input> |  | ||||||
|                 </lay-form-item> |  | ||||||
|               </lay-col> |  | ||||||
|               <lay-col :md="5"> |  | ||||||
|                 <lay-form-item label="投诉类型:" label-width="80"> |  | ||||||
|                   <lay-select v-model="searchQuery.complaintType" placeholder="请选择类型" :allow-clear="true"> |  | ||||||
|                     <lay-select-option value="服务态度" label="服务态度"></lay-select-option> |                     <lay-select-option value="服务态度" label="服务态度"></lay-select-option> | ||||||
|                     <lay-select-option value="医疗质量" label="医疗质量"></lay-select-option> |                     <lay-select-option value="医疗质量" label="医疗质量"></lay-select-option> | ||||||
|                     <lay-select-option value="收费问题" label="收费问题"></lay-select-option> |                     <lay-select-option value="收费问题" label="收费问题"></lay-select-option> | ||||||
| @ -23,15 +16,6 @@ | |||||||
|                   </lay-select> |                   </lay-select> | ||||||
|                 </lay-form-item> |                 </lay-form-item> | ||||||
|               </lay-col> |               </lay-col> | ||||||
|               <lay-col :md="5"> |  | ||||||
|                 <lay-form-item label="处理状态:" label-width="80"> |  | ||||||
|                   <lay-select v-model="searchQuery.status" placeholder="请选择状态" :allow-clear="true"> |  | ||||||
|                     <lay-select-option value="待处理" label="待处理"></lay-select-option> |  | ||||||
|                     <lay-select-option value="处理中" label="处理中"></lay-select-option> |  | ||||||
|                     <lay-select-option value="已处理" label="已处理"></lay-select-option> |  | ||||||
|                   </lay-select> |  | ||||||
|                 </lay-form-item> |  | ||||||
|               </lay-col> |  | ||||||
|               <lay-col :md="4"> |               <lay-col :md="4"> | ||||||
|                 <lay-form-item label-width="0"> |                 <lay-form-item label-width="0"> | ||||||
|                   <lay-button type="primary" @click="toSearch">查询</lay-button> |                   <lay-button type="primary" @click="toSearch">查询</lay-button> | ||||||
| @ -40,7 +24,7 @@ | |||||||
|               </lay-col> |               </lay-col> | ||||||
|             </lay-row> |             </lay-row> | ||||||
|           </lay-form> |           </lay-form> | ||||||
|         </lay-card> |         </lay-card> --> | ||||||
|       </lay-col> |       </lay-col> | ||||||
| 
 | 
 | ||||||
|       <!-- 列表区域 --> |       <!-- 列表区域 --> | ||||||
| @ -48,45 +32,137 @@ | |||||||
|         <lay-card> |         <lay-card> | ||||||
|           <div style="padding: 10px"> |           <div style="padding: 10px"> | ||||||
|             <span style="font-size: 18px;vertical-align: center;margin-right: 20px">投诉记录列表</span> |             <span style="font-size: 18px;vertical-align: center;margin-right: 20px">投诉记录列表</span> | ||||||
|             <lay-button type="primary" @click="changeVisible11('新增', null)" size="sm">新增投诉</lay-button> |  | ||||||
|           </div> |           </div> | ||||||
|           <lay-table :height="600" size="lg" :columns="columns" :data-source="dataSource" :page="page" @change="change"> |           <lay-table height="600px" :columns="columns" :data-source="dataSource" :page="page" @change="change"> | ||||||
|             <template #status="{ row }"> |             <template #status="{ row }"> | ||||||
|               <span v-if="row.status === '待处理'" style="color: #1E9FFF">待处理</span> |               <span v-if="row.acceptance_status == 1" style="color: #FFB800">待处理</span> | ||||||
|               <span v-if="row.status === '处理中'" style="color: #FFB800">处理中</span> |               <span v-if="row.acceptance_status == 2" style="color: #00CC66">已回复</span> | ||||||
|               <span v-if="row.status === '已处理'" style="color: #009688">已处理</span> |  | ||||||
|             </template> |             </template> | ||||||
|             <template v-slot:operator="{ row }"> |             <template v-slot:operator="{ row }"> | ||||||
|               <lay-space size="lg"> |               <lay-space size="lg"> | ||||||
|                 <span style="color: #00A394;cursor: pointer" @click="changeVisible11('编辑', row)">编辑</span> |                 <span v-if="row.acceptance_status == 1" style="color: #00A394;cursor: pointer" @click="addUpdate(row)">处理</span> | ||||||
|                 <lay-popconfirm content="确定要删除此投诉记录吗?" @confirm="confirm" @cancel="cancel"> |                 <span style="color: #00A394;cursor: pointer" @click="changeVisible11(row)">详情</span> | ||||||
|                   <span style="color: #00A394;cursor: pointer">删除</span> |  | ||||||
|                 </lay-popconfirm> |  | ||||||
|               </lay-space> |               </lay-space> | ||||||
|             </template> |             </template> | ||||||
|           </lay-table> |           </lay-table> | ||||||
|         </lay-card> |         </lay-card> | ||||||
|       </lay-col> |       </lay-col> | ||||||
|     </lay-row> |     </lay-row> | ||||||
| 
 |     <lay-layer v-model="addShow" title="投诉处理" :shade="true" :area="['800px', '80%']" :btn="addButton"> | ||||||
|  |       <lay-container fluid="true" style="padding: 20px"> | ||||||
|  |         <lay-form :model="addData" label-position="top"> | ||||||
|  |           <lay-form-item required label="投诉内容:" prop="politics_content"> | ||||||
|  |             <div>{{ info.politics_content }}</div> | ||||||
|  |             <div v-if="info.politics_images != '' && info.politics_images != null" style="margin-top: 10px"> | ||||||
|  |               <a :href="info.politics_images" target="_blank"><img :src="info.politics_images" style="width: 100px;"></a> | ||||||
|  |             </div> | ||||||
|  |           </lay-form-item> | ||||||
|  |           <lay-form-item required label="处理结果:" prop="acceptance_content"> | ||||||
|  |             <lay-textarea placeholder="请输入处理结果" v-model="addData.acceptance_content"></lay-textarea> | ||||||
|  |           </lay-form-item> | ||||||
|  |         </lay-form> | ||||||
|  |       </lay-container> | ||||||
|  |     </lay-layer> | ||||||
|  |     <!-- 添加详情弹窗 --> | ||||||
|  |     <lay-layer v-model="detailShow" title="投诉建议详情" :type="4" :shade="true" :area="['700px', '100%']"> | ||||||
|  |         <div class="detail-container"> | ||||||
|  |           <div class="detail-content"> | ||||||
|  |             <div class="detail-item"> | ||||||
|  |               <div class="detail-label">姓名:</div> | ||||||
|  |               <div class="detail-value">{{ detailInfo.user_name }}</div> | ||||||
|  |             </div> | ||||||
|  |             <div class="detail-item"> | ||||||
|  |               <div class="detail-label">科室:</div> | ||||||
|  |               <div class="detail-value">{{ detailInfo.user_group_name }}</div> | ||||||
|  |             </div> | ||||||
|  |             <div class="detail-item"> | ||||||
|  |               <div class="detail-label">投诉时间:</div> | ||||||
|  |               <div class="detail-value">{{ detailInfo.createtime }}</div> | ||||||
|  |             </div> | ||||||
|  |             <div class="detail-item"> | ||||||
|  |               <div class="detail-label">处理状态:</div> | ||||||
|  |               <div class="detail-value"> | ||||||
|  |                 <span v-if="detailInfo.acceptance_status == 1" class="status-pending">待处理</span> | ||||||
|  |                 <span v-if="detailInfo.acceptance_status == 2" class="status-replied">已回复</span> | ||||||
|  |               </div> | ||||||
|  |             </div> | ||||||
|  |             <div class="detail-item detail-item-full"> | ||||||
|  |               <div class="detail-label">投诉内容:</div> | ||||||
|  |               <div class="detail-value">{{ detailInfo.politics_content }}</div> | ||||||
|  |             </div> | ||||||
|  |             <div class="detail-item detail-item-full" v-if="detailInfo.politics_images && detailInfo.politics_images !== ''"> | ||||||
|  |               <div class="detail-label">投诉图片:</div> | ||||||
|  |               <div class="detail-value"> | ||||||
|  |                 <a :href="detailInfo.politics_images" target="_blank"> | ||||||
|  |                   <img :src="detailInfo.politics_images" class="complaint-image"> | ||||||
|  |                 </a> | ||||||
|  |               </div> | ||||||
|  |             </div> | ||||||
|  |             <div class="detail-item detail-item-full" v-if="detailInfo.acceptance_status == 2"> | ||||||
|  |               <div class="detail-label">处理结果:</div> | ||||||
|  |               <div class="detail-value">{{ detailInfo.acceptance_content }}</div> | ||||||
|  |             </div> | ||||||
|  |             <div class="detail-item" v-if="detailInfo.acceptance_status == 2"> | ||||||
|  |               <div class="detail-label">处理时间:</div> | ||||||
|  |               <div class="detail-value">{{ detailInfo.acceptance_time }}</div> | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |     </lay-layer> | ||||||
|   </lay-container> |   </lay-container> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script setup lang="ts"> | <script setup lang="ts"> | ||||||
| import { ref, reactive } from 'vue' | import { ref, reactive, onMounted } from 'vue' | ||||||
| import { layer } from '@layui/layui-vue' | import { | ||||||
|  |   getPoliticsList,getPoliticsEdit | ||||||
|  | } from "@/api/module/home"; | ||||||
|  | import { layer } from '@layui/layui-vue'; | ||||||
|  | 
 | ||||||
|  | const addData = reactive({ | ||||||
|  |   acceptance_content: '', | ||||||
|  |   id:0 | ||||||
|  | }) | ||||||
|  | 
 | ||||||
|  | // 添加详情弹窗相关变量和方法 | ||||||
|  | const detailShow = ref(false) | ||||||
|  | const detailInfo = ref({}) | ||||||
|  | const changeVisible11 = (row: any) => { | ||||||
|  |   detailInfo.value = row | ||||||
|  |   detailShow.value = true | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | onMounted(() => { | ||||||
|  |   getList(); | ||||||
|  | }) | ||||||
|  | 
 | ||||||
|  | const addShow = ref(false) | ||||||
|  | const info = ref({}); | ||||||
|  | const addUpdate = (row: any) => { | ||||||
|  |   info.value = row; | ||||||
|  |   addData.id = row.id; | ||||||
|  |   addShow.value = true | ||||||
|  | } | ||||||
|  | const dataSource = ref([]) | ||||||
|  | const getList = () => { | ||||||
|  |   getPoliticsList({ size: page.limit, page: page.current, ...searchQuery.value }).then((res) => { | ||||||
|  |     console.log(res) | ||||||
|  |     if (res.code == 1) { | ||||||
|  |       dataSource.value = res.data.list; | ||||||
|  |       page.total = res.data.total; | ||||||
|  |     } else { | ||||||
|  |       dataSource.value = []; | ||||||
|  |       layer.msg(res.msg, { icon: 2 }) | ||||||
|  |     } | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
| const searchQuery = ref({ | const searchQuery = ref({ | ||||||
|   patientName: '', |   group_id: '', | ||||||
|   complaintType: '', |  | ||||||
|   status: '', |  | ||||||
|   department: '' |  | ||||||
| }) | }) | ||||||
| function toReset() { | function toReset() { | ||||||
|   searchQuery.value = { |   searchQuery.value = { | ||||||
|     patientName: '', |     group_id: '', | ||||||
|     complaintType: '', |  | ||||||
|     status: '', |  | ||||||
|     department: '' |  | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -98,15 +174,14 @@ function toSearch() { | |||||||
| const loading = ref(false) | const loading = ref(false) | ||||||
| const page = reactive({ current: 1, limit: 10, total: 100 }) | const page = reactive({ current: 1, limit: 10, total: 100 }) | ||||||
| const columns = ref([ | const columns = ref([ | ||||||
|   { title: '编号', width: '90px', key: 'id' }, |   { title: '编号', width: '90px', key: 'id', align: 'center' }, | ||||||
|   { title: '患者姓名', width: '120px', key: 'patientName', align: 'center' }, |   { title: '姓名', width: '120px', key: 'user_name', align: 'center' }, | ||||||
|   { title: '投诉类型', width: '120px', key: 'complaintType', align: 'center' }, |   { title: '投诉内容', width: '300px', key: 'politics_content', align: 'center' }, | ||||||
|   { title: '投诉内容', width: '300px', key: 'content', align: 'center' }, |   { title: '科室', width: '120px', key: 'user_group_name', align: 'center' }, | ||||||
|   { title: '科室', width: '120px', key: 'department', align: 'center' }, |   { title: '投诉时间', width: '160px', key: 'createtime', align: 'center' }, | ||||||
|   { title: '相关医生', width: '120px', key: 'doctorName', align: 'center' }, |  | ||||||
|   { title: '投诉时间', width: '160px', key: 'complaintTime', align: 'center' }, |  | ||||||
|   { title: '处理状态', width: '120px', key: 'status', align: 'center', customSlot: 'status' }, |   { title: '处理状态', width: '120px', key: 'status', align: 'center', customSlot: 'status' }, | ||||||
|   { title: '处理结果', width: '300px', key: 'result', align: 'center' }, |   { title: '处理结果', width: '300px', key: 'acceptance_content', align: 'center' }, | ||||||
|  |   { title: '处理时间', width: '200px', key: 'acceptance_time', align: 'center' }, | ||||||
|   { |   { | ||||||
|     title: '操作', |     title: '操作', | ||||||
|     width: '150px', |     width: '150px', | ||||||
| @ -116,56 +191,39 @@ const columns = ref([ | |||||||
|     align: 'center' |     align: 'center' | ||||||
|   } |   } | ||||||
| ]) | ]) | ||||||
| const change = (page: any) => { | const change = (p: any) => { | ||||||
|   loading.value = true |   loading.value = true | ||||||
|   setTimeout(() => { |   page.current = p.current; | ||||||
|     dataSource.value = loadDataSource(page.current, page.limit) |   page.limit = p.limit; | ||||||
|     loading.value = false |   getList(); | ||||||
|   }, 1000) |  | ||||||
| } | } | ||||||
| const dataSource = ref([ | const addButton = ref([ | ||||||
|   { |   { | ||||||
|     id: '1', |     text: "确认", | ||||||
|     patientName: '张三', |     callback: async () => { | ||||||
|     complaintType: '服务态度', |       console.log(addData); | ||||||
|     content: '医生服务态度不好,说话很不耐烦', |       if (addData.acceptance_content == '') { | ||||||
|     department: '内科', |         layer.msg('处理结果不能为空!', { icon: 2 }) | ||||||
|     doctorName: '李医生', |         return; | ||||||
|     complaintTime: '2024-03-20 09:34:56', |       } | ||||||
|     status: '待处理', |       var res = await getPoliticsEdit(addData); | ||||||
|     result: '' |       console.log(res) | ||||||
|  |       if (res.code == 1) { | ||||||
|  |         layer.msg('处理成功!', { icon: 1 }) | ||||||
|  |         addShow.value = false; | ||||||
|  |         getList(); | ||||||
|  |       } else { | ||||||
|  |         layer.msg(res.msg, { icon: 2 }) | ||||||
|  |       } | ||||||
|  |     } | ||||||
|   }, |   }, | ||||||
|   { |     { | ||||||
|     id: '2', |     text: "取消", | ||||||
|     patientName: '李四', |     callback: () => { | ||||||
|     complaintType: '医疗质量', |       addShow.value = false; | ||||||
|     content: '开的药物对症状没有改善', |     } | ||||||
|     department: '外科', |  | ||||||
|     doctorName: '王医生', |  | ||||||
|     complaintTime: '2024-03-19 15:24:31', |  | ||||||
|     status: '已处理', |  | ||||||
|     result: '已与患者沟通,重新进行诊断并调整用药方案' |  | ||||||
|   } |   } | ||||||
| ]) | ]) | ||||||
| const loadDataSource = (page: number, pageSize: number) => { |  | ||||||
|   var response = [] |  | ||||||
|   var startIndex = (page - 1) * pageSize + 1 |  | ||||||
|   var endIndex = page * pageSize |  | ||||||
|   for (var i = startIndex; i <= endIndex; i++) { |  | ||||||
|     response.push({ |  | ||||||
|       id: `${i}`, |  | ||||||
|       patientName: `患者${i}`, |  | ||||||
|       complaintType: '服务态度', |  | ||||||
|       content: '医生服务态度不好,说话很不耐烦', |  | ||||||
|       department: '内科', |  | ||||||
|       doctorName: '李医生', |  | ||||||
|       complaintTime: '2024-03-20 09:34:56', |  | ||||||
|       status: '待处理', |  | ||||||
|       result: '' |  | ||||||
|     }) |  | ||||||
|   } |  | ||||||
|   return response |  | ||||||
| } |  | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
| <style> | <style> | ||||||
| @ -178,4 +236,70 @@ const loadDataSource = (page: number, pageSize: number) => { | |||||||
|   width: 98%; |   width: 98%; | ||||||
|   margin-right: 10px; |   margin-right: 10px; | ||||||
| } | } | ||||||
|  | .detail-header { | ||||||
|  |   padding: 15px 20px; | ||||||
|  |   border-bottom: 1px solid #ebeef5; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .detail-header h3 { | ||||||
|  |   margin: 0; | ||||||
|  |   color: #333; | ||||||
|  |   font-size: 18px; | ||||||
|  |   font-weight: 500; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .detail-content { | ||||||
|  |   padding: 20px; | ||||||
|  |   display: flex; | ||||||
|  |   flex-wrap: wrap; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .detail-item { | ||||||
|  |   width: 50%; | ||||||
|  |   margin-bottom: 20px; | ||||||
|  |   display: flex; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .detail-item-full { | ||||||
|  |   width: 100%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .detail-label { | ||||||
|  |   width: 100px; | ||||||
|  |   color: #606266; | ||||||
|  |   font-weight: 500; | ||||||
|  |   text-align: right; | ||||||
|  |   padding-right: 12px; | ||||||
|  |   line-height: 24px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .detail-value { | ||||||
|  |   flex: 1; | ||||||
|  |   color: #333; | ||||||
|  |   line-height: 24px; | ||||||
|  |   word-break: break-all; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .complaint-image { | ||||||
|  |   max-width: 300px; | ||||||
|  |   max-height: 300px; | ||||||
|  |   border-radius: 4px; | ||||||
|  |   cursor: pointer; | ||||||
|  |   transition: all 0.3s; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .complaint-image:hover { | ||||||
|  |   transform: scale(1.02); | ||||||
|  |   box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .status-pending { | ||||||
|  |   color: #1E9FFF; | ||||||
|  |   font-weight: 500; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .status-replied { | ||||||
|  |   color: #FFB800; | ||||||
|  |   font-weight: 500; | ||||||
|  | } | ||||||
| </style> | </style> | ||||||
| @ -4,7 +4,7 @@ | |||||||
|       <div style="padding: 10px"> |       <div style="padding: 10px"> | ||||||
|         <span style="font-size: 18px;vertical-align: center;margin-right: 20px">登录日志列表</span> |         <span style="font-size: 18px;vertical-align: center;margin-right: 20px">登录日志列表</span> | ||||||
|       </div> |       </div> | ||||||
|       <lay-table  height="600px"  @change="changePage" :page="page" size="lg" ref="tableRef" :columns="columns" :data-source="dataSource"> |       <lay-table  height="680px"  @change="changePage" :page="page" size="lg" ref="tableRef" :columns="columns" :data-source="dataSource"> | ||||||
|         <template v-slot:event_type="{ data }"> |         <template v-slot:event_type="{ data }"> | ||||||
|           <span :style="{ color: data.event_type === '登录' ? '#67C23A' : '#409EFF' }"> |           <span :style="{ color: data.event_type === '登录' ? '#67C23A' : '#409EFF' }"> | ||||||
|             {{ data.event_type }} |             {{ data.event_type }} | ||||||
| @ -92,45 +92,9 @@ const columns = [ | |||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| onMounted(() => { | onMounted(() => { | ||||||
|   getLoginLogs() |   getLogList() | ||||||
| }) | }) | ||||||
| 
 | 
 | ||||||
| // 获取登录日志数据 |  | ||||||
| const getLoginLogs = () => { |  | ||||||
|   // 这里替换为实际的API调用 |  | ||||||
|   // getLoginLogList().then((res) => { |  | ||||||
|   //   if (res.code === 1) { |  | ||||||
|   //     dataSource.value = res.data |  | ||||||
|   //   } else { |  | ||||||
|   //     layer.msg(res.msg, {icon: 2}) |  | ||||||
|   //   } |  | ||||||
|   // }) |  | ||||||
| 
 |  | ||||||
|   // 模拟数据 |  | ||||||
|   dataSource.value = [ |  | ||||||
|     { |  | ||||||
|       id: 1, |  | ||||||
|       user_id: 10, |  | ||||||
|       ip_code: '192.168.1.100', |  | ||||||
|       createtime: '2024-03-20 10:30:45', |  | ||||||
|       content: '用户登录成功', |  | ||||||
|       nickname: '张三', |  | ||||||
|       work_number: '111111', |  | ||||||
|       name: '大腿骨折2' |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       id: 2, |  | ||||||
|       department: '外科', |  | ||||||
|       record_time: '2024-03-20 09:15:22', |  | ||||||
|       login_name: 'user1', |  | ||||||
|       username: '张医生', |  | ||||||
|       ip_address: '192.168.1.101', |  | ||||||
|       event_type: '登出', |  | ||||||
|       event_content: '用户主动登出', |  | ||||||
|       device_info: 'Firefox 123.0 / MacOS' |  | ||||||
|     } |  | ||||||
|   ] |  | ||||||
| } |  | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
| <style scoped></style> | <style scoped></style> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user