Bladeren bron

feat(发货工单):商品名称

snow 2 jaren geleden
bovenliggende
commit
d0faf9e543

+ 25 - 24
src/apis/service/purchaseIn/purchaseOrder/index.js

@@ -1,40 +1,41 @@
 // 物业管理员
-import http from "@/apis/axios";
-const api = "admin/";
+import http from '@/apis/axios'
+const api = 'admin/'
 export default {
   // 添加
-  add: (data, params) => http(api + "add", data, "post", params),
+  add: (data, params) => http(api + 'add', data, 'post', params),
   // 分页查询
-  list: (data, params) => http(api + "cgdlist", data, "post", params),
+  list: (data, params) => http(api + 'cgdlist', data, 'post', params),
   // 删除
-  delete: (data, params) => http(api + "delete", data, "post", params),
+  delete: (data, params) => http(api + 'delete', data, 'post', params),
   // 详情
-  detail: (data, params) => http(api + "cgdinfo", data, "post", params),
+  detail: (data, params) => http(api + 'cgdinfo', data, 'post', params),
   // 更新
-  update: (data, params) => http(api + "cgdedit", data, "post", params),
+  update: (data, params) => http(api + 'cgdedit', data, 'post', params),
   // 修改状态
-  status: (data, params) => http(api + "cgdstatus", data, "post", params),
+  status: (data, params) => http(api + 'cgdstatus', data, 'post', params),
   // 新建入库单
-  orderinadd: (data, params) => http(api + "orderinadd", data, "post", params),
+  orderinadd: (data, params) => http(api + 'orderinadd', data, 'post', params),
   // 新建入库单详情
-  orderininfo: (data, params) => http(api + "orderininfo", data, "post", params),
+  orderininfo: (data, params) => http(api + 'orderininfo', data, 'post', params),
   // 异常原因列表
-  resultlist: (data, params) => http(api + "resultlist", data, "post", params),
+  resultlist: (data, params) => http(api + 'resultlist', data, 'post', params),
   // 入库单验货
-  orderincheck: (data, params) => http(api + "orderincheck", data, "post", params),
+  orderincheck: (data, params) => http(api + 'orderincheck', data, 'post', params),
   // 入库单退货换货
-  orderinreturn: (data, params) => http(api + "orderinreturn", data, "post", params),
+  orderinreturn: (data, params) => http(api + 'orderinreturn', data, 'post', params),
   // 发货单状态修改
-  orderinstatus: (data, params) => http(api + "orderinstatus", data, "post", params),
+  orderinstatus: (data, params) => http(api + 'orderinstatus', data, 'post', params),
   // 采返商品详情
-  re_detail: (data, params) => http(api + "goodzxinfo", data, "post", params),
-  //商品成本详情
-  cost_detail: (data, params) => http(api + "goodupinfo", data, "post", params),
+  re_detail: (data, params) => http(api + 'goodzxinfo', data, 'post', params),
+  // 商品成本详情
+  cost_detail: (data, params) => http(api + 'goodupinfo', data, 'post', params),
 
-  //采购单修改实时金价
-  cgdeditgoldprice: (data, params) => http(api + "cgdeditgoldprice", data, "post", params),
-   // 采返商品详情 订单生成前
-   cove_detail: (data, params) => http(api + "getgoodzxinfobynotzixun", data, "post", params),
-   //导出
-   exportcgdlist: (data, params) => http(api + "exportcgdlist", data, "post", params),
-};
+  // 采购单修改实时金价
+  cgdeditgoldprice: (data, params) => http(api + 'cgdeditgoldprice', data, 'post', params),
+  // 采返商品详情 订单生成前
+  cove_detail: (data, params) => http(api + 'getgoodzxinfobynotzixun', data, 'post', params),
+  orderBatchIn: (data, params) => http(api + 'orderin_add_batch', data, 'post', params),
+  // 导出
+  exportcgdlist: (data, params) => http(api + 'exportcgdlist', data, 'post', params)
+}

