ymy 1 рік тому
батько
коміт
dcef674228

+ 16 - 3
src/benyun/components/byInput/byInput.vue

@@ -1,6 +1,6 @@
 <template>
   <el-input v-if="attrs.type == 'textarea'" :type="attrs.type" v-model="value" @input="onChange" :rows="attrs.rows" :show-word-limit="attrs.showWordLimit" :show-password="attrs.showPassword" :placeholder="placeholder"
-  :maxlength="attrs.maxlength" :minlength="attrs.minlength" :clearable="attrs.clearable" :disabled="attrs.disabled" :prefix-icon="attrs.prefixIcon"
+  :maxlength="attrs.maxlength" :minlength="attrs.minlength" :clearable="attrs.clearable" :disabled="disabledValue" :prefix-icon="attrs.prefixIcon"
   :suffix-icon="attrs.suffixIcon" :readonly="attrs.readonly" :autosize="attrs.autosize"></el-input>
   <vxe-input 
     v-else
@@ -10,7 +10,7 @@
     :maxlength="attrs.maxlength"
     :minlength="attrs.minlength"
     :clearable="attrs.clearable"
-    :disabled="attrs.disabled"
+    :disabled="disabledValue"
     :size="attrs.size?attrs.size:'medium'"
     :type="attrs.type"
     :min="attrs.min"
@@ -34,6 +34,7 @@ config:{
     min:0 //最小值
     max:''  //最大值
     step:'' //间隔
+    onceEdit: true/false  //只能编辑一次
     prefixIcon:''  //头部图标
     suffixIcon:''  //尾部图标
   }
@@ -62,8 +63,20 @@ export default class ByInput extends VueViews {
       this.onChange();
     }
   }
