Эх сурвалжийг харах

reactor:知识分类调整为多选;

zhangchong 1 жил өмнө
parent
commit
bc647c25df

+ 14 - 1
src/api/business/order.ts

@@ -20,8 +20,10 @@ export const listBaseData = () => {
  */
 export const orderList = (params: any) => {
 	return request({
-		url: `/api/v1/Order?${qs.stringify(params)}`,
+		url: `/api/v1/Order`,
 		method: 'get',
+		params,
+		paramsSerializer: params => qs.stringify(params)
 	});
 };
 /**
@@ -195,4 +197,15 @@ export const cancelDelay = (data: object) => {
 		method: 'post',
 		data
 	});
+}
+/**
+ * @description 工单办理
+ * @param {object} data
+ */
+export const orderHandle = (data: object) => {
+	return request({
+		url: `/api/v1/Order/handle`,
+		method: 'post',
+		data
+	});
 }

+ 17 - 9
src/components/ProcessAudit/index.vue

@@ -446,7 +446,7 @@ import other from '@/utils/other';
 import { useUserInfo } from '@/stores/userInfo';
 import { storeToRefs } from 'pinia';
 import { commonEnum } from '@/utils/constants';
-import { orderFlowParams, orderStartFlow, orderTimeConfig } from '@/api/business/order';
+import { orderFlowParams, orderHandle, orderStartFlow, orderTimeConfig } from "@/api/business/order";
 import {
 	orderPrevious,
 	workflowNext,
@@ -1091,7 +1091,11 @@ const onSubmit = (formEl: FormInstance | undefined) => {
 							});
 						break;
 					case '工单办理': // 工单办理流程
-						workflowNext({ ...submitObj, files: handleFiles.value })
+            const orderHandleRequest = {
+              data: { ...state.orderDetail },
+              workflow: { ...submitObj, files: handleFiles.value },
+            };
+            orderHandle(orderHandleRequest)
 							.then(() => {
 								afterSubmit('orderProcessSuccess', true);
 							})
@@ -1152,13 +1156,17 @@ const onSubmit = (formEl: FormInstance | undefined) => {
 							});
 						break;
 					default: // 默认工单办理
-						workflowNext({ ...submitObj, files: handleFiles.value })
-							.then(() => {
-								afterSubmit('orderProcessSuccess', true);
-							})
-							.catch(() => {
-								afterSubmit('orderProcessFailed');
-							});
+            const orderHandleRequestDefault = {
+              data: { ...state.orderDetail },
+              workflow: { ...submitObj, files: handleFiles.value },
+            };
+            orderHandle(orderHandleRequestDefault)
+              .then(() => {
+                afterSubmit('orderProcessSuccess', true);
+              })
+              .catch(() => {
+                afterSubmit('orderProcessFailed');
+              });
 						break;
 				}
 			})

+ 5 - 1
src/views/knowledge/collect/index.vue

@@ -19,7 +19,11 @@
             <el-button link type="primary" @click="onPreview(row)">{{ row.knowledge?.title }}</el-button>
           </template>
         </el-table-column>
-        <el-table-column prop="knowledge.knowledgeTypeText" label="知识分类" show-overflow-tooltip width="120"></el-table-column>
+        <el-table-column label="知识分类" show-overflow-tooltip min-width="200">
+          <template #default="{ row }">
+            <span>{{ row.knowledge?.knowledgeType?.map(item=> item.value).join(',') }}</span>
+          </template>
+        </el-table-column>
         <el-table-column prop="knowledge.statusText" label="知识状态" show-overflow-tooltip></el-table-column>
         <el-table-column prop="score" label="知识评分" show-overflow-tooltip></el-table-column>
         <el-table-column prop="creatorName" label="收藏人" show-overflow-tooltip></el-table-column>

+ 5 - 1
src/views/knowledge/error/index.vue

@@ -30,7 +30,11 @@
             <el-button link type="primary" @click="onPreview(row)">{{ row.knowledge?.title }}</el-button>
           </template>
         </el-table-column>