+ 2 - 1
src/apis/service/supplierPurchaseIn/supplierPurchaseOrder/index.js

@@ -36,5 +36,6 @@ export default {
   // 采返商品详情 订单生成前
   cove_detail: (data, params) => http(api + 'getgoodzxinfobynotzixun', data, 'post', params),
   // 导出
-  exportcgdlist: (data, params) => http(api + 'exportcgdlist', data, 'post', params)
+  exportcgdlist: (data, params) => http(api + 'exportcgdlist', data, 'post', params),
+  orderBatchIn: (data, params) => http(api + 'orderin_add_batch', data, 'post', params)
 }

+ 1 - 1
src/views/purchaseIn/purchaseOrder/detail.vue

@@ -190,7 +190,7 @@
             <el-collapse-item
               title="入库单"
               name="4"
-              v-if="(sitem && sitem.status !== '0') && !isSupertube"
+              v-if="(sitem && sitem.status !== '0')  && !isSupertube"
             >
               <order-in-table
                 :newTime="newTime"

+ 54 - 1
src/views/purchaseIn/purchaseOrder/index.vue

@@ -10,6 +10,7 @@
         :size="size"
         @page-curr-change="handlePageChange"
         @page-size-change="handleSizeChange"
+        @selection-change="list => tableSelection = list"
         @screen-reset="
           pageInfo.curr = 1;
           parmValue.page = 1;
@@ -186,8 +187,22 @@
                   导出
                 </el-button>
               </el-col>
-            </el-row>
 
+              <el-col
+               :span="4"
+               style="width: 66px; float: right"
+              >
+                <el-button
+                  type="primary"
+                  @click="handleBatchIn"
+                  :size="searchSize"
+                  class="fr"
+                >
+                  批量入库
+                </el-button>
+              </el-col>
+            </el-row>
+          
 
             <el-row>
               <el-col :span="6" style="width: 500px; margin-top: 10px">
@@ -320,6 +335,7 @@ export default {
         { id: '1', name: '库存品' }
       ],
       supplierNo: [],
+      tableSelection: [],
       //入库公司
       supplierName: "",
       cg_order_type_options,
