|
@@ -122,6 +122,53 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
+
|
|
|
+ <div class="pl-[12px]">
|
|
|
+ <div class="text-gray-400">
|
|
|
+ <span>产品部首选供应商</span>
|
|
|
+ <span class="text-sm"> (单击供应商名称快速选中)</span>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ v-for="(item, index) in preferSupplier"
|
|
|
+ :key="item.sku"
|
|
|
+ class="flex"
|
|
|
+ :class="{
|
|
|
+ 'border border-gray-300 border-x-[0] border-t-[0] border-solid':
|
|
|
+ index + 1 === preferSupplier.length,
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ class="border border-solid border-gray-300 border-r-[0] border-b-[0] min-w-[100px] flex justify-center items-center"
|
|
|
+ >
|
|
|
+ {{ item.sku }}
|
|
|
+ </div>
|
|
|
+ <div class="flex-auto flex flex-col">
|
|
|
+ <div
|
|
|
+ v-for="subItem in item.list"
|
|
|
+ :key="subItem.id"
|
|
|
+ class="border border-solid border-gray-300 border-b-[0] p-[6px]"
|
|
|
+ >
|
|
|
+ <el-tooltip
|
|
|
+ placement="right"
|
|
|
+ :content="subItem.Note"
|
|
|
+ :disabled="!subItem.Note"
|
|
|
+ >
|
|
|
+ <span
|
|
|
+ class="cursor-pointer text-sm"
|
|
|
+ @click="quickSelectSupplier(subItem.Supplier)"
|
|
|
+ >
|
|
|
+ <span>
|
|
|
+ {{ subItem.Supplier.name }}
|
|
|
+ </span>
|
|
|
+ <span v-if="subItem.Priority">
|
|
|
+ - {{ subItem.Priority }}
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
<div class="layout-right flex-auto">
|
|
@@ -1364,6 +1411,7 @@ import {
|
|
|
ElRadioGroup,
|
|
|
ElRadio,
|
|
|
ElMessageBox,
|
|
|
+ ElTooltip,
|
|
|
} from 'element-plus'
|
|
|
import type { FormInstance } from 'element-plus'
|
|
|
import { ShoppingCart, FolderAdd, Switch } from '@element-plus/icons-vue'
|
|
@@ -2114,8 +2162,7 @@ const p1 = request
|
|
|
const route = useRoute()
|
|
|
const soOwner = ref('')
|
|
|
// 获取销售订单详情
|
|
|
-const p2 = request
|
|
|
- .post('/common/getSalesOrdersDatV7', { id: route.params.id })
|
|
|
+const p2 = request.post('/common/getSalesOrdersDatV7', { id: route.params.id })
|
|
|
|
|
|
// 获取对 该so对应客户的标注 并弹窗提醒
|
|
|
const getAccountsData = async (id: string) =>
|
|
@@ -2211,7 +2258,7 @@ const p3 = request
|
|
|
currentCompany.value = 'PC'
|
|
|
}
|
|
|
})
|
|
|
-
|
|
|
+const preferSupplier = ref([] as any[])
|
|
|
Promise.all([p1, p2, p3, getAccountsData])
|
|
|
.then((array: any[]) => {
|
|
|
// p2的数据处理逻辑从原本的p2then移动到这里处理.
|
|
@@ -2266,6 +2313,10 @@ Promise.all([p1, p2, p3, getAccountsData])
|
|
|
SO_Line_Item_Id: item.id,
|
|
|
}),
|
|
|
)
|
|
|
+ preferSupplier.value.push({
|
|
|
+ sku: item.Product_Name.Product_Code || '-',
|
|
|
+ list: ctx.Preferred_Supplier.slice() || [],
|
|
|
+ })
|
|
|
})
|
|
|
})
|
|
|
})
|