-				<el-table-column prop="knowledgeTypeText" label="知识分类" show-overflow-tooltip width="120"></el-table-column>
+        <el-table-column label="知识分类" show-overflow-tooltip min-width="200">
+          <template #default="{ row }">
+            <span>{{ row.knowledgeType?.map(item=> item.value).join(',') }}</span>
+          </template>
+        </el-table-column>
 				<el-table-column prop="knowledge.statusText" label="知识状态" show-overflow-tooltip></el-table-column>
 				<el-table-column prop="stateText" label="答复状态" show-overflow-tooltip></el-table-column>
 				<el-table-column prop="creatorName" label="纠错人" show-overflow-tooltip></el-table-column>

+ 10 - 4
src/views/knowledge/index/edit.vue

@@ -24,13 +24,16 @@
 							<el-cascader
 								:options="state.typeData"
 								filterable
-								:props="{ checkStrictly: true, value: 'id', label: 'name', emitPath: false, children: 'children' }"
+								:props="{ checkStrictly: true, value: 'id', label: 'name', emitPath: false, children: 'children',multiple: true }"
 								placeholder="请选择知识分类"
 								clearable
 								class="w100"
 								v-model="state.ruleForm.knowledgeTypeId"
 								ref="cascadeRef"
 								@change="getKnowledgeList"
+                collapse-tags
+                collapse-tags-tooltip
+                :max-collapse-tags="2"
 							>
 							</el-cascader>
 						</el-form-item>
