From ed66231d19ec5b0614b05c0ab8953e5d767dd9f1 Mon Sep 17 00:00:00 2001
From: dap <dap@qq.com>
Date: 星期三, 15 五月 2024 11:35:02 +0800
Subject: [PATCH] Merge branch 'dev' of https://gitee.com/JavaLionLi/plus-ui into dev
---
/dev/null | 53 -----------------
src/views/workflow/leave/leaveEdit.vue | 4
src/api/login.ts | 6 +
src/components/Process/multiInstanceUser.vue | 22 +++++--
src/layout/components/AppMain.vue | 9 ++-
src/views/system/user/profile/onlineDevice.vue | 2
src/components/Process/approvalRecord.vue | 8 +-
src/views/system/user/profile/thirdParty.vue | 4
src/api/system/user/index.ts | 6 +
src/api/workflow/task/index.ts | 24 ++++++++
src/bpmn/panel/TaskPanel.vue | 15 ++--
src/api/system/tenant/index.ts | 3
12 files changed, 71 insertions(+), 85 deletions(-)
diff --git a/src/api/login.ts b/src/api/login.ts
index 100a5e9..b6955de 100644
--- a/src/api/login.ts
+++ b/src/api/login.ts
@@ -20,7 +20,8 @@
url: '/auth/login',
headers: {
isToken: false,
- isEncrypt: true
+ isEncrypt: true,
+ repeatSubmit: false
},
method: 'post',
data: params
@@ -38,7 +39,8 @@
url: '/auth/register',
headers: {
isToken: false,
- isEncrypt: true
+ isEncrypt: true,
+ repeatSubmit: false
},
method: 'post',
data: params
diff --git a/src/api/system/tenant/index.ts b/src/api/system/tenant/index.ts
index 4531a0a..4380dbe 100644
--- a/src/api/system/tenant/index.ts
+++ b/src/api/system/tenant/index.ts
@@ -25,7 +25,8 @@
url: '/system/tenant',
method: 'post',
headers: {
- isEncrypt: true
+ isEncrypt: true,
+ repeatSubmit: false
},
data: data
});
diff --git a/src/api/system/user/index.ts b/src/api/system/user/index.ts
index 61a58f6..25c7884 100644
--- a/src/api/system/user/index.ts
+++ b/src/api/system/user/index.ts
@@ -86,7 +86,8 @@
url: '/system/user/resetPwd',
method: 'put',
headers: {
- isEncrypt: true
+ isEncrypt: true,
+ repeatSubmit: false
},
data: data
});
@@ -145,7 +146,8 @@
url: '/system/user/profile/updatePwd',
method: 'put',
headers: {
- isEncrypt: true
+ isEncrypt: true,
+ repeatSubmit: false
},
data: data
});
diff --git a/src/api/workflow/task/index.ts b/src/api/workflow/task/index.ts
index 8260e69..d29de30 100644
--- a/src/api/workflow/task/index.ts
+++ b/src/api/workflow/task/index.ts
@@ -238,3 +238,27 @@
data: data
});
};
+
+/**
+ * 鏌ヨ宸ヤ綔娴佷换鍔$敤鎴烽�夋嫨鍔犵浜哄憳
+ * @param taskId
+ * @returns {*}
+ */
+export const getTaskUserIdsByAddMultiInstance = (taskId: string) => {
+ return request({
+ url: '/workflow/task/getTaskUserIdsByAddMultiInstance/' + taskId,
+ method: 'get'
+ });
+};
+
+/**
+ * 鏌ヨ宸ヤ綔娴侀�夋嫨鍑忕浜哄憳
+ * @param taskId
+ * @returns {*}
+ */
+export const getListByDeleteMultiInstance = (taskId: string) => {
+ return request({
+ url: '/workflow/task/getListByDeleteMultiInstance/' + taskId,
+ method: 'get'
+ });
+};
diff --git a/src/api/workflow/workflowUser/index.ts b/src/api/workflow/workflowUser/index.ts
deleted file mode 100644
index 7822715..0000000
--- a/src/api/workflow/workflowUser/index.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-import request from '@/utils/request';
-import { AxiosPromise } from 'axios';
-import { UserVO } from '@/api/system/user/types';
-
-/**
- * 鍒嗛〉鏌ヨ宸ヤ綔娴侀�夋嫨鍔犵浜哄憳
- * @param query
- * @returns {*}
- */
-export const getPageByAddMultiInstance = (query: object) => {
- return request({
- url: '/workflow/user/getPageByAddMultiInstance',
- method: 'get',
- params: query
- });
-};
-
-/**
- * 鏌ヨ宸ヤ綔娴侀�夋嫨鍑忕浜哄憳
- * @param query
- * @returns {*}
- */
-export const getListByDeleteMultiInstance = (taskId: string) => {
- return request({
- url: '/workflow/user/getListByDeleteMultiInstance/' + taskId,
- method: 'get'
- });
-};
-
-/**
- * 鎸夌収鐢ㄦ埛id鏌ヨ鐢ㄦ埛
- * @param userIdList
- * @returns {*}
- */
-export const getUserListByIds = (userIdList: any[]): AxiosPromise<UserVO[]> => {
- return request({
- url: '/workflow/user/getUserListByIds/' + userIdList,
- method: 'get'
- });
-};
-
-/**
- * 鍒嗛〉鏌ヨ鐢ㄦ埛
- * @param query
- * @returns {*}
- */
-export const getPageByUserList = (query: object) => {
- return request({
- url: '/workflow/user/getPageByUserList',
- method: 'get',
- params: query
- });
-};
diff --git a/src/bpmn/panel/TaskPanel.vue b/src/bpmn/panel/TaskPanel.vue
index 253d3f9..bc037ee 100644
--- a/src/bpmn/panel/TaskPanel.vue
+++ b/src/bpmn/panel/TaskPanel.vue
@@ -50,7 +50,7 @@
<el-tabs tab-position="left" class="demo-tabs">
<el-tab-pane label="韬唤瀛樺偍">
<el-form-item label="鍒嗛厤浜哄憳">
- <el-input v-model="formData.assignee">
+ <el-input v-model="formData.assignee" @blur="blurAssignee(formData.assignee)">
<template #append>
<el-button icon="Search" type="primary" @click="openSingleUserSelect" />
</template>
@@ -283,24 +283,23 @@
const isMultiple = ref(true);
const openUserSelect = () => {
- if (!formData.value.candidateUsers) {
- formData.value.candidateUsers = '-1';
- }
userSelectRef.value.open();
};
const openSingleUserSelect = () => {
+ if (formData.value.assignee.includes('$')) {
+ formData.value.assignee = '';
+ }
singleUserSelectRef.value.open();
};
const openRoleSelect = () => {
- if (!formData.value.candidateGroups) {
- formData.value.candidateGroups = '-1';
- }
roleSelectRef.value.open();
};
const openDueDate = (e) => {
dueDateRef.value.openDialog();
};
-
+const blurAssignee = (assignee) => {
+ updateProperties({ 'flowable:assignee': assignee ? assignee : undefined });
+};
const singleUserSelectCallBack = (data: UserVO[]) => {
const user: UserVO = data.length !== 0 ? data[0] : undefined;
updateProperties({ 'flowable:assignee': user?.userId });
diff --git a/src/components/Process/approvalRecord.vue b/src/components/Process/approvalRecord.vue
index c24b8a4..1610f27 100644
--- a/src/components/Process/approvalRecord.vue
+++ b/src/components/Process/approvalRecord.vue
@@ -5,14 +5,14 @@
<el-tab-pane label="娴佺▼鍥�" name="bpmn">
<BpmnView ref="bpmnViewRef"></BpmnView>
</el-tab-pane>
- <el-tab-pane label="瀹℃壒淇℃伅" name="info" v-loading="loading">
+ <el-tab-pane v-loading="loading" label="瀹℃壒淇℃伅" name="info">
<div>
<el-table :data="historyList" style="width: 100%" border fit>
<el-table-column type="index" label="搴忓彿" align="center" width="60"></el-table-column>
<el-table-column prop="name" label="浠诲姟鍚嶇О" sortable align="center"></el-table-column>
- <el-table-column prop="nickName" label="鍔炵悊浜�" sortable align="center">
+ <el-table-column prop="nickName" :show-overflow-tooltip="true" label="鍔炵悊浜�" sortable align="center">
<template #default="scope">
- <el-tag type="success">{{ scope.row.nickName||'鏃�' }}</el-tag>
+ <el-tag type="success">{{ scope.row.nickName || '鏃�' }}</el-tag>
</template>
</el-table-column>
<el-table-column label="鐘舵��" sortable align="center">
@@ -71,7 +71,7 @@
const init = async (instanceId: string) => {
visible.value = true;
loading.value = true;
- tabActiveName.value = 'bpmn'
+ tabActiveName.value = 'bpmn';
historyList.value = [];
processApi.getHistoryRecord(instanceId).then((resp) => {
historyList.value = resp.data.historyRecordList;
diff --git a/src/components/Process/multiInstanceUser.vue b/src/components/Process/multiInstanceUser.vue
index a2d37bf..b2039b9 100644
--- a/src/components/Process/multiInstanceUser.vue
+++ b/src/components/Process/multiInstanceUser.vue
@@ -81,9 +81,13 @@
</template>
<script setup name="User" lang="ts">
-import { deptTreeSelect } from '@/api/system/user';
-import { getPageByAddMultiInstance, getListByDeleteMultiInstance, getUserListByIds } from '@/api/workflow/workflowUser';
-import { addMultiInstanceExecution, deleteMultiInstanceExecution } from '@/api/workflow/task';
+import { deptTreeSelect, listUser, optionSelect } from '@/api/system/user';
+import {
+ addMultiInstanceExecution,
+ deleteMultiInstanceExecution,
+ getTaskUserIdsByAddMultiInstance,
+ getListByDeleteMultiInstance
+} from '@/api/workflow/task';
import { UserVO } from '@/api/system/user/types';
import { DeptVO } from '@/api/system/dept/types';
import { ComponentInternalInstance } from 'vue';
@@ -149,12 +153,14 @@
visible.value = true;
queryParams.value.taskId = taskId;
loading.value = true;
- const res = await getPageByAddMultiInstance(queryParams.value);
+ const res1 = await getTaskUserIdsByAddMultiInstance(taskId);
+ queryParams.value.excludeUserIds = res1.data;
+ const res = await listUser(queryParams.value);
loading.value = false;
userList.value = res.rows;
total.value = res.total;
if (userList.value && userIds.value.length > 0) {
- const data = await getUserListByIds(userIds.value);
+ const data = await optionSelect(userIds.value);
if (data.data && data.data.length > 0) {
chooseUserList.value = data.data;
data.data.forEach((user: UserVO) => {
@@ -171,12 +177,14 @@
const getList = async () => {
loading.value = true;
- const res = await getPageByAddMultiInstance(queryParams.value);
+ const res1 = await getTaskUserIdsByAddMultiInstance(queryParams.value.taskId);
+ queryParams.value.excludeUserIds = res1.data;
+ const res = await listUser(queryParams.value);
loading.value = false;
userList.value = res.rows;
total.value = res.total;
if (userList.value && userIds.value.length > 0) {
- const data = await getUserListByIds(userIds.value);
+ const data = await optionSelect(userIds.value);
if (data.data && data.data.length > 0) {
chooseUserList.value = data.data;
data.data.forEach((user: UserVO) => {
diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue
index 9e3dde4..d634935 100644
--- a/src/layout/components/AppMain.vue
+++ b/src/layout/components/AppMain.vue
@@ -2,9 +2,12 @@
<section class="app-main">
<router-view v-slot="{ Component, route }">
<transition :enter-active-class="animante" mode="out-in">
- <keep-alive :include="tagsViewStore.cachedViews">
- <component :is="Component" v-if="!route.meta.link" :key="route.path" />
- </keep-alive>
+ <div>
+ <keep-alive :include="tagsViewStore.cachedViews" v-if="!route.meta.noCache">
+ <component v-if="!route.meta.link" :is="Component" :key="route.path" />
+ </keep-alive>
+ <component v-if="!route.meta.link && route.meta.noCache" :is="Component" :key="route.path" />
+ </div>
</transition>
</router-view>
<iframe-toggle />
diff --git a/src/views/system/user/profile/onlineDevice.vue b/src/views/system/user/profile/onlineDevice.vue
index 479e89a..8da96f6 100644
--- a/src/views/system/user/profile/onlineDevice.vue
+++ b/src/views/system/user/profile/onlineDevice.vue
@@ -1,6 +1,6 @@
<template>
<div>
- <el-table :data="devices" style="width: 100%; height: 100%; font-size: 10px">
+ <el-table :data="devices" style="width: 100%; height: 100%; font-size: 14px">
<el-table-column label="璁惧绫诲瀷" align="center">
<template #default="scope">
<dict-tag :options="sys_device_type" :value="scope.row.deviceType" />
diff --git a/src/views/system/user/profile/thirdParty.vue b/src/views/system/user/profile/thirdParty.vue
index c052b9b..40daa86 100644
--- a/src/views/system/user/profile/thirdParty.vue
+++ b/src/views/system/user/profile/thirdParty.vue
@@ -1,7 +1,7 @@
<template>
<div>
- <el-table :data="auths" style="width: 100%; height: 100%; font-size: 10px">
- <el-table-column label="搴忓彿" width="50" type="index"></el-table-column>
+ <el-table :data="auths" style="width: 100%; height: 100%; font-size: 14px">
+ <el-table-column label="搴忓彿" width="50" type="index" />
<el-table-column label="缁戝畾璐﹀彿骞冲彴" width="140" align="center" prop="source" show-overflow-tooltip />
<el-table-column label="澶村儚" width="120" align="center" prop="avatar">
<template #default="scope">
diff --git a/src/views/workflow/leave/leaveEdit.vue b/src/views/workflow/leave/leaveEdit.vue
index a57614a..e978ad8 100644
--- a/src/views/workflow/leave/leaveEdit.vue
+++ b/src/views/workflow/leave/leaveEdit.vue
@@ -228,8 +228,8 @@
taskVariables.value = {
entity: data,
leaveDays: data.leaveDays,
- userList: [1, 2],
- userList2: [1, 2]
+ userList: [1, 3],
+ userList2: [1, 3]
};
submitFormData.value.variables = taskVariables.value;
const resp = await startWorkFlow(submitFormData.value);
--
Gitblit v1.9.3