Prechádzať zdrojové kódy

Merge branch 'v5.2.0dev' into v5.1.0-el

# Conflicts:
#	template/admin/src/pages/marketing/storeCouponIssue/index.vue
#	template/admin/src/pages/marketing/storeIntegralOrder/components/tableList.vue
#	template/admin/src/pages/order/orderList/handle/orderDetails.vue
#	template/admin/src/pages/product/productAdd/index.vue
#	template/admin/src/pages/product/productList/index.vue
#	template/admin/src/pages/system/backendRouting/index.vue
#	template/admin/src/pages/user/list/handle/userDetails.vue
#	template/admin/src/pages/user/list/index.vue
From-wh 2 rokov pred
rodič
commit
39a04c2739
43 zmenil súbory, kde vykonal 1579 pridanie a 172 odobranie
  1. 122 67
      README.md
  2. 2 2
      crmeb/.version
  3. 1 1
      crmeb/app/adminapi/controller/PublicController.php
  4. 1277 2
      crmeb/app/adminapi/controller/UpgradeController.php
  5. 13 12
      crmeb/app/adminapi/controller/v1/setting/SystemRoute.php
  6. 2 0
      crmeb/app/api/controller/pc/PublicController.php
  7. 17 0
      crmeb/app/common.php
  8. 11 0
      crmeb/app/dao/activity/coupon/StoreCouponIssueDao.php
  9. 1 1
      crmeb/app/dao/activity/integral/StoreIntegralOrderDao.php
  10. 2 1
      crmeb/app/dao/activity/seckill/StoreSeckillDao.php
  11. 2 1
      crmeb/app/outapi/controller/User.php
  12. 1 2
      crmeb/app/services/activity/coupon/StoreCouponIssueServices.php
  13. 10 0
      crmeb/app/services/activity/lottery/LuckLotteryServices.php
  14. 3 0
      crmeb/app/services/system/SystemRouteServices.php
  15. 1 0
      crmeb/app/services/system/config/SystemConfigServices.php
  16. 12 1
      crmeb/app/services/user/OutUserServices.php
  17. 11 0
      crmeb/app/services/user/UserServices.php
  18. 1 2
      crmeb/app/services/wechat/WechatServices.php
  19. 12 30
      crmeb/crmeb/services/easywechat/orderShipping/OrderClient.php
  20. 9 12
      crmeb/crmeb/services/upload/storage/Cos.php
  21. 12 6
      crmeb/public/install/crmeb.sql
  22. BIN
      readme/pic/PHP功能列表.jpg
  23. BIN
      readme/pic/ui.jpg
  24. BIN
      readme/pic/ui2.jpg
  25. BIN
      readme/pic/ui2_01.jpg
  26. BIN
      readme/pic/ui2_02.jpg
  27. BIN
      readme/pic/ui_01.jpg
  28. BIN
      readme/pic/ui_02.jpg
  29. BIN
      readme/pic/小剧场.jpg
  30. BIN
      readme/pic/联系我们.jpg
  31. 1 1
      template/admin/src/components/goodsList/index.vue
  32. 1 0
      template/admin/src/components/uploadPictures/index.vue
  33. 1 1
      template/admin/src/pages/marketing/storeIntegralOrder/components/tableList.vue
  34. 28 5
      template/admin/src/pages/order/orderList/handle/orderDetails.vue
  35. 0 5
      template/admin/src/pages/product/productList/index.vue
  36. 6 7
      template/admin/src/pages/system/backendRouting/index.vue
  37. 3 2
      template/admin/src/styles/style.css
  38. 1 1
      template/uni-app/components/productWindow/index.vue
  39. 1 1
      template/uni-app/config/app.js
  40. 9 1
      template/uni-app/pages/goods_details/index.vue
  41. 1 1
      template/uni-app/pages/users/promoter-list/index.vue
  42. 2 4
      template/uni-app/pages/users/promoter-order/index.vue
  43. 3 3
      template/uni-app/pages/users/wechat_login/index.vue

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 122 - 67
README.md


+ 2 - 2
crmeb/.version

