Kaynağa Gözat

Merge branch 'zhongqi-ghsCallExpress'

shish 10 ay önce
ebeveyn
işleme
1fc3f0d17c

+ 53 - 47
ghsApp/src/admin/home/components/OrderItem.vue

@@ -146,19 +146,19 @@
 
     <uni-popup ref="morePopup" background-color="#fff" type="center" :animation="true" class="class-popup-style">
       <view class="more-popup-body">
-        <view class="text-center"><button class="admin-button-com" @click="addExpress(item)">顺丰下单</button></view>
-        <view class="text-center"><button class="admin-button-com" @click="cancelExpress(item)">取消顺丰订单</button></view>
-        <view class="text-center"><button class="admin-button-com" @click="fillNoFh(item)">填单发货</button></view>
-        <view class="text-center"><button class="admin-button-com" @click="sim(item)">模拟</button></view>
         <block v-if="item.sendStatus == -1">
-          <view class="text-center"><button class="admin-button-com" @click="callExpress(item)">呼叫跑腿</button></view>
+          <view class="text-center"><button class="admin-button-com" @click="callIntraCity(item)">呼叫跑腿</button></view>
         </block>
         <block v-else-if="item.sendStatus == 0 || item.sendStatus == 1 || item.sendStatus == 4 || item.sendStatus == 5">
           <view class="text-center"><button class="admin-button-com" @click="cancelExpressOrder(item)">取消跑腿</button></view>
         </block>
         <block v-else-if="item.sendStatus == 3">
-          <view class="text-center"><button class="admin-button-com" @click="callExpress(item)">重叫跑腿</button></view>
+          <view class="text-center"><button class="admin-button-com" @click="callIntraCity(item)">重叫跑腿</button></view>
         </block>
+        <view class="text-center"><button class="admin-button-com" @click="addExpress(item)">顺丰下单</button></view>
+        <view class="text-center"><button class="admin-button-com" @click="cancelExpress(item)">取消顺丰订单</button></view>
+        <view class="text-center"><button class="admin-button-com" @click="fillNoFh(item)">填单发货</button></view>
+        <!-- <view class="text-center"><button class="admin-button-com" @click="sim(item)">模拟</button></view> -->
         <view class="text-center"><button class="admin-button-com default" @click="closeMore">取消</button></view>
       </view>
     </uni-popup>
@@ -216,16 +216,8 @@
     <!-- 跑腿弹窗 -->
     <uni-popup ref="callExpressRef" background-color="#fff" type="center" :animation="true" class="class-popup-style" :mask-click="false">
       <view class="call-express-popup-body">
-        <view class="popup-title">发货信息</view>
+        <view class="popup-title">呼叫跑腿信息</view>
         <view class="form-vertical">
-          <view class="form-row">
-            <view class="form-label">包裹数量:</view>
-            <input class="input-control" type="number" v-model="callExpressData.packageNum" placeholder="请输入包裹数量" />
-          </view>
-          <view class="form-row">
-            <view class="form-label">重量(kg):</view>
-            <input class="input-control" type="digit" v-model="callExpressData.weight" placeholder="请输入重量" />
-          </view>
           <view class="form-row">
             <view class="form-label">姓名:</view>
             <view class="form-value">{{ callExpressData.user_name }}</view>
@@ -240,13 +232,25 @@
           </view>
           <view class="form-row">
             <view class="form-label">地址:</view>
-            <view class="form-value">{{ callExpressData.fullAddress }}{{ callExpressData.floor }}</view>
+            <view class="form-value">{{ callExpressData.address }}</view>
+          </view>
+          <view class="form-row">
+            <view class="form-label">包裹数:</view>
+            <input class="input-control" type="number" v-model="callExpressData.packageNum" @focus="callExpressData.packageNum=''" placeholder="包裹数量" />
+          </view>
+          <view class="form-row">
+            <view class="form-label">重量:</view>
+            <input class="input-control" type="digit" v-model="callExpressData.weight" @focus="callExpressData.weight=''" placeholder="公斤" />
+          </view>
+          <view class="form-row">
+            <view class="form-label">运费:</view>
+            <view class="form-value" style="color:#3385FF;font-weight:bold;">{{ callExpressData.sendCost?parseFloat(callExpressData.sendCost):0 }}</view>
           </view>
         </view>
         <view class="popup-actions">
           <button class="admin-button-com default" @click="closeCallExpressPop">取消</button>
-          <button class="admin-button-com bule" @click="modifyAddress(item)">修改地址</button>
-          <button class="admin-button-com bule" @click="confirmCallExpress(item)">提交</button>
+          <button class="admin-button-com bule" @click="selectFee(item)">查运费</button>
+          <button class="admin-button-com bule" @click="confirmMyExpress(item)">提交</button>
         </view>
       </view>
     </uni-popup>
@@ -255,7 +259,7 @@
 <script>
 import { getUserDet } from '@/api/member';
 import { createExpressOrder, cancelExpressOrder as cancelSFExpressOrder } from '@/api/express';
