采购更新
This commit is contained in:
@@ -699,6 +699,8 @@ const DEPT_PURCHASE_TYPE = {
|
||||
BUSINESS_NEGOTIATION: '3',
|
||||
ENTRUST_CENTER: '4',
|
||||
INQUIRY: '5',
|
||||
/** 公开招标(部门自行采购下委托采购中心采购时可选择) */
|
||||
OPEN_TENDERING: '100',
|
||||
} as const;
|
||||
|
||||
// 学校统一采购方式字典 value(与 PurchaseTypeEnum 一致)
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<div class="implement-form">
|
||||
<el-form-item label="实施采购方式" required>
|
||||
<el-radio-group v-model="implementType">
|
||||
<el-radio label="1">自行组织采购</el-radio>
|
||||
<el-radio label="2">委托代理采购</el-radio>
|
||||
<el-radio :label="IMPLEMENT_TYPE.SELF_ORGANIZED">自行组织采购</el-radio>
|
||||
<el-radio :label="IMPLEMENT_TYPE.ENTRUST_AGENT">委托代理采购</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
@@ -81,9 +81,41 @@ import { useMessage } from '/@/hooks/message'
|
||||
import { Session } from '/@/utils/storage'
|
||||
import * as orderVue from '/@/api/order/order-key-vue'
|
||||
|
||||
// ==================== 常量定义(与后端枚举保持一致) ====================
|
||||
|
||||
/** 部门审核角色编码:仅该角色下显示采购代表相关页面和功能,流转至部门审核时需填写采购代表 */
|
||||
const PURCHASE_DEPT_AUDIT_ROLE_CODE = 'PURCHASE_DEPT_AUDIT'
|
||||
|
||||
/** 实施采购方式(与后端 ImplementTypeEnum 一致) */
|
||||
const IMPLEMENT_TYPE = {
|
||||
/** 自行组织采购 */
|
||||
SELF_ORGANIZED: '1',
|
||||
/** 委托代理采购 */
|
||||
ENTRUST_AGENT: '2',
|
||||
} as const
|
||||
|
||||
/** 采购形式(与后端 PurchaseModeEnum 一致) */
|
||||
const PURCHASE_MODE = {
|
||||
/** 部门自行采购 */
|
||||
DEPT_SELF: '1',
|
||||
/** 学校统一采购 */
|
||||
SCHOOL_UNIFIED: '2',
|
||||
} as const
|
||||
|
||||
/** 采购途径(与后端 PurchaseChannelEnum 一致) */
|
||||
const PURCHASE_CHANNEL = {
|
||||
/** 自行采购 */
|
||||
SELF: '1',
|
||||
/** 委托采购中心采购 */
|
||||
ENTRUST_CENTER: '2',
|
||||
} as const
|
||||
|
||||
/** 是否标识(与后端 CommonConstants.YES/NO 一致) */
|
||||
const YES_NO = {
|
||||
NO: '0',
|
||||
YES: '1',
|
||||
} as const
|
||||
|
||||
const roleCode = computed(() => Session.getRoleCode() || '')
|
||||
const isDeptAuditRole = computed(() => roleCode.value === PURCHASE_DEPT_AUDIT_ROLE_CODE)
|
||||
|
||||
@@ -117,7 +149,7 @@ const applyIdRaw = computed(() => {
|
||||
})
|
||||
|
||||
const applyRow = ref<any>(null)
|
||||
const implementType = ref<string>('1')
|
||||
const implementType = ref<string>(IMPLEMENT_TYPE.SELF_ORGANIZED)
|
||||
const implementSubmitting = ref(false)
|
||||
|
||||
const representorMode = ref<'single' | 'multi'>('single')
|
||||
@@ -139,20 +171,22 @@ let rollInterval: ReturnType<typeof setInterval> | null = null
|
||||
/** 是否可以分配代理:委托代理采购 且 (学校统一采购 或 部门自行采购且委托采购中心采购) */
|
||||
const canAssignAgent = computed(() => {
|
||||
// 自行组织采购不需要分配代理
|
||||
if (implementType.value !== '2') return false
|
||||
if (implementType.value !== IMPLEMENT_TYPE.ENTRUST_AGENT) return false
|
||||
const row = applyRow.value
|
||||
if (!row) return false
|
||||
return row.purchaseMode === '2' || (row.purchaseMode === '0' && row.purchaseType === '4')
|
||||
// 学校统一采购 或 部门自行采购且委托采购中心采购
|
||||
return row.purchaseMode === PURCHASE_MODE.SCHOOL_UNIFIED
|
||||
|| (row.purchaseMode === PURCHASE_MODE.DEPT_SELF && row.purchaseChannel === PURCHASE_CHANNEL.ENTRUST_CENTER)
|
||||
})
|
||||
|
||||
/** 是否可以发送招标代理:委托代理采购 且 已分配代理 且 未发送 */
|
||||
const canSendToAgent = computed(() => {
|
||||
// 自行组织采购不需要发送
|
||||
if (implementType.value !== '2') return false
|
||||
if (implementType.value !== IMPLEMENT_TYPE.ENTRUST_AGENT) return false
|
||||
const row = applyRow.value
|
||||
if (!row) return false
|
||||
// 已分配代理 且 未发送
|
||||
return !!row.agentId && row.agentSent !== '1'
|
||||
return !!row.agentId && row.agentSent !== YES_NO.YES
|
||||
})
|
||||
|
||||
const loadAgentList = async () => {
|
||||
|
||||
@@ -581,6 +581,7 @@ const handleSubmit = async (row: any) => {
|
||||
/** 操作栏「更多」菜单项配置 */
|
||||
const getActionMenuItems = (row: any) => {
|
||||
const isTemp = row?.status === '-1';
|
||||
const isCompleted = row?.status === '1';
|
||||
const items = [
|
||||
{
|
||||
command: 'edit',
|
||||
@@ -610,19 +611,19 @@ const getActionMenuItems = (row: any) => {
|
||||
command: 'implement',
|
||||
label: '实施采购',
|
||||
icon: Upload,
|
||||
visible: () => hasAuth('purchase_implement'),
|
||||
visible: () => isCompleted && hasAuth('purchase_implement'),
|
||||
},
|
||||
{
|
||||
command: 'archive',
|
||||
label: '文件归档',
|
||||
icon: FolderOpened,
|
||||
visible: () => hasAuth('purchase_archive'),
|
||||
visible: () => isCompleted && hasAuth('purchase_archive'),
|
||||
},
|
||||
{
|
||||
command: 'downloadApply',
|
||||
label: '下载审批表',
|
||||
icon: Download,
|
||||
visible: () => true,
|
||||
visible: () => isCompleted,
|
||||
},
|
||||
{
|
||||
command: 'representor',
|
||||
|
||||
Reference in New Issue
Block a user