@@ -428,6 +444,43 @@ export default {
   },
 
   methods: {
+    async handleBatchIn(){
+      if(this.tableSelection.length === 0){
+        this.$message.warning("请选择至少一条采购单");
+        return
+      }
+
+      for(let i = 0; i < this.tableSelection.length; i++){
+        const item = this.tableSelection[i];
+
+        if(item.status !== "1" || item.status !== "2"){
+          this.$message.warning("只能选择未入库的销售订单!");
+          return 
+        }
+
+        if(item.order_type === "1"){
+          this.$message.warning("选择的采购单中不能包含库存品");
+           return
+        }
+
+        if(item.can && item.can[0].id === 6){
+          this.$message.warning("选择的采购单中不能包含贵金属");
+          return
+        }
+      }
+
+      const cgdNo = this.tableSelection.map(item => item.cgdNo)
+      const { code, message } = await asyncRequest.orderBatchIn({cgdNo})
+
+      switch(code){
+        case 0:
+          this.searchList();
+          break;
+        default:
+          this.$message.warning(message);
+          break
+      }
+    },
     async supplierChange(e) {
       const { code, label } = e;
       this.supplierNo = code ? [code] : [];

+ 8 - 2
src/views/sellOut/deliveryWorkOrder/components/ShowDataTableColumns.js

@@ -40,6 +40,12 @@ const showColumns = [
     _slot_: 'customer',
     span: 12
   },
+  {
+    prop: 'wsm_code',
+    label: '仓库名称',
+    _slot_: 'wsm_code',
+    span: 12
+  },
   {
     prop: 'num',
     label: '总数量',
@@ -63,12 +69,12 @@ const showColumns = [
   {
     prop: 'post_code',
     label: '物流编号',
-    span: 6
+    span: 12
   },
   {
     prop: 'post_fee',
     label: '物流费用',
-    span: 6
+    span: 12
   }
 ]
 

+ 13 - 0
src/views/sellOut/deliveryWorkOrder/detail.vue

@@ -71,6 +71,19 @@
                     <i class="el-icon-warning-outline fr" slot="reference"></i>
                   </el-popover>
                 </template>
+
+                <template slot="wsm_code">
+                  <span>{{ sitem.wsm_name }}</span>
+                  <el-popover placement="top" width="300" trigger="hover">
+                    <ul>
+                      <li>
+                        <span>仓库编号:</span
+                        ><span>{{ sitem.wsm_code }}</span>
+                      </li>
+                    </ul>
+                    <i class="el-icon-warning-outline fr" slot="reference"></i>
+                  </el-popover>
+                </template>
               </show-data-table>
             </el-collapse-item>
 

+ 4 - 7
src/views/sellOut/deliveryWorkOrder/index.vue

@@ -319,13 +319,10 @@ export default {
       sitem: null,
       // 状态
       statusOptions: [
-        { value: "0", label: "不可拆单" },
-        { value: "1", label: "可拆单" },
-        { value: "2", label: "已拆单未发货" },
-        { value: '3', label: '部分发货' },
-        { value: '4', label: '全部发货' },
-        { value: '5', label: '已收货' },
-        { value: '6', label: '已退货' }
+        { value: "1", label: "待发货" },
+        { value: "2", label: "发货完成" },
+        { value: "3", label: "已收货" },
+        { value: '4', label: '已全部收货' },
       ],
       loading: false,
       showModel: false,

+ 0 - 4
src/views/sellOut/salesOrder/columns.js

@@ -21,9 +21,7 @@ export default [
     prop: 'good_class',
     label: '商品分类',
     width: '120'
-
   },
-
   {
     prop: 'good_num',
     label: '商品数量'
@@ -36,14 +34,12 @@ export default [
     prop: 'total_price',
     label: '总价'
   },
-
   {
     prop: 'status',
     label: '订单状态',
     _slot_: 'status',
     width: '120px'
   },
-
   {
     prop: 'order_source',
     label: '订单来源',

+ 13 - 5
src/views/sellOut/sellAfterApply/components/approval-results.vue

@@ -3,7 +3,7 @@
     <el-form-item label="审核状态" prop="status">
       <el-select v-model="formData.status" style="width:100%">
         <el-option label="修改供应商审批结果" value="10" />
-        <el-option label="认同供应商审批结果" value="4" />
+        <el-option label="认同供应商审批结果" value="11" />
       </el-select>
     </el-form-item>
 
@@ -40,11 +40,10 @@
 </template>
 <script>
 import companyHelper from '@/mixins/companyHelper'
-import { replaceTextWrapAndSpace } from '@/utils'
 export default {
   name: 'ApprovalResults',
   mixins: [companyHelper],
-  props: [],
+  props: ['sitem'],
   data() {
     return {
       company: '',
@@ -61,7 +60,7 @@ export default {
   },
   computed: {
     displayExpressField() {
-      return this.formData.status === '4'
+      return this.formData.status === '11'
     },
     rules() {
       const { status } = this.formData
@@ -116,12 +115,21 @@ export default {
     submit() {
       this.$refs.formRef.validate(isValid => {
         if (!isValid) return
-        this.formData.remark = replaceTextWrapAndSpace(this.formData.remark)
+
+        const { status } = this.formData
+        let _status = status
+
+        if (this.sitem.is_receive === '0' && status === '11') {
+          _status = '5'
+        }
+
         const { wsm_code } = this.formData
         const params = {
           ...this.formData,
+          status: _status,
           wsm_code: Array.isArray(wsm_code) ? wsm_code[0] : wsm_code
         }
+
         this.$emit('changeStatus', params)
       })
     }

+ 30 - 49
src/views/sellOut/sellAfterApply/detail.vue

@@ -145,11 +145,7 @@
               />
             </el-collapse-item>
 
-            <el-collapse-item
-              title="业务审核"
-              name="3"
-              v-if="!isSupertube && String(sitem.status) === '1' && this.ppowers.includes('1')"
-            >
+            <el-collapse-item title="业务审核" name="3" v-if="isHasPermission({status:'1', process:'1'})">
               <exam-form
                 :statusList="statusList"
                 :newTime="newTime"
@@ -159,7 +155,7 @@
               />
             </el-collapse-item>
 
-            <el-collapse-item name="4" title="供应商驳回,待供应商负责人审核"  v-if="isHasPermission({status:'2', process:'2'})">
+            <el-collapse-item name="4" title="供应商驳回,待采购审核"  v-if="isHasPermission({status:'2', process:'2'})">
               <approval-results :sitem="sitem" @changeStatus="handlePurchaseConfirm" />
             </el-collapse-item>
 
@@ -175,30 +171,13 @@
               <supplier-confrim :sitem="sitem"  @changeStatus="handleSupplierConfirm"/>
             </el-collapse-item>
 
-            <el-collapse-item name="8" title="待设置工单">
+            <el-collapse-item name="8" title="待设置工单" v-if="isHasPermission({status:'11', process:'10'})">
               <set-work-order :sitem="sitem" />
             </el-collapse-item>
 
-            <el-collapse-item name="9" title="待库管收货">
+            <el-collapse-item name="9" title="待库管收货" v-if="isHasPermission({status:'12', process:'10'})">
               <wait-stockman :sitem="sitem" />
             </el-collapse-item>
-            
-            <!-- <el-collapse-item
-              title="设置退货仓库"
-              name="4"
-              v-if="
-                sitem &&
-                sitem.is_receive === '1' &&
-                (status == '3' || status == '4' || status == '5')
-              "
-            >
-              <express-feedback
-                :sitem="sitem"
-                :newTime="newTime"
-                v-if="newTime != ''"
-                @refresh="initData"
-              ></express-feedback>
-            </el-collapse-item> -->
           </el-collapse>
         </el-tab-pane>
 
@@ -304,26 +283,33 @@ export default {
       ],
       // 收到货状态
       status1Options: [
-        { value: "1", label: "待业务审核" },
-        { value: "2", label: "供应商驳回,待供应商负责人审核" },
-        { value: "4", label: "待客户退货" },
-        { value: "5", label: "售后已完成" },
-        { value: "6", label: "业务已驳回" },
-        { value: "8", label: "申请已取消" },
-        { value: "9", label: "供应商审核" },
-        { value: "10", label: "业务公司修改,待供应商确认" }
+        { id: "1", label: "待业务审核" },
+        { id: "2", label: "供应商驳回,待采购审核" },//  id: "2", label: "供应商驳回,待供应商负责人审核" },
+      //{ id: "2", label: "待设置仓库" },//节点废除
+        { id: "4", label: "待客户退货" },//已收到货才有
+        { id: "5", label: "售后已完成" },
+        { id: "6", label: "业务已驳回" },
+        //{ id: "7", label: "采购已驳回" },//节点废除
+        { id: "8", label: "申请已取消" },
+        { id: "9", label: "供应商审核" },
+        { id: "10", label: "业务公司修改待供应商确认" },
+        { id: "11", label: "待设置工单" },//已收到货才有
+        { id: "12", label: "待库管收货" },//已收到货才有
       ],
       // 未收到货状态
       status2Options: [
-        { value: "1", label: "待业务审核" },
-        { value: "2", label: "供应商驳回,待供应商负责人审核" },
-        // { id: "3", label: "待设置仓库" }, // 废弃
-        { value: "4", label: "待客户退货" },
-        { value: "5", label: "售后已完成" },
-        { value: "6", label: "业务已驳回" },
-        { value: "8", label: "申请已取消" },
-        { value: "9", label: "供应商审核" },
-        { value: "10", label: "业务公司修改,待供应商确认" }
+        { id: "1", label: "待业务审核" },
+        { id: "2", label: "供应商驳回,待采购审核" },//  id: "2", label: "供应商驳回,待供应商负责人审核" },
+      //{ id: "2", label: "待设置仓库" },//节点废除
+        { id: "4", label: "待客户退货" },//已收到货才有
+        { id: "5", label: "售后已完成" },
+        { id: "6", label: "业务已驳回" },
+        //{ id: "7", label: "采购已驳回" },//节点废除
+        { id: "8", label: "申请已取消" },
+        { id: "9", label: "供应商审核" },
+        { id: "10", label: "业务公司修改待供应商确认" },
+        { id: "11", label: "待设置工单" },//已收到货才有
+        { id: "12", label: "待库管收货" },//已收到货才有
       ],
       orderCode: "",
       return_code: "",
@@ -337,10 +323,9 @@ export default {
   methods: {
     isHasPermission({ status, process }){
       return (
-        status === String(this.sitem.status) &&
-        this.ppowers.includes(process) &&
-        !this.isSupertube 
+        status === String(this.sitem.status)
       )
+      // && this.ppowers.includes(process) && !this.isSupertube 
     },
     async handleExpress(data){
       let res = await asyncRequest.express({
@@ -487,10 +472,6 @@ export default {
         this.$message.warning(res.message);
       }
     },
-    hasPermission({status, process}){
-      console.log(this.sitem)
-      return !this.isSupertube && String(this.sitem.status) === status && this.ppowers.includes(process)
-    },
     async initData() {
       let model = {
         returnCode: this.code,

+ 28 - 15
src/views/sellOut/sellAfterApply/index.vue

@@ -53,9 +53,9 @@
                   >
                     <el-option
                       v-for="item in serviceOptions"
-                      :key="item.value"
+                      :key="item.id"
                       :label="item.label"
-                      :value="item.value"
+                      :value="item.id"
                     >
                     </el-option>
                   </el-select>
@@ -359,24 +359,32 @@ export default {
       // 收到货状态
       status1Options: [
         { id: "1", label: "待业务审核" },
-        { id: "2", label: "供应商驳回,待供应商负责人审核" },
-        { id: "4", label: "待客户退货" },
+        { id: "2", label: "供应商驳回,待采购审核" },//  id: "2", label: "供应商驳回,待供应商负责人审核" },
+      //{ id: "2", label: "待设置仓库" },//节点废除
+        { id: "4", label: "待客户退货" },//已收到货才有
         { id: "5", label: "售后已完成" },
         { id: "6", label: "业务已驳回" },
+        //{ id: "7", label: "采购已驳回" },//节点废除
         { id: "8", label: "申请已取消" },
         { id: "9", label: "供应商审核" },
-        { id: "10", label: "业务公司修改待供应商确认" }
+        { id: "10", label: "业务公司修改待供应商确认" },
+        { id: "11", label: "待设置工单" },//已收到货才有
+        { id: "12", label: "待库管收货" },//已收到货才有
       ],
        // 未收到货状态
       status2Options: [
         { id: "1", label: "待业务审核" },
-        { id: "2", label: "供应商驳回,待供应商负责人审核" },
-        { id: "4", label: "待客户退货" },
+        { id: "2", label: "供应商驳回,待采购审核" },//  id: "2", label: "供应商驳回,待供应商负责人审核" },
+      //{ id: "2", label: "待设置仓库" },//节点废除
+        { id: "4", label: "待客户退货" },//已收到货才有
         { id: "5", label: "售后已完成" },
         { id: "6", label: "业务已驳回" },
+        //{ id: "7", label: "采购已驳回" },//节点废除
         { id: "8", label: "申请已取消" },
         { id: "9", label: "供应商审核" },
-        { id: "10", label: "业务公司修改待供应商确认" }
+        { id: "10", label: "业务公司修改待供应商确认" },
+        { id: "11", label: "待设置工单" },//已收到货才有
+        { id: "12", label: "待库管收货" },//已收到货才有
       ],
       loading: false,
       showModel: false,
@@ -418,13 +426,18 @@ export default {
       columns: columns,
       // 处理状态
       serviceOptions: [
-        { value: "1", label: "待业务审核" },
-        { value: "2", label: "供应商驳回,待供应商负责人审核" },
-        { value: "4", label: "待客户退货" },
-        { value: "5", label: "售后已完成" },
-        { value: "6", label: "业务已驳回" },
-        { value: "9", label: "供应商审核" },
-        { value: "10", label: "业务公司修改,待供应商确认" }
+        { id: "1", label: "待业务审核" },
+        { id: "2", label: "供应商驳回,待采购审核" },//  id: "2", label: "供应商驳回,待供应商负责人审核" },
+      //{ id: "2", label: "待设置仓库" },//节点废除
+        { id: "4", label: "待客户退货" },//已收到货才有
+        { id: "5", label: "售后已完成" },
+        { id: "6", label: "业务已驳回" },
+        //{ id: "7", label: "采购已驳回" },//节点废除
+        { id: "8", label: "申请已取消" },
+        { id: "9", label: "供应商审核" },
+        { id: "10", label: "业务公司修改待供应商确认" },
+        { id: "11", label: "待设置工单" },//已收到货才有
+        { id: "12", label: "待库管收货" },//已收到货才有
       ],
       // 期望意愿
       expectOptions: [

+ 2 - 1
src/views/serviceParam/storeSet/addEdit.vue

@@ -143,9 +143,11 @@
                 </el-form-item>
               </el-col>
             </el-row>
+
             <div style="padding: 0 0 12px 0">
               <el-divider content-position="center">收发货信息</el-divider>
             </div>
+
             <el-row>
               <el-col :span="8">
                 <el-form-item label="联系人" prop="wsm_name" label-width="68px">
@@ -426,7 +428,6 @@ export default {
       } else {
         this.ruleForm.supplierNo = []
       }
-
       this.$refs.ruleForm.validateField('supplierNo')
     },
     // 仓库省市区

+ 48 - 0
src/views/supplierPurchaseIn/supplierPurchaseOrder/index.vue

@@ -10,6 +10,7 @@
         :size="size"
         @page-curr-change="handlePageChange"
         @page-size-change="handleSizeChange"
+        @selection-change="list => tableSelection = list"
         @screen-reset="
           pageInfo.curr = 1;
           parmValue.page = 1;
@@ -161,6 +162,20 @@
                   导出
                 </el-button>
               </el-col>
+
+              <el-col
+               :span="4"
+               style="width: 66px; float: right"
+              >
+                <el-button
+                  type="primary"
+                  @click="handleBatchIn"
+                  :size="searchSize"
+                  class="fr"
+                >
+                  批量入库
+                </el-button>
+              </el-col>
             </el-row>
 
             <el-row style="padding: 10px 0 0 0">
@@ -283,6 +298,7 @@ export default {
       supplierName: "",
       cg_order_type_options,
       cg_order_source_options,
+      tableSelection: [],
       //入库仓库
       stockName: "",
       changeList: [],
@@ -388,6 +404,38 @@ export default {
   },
 
   methods: {
+    async handleBatchIn(){
+      if(this.tableSelection.length === 0){
+        this.$message.warning("请选择至少一条采购单");
+        return
+      }
+
+      for(let i = 0; i < this.tableSelection.length; i++){
+        const item = this.tableSelection[i];
+
+        if(item.order_type === "1"){
+          this.$message.warning("选择的采购单中不能包含库存品");
+           return
+        }
+
+        if(item.can && item.can[0].id === 6){
+          this.$message.warning("选择的采购单中不能包含贵金属");
+          return
+        }
+      }
+
+      const cgdNo = this.tableSelection.map(item => item.cgdNo)
+      const { code, message } = await asyncRequest.orderBatchIn({cgdNo})
+
+      switch(code){
+        case 0:
+          this.searchList();
+          break;
+        default:
+          this.$message.warning(message);
+          break
+      }
+    },
     companyNosearchChange({ code }) {
       this.parmValue.companyNo = code;
       this.searchList();