Commit d9852660 by 朱继来

Merge branch 'master' of http://119.23.72.7/zhujilai/Order into zjl_iteration_20190916

parents df1a5bc7 2fc10712
Showing with 1113 additions and 207 deletions
......@@ -96,9 +96,9 @@ Class AddOrderController extends Controller
$UserMainModel = new UserMainModel;
if (preg_match('/@/', $mobile)) {
$user = $UserMainModel->where('email', $mobile)->select('user_id', 'email', 'is_test')->first();
$user = $UserMainModel->where('email', $mobile)->select('user_id', 'email', 'is_test')->orderBy('create_time', 'desc')->first();
} else {
$user = $UserMainModel->where('mobile', $mobile)->select('user_id', 'mobile', 'is_test')->first();
$user = $UserMainModel->where('mobile', $mobile)->select('user_id', 'mobile', 'is_test')->orderBy('create_time', 'desc')->first();
}
if (!empty($user)) {
......
......@@ -13,6 +13,8 @@ use App\Model\Pcb\PcbServerModel;
use App\Model\KefuModel;
use App\Model\CmsModel;
use App\Model\OrderItemsTrackModel;
use App\Model\UserSampleApplyModel;
use App\Model\UserSampleInviteModel;
class ApiController extends Controller
{
......@@ -121,7 +123,7 @@ class ApiController extends Controller
$this->Export($KefuModel->del($request));
}
// 删除客服
// 置顶客服
public function ApiTopKefu($request)
{
$KefuModel = new KefuModel;
......@@ -160,4 +162,25 @@ class ApiController extends Controller
$this->Export(0, '', $data);
}
// 获取自营样片领取列表
public function ApiSelfSampleList($request)
{
$UserSampleApplyModel = new UserSampleApplyModel;
$this->ExportLayui($UserSampleApplyModel->lists($request));
}
// 获取自营样片领取记录
public function ApiSelfSampleApplyLog($request)
{
$UserSampleApplyModel = new UserSampleApplyModel;
$this->ExportLayui($UserSampleApplyModel->applyLog($request));
}
// 获取自营样片邀约记录
public function ApiSelfSampleInviteLog($request)
{
$UserSampleInviteModel = new UserSampleInviteModel;
$this->ExportLayui($UserSampleInviteModel->lists($request));
}
}
......@@ -266,52 +266,83 @@ class CronController extends Controller
$user = $UserMainModel->where('is_type', 0)
->where('is_test', 0)
->whereBetween('create_time', [$start_time, $last_time])
->select('user_id', 'is_new')
->select('user_id', 'is_new', 'create_time')
->get()
->toArray();
if (empty($user)) return '未获取到新用户';
$user_send_msg = []; // 需要发送短信的用户ID集合
$crm_params = []; // 推送到crm用户集合
foreach ($user as $v) {
foreach ($user as $k=>$v) {
if ($v['is_new'] == 0) { // 未下单用户
$user_send_msg[] = $v['user_id'];
$user_send_msg[$k]['user_id'] = $v['user_id'];
$user_send_msg[$k]['create_time'] = $v['create_time'];
$crm_params[$k]['user_id'] = $v['user_id'];
$crm_params[$k]['is_create_order'] = 0;
continue;
}
// 已下单用户,判断订单是否有支付
$count = $OrderModel->where('user_id', $v['user_id'])->where('status', '>', 2)->count();
if (!$count) $user_send_msg[] = $v['user_id']; // 不存在,则表示没有已付款的订单
if (!$count) { // 不存在,则表示没有已付款的订单
$user_send_msg[$k]['user_id'] = $v['user_id'];
$user_send_msg[$k]['create_time'] = $v['create_time'];
}
$crm_params[$k]['user_id'] = $v['user_id'];
$crm_params[$k]['is_create_order'] = 1; // 标记已下单
}
if (empty($user_send_msg)) return '没有需要推送活动短信的用户';
//调用消息接口
$url = Config('website.api_domain').'msg/sendmessagebyauto';
$keyword = 'new_user_activity_msg';
$data['k1'] = time();
$data['k2'] = md5(md5($data['k1']).'fh6y5t4rr351d2c3bryi');
foreach ($user_send_msg as $uid) {
foreach ($user_send_msg as $msg) {
// 判断用户注册时间
$time = time() - $msg['create_time'];
$reg_day = intval(ceil($time / 86400));
switch ($reg_day) {
case 1: $keyword = 'new_user_activity_msg_1'; break;
case 3: $keyword = 'new_user_activity_msg_3'; break;
case 7: $keyword = 'new_user_activity_msg_7'; break;
case 15: $keyword = 'new_user_activity_msg_15'; break;
default : $keyword = ''; break;
}
if (!$keyword) continue;
$userData = [
"keyword" => $keyword,
"pf" => 1,
"k1" => $data['k1'],
"k2" => $data['k2'],
'touser' => json_encode($uid),
'touser' => json_encode($msg['user_id']),
];
$temp = json_decode(curlApi($url, $userData, "POST"), true);
if ($temp['err_code'] == 0) {
continue;
} else {
errorLog($temp['err_code'], $temp['err_msg'].',用户ID:'.$uid); // 消息推送失败记录
}
if (empty($temp) || $temp['err_code'] != 0) errorLog(10001, '消息推送失败记录,用户ID:'.$uid);
continue;
}
// 推送到crm
$crm_url = Config('website.crm_domain').'/api/notifyNewUser';
$crm_header = array('api-key: crm a1b2c3d4e5f6g7h8i9jk');
$res = json_decode(curlApi($crm_url, $crm_params, "POST", false, $crm_header), true);
if (!$res || $res['err_code'] != 0) errorLog(10002, '新用户推送到crm失败 '.$res['err_msg']);
}
}
\ No newline at end of file
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Model\UserSampleApplyModel;
use DB;
use Excel;
Class ExportController extends Controller
{
// 统一入口
public function entrance(Request $request, $id)
{
return $this->$id($request);
}
// 导出会员
public function selfSampleExport($request)
{
$UserSampleApplyModel = new UserSampleApplyModel();
$data = $UserSampleApplyModel->lists($request, 1);
foreach ($data as $k=>$v) {
$cellData[$k]['user_id'] = $v['user_id'];
$cellData[$k]['account'] = $v['account'];
$cellData[$k]['invite_count'] = $v['invite_count'];
$cellData[$k]['apply_num_total'] = $v['apply_num_total'];
$cellData[$k]['apply_count'] = $v['apply_count'];
$cellData[$k]['order_id'] = $v['order_id'];
$cellData[$k]['order_sn'] = $v['order_sn'];
$cellData[$k]['goods_id'] = $v['goods_id'];
$cellData[$k]['goods_name'] = $v['goods_name'];
$cellData[$k]['create_time'] = $v['create_time'];
}
$headerCell = ['用户ID', '用户账户', '邀请人数', '已申请样片数', '剩余领取次数', '订单ID', '订单编号', '样片ID', '样片名称', '最近一次领取时间'];
$fileName ='自营样片领取记录导出'.date('_YmdHis');
$sheetName = '自营样片';
$this->commonFunc($cellData, $headerCell, $fileName, $sheetName);
}
/**
* 导出
* @param [type] $cellData [导出数据]
* @param [type] $headerCell [菜单项]
* @param [type] $fileName [文件名]
* @param string $sheetName [sheet名]
* @return [type] [description]
*/
public function commonFunc($cellData, $headerCell, $fileName, $sheetName='')
{
$sheetName = $sheetName ? $sheetName : '导出';
array_unshift($cellData, $headerCell);
Excel::create($fileName, function($excel) use ($cellData, $sheetName){
$excel->sheet($sheetName, function($sheet) use ($cellData){
$sheet->rows($cellData);
});
})->export('xls');
}
}
\ No newline at end of file
......@@ -252,7 +252,7 @@ function getSelfStock($goods_id)
$response = json_decode(curlApi($url, $data, 'POST'), true);
if ($response['errcode'] == 0) {
return $response['data']['stock'];
return isset($response['data'][$goods_id]['stock']) ? $response['data'][$goods_id]['stock'] : 0;
} else {
return '未找SKU信息';
}
......@@ -422,11 +422,23 @@ Class OrderController extends Controller
$map['is_new_order'] = $request->input('is_new_order', '');
$map['business_type'] = $request->input('business_type', '');
// 订单查看权限---交易员、客服、自营客服、自营内部采购
if (in_array($info['role'], [3, 4, 7, 12])) {
// 筛选自己的订单
$map['sale_id'] = $request->user->userId;
}
$perm = new PermController;
// 订单查看权限
if (strpos($info['role'], ',') !== false) { // 多角色情况下
$res = $perm->checkUserRoles($request, $info['role']);
if ($res) {
$info['role'] = $res['role_id'];
$res['sale_id'] && $map['sale_id'] = $res['sale_id'];
}
} else {
if (in_array($info['role'], Config('perm_args.kefu_order'))) { // 交易员、联营客服(线销一组、二组、三组客服)、自营客服、自营内部采购
$map['sale_id'] = $request->user->userId; // 筛选自己的订单
} else if (in_array($info['role'], Config('perm_args.manager_order'))) { // 线销一组、二组、三组主管(查看自己及其下组员的订单)
$map['sale_id'] = $perm->getGroupSalesId($request, $info['role']);
}
}
// 自营客服权限
if ($tid == 2 && $info['role'] == 6) {
......@@ -468,6 +480,18 @@ Class OrderController extends Controller
$perm = new PermController;
if ($tid == 1) {
// $search_joint_sales = Config('perm_args.search_joint_sales');
// if ($search_joint_sales) {
// $sale_list = [];
// foreach ($search_joint_sales as $v) {
// $role_name = array_keys(Config('perm_args.roles'), $v);
// $temp = $perm->getRoleUsers($request, $role_name[0]);
// }
// }
$manager = $perm->getRoleUsers($request, '经理');
$test = $perm->getRoleUsers($request, '测试');
$sales = $perm->getRoleUsers($request, '交易员');
......@@ -853,10 +877,15 @@ Class OrderController extends Controller
$tags = $request->input('tags', '');
// 联营
$joint_manager = $perm->getRoleUsers($request, '经理');
$joint_kefu = $perm->getRoleUsers($request, '客服');
$sale_list = $perm->getRoleUsers($request, '交易员');
$test = $perm->getRoleUsers($request, '测试');
// $joint_manager = $perm->getRoleUsers($request, '经理');
$joint_in_charge_1 = $perm->getRoleUsers($request, '线销一组主管');
$joint_in_charge_2 = $perm->getRoleUsers($request, '线销二组主管');
$joint_in_charge_3 = $perm->getRoleUsers($request, '线销三组主管');
$joint_kefu_1 = $perm->getRoleUsers($request, '线销一组客服');
$joint_kefu_2 = $perm->getRoleUsers($request, '线销二组客服');
$joint_kefu_3 = $perm->getRoleUsers($request, '线销三组客服');
$sale_list = $perm->getRoleUsers($request, '交易员');
$test = $perm->getRoleUsers($request, '测试');
$self_manager = $self_kefu = '';
......@@ -867,19 +896,47 @@ Class OrderController extends Controller
$self_kefu = array_merge($self_assistant, $self_kefu);
}
$info['joint_manager'] = $this->filterLeave($joint_manager);
$info['joint_kefu'] = $this->filterLeave($joint_kefu);
$info['sale_list'] = $this->filterLeave($sale_list);
$info['test'] = $this->filterLeave($test);
$info['self_manager'] = $this->filterLeave($self_manager);
$info['self_kefu'] = $this->filterLeave($self_kefu);
$info['sale_id'] = $request->user->userId;
$info['role'] = $perm->getUserRole($request);
// $info['joint_manager'] = $this->filterLeave($joint_manager);
$joint_in_charge_1 = $this->filterLeave($joint_in_charge_1);
$joint_in_charge_2 = $this->filterLeave($joint_in_charge_2);
$joint_in_charge_3 = $this->filterLeave($joint_in_charge_3);
$info['joint_in_charge'] = $this->remove_duplicate(array_merge($joint_in_charge_1, $joint_in_charge_2, $joint_in_charge_3));
$info['joint_kefu_1'] = $this->filterLeave($joint_kefu_1);
$info['joint_kefu_2'] = $this->filterLeave($joint_kefu_2);
$info['joint_kefu_3'] = $this->filterLeave($joint_kefu_3);
$info['sale_list'] = $this->filterLeave($sale_list);
$info['test'] = $this->filterLeave($test);
$info['self_manager'] = $this->filterLeave($self_manager);
$info['self_kefu'] = $this->filterLeave($self_kefu);
$info['sale_id'] = $request->user->userId;
$info['role'] = $perm->getUserRole($request);
return view('detail', $info);
}
// 二维数组去重
public function remove_duplicate($array)
{
$result = array();
foreach ($array as $key => $value) {
$has = false;
foreach($result as $val){
if($val->userId == $value->userId){
$has = true;
break;
}
}
if(!$has) $result[] = $value;
}
return $result;
}
// 去掉已离职人员
public function filterLeave(&$data)
{
......
......@@ -8,22 +8,6 @@
class PermController extends Controller
{
protected $roles = [
'管理员' => 1,
'经理' => 2,
'交易员' => 3,
'客服' => 4,
'测试' => 5,
'京东自营' => 6,
'自营客服' => 7,
'运营助理' => 8,
'财务' => 9,
'自营客服主管' => 10,
'自营客服主管助理' => 11,
'自营内部采购' => 12,
'尽调' => 13,
];
// 检查用户是否具有系统访问权限
public function checkAccess($request)
{
......@@ -56,9 +40,7 @@
$uid = $request->user->userId;
$email = $request->user->email;
if ($email == 'admin@ichunt.com') {
return 1;
}
if ($email == 'admin@ichunt.com') return 1;
// 根据域名查询系统业务ID
$business = $this->getBusinessInfo();
......@@ -69,26 +51,26 @@
// 权限系统配置的管理帐号
$adminAccount = json_decode($business->admin, true);
if (in_array($email, $adminAccount)) {
return 1;
}
if (in_array($email, $adminAccount)) return 1;
// 根据用户ID和业务ID查看角色
$userPerm = DB::table('t_user_perm')->where(['userId' => $uid, 'bid' => $bid])->first();
if (empty($userPerm)) {
return 0;
} else {
if ($userPerm->roles == 'null') return 0;
$role = json_decode($userPerm->roles, true);
foreach ($role as $v) {
$department = DB::table('t_role_perm')->where(['roleId' => $v, 'bid' => $bid])->first();
return in_array($department->name, array_keys($this->roles)) ? array_get($this->roles, $department->name) : 0;
}
}
if (empty($userPerm)) return 0;
if ($userPerm->roles == 'null') return 0; // 没有选择角色
$role = json_decode($userPerm->roles, true);
$user_role = []; // 当前用户拥有的角色值
foreach ($role as $v) {
$department = DB::table('t_role_perm')->where(['roleId' => $v, 'bid' => $bid])->first();
$user_role[] = in_array($department->name, array_keys(Config('perm_args.roles'))) ? array_get(Config('perm_args.roles'), $department->name) : 0;
}
return count($role) > 1 ? implode(',', $user_role) : implode('', $user_role); // 多角色用逗号拼接
}
return 0;
......@@ -224,4 +206,83 @@
return array_values($menus);
}
// 获取主管及其下对应组员的sale_id
public function getGroupSalesId($request, $role_id)
{
$sale_id = [];
// 主管ID
$manager_role_name = array_keys(Config('perm_args.roles'), $role_id);
if ($manager_role_name) {
$manager_sales = $this->getRoleUsers($request, $manager_role_name[0]);
if ($manager_sales) {
foreach ($manager_sales as $v) {
$sale_id[] = $v->userId;
}
}
}
// 线销主管对应的客服
$manager_to_kefu = Config('perm_args.manager_to_kefu');
if (!in_array($role_id, array_keys($manager_to_kefu))) return 0;
$sub_id = $manager_to_kefu[$role_id];
$role_name = array_keys(Config('perm_args.roles'), $sub_id);
if (!$role_name) return 0;
$sales = $this->getRoleUsers($request, $role_name[0]);
if ($sales) {
foreach ($sales as $v) {
$sale_id[] = $v->userId;
}
}
return $sale_id;
}
/**
* 多角色情况下
* 1.若存在管理员、经理、测试角色,则返回角色
* 2.若存在线销主管,则查询其下客服
* 3.其他情况暂不考虑
* @param [type] $request [description]
* @param [type] $role_id [description]
* @return [type] [description]
*/
public function checkUserRoles($request, $role_id)
{
$data = [];
$roles = explode(',', $role_id);
$master = array_intersect($roles, Config('perm_args.check_all_order')); // 交集,是否能查看所有订单
if ($master) {
$data['role_id'] = min($master); // 设置最小值的角色 (因为系统页面都是单角色判断)
$data['sale_id'] = 0;
return $data;
}
$intersect = array_intersect($roles, Config('perm_args.manager_order')); // 交集,获取线销主管
if ($intersect) {
$data['role_id'] = min($intersect); // 设置最小值的角色
foreach ($intersect as $v) {
$sale_ids[] = $this->getGroupSalesId($request, $v);
}
$arr = array_reduce($sale_ids, 'array_merge', array()); // 转一维数组
$data['sale_id'] = array_merge(array_unique($arr)); // 去重后,再重新索引
}
return $data;
}
}
\ No newline at end of file
......@@ -4,13 +4,17 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Model\OrderModel;
use App\Model\UserMainModel;
use App\Model\UserCompanyModel;
use App\Model\OrderModel;
use App\Model\OrderPriceModel;
use App\Model\OrderInvoiceModel;
use App\Model\OrderActionLogModel;
use App\Model\PayLogModel;
use DB;
use Excel;
use Log;
use Exception;
class SpecialController extends Controller
{
......@@ -140,7 +144,7 @@ class SpecialController extends Controller
array_shift($excel); // 删除第一行
$OrderModel = new OrderModel();
$OrderModel = new OrderModel();
// 记录到日志
$monolog = Log::getMonolog();
......@@ -151,12 +155,14 @@ class SpecialController extends Controller
if (!$v[0] || !$v[1]) continue;
// 1. 根据手机或邮箱查找客户最近的订单
$order_id = $this->getLastOrderId(trim($v[0]));
$res = $this->getLastOrderId(trim($v[0]));
if ($order_id === false) {
Log::info('客户账号:'.$v[0].',客服邮箱:'.$v[1].',客户无订单');
if ($res['err_code'] != 0) {
Log::info('客户账号:'.$v[0].','.$res['err_msg']);
continue;
}
}
$order_id = $res['data'];
// 2. 根据企业邮箱查找sale_id
$sale_id = $this->getSaleId(trim(strtolower($v[1])));
......@@ -181,25 +187,34 @@ class SpecialController extends Controller
// 获取客户最近的订单
public function getLastOrderId($account)
{
$UserMainModel = new UserMainModel();
$OrderModel = new OrderModel();
$UserMainModel = new UserMainModel();
$UserCompanyModel = new UserCompanyModel();
$OrderModel = new OrderModel();
$OrderInvoiceModel = new OrderInvoiceModel();
if (strpos($account, '@') === false) {
$where['mobile'] = $account;
} else {
if (strpos($account, '@') !== false) { // 邮箱
$where['email'] = strtolower($account);
}
$user_info = $UserMainModel->where($where)->select('user_id')->orderBy('user_id', 'desc')->first();
} else if (preg_match('/\d{11}/', $account)) { // 手机号码
$where['mobile'] = $account;
$user_info = $UserMainModel->where($where)->select('user_id')->orderBy('user_id', 'desc')->first();
} else { // 公司名称
// 发票抬头
$order_invoice = $OrderInvoiceModel->where('tax_title', $account)->select('order_id')->orderBy('order_id', 'desc')->first();
$user = $UserMainModel->where($where)->select('user_id')->first();
if ($order_invoice) return ['err_code' => 0, 'err_msg' => '', 'data' => $order_invoice['order_id']];
$user_info = $UserCompanyModel->where('com_name', $account)->select('user_id')->orderBy('com_id', 'desc')->first();
}
if (!$user) return false;
if (!$user_info) return ['err_code' => 1, 'err_msg' => '未找到客户'];
// 查找最近的订单
$order = $OrderModel->where('user_id', $user['user_id'])->where('is_type', 0)->select('order_id')->orderBy('order_id', 'desc')->first();
$order = $OrderModel->where('user_id', $user_info['user_id'])->where('is_type', 0)->select('order_id')->orderBy('order_id', 'desc')->first();
if (!$order) return false;
if (!$order) return ['err_code' => 2, 'err_msg' => '未找到客户订单'];
return $order['order_id'];
return ['err_code' => 0, 'err_msg' => '', 'data' => $order['order_id']];
}
// 获取后台业务ID
......@@ -242,4 +257,65 @@ class SpecialController extends Controller
// dd($data);
}
// 自营预售订单改预付款
public function changeOrderPayType(Request $request)
{
$order_id = $request->input('order_id', 0);
if (!$order_id) return '订单ID不存在';
DB::connection('order')->transaction(function() use ($order_id) {
$OrderModel = new OrderModel();
$OrderPriceModel = new OrderPriceModel();
$PayLogModel = new PayLogModel();
$OrderActionLogModel = new OrderActionLogModel();
// 查询订单信息
$order_info = $OrderModel->find($order_id);
if (!$order_info) throw new Exception("修改失败,订单不存在", 1);
if ($order_info['status'] > 2) throw new Exception("修改失败,订单已支付", 1);
$advance_amount = number_format($order_info['order_amount'] * 0.3, 2);
// 订单表
$order = array();
$order['order_pay_type'] = 2;
$order['advance_amount'] = $advance_amount;
$order['status'] = 3;
$order['advance_pay_time'] = time();
$OrderModel->where('order_id', $order_id)->update($order);
// 支付记录表
$pay_log = array();
$pay_log['order_id'] = $order_id;
$pay_log['pay_id'] = 0; // 支付方式ID
$pay_log['pay_name'] = '交通银行'; // 支付方式名
$pay_log['pay_type'] = 2;
$pay_log['pay_amount'] = $advance_amount;
$pay_log['is_paid'] = 1;
$pay_log['create_time'] = time();
$pay_log['pay_time'] = time();
$PayLogModel->insert($pay_log);
// 价格表
$price = array();
$price['order_id'] = $order_id;
$price['order_sn'] = '12019101531990';
$price['price_type'] = -2;
$price['price'] = '-'.$advance_amount;
$price['currency'] = $order_info['currency'];
$price['create_time'] = time();
$OrderPriceModel->insert($price);
// 操作日志
$OrderActionLogModel->addLog($order_id, 1000, 2, '手动调整订单支付类型');
});
return '调整成功';
}
}
\ No newline at end of file
......@@ -280,4 +280,25 @@ class WebController extends Controller
return view('web', $data);
}
// 自营样片领取列表
public function selfSampleList($request, $data, $id)
{
$data['title'] = '自营样片领取列表';
return view('web', $data);
}
// 自营样片领取和邀约记录
public function selfSampleLog($request, $data, $id)
{
$user_id = $request->input('user_id', 0);
if (!$user_id) return redirect('/web/selfSampleList');
$data['title'] = '自营样片领取和邀约记录';
$data['paths'] = [["title" => '自营订单', "href" => '#'], ["title" => '自营订单领取列表', "href" => '/web/selfSampleList'], ["title" => '自营样片领取和邀约记录', "href" => '#']];
$data['user_id'] = $user_id;
return view('web', $data);
}
}
......@@ -65,20 +65,21 @@ Route::group(['middleware' => 'web'], function () {
Route::get('/self_amount', 'OrderCountController@selfAmount');
Route::post('/ajax/orderAmountInfoLoading', 'OrderCountController@orderAmountInfoLoading');
Route::match('post', '/ajaxDelayTime', 'OrderController@ajaxDelayTime');
Route::match('post', '/ajaxRejected', 'OrderController@ajaxRejected');
Route::get('/self_order', 'OrderController@selfOrder');
Route::post('/ajaxCancel', 'OrderController@ajaxCancel');
Route::post('/ajaxSelfExpress', 'OrderController@ajaxSelfExpress');
Route::match(['get', 'post'], '/self_check_pay/{id}', 'OrderController@selfCheckPay');
Route::match('post', '/ajaxDelayTime', 'OrderController@ajaxDelayTime');
Route::match('post', '/ajaxRejected', 'OrderController@ajaxRejected');
Route::match(['get', 'post'], '/express_set', 'OrderController@expressSet');
Route::match(['get', 'post'], '/tempcount', 'OrderController@tempCount');
Route::post('/ajaxDownloadContract', 'OrderController@ajaxDownloadContract');
// Route::post('/ajaxInputCancelReason', 'OrderController@ajaxInputCancelReason');
Route::post('/ajax/shipping', 'OrderController@shipping');
Route::get('/add_order', 'AddOrderController@addOrder');
......@@ -108,6 +109,7 @@ Route::group(['middleware' => 'web'], function () {
Route::match(['get', 'post'],'/web/{key}', 'WebController@info');
Route::match(['get', 'post'],'/api/{key}', 'ApiController@Entrance');
Route::match(['get', 'post'], '/export/{key}', 'ExportController@entrance');
Route::match(['get', 'post'], '/refund/{id}', 'OrderController@refund');
......@@ -150,5 +152,6 @@ Route::group(['middleware' => 'api'], function () {
Route::get('/act/clear', 'CronController@clearData'); // 清除活动统计用户表和缓存
Route::get ('/handle/paylog', 'SpecialController@handlePayLog'); // 处理支付记录
Route::get('/act/sendactmsg', 'CronController@sendActMsg'); // 推送活动短信
Route::get ('/handle/paytype', 'SpecialController@changeOrderPayType'); // 自营更改预付款支付方式
});
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
use Request;
use Excel;
use DB;
class OrderInvoiceModel extends Model
{
protected $connection = 'order';
protected $table = 'lie_order_invoice';
protected $primaryKey = 'order_inv_id';
public $timestamps = false;
}
\ No newline at end of file
......@@ -29,8 +29,6 @@ class OrderModel extends Model
if ($request->isMethod('get')) {
$map['order_type'] = $request->input('order_type', '');
$map['order_contain'] = $request->input('order_contain', '');
$map['order_sn'] = $request->input('order_sn', '');
$map['goods_name'] = $request->input('goods_name', '');
$map['time_start'] = $request->input('time_start', '');
$map['time_end'] = $request->input('time_end', '');
$map['order_status'] = $request->input('order_status', '');
......@@ -82,32 +80,24 @@ class OrderModel extends Model
->where(function ($query) use ($map) {
// 查询类型
if (!empty($map['order_contain'])) {
if ($map['order_type'] == 3) { // 发票抬头
$query->where('i.tax_title', '=', $map['order_contain']);
} else if($map['order_type'] == 4) { // 会员ID
$query->where('o.user_id', '=', $map['order_contain']);
} else { // 会员账号
if ($map['order_type'] == 1) { // 会员账号
if (preg_match('/@/', $map['order_contain'])) {
$query->where('u.email', '=', $map['order_contain']);
} else {
$query->where('u.mobile', '=', $map['order_contain']);
}
}
} else if ($map['order_type'] == 2) { // 型号名称
$query->where('it.goods_name', '=', $map['order_contain']);
} else if ($map['order_type'] == 3) { // 发票抬头
$query->where('i.tax_title', '=', $map['order_contain']);
} else if($map['order_type'] == 4) {
$query->where('o.user_id', '=', $map['order_contain']);
} else { // 订单编号
$query->where('o.order_sn', '=', $map['order_contain']);
}
}
})
->where(function ($query) use ($map) {
// 订单编号
if (!empty($map['order_sn'])) {
$query->whereIn('o.order_sn', explode(',', $map['order_sn']));
}
})
->where(function ($query) use ($map) {
// 型号
if (!empty($map['goods_name'])) {
$query->where('it.goods_name', '=', $map['goods_name']);
}
})
->where(function ($query) use ($map) {
// 创建时间
if (!empty($map['time_start']) && !empty($map['time_end'])) {
$query->whereBetween('o.create_time', [$map['time_start'], $map['time_end']]);
......@@ -258,7 +248,7 @@ class OrderModel extends Model
->where(function ($query) use ($map) {
// 自营其他业务类型
if ($map['business_type'] != '') {
$query->where('oe.order_type', '=', 3)->whereIn('oe.business_type', explode(',', $map['business_type']));
$query->whereIn('oe.business_type', explode(',', $map['business_type']));
}
})
->where(function ($query) use ($map) {
......@@ -267,14 +257,19 @@ class OrderModel extends Model
$query->where('o.sale_type', '=', $map['sale_type']);
}
})
->where('it.status', '<>', -1)
->where('it.status', 1)
->where('o.order_goods_type', '=', $map['order_goods_type'])
->select('it.goods_id', 'it.goods_name', 'it.goods_number', 'it.goods_price', 'it.single_pre_price', 'it.brand_name', 'it.supplier_name', 'o.order_id', 'o.order_sn', 'o.order_type', 'o.order_pay_type', 'o.order_goods_type', 'o.order_source', 'o.create_time', 'o.status', 'o.order_amount', 'o.sale_type', 'o.currency', 'o.sale_id', 'o.cancel_reason', 'i.tax_title', 'i.inv_type', 'i.invoice_status', 'i.tax_title', 'i.company_address', 'i.company_phone', 'i.tax_no', 'i.bank_name', 'i.bank_account', 'a.consignee', 'a.address', 's.status as shipping_status', 'u.user_id', 'u.mobile', 'u.email', 'u.client_source', 'u.is_new', 'u.is_test', 'c.com_name', 'oe.send_remark', 'oe.is_new as is_new_order', 'oe.business_type', 'oe.jd_order_id', 'oe.exchange_rate')
->groupBy('it.rec_id')
->orderBy('o.create_time', 'DESC')
->get()
->toArray();
// dump($list->getBindings());
// dump($list->toSql());
// $tmp = str_replace('?', '"'.'%s'.'"', $list->toSql());
// $tmp = vsprintf($tmp, $list->getBindings());
// echo $tmp;
// exit;
if (!empty($list)) {
// 订单数据处理
$cellData = $this->exportList($list);
......
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
use Request;
use Excel;
use DB;
class OrderPriceModel extends Model
{
protected $connection = 'order';
protected $table = 'lie_order_price';
protected $primaryKey = 'price_id';
public $timestamps = false;
}
\ No newline at end of file
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
use Request;
use Excel;
use DB;
class UserCompanyModel extends Model
{
protected $connection = 'order';
protected $table = 'lie_user_company';
protected $primaryKey = 'com_id';
public $timestamps = false;
}
\ No newline at end of file
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
use Request;
use Excel;
use DB;
class UserInfoModel extends Model
{
protected $connection = 'order';
protected $table = 'lie_user_info';
protected $primaryKey = 'ui_id';
public $timestamps = false;
// 获取用户样片领取机会
public function getUserApplyCount($user_id)
{
$user_info = $this->where('user_id', $user_id)->select('apply_count')->first();
if (!$user_info) return 0;
return $user_info->apply_count;
}
}
\ No newline at end of file
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
use Request;
use Excel;
use DB;
class UserSampleApplyModel extends Model
{
protected $connection = 'order';
protected $table = 'lie_user_sample_apply';
protected $primaryKey = 'apply_id';
public $timestamps = true;
const CREATED_AT = 'create_time';
/** * @param \DateTime|int $value * @return false|int * @author dividez */
public function fromDateTime($value)
{
return strtotime(parent::fromDateTime($value));
}
// 获取领取列表
public function lists($request, $export='')
{
$page = $request->input('page', 1);
$limit = $request->input('limit', 10);
$field = ['a.apply_id', 'a.user_id', 'a.account', 'a.order_id', 'order_sn', 'a.goods_id', 'a.goods_name', 'a.apply_num', 'a.create_time'];
$map['account'] = $request->input('account', ''); // 用户账户
$map['goods_name'] = $request->input('goods_name', ''); // 商品名称
$map['order_sn'] = $request->input('order_sn', ''); // 订单号
$map['begin_time'] = $request->input('begin_time', '') ? strtotime($request->input('begin_time')) : '';
$map['end_time'] = $request->input('end_time', '') ? strtotime($request->input('end_time')) + 86399 : '';
$sub = UserSampleApplyModel::select(DB::raw('max(apply_id) as apply_id'))->groupBy('user_id');
$list = $this->from('lie_user_sample_apply as a')
->join(DB::raw("({$sub->toSql()}) as b"), function($join) {
$join->on('a.apply_id', '=', 'b.apply_id');
})->where(function($query) use ($map) {
// 客服名称
if ($map['account']) {
$query->where('a.account', '=', $map['account']);
}
})->where(function($query) use ($map) {
// 邮箱
if ($map['goods_name']) {
$query->where('a.goods_name', 'like', $map['goods_name'].'%');
}
})->where(function($query) use ($map) {
// 客服名称
if ($map['order_sn']) {
$query->where('a.order_sn', '=', $map['order_sn']);
}
})->where(function($query) use ($map) {
// 创建时间
if(!empty($map['begin_time']) && !empty($map['end_time'])) {
$query->whereBetween('a.create_time', [$map['begin_time'], $map['end_time']]);
}
else if(!empty($map['begin_time'])) {
$query->where('a.create_time', '>=', $map['begin_time']);
}
else if(!empty($map['end_time'])) {
$query->where('a.create_time', '<=', $map['end_time']);
}
})
->select($field)
->orderBy('a.create_time', 'desc')
->orderBy('a.apply_id', 'asc');
if ($export) {
$list = $list->get()->toArray();
$list = $this->handle($list);
if (empty($list)) {
echo '<script>alert("导出数据为空");history.go(-1);</script>';die;
}
return $list;
} else {
$list = $list->paginate($limit, ['*'], 'page', $page)->toArray();
$data = $this->handle($list['data']);
return [0, '获取成功', $data, $list['total']];
}
}
// 处理数据
public function handle($data)
{
if (!$data) return false;
foreach ($data as &$v) {
$UserSampleInviteModel = new UserSampleInviteModel;
$UserInfoModel = new UserInfoModel;
$v['invite_count'] = $UserSampleInviteModel->getUserInviteCount($v['user_id']);
$v['apply_num_total'] = $this->getSampleApplySum($v['user_id']);
$v['apply_count'] = $UserInfoModel->getUserApplyCount($v['user_id']);
}
return $data;
}
// 获取指定用户申请的样片总数
public function getSampleApplySum($user_id)
{
return $this->where('user_id', $user_id)->sum('apply_num');
}
// 获取领取记录
public function applyLog($request)
{
$user_id = $request->input('user_id');
$page = $request->input('page', 1);
$limit = $request->input('limit', 10);
$field = ['apply_id', 'user_id', 'account', 'order_id', 'order_sn', 'goods_id', 'goods_name', 'apply_num', 'create_time'];
$list = $this->where('user_id', $user_id)
->select($field)
->orderBy('create_time', 'desc')
->orderBy('apply_id', 'asc')
->paginate($limit, ['*'], 'page', $page)->toArray();
return [0, '获取成功', $list['data'], $list['total']];
}
}
\ No newline at end of file
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
use Request;
use Excel;
use DB;
class UserSampleInviteModel extends Model
{
protected $connection = 'order';
protected $table = 'lie_user_sample_invite';
protected $primaryKey = 'invite_id';
public $timestamps = true;
const CREATED_AT = 'create_time';
/** * @param \DateTime|int $value * @return false|int * @author dividez */
public function fromDateTime($value)
{
return strtotime(parent::fromDateTime($value));
}
// 获取邀约列表
public function lists($request)
{
$user_id = $request->input('user_id');
$page = $request->input('page', 1);
$limit = $request->input('limit', 10);
$field = ['invite_id', 'user_id', 'account', 'invitee_uid', 'invitee_mobile', 'create_time'];
$list = $this->where('user_id', $user_id)
->select($field)
->orderBy('create_time', 'desc')
->orderBy('invite_id', 'asc')
->paginate($limit, ['*'], 'page', $page)->toArray();
return [0, '获取成功', $list['data'], $list['total']];
}
// 获取指定用户邀约人数
public function getUserInviteCount($user_id)
{
return $this->where('user_id', $user_id)->count();
}
// 获取用户邀约列表
public function getUserInviteList($user_id)
{
return $this->where('user_id', $user_id)->select('invitee_uid', 'invitee_mobile', 'create_time')->get()->toArray();
}
}
\ No newline at end of file
<?php
return [
// 用户角色
'roles' => [
'管理员' => 1,
'经理' => 2,
'交易员' => 3,
'客服' => 4,
'测试' => 5,
'京东自营' => 6,
'自营客服' => 7,
'运营助理' => 8,
'财务' => 9,
'自营客服主管' => 10,
'自营客服主管助理' => 11,
'自营内部采购' => 12,
'尽调' => 13,
'线销一组主管' => 14,
'线销一组客服' => 15,
'线销二组主管' => 16,
'线销二组客服' => 17,
'线销三组主管' => 18,
'线销三组客服' => 19,
],
// 线销主管 =》 线销客服
'manager_to_kefu' => [
14 => 15,
16 => 17,
18 => 19,
],
// 筛选自己的订单
'kefu_order' => [3, 4, 7, 12, 15, 17, 19],
// 主管角色,查看自己及其组员订单
'manager_order' => [14, 16, 18],
// 查看所有订单角色
'check_all_order' => [1, 2, 5],
// 审单时权限 (用于调价权限 changeOrder.blade.php)
'is_manager_perm' => [1, 2, 10, 11, 14, 16, 18],
// 筛选业务员 -- 联营
'search_joint_sales' => [3, 4, 5, 14, 15, 16, 17, 18, 19],
// 筛选业务员 -- 自营
'search_self_sales' => [5, 7, 10, 11, 12],
];
......@@ -80,4 +80,7 @@ return [
// 订单微服务
'order_api_domain' => 'http://orderapi.liexin.com',
// crm
'crm_domain' => 'http://lcrm.liexin.net',
];
......@@ -265,6 +265,7 @@
$('.sku-info').show();
var data = resp.data;
var status_val = '';
$('.goods_name').text(data.goods_name);
......@@ -273,6 +274,14 @@
$('.stock').text(data.goods_number);
$('.moq').text(data.min_buy);
$('.mpq').text(data.min_mpq);
if(data.self_supplier_type == 1){
$('.self_supplier_type').text('自采');
}else if(data.self_supplier_type == 2){
$('.self_supplier_type').text('立创');
}else{
$('.self_supplier_type').text('无');
}
// if (goods_type == 1) {
// var status = data.goods_status;
......
......@@ -1907,11 +1907,16 @@
var content = '<div class="submit-check">'+
'<p class="error">请核对订单金额,谨慎操作!</p>'+
'<p><label>商品总金额:</label>'+currencySign + goods_amount+'</p>'+
'<p><label>优惠金额:</label>'+discount_amount+'</p>'+
'<p><label>附加费金额:</label>'+extra_fee+'</p>'+
'<p><label>运费金额:</label>'+freight_fee+'</p>'+
'<p><label>订单总金额:</label><span class="error">'+currencySign + order_amount+'</span></p>';
'<p><label>商品总金额:</label>'+currencySign + goods_amount+'</p>';
if (new_client_price) {
content += '<p><label>新客价金额:</label>'+new_client_price+'</p>';
}
content += '<p><label>优惠金额:</label>'+discount_amount+'</p>'+
'<p><label>附加费金额:</label>'+extra_fee+'</p>'+
'<p><label>运费金额:</label>'+freight_fee+'</p>'+
'<p><label>订单总金额:</label><span class="error">'+currencySign + order_amount+'</span></p>';
if (order_goods_type == 1) {
content += '</div>';
......
layui.use(['form', 'table', 'laydate'], function(){
var form = layui.form;
var table = layui.table;
var laydate = layui.laydate;
laydate.render({
elem: '#begin_time' //指定元素
});
laydate.render({
elem: '#end_time' //指定元素
});
table.render({
id: 'list'
,elem: '#sample'
,url: '/api/ApiSelfSampleList' //数据接口
,method:'post'
,cellMinWidth: 80 //全局定义常规单元格的最小宽度
,page: true //开启分页
,cols: [[ //表头
{title: '序号', type: 'numbers', fixed: 'left', width: 80}
,{field: 'user_id', title: '用户ID', width: 100}
,{field: 'account', title: '用户账户', width: 150}
,{field: 'invite_count', title: '邀请人数', width: 100}
,{field: 'apply_num_total', title: '已申请样片数', width: 120}
,{field: 'apply_count', title: '剩余领取次数', width: 120}
,{field: 'order_id', title: '订单ID', width: 100}
,{field: 'order_sn', title: '订单编号', width: 150}
,{field: 'goods_id', title: '样片ID', width: 100}
,{field: 'goods_name', title: '样片名称', width: 200}
,{field: 'create_time', title: '最近一次领取时间', width: 180}
,{title: '操作', align:'center', fixed: 'right', toolbar: '#list_action', width: 195}
]]
,limit: 10
,limits: [10, 20, 50,]
});
form.on('submit(load)', function(data) {
//执行重载
table.reload('list', {
page: {
curr: 1
}
,where: data.field
});
return false;
});
// 导出
$('.export').click(function() {
var account = $('input[name=account]').val(),
goods_name = $('input[name=goods_name]').val(),
order_sn = $('input[name=order_sn]').val(),
begin_time = $('input[name=begin_time]').val(),
end_time = $('input[name=end_time]').val(),
url = '/export/selfSampleExport';
if (!account && !goods_name && !order_sn && !begin_time && !end_time) {
layer.msg('请选择筛选条件');
return false;
}
layer.confirm('确定导出数据吗?', {
title: '导出数据'
,btn: ['确定', '取消']
}, function(){
layer.closeAll('dialog'); // 确定时关闭弹框
window.location.href = url+'?account='+account+'&goods_name='+goods_name+'&order_sn='+order_sn+'&begin_time='+begin_time+'&end_time='+end_time;
});
})
});
\ No newline at end of file
layui.use(['table'], function(){
var table = layui.table;
// 领取记录
table.render({
id: 'list'
,elem: '#apply_log'
,url: '/api/ApiSelfSampleApplyLog' //数据接口
,method:'post'
,cellMinWidth: 80 //全局定义常规单元格的最小宽度
,page: true //开启分页
,where: {
user_id : $('input[name=user_id]').val()
}
,cols: [[ //表头
{title: '序号', type: 'numbers', fixed: 'left', width: 80}
,{field: 'user_id', title: '用户ID', width: 150}
,{field: 'account', title: '用户账户', width: 200}
,{field: 'order_id', title: '订单ID', width: 150}
,{field: 'order_sn', title: '订单编号', width: 200}
,{field: 'goods_id', title: '样片ID', width: 150}
,{field: 'goods_name', title: '样片名称', width: 300}
,{field: 'apply_num', title: '领取数量', width: 150}
,{field: 'create_time', title: '领取时间', width: 218}
]]
,limit: 10
,limits: [10, 20, 50,]
});
// 邀约记录
table.render({
id: 'list'
,elem: '#invite_log'
,url: '/api/ApiSelfSampleInviteLog' //数据接口
,method:'post'
,cellMinWidth: 80 //全局定义常规单元格的最小宽度
,page: true //开启分页
,where: {
user_id : $('input[name=user_id]').val()
}
,cols: [[ //表头
{title: '序号', type: 'numbers', fixed: 'left', width: 80}
,{field: 'user_id', title: '用户ID'}
,{field: 'account', title: '用户账户'}
,{field: 'invitee_uid', title: '受邀人ID'}
,{field: 'invitee_mobile', title: '受邀人手机号码'}
,{field: 'create_time', title: '受邀人注册时间'}
]]
,limit: 10
,limits: [10, 20, 50,]
});
});
\ No newline at end of file
......@@ -294,6 +294,16 @@
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<span>自采标记:</span>
<span class="self_supplier_type"></span>
</div>
</div>
</div>
</div>
<div class="sku-info-right table-responsive">
......
......@@ -498,14 +498,15 @@
@include('detail.addGoods')
<script>
var is_manager = "{{ $role == 1 || $role == 2 || $role == 10 ? true : false }}";
var is_manager = "{{ in_array($role, Config('perm_args.is_manager_perm')) ? true : false }}";
var isNewClient = "{{isset($isNewClient) ? $isNewClient : 0}}";
// var order_amount = "{{$order_info['order_amount']}}";
var currency = "{{$order_info['currency']}}"; // 币种
var order_pay_type = "{{$order_info['order_pay_type']}}"; // 付款类型
var discount_amount = "{{ $order_price_info['discount_amount'] ? $order_price_info['discount_amount'] : 0 }}"; // 优惠券金额
var pay_preferential = "{{ $order_price_info['pay_preferential'] ? $order_price_info['pay_preferential'] : 0 }}"; // 支付优惠(钱包)
var new_client_price = "{{ $order_price_info['new_client_price'] }}";
var rest_time = "{{$order_info['pay_time'] ? $order_info['pay_time'] - time() : NULL}}";
......
......@@ -475,6 +475,7 @@
@if ($role != 12 && $role != 7)
<th>供应商</th>
@endif
<th>自采标记</th>
@if ($order_info['order_goods_type'] == 1)
<th>生产跟踪</th>
......@@ -523,10 +524,23 @@
@if ($order_info['order_goods_type'] == 1)
<td><a class="order-track" data-rid="{{$v['rec_id']}}">{{ App\Http\Controllers\getLastTrack($v['rec_id']) }}</a></td>
@endif
@if ($action_name == 'changeOrder' && count($order_items_info) > 1 && in_array($order_info['status'], [1, 2]))
<td><a class="btn btn-danger deletegoods" href="javascript:;" data-id="{{$v['rec_id']}}">删除</a></td>
@endif
<td>
@if($v['self_supplier_type'] == 1)
自采
@elseif($v['self_supplier_type'] == 2)
立创
@else
@endif
</td>
</tr>
@endforeach
@endif
......@@ -545,6 +559,13 @@
<td colspan="10">{{$order_temp_info['kefu_remark']}}</td>
</tr>
@endif
@if ($order_info['order_goods_type'] == 2 && $order_temp_info['business_type'] == 1)
<tr>
<td>项目需求描述:</td>
<td colspan="10">{{$order_temp_info['sample_demand_desc']}}</td>
</tr>
@endif
</tfoot>
</table>
......@@ -589,6 +610,13 @@
<td>{{$currency}}<span id="order-total" class="amount">{{$order_price_info['goods_price']}}</span></td>
</tr>
@if ($order_price_info['new_client_price'] != 0)
<tr>
<td>新客价优惠:</td>
<td>{{$currency}}<span id="order-total" class="amount">{{$order_price_info['new_client_price']}}</span></td>
</tr>
@endif
@if (isset($order_price_info['ext_price']))
<tr>
<td>附加款:</td>
......@@ -733,7 +761,7 @@
@if (!isset($_REQUEST['tags']) && $action_name != 'changeOrder' && $action_name != 'sendSales')
<p style="padding-left: 5px;">操作</p>
<div class="tabs-box">
@if (in_array($order_info['status'], [1, 2, 4]) && in_array('cancel_order', $userPerms))
@if (in_array($order_info['status'], [1, 2, 3, 4]) && in_array('cancel_order', $userPerms))
<!-- <a href="{{URL('cancelPay', ['order_id'=>$order_info['order_id']])}}" class="btn btn-danger">取消订单</a> -->
<a class="btn btn-danger input-cancel-reason" href="javascript:;" data-oid="{{$order_info['order_id']}}" data-type="2">取消订单</a>
@endif
......
......@@ -9,36 +9,69 @@
<input type="hidden" name="order_id" value="{{$order_info['order_id']}}">
<table class="table table-bordered table-hover check-table" style="min-height:150px;">
@if (!empty($joint_manager))
<tr>
<td class="check-table-title" width="10%">经理:</td>
<td>
<ul>
@foreach ($joint_manager as $k => $v)
@if ($v->userId == $order_info['sale_id'])
<li><label><input type="radio" name="sale_id" value="{{$v->userId}}" checked /><span>{{$v->name}}</span></label></li>
@else
<li><label><input type="radio" name="sale_id" value="{{$v->userId}}"/><span>{{$v->name}}</span></label></li>
@endif
@endforeach
</ul>
</td>
</tr>
@endif
@if (!empty($joint_kefu))
@if (!empty($joint_in_charge))
<tr>
<td class="check-table-title">联营客服:</td>
<td>
<ul>
@foreach ($joint_kefu as $key => $vo)
@if ($vo->userId == $order_info['sale_id'])
<li><label><input type="radio" name="sale_id" value="{{$vo->userId}}" checked /><span>{{$vo->name}}</span></label></li>
@else
<li><label><input type="radio" name="sale_id" value="{{$vo->userId}}"/><span>{{$vo->name}}</span></label></li>
@endif
@endforeach
<table class="table table-bordered table-hover">
<tr>
<td width="10%">主管:</td>
<td>
<ul>
@foreach ($joint_in_charge as $vo)
@if ($vo->userId == $order_info['sale_id'])
<li><label><input type="radio" name="sale_id" value="{{$vo->userId}}" checked /><span>{{$vo->name}}</span></label></li>
@else
<li><label><input type="radio" name="sale_id" value="{{$vo->userId}}"/><span>{{$vo->name}}</span></label></li>
@endif
@endforeach
</ul>
</td>
</tr>
<tr>
<td>线销一组:</td>
<td>
<ul>
@foreach ($joint_kefu_1 as $vo)
@if ($vo->userId == $order_info['sale_id'])
<li><label><input type="radio" name="sale_id" value="{{$vo->userId}}" checked /><span>{{$vo->name}}</span></label></li>
@else
<li><label><input type="radio" name="sale_id" value="{{$vo->userId}}"/><span>{{$vo->name}}</span></label></li>
@endif
@endforeach
</ul>
</td>
</tr>
<tr>
<td>线销二组:</td>
<td>
<ul>
@foreach ($joint_kefu_2 as $vo)
@if ($vo->userId == $order_info['sale_id'])
<li><label><input type="radio" name="sale_id" value="{{$vo->userId}}" checked /><span>{{$vo->name}}</span></label></li>
@else
<li><label><input type="radio" name="sale_id" value="{{$vo->userId}}"/><span>{{$vo->name}}</span></label></li>
@endif
@endforeach
</ul>
</td>
</tr>
<tr>
<td>线销三组:</td>
<td>
<ul>
@foreach ($joint_kefu_3 as $vo)
@if ($vo->userId == $order_info['sale_id'])
<li><label><input type="radio" name="sale_id" value="{{$vo->userId}}" checked /><span>{{$vo->name}}</span></label></li>
@else
<li><label><input type="radio" name="sale_id" value="{{$vo->userId}}"/><span>{{$vo->name}}</span></label></li>
@endif
@endforeach
</ul>
</td>
</tr>
</table>
</ul>
</td>
</tr>
......@@ -49,7 +82,7 @@
<td class="check-table-title">交易员:</td>
<td>
<ul>
@foreach ($sale_list as $key => $vo)
@foreach ($sale_list as $vo)
@if ($vo->userId == $order_info['sale_id'])
<li><label><input type="radio" name="sale_id" value="{{$vo->userId}}" checked /><span>{{$vo->name}}</span></label></li>
@else
......@@ -67,7 +100,7 @@
<td>
<ul>
@foreach ($self_manager as $k => $v)
@foreach ($self_manager as $v)
@if ($v->userId == $order_info['sale_id'])
<li><label><input type="radio" name="sale_id" value="{{$v->userId}}" checked /><span>{{$v->name}}</span></label></li>
@else
......@@ -84,7 +117,7 @@
<td class="check-table-title">自营客服:</td>
<td>
<ul>
@foreach ($self_kefu as $key => $vo)
@foreach ($self_kefu as $vo)
@if ($vo->userId == $order_info['sale_id'])
<li><label><input type="radio" name="sale_id" value="{{$vo->userId}}" checked /><span>{{$vo->name}}</span></label></li>
@else
......@@ -101,7 +134,7 @@
<td class="check-table-title">测试:</td>
<td>
<ul>
@foreach ($test as $key => $vo)
@foreach ($test as $vo)
@if ($vo->userId == $order_info['sale_id'])
<li><label><input type="radio" name="sale_id" value="{{$vo->userId}}" checked /><span>{{$vo->name}}</span></label></li>
@else
......@@ -114,7 +147,7 @@
@endif
<!-- 查看权限:当前推送人 或 管理员、经理、测试、运营助理 或 自营客服主管 -->
@if ($sale_id == $order_info['sale_id'] || (in_array($role, [1, 2, 5, 8]) || in_array($role, [1, 10]) ))
@if ($sale_id == $order_info['sale_id'] || in_array($role, [1, 2, 5, 8, 10, 11, 14, 16, 18]))
<tr>
<td class="check-table-title">备注信息:</td>
<td>
......
......@@ -18,26 +18,16 @@
<dd style="width:auto !important;">
<div class="droplist" data-default="{{$condition['order_type']}}" id="order_type" name="order_type">
<ul class="dropdown-menu">
<li class="order_type_tab" data-val="">会员账号</li>
<li class="order_type_tab" data-val="4">会员ID</li>
<li class="order_type_tab active" data-val="">订单编号</li>
<li class="order_type_tab" data-val="1">会员账号</li>
<li class="order_type_tab" data-val="4">会员ID</li>
<li class="order_type_tab" data-val="2">型号名称</li>
</ul>
</div>
</dd>
<dd class="order_contain"><input type="text" name="order_contain" value="{{$condition['order_contain']}}" placeholder="请输入内容"></dd>
</dl>
<dl>
<dt>订单编号:</dt>
<dd>
<input type="text" name="order_sn" value="{{$condition['order_sn']}}" placeholder="请输入订单编号">
</dd>
</dl>
<dl>
<dt>型号名称:</dt>
<dd>
<input type="text" name="goods_name" value="{{$condition['goods_name']}}" placeholder="请输入型号名称">
</dd>
</dl>
<dl>
<dt>创建日期: </dt>
<dd style="width:auto !important;">
<input type="text" name="time_start" value="{{ !empty($condition['time_start']) ? date('Y/m/d', $condition['time_start']) : '' }}" class="Wdate " onfocus="WdatePicker({dateFmt:'yyyy/MM/dd'})" placeholder="开始时间" autocomplete="off" />
......@@ -148,6 +138,18 @@
</dl>
@endif
<dl>
<dt>adtag来源:</dt>
<dd>
<input type="text" name="order_source_adtag" value="{{$condition['order_source_adtag']}}" placeholder="请输入内容">
</dd>
</dl>
<dl>
<dt>ptag来源:</dt>
<dd>
<input type="text" name="order_source_ptag" value="{{$condition['order_source_ptag']}}" placeholder="请输入内容">
</dd>
</dl>
@if ($username != 'vpadmin@ichunt.com')
<dl>
<dt>同步状态:</dt>
......@@ -254,18 +256,7 @@
<td class="show-list"><?php print_r(App\Http\Controllers\getAccountName($v['user_id'])); ?></td>
<td class="show-list">
@if ($v['order_type'] == 1)
<p class="show-title" title="{{App\Http\Controllers\getCompanyName($v['order_id'], $v['user_id'])}}" style="width: 200px;">
<?php
$company_name = App\Http\Controllers\getCompanyName($v['order_id'], $v['user_id']);
$mb_strlen = mb_strlen($company_name);
if ($mb_strlen > 8) {
echo mb_substr($company_name, 0, 8).'...'; // 截取8个字符
} else {
echo $company_name;
}
?>
</p>
<p class="show-title" title="{{App\Http\Controllers\getCompanyName($v['order_id'], $v['user_id'])}}" style="width: 200px;">{{App\Http\Controllers\getCompanyName($v['order_id'], $v['user_id'])}}</p>
@endif
</td>
<td class="show-list">{{$v['order_sn']}}</td>
......
......@@ -18,8 +18,10 @@
<dd style="width:auto !important;">
<div class="droplist" data-default="{{$condition['order_type']}}" id="order_type" name="order_type">
<ul class="dropdown-menu">
<li class="order_type_tab" data-val="">会员账号</li>
<li class="order_type_tab active" data-val="">订单编号</li>
<li class="order_type_tab" data-val="1">会员账号</li>
<li class="order_type_tab" data-val="4">会员ID</li>
<li class="order_type_tab" data-val="2">型号名称</li>
<li class="order_type_tab" data-val="3">发票抬头</li>
</ul>
</div>
......@@ -27,18 +29,6 @@
<dd class="order_contain"><input type="text" name="order_contain" value="{{$condition['order_contain']}}" placeholder="请输入内容"></dd>
</dl>
<dl>
<dt>订单编号:</dt>
<dd>
<input type="text" name="order_sn" value="{{$condition['order_sn']}}" placeholder="请输入订单编号">
</dd>
</dl>
<dl>
<dt>型号名称:</dt>
<dd>
<input type="text" name="goods_name" value="{{$condition['goods_name']}}" placeholder="请输入型号名称">
</dd>
</dl>
<dl>
<dt>创建日期: </dt>
<dd style="width:auto !important;">
<input type="text" name="time_start" value="{{ !empty($condition['time_start']) ? date('Y/m/d', $condition['time_start']) : '' }}" class="Wdate " onfocus="WdatePicker({dateFmt:'yyyy/MM/dd'})" placeholder="开始时间" autocomplete="off" />
......@@ -220,12 +210,13 @@
</div>
<div class="row-fluid table-responsive">
<table class="table table-hover">
<table class="table table-hover text-nowrap">
<thead>
<tr>
<th class="pl30">会员账号</th>
<th class="pl30">公司</th>
<th class="pl30">订单编号</th>
<th class="pl30">ERP单号</th>
<th class="pl30">应付金额</th>
<th class="pl30">订单状态</th>
<th class="pl30">付款类型</th>
......@@ -255,21 +246,12 @@
</td>
<td class="show-list">
@if ($v['order_type'] == 1)
<p class="show-title" title="{{App\Http\Controllers\getCompanyName($v['order_id'], $v['user_id'])}}" style="width: 200px;">
<?php
$company_name = App\Http\Controllers\getCompanyName($v['order_id'], $v['user_id']);
$mb_strlen = mb_strlen($company_name);
if ($mb_strlen > 8) {
echo mb_substr($company_name, 0, 8).'...'; // 截取8个字符
} else {
echo $company_name;
}
?>
</p>
<p class="show-title" title="{{App\Http\Controllers\getCompanyName($v['order_id'], $v['user_id'])}}" style="width: 200px;">{{App\Http\Controllers\getCompanyName($v['order_id'], $v['user_id'])}}</p>
@endif
</td>
<td class="show-list">{{$v['order_sn']}}</td>
<?php $order_extend = App\Http\Controllers\getOrderExtend($v['order_id']); ?>
<td class="show-list">{{ $order_extend ? $order_extend->erp_sn : '' }}</td>
<td class="show-list">
<?php
$currencySign = $v['currency'] == 1 ? '¥' : '$';
......@@ -330,7 +312,7 @@
<td class="show-list">{{$username != 'vpadmin@ichunt.com' ? date('Y-m-d H:i:s', $v['create_time']) : date('Y-m-d', $v['create_time'])}}</td>
<td>
<div class="btn-group btn-group-xs">
<div class="btn-group btn-group-xs" style="width: 240px;">
<a class="btn btn-primary" href="/details/{{$v['order_id']}}?tags=self" target="_blank">详情</a>
@if (in_array('self_check_order', $userPerms) && in_array($v['status'], [1, 2]))
......@@ -355,7 +337,7 @@
<!-- 点击展示内容 -->
<tr class="show-other-content">
<td colspan="13">
<td colspan="14">
<table class="table table-hover table-bordered list-item-table">
<thead>
<tr class="caption">
......
<form class="layui-form layui-box" method="post">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">用户账户</label>
<div class="layui-input-inline">
<input type="text" name="account" placeholder="填写用户账户" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">商品名称</label>
<div class="layui-input-inline">
<input type="text" name="goods_name" placeholder="填写商品名称" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">订单编号</label>
<div class="layui-input-inline">
<input type="text" name="order_sn" placeholder="填写订单编号" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">领取时间</label>
<div class="layui-input-inline">
<input type="text" name="begin_time" value="" autocomplete="off" placeholder="选择开始时间" class="layui-input" id="begin_time" readonly>
</div>
<div class="layui-form-mid">-</div>
<div class="layui-input-inline">
<input type="text" name="end_time" value="" autocomplete="off" placeholder="选择结束时间" class="layui-input" id="end_time" readonly>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-btn-container" style="text-align: center; margin-top: 10px;">
<button lay-submit lay-filter="load" class="layui-btn" data-type="search">搜索</button>
<button type="button" class="layui-btn layui-btn-normal export">导出</button>
</div>
</div>
</form>
<table id="sample" lay-filter="list"></table>
<script type="text/html" id="list_action">
<a class="btn btn-xs btn-info" href="/web/selfSampleLog?user_id=@{{ d.user_id }}" target="_blank">领取和邀约记录</a>
</script>
\ No newline at end of file
<input type="hidden" name="user_id" value="{{ $user_id }}">
<h3>领取记录</h3>
<table id="apply_log" lay-filter="apply"></table>
<hr>
<h3>邀约记录</h3>
<table id="invite_log" lay-filter="invite"></table>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment