1.0.17 合同信息上传终版合同

dev
yinq 2 months ago
parent 175a95c069
commit 2e900229d3

@ -132,8 +132,15 @@
<el-table-column label="合同税率(预留)" align="center" prop="taxRate" v-if="columns[23].visible" /> <el-table-column label="合同税率(预留)" align="center" prop="taxRate" v-if="columns[23].visible" />
<el-table-column label="终版合同" align="center" width="100" v-if="columns[32].visible"> <el-table-column label="终版合同" align="center" width="100" v-if="columns[32].visible">
<template #default="scope"> <template #default="scope">
<el-button v-if="scope.row.signatureAppendix" link type="primary" icon="Download" @click="downloadFinalContract(scope.row.signatureAppendix)"></el-button> <el-button
<span v-else style="color: #999;">未上传</span> v-if="scope.row.signatureAppendix"
link
type="primary"
icon="Download"
@click="downloadFinalContract(scope.row.signatureAppendix)"
>下载
</el-button>
<span v-else style="color: #999">未上传</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" v-if="columns[24].visible" /> <el-table-column label="备注" align="center" prop="remark" v-if="columns[24].visible" />
@ -162,20 +169,22 @@
<!-- <el-tooltip content="删除" placement="top">--> <!-- <el-tooltip content="删除" placement="top">-->
<!-- <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['oa/erp:contractInfo:remove']"></el-button>--> <!-- <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['oa/erp:contractInfo:remove']"></el-button>-->
<!-- </el-tooltip>--> <!-- </el-tooltip>-->
<el-tooltip content="上传终版合同" placement="top" v-if="!scope.row.signatureAppendix">
<el-button link type="success" icon="Upload" @click="openUploadFinalDialog(scope.row)" v-hasPermi="['oa/erp:contractInfo:edit']"></el-button>
</el-tooltip>
<el-tooltip content="提交审批" placement="top" v-if="scope.row.contractStatus === '1'">
<el-button link type="warning" icon="Check" @click="handleSubmitApproval(scope.row)" v-hasPermi="['oa/erp:contractInfo:edit']"></el-button>
</el-tooltip>
<el-tooltip content="审批记录" placement="top" v-if="scope.row.contractStatus === '2' || scope.row.contractStatus === '3'"> <el-tooltip content="审批记录" placement="top" v-if="scope.row.contractStatus === '2' || scope.row.contractStatus === '3'">
<el-button link type="info" icon="View" @click="handleApprovalRecord(scope.row)"></el-button> <el-button link type="info" icon="View" @click="handleApprovalRecord(scope.row)"></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip content="上传终版合同" placement="top" v-if="!scope.row.signatureAppendix">
<el-button
link
type="success"
icon="Upload"
@click="openUploadFinalDialog(scope.row)"
v-hasPermi="['oa/erp:contractInfo:edit']"
></el-button>
</el-tooltip>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card> </el-card>
<!-- 上传终版合同对话框 --> <!-- 上传终版合同对话框 -->
@ -192,11 +201,8 @@
</div> </div>
</template> </template>
</el-dialog> </el-dialog>
<!-- 审批记录 --> <!-- 审批记录 -->
<ApprovalRecord ref="approvalRecordRef" /> <ApprovalRecord ref="approvalRecordRef" />
<!-- 提交审批组件 -->
<SubmitVerify ref="submitVerifyRef" :task-variables="taskVariables" @submit-callback="submitCallback" />
</div> </div>
</template> </template>
@ -205,6 +211,7 @@ import { listContractInfo, delContractInfo } from '@/api/oa/erp/contractInfo';
import { ContractInfoVO, ContractInfoQuery } from '@/api/oa/erp/contractInfo/types'; import { ContractInfoVO, ContractInfoQuery } from '@/api/oa/erp/contractInfo/types';
import { updateContractInfo } from '@/api/oa/erp/contractInfo'; import { updateContractInfo } from '@/api/oa/erp/contractInfo';
import download from '@/plugins/download'; import download from '@/plugins/download';
import ApprovalRecord from '@/components/Process/approvalRecord.vue';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const route = useRoute(); const route = useRoute();
@ -213,6 +220,7 @@ const { contract_category, business_direction, active_flag, contract_flag, contr
proxy?.useDict('contract_category', 'business_direction', 'active_flag', 'contract_flag', 'contract_type', 'contract_status') proxy?.useDict('contract_category', 'business_direction', 'active_flag', 'contract_flag', 'contract_type', 'contract_status')
); );
const approvalRecordRef = ref<InstanceType<typeof ApprovalRecord>>();
const contractInfoList = ref<ContractInfoVO[]>([]); const contractInfoList = ref<ContractInfoVO[]>([]);
const loading = ref(true); const loading = ref(true);
const showSearch = ref(true); const showSearch = ref(true);
@ -336,7 +344,9 @@ const handleAdd = () => {
proxy.$tab.closePage(route); proxy.$tab.closePage(route);
router.push({ router.push({
path: '/contract/contractInfo/edit', path: '/contract/contractInfo/edit',
query: {} query: {
type: 'add'
}
}); });
}; };
@ -346,7 +356,8 @@ const handleUpdate = (row?: ContractInfoVO) => {
router.push({ router.push({
path: '/contract/contractInfo/edit', path: '/contract/contractInfo/edit',
query: { query: {
id: _contractId id: _contractId,
type: 'update'
} }
}); });
}; };
@ -405,71 +416,8 @@ const downloadFinalContract = (ossId: string | number) => {
download.oss(ossId); download.oss(ossId);
}; };
//
const handleSubmitApproval = async (row: ContractInfoVO) => {
try {
//
await proxy?.$modal.confirm('确认提交该合同进行审批?');
//
const submitFormData: StartProcessBo = {
businessId: row.contractId.toString(),
flowCode: 'OAC', // 使
variables: {
//
contractId: row.contractId,
contractName: row.contractName,
totalPrice: row.totalPrice
},
bizExt: {
businessTitle: '合同审批',
businessCode: row.contractId
}
};
//
taskVariables.value = {
contractId: row.contractId,
contractName: row.contractName,
totalPrice: row.totalPrice,
contractCode: row.contractCode
};
// ID
const resp = await startWorkFlow(submitFormData);
//
await updateContractInfo({
contractId: row.contractId,
contractStatus: '2',
flowStatus: 'waiting'
} as any);
//
if (submitVerifyRef.value && resp.data && resp.data.taskId) {
submitVerifyRef.value.openDialog(resp.data.taskId);
} else {
proxy?.$modal.msgSuccess('审批流程已启动');
await getList();
}
} catch (error) {
//
if (error === 'cancel') {
return;
}
console.error('提交审批失败:', error);
proxy?.$modal.msgError('提交审批失败,请重试');
}
};
// //
const handleApprovalRecord = (row: ContractInfoVO) => { const handleApprovalRecord = (row: ContractInfoVO) => {
approvalRecordRef.value?.init(row.contractId); approvalRecordRef.value?.init(row.contractId);
}; };
//
const submitCallback = async () => {
proxy?.$modal.msgSuccess('审批操作成功');
await getList();
};
</script> </script>

Loading…
Cancel
Save