|
@@ -11,29 +11,28 @@
|
|
|
v-model:page-index="state.queryParams.PageIndex"
|
|
|
v-model:page-size="state.queryParams.PageSize"
|
|
|
@sort-change="sortChange"
|
|
|
+ v-if="['YiBin', 'LuZhou'].includes(themeConfig.appScope)"
|
|
|
>
|
|
|
<template #table-search>
|
|
|
<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
|
|
|
- <el-form-item label="甄别退回" prop="ScreenSendBack">
|
|
|
- <el-select v-model="state.queryParams.ScreenSendBack" placeholder="请选择甄别退回" @change="handleQuery">
|
|
|
- <el-option :value="0" label="全部" />
|
|
|
- <el-option :value="1" label="是" />
|
|
|
- <el-option :value="2" label="否" />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="工单编码" prop="No">
|
|
|
- <el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="工单标题" prop="Title">
|
|
|
- <el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input"/>
|
|
|
- </el-form-item>
|
|
|
+ <el-form-item label="甄别退回" prop="ScreenSendBack">
|
|
|
+ <el-select v-model="state.queryParams.ScreenSendBack" placeholder="请选择甄别退回" @change="handleQuery">
|
|
|
+ <el-option :value="0" label="全部" />
|
|
|
+ <el-option :value="1" label="是" />
|
|
|
+ <el-option :value="2" label="否" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="工单编码" prop="No">
|
|
|
+ <el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="工单标题" prop="Title">
|
|
|
+ <el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
|
|
|
+ </el-form-item>
|
|
|
|
|
|
- <el-form-item>
|
|
|
- <el-button type="primary" @click="handleQuery" :loading="state.loading">
|
|
|
- <SvgIcon name="ele-Search" class="mr5" />查询
|
|
|
- </el-button>
|
|
|
- <el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
|
|
|
- </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
|
|
|
+ <el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
</template>
|
|
|
<template #title="{ row }">
|
|
@@ -48,6 +47,55 @@
|
|
|
<el-button link type="primary" @click="visitDetail(row)" title="查看回访明细"> 回访明细 </el-button>
|
|
|
</template>
|
|
|
</ProTable>
|
|
|
+ <ProTable
|
|
|
+ ref="proTableRef"
|
|
|
+ :columns="columns1"
|
|
|
+ :data="state.tableData"
|
|
|
+ @updateTable="queryList"
|
|
|
+ :loading="state.loading"
|
|
|
+ :total="state.total"
|
|
|
+ v-model:page-index="state.queryParams.PageIndex"
|
|
|
+ v-model:page-size="state.queryParams.PageSize"
|
|
|
+ @sort-change="sortChange"
|
|
|
+ v-if="['ZiGong'].includes(themeConfig.appScope)"
|
|
|
+ >
|
|
|
+ <template #table-search>
|
|
|
+ <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
|
|
|
+ <el-form-item label="甄别退回" prop="ScreenSendBack">
|
|
|
+ <el-select v-model="state.queryParams.ScreenSendBack" placeholder="请选择甄别退回" @change="handleQuery">
|
|
|
+ <el-option :value="0" label="全部" />
|
|
|
+ <el-option :value="1" label="是" />
|
|
|
+ <el-option :value="2" label="否" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="工单编码" prop="No">
|
|
|
+ <el-input v-model="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="工单标题" prop="Title">
|
|
|
+ <el-input v-model="state.queryParams.Title" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
|
|
|
+ <el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </template>
|
|
|
+ <template #title="{ row }">
|
|
|
+ <order-detail :order="row.order" @updateList="queryList">{{ row.order?.title }}</order-detail>
|
|
|
+ </template>
|
|
|
+ <!-- 表格操作 -->
|
|
|
+ <template #operation="{ row }">
|
|
|
+ <el-button link type="primary" @click="submitDiscern(row)" title="发起甄别申请" v-auth="'business:discern:apply:submit'">
|
|
|
+ 发起甄别
|
|
|
+ </el-button>
|
|
|
+ <el-button link type="primary" @click="onEditApplyTime(row)" title="修改甄别提起时限" v-auth="'business:discern:apply:editApplyTime'">
|
|
|
+ 修改提起时限
|
|
|
+ </el-button>
|
|
|
+ <el-button link type="primary" @click="onDetail(row)" title="查看甄别详情" v-if="row.screenSendBack"> 甄别详情 </el-button>
|
|
|
+ <el-button link type="primary" @click="visitDetail(row)" title="查看回访明细"> 回访明细 </el-button>
|
|
|
+ </template>
|
|
|
+ </ProTable>
|
|
|
</div>
|
|
|
<!-- 流程审批 -->
|
|
|
<process-audit ref="processAuditRef" @orderProcessSuccess="queryList" />
|
|
@@ -57,6 +105,8 @@
|
|
|
<discern-detail ref="discernDetailRef" @updateList="queryList" />
|
|
|
<!-- 甄别修改 -->
|
|
|
<discern-edit ref="discernEditRef" @updateList="queryList" />
|
|
|
+ <!-- 修改甄别提起时限 -->
|
|
|
+ <discern-edit-apply-time ref="discernEditApplyTimeRef" @updateList="queryList" />
|
|
|
<!-- 更多查询 -->
|
|
|
<el-drawer v-model="drawer" title="更多查询" size="500px">
|
|
|
<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
|
|
@@ -67,26 +117,16 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="受理类型" prop="AcceptType">
|
|
|
- <el-select v-model="state.queryParams.AcceptType" placeholder="请选择受理类型" clearable @change="handleQuery">
|
|
|
- <el-option
|
|
|
- v-for="item in state.acceptTypeOptions"
|
|
|
- :value="item.dicDataValue"
|
|
|
- :key="item.dicDataValue"
|
|
|
- :label="item.dicDataName"
|
|
|
- />
|
|
|
+ <el-select v-model="state.queryParams.AcceptType" placeholder="请选择受理类型" clearable @change="handleQuery">
|
|
|
+ <el-option v-for="item in state.acceptTypeOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="热点分类" prop="HotspotSpliceName">
|
|
|
<el-input v-model="state.queryParams.HotspotSpliceName" placeholder="热点分类名称" clearable @keyup.enter="handleQuery" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="来源渠道" prop="SourceChannel">
|
|
|
- <el-select v-model="state.queryParams.SourceChannel" placeholder="请选择来源渠道" clearable @change="handleQuery">
|
|
|
- <el-option
|
|
|
- v-for="item in state.sourceChannelOptions"
|
|
|
- :value="item.dicDataValue"
|
|
|
- :key="item.dicDataValue"
|
|
|
- :label="item.dicDataName"
|
|
|
- />
|
|
|
+ <el-select v-model="state.queryParams.SourceChannel" placeholder="请选择来源渠道" clearable @change="handleQuery">
|
|
|
+ <el-option v-for="item in state.sourceChannelOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="一级部门" prop="OrgLevelOneName">
|
|
@@ -169,14 +209,19 @@ import { formatDate } from '@/utils/formatTime';
|
|
|
import { screenApplyList, screenBaseData } from '@/api/business/discern';
|
|
|
import { commonEnum, defaultTimeStartEnd, shortcuts } from '@/utils/constants';
|
|
|
import Other from '@/utils/other';
|
|
|
+import { useThemeConfig } from '@/stores/themeConfig';
|
|
|
+import { storeToRefs } from 'pinia';
|
|
|
// 引入组件
|
|
|
const ProcessAudit = defineAsyncComponent(() => import('@/components/ProcessAudit/index.vue')); // 流程审批
|
|
|
const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
|
|
|
const VisitDetailCom = defineAsyncComponent(() => import('@/views/business/visit/component/Visit-detail.vue')); // 回访
|
|
|
const DiscernDetail = defineAsyncComponent(() => import('@/views/business/discern/components/Discern-detail.vue')); // 甄别详情
|
|
|
const DiscernEdit = defineAsyncComponent(() => import('@/views/business/discern/components/Discern-edit.vue')); // 甄别修改
|
|
|
+const DiscernEditApplyTime = defineAsyncComponent(() => import('@/views/business/discern/components/Discern-edit-apply-time.vue')); // 修改甄别提起时限
|
|
|
// 定义变量内容
|
|
|
const proTableRef = ref<RefType>(); // 表格ref
|
|
|
+const storesThemeConfig = useThemeConfig();
|
|
|
+const { themeConfig } = storeToRefs(storesThemeConfig);
|
|
|
// 表格配置项
|
|
|
const columns = ref<any[]>([
|
|
|
{ prop: 'screenSendBackText', label: '甄别退回' },
|
|
@@ -226,6 +271,62 @@ const columns = ref<any[]>([
|
|
|
},
|
|
|
{ prop: 'operation', label: '操作', fixed: 'right', width: 240, align: 'center' },
|
|
|
]);
|
|
|
+const columns1 = ref<any[]>([
|
|
|
+ {
|
|
|
+ prop: 'screenByEndTime',
|
|
|
+ label: '截止申请日期',
|
|
|
+ minWidth: 160,
|
|
|
+ render: (scope) => {
|
|
|
+ return <span>{formatDate(scope.row.screenByEndTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ { prop: 'screenSendBackText', label: '甄别退回' },
|
|
|
+ { prop: 'order.no', label: '工单编码', minWidth: 140 },
|
|
|
+ { prop: 'order.isProvinceText', label: '省/市工单', minWidth: 90 },
|
|
|
+ { prop: 'order.title', label: '工单标题', minWidth: 200 },
|
|
|
+ { prop: 'order.acceptType', label: '受理类型', minWidth: 100 },
|
|
|
+ { prop: 'order.sourceChannel', label: '来源渠道', minWidth: 100 },
|
|
|
+ { prop: 'order.orgLevelOneName', label: '一级部门', minWidth: 140 },
|
|
|
+ { prop: 'order.actualHandleOrgName', label: '接办部门', minWidth: 140 },
|
|
|
+ { prop: 'visitOrgName', label: '被回访部门', minWidth: 140 },
|
|
|
+ {
|
|
|
+ prop: 'order.startTime',
|
|
|
+ label: '受理时间',
|
|
|
+ minWidth: 160,
|
|
|
+ sortable: 'custom',
|
|
|
+ render: (scope) => {
|
|
|
+ return <span>{formatDate(scope.row.order?.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'order.actualHandleTime',
|
|
|
+ label: '接办时间',
|
|
|
+ minWidth: 160,
|
|
|
+ sortable: 'custom',
|
|
|
+ render: (scope) => {
|
|
|
+ return <span>{formatDate(scope.row.order?.actualHandleTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'order.filedTime',
|
|
|
+ label: '办结时间',
|
|
|
+ minWidth: 160,
|
|
|
+ sortable: 'custom',
|
|
|
+ render: (scope) => {
|
|
|
+ return <span>{formatDate(scope.row.order?.filedTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'orderVisit.visitTime',
|
|
|
+ label: '回访时间',
|
|
|
+ minWidth: 160,
|
|
|
+ sortable: 'custom',
|
|
|
+ render: (scope) => {
|
|
|
+ return <span>{formatDate(scope.row.orderVisit?.visitTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ { prop: 'operation', label: '操作', fixed: 'right', width: 280, align: 'center' },
|
|
|
+]);
|
|
|
const state = reactive<any>({
|
|
|
queryParams: {
|
|
|
// 查询条件
|
|
@@ -336,8 +437,8 @@ const processAuditRef = ref<RefType>(); // 流程审批ref
|
|
|
const discernEditRef = ref<RefType>(); // 甄别修改ref
|
|
|
const submitDiscern = (row: any) => {
|
|
|
if (row.screenSendBack) {
|
|
|
- if(row.orderScreens.length){
|
|
|
- const editRow = {...row.orderScreens[0]}
|
|
|
+ if (row.orderScreens.length) {
|
|
|
+ const editRow = { ...row.orderScreens[0] };
|
|
|
// 修改甄别
|
|
|
// 退回到了开始 需要重新打开编辑页面在发起流程
|
|
|
discernEditRef.value.openDialog(editRow);
|
|
@@ -377,14 +478,12 @@ const visitDetailRef = ref<RefType>();
|
|
|
const visitDetail = (row: any) => {
|
|
|
visitDetailRef.value.openDialog(row.orderVisit, '回访明细');
|
|
|
};
|
|
|
-const historyParams = history.state;
|
|
|
+// 修改甄别提起时限
|
|
|
+const discernEditApplyTimeRef = ref<RefType>();
|
|
|
+const onEditApplyTime = (row: any) => {
|
|
|
+ discernEditApplyTimeRef.value.openDialog(row);
|
|
|
+};
|
|
|
onMounted(async () => {
|
|
|
- if (historyParams.IsHomePage) {
|
|
|
- // 会签待办 IsHomePage 表示从首页进入
|
|
|
- // 先重置其他查询条件
|
|
|
- ruleFormRef.value.resetFields();
|
|
|
- state.queryParams = { ...state.queryParams, IsHomePage: historyParams.IsHomePage };
|
|
|
- }
|
|
|
await getBaseData();
|
|
|
queryList();
|
|
|
});
|