Browse Source

知识库流程调整

zhangchong 2 năm trước cách đây
mục cha
commit
e98302c727

+ 0 - 67
src/api/knowledge/draft.ts

@@ -1,67 +0,0 @@
-/*
- * @Author: zc
- * @Description: 知识管理 草稿箱
- * @version:
- * @Date: 2022-08-09 16:19:55
- * @LastEditors: Please set LastEditors
- * @LastEditTime: 2022-11-15 10:21:44
- */
-import request from '/@/utils/request';
-/**
- * @description: 我的草稿箱
-  @param {object} params
- * @return {*}
- */
-export const mydraftslist = (params: object) => {
-	return request({
-		url: '/api/v1/Knowledge/mydraftslist',
-		method: 'get',
-        params
-	});
-};
-/**
- * @description: 草稿箱-新增
-  @param {object} data
- * @return {*}
- */
-export const adddrafts = (data: object) => {
-	return request({
-		url: '/api/v1/Knowledge/adddrafts',
-		method: 'post',
-        data
-	});
-};
-/**
- * @description: 草稿箱-修改
-  @param {object} data
- * @return {*}
- */
-export const updatedrafts = (data: object) => {
-	return request({
-		url: '/api/v1/Knowledge/updatedrafts',
-		method: 'put',
-        data
-	});
-};
-/**
- * @description: 草稿箱-查询详情
-  @param {string} id
- * @return {*}
- */
-  export const draftsinfo = (id: string | string[]) => {
-	return request({
-		url: `api/v1/Knowledge/draftsinfo/${id}`,
-		method: 'get'
-	});
-};
-/**
- * @description: 草稿箱-删除
-  @param {string} id
- * @return {*}
- */
-  export const removedrafts = (id: string | string[]) => {
-	return request({
-		url: `/api/v1/Knowledge/removedrafts?Id=${id}`,
-		method: 'delete'
-	});
-};

+ 18 - 8
src/api/knowledge/index.ts

@@ -53,6 +53,18 @@ export const KnowledgePaged = (params: object) => {
 		params
 	});
 };
+/**
+ * @description: 我的草稿箱
+  @param {object} params
+ * @return {*}
+ */
+  export const mydraftslist = (params: object) => {
+	return request({
+		url: '/api/v1/Knowledge/mydraftslist',
+		method: 'get',
+        params
+	});
+};
 /**
  * @description: 知识库新增
  * @param {object} data
@@ -78,16 +90,14 @@ export const KnowledgeUpdate = (data: object) => {
 	});
 };
 /**
- * @description: 知识库删除
- * @param {object} data
+ * @description: 知识库删除(草稿状态删除)
  * @param {string} id
  * @return {*}
  */
