Kaynağa Gözat

点山店铺

ymy 1 yıl önce
ebeveyn
işleme
d65ae9d8ec

+ 27 - 0
src/api/jstOrder.ts

@@ -73,4 +73,31 @@ export function waybillPrintData(data:any){
 		method: 'GET',
     params:data
 	})
+}
+
+//订单发货确认接口
+export function deliveryOrderConfirm(data:any){
+	return request({
+		url: '/wms/confirm/deliveryOrderConfirm',
+		method: 'POST',
+    data:data
+	})
+}
+
+//入库单确认接口
+export function purchaseInOrderConfirm(data:any){
+	return request({
+		url: '/wms/confirm/purchaseInOrderConfirm',
+		method: 'POST',
+    data:data
+	})
+}
+
+//出库单确认接口
+export function purchaseOutConfirm(data:any){
+	return request({
+		url: '/wms/confirm/purchaseOutConfirm',
+		method: 'POST',
+    data:data
+	})
 }

+ 2 - 2
src/api/shop.ts

@@ -3,7 +3,7 @@ import request from '@/benyun/utils/request'
 //查询数据
 export function query(params:any) {
 	return request({
-		url: '/omsOrder/omsShop/page',
+		url: '/omsOrder/shop/page',
 		method: 'get',
 		params:params
 	})
@@ -12,7 +12,7 @@ export function query(params:any) {
 //新增数据
 export function save(data:any) {
 	return request({
-		url: '/omsOrder/omsShop/save',
+		url: '/omsOrder/shop/save',
 		method: 'POST',
 		data:data
 	})

+ 41 - 1
src/benyun/components/byTable/byTable.vue

@@ -63,9 +63,15 @@
             <template v-else>
               <div v-if="item.isDetail" :class="{'ellipsis':item.ellipsis}" :style="{ 'text-align': item.align }" class="tdCol detail" @click="detail(scope.row)">
                 {{ item.formatField ? formatField(item,scope.row) : scope.row[item.field] }}
+                <div class="copy-out" v-if="item.copy && scope.row[item.field]">
+                  <div class="copy" @click="copyHandle(scope.row[item.field])">复制</div>
+                </div>
               </div>
               <div class="tdCol" :class="{'ellipsis':item.ellipsis}" :style="{ 'text-align': item.align }" v-else>
                 {{ item.formatField ? formatField(item,scope.row) : scope.row[item.field] }}
+                <div class="copy-out" v-if="item.copy && scope.row[item.field]">
+                  <div class="copy" @click="copyHandle(scope.row[item.field])">复制</div>
+                </div>
               </div>
             </template>
             
@@ -91,6 +97,7 @@
 /**
   config:{
     attr:{
+      copy:true/false //复制
       triggerRowCheck:'row'  //点击行选中
       size: medium / small / mini  //尺寸
       height: ''  //高度
@@ -234,7 +241,20 @@ export default class ByTable extends VueViews {
     this.recalculate();
     
   }
-
+  copyHandle(text:string){
+    let textarea:any = document.createElement('textarea');
+    textarea.style.position = 'fixed';
+    textarea.style.opacity = 0;
+    textarea.value = text;
+    document.body.appendChild(textarea);
+    textarea.select();
+    document.execCommand('copy');
+    document.body.removeChild(textarea);
+    this.$message({
+      message:'复制成功!',
+      type:'success'
+    })
+  }
   //设置分页
   setPage(page:Page){
     if(page.pageNo){
@@ -380,6 +400,26 @@ export default class ByTable extends VueViews {
   }
   .tdCol{
     width: 100%;
+    .copy-out{
+      display: flex;
+      justify-content: flex-end;
+    }
+    .copy{
+      // position: absolute;
+      // bottom: 0;
+      // right: 0;
+      border: solid 1px #0089ff;
+      font-size: 12px;
+      width: 40px;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      height: 20px;
+      border-radius: 3px;
+      cursor: pointer;
+      color: #0089ff;
+      background-color: #f1f7fc;
+    }
   }
   .ellipsis{
     width: 100%;

+ 4 - 0
src/views/oms/WMSPrintLog/index.vue

@@ -39,6 +39,7 @@ export default class WMSPrintLog extends Vue {
         title:'响应结果',
         field:'responseInfo',
         ellipsis:true,
+        copy:true,
         width:270
       },{
         title:'wms单据编码',
@@ -61,11 +62,13 @@ export default class WMSPrintLog extends Vue {
         title:'发货人信息',
         field:'send',
         ellipsis:true,
+        copy:true,
         width:200
       },{
         title:'订单包裹信息',
         field:'packages',
         ellipsis:true,
+        copy:true,
         width:300
       },{
         title:'菜鸟必传',
@@ -79,6 +82,7 @@ export default class WMSPrintLog extends Vue {
         title:'面单打印数据',
         field:'props',
         ellipsis:true,
+        copy:true,
         width:300
       }]
     }

+ 2 - 33
src/views/oms/distributionAd/components/distributionDevel.vue

@@ -237,40 +237,17 @@ export default class DistributionDevel extends Vue {
     }).catch(()=>{})
     
   }
-  //分页
-  pagination(){
-    if(this.isSearch){
-      this.queryList();
-    }else{
-      this.getList()
-    }
-  }
+
   //列表请求(只有分页,不包含搜素条件)
   getList(){
-    // if(!this.$refs.view){
-    //   if(this.timeNum > 5){
-    //     return
-    //   }
-    //   setTimeout(()=>{
-    //     this.getList()
-    //   },500) 
-    //   this.timeNum ++;
-    //   return
-    // }
     this.isSearch = false;
-    // let data = (this.$refs.view as any).getPage();
     let data = {
       pageNo:1,
       pageSize:20
     }
     this.requestList(data);
   }
-  //列表请求(包含分页和搜素条件)
-  queryList(){
-    this.isSearch = true;
-    let data = (this.$refs.view as any).getQuery();
-    this.requestList(data);
-  }
+
   requestList(data:any){
     this.load = true;
     saleRankList(data).then((res:any) => {
@@ -280,14 +257,6 @@ export default class DistributionDevel extends Vue {
           (this.$refs.form as any).setValue(this.value);
         })
       }
-      // this.load = false;
-      // (this.$refs.view as any).setTableValue(res.data.records);
-      // let page = {
-      //   pageNo: res.data.current, //当前页
-      //   pageSize: res.data.size, //每页条数
-      //   total: res.data.total //总条数
-      // };
-      // (this.$refs.view as any).setPage(page)
 
     }).catch(()=>{
       this.load = false;

+ 7 - 5
src/views/oms/distributionAd/components/userBalanceList.vue

@@ -133,11 +133,13 @@ export default class DistributionDevel extends Vue {
         title:'二级分佣金额',
         field:'twoAmount',
         width:120
-      },{
-        title:'三级分佣金额',
-        field:'threeAmount',
-        width:120
-      },{
+      },
+      // {
+      //   title:'三级分佣金额',
+      //   field:'threeAmount',
+      //   width:120
+      // },
+      {
         title:'应用ID',
         field:'appId',
         width:120

+ 175 - 19
src/views/oms/jushuitanOrder/compoments/jstproductModal.vue

@@ -1,27 +1,50 @@
 <template>
-  <vxe-modal v-model="value" id="productDialogModal" width="60%" v-loading="load" @hide="hide" height="70%" min-width="500" min-height="400" show-zoom resize transfer show-footer>
-    <template #title>
-      <span>订单商品</span>
-    </template>
-    <template #default>
-      <module-view :propConfig="config" ref="view"/>
-    </template>
-    <template #footer>
-      <div class="btn">
-        <el-button type="primary" size="small" @click="value = false">确定</el-button>
-      </div>
-    </template>
-  </vxe-modal>
+  <div>
+    <vxe-modal v-model="value" id="productDialogModal" width="60%" v-loading="load" @hide="hide" height="70%" min-width="500" min-height="400" show-zoom resize transfer show-footer>
+      <template #title>
+        <span>订单商品</span>
+      </template>
+      <template #default>
+        <module-view :propConfig="config" ref="view"/>
+      </template>
+      <template #footer>
+        <div class="btn">
+          <el-button type="primary" size="small" @click="value = false">确定</el-button>
+          <el-button type="primary" size="small" v-if="type == 'sg'" @click="showExpressCodeModal">确认发货</el-button>
+          <el-button type="primary" size="small" v-if="type == 'inStore'" @click="confirmInStore">确认入库</el-button>
+          <el-button type="primary" size="small" v-if="type == 'outStore'" @click="showExpressCodeModal">确认出库</el-button>
+        </div>
+      </template>
+    </vxe-modal>
+    <vxe-modal v-model="expressCodeValue" id="expressCodeModal" v-loading="load" :title="title" @hide="expressHide" width="500" height="300" show-footer>
+      <template #default>
+        <div class="expressCode-row">
+          <div class="label">单号</div>
+          <el-input v-model="val" placeholder="请输入内容" size="small"></el-input>
+        </div>
+      </template>
+      <template #footer>
+        <div class="btn">
+          <el-button type="primary" size="small" @click="expressCodeHandle">确定</el-button>
+        </div>
+      </template>
+    </vxe-modal>
+  </div>
 </template>
 
 <script lang="ts">
 import { Component, Prop, Vue, Watch } from "vue-property-decorator";
-import {jstOrderListProduct,inStoreProduct,outStoreProduct} from '@/api/jstOrder'
+import {jstOrderListProduct,inStoreProduct,outStoreProduct,deliveryOrderConfirm, purchaseInOrderConfirm,purchaseOutConfirm} from '@/api/jstOrder'
 @Component
 export default class JstproductModal extends Vue {
+  title:string='';
   value:boolean=false;
   load:boolean = false;
   type:string='';
+  orderValue:any;
+  val:any='';
+  expressCodeValue:boolean=false;
+  tableData:Array<any>=[]
   config:any={
     attr:{
       calculateH:true
@@ -47,10 +70,18 @@ export default class JstproductModal extends Vue {
     }
   }
   hide(){
-    if(this.$refs.view){
-      (this.$refs.view as any).setTableValue([]);
+    if(!this.expressCodeValue){
+      if(this.$refs.view){
+        (this.$refs.view as any).setTableValue([]);
+      }
+      this.type = ''
+      this.tableData = []
+      this.orderValue=null
     }
-    this.type = ''
+  }
+  expressHide(){
+    this.val='';
+    this.value = true
   }
   setShow(v:boolean){
     this.value = v;
@@ -60,6 +91,7 @@ export default class JstproductModal extends Vue {
   }
   setValue(data:any){
     let params:any = {}
+    this.orderValue = data;
     if(data.id){
       params.orderId = data.id
       if(this.type == 'sg'){
@@ -67,6 +99,7 @@ export default class JstproductModal extends Vue {
         jstOrderListProduct(params).then((res:any) => {
           this.load = false
           if(res.data){
+            this.tableData = res.data;
             (this.$refs.view as any).setTableValue(res.data);
           }
         }).catch(()=>{
@@ -78,6 +111,7 @@ export default class JstproductModal extends Vue {
         inStoreProduct(params).then((res:any) => {
           this.load = false
           if(res.data){
+            this.tableData = res.data;
             (this.$refs.view as any).setTableValue(res.data);
           }
         }).catch(()=>{
@@ -89,6 +123,7 @@ export default class JstproductModal extends Vue {
         outStoreProduct(params).then((res:any) => {
           this.load = false
           if(res.data){
+            this.tableData = res.data;
             (this.$refs.view as any).setTableValue(res.data);
           }
         }).catch(()=>{
@@ -97,10 +132,131 @@ export default class JstproductModal extends Vue {
       }
     }
   }
-
+  showExpressCodeModal(){
+    this.expressCodeValue = true;
+    this.value = false;
+    if(this.type == 'sg'){
+      this.title = '确认发货'
+    }
+    if(this.type == 'outStore'){
+      this.title = '确认出库'
+    }
+  }
+  //确认发货
+  confirmHandle(){
+    let data:Array<any>=[];
+    for(const item of this.tableData){
+      data.push({
+        barCode:item.itemCode
+      })
+    }
+    if(data.length === 0){
+      this.$message('条件不符合!')
+      return
+    }
+    this.load=true;
+    deliveryOrderConfirm({
+      saleOrderCode:this.orderValue.deliveryOrderCode,
+      logisticsCode:this.orderValue.logisticsCode,
+      logisticsName:this.orderValue.logisticsName,
+      expressCode:this.val,
+      item:data
+    }).then(()=>{
+      this.load=false;
+      this.expressCodeValue = false;
+      this.$message({
+        message:'操作成功!',
+        type:'success'
+      })
+    }).catch(()=>{
+      this.load=false;
+    })
+  }
+  //入库确认
+  confirmInStore(){
+    let data:Array<any>=[];
+    for(const item of this.tableData){
+      data.push({
+        barCode:item.itemCode,
+        quantity:item.planQty
+      })
+    }
+    if(data.length === 0){
+      this.$message('条件不符合!')
+      return
+    }
+    this.load=true
+    purchaseInOrderConfirm({
+      syncId:this.orderValue.entryOrderCode,
+      item:data
+    }).then(()=>{
+      this.load=false;
+      this.$message({
+        message:'操作成功!',
+        type:'success'
+      })
+    }).catch(()=>{
+      this.load=false;
+    })
+  }
+  //出库确认
+  confirmOutStore(){
+    let data:Array<any>=[];
+      for(const item of this.tableData){
+      data.push({
+        barCode:item.itemCode,
+        quantity:item.planQty
+      })
+    }
+    if(data.length === 0){
+      this.$message('条件不符合!')
+      return
+    }
+    this.load=true
+    purchaseOutConfirm({
+      syncId:this.orderValue.deliveryOrderId,
+      expressCode:this.val,
+      item:data
+    }).then(()=>{
+      this.load=false;
+      this.expressCodeValue = false;
+      this.$message({
+        message:'操作成功!',
+        type:'success'
+      })
+    }).catch(()=>{
+      this.load=false;
+    })
+  }
+  expressCodeHandle(){
+    if(!this.val){
+      this.$message({
+        message:'请输入单号',
+        type:'error'
+      })
+      return
+    }
+    if(this.type == 'sg'){
+      this.confirmHandle()
+    }
+    if(this.type == 'outStore'){
+      this.confirmOutStore()
+    }
+  }
 }
 </script>
 
 <style lang="scss" scoped>
-
+.expressCode-row{
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 100%;
+  padding-top: 32px;
+  .label{
+    width: 100px;
+    text-align: right;
+    padding-right: 8px;
+  }
+}
 </style>

+ 1 - 1
src/views/oms/jushuitanOrder/compoments/sendGoods.vue

@@ -28,7 +28,7 @@
       <vxe-column field="receiverInfo" title="收件信息" show-overflow show-footer-overflow width="200"> </vxe-column>
       <vxe-column field="senderInfo" title="发件信息" show-overflow show-footer-overflow width="200"> </vxe-column>
       <vxe-column field="createTime" title="创建时间" width="140"> </vxe-column>
-      <vxe-column title="操作" width="120" fixed="right" align="center">
+      <vxe-column title="操作" width="180" fixed="right" align="center">
       <template #default="{ row }">
         <el-button type="text" size="mini" @click="detailProduct(row)">查看商品</el-button>
         <el-button type="text" size="mini" @click="printClick(row)">打印</el-button>

+ 247 - 496
src/views/oms/shop/index.vue

@@ -129,34 +129,29 @@ export default class Shop extends Vue {
       },
       columns:[{
         title:'店铺名称',
-        field:'shopName',
+        field:'posName',
         isDetail:true,
         width:150
+      },{
+        title:'店铺code',
+        field:'posCode',
+        width:150
       },{
         title:'店铺类型',
-        field:'shortName',
+        field:'posType',
+        width:150
+      },{
+        title:'店铺平台类型',
+        field:'posPlatform',
         width:150
       },
-      // {
-      //   title:'店铺分组',
-      //   field:'shopGroup',
-      //   width:150
-      // },{
-      //   title:'店铺网址',
-      //   field:'shopUrl',
-      //   width:150
-      // },{
-      //   title:'店铺站点',
-      //   field:'shopSite',
-      //   width:150
-      // },
       {
-        title:'类型',
-        field:'companyCode',
+        title:'店铺子平台类型',
+        field:'posPlatformType',
         width:150
       },{
-        title:'平台名称',
-        field:'channelName',
+        title:'店铺状态',
+        field:'posStatus',
         width:150
       },{
         title:'子平台名称',
@@ -183,153 +178,6 @@ export default class Shop extends Vue {
         field:'authExpired',
         width:150
       },
-      //{
-      //   title:'授权修改时间',
-      //   field:'authModified',
-      //   width:150
-      // },
-      // {
-      //   title:'店铺状态',
-      //   field:'shopStatus',
-      //   width:150
-      // }
-      // ,{
-      //   title:'退款状态',
-      //   field:'refundStatus',
-      //   width:150
-      // },{
-      //   title:'身份证',
-      //   field:'sendIdCard',
-      //   width:150
-      // },{
-      //   title:'联系电话',
-      //   field:'sendPhone',
-      //   width:150
-      // },{
-      //   title:'发货店址',
-      //   field:'sendAddress',
-      //   width:150
-      // },{
-      //   title:'发货时效',
-      //   field:'sendTimeEffect',
-      //   width:150
-      // },{
-      //   title:'退货手机号',
-      //   field:'returnPhone',
-      //   width:150
-      // },{
-      //   title:'退货人',
-      //   field:'returnName',
-      //   width:150
-      // },{
-      //   title:'退货地址',
-      //   field:'returnAdress',
-      //   width:150
-      // },{
-      //   title:'同步发货',
-      //   field:'enableSyncSend',
-      //   width:150
-      // },{
-      //   title:'揽收轨迹同步发货',
-      //   field:'enableTrackSyncSend',
-      //   width:150
-      // },{
-      //   title:'拆分订单整单发货',
-      //   field:'enableSplitOrderFullSend',
-      //   width:150
-      // },{
-      //   title:'同步库存',
-      //   field:'enableSynvStore',
-      //   width:150
-      // },{
-      //   title:'订单下载',
-      //   field:'enableSyncOrder',
-      //   width:150
-      // },{
-      //   title:'天猫物流升级',
-      //   field:'enableTmallLogistics',
-      //   width:150
-      // },{
-      //   title:'下载截止时间',
-      //   field:'endPullTime',
-      //   width:150
-      // },{
-      //   title:'最晚截单时间',
-      //   field:'endInterceptTime',
-      //   width:150
-      // },{
-      //   title:'最晚出库时间',
-      //   field:'endDeliveryTime',
-      //   width:150
-      // },{
-      //   title:'淘宝消息通知',
-      //   field:'enableTaobaoMessageNotice',
-      //   width:150
-      // },{
-      //   title:'商品下载',
-      //   field:'enableSkuDownload',
-      //   width:150
-      // },{
-      //   title:'开启链接库存同步',
-      //   field:'enableLinkSync',
-      //   width:150
-      // },{
-      //   title:'是否虾皮SIP',
-      //   field:'shopeeSip',
-      //   width:150
-      // },{
-      //   title:'支付宝授权状态',
-      //   field:'alipayAuthStatus',
-      //   width:150
-      // },{
-      //   title:'京东授权状态',
-      //   field:'jdAuthStatus',
-      //   width:150
-      // },{
-      //   title:'东账号拒绝申请原因',
-      //   field:'jdRejectReason',
-      //   width:150
-      // },{
-      //   title:'启用分销',
-      //   field:'enableDistribution',
-      //   width:150
-      // },{
-      //   title:'菜鸟(青龙)电子面单',
-      //   field:'enableCainiaoElectronicBill',
-      //   width:150
-      // },{
-      //   title:'售后单下载',
-      //   field:'enableSyncAfterSale',
-      //   width:150
-      // },{
-      //   title:'开通AG',
-      //   field:'enableAg',
-      //   width:150
-      // },{
-      //   title:'确认收货自动退款',
-      //   field:'enableAutoRefund',
-      //   width:150
-      // },{
-      //   title:'开启跨境操作',
-      //   field:'enableCbec',
-      //   width:150
-      // },{
-      //   title:'创建来源',
-      //   field:'createSource',
-      //   width:150
-      // },{
-      //   title:'标签',
-      //   field:'labels',
-      //   width:150
-      // },{
-      //   title:'服务市场订购版本',
-      //   field:'subscriptionVersion',
-      //   width:150
-      // },{
-      //   title:'创建时间',
-      //   field:'createTime',
-      //   width:150
-      // },
       {
         title:'操作',
         action:true,
@@ -355,369 +203,255 @@ export default class Shop extends Vue {
       form:{
         attr:{
           size:'small',
+          width:'1200px',
           labelWidth:'130px',
           rules:{
-            shopName:[
+            posName:[
               { required: true, message: '请输入店铺名称', trigger: 'blur' }
             ],
-            shopId:[
+            posCode:[
               { required: true, message: '请输入店铺编号', trigger: 'blur' }
             ],
-            channelName:[
-              {required: true, message: '请输入所属平台', trigger: 'blur'}
+            posPlatform:[
+              {required: true, message: '请选择店铺平台类型', trigger: 'change'}
+            ],
+            posPlatformType:[
+              { required: true, message: '请选择店铺子平台类型', trigger: 'change' }
+            ],
+            posType:[
+              { required: true, message: '请选择店铺类型', trigger: 'change' }
+            ],
+            posStatus:[
+              { required: true, message: '请选择店铺状态', trigger: 'change' }
             ],
-            channel:[
-              { required: true, message: '请输入平台类型', trigger: 'blur' }
+            name:[
+              { required: true, message: '请输入联系人姓名', trigger: 'blur' }
+            ],
+            mobile:[
+              { required: true, message: '请输入联系人手机', trigger: 'blur' }
+            ],
+            province:[
+              { required: true, message: '请选择地址', trigger: 'change' }
+            ],
+            address:[
+              { required: true, message: '请输入详细地址', trigger: 'blur' }
             ],
-            authStatus:[
-              { required: true, message: '请选择授权状态', trigger: 'change' }
-            ]
           }
         },
         columns:[
           [{
             label:'店铺编号',
-            prop:'shopId',
+            prop:'posCode',
             component:'by-input',
           },{
             label:'店铺名称',
-            prop:'shopName',
-            component:'by-input',
-          },{
-            label:'店铺简称',
-            prop:'shortName',
-            component:'by-input',
-          },{
-            label:'店铺分组',
-            prop:'shopGroup',
+            prop:'posName',
             component:'by-input',
           }],
           [{
-            label:'店铺网址',
-            prop:'shopUrl',
-            component:'by-input',
-          },{
-            label:'店铺站点',
-            prop:'shopSite',
-            component:'by-input',
-          },{
-            label:'公司编号',
-            prop:'companyCode',
-            component:'by-input',
+            label:'店铺平台类型',
+            prop:'posPlatform',
+            component:'by-select',
+            compConfig:{
+              attr:{
+                clearable:true,
+                data:[{
+                  value:'TB',
+                  label:'淘宝'
+                },{
+                  value:'JD',
+                  label:'京东'
+                },{
+                  value:'PDD',
+                  label:'拼多多'
+                },{
+                  value:'WPH',
+                  label:'唯品会'
+                },{
+                  value:'YZ',
+                  label:'有赞'
+                },{
+                  value:'DY',
+                  label:'抖音'
+                },{
+                  value:'KS',
+                  label:'快手'
+                },{
+                  value:'SN',
+                  label:'苏宁'
+                },{
+                  value:'ALI',
+                  label:'阿里巴巴'
+                },{
+                  value:'GM',
+                  label:'国美'
+                },{
+                  value:'MEITUAN',
+                  label:'美团'
+                },{
+                  value:'XIAOMI',
+                  label:'小米'
+                },{
+                  value:'ELE',
+                  label:'饿了么'
+                },{
+                  value:'WM',
+                  label:'微盟'
+                },{
+                  value:'HW',
+                  label:'华为'
+                },{
+                  value:'XHS',
+                  label:'小红书'
+                },{
+                  value:'WD',
+                  label:'微店'
+                },{
+                  value:'WX',
+                  label:'微信'
+                },{
+                  value:'SELF',
+                  label:'自有'
+                }]
+              }
+            }
           },{
-            label:'所属平台',
-            prop:'channelName',
-            component:'by-input',
+            label:'店铺子平台类型',
+            prop:'posPlatformType',
+            component:'by-select',
+            compConfig:{
+              attr:{
+                clearable:true,
+                data:[{
+                  value:'TB',
+                  label:'淘宝'
+                },{
+                  value:'TMALL',
+                  label:'天猫'
+                },{
+                  value:'JD',
+                  label:'京东pop店'
+                },{
+                  value:'PDD',
+                  label:'拼多多三方店'
+                },{
+                  value:'MP',
+                  label:'唯品会MP'
+                },{
+                  value:'YZ',
+                  label:'有赞'
+                },{
+                  value:'DY',
+                  label:'抖音小店'
+                },{
+                  value:'KS',
+                  label:'快手小店'
+                },{
+                  value:'DPS',
+                  label:'京东厂送'
+                },{
+                  value:'KTT',
+                  label:'拼多多快团团'
+                },{
+                  value:'SN',
+                  label:'苏宁厂送'
+                },{
+                  value:'YOUPIN',
+                  label:'小米有品'
+                },{
+                  value:'WM',
+                  label:'微盟微商城'
+                },{
+                  value:'WM_ZHLS',
+                  label:'微盟-智慧零售'
+                },{
+                  value:'HW_MALL',
+                  label:'华为商城'
+                },{
+                  value:'XHS',
+                  label:'小红书'
+                },{
+                  value:'WD',
+                  label:'微店'
+                },{
+                  value:'SELF',
+                  label:'自有'
+                }]
+              }
+            }
           }],
           [{
-            label:'平台类型',
-            prop:'channel',
-            component:'by-input'
-          },{
-            label:'平台店铺名称',
-            prop:'channelShopName',
-            component:'by-input'
-          },{
-            label:'授权账号',
-            prop:'authAccount',
-            component:'by-input'
+            label:'店铺类型',
+            prop:'posType',
+            component:'by-select',
+            compConfig:{
+              attr:{
+                clearable:true,
+                data:[{
+                  value:'ONLINE_SALE',
+                  label:'线上网销零售'
+                },{
+                  value:'ONLINE_DISTRIBUTION',
+                  label:'线上分销'
+                },{
+                  value:'OFFLINE_WHOLESALE',
+                  label:'线下批发'
+                },{
+                  value:'OFFLINE_SALE',
+                  label:'线下门店零售'
+                },{
+                  value:'ONLINE_WHOLESALE',
+                  label:'线上批发'
+                }]
+              }
+            }
           },{
-            label:'授权状态',
-            prop:'authStatus',
+            label:'店铺状态',
+            prop:'posStatus',
             component:'by-select',
             compConfig:{
               attr:{
                 clearable:true,
                 data:[{
-                  value:'Authorized',
-                  label:'已授权'
+                  value:'VALID',
+                  label:'有效'
                 },{
-                  value:'Unauthorized',
-                  label:'未授权'
+                  value:'INVALID',
+                  label:'禁用'
                 },{
-                  value:'Expired',
-                  label:'已过期'
+                  value:'DELETED',
+                  label:'删除'
                 }]
               }
             }
           }],
-          // [{
-          //   label:'APP KEY',
-          //   prop:'appKey',
-          //   component:'by-input'
-          // },{
-          //   label:'APP SECRET',
-          //   prop:'appSecret',
-          //   component:'by-input'
-          // },{
-          //   label:'ACCESSTOKEN',
-          //   prop:'accessToken',
-          //   component:'by-input'
-          // },{
-          //   label:'REFRESHTOKEN',
-          //   prop:'refreshToken',
-          //   component:'by-input'
-          // }],
-          // [{
-          //   label:'会话用户编号',
-          //   prop:'sessionUid',
-          //   component:'by-input'
-          // },{
-          //   label:'授权开始时间',
-          //   prop:'authBegin',
-          //   component:'by-date-picker'
-          // },{
-          //   label:'授权过期时间',
-          //   prop:'authExpired',
-          //   component:'by-date-picker'
-          // },{
-          //   label:'授权修改时间',
-          //   prop:'authModified',
-          //   component:'by-date-picker'
-          // }],
-          // [{
-          //   label:'京东授权状态',
-          //   prop:'jdAuthStatus',
-          //   component:'by-input'
-          // },{
-          //   label:'京东拒绝申请原因',
-          //   prop:'jdRejectReason',
-          //   component:'by-input'
-          // },{
-          //   label:'身份证号',
-          //   prop:'sendIdCard',
-          //   component:'by-input'
-          // },{
-          //   label:'联系电话',
-          //   prop:'sendPhone',
-          //   component:'by-input'
-          // }],
-          // [{
-          //   label:'发货地址',
-          //   prop:'sendTimeEffect',
-          //   component:'by-input'
-          // },{
-          //   label:'标签',
-          //   prop:'labels',
-          //   component:'by-input'
-          // },{
-          //   span:12,
-          //   label:'发货地址',
-          //   prop:'sendAddress',
-          //   component:'by-input'
-          // }],
-          // [{
-          //   label:'服务市场订购版本',
-          //   prop:'subscriptionVersion',
-          //   component:'by-input'
-          // },{
-          //   label:'退货手机',
-          //   prop:'returnPhone',
-          //   component:'by-input'
-          // },{
-          //   label:'退货人',
-          //   prop:'returnName',
-          //   component:'by-input'
-          // },{
-          //   label:'退货邮编',
-          //   prop:'returnZip',
-          //   component:'by-input'
-          // }],
-          // [{
-          //   label:'支付宝授权状态',
-          //   prop:'alipayAuthStatus',
-          //   component:'by-input'
-          // },{
-          //   label:'菜鸟电子面单',
-          //   prop:'enableCainiaoElectronicBill',
-          //   component:'by-input'
-          // },{
-          //   span:12,
-          //   label:'退货地址',
-          //   prop:'returnAdress',
-          //   component:'by-input'
-          // }],
-          // [{
-          //   label:'下载截止时间',
-          //   prop:'endPullTime',
-          //   component:'by-date-picker'
-          // },{
-          //   label:'最晚截单时间',
-          //   prop:'endInterceptTime',
-          //   component:'by-date-picker'
-          // },{
-          //   label:'最晚出库时间',
-          //   prop:'endDeliveryTime',
-          //   component:'by-date-picker'
-          // },{
-          //   label:'淘宝消息通知',
-          //   prop:'enableTaobaoMessageNotice',
-          //   component:'by-input'
-          // }],
-          // [{
-          //   label:'拆分订单整单发货',
-          //   prop:'enableSplitOrderFullSend',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:1,
-          //       inactiveValue:0
-          //     }
-          //   }
-          // },{
-          //   label:'同步库存',
-          //   prop:'enableSynvStore',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:1,
-          //       inactiveValue:0
-          //     }
-          //   }
-          // },{
-          //   label:'订单下载',
-          //   prop:'enableSyncOrder',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:1,
-          //       inactiveValue:0
-          //     }
-          //   }
-          // },{
-          //   label:'天猫物流升级',
-          //   prop:'enableTmallLogistics',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:1,
-          //       inactiveValue:0
-          //     }
-          //   }
-          // }],
-          // [{
-          //   label:'商品下载',
-          //   prop:'enableSkuDownload',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:1,
-          //       inactiveValue:0
-          //     }
-          //   }
-          // },{
-          //   label:'开启链接库存同步',
-          //   prop:'enableLinkSync',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:1,
-          //       inactiveValue:0
-          //     }
-          //   }
-          // },{
-          //   label:'是否虾皮SIP',
-          //   prop:'shopeeSip',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:1,
-          //       inactiveValue:0
-          //     }
-          //   }
-          // },{
-          //   label:'同步发货',
-          //   prop:'enableSyncSend',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:1,
-          //       inactiveValue:0
-          //     }
-          //   }
-          // }],
-          // [{
-          //   label:'店铺状态',
-          //   prop:'shopStatus',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:1,
-          //       inactiveValue:0
-          //     }
-          //   }
-          // },{
-          //   label:'退款状态',
-          //   prop:'refundStatus',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:'1',
-          //       inactiveValue:'0'
-          //     }
-          //   }
-          // },{
-          //   label:'启用分销',
-          //   prop:'enableDistribution',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:1,
-          //       inactiveValue:0
-          //     }
-          //   }
-          // },{
-          //   label:'揽收轨迹同步发货',
-          //   prop:'enableTrackSyncSend',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:1,
-          //       inactiveValue:0
-          //     }
-          //   }
-          // }],
-          // [{
-          //   label:'售后单下载',
-          //   prop:'enableSyncAfterSale',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:1,
-          //       inactiveValue:0
-          //     }
-          //   }
-          // },{
-          //   label:'开通AG',
-          //   prop:'enableAg',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:1,
-          //       inactiveValue:0
-          //     }
-          //   }
-          // },{
-          //   label:'确认收货自动退款',
-          //   prop:'enableAutoRefund',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:1,
-          //       inactiveValue:0
-          //     }
-          //   }
-          // },{
-          //   label:'开启跨境操作',
-          //   prop:'enableCbec',
-          //   component:'by-switch',
-          //   compConfig:{
-          //     attr:{
-          //       activeValue:1,
-          //       inactiveValue:0
-          //     }
-          //   }
-          // }]
+          [{
+            label:'联系人姓名',
+            prop:'name',
+            component:'by-input',
+          },{
+            label:'联系人手机',
+            prop:'mobile',
+            component:'by-input',
+          }],
+          [{
+            label:'地址',
+            prop:'province',
+            component:'by-area',
+            compConfig:{
+              attr:{
+                province:'province', //省
+                city:'city',   //市
+                county:'district',  //县/区
+                show:'county'
+              }
+            }
+          }],
+          [{
+            label:'详细地址',
+            prop:'address',
+            component:'by-input'
+          }]
         ]
       }
     }
@@ -795,7 +529,8 @@ export default class Shop extends Vue {
   }
   //修改店铺数据
   onSave(){
-    let data = (this.$refs.view as any).getFormValue();
+    let data:any = (this.$refs.view as any).getFormValue();
+    
     this.load = true;
     update(data).then((res:any) => {
       this.$message({
@@ -830,6 +565,22 @@ export default class Shop extends Vue {
   //添加店铺
   addShop(){
     let value = (this.$refs.view as any).getFormValue();
+    value.contact={
+      name:value.name,
+      mobile:value.mobile,
+      phone:value.phone,
+      province:value.province,
+      city:value.city,
+      district:value.district,
+      address:value.address
+    }
+    delete value.name;
+    delete value.mobile;
+    delete value.phone;
+    delete value.province;
+    delete value.city;
+    delete value.district;
+    delete value.address;
     if(value){
       this.load = true;
       save(value).then((res:any)=>{