Funny 3 年 前
コミット
5efca017bb

+ 1 - 0
src/App.vue

@@ -23,6 +23,7 @@ export default {
         require("../static/audio/not-enough.mp3"),
         require("../static/audio/order-received.mp3"),
         require("../static/audio/rider-cancel.mp3"),
+        require("../static/audio/rider-go-cancel.mp3"),
         require("../static/audio/user-go-cancel.mp3"),
         require("../static/audio/over-time.mp3"),
       ],

+ 4 - 0
src/api/shop.js

@@ -4,6 +4,10 @@ export const getShopList = (params) => {
   return get('app/shop/list', params)
 }
 
+export const getShopDetail = (params) => {
+  return get('app/shop/detail', params)
+}
+
 export const shopAdd = (params) => {
   return post('app/shop/add', params)
 }

+ 3 - 3
src/components/accountCompoents/wallet.vue

@@ -8,7 +8,7 @@
         <div class="balance_sign"><img src="../../../static/image/1.png" alt="" srcset=""> 为了您能高效发单,请保持账户资金充足</div>
       </div>
     </el-col>
-    <el-col :span="18">
+    <el-col :span="18"  v-if="memberType !==3">
       <div class="recharge_title">充值金额</div>
       <div class="recharge_list">
         <div @click="chooseMoney(v,i)" :class="curIdx === i ? 'item item_ac' : 'item'" v-for="(v,i) in moneyList" :key="i">{{v.value}}元</div>
@@ -19,10 +19,10 @@
         <div @click="paymentType = 1" :class="paymentType === 1 ? 'item item_ac' : 'item'"><img src="../../../static/image/alipay.png" alt="" srcset=""> 支付宝支付</div>
         <div @click="paymentType = 2" :class="paymentType === 2 ? 'item item_ac' : 'item'"><img src="../../../static/image/we-chat.png" alt="" srcset="">微信支付</div>
       </div>
-      <div v-if="memberType!==3">
+      <div>
         <el-checkbox v-model="checked">我已阅读并同意 <span @click="getExplain" class="agreement">《充值协议》</span> </el-checkbox>
       </div>
-      <el-button v-if="memberType!==3" @click="recharge" class="recharge_color">去充值</el-button>
+      <el-button @click="recharge" class="recharge_color">去充值</el-button>
       <!-- <div class="agreement">充值即同意 <span @click="getExplain">《充值协议》</span> </div> -->
     </el-col>
     <!-- 支付二维码 -->

+ 1 - 0
src/components/orderComponents/orderAMap.vue

@@ -178,6 +178,7 @@ export default {
           this.loading = false;
           this.init(data, res.data);
         } else {
+          this.loading = false;
           this.$message({
             type: "error",
             message: res.msg,

+ 1 - 1
src/components/orderComponents/orderDetail.vue

@@ -145,7 +145,7 @@ export default {
   width: 100%;
   height: calc(100vh - 250px);
   overflow: auto;
-  padding: 16px 16px 50px;
+  padding: 16px 16px 100px;
   box-sizing: border-box;
   .detail_title2 {
     width: 100%;

+ 1 - 0
src/components/orderComponents/orderList.vue

@@ -371,6 +371,7 @@ export default {
   },
   watch: {
     tabNum(newVal, oldVal) {
+      console.log(1111);
       this.curIdx = 0;
     },
     list: {

+ 1 - 0
src/components/orderSearch.vue

@@ -201,6 +201,7 @@ export default {
 
       bus.$on("refreshData2", () => {
         console.log("执行refreshData2");
+        this.params.pageNum = 1
         this.orderList = [];
         this.getOrder();
       });

+ 40 - 2
src/components/settingComponents/voiceSetting.vue

@@ -22,7 +22,7 @@
       <div class="top-set">
         <div class="t-left">
           自动打印
-          <span>(开启后将为您自动打印小票)</span>
+          <span style="color: #999;">(开启后将为您自动打印小票)</span>
         </div>
         <div class="t-right">
           <el-switch @change="updateConfig" v-model="openPrintSwitch" :active-value="1" :inactive-value="0" />
@@ -44,7 +44,7 @@
           <el-col :span="8" v-for="(item, index) in voiceList" :key="index">
             <div class="item">
               <div class="left">
-                <img src="../../../static/image/voice-icon.png" class="voice-icon" />
+                <img @click="play(index)" src="../../../static/image/voice-icon.png" class="voice-icon" />
                 <span>{{ item.name }}</span>
               </div>
               <div class="right">
@@ -100,6 +100,43 @@ export default {
     this.floorListDelivery();
   },
   methods: {
+    play(index) {
+      let src = "../../../static/audio/alone.mp3";
+      switch (index) {
+        case 0:
+          src = "../../../static/audio/new-order.mp3";
+          break;
+        case 1:
+          src = "../../../static/audio/order-received.mp3";
+          break;
+        case 2:
+          src = "../../../static/audio/missed-orders.mp3";
+          break;
+        case 3:
+          src = "../../../static/audio/rider-cancel.mp3";
+          break;
+        case 4:
+          src = "../../../static/audio/user-go-cancel.mp3";
+          break;
+        case 5:
+          src = "../../../static/audio/not-enough.mp3";
+          break;
+        case 6:
+          src = "../../../static/audio/low-than.mp3";
+          break;
+        case 7:
+          src = "../../../static/audio/over-time.mp3";
+          break;
+        case 8:
+          src = "../../../static/audio/rider-go-cancel.mp3";
+          break;
+
+        default:
+          break;
+      }
+      let mp3 = new Audio(src);
+      mp3.play(); //播放 mp3这个音频对象
+    },
     cancel() {
       this.centerDialogVisible = false;
       this.openAutodelivery = 0;
@@ -279,6 +316,7 @@ export default {
             height: 12px;
             margin-right: 4px;
             margin-top: 2px;
+            cursor: pointer;
           }
           span {
             font-size: 14px;

+ 4 - 4
src/components/shopCompoents/bindDelivery.vue

@@ -40,13 +40,13 @@
     <!-- UU跑腿 -->
     <el-dialog :title="title" :visible.sync="centerDialogVisible" width="40%" center>
       <el-form v-if="title === 'UU跑腿绑定'" :model="UUData" ref="UUData" label-width="80px" class="demo-ruleForm">
-        <el-form-item label="城市" prop="cityName" :rules="[{ required: true, message: '城市不能为空' }]">
+        <el-form-item label="城市" prop="cityName">
           <el-input v-model="UUData.cityName" placeholder="请输入当前城市名称"></el-input>
         </el-form-item>
-        <el-form-item label="手机号" prop="mobile" :rules="[{ required: true, message: '手机号不能为空' }]">
+        <el-form-item label="手机号" prop="mobile">
           <el-input v-model="UUData.mobile" placeholder="请输入用户手机号"></el-input>
         </el-form-item>
-        <el-form-item label="验证码" prop="validateCode" :rules="[{ required: true, message: '验证码不能为空' }]">
+        <el-form-item label="验证码" prop="validateCode">
           <div class="code">
             <el-input v-model="UUData.validateCode" placeholder="请输入验证码"></el-input>
             <div class="get-code" v-if="!showCode" @click.stop="getCode">
@@ -61,7 +61,7 @@
         </el-form-item>
       </el-form>
       <el-form v-if="title === 'UU跑腿解绑'" :model="UUData" ref="UUData" label-width="80px" class="demo-ruleForm">
-        <el-form-item label="手机号" prop="mobile" :rules="[{ required: true, message: '手机号不能为空' }]">
+        <el-form-item label="手机号" prop="mobile">
           <el-input v-model="UUData.mobile" placeholder="请输入用户手机号"></el-input>
         </el-form-item>
         <el-form-item>

+ 40 - 11
src/components/shopCompoents/shopAdd.vue

@@ -42,7 +42,7 @@
                 <img class="logo" :src="item.logo">
                 <span class="label">{{item.name}}</span>
               </div>
-              <div class="tip">审核中</div>
+              <div class="tip">{{showStatus(item.bindStatus)}}</div>
             </div>
           </div>
         </el-form-item>
@@ -58,7 +58,7 @@
 
 <script>
 import orderMap from "../orderComponents/orderAMap.vue";
-import { shopAdd, shopEdit } from "../../api/shop.js";
+import { getShopDetail, shopAdd, shopEdit } from "../../api/shop.js";
 export default {
   props: {
     products: {
@@ -98,15 +98,23 @@ export default {
     init(e) {
       if (e) {
         this.title = "编辑门店";
-        Object.keys(e).map((v) => {
-          this.form[v] = e[v];
-        });
-        this.deliveries = e.deliveries.filter((v) => {
-          return v.bindStatus === 1;
-        });
-        this.revieweds = e.deliveries.filter((v) => {
-          return v.bindStatus === 2;
-        });
+        getShopDetail({ shopId: e.id }).then((res) => {
+          console.log(res);
+          if (res.code === 200) {
+            this.form = res.data;
+            this.deliveries = this.form.deliveries.filter((v) => {
+              return v.bindStatus === 1 && v.type !== 3;
+            });
+            this.revieweds = this.form.deliveries.filter((v) => {
+              return v.type === 3;
+            });
+          } else {
+            this.$message({
+              type: "error",
+              message: res.msg,
+            });
+          }
+        })
       } else {
         this.title = "新增门店";
         this.form = {
@@ -120,6 +128,27 @@ export default {
       }
       this.showVisible = true;
     },
+    showStatus(showStatus){
+      let name = ''
+      switch (showStatus) {
+        case 0:
+          name="未绑定"
+          break;
+        case 1:
+          name="已绑定"
+          break;
+        case 2:
+          name="审核中"
+          break;
+        case 3:
+          name="已拒绝"
+          break;
+      
+        default:
+          break;
+      }
+      return name
+    },
     showMap() {
       this.$refs.orderMap.chooseLocation();
     },

+ 2 - 2
src/components/shopCompoents/shopList.vue

@@ -9,7 +9,7 @@
         <div class="label">门店管理</div>
       </div>
       <div class="right">
-        <el-button class="btn" @click.stop="addShop(1)">新增门店</el-button>
+        <el-button class="btn" v-if="$store.state.userInfo.memberType === 2" @click.stop="addShop(1)">新增门店</el-button>
       </div>
     </div>
     <el-table v-loading="loading" element-loading-text="数据加载中" :data="shopList" stripe header-row-class-name="table_h" style="width: 100%; margin-top: 10px">
@@ -18,7 +18,7 @@
       <el-table-column prop="address" label="门店地址" width="321" align="center"></el-table-column>
       <el-table-column prop="contactName" label="联系人" width="164" align="center"></el-table-column>
       <el-table-column prop="mobile" label="联系电话" width="176" align="center"></el-table-column>
-      <el-table-column label="已获运力" align="center" width="300">
+      <el-table-column label="已获运力" align="center" width="320">
         <template slot-scope="scope">
           <div class="imgs">
             <img class="img" :src="item.logo" v-for="(item, i) in scope.row.deliveries" :key="i" alt="">

+ 3 - 2
src/views/login.vue

@@ -20,7 +20,7 @@
             </div>
             <div class="pass-item">
               <img src="../../static/image/lock-icon.png" class="lock-icon" />
-              <el-input placeholder="用户密码" v-model="password" class="input-phone" type="password" />
+              <el-input name='1' placeholder="用户密码" v-model="password" class="input-phone" type="password" />
             </div>
           </div>
           <!-- 验证码登录 -->
@@ -31,7 +31,8 @@
             </div>
             <div class="pass-item">
               <img src="../../static/image/code-icon.png" class="phone-icon" />
-              <el-input placeholder="验证码" v-model="code" class="input-phone" :maxlength="4" />
+              <el-input name="1" style="display:none;" />
+              <el-input name="2" placeholder="验证码" v-model="code" class="input-phone" :maxlength="4" />
               <div class="get-code" v-if="!showCode" @click.stop="getCode">获取短信验证码</div>
               <div class="get-code" v-else>{{ count }}秒</div>
             </div>

BIN
static/audio/rider-cancel.mp3


BIN
static/audio/rider-go-cancel.mp3


BIN
static/audio/新提示音+语音 2-4.mp3