Browse Source

Merge branch 'master' of http://47.107.53.207:3000/ymy/oms

AlanWong 2 years ago
parent
commit
603f57729e

+ 16 - 0
src/api/omsOrder.ts

@@ -136,4 +136,20 @@ export function resetQuestion(data:any){
 		method:'POST',
 		data:data
 	})
+}
+//改卖家备注
+export function updateRemark(data:any){
+	return request({
+		url:'/omsOrder/omsOrder/updateRemark',
+		method:'POST',
+		data:data
+	})
+}
+//设置业务员
+export function setCreateUser(data:any){
+	return request({
+		url:'/omsOrder/omsOrder/setCreateUser',
+		method:'POST',
+		data:data
+	})
 }

+ 11 - 9
src/benyun/components/byBill/byBill.vue

@@ -55,13 +55,13 @@
 						</div>
 					</template>
 				</div>
-				<div class="bill-log">
+				<div class="bill-log" v-if="billConfig && billConfig.log">
 					<div class="log-icon" @click="showLog">
 						<i v-if="!drawer" class="el-icon-s-fold"></i>
 						<i v-else class="el-icon-s-unfold"></i>
 					</div>
 				</div>
-				<el-drawer class="log-drawer" :size="600" append-to-body title="操作日志" :visible.sync="drawer" direction="rtl">
+				<el-drawer v-if="billConfig && billConfig.log" class="log-drawer" :size="600" append-to-body title="操作日志" :visible.sync="drawer" direction="rtl">
 					<byLog :propConfig="billConfig && billConfig.log" :parentValue="billValue" ref="log" />
 				</el-drawer>
 			</div>
