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