招标文件
This commit is contained in:
@@ -205,15 +205,6 @@ export function startFileFlow(id: number, representorTeacherNo?: string, represe
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取部门下人员(用于选采购代表人)
|
|
||||||
*/
|
|
||||||
export function getDeptMembers() {
|
|
||||||
return request({
|
|
||||||
url: '/purchase/purchasingapply/getDeptMembers',
|
|
||||||
method: 'get',
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取二级部门列表(供履约验收选择部门用)
|
* 获取二级部门列表(供履约验收选择部门用)
|
||||||
|
|||||||
@@ -804,12 +804,9 @@
|
|||||||
<el-col :span="8" class="mb12" v-if="dataForm.fileFlowInstId">
|
<el-col :span="8" class="mb12" v-if="dataForm.fileFlowInstId">
|
||||||
<div class="view-label">文件审批状态</div>
|
<div class="view-label">文件审批状态</div>
|
||||||
<div class="view-value">
|
<div class="view-value">
|
||||||
<el-tag v-if="dataForm.fileFlowStatus === '-2'" type="info">撤回</el-tag>
|
<el-tag v-if="dataForm.fileFlowStatus === '0'" type="primary">运行中</el-tag>
|
||||||
<el-tag v-else-if="dataForm.fileFlowStatus === '-1'" type="warning">暂存</el-tag>
|
|
||||||
<el-tag v-else-if="dataForm.fileFlowStatus === '0'" type="primary">运行中</el-tag>
|
|
||||||
<el-tag v-else-if="dataForm.fileFlowStatus === '1'" type="success">完成</el-tag>
|
<el-tag v-else-if="dataForm.fileFlowStatus === '1'" type="success">完成</el-tag>
|
||||||
<el-tag v-else-if="dataForm.fileFlowStatus === '2'" type="danger">作废</el-tag>
|
<el-tag v-else-if="dataForm.fileFlowStatus === '2'" type="danger">作废</el-tag>
|
||||||
<el-tag v-else-if="dataForm.fileFlowStatus === '3'" type="info">终止</el-tag>
|
|
||||||
<span v-else>—</span>
|
<span v-else>—</span>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|||||||
@@ -459,57 +459,10 @@
|
|||||||
<!-- 采购合同详情弹窗 -->
|
<!-- 采购合同详情弹窗 -->
|
||||||
<PurchaseContractDetailDialog ref="purchaseContractDetailDialogRef" />
|
<PurchaseContractDetailDialog ref="purchaseContractDetailDialogRef" />
|
||||||
|
|
||||||
<!-- 招标文件审核弹窗 -->
|
|
||||||
<!-- <DocAuditDialog ref="docAuditDialogRef" @refresh="getDataList" />-->
|
|
||||||
|
|
||||||
<!-- 采购代表弹窗 -->
|
|
||||||
<el-dialog v-model="representorDialogVisible" title="设置采购代表" width="500px" destroy-on-close>
|
|
||||||
<el-form label-width="100px">
|
|
||||||
<el-form-item label="身份">
|
|
||||||
<el-radio-group v-model="representorForm.identity">
|
|
||||||
<el-radio label="purchase_rep">采购代表</el-radio>
|
|
||||||
<el-radio label="judge">评委</el-radio>
|
|
||||||
</el-radio-group>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="选择方式">
|
|
||||||
<el-radio-group v-model="representorForm.mode">
|
|
||||||
<el-radio label="single">指定采购代表人</el-radio>
|
|
||||||
<el-radio label="multi">部门多人系统抽取</el-radio>
|
|
||||||
</el-radio-group>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-if="representorForm.mode === 'single'" label="采购代表人">
|
|
||||||
<el-select v-model="representorForm.teacherNo" placeholder="请选择" clearable filterable style="width: 100%">
|
|
||||||
<el-option
|
|
||||||
v-for="m in representorDeptMembers"
|
|
||||||
:key="m.userId || m.teacherNo || m.id"
|
|
||||||
:label="m.realName || m.name || m.teacherNo"
|
|
||||||
:value="m.userId || m.teacherNo || m.id"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-else label="部门多人">
|
|
||||||
<el-select
|
|
||||||
v-model="representorForm.multiIds"
|
|
||||||
multiple
|
|
||||||
placeholder="请选择多人,系统将自动抽取一人"
|
|
||||||
clearable
|
|
||||||
filterable
|
|
||||||
style="width: 100%"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="m in representorDeptMembers"
|
|
||||||
:key="m.userId || m.teacherNo || m.id"
|
|
||||||
:label="m.realName || m.name || m.teacherNo"
|
|
||||||
:value="m.userId || m.teacherNo || m.id"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
<template #footer>
|
|
||||||
<el-button @click="representorDialogVisible = false">取消</el-button>
|
|
||||||
<el-button type="primary" :loading="representorSubmitting" @click="handleSaveRepresentor">确定</el-button>
|
|
||||||
</template>
|
|
||||||
</el-dialog>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -523,10 +476,6 @@ import {
|
|||||||
submitObj,
|
submitObj,
|
||||||
getApplyTemplateDownloadUrl,
|
getApplyTemplateDownloadUrl,
|
||||||
getFileApplyTemplateDownloadUrl,
|
getFileApplyTemplateDownloadUrl,
|
||||||
getDeptMembers,
|
|
||||||
saveRepresentor,
|
|
||||||
listDownloadUrls,
|
|
||||||
updateFiles,
|
|
||||||
exportPurchaseApply,
|
exportPurchaseApply,
|
||||||
} from '/@/api/purchase/purchasingrequisition';
|
} from '/@/api/purchase/purchasingrequisition';
|
||||||
import { useMessage, useMessageBox } from '/@/hooks/message';
|
import { useMessage, useMessageBox } from '/@/hooks/message';
|
||||||
@@ -675,52 +624,10 @@ const representorForm = reactive({
|
|||||||
multiIds: [] as string[],
|
multiIds: [] as string[],
|
||||||
identity: 'purchase_rep' as 'purchase_rep' | 'judge',
|
identity: 'purchase_rep' as 'purchase_rep' | 'judge',
|
||||||
});
|
});
|
||||||
const representorDeptMembers = ref<any[]>([]);
|
|
||||||
const representorSubmitting = ref(false);
|
const representorSubmitting = ref(false);
|
||||||
|
|
||||||
const openRepresentorDialog = async (row: any) => {
|
|
||||||
representorCurrentRow.value = row;
|
|
||||||
representorForm.mode = 'single';
|
|
||||||
representorForm.teacherNo = '';
|
|
||||||
representorForm.multiIds = [];
|
|
||||||
representorDialogVisible.value = true;
|
|
||||||
try {
|
|
||||||
const res = await getDeptMembers();
|
|
||||||
representorDeptMembers.value = res?.data || [];
|
|
||||||
} catch (_) {
|
|
||||||
representorDeptMembers.value = [];
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleSaveRepresentor = async () => {
|
|
||||||
const row = representorCurrentRow.value;
|
|
||||||
const id = row?.id ?? row?.purchaseId;
|
|
||||||
if (id == null || id === '') {
|
|
||||||
useMessage().warning('无法获取申请单ID');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (representorForm.mode === 'single' && !representorForm.teacherNo) {
|
|
||||||
useMessage().warning('请选择采购代表人');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (representorForm.mode === 'multi' && !representorForm.multiIds.length) {
|
|
||||||
useMessage().warning('请选择部门多人');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
representorSubmitting.value = true;
|
|
||||||
try {
|
|
||||||
const teacherNo = representorForm.mode === 'single' ? representorForm.teacherNo : undefined;
|
|
||||||
const multiIds = representorForm.mode === 'multi' ? representorForm.multiIds.join(',') : undefined;
|
|
||||||
await saveRepresentor(Number(id), teacherNo, multiIds, representorForm.identity);
|
|
||||||
useMessage().success('保存采购代表成功');
|
|
||||||
representorDialogVisible.value = false;
|
|
||||||
getDataList();
|
|
||||||
} catch (e: any) {
|
|
||||||
useMessage().error(e?.msg || '保存采购代表失败');
|
|
||||||
} finally {
|
|
||||||
representorSubmitting.value = false;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 定义响应式表格数据
|
* 定义响应式表格数据
|
||||||
|
|||||||
Reference in New Issue
Block a user