shish 3 лет назад
Родитель
Сommit
9eb3b99394

+ 18 - 0
ghsApp/src/admin/home/components/OrderItem.vue

@@ -2,6 +2,8 @@
     <view  @click="pageTo({url:'/pagesOrder/detail',query: {id: item.id}})">
         <view class="order-top_box" style="position:relative;">
 
+        <text v-if="item.fhStatus == 1" style="position:absolute;top:110upx;right:27upx;color:#4d5f2e;">已发货</text>
+
         <image style="width:105upx;position:absolute;top:80upx;right:12upx;" v-if="item.status == 1"
         @click.stop="pageTo({url:'/admin/billing/toPay',query: {orderId:item.id,orderSn:item.orderSn,actPrice:item.actPrice}})"
          mode="widthFix" :src="`${constant.imgUrl}/icon/codePay8.png`"></image>
@@ -14,6 +16,7 @@
           <text class="other-book" v-if="item.book == 1" >预订单</text>
           <text class="other-presell" v-if="item.presell == 1" >预售单</text>
           <view :class="['status',item.status == '4' ? 'buleColor' : item.status == '1' ? 'defColor' : '']">{{ statusFormat(item.status) }}</view>
+
         </view>
         <view class="order-list_info">
         <view class="order-info_box">
@@ -45,6 +48,15 @@
         </view>
         <div class="list-bottom">
             <div class="list-button">
+
+<block v-if="item.status != 1 && item.status != 5 &&item.fhStatus == 0">
+<view><button @click.stop="directFh(item)" class="admin-button-com bule">直接发货</button> </view>
+<view><button @click.stop="fillNoFh(item)" class="admin-button-com bule">填单发货</button> </view>
+</block>
+<block v-else>
+<view><button disabled="true" class="admin-button-com bule active">直接发货</button> </view>
+<view><button disabled="true" class="admin-button-com bule active">填单发货</button> </view>
+</block>
                 <view v-if="item.status == 1 || item.status == 5"><button disabled="true" class="admin-button-com bule active">打印(${item.printNum})</button> </view>
                 <view v-else><button @click.stop="printOrder(item)" class="admin-button-com bule">打印<text v-if="Number(item.printNum)>0">({{item.printNum}})</text></button> </view>
             </div>