-  get placeholder(){
+
+  get disabledValue(){
+    let n = false;
     if(this.attrs.disabled){
+      n = true
+    }
+    if(this.attrs.onceEdit && this.parentValue && this.parentValue.id){
+      return n = true
+    }
+    return n;
+  }
+
+  get placeholder(){
+    if(this.disabledValue){
       return ''
     }
     if(this.attrs.placeholder){

+ 6 - 0
src/views/audit/distributor/index.vue

@@ -257,6 +257,12 @@
 						label: '机构代码',
 						prop: 'organizationCode',
 						component: 'by-input',
+						compConfig:{
+							attr:{
+								onceEdit:true,
+								placeholder:'保存后不能修改'
+							}
+						}
 					}
 				],
 				[{

+ 11 - 4
src/views/audit/manufacturer/index.vue

@@ -205,9 +205,9 @@
 					name: [{
 						required: true, message: '请输入名称', trigger: 'blur'
 					}],
-					organizationCode: [{
-						required: true, message: '请输入机构代码', trigger: 'blur'
-					}],
+					// organizationCode: [{
+					// 	required: true, message: '请输入机构代码', trigger: 'blur'
+					// }],
 					contacts: [{
 						required: true, message: '请输入负责人', trigger: 'blur'
 					}],
@@ -260,7 +260,14 @@
 						span: 6,
 						label: '机构代码',
 						prop: 'organizationCode',
-						slot: true,
+						component: 'by-input',
+						compConfig:{
+							attr:{
+								onceEdit:true,
+								placeholder:'保存后不能修改'
+							}
+						}
+						// slot: true,
 					},
 					{
 						span: 6,

+ 6 - 0
src/views/audit/supplier/index.vue

@@ -255,6 +255,12 @@
 						label: '机构代码',
 						prop: 'organizationCode',
 						component: 'by-input',
+						compConfig:{
+							attr:{
+								onceEdit:true,
+								placeholder:'保存后不能修改'
+							}
+						}
 					},
 				],
 				[

+ 6 - 1
src/views/components/rose.vue

@@ -46,9 +46,14 @@ export default class Rose extends Vue {
     let myChart = echarts.init(chartDom);
     let option: EChartsOption;
     let _data=[]
+    let obj:any={
+      send:'已发货',
+      other:'其他'
+    }
     for(const item of data) {
+
       _data.push({
-        name: item.status,
+        name: obj[item.status]?obj[item.status]:item.status,
         value:item.total
       })
     }

+ 5 - 19
src/views/oms/B2BOrder/components/autoSplit.vue

@@ -2,7 +2,7 @@
   <vxe-modal v-model="value" id="autoSplitModal" width="400" v-loading="load" @show="show" @hide="hide" height="260" show-footer title="自动拆分">
     <div class="split-num">
       <div class="max-label">可拆分类型:</div>
-      <el-select v-model="type" size="mini" style="width:200px" placeholder="请选择类型">
+      <el-select v-model="type" size="mini" style="width:200px" clearable placeholder="请选择类型">
         <el-option
           v-for="item in options"
           :key="item.value"
@@ -55,11 +55,11 @@ export default class UpdateRmkModal extends Vue {
   }
   setData(data:Array<any>){
     this.data = data;
-    console.log('值', this.data)
   }
   show(){}
   hide(){
     this.val = 0
+    this.type = ''
   }
   btn(){
     let n = Number(this.val)
@@ -71,7 +71,8 @@ export default class UpdateRmkModal extends Vue {
           obj.id = ele.id
           obj.splitInfos=[]
           for(const item of ele.items){
-            if(item.qty > n){
+            let num = item.qty - item.splitQty;
+            if(num > n){
               if(this.type){
                 if(this.type == ele.orderType){
                   obj.splitInfos.push({
@@ -93,6 +94,7 @@ export default class UpdateRmkModal extends Vue {
         }
         
       })
+      console.log('拆单数据:',paramArr)
       if(paramArr.length == 0){
         this.$message('未找到匹配条件的订单')
         return
@@ -123,22 +125,6 @@ export default class UpdateRmkModal extends Vue {
     }else{
       this.$message('请输入可拆分数量')
     }
-    // (this.$refs.form as any).validate().then(()=>{
-    //   let data = (this.$refs.form as any).getValue();
-    //   data.idList = this.billValue;
-    //   this.load = true
-    //   split(data).then(()=>{
-    //     this.load = false;
-    //     (this.$message({
-    //       message:'操作成功!',
-    //       type:'success'
-    //     }));
-    //     this.$emit('handleSuccess');
-    //     this.value = false;
-    //   }).catch(()=>{
-    //     this.load = false;
-    //   })
-    // })
   }
 }
 </script>

+ 21 - 2
src/views/oms/B2BOrder/components/deliveryDetail.vue

@@ -110,6 +110,7 @@
 import { Component, Prop, Vue, Watch } from "vue-property-decorator";
 import DeliveryGoodsInfo from "./deliveryGoodsInfo.vue";
 import { queryOrderByOrderId,cancleSendOrder } from  '@/api/delivery'
+import api from '@/api/currency'
 @Component({components:{DeliveryGoodsInfo}})
 export default class DeliveryDetail extends Vue {
   drawer=false;
@@ -193,6 +194,7 @@ export default class DeliveryDetail extends Vue {
       this.load = false;
       this.value = res.data;
       if(this.value) {
+        this.loadWarehouse();
         if(res.data.subItemList){
           this.value.subItem=[];
           for(const item of this.value.subItemList){
@@ -216,11 +218,11 @@ export default class DeliveryDetail extends Vue {
           }
           
         }
-        setTimeout(()=>{
+        this.$nextTick(()=>{
           if(this.$refs.info){
             (this.$refs.info as any).setValue(this.value)
           }
-        },1000)
+        })
       }else{
         this.drawer = false;
         this.$message('未找到发货明细数据!')
@@ -229,6 +231,23 @@ export default class DeliveryDetail extends Vue {
       this.load = false;
     })
   }
+  loadWarehouse() {
+    api.pageList({
+      pageNo: 1,
+      pageSize: 1000
+    }, 'maindataStorehouse').then((res: any) => {
+      if(res.data.records.length > 0){
+        for(const item of res.data.records){
+          if(this.value.storeHouseOutId === item.id){
+            this.value.storeHouseName = item.name
+          }
+        }
+        this.$nextTick(()=>{
+          (this.$refs.info as any).setValue(this.value);
+        })
+      }
+    }).catch(() => {})
+  }
   cancelDelivery(){
     let msg = '';
     if(this.value.shippingType == 'MORE'){

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

@@ -91,7 +91,7 @@
         {{ row.isCod == 1 ? '是' :' 否' }}
       </template>
     </vxe-column>
-    <vxe-column field="sendDate" title="发货日期" width="120"></vxe-column>
+    <vxe-column field="sendDate" title="发货日期" width="140"></vxe-column>
     <!-- <vxe-column field="signTime" title="预计送达时间" width="120"></vxe-column>
     <vxe-column field="endTime" title="确认收货时间" width="120"></vxe-column> -->
     <vxe-column field="receiverAddress" title="收货地址" show-overflow width="160"></vxe-column>

+ 3 - 3
src/views/oms/B2BOrder/index.vue

@@ -504,7 +504,7 @@ export default class Order extends Vue {
       }
     }
     if(newData.length == 0) {
-      this.$message('未有符合条件的订单!');
+      this.$message('拆分操作未找到符合条件的订单!');
       return
     }
     (this.$refs.autoSplit as any).setShow(true);
@@ -544,7 +544,7 @@ export default class Order extends Vue {
       }
     }
     if(newData.length == 1){
-      this.$message('未找到符合条件的合并订单!')
+      this.$message('合并操作未找到符合条件的订单!')
       return
     }
     this.$confirm('你确定将买家/分销商为“'+ row.buyerNickname +'”的订单进行合并?', '提示', {
@@ -717,7 +717,7 @@ export default class Order extends Vue {
       ids = ids ? ids + ',' + item.id : item.id;
       idsArr.push(item.id)
     }
-    this.$confirm('归档后数据无法恢复,您确定将订单“'+ ids +'”归档?', '提示', {
+    this.$confirm('归档后数据无法恢复,您确定将所选订单归档?', '提示', {
       confirmButtonText: '确定',
       cancelButtonText: '取消',
       type: 'warning'

+ 22 - 3
src/views/oms/B2COrder/components/deliveryDetail.vue

@@ -102,6 +102,7 @@
 import { Component, Prop, Vue, Watch } from "vue-property-decorator";
 import DeliveryGoodsInfo from "./deliveryGoodsInfo.vue";
 import { queryOrderByOrderId,cancleSendOrder,cancleWmsTradeOrder } from  '@/api/delivery'
+import api from '@/api/currency'
 @Component({components:{DeliveryGoodsInfo}})
 export default class DeliveryDetail extends Vue {
   drawer=false;
@@ -148,8 +149,10 @@ export default class DeliveryDetail extends Vue {
     queryOrderByOrderId({
       omsOrderId:v
     }).then((res:any) => {
+      this.load = false;
       this.value = res.data;
       if(this.value) {
+        this.loadWarehouse();
         if(res.data.subItemList){
           this.value.subItem=[];
           for(const item of this.value.subItemList){
@@ -163,7 +166,6 @@ export default class DeliveryDetail extends Vue {
             })
           }
         }
-        this.load = false;
         if(res.data.pricePlan){
           try{
             this.priceData = JSON.parse(res.data.pricePlan);
@@ -173,11 +175,11 @@ export default class DeliveryDetail extends Vue {
           }
           
         }
-        setTimeout(()=>{
+        this.$nextTick(()=>{
           if(this.$refs.info){
             (this.$refs.info as any).setValue(this.value)
           }
-        },1000)
+        })
       }else{
         this.drawer = false;
         this.$message('未找到发货明细数据!')
@@ -186,6 +188,23 @@ export default class DeliveryDetail extends Vue {
       this.load = false;
     })
   }
+  loadWarehouse() {
+    api.pageList({
+      pageNo: 1,
+      pageSize: 1000
+    }, 'maindataStorehouse').then((res: any) => {
+      if(res.data.records.length > 0){
+        for(const item of res.data.records){
+          if(this.value.storeHouseOutId === item.id){
+            this.value.storeHouseName = item.name
+          }
+        }
+        this.$nextTick(()=>{
+          (this.$refs.info as any).setValue(this.value);
+        })
+      }
+    }).catch(() => {})
+  }
   cancelB2CDelivery() {
     this.$confirm('此操作将导致该订单的发货被取消,是否继续?', '提示', {
       confirmButtonText: '继续',

+ 1 - 1
src/views/oms/B2COrder/components/orderTable.vue

@@ -87,7 +87,7 @@
         {{ row.isCod == 1 ? '是' :' 否' }}
       </template>
     </vxe-column>
-    <vxe-column field="sendDate" title="发货日期" width="120"></vxe-column>
+    <vxe-column field="sendDate" title="发货日期" width="140"></vxe-column>
     <!-- <vxe-column field="signTime" title="预计送达时间" width="120"></vxe-column>
     <vxe-column field="endTime" title="确认收货时间" width="120"></vxe-column> -->
     <vxe-column field="receiverAddress" title="收货地址" show-overflow width="160"></vxe-column>

+ 6 - 5
src/views/oms/orderHistory/components/orderTable.vue

@@ -17,7 +17,7 @@
         </div>
       </template>
     </vxe-column>
-    <vxe-column field="sourceId" title="线上订单号" width="140"> </vxe-column>
+    <!-- <vxe-column field="sourceId" title="线上订单号" width="140"> </vxe-column> -->
     <vxe-column field="product" title="商品" width="140">
       <template #default="{ row }">
         <el-badge :value="item.qty" class="item-pro" type="primary" :max="99" v-for="(item,index) of row.items" :key="index">
@@ -29,7 +29,8 @@
         </el-badge>
       </template>
     </vxe-column>
-    <vxe-column field="type" title="订单类型" width="120">
+    <vxe-column field="businessType" title="订单分类" width="120"></vxe-column>
+    <!-- <vxe-column field="type" title="订单类型" width="120">
       <template #default="{ row }">
         <span v-if="row.type == 'Common'">普通订单</span>
         <span v-if="row.type == 'Reissue'">补发订单</span>
@@ -37,7 +38,7 @@
         <span v-if="row.type == 'SupplyPlus'">供销Plus</span>
         <span v-if="row.type == 'Exchange'">换货订单</span>
       </template>
-    </vxe-column>
+    </vxe-column> -->
     <vxe-column field="status" title="订单状态" width="120">
       <template #default="{ row }">
         <span v-if="row.status == 'WaitPay'">待付款</span>
@@ -52,11 +53,11 @@
         <span v-if="row.status == 'Cancelled'">取消</span>
       </template>
     </vxe-column>
-    <vxe-column field="sourceFrom" title="订单来源" width="120">
+    <!-- <vxe-column field="sourceFrom" title="订单来源" width="120">
       <template #default="{ row }">
         {{ getFromText(row.sourceFrom) }}
       </template>
-    </vxe-column>
+    </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>

+ 3 - 3
src/views/oms/orderHistory/index.vue

@@ -5,7 +5,7 @@
         <el-collapse v-model="activeNames" class="my-collapse">
           <el-collapse-item title="基本信息" name="1">
             <input-select :options="myOptions" @input="parameChange" ref="searchCom01" />
-            <input-select :options="outLineOptions" @input="parameChangeBase($event,'idType','idValue')" ref="searchCom02" />
+            <!-- <input-select :options="outLineOptions" @input="parameChangeBase($event,'idType','idValue')" ref="searchCom02" /> -->
           </el-collapse-item>
           <order-radio title="买家留言" keyName="buyerMessageFilter" ref="searchCom05" :options="buyerMessageOptions" noLimit @radioChange="onChange($event,'buyerMessageFilter')">
             <template v-slot:buyerMessage>
@@ -22,9 +22,9 @@
               <el-input style="width: 140px;" v-model="value.noteContent" size="mini" placeholder="备注内容"></el-input>
             </template>
           </order-radio>
-          <order-radio title="订单来源" keyName="sourceFrom" ref="searchCom11" :options="sourceFromOptions" noLimit @radioChange="onChange($event,'sourceFrom')" />
+          <!-- <order-radio title="订单来源" keyName="sourceFrom" ref="searchCom11" :options="sourceFromOptions" noLimit @radioChange="onChange($event,'sourceFrom')" /> -->
           <!-- <order-checkbox title="订单类型" keyName="type" ref="searchCom12" :options="typeOption" noLimit @checkboxChange="onChange($event,'type')" /> -->
-          <order-checkbox title="省份" ref="searchCom14" keyName="receiverProvinceCode" :options="provinceOptions" @checkboxChange="onChange($event,'receiverProvinceCodeList')" />
+          <!-- <order-checkbox title="省份" ref="searchCom14" keyName="receiverProvinceCode" :options="provinceOptions" @checkboxChange="onChange($event,'receiverProvinceCodeList')" /> -->
         </el-collapse>
       </el-scrollbar>
       <div class="searchHandle">