Sfoglia il codice sorgente

Merge branch 'v5.0.0dev' of https://gitee.com/ZhongBangKeJi/CRMEB into v5.0.0dev

liaofei 2 anni fa
parent
commit
e65e36e915

+ 2 - 1
crmeb/app/services/other/export/ExportServices.php

@@ -74,7 +74,7 @@ class ExportServices extends BaseServices
      */
      */
     public function exportOrderList($where)
     public function exportOrderList($where)
     {
     {
-        $header = ['订单号', '收货人姓名', '收货人电话', '收货地址', '商品信息', '总价格', '实际支付', '支付状态', '支付时间', '订单状态', '下单时间', '用户备注', '表单信息'];
+        $header = ['订单号', '收货人姓名', '收货人电话', '收货地址', '商品信息', '总价格', '实际支付', '支付状态', '支付时间', '订单状态', '下单时间', '用户备注', '商家备注', '表单信息'];
         $filename = '订单列表_' . date('YmdHis', time());
         $filename = '订单列表_' . date('YmdHis', time());
         $export = $fileKey = [];
         $export = $fileKey = [];
         /** @var StoreOrderServices $orderServices */
         /** @var StoreOrderServices $orderServices */
@@ -162,6 +162,7 @@ class ExportServices extends BaseServices
                     'status_name' => $item['status_name'] ?? '未知状态',
                     'status_name' => $item['status_name'] ?? '未知状态',
                     'add_time' => $item['add_time'],
                     'add_time' => $item['add_time'],
                     'mark' => $item['mark'],
                     'mark' => $item['mark'],
+                    'remark' => $item['remark'],
                     'custom_form' => $custom_form,
                     'custom_form' => $custom_form,
                 ];
                 ];
                 $export[] = $one_data;
                 $export[] = $one_data;

+ 1 - 0
crmeb/config/upload.php

