update prettier 替换为 oxfmt 格式化整个项目的代码结构

This commit is contained in:
疯狂的狮子Li
2026-04-01 17:03:20 +08:00
parent 199771997d
commit 16d9e1e7fe
131 changed files with 3750 additions and 1571 deletions
+9 -1
View File
@@ -1,5 +1,13 @@
<template>
<el-dialog v-model="visible" :title="props.title" width="50%" draggable :before-close="cancel" center :close-on-click-modal="false">
<el-dialog
v-model="visible"
:title="props.title"
width="50%"
draggable
:before-close="cancel"
center
:close-on-click-modal="false"
>
<el-form v-loading="loading" ref="ruleFormRef" :model="form" :rules="rules" label-width="120px">
<el-form-item label="消息提醒" prop="messageType">
<el-checkbox-group v-model="form.messageType">
+20 -5
View File
@@ -1,10 +1,23 @@
<template>
<div style="display: flex; justify-content: space-between">
<div>
<el-button v-if="submitButtonShow" :loading="props.buttonLoading" type="info" @click="submitForm('draft', mode)">暂存</el-button>
<el-button v-if="submitButtonShow" :loading="props.buttonLoading" type="primary" @click="submitForm('submit', mode)"> </el-button>
<el-button v-if="approvalButtonShow" :loading="props.buttonLoading" type="primary" @click="approvalVerifyOpen">审批</el-button>
<el-button v-if="props.id && props.status !== 'draft'" type="primary" @click="handleApprovalRecord">流程进度</el-button>
<el-button v-if="submitButtonShow" :loading="props.buttonLoading" type="info" @click="submitForm('draft', mode)">
暂存
</el-button>
<el-button
v-if="submitButtonShow"
:loading="props.buttonLoading"
type="primary"
@click="submitForm('submit', mode)"
>
</el-button>
<el-button v-if="approvalButtonShow" :loading="props.buttonLoading" type="primary" @click="approvalVerifyOpen">
审批
</el-button>
<el-button v-if="props.id && props.status !== 'draft'" type="primary" @click="handleApprovalRecord">
流程进度
</el-button>
<slot />
</div>
<div>
@@ -40,7 +53,9 @@ const handleApprovalRecord = () => {
const submitButtonShow = computed(() => {
return (
props.pageType === 'add' ||
(props.pageType === 'update' && props.status && (props.status === 'draft' || props.status === 'cancel' || props.status === 'back'))
(props.pageType === 'update' &&
props.status &&
(props.status === 'draft' || props.status === 'cancel' || props.status === 'back'))
);
});
+50 -11
View File
@@ -1,6 +1,13 @@
<template>
<div class="container">
<el-dialog v-model="visible" draggable title="审批记录" :width="props.width" :height="props.height" :close-on-click-modal="false">
<el-dialog
v-model="visible"
draggable
title="审批记录"
:width="props.width"
:height="props.height"
:close-on-click-modal="false"
>
<el-tabs v-model="tabActiveName" class="demo-tabs">
<el-tab-pane v-loading="loading" label="流程图" name="image" style="height: 68vh">
<flowChart :ins-id="insId" v-if="insId" />
@@ -13,9 +20,11 @@
<el-table-column prop="approveName" :show-overflow-tooltip="true" label="办理人" sortable align="center">
<template #default="scope">
<template v-if="scope.row.approveName">
<el-tag v-for="(item, index) in scope.row.approveName.split(',')" :key="index" type="success">{{ item }}</el-tag>
<el-tag v-for="(item, index) in scope.row.approveName.split(',')" :key="index" type="success">
{{ item }}
</el-tag>
</template>
<template v-else> <el-tag type="success"></el-tag></template>
<template v-else><el-tag type="success"></el-tag></template>
</template>
</el-table-column>
<el-table-column prop="flowStatus" label="状态" width="80" sortable align="center">
@@ -23,9 +32,29 @@
<dict-tag :options="wf_task_status" :value="scope.row.flowStatus"></dict-tag>
</template>
</el-table-column>
<el-table-column prop="message" label="审批意见" :show-overflow-tooltip="true" sortable align="center"></el-table-column>
<el-table-column prop="createTime" label="开始时间" width="160" :show-overflow-tooltip="true" sortable align="center"></el-table-column>
<el-table-column prop="updateTime" label="结束时间" width="160" :show-overflow-tooltip="true" sortable align="center"></el-table-column>
<el-table-column
prop="message"
label="审批意见"
:show-overflow-tooltip="true"
sortable
align="center"
></el-table-column>
<el-table-column
prop="createTime"
label="开始时间"
width="160"
:show-overflow-tooltip="true"
sortable
align="center"
></el-table-column>
<el-table-column
prop="updateTime"
label="结束时间"
width="160"
:show-overflow-tooltip="true"
sortable
align="center"
></el-table-column>
<el-table-column
prop="runDuration"
label="运行时长"
@@ -36,12 +65,22 @@
></el-table-column>
<el-table-column prop="attachmentList" width="120" label="附件" align="center">
<template #default="scope">
<el-popover v-if="scope.row.attachmentList && scope.row.attachmentList.length > 0" placement="right" :width="310" trigger="click">
<el-popover
v-if="scope.row.attachmentList && scope.row.attachmentList.length > 0"
placement="right"
:width="310"
trigger="click"
>
<template #reference>
<el-button type="primary" style="margin-right: 16px">附件</el-button>
</template>
<el-table border :data="scope.row.attachmentList">
<el-table-column prop="originalName" width="202" :show-overflow-tooltip="true" label="附件名称"></el-table-column>
<el-table-column
prop="originalName"
width="202"
:show-overflow-tooltip="true"
label="附件名称"
></el-table-column>
<el-table-column prop="name" width="80" align="center" :show-overflow-tooltip="true" label="操作">
<template #default="tool">
<el-button type="text" @click="handleDownload(tool.row.ossId)">下载</el-button>
@@ -81,14 +120,14 @@ const init = async (businessId: string | number) => {
loading.value = true;
tabActiveName.value = 'image';
historyList.value = [];
flowHisTaskList(businessId).then((resp) => {
flowHisTaskList(businessId).then(resp => {
if (resp.data) {
historyList.value = resp.data.list;
insId.value = resp.data.instanceId;
if (historyList.value.length > 0) {
historyList.value.forEach((item) => {
historyList.value.forEach(item => {
if (item.ext) {
getIds(item.ext).then((res) => {
getIds(item.ext).then(res => {
item.attachmentList = res.data;
});
} else {
+50 -13
View File
@@ -1,6 +1,19 @@
<template>
<el-dialog v-model="visible" draggable title="流程干预" :width="props.width" :height="props.height" :close-on-click-modal="false">
<el-descriptions v-loading="loading" class="margin-top" :title="`${task.flowName}(${task.flowCode})`" :column="2" border>
<el-dialog
v-model="visible"
draggable
title="流程干预"
:width="props.width"
:height="props.height"
:close-on-click-modal="false"
>
<el-descriptions
v-loading="loading"
class="margin-top"
:title="`${task.flowName}(${task.flowCode})`"
:column="2"
border
>
<el-descriptions-item label="任务名称">{{ task.nodeName }}</el-descriptions-item>
<el-descriptions-item label="节点编码">{{ task.nodeCode }}</el-descriptions-item>
<el-descriptions-item label="开始时间">{{ task.createTime }}</el-descriptions-item>
@@ -10,7 +23,14 @@
</el-descriptions>
<template #footer>
<span class="dialog-footer">
<el-button v-if="task.flowStatus === 'waiting'" :disabled="buttonDisabled" type="primary" @click="openTransferTask"> 转办 </el-button>
<el-button
v-if="task.flowStatus === 'waiting'"
:disabled="buttonDisabled"
type="primary"
@click="openTransferTask"
>
转办
</el-button>
<el-button
v-if="task.flowStatus === 'waiting' && Number(task.nodeRatio) > 0"
:disabled="buttonDisabled"
@@ -27,21 +47,38 @@
>
减签
</el-button>
<el-button v-if="task.flowStatus === 'waiting'" :disabled="buttonDisabled" type="danger" @click="handleTerminationTask"> 终止 </el-button>
<el-button
v-if="task.flowStatus === 'waiting'"
:disabled="buttonDisabled"
type="danger"
@click="handleTerminationTask"
>
终止
</el-button>
</span>
</template>
<!-- 转办 -->
<UserSelect ref="transferTaskRef" :multiple="false" @confirm-call-back="handleTransferTask"></UserSelect>
<!-- 加签组件 -->
<UserSelect ref="multiInstanceUserRef" :multiple="true" @confirm-call-back="addMultiInstanceUser"></UserSelect>
<el-dialog v-model="deleteSignatureVisible" draggable title="减签人员" width="700px" height="400px" append-to-body :close-on-click-modal="false"
><div>
<el-dialog
v-model="deleteSignatureVisible"
draggable
title="减签人员"
width="700px"
height="400px"
append-to-body
:close-on-click-modal="false"
>
<div>
<el-table :data="deleteUserList" border>
<el-table-column prop="nodeName" label="任务名称" />
<el-table-column prop="nickName" label="办理人" />
<el-table-column label="操作" align="center" width="160">
<template #default="scope">
<el-button type="danger" size="small" icon="Delete" @click="deleteMultiInstanceUser(scope.row)">删除</el-button>
<el-button type="danger" size="small" icon="Delete" @click="deleteMultiInstanceUser(scope.row)">
删除
</el-button>
</template>
</el-table-column>
</el-table>
@@ -96,7 +133,7 @@ const task = ref<FlowTaskVO>({
const open = (taskId: string) => {
visible.value = true;
getTask(taskId).then((response) => {
getTask(taskId).then(response => {
loading.value = false;
buttonDisabled.value = false;
task.value = response.data;
@@ -108,7 +145,7 @@ const openTransferTask = () => {
transferTaskRef.value.open();
};
//转办
const handleTransferTask = async (data) => {
const handleTransferTask = async data => {
if (data && data.length > 0) {
const taskOperationBo = reactive<TaskOperationBo>({
userId: data[0].userId,
@@ -135,10 +172,10 @@ const openMultiInstanceUser = async () => {
multiInstanceUserRef.value.open();
};
//加签
const addMultiInstanceUser = async (data) => {
const addMultiInstanceUser = async data => {
if (data && data.length > 0) {
const taskOperationBo = reactive<TaskOperationBo>({
userIds: data.map((e) => e.userId),
userIds: data.map(e => e.userId),
taskId: task.value.id,
message: '',
messageType: ['1']
@@ -158,7 +195,7 @@ const addMultiInstanceUser = async (data) => {
}
};
//减签
const deleteMultiInstanceUser = async (row) => {
const deleteMultiInstanceUser = async row => {
await proxy?.$modal.confirm('是否确认提交?');
loading.value = true;
buttonDisabled.value = true;
@@ -181,7 +218,7 @@ const handleTaskUser = async () => {
const data = await currentTaskAllUser(task.value.id);
deleteUserList.value = data.data;
if (deleteUserList.value && deleteUserList.value.length > 0) {
deleteUserList.value.forEach((e) => {
deleteUserList.value.forEach(e => {
e.nodeName = task.value.nodeName;
});
}
+86 -29
View File
@@ -1,5 +1,13 @@
<template>
<el-dialog v-model="dialog.visible" :title="dialog.title" width="50%" draggable :before-close="cancel" center :close-on-click-modal="false">
<el-dialog
v-model="dialog.visible"
:title="dialog.title"
width="50%"
draggable
:before-close="cancel"
center
:close-on-click-modal="false"
>
<el-form v-loading="loading" :model="form" label-width="120px">
<el-form-item label="消息提醒">
<el-checkbox-group v-model="form.messageType">
@@ -9,15 +17,29 @@
</el-checkbox-group>
</el-form-item>
<el-form-item label="附件" v-if="buttonObj.file">
<fileUpload v-model="form.fileId" :file-type="['png', 'jpg', 'jpeg', 'doc', 'docx', 'xlsx', 'xls', 'ppt', 'txt', 'pdf']" :file-size="20" />
<fileUpload
v-model="form.fileId"
:file-type="['png', 'jpg', 'jpeg', 'doc', 'docx', 'xlsx', 'xls', 'ppt', 'txt', 'pdf']"
:file-size="20"
/>
</el-form-item>
<el-form-item label="抄送" v-if="buttonObj.copy">
<el-button type="primary" icon="Plus" circle @click="openUserSelectCopy" />
<el-tag v-for="user in selectCopyUserList" :key="user.userId" closable style="margin: 2px" @close="handleCopyCloseTag(user)">
<el-tag
v-for="user in selectCopyUserList"
:key="user.userId"
closable
style="margin: 2px"
@close="handleCopyCloseTag(user)"
>
{{ user.nickName }}
</el-tag>
</el-form-item>
<el-form-item v-if="buttonObj.pop && nestNodeList && nestNodeList.length > 0" label="下一步审批人" prop="assigneeMap">
<el-form-item
v-if="buttonObj.pop && nestNodeList && nestNodeList.length > 0"
label="下一步审批人"
prop="assigneeMap"
>
<div v-for="(item, index) in nestNodeList" :key="index" style="margin-bottom: 5px; width: 500px">
<span>{{ item.nodeName }}</span>
<el-input v-if="false" v-model="form.assigneeMap[item.nodeCode]" />
@@ -34,11 +56,21 @@
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button :disabled="buttonDisabled" type="primary" @click="handleCompleteTask"> 提交 </el-button>
<el-button v-if="task.flowStatus === 'waiting' && buttonObj.trust" :disabled="buttonDisabled" type="primary" @click="openDelegateTask">
<el-button :disabled="buttonDisabled" type="primary" @click="handleCompleteTask">提交</el-button>
<el-button
v-if="task.flowStatus === 'waiting' && buttonObj.trust"
:disabled="buttonDisabled"
type="primary"
@click="openDelegateTask"
>
委托
</el-button>
<el-button v-if="task.flowStatus === 'waiting' && buttonObj.transfer" :disabled="buttonDisabled" type="primary" @click="openTransferTask">
<el-button
v-if="task.flowStatus === 'waiting' && buttonObj.transfer"
:disabled="buttonDisabled"
type="primary"
@click="openTransferTask"
>
转办
</el-button>
<el-button
@@ -65,14 +97,24 @@
>
终止
</el-button>
<el-button v-if="task.flowStatus === 'waiting' && buttonObj.back" :disabled="buttonDisabled" type="danger" @click="handleBackProcessOpen">
<el-button
v-if="task.flowStatus === 'waiting' && buttonObj.back"
:disabled="buttonDisabled"
type="danger"
@click="handleBackProcessOpen"
>
退回
</el-button>
<el-button :disabled="buttonDisabled" @click="cancel">取消</el-button>
</span>
</template>
<!-- 抄送 -->
<UserSelect ref="userSelectCopyRef" :multiple="true" :data="selectCopyUserIds" @confirm-call-back="userSelectCopyCallBack"></UserSelect>
<UserSelect
ref="userSelectCopyRef"
:multiple="true"
:data="selectCopyUserIds"
@confirm-call-back="userSelectCopyCallBack"
></UserSelect>
<!-- 转办 -->
<UserSelect ref="transferTaskRef" :multiple="false" @confirm-call-back="handleTransferTask"></UserSelect>
<!-- 委托 -->
@@ -93,7 +135,12 @@
<el-form v-if="task.flowStatus === 'waiting'" v-loading="backLoading" :model="backForm" label-width="120px">
<el-form-item label="驳回节点">
<el-select v-model="backForm.nodeCode" clearable placeholder="请选择" style="width: 300px">
<el-option v-for="item in taskNodeList" :key="item.nodeCode" :label="item.nodeName" :value="item.nodeCode" />
<el-option
v-for="item in taskNodeList"
:key="item.nodeCode"
:label="item.nodeName"
:value="item.nodeCode"
/>
</el-select>
</el-form-item>
<el-form-item label="消息提醒">
@@ -122,14 +169,24 @@
</template>
</el-dialog>
<!-- 驳回结束 -->
<el-dialog v-model="deleteSignatureVisible" draggable title="减签人员" width="700px" height="400px" append-to-body :close-on-click-modal="false">
<el-dialog
v-model="deleteSignatureVisible"
draggable
title="减签人员"
width="700px"
height="400px"
append-to-body
:close-on-click-modal="false"
>
<div>
<el-table :data="deleteUserList" border>
<el-table-column prop="nodeName" label="任务名称" />
<el-table-column prop="nickName" label="办理人" />
<el-table-column label="操作" align="center" width="160">
<template #default="scope">
<el-button type="danger" size="small" icon="Delete" @click="deleteMultiInstanceUser(scope.row)">删除 </el-button>
<el-button type="danger" size="small" icon="Delete" @click="deleteMultiInstanceUser(scope.row)">
删除
</el-button>
</template>
</el-table-column>
</el-table>
@@ -265,11 +322,11 @@ const openDialog = async (id?: string) => {
const response = await getTask(taskId.value);
task.value = response.data;
buttonObj.value = {};
task.value.buttonList?.forEach((e) => {
task.value.buttonList?.forEach(e => {
buttonObj.value[e.code] = e.show;
});
selectCopyUserList.value = task.value.copyList;
selectCopyUserIds.value = task.value.copyList.map((e) => e.userId).join(',');
selectCopyUserIds.value = task.value.copyList.map(e => e.userId).join(',');
varNodeList.value = task.value.varList;
console.log('varNodeList', varNodeList.value);
buttonDisabled.value = false;
@@ -294,7 +351,7 @@ const handleCompleteTask = async () => {
form.value.variables = props.taskVariables;
let verify = false;
if (buttonObj.value.pop && nestNodeList.value && nestNodeList.value.length > 0) {
nestNodeList.value.forEach((e) => {
nestNodeList.value.forEach(e => {
if (
Object.keys(form.value.assigneeMap).length === 0 ||
form.value.assigneeMap[e.nodeCode] === '' ||
@@ -313,7 +370,7 @@ const handleCompleteTask = async () => {
}
if (selectCopyUserList.value && selectCopyUserList.value.length > 0) {
const flowCopyList = [];
selectCopyUserList.value.forEach((e) => {
selectCopyUserList.value.forEach(e => {
const copyUser = {
userId: e.userId,
nickName: e.nickName
@@ -382,26 +439,26 @@ const openUserSelectCopy = () => {
const userSelectCopyCallBack = (data: FlowCopyVo[]) => {
if (data && data.length > 0) {
selectCopyUserList.value = data;
selectCopyUserIds.value = selectCopyUserList.value.map((item) => item.userId).join(',');
selectCopyUserIds.value = selectCopyUserList.value.map(item => item.userId).join(',');
}
};
//删除抄送人员
const handleCopyCloseTag = (user: FlowCopyVo) => {
const userId = user.userId;
// 使用split删除用户
const index = selectCopyUserList.value.findIndex((item) => item.userId === userId);
const index = selectCopyUserList.value.findIndex(item => item.userId === userId);
selectCopyUserList.value.splice(index, 1);
selectCopyUserIds.value = selectCopyUserList.value.map((item) => item.userId).join(',');
selectCopyUserIds.value = selectCopyUserList.value.map(item => item.userId).join(',');
};
//加签
const openMultiInstanceUser = async () => {
multiInstanceUserRef.value.open();
};
//加签
const addMultiInstanceUser = async (data) => {
const addMultiInstanceUser = async data => {
if (data && data.length > 0) {
const taskOperationBo = reactive<TaskOperationBo>({
userIds: data.map((e) => e.userId),
userIds: data.map(e => e.userId),
taskId: taskId.value,
message: form.value.message,
messageType: ['1']
@@ -421,7 +478,7 @@ const addMultiInstanceUser = async (data) => {
}
};
//减签
const deleteMultiInstanceUser = async (row) => {
const deleteMultiInstanceUser = async row => {
await proxy?.$modal.confirm('是否确认提交?');
loading.value = true;
buttonDisabled.value = true;
@@ -444,7 +501,7 @@ const openTransferTask = () => {
transferTaskRef.value.open();
};
//转办
const handleTransferTask = async (data) => {
const handleTransferTask = async data => {
if (data && data.length > 0) {
const taskOperationBo = reactive<TaskOperationBo>({
userId: data[0].userId,
@@ -472,7 +529,7 @@ const openDelegateTask = () => {
delegateTaskRef.value.open();
};
//委托
const handleDelegateTask = async (data) => {
const handleDelegateTask = async data => {
if (data && data.length > 0) {
const taskOperationBo = reactive<TaskOperationBo>({
userId: data[0].userId,
@@ -515,14 +572,14 @@ const handleTaskUser = async () => {
const data = await currentTaskAllUser(taskId.value);
deleteUserList.value = data.data;
if (deleteUserList.value && deleteUserList.value.length > 0) {
deleteUserList.value.forEach((e) => {
deleteUserList.value.forEach(e => {
e.nodeName = task.value.nodeName;
});
}
deleteSignatureVisible.value = true;
};
// 选择人员
const choosePeople = async (data) => {
const choosePeople = async data => {
if (!data.permissionFlag) {
proxy?.$modal.msgError('没有可选择的人员,请联系管理员!');
}
@@ -531,11 +588,11 @@ const choosePeople = async (data) => {
porUserRef.value.open();
};
//确认选择
const handlePopUser = async (userList) => {
const userIds = userList.map((item) => {
const handlePopUser = async userList => {
const userIds = userList.map(item => {
return item.userId;
});
const nickNames = userList.map((item) => {
const nickNames = userList.map(item => {
return item.nickName;
});
form.value.assigneeMap[nodeCode.value] = userIds.join(',');