From e2f129ee192ae3469848beeceac262b13ba8eacb Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: Wed, 14 Jun 2023 15:52:11 +0800
Subject: [PATCH] 新增页面和配置,对接口
---
src/views/Admin/callRecord.vue | 370 ++++++++++++++++++++++++++++++----------------------
1 files changed, 212 insertions(+), 158 deletions(-)
diff --git a/src/views/Admin/callRecord.vue b/src/views/Admin/callRecord.vue
index 206bdeb..7615f63 100644
--- a/src/views/Admin/callRecord.vue
+++ b/src/views/Admin/callRecord.vue
@@ -1,200 +1,254 @@
<template>
<div class="inner">
+ <a-row type="flex" justify="space-between" style="margin-bottom: 20px">
+ <a-col :span="8">
+ <a-radio-group v-model="search.searchParams.emergType" @change="getData">
+ <a-radio-button :value="null">
+ 全部
+ </a-radio-button>
+ <a-radio-button :value="1">
+ 紧临
+ </a-radio-button>
+ <a-radio-button :value="2">
+ 常规
+ </a-radio-button>
+ </a-radio-group>
+ </a-col>
+ <a-col :span="16">
+ <a-row type="flex" justify="end" :gutter="12">
+ <a-col :span="8">
+ <a-range-picker
+ v-model="timeRange"
+ format="YYYY-MM-DD"
+ :placeholder="['开始时间', '结束时间']"
+ @change="timeChange"
+ @ok="timeOk"
+ style="width: 100%"
+ />
+ </a-col>
+ <a-col :span="4">
+ <a-button type="primary" @click="getData">查询</a-button>
+ <a-button style="margin-left: 12px" @click="resetSearch">重置</a-button>
+ </a-col>
+ </a-row>
+ </a-col>
+ </a-row>
+
+ <!-- 表格实体部分-->
<div class="table-cont">
- <a-table :columns="columns" :data-source="tableData" :pagination="pagination" :rowKey="record=>record.id" bordered>
- <template #level="level">
- <a-tag
- :key="level"
- :color="level === 1 ? 'pink' : level === 2 ? 'blue' : 'green'"
- >
- {{ level==1?'省级':level==2?'地(市、州)级':level==3?'区县级':'村(乡、镇)级' }}
+ <a-table :columns="columns" :data-source="data" bordered :pagination="pagination">
+ <template #index="text,record,index">
+ {{ index + 1 }}
+ </template>
+ <template #warningLevel="text">
+ <a-tag :color="text === 3 ? 'yellow' :text === 2? 'orange':text === 1?'red':'blue'">
+ {{ getLevelName(text) }}
</a-tag>
</template>
- <template #actions="actions,row">
- <a-button type="link" @click="viewData()">查看</a-button>
+ <template #unittype="unittype">
+ <a-tag
+ :color="unittype === 1 ? 'purple' : unittype === 2 ? 'blue' : unittype === 3 ? 'cyan' : 'green'"
+ >
+ {{ unittype==1?'省级':unittype==2?'地(市、州)级':unittype==3?'区县级':unittype==4?'村(乡、镇)级':'管理员' }}
+ </a-tag>
+ </template >
+ <template #operation="text, record, index">
+<!-- <a-button type="primary">叫应列表</a-button>-->
+ <a-button type="link" @click="openMod('view',record)">查看详情</a-button>
</template>
</a-table>
+ <msg-edit-mod ref="msgEdit" @refresh="getData"></msg-edit-mod>
</div>
- <a-modal
- title="信息详情"
- :visible="visible"
- @ok="handleOk"
- @cancel="handleCancel"
- cancelText="取消" okText="确认"
- width="50%"
- >
- <a-row class="tit">
- <a-col :span="4" style="text-align: right;padding-right: 8px">标题</a-col>
- <a-col :span="14">信息详情标题</a-col>
- </a-row>
- <a-form-model :model="form" :label-col="labelCol" :wrapper-col="wrapperCol" :colon="false">
- <a-form-model-item label="类别">
- <a-input readonly v-model="form.type"/>
- </a-form-model-item>
- <a-form-model-item label="级别">
- <a-tag color="yellow">黄色</a-tag>
- </a-form-model-item>
- <a-form-model-item label="发布单位">
- <a-input readonly v-model="form.dep"/>
- </a-form-model-item>
- <a-form-model-item label="短信内容">
- <a-input readonly type="textarea" v-model="form.content"/>
- </a-form-model-item>
- <a-form-model-item label="附件内容">
- <a><b><a-icon type="paper-clip"/>附件</b></a>
- </a-form-model-item>
- </a-form-model>
- </a-modal>
</div>
</template>
-
<script>
-import {getUser} from '@/api/user'
-
+import {getHistoryRecord, getMsgRecord, getPublishRecord, getResponseRecord} from "@/api/list";
+import msgEditMod from "@/views/Admin/components/msgEditMod";
+import {getReviewDetailByWorker} from "@/api/review";
+const columns = [{
+ title: '序号',
+ dataIndex: 'index',
+ width: '8%',
+ scopedSlots: {
+ customRender: 'index'
+ }
+},
+ {
+ title: '叫应时间',
+ dataIndex: 'responseTime',
+ width: '15%',
+ scopedSlots: {
+ customRender: 'responseTime'
+ } //设置定制化表格数据
+ },
+ {
+ title: '预警级别',
+ dataIndex: 'warningLevel',
+ scopedSlots: {
+ customRender: 'warningLevel'
+ }, //设置定制化表格数据
+ width: '8%',
+ },
+ {
+ title: '发布单位',
+ dataIndex: 'publishingUnit',
+ width: '20%',
+ },
+ {
+ title: '接收人单位',
+ dataIndex: 'receiveUnit',
+ width: '20%',
+ scopedSlots: {
+ customRender: 'receiveUnit'
+ }
+ },
+ {
+ title: '接收人',
+ dataIndex: 'recipienterName',
+ width: '20%',
+ scopedSlots: {
+ customRender: 'recipienterName'
+ }
+ },
+ {
+ title: '级别',
+ dataIndex: 'unittype',
+ width: '12%',
+ scopedSlots: {
+ customRender: 'unittype'
+ },
+ },
+ {
+ title: '操作',
+ dataIndex: 'operation',
+ scopedSlots: {
+ customRender: 'operation'
+ },
+ },
+];
export default {
- name: 'callRecord',
- components: {},
- data () {
+ name: 'release',
+ components: { msgEditMod },
+ data() {
return {
- visible: false,
- form: {},
- labelCol: { span: 4 },
- wrapperCol: { span: 14 },
- columns:[
- {
- title: '叫应时间',
- dataIndex: 'callTime',
- key: 'callTime'
- },
- {
- title: '预警信息',
- dataIndex: 'warnings',
- key: 'warnings'
- },
- {
- title: '接收人单位',
- dataIndex: 'depName',
- key: 'depName'
- },
- {
- title: '接收人',
- dataIndex: 'name',
- key: 'name'
- },
- {
- title: '级别',
- dataIndex: 'level',
- key: 'level',
- scopedSlots: { customRender: 'level' }
- },
- {
- title: '操作',
- dataIndex: 'actions',
- key: 'actions',
- scopedSlots: { customRender: 'actions' }
+ search:{
+ pageIndex: 1,
+ pageSize: 10,
+ searchParams:{
+ emergType: null,
+ startTime: '',
+ endTime: ''
}
- ],
- tableData: [
- {
- id: 1,
- callTime: '2023-06-02',
- warnings: '666666',
- name: '黄公子',
- level: 1
- },
- {
- id: 2,
- callTime: '2023-06-02',
- warnings: '666666',
- name: '黄公子',
- level: 2
- },
- {
- id: 3,
- callTime: '2023-06-02',
- warnings: '666666',
- name: '黄公子',
- level: 4
- },
- ],
+ },
+ timeRange: [],
+ category: 'default',
+ data:[],
+ columns,
+ visible: false,
+ confirmLoading: false,
pagination: {
current: 1,
defaultCurrent: 1,
defaultPageSize: 10,
- total: 11,
- onChange: ( page, pageSize ) => this.onPageChange(page,pageSize)
+ total: 0,
+ onChange: ( page, pageSize ) => this.onPageChange(page,pageSize),
+ showTotal: total => `共 ${total} 条`
},
- areaData: [
- {
- value: 1,
- label: '江苏省',
- children: [
- {
- value: 11,
- label: '苏州市',
- children: [
- {
- value: 111,
- label: '工业园区',
- },
- ],
- },
- ],
- },
- {
- value: 2,
- label: '新疆维吾尔自治区',
- children: [
- {
- value: 21,
- label: '乌鲁木齐市',
- children: [
- {
- value: 211,
- label: '国泰新华',
- },
- ],
- },
- ],
- },
+ riskOptions: [
+ {name: '地震',value: 1},
+ {name: '洪涝',value: 2},
+ {name: '气象',value: 3},
+ {name: '泥石流',value: 4},
+ {name: '水旱',value: 5},
+ {name: '森林草原火灾',value: 6}
+ ],
+ levelOptions: [
+ {name: '红色预警',value: 1},
+ {name: '橙色预警',value: 2},
+ {name: '黄色预警',value: 3},
+ {name: '蓝色预警',value: 4}
]
}
},
created() {
const t = this
+ t.getData()
},
- methods:{
- async getUserList(){
+ methods: {
+ async getData(){
const t = this
- const res = await getUser(t.search)
+ const res = await getResponseRecord(this.search)
+ if(res.data.code == 100){
+ t.data = res.data.data
+ t.pagination.total = res.data.total
+ }else{
+ this.$message.error(res.data.msg)
+ }
},
-
- viewData(){
+ openMod(type,data){
const t = this
- t.visible = true
+ getReviewDetailByWorker(data.warnInfoId).then(res=>{
+ if(res.data.code == 100){
+ if(res.data.data){
+ t.$refs.msgEdit.openMod(type,res.data.data)
+ }else{
+ t.$message.error('查询信息详情失败')
+ }
+ }else{
+ this.$message.error(res.data.msg)
+ }
+ })
},
onPageChange(page, pageSize) {
const t= this
t.pagination.current = page
+ t.search.pageIndex = page
+ t.getData()
+ },
+
+ timeChange(value, dateString) {
+ const t = this
+ if(dateString){
+ t.search.searchParams.startTime = value[0].format('YYYY-MM-DD 00:00:00')
+ t.search.searchParams.endTime = value[1].format('YYYY-MM-DD 23:59:59')
+ }
+ },
+
+ timeOk(value) {
+ console.log('onOk: ', value);
+ },
+
+ resetSearch(){
+ const t = this
+ t.search = {
+ pageIndex: 1,
+ pageSize: 10,
+ searchParams:{
+ emergType: null,
+ startTime: '',
+ endTime: ''
+ }
+ }
+ t.timeRange = []
+ t.getData()
+ },
+
+ //弹出层
+ showModal() {
+ this.visible = true;
},
handleOk(e) {
- this.visible = false
- },
- handleCancel(e) {
this.visible = false;
},
+
+ getLevelName(warningLevel){
+ return this.levelOptions.find(i => i.value === warningLevel)?.name;
+ }
+
}
}
-</script>
-<style lang="less" scoped>
- .tit{
- font-size: 18px;
- font-weight: bolder;
- color: @blackText;
- margin-bottom: 24px;
- }
-</style>
+</script>
\ No newline at end of file
--
Gitblit v1.9.2