-export const KnowledgeDel = (data: object, id: string) => {
+export const KnowledgeDel = (id: string) => {
 	return request({
-		url: `/api/v1/Knowledge/remove?Id=${id}`,
-		method: 'post',
-		data
+		url: `/api/v1/Knowledge/${id}`,
+		method: 'delete',
 	});
 };
 /**
@@ -107,7 +117,7 @@ export const KnowledgeDetail = (Id: string | string[]) => {
  * @param {boolean} IsAddPv  true 增加浏览量 false不增 默认false
  * @return {*}
  */
-export const KnowledgeInfo = (Id: string | string[],params?:object) => {
+export const KnowledgeInfo = (Id: string | string[], params?: object) => {
 	return request({
 		url: `/api/v1/Knowledge/info/${Id}`,
 		method: 'get',
@@ -186,7 +196,7 @@ export const KnowledgeDeletelist = (params: object) => {
  * @description:  审核管理列表 基础数据
  * @return {*}
  */
-export const approvedBasedata= () => {
+export const approvedBasedata = () => {
 	return request({
 		url: `/api/v1/Knowledge/approval-base-data`,
 		method: 'get'

+ 0 - 1
src/components/LogicFlow/PropertySetting/summary.vue

@@ -24,7 +24,6 @@
 					multiple
 					filterable
 					class="w100"
-					:placeholder="'请选择' + itemName"
 					@change="getSelectValue"
 					value-key="id"
 				>

+ 0 - 1
src/components/LogicFlow/PropertySetting/task.vue

@@ -24,7 +24,6 @@
 					multiple
 					filterable
 					class="w100"
-					:placeholder="'请选择' + itemName"
 					@change="getSelectValue"
 					value-key="id"
 				>

+ 1 - 1
src/components/TimeLine/index.vue

@@ -71,7 +71,7 @@
 							<p class="flex1-inner">{{ formatDate(item.timeLimit, 'YYYY-mm-dd HH:MM:SS') }}</p>
 						</div>
 					</div>
-					<div class="opinion">
+					<div class="opinion" v-if="item.opinion">
 						<span class="opinion-title">意见</span>
 						<ExpandText> {{ item.opinion }} </ExpandText>
 					</div>

+ 2 - 2
src/views/knowledge/component/ProcessRecord.vue

@@ -1,6 +1,6 @@
 <template>
-	<div class="knowledge-knowledge-ProcessRecord-container" width="80%">
-		<el-dialog :title="'审核记录 (' + state.title + ')'" v-model="state.isShowDialog" draggable>
+	<div class="knowledge-knowledge-ProcessRecord-container">
+		<el-dialog :title="'审核记录 (' + state.title + ')'" v-model="state.isShowDialog"  width="80%" draggable>
 			<div v-loading="state.loading">
 				<TimeLine :data="state.traces" defaultExpandAll />
 			</div>

+ 71 - 35
src/views/knowledge/knowledge/component/editKnowledge.vue

@@ -137,7 +137,7 @@
 		<!-- 编写规范 -->
 		<Standard ref="standardRef" />
 		<!-- 流程组件 -->
-		<Process ref="processRef" @submitProcessSuccess="submitProcessSuccess" @submitProcessFailed="submitProcessFailed"/>
+		<Process ref="processRef" @submitProcessSuccess="submitProcessSuccess" />
 	</div>
 </template>
 
@@ -152,8 +152,7 @@ import { useUserInfo } from '/@/stores/userInfo';
 import { Local } from '/@/utils/storage';
 import { commonEeum } from '/@/utils/tools';
 import { treelist } from '/@/api/knowledge/type';
-import { KnowledgeDetail, KnowledgeAdd, KnowledgeGetknowledge } from '/@/api/knowledge';
-import { adddrafts, updatedrafts, draftsinfo } from '/@/api/knowledge/draft';
+import { KnowledgeDetail, KnowledgeAdd, KnowledgeGetknowledge, KnowledgeUpdate } from '/@/api/knowledge';
 import { hotspottype } from '/@/api/business/order';
 
 // 引入组件
@@ -175,6 +174,7 @@ const state = reactive<any>({
 	hotspotExternal: [],
 	knowledgeOptions: [], //关联知识
 	saveText: '保存到草稿箱',
+	knowledgeId: '', // 当前id
 });
 const route = useRoute();
 const router = useRouter();
@@ -228,10 +228,36 @@ const onSubmitReview = async (formEl: FormInstance | undefined) => {
 	await formEl.validate((valid) => {
 		if (valid) {
 			state.ruleForm.hotspotExternal = state.hotspotExternal.join(',');
-			//知识流程提交
-			KnowledgeAdd(state.ruleForm).then((res: any) => {
-				processRef.value.openDialog({ id: res.result, title: '创建知识', commonEeum: commonEeum.KnowledgeLocution, processType: 'addStart' });
-			});
+			const submitObj = JSON.parse(JSON.stringify(state.ruleForm));
+			if (route.params.id) {
+				// 更新
+				submitObj.id = route.params.id;
+				if (route.params.isDraft) {
+					// 如果从草稿进来 // 更新
+					KnowledgeUpdate(submitObj).then(() => {
+						processRef.value.openDialog({ id: submitObj.id, title: '创建知识', commonEeum: commonEeum.KnowledgeLocution, processType: 'addStart' });
+					});
+				} else {
+					//如果是直接从知识库编辑 新增
+					KnowledgeAdd(submitObj).then(() => {
+						processRef.value.openDialog({ id: submitObj.id, title: '创建知识', commonEeum: commonEeum.KnowledgeLocution, processType: 'addStart' });
+					});
+				}
+			} else {
+				if (state.knowledgeId) {
+					// 更新
+					submitObj.id = state.knowledgeId;
+					KnowledgeUpdate(submitObj).then(() => {
+						processRef.value.openDialog({ id: submitObj.id, title: '创建知识', commonEeum: commonEeum.KnowledgeLocution, processType: 'addStart' });
+					});
+				} else {
+					//知识流程提交
+					KnowledgeAdd(submitObj).then((res: any) => {
+						state.knowledgeId = res.result;
+						processRef.value.openDialog({ id: res.result, title: '创建知识', commonEeum: commonEeum.KnowledgeLocution, processType: 'addStart' });
+					});
+				}
+			}
 		}
 	});
 };
@@ -243,10 +269,6 @@ const submitProcessSuccess = () => {
 	// 关闭当前 tagsView
 	mittBus.emit('onCurrentContextmenuClick', Object.assign({}, { contextMenuClickId: 1, ...route }));
 };
-// 流程提交失败
-const submitProcessFailed = ()=>{
-	
-}
 // 预览
 const onPreview = () => {
 	state.ruleForm.creatorName = userInfos.value?.name ?? '';
@@ -265,9 +287,11 @@ const onSaveOnly = async (formEl: FormInstance | undefined) => {
 	await formEl.validate((valid) => {
 		if (valid) {
 			state.ruleForm.hotspotExternal = state.hotspotExternal.join(',');
-			if (route.params.isDraft && route.params.id) {
-				// 草稿
-				updatedrafts(state.ruleForm).then(() => {
+			const submitObj = JSON.parse(JSON.stringify(state.ruleForm));
+			if (route.params.id) {
+				// 更新
+				submitObj.id = route.params.id;
+				KnowledgeUpdate(submitObj).then(() => {
 					ElMessage.success('操作成功');
 					router.push({
 						path: '/knowledge/draft',
@@ -276,15 +300,28 @@ const onSaveOnly = async (formEl: FormInstance | undefined) => {
 					mittBus.emit('onCurrentContextmenuClick', Object.assign({}, { contextMenuClickId: 1, ...route }));
 				});
 			} else {
-				// 修改 新增
-				adddrafts(state.ruleForm).then(() => {
-					ElMessage.success('操作成功');
-					router.push({
-						path: '/knowledge/draft',
+				if (state.knowledgeId) {
+					// 更新
+					submitObj.id = state.knowledgeId;
+					KnowledgeUpdate(submitObj).then(() => {
+						ElMessage.success('操作成功');
+						router.push({
+							path: '/knowledge/draft',
+						});
+						// 关闭当前 tagsView
+						mittBus.emit('onCurrentContextmenuClick', Object.assign({}, { contextMenuClickId: 1, ...route }));
 					});
-					// 关闭当前 tagsView
-					mittBus.emit('onCurrentContextmenuClick', Object.assign({}, { contextMenuClickId: 1, ...route }));
-				});
+				} else {
+					// 修改 新增
+					KnowledgeAdd(submitObj).then(() => {
+						ElMessage.success('操作成功');
+						router.push({
+							path: '/knowledge/draft',
+						});
+						// 关闭当前 tagsView
+						mittBus.emit('onCurrentContextmenuClick', Object.assign({}, { contextMenuClickId: 1, ...route }));
+					});
+				}
 			}
 		}
 	});
@@ -310,20 +347,19 @@ onMounted(async () => {
 	getKnowledgeType();
 	state.loading = true;
 	try {
-		let res: any;
-		if (route.params.isDraft && route.params.id) {
-			res = await draftsinfo(route.params.id); //草稿详情
-			state.saveText = '保存';
-		} else if (route.params.id) {
-			res = await KnowledgeDetail(route.params.id); //知识详情
-		}
-		state.ruleForm = res.result ?? {};
-		if (res.result.hotspotExternal) {
-			//热点分类默认展开
-			state.hotspotExternal = state.ruleForm.hotspotExternal.split(',');
+		if (route.params.id) {
+			const res: any = await KnowledgeDetail(route.params.id); //知识详情
+			if (route.params.isDraft) {
+				state.saveText = '保存';
+			}
+			state.ruleForm = res.result ?? {};
+			if (res.result.hotspotExternal) {
+				//热点分类默认展开
+				state.hotspotExternal = state.ruleForm.hotspotExternal.split(',');
+			}
+			state.ruleForm.knowledges = state.ruleForm.knowledges ?? [];
+			state.loading = false;
 		}
-		state.ruleForm.knowledges = state.ruleForm.knowledges ?? [];
-		state.loading = false;
 	} catch (error) {
 		state.loading = false;
 	}

+ 4 - 6
src/views/knowledge/knowledge/draft/index.vue

@@ -44,9 +44,7 @@
 		<el-card shadow="never">
 			<div class="flex-center-between mb20">
 				<p class="table-title">信息列表</p>
-				<div>
-					
-				</div>
+				<div></div>
 			</div>
 			<!-- 表格 -->
 			<el-table :data="state.tableList" v-loading="state.loading" row-key="id">
@@ -82,7 +80,7 @@ import { formatDate } from '/@/utils/formatTime';
 import { useRouter } from 'vue-router';
 // 引入节流
 import { throttle } from '/@/utils/tools';
-import { mydraftslist, removedrafts } from '/@/api/knowledge/draft';
+import { KnowledgeDel, mydraftslist } from '/@/api/knowledge';
 
 const shortcuts = [
 	{
@@ -168,7 +166,7 @@ const onEdit = (row: any) => {
 		params: {
 			id: row.id,
 			tagsViewName: '编辑草稿',
-			isDraft:'isDraft',
+			isDraft: 'isDraft',
 		},
 	});
 };
@@ -181,7 +179,7 @@ const onDel = (row: any) => {
 		cancelButtonClass: 'default-button',
 	})
 		.then(() => {
-			removedrafts(row.id).then(() => {
+			KnowledgeDel(row.id).then(() => {
 				ElMessage.success('操作成功');
 				getList();
 			});

+ 1 - 1
src/views/system/organize/component/addOrg.vue

@@ -9,7 +9,7 @@
 						</el-form-item>
 					</el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-						<el-form-item label="上级部门" prop="parentId" :rules="[{ required: true, message: '请选择上级部门', trigger: 'change' }]">
+						<el-form-item label="上级部门" prop="parentId" :rules="[{ required: false, message: '请选择上级部门', trigger: 'change' }]">
 							<el-cascader
 								:options="state.orgData"
 								filterable

+ 1 - 1
src/views/system/organize/component/editOrg.vue

@@ -9,7 +9,7 @@
 						</el-form-item>
 					</el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-						<el-form-item label="上级部门" prop="parentId" :rules="[{ required: true, message: '请选择上级部门', trigger: 'change' }]">
+						<el-form-item label="上级部门" prop="parentId" :rules="[{ required: false, message: '请选择上级部门', trigger: 'change' }]">
 							<el-cascader
 								:options="state.orgData"
 								filterable