-import { createCallExpressOrder as apiCreateCallExpressOrder, cancelExpressOrder as apiCancelCallExpressOrder } from '@/api/shop/shop-express.js';
+import { createCallExpressOrder, cancelCallExpressOrder,getOrderFee } from '@/api/shop/shop-express';
 export default {
   name: 'OrderItem',
   components: {},
@@ -281,7 +285,7 @@ export default {
       receiverFloor: '',
       receiverName: '',
       receiverMobile: '',
-      callExpressData: {}
+      callExpressData: {sendCost:0,packageNum:1,weight:0}
     };
   },
   mounted() {
@@ -291,10 +295,8 @@ export default {
   },
   methods: {
     modifyAddress(item) {
-      this.closeExpressPop();
-      this.$util.pageTo({
-        url: '/pagesClient/member/modify?id=' + item.customId + '&name=' + item.customName
-      });
+      this.closeExpressPop()
+      this.$util.pageTo({url: '/pagesClient/member/modify?id=' + item.customId + '&name=' + item.customName,type:2})
     },
     shareOrder(info) {
       this.$emit('shareOrder', info);
@@ -331,20 +333,19 @@ export default {
     sim(item) {
       //testUpdate({id:item.id}).then(res=>{ })
     },
-    callExpress(item) {
+    callIntraCity(item) {
       this.closeMore();
       this.callExpressData = {
         orderId: item.id,
         orderSn: item.orderSn,
         weight: Number(item.weight),
-        packageNum: item.smallNum > 0 ? item.bigNum / item.smallNum : item.bigNum,
+        packageNum: 1,
         user_name: item.customName,
         user_phone: item.customMobile,
         user_lng: item.long,
         user_lat: item.lat,
         note: item.remark,
-        fullAddress: item.fullAddress,
-        floor: item.floor
+        address: item.address
       };
       this.$refs.callExpressRef.open('center');
     },
@@ -374,7 +375,7 @@ export default {
     // 跑腿取消
     cancelExpressOrder(item) {
       this.$util.confirmModal({ content: '确认取消跑腿?' }, () => {
-        apiCancelCallExpressOrder({ orderId: item.id }).then((res) => {
+        cancelCallExpressOrder({ orderId: item.id }).then((res) => {
           if (res.code == 1) {
             // item.sendStatus = 3;
             // this.$emit('listendUpdateField', { id: item.id, key: 'sendStatus', value: 3 });
@@ -388,28 +389,33 @@ export default {
     closeCallExpressPop() {
       this.$refs.callExpressRef.close();
     },
-    confirmCallExpress(item) {
-      console.log(item);
+    selectFee(item){
+      getOrderFee({id:item.id,packageNum:this.callExpressData.packageNum,weight:this.callExpressData.weight}).then(res=>{
+        if(res.code == 1){
+          if(res.data.est_fee){
+            let fee = res.data.est_fee
+            fee = Number(res.data.est_fee)/100
+            fee = Number(fee).toFixed(2)
+            fee = parseFloat(fee)
+            this.callExpressData.sendCost = fee
+            this.$forceUpdate()
+          }
+          this.$msg('查询成功')
+        }
+      })
+    },
+    confirmMyExpress(item) {
       this.$util.confirmModal({ content: '确认提交?' }, () => {
         const data = {
           orderId: item.id,
-          weight: Number(item.weight),
-          packageNum: item.smallNum > 0 ? item.bigNum / item.smallNum : item.bigNum,
-          user_name: item.customName,
-          user_phone: item.customMobile,
-          user_address: item.fullAddress + item.floor,
-          user_lng: item.long,
-          user_lat: item.lat,
-          note: item.remark
-        };
-        //处理表单数据
-        apiCreateCallExpressOrder(data).then((res) => {
+          weight: this.callExpressData.weight,
+          packageNum: this.callExpressData.packageNum
+        }
+        createCallExpressOrder(data).then((res) => {
           if (res.code == 1) {
-            // item.sendStatus = 0;
-            // this.$emit('listendUpdateField', { id: item.id, key: 'sendStatus', value: 0 });
-            this.updateFiled({ id: item.id, key: 'sendStatus', value: 0 });
-            this.$msg(res.msg);
-            this.closeCallExpressPop();
+            this.updateFiled({ id: item.id, key: 'sendStatus', value: 0 })
+            this.$msg(res.msg)
+            this.closeCallExpressPop()
           }
         });
       });

+ 369 - 0
ghsApp/src/admin/order/callExpress.vue

@@ -0,0 +1,369 @@
+<template>
+  <view class="app-main app-content">
+    <view class="express-form-container">
+      <!-- 订单信息显示 -->
+      <view class="order-info-section">
+        <view class="section-title">
+          订单信息
+        </view>
+        <view class="info-item">
+          <text class="label">订单编号:</text>
+          <text class="value">{{ orderInfo.orderSn }}</text>
+        </view>
+        <view class="info-item">
+          <text class="label">收货姓名:</text>
+          <text class="value">{{ orderInfo.customName }}</text>
+        </view>
+        <view class="info-item">
+          <text class="label">手机号码:</text>
+          <text class="value">{{ orderInfo.customMobile }}</text>
+        </view>
+        <view class="info-item">
+          <text class="label">详细地址:</text>
+          <view class="value-container">
+            <text class="value">{{orderInfo.address}}{{orderInfo.floor}}</text>
+            <view v-if="orderInfo.fullAddress!=orderInfo.showAddress && orderInfo.showAddress!=''" class="secondary-address">
+              <text style="color:#a7a0a0;">{{ orderInfo.showAddress }}</text>
+            </view>
+          </view>
+        </view>
+      </view>
+
+      <!-- 包裹信息 -->
+      <view class="form-section">
+        <view class="section-title">商品信息</view>
+        <view class="form-item">
+          <text class="item-label">包裹数量</text>
+          <view class="item-value">
+            <input class="item-input" type="number" v-model="expressForm.packageNum" placeholder="请输入包裹数量" />
+          </view>
+        </view>
+        <view class="form-item required">
+          <text class="item-label">商品重量</text>
+          <view class="item-value">
+            <input class="item-input" type="digit" v-model="expressForm.weight" placeholder="公斤" @focus="expressForm.weight=''" />
+          </view>
+        </view>
+        <view class="form-item">
+          <text class="item-label">配送费用</text>
+          <view class="item-value">
+            <text class="fee-text">¥{{ deliveryFee }}</text>
+          </view>
+        </view>
+      </view>
+
+      <!-- 操作按钮 -->
+      <view class="button-section" style="display: flex; justify-content: center; gap: 50rpx;">
+        <button class="admin-button-com blue big" @click="queryDeliveryFee">
+          查运费
+        </button>
+        <button class="admin-button-com blue big" style="padding: 0 30rpx; display: flex; align-items: center; justify-content: center;" @click="submitExpress">提交</button>
+      </view>
+    </view>
+  </view>
+</template>
+<script>
+import { getOrderFee,createCallExpressOrder } from '@/api/shop/shop-express';
+import { getDetail } from '@/api/order'
+export default {
+  name: 'callExpress',
+  data() {
+    return {
+      orderId: '',
+      orderInfo: null,
+      // 配送表单数据
+      expressForm: {
+        packageNum: 1,
+        weight:'',
+      },
+      cargo: {
+        name: '',
+        price: 0,
+        type: 0,
+        num: 0,
+      },
+      // 配送费用
+      deliveryFee: 0,
+      refreshPage:0
+    }
+  },
+  onLoad() {
+    
+  },
+  onShow() {
+  },
+  methods: {
+    init(){
+      this.orderId = this.option.orderId?this.option.orderId:0
+      this.getOrderDetail()
+    },
+    /**
+     * 获取订单详情
+     */
+    async getOrderDetail() {
+        const res = await getDetail({ id: this.orderId })
+        if (res.code === 1) {
+          this.orderInfo = res.data
+          this.expressForm.weight = res.data.weight?parseFloat(res.data.weight):0
+        }
+    },
+    /**
+     * 查询配送运费
+     */
+    async queryDeliveryFee() {
+      // 验证必填字段
+      if (!this.expressForm.weight || Number(this.expressForm.weight) <= 0) {
+        this.$msg('请输入重量')
+        return
+      }
+      const data = {
+        id: this.orderId,
+        weight: Number(this.expressForm.weight),
+        packageNum: this.expressForm.packageNum,
+      }
+      const res = await getOrderFee(data)
+      if (res.code === 1) {
+        const deliveryFee = res.data.est_fee || '0'
+        this.deliveryFee = deliveryFee/100
+        this.deliveryFee = Number(this.deliveryFee).toFixed(2)
+        this.deliveryFee = parseFloat(this.deliveryFee)
+        this.$msg('查询成功')
+      }
+    },
+    /**
+     * 提交配送订单
+     */
+    async submitExpress() {
+      if (!this.expressForm.weight || Number(this.expressForm.weight) <= 0) {
+        this.$msg('请输入重量')
+        return
+      }
+      this.$util.confirmModal({content: '确认呼叫?'}, async () => {
+          const data = {
+            orderId: this.orderId,
+            weight: Number(this.expressForm.weight),
+            packageNum: this.expressForm.packageNum
+          }
+          const res = await createCallExpressOrder(data)
+          if (res.code === 1) {
+            this.$msg('提交成功')
+            setTimeout(() => {
+              uni.navigateBack()
+            }, 1500)
+          }
+      })
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.app-content {
+  padding: 20upx;
+  background-color: #f5f5f5;
+  min-height: 100vh;
+}
+
+.express-form-container {
+  max-width: 750upx;
+  margin: 0 auto;
+}
+
+.order-info-section {
+  background: white;
+  border-radius: 12upx;
+  padding: 30upx;
+  margin-bottom: 20upx;
+
+  .info-item {
+    display: flex;
+    align-items: center;
+    margin-bottom: 20upx;
+    
+    &:last-child {
+      margin-bottom: 0;
+    }
+
+    .label {
+      width: 150upx;
+      color: #666;
+      font-size: 28upx;
+    }
+
+    .value-container {
+      flex: 1;
+    }
+    .value {
+      color: black;
+      font-size: 28upx;
+    }
+    .secondary-address {
+      margin-top: 10upx;
+      font-size: 28upx;
+    }
+  }
+}
+
+.form-section {
+  background: white;
+  border-radius: 12upx;
+  padding: 30upx;
+  margin-bottom: 20upx;
+}
+
+.section-title {
+  font-size: 32upx;
+  font-weight: bold;
+  color: #333;
+  margin-bottom: 30upx;
+  padding-bottom: 20upx;
+  border-bottom: 2upx solid #eee;
+}
+
+.section-header {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  margin-bottom: 30upx;
+  padding-bottom: 20upx;
+  border-bottom: 2upx solid #eee;
+
+  .title {
+    font-size: 32upx;
+    font-weight: bold;
+    color: #333;
+  }
+}
+
+.form-item {
+  display: flex;
+  align-items: flex-start;
+  margin-bottom: 20upx;
+  
+  &:last-child {
+    margin-bottom: 0;
+  }
+
+  &.required .item-label::after {
+    content: '*';
+    color: #ff4d4f;
+    margin-left: 4upx;
+  }
+
+  .item-label {
+    width: 140upx;
+    color: #333;
+    font-size: 28upx;
+    padding-top: 16upx;
+    flex-shrink: 0;
+  }
+
+  .item-value {
+    flex: 1;
+    display: flex;
+    align-items: center;
+    min-height: 80upx;
+
+    .fee-text {
+      color: #ff2842;
+      font-weight: bold;
+      font-size: 36upx;
+      line-height: 80upx;
+    }
+  }
+
+  .item-input {
+    width: 100%;
+    height: 80upx;
+    line-height: 80upx;
+    border: 2upx solid #eee;
+    border-radius: 8upx;
+    padding: 0 20upx;
+    font-size: 28upx;
+    background: #fff;
+
+    &:focus {
+      border-color: #007aff;
+    }
+  }
+
+  .item-textarea {
+    flex: 1;
+    max-height: 150upx;
+    min-height: 80upx;
+    border: 2upx solid #eee;
+    border-radius: 8upx;
+    padding: 20upx;
+    font-size: 28upx;
+    background: #fff;
+
+    &.large {
+      min-height: 160upx;
+    }
+
+    &:focus {
+      border-color: #007aff;
+    }
+  }
+}
+
+.fee-display {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  padding: 30upx;
+  background: #f0f9ff;
+  border-radius: 12upx;
+  border: 1upx solid #09C567;
+
+  .fee-label {
+    font-size: 32upx;
+    color: #333;
+    font-weight: bold;
+  }
+
+  .fee-amount {
+    font-size: 36upx;
+    color: #ff4d4f;
+    font-weight: bold;
+    margin-left: 20upx;
+  }
+}
+
+.button-section {
+  margin-top: 40upx;
+  display: flex;
+  gap: 20upx;
+}
+
+.express-button {
+  flex: 1;
+  height: 88upx;
+  line-height: 88upx;
+  border-radius: 12upx;
+  font-size: 32upx;
+  font-weight: bold;
+  border: none;
+  
+  &.query-button {
+    background: #f0f9ff;
+    color: #09C567;
+    border: 2upx solid #09C567;
+
+    &:disabled {
+      background: #f5f5f5;
+      color: #ccc;
+      border-color: #ddd;
+    }
+  }
+
+  &.submit-button {
+    background: #09C567;
+    color: white;
+
+    &:disabled {
+      background: #ccc;
+    }
+  }
+}
+</style>

+ 1 - 1
ghsApp/src/admin/shop/expressSet.vue

@@ -186,7 +186,7 @@
 
 <script>
 import TuiListCell from "@/components/plugin/list-cell";
-import { createStore, updateStore, getStore, getStoreBalance, rechargeStore } from "@/api/shop/shop-express.js";
+import { createStore, updateStore, getStore, getStoreBalance, rechargeStore } from "@/api/shop/shop-express";
 export default {
   name: "expressSet",
   components: {

+ 4 - 0
ghsApp/src/api/express/index.js

@@ -19,4 +19,8 @@ export const getCgExpressTrack = data => {
 // 获取字典中的 hasMap
 export const getHasMap = data => {
 	return https.get('/express/get-has-map', data)
+}
+
+export const expressDetail = data => {
+    return https.get('/express/detail', data)
 }

+ 11 - 1
ghsApp/src/api/shop/shop-express.js

@@ -32,6 +32,11 @@ export const getStoreFee = data => {
 	return https.post('/intra-city/store-fee', data)
 }
 
+//根据订单查询运费
+export const getOrderFee = data => {
+	return https.post('/intra-city/get-order-fee', data)
+}
+
 /**
  * 创建跑腿订单
  */
@@ -42,7 +47,7 @@ export const createCallExpressOrder = data => {
 /**
  * 取消跑腿订单
  */
-export const cancelExpressOrder = data => {
+export const cancelCallExpressOrder = data => {
 	return https.post('/intra-city/cancel-order', data)
 }
 
@@ -51,4 +56,9 @@ export const cancelExpressOrder = data => {
  */
 export const getExpressOrder = data => {
 	return https.post('/intra-city/get-order', data)
+}
+
+//模拟
+export const mockNotify = data => {
+	return https.post('/intra-city/mock-notify', data)
 }

+ 2 - 1
ghsApp/src/pages.json

@@ -484,7 +484,8 @@
 				{"path": "bookSet","style": {"navigationBarTitleText": "预订开关"}},
 				{"path": "statBook","style": {"navigationBarTitleText": "预订汇总","enablePullDownRefresh": true}},
 				{"path": "statKhBook","style": {"navigationBarTitleText": "详情"}},
-				{"path": "freight","style": {"navigationBarTitleText": "运费设置"}}
+				{"path": "freight","style": {"navigationBarTitleText": "运费设置"}},
+				{"path": "callExpress","style": {"navigationBarTitleText": "呼叫跑腿"}}
 			]
 		},
 		{

+ 294 - 26
ghsApp/src/pagesOrder/detail.vue

@@ -1,24 +1,40 @@
 <template>
 	<view class="app-content">
-
 		<view v-if="!$util.isEmpty(detailInfo)" class="info-content_box">
-			<view class="flex-space title" style="position: relative;">
+			<view class="flex-space title">
 				客户
-				<button class="admin-button-com bule" @click.stop="copyCustom(detailInfo)" 
-				style="width:170upx;height:70upx;line-height:50upx;position: absolute;right:4upx;">复制地址</button>
 			</view>
 			<view class="address-des_bx content-box">
 				<view @click.stop="goCustom(detailInfo)">
 					<view style="overflow:hidden;text-overflow:ellipsis;white-space: nowrap;width:450upx;"> {{ detailInfo.customName }} {{ detailInfo.customMobile }}</view>
 					<view style="margin-bottom:20upx;color:#333333">店长 {{ detailInfo.customSuper.name||''}}</view>
-					<view>
-						{{ detailInfo.customAddress}}
-						<block v-if="!$util.isEmpty(detailInfo.showAddress) && detailInfo.showAddress != detailInfo.customAddress">({{detailInfo.showAddress}})</block>
+					<view style="margin-bottom:15upx;color:black;">{{ detailInfo.customAddress}}</view>
+					<view v-if="!$util.isEmpty(detailInfo.showAddress) && detailInfo.showAddress != detailInfo.customAddress" style="color:#656363;">{{detailInfo.showAddress}}</view>
+				</view>
+				<view class="right-btns">
+					<view class="icon-btns">
+						<i @click.stop="callUp(detailInfo.customMobile)" class="iconfont icondianhua1"></i>
+						<i @click.stop="navigateTo(detailInfo.lat,detailInfo.long,detailInfo.customName)" class="iconfont icondianhua"></i>
 					</view>
+					<button class="admin-button-com bule middle copy-address" @click.stop="copyCustom(detailInfo)">复制地址</button>
 				</view>
-				<view>
-					<i @click.stop="callUp(detailInfo.customMobile)" class="iconfont icondianhua1"></i>
-					<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 class="flex-space title" v-if="Number(detailInfo.sendStatus)>-1">配送进度</view>
+			<view class="content-box" v-if="Number(detailInfo.sendStatus)>-1">
+				<view class="order-msg-blo" style="padding: 20upx;">
+					<view class="msg-list">
+						<view class="label"><text @click="showMySimPop">配</text>送平台:</view>
+						<view class="value">{{getExpressPlatformText(detailInfo.deliveryId)}}</view>
+					</view>
+					<view class="msg-list express-progress-row">
+						<view class="label">配送进度:</view>
+						<view class="value" :style="detailInfo.sendStatus == '3' ? 'color:#ff2842;font-weight:bold;' : detailInfo.sendStatus == '2' ? 'color:#07c160;font-weight:bold;' : ''">{{getProgressText(detailInfo.sendStatus)}}</view>
+						<view class="express-actions">
+							<button class="admin-button-com mini-btn btn-danger" v-if="detailInfo.sendStatus == '0' || detailInfo.sendStatus == '1'" @click.stop="cancelMyExpress(detailInfo.id)">取消跑腿</button>
+							<button class="admin-button-com mini-btn" v-if="detailInfo.sendStatus == '3'" @click.stop="openExpressPage()">重叫跑腿</button>
+						</view>
+					</view>
 				</view>
 			</view>
 
@@ -398,6 +414,8 @@
 			<button class="admin-button-com middle blue" @click="shareOrder()">分享</button>
 			<!-- #endif -->
 
+			<button class="admin-button-com middle blue" v-if="detailInfo.sendStatus == '-1' && detailInfo.payStatus == 1" @click.stop="openExpressPage()">呼叫跑腿</button>
+
 			<button class="admin-button-com middle blue" style="background-color: green;border-color: green;" v-if="detailInfo.status != 1 && detailInfo.status != 5" @click="printOrder(detailInfo)">打印(无价格)</button>
 
 			<template v-for="s in detailInfo.buttonList">
@@ -474,6 +492,30 @@
 
 		<mx-date-picker :show="showPicker" format="yyyy-mm-dd" type="date" :value="defaultPickerDate" :show-tips="true" @confirm="confirmPicker" @cancel="showPicker = false" />
 
+		<!-- 模拟接口使用 -->
+		<view class="goods-modal-mask" v-if="simModal" @click="hideMnPop">
+		<view class="goods-modal" @click.stop>
+			<view class="modal-header">
+			<text class="modal-title">请选择</text>
+			<text class="modal-close" @click="hideMnPop">×</text>
+			</view>
+			<view class="modal-body">
+			<button class="admin-button-com middle" @click="setMnNum(10000)">订单创建成功,等待接单</button>
+			<button class="admin-button-com middle" @click="setMnNum(20000)">商家取消订单</button>
+			<button class="admin-button-com middle" @click="setMnNum(20001)">配送方取消订单</button>
+			<button class="admin-button-com middle" @click="setMnNum(30000)">配送员接单</button>
+			<button class="admin-button-com middle" @click="setMnNum(40000)">配送员到店</button>
+			<button class="admin-button-com middle" @click="setMnNum(50000)">配送中</button>
+			<button class="admin-button-com middle" @click="setMnNum(60000)">配送员撤单</button>
+			<button class="admin-button-com middle" @click="setMnNum(70000)">配送完成</button>
+			<button class="admin-button-com middle" @click="setMnNum(90000)">配送异常</button>
+			</view>
+			<view class="modal-footer">
+			<button class="modal-btn cancel-btn" @click="hideMnPop">取消</button>
+			</view>
+		</view>
+		</view>
+
 	</view>
 </template>
 <script>
@@ -494,7 +536,8 @@ import { delItem,updateRemarkItemFn } from "@/api/order-item";
 import { getAllStaff } from "@/api/shop-admin"
 import ModalModule from "@/components/plugin/modal"
 import MxDatePicker from '@/components/mx-datepicker/mx-datepicker.vue';
-import { getCgExpressTrack } from "@/api/express"
+import { getCgExpressTrack,expressDetail } from "@/api/express"
+import { cancelCallExpressOrder,mockNotify } from '@/api/shop/shop-express'
 export default {
 	name: "orderDetail",
 	components: {
@@ -536,7 +579,9 @@ export default {
 			payDate:'',
 			currentItem:[],
 			staffListData:[],
-			trackList:[]
+			trackList:[],
+			simModal: false,
+			simNum:0
 		};
 	},
 	onPullDownRefresh() {
@@ -580,6 +625,60 @@ export default {
 		}
 	},
 	methods: {
+		showMySimPop() {
+			this.simModal = true
+		},
+		setMnNum(num){
+			this.hideMnPop()
+			this.simNum = num
+			this.confirmSimData()
+		},
+		hideMnPop() {
+			this.simModal = false
+		},
+		confirmSimData() {
+			let that = this
+			this.hideMnPop()
+			expressDetail({ orderId: this.option.id }).then(res => {
+				mockNotify({orderStatus:this.simNum,wxOrderId:res.data.wxOrderId}).then(ret=>{
+					that.init()
+				})
+			})
+		},
+		//取消跑腿
+		cancelMyExpress(orderId) {
+			this.$util.confirmModal({content: '确认取消?(若配送员接单1分钟后取消,扣2元违约金)'}, async () => {
+				const res = await cancelCallExpressOrder({orderId: orderId})
+				if (res.code === 1) {
+					this.$msg('取消成功')
+					this.init()
+				}
+			})
+		},
+		//呼叫跑腿
+		openExpressPage() {
+			this.$util.pageTo({url: '/admin/order/callExpress?orderId='+this.detailInfo.id})
+		},
+		//获取配送平台
+		getExpressPlatformText(platform) {
+			const platformMap = {
+				'DADA': '达达',
+				'SFTC': '顺丰',
+			}
+			return platformMap[platform] || platform
+		},
+		//转换配送状态为中文显示
+		getProgressText(status) {
+			const statusMap = {
+				0: '已叫跑腿,等跑腿接单',
+				1: '跑腿已接单',
+				2:'已送达',
+				3:'已取消',
+				4:'跑腿已到店',
+				5:'跑腿配送中'
+			}
+			return statusMap[status] || status
+		},
 		cancelChange(){
 			this.$refs.staffRef.close()
 		},
@@ -1189,19 +1288,19 @@ export default {
 
 				let that = this
 				if (!this.$util.isEmpty(this.detailInfo.fhWlSn)){
-				//获取运单轨迹
-				getCgExpressTrack({id:this.option.id}).then(result=>{ 
-					that.trackList = []
-					if(!that.$util.isEmpty(result.data.path_item_list) && this.$util.isArray(result.data.path_item_list)){
-					result.data.path_item_list.forEach(function(item){
-						that.trackList.push(item.action_msg)
+					//获取运单轨迹
+					getCgExpressTrack({id:this.option.id}).then(result=>{ 
+						that.trackList = []
+						if(!that.$util.isEmpty(result.data.path_item_list) && this.$util.isArray(result.data.path_item_list)){
+							result.data.path_item_list.forEach(function(item){
+								that.trackList.push(item.action_msg)
+							})
+						}
 					})
-					}
-				})
 				}
 
-
 			} catch {
+
 			} finally {
 				this.loading = false;
 			}
@@ -1216,6 +1315,54 @@ export default {
 <style lang="scss" scoped>
 .info-content_box {
 	padding: 0 20upx 100upx;
+
+	.order-msg-blo {
+		.msg-list {
+			display: flex;
+			align-items: center;
+			margin-bottom: 20upx;
+			font-size: 26upx;
+
+			&:last-child {
+				margin-bottom: 0;
+			}
+
+			.label {
+				color: #999;
+				width: 140upx;
+			}
+
+			.value {
+				color: #333;
+				flex: 1;
+			}
+
+			&.express-progress-row {
+				align-items: flex-start;
+
+				.express-actions {
+					margin-left: 20upx;
+					
+					.mini-btn {
+						padding: 0 20upx;
+						height: 50upx;
+						line-height: 48upx;
+						font-size: 24upx;
+
+						&.btn-danger {
+							background: #fff;
+							color: #ff2842;
+							border-color: #ff2842;
+						}
+
+						& + .mini-btn {
+							margin-left: 15upx;
+						}
+					}
+				}
+			}
+		}
+	}
 	& > .title {
 		color: #666666;
 		font-size: 28upx;
@@ -1223,6 +1370,7 @@ export default {
 		padding: 30upx 3upx;
 	}
 	& .address-des_bx {
+		position: relative;
 		display: flex;
 		padding: 20upx 10upx 30upx 20upx;
 		& > view:nth-child(1) {
@@ -1240,12 +1388,31 @@ export default {
 				margin-top: 20upx;
 			}
 		}
-		& > view:nth-child(2) {
+		& .right-btns {
+			position: absolute;
+			top: 20upx;
+			right: 20upx;
 			display: flex;
-			& .icondianhua1 {
-				font-size: 50upx;
-				color: #3385ff;
-				margin-left: 0upx;
+			flex-direction: column;
+			align-items: flex-end;
+			
+			.icon-btns {
+				display: flex;
+				margin-bottom: 25upx;
+				justify-content: space-between;
+				width: 170upx;
+				
+				& .icondianhua1 {
+					font-size: 50upx;
+					color: #3385ff;
+				}
+				& .icondianhua{
+					font-size:53upx;
+					color:#3385ff;
+				}
+			}
+			.copy-address{
+				margin:0 auto;
 			}
 		}
 	}
@@ -1419,4 +1586,105 @@ export default {
 	align-items: center;
 	justify-content: space-around;
 }
+/* 模拟信息弹框样式 */
+.goods-modal-mask {
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background-color: rgba(0, 0, 0, 0.5);
+  z-index: 9999;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.goods-modal {
+  width: 80%;
+  max-width: 600upx;
+  background-color: #fff;
+  border-radius: 12upx;
+  overflow: hidden;
+  box-shadow: 0 10upx 30upx rgba(0, 0, 0, 0.3);
+}
+
+.modal-header {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: 30upx 40upx;
+  background-color: #f8f9fa;
+  border-bottom: 1px solid #e9ecef;
+}
+
+.modal-title {
+  font-size: 32upx;
+  font-weight: 600;
+  color: #333;
+}
+
+.modal-close {
+  font-size: 40upx;
+  color: #999;
+  cursor: pointer;
+  line-height: 1;
+  padding: 10upx;
+}
+
+.modal-body {
+  padding: 40upx;
+}
+
+.modal-input {
+  width: 100%;
+  height: 80upx;
+  border: 1px solid #ddd;
+  border-radius: 8upx;
+  padding: 0 20upx;
+  font-size: 28upx;
+  box-sizing: border-box;
+  
+  &:focus {
+    border-color: #3385ff;
+    outline: none;
+  }
+}
+
+.modal-footer {
+  display: flex;
+  align-items: center;
+  justify-content: flex-end;
+  gap: 20upx;
+  padding: 30upx 40upx;
+  background-color: #f8f9fa;
+  border-top: 1px solid #e9ecef;
+}
+
+.modal-btn {
+  padding: 20upx 40upx;
+  border-radius: 8upx;
+  font-size: 28upx;
+  border: none;
+  cursor: pointer;
+  min-width: 120upx;
+  
+  &.cancel-btn {
+    background-color: #f5f5f5;
+    color: #666;
+    
+    &:hover {
+      background-color: #e9ecef;
+    }
+  }
+  
+  &.confirm-btn {
+    background-color: #3385ff;
+    color: #fff;
+    
+    &:hover {
+      background-color: #2d74e7;
+    }
+  }
+}
 </style>

+ 23 - 6
hdApp/src/admin/billing/affirmGhs.vue

@@ -128,7 +128,13 @@
 	<tui-list-cell class="line-cell" :hover="false" :arrow="false" >
 		<button class="admin-button-com middle" :class="[form.sendType == 0 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;"  @click="changeSendType(0)" v-if="ghsInfo.shopId != 4608" >送货上门</button>
 		<button class="admin-button-com middle" :class="[form.sendType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;"  @click="changeSendType(1)">自取</button>
-		<button class="admin-button-com middle" :class="[form.sendType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(2)" v-if="ghsInfo.shopId != 14248">跑腿</button>
+		<template v-if="ghsInfo.shopId != 14248">
+            <view v-if="ghsInfo.openIntraCity==1" style="position:relative;display:inline-block;">
+                <button class="admin-button-com middle" :class="[form.sendType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(2)">跑腿</button>
+                <text style="position:absolute;top:-10upx;left:50%;transform:translateX(-50%);background-color:#ff4d4f;color:#fff;font-size:20upx;padding:2upx 8upx;border-radius:10upx;white-space:nowrap;">新功能</text>
+            </view>
+            <button v-else class="admin-button-com middle" :class="[form.sendType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(2)">跑腿</button>
+        </template>
 		<button class="admin-button-com middle" :class="[form.sendType == 4 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(4)" v-if="ghsInfo.shopId != 14248">快递</button>
 		<button class="admin-button-com middle" :class="[form.sendType == 3 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(3)" v-if="ghsInfo.shopId != 14248">物流</button>
 	</tui-list-cell>
@@ -170,7 +176,8 @@
 			<text style="color: #3385FF;width:100%;">到店自取,没有配送费</text>
 		</view>
 		<view v-if="form.sendType == 2">
-			<text style="color: #3385FF;width:100%;">运费自理或到付(请联系客服)</text>
+			<text style="color: #3385FF;width:100%;" v-if="ghsInfo.openIntraCity == 1">有跑腿费</text>
+			<text style="color: #3385FF;width:100%;" v-else>运费自理或到付(请联系客服)</text>
 		</view>
 		<view v-if="form.sendType == 3">
 			<text style="color: #3385FF;width:100%;">运费到付</text>
@@ -216,8 +223,13 @@
 						</view>
 					</tui-list-cell>
 
+					<tui-list-cell class="line-cell" :hover="false" v-if="displaySendCost == true && Number(showDistance)>0">
+					<view class="tui-title">距离</view>
+					<text style="color: #3385FF">{{ showDistance }}公里</text>
+					</tui-list-cell>
+
 					<tui-list-cell class="line-cell" :hover="false" v-if="displaySendCost == true">
-					<view class="tui-title">运费</view>
+					<view class="tui-title">跑腿费</view>
 					<text style="color: #3385FF">¥{{ form.sendCost }}</text>
 					</tui-list-cell>
 
@@ -360,7 +372,8 @@ export default {
 			wlSelData: {id:0,name:''},
 			needAddPackCost:false,
 			transCost:[],
-			lackList:[]
+			lackList:[],
+			showDistance:0
 		};
 	},
 	onLoad() {
@@ -393,7 +406,11 @@ export default {
 		},
 		displaySendCost(){
 			if(this.form.sendType == 2){
-				return false
+				if(this.ghsInfo.openIntraCity==0){
+					return false
+				}else{
+					return true
+				}
 			}
 			if(this.ghsInfo.pfLevel && this.ghsInfo.pfLevel == 1){
 				return true
@@ -632,6 +649,7 @@ export default {
 			freight(params).then(res => {
 				if(res.code == 1){
 					this.form.sendCost = res.data.fee?parseFloat(res.data.fee):0
+					this.showDistance = res.data.showDistance?parseFloat(res.data.showDistance):0
 				}
 			});
 		},
@@ -762,7 +780,6 @@ export default {
 			let params = {
 				getType:getType,
 				sendTimeWant:this.sendTimeWant,
-				sendCost:this.form.sendCost,
 				sendType:this.form.sendType,
 				transType:this.form.transType,
 				remark:this.remark,

+ 30 - 27
hdApp/src/admin/express/create.vue

@@ -43,38 +43,30 @@
         <view class="section-title">商品信息</view>
         <view class="form-item">
           <text class="item-label">商品数量</text>
-          <input class="item-input" type="number" v-model="expressForm.packageNum" placeholder="请输入包裹数量" disabled />
+          <view class="item-value">
+            <input class="item-input" type="number" v-model="expressForm.packageNum" placeholder="请输入包裹数量" />
+          </view>
         </view>
         <view class="form-item required">
           <text class="item-label">商品重量</text>
-          <input class="item-input" type="digit" v-model="expressForm.weight" placeholder="公斤" @focus="expressForm.weight=''" />
-        </view>
-      </view>
-
-      <!-- 配送费用显示 -->
-      <view class="form-section">
-        <view class="fee-display">
-          <text class="fee-label">配送费用:</text>
-          <text class="fee-amount">¥{{ deliveryFee }}</text>
+          <view class="item-value">
+            <input class="item-input" type="digit" v-model="expressForm.weight" placeholder="公斤" @focus="expressForm.weight=''" />
+          </view>
         </view>
-      </view>
-
-      <!-- 配送备注 -->
-      <!-- <view class="form-section">
-        <view class="section-title">配送备注</view>
         <view class="form-item">
-          <textarea class="item-textarea large" v-model="expressForm.note" placeholder="请输入配送备注(选填)" maxlength="200"></textarea>
+          <text class="item-label">配送费用</text>
+          <view class="item-value">
+            <text class="fee-text">¥{{ deliveryFee }}</text>
+          </view>
         </view>
-      </view> -->
+      </view>
 
       <!-- 操作按钮 -->
-      <view class="button-section">
-        <button class="express-button query-button" @click="queryDeliveryFee">
+      <view class="button-section" style="display: flex; justify-content: center; gap: 50rpx;">
+        <button class="admin-button-com blue big" @click="queryDeliveryFee">
           查运费
         </button>
-        <button class="express-button submit-button" @click="submitExpress">
-          提交
-        </button>
+        <button class="admin-button-com blue big" style="padding: 0 30rpx; display: flex; align-items: center; justify-content: center;" @click="submitExpress">提交</button>
       </view>
     </view>
   </view>
@@ -89,7 +81,6 @@ export default {
   data() {
     return {
       orderId: '',
-      isNew: 0, // 0: 重新配送, 1: 首次配送
       orderInfo: null,
       // 配送表单数据
       expressForm: {
@@ -117,7 +108,6 @@ export default {
   onLoad(options) {
     if (options.orderId) {
       this.orderId = options.orderId
-      this.isNew = options.isNew
     }
 
     //返回上一页时刷新
@@ -240,8 +230,7 @@ export default {
             user_address: this.expressForm.user_address,
             user_lng: this.expressForm.user_lng,
             user_lat: this.expressForm.user_lat,
-            note: this.expressForm.note,
-            isNew: this.isNew
+            note: this.expressForm.note
           }
           const res = await createExpressOrder(data)
           if (res.code === 1) {
@@ -358,8 +347,22 @@ export default {
     flex-shrink: 0;
   }
 
-  .item-input {
+  .item-value {
     flex: 1;
+    display: flex;
+    align-items: center;
+    min-height: 80upx;
+
+    .fee-text {
+      color: #ff2842;
+      font-weight: bold;
+      font-size: 36upx;
+      line-height: 80upx;
+    }
+  }
+
+  .item-input {
+    width: 100%;
     height: 80upx;
     line-height: 80upx;
     border: 2upx solid #eee;

+ 4 - 8
hdApp/src/admin/home/order.vue

@@ -87,8 +87,8 @@
                 <view class="admin-button-com middle default" @click.stop="">呼叫跑腿</view>
               </block>
               <block v-else>
-                <view class="admin-button-com middle" v-if="item.sendStatus == '-1'" @click.stop="openExpressPage(item.id, true)">呼叫跑腿</view>
-                <view class="admin-button-com middle" v-else-if="item.sendStatus == '3'" @click.stop="openExpressPage(item.id, false)">重叫跑腿</view>
+                <view class="admin-button-com middle" v-if="item.sendStatus == '-1'" @click.stop="openExpressPage(item.id)">呼叫跑腿</view>
+                <view class="admin-button-com middle" v-else-if="item.sendStatus == '3'" @click.stop="openExpressPage(item.id)">重叫跑腿</view>
                 <view class="admin-button-com default" v-else-if="item.sendStatus == '2'">跑腿完成</view>
                 <view class="admin-button-com default" v-else="item.sendStatus == '1' && item.payStatus == 1">已发跑腿</view>
               </block>
@@ -347,12 +347,8 @@ export default {
     /**
      * 打开配送页面
      */
-    openExpressPage(orderId, isNew) {
-      const val = isNew ? 1 : 0;
-      this.$util.pageTo({ 
-        url: '/admin/express/create', 
-        query: { orderId: orderId, isNew: val }
-      })
+    openExpressPage(orderId) {
+      this.$util.pageTo({url:'/admin/express/create?orderId='+orderId})
     },
     /**
      * 取消配送订单

+ 37 - 35
hdApp/src/admin/order/detail.vue

@@ -16,7 +16,7 @@
         <view class="module-det">
           <view class="order-msg-blo">
             <view class="msg-list">
-              <view class="label">配送平台:</view>
+              <view class="label"><text @click="showMySimPop"></text>送平台:</view>
               <view class="value">{{getExpressPlatformText(orderInfo.deliveryId)}}</view>
             </view>
             <view class="msg-list express-progress-row">
@@ -24,7 +24,7 @@
               <view class="value">{{getProgressText(orderInfo.sendStatus)}}</view>
               <view class="express-actions">
                 <button class="admin-button-com mini-btn btn-danger" v-if="orderInfo.sendStatus == '0' || orderInfo.sendStatus == '1'" @click.stop="cancelMyExpress(orderInfo.id)">取消跑腿</button>
-                <button class="admin-button-com mini-btn" v-if="orderInfo.sendStatus == '3'" @click.stop="openExpressPage(orderInfo.id, false)">重叫跑腿</button>
+                <button class="admin-button-com mini-btn" v-if="orderInfo.sendStatus == '3'" @click.stop="openExpressPage(orderInfo.id)">重叫跑腿</button>
               </view>
             </view>
           </view>
@@ -35,9 +35,7 @@
       <view class="module-com goods-info-module">
         <view class="module-tit">
           <text class="module-tit__text">商品信息</text>
-          <text 
-            class="order-number" 
-            @click="showGoodsModal">
+          <text class="order-number">
             编号 {{ orderInfo.sendNum }}
           </text>
         </view>
@@ -375,7 +373,7 @@
           v-if="orderInfo.status == 1">
           扫码收款
         </button>
-        <button class="admin-button-com middle" v-if="orderInfo.sendStatus == '-1' && orderInfo.payStatus == 1" @click.stop="openExpressPage(orderInfo.id, true)">呼叫跑腿</button>
+        <button class="admin-button-com middle" v-if="orderInfo.sendStatus == '-1' && orderInfo.payStatus == 1" @click.stop="openExpressPage(orderInfo.id)">呼叫跑腿</button>
         <button 
           class="admin-button-com middle" 
           @click.stop="printOrder(orderInfo)" 
@@ -386,21 +384,29 @@
     </view>
 
     <!-- 模拟接口使用 -->
-    <view class="goods-modal-mask" v-if="showModal" @click="hideGoodsModal">
+    <view class="goods-modal-mask" v-if="simModal" @click="hideMnPop">
       <view class="goods-modal" @click.stop>
         <view class="modal-header">
-          <text class="modal-title">输入数值</text>
-          <text class="modal-close" @click="hideGoodsModal">×</text>
+          <text class="modal-title">请选择</text>
+          <text class="modal-close" @click="hideMnPop">×</text>
         </view>
         <view class="modal-body">
-          <input class="modal-input" type="number" v-model="inputValue" @focus="inputValue=''" placeholder="请输入数值" />
+          <button class="admin-button-com middle" @click="setMnNum(10000)">订单创建成功,等待接单</button>
+          <button class="admin-button-com middle" @click="setMnNum(20000)">商家取消订单</button>
+          <button class="admin-button-com middle" @click="setMnNum(20001)">配送方取消订单</button>
+          <button class="admin-button-com middle" @click="setMnNum(30000)">配送员接单</button>
+          <button class="admin-button-com middle" @click="setMnNum(40000)">配送员到店</button>
+          <button class="admin-button-com middle" @click="setMnNum(50000)">配送中</button>
+          <button class="admin-button-com middle" @click="setMnNum(60000)">配送员撤单</button>
+          <button class="admin-button-com middle" @click="setMnNum(70000)">配送完成</button>
+          <button class="admin-button-com middle" @click="setMnNum(90000)">配送异常</button>
         </view>
         <view class="modal-footer">
-          <button class="modal-btn cancel-btn" @click="hideGoodsModal">取消</button>
-          <button class="modal-btn confirm-btn" @click="confirmInput">确认</button>
+          <button class="modal-btn cancel-btn" @click="hideMnPop">取消</button>
         </view>
       </view>
     </view>
+
   </view>
 </template>
 
@@ -434,8 +440,8 @@ export default {
       constant: this.$constant,
       orderInfo: {},
       refreshPage: 0,
-      showModal: false,
-      inputValue:0,
+      simModal: false,
+      simNum:0,
       thisYear: new Date().getFullYear()
     };
   },
@@ -600,12 +606,8 @@ export default {
     /**
      * 打开配送页面
      */
-     openExpressPage(orderId, isNew) {
-      const val = isNew ? 1 : 0;
-      this.$util.pageTo({ 
-        url: '/admin/express/create', 
-        query: { orderId: orderId, isNew: val }
-      })
+    openExpressPage(orderId) {
+      this.$util.pageTo({url: '/admin/express/create?orderId='+orderId})
     },
     /**
      * 取消配送订单
@@ -619,26 +621,26 @@ export default {
           }
       })
     },
-    /**
-     * 查看配送成功详情
-     */
+    //查看配送成功详情
     selectExpress(orderId) {
-      this.$util.pageTo({ 
-        url: '/admin/express/success', 
-        query: { orderId: orderId }
-      })
+      this.$util.pageTo({ url: '/admin/express/success', query: { orderId: orderId } })
+    },
+    showMySimPop() {
+      this.simModal = true
     },
-    showGoodsModal() {
-      this.showModal = true
+    setMnNum(num){
+      this.hideMnPop()
+      this.simNum = num
+      this.confirmSimData()
     },
-    hideGoodsModal() {
-      this.showModal = false
+    hideMnPop() {
+      this.simModal = false
     },
-    confirmInput() {
+    confirmSimData() {
       let that = this
-      this.hideGoodsModal()
+      this.hideMnPop()
       expressDetail({ orderId: this.option.id }).then(res => {
-        mockNotify({orderStatus:this.inputValue,wxOrderId:res.data.wxOrderId}).then(ret=>{
+        mockNotify({orderStatus:this.simNum,wxOrderId:res.data.wxOrderId}).then(ret=>{
           that.init()
         })
       })
@@ -872,7 +874,7 @@ export default {
   }
 }
 
-/* 商品信息弹框样式 */
+/* 模拟信息弹框样式 */
 .goods-modal-mask {
   position: fixed;
   top: 0;

+ 1 - 1
hdApp/src/api/express/index.js

@@ -18,5 +18,5 @@ export const getHasMap = data => {
 
 // 配送详情
 export const expressDetail = data => {
-	return https.post('/express/detail', data)
+	return https.get('/express/detail', data)
 }

+ 1 - 1
hdApp/src/pagesPurchase/purDetails.vue

@@ -76,7 +76,7 @@
         <view class="order-info_box">
           <view>配送方式:</view>
           <view>
-{{ detailInfo.sendType==0?'送货上门':detailInfo.sendType==1?'自取':detailInfo.sendType==2?'代叫跑腿':detailInfo.sendType==3?'物流':detailInfo.sendType==4?'发快递':'' }}
+{{ detailInfo.sendType==0?'送货上门':detailInfo.sendType==1?'自取':detailInfo.sendType==2?'跑腿':detailInfo.sendType==3?'物流':detailInfo.sendType==4?'发快递':'' }}
           </view>
         </view>
         <view class="order-info_box" v-if="detailInfo.sendType==3">