@@ -1,5 +1,5 @@
-version=CRMEB-KY v5.1.0
-version_code=510
+version=CRMEB-KY v5.2.0
+version_code=520
 platform=gitee
 app_id=ze7x9rxsv09l6pvsyo
 app_key=fuF7U9zaybLa5gageVQzxtxQMFnvU2OI

+ 1 - 1
crmeb/app/adminapi/controller/PublicController.php

@@ -68,7 +68,7 @@ class PublicController
         if ($service->cacheDriver()->get('scan_upload') != $uploadToken) {
             return app('json')->fail(410086);
         }
-        $service->upload($pid, $file, $upload_type, $type, '', $uploadToken);
+        $service->upload((int)$pid, $file, $upload_type, $type, '', $uploadToken);
         return app('json')->success(100032);
     }
 }

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1277 - 2
crmeb/app/adminapi/controller/UpgradeController.php


+ 13 - 12
crmeb/app/adminapi/controller/v1/setting/SystemRoute.php

@@ -111,24 +111,25 @@ class SystemRoute extends AuthController
             ['describe', ''],
         ]);
 
-        if (!$data['name']) {
-            return app('json')->fail(500031);
-        }
-        if (!$data['path']) {
-            return app('json')->fail(500032);
-        }
-        if (!$data['method']) {
-            return app('json')->fail(500033);
-        }
-        if (!$data['app_name']) {
-            return app('json')->fail(500034);
-        }
+//        if (!$data['name']) {
+//            return app('json')->fail(500031);
+//        }
+//        if (!$data['path']) {
+//            return app('json')->fail(500032);
+//        }
+//        if (!$data['method']) {
+//            return app('json')->fail(500033);
+//        }
+//        if (!$data['app_name']) {
+//            return app('json')->fail(500034);
+//        }
         if ($id) {
             $this->services->update($id, $data);
         } else {
             $data['add_time'] = date('Y-m-d H:i:s');
             $this->services->save($data);
         }
+        $this->services->cacheDriver()->clear();
 
         return app('json')->success($id ? 100001 : 100021);
     }

+ 2 - 0
crmeb/app/api/controller/pc/PublicController.php

@@ -51,6 +51,8 @@ class PublicController
         $data['site_keywords'] = sys_config('site_keywords');
         $data['site_description'] = sys_config('site_description');
         $data['network_security'] = sys_config('network_security');
+        $data['network_security_url'] = sys_config('network_security_url');
+        $data['icp_url'] = sys_config('icp_url');
         $logoUrl = sys_config('pc_logo');
         if (strstr($logoUrl, 'http') === false && $logoUrl) {
             $logoUrl = sys_config('site_url') . $logoUrl;

+ 17 - 0
crmeb/app/common.php

@@ -23,6 +23,7 @@ use app\services\system\lang\LangCodeServices;
 use app\services\system\lang\LangCountryServices;
 use think\facade\Config;
 use think\facade\Log;
+use think\facade\Db;
 
 if (!function_exists('crmebLog')) {
     /**
@@ -1090,3 +1091,19 @@ if (!function_exists('out_push')) {
         return true;
     }
 }
+
+if (!function_exists('dump_sql')) {
+    /**
+     * 默认数据推送
+     * @param string $pushUrl
+     * @param array $data
+     * @param string $tip
+     * @return bool
+     */
+    function dump_sql()
+    {
+        Db::listen(function ($sql) {
+            var_dump($sql);
+        });
+    }
+}

+ 11 - 0
crmeb/app/dao/activity/coupon/StoreCouponIssueDao.php

@@ -72,6 +72,17 @@ class StoreCouponIssueDao extends BaseDao
             ->page($page, $limit)->order('id desc')->select()->toArray();
     }
 
