修改审核

This commit is contained in:
ljx
2025-08-25 20:15:09 +08:00
parent fceb454b2a
commit 5f42c21467
11 changed files with 674 additions and 181 deletions

View File

@ -19,13 +19,35 @@
<h3 class="text-lg font-semibold text-gray-800">成本核算清单</h3>
</div>
<div class="p-6">
<el-form ref="leaveFormRef" disabled :model="form" :rules="rules" label-width="100px" class="space-y-4">
<div class="grid grid-cols-1 md:grid-cols-2 gap-4" v-for="item in sheets" :key="item">
<el-form-item label="表格文件">
<span style="color: #8d8d8d">{{ item }}</span>
</el-form-item>
<el-form ref="leaveFormRef" v-loading="loading" :model="form" :rules="rules" label-width="100px" class="space-y-4">
<div class="grid grid-cols-1 gap-4">
<el-row>
<el-col :span="12">
<el-form-item label="版本号" prop="formNo">
<el-input :disabled="true" v-model="form.versions" placeholder="请输入文件名称" />
</el-form-item>
<el-form-item label="表名" prop="sheet">
<el-select v-model="form.sheet" placeholder="选择表名" @change="changeSheet">
<el-option v-for="item in sheets" :key="item" :label="item" :value="item" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<el-table :data="tableData" style="width: 100%; margin-bottom: 20px; height: calc(100vh - 305px)" row-key="id" default-expand-all border>
<el-table-column prop="num" label="编号" />
<el-table-column prop="name" label="名称" />
<el-table-column prop="specification" label="规格" />
<el-table-column prop="unit" label="单位" />
<el-table-column prop="quantity" label="数量" />
<el-table-column prop="unitPrice" label="单价" align="center" />
<el-table-column prop="price" label="总价" align="center">
<template #default="scope">
{{ scope.row.price != 0 ? Number(scope.row.price).toFixed(2) : null }}
</template>
</el-table-column>
</el-table>
</div>
</el-card>
<!-- 提交组件 -->
@ -68,9 +90,9 @@ import SubmitVerify from '@/components/Process/submitVerify.vue';
import ApprovalRecord from '@/components/Process/approvalRecord.vue';
import ApprovalButton from '@/components/Process/approvalButton.vue';
import { StartProcessBo } from '@/api/workflow/workflowCommon/types';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { proxy } = getCurrentInstance() as any;
import { useUserStoreHook } from '@/store/modules/user';
import { getVersionDetail, sheetList } from '@/api/bidding/biddingLimit';
import { getVersionDetail, sheetList, getTreeLimit } from '@/api/bidding/biddingLimit';
// 获取用户 store
const userStore = useUserStoreHook();
@ -99,7 +121,6 @@ const submitVerifyRef = ref<InstanceType<typeof SubmitVerify>>();
const approvalRecordRef = ref<InstanceType<typeof ApprovalRecord>>();
//按钮组件
const approvalButtonRef = ref<InstanceType<typeof ApprovalButton>>();
const sheets = ref([]);
const versions = ref({});
const leaveFormRef = ref<ElFormInstance>();
const dialog = reactive({
@ -124,7 +145,10 @@ const initFormData = {
fileSuffix: undefined,
originalName: undefined,
remark: undefined,
fileId: undefined
fileId: undefined,
status: undefined,
versions: undefined,
sheet: undefined
};
const data = reactive({
form: { ...initFormData },
@ -150,24 +174,46 @@ const getInfo = () => {
buttonLoading.value = false;
nextTick(async () => {
const res = await getVersionDetail(routeParams.value.id);
console.log(res);
Object.assign(form.value, res.data);
getSheetName(res.data.versions);
loading.value = false;
buttonLoading.value = false;
getSheetName();
});
};
const sheets = ref([]);
//获取表名
const getSheetName = async (versions) => {
const params = {
projectId: currentProject.value?.id,
versions
};
const res = await sheetList(params);
if (res.code == 200) {
sheets.value = res.data;
if (res.data.length > 0) {
const getSheetName = async () => {
try {
const params = {
projectId: currentProject.value?.id,
versions: form.value.versions
};
const res = await sheetList(params);
if (res.code == 200) {
sheets.value = res.data;
if (res.data.length > 0) {
form.value.sheet = res.data[0];
}
getListTable();
}
} catch (error) {}
};
//选择表名
const changeSheet = () => {
getListTable();
};
const tableData = ref([]);
//获取列表
const getListTable = async () => {
const res = await getTreeLimit({
projectId: currentProject.value?.id,
versions: form.value.versions,
sheet: form.value.sheet
});
if (res.code == 200) {
tableData.value = res.data;
}
};
/** 提交按钮 */
@ -185,7 +231,7 @@ const submitFlow = async () => {
const handleStartWorkFlow = async (data: LeaveForm) => {
try {
submitFormData.value.flowCode = flowCode.value;
submitFormData.value.businessId = data.versions + '_abc';
submitFormData.value.businessId = data.id;
//流程变量
taskVariables.value = {
// leave4/5 使用的流程变量
@ -203,7 +249,7 @@ const handleStartWorkFlow = async (data: LeaveForm) => {
};
//审批记录
const handleApprovalRecord = () => {
approvalRecordRef.value.init(form.value.versions + '_abc');
approvalRecordRef.value.init(form.value.id);
};
//提交回调
const submitCallback = async () => {
@ -242,9 +288,10 @@ onMounted(() => {
reset();
routeParams.value = proxy.$route.query;
loading.value = false;
// if (routeParams.value.type === 'update' || routeParams.value.type === 'view' || routeParams.value.type === 'approval') {
getInfo();
// }
if (routeParams.value.type === 'update' || routeParams.value.type === 'view' || routeParams.value.type === 'approval') {
getInfo();
console.log('routeParams.value', routeParams.value);
}
});
});
</script>