ezhizao_zx 9 月之前
父節點
當前提交
511248c565
共有 2 個文件被更改,包括 171 次插入87 次删除
  1. 54 0
      src/api/business/companyProductPackage.js
  2. 117 87
      src/views/business/companyProductPackage/index.vue

+ 54 - 0
src/api/business/companyProductPackage.js

@@ -0,0 +1,54 @@
+import request from '@/utils/request'
+
+const baseUrl = import.meta.env.VITE_APP_BASE_API
+const p2Url = import.meta.env.VITE_APP_P2_API
+
+// 查询产品包装客户关联列表
+export function listCompanyProductPackage(query) {
+  return request({
+    url: baseUrl + '/business/companyProductPackage/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询产品包装客户关联详细
+export function getCompanyProductPackage(id) {
+  return request({
+    url: baseUrl + '/business/companyProductPackage/' + id,
+    method: 'get'
+  })
+}
+
+// 新增产品包装客户关联
+export function addCompanyProductPackage(data) {
+  return request({
+    url: baseUrl + '/business/companyProductPackage',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改产品包装客户关联
+export function updateCompanyProductPackage(data) {
+  return request({
+    url: baseUrl + '/business/companyProductPackage',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除产品包装客户关联
+export function delCompanyProductPackage(id) {
+  return request({
+    url: baseUrl + '/business/companyProductPackage/' + id,
+    method: 'delete'
+  })
+}
+
+export function getP2CompanyProductPackage() {
+  return request({
+    url: p2Url + '/business/inw10100/getP2CompanyProductPackage',
+    method: 'get'
+  })
+}

+ 117 - 87
src/views/business/companyProductPackage/index.vue

@@ -4,7 +4,7 @@
     <section class="list-part-container" style="flex: 2">
     <section class="list-part-container" style="flex: 2">
       <!-- 搜索区域 -->
       <!-- 搜索区域 -->
       <el-form class="list-search-container" :model="queryParams" ref="queryRef" :inline="true">
       <el-form class="list-search-container" :model="queryParams" ref="queryRef" :inline="true">
-        <el-form-item class="section-title" label="辅料管理" />
+        <el-form-item class="section-title" label="客户产品包装关联管理" />
 
 
         <!-- <el-form-item label="辅料名称:" prop="code">
         <!-- <el-form-item label="辅料名称:" prop="code">
           <el-input v-model="queryParams.name" placeholder="请输入辅料名称" clearable @keyup.enter="handleQuery"
           <el-input v-model="queryParams.name" placeholder="请输入辅料名称" clearable @keyup.enter="handleQuery"
@@ -13,8 +13,9 @@
         <el-form-item label="辅料编号:" prop="accessoriesCode">
         <el-form-item label="辅料编号:" prop="accessoriesCode">
           <el-input v-model="queryParams.accessoriesCode" placeholder="请输入辅料编号" clearable @keyup.enter="handleQuery" />
           <el-input v-model="queryParams.accessoriesCode" placeholder="请输入辅料编号" clearable @keyup.enter="handleQuery" />
         </el-form-item>
         </el-form-item>
-        <el-form-item label="物料描述:" prop="description">
-          <el-input v-model="queryParams.description" placeholder="请输入物料描述" clearable @keyup.enter="handleQuery" />
+        <el-form-item label="产品描述:" prop="productDescription">
+          <el-input v-model="queryParams.productDescription" placeholder="请输入产品描述" clearable
+            @keyup.enter="handleQuery" />
         </el-form-item>
         </el-form-item>
         <el-form-item>
         <el-form-item>
           <el-button type="info" icon="Search" @click="handleQuery">搜索</el-button>
           <el-button type="info" icon="Search" @click="handleQuery">搜索</el-button>
@@ -34,156 +35,185 @@
             @selection-change="handleSelectionChange">
             @selection-change="handleSelectionChange">
             <el-table-column type="selection" width="55" align="center" />
             <el-table-column type="selection" width="55" align="center" />
             <el-table-column type="index" label="行号" width="50" align="center" />
             <el-table-column type="index" label="行号" width="50" align="center" />
-            <el-table-column label="辅料编号" align="center" prop="accessoriesCode">
+            <el-table-column label="产品编码" align="center" prop="productCode" width="140">
               <template #default="scope">
               <template #default="scope">
-                <el-input v-if="scope.row.editStatus" placeholder="辅料编号" v-model="scope.row.accessoriesCode"
-                  style="width: 100%;" />
-                <div v-else>{{ scope.row.accessoriesCode }}</div>
+                <el-input v-if="scope.row.editStatus" placeholder="产品编码" v-model="scope.row.productCode"
+                  style="width: 100%;" readonly>
+                  <template #append>
+                    <el-button icon="Search" @click="handleSelectProduct" />
+                  </template>
+                </el-input>
+                <div v-else>{{ scope.row.productCode }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="账号" align="center" prop="itype">
+            <el-table-column label="客户编码" align="center" prop="companyCode" width="140">
               <template #default="scope">
               <template #default="scope">
-                <el-input v-if="scope.row.editStatus" placeholder="账号" v-model="scope.row.itype" style="width: 100%;" />
-                <div v-else>{{ scope.row.itype }}</div>
+                <el-input v-if="scope.row.editStatus" placeholder="客户编码" v-model="scope.row.companyCode"
+                  style="width: 100%;" readonly>
+                  <template #append>
+                    <el-button icon="Search" @click="handleSelectCompany" />
+                  </template>
+                </el-input>
+                <div v-else>{{ scope.row.companyCode }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="主管部门" align="center" prop="cusven">
+            <el-table-column label="包装形式码" align="center" prop="packageTypeCode">
               <template #default="scope">
               <template #default="scope">
-                <el-input v-if="scope.row.editStatus" placeholder="主管部门" v-model="scope.row.cusven"
+                <el-input v-if="scope.row.editStatus" placeholder="包装形式码" v-model="scope.row.packageTypeCode"
                   style="width: 100%;" />
                   style="width: 100%;" />
-                <div v-else>{{ scope.row.cusven }}</div>
+                <div v-else>{{ scope.row.packageTypeCode }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="物料描述" align="center" prop="description" width="200">
+            <el-table-column label="产品描述" align="center" prop="productDescription" width="240">
               <template #default="scope">
               <template #default="scope">
-                <el-input v-if="scope.row.editStatus" placeholder="物料描述" v-model="scope.row.description"
-                  style="width: 100%;" />
-                <div v-else>{{ scope.row.description }}</div>
+                <el-input v-if="scope.row.editStatus" placeholder="产品描述" v-model="scope.row.productDescription"
+                  style="width: 100%;" readonly>
+                </el-input>
+                <div v-else>{{ scope.row.productDescription }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="采购单位" align="center" prop="unit">
+            <el-table-column label="客户助记码" align="center" prop="mnemonicCode">
               <template #default="scope">
               <template #default="scope">
-                <el-input v-if="scope.row.editStatus" placeholder="采购单位" v-model="scope.row.unit"
-                  style="width: 100%;" />
-                <div v-else>{{ scope.row.unit }}</div>
+                <el-input v-if="scope.row.editStatus" placeholder="客户助记码" v-model="scope.row.mnemonicCode"
+                  style="width: 100%;" readonly />
+                <div v-else>{{ scope.row.mnemonicCode }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="换算单位" align="center" prop="pouom">
+            <el-table-column label="客户简称" align="center" prop="companyAlias" width="120">
               <template #default="scope">
               <template #default="scope">
-                <el-input v-if="scope.row.editStatus" placeholder="换算单位" v-model="scope.row.pouom"
-                  style="width: 100%;" />
-                <div v-else>{{ scope.row.pouom }}</div>
+                <el-input v-if="scope.row.editStatus" placeholder="客户简称" v-model="scope.row.companyAlias"
+                  style="width: 100%;" readonly />
+                <div v-else>{{ scope.row.companyAlias }}</div>
+              </template>
+            </el-table-column>
+            <el-table-column label="包装箱辅料编码" align="center" prop="packageCode" width="140">
+              <template #default="scope">
+                <el-input v-if="scope.row.editStatus" placeholder="包装箱辅料编码" v-model="scope.row.packageCode"
+                  style="width: 100%;" readonly>
+                  <template #append>
+                    <el-button icon="Search" @click="handleSelectAccessories" />
+                  </template>
+                </el-input>
+                <div v-else>{{ scope.row.packageCode }}</div>
+              </template>
+            </el-table-column>
+            <el-table-column label="包装箱号" align="center" prop="packageNo">
+              <template #default="scope">
+                <el-input v-if="scope.row.editStatus" placeholder="包装箱号" v-model="scope.row.packageNo"
+                  style="width: 100%;" readonly />
+                <div v-else>{{ scope.row.packageNo }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="环保大类码" align="center" prop="htype">
+            <el-table-column label="包装尺寸" align="center" prop="packageStandard" width="140">
               <template #default="scope">
               <template #default="scope">
-                <el-input v-if="scope.row.editStatus" placeholder="环保大类码" v-model="scope.row.htype"
+                <el-input v-if="scope.row.editStatus" placeholder="包装尺寸" v-model="scope.row.packageStandard"
                   style="width: 100%;" />
                   style="width: 100%;" />
-                <div v-else>{{ scope.row.htype }}</div>
+                <div v-else>{{ scope.row.packageStandard }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="环保大类简称" align="center" prop="htyna" width="120">
+            <el-table-column label="包装长度" align="center" prop="packageLength">
               <template #default="scope">
               <template #default="scope">
-                <el-input v-if="scope.row.editStatus" placeholder="环保大类简称" v-model="scope.row.htyna"
+                <el-input v-if="scope.row.editStatus" placeholder="包装长度" v-model="scope.row.packageLength"
                   style="width: 100%;" />
                   style="width: 100%;" />
-                <div v-else>{{ scope.row.htyna }}</div>
+                <div v-else>{{ scope.row.packageLength }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="月用量" align="center" prop="monthUseAmount">
+            <el-table-column label="包装宽度" align="center" prop="packageWidth">
               <template #default="scope">
               <template #default="scope">
-                <el-input-number v-if="scope.row.editStatus" placeholder="月用量" v-model="scope.row.monthUseAmount"
-                  style="width: 100%;" :step="0.01" step-strictly :controls="false" />
-                <div v-else>{{ scope.row.monthUseAmount }}</div>
+                <el-input v-if="scope.row.editStatus" placeholder="包装宽度" v-model="scope.row.packageWidth"
+                  style="width: 100%;" />
+                <div v-else>{{ scope.row.packageWidth }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="类别" align="center" prop="ltype">
+            <el-table-column label="包装箱高度" align="center" prop="packageHeight">
               <template #default="scope">
               <template #default="scope">
-                <el-input v-if="scope.row.editStatus" placeholder="类别" v-model="scope.row.ltype" style="width: 100%;" />
-                <div v-else>{{ scope.row.ltype }}</div>
+                <el-input v-if="scope.row.editStatus" placeholder="包装箱高度" v-model="scope.row.packageHeight"
+                  style="width: 100%;" />
+                <div v-else>{{ scope.row.packageHeight }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="交货天数" align="center" prop="deliveryDate">
+            <el-table-column label="单箱毛重" align="center" prop="singleGrossWeight">
               <template #default="scope">
               <template #default="scope">
-                <el-input-number v-if="scope.row.editStatus" placeholder="交货天数" v-model="scope.row.deliveryDate"
-                  style="width: 100%;" :step="1" step-strictly :controls="false" />
-                <div v-else>{{ scope.row.deliveryDate }}</div>
+                <el-input-number v-if="scope.row.editStatus" placeholder="单箱毛重" v-model="scope.row.singleGrossWeight"
+                  style="width: 100%;" :step="0.0001" step-strictly :controls="false" />
+                <div v-else>{{ scope.row.singleGrossWeight }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="安全库存量" align="center" prop="safetyStock">
+            <el-table-column label="单箱支数" align="center" prop="singleNumber">
               <template #default="scope">
               <template #default="scope">
-                <el-input-number v-if="scope.row.editStatus" placeholder="安全库存量" v-model="scope.row.safetyStock"
-                  style="width: 100%;" :step="0.01" step-strictly :controls="false" />
-                <div v-else>{{ scope.row.safetyStock }}</div>
+                <el-input-number v-if="scope.row.editStatus" placeholder="单箱支数" v-model="scope.row.singleNumber"
+                  style="width: 100%;" :step="1" step-strictly :controls="false" />
+                <div v-else>{{ scope.row.singleNumber }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="单价" align="center" prop="price">
+            <el-table-column label="每层箱数" align="center" prop="perNumber">
               <template #default="scope">
               <template #default="scope">
-                <el-input-number v-if="scope.row.editStatus" placeholder="单价" v-model="scope.row.price"
-                  style="width: 100%;" :step="0.00000001" step-strictly :controls="false" />
-                <div v-else>{{ scope.row.price }}</div>
+                <el-input-number v-if="scope.row.editStatus" placeholder="每层箱数" v-model="scope.row.perNumber"
+                  style="width: 100%;" :step="1" step-strictly :controls="false" />
+                <div v-else>{{ scope.row.perNumber }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="状态" align="center" prop="status">
+            <el-table-column label="满托最小箱数" align="center" prop="minNumber">
               <template #default="scope">
               <template #default="scope">
-                <el-input v-if="scope.row.editStatus" placeholder="状态" v-model="scope.row.status"
-                  style="width: 100%;" />
-                <div v-else>{{ scope.row.status }}</div>
+                <el-input-number v-if="scope.row.editStatus" placeholder="满托最小箱数" v-model="scope.row.minNumber"
+                  style="width: 100%;" :step="1" step-strictly :controls="false" />
+                <div v-else>{{ scope.row.minNumber }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="环保标志" align="center" prop="ecoMark">
+            <el-table-column label="满托最大箱数" align="center" prop="maxNumber">
               <template #default="scope">
               <template #default="scope">
-                <el-input v-if="scope.row.editStatus" placeholder="环保标志" v-model="scope.row.ecoMark"
-                  style="width: 100%;" />
-                <div v-else>{{ scope.row.ecoMark }}</div>
+                <el-input-number v-if="scope.row.editStatus" placeholder="满托最大箱数" v-model="scope.row.maxNumber"
+                  style="width: 100%;" :step="1" step-strictly :controls="false" />
+                <div v-else>{{ scope.row.maxNumber }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="单位换算比例" align="center" prop="conversionRatio" width="120">
+            <el-table-column label="满托支数" align="center" prop="maxBranchNumber">
               <template #default="scope">
               <template #default="scope">
-                <el-input-number v-if="scope.row.editStatus" placeholder="单位换算比例" v-model="scope.row.conversionRatio"
-                  style="width: 100%;" :step="0.0001" step-strictly :controls="false" />
-                <div v-else>{{ scope.row.conversionRatio }}</div>
+                <el-input-number v-if="scope.row.editStatus" placeholder="满托支数" v-model="scope.row.maxBranchNumber"
+                  style="width: 100%;" :step="1" step-strictly :controls="false" />
+                <div v-else>{{ scope.row.maxBranchNumber }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="包装箱尺寸" align="center" prop="packageStandard">
+            <el-table-column label="托盘规格" align="center" prop="palletStandard" width="140">
               <template #default="scope">
               <template #default="scope">
-                <el-input v-if="scope.row.editStatus" placeholder="包装箱尺寸" v-model="scope.row.packageStandard"
+                <el-input v-if="scope.row.editStatus" placeholder="托盘规格" v-model="scope.row.palletStandard"
                   style="width: 100%;" />
                   style="width: 100%;" />
-                <div v-else>{{ scope.row.packageStandard }}</div>
+                <div v-else>{{ scope.row.palletStandard }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="美捷原系统物料编码" align="center" prop="ypart">
+            <el-table-column label="托盘类型" align="center" prop="palletType">
               <template #default="scope">
               <template #default="scope">
-                <el-input v-if="scope.row.editStatus" placeholder="美捷原系统物料编码" v-model="scope.row.ypart"
+                <el-input v-if="scope.row.editStatus" placeholder="托盘类型" v-model="scope.row.palletType"
                   style="width: 100%;" />
                   style="width: 100%;" />
-                <div v-else>{{ scope.row.ypart }}</div>
+                <div v-else>{{ scope.row.palletType }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="当月加权平均单价" align="center" prop="monthAvgPrice">
+            <el-table-column label="放置区域" align="center" prop="areaType">
               <template #default="scope">
               <template #default="scope">
-                <el-input-number v-if="scope.row.editStatus" placeholder="当月加权平均单价" v-model="scope.row.monthAvgPrice"
-                  style="width: 100%;" :step="0.000001" step-strictly :controls="false" />
-                <div v-else>{{ scope.row.monthAvgPrice }}</div>
+                <el-input v-if="scope.row.editStatus" placeholder="放置区域" v-model="scope.row.areaType"
+                  style="width: 100%;" />
+                <div v-else>{{ scope.row.areaType }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="费用类别" align="center" prop="ftype">
+            <el-table-column label="库存单位" align="center" prop="unit">
               <template #default="scope">
               <template #default="scope">
-                <el-input v-if="scope.row.editStatus" placeholder="费用类别" v-model="scope.row.ftype"
+                <el-input v-if="scope.row.editStatus" placeholder="库存单位" v-model="scope.row.unit"
                   style="width: 100%;" />
                   style="width: 100%;" />
-                <div v-else>{{ scope.row.ftype }}</div>
+                <div v-else>{{ scope.row.unit }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="领用计费形式" align="center" prop="ktype">
+            <el-table-column label="传送状态" align="center" prop="deliveryStatus">
               <template #default="scope">
               <template #default="scope">
-                <el-input v-if="scope.row.editStatus" placeholder="领用计费形式" v-model="scope.row.ktype"
+                <el-input v-if="scope.row.editStatus" placeholder="传送状态" v-model="scope.row.deliveryStatus"
                   style="width: 100%;" />
                   style="width: 100%;" />
-                <div v-else>{{ scope.row.ktype }}</div>
+                <div v-else>{{ scope.row.deliveryStatus }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-            <el-table-column label="标准寿命天数" align="center" prop="ktyts">
+            <el-table-column label="外箱高度" align="center" prop="outboxHeight">
               <template #default="scope">
               <template #default="scope">
-                <el-input-number v-if="scope.row.editStatus" placeholder="标准寿命天数" v-model="scope.row.ktyts"
+                <el-input-number v-if="scope.row.editStatus" placeholder="外箱高度" v-model="scope.row.outboxHeight"
                   style="width: 100%;" :step="1" step-strictly :controls="false" />
                   style="width: 100%;" :step="1" step-strictly :controls="false" />
-                <div v-else>{{ scope.row.ktyts }}</div>
+                <div v-else>{{ scope.row.outboxHeight }}</div>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
             <el-table-column label="备注" align="center" prop="remark">
             <el-table-column label="备注" align="center" prop="remark">
@@ -216,7 +246,7 @@
 </template>
 </template>
 
 
 <script setup name="Equipment">
 <script setup name="Equipment">
-import { listAccessories, delAccessories, addAccessories, updateAccessories, getP2Accessories } from "@/api/business/accessories";
+import { listCompanyProductPackage, delCompanyProductPackage, addCompanyProductPackage, updateCompanyProductPackage, getP2CompanyProductPackage } from "@/api/business/companyProductPackage";
 const { proxy } = getCurrentInstance();
 const { proxy } = getCurrentInstance();
 const processList = ref([]);
 const processList = ref([]);
 const loading = ref(true);
 const loading = ref(true);
@@ -238,7 +268,7 @@ const queryParams = ref({
 /** 查询检查类别列表 */
 /** 查询检查类别列表 */
 function getList() {
 function getList() {
   loading.value = true;
   loading.value = true;
-  listAccessories(queryParams.value).then(response => {
+  listCompanyProductPackage(queryParams.value).then(response => {
     processList.value = response.rows;
     processList.value = response.rows;
     total.value = response.total;
     total.value = response.total;
     loading.value = false;
     loading.value = false;
@@ -279,7 +309,7 @@ function handleDelete(row, index) {
     return
     return
   }
   }
   proxy.$modal.confirm('是否确认删除选中的数据项?').then(function () {
   proxy.$modal.confirm('是否确认删除选中的数据项?').then(function () {
-    return delAccessories(_ids);
+    return delCompanyProductPackage(_ids);
   }).then(() => {
   }).then(() => {
     getList();
     getList();
     proxy.$modal.msgSuccess("删除成功!");
     proxy.$modal.msgSuccess("删除成功!");
@@ -302,9 +332,9 @@ function handleSave(row) {
   }
   }
   loading.value = true;
   loading.value = true;
   if (row.id == null) {
   if (row.id == null) {
-    addAccessories(row).then(afterSave)
+    addCompanyProductPackage(row).then(afterSave)
   } else {
   } else {
-    updateAccessories(row).then(afterSave)
+    updateCompanyProductPackage(row).then(afterSave)
   }
   }
 }
 }
 
 
@@ -324,7 +354,7 @@ function handleCancel(row) {
 function handleSync() {
 function handleSync() {
   // pullP2Accessories
   // pullP2Accessories
   loading.value = true;
   loading.value = true;
-  getP2Accessories().then(res => {
+  getP2CompanyProductPackage().then(res => {
     if (res.code === 200) {
     if (res.code === 200) {
       getList()
       getList()
       proxy.$modal.msgSuccess("拉取成功")
       proxy.$modal.msgSuccess("拉取成功")