+    /**
+     * 优惠券数量
+     * @param $where
+     * @return int
+     * @throws \ReflectionException
+     */
+    public function couponCount($where): int
+    {
+        return $this->search($where)->count();
+    }
+
     /**
      * 获取优惠券列表
      * @param int $uid 用户ID

+ 1 - 1
crmeb/app/dao/activity/integral/StoreIntegralOrderDao.php

@@ -95,7 +95,7 @@ class StoreIntegralOrderDao extends BaseDao
      */
     public function count(array $where = [], bool $search = true)
     {
-        return $this->search($where, $search)->count();
+        return $this->search($where)->count();
     }
 
     /**

+ 2 - 1
crmeb/app/dao/activity/seckill/StoreSeckillDao.php

@@ -41,7 +41,7 @@ class StoreSeckillDao extends BaseDao
      */
     public function search(array $where = [], bool $search = false)
     {
-        return parent::search($where, $search)->when(isset($where['seckllTime']), function ($query) use ($where) {
+        return parent::search($where)->when(isset($where['seckllTime']), function ($query) use ($where) {
             [$startTime, $stopTime] = is_array($where['seckllTime']) ? $where['seckllTime'] : [time(), time() - 86400];
             $query->where('start_time', '<=', $startTime)->where('stop_time', '>=', $stopTime);
         })->when(isset($where['sid']) && $where['sid'], function ($query) use ($where) {
@@ -67,6 +67,7 @@ class StoreSeckillDao extends BaseDao
      * 条件获取数量
      * @param array $where
      * @return int
+     * @throws \ReflectionException
      */
     public function getCount(array $where)
     {

+ 2 - 1
crmeb/app/outapi/controller/User.php

@@ -130,7 +130,8 @@ class User extends AuthController
     public function info($uid)
     {
         if (!$uid) return app('json')->fail(100100);
-        return app('json')->success($this->services->userInfo($uid));
+        $data = $this->services->userInfo($uid);
+        return app('json')->success(compact('data'));
     }
 
     /**

+ 1 - 2
crmeb/app/services/activity/coupon/StoreCouponIssueServices.php

@@ -65,8 +65,7 @@ class StoreCouponIssueServices extends BaseServices
         foreach ($list as &$item) {
             $item['use_time'] = date('Y-m-d', $item['start_use_time']) . ' ~ ' . date('Y-m-d', $item['end_use_time']);
         }
-//        unset($where['type'], $where['receive_type']);
-        $count = $this->dao->count($where);
+        $count = $this->dao->couponCount($where);
         return compact('list', 'count');
     }
 

+ 10 - 0
crmeb/app/services/activity/lottery/LuckLotteryServices.php

@@ -210,7 +210,9 @@ class LuckLotteryServices extends BaseServices
             $luckPrizeServices = app()->make(LuckPrizeServices::class);
             $data = [];
             $sort = 1;
+            $prizeStatus = false;
             foreach ($prizes as $prize) {
+                if (isset($prize['type']) && $prize['type'] == 1) $prizeStatus = true;
                 $prize = $luckPrizeServices->checkPrizeData($prize);
                 $prize['lottery_id'] = $lottery->id;
                 unset($prize['id']);
@@ -219,6 +221,9 @@ class LuckLotteryServices extends BaseServices
                 $data[] = $prize;
                 $sort++;
             }
+            if (!$prizeStatus) {
+                throw new AdminException('必须设置至少一个未中奖');
+            }
             if (!$luckPrizeServices->saveAll($data)) {
                 throw new AdminException(400536);
             }
@@ -261,7 +266,9 @@ class LuckLotteryServices extends BaseServices
             $insert = [];
             $time = time();
             $sort = 1;
+            $prizeStatus = false;
             foreach ($newPrizes as $prize) {
+                if (isset($prize['type']) && $prize['type'] == 1) $prizeStatus = true;
                 $prize = $luckPrizeServices->checkPrizeData($prize);
                 $prize['sort'] = $sort;
                 if (isset($prize['id']) && $prize['id']) {
@@ -280,6 +287,9 @@ class LuckLotteryServices extends BaseServices
                 }
                 $sort++;
             }
+            if (!$prizeStatus) {
+                throw new AdminException('必须设置至少一个未中奖');
+            }
             if ($insert) {
                 if (!$luckPrizeServices->saveAll($insert)) {
                     throw new AdminException(100022);

+ 3 - 0
crmeb/app/services/system/SystemRouteServices.php

@@ -201,6 +201,9 @@ class SystemRouteServices extends BaseServices
     {
         $oneId = app()->make(SystemRouteCateServices::class)->value(['app_name' => $app, 'name' => $cateName, 'pid' => 0], 'id');
         if (!$oneId) {
+            //修复重复同步后反复增加二级文件夹
+            $id = app()->make(SystemRouteCateServices::class)->value(['app_name' => $app, 'name' => $cateName, 'pid' => $pid], 'id');
+            if ($id) return $id;
             $res = app()->make(SystemRouteCateServices::class)->save([
                 'app_name' => $app,
                 'name' => $cateName,

+ 1 - 0
crmeb/app/services/system/config/SystemConfigServices.php

@@ -91,6 +91,7 @@ class SystemConfigServices extends BaseServices
                 'spread_banner' => '',
                 'brokerage_level' => '',
                 'division_status' => '',
+                'agent_apply_open' => '',
             ],
             'show_value' => 1
         ],

+ 12 - 1
crmeb/app/services/user/OutUserServices.php

@@ -15,6 +15,7 @@ namespace app\services\user;
 
 use app\dao\user\UserDao;
 use app\services\activity\coupon\StoreCouponIssueServices;
+use app\services\agent\AgentLevelServices;
 use app\services\BaseServices;
 use app\services\system\SystemUserLevelServices;
 use crmeb\exceptions\ApiException;
@@ -92,9 +93,19 @@ class OutUserServices extends BaseServices
      */
     public function userInfo($uid)
     {
+        $userType = ['h5' => 'H5', 'wechat' => '公众号', 'routine' => '小程序', 'app' => 'APP', 'pc' => 'PC'];
         $fields = ['uid', 'real_name', 'mark', 'nickname', 'avatar', 'phone', 'now_money', 'brokerage_price', 'integral', 'exp', 'sign_num', 'user_type', 'status', 'level',
             'agent_level', 'spread_open', 'spread_uid', 'spread_time', 'user_type', 'is_promoter', 'pay_count', 'is_ever_level', 'is_money_level', 'overdue_time', 'add_time'];
-        return app()->make(UserServices::class)->get($uid, $fields);
+        $data = app()->make(UserServices::class)->get($uid, $fields);
+        $data['user_type'] = $userType[$data['user_type']];
+        $data['status'] = $data['status'] ? '正常' : '禁用';
+        $data['level'] = app()->make(SystemUserLevelServices::class)->value($data['level'], 'name') ?? '无';
+        $data['agent_level'] = app()->make(AgentLevelServices::class)->value($data['agent_level'], 'name') ?? '无';
+        $data['spread_open'] = $data['spread_open'] ? '分销开启' : '分销关闭';
+        $data['spread_name'] = app()->make(UserServices::class)->value($data['spread_uid'], 'nickname') ?? '无';
+        $data['spread_time'] = date('Y-m-d H:i:s', $data['spread_time']);
+        $data['add_time'] = date('Y-m-d H:i:s', $data['add_time']);
+        return $data;
     }
 
     /**

+ 11 - 0
crmeb/app/services/user/UserServices.php

@@ -2041,6 +2041,17 @@ class UserServices extends BaseServices
         if (!$userInfo) {
             return false;
         }
+
+        //根据手机号码查询此用户注销过,不反推广佣金
+        if ($userInfo['phone'] != '' && $this->dao->getCount(['phone' => $userInfo['phone'], 'is_del' => 1])) {
+            return false;
+        }
+        //根据openid查询此用户注销过,不反推广佣金
+        $openidArray = app()->make(WechatUserServices::class)->getColumn(['uid' => $uid], 'openid', 'id');
+        if ($this->dao->getCount([['openid', 'in', $openidArray], ['is_del', '=', 1]])) {
+            return false;
+        }
+
         if (!$spread_user) {
             $spread_user = $this->dao->getOne(['uid' => $spread_uid, 'status' => 1]);
         }

+ 1 - 2
crmeb/app/services/wechat/WechatServices.php

@@ -395,8 +395,7 @@ class WechatServices extends BaseServices
                 if (!$uid && !$res) {
                     return false;
                 }
-            }
-            if ($openid && $storeUserMobile) {
+            } elseif ($openid && $storeUserMobile) {
                 /** @var UserServices $userServices */
                 $userServices = app()->make(UserServices::class);
                 $uid = $this->dao->value(['openid' => $openid], 'uid');

+ 12 - 30
crmeb/crmeb/services/easywechat/orderShipping/OrderClient.php

@@ -4,36 +4,19 @@ namespace crmeb\services\easywechat\orderShipping;
 
 use crmeb\exceptions\AdminException;
 use crmeb\services\CacheService;
-use EasyWeChat\Core\AccessToken;
 use EasyWeChat\Core\Exceptions\HttpException;
-use think\facade\Cache;
 
 
 class OrderClient extends BaseOrder
 {
-    const redis_prefix = 'mini_order';
+    const cache_prefix = 'mini_order';
 
     const express_company = 'ZTO';   // 默认发货快递公司为(中通快递)
 
-
     /**
-     * @var \Redis
-     */
-    protected $redis;
-
-    /**
-     * @return object|\Redis|null
-     *
-     * @date 2023/05/10
-     * @author yyw
+     * @var
      */
-    protected function getRedis()
-    {
-        if (empty($this->redis)) {
-            $this->redis = Cache::store('redis')->handler();
-        }
-        return $this->redis;
-    }
+    protected $cache;
 
     /**
      * 处理联系人
@@ -214,8 +197,8 @@ class OrderClient extends BaseOrder
     {
         $res = $this->isManaged();
         if ($res['is_trade_managed']) {
-            $key = self::redis_prefix . '_is_trade_managed';
-            $this->getRedis()->set($key, $res['is_trade_managed']);
+            $key = self::cache_prefix . '_is_trade_managed';
+            CacheService::set($key, $res['is_trade_managed']);
             return true;
         } else {
             return false;
@@ -232,8 +215,8 @@ class OrderClient extends BaseOrder
      */
     public function checkManaged()
     {
-        $key = self::redis_prefix . '_is_trade_managed';
-        if ($this->getRedis()->exists($key)) {
+        $key = self::cache_prefix . '_is_trade_managed';
+        if (CacheService::get($key)) {
             return true;
         } else {
             return $this->setManaged();
@@ -252,10 +235,10 @@ class OrderClient extends BaseOrder
     {
         $list = $this->getDeliveryList();
         if ($list) {
-            $key = self::redis_prefix . '_delivery_list';
+            $key = self::cache_prefix . '_delivery_list';
             $date = array_column($list['delivery_list'], 'delivery_id', 'delivery_name');
             // 创建缓存
-            $this->getRedis()->hMSet($key, $date);
+            CacheService::set($key, json_encode($date));
 
             return $date;
         } else {
@@ -274,15 +257,14 @@ class OrderClient extends BaseOrder
      */
     public function getDelivery($company_name)
     {
-        $key = self::redis_prefix . '_delivery_list';
-        if (!$this->getRedis()->exists($key)) {
+        $key = self::cache_prefix . '_delivery_list';
+        if (!CacheService::get($key)) {
             $date = $this->setDeliveryList();
             $express_company = $date[$company_name] ?? '';
         } else {
-            $express_company = $this->getRedis()->hMGet($key, [$company_name])[$company_name] ?? '';
+            $express_company = json_decode(CacheService::get($key), true)[$company_name] ?? '';
         }
         if (empty($express_company)) {
-//            throw new AdminException('物流公司异常2');
             $express_company = self::express_company;
         }
 

+ 9 - 12
crmeb/crmeb/services/upload/storage/Cos.php

@@ -440,14 +440,11 @@ class Cos extends BaseUpload
     public function deleteBucket(string $name)
     {
         try {
-            $res = $this->app()->deleteBucket($name);
-            if ($res->get('RequestId')) {
-                return true;
-            }
+            $this->app()->deleteBucket($name);
+            return true;
         } catch (\Throwable $e) {
             return $this->setError($e->getMessage());
         }
-        return false;
     }
 
     /**
@@ -459,8 +456,8 @@ class Cos extends BaseUpload
     {
         $this->storageRegion = $region;
         try {
-            $res = $this->app()->GetBucketDomain($name);
-            $domainRules = $res->toArray()['DomainRules'];
+            $res = $this->app()->getBucketDomain($name);
+            $domainRules = $res['DomainRules'];
             return array_column($domainRules, 'Name');
         } catch (\Throwable $e) {
         }
@@ -533,11 +530,11 @@ class Cos extends BaseUpload
     {
         $this->storageRegion = $region;
         try {
-            $res = $this->app()->PutBucketCors($name, [
-                'AllowedHeaders' => ['*'],
-                'AllowedMethods' => ['PUT', 'GET', 'POST', 'DELETE', 'HEAD'],
-                'AllowedOrigins' => ['*'],
-                'ExposeHeaders' => ['ETag', 'Content-Length', 'x-cos-request-id'],
+            $res = $this->app()->putBucketCors($name, [
+                'AllowedHeader' => ['*'],
+                'AllowedMethod' => ['PUT', 'GET', 'POST', 'DELETE', 'HEAD'],
+                'AllowedOrigin' => ['*'],
+                'ExposeHeader' => ['ETag', 'Content-Length', 'x-cos-request-id'],
                 'MaxAgeSeconds' => 12
             ]);
             if (isset($res['RequestId'])) {

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 12 - 6
crmeb/public/install/crmeb.sql


BIN
readme/pic/PHP功能列表.jpg


BIN
readme/pic/ui.jpg


BIN
readme/pic/ui2.jpg


BIN
readme/pic/ui2_01.jpg


BIN
readme/pic/ui2_02.jpg


BIN
readme/pic/ui_01.jpg


BIN
readme/pic/ui_02.jpg


BIN
readme/pic/小剧场.jpg


BIN
readme/pic/联系我们.jpg


+ 1 - 1
template/admin/src/components/goodsList/index.vue

@@ -13,7 +13,7 @@
               v-model="formValidate.cate_id"
               size="small"
               :options="treeSelect"
-              :props="{ emitPath: false }"
+              :props="{ checkStrictly: true, emitPath: false }"
               clearable
             ></el-cascader>
           </el-form-item>

+ 1 - 0
template/admin/src/components/uploadPictures/index.vue

@@ -402,6 +402,7 @@ export default {
         pid: this.pids,
         images: this.ids.toString(),
       };
+      if (!data.images) return;
       moveApi(data)
         .then(async (res) => {
           this.$message.success(res.msg);

+ 1 - 1
template/admin/src/pages/marketing/storeIntegralOrder/components/tableList.vue

@@ -67,7 +67,7 @@
                 <!-- <el-dropdown-item name="10" v-show="scope.row._status >= 2">订单打印</el-dropdown-item> -->
                 <el-dropdown-item command="4" v-show="scope.row.status !== 4">订单备注</el-dropdown-item>
                 <el-dropdown-item command="8" v-show="scope.row.status === 2">已收货</el-dropdown-item>
-                <!-- <el-dropdown-item name="9">删除订单</el-dropdown-item> -->
+                <el-dropdown-item command="9" v-show="row.is_del === 1">删除订单</el-dropdown-item>
               </el-dropdown-menu>
             </el-dropdown>
           </template>

+ 28 - 5
template/admin/src/pages/order/orderList/handle/orderDetails.vue

@@ -96,9 +96,23 @@
             >虚拟发货备注:{{ orderDatalist.orderInfo.fictitious_content }}</el-col
           >
         </el-row>
-
+        <el-divider></el-divider>
+        <div class="ivu-description-list-title">商品信息</div>
+        <el-row class="mb10">
+          <div class="tabBox" v-for="(val, i) in orderDatalist.orderInfo.cartInfo" :key="i">
+            <div class="tabBox_img" v-viewer>
+              <img v-lazy="val.productInfo.attrInfo ? val.productInfo.attrInfo.image : val.productInfo.image" />
+            </div>
+            <span class="tabBox_tit"
+              >{{ val.productInfo.store_name + ' | '
+              }}{{ val.productInfo.attrInfo ? val.productInfo.attrInfo.suk : '' }}</span
+            >
+            <span class="tabBox_pice">{{ '¥' + val.truePrice + ' x ' + val.cart_num }}</span>
+          </div>
+        </el-row>
+        <el-divider></el-divider>
         <div v-if="orderDatalist.orderInfo.invoice">
-          <Divider style="margin: 20px 0 !important" />
+          <el-divider></el-divider>
           <div class="ivu-description-list-title">发票信息</div>
           <el-row class="mb10">
             <el-col span="12">发票抬头:{{ orderDatalist.orderInfo.invoice.name }}</el-col>
@@ -150,7 +164,6 @@
             <el-col span="12">联系邮箱:{{ orderDatalist.orderInfo.invoice.email || '' }}</el-col>
             <el-col span="12">联系电话:{{ orderDatalist.orderInfo.invoice.user_phone || '' }}</el-col>
           </el-row>
-
           <div v-if="orderDatalist.orderInfo.invoice.header_type === 2 && orderDatalist.orderInfo.invoice.type === 2">
             <el-row class="mb10">
               <el-col span="12"
@@ -187,8 +200,7 @@
             <el-col span="12">开票状态:{{ orderDatalist.orderInfo.invoice.is_invoice ? '已开票' : '未开票' }}</el-col>
           </el-row>
         </div>
-
-        <Divider style="margin: 20px 0 !important" v-if="orderDatalist.orderInfo.custom_form.length" />
+        <el-divider v-if="orderDatalist.orderInfo.custom_form.length"></el-divider>
         <div class="ivu-description-list-title" v-if="orderDatalist.orderInfo.custom_form.length">表单信息</div>
         <el-row class="mb10" v-if="orderDatalist.orderInfo.custom_form.length">
           <el-col
@@ -429,4 +441,15 @@ export default {
     height: 100%;
   }
 }
+.tabBox{
+  display:flex;
+  align-items center
+  .tabBox_img{
+    margin-right 10px
+  }
+  .tabBox_tit{
+    margin-right 20px
+
+  }
+}
 </style>

+ 0 - 5
template/admin/src/pages/product/productList/index.vue

@@ -13,11 +13,6 @@
         <el-row :gutter="24">
           <el-col v-bind="grid">
             <el-form-item label="商品分类:" label-for="pid">
-              <!-- <el-select v-model="artFrom.cate_id" placeholder="请选择商品分类" clearable @change="userSearchs">
-                <el-option v-for="item in treeSelect" :value="item.id" :key="item.id">{{
-                  item.html + item.cate_name
-                }}</el-option>
-              </el-select> -->
               <el-cascader
                 v-model="artFrom.cate_id"
                 size="small"

+ 6 - 7
template/admin/src/pages/system/backendRouting/index.vue

@@ -674,8 +674,7 @@ export default {
             }
           })
           .catch((err) => {
-            console.log(err);
-            this.$message.error(err);
+            this.$message.error(err.msg);
           });
       } catch (error) {
         console.log(error);
@@ -696,7 +695,7 @@ export default {
           this.formValidate = res.data;
         })
         .catch((err) => {
-          this.$message.error(err);
+          this.$message.error(err.msg);
         });
     },
     async handleSubmit() {
@@ -718,7 +717,7 @@ export default {
           this.getRoteData(this.paramsId);
         })
         .catch((err) => {
-          this.$message.error(err);
+          this.$message.error(err.msg);
         });
     },
     async insertEvent(type) {
@@ -833,7 +832,7 @@ export default {
           this.getInterfaceList();
         })
         .catch((err) => {
-          this.$message.error(err);
+          this.$message.error(err.msg);
         });
     },
     //侧边栏右键点击事件
@@ -938,7 +937,7 @@ export default {
               node.remove();
             })
             .catch((err) => {
-              this.$message.error(err);
+              this.$message.error(err.msg);
             });
         },
         onCancel: () => {},
@@ -956,7 +955,7 @@ export default {
             this.$message.success(res.msg);
           })
           .catch((err) => {
-            this.$message.error(err);
+            this.$message.error(err.msg);
           });
       }
     },

+ 3 - 2
template/admin/src/styles/style.css

@@ -213,8 +213,9 @@ body {
   font-size: 13px;
   padding: 10px 5px !important;
 }
-
-.ivu-form .ivu-form-item-label,
+.ivu-form .ivu-form-item-label {
+  font-size: 12px !important;
+}
 .ivu-radio-group-button .ivu-radio-wrapper,
 .ivu-table {
   font-size: 13px !important;

+ 1 - 1
template/uni-app/components/productWindow/index.vue

@@ -151,7 +151,7 @@
 			 * 
 			 */
 			bindCode: function(e) {
-				this.$emit('iptCartNum', this.attr.productSelect.cart_num);
+				this.$emit('iptCartNum', e);
 			},
 			closeAttr: function() {
 				this.$emit('myevent');

+ 1 - 1
template/uni-app/config/app.js

@@ -13,7 +13,7 @@ module.exports = {
 
 
 	// 后台版本号
-	SYSTEM_VERSION: 510,
+	SYSTEM_VERSION: 520,
 	
 	// 以下配置在不做二开的前提下,不需要做任何的修改
 	HEADER: {

+ 9 - 1
template/uni-app/pages/goods_details/index.vue

@@ -806,7 +806,15 @@
 			 *
 			 */
 			iptCartNum: function(e) {
-				this.$set(this.attr.productSelect, "cart_num", e);
+				if (e) {
+					let number = 1
+					if (Number.isInteger(parseInt(e)) && parseInt(e) > 0) {
+						number = parseInt(e);
+					}
+					this.$nextTick(e => {
+						this.$set(this.attr.productSelect, "cart_num", e < 0 ? 1 : number);
+					})
+				}
 			},
 			// 后退
 			returns() {

+ 1 - 1
template/uni-app/pages/users/promoter-list/index.vue

@@ -18,7 +18,7 @@
 				
 			</form> -->
 			<view class='search acea-row row-between-wrapper'>
-				<view class='input'><input :placeholder='$t(`点击搜索会员名称`)' placeholder-class='placeholder'
+				<view class='input'><input :placeholder='$t(`点击搜索名称`)' placeholder-class='placeholder'
 						v-model="keyword" @confirm="submitForm" confirm-type='search' name="search"></input></view>
 				<button class='iconfont icon-sousuo2' @click="submitForm"></button>
 			</view>

+ 2 - 4
template/uni-app/pages/users/promoter-order/index.vue

@@ -4,7 +4,7 @@
 			<view class='promoterHeader bg-color'>
 				<view class='headerCon acea-row row-between-wrapper'>
 					<view>
-						<view class='name'>{{$t(`累推广订单`)}}</view>
+						<view class='name'>{{$t(`累推广订单`)}}</view>
 						<view><text class='num'>{{count || 0}}</text>{{$t(`单`)}}</view>
 					</view>
 					<view class='iconfont icon-2'></view>
@@ -34,9 +34,7 @@
 									</view>
 									<view class='bottom'>
 										<view><text class='name'>{{$t(`订单编号`)}}:</text>{{child.order_id}}</view>
-										<view v-if="child.type == 'brokerage'"><text
-												class='name'>{{$t(`返佣时间`)}}:</text>{{child.time}}</view>
-										<view v-else><text class='name'>{{$t(`下单时间`)}}:</text>{{child.time}}</view>
+										<view><text class='name'>{{$t(`下单时间`)}}:</text>{{child.time}}</view>
 										<view class="more" v-if="child.children && child.children.length"
 											@click="open(child)">
 											{{child.open?$t(`收起`):$t(`更多`)}}

+ 3 - 3
template/uni-app/pages/users/wechat_login/index.vue

@@ -22,11 +22,11 @@
 				<!-- #endif -->
 				<!-- #ifdef MP -->
 				<button hover-class="none" v-if="mp_is_new" @tap="userLogin"
-					class="bg-green btn1">{{$t(`微信登录`)}}</button>
+					class="bg-green btn1">{{$t(`授权登录`)}}</button>
 				<button v-else-if="canUseGetUserProfile && code" hover-class="none" @tap="getUserProfile"
-					class="bg-green btn1">{{$t(`微信登录`)}}</button>
+					class="bg-green btn1">{{$t(`授权登录`)}}</button>
 				<button v-else hover-class="none" open-type="getUserInfo" @getuserinfo="setUserInfo"
-					class="bg-green btn1">{{$t(`微信登录`)}}</button>
+					class="bg-green btn1">{{$t(`授权登录`)}}</button>
 				<!-- #endif -->
 				<!-- <button hover-class="none" @click="phoneLogin" class="btn2">{{$t(`手机号登录`)}}</button> -->
 			</view>