1.0.69 上传终版合同改为合同激活

dev
yinq 7 days ago
parent 3a5cc750a9
commit 92444bf5fb

@ -201,7 +201,7 @@
<el-tooltip content="合同模板" placement="top" v-if="scope.row.templateId != null">
<el-button link type="info" icon="Download" @click="contractView(scope.row)"></el-button>
</el-tooltip>
<el-tooltip content="上传终版合同" placement="top" v-if="showUploadButton(scope.row)">
<el-tooltip content="合同激活" placement="top" v-if="showUploadButton(scope.row)">
<el-button
link
type="success"
@ -225,9 +225,15 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 上传终版合同对话框 -->
<el-dialog v-model="uploadDialog.visible" title="上传终版合同" width="520px" append-to-body>
<el-form :model="uploadDialog.form" label-width="100px">
<el-form-item label="签字合同附件">
<el-dialog v-model="uploadDialog.visible" title="合同激活" width="520px" append-to-body>
<el-form ref="uploadFormRef" :model="uploadDialog.form" :rules="uploadFormRules" label-width="120px">
<el-form-item label="部门" prop="contractDeptId" required>
<el-select v-model="uploadDialog.form.contractDeptId" placeholder="请选择部门" style="width: 100%">
<el-option v-for="item in deptInfoList" :key="item.deptId" :label="item.deptName"
:value="item.deptId" />
</el-select>
</el-form-item>
<el-form-item label="签字合同附件" prop="oss" required>
<fileUpload v-model="uploadDialog.form.oss" :limit="1" />
</el-form-item>
</el-form>
@ -281,6 +287,7 @@ import { ContractInfoVO, ContractInfoQuery } from '@/api/oa/erp/contractInfo/typ
import { updateContractInfo } from '@/api/oa/erp/contractInfo';
import download from '@/plugins/download';
import ApprovalRecord from '@/components/Process/approvalRecord.vue';
import { allListDept } from '@/api/system/dept';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const route = useRoute();
@ -389,6 +396,8 @@ const uploadDialog = reactive({
loading: false,
form: {
contractId: undefined as any,
contractDeptId: undefined as any,
contractStatus: undefined as any,
oss: undefined as any
}
});
@ -408,6 +417,33 @@ const maintainDialog = reactive({
}
});
const maintainFormRef = ref<ElFormInstance>();
const uploadFormRef = ref<ElFormInstance>();
//
const uploadFormRules = {
contractDeptId: [{ required: true, message: '请选择部门', trigger: 'change' }],
oss: [
{
required: true,
validator: (_rule: any, value: any, callback: (err?: Error) => void) => {
if (value === undefined || value === null || value === '' || (Array.isArray(value) && value.length === 0)) {
callback(new Error('请上传签字合同附件'));
} else {
callback();
}
},
trigger: 'change'
}
]
};
/** 查询部门信息下拉框结构 */
const deptInfoList = ref([]);
const getDeptInfoListSelect = async () => {
const params = { deptCategory: '03' } as any;
const res = await allListDept(params);
deptInfoList.value = res.data;
};
/** 查询合同信息列表 */
const getList = async () => {
@ -497,6 +533,7 @@ const handleExport = () => {
onMounted(() => {
getList();
getDeptInfoListSelect();
});
//
@ -504,8 +541,11 @@ const openUploadFinalDialog = (row?: ContractInfoVO) => {
const contractId = row?.contractId || ids.value[0];
if (!contractId) return;
uploadDialog.form.contractId = contractId;
uploadDialog.form.contractDeptId = undefined as any;
uploadDialog.form.oss = undefined as any;
uploadDialog.form.contractStatus = '5';
uploadDialog.visible = true;
nextTick(() => uploadFormRef.value?.clearValidate());
};
const openMaintainDialog = () => {
@ -549,13 +589,23 @@ const submitMaintain = async () => {
//
const confirmUploadFinal = async () => {
try {
await uploadFormRef.value?.validate();
} catch {
return;
}
const { contractId, contractDeptId, oss, contractStatus } = uploadDialog.form;
const ossStr = oss as unknown as string | string[];
const finalOss = Array.isArray(ossStr) ? (ossStr[0] ?? '') : (ossStr ?? '');
uploadDialog.loading = true;
try {
// id
const ossStr = uploadDialog.form.oss as unknown as string;
const firstOssId = ossStr ? Number(String(ossStr).split(',')[0]) : undefined;
await updateContractInfo({ contractId: uploadDialog.form.contractId, signatureAppendix: ossStr } as any);
proxy?.$modal.msgSuccess('终版合同已上传');
await updateContractInfo({
contractId,
contractDeptId,
contractStatus,
signatureAppendix: finalOss
} as any);
proxy?.$modal.msgSuccess('合同已激活!');
uploadDialog.visible = false;
await getList();
} finally {

Loading…
Cancel
Save