|
@@ -18,6 +18,33 @@
|
|
|
<el-input v-model="state.queryParams.ProvinceNo" placeholder="省本地编号" clearable @keyup.enter="queryList" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ <transition name="el-zoom-in-top" v-show="!searchCol">
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
|
|
|
+ <el-form-item label="来电人姓名" prop="FromName">
|
|
|
+ <el-input v-model="state.queryParams.FromName" placeholder="来电人姓名" clearable @keyup.enter="queryList" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </transition>
|
|
|
+ <transition name="el-zoom-in-top" v-show="!searchCol">
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
|
|
|
+ <el-form-item label="事发地址" prop="AreaCodes">
|
|
|
+ <el-cascader
|
|
|
+ :options="state.areaOptions"
|
|
|
+ filterable
|
|
|
+ :show-all-levels="false"
|
|
|
+ :props="{ checkStrictly: true, value: 'id', label: 'areaName', multiple: true }"
|
|
|
+ placeholder="请选择事发地址"
|
|
|
+ clearable
|
|
|
+ class="w100"
|
|
|
+ v-model="state.queryParams.AreaCodes"
|
|
|
+ collapse-tags
|
|
|
+ collapse-tags-tooltip
|
|
|
+ :max-collapse-tags="2"
|
|
|
+ >
|
|
|
+ </el-cascader>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </transition>
|
|
|
<transition name="el-zoom-in-top" v-show="!searchCol">
|
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
|
|
|
<el-form-item label="转接来源" prop="TransferPhone">
|
|
@@ -85,13 +112,13 @@
|
|
|
</transition>
|
|
|
<transition name="el-zoom-in-top">
|
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
|
|
|
- <el-form-item label="部门" prop="OrgCodes">
|
|
|
+ <el-form-item label="接办部门" prop="OrgCodes">
|
|
|
<el-cascader
|
|
|
:options="state.orgsOptions"
|
|
|
filterable
|
|
|
:show-all-levels="false"
|
|
|
:props="{ checkStrictly: true, value: 'id', label: 'name', emitPath: false, multiple: true }"
|
|
|
- placeholder="请选择所属部门"
|
|
|
+ placeholder="请选择接办部门"
|
|
|
clearable
|
|
|
class="w100"
|
|
|
v-model="state.queryParams.OrgCodes"
|
|
@@ -107,8 +134,8 @@
|
|
|
</transition>
|
|
|
<transition name="el-zoom-in-top">
|
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
|
|
|
- <el-form-item label="受理坐席" prop="NameOrNo">
|
|
|
- <el-input v-model="state.queryParams.NameOrNo" placeholder="坐席姓名/坐席工号" clearable @keyup.enter="queryList" />
|
|
|
+ <el-form-item label="受理人" prop="NameOrNo">
|
|
|
+ <el-input v-model="state.queryParams.NameOrNo" placeholder="受理人/坐席工号" clearable @keyup.enter="queryList" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</transition>
|
|
@@ -138,6 +165,13 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</transition>
|
|
|
+ <transition name="el-zoom-in-top">
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
|
|
|
+ <el-form-item label="来电号码" prop="FromPhone">
|
|
|
+ <el-input v-model="state.queryParams.FromPhone" placeholder="来电号码" clearable @keyup.enter="queryList" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </transition>
|
|
|
<transition name="el-zoom-in-top">
|
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
|
|
|
<el-form-item label="联系电话" prop="PhoneNo">
|
|
@@ -217,7 +251,7 @@
|
|
|
<transition name="el-zoom-in-top">
|
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol">
|
|
|
<el-form-item label="是否超期" prop="IsOverTime">
|
|
|
- <el-select v-model="state.queryParams.IsOverTime" placeholder="请选择是否甄别" class="w100" clearable>
|
|
|
+ <el-select v-model="state.queryParams.IsOverTime" placeholder="请选择是否超期" class="w100" clearable>
|
|
|
<el-option label="是" :value="true" />
|
|
|
<el-option label="否" :value="false" />
|
|
|
</el-select>
|
|
@@ -368,6 +402,7 @@ import { formatDate } from '@/utils/formatTime';
|
|
|
import { listBaseData, orderList } from '@/api/business/order';
|
|
|
import { addObserve } from '@/api/query/observe';
|
|
|
import { addEnd } from '@/api/query/end';
|
|
|
+import { treeArea } from "@/api/auxiliary/area";
|
|
|
|
|
|
// 引入组件
|
|
|
const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
|
|
@@ -419,6 +454,7 @@ const state = reactive(<any>{
|
|
|
orgsOptions: [], // 部门
|
|
|
pushTypeOptions: [], //推送分类
|
|
|
orgData: [], // 机构数据
|
|
|
+ areaOptions: [], // 省市区数据
|
|
|
});
|
|
|
const ruleFormRef = ref<RefType>(); // 表单ref
|
|
|
const searchCol = ref(true); // 展开/收起
|
|
@@ -555,20 +591,26 @@ const timeStartChangeDone = (val: string[]) => {
|
|
|
};
|
|
|
// 获取查询条件基础信息
|
|
|
const getBaseData = async () => {
|
|
|
- const res: any = await listBaseData();
|
|
|
- const mappings: any = {
|
|
|
- acceptTypeOptions: 'acceptTypeOptions',
|
|
|
- channelOptions: 'channelOptions',
|
|
|
- emergencyLevelOptions: 'emergencyLevelOptions',
|
|
|
- orgsOptions: 'orgsOptions',
|
|
|
- pushTypeOptions: 'pushTypeOptions',
|
|
|
- orderStatusOptions: 'orderStatusOptions',
|
|
|
- identityTypeOptions: 'identityTypeOptions',
|
|
|
- currentStepOptions: 'currentStepOptions',
|
|
|
- };
|
|
|
- for (const key in mappings) {
|
|
|
- state[key] = res.result?.[mappings[key]] ?? [];
|
|
|
- }
|
|
|
+ try {
|
|
|
+ const res: any = await listBaseData();
|
|
|
+ const mappings: any = {
|
|
|
+ acceptTypeOptions: 'acceptTypeOptions',
|
|
|
+ channelOptions: 'channelOptions',
|
|
|
+ emergencyLevelOptions: 'emergencyLevelOptions',
|
|
|
+ orgsOptions: 'orgsOptions',
|
|
|
+ pushTypeOptions: 'pushTypeOptions',
|
|
|
+ orderStatusOptions: 'orderStatusOptions',
|
|
|
+ identityTypeOptions: 'identityTypeOptions',
|
|
|
+ currentStepOptions: 'currentStepOptions',
|
|
|
+ };
|
|
|
+ for (const key in mappings) {
|
|
|
+ state[key] = res.result?.[mappings[key]] ?? [];
|
|
|
+ }
|
|
|
+ const area = await treeArea();
|
|
|
+ state.areaOptions = area.result ?? []; //省市区数据
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error);
|
|
|
+ }
|
|
|
};
|
|
|
/** 获取列表 */
|
|
|
const queryList = () => {
|