hrjy 3 年之前
父节点
当前提交
916415b9a7
共有 69 个文件被更改,包括 858 次插入44 次删除
  1. 15 3
      app/admin/controller/auction/AuctionGu.php
  2. 2 0
      app/admin/controller/system/SystemStore.php
  3. 1 0
      app/admin/controller/user/User.php
  4. 1 1
      app/admin/model/auction/AuctionOrder.php
  5. 47 4
      app/admin/model/user/User.php
  6. 1 0
      app/admin/view/auction/auction_booking/index.php
  7. 1 1
      app/admin/view/auction/auction_order/index.php
  8. 4 3
      app/admin/view/store/store_product/create.php
  9. 19 4
      app/admin/view/system/system_store/add.php
  10. 96 2
      app/admin/view/user/user/index.php
  11. 2 2
      app/admin/view/user/user_auth/index.php
  12. 1 0
      app/admin/view/widget/images.php
  13. 1 1
      app/api/controller/auction/AuctionController.php
  14. 3 0
      app/api/controller/store/StoreProductController.php
  15. 11 9
      app/models/auction/Auction.php
  16. 16 10
      app/models/auction/AuctionOrder.php
  17. 2 3
      app/models/auction/AuctionProduct.php
  18. 25 0
      app/models/store/StoreProduct.php
  19. 1 1
      public/index/index.html
  20. 二进制
      public/index/static/img/img09.png
  21. 二进制
      public/index/static/img/index-inco2.8e82eedb.png
  22. 二进制
      public/index/static/img/index-inco4.8be0772c.png
  23. 二进制
      public/index/static/img/index-inco6.53843f45.png
  24. 二进制
      public/index/static/img/real.png
  25. 二进制
      public/index/static/img/sOut.png
  26. 二进制
      public/index/static/img/sOut1.b15336ad.png
  27. 二进制
      public/index/static/img/sOut1.png
  28. 0 0
      public/index/static/js/chunk-vendors.a9cbb497.js
  29. 0 0
      public/index/static/js/index.9519262b.js
  30. 0 0
      public/index/static/js/pages-category-category.9422e484.js
  31. 0 0
      public/index/static/js/pages-hall-gsell.08bbd94a.js
  32. 0 0
      public/index/static/js/pages-hall-hall.e3083229.js
  33. 0 0
      public/index/static/js/pages-hall-hallinfo.598980b0.js
  34. 0 0
      public/index/static/js/pages-hall-halllist.283e51a4.js
  35. 0 0
      public/index/static/js/pages-hall-halllist~pages-hall-hallpay~pages-hall-porducthall~pages-set-addressManage~pages-set-user~4ab5ce4c.1dad1f05.js
  36. 0 0
      public/index/static/js/pages-hall-halllist~pages-index-index.3bfda3c4.js
  37. 0 0
      public/index/static/js/pages-hall-hallpay.d3e738bd.js
  38. 0 0
      public/index/static/js/pages-hall-porducthall.f9f4ffd4.js
  39. 0 0
      public/index/static/js/pages-index-index.1c1b2afb.js
  40. 0 0
      public/index/static/js/pages-index-message.1342faa2.js
  41. 0 0
      public/index/static/js/pages-index-messageInfo.ac3d24e5.js
  42. 0 0
      public/index/static/js/pages-money-money.2209ceaa.js
  43. 0 0
      public/index/static/js/pages-money-moneyPwd.6bd501b9.js
  44. 0 0
      public/index/static/js/pages-money-qudou~pages-user-award~pages-user-myAppointment~pages-user-mygs~pages-user-myyue.227d03d9.js
  45. 0 0
      public/index/static/js/pages-money-recharge.508ee38f.js
  46. 0 0
      public/index/static/js/pages-money-wallet.1bfa3538.js
  47. 0 0
      public/index/static/js/pages-money-withdrawal.9d3c91ee.js
  48. 0 0
      public/index/static/js/pages-order-createOrder.97db69e8.js
  49. 0 0
      public/index/static/js/pages-order-order1.47e0b262.js
  50. 0 0
      public/index/static/js/pages-product-classify.b68978c5.js
  51. 0 0
      public/index/static/js/pages-product-list.d557c3ce.js
  52. 0 0
      public/index/static/js/pages-product-new.c4ee82ef.js
  53. 0 0
      public/index/static/js/pages-product-product.8bcf8289.js
  54. 0 0
      public/index/static/js/pages-product-reply.a0257f30.js
  55. 0 0
      public/index/static/js/pages-product-search.b3473623.js
  56. 0 0
      public/index/static/js/pages-product-seckill.9f4f61b1.js
  57. 214 0
      public/index/static/js/pages-public-forget.3eaf8de7.js
  58. 0 0
      public/index/static/js/pages-public-login.74738e2b.js
  59. 0 0
      public/index/static/js/pages-redirect-redirect.b1adb09a.js
  60. 0 0
      public/index/static/js/pages-set-password.0c68d2c8.js
  61. 0 0
      public/index/static/js/pages-set-phone.a361c265.js
  62. 0 0
      public/index/static/js/pages-set-set.59701325.js
  63. 0 0
      public/index/static/js/pages-set-userinfo.55a86f21.js
  64. 0 0
      public/index/static/js/pages-store-store.34594e50.js
  65. 0 0
      public/index/static/js/pages-store-storeInfo.90f598f9.js
  66. 0 0
      public/index/static/js/pages-user-approve.2c12b797.js
  67. 0 0
      public/index/static/js/pages-user-myAppointment.0decd935.js
  68. 0 0
      public/index/static/js/pages-user-myproduct.263a7db6.js
  69. 395 0
      public/index/static/js/pages-user-user.49ef7549.js

+ 15 - 3
app/admin/controller/auction/AuctionGu.php

