|
@@ -43,7 +43,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="表单日期" prop="formDate">
|
|
|
- <el-date-picker v-if="editStatus" clearable v-model="form.formDate" type="date" value-format="YYYY-MM-DD"
|
|
|
+ <el-date-picker v-if="editStatus &&hasReturnReceiptDetailFlag" clearable v-model="form.formDate" type="date" value-format="YYYY-MM-DD"
|
|
|
placeholder="请选择表单日期" style="width: 100%">
|
|
|
</el-date-picker>
|
|
|
<span v-else>{{ parseTime(form.formDate, "{y}-{m}-{d}") }}</span>
|
|
@@ -51,7 +51,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="外协商名称" prop="supplierName">
|
|
|
- <el-input v-if="editStatus && form.isSubmit == 0" v-model="form.supplierName" readonly
|
|
|
+ <el-input v-if="editStatus && form.isSubmit == 0 &&hasReturnReceiptDetailFlag" v-model="form.supplierName" readonly
|
|
|
placeholder="请输入外协商名称">
|
|
|
<template #append>
|
|
|
<el-button icon="Search" @click="handleShowDialogSuppliers" />
|
|
@@ -62,21 +62,21 @@
|
|
|
</el-col>
|
|
|
<el-col :span="6" v-if="false">
|
|
|
<el-form-item label="运费单价" prop="freightPrice">
|
|
|
- <el-input-number v-if="editStatus" v-model="form.freightPrice" :min="0" :precision="2"
|
|
|
+ <el-input-number v-if="editStatus &&hasReturnReceiptDetailFlag" v-model="form.freightPrice" :min="0" :precision="2"
|
|
|
controls-position="right" />
|
|
|
<span v-else>{{ form.freightPrice }}</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6" v-if="false">
|
|
|
<el-form-item label="运费总价" prop="freightAmount">
|
|
|
- <el-input-number v-if="editStatus" v-model="form.freightAmount" :min="0" :precision="2"
|
|
|
+ <el-input-number v-if="editStatus &&hasReturnReceiptDetailFlag" v-model="form.freightAmount" :min="0" :precision="2"
|
|
|
controls-position="right" />
|
|
|
<span v-else>{{ form.freightAmount }}</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="送货方式" prop="deliveryMethod">
|
|
|
- <el-select v-if="editStatus" v-model="form.deliveryMethod" placeholder="请选择"
|
|
|
+ <el-select v-if="editStatus &&hasReturnReceiptDetailFlag" v-model="form.deliveryMethod" placeholder="请选择"
|
|
|
@change="handleChangeDeliveryMethod">
|
|
|
<el-option v-for=" dict in deliveryMethod " :key="dict.value" :label="dict.label"
|
|
|
:value="dict.value" />
|
|
@@ -88,7 +88,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="带箱方式" prop="packagingMethod">
|
|
|
- <el-select v-if="editStatus" v-model="form.packagingMethod" placeholder="请选择"
|
|
|
+ <el-select v-if="editStatus &&hasReturnReceiptDetailFlag" v-model="form.packagingMethod" placeholder="请选择"
|
|
|
@change="handleChangePackagingMethod">
|
|
|
<el-option v-for=" dict in packagingMethod " :key="dict.value" :label="dict.label"
|
|
|
:value="dict.value" />
|
|
@@ -100,7 +100,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="结算方式" prop="settlementType">
|
|
|
- <el-select v-if="editStatus" v-model="form.settlementType" placeholder="请选择">
|
|
|
+ <el-select v-if="editStatus &&hasReturnReceiptDetailFlag" v-model="form.settlementType" placeholder="请选择">
|
|
|
<el-option v-for=" dict in settlementType " :key="dict.value" :label="dict.label"
|
|
|
:value="dict.value" />
|
|
|
</el-select>
|
|
@@ -137,7 +137,7 @@
|
|
|
<el-table-column label="产品描述" align="center" prop="productDescription" width="320" />
|
|
|
<el-table-column label="产品数" align="center" width="160" prop="productNum">
|
|
|
<template #default="scope">
|
|
|
- <el-input-number v-if="editStatus" :min="0" v-model="scope.row.productNum" placeholder="产品数"
|
|
|
+ <el-input-number v-if="editStatus&&scope.row.hasReturnReceiptDetailFlag" :min="0" v-model="scope.row.productNum" placeholder="产品数"
|
|
|
:controls="false" />
|
|
|
<span v-else>{{ scope.row.productNum }}</span>
|
|
|
</template>
|
|
@@ -149,7 +149,7 @@
|
|
|
<template #default="scope">
|
|
|
<el-button link type="primary" icon="Refresh" v-if="!scope.row.editStatus && editStatus"
|
|
|
@click="handleChangeCarrier(scope.row)">换箱</el-button>
|
|
|
- <el-select v-if="editStatus && scope.row.editStatus" v-model="scope.row.carrierIds" multiple filterable
|
|
|
+ <el-select v-if="editStatus && scope.row.editStatus&&scope.row.hasReturnReceiptDetailFlag" v-model="scope.row.carrierIds" multiple filterable
|
|
|
remote reserve-keyword placeholder="请选择箱号" :remote-method="(arg) =>
|
|
|
remoteCarriers(arg, scope.row.newCarriers, scope.row)
|
|
|
" :loading="loadingCarrier" @change="(arg) => handleCarrierChange(arg, scope.row)">
|
|
@@ -175,7 +175,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="外协工序" align="center" prop="processNames" width="320">
|
|
|
<template #default="scope">
|
|
|
- <el-input v-if="editStatus" v-model="scope.row.processNames" readonly placeholder="请选择工序">
|
|
|
+ <el-input v-if="editStatus&&scope.row.hasReturnReceiptDetailFlag" v-model="scope.row.processNames" readonly placeholder="请选择工序">
|
|
|
<template #append>
|
|
|
<el-button icon="Search" @click="handleShowDialogProcesses(scope.row)" />
|
|
|
</template>
|
|
@@ -185,14 +185,14 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="备注" align="center" prop="remark">
|
|
|
<template #default="scope">
|
|
|
- <el-input v-if="editStatus" v-model="scope.row.remark" placeholder="备注" />
|
|
|
+ <el-input v-if="editStatus&&scope.row.hasReturnReceiptDetailFlag" v-model="scope.row.remark" placeholder="备注" />
|
|
|
<span v-else>{{ scope.row.remark }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column v-if="editStatus" label="操作" align="center" class-name="small-padding fixed-width"
|
|
|
width="64">
|
|
|
<template #default="scope">
|
|
|
- <el-button circle type="danger" icon="Delete" @click="handleDelete(scope.$index)"
|
|
|
+ <el-button circle type="danger" v-if="scope.row.hasReturnReceiptDetailFlag" icon="Delete" @click="handleDelete(scope.$index)"
|
|
|
v-hasPermi="['business:outsource:remove']" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -260,7 +260,7 @@ const loading = ref(false);
|
|
|
const multiple = ref(true);
|
|
|
const visible = ref(false);
|
|
|
const editStatus = ref(true);
|
|
|
-const isFullscreen = ref(false);
|
|
|
+const hasReturnReceiptDetailFlag = ref(true);
|
|
|
const totalCarriersNum = ref(0);
|
|
|
const detailInfo = ref({});
|
|
|
const loadingCarrier = ref(false);
|
|
@@ -298,6 +298,7 @@ function open(row) {
|
|
|
getForm();
|
|
|
} else {
|
|
|
editStatus.value = true;
|
|
|
+ hasReturnReceiptDetailFlag.value = true
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -306,7 +307,16 @@ function getForm() {
|
|
|
loading.value = true;
|
|
|
getOrder(form.value.id).then((response) => {
|
|
|
form.value = response.data;
|
|
|
- console.log(form.value.details);
|
|
|
+ //如果发出单明细里收回单,主表除了备注之外不能编辑
|
|
|
+ form.value.details.forEach((item) => {
|
|
|
+ item.hasReturnReceiptDetailFlag = true
|
|
|
+ if(item.returnReceiptDetailList&&item.returnReceiptDetailList.length>0) {
|
|
|
+ hasReturnReceiptDetailFlag.value = false
|
|
|
+ }
|
|
|
+ if(item.returnReceiptDetailList&&item.returnReceiptDetailList.length>0&&item.returnReceiptDetailList[0].status == 1) {
|
|
|
+ item.hasReturnReceiptDetailFlag = false
|
|
|
+ }
|
|
|
+ });
|
|
|
form.value.details.forEach((item) => {
|
|
|
item.editStatus = false;
|
|
|
if (!form.value.id) {
|
|
@@ -326,7 +336,7 @@ function getForm() {
|
|
|
editStatus.value = false
|
|
|
console.log(editStatus.value)
|
|
|
}
|
|
|
- console.log(editStatus.value)
|
|
|
+ console.log(hasReturnReceiptDetailFlag.value)
|
|
|
loading.value = false;
|
|
|
});
|
|
|
}
|
|
@@ -630,6 +640,7 @@ const handleMultipleSelectedProducts = (selection) => {
|
|
|
processNames: "",
|
|
|
remark: item.remark,
|
|
|
processes: [],
|
|
|
+ hasReturnReceiptDetailFlag :true
|
|
|
};
|
|
|
form.value.details.push(newDetail);
|
|
|
console.log(newDetail);
|
|
@@ -795,7 +806,8 @@ const handleShowDialogProcesses = (row) => {
|
|
|
// 工序选择带回
|
|
|
const handleMultipleSelectedProcesses = (selection) => {
|
|
|
currentDetail.value.processes = []
|
|
|
- const processNames = selection.map((item) => item.processAlias);
|
|
|
+ console.log(selection);
|
|
|
+ const processNames = selection.sort((a, b) => a.processStepNumber - b.processStepNumber).map((item) => item.processAlias);
|
|
|
// 使用join方法将数组转换为以逗号分隔的字符串
|
|
|
let commaSeparatedString = processNames.join(",");
|
|
|
currentDetail.value.processes = [];
|