|
@@ -1,12 +1,12 @@
|
|
|
<template>
|
|
|
<div class="business-observations-Reply-container layout-padding">
|
|
|
<div class="layout-padding-auto layout-padding-view pd20">
|
|
|
- <el-tabs v-model="state.queryParams.TypeCode" @tab-change="handleQuery">
|
|
|
+ <el-tabs v-model="state.queryParams.Type" @tab-change="handleQuery">
|
|
|
<el-tab-pane name="0" label="待回复" :disabled="state.loading"></el-tab-pane>
|
|
|
<el-tab-pane name="1" label="已回复" :disabled="state.loading"></el-tab-pane>
|
|
|
</el-tabs>
|
|
|
<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline :disabled="state.loading">
|
|
|
- <el-form-item label="数据范围" prop="fastSearch">
|
|
|
+ <el-form-item label="数据范围" prop="DataSoure">
|
|
|
<el-segmented
|
|
|
:options="[
|
|
|
{
|
|
@@ -18,7 +18,7 @@
|
|
|
label: '本级',
|
|
|
},
|
|
|
]"
|
|
|
- v-model="state.queryParams.fastSearch"
|
|
|
+ v-model="state.queryParams.DataSoure"
|
|
|
@change="handleQuery"
|
|
|
:disabled="state.loading"
|
|
|
/>
|
|
@@ -59,39 +59,38 @@
|
|
|
id="businessObservationsReply"
|
|
|
:custom-config="{ storage: true }"
|
|
|
showHeaderOverflow
|
|
|
- :params="{ exportMethod: observeListExport, exportParams: requestParams }"
|
|
|
+ :params="{ exportMethod: exportObservationsReplyList, exportParams: requestParams }"
|
|
|
@sort-change="sortChange"
|
|
|
>
|
|
|
- <vxe-column type="checkbox" width="60" align="center"></vxe-column>
|
|
|
- <vxe-column field="order.no" title="工单编码" width="140"></vxe-column>
|
|
|
- <vxe-column field="order.title" title="工单标题" min-width="200">
|
|
|
+ <vxe-column field="no" title="工单编码" width="140"></vxe-column>
|
|
|
+ <vxe-column field="title" title="工单标题" min-width="200">
|
|
|
<template #default="{ row }">
|
|
|
- <order-detail :order="row.order" @updateList="queryList">{{ row.order?.title }}</order-detail>
|
|
|
+ <order-detail :order="{ id: row.orderId }" @updateList="queryList">{{ row.title }}</order-detail>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="order.acceptType" title="受理类型" width="110"></vxe-column>
|
|
|
- <vxe-column field="order.hotspotName" title="热点分类" width="150"></vxe-column>
|
|
|
- <vxe-column field="order.creationTime" title="受理时间" width="160" sortable>
|
|
|
+ <vxe-column field="acceptType" title="受理类型" width="110"></vxe-column>
|
|
|
+ <vxe-column field="hotspotName" title="热点分类" width="150"></vxe-column>
|
|
|
+ <vxe-column field="acceptanceTime" title="受理时间" width="160" sortable>
|
|
|
<template #default="{ row }">
|
|
|
- {{ formatDate(row.order?.creationTime, 'YYYY-mm-dd HH:MM:SS') }}
|
|
|
+ {{ formatDate(row.acceptanceTime, 'YYYY-mm-dd HH:MM:SS') }}
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="order.expiredTime" title="期满时间" width="160" sortable>
|
|
|
+ <vxe-column field="expiredTime" title="期满时间" width="160" sortable>
|
|
|
<template #default="{ row }">
|
|
|
- {{ formatDate(row.order?.expiredTime, 'YYYY-mm-dd HH:MM:SS') }}
|
|
|
+ {{ formatDate(row.expiredTime, 'YYYY-mm-dd HH:MM:SS') }}
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="order.actualHandleOrgName" title="接办部门" width="140"></vxe-column>
|
|
|
- <vxe-column field="order.filedTime" title="办结时间" width="160" sortable>
|
|
|
+ <vxe-column field="actualHandleOrgName" title="接办部门" width="140"></vxe-column>
|
|
|
+ <vxe-column field="filedTime" title="办结时间" width="160" sortable>
|
|
|
<template #default="{ row }">
|
|
|
- {{ formatDate(row.order?.filedTime, 'YYYY-mm-dd HH:MM:SS') }}
|
|
|
+ {{ formatDate(row.filedTime, 'YYYY-mm-dd HH:MM:SS') }}
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <template v-if="state.queryParams.TypeCode === '1'">
|
|
|
- <vxe-column field="order.hotspotName" title="回复人" width="140"></vxe-column>
|
|
|
- <vxe-column field="order.replyTime" title="回复时间" width="160" sortable>
|
|
|
+ <template v-if="state.queryParams.Type === '1'">
|
|
|
+ <vxe-column field="replyUserName" title="回复人" width="140"></vxe-column>
|
|
|
+ <vxe-column field="replyTime" title="回复时间" width="160" sortable>
|
|
|
<template #default="{ row }">
|
|
|
- {{ formatDate(row.order?.replyTime, 'YYYY-mm-dd HH:MM:SS') }}
|
|
|
+ {{ formatDate(row.replyTime, 'YYYY-mm-dd HH:MM:SS') }}
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
</template>
|
|
@@ -103,7 +102,7 @@
|
|
|
@click="onReply(row)"
|
|
|
title="回复"
|
|
|
v-auth="'business:observations:reply'"
|
|
|
- v-if="state.queryParams.TypeCode === '0'"
|
|
|
+ v-if="state.queryParams.Type === '0'"
|
|
|
>
|
|
|
回复
|
|
|
</el-button>
|
|
@@ -176,9 +175,9 @@
|
|
|
:default-time="defaultTimeStartEnd"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <template v-if="state.queryParams.TypeCode === '1'">
|
|
|
- <el-form-item label="回复人" prop="Hotspot">
|
|
|
- <el-input v-model="state.queryParams.Hotspot" placeholder="回复人" clearable @keyup.enter="handleQuery" />
|
|
|
+ <template v-if="state.queryParams.Type === '1'">
|
|
|
+ <el-form-item label="回复人" prop="ReplyUserName">
|
|
|
+ <el-input v-model="state.queryParams.ReplyUserName" placeholder="回复人" clearable @keyup.enter="handleQuery" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="回复时间" prop="hfTime">
|
|
|
<el-date-picker
|
|
@@ -208,13 +207,13 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<script setup lang="tsx" name="businessObservationsReply">
|
|
|
-import { computed, defineAsyncComponent, onMounted, reactive, ref } from 'vue';
|
|
|
-import { ElMessage, ElMessageBox, FormInstance } from 'element-plus';
|
|
|
+import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
|
|
|
+import { FormInstance } from 'element-plus';
|
|
|
import { formatDate } from '@/utils/formatTime';
|
|
|
-import { deleteObserve, observeBaseData, observeList, observeListExport } from '@/api/query/observe';
|
|
|
+import { observeBaseData } from '@/api/query/observe';
|
|
|
import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
|
|
|
-import { exportAssignment } from '@/utils/tools';
|
|
|
import Other from '@/utils/other';
|
|
|
+import { exportObservationsReplyList, getObservationsReplyList } from '@/api/business/observations';
|
|
|
// 引入组件
|
|
|
const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
|
|
|
const pagination = defineAsyncComponent(() => import('@/components/ProTable/components/Pagination.vue')); // 分页
|
|
@@ -231,18 +230,23 @@ const state = reactive<any>({
|
|
|
No: null,
|
|
|
Title: null,
|
|
|
slTime: [], // 受理时间
|
|
|
- StartTime: null,
|
|
|
- EndTime: null,
|
|
|
+ AcceptanceStartTime: null,
|
|
|
+ AcceptanceEndTime: null,
|
|
|
exTime: [], // 期满时间
|
|
|
- ExpiredTimeStart: null,
|
|
|
- ExpiredTimeEnd: null,
|
|
|
+ ExpiredStartTime: null,
|
|
|
+ ExpiredEndTime: null,
|
|
|
ActualHandleOrgName: null, // 接办部门
|
|
|
AcceptType: null, //受理类型
|
|
|
Hotspot: null, // 热点分类
|
|
|
- fastSearch: '0',
|
|
|
- TypeCode: '0', // 0:待回复 1:已回复
|
|
|
+ DataSoure: '0', // 数据范围 0:全部 ,1:本级
|
|
|
+ Type: '0', // 0:待回复 1:已回复
|
|
|
bjTime: [], // 办结时间
|
|
|
+ FiledStartTime: null,
|
|
|
+ FiledEndTime: null,
|
|
|
+ ReplyUserName: null, // 回复人
|
|
|
hfTime: [], // 回复时间
|
|
|
+ ReplyStartTime: null,
|
|
|
+ ReplyEndTime: null,
|
|
|
},
|
|
|
tableData: [], //表单
|
|
|
loading: false, // 加载
|
|
@@ -258,13 +262,19 @@ const requestParams = ref<EmptyObjectType>({});
|
|
|
const queryList = () => {
|
|
|
state.loading = true;
|
|
|
requestParams.value = Other.deepClone(state.queryParams);
|
|
|
- requestParams.value.StartTime = state.queryParams.slTime === null ? null : state.queryParams.slTime[0]; // 受理时间
|
|
|
- requestParams.value.EndTime = state.queryParams.slTime === null ? null : state.queryParams.slTime[1];
|
|
|
+ requestParams.value.AcceptanceStartTime = state.queryParams.slTime === null ? null : state.queryParams.slTime[0]; // 受理时间
|
|
|
+ requestParams.value.AcceptanceEndTime = state.queryParams.slTime === null ? null : state.queryParams.slTime[1];
|
|
|
Reflect.deleteProperty(requestParams.value, 'slTime'); // 删除无用的参数
|
|
|
- requestParams.value.ExpiredTimeStart = state.queryParams.exTime === null ? null : state.queryParams.exTime[0]; // 期满时间
|
|
|
- requestParams.value.ExpiredTimeEnd = state.queryParams.exTime === null ? null : state.queryParams.exTime[1];
|
|
|
+ requestParams.value.ExpiredStartTime = state.queryParams.exTime === null ? null : state.queryParams.exTime[0]; // 期满时间
|
|
|
+ requestParams.value.ExpiredEndTime = state.queryParams.exTime === null ? null : state.queryParams.exTime[1];
|
|
|
Reflect.deleteProperty(requestParams.value, 'exTime'); // 删除无用的参数
|
|
|
- observeList(requestParams.value)
|
|
|
+ requestParams.value.FiledStartTime = state.queryParams.bjTime === null ? null : state.queryParams.bjTime[0]; // 办结时间
|
|
|
+ requestParams.value.FiledEndTime = state.queryParams.bjTime === null ? null : state.queryParams.bjTime[1];
|
|
|
+ Reflect.deleteProperty(requestParams.value, 'bjTime'); // 删除无用的参数
|
|
|
+ requestParams.value.ReplyStartTime = state.queryParams.hfTime === null ? null : state.queryParams.hfTime[0]; // 回复时间
|
|
|
+ requestParams.value.ReplyEndTime = state.queryParams.hfTime === null ? null : state.queryParams.hfTime[1];
|
|
|
+ Reflect.deleteProperty(requestParams.value, 'hfTime'); // 删除无用的参数
|
|
|
+ getObservationsReplyList(requestParams.value)
|
|
|
.then((res) => {
|
|
|
state.tableData = res?.result.items ?? [];
|
|
|
state.total = res?.result.total;
|
|
@@ -293,13 +303,11 @@ const resetQuery = (formEl: FormInstance | undefined) => {
|
|
|
// 回复
|
|
|
const observeReplyRef = ref<RefType>();
|
|
|
const onReply = (row: any) => {
|
|
|
- console.log(row);
|
|
|
observeReplyRef.value.openDialog(row);
|
|
|
};
|
|
|
// 回复详情
|
|
|
const observeDetailRef = ref<RefType>();
|
|
|
const onDetail = (row: any) => {
|
|
|
- console.log(row);
|
|
|
observeDetailRef.value.openDialog(row);
|
|
|
};
|
|
|
// 获取基础信息
|