fix(wmsShippingBill/edit): 优化到货确认区块展示逻辑

- type=view:显示“全部到货确认”区块,只读不可改。
  type=approval 但不是“到货确认节点申请人”:不显示该区块。
  type=approval 且当前任务节点是 arrival-confirm,并且当前登录人是申请人:显示该区块,可录入。

- 我调整的是 showArrivalConfirmSection 的显示条件:
  查看页按已有到货确认数据/需到货确认来展示。
  审批页只看 isArrivalConfirmApprover,不再给其它审批节点或其它审批人展示。
dev
zangch@mesnac.com 3 days ago
parent 9c8f65d285
commit c60927eb38

@ -14,14 +14,19 @@
/> />
</el-card> </el-card>
<!-- 全部到货确认区块仅到货确认节点允许申请人录入 --> <!-- 全部到货确认区块查看/审批页都展示仅到货确认节点允许申请人录入 -->
<el-card v-if="isArrivalConfirmApprover" shadow="never" style="margin-top: 10px; border: 1px solid #e6a23c"> <el-card
v-if="showArrivalConfirmSection"
shadow="never"
style="margin-top: 10px"
:style="isArrivalConfirmApprover ? 'border: 1px solid #e6a23c' : ''"
>
<template #header> <template #header>
<div style="text-align: left; font-weight: bold; font-size: 16px; color: #e6a23c"> <div style="text-align: left; font-weight: bold; font-size: 16px" :style="isArrivalConfirmApprover ? 'color: #e6a23c' : ''">
<el-icon style="margin-right: 6px"><Warning /></el-icon> <el-icon v-if="isArrivalConfirmApprover" style="margin-right: 6px"><Warning /></el-icon>
</div> </div>
</template> </template>
<el-form :model="arrivalConfirmForm" label-width="120px" ref="arrivalConfirmFormRef"> <el-form v-if="isArrivalConfirmApprover" :model="arrivalConfirmForm" label-width="120px" ref="arrivalConfirmFormRef">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="全部到货标识" prop="isAllReceiving" :rules="[{ required: true, message: '请选择全部到货标识', trigger: 'change' }]"> <el-form-item label="全部到货标识" prop="isAllReceiving" :rules="[{ required: true, message: '请选择全部到货标识', trigger: 'change' }]">
@ -43,6 +48,31 @@
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<el-form v-else :model="form" label-width="120px" disabled>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="全部到货标识">
<dict-tag :options="is_all_receiving" :value="form.isAllReceiving" />
<span v-if="!form.isAllReceiving">-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="到货确认时间">
<span>{{ proxy?.parseTime(form.arrivalConfirmTime, '{y}-{m}-{d} {h}:{i}:{s}') || '-' }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="到货确认人">
<span>{{ form.arrivalConfirmByName || '-' }}</span>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="收货单附件">
<fileUpload v-model="form.arrivalReceiptOssId" :limit="5" disabled />
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card> </el-card>
<!-- 基本信息区域 --> <!-- 基本信息区域 -->
@ -525,6 +555,19 @@ const isArrivalConfirmApprover = computed(() => {
); );
}); });
const showArrivalConfirmSection = computed(() => {
const hasArrivalConfirmData =
String(form.value.needArrivalConfirm || '') === '1' ||
!!form.value.isAllReceiving ||
!!form.value.arrivalConfirmTime ||
!!form.value.arrivalConfirmByName ||
!!form.value.arrivalReceiptOssId;
if (isViewMode.value) {
return hasArrivalConfirmData;
}
return isArrivalConfirmApprover.value;
});
const isViewMode = computed(() => routeParams.value.type === 'view'); const isViewMode = computed(() => routeParams.value.type === 'view');
const isDraftFlowStatus = computed(() => { const isDraftFlowStatus = computed(() => {
@ -655,8 +698,16 @@ const initFormData: WmsShippingBillForm = {
warehouseName: undefined, warehouseName: undefined,
outStockBillStatus: '1', // outStockBillStatus: '1', //
flowStatus: 'draft', flowStatus: 'draft',
needArrivalConfirm: undefined,
isAllReceiving: undefined,
arrivalReceiptOssId: undefined,
arrivalConfirmTime: undefined,
arrivalConfirmBy: undefined,
arrivalConfirmByName: undefined,
shippingStatus: '1', // shippingStatus: '1', //
remark: undefined, remark: undefined,
createBy: undefined,
createTime: undefined,
detailsList: [] detailsList: []
}; };

Loading…
Cancel
Save