|
@@ -87,6 +87,11 @@
|
|
|
<order-detail :order="{ ...row, id: row.orderId }" @updateList="handleQuery">{{ row.title }}</order-detail>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
+ <vxe-column field="orderTag" title="工单标签" width="120" v-if="['ZiGong', 'LuZhou'].includes(themeConfig.appScope)"></vxe-column>
|
|
|
+ <vxe-column field="sourceChannel" title="来源渠道" width="120"></vxe-column>
|
|
|
+ <vxe-column field="acceptType" title="受理类型" width="120"></vxe-column>
|
|
|
+ <vxe-column field="orgNoSatisfiedReasonText" title="不满意原因" width="120"></vxe-column>
|
|
|
+ <vxe-column field="area" title="事发地址" width="120"></vxe-column>
|
|
|
<vxe-column field="visitUser" title="回访人" width="120"></vxe-column>
|
|
|
<vxe-column field="visitOrgName" title="回访部门" width="140"></vxe-column>
|
|
|
<vxe-column field="visitTypeText" title="回访方式" width="110"></vxe-column>
|
|
@@ -142,6 +147,34 @@
|
|
|
:default-time="defaultTimeStartEnd"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="来源渠道" prop="SourceChannelCode">
|
|
|
+ <el-select v-model="state.queryParams.SourceChannelCode" placeholder="请选择来源渠道" clearable class="w100" @change="handleQuery">
|
|
|
+ <el-option v-for="item in state.channelOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="受理类型" prop="AcceptTypeCode">
|
|
|
+ <el-select v-model="state.queryParams.AcceptTypeCode" placeholder="请选择受理类型" clearable class="w100" @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="OrgNoSatisfiedReason">
|
|
|
+ <el-select v-model="state.queryParams.OrgNoSatisfiedReason" placeholder="请选择不满意原因" clearable class="w100" @change="handleQuery">
|
|
|
+ <el-option v-for="item in state.dissatisfiedReason" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="事发地址" prop="AreaCode">
|
|
|
+ <el-cascader
|
|
|
+ :options="state.areaOptions"
|
|
|
+ filterable
|
|
|
+ :props="{ checkStrictly: true, value: 'id', label: 'areaName', emitPath: false }"
|
|
|
+ placeholder="请选择事发地址"
|
|
|
+ clearable
|
|
|
+ v-model="state.queryParams.AreaCode"
|
|
|
+ @change="handleQuery"
|
|
|
+ class="w100"
|
|
|
+ >
|
|
|
+ </el-cascader>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="回访人姓名" prop="VisitUser">
|
|
|
<el-input v-model="state.queryParams.VisitUser" placeholder="回访人姓名" clearable @keyup.enter="handleQuery" />
|
|
|
</el-form-item>
|
|
@@ -196,19 +229,19 @@
|
|
|
<el-option :value="2" label="企业" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="工单标签" prop="OrderTagCode" v-if="['ZiGong', 'LuZhou'].includes(themeConfig.appScope)">
|
|
|
- <el-cascader
|
|
|
- :options="state.orderTagOptions"
|
|
|
- filterable
|
|
|
- :props="{ value: 'dicDataValue', label: 'dicDataName', emitPath: false, checkStrictly: true }"
|
|
|
- placeholder="请选择工单标签"
|
|
|
- class="w100"
|
|
|
- v-model="state.queryParams.OrderTagCode"
|
|
|
- @change="handleQuery"
|
|
|
- clearable
|
|
|
- >
|
|
|
- </el-cascader>
|
|
|
- </el-form-item>
|
|
|
+ <el-form-item label="工单标签" prop="OrderTagCode" v-if="['ZiGong', 'LuZhou'].includes(themeConfig.appScope)">
|
|
|
+ <el-cascader
|
|
|
+ :options="state.orderTagOptions"
|
|
|
+ filterable
|
|
|
+ :props="{ value: 'dicDataValue', label: 'dicDataName', emitPath: false, checkStrictly: true }"
|
|
|
+ placeholder="请选择工单标签"
|
|
|
+ class="w100"
|
|
|
+ v-model="state.queryParams.OrderTagCode"
|
|
|
+ @change="handleQuery"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ </el-cascader>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
|
|
@@ -228,6 +261,7 @@ import { exportAssignment } from '@/utils/tools';
|
|
|
import { useThemeConfig } from '@/stores/themeConfig';
|
|
|
import { storeToRefs } from 'pinia';
|
|
|
import { visitDepartmentSatisfactionList, visitDepartmentSatisfactionListExport } from '@/api/business/visit';
|
|
|
+import { treeArea } from '@/api/auxiliary/area';
|
|
|
|
|
|
// 引入组件
|
|
|
const VisitDetailCom = defineAsyncComponent(() => import('@/views/business/visit/components/Visit-detail.vue')); // 回访
|
|
@@ -260,14 +294,23 @@ const state = reactive<any>({
|
|
|
SortRule: null,
|
|
|
LevelOneOrg: null,
|
|
|
VisitType: null,
|
|
|
- OrderTagCode:null,
|
|
|
+ OrderTagCode: null,
|
|
|
+ SourceChannelCode: null, // 来源渠道
|
|
|
+ AcceptTypeCode: null, // 受理类型
|
|
|
+ OrgNoSatisfiedReason: null, // 不满意原因
|
|
|
+ AreaCode: null, // 区域
|
|
|
},
|
|
|
tableData: [], //表单
|
|
|
loading: false, // 加载
|
|
|
total: 0, // 总数
|
|
|
attitudeType: [],
|
|
|
- visitType: [],
|
|
|
- orderTagOptions: [], // 工单标签
|
|
|
+ channelOptions: [], // 来源渠道
|
|
|
+ acceptTypeOptions: [], // 受理类型
|
|
|
+ dissatisfiedReason: [], // 不满意原因
|
|
|
+ visitSatisfaction: [], // 办件结果
|
|
|
+ visitMananer: [], // 办件态度
|
|
|
+ orderTagOptions: [], // 工单标签
|
|
|
+ areaOptions: [], // 省市区数据
|
|
|
});
|
|
|
// 排序
|
|
|
const sortChange = (val: any) => {
|
|
@@ -334,12 +377,18 @@ const getBaseData = async () => {
|
|
|
visitSatisfaction: 'visitSatisfaction',
|
|
|
orgsOptions: 'orgsOptions',
|
|
|
attitudeType: 'attitudeType',
|
|
|
+ channelOptions: 'channelOptions',
|
|
|
+ visitMananer: 'visitMananer',
|
|
|
+ orderTagOptions: 'orderTags',
|
|
|
visitType: 'visitType',
|
|
|
- orderTagOptions: 'orderTags',
|
|
|
+ acceptTypeOptions: 'acceptTypeOptions',
|
|
|
+ dissatisfiedReason: 'dissatisfiedReason',
|
|
|
};
|
|
|
for (const key in mappings) {
|
|
|
state[key] = res.result?.[mappings[key]] ?? [];
|
|
|
}
|
|
|
+ const area = await treeArea();
|
|
|
+ state.areaOptions = area?.result ?? []; //省市区数据
|
|
|
} catch (error) {
|
|
|
console.log(error);
|
|
|
}
|