mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-10-31 06:50:51 +00:00
Merge branch 'v4.7.0dev' of https://gitee.com/ZhongBangKeJi/CRMEB into v4.7.0dev
This commit is contained in:
commit
2cc5010bfb
@ -307,6 +307,9 @@ class SystemConfig extends AuthController
|
||||
return app('json')->fail(400763);
|
||||
}
|
||||
}
|
||||
if (isset($post['uni_brokerage_price']) && preg_match('/\.[0-9]{2,}[1-9][0-9]*$/', (string)$post['uni_brokerage_price']) > 0) {
|
||||
return app('json')->fail(500029);
|
||||
}
|
||||
|
||||
//支付接口类型选择,如果有订单就不能再进行切换
|
||||
// if (isset($post['pay_wechat_type'])) {
|
||||
|
||||
@ -123,20 +123,19 @@ class User extends AuthController
|
||||
if ($data['card_id']) {
|
||||
if (!check_card($data['card_id'])) return app('json')->fail(400315);
|
||||
}
|
||||
if ($data['pwd']) {
|
||||
if (!$data['true_pwd']) {
|
||||
return app('json')->fail(400263);
|
||||
}
|
||||
if ($data['pwd'] != $data['true_pwd']) {
|
||||
return app('json')->fail(400264);
|
||||
}
|
||||
if (strlen($data['pwd']) < 6 || strlen($data['pwd']) > 32) {
|
||||
return app('json')->fail(400762);
|
||||
}
|
||||
$data['pwd'] = md5($data['pwd']);
|
||||
} else {
|
||||
unset($data['pwd']);
|
||||
if (!$data['pwd']) {
|
||||
return app('json')->fail(400256);
|
||||
}
|
||||
if (!$data['true_pwd']) {
|
||||
return app('json')->fail(400263);
|
||||
}
|
||||
if ($data['pwd'] != $data['true_pwd']) {
|
||||
return app('json')->fail(400264);
|
||||
}
|
||||
if (strlen($data['pwd']) < 6 || strlen($data['pwd']) > 32) {
|
||||
return app('json')->fail(400762);
|
||||
}
|
||||
$data['pwd'] = md5($data['pwd']);
|
||||
unset($data['true_pwd']);
|
||||
$data['avatar'] = sys_config('h5_avatar');
|
||||
$data['adminId'] = $this->adminId;
|
||||
|
||||
@ -35,13 +35,11 @@ class AdminLoginListener
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
$timerPath = root_path('runtime') . '.timer';
|
||||
$timer = file_get_contents($timerPath);
|
||||
if ($timer && $timer <= time() && $timer > (time() - 10)) {
|
||||
if ($timer && $timer <= time() && $timer > (time() - 70)) {
|
||||
$res1 = true;
|
||||
}
|
||||
|
||||
} catch (\Throwable $e) {
|
||||
}
|
||||
|
||||
|
||||
@ -66,6 +66,10 @@ class AgentLevelServices extends BaseServices
|
||||
$query->field('count(*) as sum');
|
||||
}], $page, $limit);
|
||||
$count = $this->dao->count($where);
|
||||
foreach ($list as &$item) {
|
||||
$item['one_brokerage_ratio'] = bcdiv(bcmul((string)sys_config('store_brokerage_ratio'), bcadd('100', (string)$item['one_brokerage'], 2), 2), '100', 2);
|
||||
$item['two_brokerage_ratio'] = bcdiv(bcmul((string)sys_config('store_brokerage_two'), bcadd('100', (string)$item['two_brokerage'], 2), 2), '100', 2);
|
||||
}
|
||||
return compact('count', 'list');
|
||||
}
|
||||
|
||||
@ -259,8 +263,16 @@ class AgentLevelServices extends BaseServices
|
||||
$field[] = Form::input('name', '等级名称')->maxlength(8)->col(24);
|
||||
$field[] = Form::number('grade', '等级', 0)->min(0)->precision(0);
|
||||
$field[] = Form::frameImage('image', '背景图', Url::buildUrl('admin/widget.images/index', array('fodder' => 'image')))->icon('ios-add')->width('950px')->height('505px')->modal(['footer-hide' => true]);
|
||||
$field[] = Form::number('one_brokerage', '一级上浮', 0)->info('在分销一级佣金基础上浮(0-1000之间整数)百分比')->min(0)->max(1000)->precision(0);
|
||||
$field[] = Form::number('two_brokerage', '二级上浮', 0)->info('在分销二级佣金基础上浮(0-1000之间整数)百分比')->min(0)->max(1000)->precision(0);
|
||||
$field[] = Form::number('one_brokerage', '一级上浮', 0)->appendRule('suffix', [
|
||||
'type' => 'div',
|
||||
'class' => 'tips-info',
|
||||
'domProps' => ['innerHTML' => '在分销一级佣金基础上浮(0-1000之间整数)百分比,目前一级返佣比率:10%,上浮5%,则返佣比率:一级返佣比率 * (1 + 一级上浮比率) = 10.50%']
|
||||
])->max(1000)->precision(0);
|
||||
$field[] = Form::number('two_brokerage', '二级上浮', 0)->appendRule('suffix', [
|
||||
'type' => 'div',
|
||||
'class' => 'tips-info',
|
||||
'domProps' => ['innerHTML' => '在分销二级佣金基础上浮(0-1000之间整数)百分比,目前二级返佣比率:10%,上浮2%,则返佣比率:二级返佣比率 * (1 + 二级上浮比率) = 5.10%']
|
||||
])->min(0)->max(1000)->precision(0);
|
||||
$field[] = Form::radio('status', '是否显示', 1)->options([['value' => 1, 'label' => '显示'], ['value' => 0, 'label' => '隐藏']]);
|
||||
return create_form('添加分销员等级', $field, Url::buildUrl('/agent/level'), 'POST');
|
||||
}
|
||||
@ -281,8 +293,16 @@ class AgentLevelServices extends BaseServices
|
||||
$field[] = Form::input('name', '等级名称', $levelInfo['name'])->maxlength(8)->col(24);
|
||||
$field[] = Form::number('grade', '等级', $levelInfo['grade'])->min(0)->precision(0);
|
||||
$field[] = Form::frameImage('image', '背景图', Url::buildUrl('admin/widget.images/index', array('fodder' => 'image')), $levelInfo['image'])->icon('ios-add')->width('950px')->height('505px')->modal(['footer-hide' => true]);
|
||||
$field[] = Form::number('one_brokerage', '一级上浮', $levelInfo['one_brokerage'])->info('在分销一级佣金基础上浮(0-1000之间整数)百分比')->min(0)->max(1000)->precision(0);
|
||||
$field[] = Form::number('two_brokerage', '二级上浮', $levelInfo['two_brokerage'])->info('在分销二级佣金基础上浮(0-1000之间整数)百分比')->min(0)->max(1000)->precision(0);
|
||||
$field[] = Form::number('one_brokerage', '一级上浮', $levelInfo['one_brokerage'])->appendRule('suffix', [
|
||||
'type' => 'div',
|
||||
'class' => 'tips-info',
|
||||
'domProps' => ['innerHTML' => '在分销一级佣金基础上浮(0-1000之间整数)百分比,目前一级返佣比率:10%,上浮5%,则返佣比率:一级返佣比率 * (1 + 一级上浮比率) = 10.50%']
|
||||
])->min(0)->max(1000)->precision(0);
|
||||
$field[] = Form::number('two_brokerage', '二级上浮', $levelInfo['two_brokerage'])->appendRule('suffix', [
|
||||
'type' => 'div',
|
||||
'class' => 'tips-info',
|
||||
'domProps' => ['innerHTML' => '在分销二级佣金基础上浮(0-1000之间整数)百分比,目前二级返佣比率:10%,上浮2%,则返佣比率:二级返佣比率 * (1 + 二级上浮比率) = 5.10%']
|
||||
])->min(0)->max(1000)->precision(0);
|
||||
$field[] = Form::radio('status', '是否显示', $levelInfo['status'])->options([['value' => 1, 'label' => '显示'], ['value' => 0, 'label' => '隐藏']]);
|
||||
|
||||
return create_form('编辑分销员等级', $field, Url::buildUrl('/agent/level/' . $id), 'PUT');
|
||||
|
||||
@ -988,10 +988,46 @@ HTML;
|
||||
]
|
||||
]]
|
||||
];
|
||||
$series3 = ['normal' => ['color' => [
|
||||
'x' => 0, 'y' => 0, 'x2' => 0, 'y2' => 1,
|
||||
'colorStops' => [
|
||||
[
|
||||
'offset' => 0,
|
||||
'color' => '#69cdff'
|
||||
],
|
||||
[
|
||||
'offset' => 0.5,
|
||||
'color' => '#3eb3f7'
|
||||
],
|
||||
[
|
||||
'offset' => 1,
|
||||
'color' => '#1495eb'
|
||||
]
|
||||
]
|
||||
]]
|
||||
];
|
||||
$series4 = ['normal' => ['color' => [
|
||||
'x' => 0, 'y' => 0, 'x2' => 0, 'y2' => 1,
|
||||
'colorStops' => [
|
||||
[
|
||||
'offset' => 0,
|
||||
'color' => '#6fdeab'
|
||||
],
|
||||
[
|
||||
'offset' => 0.5,
|
||||
'color' => '#44d693'
|
||||
],
|
||||
[
|
||||
'offset' => 1,
|
||||
'color' => '#2cc981'
|
||||
]
|
||||
]
|
||||
]]
|
||||
];
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][0], 'type' => 'bar', 'itemStyle' => $series1, 'data' => $data['pre']['price']];//分类1值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][1], 'type' => 'bar', 'itemStyle' => $series1, 'data' => $data['now']['price']];//分类1值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][2], 'type' => 'line', 'itemStyle' => $series2, 'data' => $data['pre']['count'], 'yAxisIndex' => 1];//分类2值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][3], 'type' => 'line', 'itemStyle' => $series2, 'data' => $data['now']['count'], 'yAxisIndex' => 1];//分类2值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][1], 'type' => 'bar', 'itemStyle' => $series2, 'data' => $data['now']['price']];//分类1值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][2], 'type' => 'line', 'itemStyle' => $series3, 'data' => $data['pre']['count'], 'yAxisIndex' => 1];//分类2值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][3], 'type' => 'line', 'itemStyle' => $series4, 'data' => $data['now']['count'], 'yAxisIndex' => 1];//分类2值
|
||||
|
||||
//统计总数上期
|
||||
$pre_total = $this->dao->preTotalFind($datebefor, $dateafter);
|
||||
@ -1109,10 +1145,46 @@ HTML;
|
||||
]
|
||||
]]
|
||||
];
|
||||
$series3 = ['normal' => ['color' => [
|
||||
'x' => 0, 'y' => 0, 'x2' => 0, 'y2' => 1,
|
||||
'colorStops' => [
|
||||
[
|
||||
'offset' => 0,
|
||||
'color' => '#69cdff'
|
||||
],
|
||||
[
|
||||
'offset' => 0.5,
|
||||
'color' => '#3eb3f7'
|
||||
],
|
||||
[
|
||||
'offset' => 1,
|
||||
'color' => '#1495eb'
|
||||
]
|
||||
]
|
||||
]]
|
||||
];
|
||||
$series4 = ['normal' => ['color' => [
|
||||
'x' => 0, 'y' => 0, 'x2' => 0, 'y2' => 1,
|
||||
'colorStops' => [
|
||||
[
|
||||
'offset' => 0,
|
||||
'color' => '#6fdeab'
|
||||
],
|
||||
[
|
||||
'offset' => 0.5,
|
||||
'color' => '#44d693'
|
||||
],
|
||||
[
|
||||
'offset' => 1,
|
||||
'color' => '#2cc981'
|
||||
]
|
||||
]
|
||||
]]
|
||||
];
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][0], 'type' => 'bar', 'itemStyle' => $series1, 'data' => $data['pre']['price']];//分类1值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][1], 'type' => 'bar', 'itemStyle' => $series1, 'data' => $data['now']['price']];//分类1值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][2], 'type' => 'line', 'itemStyle' => $series2, 'data' => $data['pre']['count'], 'yAxisIndex' => 1];//分类2值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][3], 'type' => 'line', 'itemStyle' => $series2, 'data' => $data['now']['count'], 'yAxisIndex' => 1];//分类2值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][1], 'type' => 'bar', 'itemStyle' => $series2, 'data' => $data['now']['price']];//分类1值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][2], 'type' => 'line', 'itemStyle' => $series3, 'data' => $data['pre']['count'], 'yAxisIndex' => 1];//分类2值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][3], 'type' => 'line', 'itemStyle' => $series4, 'data' => $data['now']['count'], 'yAxisIndex' => 1];//分类2值
|
||||
|
||||
//统计总数上期
|
||||
$pre_total = $this->dao->preTotalFind($datebefor, $dateafter);
|
||||
@ -1228,10 +1300,46 @@ HTML;
|
||||
]
|
||||
]]
|
||||
];
|
||||
$series3 = ['normal' => ['color' => [
|
||||
'x' => 0, 'y' => 0, 'x2' => 0, 'y2' => 1,
|
||||
'colorStops' => [
|
||||
[
|
||||
'offset' => 0,
|
||||
'color' => '#69cdff'
|
||||
],
|
||||
[
|
||||
'offset' => 0.5,
|
||||
'color' => '#3eb3f7'
|
||||
],
|
||||
[
|
||||
'offset' => 1,
|
||||
'color' => '#1495eb'
|
||||
]
|
||||
]
|
||||
]]
|
||||
];
|
||||
$series4 = ['normal' => ['color' => [
|
||||
'x' => 0, 'y' => 0, 'x2' => 0, 'y2' => 1,
|
||||
'colorStops' => [
|
||||
[
|
||||
'offset' => 0,
|
||||
'color' => '#6fdeab'
|
||||
],
|
||||
[
|
||||
'offset' => 0.5,
|
||||
'color' => '#44d693'
|
||||
],
|
||||
[
|
||||
'offset' => 1,
|
||||
'color' => '#2cc981'
|
||||
]
|
||||
]
|
||||
]]
|
||||
];
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][0], 'type' => 'bar', 'itemStyle' => $series1, 'data' => $data['pre']['price']];//分类1值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][1], 'type' => 'bar', 'itemStyle' => $series1, 'data' => $data['now']['price']];//分类1值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][2], 'type' => 'line', 'itemStyle' => $series2, 'data' => $data['pre']['count'], 'yAxisIndex' => 1];//分类2值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][3], 'type' => 'line', 'itemStyle' => $series2, 'data' => $data['now']['count'], 'yAxisIndex' => 1];//分类2值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][1], 'type' => 'bar', 'itemStyle' => $series2, 'data' => $data['now']['price']];//分类1值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][2], 'type' => 'line', 'itemStyle' => $series3, 'data' => $data['pre']['count'], 'yAxisIndex' => 1];//分类2值
|
||||
$chartdata['series'][] = ['name' => $chartdata['legend'][3], 'type' => 'line', 'itemStyle' => $series4, 'data' => $data['now']['count'], 'yAxisIndex' => 1];//分类2值
|
||||
|
||||
//统计总数上期
|
||||
$pre_total = $this->dao->preTotalFind($datebefor, $dateafter);
|
||||
@ -1323,24 +1431,24 @@ HTML;
|
||||
$yesterday_sales = $this->dao->todaySales('yesterday');
|
||||
//日同比
|
||||
$sales_today_ratio = $this->growth($today_sales, $yesterday_sales);
|
||||
//周销售额
|
||||
//本周
|
||||
$this_week_sales = $this->dao->thisWeekSales('week');
|
||||
//上周
|
||||
$last_week_sales = $this->dao->thisWeekSales('last week');
|
||||
//周同比
|
||||
$sales_week_ratio = $this->growth($this_week_sales, $last_week_sales);
|
||||
// //周销售额
|
||||
// //本周
|
||||
// $this_week_sales = $this->dao->thisWeekSales('week');
|
||||
// //上周
|
||||
// $last_week_sales = $this->dao->thisWeekSales('last week');
|
||||
// //周同比
|
||||
// $sales_week_ratio = $this->growth($this_week_sales, $last_week_sales);
|
||||
//总销售额
|
||||
$total_sales = $this->dao->totalSales('month');
|
||||
$sales = [
|
||||
'today' => $today_sales,
|
||||
'yesterday' => $yesterday_sales,
|
||||
'today_ratio' => $sales_today_ratio,
|
||||
'week' => $this_week_sales,
|
||||
'last_week' => $last_week_sales,
|
||||
'week_ratio' => $sales_week_ratio,
|
||||
// 'week' => $this_week_sales,
|
||||
// 'last_week' => $last_week_sales,
|
||||
// 'week_ratio' => $sales_week_ratio,
|
||||
'total' => $total_sales . '元',
|
||||
'date' => '昨日'
|
||||
'date' => '今日'
|
||||
];
|
||||
//TODO:用户访问量
|
||||
//今日访问量
|
||||
@ -1349,23 +1457,23 @@ HTML;
|
||||
$yesterday_visits = $productLogServices->count(['time' => 'yesterday', 'type' => 'visit']);
|
||||
//日同比
|
||||
$visits_today_ratio = $this->growth($today_visits, $yesterday_visits);
|
||||
//本周访问量
|
||||
$this_week_visits = $productLogServices->count(['time' => 'week', 'type' => 'visit']);
|
||||
//上周访问量
|
||||
$last_week_visits = $productLogServices->count(['time' => 'last week', 'type' => 'visit']);
|
||||
//周同比
|
||||
$visits_week_ratio = $this->growth($this_week_visits, $last_week_visits);
|
||||
// //本周访问量
|
||||
// $this_week_visits = $productLogServices->count(['time' => 'week', 'type' => 'visit']);
|
||||
// //上周访问量
|
||||
// $last_week_visits = $productLogServices->count(['time' => 'last week', 'type' => 'visit']);
|
||||
// //周同比
|
||||
// $visits_week_ratio = $this->growth($this_week_visits, $last_week_visits);
|
||||
//总访问量
|
||||
$total_visits = $productLogServices->count(['time' => 'month', 'type' => 'visit']);
|
||||
$visits = [
|
||||
'today' => $today_visits,
|
||||
'yesterday' => $yesterday_visits,
|
||||
'today_ratio' => $visits_today_ratio,
|
||||
'week' => $this_week_visits,
|
||||
'last_week' => $last_week_visits,
|
||||
'week_ratio' => $visits_week_ratio,
|
||||
// 'week' => $this_week_visits,
|
||||
// 'last_week' => $last_week_visits,
|
||||
// 'week_ratio' => $visits_week_ratio,
|
||||
'total' => $total_visits . 'Pv',
|
||||
'date' => '昨日'
|
||||
'date' => '今日'
|
||||
];
|
||||
//TODO 订单量
|
||||
//今日订单量
|
||||
@ -1374,23 +1482,23 @@ HTML;
|
||||
$yesterday_order = $this->dao->todayOrderVisit('yesterday', 1);
|
||||
//订单日同比
|
||||
$order_today_ratio = $this->growth($today_order, $yesterday_order);
|
||||
//本周订单量
|
||||
$this_week_order = $this->dao->todayOrderVisit('week', 2);
|
||||
//上周订单量
|
||||
$last_week_order = $this->dao->todayOrderVisit('last week', 2);
|
||||
//订单周同比
|
||||
$order_week_ratio = $this->growth($this_week_order, $last_week_order);
|
||||
// //本周订单量
|
||||
// $this_week_order = $this->dao->todayOrderVisit('week', 2);
|
||||
// //上周订单量
|
||||
// $last_week_order = $this->dao->todayOrderVisit('last week', 2);
|
||||
// //订单周同比
|
||||
// $order_week_ratio = $this->growth($this_week_order, $last_week_order);
|
||||
//总订单量
|
||||
$total_order = $this->dao->count(['time' => 'month', 'paid' => 1, 'refund_status' => 0, 'pid' => 0]);
|
||||
$order = [
|
||||
'today' => $today_order,
|
||||
'yesterday' => $yesterday_order,
|
||||
'today_ratio' => $order_today_ratio,
|
||||
'week' => $this_week_order,
|
||||
'last_week' => $last_week_order,
|
||||
'week_ratio' => $order_week_ratio,
|
||||
// 'week' => $this_week_order,
|
||||
// 'last_week' => $last_week_order,
|
||||
// 'week_ratio' => $order_week_ratio,
|
||||
'total' => $total_order . '单',
|
||||
'date' => '昨日'
|
||||
'date' => '今日'
|
||||
];
|
||||
//TODO 用户
|
||||
//今日新增用户
|
||||
@ -1399,23 +1507,23 @@ HTML;
|
||||
$yesterday_user = $uSercice->todayAddVisits('yesterday', 1);
|
||||
//新增用户日同比
|
||||
$user_today_ratio = $this->growth($today_user, $yesterday_user);
|
||||
//本周新增用户
|
||||
$this_week_user = $uSercice->todayAddVisits('week', 2);
|
||||
//上周新增用户
|
||||
$last_week_user = $uSercice->todayAddVisits('last week', 2);
|
||||
//新增用户周同比
|
||||
$user_week_ratio = $this->growth($this_week_user, $last_week_user);
|
||||
// //本周新增用户
|
||||
// $this_week_user = $uSercice->todayAddVisits('week', 2);
|
||||
// //上周新增用户
|
||||
// $last_week_user = $uSercice->todayAddVisits('last week', 2);
|
||||
// //新增用户周同比
|
||||
// $user_week_ratio = $this->growth($this_week_user, $last_week_user);
|
||||
//所有用户
|
||||
$total_user = $uSercice->count(['time' => 'month']);
|
||||
$user = [
|
||||
'today' => $today_user,
|
||||
'yesterday' => $yesterday_user,
|
||||
'today_ratio' => $user_today_ratio,
|
||||
'week' => $this_week_user,
|
||||
'last_week' => $last_week_user,
|
||||
'week_ratio' => $user_week_ratio,
|
||||
// 'week' => $this_week_user,
|
||||
// 'last_week' => $last_week_user,
|
||||
// 'week_ratio' => $user_week_ratio,
|
||||
'total' => $total_user . '人',
|
||||
'date' => '昨日'
|
||||
'date' => '今日'
|
||||
];
|
||||
$info = array_values(compact('sales', 'visits', 'order', 'user'));
|
||||
$info[0]['title'] = '销售额';
|
||||
|
||||
@ -118,7 +118,6 @@ class StoreCategoryServices extends BaseServices
|
||||
throw new AdminException(100005);
|
||||
} else {
|
||||
$this->cacheDriver()->clear();
|
||||
$this->cacheDriver()->set('category_version', uniqid());
|
||||
}
|
||||
}
|
||||
|
||||
@ -206,7 +205,6 @@ class StoreCategoryServices extends BaseServices
|
||||
if (!$res) throw new AdminException(100006);
|
||||
|
||||
$this->cacheDriver()->clear();
|
||||
$this->cacheDriver()->set('category_version', uniqid());
|
||||
|
||||
return (int)$res->id;
|
||||
}
|
||||
@ -246,7 +244,6 @@ class StoreCategoryServices extends BaseServices
|
||||
});
|
||||
|
||||
$this->cacheDriver()->clear();
|
||||
$this->cacheDriver()->set('category_version', uniqid());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -262,7 +259,6 @@ class StoreCategoryServices extends BaseServices
|
||||
if (!$res) throw new AdminException(100008);
|
||||
|
||||
$this->cacheDriver()->clear();
|
||||
$this->cacheDriver()->set('category_version', uniqid());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -50,7 +50,7 @@ class UserAuthServices extends BaseServices
|
||||
if ($token === 'undefined') {
|
||||
throw new AuthException(110002);
|
||||
}
|
||||
if (!$token || !$tokenData = CacheService::get($md5Token, '', NULL, 'api'))
|
||||
if (!$token || !$tokenData = CacheService::get($md5Token))
|
||||
throw new AuthException(110002);
|
||||
|
||||
if (!is_array($tokenData) || empty($tokenData) || !isset($tokenData['uid'])) {
|
||||
|
||||
@ -49,6 +49,7 @@ class WechatQrcodeServices extends BaseServices
|
||||
$item['stop'] = $item['end_time'] ? $item['end_time'] > time() ? 1 : -1 : 0;
|
||||
$item['label_name'] = $userLabel->getColumn([['id', 'in', $item['label_id']]], 'label_name');
|
||||
$item['end_time'] = date('Y-m-d H:i:s', $item['end_time']);
|
||||
$item['add_time'] = date('Y-m-d H:i:s', $item['add_time']);
|
||||
}
|
||||
$count = $this->dao->count($where);
|
||||
return compact('list', 'count');
|
||||
|
||||
@ -26520,7 +26520,17 @@ INSERT INTO `eb_lang_code` (`id`, `type_id`, `code`, `remarks`, `lang_explain`,
|
||||
(24977, 7, '500028', '请填写邀请码', '초대 코드를 입력하십시오.', 1),
|
||||
(24978, 8, '500028', '请填写邀请码', 'Урилгын кодыг бөглөнө үү', 1),
|
||||
(24979, 9, '500028', '请填写邀请码', 'กรุณากรอกรหัสเชิญ', 1),
|
||||
(24980, 10, '500028', '请填写邀请码', 'Vui lòng điền mã mời', 1);
|
||||
(24980, 10, '500028', '请填写邀请码', 'Vui lòng điền mã mời', 1),
|
||||
(24981, 1, '500029', '金额最多两位小数', '金额最多两位小数', 1),
|
||||
(24982, 2, '500029', '金额最多两位小数', 'Amount Up to two decimal places', 1),
|
||||
(24983, 3, '500029', '金额最多两位小数', '金額最多兩位小數', 1),
|
||||
(24984, 4, '500029', '金额最多两位小数', 'Montant Jusquà deux décimales', 1),
|
||||
(24985, 5, '500029', '金额最多两位小数', 'Importo Fino a due decimali', 1),
|
||||
(24986, 6, '500029', '金额最多两位小数', '金額は小数点以下2桁まで', 1),
|
||||
(24987, 7, '500029', '金额最多两位小数', '양 소수점 이하 두 자리까지', 1),
|
||||
(24988, 8, '500029', '金额最多两位小数', 'Хэмжээ Хоёр аравтын бутархай газар хүртэл', 1),
|
||||
(24989, 9, '500029', '金额最多两位小数', 'จำนวนทศนิยมสูงสุดสองตำแหน่ง', 1),
|
||||
(24990, 10, '500029', '金额最多两位小数', 'Số tiền tối đa hai chữ số thập phân', 1);
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
@ -33839,7 +33849,7 @@ INSERT INTO `eb_system_menus` (`id`, `pid`, `icon`, `menu_name`, `module`, `cont
|
||||
(26, 0, 'ios-people', '分销', 'admin', 'agent', '', '', '', '[]', 104, 1, 0, 1, '/agent', '', 1, 'user', 1, 'admin-agent', 0),
|
||||
(27, 0, 'ios-paper-plane', '营销', 'admin', 'marketing', '', '', '', '[]', 110, 1, 0, 1, '/marketing', '', 1, 'home', 1, 'admin-marketing', 0),
|
||||
(28, 26, '', '分销设置', 'admin', 'setting.system_config', '', '', '', '[]', 1, 1, 0, 1, '/setting/system_config_retail/2/9', '', 1, 'setting', 0, 'setting-system-config', 0),
|
||||
(29, 26, '', '分销员管理', 'admin', 'agent.agent_manage', 'index', '', '', '[]', 1, 1, 0, 1, '/agent/agent_manage/index', '', 1, 'user', 0, 'agent-agent-manage', 0),
|
||||
(29, 26, '', '分销员管理', 'admin', 'agent.agent_manage', 'index', '', '', '[]', 99, 1, 0, 1, '/agent/agent_manage/index', '', 1, 'user', 0, 'agent-agent-manage', 0),
|
||||
(30, 27, '', '优惠券', 'admin', 'marketing.store_coupon', '', '', '', '[]', 100, 1, 0, 1, '/marketing/store_coupon', '27', 1, 'marketing', 0, 'marketing-store_coupon-index', 0),
|
||||
(31, 27, '', '砍价管理', 'admin', 'marketing.store_bargain', '', '', '', '[]', 85, 1, 0, 1, '/marketing/store_bargain', '27', 1, 'marketing', 0, 'marketing-store_bargain-index', 0),
|
||||
(32, 27, '', '拼团管理', 'admin', 'marketing.store_combination', '', '', '', '[]', 80, 1, 0, 1, '/marketing/store_combination', '27', 1, 'marketing', 0, 'marketing-store_combination-index', 0),
|
||||
|
||||
@ -16,6 +16,15 @@
|
||||
</Dropdown>
|
||||
</div>
|
||||
</template>
|
||||
<style scoped>
|
||||
.ivu-dropdown-item{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.ivu-dropdown-item .iconImg{
|
||||
margin-right: 10px;
|
||||
}
|
||||
</style>
|
||||
<style lang="less">
|
||||
.header-notice {
|
||||
margin-right: 30px;
|
||||
@ -36,7 +45,7 @@
|
||||
border-radius: 50%;
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
margin-right: 10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.header-notice .ivu-dropdown {
|
||||
|
||||
@ -93,7 +93,10 @@ export default {
|
||||
justify-content space-between
|
||||
width 100%
|
||||
}
|
||||
/deep/ .ivu-dropdown-rel {
|
||||
width: 75px !important;
|
||||
}
|
||||
.drop-menu-a /deep/ .ivu-dropdown-rel {
|
||||
min-width: 75px !important;
|
||||
width: 75px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -199,7 +199,6 @@ new Vue({
|
||||
let menus = this.$store.state.menus.menusName;
|
||||
const menuSider = menus;
|
||||
const headerName = getHeaderName(to, menuSider);
|
||||
|
||||
if (headerName !== null) {
|
||||
this.$store.commit('menu/setActivePath', path);
|
||||
const openNames = getSiderSubmenu(to, menuSider);
|
||||
@ -216,9 +215,11 @@ new Vue({
|
||||
this.$store.commit('menu/setSider', filterMenuSider[0]?.children || []);
|
||||
} else {
|
||||
//子路由给默认 如果你没有使用顶部菜单,则设置为默认的(一般为 home)名称即可
|
||||
// this.$store.commit('menu/setHeaderName', 'home');
|
||||
this.$store.commit('menu/setHeaderName', settings.routePre + '/home/');
|
||||
if (to.name == 'home_index') {
|
||||
this.$store.commit('menu/setSider', []);
|
||||
}
|
||||
// 指定当前显示的侧边菜单
|
||||
// this.$store.commit('menu/setSider', menuSider);
|
||||
}
|
||||
|
||||
if (to.meta.kefu) {
|
||||
|
||||
@ -81,11 +81,11 @@
|
||||
</a>
|
||||
<DropdownMenu slot="list">
|
||||
<DropdownItem name="1">推广订单</DropdownItem>
|
||||
<DropdownItem name="2">推广方式</DropdownItem>
|
||||
<!-- <DropdownItem name="3">修改上级推广人</DropdownItem>-->
|
||||
<!-- <DropdownItem name="4">清除上级推广人</DropdownItem>-->
|
||||
<!-- <DropdownItem name="5">取消推广资格</DropdownItem>-->
|
||||
<DropdownItem name="5">赠送分销等级</DropdownItem>
|
||||
<DropdownItem name="2">推广二维码</DropdownItem>
|
||||
<DropdownItem name="3">修改上级推广人</DropdownItem>
|
||||
<DropdownItem name="4">清除上级推广人</DropdownItem>
|
||||
<DropdownItem name="5">取消推广资格</DropdownItem>
|
||||
<DropdownItem name="6">修改分销等级</DropdownItem>
|
||||
</DropdownMenu>
|
||||
</Dropdown>
|
||||
</template>
|
||||
@ -104,7 +104,7 @@
|
||||
</Card>
|
||||
<!-- 推广人列表-->
|
||||
<promoters-list ref="promotersLists"></promoters-list>
|
||||
<!-- 推广方式-->
|
||||
<!-- 推广二维码-->
|
||||
<Modal v-model="modals" scrollable footer-hide closable title="推广二维码" :mask-closable="false" width="600">
|
||||
<div class="acea-row row-around">
|
||||
<div class="acea-row row-column-around row-between-wrapper">
|
||||
@ -367,21 +367,25 @@ export default {
|
||||
changeMenu(row, name, index) {
|
||||
switch (name) {
|
||||
case '1':
|
||||
this.promoters(row, 'order');
|
||||
this.promoters(row, 'order');//推广人订单
|
||||
break;
|
||||
case '2':
|
||||
this.spreadQR(row);
|
||||
this.spreadQR(row);//推广方式二维码
|
||||
break;
|
||||
case '3':
|
||||
this.editS(row);
|
||||
this.editS(row);//修改上级推广人
|
||||
break;
|
||||
case '4':
|
||||
this.del(row, '解除【 ' + row.nickname + ' 】的上级推广人', index);
|
||||
case '5':
|
||||
case '4'://清除上级推广人
|
||||
this.del_parent(row, '清除【 ' + row.nickname + ' 】的上级推广人', index);
|
||||
break;
|
||||
case '5'://取消推广资格
|
||||
this.del_agent(row, '取消【 ' + row.nickname + ' 】的推广资格', index);
|
||||
break;
|
||||
case '6'://修改推广等级
|
||||
this.$modalForm(membershipDataAddApi({ uid: row.uid }, '/agent/get_level_form')).then(() => this.getList());
|
||||
break;
|
||||
default:
|
||||
this.del_open(row, '解除【 ' + row.nickname + ' 】的推广资格', index);
|
||||
|
||||
break;
|
||||
}
|
||||
},
|
||||
@ -397,16 +401,16 @@ export default {
|
||||
this.formInline.spread_uid = e.uid;
|
||||
this.formInline.image = e.image;
|
||||
},
|
||||
// 删除
|
||||
del(row, tit, num) {
|
||||
let delfromData = {
|
||||
title: tit,
|
||||
// 清除上级关系
|
||||
del_parent(rows, titile, num) {
|
||||
let delfromDatap = {
|
||||
title: titile,
|
||||
num: num,
|
||||
url: `agent/stair/delete_spread/${row.uid}`,
|
||||
url: `agent/stair/delete_spread/${rows.uid}`,
|
||||
method: 'PUT',
|
||||
ids: '',
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
this.$modalSure(delfromDatap)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.getList();
|
||||
@ -415,8 +419,8 @@ export default {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 删除
|
||||
del_open(row, tit, num) {
|
||||
// 取消自己推广资格
|
||||
del_agent(row, tit, num) {
|
||||
let delfromData = {
|
||||
title: tit,
|
||||
num: num,
|
||||
|
||||
@ -36,9 +36,9 @@
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<Divider dashed />
|
||||
<!-- <Divider dashed /> -->
|
||||
<vxe-table
|
||||
class="vxeTable"
|
||||
class="vxeTable mt25"
|
||||
highlight-hover-row
|
||||
:loading="loading"
|
||||
header-row-class-name="false"
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Card :bordered="false" dis-hover class="ivu-mt mb10">
|
||||
<Form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
@ -295,10 +295,6 @@ export default {
|
||||
margin: 3px 0;
|
||||
}
|
||||
|
||||
.tabform {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.Refresh {
|
||||
font-size: 12px;
|
||||
color: #1890FF;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Card :bordered="false" dis-hover class="ivu-mt mb10">
|
||||
<Form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
@ -302,7 +302,6 @@ export default {
|
||||
}
|
||||
|
||||
.tabform {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.Refresh {
|
||||
|
||||
@ -54,7 +54,6 @@
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
:data="tabList"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
no-data-text="暂无数据"
|
||||
no-filtered-data-text="暂无筛选结果"
|
||||
|
||||
@ -8,9 +8,10 @@
|
||||
<Tag slot="extra" color="green">{{ item.date }}</Tag>
|
||||
<div>
|
||||
<!--<Numeral :value="item.yesterday" style=""/>-->
|
||||
<div class="number">{{ item.yesterday }}</div>
|
||||
<div class="number">{{ item.today }}</div>
|
||||
<div class="ivu-pt-8" style="height: 42px">
|
||||
<span style="display: inline-block" class="ivu-mr">
|
||||
<span>昨日 {{ item.yesterday }}</span>
|
||||
<span class="ivu-mr">
|
||||
<!--日同比 <Trend :flag="Number(item.today_ratio)>=0?'up':'down'">{{Number(item.today_ratio)}}%</Trend>-->
|
||||
日环比 {{ Number(item.today_ratio) }}%
|
||||
<Icon
|
||||
@ -19,15 +20,15 @@
|
||||
:class="Number(item.today_ratio) >= 0 ? ' ' : 'on'"
|
||||
/>
|
||||
</span>
|
||||
<span style="display: inline-block">
|
||||
<!--周同比 <Trend :flag="Number(item.week_ratio)>=0?'up':'down'">{{Number(item.week_ratio)}}%</Trend>-->
|
||||
<!-- <span style="display: inline-block">
|
||||
周同比 <Trend :flag="Number(item.week_ratio)>=0?'up':'down'">{{Number(item.week_ratio)}}%</Trend>
|
||||
周环比 {{ Number(item.week_ratio) }}%
|
||||
<Icon
|
||||
:type="Number(item.week_ratio) >= 0 ? 'md-arrow-dropup' : 'md-arrow-dropdown'"
|
||||
class="iconColor"
|
||||
:class="Number(item.week_ratio) >= 0 ? ' ' : 'on'"
|
||||
/>
|
||||
</span>
|
||||
</span> -->
|
||||
</div>
|
||||
<Divider style="margin: 8px 0" />
|
||||
<div>
|
||||
@ -95,7 +96,8 @@ export default {
|
||||
}
|
||||
|
||||
.ivu-mr {
|
||||
margin-right: 16px !important;
|
||||
display: inline-block;
|
||||
margin-left: 16px !important;
|
||||
}
|
||||
|
||||
.ivu-text-right {
|
||||
|
||||
@ -1,12 +1,11 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Card :bordered="false" dis-hover class="ivu-mt mb10">
|
||||
<Form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
class="tabform"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row :gutter="24" type="flex">
|
||||
@ -296,10 +295,6 @@ export default {
|
||||
margin: 3px 0;
|
||||
}
|
||||
|
||||
.tabform {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.Refresh {
|
||||
font-size: 12px;
|
||||
color: #1890FF;
|
||||
|
||||
@ -374,6 +374,6 @@ export default {
|
||||
.num {
|
||||
white-space: nowrap;
|
||||
margin: 0 10px;
|
||||
width: 17px;
|
||||
width: 30px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -45,7 +45,6 @@
|
||||
<Table
|
||||
:columns="columns1"
|
||||
:data="tableList"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
no-userFrom-text="暂无数据"
|
||||
|
||||
@ -194,7 +194,7 @@ export default {
|
||||
title: '操作',
|
||||
slot: 'action',
|
||||
fixed: 'right',
|
||||
minWidth: 130,
|
||||
minWidth: 160,
|
||||
},
|
||||
],
|
||||
tableList: [],
|
||||
|
||||
@ -46,7 +46,6 @@
|
||||
<Table
|
||||
:columns="columns1"
|
||||
:data="tableList"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
no-userFrom-text="暂无数据"
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
@on-select-all="selectAll"
|
||||
@on-select-all-cancel="selectAll"
|
||||
@on-select-cancel="onSelectCancel"
|
||||
class="orderData mt25"
|
||||
class="orderData"
|
||||
>
|
||||
<template slot-scope="{ row, index }" slot="order_id">
|
||||
<span v-text="row.order_id" style="display: block"></span>
|
||||
|
||||
@ -78,7 +78,6 @@
|
||||
:columns="columns"
|
||||
:data="orderList"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
no-userFrom-text="暂无数据"
|
||||
|
||||
@ -192,8 +192,9 @@ export default {
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
|
||||
.i-layout-page-header /deep/ .ivu-badge-count-alone {
|
||||
/deep/ .ivu-badge-count-alone {
|
||||
top: -7px;
|
||||
right: 2px;
|
||||
}
|
||||
|
||||
.i-layout-page-header /deep/ .ivu-badge-count {
|
||||
|
||||
@ -53,7 +53,6 @@
|
||||
:columns="thead"
|
||||
:data="tbody"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
no-userFrom-text="暂无数据"
|
||||
@ -668,7 +667,9 @@ export default {
|
||||
.code {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.ivu-form-item{
|
||||
|
||||
}
|
||||
.QRpic {
|
||||
width: 180px;
|
||||
height: 259px;
|
||||
|
||||
@ -73,7 +73,7 @@
|
||||
ref="table"
|
||||
:columns="artFrom.type !== '1' && artFrom.type !== '2' ? columns2 : columns"
|
||||
:data="tableList"
|
||||
class="ivu-mt"
|
||||
class="ivu-mt mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
@on-select="handleSelectRow"
|
||||
|
||||
@ -76,7 +76,7 @@
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
:data="tableList"
|
||||
class="ivu-mt"
|
||||
class="ivu-mt mt25"
|
||||
:loading="loading"
|
||||
@on-sort-change="sortMethod"
|
||||
no-data-text="暂无数据"
|
||||
|
||||
@ -26,7 +26,6 @@
|
||||
:columns="columns1"
|
||||
:data="tabList"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
no-userFrom-text="暂无数据"
|
||||
@ -39,6 +38,18 @@
|
||||
</div>
|
||||
</viewer>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="one_brokerage">
|
||||
<span>{{row.one_brokerage}}%</span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="one_brokerage_ratio">
|
||||
<span>{{row.one_brokerage_ratio}}%</span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="two_brokerage">
|
||||
<span>{{row.two_brokerage}}%</span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="two_brokerage_ratio">
|
||||
<span>{{row.two_brokerage_ratio}}%</span>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="status">
|
||||
<i-switch
|
||||
v-model="row.status"
|
||||
@ -192,7 +203,7 @@ export default {
|
||||
{
|
||||
slot: 'image',
|
||||
minWidth: 35,
|
||||
title: '图标',
|
||||
title: '背景图',
|
||||
},
|
||||
{
|
||||
key: 'name',
|
||||
@ -205,14 +216,24 @@ export default {
|
||||
title: '等级',
|
||||
},
|
||||
{
|
||||
key: 'one_brokerage',
|
||||
slot: 'one_brokerage',
|
||||
minWidth: 35,
|
||||
title: '一级返佣上浮比例(%)',
|
||||
title: '一级上浮比例',
|
||||
},
|
||||
{
|
||||
key: 'two_brokerage',
|
||||
slot: 'one_brokerage_ratio',
|
||||
minWidth: 35,
|
||||
title: '二级返佣上浮比例(%)',
|
||||
title: '一级分佣比例(上浮后)',
|
||||
},
|
||||
{
|
||||
slot: 'two_brokerage',
|
||||
minWidth: 35,
|
||||
title: '二级上浮比例',
|
||||
},
|
||||
{
|
||||
slot: 'two_brokerage_ratio',
|
||||
minWidth: 35,
|
||||
title: '二级分佣比例(上浮后)',
|
||||
},
|
||||
{
|
||||
slot: 'status',
|
||||
@ -220,7 +241,6 @@ export default {
|
||||
title: '是否显示',
|
||||
},
|
||||
{
|
||||
fixed: 'right',
|
||||
minWidth: 120,
|
||||
slot: 'action',
|
||||
title: '操作',
|
||||
@ -525,6 +545,7 @@ export default {
|
||||
|
||||
.headers {
|
||||
background-color: #fff;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
/deep/ .ivu-modal-mask {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Card :bordered="false" dis-hover class="ivu-mt mb10">
|
||||
<Form
|
||||
ref="formValidate"
|
||||
:model="formValidate"
|
||||
@ -37,7 +37,7 @@
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
:data="tabList"
|
||||
class="ivu-mt"
|
||||
class="ivu-mt mt25"
|
||||
:loading="loading"
|
||||
no-data-text="暂无数据"
|
||||
no-filtered-data-text="暂无筛选结果"
|
||||
|
||||
@ -55,9 +55,9 @@
|
||||
</template>
|
||||
</Alert>
|
||||
<Card :bordered="false" dis-hover>
|
||||
<Row type="flex">
|
||||
<Row type="flex" class="mb15">
|
||||
<Col>
|
||||
<Button type="primary" icon="md-add" @click="add">添加语言</Button>
|
||||
<Button type="primary" icon="md-add" @click="add">添加语句</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
<Table
|
||||
@ -89,7 +89,7 @@
|
||||
<Modal
|
||||
v-model="addlangModal"
|
||||
width="750"
|
||||
title="添加语言"
|
||||
title="添加需要翻译的语句"
|
||||
:loading="FormLoading"
|
||||
@on-ok="ok"
|
||||
@on-cancel="addlangModal = false"
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<template slot="desc">
|
||||
启动定时任务两种方式:<br />
|
||||
1、使用命令启动:php think timer start --d<br />
|
||||
2、使用接口触发定时任务,接口地址 https://您的域名/api/crontab/run
|
||||
2、使用接口触发定时任务,建议每分钟调用一次,接口地址 https://您的域名/api/crontab/run
|
||||
</template>
|
||||
</Alert>
|
||||
<Button type="primary" @click="addTask">添加定时任务</Button>
|
||||
@ -20,7 +20,6 @@
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="action">
|
||||
<a @click="edit(row.id)">编辑</a>
|
||||
|
||||
<Divider type="vertical" />
|
||||
<a @click="handleDelete(row, '删除秒杀商品', index)">删除</a>
|
||||
</template>
|
||||
@ -76,7 +75,6 @@ export default {
|
||||
title: '操作',
|
||||
slot: 'action',
|
||||
align: 'center',
|
||||
fixed: 'right',
|
||||
minWidth: 100,
|
||||
},
|
||||
],
|
||||
|
||||
@ -61,7 +61,6 @@
|
||||
:columns="thead"
|
||||
:data="tbody"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-row
|
||||
no-userFrom-text="暂无数据"
|
||||
|
||||
@ -101,8 +101,8 @@
|
||||
</i-switch>
|
||||
</template>
|
||||
<template slot-scope="{ row, index }" slot="action">
|
||||
<a @click="edit(row)">编辑</a>
|
||||
<Divider type="vertical" />
|
||||
<!-- <a @click="edit(row)">编辑</a>-->
|
||||
<!-- <Divider type="vertical" />-->
|
||||
<template>
|
||||
<Dropdown @on-click="changeMenu(row, $event, index)" :transfer="true">
|
||||
<a href="javascript:void(0)">
|
||||
@ -110,7 +110,8 @@
|
||||
<Icon type="ios-arrow-down"></Icon>
|
||||
</a>
|
||||
<DropdownMenu slot="list">
|
||||
<!-- <DropdownItem name="1">等级任务</DropdownItem>-->
|
||||
<!-- <DropdownItem name="1">等级任务</DropdownItem>-->
|
||||
<DropdownItem name="3">编辑等级</DropdownItem>
|
||||
<DropdownItem name="2">删除等级</DropdownItem>
|
||||
</DropdownMenu>
|
||||
</Dropdown>
|
||||
@ -181,6 +182,11 @@ export default {
|
||||
key: 'discount',
|
||||
minWidth: 100,
|
||||
},
|
||||
{
|
||||
title: '经验值要求',
|
||||
key: 'exp_num',
|
||||
minWidth: 100,
|
||||
},
|
||||
// {
|
||||
// title: '有效时间',
|
||||
// key: 'valid_date',
|
||||
@ -199,7 +205,7 @@ export default {
|
||||
{
|
||||
title: '是否显示',
|
||||
slot: 'is_shows',
|
||||
minWidth: 120,
|
||||
minWidth: 80,
|
||||
},
|
||||
// {
|
||||
// title: '等级说明',
|
||||
@ -210,7 +216,7 @@ export default {
|
||||
title: '操作',
|
||||
slot: 'action',
|
||||
fixed: 'right',
|
||||
minWidth: 120,
|
||||
minWidth: 80,
|
||||
},
|
||||
],
|
||||
levelFrom: {
|
||||
@ -254,6 +260,9 @@ export default {
|
||||
this.$refs.tasks.modals = true;
|
||||
this.$refs.tasks.getList();
|
||||
break;
|
||||
case '3':
|
||||
this.edit(row);
|
||||
break;
|
||||
default:
|
||||
this.del(row, '删除等级', num);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div>
|
||||
<Form ref="formItem" :model="formItem" :label-width="100" @submit.native.prevent>
|
||||
<Form ref="formItem" :rules="ruleValidate" :model="formItem" :label-width="100" @submit.native.prevent>
|
||||
<FormItem label="编号:" v-if="formItem.uid">
|
||||
<Input class="form-sty" disabled v-model="formItem.uid" placeholder="请输入编号" style="width: 80%"></Input>
|
||||
</FormItem>
|
||||
<FormItem label="真实姓名:">
|
||||
<FormItem label="真实姓名:" prop="real_name">
|
||||
<Input
|
||||
class="form-sty"
|
||||
v-model.trim="formItem.real_name"
|
||||
@ -12,7 +12,7 @@
|
||||
style="width: 80%"
|
||||
></Input>
|
||||
</FormItem>
|
||||
<FormItem label="手机号码:">
|
||||
<FormItem label="手机号码:" prop="phone">
|
||||
<Input class="form-sty" v-model="formItem.phone" placeholder="请输入手机号码" style="width: 80%"></Input>
|
||||
</FormItem>
|
||||
<FormItem label="生日:">
|
||||
@ -35,21 +35,21 @@
|
||||
<FormItem label="用户备注:">
|
||||
<Input class="form-sty" v-model="formItem.mark" placeholder="请输入用户备注" style="width: 80%"></Input>
|
||||
</FormItem>
|
||||
<FormItem label="登录密码:">
|
||||
<FormItem label="登录密码:" prop="pwd">
|
||||
<Input
|
||||
class="form-sty"
|
||||
type="password"
|
||||
v-model="formItem.pwd"
|
||||
placeholder="请输入登录密码"
|
||||
placeholder="请输入登录密码(修改用户可不填写,不填写不修改原密码)"
|
||||
style="width: 80%"
|
||||
></Input>
|
||||
</FormItem>
|
||||
<FormItem label="确认密码:">
|
||||
<FormItem label="确认密码:" prop="true_pwd">
|
||||
<Input
|
||||
class="form-sty"
|
||||
type="password"
|
||||
v-model="formItem.true_pwd"
|
||||
placeholder="请输入确认密码"
|
||||
placeholder="请输入确认密码(修改用户可不填写,不填写不修改原密码)"
|
||||
style="width: 80%"
|
||||
></Input>
|
||||
</FormItem>
|
||||
@ -60,7 +60,7 @@
|
||||
</Select>
|
||||
</FormItem>
|
||||
<FormItem label="用户分组:">
|
||||
<Select v-model="formItem.group_id" class="form-sty" clearable>
|
||||
<Select v-model="formItem.group_id" class="form-sty" clearable>
|
||||
<Option v-for="(item, index) in infoData.groupInfo" :key="index" :value="item.id">{{
|
||||
item.group_name
|
||||
}}</Option>
|
||||
@ -180,6 +180,12 @@ export default {
|
||||
labelInfo: [],
|
||||
levelInfo: [],
|
||||
},
|
||||
ruleValidate: {
|
||||
real_name: [{ required: true, message: '请输入真实姓名', trigger: 'blur' }],
|
||||
phone: [{ required: true, message: '请输入手机号码', trigger: 'blur' }],
|
||||
pwd: [{ required: true, message: '请输入登录密码', trigger: 'blur' }],
|
||||
true_pwd: [{ required: true, message: '请输入确认密码', trigger: 'blur' }],
|
||||
},
|
||||
dataLabel: [],
|
||||
};
|
||||
},
|
||||
@ -188,7 +194,7 @@ export default {
|
||||
this.$set(this.infoData, 'levelInfo', this.userData.levelInfo);
|
||||
this.$set(this.infoData, 'labelInfo', this.userData.labelInfo);
|
||||
let arr = Object.keys(this.formItem);
|
||||
if (this.userData.userInfo.uid) {
|
||||
if (this.userData.userInfo) {
|
||||
arr.map((i) => {
|
||||
this.formItem[i] = this.userData.userInfo[i];
|
||||
});
|
||||
@ -196,6 +202,8 @@ export default {
|
||||
if (this.formItem.label_id.length) {
|
||||
this.dataLabel = this.formItem.label_id;
|
||||
}
|
||||
} else {
|
||||
this.reset();
|
||||
}
|
||||
|
||||
// this.formItem = this.userData.userInfo;
|
||||
@ -233,7 +241,7 @@ export default {
|
||||
},
|
||||
reset() {
|
||||
this.formItem = {
|
||||
uid: 0,
|
||||
uid: '',
|
||||
real_name: '',
|
||||
phone: '',
|
||||
birthday: '',
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
{{$t(`¥`)}}
|
||||
<input v-model.number="money" class="input" name="money" type="digit" @input="inputChange" placeholder="0.00" />
|
||||
</view>
|
||||
<view v-if="payPrice" class="discount">{{$t(`会员优惠价`)}}:{{$t(`¥`)}}{{ payPrice }}</view>
|
||||
<view v-if="payPrice && show" class="discount">{{$t(`会员优惠价`)}}:{{$t(`¥`)}}{{ payPrice }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="radio-section">
|
||||
@ -62,18 +62,10 @@
|
||||
now_money: 0,
|
||||
isWeixin: false,
|
||||
site_name: '',
|
||||
isCommitted: false
|
||||
isCommitted: false,
|
||||
show: false
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
money(newValue, oldValue) {
|
||||
if (newValue && typeof newValue === 'number') {
|
||||
this.checkPrice();
|
||||
} else {
|
||||
this.payPrice = '';
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: mapGetters(['isLogin']),
|
||||
onLoad(options) {
|
||||
if (!this.isLogin) {
|
||||
@ -104,7 +96,7 @@
|
||||
e.target.value = (e.target.value.match(/^\d*(.?\d{0,2})/g)[0]) || ""
|
||||
this.$nextTick(() => {
|
||||
this.money = e.target.value
|
||||
this.checkPrice()
|
||||
this.checkPrice();
|
||||
})
|
||||
},
|
||||
getPayType() {
|
||||
@ -169,6 +161,7 @@
|
||||
})
|
||||
.then(res => {
|
||||
this.payPrice = res.data.pay_price;
|
||||
this.show = res.data.show
|
||||
})
|
||||
.catch(err => {
|
||||
uni.showToast({
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -306,11 +306,11 @@
|
||||
});
|
||||
// 超时了
|
||||
uni.$once('timeout', () => {
|
||||
uni.showLoading({
|
||||
title: '重连中',
|
||||
mask: true
|
||||
uni.showLoading({
|
||||
title: '重连中',
|
||||
mask: true
|
||||
})
|
||||
this.chatList = []
|
||||
this.chatList = []
|
||||
initSocket()
|
||||
});
|
||||
// 链接成功
|
||||
@ -456,8 +456,11 @@
|
||||
this.chatList = [...res.data.serviceList, ...this.chatList];
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.setPageScrollTo(selector);
|
||||
this.isScroll = res.data.serviceList.length >= this.limit;
|
||||
if (this.chatList.length) {
|
||||
this.setPageScrollTo(selector);
|
||||
this.isScroll = res.data.serviceList.length >= this.limit;
|
||||
}
|
||||
|
||||
});
|
||||
this.$socket.send({
|
||||
data: {
|
||||
@ -921,14 +924,14 @@
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
height: 85rpx;
|
||||
font-weight: 800;
|
||||
font-weight: 800;
|
||||
line-height: 40rpx;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
text-align: left !important;
|
||||
text-align: left !important;
|
||||
}
|
||||
|
||||
.broadcast_details_pic {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user