@@ -18,6 +18,7 @@ return [
     'fileExt' => ['jpg', 'jpeg', 'png', 'gif', 'pem', 'mp3', 'wma', 'wav', 'amr', 'mp4', 'key', 'xlsx', 'xls', 'txt', 'ico'],
     'fileExt' => ['jpg', 'jpeg', 'png', 'gif', 'pem', 'mp3', 'wma', 'wav', 'amr', 'mp4', 'key', 'xlsx', 'xls', 'txt', 'ico'],
     //上传文件类型
     //上传文件类型
     'fileMime' => [
     'fileMime' => [
+        'image/jpg',
         'image/jpeg',
         'image/jpeg',
         'image/gif',
         'image/gif',
         'image/png',
         'image/png',

+ 3 - 4
crmeb/crmeb/services/easywechat/orderShipping/ServiceProvider.php

@@ -31,14 +31,13 @@ class ServiceProvider implements ServiceProviderInterface
     {
     {
         $pimple['mini_program.access_token'] = function ($pimple) {
         $pimple['mini_program.access_token'] = function ($pimple) {
             return new AccessToken(
             return new AccessToken(
-                $pimple['config']['order_shipping']['app_id'],
-                $pimple['config']['order_shipping']['secret'],
+                $pimple['config']['mini_program']['app_id'],
+                $pimple['config']['mini_program']['secret'],
                 $pimple['cache']
                 $pimple['cache']
             );
             );
         };
         };
-
         $pimple['order_ship'] = function ($pimple) {
         $pimple['order_ship'] = function ($pimple) {
-            return new OrderClient($pimple['access_token'], $pimple);
+            return new OrderClient($pimple['mini_program.access_token'], $pimple);
         };
         };
     }
     }
 }
 }

+ 1 - 1
crmeb/crmeb/services/upload/BaseUpload.php

@@ -369,7 +369,7 @@ abstract class BaseUpload extends BaseStorage
      * 文件流上传
      * 文件流上传
      * @return mixed
      * @return mixed
      */
      */
-    abstract public function stream(string $fileContent, string $key = null);
+    abstract public function stream($fileContent, string $key = null);
 
 
     /**
     /**
      * 删除文件
      * 删除文件

+ 11 - 11
crmeb/public/install/crmeb.sql

@@ -26685,16 +26685,16 @@ INSERT INTO `eb_lang_code` (`id`, `type_id`, `code`, `remarks`, `lang_explain`,
 (25148, 8, '500045', '不存在的资源路由类型', 'Байхгүй байгаа нөөцийн чиглүүлэлтийн төрөл', 1),
 (25148, 8, '500045', '不存在的资源路由类型', 'Байхгүй байгаа нөөцийн чиглүүлэлтийн төрөл', 1),
 (25149, 9, '500045', '不存在的资源路由类型', 'ชนิดของการกำหนดเส้นทางทรัพยากรที่ไม่มีอยู่', 1),
 (25149, 9, '500045', '不存在的资源路由类型', 'ชนิดของการกำหนดเส้นทางทรัพยากรที่ไม่มีอยู่', 1),
 (25150, 10, '500045', '不存在的资源路由类型', 'Loại định tuyến tài nguyên không tồn tại', 1),
 (25150, 10, '500045', '不存在的资源路由类型', 'Loại định tuyến tài nguyên không tồn tại', 1),
-(25151, 1, '500046', '表单数据生成失败', '表单数据生成失败', 1),
-(25152, 2, '500046', '表单数据生成失败', 'Form data generation failed', 1),
-(25153, 3, '500046', '表单数据生成失败', '表單數據生成失敗', 1),
-(25154, 4, '500046', '表单数据生成失败', 'Échec de la génération des données du formulaire', 1),
-(25155, 5, '500046', '表单数据生成失败', 'Generazione dei dati del modulo non riuscita', 1),
-(25156, 6, '500046', '表单数据生成失败', 'フォームデータの生成に失敗しました', 1),
-(25157, 7, '500046', '表单数据生成失败', '양식 데이터 생성 실패', 1),
-(25158, 8, '500046', '表单数据生成失败', 'Маягт өгөгдөл үүсгэх бүтэлгүйтсэн', 1),
-(25159, 9, '500046', '表单数据生成失败', 'การสร้างข้อมูลแบบฟอร์มล้มเหลว', 1),
-(25160, 10, '500046', '表单数据生成失败', 'Tạo dữ liệu biểu mẫu không thành công', 1),
+(25151, 1, '500046', '表单类型至少选择一项', '表单类型至少选择一项', 1),
+(25152, 2, '500046', '表单类型至少选择一项', ' at least one form type', 1),
+(25153, 3, '500046', '表单类型至少选择一项', '表單類型至少選擇一項', 1),
+(25154, 4, '500046', '表单类型至少选择一项', 'Sélectionnez au moins un type de formulaire', 1),
+(25155, 5, '500046', '表单类型至少选择一项', 'Selezionare almeno un tipo di modulo', 1),
+(25156, 6, '500046', '表单类型至少选择一项', 'フォームタイプ1つ以上を選択', 1),
+(25157, 7, '500046', '表单类型至少选择一项', '하나 이상의 양식 유형 선택', 1),
+(25158, 8, '500046', '表单类型至少选择一项', 'Ядаж нэг маягтын төрлийг сонгох', 1),
+(25159, 9, '500046', '表单类型至少选择一项', 'เลือกประเภทของแบบฟอร์มอย่างน้อยหนึ่งรายการ', 1),
+(25160, 10, '500046', '表单类型至少选择一项', 'Chọn ít nhất một loại biểu mẫu', 1),
 (25161, 1, '500047', '列表展示数据生成失败', '列表展示数据生成失败', 1),
 (25161, 1, '500047', '列表展示数据生成失败', '列表展示数据生成失败', 1),
 (25162, 2, '500047', '列表展示数据生成失败', 'List display data generation failed', 1),
 (25162, 2, '500047', '列表展示数据生成失败', 'List display data generation failed', 1),
 (25163, 3, '500047', '列表展示数据生成失败', '列表展示數據生成失敗', 1),
 (25163, 3, '500047', '列表展示数据生成失败', '列表展示數據生成失敗', 1),
@@ -33726,6 +33726,7 @@ INSERT INTO `eb_system_config` (`id`, `menu_name`, `type`, `input_type`, `config
 (388, 'customer_corpId', 'text', 'input', 69, '', 1, '', 0, 0, '\"\"', '企业ID', '如果客服链接填写企业微信客服,小程序需要跳转企业微信客服的话需要配置此项,并且在小程序客服中绑定企业ID', 0, 1),
 (388, 'customer_corpId', 'text', 'input', 69, '', 1, '', 0, 0, '\"\"', '企业ID', '如果客服链接填写企业微信客服,小程序需要跳转企业微信客服的话需要配置此项,并且在小程序客服中绑定企业ID', 0, 1),
 (389, 'create_wechat_user', 'radio', 'input', 2, '1=>开启\r\n0=>关闭', 1, '', 0, 0, '0', '关注公众号是否生成用户', '关注公众号是否生成用户', 0, 1),
 (389, 'create_wechat_user', 'radio', 'input', 2, '1=>开启\r\n0=>关闭', 1, '', 0, 0, '0', '关注公众号是否生成用户', '关注公众号是否生成用户', 0, 1),
 (390, 'friend_pay_status', 'radio', 'input', 109, '1=>开启\r\n0=>关闭', 1, '', 0, 0, '1', '好友代付', '好友代付开关,关闭后付款类型不显示好友代付', 0, 1),
 (390, 'friend_pay_status', 'radio', 'input', 109, '1=>开启\r\n0=>关闭', 1, '', 0, 0, '1', '好友代付', '好友代付开关,关闭后付款类型不显示好友代付', 0, 1),
+(391, 'division_status', 'radio', 'input', 72, '1=>开启\r\n0=>关闭', 1, '', 0, 0, '0', '事业部开关', '事业部开关,关闭后不不计算事业部佣金', 0, 1),
 (392, 'brokerage_level', 'radio', 'input', 72, '1=>一级分销\r\n2=>二级分销', 1, '', 0, 0, '2', '分销层级', '分销层级,一级是只返上级一层的佣金,二级是返上级和上上级的佣金', 98, 1),
 (392, 'brokerage_level', 'radio', 'input', 72, '1=>一级分销\r\n2=>二级分销', 1, '', 0, 0, '2', '分销层级', '分销层级,一级是只返上级一层的佣金,二级是返上级和上上级的佣金', 98, 1),
 (393, 'sms_type', 'radio', 'input', 97, '0=>一号通\r\n1=>阿里云\r\n2=>腾讯云', 1, '', 0, 0, '0', '短信类型', '短信类型,选择发送的短信类型', 0, 1),
 (393, 'sms_type', 'radio', 'input', 97, '0=>一号通\r\n1=>阿里云\r\n2=>腾讯云', 1, '', 0, 0, '0', '短信类型', '短信类型,选择发送的短信类型', 0, 1),
 (394, 'aliyun_AccessKeyId', 'text', 'input', 98, '', 1, '', 0, 0, '\"\"', '阿里云AccessKeyId', '阿里云AccessKeyId', 100, 1),
 (394, 'aliyun_AccessKeyId', 'text', 'input', 98, '', 1, '', 0, 0, '\"\"', '阿里云AccessKeyId', '阿里云AccessKeyId', 100, 1),
@@ -33760,7 +33761,6 @@ INSERT INTO `eb_system_config` (`id`, `menu_name`, `type`, `input_type`, `config
 (431, 'member_brokerage', 'radio', 'input', 73, '1=>开启\n0=>关闭', 1, '', 0, 0, '\"0\"', '购买付费会员返佣', '购买付费会员是否按照设置的佣金比例进行返佣', 98, 1),
 (431, 'member_brokerage', 'radio', 'input', 73, '1=>开启\n0=>关闭', 1, '', 0, 0, '\"0\"', '购买付费会员返佣', '购买付费会员是否按照设置的佣金比例进行返佣', 98, 1),
 (432, 'user_brokerage_type', 'radio', 'input', 73, '0=>按照商品价格返佣\n1=>按照实际支付价格返佣', 1, '', 0, 0, '\"0\"', '返佣类型', '选择返佣类型,按照商品价格返佣(按照商品售价计算返佣金额)以及按照实际支付价格返佣(按照商品的实际支付价格计算返佣 )', 97, 1),
 (432, 'user_brokerage_type', 'radio', 'input', 73, '0=>按照商品价格返佣\n1=>按照实际支付价格返佣', 1, '', 0, 0, '\"0\"', '返佣类型', '选择返佣类型,按照商品价格返佣(按照商品售价计算返佣金额)以及按照实际支付价格返佣(按照商品的实际支付价格计算返佣 )', 97, 1),
 (433, 'network_security', 'text', 'input', 26, '', 1, '', 0, 0, '\"\\u4eac\\u516c\\u7f51\\u5b89\\u5907xxxxxx\\u53f7\"', '网安备案', '公安部门登记的备案信息,显示在pc底部', 8, 1),
 (433, 'network_security', 'text', 'input', 26, '', 1, '', 0, 0, '\"\\u4eac\\u516c\\u7f51\\u5b89\\u5907xxxxxx\\u53f7\"', '网安备案', '公安部门登记的备案信息,显示在pc底部', 8, 1),
-(434, 'cert_crmeb', 'text', 'input', 1, '', 1, '', 0, 0, '\",\\u5f00\\u6e90\\u7248\"', '授权密钥', '', 0, 2),
 (435, 'icp_url', 'text', 'input', 26, '', 1, '', 0, 0, '\"https:\\/\\/beian.miit.gov.cn\"', 'ICP备案链接', 'H5和PC底部显示的ICP备案号点击跳转的链接', 9, 1),
 (435, 'icp_url', 'text', 'input', 26, '', 1, '', 0, 0, '\"https:\\/\\/beian.miit.gov.cn\"', 'ICP备案链接', 'H5和PC底部显示的ICP备案号点击跳转的链接', 9, 1),
 (436, 'network_security_url', 'text', 'input', 26, '', 1, '', 0, 0, '\"https:\\/\\/www.beian.gov.cn\"', '网安备案链接', 'H5和PC底部显示的网安备案号点击跳转的链接', 7, 1),
 (436, 'network_security_url', 'text', 'input', 26, '', 1, '', 0, 0, '\"https:\\/\\/www.beian.gov.cn\"', '网安备案链接', 'H5和PC底部显示的网安备案号点击跳转的链接', 7, 1),
 (437, 'agent_apply_open', 'radio', 'input', 72, '1=>开启\n0=>关闭', 1, '', 0, 0, '1', '代理商申请开关', '控制移动端我的推广页面的代理商申请按钮是否显示', 0, 1);
 (437, 'agent_apply_open', 'radio', 'input', 72, '1=>开启\n0=>关闭', 1, '', 0, 0, '1', '代理商申请开关', '控制移动端我的推广页面的代理商申请按钮是否显示', 0, 1);

+ 5 - 1
template/uni-app/pages/goods/goods_search/index.vue

@@ -100,7 +100,11 @@
 			} else {
 			} else {
 				this.getHostProduct();
 				this.getHostProduct();
 			}
 			}
-
+		},
+		// 滚动监听
+		onPageScroll(e) {
+			// 传入scrollTop值并触发所有easy-loadimage组件下的滚动监听事件
+			uni.$emit('scroll');
 		},
 		},
 		methods: {
 		methods: {
 			searchList() {
 			searchList() {

+ 9 - 9
template/uni-app/pages/users/user_vip/index.vue

@@ -11,7 +11,7 @@
 								<view class="acea-row row-middle user-wrap">
 								<view class="acea-row row-middle user-wrap">
 									<image class="image" :src="userInfo.avatar"></image>
 									<image class="image" :src="userInfo.avatar"></image>
 									<view class="text">
 									<view class="text">
-										<view class="name">{{$t(userInfo.nickname)}}</view>
+										<view class="name">{{$t(userInfo.nickname || '')}}</view>
 										<view>{{$t(`商城购物可享`)}}<text class="num">{{item.discount}}</text>{{$t(`折`)}}
 										<view>{{$t(`商城购物可享`)}}<text class="num">{{item.discount}}</text>{{$t(`折`)}}
 										</view>
 										</view>
 									</view>
 									</view>
@@ -22,15 +22,15 @@
 								</view>
 								</view>
 								<template v-if="item.grade === levelInfo.grade">
 								<template v-if="item.grade === levelInfo.grade">
 									<view class="grow-wrap">
 									<view class="grow-wrap">
-										<view>{{$t(`今日成长值`)}}<text class="num">{{levelInfo.today_exp}}</text>{{$t(`点`)}}
+										<view>{{$t(`今日成长值`)}}<text class="num">{{levelInfo.today_exp || ''}}</text>{{$t(`点`)}}
 										</view>
 										</view>
 										<view class="process">
 										<view class="process">
 											<view
 											<view
 												:style="{width: `${Math.floor((levelInfo.exp / item.next_exp_num) > 1 ? 100 : levelInfo.exp / item.next_exp_num * 100)}%`}"
 												:style="{width: `${Math.floor((levelInfo.exp / item.next_exp_num) > 1 ? 100 : levelInfo.exp / item.next_exp_num * 100)}%`}"
 												class="fill"></view>
 												class="fill"></view>
 										</view>
 										</view>
-										<view class="ratio"><text class="num">{{levelInfo.exp}}</text>/<text
-												class="num">{{item.next_exp_num}}</text></view>
+										<view class="ratio"><text class="num">{{levelInfo.exp || ''}}</text>/<text
+												class="num">{{item.next_exp_num || ''}}</text></view>
 									</view>
 									</view>
 									<navigator class="acea-row row-between-wrapper record-wrap"
 									<navigator class="acea-row row-between-wrapper record-wrap"
 										url="/pages/users/user_vip_areer/index" hover-class="none">
 										url="/pages/users/user_vip_areer/index" hover-class="none">
@@ -49,7 +49,7 @@
 										</view>
 										</view>
 										<view class="ratio">
 										<view class="ratio">
 											<text
 											<text
-												class="num">{{$t(`当前`)}}<text>{{levelInfo.exp}}</text>{{$t(`点,需达到`)}}<text>{{item.exp_num}}</text>{{$t(`点解锁`)}}</text>
+												class="num">{{$t(`当前`)}}<text>{{levelInfo.exp || ''}}</text>{{$t(`点,需达到`)}}<text>{{item.exp_num || ''}}</text>{{$t(`点解锁`)}}</text>
 										</view>
 										</view>
 										<navigator class="acea-row row-between-wrapper record-wrap"
 										<navigator class="acea-row row-between-wrapper record-wrap"
 											style="padding-left: 0;" url="/pages/users/user_vip_areer/index"
 											style="padding-left: 0;" url="/pages/users/user_vip_areer/index"
@@ -98,8 +98,8 @@
 					<view class="item acea-row row-middle">
 					<view class="item acea-row row-middle">
 						<view class="text">
 						<view class="text">
 							<view class="title">{{$t(`签到`)}}<text
 							<view class="title">{{$t(`签到`)}}<text
-									class="mark">{{$t(`可获得`)}}{{taskInfo.sign}}{{$t(`点经验`)}}</text></view>
-							<view class="info">{{$t(`每日签到可获得经验值,已签到`)}}{{taskInfo.sign_count}}{{$t(`天`)}}</view>
+									class="mark">{{$t(`可获得`)}}{{taskInfo.sign || ''}}{{$t(`点经验`)}}</text></view>
+							<view class="info">{{$t(`每日签到可获得经验值,已签到`)}}{{taskInfo.sign_count || ''}}{{$t(`天`)}}</view>
 						</view>
 						</view>
 						<navigator class="link" url="/pages/users/user_sgin/index" hover-class="none">{{$t(`去签到`)}}
 						<navigator class="link" url="/pages/users/user_sgin/index" hover-class="none">{{$t(`去签到`)}}
 						</navigator>
 						</navigator>
@@ -107,7 +107,7 @@
 					<view class="item acea-row row-middle">
 					<view class="item acea-row row-middle">
 						<view class="text">
 						<view class="text">
 							<view class="title">{{$t(`购买商品`)}}<text
 							<view class="title">{{$t(`购买商品`)}}<text
-									class="mark">+{{taskInfo.order}}{{$t(`点经验/元`)}}</text></view>
+									class="mark">+{{taskInfo.order || ''}}{{$t(`点经验/元`)}}</text></view>
 							<view class="info">{{$t(`购买商品可获得对应的经验值`)}}</view>
 							<view class="info">{{$t(`购买商品可获得对应的经验值`)}}</view>
 						</view>
 						</view>
 						<navigator class="link" open-type="switchTab" url="/pages/goods_cate/goods_cate"
 						<navigator class="link" open-type="switchTab" url="/pages/goods_cate/goods_cate"
@@ -116,7 +116,7 @@
 					<view class="item acea-row row-middle">
 					<view class="item acea-row row-middle">
 						<view class="text">
 						<view class="text">
 							<view class="title">{{$t(`邀请好友`)}}<text
 							<view class="title">{{$t(`邀请好友`)}}<text
-									class="mark">+{{taskInfo.invite}}{{$t(`点经验/人`)}}</text></view>
+									class="mark">+{{taskInfo.invite || ''}}{{$t(`点经验/人`)}}</text></view>
 							<view class="info">{{$t(`邀请好友注册商城可获得经验值`)}}</view>
 							<view class="info">{{$t(`邀请好友注册商城可获得经验值`)}}</view>
 						</view>
 						</view>
 						<navigator class="link" url="/pages/users/user_spread_code/index" hover-class="none">
 						<navigator class="link" url="/pages/users/user_spread_code/index" hover-class="none">