فهرست منبع

feat: 创建PO.新增产品部首选供应商功能.

peter 3 ماه پیش
والد
کامیت
308ba622a6
1فایلهای تغییر یافته به همراه54 افزوده شده و 3 حذف شده
  1. 54 3
      src/pages/purchase-order/edit.vue

+ 54 - 3
src/pages/purchase-order/edit.vue

@@ -122,6 +122,53 @@
                 </div>
               </div>
             </el-form-item>
+
+            <div class="pl-[12px]">
+              <div class="text-gray-400">
+                <span>产品部首选供应商</span>
+                <span class="text-sm">&nbsp;(单击供应商名称快速选中)</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">
+                          &nbsp;-&nbsp;{{ 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() || [],
+        })
       })
     })
   })