update 重构 彻底删除proxy用法 改为vue3官方推荐写法

This commit is contained in:
疯狂的狮子Li
2026-04-10 13:07:37 +08:00
parent eb62402423
commit 9acf52e8a7
144 changed files with 1264 additions and 1082 deletions
+2 -3
View File
@@ -29,10 +29,9 @@
</el-dialog>
</template>
<script setup lang="ts">
import { ref } from 'vue';
import { ComponentInternalInstance } from 'vue';
import { ElForm, FormInstance } from 'element-plus';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
import { ref } from 'vue';
const emits = defineEmits(['submitCallback', 'cancelCallback']);
const props = defineProps({
title: {
+7 -3
View File
@@ -26,8 +26,12 @@
</div>
</template>
<script setup lang="ts">
import { useRoute } from 'vue-router';
import tab from '@/plugins/tab';
import router from '@/router';
import { propTypes } from '@/utils/propTypes';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const route = useRoute();
const props = defineProps({
status: propTypes.string.def(''),
pageType: propTypes.string.def(''),
@@ -66,7 +70,7 @@ const approvalButtonShow = computed(() => {
//返回
const goBack = () => {
proxy.$tab.closePage(proxy.$route);
proxy.$router.go(-1);
tab.closePage(route);
router.go(-1);
};
</script>
+7 -5
View File
@@ -98,12 +98,14 @@
</div>
</template>
<script setup lang="ts">
import { flowHisTaskList } from '@/api/workflow/instance';
import { propTypes } from '@/utils/propTypes';
import { listByIds } from '@/api/system/oss';
import { flowHisTaskList } from '@/api/workflow/instance';
import FlowChart from '@/components/Process/flowChart.vue';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { wf_task_status } = toRefs<any>(proxy?.useDict('wf_task_status'));
import download from '@/plugins/download';
import { useDict } from '@/utils/dict';
import { propTypes } from '@/utils/propTypes';
const { wf_task_status } = toRefs<any>(useDict('wf_task_status'));
const props = defineProps({
width: propTypes.string.def('80%'),
height: propTypes.string.def('100%')
@@ -146,7 +148,7 @@ const getIds = async (ids: string | number) => {
/** 下载按钮操作 */
const handleDownload = (ossId: string) => {
proxy?.$download.oss(ossId);
download.oss(ossId);
};
/**
+7 -1
View File
@@ -111,7 +111,13 @@ const applyTransform = () => {
};
const getBounds = () => {
if (!imageWrapperRef.value) return { minTranslateX: 0, maxTranslateX: 0, minTranslateY: 0, maxTranslateY: 0 };
if (!imageWrapperRef.value)
return {
minTranslateX: 0,
maxTranslateX: 0,
minTranslateY: 0,
maxTranslateY: 0
};
const imgRect = imageWrapperRef.value.getBoundingClientRect();
const containerRect = imageWrapperRef.value.parentElement?.getBoundingClientRect() ?? imgRect;
+19 -16
View File
@@ -87,11 +87,12 @@
</el-dialog>
</template>
<script setup lang="ts">
import { propTypes } from '@/utils/propTypes';
import { FlowTaskVO, TaskOperationBo } from '@/api/workflow/task/types';
import UserSelect from '@/components/UserSelect';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
import { getTask, taskOperation, currentTaskAllUser, terminationTask } from '@/api/workflow/task';
import { FlowTaskVO, TaskOperationBo } from '@/api/workflow/task/types';
import UserSelect from '@/components/UserSelect/index.vue';
import modal from '@/plugins/modal';
import { propTypes } from '@/utils/propTypes';
const props = defineProps({
width: propTypes.string.def('50%'),
height: propTypes.string.def('100%')
@@ -128,8 +129,10 @@ const task = ref<FlowTaskVO>({
nodeRatio: undefined,
version: undefined,
applyNode: undefined,
buttonList: []
});
buttonList: [],
businessCode: '',
businessTitle: ''
} as FlowTaskVO);
const open = (taskId: string) => {
visible.value = true;
@@ -153,7 +156,7 @@ const handleTransferTask = async data => {
message: '',
messageType: ['1']
});
await proxy?.$modal.confirm('是否确认提交?');
await modal.confirm('是否确认提交?');
loading.value = true;
buttonDisabled.value = true;
await taskOperation(taskOperationBo, 'transferTask').finally(() => {
@@ -162,9 +165,9 @@ const handleTransferTask = async data => {
});
visible.value = false;
emits('submitCallback');
proxy?.$modal.msgSuccess('操作成功');
modal.msgSuccess('操作成功');
} else {
proxy?.$modal.msgWarning('请选择用户!');
modal.msgWarning('请选择用户!');
}
};
//加签
@@ -180,7 +183,7 @@ const addMultiInstanceUser = async data => {
message: '',
messageType: ['1']
});
await proxy?.$modal.confirm('是否确认提交?');
await modal.confirm('是否确认提交?');
loading.value = true;
buttonDisabled.value = true;
await taskOperation(taskOperationBo, 'addSignature').finally(() => {
@@ -189,14 +192,14 @@ const addMultiInstanceUser = async data => {
});
visible.value = false;
emits('submitCallback');
proxy?.$modal.msgSuccess('操作成功');
modal.msgSuccess('操作成功');
} else {
proxy?.$modal.msgWarning('请选择用户!');
modal.msgWarning('请选择用户!');
}
};
//减签
const deleteMultiInstanceUser = async row => {
await proxy?.$modal.confirm('是否确认提交?');
await modal.confirm('是否确认提交?');
loading.value = true;
buttonDisabled.value = true;
const taskOperationBo = reactive<TaskOperationBo>({
@@ -211,7 +214,7 @@ const deleteMultiInstanceUser = async row => {
});
visible.value = false;
emits('submitCallback');
proxy?.$modal.msgSuccess('操作成功');
modal.msgSuccess('操作成功');
};
//获取办理人
const handleTaskUser = async () => {
@@ -231,7 +234,7 @@ const handleTerminationTask = async () => {
taskId: task.value.id,
comment: ''
};
await proxy?.$modal.confirm('是否确认终止?');
await modal.confirm('是否确认终止?');
loading.value = true;
buttonDisabled.value = true;
await terminationTask(params).finally(() => {
@@ -240,7 +243,7 @@ const handleTerminationTask = async () => {
});
visible.value = false;
emits('submitCallback');
proxy?.$modal.msgSuccess('操作成功');
modal.msgSuccess('操作成功');
};
/**
* 对外暴露子组件方法
+22 -24
View File
@@ -196,9 +196,8 @@
</template>
<script setup lang="ts">
import { ref } from 'vue';
import { ComponentInternalInstance } from 'vue';
import { ElForm } from 'element-plus';
import { ref } from 'vue';
import {
completeTask,
backProcess,
@@ -209,10 +208,9 @@ import {
currentTaskAllUser,
getNextNodeList
} from '@/api/workflow/task';
import UserSelect from '@/components/UserSelect';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
import { FlowCopyVo, FlowTaskVO, TaskOperationBo } from '@/api/workflow/task/types';
import UserSelect from '@/components/UserSelect/index.vue';
import modal from '@/plugins/modal';
const userSelectCopyRef = ref<InstanceType<typeof UserSelect>>();
const transferTaskRef = ref<InstanceType<typeof UserSelect>>();
@@ -362,7 +360,7 @@ const handleCompleteTask = async () => {
}
});
if (verify) {
proxy?.$modal.msgWarning('请选择审批人!');
modal.msgWarning('请选择审批人!');
return false;
}
} else {
@@ -379,14 +377,14 @@ const handleCompleteTask = async () => {
});
form.value.flowCopyList = flowCopyList;
}
await proxy?.$modal.confirm('是否确认提交?');
await modal.confirm('是否确认提交?');
loading.value = true;
buttonDisabled.value = true;
try {
await completeTask(form.value);
dialog.visible = false;
emits('submitCallback');
proxy?.$modal.msgSuccess('操作成功');
modal.msgSuccess('操作成功');
} finally {
loading.value = false;
buttonDisabled.value = false;
@@ -409,7 +407,7 @@ const handleBackProcessOpen = async () => {
/** 驳回流程 */
const handleBackProcess = async () => {
backForm.value.taskId = taskId.value;
await proxy?.$modal.confirm('是否确认驳回到申请人?');
await modal.confirm('是否确认驳回到申请人?');
loading.value = true;
backLoading.value = true;
backButtonDisabled.value = true;
@@ -421,7 +419,7 @@ const handleBackProcess = async () => {
backLoading.value = false;
backButtonDisabled.value = false;
emits('submitCallback');
proxy?.$modal.msgSuccess('操作成功');
modal.msgSuccess('操作成功');
};
//取消
const cancel = async () => {
@@ -463,7 +461,7 @@ const addMultiInstanceUser = async data => {
message: form.value.message,
messageType: ['1']
});
await proxy?.$modal.confirm('是否确认提交?');
await modal.confirm('是否确认提交?');
loading.value = true;
buttonDisabled.value = true;
await taskOperation(taskOperationBo, 'addSignature').finally(() => {
@@ -472,14 +470,14 @@ const addMultiInstanceUser = async data => {
});
dialog.visible = false;
emits('submitCallback');
proxy?.$modal.msgSuccess('操作成功');
modal.msgSuccess('操作成功');
} else {
proxy?.$modal.msgWarning('请选择用户!');
modal.msgWarning('请选择用户!');
}
};
//减签
const deleteMultiInstanceUser = async row => {
await proxy?.$modal.confirm('是否确认提交?');
await modal.confirm('是否确认提交?');
loading.value = true;
buttonDisabled.value = true;
const taskOperationBo = reactive<TaskOperationBo>({
@@ -494,7 +492,7 @@ const deleteMultiInstanceUser = async row => {
});
dialog.visible = false;
emits('submitCallback');
proxy?.$modal.msgSuccess('操作成功');
modal.msgSuccess('操作成功');
};
//打开转办
const openTransferTask = () => {
@@ -509,7 +507,7 @@ const handleTransferTask = async data => {
message: form.value.message,
messageType: ['1']
});
await proxy?.$modal.confirm('是否确认提交?');
await modal.confirm('是否确认提交?');
loading.value = true;
buttonDisabled.value = true;
await taskOperation(taskOperationBo, 'transferTask').finally(() => {
@@ -518,9 +516,9 @@ const handleTransferTask = async data => {
});
dialog.visible = false;
emits('submitCallback');
proxy?.$modal.msgSuccess('操作成功');
modal.msgSuccess('操作成功');
} else {
proxy?.$modal.msgWarning('请选择用户!');
modal.msgWarning('请选择用户!');
}
};
@@ -537,7 +535,7 @@ const handleDelegateTask = async data => {
message: form.value.message,
messageType: ['1']
});
await proxy?.$modal.confirm('是否确认提交?');
await modal.confirm('是否确认提交?');
loading.value = true;
buttonDisabled.value = true;
await taskOperation(taskOperationBo, 'delegateTask').finally(() => {
@@ -546,9 +544,9 @@ const handleDelegateTask = async data => {
});
dialog.visible = false;
emits('submitCallback');
proxy?.$modal.msgSuccess('操作成功');
modal.msgSuccess('操作成功');
} else {
proxy?.$modal.msgWarning('请选择用户!');
modal.msgWarning('请选择用户!');
}
};
//终止任务
@@ -557,7 +555,7 @@ const handleTerminationTask = async () => {
taskId: taskId.value,
comment: form.value.message
};
await proxy?.$modal.confirm('是否确认终止?');
await modal.confirm('是否确认终止?');
loading.value = true;
buttonDisabled.value = true;
await terminationTask(params).finally(() => {
@@ -566,7 +564,7 @@ const handleTerminationTask = async () => {
});
dialog.visible = false;
emits('submitCallback');
proxy?.$modal.msgSuccess('操作成功');
modal.msgSuccess('操作成功');
};
const handleTaskUser = async () => {
const data = await currentTaskAllUser(taskId.value);
@@ -581,7 +579,7 @@ const handleTaskUser = async () => {
// 选择人员
const choosePeople = async data => {
if (!data.permissionFlag) {
proxy?.$modal.msgError('没有可选择的人员,请联系管理员!');
modal.msgError('没有可选择的人员,请联系管理员!');
}
popUserIds.value = data.permissionFlag;
nodeCode.value = data.nodeCode;