Procházet zdrojové kódy

feat: 销售订单增加受托收货单创建功能,优化出库详情显示和调度管理操作权限

yusheng před 9 měsíci
rodič
revize
6909cbf814

+ 8 - 7
src/BIZComponents/outdetails.vue

@@ -63,6 +63,11 @@
                   <span>{{ infoData.fromUserPhone }}</span>
                 </el-form-item>
               </el-col>
+              <el-col :span="8">
+                <el-form-item label="出库时间">
+                  <span>{{ infoData.storageTime||infoData.createTime }}</span>
+                </el-form-item>
+              </el-col>
               <el-col :span="8">
                 <el-form-item label="出库登记人:">
                   <span>{{ infoData.extInfo?.createUserName }}</span>
@@ -402,7 +407,6 @@
             </el-table-column>
           </el-table>
         </div>
-
       </div>
     </el-card>
   </div>
@@ -414,10 +418,7 @@
   import { useDictLabel } from '@/utils/dict';
   import { outputSceneStateEnum } from '@/enum/dict';
   import { mapGetters, mapActions } from 'vuex';
-  import {
-    allCategoryLevel,
-    getInfoBySourceBizNoAll
-  } from '@/api/wms';
+  import { allCategoryLevel, getInfoBySourceBizNoAll } from '@/api/wms';
   import { getUserDetail } from '@/api/system/organization/index.js';
 
   import { fieldModelAPI } from '@/api/main';
@@ -706,7 +707,7 @@
             item['measuringUnit'] = item.measureUnit;
             item['productId'] = item.categoryId;
             item['receiveTotalWeight'] = item.weight;