@@ -5,6 +5,7 @@ use app\admin\controller\AuthController;
 use app\admin\controller\Union;
 use app\admin\model\User;
 use crmeb\services\{ExpressService,
+    FormBuilder,
     JsonService,
     MiniProgramService,
     upload\Upload,
@@ -70,7 +71,8 @@ class AuctionGu extends AuthController
     {
         $f = [];
         $f[] = Form::input('name', '场馆名称')->col(12);
-        $f[] = Form::frameImageOne('image', '场次主图片(305*305px)', Url::buildUrl('admin/widget.images/index', array('fodder' => 'image')))->icon('image')->width('100%')->height('500px');
+        $f[] = Form::frameImageOne('image', '主图片(305*305px)', Url::buildUrl('admin/widget.images/index', array('fodder' => 'image')))->icon('image')->width('100%')->height('500px');
+        $f[] = Form::frameImages('slider_image', '轮播图(640*640px)', Url::buildUrl('admin/widget.images/index', array('fodder' => 'slider_image')))->maxLength(3)->icon('images')->width('100%')->height('500px');
         $f[] = Form::radio('status', '状态', 1)->options([['label' => '开启', 'value' => 1], ['label' => '关闭', 'value' => 0]]);
         $f[] = Form::select('uid', '绑定用户')->setOptions(function () {
             $model = new \app\models\user\User();
@@ -98,18 +100,22 @@ class AuctionGu extends AuthController
             'image',
             'sort',
             'info',
-            'uid'
+            'uid',
+            'slider_image'
         ]);
         $validate = Validate::rule('name', 'require')->rule([
             'name' => 'require',
             'image' => 'require',
             'uid' => 'require',
+            'slider_image' => 'require'
         ]);
         $validate->message([
             'name.require' => '名称不能为空',
             'image.require' => '图片不能为空',
             'uid.require' => '请绑定用户',
+            'slider_image.require' => '轮播图不能为空',
         ]);
+        $data['slider_image'] = json_encode($data['slider_image']);
         if (!$validate->check($data)) {
             return Json::fail($validate->getError());
         }
@@ -168,6 +174,7 @@ class AuctionGu extends AuthController
         $f = [];
         $f[] = Form::input('name', '场馆名称',$data->getData('name'))->col(12);
         $f[] = Form::frameImageOne('image', '场次主图片(305*305px)', Url::buildUrl('admin/widget.images/index', array('fodder' => 'image')), $data->getData('image'))->icon('image')->width('100%')->height('500px');
+        $f[] = Form::frameImages('slider_image', '商品轮播图(640*640px)', Url::buildUrl('admin/widget.images/index', array('fodder' => 'slider_image')), json_decode($data->getData('slider_image'), 1))->maxLength(5)->icon('images')->width('100%')->height('500px');
         $f[] = Form::radio('status', '状态', $data->getData('status'))->options([['label' => '开启', 'value' => 1], ['label' => '关闭', 'value' => 0]]);
         $f[] = Form::select('uid', '绑定用户',(string)$data->getData('uid'))->setOptions(function () {
             $model = new \app\models\user\User();
@@ -205,22 +212,27 @@ class AuctionGu extends AuthController
             'sort',
             'info',
             'uid',
-            'status'
+            'status',
+            'slider_image'
         ]);
 
         $validate = Validate::rule('name', 'require')->rule([
             'name' => 'require',
             'image' => 'require',
             'uid' => 'require',
+            'slider_image' => 'require'
         ]);
         $validate->message([
             'name.require' => '名称不能为空',
             'image.require' => '图片不能为空',
             'uid.require' => '请绑定用户',
+            'slider_image.require' => '轮播图不能为空',
+
         ]);
         if (!$validate->check($data)) {
             return Json::fail($validate->getError());
         }
+        $data['slider_image'] = json_encode($data['slider_image']);
         $user = \app\models\user\User::where('uid', $data['uid'])->find();
         if ($user['spread_uid']){
             $user['spread_uid'] = 0; // 更新用户上级

+ 2 - 0
app/admin/controller/system/SystemStore.php

@@ -3,6 +3,8 @@
 namespace app\admin\controller\system;
 
 use app\admin\controller\AuthController;
+use app\models\system\SystemCity;
+use crmeb\services\CacheService;
 use crmeb\services\JsonService;
 use crmeb\services\JsonService as Json;
 use app\admin\model\system\SystemStore as SystemStoreModel;

+ 1 - 0
app/admin/controller/user/User.php

@@ -344,6 +344,7 @@ class User extends AuthController
             ['sex', ''],
             ['level', ''],
             ['group_id', ''],
+            ['excel', 0],
         ]);
         return Json::successlayui(UserModel::getUserList($where));
     }

+ 1 - 1
app/admin/model/auction/AuctionOrder.php

@@ -209,7 +209,7 @@ class AuctionOrder extends BaseModel
                 'pm' => 1,
                 'title' => '预约卷退还',
                 'category' => 'anticipate',
-                'type' => 'add_anticipate',
+                'type' => 'th_anticipate',
                 'mark' => '退还'.$anticipate.'预约卷扣除'.$booking['deduction'],
                 'add_time' => time(),
                 'number' => $anticipate,

+ 47 - 4
app/admin/model/user/User.php

@@ -138,9 +138,13 @@ class User extends BaseModel
 
     // 获取用户实名认证信息列表
     public static function authlist($where) {
-        $model = new self;
-        $list['data'] = $model->where('is_auth','<>',0)->page((int)$where['page'], (int)$where['limit'])->select();
-
+        $model = self::where('is_auth','>',0);
+        if ($where['is_auth'] == 1){
+            $model->where('is_auth', '=',1);
+        }elseif ($where['is_auth'] == 2){
+            $model->where('is_auth', '=',2);
+        }
+        $list['data'] = $model->page((int)$where['page'], (int)$where['limit'])->select();
         foreach ($list['data'] as $i => $v){
             if($v['is_auth']==1){
                 $list['data'][$i]['is_auth']="待审核";
@@ -152,7 +156,7 @@ class User extends BaseModel
                 $list['data'][$i]['is_auth']="已拒绝";
             }
         }
-        $list['count'] = $model->where('is_auth','<>',0)->count();
+        $list['count'] = self::where('is_auth','<>',0)->count();
         return $list;
 
     }
@@ -210,10 +214,49 @@ class User extends BaseModel
                     $item['vip_name'] = '馆长';
                 }
             });//->toArray();
+        if (isset($where['excel']) && $where['excel'] == 1) {
+            $list = self::setWherePage(self::setWhere($where), $where, ['w.sex', 'w.province', 'w.city', 'u.status', 'u.is_promoter'], ['u.nickname', 'u.uid'])->alias('u')->join('WechatUser w', 'u.uid=w.uid')->select();
+            self::SaveExcel($list);
+        }
         $count = self::setWherePage(self::setWhere($where), $where, ['w.sex', 'w.province', 'w.city', 'u.status', 'u.is_promoter'], ['u.nickname', 'u.uid'])->alias('u')->join('WechatUser w', 'u.uid=w.uid')->count();
         return ['count' => $count, 'data' => $list];
     }
 