@@ -182,13 +182,15 @@
 		}
 		//日志弹窗
 		showLog() {
-			if (this.$refs.billForm) {
-				this.billValue = (this.$refs.billForm as any).getValue();
-				this.drawer = true;
-			}
-			if (this.$refs.log) {
-				(this.$refs.log as any).request();
-			}
+      this.$nextTick(()=>{
+        if (this.$refs.billForm) {
+          this.billValue = (this.$refs.billForm as any).getValue();
+          this.drawer = true;
+        }
+        if (this.$refs.log) {
+          (this.$refs.log as any).request();
+        }
+      })
 		}
 
 		setConfigAfter() {

+ 33 - 22
src/components/byLog/byLog.vue

@@ -2,9 +2,9 @@
   <div class="log">
     <div class="log-main">
       <div class="log-row" v-for="(item,index) of data" :key="index">
-        <div class="log-time">{{item.createTime}}</div>
-        <div class="log-user">{{item.optUser}}</div>
-        <div class="log-act">{{item.optName}}</div>
+        <div class="log-time"><i class="el-icon-time"></i> {{item.createTime}}</div>
+        <div class="log-user"><i class="el-icon-user"></i> {{item.optUser}}</div>
+        <div class="log-act"><i class="el-icon-setting"></i> {{item.optName}}</div>
         <div class="log-desc" v-html="item.optDesc"></div>
       </div>
     </div>
@@ -98,7 +98,8 @@ export default class ByLog extends VueViews {
     padding: 16px 0;
     border-bottom: dotted 1px #CCC;
     .log-time{
-      width: 150px;
+      width: 170px;
+      color: #666;
     }
     .log-user{
       width: 120px;
@@ -106,12 +107,14 @@ export default class ByLog extends VueViews {
       overflow: hidden;
       white-space: nowrap;
       text-overflow: ellipsis;
+      color: #666;
     }
     .log-act{
       width: 130px;
       padding-right: 8px;
       overflow: hidden;
       white-space: nowrap;
+      color: #666;
       text-overflow: ellipsis;
     }
     .log-desc{
@@ -119,24 +122,9 @@ export default class ByLog extends VueViews {
       width: 100%;
       font-size: 12px;
       padding-top: 8px;
-      display: flex;
-      flex-wrap: wrap;
-      .mData{
-        font-style: italic;
-      }
-      .mCode{
-        font-size: 14px;
-        font-weight: 700;
-      }
-      .mNum,.mPrice{
-        font-size: 14px;
-        font-weight: 700;
-        color: #F00;
-      }
-      .mCont{
-        font-size: 14px;
-        font-weight: 700;
-      }
+      // display: flex;
+      // flex-wrap: wrap;
+      
     }
   }
   .log-main{
@@ -151,4 +139,27 @@ export default class ByLog extends VueViews {
     justify-content: center;
   }
 }
+
+</style>
+
+<style lang="scss">
+.log-desc{
+  .mData{
+    font-style: italic;
+  }
+  .mCode{
+    font-size: 14px;
+    font-weight: 700;
+  }
+  .mNum,.mPrice{
+    font-size: 14px;
+    font-weight: 700;
+    color: #F00;
+  }
+  .mCont{
+    font-size: 14px;
+    font-weight: 700;
+  }
+}
+
 </style>

+ 2 - 2
src/views/demo/bill.vue

@@ -150,7 +150,7 @@ export default class BillDemo extends Vue {
       },
       log:{
         request:{
-          url:'/supply/supplyPurchaseOrderOperateLog/page',
+          url:'/supply/supplyEntryOrderOperateLog/page',
           method:'GET'
         }
       },
@@ -346,7 +346,7 @@ export default class BillDemo extends Vue {
   mounted(){
     setTimeout(()=>{
       (this.$refs.bill as any).setBillFormValue({
-        id:'1000022023052000002'
+        id:'1000032023060100001'
       })
     },500)
     

+ 2 - 1
src/views/oms/order/components/orderTable.vue

@@ -216,7 +216,8 @@ export default class OrderTable extends Vue {
       if(row.id != item.id && item.isSubmitted == 1 && row.shopId == item.shopId && row.shopName == item.shopName && row.buyerId == item.buyerId && 
       row.receiverMobile == item.receiverMobile && row.receiverProvince == item.receiverProvince && row.receiverCity == item.receiverCity 
       && row.receiverDistrict == item.receiverDistrict && row.receiverTown == item.receiverTown && row.receiverAddress == item.receiverAddress 
-      && item.pays && item.pays.length > 0 && item.sourceFrom.indexOf('SPLIT') == -1 && item.sourceFrom.indexOf('MERGE') == -1){
+      && item.pays && item.pays.length > 0 && item.sourceFrom.indexOf('SPLIT') == -1 && item.sourceFrom.indexOf('MERGE') == -1 && (item.status == 'WaitConfirm'
+      || item.status == 'Question')){
         data.push(item);
       }
     }

+ 1 - 1
src/views/oms/order/components/orderTool.vue

@@ -32,7 +32,7 @@
       </el-dropdown-menu>
     </el-dropdown>
     <div class="split"></div>
-    <el-dropdown split-button type="text" class="dropdown">
+    <el-dropdown split-button type="text" class="dropdown" @command="handleCommand">
       修改
       <el-dropdown-menu slot="dropdown">
         <el-dropdown-item command="updateGift">添加赠品</el-dropdown-item>

+ 88 - 0
src/views/oms/order/components/updateRmkModal.vue

@@ -0,0 +1,88 @@
+<template>
+  <vxe-modal v-model="value" id="updateRmkModal" width="400" v-loading="load" @show="show" @hide="hide" height="260" show-footer title="改卖家备注">
+    <by-form :propConfig="config" ref="form">
+      <template v-slot:isAppend="{value}">
+        <el-switch
+          v-model="value.isAppend">
+        </el-switch>
+      </template>
+    </by-form>
+    <template #footer>
+      <div class="btn">
+        <el-button type="primary" size="small" @click="btn">确定</el-button>
+      </div>
+    </template>
+  </vxe-modal>
+</template>
+
+<script lang="ts">
+import { Component, Prop, Vue, Watch } from "vue-property-decorator";
+import { updateRemark } from '@/api/omsOrder'
+@Component({components:{}})
+export default class UpdateRmkModal extends Vue {
+  value=false;
+  load=false;
+  billValue:Array<any>=[];
+  config:any={
+    attr:{
+      rules:{
+        remark: [
+          { required: true, message: '请选择类型', trigger: 'input' }
+        ]
+      }
+    },
+    columns:[
+      [{
+        label:'卖家备注',
+        prop:'remark',
+        labelWidth:'80px',
+        component:'by-input',
+        compConfig:{
+          attr:{
+            type:'textarea'
+          }
+        }
+      }],
+      [{
+        label:'追加备注',
+        prop:'isAppend',
+        labelWidth:'80px',
+        slot:true
+      }]
+    ]
+  }
+  setShow(v:boolean){
+    this.value = v;
+  }
+  setBillValue(data:Array<any>){
+    this.billValue = data;
+  }
+  show(){}
+  hide(){
+    (this.$refs.form as any).clearValidate();
+    (this.$refs.form as any).clearValue();
+  }
+  btn(){
+    (this.$refs.form as any).validate().then(()=>{
+      let data = (this.$refs.form as any).getValue();
+      data.idList = this.billValue;
+      this.load = true
+      updateRemark(data).then(()=>{
+        this.load = false;
+        (this.$message({
+          message:'操作成功!',
+          type:'success'
+        }));
+        this.$emit('handleSuccess');
+        this.value = false;
+      }).catch(()=>{
+        this.load = false;
+      })
+    })
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 22 - 13
src/views/oms/order/index.vue

@@ -189,6 +189,8 @@
       <quest-model ref="questModel" @questHide="getQuestionList" />
       <!-- 转异常 -->
       <set-ques-modal ref="setQuesModal" @handleSuccess="handleSuccess" />
+      <!-- 改卖家备注 -->
+      <update-rmk-modal ref="updateRmkModal" @handleSuccess="handleSuccess" />
     </div>
   </div>
 </template>
@@ -211,10 +213,11 @@ import SplitModel from "./components/splitModal.vue"; //拆分
 import CancelOrderModel from "./components/cancelOrderModel.vue"; //取消订单
 import QuestModel from "./components/questModel.vue";
 import SetQuesModal from "./components/setQuesModal.vue";
-import { query,getProvince,smt,unSmt,purchaseQty,unCancel,setQuestions,resetQuestion } from '@/api/omsOrder'
+import UpdateRmkModal from "./components/updateRmkModal.vue";
+import { query,getProvince,smt,unSmt,purchaseQty,unCancel,resetQuestion } from '@/api/omsOrder'
 import { queryAll } from '@/api/question'
 @Component({components:{filterInput,OrderCheckbox,OrderRadio,filterDate,OrderTool,OrderTable,AddOrder,InputSelect,OrderProduct,
-  filterMinMax,loadOrderModal,PurchaseModel,MergeModel,SplitModel,CancelOrderModel,QuestModel,SetQuesModal}})
+  filterMinMax,loadOrderModal,PurchaseModel,MergeModel,SplitModel,CancelOrderModel,QuestModel,SetQuesModal,UpdateRmkModal}})
 export default class Order extends Vue {
   activeNames:Array<any>=['1','status']
   radio=''
@@ -487,17 +490,23 @@ export default class Order extends Vue {
     this.getQuestionList();
   }
   updateRmk(){
-    let data = (this.$refs.table as any).getSelectData();
+    let data = (this.$refs.orderTable as any).getSelectData();
     if(data.length == 0){
-      this.$message('请选择订单');
+      this.$message('请选择订单');
       return
     }
+    let billData:Array<any>=[]
+    for(const item of data){
+      billData.push(item.id);
+    }
+    (this.$refs.updateRmkModal as any).setBillValue(billData);
+    (this.$refs.updateRmkModal as any).setShow(true);
   }
   //转异常
   changeQues(){
     let data:Array<any>= (this.$refs.orderTable as any).getSelectData();
     if(data.length == 0){
-      this.$message('请选择订单!');
+      this.$message('请选择订单');
       return
     }
     let msg = '';
@@ -514,7 +523,7 @@ export default class Order extends Vue {
     }
     if(msg){
       this.$message({
-        message:'订单“'+msg + '”状态异常,不能执行此操作!'
+        message:'订单“'+msg + '”状态异常,不能执行此操作!'
       })
       return
     }
@@ -526,7 +535,7 @@ export default class Order extends Vue {
   changeNormal(){
     let data:Array<any>= (this.$refs.orderTable as any).getSelectData();
     if(data.length == 0){
-      this.$message('请选择订单!');
+      this.$message('请选择订单');
       return
     }
     let msg = '';
@@ -543,7 +552,7 @@ export default class Order extends Vue {
     }
     if(msg){
       this.$message({
-        message:'订单“'+msg + '”状态正常,不能执行此操作!'
+        message:'订单“'+msg + '”状态正常,不能执行此操作!'
       })
       return
     }
@@ -574,7 +583,7 @@ export default class Order extends Vue {
   producePurchase(){
     let data:Array<any>= (this.$refs.orderTable as any).getSelectData();
     if(data.length == 0){
-      this.$message('请选择订单!');
+      this.$message('请选择订单');
       return
     }
     let msg:string='';
@@ -664,7 +673,7 @@ export default class Order extends Vue {
   smtOrder(){
     let data:Array<any>= (this.$refs.orderTable as any).getSelectData();
     if(data.length == 0){
-      this.$message('请选择订单!');
+      this.$message('请选择订单');
       return
     }
     let ids:Array<any>=[];
@@ -714,7 +723,7 @@ export default class Order extends Vue {
   reSmt(){
     let data:Array<any>= (this.$refs.orderTable as any).getSelectData();
     if(data.length == 0){
-      this.$message('请选择订单!');
+      this.$message('请选择订单');
       return
     }
     let ids:Array<any>=[];
@@ -871,7 +880,7 @@ export default class Order extends Vue {
     let condi=['WaitPay','Delivering','Question','WaitOuterSent','WaitConfirm','WaitFConfirm'];
     let data:Array<any>= (this.$refs.orderTable as any).getSelectData();
     if(data.length == 0){
-      this.$message('请选择订单!');
+      this.$message('请选择订单');
       return
     }
     let ids:Array<any>=[];
@@ -900,7 +909,7 @@ export default class Order extends Vue {
   reCancelOrder(){
     let data:Array<any>= (this.$refs.orderTable as any).getSelectData();
     if(data.length == 0){
-      this.$message('请选择订单!');
+      this.$message('请选择订单');
       return
     }
     let ids:Array<any>=[];