@@ -208,7 +211,7 @@ const state = reactive<any>({
 		isPublic: true, // 是否公开
 		keywords: [], // 关键字
 		keywordsName: '', // 关键字名称
-		knowledgeTypeId: '', // 知识分类
+		knowledgeTypeId: [], // 知识分类
 		hotspotId: '', // 热点分类
 		knowledges: [], // 关联知识
     files: [], // 附件
@@ -275,8 +278,10 @@ const cascadeRef = ref<RefType>();
 // 获取选择name值
 const getKnowledgeList = () => {
 	let currentNode = cascadeRef.value.getCheckedNodes();
-	state.ruleForm.parentName = currentNode[0]?.label ?? '';
-	state.ruleForm.knowledgeTypeName = currentNode[0]?.text ?? '';
+  state.ruleForm.knowledgeType = currentNode.map((item: any) => {
+    return {value:item.label,key: item.value,splice: item.data.spliceName}
+  })
+  console.log('currentNode', currentNode,state.ruleForm.knowledgeType);
 };
 // 添加关键词
 const knowledgeKeywordsRef = ref<RefType>();
@@ -461,6 +466,7 @@ const getDetail = async () => {
 		if (state.ruleForm.keywordsDto && state.ruleForm.keywordsDto.length) {
 			state.ruleForm.keywordsName = state.ruleForm.keywordsDto.map((item: any) => item.tag).join(',');
 		}
+    state.ruleForm.knowledgeTypeId = state.ruleForm.knowledgeType.map((item: any) => item.key);
 	}
 };
 onMounted(() => {

+ 5 - 1
src/views/knowledge/index/index.vue

@@ -130,7 +130,11 @@
 									<el-button link type="primary" @click="onPreview(row)">{{ row.title }}</el-button>
 								</template>
 							</el-table-column>
-							<el-table-column prop="knowledgeTypeName" label="知识分类" show-overflow-tooltip width="150"></el-table-column>
+							<el-table-column label="知识分类" show-overflow-tooltip min-width="200">
+                <template #default="{ row }">
+                  <span>{{ row.knowledgeType?.map(item=> item.value).join(',') }}</span>
+                </template>
+              </el-table-column>
 							<el-table-column prop="statusName" label="知识状态" show-overflow-tooltip></el-table-column>
 							<el-table-column
 								prop="workflow.moduleName"

+ 1 - 1
src/views/knowledge/index/preview.vue

@@ -10,7 +10,7 @@
 					<span class="mr10">创建人:{{ state.info.creatorName }}</span>
 					<span class="mr10">创建部门:{{ state.info.creatorOrgName }}</span>
 					<span class="mr10">更新时间:{{ formatDate(state.info.creationTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
-					<span class="mr10">知识分类:{{ state.info.knowledgeTypeName }}</span>
+					<span class="mr10">知识分类:{{ state.info.knowledgeType?.map(item=> item.value).join(',') }}</span>
 					<template v-if="route.params.id">
 						<span class="mr10">已阅:{{ state.info.pageView }}</span>
 						<el-button link class="flex-center-align" type="info" @click="onCollect" v-auth="'knowledge:collect:collect'">

+ 5 - 1
src/views/knowledge/question/index.vue

@@ -30,7 +30,11 @@
             <el-button link type="primary" @click="onPreview(row)">{{ row.knowledge?.title }}</el-button>
           </template>
         </el-table-column>
-				<el-table-column prop="knowledgeTypeText" label="知识分类" show-overflow-tooltip width="120"></el-table-column>
+        <el-table-column label="知识分类" show-overflow-tooltip min-width="200">
+          <template #default="{ row }">
+            <span>{{ row.knowledgeType?.map(item=> item.value).join(',') }}</span>
+          </template>
+        </el-table-column>
 				<el-table-column prop="knowledge.statusText" label="知识状态" show-overflow-tooltip></el-table-column>
 				<el-table-column prop="stateText" label="答复状态" show-overflow-tooltip></el-table-column>
 				<el-table-column prop="creatorName" label="提问人" show-overflow-tooltip></el-table-column>

+ 27 - 30
src/views/todo/seats/accept/index.vue

@@ -910,36 +910,33 @@ const canHandle = computed(() => {
 const processAuditRef = ref<RefType>();
 const processOrder = (orderDetail: any) => {
 	buttonLoading.value = false;
-  // 先保存工单信息
-  orderEdit(orderDetail).then(() => {
-    // 如果有流程id 说明已经有流程了 直接调用工单办理
-    if (orderDetail.workflowId) {
-      const params = {
-        id: orderDetail.workflowId,
-        processType: '工单办理',
-        orderDetail,
-        extra: {
-          dialogTitle: '工单办理',
-          inputPlaceholder: '办理意见',
-          annexName: '办理附件',
-        },
-      };
-      processAuditRef.value.openDialog(params);
-    } else {
-      // 如果没有流程id 说明没有发起过流程 调用工单受理
-      const params = {
-        id: state.orderId,
-        processType: '工单受理',
-        extra: {
-          dialogTitle: '工单受理',
-          inputPlaceholder: '办理意见',
-          annexName: '办理附件',
-        },
-        orderDetail,
-      };
-      processAuditRef.value.openDialog(params);
-    }
-  });
+	if (orderDetail.workflowId) {
+		// 如果已经有流程id 说明已经发起过流程  直接调用工单办理
+		const params = {
+			id: orderDetail.workflowId,
+			processType: '工单办理',
+			orderDetail,
+			extra: {
+				dialogTitle: '工单办理',
+				inputPlaceholder: '办理意见',
+				annexName: '办理附件',
+			},
+		};
+		processAuditRef.value.openDialog(params);
+	} else {
+		// 如果没有流程id 说明没有发起过流程  调用工单受理
+		const params = {
+			id: state.orderId,
+			processType: '工单受理',
+			extra: {
+				dialogTitle: '工单受理',
+				inputPlaceholder: '办理意见',
+				annexName: '办理附件',
+			},
+			orderDetail,
+		};
+		processAuditRef.value.openDialog(params);
+	}
 };
 const handleForm = (orderDetail: any) => {
 	if (orderDetail.orderExtension?.orderTypeCode) {

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

@@ -100,7 +100,7 @@
 					<el-table-column label="工单状态" show-overflow-tooltip width="100" prop="statusText"></el-table-column>
 					<el-table-column label="标题" show-overflow-tooltip width="300">
 						<template #default="{ row }">
-							<span class="color-primary">{{ row.title }}</span>
+              <order-detail :order="row" @updateList="queryList">{{row.title}}</order-detail>
 						</template>
 					</el-table-column>
 					<el-table-column label="生成时间" show-overflow-tooltip width="170">