wangtao il y a 3 ans
Parent
commit
538dc38ef4

+ 20 - 0
src/assets/js/common.js

@@ -0,0 +1,20 @@
+/** 
+ * 数字自动补齐两位小数
+ * */
+function returnFloat(value) {
+    var value = Math.round(parseFloat(value) * 100) / 100;
+    var s = value.toString().split(".");
+    if (s.length == 1) {
+        value = value.toString() + ".00";
+        return value;
+    }
+    if (s.length > 1) {
+        if (s[1].length < 2) {
+            value = value.toString() + "0";
+        }
+        return value;
+    }
+}
+export {
+    returnFloat,
+}

+ 8 - 5
src/assets/js/dataFormate.js

@@ -4,7 +4,7 @@
 var now = new Date(); //当前日期
 var nowDayOfWeek = now.getDay(); //今天本周的第几天
 var nowDay = now.getDate(); //当前日
-var nowMonth = now.getMonth() + 1; //当前月
+var nowMonth = now.getMonth(); //当前月
 var nowYear = now.getYear(); //当前年
 var nowHours = now.getHours() //当前小时数
 var nowMinutes = now.getMinutes() //当前分钟数
@@ -76,12 +76,14 @@ function getLastWeekEndDate() {
 //获得本月的开始日期
 function getMonthStartDate() {
     var monthStartDate = new Date(nowYear, nowMonth, 1);
-    return formatDate(monthStartDate) + ' 00:00:00';
+    return formatDate(monthStartDate);
+    //return formatDate(monthStartDate) + ' 00:00:00';
 }
 //获得本月的结束日期
 function getMonthEndDate() {
     var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));
