From 226a1afdab6a645482f8974f62baddbd4de0e750 Mon Sep 17 00:00:00 2001 From: wangzeyan <258785420@qq.com> Date: Mon, 23 Jun 2025 13:46:09 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resource_sharing/ResourceSharing.php | 26 +++++++++------ .../service/api/apiService/CommonService.php | 2 +- .../api/apiService/ResourceSharingService.php | 32 +++++++++++++------ 3 files changed, 40 insertions(+), 20 deletions(-) diff --git a/niucloud/app/model/resource_sharing/ResourceSharing.php b/niucloud/app/model/resource_sharing/ResourceSharing.php index 75e69f17..db7f1f9a 100644 --- a/niucloud/app/model/resource_sharing/ResourceSharing.php +++ b/niucloud/app/model/resource_sharing/ResourceSharing.php @@ -12,6 +12,7 @@ namespace app\model\resource_sharing; use app\model\customer_resources\CustomerResources; +use app\model\six_speed\SixSpeed; use core\base\BaseModel; use think\model\concern\SoftDelete; use think\model\relation\HasMany; @@ -25,7 +26,7 @@ use think\model\relation\HasOne; class ResourceSharing extends BaseModel { - + /** * 数据表主键 @@ -39,9 +40,9 @@ class ResourceSharing extends BaseModel */ protected $name = 'resource_sharing'; - - + + /** * 搜索器:资源共享共享记录编号 @@ -54,7 +55,7 @@ class ResourceSharing extends BaseModel $query->where("id", $value); } } - + /** * 搜索器:资源共享资源ID * @param $value @@ -66,7 +67,7 @@ class ResourceSharing extends BaseModel $query->where("resource_id", $value); } } - + /** * 搜索器:资源共享用户ID(可为空) * @param $value @@ -78,7 +79,7 @@ class ResourceSharing extends BaseModel $query->where("user_id", $value); } } - + /** * 搜索器:资源共享角色ID(可为空) * @param $value @@ -90,7 +91,7 @@ class ResourceSharing extends BaseModel $query->where("role_id", $value); } } - + /** * 搜索器:资源共享共享人ID * @param $value @@ -102,7 +103,7 @@ class ResourceSharing extends BaseModel $query->where("shared_by", $value); } } - + /** * 搜索器:资源共享共享时间 * @param $value @@ -125,6 +126,11 @@ class ResourceSharing extends BaseModel { return $this->hasOne(CustomerResources::class, 'id', 'resource_id'); } - - + /** + * 关联six_speed表(一对一) + */ + public function sixSpeed(): HasOne + { + return $this->hasOne(SixSpeed::class, 'resource_id', 'resource_id'); + } } diff --git a/niucloud/app/service/api/apiService/CommonService.php b/niucloud/app/service/api/apiService/CommonService.php index 2e31b14a..6f5680f3 100644 --- a/niucloud/app/service/api/apiService/CommonService.php +++ b/niucloud/app/service/api/apiService/CommonService.php @@ -40,7 +40,7 @@ class CommonService extends BaseApiService $res = $model->field($field)->find();//员工信息 if($res){ - $res = $res->toArray(); + $res = $res->toArray()['dictionary']; }else{ $res = []; } diff --git a/niucloud/app/service/api/apiService/ResourceSharingService.php b/niucloud/app/service/api/apiService/ResourceSharingService.php index 97c7b2ce..ff9d8d65 100644 --- a/niucloud/app/service/api/apiService/ResourceSharingService.php +++ b/niucloud/app/service/api/apiService/ResourceSharingService.php @@ -13,6 +13,7 @@ namespace app\service\api\apiService; use app\model\campus\Campus; use app\model\campus_person_role\CampusPersonRole; +use app\model\communication_records\CommunicationRecords; use app\model\customer_resources\CustomerResources; use app\model\order_table\OrderTable; use app\model\resource_sharing\ResourceSharing; @@ -90,23 +91,36 @@ class ResourceSharingService extends BaseApiService $model = $model->whereOr('shared_by', $where['shared_by']); } //分页查询 - $res = $model->with([ - 'customerResource' => function ($query) { - $query->append(['initial_intent_name']); - } - ]) - ->withJoin(['customerResource']) + $res = $model->with(['customerResource','sixSpeed']) + ->withJoin(['customerResource','sixSpeed']) ->order('customerResource.updated_at', 'desc') ->paginate([ 'list_rows' => $limit, 'page' => $page, ])->toArray(); - +// 获取列表中的campus_ids + $campus_ids = array_unique(array_column(array_column($res['data'],'customerResource'), 'campus')); $campus = new Campus(); + $campus_name = $campus->whereIn('id', $campus_ids)->column('campus_name', 'id'); +// 获取客户资源沟通记录 + $customer_resource_ids = array_unique(array_column($res['data'], 'resource_id')); +// 2. 构建子查询:获取每个 resource_id 的最大 communication_time + $subQuery = CommunicationRecords::field('resource_id, max(communication_time) as max_time') + ->whereIn('resource_id', $customer_resource_ids) // 只查询指定的 resource_id + ->group('resource_id') + ->select() + ->toArray(); + +dd($campus_name,$campus_ids); + $resultdata = []; + foreach ($subQuery as $item) { + $resultdata[$item['resource_id']] = $item['max_time']; + } + foreach ($res['data'] as &$item){ $item['customerResource']['source_channel'] = get_dict_value('source',$item['customerResource']['source_channel']); - $item['customerResource']['campus_name'] = $campus->where(['id' =>$item['customerResource']['campus']])->value("campus_name"); - + $item['customerResource']['campus_name'] = $campus_name[$item['customerResource']['campus']] ?? ''; + $item['customerResource']['communication_time'] = $resultdata[$item['resource_id']] ?? ''; } return $res; From 42d66b6bf0feccb5c960fb50fdde47f9d6c29662 Mon Sep 17 00:00:00 2001 From: wangzeyan <258785420@qq.com> Date: Mon, 23 Jun 2025 13:46:14 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/api/controller/apiController/CustomerResources.php | 1 + niucloud/app/api/controller/member/Member.php | 4 ++++ niucloud/app/api/route/member.php | 2 ++ niucloud/app/common.php | 2 +- .../app/service/api/apiService/ResourceSharingService.php | 2 +- niucloud/app/service/api/member/MemberService.php | 6 ++++++ 6 files changed, 15 insertions(+), 2 deletions(-) diff --git a/niucloud/app/api/controller/apiController/CustomerResources.php b/niucloud/app/api/controller/apiController/CustomerResources.php index e635e941..46589fd8 100644 --- a/niucloud/app/api/controller/apiController/CustomerResources.php +++ b/niucloud/app/api/controller/apiController/CustomerResources.php @@ -149,6 +149,7 @@ class CustomerResources extends BaseApiService //客户资源数据 $customer_resources_data = [ + "campus" => $request->param('campus', ''), "source_channel" => $request->param('source_channel', ''),//来源渠道 "source" => $request->param('source', ''),//来源 "name" => $request->param('name', ''),//姓名 diff --git a/niucloud/app/api/controller/member/Member.php b/niucloud/app/api/controller/member/Member.php index f6c9c19d..25a4b059 100644 --- a/niucloud/app/api/controller/member/Member.php +++ b/niucloud/app/api/controller/member/Member.php @@ -119,4 +119,8 @@ class Member extends BaseApiController public function get_campuses_list(){ return success(( new MemberService() )->get_campuses_list()); } + + public function list_call_up(){ + return success(( new MemberService() )->list_call_up()); + } } diff --git a/niucloud/app/api/route/member.php b/niucloud/app/api/route/member.php index 47100325..6d4dbbad 100644 --- a/niucloud/app/api/route/member.php +++ b/niucloud/app/api/route/member.php @@ -105,6 +105,8 @@ Route::group('member', function () { //获取签到设置 Route::get('sign/config', 'member.MemberSign/signConfig'); + Route::get('list_call_up', 'member.MemberSign/signConfig'); + diff --git a/niucloud/app/common.php b/niucloud/app/common.php index 4807fc8e..0fee5199 100644 --- a/niucloud/app/common.php +++ b/niucloud/app/common.php @@ -1237,7 +1237,7 @@ function get_dict_value($key, $value) $map[$item['value']] = $item['name']; } - return $map[$value] ?? '未知'; + return $map[$value] ?? ''; } diff --git a/niucloud/app/service/api/apiService/ResourceSharingService.php b/niucloud/app/service/api/apiService/ResourceSharingService.php index ff9d8d65..23a655e1 100644 --- a/niucloud/app/service/api/apiService/ResourceSharingService.php +++ b/niucloud/app/service/api/apiService/ResourceSharingService.php @@ -111,13 +111,13 @@ class ResourceSharingService extends BaseApiService ->select() ->toArray(); -dd($campus_name,$campus_ids); $resultdata = []; foreach ($subQuery as $item) { $resultdata[$item['resource_id']] = $item['max_time']; } foreach ($res['data'] as &$item){ + $item['customerResource']['source'] = get_dict_value('source',$item['customerResource']['source']); $item['customerResource']['source_channel'] = get_dict_value('source',$item['customerResource']['source_channel']); $item['customerResource']['campus_name'] = $campus_name[$item['customerResource']['campus']] ?? ''; $item['customerResource']['communication_time'] = $resultdata[$item['resource_id']] ?? ''; diff --git a/niucloud/app/service/api/member/MemberService.php b/niucloud/app/service/api/member/MemberService.php index d9b5fd88..b5fd6da5 100644 --- a/niucloud/app/service/api/member/MemberService.php +++ b/niucloud/app/service/api/member/MemberService.php @@ -12,6 +12,7 @@ namespace app\service\api\member; use app\model\campus\Campus; +use app\model\communication_records\CommunicationRecords; use app\model\member\Member; use app\service\core\member\CoreMemberService; use core\base\BaseApiService; @@ -165,4 +166,9 @@ class MemberService extends BaseApiService return $list; } + + public function list_call_up($resource_id){ + $campus = new CommunicationRecords(); + return $campus->where('resource_id',$resource_id)->select()->toArray(); + } } From 31308d09573751f3c1e06a03a68d25aef9bcc06a Mon Sep 17 00:00:00 2001 From: wangzeyan <258785420@qq.com> Date: Mon, 23 Jun 2025 14:00:03 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- niucloud/app/api/controller/member/Member.php | 5 ++++- niucloud/app/api/route/member.php | 5 ----- niucloud/app/api/route/route.php | 2 ++ niucloud/app/service/api/login/LoginService.php | 11 ++++------- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/niucloud/app/api/controller/member/Member.php b/niucloud/app/api/controller/member/Member.php index 25a4b059..2009b748 100644 --- a/niucloud/app/api/controller/member/Member.php +++ b/niucloud/app/api/controller/member/Member.php @@ -121,6 +121,9 @@ class Member extends BaseApiController } public function list_call_up(){ - return success(( new MemberService() )->list_call_up()); + $data = $this->request->params([ + [ 'sales_id', '' ], + ]); + return success(( new MemberService() )->list_call_up($data['sales_id'])); } } diff --git a/niucloud/app/api/route/member.php b/niucloud/app/api/route/member.php index 6d4dbbad..a05e0cb3 100644 --- a/niucloud/app/api/route/member.php +++ b/niucloud/app/api/route/member.php @@ -105,11 +105,6 @@ Route::group('member', function () { //获取签到设置 Route::get('sign/config', 'member.MemberSign/signConfig'); - Route::get('list_call_up', 'member.MemberSign/signConfig'); - - - - })->middleware(ApiChannel::class) ->middleware(ApiCheckToken::class, true) ->middleware(ApiLog::class); diff --git a/niucloud/app/api/route/route.php b/niucloud/app/api/route/route.php index ec2a4e3e..db3c2fb4 100644 --- a/niucloud/app/api/route/route.php +++ b/niucloud/app/api/route/route.php @@ -331,6 +331,8 @@ Route::group(function () { Route::get('teachingResearch/teachingTestPaper', 'apiController.teachingResearch/teachingTestPaper'); //提交试卷 Route::get('teachingResearch/submitTestPaper', 'apiController.teachingResearch/submitTestPaper'); + + Route::get('per_list_call_up', 'member.Member/list_call_up'); })->middleware(ApiChannel::class) ->middleware(ApiPersonnelCheckToken::class, true) ->middleware(ApiLog::class); diff --git a/niucloud/app/service/api/login/LoginService.php b/niucloud/app/service/api/login/LoginService.php index 59c5a239..2908673c 100644 --- a/niucloud/app/service/api/login/LoginService.php +++ b/niucloud/app/service/api/login/LoginService.php @@ -177,6 +177,7 @@ class LoginService extends BaseApiService try { $token_info = TokenAuth::parseToken($token, AppTypeDict::API); + dd($token_info); } catch (Throwable $e) { // if(env('app_debug', false)){ // throw new AuthException($e->getMessage(), 401); @@ -206,11 +207,7 @@ class LoginService extends BaseApiService try { $token_info = TokenAuth::parseToken($token, AppTypeDict::PERSONNEL); } catch (Throwable $e) { -// if(env('app_debug', false)){ -// throw new AuthException($e->getMessage(), 401); -// }else{ throw new AuthException('LOGIN_EXPIRE', 401); -// } } if (!$token_info) { throw new AuthException('MUST_LOGIN', 401); @@ -355,7 +352,7 @@ class LoginService extends BaseApiService //查询员工信息 $member_info = (new Personnel())->where('phone', $params['phone'])->find(); - if(!$member_info){ + if (!$member_info) { throw new ApiException('账号不存在'); } @@ -371,10 +368,10 @@ class LoginService extends BaseApiService $user->save(); $expire_time = env('system.api_token_expire_time') ?? 3600; //生成token - $token_info = TokenAuth::createToken($member_info->id, AppTypeDict::PERSONNEL, ['id' => $member_info->id, 'member_id'=>$member_info->id, 'phone' => $member_info->phone, 'user_type' => $params['login_type']], $expire_time); + $token_info = TokenAuth::createToken($member_info->id, AppTypeDict::PERSONNEL, ['id' => $member_info->id, 'member_id' => $member_info->id, 'phone' => $member_info->phone, 'user_type' => $params['login_type']], $expire_time); //获取用户部门ids(1市场、2教师、3销售) $depts = (new CampusPersonRole())->where('person_id', $member_info->id)->column('dept_id'); - $user_type = in_array($params['login_type'],$depts) ? $params['login_type'] : ''; + $user_type = in_array($params['login_type'], $depts) ? $params['login_type'] : ''; return [ 'token' => $token_info['token'],//token From 69c561842860cc23c4d05035b0aaa3c104a1f286 Mon Sep 17 00:00:00 2001 From: wangzeyan <258785420@qq.com> Date: Tue, 24 Jun 2025 08:07:31 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- niucloud/app/api/controller/member/Member.php | 57 +++++++++++-------- niucloud/app/api/route/route.php | 1 + .../app/service/api/member/MemberService.php | 49 ++++++++++------ 3 files changed, 66 insertions(+), 41 deletions(-) diff --git a/niucloud/app/api/controller/member/Member.php b/niucloud/app/api/controller/member/Member.php index 2009b748..437fd58e 100644 --- a/niucloud/app/api/controller/member/Member.php +++ b/niucloud/app/api/controller/member/Member.php @@ -26,7 +26,7 @@ class Member extends BaseApiController */ public function info() { - return success(( new MemberService() )->getInfo()); + return success((new MemberService())->getInfo()); } /** @@ -35,7 +35,7 @@ class Member extends BaseApiController */ public function center() { - return success(( new MemberService() )->center()); + return success((new MemberService())->center()); } /** @@ -46,12 +46,12 @@ class Member extends BaseApiController public function modify($field) { $data = $this->request->params([ - [ 'value', '' ], - [ 'field', $field ], + ['value', ''], + ['field', $field], ]); - $data[ $field ] = $data[ 'value' ]; + $data[$field] = $data['value']; $this->validate($data, 'app\validate\member\Member.modify'); - ( new MemberService() )->modify($field, $data[ 'value' ]); + (new MemberService())->modify($field, $data['value']); return success('MODIFY_SUCCESS'); } @@ -62,9 +62,9 @@ class Member extends BaseApiController public function edit() { $data = $this->request->params([ - [ 'data', [] ], + ['data', []], ]); - ( new MemberService() )->edit($data[ 'data' ]); + (new MemberService())->edit($data['data']); return success('MODIFY_SUCCESS'); } @@ -75,10 +75,10 @@ class Member extends BaseApiController public function mobile() { $data = $this->request->params([ - [ 'mobile', '' ], - [ 'mobile_code', '' ], + ['mobile', ''], + ['mobile_code', ''], ]); - return success(( new AuthService() )->bindMobile($data[ 'mobile' ], $data[ 'mobile_code' ])); + return success((new AuthService())->bindMobile($data['mobile'], $data['mobile_code'])); } /** @@ -88,11 +88,11 @@ class Member extends BaseApiController public function log() { $data = $this->request->params([ - [ 'route', '' ], - [ 'params', '' ], - [ 'pre_route', '' ] + ['route', ''], + ['params', ''], + ['pre_route', ''] ]); - ( new MemberLogService() )->log($data); + (new MemberLogService())->log($data); return success(); } @@ -101,7 +101,7 @@ class Member extends BaseApiController */ public function qrcode() { - return success(( new MemberService() )->getQrcode()); + return success((new MemberService())->getQrcode()); } /** @@ -111,19 +111,30 @@ class Member extends BaseApiController public function getMobile() { $data = $this->request->params([ - [ 'mobile_code', '' ], + ['mobile_code', ''], ]); - return success(( new AuthService() )->getMobile($data[ 'mobile_code' ])); + return success((new AuthService())->getMobile($data['mobile_code'])); } - public function get_campuses_list(){ - return success(( new MemberService() )->get_campuses_list()); + public function get_campuses_list() + { + return success((new MemberService())->get_campuses_list()); } - public function list_call_up(){ + public function list_call_up() + { + $data = $this->request->params([ + ['sales_id', ''], + ]); + return success((new MemberService())->list_call_up($data['sales_id'])); + } + + public function update_call_up() + { $data = $this->request->params([ - [ 'sales_id', '' ], + ['id', ''], + ['remarks', ''], ]); - return success(( new MemberService() )->list_call_up($data['sales_id'])); + return success((new MemberService())->update_call_up($data['id'], $data['remarks'])); } } diff --git a/niucloud/app/api/route/route.php b/niucloud/app/api/route/route.php index db3c2fb4..d056f990 100644 --- a/niucloud/app/api/route/route.php +++ b/niucloud/app/api/route/route.php @@ -333,6 +333,7 @@ Route::group(function () { Route::get('teachingResearch/submitTestPaper', 'apiController.teachingResearch/submitTestPaper'); Route::get('per_list_call_up', 'member.Member/list_call_up'); + Route::post('per_update_call_up', 'member.Member/update_call_up'); })->middleware(ApiChannel::class) ->middleware(ApiPersonnelCheckToken::class, true) ->middleware(ApiLog::class); diff --git a/niucloud/app/service/api/member/MemberService.php b/niucloud/app/service/api/member/MemberService.php index b5fd6da5..93c27bd3 100644 --- a/niucloud/app/service/api/member/MemberService.php +++ b/niucloud/app/service/api/member/MemberService.php @@ -36,7 +36,8 @@ class MemberService extends BaseApiService /** * 新增会员 */ - public function add(array $data){ + public function add(array $data) + { return $this->model->create($data)?->member_id ?? 0; } @@ -49,7 +50,7 @@ class MemberService extends BaseApiService { $member = $this->findMemberInfo(['member_id' => $this->member_id]); - if($member->isEmpty()) throw new ApiException('MEMBER_NOT_EXIST'); + if ($member->isEmpty()) throw new ApiException('MEMBER_NOT_EXIST'); $member->allowField(['nickname', 'headimg', 'birthday', 'sex', 'last_visit_time'])->save($data); return true; } @@ -87,28 +88,29 @@ class MemberService extends BaseApiService * @param array $data * @return Member|array|mixed|Model !!! 仔细看,返回值是模型对象 如果想要判断是否为空 请用 $member->isEmpty() */ - public function findMemberInfo(array $data){ + public function findMemberInfo(array $data) + { //会员账号 - if(!empty($data['username'])) + if (!empty($data['username'])) $where[] = ['username', '=', $data['username']]; //会员手机号 - if(!empty($data['mobile'])) + if (!empty($data['mobile'])) $where[] = ['mobile', '=', $data['mobile']]; //会员id - if(!empty($data['member_id'])) + if (!empty($data['member_id'])) $where[] = ['member_id', '=', $data['member_id']]; //微信公众号openid - if(!empty($data['wx_openid'])) + if (!empty($data['wx_openid'])) $where[] = ['wx_openid', '=', $data['wx_openid']]; //微信小程序openid - if(!empty($data['weapp_openid'])) + if (!empty($data['weapp_openid'])) $where[] = ['weapp_openid', '=', $data['weapp_openid']]; // 微信unionid - if(!empty($data['wx_unionid'])) + if (!empty($data['wx_unionid'])) $where[] = ['wx_unionid', '=', $data['wx_unionid']]; - if(!empty($data['username|mobile'])) + if (!empty($data['username|mobile'])) $where[] = ['username|mobile', '=', $data['username|mobile']]; - if(empty($where)){ + if (empty($where)) { $where[] = ['member_id', '=', -1]; } return $this->model->where($where)->findOrEmpty(); @@ -120,7 +122,8 @@ class MemberService extends BaseApiService * @param $data * @return void */ - public function editByFind($member, $data){ + public function editByFind($member, $data) + { return $member->save($data); } @@ -135,11 +138,12 @@ class MemberService extends BaseApiService return (new CoreMemberService())->modify($this->member_id, $field, $data); } - public function getQrcode(){ + public function getQrcode() + { // 生成会员二维码 $qrcode_dir = 'upload/member/temp'; if (!is_dir($qrcode_dir)) mkdir($qrcode_dir, intval('0755', 8), true); - $id = "member-".$this->member_id; + $id = "member-" . $this->member_id; $qrcode_path = "{$qrcode_dir}/order_qrcode_{$this->member_id}.png"; \core\util\QRcode::png($id, $qrcode_path, 'L', 16, 1); @@ -154,21 +158,30 @@ class MemberService extends BaseApiService /** * 初始化会员数据 */ - public function initMemberData(){ + public function initMemberData() + { if ($this->member_id) { event("MemberLoginAfter", ['member_id' => $this->member_id]); } } - public function get_campuses_list(){ + public function get_campuses_list() + { $campus = new Campus(); $list = $campus->select()->toArray(); return $list; } - public function list_call_up($resource_id){ + public function list_call_up($resource_id) + { + $campus = new CommunicationRecords(); + return $campus->where('resource_id', $resource_id)->select()->toArray(); + } + + public function update_call_up($resource_id, $remarks) + { $campus = new CommunicationRecords(); - return $campus->where('resource_id',$resource_id)->select()->toArray(); + return $campus->where('resource_id', $resource_id)->update(['remarks' => $remarks]); } } From 8a6a52b305d7b6a5c275b43859eafe44d610bf33 Mon Sep 17 00:00:00 2001 From: wangzeyan <258785420@qq.com> Date: Tue, 24 Jun 2025 08:49:22 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../communication_records.vue | 36 +++++++------- .../components/communication-records-edit.vue | 48 +++++++++---------- .../components/customer-resources-edit.vue | 24 +++++----- 3 files changed, 53 insertions(+), 55 deletions(-) diff --git a/admin/src/app/views/communication_records/communication_records.vue b/admin/src/app/views/communication_records/communication_records.vue index 830565ec..a5424e2d 100644 --- a/admin/src/app/views/communication_records/communication_records.vue +++ b/admin/src/app/views/communication_records/communication_records.vue @@ -94,12 +94,12 @@ :show-overflow-tooltip="true" /> - + + + + + + - - - + + + + + + + + + + + + - - - + + + + + + + + - - - - - - + + + + + + + + + + + + + + + +