|
|
@@ -223,6 +223,27 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ <el-col v-if="formData.businessType === '9'" :span="12">
|
|
|
+ <el-form-item label="委外发料单" prop="relatedOrder">
|
|
|
+ <el-select
|
|
|
+ v-model="formData.relatedOrder"
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ :disabled="isFormDisabled"
|
|
|
+ reserve-keyword
|
|
|
+ placeholder="请输入委外发料单号"
|
|
|
+ :remote-method="remoteRelatedOrder"
|
|
|
+ :loading="loading"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in relatedOrderList"
|
|
|
+ :key="item.requestNo"
|
|
|
+ :label="item.requestNo"
|
|
|
+ :value="item.requestNo"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
<!-- <el-col :span="12">
|
|
|
<el-form-item label="源单编号" prop="sourceOrderNo">
|
|
|
<el-select
|
|
|
@@ -563,6 +584,8 @@ export default {
|
|
|
uploadFiles: [], // 上传的文件
|
|
|
users: [],
|
|
|
loading: false,
|
|
|
+ relatedOrderList: [], // 委外发料单列表
|
|
|
+ allRelatedOrderList: [], // 全部委外发料单(用于本地过滤)
|
|
|
// 页面标题
|
|
|
dialogTitle: "",
|
|
|
// 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
|
|
@@ -575,6 +598,7 @@ export default {
|
|
|
currentBusinessDescribeRow: null,
|
|
|
// 表单参数
|
|
|
formData: {
|
|
|
+ relatedOrder: undefined, // 委外发料单号
|
|
|
departmentNo: undefined,
|
|
|
deptCode: undefined,
|
|
|
deptName: undefined,
|
|
|
@@ -721,6 +745,9 @@ export default {
|
|
|
rules.sourceOrderNo = [
|
|
|
{ required: true, message: "源单编号不能为空", trigger: "blur" },
|
|
|
];
|
|
|
+ rules.relatedOrder = [
|
|
|
+ { required: true, message: "委外发料单不能为空", trigger: "blur" },
|
|
|
+ ];
|
|
|
}
|
|
|
// 生产退料(3)需要的必填字段
|
|
|
else if (businessType === "3") {
|
|
|
@@ -872,6 +899,24 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
+ async remoteRelatedOrder(query) {
|
|
|
+ if (query !== "") {
|
|
|
+ this.loading = true;
|
|
|
+ try {
|
|
|
+ const { data } = await InRequestApi.getInRequestPage({
|
|
|
+ pageNo: 1,
|
|
|
+ pageSize: 100,
|
|
|
+ businessType: 7,
|
|
|
+ requestNo: query,
|
|
|
+ });
|
|
|
+ this.relatedOrderList = data?.list || [];
|
|
|
+ } finally {
|
|
|
+ this.loading = false;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.relatedOrderList = this.allRelatedOrderList;
|
|
|
+ }
|
|
|
+ },
|
|
|
remoteMethod(query) {
|
|
|
if (query !== "") {
|
|
|
this.sourceOrderNoList = this.allSourceOrderNoList.filter((item) =>
|
|
|
@@ -1009,6 +1054,26 @@ export default {
|
|
|
orderType: value,
|
|
|
});
|
|
|
this.businessDescribeList = data;
|
|
|
+ // 委外入库时加载委外发料单列表
|
|
|
+ if (value === "9") {
|
|
|
+ this.loading = true;
|
|
|
+ try {
|
|
|
+ const { data } = await InRequestApi.getInRequestPage({
|
|
|
+ pageNo: 1,
|
|
|
+ pageSize: 100,
|
|
|
+ businessType: 7,
|
|
|
+ });
|
|
|
+ this.allRelatedOrderList = data?.list || [];
|
|
|
+ this.relatedOrderList = this.allRelatedOrderList;
|
|
|
+ } finally {
|
|
|
+ this.loading = false;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 非委外入库时清空
|
|
|
+ this.allRelatedOrderList = [];
|
|
|
+ this.relatedOrderList = [];
|
|
|
+ this.formData.relatedOrder = undefined;
|
|
|
+ }
|
|
|
},
|
|
|
/** 初始化数据 */
|
|
|
async initData(id) {
|
|
|
@@ -1061,7 +1126,24 @@ export default {
|
|
|
|
|
|
/* 5. 回填表单 */
|
|
|
this.formData = data;
|
|
|
-
|
|
|
+ // 委外入库时加载委外发料单列表
|
|
|
+ if (data.businessType === "9") {
|
|
|
+ this.loading = true;
|
|
|
+ try {
|
|
|
+ const { data: relatedList } = await InRequestApi.getInRequestPage({
|
|
|
+ pageNo: 1,
|
|
|
+ pageSize: 100,
|
|
|
+ businessType: 7,
|
|
|
+ });
|
|
|
+ this.allRelatedOrderList = relatedList?.list || [];
|
|
|
+ this.relatedOrderList = this.allRelatedOrderList;
|
|
|
+ } finally {
|
|
|
+ this.loading = false;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.allRelatedOrderList = [];
|
|
|
+ this.relatedOrderList = [];
|
|
|
+ }
|
|
|
/* 6. 附件列表 */
|
|
|
this.uploadFiles = data.filesListVos || [];
|
|
|
} finally {
|
|
|
@@ -1208,6 +1290,7 @@ export default {
|
|
|
this.formData = {
|
|
|
id: undefined,
|
|
|
// list: [],
|
|
|
+ relatedOrder: undefined,
|
|
|
requestNo: undefined,
|
|
|
requestType: undefined,
|
|
|
businessType: undefined,
|