Ver código fonte

reactor:地图信息展示;新建工单默认传经纬度

zhangchong 1 mês atrás
pai
commit
464cc5b7c2

+ 47 - 50
src/components/OrderDetail/index.vue

@@ -566,7 +566,7 @@
 			<copy-order ref="copyOrderRef" :orderId="state.orderId" />
 		</div>
 		<!--  地图信息  -->
-		<div v-if="state.activeName === '5'">
+		<div v-show="state.activeName === '5'">
 			<map-view ref="mapViewRef" />
 		</div>
 		<template #footer>
@@ -778,6 +778,7 @@ const MapView = defineAsyncComponent(() => import('@/components/OrderDetail/Map-
 const ZGSSPProcess = defineAsyncComponent(() => import('@/components/ProcessAudit/ZGSSPProcess.vue')); // 自贡随手拍办理流程
 const YBProcess = defineAsyncComponent(() => import('@/components/ProcessAudit/YBProcess.vue')); // 宜宾工单办理流程
 
+
 type ButtonType = '' | 'default' | 'success' | 'warning' | 'info' | 'text' | 'primary' | 'danger';
 const props = defineProps({
 	order: {
@@ -911,12 +912,10 @@ const getPortraitList = async () => {
 };
 // 查询地图信息
 const mapViewRef = ref<RefType>();
-const getMapInfo = async (id: string) => {
+const getMapInfo = async () => {
 	state.loading = true;
 	try {
-		const { result } = await orderDetail(id);
-		state.ruleForm = result;
-		mapViewRef.value.addMarker(result);
+		mapViewRef.value.addMarker(state.ruleForm);
 		state.loading = false;
 	} catch (error) {
 		console.log(error);
@@ -932,46 +931,48 @@ const openDialog = (val: any) => {
 	}
 	state.dialogVisible = true;
 	state.orderId = val.id;
-	if (['LuZhou'].includes(themeConfig.value.appScope) && !userInfos.value.isCenter) {
-		// 自贡的部门部展示历史工单和副本工单
-		state.tabPaneList = [
-			{
-				label: '工单详情',
-				value: '0',
-			},
-			{
-				label: '历史工单',
-				value: '1',
-			},
-			{
-				label: '回访详情',
-				value: '2',
-			},
-		];
-	} else if (['YiBin'].includes(themeConfig.value.appScope) && !userInfos.value.isCenter) {
-		state.tabPaneList = [
-			{
-				label: '工单详情',
-				value: '0',
-			},
-			{
-				label: '历史工单',
-				value: '1',
-			},
-			{
-				label: '回访详情',
-				value: '2',
-			},
-			{
-				label: '市民画像',
-				value: '3',
-			},
-			/*		{
-				label: '地图信息',
-				value: '5',
-			},*/
-		];
-	} else if (['ZiGong'].includes(themeConfig.value.appScope) && !userInfos.value.isCenter) {
+	if(['LuZhou','ZiGong'].includes(themeConfig.value.appScope)){
+		if(userInfos.value.isCenter){// 中心
+			state.tabPaneList = [
+				{
+					label: '工单详情',
+					value: '0',
+				},
+				{
+					label: '历史工单',
+					value: '1',
+				},
+				{
+					label: '回访详情',
+					value: '2',
+				},
+				{
+					label: '副本工单',
+					value: '4',
+				},
+				{
+					label: '地图信息',
+					value: '5',
+				},
+			];
+		}else{
+			// 部门
+			state.tabPaneList = [
+				{
+					label: '工单详情',
+					value: '0',
+				},
+				{
+					label: '历史工单',
+					value: '1',
+				},
+				{
+					label: '回访详情',
+					value: '2',
+				},
+			];
+		}
+	}else if (['YiBin'].includes(themeConfig.value.appScope) && !userInfos.value.isCenter) {
 		state.tabPaneList = [
 			{
 				label: '工单详情',
@@ -989,10 +990,6 @@ const openDialog = (val: any) => {
 				label: '市民画像',
 				value: '3',
 			},
-			{
-				label: '地图信息',
-				value: '5',
-			},
 		];
 	}
 	if (val.activeName) {
@@ -1024,7 +1021,7 @@ const handleClick = (val: string) => {
 			getCopyOrder();
 			break;
 		case '5': // 地图信息
-			getMapInfo(state.orderId);
+			getMapInfo();
 			break;
 		default:
 			getOrderDetail(state.orderId);

+ 1 - 0
src/router/backEnd.ts

@@ -77,6 +77,7 @@ const getAppConfigFn = async () => {
 			recordPrefix: result.recordPrefix ?? '', // 录音前缀
 			recordDownLoadPrefix: result.recordDownLoadPrefix ?? '', // 录音下载前缀
 			luzhouhcp: result.luzhouhcp ?? false, // 是否开启泸州好差评
+			locationCenter: result.locationCenter ?? [], // 城市中心点
 		});
 		/*	console.log(
 			`是否开启小休审批${result.isRestApproval},自动话后整理时间${result.talkingDealTime}秒,

+ 2 - 2
src/views/business/discern/todo.vue

@@ -130,7 +130,7 @@
 								@click="onAudit(row)"
 								title="甄别审批"
 								v-auth="'business:discern:audit:todo'"
-								v-if="[0, 1, 5].includes(row.status)"
+								v-show="[0, 1, 5].includes(row.status)"
 							>
 								审批
 							</el-button>
@@ -140,7 +140,7 @@
 								@click="onReturn(row)"
 								title="甄别退回"
 								v-auth="'business:discern:return:todo'"
-								v-if="[0, 1, 5].includes(row.status)"
+								v-show="[0, 1, 5].includes(row.status)"
 							>
 								退回
 							</el-button>

+ 1 - 1
src/views/business/publish/index.vue

@@ -33,7 +33,7 @@
 						link
 						type="primary"
 						@click="editPublish(row)"
-						v-if="!row.order?.isProvince"
+						v-show="!row.order?.isProvince"
 						title="编辑发布"
 						v-auth="'business:publish:edit'"
 					>

+ 3 - 3
src/views/business/secondHandle/audit.vue

@@ -100,18 +100,18 @@
 					<vxe-column field="order.hotspotName" title="热点分类" width="140"></vxe-column>
 					<vxe-column title="操作" fixed="right" width="120" align="center">
 						<template #default="{ row }">
-							<el-button link type="primary" @click="onView(row)" title="查看办理明细" v-if="![1].includes(row.state)"> 办理明细 </el-button>
+							<el-button link type="primary" @click="onView(row)" title="查看办理明细" v-show="![1].includes(row.state)"> 办理明细 </el-button>
 							<el-button
 								link
 								type="primary"
 								@click="onReturn(row)"
 								title="退回"
 								v-auth="'business:secondHandle:return'"
-								v-if="[1].includes(row.state)"
+								v-show="[1].includes(row.state)"
 							>
 								退回
 							</el-button>
-							<el-button link type="primary" @click="onAudit(row)" title="审批" v-auth="'business:secondHandle:audit'" v-if="[1].includes(row.state)">
+							<el-button link type="primary" @click="onAudit(row)" title="审批" v-auth="'business:secondHandle:audit'" v-show="[1].includes(row.state)">
 								审批
 							</el-button>
 						</template>

+ 11 - 4
src/views/business/terminate/apply.vue

@@ -84,11 +84,18 @@
 								@click="onReApply(row)"
 								title="重提申请"
 								v-auth="'business:terminate:apply:apply'"
-								v-if="row.orderTerminates?.length"
+								v-show="row.orderTerminates.length > 0"
 							>
 								重提申请
 							</el-button>
-							<el-button link type="primary" @click="onApply(row)" title="终止申请" v-auth="'business:terminate:apply:apply'" v-else>
+							<el-button
+								link
+								type="primary"
+								@click="onApply(row)"
+								title="终止申请"
+								v-auth="'business:terminate:apply:apply'"
+								v-show="row.orderTerminates.length === 0"
+							>
 								终止申请
 							</el-button>
 						</template>
@@ -191,7 +198,7 @@ const handleQuery = () => {
 };
 // 刷新列表
 const refreshList = () => {
-  queryList();
+	queryList();
 };
 /** 获取列表 */
 const requestParams = ref<EmptyObjectType>({});
@@ -247,7 +254,7 @@ const onApply = (row: any) => {
 			annexName: '终止附件',
 		},
 	};
-	terminateApplyRef.value.openDialog(params)
+	terminateApplyRef.value.openDialog(params);
 };
 // 终止详情
 const terminateDetailRef = ref<RefType>();

+ 1 - 1
src/views/todo/center/index.vue

@@ -275,7 +275,7 @@ const gridOptions = reactive<any>({
 		{ field: 'hotspotName', title: '热点分类', width: 150 },
 		{ field: 'sensitive', title: '敏感词', width: 150 },
 		{ field: 'reTransactNum', title: '重办次数', width: 130 },
-		{ title: '操作', width: 140, fixed: 'right', align: 'center', slots: { default: 'action' } },
+		{ title: '操作', width: 150, fixed: 'right', align: 'center', slots: { default: 'action' } },
 	],
 	data: [],
 	sortConfig: {

+ 4 - 0
src/views/todo/seats/accept/lzAccept.vue

@@ -516,6 +516,8 @@ const state = reactive<any>({
 			dicDataName: '咨询',
 		},
 		tags: [], // 工单标签
+		longitude:null,//经度
+		latitude:null,//纬度
 	},
 	formLoading: false, // 表单加载状态
 	hotspotExternal: [], // 热点分类外部数据
@@ -551,6 +553,8 @@ const appConfigStore = useAppConfig();
 const { AppConfigInfo } = storeToRefs(appConfigStore); // 系统配置信息
 state.ruleForm.acceptorName = userInfos.value.name; // 员工姓名
 state.ruleForm.acceptorStaffNo = userInfos.value.staffNo; // 员工工号
+state.ruleForm.longitude = AppConfigInfo.value.locationCenter[0]; // 默认经度
+state.ruleForm.latitude = AppConfigInfo.value.locationCenter[1]; // 默认纬度
 const route = useRoute(); // 路由
 // 选择来源渠道
 const changeChannel = (val: any) => {

+ 5 - 7
src/views/todo/seats/accept/ybAccept.vue

@@ -8,7 +8,7 @@
 						<div class="flex-center-between pb10">
 							<p class="border-title mb10">语音助手</p>
 						</div>
-						<voice-assistant @orderOverwrite="orderOverwrite" ref="voiceAssistantRef" />
+						<voice-assistant @orderOverwrite="orderOverwrite" />
 					</el-card>
 					<el-card shadow="never">
 						<el-tabs v-model="leftTopActive" @tab-change="handleLeftTop" stretch>
@@ -614,6 +614,8 @@ const state = reactive<any>({
 			dicDataName: '咨询',
 		},
 		knowledgeQuote: [], // 知识库引用
+		longitude:null,//经度
+		latitude:null,//纬度
 	},
 	formLoading: false, // 表单加载状态
 	hotspotExternal: [], // 热点分类外部数据
@@ -647,13 +649,9 @@ const appConfigStore = useAppConfig();
 const { AppConfigInfo } = storeToRefs(appConfigStore); // 系统配置信息
 state.ruleForm.acceptorName = userInfos.value.name; // 员工姓名
 state.ruleForm.acceptorStaffNo = userInfos.value.staffNo; // 员工工号
+state.ruleForm.longitude = AppConfigInfo.value.locationCenter[0]; // 默认经度
+state.ruleForm.latitude = AppConfigInfo.value.locationCenter[1]; // 默认纬度
 const route = useRoute(); // 路由
-const voiceType = ref('');
-// 选择坐席还是市民通话内容
-const voiceAssistantRef = ref<RefType>();
-const changeVoiceType = () => {
-	voiceAssistantRef.value.filterMessage(voiceType.value);
-};
 const leftTopActive = ref('realtime');
 // 切换工单小结和实时质检
 const callSummaryRef = ref<RefType>();

+ 4 - 0
src/views/todo/seats/accept/zgAccept.vue

@@ -540,6 +540,8 @@ const state = reactive<any>({
 		industryName: null, // 行业分类名称
 		knowledgeQuote: [], // 知识库引用
 		tags: [], // 工单标签
+		longitude:null,//经度
+		latitude:null,//纬度
 	},
 	formLoading: false, // 表单加载状态
 	hotspotExternal: [], // 热点分类外部数据
@@ -576,6 +578,8 @@ const appConfigStore = useAppConfig();
 const { AppConfigInfo } = storeToRefs(appConfigStore); // 系统配置信息
 state.ruleForm.acceptorName = userInfos.value.name; // 员工姓名
 state.ruleForm.acceptorStaffNo = userInfos.value.staffNo; // 员工工号
+state.ruleForm.longitude = AppConfigInfo.value.locationCenter[0]; // 默认经度
+state.ruleForm.latitude = AppConfigInfo.value.locationCenter[1]; // 默认纬度
 const route = useRoute(); // 路由
 // 选择来源渠道
 const changeChannel = (val: any) => {

+ 1 - 0
src/views/todo/seats/index.vue

@@ -45,6 +45,7 @@
 					</template>
 					<template #action="{ row }">
 						<el-button link type="success" @click="onOrderEdit(row)" title="编辑工单" v-show="row.canEdit" v-auth="'todo:seats:edit'"> 修改 </el-button>
+						<span></span>
 						<el-button link type="primary" @click="onSign(row)" title="签收工单" v-show="row.canSign" v-auth="'todo:seats:sign'"> 签收 </el-button>
 					</template>
 					<template #pager>