+
+    /*
+    * 保存并下载excel
+    * $list array
+    * return
+    */
+    public static function SaveExcel($list)
+    {
+        $export = [];
+        foreach ($list as $index => $item) {
+            if ($item['is_auth']  == 0 ){
+                $is_auth = '未实名认证';
+            }elseif ($item['is_auth'] == 1){
+                $is_auth ='待审核';
+            }elseif ($item['is_auth'] == 2){
+                $is_auth ='已实名';
+            }
+            $export[] = [
+                $item['uid'],
+                $item['account'],
+                $item['nickname'],
+                $item['phone'],
+                $item['real_name'],
+                $item['card_id'],
+                self::where('uid',$item['uid'])->find()['now_money'],
+                $item['anticipate'],
+                $is_auth,
+            ];
+        }
+        PHPExcelService::setExcelHeader(['ID', '账号', '昵称', '手机号', '真实姓名', '身份证号', '余额','艺金券', '实名认证'])
+            ->setExcelTile('用户导出' . date('YmdHis', time()), '订单信息' . time(), ' 生成时间:' . date('Y-m-d H:i:s', time()))
+            ->setExcelContent($export)
+            ->ExcelSave();
+    }
+
     /**
      *  修改用户状态
      * @param $uids 用户uid

+ 1 - 0
app/admin/view/auction/auction_booking/index.php

@@ -145,6 +145,7 @@
             {field: 'account', title: '账号', templet: '#account',  align: 'center'},
             {field: 'nickname', title: '呢称', templet: '#nickname',  align: 'center'},
             {field: 'anticipate', title: '预约卷', templet: '#price',  align: 'center', style : 'color: #DC143C;'},
+            {field: 'deduction', title: '扣除', templet: '#price',  align: 'center', style : 'color: #DC143C;'},
             {field: 'frequency', title: '场次', templet: '#frequency',  align: 'center'},
             {field: 'status', title: '状态', templet: '#status', align: 'center'},
             {field: 'create_time', title: '预约时间', templet: '#date', align: 'center'},

+ 1 - 1
app/admin/view/auction/auction_order/index.php

@@ -415,7 +415,7 @@
                     this.where['auction_id'] = auction_id;
                     this.where['gu_id'] = gu_id;
                     this.where.excel = 1;
-                    location.href = layList.U({c: 'Auction.auction_order', a: 'list', q: this.where});
+                    location.href = layList.U({c: 'auction.auction_order', a: 'list', q: this.where});
                     this.where.excel = 0;
                 }
             },

+ 4 - 3
app/admin/view/store/store_product/create.php

@@ -859,7 +859,7 @@
                                     <div class="layui-col-xs12 layui-col-sm4 layui-col-md4">
                                         <div class="grid-demo grid-demo-bg1">
                                             <div class="layui-form-item">
-                                                <label class="layui-form-label">精品推荐</label>
+                                                <label class="layui-form-label">医斯佳专区</label>
                                                 <div class="layui-input-block">
                                                     <input type="radio" name="is_best" lay-filter="is_best" value="1" title="开启"
                                                            :checked="formData.is_best == 1 ? true : false">
@@ -872,7 +872,7 @@
                                     <div class="layui-col-xs12 layui-col-sm4 layui-col-md4">
                                         <div class="grid-demo grid-demo-bg1">
                                             <div class="layui-form-item">
-                                                <label class="layui-form-label">首发新品</label>
+                                                <label class="layui-form-label">CBB专区</label>
                                                 <div class="layui-input-block">
                                                     <input type="radio" name="is_new" lay-filter="is_new" value="1" title="开启"
                                                            :checked="formData.is_new == 1 ? true : false">
@@ -885,7 +885,7 @@
                                     <div class="layui-col-xs12 layui-col-sm4 layui-col-md4">
                                         <div class="grid-demo grid-demo-bg1">
                                             <div class="layui-form-item">
-                                                <label class="layui-form-label">优品推荐</label>
+                                                <label class="layui-form-label">置换</label>
                                                 <div class="layui-input-block">
                                                     <input type="radio" name="is_good" lay-filter="is_good" value="1" title="开启"
                                                            :checked="formData.is_good == 1 ? true : false">
@@ -956,6 +956,7 @@
 </div>
 <script>
     var id = {$id};
+    var pages = {$page};
     new Vue({
         el: '#app',
         data: {

+ 19 - 4
app/admin/view/system/system_store/add.php

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="zh-CN">
+<html>
 <head>
     {include file="public/head"}
 
@@ -116,7 +116,7 @@
                                                 </div>
                                             </template>
                                         </div>
-                                        <div class="ivu-upload" style="display: inline-block; width: 58px;" @click="openWindows('选择图片','{:Url('widget.images/index',['fodder'=>'slider_image'])}',{w:900,h:550})" v-if="!form.slider_image">
+                                        <div class="ivu-upload" style="display: inline-block; width: 58px;" @click="uploadImage('slider_image')">
                                             <div class="ivu-upload ivu-upload-drag">
                                                 <div style="width: 58px; height: 58px; line-height: 58px;">
                                                     <i class="ivu-icon ivu-icon-camera" style="font-size: 20px;"></i>
@@ -210,8 +210,8 @@
                         phone:storeData.phone || '',
                         address:storeData.address || [],
                         image:storeData.image || '',
-                        slider_image:storeData.slider_image ,
-                        images:storeData.images ,
+                        slider_image:storeData.slider_image || [] ,
+                        images:storeData.images || [] ,
                         detailed_address:storeData.detailed_address || '',
                         latlng:storeData.latlng || '',
                         valid_time:storeData.valid_time || [],
@@ -221,6 +221,21 @@
                 }
             },
             methods:{
+                U: function (opt) {
+                    var m = opt.m || 'admin', c = opt.c || window.controlle || '', a = opt.a || 'index', q = opt.q || '',
+                        p = opt.p || {};
+                    var params = Object. keys(p).map(function (key) {
+                        return key + '/' + p[key];
+                    }).join('/');
+                    var gets = Object.keys(q).map(function (key) {
+                        return key+'='+ q[key];
+                    }).join('&');
+
+                    return '/' + m + '/' + c + '/' + a + (params == '' ? '' : '/' + params) + (gets == '' ? '' : '?' + gets);
+                },
+                uploadImage: function (name) {
+                    return this.createFrame('选择图片',this.U({c:"widget.images",a:'index',p:{fodder:name}}),{h:545,w:900});
+                },
                 changeDayTime:function(date){
                     this.$set(this.form,'day_time',date);
                 },

+ 96 - 2
app/admin/view/user/user/index.php

@@ -65,7 +65,7 @@
                         <div class="layui-inline">
                             <label class="layui-form-label">姓名编号:</label>
                             <div class="layui-input-inline">
-                                <input type="text" name="nickname" lay-verify="nickname" style="width: 100%" autocomplete="off" placeholder="请输入姓名、编号、手机号" class="layui-input">
+                                <input id="nickname" type="text" name="nickname" lay-verify="nickname" style="width: 100%" autocomplete="off" placeholder="请输入姓名、编号、手机号" class="layui-input">
                             </div>
                         </div>
                         <div class="layui-inline">
@@ -121,7 +121,7 @@
                         <div class="layui-inline">
                             <label class="layui-form-label">会员分组:</label>
                             <div class="layui-input-inline">
-                                <select name="group_id" lay-verify="group" lay-filter='group' id="group">
+                                <select id="group" name="group_id" lay-verify="group" lay-filter='group' id="group">
                                     <option value="" id="group-top">全部</option>
                                 </select>
                             </div>
@@ -186,6 +186,12 @@
                             </div>
                         </div>
                     </div>
+                    <div class="layui-col-lg12" id="app1">
+                        <button @click="excel" type="button"
+                                class="layui-btn layui-btn-warm layui-btn-sm export" type="button">
+                            <i class="fa fa-floppy-o" style="margin-right: 3px;"></i>导出
+                        </button>
+                    </div>
                     <div class="layui-form-item">
                         <label class="layui-form-label">
                             <button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="" lay-filter="search" >
@@ -544,6 +550,94 @@
             }).toggle();
         }
     }
+    require(['vue'], function (Vue) {
+        new Vue({
+            el: "#app1",
+            data: {
+                badge: [],
+                where: {
+                    nickname: '',
+                    group: '',
+                    excel: 0,
+                },
+                showtime: false,
+            },
+            watch: {
+                'where.status': function () {
+                    this.where.excel = 0;
+                    this.getBadge();
+                    layList.reload(this.where, true);
+                },
+                'where.data': function () {
+                    this.where.excel = 0;
+                    this.getBadge();
+                    layList.reload(this.where, true);
+                },
+                'where.type': function () {
+                    this.where.excel = 0;
+                    this.getBadge();
+                    layList.reload(this.where, true);
+                },
+                'where.pay_type': function () {
+                    this.where.excel = 0;
+                    this.getBadge();
+                    layList.reload(this.where, true);
+                }
+            },
+            methods: {
+                setData: function (item) {
+                    var that = this;
+                    if (item.is_zd == true) {
+                        that.showtime = true;
+                        this.where.data = this.$refs.date_time.innerText;
+                    } else {
+                        this.showtime = false;
+                        this.where.data = item.value;
+                    }
+                },
+                getBadge: function () {
+                    var that = this;
+                    layList.basePost(layList.Url({c: 'order.store_order', a: 'getBadge'}), this.where, function (rem) {
+                        that.badge = rem.data;
+                    });
+                },
+                search: function () {
+                    this.where.excel = 0;
+                    this.getBadge();
+                    layList.reload(this.where, true);
+                },
+                refresh: function () {
+                    layList.reload();
+                    this.getBadge();
+                },
+                excel: function () {
+
+                    var nickname = $('#nickname').val();
+                    var group = $('#group').val();
+
+                    this.where['nickname'] = nickname;
+                    this.where['group'] = group;
+                    this.where.excel = 1;
+                    location.href = layList.U({c: 'user.user', a: 'get_user_list', q: this.where});
+                    this.where.excel = 0;
+                }
+            },
+            mounted: function () {
+                var that = this;
+                that.getBadge();
+                window.formReload = this.search;
+                layList.laydate.render({
+                    elem: this.$refs.date_time,
+                    trigger: 'click',
+                    eventElem: this.$refs.time,
+                    range: true,
+                    change: function (value) {
+                        that.where.data = value;
+                    }
+                });
+            }
+        })
+    });
 
 </script>
 {/block}

+ 2 - 2
app/admin/view/user/user_auth/index.php

@@ -13,8 +13,8 @@
                                 <div class="layui-input-block">
                                     <select name="is_show">
                                         <option value="">审核状态</option>
-                                        <option value="1">已审核</option>
-                                        <option value="0">未审核</option>
+                                        <option value="2">已通过</option>
+                                        <option value="1">待审核</option>
                                     </select>
                                 </div>
                             </div>

+ 1 - 0
app/admin/view/widget/images.php

@@ -205,6 +205,7 @@
             useImages:function(){
                 if(!this.selectImages.length) return;
                 //判断表单限制图片个数
+                console.log(this.selectImages);
                 if(typeof parent.$f != 'undefined'){
                     //已有图片个数
                     var nowpics = parent.$f.getValue(parentinputname).length,

+ 1 - 1
app/api/controller/auction/AuctionController.php

@@ -192,7 +192,7 @@ class AuctionController
         $me['anticipate'] = $me['anticipate'] + $data['anticipate'];// 增加预约卷
         try {
             Db::startTrans();
-            UserBill::expend('艺金券减少',$user['uid'], 'anticipate', 'reduce_anticipate', $data['anticipate'], 0, $user['anticipate'], '转账给('.$me['nickname'].')'.$data['anticipate'].'预约卷');
+            UserBill::expend('艺金券减少',$user['uid'], 'anticipate', 'reduce_anticipate', $data['anticipate'], 0, $user['anticipate'], '转账给('.$me['nickname'].'-'.$me['uid'].')'.$data['anticipate'].'预约卷');
             UserBill::income('艺金券增加',$me['uid'], 'anticipate', 'add_anticipate', $data['anticipate'], 0, $me['anticipate'], '接收('.$user['nickname'].'-'.$user['uid'].')转账'.$data['anticipate'].'预约卷');
             $user->save();
             $me->save();

+ 3 - 0
app/api/controller/store/StoreProductController.php

@@ -244,6 +244,9 @@ class StoreProductController
         } else if ($type == 4) {//TODO 促销单品
             $info['banner'] = sys_data('routine_home_benefit_banner') ?: [];//TODO 促销单品推荐图片
             $info['list'] = StoreProduct::getBenefitProduct('id,image,store_name,cate_id,price,ot_price,stock,unit_name,sort', 0, $page, $limit);//TODO 促销单品
+        } else if ($type == 5) {//TODO 促销单品
+            $info['banner'] = sys_data('routine_home_benefit_banner') ?: [];//TODO 置换
+            $info['list'] = StoreProduct::getGooProduct('id,image,store_name,cate_id,price,ot_price,stock,unit_name,sort', 0, $page, $limit);//TODO 促销单品
         }
         return app('json')->successful($info);
     }

+ 11 - 9
app/models/auction/Auction.php

@@ -40,25 +40,27 @@ class Auction extends BaseModel
 //        if ($data['advance']){
 //            $model->where('id', 'in', $id);
 //        }
-        $list = $model->select();
-        $list = count($list) ? $list->toArray() : [];
+        $slider_image = AuctionGu::where('id', $data['auction_gu_id'])->find();
+        $list['data'] = $model->select();
+        $list['data'] = count($list['data']) ? $list['data']->toArray() : [];
         if ($list){
-            foreach ($list as  $k =>$v)
+            foreach ($list['data'] as  $k =>$v)
             {
-                $list[$k]['time'] = strtotime($v['end_time']);
-                $list[$k]['day'] = date('Y-m-d H:i:s', strtotime($v['end_time']));
+                $list['data'][$k]['time'] = strtotime($v['end_time']);
+                $list['data'][$k]['day'] = date('Y-m-d H:i:s', strtotime($v['end_time']));
                 $booking = AuctionBooking::where([['uid', '=', $uid], ['frequency', '=', $v['frequency']]])->field('auction_id')->select();
                 foreach ($booking as $value) {
                     $id[] = $value['auction_id'];
                 }
                 if (in_array($v['id'], $id)){
-                    $list[$k]['sta'] = 2; // 进入
-                    $list[$k]['str'] = '进入';
+                    $list['data'][$k]['sta'] = 2; // 进入
+                    $list['data'][$k]['str'] = '进入';
                 }else{
-                    $list[$k]['sta'] = 1; // 预约
-                    $list[$k]['str'] = '预约';
+                    $list['data'][$k]['sta'] = 1; // 预约
+                    $list['data'][$k]['str'] = '预约';
                 }
             }
+            $list['slider_image'] = json_decode($slider_image['slider_image']);
         }
         return $list;
     }

+ 16 - 10
app/models/auction/AuctionOrder.php

@@ -11,6 +11,7 @@ namespace app\models\auction;
 use app\admin\model\user\User;
 use app\admin\model\user\UserBill;
 use crmeb\services\product\Product;
+use crmeb\services\SystemConfigService;
 use crmeb\traits\ModelTrait;
 use crmeb\basic\BaseModel;
 
@@ -237,7 +238,7 @@ class AuctionOrder extends BaseModel
                 'pm' => 1,
                 'title' => '艺金券退还',
                 'category' => 'anticipate',
-                'type' => 'add_anticipate',
+                'type' => 'th_anticipate',
                 'mark' => '退还'.$anticipate.'艺金券扣除'.$booking['deduction'],
                 'add_time' => time(),
                 'number' => $anticipate,
@@ -255,22 +256,25 @@ class AuctionOrder extends BaseModel
      */
     public static function deduction()
     {
-        $hour = strtotime(date('Y-m-d H:i:s', strtotime('-1 hour'))); // 一小时以前
-        $time = $hour - 1800; // 一个半小时
+        $one = (int)SystemConfigService::get('one_time');
+        $tow = (int)SystemConfigService::get('tow_time');
+        $hour = time()-($one*60); // 一小时以前
+        $time =  time()-($tow*60); // 一个半小时
         $order = AuctionOrder::where('create_time', '<', $hour)->where('status', '=', 1)->select(); // 查询不在当前一个半小时内的所有订单
         if ($order){
             foreach ($order as $K => $v){
                 $product = AuctionProduct::where('id', $v['product_id'])->find();
                 $auction = Auction::where('id', $product['auction_id'])->find();
-                $booking = AuctionBooking::where([['uid', '=', $v['uid']], ['status', '=', 1], ['auction_id', '=', $auction['id']]])->find(); // 找到预约订单
+                $booking = AuctionBooking::where([['uid', '=', $v['uid']], ['status', '=', 1], ['auction_id', '=', $auction['id']], ['frequency', '=', $auction['frequency']]])->find(); // 找到预约订单
                 if (strtotime($v['create_time']) <= $hour and strtotime($v['create_time']) > $time){
                     // 订单在一个小时到一个半小时内
                     if ($booking){
                         if ($booking['deduction'] == 0){
                             $user = \app\models\user\User::where('uid', $v['collection_id'])->find();
-                            $user['anticipate'] = $user['anticipate'] + $auction['anticipate']/2; // 卖家增加预约卷
-                            $booking['deduction'] = $auction['anticipate']/2;
-                            UserBill::income('增加艺金券', $v['collection_id'], 'anticipate', 'add_anticipate',  $auction['anticipate']/2, $v['uid'], $user['anticipate'], '卖出订单未上传支付凭证,增加'.($auction['anticipate']/2).'艺金券');
+                            $user['anticipate'] = $user['anticipate'] + $booking['anticipate']/2; // 卖家增加预约卷
+                            $booking['deduction'] = $booking['anticipate']/2;
+                            UserBill::income('增加艺金券', $v['collection_id'], 'anticipate', 'ad_anticipate',  $booking['anticipate']/2, $v['uid'], $user['anticipate'], '买家未上传支付凭证,增加'.($booking['anticipate']/2).'艺金券');
+                            UserBill::expend('扣除艺金券', $v['uid'], 'anticipate', 'dec_anticipate',  $booking['anticipate']/2, $v['uid'], $booking['anticipate']/2, '未上传支付凭证,扣除冻结'.($booking['anticipate']/2).'艺金券');
                             $booking->save();
                             $user->save();
                         }
@@ -278,9 +282,11 @@ class AuctionOrder extends BaseModel
                 }elseif (strtotime($v['create_time']) <= $time){
                     if ($booking) {
                         $user = \app\models\user\User::where('uid', $v['collection_id'])->find();
-                        $user['anticipate'] = $user['anticipate'] + ($auction['anticipate'] - $auction['deduction']); // 卖家增加预约卷
-                        $booking['deduction'] = $auction['anticipate'];
-                        UserBill::income('增加艺金券', $v['collection_id'], 'anticipate', 'add_anticipate', $auction['anticipate'] - $auction['deduction'], $v['uid'], $user['anticipate'], '卖出订单未上传支付凭证,增加' . ($auction['anticipate'] - $auction['deduction']) . '艺金券');
+                        $dedu = $booking['anticipate'] - $booking['deduction'];
+                        $user['anticipate'] += $dedu; // 卖家增加预约卷
+                        $booking['deduction'] = $booking['anticipate'];
+                        UserBill::income('增加艺金券', $v['collection_id'], 'anticipate', 'ad_anticipate', $dedu, $v['uid'], $user['anticipate'], '买家未上传支付凭证,增加' .$dedu. '艺金券');
+                        UserBill::expend('扣除艺金券', $v['uid'], 'anticipate', 'dec_anticipate',  $dedu, $v['uid'], 0, '未上传支付凭证,扣除冻结'.$dedu.'艺金券');
                         $booking->save();
                         $user->save();
                         AuctionBooking::where('id', $booking['id'])->update(['status' => 2]); // 修改预约订单状态 为扣除

+ 2 - 3
app/models/auction/AuctionProduct.php

@@ -81,8 +81,7 @@ class AuctionProduct extends BaseModel
         foreach ($b as $k => $v){
             array_push($a, $v); // 卖出商品到最后
         }
-        if (isset($orderList) and empty($orderList)){
-
+        if (isset($orderList) and !empty($orderList)){
             $orderList = count($orderList) == 0? [] : $orderList->toArray();
             foreach ($orderList as $v){
                 $v['status'] = 2;// 已被购买
@@ -181,7 +180,7 @@ class AuctionProduct extends BaseModel
         $anticipate = round($product['hanging_price'] * $product['deduct']/100, 2); // 扣除
 
         $data['hanging_price'] = (int)$product['hanging_price'] + ($hanging_price * $bs);
-        $data['anticipate'] = $anticipate;
+        $data['anticipate'] = $anticipate*2;
 
 
         return $data;

+ 25 - 0
app/models/store/StoreProduct.php

@@ -338,6 +338,31 @@ class StoreProduct extends BaseModel
         return $data;
     }
 
+    /**
+     * 优惠产品
+     * @param string $field
+     * @param int $limit
+     * @return false|\PDOStatement|string|\think\Collection
+     */
+    public static function getGooProduct($field = '*', $limit = 0, $page = 0, $limits = 0)
+    {
+        $model = self::where('is_good', 1)
+            ->where('is_del', 0)->where('mer_id', 0)->where('stock', '>', 0)
+            ->where('is_show', 1)->field($field)
+            ->order('sort DESC, id DESC');
+        if ($limit) $model->limit($limit);
+        if ($page) $model->page((int)$page, (int)$limits);
+        $data = $model->select();
+        if (count($data) > 0) {
+            foreach ($data as $k => $v) {
+                $data[$k]['activity'] = self::activity($v['id']);
+                $integral = StoreProductAttrValueModel::where('product_id', $v['id'])->field('integral')->find();
+                $list[$k]['integral'] = $integral['integral'] ?? 0;
+            }
+        }
+        return $data;
+    }
+
     public static function cateIdBySimilarityProduct($cateId, $field = '*', $limit = 0)
     {
         $pid = StoreCategory::cateIdByPid($cateId) ?: $cateId;

+ 1 - 1
public/index/index.html

@@ -1,2 +1,2 @@
 <!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>商城</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
-            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/index/static/index.a5c69d49.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/index/static/js/chunk-vendors.d618d095.js></script><script src=/index/static/js/index.d89810cc.js></script></body></html>
+            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/index/static/index.a5c69d49.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/index/static/js/chunk-vendors.a9cbb497.js></script><script src=/index/static/js/index.9519262b.js></script></body></html>

二进制
public/index/static/img/img09.png


二进制
public/index/static/img/index-inco2.8e82eedb.png


二进制
public/index/static/img/index-inco4.8be0772c.png


二进制
public/index/static/img/index-inco6.53843f45.png


二进制
public/index/static/img/real.png


二进制
public/index/static/img/sOut.png


二进制
public/index/static/img/sOut1.b15336ad.png


二进制
public/index/static/img/sOut1.png


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/chunk-vendors.a9cbb497.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/index.9519262b.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-category-category.9422e484.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-hall-gsell.08bbd94a.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-hall-hall.e3083229.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-hall-hallinfo.598980b0.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-hall-halllist.283e51a4.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-hall-halllist~pages-hall-hallpay~pages-hall-porducthall~pages-set-addressManage~pages-set-user~4ab5ce4c.1dad1f05.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-hall-halllist~pages-index-index.3bfda3c4.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-hall-hallpay.d3e738bd.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-hall-porducthall.f9f4ffd4.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-index-index.1c1b2afb.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-index-message.1342faa2.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-index-messageInfo.ac3d24e5.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-money-money.2209ceaa.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-money-moneyPwd.6bd501b9.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-money-qudou~pages-user-award~pages-user-myAppointment~pages-user-mygs~pages-user-myyue.227d03d9.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-money-recharge.508ee38f.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-money-wallet.1bfa3538.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-money-withdrawal.9d3c91ee.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-order-createOrder.97db69e8.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-order-order1.47e0b262.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-product-classify.b68978c5.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-product-list.d557c3ce.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-product-new.c4ee82ef.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-product-product.8bcf8289.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-product-reply.a0257f30.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-product-search.b3473623.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-product-seckill.9f4f61b1.js


+ 214 - 0
public/index/static/js/pages-public-forget.3eaf8de7.js

@@ -0,0 +1,214 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["pages-public-forget"], {
+    "2b9a": function (t, i, n) {
+        "use strict";
+        var a = n("4ea4");
+        Object.defineProperty(i, "__esModule", {value: !0}), i.login = o, i.register = s, i.verify = r, i.getUserInfo = c, i.loginMobile = u, i.bangding = d;
+        var e = a(n("13b0"));
+
+        function o(t) {
+            return (0, e.default)({url: "/api/login", method: "post", data: t})
+        }
+
+        function s(t) {
+            return (0, e.default)({url: "/api/register", method: "post", data: t})
+        }
+
+        function r(t) {
+            return (0, e.default)({url: "/api/register/verify", method: "post", data: t})
+        }
+
+        function c(t) {
+            return (0, e.default)({url: "/api/userinfo", method: "get", data: t})
+        }
+
+        function u(t) {
+            return (0, e.default)({url: "/api/login/mobile", method: "post", data: t})
+        }
+
+        function d(t) {
+            return (0, e.default)({url: "/api/binding", method: "POST", data: t})
+        }
+    }, 3836: function (t, i, n) {
+        "use strict";
+        var a = n("b03f"), e = n.n(a);
+        e.a
+    }, "590b": function (t, i, n) {
+        "use strict";
+        var a = n("4ea4");
+        Object.defineProperty(i, "__esModule", {value: !0}), i.userEdit = o, i.logout = s, i.registerReset = r, i.binding = c, i.realName = u, i.is_pas = d, i.transaction = l;
+        var e = a(n("13b0"));
+
+        function o(t) {
+            return (0, e.default)({url: "/api/user/edit", method: "post", data: t})
+        }
+
+        function s(t) {
+            return (0, e.default)({url: "/api/logout", method: "get", data: t})
+        }
+
+        function r(t) {
+            return (0, e.default)({url: "/api/register/reset", method: "post", data: t})
+        }
+
+        function c(t) {
+            return (0, e.default)({url: "/api/binding", method: "post", data: t})
+        }
+
+        function u(t) {
+            return (0, e.default)({url: "/api/rname", method: "post", data: t})
+        }
+
+        function d(t) {
+            return (0, e.default)({url: "/api/is_pas", method: "get", data: t})
+        }
+
+        function l(t) {
+            return (0, e.default)({url: "/api/set_payment", method: "post", data: t})
+        }
+    }, "5bfb": function (t, i, n) {
+        var a = n("24fb");
+        i = a(!1), i.push([t.i, '@charset "UTF-8";\n/* 页面左右间距 */\n/* 文字尺寸 */\n/*文字颜色*/\n/* 边框颜色 */\n/*颜色*/\n/* 图片加载中颜色 */\n/* 行为相关颜色 */\n/* 功能栏字体大小 */\n/*功能栏左侧小图标*/uni-page-body[data-v-470dc43c]{min-height:100%;background-color:#fff}uni-page-body .container[data-v-470dc43c]{width:100%;padding:%?60?% %?70?%}.logo-img[data-v-470dc43c]{width:%?161?%;height:%?161?%;margin:auto;margin-top:%?52?%!important;margin-bottom:%?15?%!important;box-shadow:0 %?12?% %?13?% 0 rgba(68,150,157,.47);border-radius:50%}.logo-img uni-image[data-v-470dc43c]{width:%?161?%;height:%?161?%;border-radius:50%}.logo[data-v-470dc43c]{font-size:%?36?%;font-weight:400;color:#5dbc7c;text-align:center}.phone[data-v-470dc43c]{height:%?43?%!important;width:%?27?%!important}.codeimg[data-v-470dc43c]{height:%?39?%!important;width:%?31?%!important}.login_text[data-v-470dc43c]{border-radius:%?20?%;margin-top:%?80?%}.login_text .login_input[data-v-470dc43c]{margin-bottom:%?35?%;padding-bottom:%?60?%}.login_text .login_input .login_img[data-v-470dc43c]{height:%?35?%;width:%?31?%;margin-right:%?20?%}.login_text .login_input .login_img uni-image[data-v-470dc43c]{width:100%;height:100%}.login_text .login_input .uni-input[data-v-470dc43c]{text-align:left;width:%?400?%;font-size:%?32?%!important}.login_text .login_input .login_name[data-v-470dc43c]{color:#333}.login_text .login_input .login_name .code[data-v-470dc43c]{color:#5dbc7c;font-size:%?23?%;border-left:1px solid #eee;width:%?150?%;flex-shrink:0;text-align:center}.login[data-v-470dc43c]{background:#5dbc7c;margin-top:%?96?%;color:#fff;text-align:center;padding:%?26?% %?0?%;border-radius:%?20?%}body.?%PAGE?%[data-v-470dc43c]{background-color:#fff}', ""]), t.exports = i
+    }, "6e16": function (t, i, n) {
+        "use strict";
+        n.r(i);
+        var a = n("8da0"), e = n.n(a);
+        for (var o in a) "default" !== o && function (t) {
+            n.d(i, t, (function () {
+                return a[t]
+            }))
+        }(o);
+        i["default"] = e.a
+    }, "8da0": function (t, i, n) {
+        "use strict";
+        Object.defineProperty(i, "__esModule", {value: !0}), i.default = void 0;
+        var a = n("590b"), e = n("2b9a"), o = {
+            data: function () {
+                return {phone: "", code: "", password2: "", password: "", time: "", countDown: 0}
+            }, onLoad: function () {
+            }, watch: {
+                countDown: function (t) {
+                    0 == t && clearInterval(this.time)
+                }
+            }, methods: {
+                updatalogin: function () {
+                    var t = this;
+                    "" != t.phone ? /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(t.phone) || /(^1[3|4|5|6|7|8|9][0-9]{9}$)/.test(this.phone) ? "" != t.password ? "" != t.password2 ? t.password2 == t.password ? "" != t.code ? (0, a.registerReset)({
+                        account: t.phone,
+                        password: t.password,
+                        password2: t.password2,
+                        type: 1,
+                        captcha: t.code
+                    }).then((function (i) {
+                        t.$api.msg(i.msg), uni.navigateTo({url: "/pages/public/login"})
+                    })).catch((function (t) {
+                        console.log(t)
+                    })) : t.$api.msg("请输入验证码") : t.$api.msg("两次密码不正确") : t.$api.msg("请再次输入密码") : t.$api.msg("请输入密码") : t.$api.msg("请输入正确的邮箱或手机") : t.$api.msg("请输入邮箱")
+                }, verification: function () {
+                    var t = this;
+                    if ("" != this.phone) {
+                        if (/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(t.phone) || /(^1[3|4|5|6|7|8|9][0-9]{9}$)/.test(this.phone)) return !(t.countDown > 0) && (t.countDown = 60, t.time = setInterval((function () {
+                            t.countDown--
+                        }), 1e3), void (0, e.verify)({phone: t.phone, type: "login"}).then((function (t) {
+                            t.data;
+                            uni.showToast({title: "验证码已发送", duration: 2e3, position: "top", icon: "none"})
+                        })).catch((function (t) {
+                            console.log(t)
+                        })));
+                        t.$api.msg("请输入正确的邮箱或手机")
+                    } else this.$api.msg("请输入邮箱号码")
+                }
+            }
+        };
+        i.default = o
+    }, "98c9": function (t, i, n) {
+        t.exports = n.p + "static/img/log.34930231.png"
+    }, a62e: function (t, i, n) {
+        "use strict";
+        n.r(i);
+        var a = n("b1d8"), e = n("6e16");
+        for (var o in e) "default" !== o && function (t) {
+            n.d(i, t, (function () {
+                return e[t]
+            }))
+        }(o);
+        n("3836");
+        var s, r = n("f0c5"),
+            c = Object(r["a"])(e["default"], a["b"], a["c"], !1, null, "470dc43c", null, !1, a["a"], s);
+        i["default"] = c.exports
+    }, b03f: function (t, i, n) {
+        var a = n("5bfb");
+        "string" === typeof a && (a = [[t.i, a, ""]]), a.locals && (t.exports = a.locals);
+        var e = n("4f06").default;
+        e("01a20e48", a, !0, {sourceMap: !1, shadowMode: !1})
+    }, b1d8: function (t, i, n) {
+        "use strict";
+        var a;
+        n.d(i, "b", (function () {
+            return e
+        })), n.d(i, "c", (function () {
+            return o
+        })), n.d(i, "a", (function () {
+            return a
+        }));
+        var e = function () {
+            var t = this, i = t.$createElement, a = t._self._c || i;
+            return a("v-uni-view", {staticClass: "container"}, [a("v-uni-view", {staticClass: "logo-img"}, [a("v-uni-image", {
+                attrs: {
+                    src: n("98c9"),
+                    mode: ""
+                }
+            })], 1), a("v-uni-view", {staticClass: "logo"}, [t._v("易趣go")]), a("v-uni-view", {staticClass: "login_text"}, [a("v-uni-view", {staticClass: "login_input flex_item"}, [a("v-uni-view", {staticClass: "login_img"}, [a("v-uni-image", {
+                staticClass: "phone",
+                attrs: {src: "/static/img/phone.png"}
+            })], 1), a("v-uni-view", {staticClass: "login_name"}, [a("v-uni-input", {
+                staticClass: "uni-input",
+                attrs: {type: "text", focus: !0, placeholder: "请输入手机"},
+                model: {
+                    value: t.phone, callback: function (i) {
+                        t.phone = i
+                    }, expression: "phone"
+                }
+            })], 1)], 1), a("v-uni-view", {staticClass: "login_input flex_item"}, [a("v-uni-view", {staticClass: "login_img"}, [a("v-uni-image", {attrs: {src: "/static/img/zfpwd.png"}})], 1), a("v-uni-view", {staticClass: "login_name"}, [a("v-uni-input", {
+                staticClass: "uni-input",
+                attrs: {type: "password", focus: !0, placeholder: " 请输入新的不少于6位的密码"},
+                model: {
+                    value: t.password, callback: function (i) {
+                        t.password = i
+                    }, expression: "password"
+                }
+            })], 1)], 1), a("v-uni-view", {staticClass: "login_input flex_item"}, [a("v-uni-view", {staticClass: "login_img"}, [a("v-uni-image", {attrs: {src: "/static/img/zfpwd.png"}})], 1), a("v-uni-view", {staticClass: "login_name"}, [a("v-uni-input", {
+                staticClass: "uni-input",
+                attrs: {type: "password", focus: !0, placeholder: "请重复输入新密码"},
+                model: {
+                    value: t.password2, callback: function (i) {
+                        t.password2 = i
+                    }, expression: "password2"
+                }
+            })], 1)], 1), a("v-uni-view", {staticClass: "login_input flex"}, [a("v-uni-view", {staticClass: "login_img"}, [a("v-uni-image", {
+                staticClass: "codeimg",
+                attrs: {src: "/static/img/yan.png"}
+            })], 1), a("v-uni-view", {staticClass: "login_name flex"}, [a("v-uni-input", {
+                staticClass: "uni-input width",
+                attrs: {type: "number", focus: !0, placeholder: "请输入验证码"},
+                model: {
+                    value: t.code, callback: function (i) {
+                        t.code = i
+                    }, expression: "code"
+                }
+            }), a("v-uni-view", {
+                staticClass: "code", on: {
+                    click: function (i) {
+                        arguments[0] = i = t.$handleEvent(i), t.verification.apply(void 0, arguments)
+                    }
+                }
+            }, [t._v(t._s(0 == t.countDown ? "发送验证码" : t.countDown))])], 1)], 1)], 1), a("v-uni-view", {
+                staticClass: "login",
+                on: {
+                    click: function (i) {
+                        arguments[0] = i = t.$handleEvent(i), t.updatalogin.apply(void 0, arguments)
+                    }
+                }
+            }, [t._v("确认修改")])], 1)
+        }, o = []
+    }
+}]);

文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-public-login.74738e2b.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-redirect-redirect.b1adb09a.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-set-password.0c68d2c8.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-set-phone.a361c265.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-set-set.59701325.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-set-userinfo.55a86f21.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-store-store.34594e50.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-store-storeInfo.90f598f9.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-user-approve.2c12b797.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-user-myAppointment.0decd935.js


文件差异内容过多而无法显示
+ 0 - 0
public/index/static/js/pages-user-myproduct.263a7db6.js


文件差异内容过多而无法显示
+ 395 - 0
public/index/static/js/pages-user-user.49ef7549.js


部分文件因为文件数量过多而无法显示