-    return formatDate(monthEndDate) + ' 23:59:59';
+    return formatDate(monthEndDate);
+    //return formatDate(monthEndDate) + ' 23:59:59';
 }
 //获得上月开始时间
 function getLastMonthStartDate() {
@@ -127,11 +129,11 @@ function getThisYearEndDate() {
 }
 //获取当前日期yy-mm-dd
 //date 为时间对象
-function getDateStr3(date) {
+function getDateStrNowDay(date) {
+    var now = new Date(); //当前日期
     var year = "";
     var month = "";
     var day = "";
-    var now = date;
 
     year = "" + now.getFullYear();
     if ((now.getMonth() + 1) < 10) {
@@ -252,4 +254,5 @@ export {
     getQuarterStartDate,
     getQuarterEndDate,
     getNowTime,
+    getDateStrNowDay
 }

+ 66 - 20
src/router/index.js

@@ -3,24 +3,32 @@ import VueRouter from 'vue-router'
 
 Vue.use(VueRouter)
 
-const routes = [{
+const routes = [
+
+    {
         path: '/',
-        name: 'Home',
+        name: 'Login',
         component: () =>
-            import ( /* webpackChunkName: "about" */ '../views/home')
+            import ( /* webpackChunkName: "about" */ '../views/login')
+    },
+    {
+        path: '/function',
+        name: 'Function',
+        component: () =>
+            import ( /* webpackChunkName: "about" */ '../views/function')
+    },
+    {
+        path: '/amount',
+        name: 'amount',
+        component: () =>
+            import ( /* webpackChunkName: "about" */ '../views/amount')
+    },
+    {
+        path: '/amount',
+        name: 'amount',
+        component: () =>
+            import ( /* webpackChunkName: "about" */ '../views/amount')
     },
-    // {
-    //     path: '/login',
-    //     name: 'Login',
-    //     component: () =>
-    //         import ( /* webpackChunkName: "about" */ '../views/login')
-    // },
-    // {
-    //     path: '/function',
-    //     name: 'Function',
-    //     component: () =>
-    //         import ( /* webpackChunkName: "about" */ '../views/function')
-    // },
 
     {
         path: '/balance',
@@ -37,12 +45,50 @@ const routes = [{
         name: 'record',
         component: () =>
             import ( /* webpackChunkName: "about" */ '../views/record')
-    }, {
-        path: '/amount',
-        name: 'amount',
-        component: () =>
-            import ( /* webpackChunkName: "about" */ '../views/amount')
     }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // {
+    //     path: '/',
+    //     name: 'amount',
+    //     component: () =>
+    //         import ( /* webpackChunkName: "about" */ '../views/amount')
+    // },
+    // {
+    //     path: '/amount',
+    //     name: 'amount',
+    //     component: () =>
+    //         import ( /* webpackChunkName: "about" */ '../views/amount')
+    // },
+
+    // {
+    //     path: '/balance',
+    //     name: 'balance',
+    //     component: () =>
+    //         import ( /* webpackChunkName: "about" */ '../views/balance')
+    // }, {
+    //     path: '/recharge',
+    //     name: 'recharge',
+    //     component: () =>
+    //         import ( /* webpackChunkName: "about" */ '../views/recharge')
+    // }, {
+    //     path: '/record',
+    //     name: 'record',
+    //     component: () =>
+    //         import ( /* webpackChunkName: "about" */ '../views/record')
+    // }
 ]
 
 const router = new VueRouter({

+ 605 - 158
src/views/amount/index.vue

@@ -1,89 +1,186 @@
 <template>
   <div class="mianBox" v-if="order">
-    <van-row class="headerBox">
-      <van-icon name="arrow-left" @click="$router.go(-1)" v-if="fanhui" />
+    <van-row class="headerBox"  >
+      <van-icon name="arrow-left" @click="$router.go(-1)" v-if="erp"/>
       {{title}}
     </van-row>
-    <!-- <van-row class="balance" v-if="fanhui">
-      <van-col span="8">余额:{{cardBalance ? cardBalance : '0.00'}}元</van-col>
-    </van-row> -->
-    <van-row class="contentBox" style="padding-top: 10px">
-      <van-field
-        readonly
-        label="¥"
-        placeholder="请输入充值金额( 元 )"
-        label-width="10px"
-        clickable
-        :value="money"
-        @touchstart.native.stop="show = true"
-      />
-      <van-number-keyboard
-        theme="custom"
-        :show="show"
-        :title="'¥' + money"
-        :hide-on-click-outside="false"
-        :maxlength="8"
-        extra-key="."
-        @input="handleInput"
-        @delete="handleDelete"
-        @close="handleClose"
-        close-button-text="确定"
-        @blur="show = false"
-      ></van-number-keyboard>
-    </van-row>
-    <van-overlay :show="overlayShow" @click="overlayShow = false" />
-    <van-row class="select_amount" gutter="26px">
-      <van-col span="8" @click="btn50" :style="state1" data="50">50</van-col>
-      <van-col span="8" @click="btn100" :style="state2" data="100">100</van-col>
-      <van-col span="8" @click="btn150" :style="state3" data="150">150</van-col>
-      <van-col span="8" @click="btn200" :style="state4" data="200">200</van-col>
-      <van-col span="8" @click="btn250" :style="state5" data="250">250</van-col>
-      <van-col span="8" @click="btn300" :style="state6" data="300">300</van-col>
-    </van-row>
-    <van-row class="pay_money" type="flex" justify="space-around">
-      <van-col span="12" class="left">到账金额</van-col>
-      <van-col span="12" class="right">¥{{ Number(money -  proportion * money).toFixed(2) }}元</van-col>
-    </van-row>
-    <van-row class="tip">
-      服务费 ¥{{ Number(proportion * money).toFixed(2) || 0}}元 <br>
-		  费率 {{ proportion*100|| 0}}%
-    </van-row>
-    <van-button class="amount" round type="danger" @click="recharge"
-      >立即充值</van-button
-    >
+    <template v-if="erp">
+      <!-- 充值 -->
+      <div class="recharge" v-if="erp">
+        <van-row class="balance" >
+          <van-col span="12">余额:<span style="color:rgba(242, 46, 60, 1)">{{cardBalance ? cardBalance : '0.00'}}</span>元</van-col>
+        </van-row>
+        <van-row class="rechargeInput" style="padding-top: 10px">
+          <div class="jg">
+            <span class="jgLabel">¥</span>
+            <van-field
+              readonly
+              label=" "
+              
+              placeholder="请输入充值金额( 元 )"
+              label-width="10px"
+              clickable
+              :value="money"
+              @touchstart.native.stop="show = true"
+            />
+            <van-number-keyboard
+              theme="custom"
+              :show="show"
+              :title="'¥' + money"
+              :hide-on-click-outside="false"
+              :maxlength="8"
+              extra-key="."
+              @input="handleInput"
+              @delete="handleDelete"
+              @close="handleClose"
+              close-button-text="确定"
+              @blur="show = false"
+            ></van-number-keyboard>
+          </div>
+        </van-row>
+        <van-overlay :show="overlayShow" @click="overlayShow = false" />
+        <van-row class="rechargeSelect" gutter="26px">
+          <van-col span="8" @click="btn50" :style="state1" data="50">50</van-col>
+          <van-col span="8" @click="btn100" :style="state2" data="100">100</van-col>
+          <van-col span="8" @click="btn150" :style="state3" data="150">150</van-col>
+          <van-col span="8" @click="btn200" :style="state4" data="200">200</van-col>
+          <van-col span="8" @click="btn250" :style="state5" data="250">250</van-col>
+          <van-col span="8" @click="btn300" :style="state6" data="300">300</van-col>
+        </van-row>
+        <van-row class="arrival" type="flex" justify="space-around">
+          <van-col span="12" class="left">到账金额</van-col>
+          <van-col span="12" class="right">¥{{ Number(money -  proportion * money).toFixed(2) }}元</van-col>
+        </van-row>
+        <!-- <van-row class="tip">
+          服务费 ¥{{ Number(proportion * money).toFixed(2) || 0}}元 <br>
+          费率 {{ proportion*100|| 0}}%
+        </van-row> -->
+        <van-button   type="danger" @click="recharge"
+          >立即充值</van-button
+        >
+      </div>
+    </template>
+    <div class="recharge2" v-if="noerp">
+      <van-row class="rechargeInput" style="padding-top: 10px">
+        <div class="jg">
+          <span class="jgLabel">¥</span>
+          <van-field
+            readonly
+            label=" "
+            
+            placeholder="请输入充值金额( 元 )"
+            label-width="10px"
+            clickable
+            :value="money"
+            @touchstart.native.stop="show = true"
+          />
+          <van-number-keyboard
+            theme="custom"
+            :show="show"
+            :title="'¥' + money"
+            :hide-on-click-outside="false"
+            :maxlength="8"
+            extra-key="."
+            @input="handleInput"
+            @delete="handleDelete"
+            @close="handleClose"
+            close-button-text="确定"
+            @blur="show = false"
+          ></van-number-keyboard>
+        </div>
+      </van-row>
+      <van-overlay :show="overlayShow" @click="overlayShow = false" />
+      <van-row class="rechargeSelect" gutter="26px">
+        <van-col span="8" @click="btn50" :style="state1" data="50">50</van-col>
+        <van-col span="8" @click="btn100" :style="state2" data="100">100</van-col>
+        <van-col span="8" @click="btn150" :style="state3" data="150">150</van-col>
+        <van-col span="8" @click="btn200" :style="state4" data="200">200</van-col>
+        <van-col span="8" @click="btn250" :style="state5" data="250">250</van-col>
+        <van-col span="8" @click="btn300" :style="state6" data="300">300</van-col>
+      </van-row>
+      <van-row class="arrival" type="flex" justify="space-around">
+        <van-col span="12" class="left">到账金额</van-col>
+        <van-col span="12" class="right">¥{{ Number(money -  proportion * money).toFixed(2) }}元</van-col>
+      </van-row>
+      <!-- <van-row class="tip">
+        服务费 ¥{{ Number(proportion * money).toFixed(2) || 0}}元 <br>
+        费率 {{ proportion*100|| 0}}%
+      </van-row> -->
+      <van-button   type="danger" @click="recharge"
+        >立即充值</van-button
+      >
+    </div>
+    <template v-if="erp">
+    <!-- 交易记录 -->
+      <div class="record" v-if="erp">
+        <van-row class="recordTitle">
+           <van-col span="16" class="left">交易记录</van-col>
+           <van-col  class="right" @click="record">更多</van-col>
+        </van-row>
+        <van-row class="list">
+          <van-list
+              class="listData"
+              :immediate-check="false"
+            >
+              <van-row class="listBoxCell" v-for="(item, index) in recordList" :key="index">
+                <van-col span="14">
+                  <van-row class="jlName">{{ item.shopName }}</van-row>
+                  <van-row class="jlTime">时间:{{ item.createTime }}</van-row>
+                </van-col>
+                <van-col span="10" class="jlMoney negative">
+                  <van-row class="jlBalance2" v-if="item.type==1">- {{ item.amt }}元</van-row>
+                  <van-row class="jlMoney just" v-if="item.type==3">+ {{ item.amt }}元</van-row>
+                  <van-row class="jlBalance" style="color:#000">余额:{{ item.balance }} 元</van-row></van-col>
+              </van-row>
+          </van-list>
+          <p class="loading" v-if="more" @click="record">点击查看更多</p>
+          <p class="loading" v-if="noMore">没有更多了</p>
+        </van-row>
+      </div>
+    </template>
     <van-loading
-      size="24px"
-      v-if="loading"
-      vertical
-      style="z-index: 999999; position: fixed; top: 40%; left: 0; right: 0"
-      >加载中...</van-loading
-    >
-    <van-overlay :show="loading" style="z-index: 100; position: fixed" />
+        size="24px"
+        v-if="loadingErp"
+        color="#fff"
+        vertical
+        style="z-index: 999999; position: fixed; top: 40%; left: 0; right: 0"
+        >加载中...</van-loading
+      >
+      <van-overlay :show="loadingErp" style="z-index: 100; position: fixed" />
   </div>
 </template>
 <script>
 import axios from "axios";
 import { Field, NumberKeyboard, Dialog, Toast } from "vant";
+import { returnFloat } from '@/assets/js/common.js'
 export default {
   data() {
     return {
+      loadingErp:false,
+      erp:false,
+      noerp:false,
       cardBalance:undefined,//余额
       show: false,
       loading: false,
       overlayShow: false,
       money: "0",
       env: null, //识别是否为扫描用户进入,以便直接进入支付跳转
-      state1: "color:#000;background: #ccc;",
-      state2: "color:#000;background: #ccc;",
-      state3: "color:#000;background: #ccc;",
-      state4: "color:#000;background: #ccc;",
-      state5: "color:#000;background: #ccc;",
-      state6: "color:#000;background: #ccc;",
+      state1: "color:#000;background: #EBEBEB;",
+      state2: "color:#000;background: #EBEBEB;",
+      state3: "color:#000;background: #EBEBEB;",
+      state4: "color:#000;background: #EBEBEB;",
+      state5: "color:#000;background: #EBEBEB;",
+      state6: "color:#000;background: #EBEBEB;",
       channelId: undefined,
       fanhui: false,
       proportion:0,//到账比例
       order:true,//管理员充值
-      title:undefined
+      title:undefined,
+      // 交易记录
+      more: false,
+      noMore: false,
+      finished: false,
+      recordList:[]
     };
   },
   watch: {
@@ -100,7 +197,35 @@ export default {
     [Toast.name]: Toast,
   },
   created() {
+    var url = window.location.href;
+    if(url.indexOf("token") > 1){
+      //("app进入")
+      if(this.getQueryVariable("token")){
+        this.erp = true
+        this.noerp = false
+        this.loadingErp = true
+        this.userQuery()
+        this.Balance()
+              this.recharge2()
+      }else{
+        //console.log("app进入")
+        Toast(this.getQueryVariable("无token传入!"))
+      }
+    }else if(this.getQueryVariable("type")){
+      //console.log("扫码游客进入")
+      localStorage.removeItem('type');
+      localStorage.removeItem('user');
+      localStorage.setItem("type",this.type)
+    }else{
+      localStorage.removeItem('user');
+      localStorage.removeItem('type');
+      //console.log("无user、type进入")
+    }
+
+
     if (this.$route.query.type) {
+      this.erp = false
+      this.noerp = true
       this.channelId = this.$route.query.type;
       localStorage.setItem("type",this.channelId)
       //console.log("channelId游客充值=",this.channelId);
@@ -139,10 +264,124 @@ export default {
     }
   },
   methods: {
+
+  //用户查询
+    userQuery(){
+      axios({//查询信息
+        method: 'get',
+        url: 'https://smartpark.caih.com/zkxt/api/thirdparty/v1/user/getZkUserByCipher?cipher=' + this.getQueryVariable("token"),
+        timeout: 10000,
+      }).then(res =>{
+        if(res.data?.data?.id){
+          //@ts-checkaxios.get(`/dxtop/staff/one?id=0001T110000000002HBL`).then(res2 => { //测试
+          axios.get(`/dxtop/staff/one?id=${res.data.data.id}`).then(res2 => { //验证充值信息是否同步
+            if(res2.data.data){
+              localStorage.setItem("user", res.data.data.id)
+              //localStorage.setItem("user", "0001T110000000002HBL") //测试
+              localStorage.setItem("cardId", res2.data.data.cardId)
+              this.Balance()
+              this.recharge2()
+            }else{
+              this.userNoAlert()
+            }
+            this.loadingErp = false
+          })
+        }else if(res.data?.data?.cardId){
+          this.loadingErp = false
+          Toast("用户卡号未绑定")
+        }else{
+          this.loadingErp = false
+          this.userNoAlert()
+        }
+      }).catch(err =>{
+        this.loadingErp = false
+        this.userNoAlert()
+      });
+    },
+    userNoAlert(){
+      Toast("当前账户初始流程中,请耐心等待或联系管理人员查询")
+    },
+    getQueryVariable(variable){//参数获取
+      //window.location.search.substring(1);
+      var query = window.location.hash.substring(3);
+      var vars = query.split("&");
+      for (var i=0;i<vars.length;i++) {
+        var pair = vars[i].split("=");
+        if(pair[0] == variable){
+          if(variable =="token"){
+            this.user = pair[1]
+          }else if(variable =="type"){
+            this.type = pair[1]
+          }
+          return pair[1];
+        }
+      }
+      return(false);
+    },
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    //余额
+    Balance(){ 
+      this.erp = true
+      if(localStorage.getItem("cardId")){
+        //axios.get(`/dxtop/staff/cardBalance?card=3186100745`).then(res => { //测试
+        axios.get(`/dxtop/staff/cardBalance?card=${localStorage.getItem("cardId")}`).then(res => { //验证充值信息是否同步
+          if(res.data.data){
+            this.cardBalance = returnFloat(res.data.data)
+          }else{
+            Toast(res.data.msg)
+            this.cardBalance = "0.00"
+          }
+        })
+      }else{
+        this.cardBalance = "0.00"
+      }
+    },
+    //交易记录
+    recharge2(){
+      this.erp = true
+      axios.post(`/dxtop/charge/cordPage`,{
+        "startTime":undefined, 
+        "endTime":undefined,
+        "size":5,
+        "current":1,
+        "userId":localStorage.getItem("user")
+      }).then(res => {
+        if (res?.data?.data?.records.length > 0) {
+          let data = res.data.data.records
+          for(let i =0;i<data.length;i++){
+            this.recordList.push(data[i])
+            this.recordList[i].balance = returnFloat(data[i].balance)
+          }
+          if(res.data.data.total>5){
+            this.more = true
+          }
+        } else {
+          this.noMore = true
+        }
+      })
+    },
+    //跳转
+    record(){
+      this.$router.push({ path: "/record"})
+    },
+    //chong
     proportionData(){
       if(localStorage.getItem("user")){
         axios.get(`/dxtop/staff/one`,{params:{"id":localStorage.getItem("user")}}).then(res => {//res.msg
-          //console.log(res)
           if(res.data.data.proportion){
             this.proportion = Number(1 - res.data.data.proportion).toFixed(2)
           }
@@ -152,12 +391,12 @@ export default {
       }
     },
     handleInput(key) {
-      (this.state1 = "color:#000;background: #ccc;"),
-        (this.state2 = "color:#000;background: #ccc;"),
-        (this.state3 = "color:#000;background: #ccc;"),
-        (this.state4 = "color:#000;background: #ccc;"),
-        (this.state5 = "color:#000;background: #ccc;"),
-        (this.state6 = "color:#000;background: #ccc;"),
+      (this.state1 = "color:#000;background: #EBEBEB;"),
+        (this.state2 = "color:#000;background: #EBEBEB;"),
+        (this.state3 = "color:#000;background: #EBEBEB;"),
+        (this.state4 = "color:#000;background: #EBEBEB;"),
+        (this.state5 = "color:#000;background: #EBEBEB;"),
+        (this.state6 = "color:#000;background: #EBEBEB;"),
         (this.money = this.money + "");
       if (this.money === "" && key === ".") {
         this.money = "0";
@@ -277,55 +516,55 @@ export default {
     },
     btn50() {
       (this.state1 = "color:#fff;background:rgba(242, 46, 60, 1);"),
-        (this.state2 = "color:#000;background: #ccc;"),
-        (this.state3 = "color:#000;background: #ccc;"),
-        (this.state4 = "color:#000;background: #ccc;"),
-        (this.state5 = "color:#000;background: #ccc;"),
-        (this.state6 = "color:#000;background: #ccc;"),
+        (this.state2 = "color:#000;background: #EBEBEB;"),
+        (this.state3 = "color:#000;background: #EBEBEB;"),
+        (this.state4 = "color:#000;background: #EBEBEB;"),
+        (this.state5 = "color:#000;background: #EBEBEB;"),
+        (this.state6 = "color:#000;background: #EBEBEB;"),
         (this.money = 50);
     },
     btn100() {
-      (this.state1 = "color:#000;background: #ccc;"),
+      (this.state1 = "color:#000;background: #EBEBEB;"),
         (this.state2 = "color:#fff;background: rgba(242, 46, 60, 1);"),
-        (this.state3 = "color:#000;background: #ccc;"),
-        (this.state4 = "color:#000;background: #ccc;"),
-        (this.state5 = "color:#000;background: #ccc;"),
-        (this.state6 = "color:#000;background: #ccc;"),
+        (this.state3 = "color:#000;background: #EBEBEB;"),
+        (this.state4 = "color:#000;background: #EBEBEB;"),
+        (this.state5 = "color:#000;background: #EBEBEB;"),
+        (this.state6 = "color:#000;background: #EBEBEB;"),
         (this.money = 100);
     },
     btn150() {
-      (this.state1 = "color:#000;background: #ccc;"),
-        (this.state2 = "color:#000;background: #ccc;"),
+      (this.state1 = "color:#000;background: #EBEBEB;"),
+        (this.state2 = "color:#000;background: #EBEBEB;"),
         (this.state3 = "color:#fff;background: rgba(242, 46, 60, 1);"),
-        (this.state4 = "color:#000;background: #ccc;"),
-        (this.state5 = "color:#000;background: #ccc;"),
-        (this.state6 = "color:#000;background: #ccc;"),
+        (this.state4 = "color:#000;background: #EBEBEB;"),
+        (this.state5 = "color:#000;background: #EBEBEB;"),
+        (this.state6 = "color:#000;background: #EBEBEB;"),
         (this.money = 150);
     },
     btn200() {
-      (this.state1 = "color:#000;background: #ccc;"),
-        (this.state2 = "color:#000;background: #ccc;"),
-        (this.state3 = "color:#000;background: #ccc;"),
+      (this.state1 = "color:#000;background: #EBEBEB;"),
+        (this.state2 = "color:#000;background: #EBEBEB;"),
+        (this.state3 = "color:#000;background: #EBEBEB;"),
         (this.state4 = "color:#fff;background: rgba(242, 46, 60, 1);"),
-        (this.state5 = "color:#000;background: #ccc;"),
-        (this.state6 = "color:#000;background: #ccc;"),
+        (this.state5 = "color:#000;background: #EBEBEB;"),
+        (this.state6 = "color:#000;background: #EBEBEB;"),
         (this.money = 200);
     },
     btn250() {
-      (this.state1 = "color:#000;background: #ccc;"),
-        (this.state2 = "color:#000;background: #ccc;"),
-        (this.state3 = "color:#000;background: #ccc;"),
-        (this.state4 = "color:#000;background: #ccc;"),
+      (this.state1 = "color:#000;background: #EBEBEB;"),
+        (this.state2 = "color:#000;background: #EBEBEB;"),
+        (this.state3 = "color:#000;background: #EBEBEB;"),
+        (this.state4 = "color:#000;background: #EBEBEB;"),
         (this.state5 = "color:#fff;background: rgba(242, 46, 60, 1);"),
-        (this.state6 = "color:#000;background: #ccc;"),
+        (this.state6 = "color:#000;background: #EBEBEB;"),
         (this.money = 250);
     },
     btn300() {
-      (this.state1 = "color:#000;background: #ccc;"),
-        (this.state2 = "color:#000;background: #ccc;"),
-        (this.state3 = "color:#000;background: #ccc;"),
-        (this.state4 = "color:#000;background: #ccc;"),
-        (this.state5 = "color:#000;background: #ccc;"),
+      (this.state1 = "color:#000;background: #EBEBEB;"),
+        (this.state2 = "color:#000;background: #EBEBEB;"),
+        (this.state3 = "color:#000;background: #EBEBEB;"),
+        (this.state4 = "color:#000;background: #EBEBEB;"),
+        (this.state5 = "color:#000;background: #EBEBEB;"),
         (this.state6 = "color:#fff;background: rgba(242, 46, 60, 1);"),
         (this.money = 300);
     },
@@ -333,85 +572,293 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-.ss {
-  background-color: red;
-  color: #fff;
-}
+// .ss {
+//   background-color: red;
+//   color: #fff;
+// }
 .mianBox {
   width: 100vw;
-  padding: 44px 10px 0 10px;
   height: 100vh;
   color: #000;
   box-sizing: border-box;
-  .balance {
-    font-size: 16px;
-    margin: 10px 0;
-  }
-  .contentBox {
-    width: 100%;
-    // height: 100%;
-    overflow-y: auto;
-    box-sizing: border-box;
-    label {
-      color: rgba(242, 46, 60, 1) !important;
+  background-color: #F5F5F5;
+  font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif;
+  letter-spacing: 1px;
+  overflow: hidden;
+  //充值
+  .recharge{
+    padding: 44px 10px 20px 10px;
+    background-color: #fff;
+    .balance {
+      font-size: 16px;
+      margin: 10px 0;
     }
-
-    .van-cell {
+    .rechargeInput {
+      width: 100%;
+      // height: 100%;
+      overflow-y: auto;
+      box-sizing: border-box;
+      .jg{
+        position: relative;
+        .jgLabel{
+          color: rgba(242, 46, 60, 1) ;
+          font-size: 16px;
+          position: absolute;
+          top:11px;
+          left:8px;
+          z-index: 1;
+        }
+      }
+      .van-cell {
+        font-size: 16px;
+        padding: 10px 6px;
+        border: 1px solid rgba(110, 109, 109, 0.2);
+      }
+      .an-field {
+        background-color: #EBEBEB;
+      }
+    }
+    .rechargeSelect{
+      margin-top: 0px;
+      & > .van-col {
+        padding: 10px 0;
+        background-color: #EBEBEB;
+        color: #000;
+        text-align: center;
+        font-size: 16px;
+        border-radius: 6px;
+        margin-top: 20px;
+        float: left;
+        width: 28%;
+      }
+      & > .van-col.active {
+        background: rgba(242, 46, 60, 1);
+        color: #fff;
+      }
+      & > .van-col:nth-child(3n-1),
+      & > .van-col:nth-child(3n) {
+        margin-left: 8%;
+      }
+    }
+    .arrival {
       font-size: 16px;
-      padding: 10px 6px;
-      border: 1px solid rgba(110, 109, 109, 0.2);
+      margin: 16px 0;
+      .left {
+        text-align: left;
+      }
+      .right {
+        text-align: right;
+        color: rgba(242, 46, 60, 1);
+      }
+    }
+    .tip {
+      font-size: 14px;
+      color: #ccc;
     }
-    .an-field {
-      background-color: #ccc;
+     .van-button {
+      margin-top:20px;
+      width: 350px;
+      height: 50px;
+      border-radius: 10px;
+      font-size: 18px;
     }
   }
-  .select_amount {
-    margin-top: 0px;
-    & > .van-col {
-      padding: 10px 0;
-      background-color: #ccc;
-      color: #000;
-      text-align: center;
+  .recharge2{
+    padding: 44px 10px 0px 10px;
+    background-color: #fff;
+    height:100%;
+    overflow: hidden;
+    .balance {
       font-size: 16px;
-      border-radius: 6px;
-      margin-top: 20px;
-      float: left;
-      width: 28%;
+      margin: 10px 0;
     }
-    & > .van-col.active {
-      background: rgba(242, 46, 60, 1);
-      color: #fff;
+    .rechargeInput {
+      width: 100%;
+      // height: 100%;
+      overflow-y: auto;
+      box-sizing: border-box;
+      .jg{
+        position: relative;
+        .jgLabel{
+          color: rgba(242, 46, 60, 1) ;
+          font-size: 16px;
+          position: absolute;
+          top:11px;
+          left:8px;
+          z-index: 100;
+        }
+      }
+      .van-cell {
+        font-size: 16px;
+        padding: 10px 6px;
+        border: 1px solid rgba(110, 109, 109, 0.2);
+      }
+      .an-field {
+        background-color: #EBEBEB;
+      }
     }
-    & > .van-col:nth-child(3n-1),
-    & > .van-col:nth-child(3n) {
-      margin-left: 8%;
+    .rechargeSelect{
+      margin-top: 0px;
+      & > .van-col {
+        padding: 10px 0;
+        background-color: #EBEBEB;
+        color: #000;
+        text-align: center;
+        font-size: 16px;
+        border-radius: 6px;
+        margin-top: 20px;
+        float: left;
+        width: 28%;
+      }
+      & > .van-col.active {
+        background: rgba(242, 46, 60, 1);
+        color: #fff;
+      }
+      & > .van-col:nth-child(3n-1),
+      & > .van-col:nth-child(3n) {
+        margin-left: 8%;
+      }
+    }
+    .arrival {
+      font-size: 16px;
+      margin: 16px 0;
+      .left {
+        text-align: left;
+      }
+      .right {
+        text-align: right;
+        color: rgba(242, 46, 60, 1);
+      }
+    }
+    .tip {
+      font-size: 14px;
+      color: #ccc;
+    }
+     .van-button {
+
+      width: 90%;
+      height: 50px;
+      border-radius: 10px;
+      font-size: 18px;
+      position: fixed;
+      bottom:30px;
+      left:5%
     }
   }
 
-  .pay_money {
-    font-size: 16px;
-    margin: 16px 0;
-    .left {
-      text-align: left;
+  //交易记录
+  .record{
+    margin-top:10px;
+    padding: 20px 10px 20px 10px;
+    background-color: #fff;
+    .recordTitle{
+      font-size: 18px;
+      position: relative;
+      .left{
+        padding-left:8px;
+        border-left:4px solid  rgba(242, 46, 60, 1);
+        line-height:20px;
+      }
+      .right{
+        position: absolute;
+        right:0;
+        text-align: right;
+        border-bottom:2px solid  #333;
+      }
     }
-    .right {
-      text-align: right;
-      color: rgba(242, 46, 60, 1);
+    .list{
+      margin-top:10px;
+     
+      overflow-y:scroll;
+      .loading{
+        text-align: center;
+        margin:20px auto 10px;
+        color:#ccc
+      }
+      .listBoxCell {
+        height: 75px;
+        width: 100%;
+        padding: 10px 10px 10px;
+        box-sizing: border-box;
+        display: flex;
+        align-items: center;
+        border-bottom: 1px solid rgba(237, 237, 237, 1);
+        .jlName {
+          font-size: 14px;
+          color: #000;
+        }
+        .jlTime {
+          margin-top: 10px;
+          font-size: 12px;
+          color: #ccc;
+        }
+        .jlBalance {
+          margin-top: 5px;
+          font-size: 14px;
+          color: rgba(242, 46, 60, 1);
+        }
+        .jlBalance2 {
+          margin-top: 5px;
+          font-size: 16px;
+          color: rgba(242, 46, 60, 1);
+        }
+        .jlMoney {
+          text-align: right;
+          font-size: 16px;
+        }
+        .jlMoney.just {
+          color: rgba(56, 129, 253, 1);
+        }
+        .jlMoney.negative {
+          color: rgba(242, 46, 60, 1);
+        }
+      }
     }
+    
   }
-  .tip {
-    font-size: 14px;
-    color: #ccc;
+  
+  
+}
+
+
+
+
+
+
+
+/*特殊处理 */
+
+
+/deep/ .van-field__control{
+    color: rgba(242, 46, 60, 1) !important
   }
-  & > .van-button {
-    position: absolute;
-    bottom: 25px;
-    width: 350px;
-    height: 50px;
-    font-size: 18px;
+
+
+
+@media screen and (min-height:550px) and (max-height:570px){
+   .list{
+      height:170px;
   }
-  .van-field__label {
-    color: rgba(242, 46, 60, 1) !important;
+}
+@media screen and (min-height:600px) and (max-height:650px){
+   .list{
+      height:196px;
   }
 }
+@media screen and (min-height:651px) and (max-height:670px){
+   .list{
+      height:205px;
+  }
+}
+@media screen and (min-height:680px) and (max-height:740px){
+   .list{
+      height:225px;
+  }
+}
+@media screen and (min-height:800px){
+   .list{
+      height:330px;
+  }
+}
+
 </style>

+ 38 - 41
src/views/function/index.vue

@@ -5,59 +5,48 @@
     </van-row>
     <van-row class="contentBox">
       <van-row  type="flex" justify="space-between" gutter="10">
-        <van-col span="6">
+        <!-- <van-col span="6" class="function">
           <van-image :src="require('../../assets/image/function/icon1.png')" />
           <van-col >运营中心</van-col>
         </van-col>
-        <van-col span="6">
-          <van-image :src="require('../../assets/image/function/icon1.png')" />
+        <van-col span="6" class="function">
+          <van-image :src="require('../../assets/image/function/icon2.png')" />
           <van-col>车牌登记</van-col>
-        </van-col>
-        <van-col span="6">
-          <van-image :src="require('../../assets/image/function/icon1.png')" />
+        </van-col> -->
+        <van-col span="6" class="function">
+          <van-image :src="require('../../assets/image/function/icon3.png')" />
           <van-col >一卡通</van-col>
         </van-col>
-        <van-col span="6">
-          <van-image :src="require('../../assets/image/function/icon1.png')" />
+        <!-- <van-col span="6" class="function">
+          <van-image :src="require('../../assets/image/function/icon4.png')" />
           <van-col >智能会议</van-col>
-        </van-col>
+        </van-col> -->
       </van-row>
-      <van-row  type="flex" justify="space-between" gutter="10">
-        <van-col span="6">
-          <van-image :src="require('../../assets/image/function/icon1.png')" />
-          <van-col >运营中心</van-col>
-        </van-col>
-        <van-col span="6">
-          <van-image :src="require('../../assets/image/function/icon1.png')" />
-          <van-col>车牌登记</van-col>
-        </van-col>
-        <van-col span="6">
-          <van-image :src="require('../../assets/image/function/icon1.png')" />
-          <van-col >一卡通</van-col>
-        </van-col>
-        <van-col span="6">
-          <van-image :src="require('../../assets/image/function/icon1.png')" />
-          <van-col >智能会议</van-col>
-        </van-col>
-      </van-row>
-      <van-row  type="flex" justify="space-between" gutter="10">
-        <van-col span="6">
-          <van-image :src="require('../../assets/image/function/icon1.png')" />
+      <!-- <van-row  type="flex" justify="space-between" gutter="10">
+        <van-col span="6" class="function">
+          <van-image :src="require('../../assets/image/function/icon5.png')" />
           <van-col >智慧餐饮</van-col>
         </van-col>
-        <van-col span="6">
-          <van-image :src="require('../../assets/image/function/icon1.png')" />
-          <van-col>文印助手</van-col>
+        <van-col span="6" class="function">
+          <van-image :src="require('../../assets/image/function/icon6.png')" />
+          <van-col>访客申请</van-col>
         </van-col>
-        <van-col span="6">
-          <van-image :src="require('../../assets/image/function/icon1.png')" />
-          <van-col >一卡通</van-col>
+        <van-col span="6" class="function">
+          <van-image :src="require('../../assets/image/function/icon7.png')" />
+          <van-col >文印助手</van-col>
         </van-col>
-        <van-col span="6">
-          <van-image :src="require('../../assets/image/function/icon1.png')" />
-          <van-col >智能会议</van-col>
+        <van-col span="6" class="function">
+          <van-image :src="require('../../assets/image/function/icon8.png')" />
+          <van-col >厕卫管理</van-col>
         </van-col>
-      </van-row>
+      </van-row> -->
+      <!-- <van-row  type="flex" justify="space-between" gutter="10">
+        <van-col span="6" class="function">
+          <van-image :src="require('../../assets/image/function/icon9.png')" />
+          <van-col >智能阅览室</van-col>
+        </van-col>
+
+      </van-row> -->
     </van-row>
 
     <!-- <van-loading
@@ -115,19 +104,27 @@ export default {
       overflow: hidden;
       background-color: #fff;
       border-radius: 15px;
+      .function{
+        width:20%;margin:10px 2.5%;
+      }
       .van-row{
         .van-col{
           .van-col{
             width:100%;
-            font-size: 12px;
+            font-size: 10px;
             color:#323232;
             display: block;
+            width:100%;
             text-align: center;
+            margin-top:6px;
+            letter-spacing: 1px;
+            margin-left:-2px;
           }
           
         }
         .van-image{
           width:100%;
+          vertical-align: middle;
         }
        
       }

+ 5 - 3
src/views/home/index.vue

@@ -89,10 +89,12 @@ export default {
           timeout: 10000,
         }).then(res =>{
           if(res.data?.data?.id){
-            //axios.get(`/dxtop/staff/one?id=0001T110000000002HBL`).then(res2 => { //验证充值信息是否同步
-            axios.get(`/dxtop/staff/one?id=${res.data.data.id}`).then(res2 => { //验证充值信息是否同步
+            axios.get(`/dxtop/staff/one?id=0001T110000000002HBL`).then(res2 => { //验证充值信息是否同步
+            //axios.get(`/dxtop/staff/one?id=${res.data.data.id}`).then(res2 => { //验证充值信息是否同步
+            console.log(res.data.data.id)
               if(res2.data.data){
-                localStorage.setItem("user", res.data.data.id)
+                //localStorage.setItem("user", res.data.data.id)
+                localStorage.setItem("user", "0001T110000000002HBL")
                 localStorage.setItem("cardId", res2.data.data.cardId)
               }else{
                 this.userNoAlert()

+ 2 - 0
src/views/recharge/index.vue

@@ -343,6 +343,8 @@ export default {
   color: #000;
   padding-top: 44px;
   box-sizing: border-box;
+  font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif;
+  letter-spacing: 1px;
   .contentBox {
     width: 100%;
     height: auto;

+ 193 - 26
src/views/record/index.vue

@@ -60,16 +60,28 @@
         <!-- </van-pull-refresh> -->
       </van-tab>
     </van-tabs>
-    <!-- <van-datetime-picker
-      v-if="timeStatus"
-      v-model="currentDate"
-      type="date"
-      title="选择年月日"
-      :min-date="minDate"
-      :max-date="maxDate"
-      class="timeSelect"
-    /> -->
-    <van-cell
+    <div class="timeSelectWrap">
+      <p class="start" @click="start(1)">开始时间:{{startTime2}}</p>
+      <p class="end" @click="end(2)">结束时间:{{endTime2}}</p>
+      <van-button  size="mini" class="search" @click="search">搜索</van-button>
+      
+    </div>
+
+    <van-overlay :show="loading3" style="z-index: 1; position: fixed" />
+    <van-datetime-picker
+        v-if="timeStatus"
+        v-model="currentDate"
+        type="date"
+        title="选择年月日"
+        :min-date="minDate"
+        :max-date="maxDate"
+        class="timeSelect2"
+        @cancel="cancel"
+        @confirm="confirm"
+        
+      />
+    
+    <!-- <van-cell
       title="选择日期区间"
       :value="date"
       @click="show = true"
@@ -80,20 +92,26 @@
       type="range"
       @confirm="onConfirm"
       :min-date="minDate"
-    />
+    /> -->
   </div>
 </template>
 
 <script>
 import { Toast, } from "vant";
 import { DatetimePicker } from 'vant';
+import { getMonthStartDate, getMonthEndDate, getDateStrNowDay} from '@/assets/js/dataFormate.js'
+import { returnFloat } from '@/assets/js/common.js'
 export default {
   data() {
     return {
-      minDate: new Date(2020, 0, 1),
-      maxDate: new Date(2099, 10, 1),
-      currentDate: new Date(2021, 0, 17),
-      timeStatus:true,
+      minDate: new Date(2022, 1, 1),
+      maxDate: new Date(2099, 12, 31),
+      currentDate: new Date(),
+      timeStatus:false,
+      startTime2:undefined,
+      endTime2:undefined,
+      select:undefined,
+      loading3:false,
 
 
 
@@ -129,6 +147,8 @@ export default {
     [Toast.name]: Toast,
   },
   created() {
+    this.startTime2 = getMonthStartDate(),
+    this.endTime2 =  getDateStrNowDay(),
     this.height.height = document.documentElement.clientHeight - 120 + "px";
     if(localStorage.getItem("user")){
       this.charge()
@@ -138,6 +158,73 @@ export default {
   },
   
   methods: {
+    // 标准日转化为年月日
+    transformTime(date){
+      let data = new Date(date);
+      let d = data.getDate()
+
+      let m = (data.getMonth() + 1)
+      if(d<10){
+        d = "0" + d
+      }
+      if(m<10){
+        m = "0" + m
+      }
+      let datetime =  data.getFullYear() + "-" + m + "-" + d;
+      return datetime;
+    },
+
+    //时间选择开始
+    start(){
+      this.timeStatus = true
+      this.select = 1
+      this.loading3 = true
+    },
+    //时间选择结束
+    end(){
+      this.timeStatus = true
+      this.select = 2
+      this.loading3 = true
+    },
+    //时间选择搜索
+    search(){
+      this.page1 = 1
+      this.page2 = 1
+      let start = Date.parse(new Date(this.startTime2)) / 1000
+      let end = Date.parse(new Date(this.endTime2)) / 1000
+      if(start>end){
+        Toast("开始时间不能大于结束时间")
+      }else{
+        if(this.active == 0){
+          this.recharge = []
+          this.charge()
+        }else{
+          this.consumption = []
+          this.dish()
+        }
+      }
+    },
+    //时间选择取消
+    cancel(){
+      this.timeStatus = false
+      this.loading3 = false
+    },
+    //时间选择确定
+    confirm(val){
+      if(this.select == 1){
+        this.startTime2 = this.transformTime(val)
+      }else{
+        this.endTime2 = this.transformTime(val)
+      }
+      this.timeStatus = false
+      this.loading3 = false
+    },
+    // change(picker, value, colum) {
+    //   let startTime = picker.getValues();
+    //   console.log(startTime,value, colum)
+    //   // this.startTime = startTime[0] + ":" + startTime[1];
+    //   // console.log(this.startTime);
+    // },
     tab(name, title) {
       this.date = "";
       this.active = name
@@ -176,12 +263,14 @@ export default {
       }
     },
     charge(){//充值
+      this.finished = false
       axios.post(`/dxtop/charge/page`,{
-          "startTime":this.starTime, 
-          "endTime":this.endTime,
+          "startTime":this.startTime2 + " 00:00:00", 
+          "endTime":this.endTime2 + " 23:59:59",
           "size":this.current,
           "current":this.page1,
-          "userId":localStorage.getItem("user")
+           //"userId":"0001T110000000002HBL" //测试
+           "userId":localStorage.getItem("user")
       }).then(res => {
         if (res?.data?.data?.records.length > 0) {
           let data = res.data.data.records
@@ -192,41 +281,42 @@ export default {
               data[i].amt = "+ " + data[i].amt
             }
             this.recharge.push(data[i])
+            this.recharge[i].balance = returnFloat(data[i].balance)
           }
           this.page1 ++
           this.isref = true
-          
         } else {
           this.page1--
           this.isref = false
-          this.finished = true
         }
-        this.loading = false
+        this.finished = true
       }).catch(err =>{
         console.log(err)
       })
     },
     dish(){//消费
+    this.finished = false
       axios.post(`/dxtop/dish/page`,{
-        "startTime":this.starTime, 
-        "endTime":this.endTime,
+        "startTime":this.startTime2 + " 00:00:00", 
+        "endTime":this.endTime2 + " 23:59:59",
         "size":this.current,
         "current":this.page2,
-        "userId":localStorage.getItem("user")
+        //"userId":"0001T110000000002HBL" //测试
+         "userId":localStorage.getItem("user")
       }).then(res => {
         if (res?.data?.data?.records.length > 0) {
           let data = res.data.data.records
           for(let i =0;i<data.length;i++){
             this.consumption.push(data[i])
+            this.consumption[i].balance = returnFloat(data[i].balance)
           }
           this.page2 ++
           this.isref = true
         } else {
           this.page2--
           this.isref = false
-          this.finished = true
         }
-        this.loading = false
+        this.finished = true
       })
     },
     onLoad() {
@@ -268,6 +358,8 @@ export default {
   color: #000;
   box-sizing: border-box;
   overflow-y: hidden;
+  font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif;
+  letter-spacing: 1px;
 }
 .listBoxCell {
   height: 75px;
@@ -305,15 +397,64 @@ export default {
 .van-list {
   overflow-y: auto;
 }
+.timeSelectWrap{
+  width:100%;
+  position: absolute;
+  left:10px;
+  .start{
+    display: inline-block;
+    width:42%;
+    font-size: 12px;
+  }
+  .end{
+    display: inline-block;
+    width:42%;
+    font-size: 12px;
+  }
+  .search{
+    background-color: rgba(242, 46, 60, 1);;
+    border-radius: 6px;
+    margin-top:-2px;
+    color:#fff;
+    width:10%;
+    vertical-align: top;
+  }
+}
+.timeSelect2{
+  width:100%;
+  height:30%;
+  position: fixed; 
+  bottom:0;
+  // position: absolute;
+  // top: 92px; 
+  left: 0; 
+  z-index: 10
+}
+
+
+
 .timeSelect{
   // width:100%;
   // height:30%;
   // position: fixed; 
+  // bottom:0;
   position: absolute;
   top: 92px; 
   left: 0; 
   z-index: 10
 }
+
+
+
+
+
+
+
+
+
+
+
+
 .listData{
   margin-top:40px;
   height:calc(100vh - 10rem);
@@ -339,6 +480,32 @@ export default {
     margin-top:50px
   }
 }
+
+@media screen and (min-height:550px) and (max-height:570px){
+   .timeSelectWrap{
+      top:16%;
+  }
+}
+@media screen and (min-height:600px) and (max-height:650px){
+   .timeSelectWrap{
+      top:16%;
+  }
+}
+@media screen and (min-height:651px) and (max-height:670px){
+  .timeSelectWrap{
+      top:15%;
+  }
+}
+@media screen and (min-height:680px) and (max-height:740px){
+  .timeSelectWrap{
+      top:15%;
+  }
+}
+@media screen and (min-height:800px){
+  .timeSelectWrap{
+      top:13%;
+  }
+}
 </style>
 <style>
 /* .van-cell__title, .van-cell__value{

+ 1 - 1
vuepay/index.html

@@ -1 +1 @@
-<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><meta name="format-detection" content="telephone=yes"><link rel="icon" href="/vuepay/favicon.ico"><script src="https://res2.wx.qq.com/open/js/jweixin-1.6.0.js"></script><title></title><script></script><link href="/vuepay/static/css/about.b57d5f61.css" rel="prefetch"><link href="/vuepay/static/js/about.f7fc3ce9.js" rel="prefetch"><link href="/vuepay/static/css/app.c691c8f1.css" rel="preload" as="style"><link href="/vuepay/static/css/chunk-vendors.9e9d9b26.css" rel="preload" as="style"><link href="/vuepay/static/js/app.4cafe8ba.js" rel="preload" as="script"><link href="/vuepay/static/js/chunk-vendors.635a522f.js" rel="preload" as="script"><link href="/vuepay/static/css/chunk-vendors.9e9d9b26.css" rel="stylesheet"><link href="/vuepay/static/css/app.c691c8f1.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/vuepay/static/js/chunk-vendors.635a522f.js"></script><script src="/vuepay/static/js/app.4cafe8ba.js"></script></body></html>
+<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><meta name="format-detection" content="telephone=yes"><link rel="icon" href="/vuepay/favicon.ico"><script src="https://res2.wx.qq.com/open/js/jweixin-1.6.0.js"></script><title></title><script></script><link href="/vuepay/static/css/about.f187ba7f.css" rel="prefetch"><link href="/vuepay/static/js/about.81c931c7.js" rel="prefetch"><link href="/vuepay/static/css/app.c691c8f1.css" rel="preload" as="style"><link href="/vuepay/static/css/chunk-vendors.9e9d9b26.css" rel="preload" as="style"><link href="/vuepay/static/js/app.44b80ae2.js" rel="preload" as="script"><link href="/vuepay/static/js/chunk-vendors.635a522f.js" rel="preload" as="script"><link href="/vuepay/static/css/chunk-vendors.9e9d9b26.css" rel="stylesheet"><link href="/vuepay/static/css/app.c691c8f1.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/vuepay/static/js/chunk-vendors.635a522f.js"></script><script src="/vuepay/static/js/app.44b80ae2.js"></script></body></html>

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
vuepay/static/css/about.b57d5f61.css


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
vuepay/static/css/about.f187ba7f.css


BIN
vuepay/static/img/balance.372c2252.png


BIN
vuepay/static/img/recharge.09054179.png


BIN
vuepay/static/img/record.a43c4fa2.png


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
vuepay/static/js/about.81c931c7.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
vuepay/static/js/about.f7fc3ce9.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
vuepay/static/js/app.44b80ae2.js


Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff