فهرست منبع

oms订单优化

ymy 1 سال پیش
والد
کامیت
63817a4eda

+ 4 - 1
src/components/skuModal/productModal.vue

@@ -1,5 +1,5 @@
 <template>
-  <vxe-modal v-model="value" id="productDialogModal" v-loading="load" :width="width?width+'px':'80%'" @show="show" :height="height?height+'px':'80%'" min-width="500" min-height="400" show-zoom resize transfer show-footer>
+  <vxe-modal v-model="value" id="productDialogModal" v-loading="load" :width="width?width+'px':'80%'" @show="show" @hide="hide" :height="height?height+'px':'80%'" min-width="500" min-height="400" show-zoom resize transfer show-footer>
     <template #title>
       <span>选择商品</span>
     </template>
@@ -161,6 +161,9 @@ export default class ProductModal extends Vue {
       (this.$refs.view as any).clearCheckboxRow();
     }
   }
+  hide() {
+    this.$emit('hide')
+  }
   getList(){
     if(!this.$refs.view){
       if(this.timeNum > 5){

+ 17 - 0
src/views/audit/sku/components/inStoreRecord.vue

@@ -0,0 +1,17 @@
+<template>
+  <el-drawer class="instoreRecord" :size="600" append-to-body title="入库记录" :visible.sync="drawer" direction="rtl">
+    
+  </el-drawer>
+</template>
+
+<script lang="ts">
+import { Component, Prop, Vue, Watch } from "vue-property-decorator";
+@Component({components:{}})
+export default class InStoreRecord extends Vue {
+  drawer=false
+}
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 3 - 0
src/views/audit/sku/components/outStoreRecord.vue

@@ -0,0 +1,3 @@
+<template>
+  
+</template>

+ 15 - 1
src/views/audit/sku/index.vue

@@ -39,7 +39,7 @@
 							(this as any).syncSystem2()
 						}
 					}
-				},
+				}
 			]
 		}
 		skuConfig : any = {
@@ -311,6 +311,20 @@
 							}
 						}
 					},
+					{
+						name: '入库记录', icon: 'el-icon-document', event: {
+							click: () => {
+								
+							}
+						}
+					},
+					{
+						name: '出库记录', icon: 'el-icon-document', event: {
+							click: () => {
+								
+							}
+						}
+					}
 				]
 			},
 			table: {

+ 107 - 39
src/views/oms/B2BOrder/components/addOrder.vue

@@ -21,6 +21,9 @@
             <template v-slot:sourceFrom_desc='{ value }'>
               {{ getFromText(value.operationFlag) }}
             </template>
+            <template v-slot:sellType_desc='{ value }'>
+              {{ value.sellType ? getSellType(value.sellType) : '--' }}
+            </template>
             <template v-slot:shopName="{value}">
               <el-input :placeholder="!orderValue.id?'请选择标签':''" :value="value.shopName" :disabled="orderValue.id?true:false" @clear="clearShop" size="small" class="myinpuy-with-select" clearable>
                 <el-button slot="append" v-if="!orderValue.id" icon="el-icon-more" @click="showShop"></el-button>
@@ -33,10 +36,10 @@
             </template>
           </by-form>
         </el-collapse-item>
-        <el-collapse-item title="买家信息" name="2" class="add-order-item">
+        <el-collapse-item title="买家/分销商信息" name="2" class="add-order-item">
           <by-form :propConfig="buyerInfoConfig" ref="infoform">
             <template v-slot:buyerNickname="{value}">
-              <el-input placeholder="请选择买家'" :value="value.buyerNickname" @clear="clearBuyer" size="small" class="myinpuy-with-select" clearable>
+              <el-input placeholder="请选择买家/分销商" :value="value.buyerNickname" @clear="clearBuyer" size="small" class="myinpuy-with-select" clearable>
                 <el-button slot="append" icon="el-icon-more" @click="showBuyer"></el-button>
               </el-input>
             </template>
@@ -106,12 +109,7 @@
             </template>
             <template v-slot:price='{ row,rowIndex }'>
               <span v-if="row.isGift == 1">0</span>
-
-              <!-- <el-input :placeholder="!orderValue.id?'请选择标签':''" :value="value.shopName" :disabled="orderValue.id?true:false" @clear="clearShop" size="small" class="myinpuy-with-select" clearable>
-                <el-button slot="append" v-if="!orderValue.id" icon="el-icon-more" @click="showShop"></el-button>
-              </el-input> -->
-
-              <el-input v-else-if="!orderValue.id" v-model="row.price" placeholder="单价" align="center" size="mini" @input="priceChange($event, row)" >
+              <el-input v-else-if="!orderValue.id" v-model="row.price" type="number" placeholder="单价" align="center" size="mini" @input="priceChange($event, row)" >
                 <el-button slot="append" class="price-btn" icon="el-icon-more" @click="showPrice(rowIndex)"></el-button>
               </el-input>
               
@@ -394,6 +392,35 @@ export default class AddOrder extends Vue {
         slot:true
       }],
       [{
+        span:6,
+        label:'售卖类型',
+        prop:'sellType',
+        descSlot:true,
+        component:'by-select',
+        compConfig:{
+          attr:{
+            placeholder:'售卖类型',
+            clearable:true,
+            defaultIndex: 0,
+            data:[{
+              value: '1',
+              label: '自营'
+            }, {
+              value: '2',
+              label: '代发'
+            }, {
+              value: '3',
+              label: '代销'
+            }, {
+              value: '4',
+              label: '经销'
+            }, {
+              value: '5',
+              label: '线下'
+            }]
+          }
+        }
+      }, {
         label:'线下备注',
         prop:'note',
         component:'by-input',
@@ -412,7 +439,7 @@ export default class AddOrder extends Vue {
         colspan:2,
         compConfig:{
           attr:{
-            placeholder:'请输入买家留言',
+            placeholder:'请输入买家/分销商留言',
             clearable:true
           }
         }
@@ -437,7 +464,7 @@ export default class AddOrder extends Vue {
       itemCount:4,
       rules:{
         buyerNickname:[{
-          required: true, message: '买家账号不能为空!', trigger: 'change'
+          required: true, message: '买家/分销商账号不能为空!', trigger: 'change'
         }],
         receiverDistrictCode:[{
           required: true, message: '收货地址不能为空!', trigger: 'blur'
@@ -454,9 +481,10 @@ export default class AddOrder extends Vue {
     },
     columns:[
       [{
-        span:6,
-        label:'买家',
+        span:8,
+        label:'买家/分销商',
         prop:'buyerNickname',
+        colspan: 2,
         slot:true,
         // component:'by-input',
         // compConfig:{
@@ -465,7 +493,8 @@ export default class AddOrder extends Vue {
         //   }
         // }
       },{
-        span:6,
+        span:8,
+        colspan: 2,
         label:'收货人',
         prop:'receiverName',
         component:'by-input',
@@ -480,8 +509,9 @@ export default class AddOrder extends Vue {
         }
       }],
       [{
-        span:6,
+        span:8,
         label:'手机',
+        colspan: 1,
         prop:'receiverMobile',
         component:'by-input',
         compConfig:{
@@ -491,7 +521,8 @@ export default class AddOrder extends Vue {
           }
         }
       },{
-        span:6,
+        span:8,
+        colspan: 1,
         label:'固定电话',
         prop:'receiverPhone',
         component:'by-input',
@@ -502,7 +533,8 @@ export default class AddOrder extends Vue {
           }
         }
       },{
-        span:6,
+        span:8,
+        colspan: 2,
         label:'邮编',
         prop:'receiverZip',
         component:'by-input',
@@ -519,7 +551,7 @@ export default class AddOrder extends Vue {
         // slot:true,
         prop:'receiverProvinceCode',
         component:'by-area',
-        colspan:2,
+        colspan:4,
         descSlot:true,
         compConfig:{
           attr:{
@@ -538,6 +570,7 @@ export default class AddOrder extends Vue {
       [{
         span:24,
         label:'详细地址',
+        colspan: 4,
         prop:'receiverAddress',
         component:'by-input',
         compConfig:{
@@ -850,12 +883,12 @@ export default class AddOrder extends Vue {
         }
       },{
         span:6,
-        label:'买家支付账号',
+        label:'买家/分销商支付账号',
         prop:'buyerAccount',
         component:'by-input',
         compConfig:{
           attr:{
-            placeholder:'买家账号',
+            placeholder:'买家/分销商账号',
             clearable:true
           }
         }
@@ -886,6 +919,28 @@ export default class AddOrder extends Vue {
     }
   }
   proCurrentIndex:any=null;
+  //转换售卖类型
+  getSellType(n:any) {
+    let name = '--'
+    switch(n) {
+      case '1':
+        name = '自营';
+        break;
+      case '2':
+        name = '代发';
+        break;
+      case '3':
+        name = '代销';
+        break;
+      case '4':
+        name = '经销';
+        break;
+      case '5':
+        name = '线下';
+        break;
+    }
+    return name;
+  }
   // 显示价格弹窗
   showPrice(v:any) {
     this.proCurrentIndex = v;
@@ -1079,7 +1134,7 @@ export default class AddOrder extends Vue {
     })
     
   }
-  // 买家信息
+  // 买家/分销商信息
   confirmBuyerInfo(data:any) {
     let v:any = {}
     v.buyerNickname = data[0].name
@@ -1109,13 +1164,14 @@ export default class AddOrder extends Vue {
       })
       return
     }
-    if(this.orderValue.id){
-      (this.$refs.addProductModal as any).setBillValue(this.orderValue.id);
-      (this.$refs.addProductModal as any).setShow(true);
-      (this.$refs.addProductModal as any).setGift(false);
-    }else{
-      (this.$refs.product as any).setShow(true);
-    }
+    (this.$refs.product as any).setShow(true);
+    // if(this.orderValue.id){
+    //   (this.$refs.addProductModal as any).setBillValue(this.orderValue.id);
+    //   (this.$refs.addProductModal as any).setShow(true);
+    //   (this.$refs.addProductModal as any).setGift(false);
+    // }else{
+    //   (this.$refs.product as any).setShow(true);
+    // }
   }
   //添加赠品
   toolAddGift(){
@@ -1126,13 +1182,14 @@ export default class AddOrder extends Vue {
       })
       return
     }
-    if(this.orderValue.id){
-      (this.$refs.addProductModal as any).setBillValue([this.orderValue.id]);
-      (this.$refs.addProductModal as any).setShow(true);
-      (this.$refs.addProductModal as any).setGift(true);
-    }else{
-      (this.$refs.productGift as any).setShow(true);
-    }
+    (this.$refs.productGift as any).setShow(true);
+    // if(this.orderValue.id){
+    //   (this.$refs.addProductModal as any).setBillValue([this.orderValue.id]);
+    //   (this.$refs.addProductModal as any).setShow(true);
+    //   (this.$refs.addProductModal as any).setGift(true);
+    // }else{
+    //   (this.$refs.productGift as any).setShow(true);
+    // }
   }
   //获取数据
   getData(){
@@ -1187,6 +1244,7 @@ export default class AddOrder extends Vue {
       info.buyerMessage = data.buyerMessage;
       info.remark = data.remark;
       info.labels = data.labels;
+      info.sellType = data.sellType;
       info.logisticsId = data.logisticsId;
       info.operationFlag = data.operationFlag;
       this.baseConfig.attr.data = info;
@@ -1251,7 +1309,7 @@ export default class AddOrder extends Vue {
       }else{
         for(let col of this.baseConfig.columns){
           for(let item of col){
-            let disField:Array<string>=['freight','buyerMessage','remark'] 
+            let disField:Array<string>=['freight','buyerMessage','remark','sellType'] 
             if(!item.slot && disField.indexOf(item.prop) == -1){
               if(!item.compConfig.attr) item.compConfig.attr = {};
               item.compConfig.attr.disabled = true;
@@ -1355,11 +1413,21 @@ export default class AddOrder extends Vue {
   }
   //确定新增的商品
   confirmProduct(data:Array<any>){
-    this.productHandle(data,false);
+    this.addProductMoadlHandle(data,false)
   }
   //新增赠品
   confirmProductGift(data:Array<any>){
-    this.productHandle(data,true);
+    this.addProductMoadlHandle(data,true)
+  }
+  addProductMoadlHandle(data:Array<any>, isGift:boolean) {
+    if(this.orderValue.id){
+      (this.$refs.addProductModal as any).setBillValue([this.orderValue.id]);
+      (this.$refs.addProductModal as any).setShow(true);
+      (this.$refs.addProductModal as any).setGift(isGift);
+      (this.$refs.addProductModal as any).setData(data)
+    }else{
+      this.productHandle(data, isGift);
+    }
   }
   //商品处理
   productHandle(data:Array<any>,isGift:boolean){
@@ -1480,8 +1548,8 @@ export default class AddOrder extends Vue {
   }
   //单价的变化
   priceChange(v:any,row:any){
-    if(v.value && row.qty){
-      row.amount =multiply(Number(v.value),Number(row.qty))
+    if(v && row.qty){
+      row.amount =multiply(Number(v),Number(row.qty))
     }else{
       row.amount = 0
     }

+ 49 - 3
src/views/oms/B2BOrder/components/addProductModal.vue

@@ -121,9 +121,9 @@ export default class AddProductModal extends Vue {
   }
   setShow(v:boolean){
     this.value = v;
-    this.$nextTick(()=>{
-      (this.$refs.product as any).setShow(true);
-    })
+    // this.$nextTick(()=>{
+    //   (this.$refs.product as any).setShow(true);
+    // })
   }
   setBillValue(data:any){
     this.billValue = data;
@@ -193,6 +193,52 @@ export default class AddProductModal extends Vue {
       this.productHandle()
     }
   }
+  hideProductSku(){
+    let d = (this.$refs.table as any).getValue();
+    if(d.length == 0) {
+      this.value = false
+    }
+  }
+  setData(data:Array<any>) {
+    this.$nextTick(() => {
+      let nowData = (this.$refs.table as any).getValue();
+      let names='';
+      if(data.length > 0){
+        for(const item of data){
+          let t = true;
+          for(const t_item of nowData){
+            if(item.id == t_item.itemId){
+              if(!names){
+                names = item.skuTitle
+              }else{
+                names = names + ',' + item.skuTitle
+              }
+              t = false;
+              break;
+            }
+          }
+          if(t){
+            let obj:any={};
+            obj.name = item.skuTitle; //商品名称
+            obj.itemId = item.id;
+            obj.qty = 1;
+            obj.price = this.isGift ? 0 : item.price;  //单价
+            
+            obj.stock = item.stock;
+            nowData.push(obj)
+          }
+        }
+        (this.$refs.table as any).setValue(nowData);
+        if(names){
+          let name = this.isGift ? '赠品' : '商品';
+          this.$alert(name+'“'+names+'”已存在!', '提示', {
+            confirmButtonText: '确定',
+            callback: action => {}
+          });
+        }
+      }
+    })
+  }
   confirmProduct(data:Array<any>){
     let nowData = (this.$refs.table as any).getValue();
     let names='';

+ 27 - 24
src/views/oms/B2BOrder/components/batchbyOneModal.vue

@@ -50,7 +50,7 @@ import DeliveryGoodsInfo from "./deliveryGoodsInfo.vue";
 import DeliveryPrice from "./deliveryPrice.vue";
 import { add,multiply,subtract,divide } from '@/benyun/utils/accuracy'
 import { queryPricePackage,addmultiple,getInventoryByStoreHouseIdAndSkuids } from  '@/api/delivery'
-import  api from '@/api/currency'
+import api from '@/api/currency'
 import Format from '@/benyun/utils/dateFormat'
 
 @Component({components:{DeliveryGoodsInfo,DeliveryPrice}})
@@ -162,15 +162,15 @@ export default class BatchbyOneModal extends Vue {
         }
         this.data.push(obj)
       }
-      this.loadWarehouse()
     }else{
       this.data = []
     }
-    this.$nextTick(()=>{
-      (this.$refs.info as any).setValue(this.data[this.currentOrder]);
-      this.drawer = false;
-      (this.$refs.info as any).showModal = true;
-    })
+    this.loadWarehouse()
+    // this.$nextTick(()=>{
+    //   (this.$refs.info as any).setValue(this.data[this.currentOrder]);
+    //   this.drawer = false;
+    //   (this.$refs.info as any).showModal = true;
+    // })
   }
   loadWarehouse() {
     api.pageList({
@@ -179,19 +179,22 @@ export default class BatchbyOneModal extends Vue {
     }, 'maindataStorehouse').then((res: any) => {
       this.warehouseData = res.data.records;
       if(this.warehouseData.length > 0){
-        this.data[0].tmsShipmentConsignor=this.warehouseData[0].shipper;
-        this.data[0].tmsShipmentContacts=this.warehouseData[0].shipperPhone;
-        this.data[0].tmsShipmentProvince= this.warehouseData[0].province;
-        this.data[0].tmsShipmentProvinceNo=this.warehouseData[0].provinceCode;
-        this.data[0].tmsShipmentCity= this.warehouseData[0].city;
-        this.data[0].tmsShipmentCityNo= this.warehouseData[0].cityCode;
-        this.data[0].tmsShipmentRegion= this.warehouseData[0].region;
-        this.data[0].tmsShipmentRegionNo= this.warehouseData[0].regionCode;
-        this.data[0].tmsShipmentStreetNo= this.warehouseData[0].streetCode;
-        this.data[0].tmsShipmentStreet= this.warehouseData[0].street;
-        this.data[0].tmsShipmentAddress=this.warehouseData[0].address;
-        this.data[0].storeHouseId= this.warehouseData[0].id;
-        this.data[0].storeHouseName= this.warehouseData[0].name;
+        for(const item of this.data){
+          item.tmsShipmentConsignor=this.warehouseData[0].shipper;
+          item.tmsShipmentContacts=this.warehouseData[0].shipperPhone;
+          item.tmsShipmentProvince= this.warehouseData[0].province;
+          item.tmsShipmentProvinceNo=this.warehouseData[0].provinceCode;
+          item.tmsShipmentCity= this.warehouseData[0].city;
+          item.tmsShipmentCityNo= this.warehouseData[0].cityCode;
+          item.tmsShipmentRegion= this.warehouseData[0].region;
+          item.tmsShipmentRegionNo= this.warehouseData[0].regionCode;
+          item.tmsShipmentStreetNo= this.warehouseData[0].streetCode;
+          item.tmsShipmentStreet= this.warehouseData[0].street;
+          item.tmsShipmentAddress=this.warehouseData[0].address;
+          item.storeHouseId= this.warehouseData[0].id;
+          item.storeHouseName= this.warehouseData[0].name;
+        }
+        (this.$refs.info as any).setValue(this.data[this.currentOrder]);
       }
     }).catch(() => {})
   }
@@ -530,14 +533,14 @@ export default class BatchbyOneModal extends Vue {
   }
 }
 .deli-footer{
-  height: 80px;
+  height: 60px;
   width: 100%;
   box-shadow: 0 -5px 10px #EEE;
-  padding: 0 16px 8px;
+  padding: 0 16px;
   box-sizing: border-box;
   display: flex;
   justify-content:space-between;
-  align-items:flex-end;
+  align-items: center;
   position: absolute;
   background-color: #FFF;
   left: 0;
@@ -583,7 +586,7 @@ export default class BatchbyOneModal extends Vue {
   }
 }
 .space{
-  height: 80px;
+  height: 60px;
   width: 100%;
   margin-top: 16px;
 }

+ 31 - 5
src/views/oms/B2BOrder/components/carpoolModal.vue

@@ -41,6 +41,7 @@ import DeliveryGoodsInfo from "./deliveryGoodsInfo.vue";
 import DeliveryPrice from "./deliveryPrice.vue";
 import { add,multiply,subtract,divide } from '@/benyun/utils/accuracy'
 import { getMultipleToOnePrice,addMultipleToOne,getInventoryByStoreHouseIdAndSkuids } from  '@/api/delivery'
+import  api from '@/api/currency'
 import Format from '@/benyun/utils/dateFormat'
 @Component({components:{DeliveryGoodsInfo,DeliveryPrice}})
 export default class CarpoolModal extends Vue {
@@ -110,11 +111,36 @@ export default class CarpoolModal extends Vue {
         }
       }
     }
-    this.$nextTick(()=>{
-      (this.$refs.info as any).setValue(this.value);
-      this.drawer = false;
-      (this.$refs.info as any).showModal = true;
-    })
+    this.loadWarehouse()
+    // this.$nextTick(()=>{
+    //   (this.$refs.info as any).setValue(this.value);
+    //   this.drawer = false;
+    //   (this.$refs.info as any).showModal = true;
+    // })
+  }
+  loadWarehouse() {
+    api.pageList({
+      pageNo: 1,
+      pageSize: 1000
+    }, 'maindataStorehouse').then((res: any) => {
+      let warehouseData = res.data.records;
+      if(warehouseData.length > 0){
+        this.value.tmsShipmentConsignor=warehouseData[0].shipper;
+        this.value.tmsShipmentContacts=warehouseData[0].shipperPhone;
+        this.value.tmsShipmentProvince= warehouseData[0].province;
+        this.value.tmsShipmentProvinceNo=warehouseData[0].provinceCode;
+        this.value.tmsShipmentCity= warehouseData[0].city;
+        this.value.tmsShipmentCityNo= warehouseData[0].cityCode;
+        this.value.tmsShipmentRegion= warehouseData[0].region;
+        this.value.tmsShipmentRegionNo= warehouseData[0].regionCode;
+        this.value.tmsShipmentStreetNo= warehouseData[0].streetCode;
+        this.value.tmsShipmentStreet= warehouseData[0].street;
+        this.value.tmsShipmentAddress=warehouseData[0].address;
+        this.value.storeHouseId= warehouseData[0].id;
+        this.value.storeHouseName= warehouseData[0].name;
+        (this.$refs.info as any).setValue(this.value);
+      }
+    }).catch(() => {})
   }
   getTime(n:number) {
     const start = new Date();

+ 3 - 3
src/views/oms/B2BOrder/components/mergeMedal.vue

@@ -1,8 +1,8 @@
 <template>
   <vxe-modal v-model="value" id="mergeModel" title="合并订单" width="70%" height="80%" show-zoom resize transfer show-footer v-loading="load">
     <by-table :propConfig="config" ref="table" id="merge-table">
-      <template v-slot:sourceId="{row}">
-        <span>{{ row.sourceId }}</span>
+      <template v-slot:id="{row}">
+        <span>{{ row.id }}</span>
         <div class="tag-main" v-if="row.isMain == 1">
           <el-tag size="mini">主</el-tag>
         </div>
@@ -68,7 +68,7 @@ export default class MergeModel extends Vue {
     },
     columns:[{
       title:'订单号',
-      field:'sourceId',
+      field:'id',
       fixed:'left',
       slot:true,
       width:140

+ 31 - 4
src/views/oms/B2BOrder/components/orderTable.vue

@@ -73,6 +73,11 @@
         {{ formatDate(row.orderDate) }}
       </template> -->
     </vxe-column>
+    <vxe-column field="sellType" title="售卖类型" width="80">
+      <template #default="{ row }">
+        {{ getSellType(row.sellType) }}
+      </template>
+    </vxe-column>
     <!-- <vxe-column field="shipment" title="跨境买家指定物流" width="120"></vxe-column> -->
     <vxe-column field="chosenChannel" title="实发快递渠道" width="120"></vxe-column>
     <vxe-column field="logisticsId" title="快递单号" width="120"></vxe-column>
@@ -92,7 +97,7 @@
     <vxe-column field="receiverAddress" title="收货地址" show-overflow width="160"></vxe-column>
     <vxe-column field="receiverName" title="收件人" show-overflow width="120"></vxe-column>
     <vxe-column field="receiverMobile" title="手机" show-overflow width="120"></vxe-column>
-    <vxe-column field="buyerMessage" title="买家留言" show-overflow width="120"></vxe-column>
+    <vxe-column field="buyerMessage" title="买家/分销商留言" show-overflow width="120"></vxe-column>
     <!-- <vxe-column field="wmsCoId" title="发货仓编号" width="120"></vxe-column> -->
     <vxe-column field="payDate" title="支付时间" width="140"></vxe-column>
     <vxe-column field="freeAmount" title="抵扣金额" align="right" width="120"></vxe-column>
@@ -103,9 +108,9 @@
       </template>
     </vxe-column>
     <vxe-column field="paidAmount" title="实付金额" align="right" width="120"></vxe-column>
-    <vxe-column field="buyerNickname" title="买家昵称" show-overflow width="140"></vxe-column>
+    <vxe-column field="buyerNickname" title="买家/分销商昵称" show-overflow width="140"></vxe-column>
     <!-- <vxe-column field="openId" title="平台买家唯一值" show-overflow width="140"></vxe-column> -->
-    <vxe-column field="buyerPaidAmount" title="买家实付" width="120"></vxe-column>
+    <vxe-column field="buyerPaidAmount" title="买家/分销商总实付" width="120"></vxe-column>
     <vxe-column field="sellerIncomeAmount" title="总卖家实收" width="120"></vxe-column>
     <vxe-column field="questionType" title="问题类型" width="120"></vxe-column>
     <vxe-column field="questionDesc" title="问题描述" width="120"></vxe-column>
@@ -125,7 +130,7 @@
     <vxe-column field="labels" title="标签" width="120"></vxe-column>
     <vxe-column title="操作" width="120" fixed="right" align="center">
       <template #default="{ row }">
-        <el-button type="text" size="mini" v-if="showMerge(row)" @click="mergeHandle(row)">合并</el-button>
+        <el-button type="text" size="mini" v-if="showMerge(row)" @click="mergeHandle(row)">自动合并</el-button>
         <el-button type="text" size="mini" v-if="showSplit(row)" @click="splitHandle(row)">拆分</el-button>
         <!-- <el-button type="text" size="mini" v-if="showSend(row)" @click="sendGoods(row)">发货</el-button> -->
         <el-button type="text" size="mini" v-if="row.status == 'Delivering'  || row.status == 'Sent'" @click="sendGoodsDetail(row)">发货明细</el-button>
@@ -156,6 +161,28 @@ export default class OrderTable extends Vue {
     'TOUTIAOFXG':'头条放心购',
     'JUSHUITAN':'聚水潭'
   }
+  //转换售卖类型
+  getSellType(n:any) {
+    let name = ''
+    switch(n) {
+      case '1':
+        name = '自营';
+        break;
+      case '2':
+        name = '代发';
+        break;
+      case '3':
+        name = '代销';
+        break;
+      case '4':
+        name = '经销';
+        break;
+      case '5':
+        name = '线下';
+        break;
+    }
+    return name;
+  }
   //订单来源转换文字信息
   getFromText(f:any){
     let t='';

+ 1 - 1
src/views/oms/B2BOrder/components/priceModal.vue

@@ -1,7 +1,7 @@
 <template>
   <vxe-modal v-model="value" id="questModel" width="60%" v-loading="load" @show="show" height="80%" show-zoom resize transfer show-footer>
     <template #title>
-      <span>异常类型</span>
+      <span>选择价格</span>
     </template>
     <by-table :propConfig="tableConfig" ref="table" id="quest-table"></by-table>
     <template #footer>

+ 12 - 8
src/views/oms/B2BOrder/index.vue

@@ -434,16 +434,20 @@ export default class Order extends Vue {
   },{
     label:'被拆分',
     value:'Split'
-  },{
-    label:'等供销商|外仓发货',
-    value:'WaitOuterSent'
-  },{
+  },
+  // {
+  //   label:'等供销商|外仓发货',
+  //   value:'WaitOuterSent'
+  // },
+  {
     label:'已付款待审核',
     value:'WaitConfirm'
-  },{
-    label:'已客审待财审',
-    value:'WaitFConfirm'
-  },{
+  },
+  // {
+  //   label:'已客审待财审',
+  //   value:'WaitFConfirm'
+  // },
+  {
     label:'发货中',
     value:'Delivering'
   },{

+ 7 - 1
src/views/oms/B2COrder/components/addOrder.vue

@@ -443,6 +443,7 @@ export default class AddOrder extends Vue {
         span:6,
         label:'买家',
         prop:'buyerNickname',
+        colspan: 2,
         slot:true,
         // component:'by-input',
         // compConfig:{
@@ -454,6 +455,7 @@ export default class AddOrder extends Vue {
         span:6,
         label:'收货人',
         prop:'receiverName',
+        colspan: 2,
         component:'by-input',
         rules:[{
           required: true, message: '收货人不能为空', trigger: 'blur'
@@ -468,6 +470,7 @@ export default class AddOrder extends Vue {
       [{
         span:6,
         label:'手机',
+        colspan: 1,
         prop:'receiverMobile',
         component:'by-input',
         compConfig:{
@@ -480,6 +483,7 @@ export default class AddOrder extends Vue {
         span:6,
         label:'固定电话',
         prop:'receiverPhone',
+        colspan: 1,
         component:'by-input',
         compConfig:{
           attr:{
@@ -491,6 +495,7 @@ export default class AddOrder extends Vue {
         span:6,
         label:'邮编',
         prop:'receiverZip',
+        colspan: 2,
         component:'by-input',
         compConfig:{
           attr:{
@@ -505,7 +510,7 @@ export default class AddOrder extends Vue {
         // slot:true,
         prop:'receiverProvinceCode',
         component:'by-area',
-        colspan:2,
+        colspan:4,
         descSlot:true,
         compConfig:{
           attr:{
@@ -525,6 +530,7 @@ export default class AddOrder extends Vue {
         span:24,
         label:'详细地址',
         prop:'receiverAddress',
+        colspan: 4,
         component:'by-input',
         compConfig:{
           attr:{

+ 37 - 5
src/views/oms/B2COrder/components/expressDeliveryModal.vue

@@ -27,6 +27,12 @@
               <span :title="value.tmsBusinessPhone">{{ value.tmsBusinessPhone }}</span>
             </div>
           </div>
+          <div class="info-row">
+            <div class="info-col">
+              <span class="label">仓库:</span>
+              <span :title="value.storeHouseName">{{ value.storeHouseName }}</span>
+            </div>
+          </div>
           <div class="info-row">
             <div class="info-col">
               <span class="label">备注:</span>
@@ -95,6 +101,7 @@
 import { Component, Prop, Vue, Watch } from "vue-property-decorator";
 import { add,multiply,subtract,divide } from '@/benyun/utils/accuracy'
 import { getInventoryByStoreHouseIdAndSkuids,express } from  '@/api/delivery'
+import api from '@/api/currency'
 @Component({components:{}})
 export default class ExpressDeliveryModal extends Vue {
   drawer=false;
@@ -252,8 +259,8 @@ export default class ExpressDeliveryModal extends Vue {
   setValue(data:Array<any>){
     this.data =data;
     this.value={};
-    // this.value.tmsBusinessMan = (this as any).$store.getters.userInfo.userName;
-    // this.value.tmsBusinessPhone = (this as any).$store.getters.userInfo.phonenumber;
+    this.value.tmsBusinessMan = (this as any).$store.getters.userInfo.userName;
+    this.value.tmsBusinessPhone = (this as any).$store.getters.userInfo.phonenumber;
     this.value.subItem=[];
     this.checked = false;
     const requestId =  new Date().getTime() + this.getUuid();
@@ -289,9 +296,34 @@ export default class ExpressDeliveryModal extends Vue {
     if(this.totalWeight){
       this.totalWeight = divide(this.totalWeight,1000)?.toFixed(3)
     }
-    this.$nextTick(() => {
-      this.edit()
-    })
+    this.loadWarehouse()
+    // this.$nextTick(() => {
+    //   this.edit()
+    // })
+  }
+  loadWarehouse() {
+    api.pageList({
+      pageNo: 1,
+      pageSize: 1000
+    }, 'maindataStorehouse').then((res: any) => {
+      let warehouseData = res.data.records;
+      if(warehouseData.length > 0){
+        this.value.tmsShipmentConsignor=warehouseData[0].shipper;
+        this.value.tmsShipmentContacts=warehouseData[0].shipperPhone;
+        this.value.tmsShipmentProvince= warehouseData[0].province;
+        this.value.tmsShipmentProvinceNo=warehouseData[0].provinceCode;
+        this.value.tmsShipmentCity= warehouseData[0].city;
+        this.value.tmsShipmentCityNo= warehouseData[0].cityCode;
+        this.value.tmsShipmentRegion= warehouseData[0].region;
+        this.value.tmsShipmentRegionNo= warehouseData[0].regionCode;
+        this.value.tmsShipmentStreetNo= warehouseData[0].streetCode;
+        this.value.tmsShipmentStreet= warehouseData[0].street;
+        this.value.tmsShipmentAddress=warehouseData[0].address;
+        this.value.storeHouseId= warehouseData[0].id;
+        this.value.storeHouseName= warehouseData[0].name;
+        this.$forceUpdate()
+      }
+    }).catch(() => {})
   }
   getUuid(){
     return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);

+ 12 - 8
src/views/oms/B2COrder/index.vue

@@ -430,16 +430,20 @@ export default class Order extends Vue {
   },{
     label:'被拆分',
     value:'Split'
-  },{
-    label:'等供销商|外仓发货',
-    value:'WaitOuterSent'
-  },{
+  },
+  // {
+  //   label:'等供销商|外仓发货',
+  //   value:'WaitOuterSent'
+  // },
+  {
     label:'已付款待审核',
     value:'WaitConfirm'
-  },{
-    label:'已客审待财审',
-    value:'WaitFConfirm'
-  },{
+  },
+  // {
+  //   label:'已客审待财审',
+  //   value:'WaitFConfirm'
+  // },
+  {
     label:'发货中',
     value:'Delivering'
   },{