-            item['provenance']= item['provenance']||[]
+            item['provenance'] = item['provenance'] || [];
             this.productList.forEach((val) => {
               if (item.categoryCode == val.categoryCode) {
                 item['warehouseId'] = val.warehouseId;
@@ -732,7 +733,7 @@
             item['measuringUnit'] = item.measureUnit;
             item['productId'] = item.categoryId;
             item['receiveTotalWeight'] = item.weight;
-            item['provenance']= item['provenance']||[]
+            item['provenance'] = item['provenance'] || [];
             // this.productList.forEach((val) => {
             //   if (item.categoryCode == val.categoryCode) {
             //     item['warehouseId'] = val.warehouseId;

+ 2 - 2
src/views/saleManage/saleOrder/entrustedReceive/index.vue

@@ -166,7 +166,7 @@
     getSaleEntrustedReceivePageAPI,
     submit,getPSaleEntrustedReceiveDetailAPI
   } from '@/api/saleManage/entrustedReceive';
-  import AddOrEditDialog from '@/views/saleManage/saleOrder/customerReturnOrder/addOrEditDialog.vue';
+  // import AddOrEditDialog from '@/views/saleManage/saleOrder/customerReturnOrder/addOrEditDialog.vue';
   import addInvoiceDialog from '@/views/saleManage/saleOrder/invoice/components/addInvoiceDialog.vue';
   import processSubmitDialog from '@/BIZComponents/processSubmitDialog/processSubmitDialog.vue';
   import tabMixins from '@/mixins/tableColumnsMixin';
@@ -177,7 +177,7 @@
     components: {
       processSubmitDialog,
       addInvoiceDialog,
-      AddOrEditDialog,
+      // AddOrEditDialog,
       searchTable,
       popModal,
       orderDetailDialog,

+ 53 - 9
src/views/saleManage/saleOrder/index.vue

@@ -5,13 +5,17 @@
         <div class="switch_left">
           <ul>
             <li
-               style="height: 42px;line-height: 38px;"
+              style="height: 42px; line-height: 38px"
               v-for="item in tabOptions"
               :key="item.key"
               :class="{ active: activeComp == item.key }"
               @click="activeComp = item.key"
             >
-              <el-badge :value="toDoReminder[item.reminder]||0" class="item" v-if="item.reminder">
+              <el-badge
+                :value="toDoReminder[item.reminder] || 0"
+                class="item"
+                v-if="item.reminder"
+              >
                 {{ item.name }}
               </el-badge>
               <span v-else>{{ item.name }}</span>
@@ -177,6 +181,7 @@
                   @click="handleCommand('invoice', row)"
                   v-if="
                     [2].includes(row.orderStatus) &&
+                    !row.saleTypeName.includes('受托') &&
                     row.needProduce != 2 &&
                     $hasPermission('eom:saleordersendrecord:save') &&
                     ((isTotalCount == '1' &&
@@ -186,6 +191,21 @@
                 >
                   创建发货单
                 </el-link>
+                <el-link
+                  type="primary"
+                  :underline="false"
+                  icon="el-icon-plus"
+                  @click="handleCommand('entrustedReceive', row)"
+                  v-if="
+                    [2].includes(row.orderStatus) &&
+                    row.saleTypeName.includes('受托') &&
+                    ((isTotalCount == '1' &&
+                      ![800, 1000].includes(row.progress)) ||
+                      isTotalCount == 0)
+                  "
+                >
+                  受托收货单
+                </el-link>
                 <el-link
                   type="primary"
                   :underline="false"
@@ -223,22 +243,30 @@
           <invoice-confirm @getToDoReminder="getToDoReminder"></invoice-confirm>
         </div>
         <div v-if="activeComp == 'entrustedReceive'">
-          <entrustedReceive @getToDoReminder="getToDoReminder"></entrustedReceive>
+          <entrustedReceive
+            @getToDoReminder="getToDoReminder"
+          ></entrustedReceive>
         </div>
         <div v-if="activeComp == 'returnorder'" class="returnorder">
           <return-goods @getToDoReminder="getToDoReminder"></return-goods>
         </div>
         <div v-if="activeComp == 'accountstatement'">
-          <accountstatement @getToDoReminder="getToDoReminder"></accountstatement>
+          <accountstatement
+            @getToDoReminder="getToDoReminder"
+          ></accountstatement>
         </div>
         <div v-if="activeComp == 'customerReturnOrder'">
-          <customerReturnOrder @getToDoReminder="getToDoReminder"></customerReturnOrder>
+          <customerReturnOrder
+            @getToDoReminder="getToDoReminder"
+          ></customerReturnOrder>
         </div>
         <div v-if="activeComp == 'exceptionList'">
           <exceptionList @getToDoReminder="getToDoReminder"></exceptionList>
         </div>
         <div v-if="activeComp == 'trayList'">
-          <palletManagement @getToDoReminder="getToDoReminder"></palletManagement>
+          <palletManagement
+            @getToDoReminder="getToDoReminder"
+          ></palletManagement>
         </div>
       </div>
     </el-card>
@@ -299,6 +327,12 @@
     <bomDialog ref="bomDialogRef" @handleSubmit="bomDialogSuccess"></bomDialog>
     <opportunityDetail ref="opportunityDetailRef"></opportunityDetail>
     <quotationDetail ref="quotationDetailRef"></quotationDetail>
+    <addEntrustedReceive
+      ref="addEntrustedReceiveRef"
+      @done="reload"
+      :add-or-edit-dialog-flag.sync="addEntrustedReceiveFlag"
+      v-if="addEntrustedReceiveFlag"
+    ></addEntrustedReceive>
   </div>
 </template>
 
@@ -321,6 +355,7 @@
   import returnGoods from './returnGoods/index.vue';
   import palletManagement from './palletManagement/index.vue';
   import addInvoiceManage from '@/views/financialManage/invoiceManage/components/addOrEditDialog.vue';
+  import addEntrustedReceive from '@/views/saleManage/saleOrder/entrustedReceive/components/addOrEditDialog';
 
   import {
     deleteInformation,
@@ -369,7 +404,8 @@
       importDialog,
       bomDialog,
       opportunityDetail,
-      quotationDetail
+      quotationDetail,
+      addEntrustedReceive
     },
     //客户管理数据
     props: {
@@ -420,6 +456,7 @@
         loading: false, // 加载状态
         processSubmitDialogFlag: false, // 加载状态
         addOrEditDialogFlag1: false,
+        addEntrustedReceiveFlag:false,
         params: {},
         tableList: [],
         current: null,
@@ -772,6 +809,13 @@
         if (command === 'invoice') {
           this.$refs.invoiceDialogRef.open('add', {}, [row.id]);
         }
+        if (command === 'entrustedReceive') {
+          this.addEntrustedReceiveFlag = true;
+          this.$nextTick(() => {    
+           this.$refs.addEntrustedReceiveRef.open('add', {}, row.id);
+          });
+         
+        }
         if (command === 'returnOrder') {
           this.$refs.addReturnGoodsRef.open('add', {});
         }
@@ -842,7 +886,7 @@
       /* 刷新表格 */
       reload(where) {
         this.$refs.table.reload({ page: 1, where });
-        this.getToDoReminder()
+        this.getToDoReminder();
       },
       handleClick() {
         this.activeName;
@@ -1009,7 +1053,7 @@
   .el-icon-arrow-down {
     font-size: 12px;
   }
-  :deep(.el-badge__content.is-fixed){
+  :deep(.el-badge__content.is-fixed) {
     top: 4px;
   }
 </style>

+ 3 - 12
src/views/transportManager/shipManage/dispatchManage/page.vue

@@ -40,10 +40,7 @@
       <template v-slot:action="{ row }">
         <el-link
           type="primary"
-          v-if="
-            ([0, 3].includes(row.processStatus) && isNeed_process_is_close) ||
-            !isNeed_process_is_close
-          "
+          v-if="[0, 3].includes(row.processStatus)"
           :underline="false"
           icon="el-icon-plus"
           @click="sub(row)"
@@ -52,10 +49,7 @@
         </el-link>
         <el-link
           type="primary"
-          v-if="
-            (isNeed_process_is_close && [0, 3].includes(row.processStatus)) ||
-            !isNeed_process_is_close
-          "
+          v-if="[0, 3].includes(row.processStatus)"
           :underline="false"
           icon="el-icon-edit"
           @click="handleAddOrEdit(row, 'update')"
@@ -82,10 +76,7 @@
         </el-link>
 
         <el-popconfirm
-          v-if="
-            (isNeed_process_is_close && [0, 3].includes(row.processStatus)) ||
-            isNeed_process_is_close
-          "
+          v-if="[0, 3].includes(row.processStatus)"
           class="ele-action"
           title="确定要删除此信息吗?"
           @confirm="remove([row.id])"