采购需求增加"是否发往车间"及发货地址字段

表单新增单选,选"否"时需填写发货地址;列表新增对应列。已在生产库
oa_requirements 表执行 ADD COLUMN 迁移。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-02 14:24:32 +08:00
parent 598f88b03a
commit 6c5722c47c
6 changed files with 72 additions and 0 deletions

View File

@@ -106,6 +106,15 @@
</el-tooltip>
</template>
</el-table-column>
<el-table-column label="是否发往车间" align="center" width="110">
<template slot-scope="{ row }">
<el-tag v-if="row.shipToWorkshop === 0" type="warning" size="mini"></el-tag>
<el-tag v-else type="success" size="mini"></el-tag>
<div v-if="row.shipToWorkshop === 0 && row.shipAddress" class="ship-address">
{{ row.shipAddress }}
</div>
</template>
</el-table-column>
<el-table-column label="采购物料" align="left" min-width="170">
<template slot-scope="{ row }">
<template v-if="row.materials && row.materials.length">
@@ -215,6 +224,15 @@
</div>
</div>
</el-form-item>
<el-form-item label="是否发往车间" prop="shipToWorkshop">
<el-radio-group v-model="form.shipToWorkshop">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="form.shipToWorkshop === 0" label="发货地址" prop="shipAddress">
<el-input v-model="form.shipAddress" placeholder="请输入发货地址" />
</el-form-item>
<el-form-item label="需求描述" prop="description">
<el-input v-model="form.description" type="textarea" placeholder="请输入需求描述" />
</el-form-item>
@@ -321,6 +339,8 @@
<el-descriptions-item label="需求方">{{ detailRow.requesterNickName }}</el-descriptions-item>
<el-descriptions-item label="负责人">{{ detailRow.ownerNickName }}</el-descriptions-item>
<el-descriptions-item label="关联项目">{{ detailRow.projectName }}</el-descriptions-item>
<el-descriptions-item label="是否发往车间">{{ detailRow.shipToWorkshop === 0 ? '否' : '是' }}</el-descriptions-item>
<el-descriptions-item v-if="detailRow.shipToWorkshop === 0" label="发货地址">{{ detailRow.shipAddress }}</el-descriptions-item>
<el-descriptions-item label="需求描述">{{ detailRow.description }}</el-descriptions-item>
<el-descriptions-item label="截止日期">{{ detailRow.deadline }}</el-descriptions-item>
<el-descriptions-item label="剩余时间">{{ getRemainText(detailRow.deadline) }}</el-descriptions-item>
@@ -445,6 +465,18 @@ export default {
],
deadline: [
{ required: true, message: "请选择截止日期", trigger: "change" }
],
shipAddress: [
{
validator: (rule, value, callback) => {
if (this.form.shipToWorkshop === 0 && !value) {
callback(new Error("请输入发货地址"));
} else {
callback();
}
},
trigger: "blur"
}
]
},
detailDialog: false,
@@ -688,6 +720,8 @@ export default {
projectId: undefined,
materialIds: undefined,
materialIdArr: [],
shipToWorkshop: 1,
shipAddress: undefined,
description: undefined,
deadline: undefined,
status: 0,
@@ -978,6 +1012,12 @@ export default {
}
.mat-stock-meta { color: #909399; }
}
.ship-address {
margin-top: 4px;
font-size: 11px;
color: #909399;
word-break: break-all;
}
.accessory-link {
display: inline-block;
max-width: 160px;