提交
This commit is contained in:
1 parent
ba21c40058
commit
0e8f244bc3
16 files changed
+405027
-2098
No files matched your search
@@ -1927,20 +1927,20 @@
|
||||
return true
|
||||
}
|
||||
|
||||
/** 安排运输前:非内部客户(山峡/云栋)的装/送货段必须至少选一份合同 */
|
||||
function validateContractsForArrange() {
|
||||
/** 非内部客户(山峡/云栋)的装/送货段必须至少选一份合同(保存与安排均校验) */
|
||||
function validateStopContractsRequired() {
|
||||
if (
|
||||
!isPlInternalCustomerName(loadForm.value.customerName) &&
|
||||
!stopHasSelectedContract(loadForm.value.contracts)
|
||||
) {
|
||||
ElMessage.warning('安排运输前请为装货客户选择合同')
|
||||
ElMessage.warning('请为装货客户选择合同')
|
||||
return false
|
||||
}
|
||||
for (let i = 0; i < deliveryForms.value.length; i += 1) {
|
||||
const row = deliveryForms.value[i]
|
||||
if (isPlInternalCustomerName(row.customerName)) continue
|
||||
if (!stopHasSelectedContract(row.contracts)) {
|
||||
ElMessage.warning(`安排运输前请为送货段#${i + 1}选择合同`)
|
||||
ElMessage.warning(`请为送货段#${i + 1}选择合同`)
|
||||
return false
|
||||
}
|
||||
}
|
||||
@@ -1984,6 +1984,7 @@
|
||||
const valid = await basicFormRef.value?.validate().catch(() => false)
|
||||
if (!valid || !validateBusinessRules()) return
|
||||
if (!validateSingleContractPerStop()) return
|
||||
if (!validateStopContractsRequired()) return
|
||||
|
||||
if (mode === 'saveAndArrange' || mode === 'rearrange') {
|
||||
const missing = getArrangePrerequisiteGaps()
|
||||
@@ -1995,7 +1996,6 @@
|
||||
ElMessage.warning('安排运输前请选择车辆')
|
||||
return
|
||||
}
|
||||
if (!validateContractsForArrange()) return
|
||||
if (!validateStopProductsForArrange()) return
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +64,8 @@
|
||||
const { pageTransition, containerWidth, refresh, showWorkTab } = storeToRefs(useSettingStore())
|
||||
const { keepAliveExclude } = storeToRefs(useWorktabStore())
|
||||
|
||||
const keepAliveMax = computed(() => (showWorkTab.value ? 10 : 1))
|
||||
// 多 Tab 常开场景下缓存过多会占满内存导致整机卡顿;上限压到 5
|
||||
const keepAliveMax = computed(() => (showWorkTab.value ? 5 : 1))
|
||||
|
||||
const isRefresh = shallowRef(true)
|
||||
const isOpenRouteInfo = import.meta.env.VITE_OPEN_ROUTE_INFO
|
||||
|
||||
@@ -22,21 +22,21 @@ export const plRoutes: AppRouteRecord[] = [
|
||||
name: 'PlPlan',
|
||||
path: 'plan',
|
||||
component: '/pl/plan/index',
|
||||
meta: { title: '运输计划', keepAlive: true, menuCode: 'pl:plan:list' }
|
||||
meta: { title: '运输计划', keepAlive: false, menuCode: 'pl:plan:list' }
|
||||
},
|
||||
{
|
||||
id: 'PL00000000000000000000000000016',
|
||||
name: 'PlPlanArchive',
|
||||
path: 'plan-archive',
|
||||
component: '/pl/plan-archive/index',
|
||||
meta: { title: '运输计划归档', keepAlive: true, menuCode: 'pl:plan-archive:list' }
|
||||
meta: { title: '运输计划归档', keepAlive: false, menuCode: 'pl:plan-archive:list' }
|
||||
},
|
||||
{
|
||||
id: 'PL_PLAN_CONTRACT',
|
||||
name: 'PlPlanContract',
|
||||
path: 'plan-contract',
|
||||
component: '/pl/plan-contract/index',
|
||||
meta: { title: '运输计划合同完善', keepAlive: true, menuCode: 'pl:plan-contract:list' }
|
||||
meta: { title: '运输计划合同完善', keepAlive: false, menuCode: 'pl:plan-contract:list' }
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -51,14 +51,14 @@ export const plRoutes: AppRouteRecord[] = [
|
||||
name: 'PlInbound',
|
||||
path: 'inbound',
|
||||
component: '/pl/inbound/index',
|
||||
meta: { title: '入库单', keepAlive: true, menuCode: 'pl:inbound:list' }
|
||||
meta: { title: '入库单', keepAlive: false, menuCode: 'pl:inbound:list' }
|
||||
},
|
||||
{
|
||||
id: 'PL_OUTBOUND',
|
||||
name: 'PlOutbound',
|
||||
path: 'outbound',
|
||||
component: '/pl/outbound/index',
|
||||
meta: { title: '出库单', keepAlive: true, menuCode: 'pl:outbound:list' }
|
||||
meta: { title: '出库单', keepAlive: false, menuCode: 'pl:outbound:list' }
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,7 +73,7 @@ export const plRoutes: AppRouteRecord[] = [
|
||||
name: 'PlPlanCert',
|
||||
path: 'plan-cert',
|
||||
component: '/pl/plan-cert/index',
|
||||
meta: { title: '危化品证上传', keepAlive: true, menuCode: 'pl:plan-cert:list' }
|
||||
meta: { title: '危化品证上传', keepAlive: false, menuCode: 'pl:plan-cert:list' }
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -88,21 +88,21 @@ export const plRoutes: AppRouteRecord[] = [
|
||||
name: 'PlFreight',
|
||||
path: 'freight',
|
||||
component: '/pl/freight/index',
|
||||
meta: { title: '运费结算', keepAlive: true, menuCode: 'pl:freight:list' }
|
||||
meta: { title: '运费结算', keepAlive: false, menuCode: 'pl:freight:list' }
|
||||
},
|
||||
{
|
||||
id: 'PL00000000000000000000000000031',
|
||||
name: 'PlFreightApproval',
|
||||
path: 'freight-approval',
|
||||
component: '/pl/freight-approval/index',
|
||||
meta: { title: '运费结算审批', keepAlive: true, menuCode: 'pl:freight-approval:list' }
|
||||
meta: { title: '运费结算审批', keepAlive: false, menuCode: 'pl:freight-approval:list' }
|
||||
},
|
||||
{
|
||||
id: 'PL00000000000000000000000000032',
|
||||
name: 'PlFreightDisburse',
|
||||
path: 'freight-disburse',
|
||||
component: '/pl/freight-disburse/index',
|
||||
meta: { title: '运费财务发放', keepAlive: true, menuCode: 'pl:freight-disburse:list' }
|
||||
meta: { title: '运费财务发放', keepAlive: false, menuCode: 'pl:freight-disburse:list' }
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -117,28 +117,28 @@ export const plRoutes: AppRouteRecord[] = [
|
||||
name: 'PlVehicleRechargeApply',
|
||||
path: 'vehicle-recharge-apply',
|
||||
component: '/pl/vehicle-recharge-apply/index',
|
||||
meta: { title: 'ETC加油申请', keepAlive: true, menuCode: 'pl:vehicle-recharge-apply:list' }
|
||||
meta: { title: 'ETC加油申请', keepAlive: false, menuCode: 'pl:vehicle-recharge-apply:list' }
|
||||
},
|
||||
{
|
||||
id: 'PL_VEH_RECHARGE_RECORD',
|
||||
name: 'PlVehicleRechargeRecord',
|
||||
path: 'vehicle-recharge-record',
|
||||
component: '/pl/vehicle-recharge-record/index',
|
||||
meta: { title: 'ETC加油发放登记', keepAlive: true, menuCode: 'pl:vehicle-recharge-record:list' }
|
||||
meta: { title: 'ETC加油发放登记', keepAlive: false, menuCode: 'pl:vehicle-recharge-record:list' }
|
||||
},
|
||||
{
|
||||
id: 'PL_VEH_MAINT_APPLY',
|
||||
name: 'PlVehicleMaintenanceApply',
|
||||
path: 'vehicle-maintenance-apply',
|
||||
component: '/pl/vehicle-maintenance-apply/index',
|
||||
meta: { title: '车辆维保申请', keepAlive: true, menuCode: 'pl:vehicle-maintenance-apply:list' }
|
||||
meta: { title: '车辆维保申请', keepAlive: false, menuCode: 'pl:vehicle-maintenance-apply:list' }
|
||||
},
|
||||
{
|
||||
id: 'PL_VEH_MAINT_PROCESS',
|
||||
name: 'PlVehicleMaintenanceProcess',
|
||||
path: 'vehicle-maintenance-process',
|
||||
component: '/pl/vehicle-maintenance-process/index',
|
||||
meta: { title: '车辆维保处理登记', keepAlive: true, menuCode: 'pl:vehicle-maintenance-process:list' }
|
||||
meta: { title: '车辆维保处理登记', keepAlive: false, menuCode: 'pl:vehicle-maintenance-process:list' }
|
||||
},
|
||||
{
|
||||
id: 'PL_VEH_UREA_APPLY',
|
||||
@@ -147,7 +147,7 @@ export const plRoutes: AppRouteRecord[] = [
|
||||
component: '/pl/vehicle-urea-apply/index',
|
||||
meta: {
|
||||
title: '车辆尿素申请',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
isHide: true,
|
||||
menuCode: 'pl:vehicle-urea-apply:list'
|
||||
}
|
||||
@@ -159,7 +159,7 @@ export const plRoutes: AppRouteRecord[] = [
|
||||
component: '/pl/vehicle-urea-disburse/index',
|
||||
meta: {
|
||||
title: '车辆尿素发放登记',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
isHide: true,
|
||||
menuCode: 'pl:vehicle-urea-disburse:list'
|
||||
}
|
||||
@@ -177,7 +177,7 @@ export const plRoutes: AppRouteRecord[] = [
|
||||
name: 'PlDocumentReminder',
|
||||
path: 'document-reminder',
|
||||
component: '/pl/inventory/document-reminder',
|
||||
meta: { title: '证件提醒', keepAlive: true, menuCode: 'pl:document:list' }
|
||||
meta: { title: '证件提醒', keepAlive: false, menuCode: 'pl:document:list' }
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -192,7 +192,7 @@ export const plRoutes: AppRouteRecord[] = [
|
||||
name: 'PlCarrier',
|
||||
path: 'carrier',
|
||||
component: '/pl/carrier/index',
|
||||
meta: { title: '承运商信息', keepAlive: true, menuCode: 'pl:carrier:list' }
|
||||
meta: { title: '承运商信息', keepAlive: false, menuCode: 'pl:carrier:list' }
|
||||
},
|
||||
{
|
||||
id: 'PL00000000000000000000000000003',
|
||||
@@ -201,7 +201,7 @@ export const plRoutes: AppRouteRecord[] = [
|
||||
component: '/pl/vehicle/index',
|
||||
meta: {
|
||||
title: '三方车辆',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'pl:vehicle:list',
|
||||
vehicleTypeLock: 'carrier'
|
||||
}
|
||||
@@ -213,7 +213,7 @@ export const plRoutes: AppRouteRecord[] = [
|
||||
component: '/pl/personnel/index',
|
||||
meta: {
|
||||
title: '三方驾押人员',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'pl:personnel-carrier:list',
|
||||
affiliationMode: 'carrier'
|
||||
}
|
||||
@@ -223,7 +223,7 @@ export const plRoutes: AppRouteRecord[] = [
|
||||
name: 'PlSelfVehicle',
|
||||
path: 'self-vehicle',
|
||||
component: '/pl/self-vehicle/index',
|
||||
meta: { title: '山峡自有车辆', keepAlive: true, menuCode: 'pl:self-vehicle:list' }
|
||||
meta: { title: '山峡自有车辆', keepAlive: false, menuCode: 'pl:self-vehicle:list' }
|
||||
},
|
||||
{
|
||||
id: 'PL00000000000000000000000000004',
|
||||
@@ -232,7 +232,7 @@ export const plRoutes: AppRouteRecord[] = [
|
||||
component: '/pl/personnel/index',
|
||||
meta: {
|
||||
title: '山峡驾押人员',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'pl:driver:list',
|
||||
affiliationMode: 'self'
|
||||
}
|
||||
@@ -242,7 +242,7 @@ export const plRoutes: AppRouteRecord[] = [
|
||||
name: 'PlTransportAddress',
|
||||
path: 'transport-address',
|
||||
component: '/pl/transport-address/index',
|
||||
meta: { title: '运输地址库', keepAlive: true, menuCode: 'pl:transport-address:list' }
|
||||
meta: { title: '运输地址库', keepAlive: false, menuCode: 'pl:transport-address:list' }
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -287,14 +287,14 @@ export const plRoutes: AppRouteRecord[] = [
|
||||
name: 'PlTransport',
|
||||
path: 'transport',
|
||||
component: '/pl/transport/index',
|
||||
meta: { title: '运输管理', keepAlive: true, isHide: true, menuCode: 'pl:transport:list' }
|
||||
meta: { title: '运输管理', keepAlive: false, isHide: true, menuCode: 'pl:transport:list' }
|
||||
},
|
||||
{
|
||||
id: 'PL00000000000000000000000000040',
|
||||
name: 'PlInventory',
|
||||
path: 'inventory',
|
||||
component: '/pl/inventory/ledger',
|
||||
meta: { title: '库存台账', keepAlive: true, isHide: true, menuCode: 'pl:inventory:list' }
|
||||
meta: { title: '库存台账', keepAlive: false, isHide: true, menuCode: 'pl:inventory:list' }
|
||||
},
|
||||
{
|
||||
id: 'PL_REDIRECT_PLAN',
|
||||
|
||||
@@ -70,7 +70,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/bx/expense-item/index',
|
||||
meta: {
|
||||
title: '费用项目管理',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'bx:expenseItem:list'
|
||||
}
|
||||
},
|
||||
@@ -81,7 +81,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/bx/workflow/advance/index',
|
||||
meta: {
|
||||
title: '工作流配置(备用金)',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'bx:workflowAdvance:list'
|
||||
}
|
||||
},
|
||||
@@ -92,7 +92,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/bx/workflow/reimburse/index',
|
||||
meta: {
|
||||
title: '工作流配置(报销单)',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'bx:workflowReimburse:list'
|
||||
}
|
||||
}
|
||||
@@ -114,7 +114,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/bx/advance/apply/index',
|
||||
meta: {
|
||||
title: '备用金申请',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'bx:advanceApply:list'
|
||||
}
|
||||
},
|
||||
@@ -125,7 +125,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/bx/advance/approve/index',
|
||||
meta: {
|
||||
title: '备用金审批',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'bx:advanceApprove:list'
|
||||
}
|
||||
},
|
||||
@@ -136,7 +136,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/bx/advance/issue/index',
|
||||
meta: {
|
||||
title: '备用金发放',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'bx:advanceIssue:list'
|
||||
}
|
||||
}
|
||||
@@ -158,7 +158,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/bx/reimburse/apply/index',
|
||||
meta: {
|
||||
title: '报销申请',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'bx:reimburseApply:list'
|
||||
}
|
||||
},
|
||||
@@ -169,7 +169,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/bx/reimburse/approve/index',
|
||||
meta: {
|
||||
title: '报销审批',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'bx:reimburseApprove:list'
|
||||
}
|
||||
},
|
||||
@@ -180,7 +180,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/bx/payment/index',
|
||||
meta: {
|
||||
title: '支付发放冲抵',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'bx:payment:list'
|
||||
}
|
||||
},
|
||||
@@ -191,7 +191,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/bx/invoice-wallet/admin/index',
|
||||
meta: {
|
||||
title: '发票夹管理',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'bx:invoiceWallet:admin'
|
||||
}
|
||||
},
|
||||
@@ -202,7 +202,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/bx/invoice-wallet/mine/index',
|
||||
meta: {
|
||||
title: '我的发票夹',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'bx:invoiceWallet:mine'
|
||||
}
|
||||
}
|
||||
@@ -224,7 +224,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/bx/view/mine/index',
|
||||
meta: {
|
||||
title: '我的申请单',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'bx:viewMine:list'
|
||||
}
|
||||
},
|
||||
@@ -235,7 +235,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/bx/view/todo/index',
|
||||
meta: {
|
||||
title: '待我审批',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'bx:viewTodo:list'
|
||||
}
|
||||
},
|
||||
@@ -246,7 +246,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/bx/view/all/index',
|
||||
meta: {
|
||||
title: '全部申请单(总经理)',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'bx:viewAll:list'
|
||||
}
|
||||
}
|
||||
@@ -277,7 +277,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/crm/product-category/index',
|
||||
meta: {
|
||||
title: '产品分类',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
isHide: true,
|
||||
menuCode: 'crm:productCategory:list'
|
||||
}
|
||||
@@ -287,21 +287,21 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
name: 'CrmProduct',
|
||||
path: 'product',
|
||||
component: '/crm/product/index',
|
||||
meta: { title: '产品管理', keepAlive: true, menuCode: 'crm:product:list' }
|
||||
meta: { title: '产品管理', keepAlive: false, menuCode: 'crm:product:list' }
|
||||
},
|
||||
{
|
||||
id: 'CRM3000000000000000000000000010',
|
||||
name: 'CrmQuote',
|
||||
path: 'quote',
|
||||
component: '/crm/quote/index',
|
||||
meta: { title: '报价单管理', keepAlive: true, menuCode: 'crm:quote:list' }
|
||||
meta: { title: '报价单管理', keepAlive: false, menuCode: 'crm:quote:list' }
|
||||
},
|
||||
{
|
||||
id: 'CRM3000000000000000000000000016',
|
||||
name: 'CrmQuoteApproval',
|
||||
path: 'quote-approval',
|
||||
component: '/crm/quote/approval/index',
|
||||
meta: { title: '报价单审批', keepAlive: true, menuCode: 'crm:quote:approve' }
|
||||
meta: { title: '报价单审批', keepAlive: false, menuCode: 'crm:quote:approve' }
|
||||
},
|
||||
{
|
||||
id: 'CRM3000000000000000000000000015',
|
||||
@@ -310,7 +310,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/crm/quote/approver-setting/index',
|
||||
meta: {
|
||||
title: '报价单审批人设置',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
isHide: true,
|
||||
menuCode: 'crm:quote:approverSetting'
|
||||
}
|
||||
@@ -347,7 +347,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/crm/quote/statistics',
|
||||
meta: {
|
||||
title: '报价单统计',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
isHide: true,
|
||||
menuCode: 'crm:quote:list'
|
||||
}
|
||||
@@ -357,14 +357,14 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
name: 'CrmContract',
|
||||
path: 'contract',
|
||||
component: '/crm/contract/index',
|
||||
meta: { title: '合同管理', keepAlive: true, menuCode: 'crm:contract:list' }
|
||||
meta: { title: '合同管理', keepAlive: false, menuCode: 'crm:contract:list' }
|
||||
},
|
||||
{
|
||||
id: 'CRM3000000000000000000000000021',
|
||||
name: 'CrmContractApproval',
|
||||
path: 'contract-approval',
|
||||
component: '/crm/contract/approval/index',
|
||||
meta: { title: '合同审批', keepAlive: true, menuCode: 'crm:contract:approve' }
|
||||
meta: { title: '合同审批', keepAlive: false, menuCode: 'crm:contract:approve' }
|
||||
},
|
||||
{
|
||||
id: 'CRM3000000000000000000000000026',
|
||||
@@ -373,7 +373,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/crm/contract/approver-setting/index',
|
||||
meta: {
|
||||
title: '合同审批人设置',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
isHide: true,
|
||||
menuCode: 'crm:contract:approverSetting'
|
||||
}
|
||||
@@ -384,7 +384,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
name: 'CrmPriceLetter',
|
||||
path: 'price-letter',
|
||||
component: '/crm/price-letter/index',
|
||||
meta: { title: '调价函管理', keepAlive: true, menuCode: 'crm:priceLetter:list' }
|
||||
meta: { title: '调价函管理', keepAlive: false, menuCode: 'crm:priceLetter:list' }
|
||||
},
|
||||
{
|
||||
id: 'CRM3000000000000000000000000027',
|
||||
@@ -417,7 +417,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/crm/contract/change/index',
|
||||
meta: {
|
||||
title: '合同变更',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
isHide: true,
|
||||
menuCode: 'crm:contract:change:list'
|
||||
}
|
||||
@@ -429,7 +429,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/crm/contract/template/index',
|
||||
meta: {
|
||||
title: '合同模板',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
isHide: true,
|
||||
menuCode: 'crm:contract:template:list'
|
||||
}
|
||||
@@ -441,7 +441,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/crm/contract/approval-record/index',
|
||||
meta: {
|
||||
title: '合同审批记录',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
isHide: true,
|
||||
menuCode: 'crm:contract:approval:list'
|
||||
}
|
||||
@@ -451,7 +451,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
name: 'CrmCustomer',
|
||||
path: 'customer',
|
||||
component: '/crm/customer/index',
|
||||
meta: { title: '客户管理', keepAlive: true, menuCode: 'crm:customer:list' }
|
||||
meta: { title: '客户管理', keepAlive: false, menuCode: 'crm:customer:list' }
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -478,7 +478,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/db/dashboard/index',
|
||||
meta: {
|
||||
title: '仪表盘',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'db:dashboard:list'
|
||||
}
|
||||
},
|
||||
@@ -489,7 +489,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/db/plans/index',
|
||||
meta: {
|
||||
title: '地磅计划',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'db:plan:list'
|
||||
}
|
||||
},
|
||||
@@ -500,7 +500,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/db/inventory/index',
|
||||
meta: {
|
||||
title: '地磅出入库',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'db:inventory:list'
|
||||
}
|
||||
},
|
||||
@@ -511,7 +511,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/db/weighing/index',
|
||||
meta: {
|
||||
title: '地磅单管理',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'db:weighing:list'
|
||||
}
|
||||
},
|
||||
@@ -569,7 +569,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/system/workflow/process/index',
|
||||
meta: {
|
||||
title: '流程配置',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
icon: 'workflow',
|
||||
menuCode: 'workflow:process'
|
||||
}
|
||||
@@ -581,7 +581,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/system/workflow/task-pending/index',
|
||||
meta: {
|
||||
title: '待办中心',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'workflow:pending'
|
||||
}
|
||||
},
|
||||
@@ -592,7 +592,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/system/workflow/task-completed/index',
|
||||
meta: {
|
||||
title: '已办中心',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'workflow:completed'
|
||||
}
|
||||
},
|
||||
@@ -603,7 +603,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/system/workflow/my-applications/index',
|
||||
meta: {
|
||||
title: '我的申请',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'workflow:myApplications'
|
||||
}
|
||||
},
|
||||
@@ -614,7 +614,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/system/leave/index',
|
||||
meta: {
|
||||
title: '请假申请',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'workflow:leave'
|
||||
}
|
||||
}
|
||||
@@ -769,7 +769,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/crm/supplier-hazard/index',
|
||||
meta: {
|
||||
title: '主体危化品能力',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
menuCode: 'crm:supplierHazard:list'
|
||||
}
|
||||
},
|
||||
@@ -778,7 +778,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
name: 'CrmClue',
|
||||
path: 'clue',
|
||||
component: '/crm/clue/index',
|
||||
meta: { title: '线索管理', keepAlive: true, menuCode: 'crm:clue:list' }
|
||||
meta: { title: '线索管理', keepAlive: false, menuCode: 'crm:clue:list' }
|
||||
},
|
||||
{
|
||||
id: 'CRM1000000000000000000000000011',
|
||||
@@ -799,7 +799,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/crm/clue/statistics/index',
|
||||
meta: {
|
||||
title: '线索统计',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
isHide: true,
|
||||
menuCode: 'crm:clue:statistics'
|
||||
}
|
||||
@@ -809,7 +809,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
name: 'CrmOpportunity',
|
||||
path: 'opportunity',
|
||||
component: '/crm/opportunity/index',
|
||||
meta: { title: '商机管理', keepAlive: true, menuCode: 'crm:opportunity:list' }
|
||||
meta: { title: '商机管理', keepAlive: false, menuCode: 'crm:opportunity:list' }
|
||||
},
|
||||
{
|
||||
id: 'CRM2000000000000000000000000011',
|
||||
@@ -830,7 +830,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/crm/opportunity/kanban',
|
||||
meta: {
|
||||
title: '商机看板',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
isHide: true,
|
||||
menuCode: 'crm:opportunity:list'
|
||||
}
|
||||
@@ -842,7 +842,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/crm/opportunity/funnel',
|
||||
meta: {
|
||||
title: '销售漏斗',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
isHide: true,
|
||||
menuCode: 'crm:opportunity:list'
|
||||
}
|
||||
@@ -854,7 +854,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/crm/opportunity/statistics',
|
||||
meta: {
|
||||
title: '商机统计',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
isHide: true,
|
||||
menuCode: 'crm:opportunity:list'
|
||||
}
|
||||
@@ -864,7 +864,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
name: 'CrmCustomerPool',
|
||||
path: 'customer-pool',
|
||||
component: '/crm/customer/pool/index',
|
||||
meta: { title: '公海池', keepAlive: true, menuCode: 'crm:customerPool:list' }
|
||||
meta: { title: '公海池', keepAlive: false, menuCode: 'crm:customerPool:list' }
|
||||
},
|
||||
{
|
||||
id: 'CRM1000000000000000000000000004',
|
||||
@@ -873,7 +873,7 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
component: '/crm/customer/pool/RuleIndex',
|
||||
meta: {
|
||||
title: '公海池规则',
|
||||
keepAlive: true,
|
||||
keepAlive: false,
|
||||
isHide: true,
|
||||
menuCode: 'crm:poolRule:list'
|
||||
}
|
||||
|
||||
@@ -67,13 +67,15 @@ export async function preopenFavoriteTabsIfNeeded(userId: string): Promise<strin
|
||||
if (isFirst) {
|
||||
firstFavPath = card.path
|
||||
}
|
||||
// 跟随路由 meta,避免重业务页被收藏预开强制缓存
|
||||
const routeKeepAlive = Boolean(resolved.meta?.keepAlive)
|
||||
worktab.openTab(
|
||||
{
|
||||
path: card.path,
|
||||
title: card.title,
|
||||
name: String(resolved.name || ''),
|
||||
fixedTab: false,
|
||||
keepAlive: true
|
||||
keepAlive: routeKeepAlive
|
||||
},
|
||||
{ activate: isFirst }
|
||||
)
|
||||
|
||||
Reference in new issue
Block a user