@@ -71,6 +83,12 @@ export default {
 		};
 	},
 	methods: {
+    directFh(info){
+			this.$emit('directFh', info)
+    },
+    fillNoFh(info){
+			this.$emit('fillNoFh', info)
+    },
 		printOrder(item) {
 			this.$emit('printOrder', item)
 		},

+ 73 - 2
ghsApp/src/admin/home/order.vue

@@ -20,7 +20,7 @@
       <block v-if="!$util.isEmpty(list.data)">
         <div class="list" v-for="(item, index) in list.data" :key="index">
 
-          <OrderItem :item="item" :isScanEnv="isScanEnv" @printOrder="printOrder"></OrderItem>
+          <OrderItem :item="item" :isScanEnv="isScanEnv" @printOrder="printOrder" @directFh="directFh" @fillNoFh="fillNoFh"></OrderItem>
 
         </div>
       </block>
@@ -29,6 +29,25 @@
       </block>
     </div>
 
+		<modal-module :show="fhLabelShow" @click="fhConfirm" :maskClosable="true" title="物流信息" padding="30rpx 30rpx" >
+      <template v-slot:content>
+        <div class="app-modal-input-wrap">
+          <div class="inp-list-line">
+            <div class="line-label">物流名称</div>
+            <div class="line-input">
+            <input type="number" ref="input" v-model="fhWl" :adjust-position="false" class="inp-input" />
+            </div>
+          </div>
+          <div class="inp-list-line">
+            <div class="line-label">物流单号</div>
+            <div class="line-input">
+            <input type="number" ref="input"  v-model="fhWlNo" :focus="fhWlFocus" :adjust-position="false" class="inp-input" />
+            </div>
+          </div>
+        </div>
+      </template>
+		</modal-module>
+
     <NotLogin></NotLogin>
 
   </view>
@@ -40,7 +59,7 @@ import AppWrapperEmpty from "@/components/app-wrapper-empty";
 import ModalModule from "@/components/plugin/modal";
 import { list } from "@/mixins";
 import { mapGetters } from "vuex";
-import { getListB,cloudPrintOrder} from "@/api/order";
+import { getListB,cloudPrintOrder,orderFh} from "@/api/order";
 import AppSearchModule from "@/components/module/app-search";
 import DropShopSelect from "@/components/module/shopSelect";
 import OrderItem from "./components/OrderItem";
@@ -61,6 +80,11 @@ export default {
   computed: { ...mapGetters(["getLoginInfo", "getDictionariesInfo"]) },
   data() {
     return {
+      fhWlInfo:[],
+      fhWlNo:'',
+      fhWl:'顺丰',
+      fhWlFocus:false,
+      fhLabelShow:false,
       isScanEnv:false,
     	orderId:'',
       seekVal: "",
@@ -144,6 +168,53 @@ export default {
     this.init()
   },
   methods: {
+    directFh(info){
+      let that = this
+      that.$util.confirmModal({content:'确认发货?'},() => {
+          orderFh({id:info.id,fhType:0}).then(res=>{
+            if(res.code == 1){
+              that.$msg('发货成功')
+            }
+          })
+      })
+    },
+    fillNoFh(info){
+      let that = this
+      this.fhLabelShow = true
+      this.fhWlInfo = info
+			setTimeout(x => {
+				this.$nextTick(() => {
+          that.fhWlFocus = true
+        })
+			}, 200)
+    },
+    fhConfirm(val){
+      let that = this
+			if (val.index == 0) {
+				that.fhLabelShow = false
+				that.fhWlFocus = false
+        that.fhWlNo = ''
+				return
+			}
+      if (this.$util.isEmpty(this.fhWl)){
+        that.$msg('请填写物流名称')
+        return false
+      }
+      if (this.$util.isEmpty(this.fhWlNo)){
+        that.$msg('请填写物流单号')
+        return false
+      }
+      let id = that.fhWlInfo.id ? that.fhWlInfo.id : 0
+      that.$util.confirmModal({content:'确认发货?'},() => {
+          orderFh({id:id,fhType:1,fhWl:that.fhWl,fhWlNo:that.fhWlNo}).then(res=>{
+            if(res.code == 1){
+              that.fhLabelShow = false
+              that.fhWlFocus = false
+              that.$msg('发货成功')
+            }
+          })
+      })
+    },
     init(){
       this.getOrderList()
     },

+ 5 - 0
ghsApp/src/api/order/index.js

@@ -1,5 +1,10 @@
 import https from "@/plugins/luch-request_0.0.7/request";
 
+//订单发货
+export const orderFh = data => {
+	return https.post("/order/fh", data);
+};
+
 export const changeWorker = data => {
 	return https.post("/order/change-worker", data);
 };

+ 27 - 0
ghsApp/src/pagesOrder/detail.vue

@@ -16,6 +16,24 @@
 				<i @click.stop="navigateTo(detailInfo.lat,detailInfo.long,detailInfo.customName)" class="iconfont icondianhua" style="font-size:53upx;margin-left:40upx;margin-right:25upx;color:#3385ff;"></i>
 				</view>
 			</view>
+
+			<view class="flex-space title" v-if="detailInfo.fhStatus == 1">
+				发货信息
+			</view>
+			<view class="bills-info_box content-box" v-if="detailInfo.fhStatus == 1">
+				<view class="order-info_box">
+					<view>发货状态:</view>
+					<view style="color:green;font-weight:bold;font-size:30upx;">已发货</view>
+				</view>
+				<view class="order-info_box" v-if="detailInfo.fhType == 1">
+					<view>物流信息:</view>
+					<view>{{ detailInfo.fhWl }} {{detailInfo.fhWlNo}}</view>
+					<view class="price">
+						<button @click="copyWl(detailInfo.fhWlNo)" class="admin-button-com default">复制单号</button>
+					</view>
+				</view>
+			</view>
+
 			<view class="flex-space title">
 				单据信息
 				<view class="flex" style="color: #3385ff;font-weight: 400">
@@ -651,6 +669,15 @@ export default {
 				self.init();
 			})
 		},
+		copyWl(val){
+			const self = this;
+			uni.setClipboardData({
+				data: val,
+				success: function() {
+					self.$msg("复制成功");
+				}
+			});
+		},
 		copy(val) {
 			const self = this;
 			uni.setClipboardData({