客户模块新增按照所属员工检索,审批模块转正、离职、转岗审批添加时员工选择效果完善

This commit is contained in:
hdm 2023-02-04 15:19:57 +08:00
parent 64bf8cb062
commit 3a00e8962c
11 changed files with 167 additions and 60 deletions

View File

@ -44,6 +44,10 @@ class Index extends BaseController
$uid = $this->uid;
$auth = isAuth($uid,'customer_admin');
if (!empty($param['uid']) && $auth == 1) {
$where[] =['a.belong_uid', '=', $param['uid']];
}
else{
$dids = get_department_role($uid);
if($auth == 0){
if($tab == 1){
@ -89,6 +93,7 @@ class Index extends BaseController
$whereOr[] =['a.belong_uid', '>', 0];
}
}
}
$rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit'];
$content = CustomerList::where($where)
@ -105,7 +110,13 @@ class Index extends BaseController
->paginate($rows, false, ['query' => $param])
->each(function ($item, $key) {
$item->belong_name = Db::name('Admin')->where(['id' => $item->belong_uid])->value('name');
$item->create_time = date('Y-m-d H:i:s', (int) $item->create_time);
$item->create_time = date('Y-m-d H:i', $item->create_time);
if($item->update_time == 0){
$item->update_time='-';
}
else{
$item->update_time = date('Y-m-d H:i', $item->update_time);
}
$item->intent_status_name = CustomerList::$IntentStatus[(int) $item->intent_status];
$item->status_name = CustomerList::$Status[(int) $item->status];
$contact = Db::name('CustomerContact')->where(['is_default'=>1,'cid' => $item->id])->find();
@ -125,6 +136,9 @@ class Index extends BaseController
});
return table_assign(0, '', $content);
} else {
$uid = $this->uid;
$auth = isAuth($uid,'customer_admin');
View::assign('auth', $auth);
return view();
}
}
@ -162,7 +176,13 @@ class Index extends BaseController
->paginate($rows, false, ['query' => $param])
->each(function ($item, $key) {
$item->belong_name = Db::name('Admin')->where(['id' => $item->belong_uid])->value('name');
$item->create_time = date('Y-m-d H:i:s', (int) $item->create_time);
$item->create_time = date('Y-m-d H:i', $item->create_time);
if($item->update_time == 0){
$item->update_time='-';
}
else{
$item->update_time = date('Y-m-d H:i', $item->update_time);
}
$item->intent_status_name = CustomerList::$IntentStatus[(int) $item->intent_status];
$item->status_name = CustomerList::$Status[(int) $item->status];
$contact = Db::name('CustomerContact')->where(['is_default'=>1,'cid' => $item->id])->find();
@ -245,7 +265,13 @@ class Index extends BaseController
->paginate($rows, false, ['query' => $param])
->each(function ($item, $key) {
$item->belong_name = Db::name('Admin')->where(['id' => $item->belong_uid])->value('name');
$item->create_time = date('Y-m-d H:i:s', (int) $item->create_time);
$item->create_time = date('Y-m-d H:i', $item->create_time);
if($item->update_time == 0){
$item->update_time='-';
}
else{
$item->update_time = date('Y-m-d H:i', $item->update_time);
}
$item->intent_status_name = CustomerList::$IntentStatus[(int) $item->intent_status];
$item->status_name = CustomerList::$Status[(int) $item->status];
$contact = Db::name('CustomerContact')->where(['is_default'=>1,'cid' => $item->id])->find();

View File

@ -12,7 +12,7 @@
</ul>
</div>
</div>
<form class="layui-form gg-form-bar border-x" lay-filter="barsearchform">
<form class="layui-form gg-form-bar border-x" lay-filter="barsearchform" id="barsearchform">
<div class="layui-input-inline" style="width:150px;">
<select name="grade_id">
<option value="">请选择客户等级</option>
@ -48,11 +48,18 @@
<option value="5">已成交客户</option>
</select>
</div>
{eq name="$auth" value="1"}
<div class="layui-input-inline" style="width:120px;">
<input type="text" name="username" placeholder="选择所属员工" class="layui-input" readonly data-event="select"/>
<input type="text" name="uid" value="" style="display:none" />
</div>
{/eq}
<div class="layui-input-inline" style="width:240px;">
<input type="hidden" name="tab" value="0" />
<input type="text" name="keywords" placeholder="输入关键字" class="layui-input" autocomplete="off" />
</div>
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">提交搜索</button>
<button type="reset" class="layui-btn layui-btn-reset" lay-filter="clear">清空</button>
</form>
<table class="layui-hide" id="test" lay-filter="test"></table>
</div>
@ -68,9 +75,34 @@
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool'];
const moduleInit = ['tool','employeepicker'];
function gouguInit() {
var table = layui.table, tool = layui.tool ,form = layui.form, element = layui.element;
var table = layui.table, tool = layui.tool ,form = layui.form, element = layui.element, employeepicker = layui.employeepicker;
// 选择员工
$('body').on('click','[data-event="select"]',function(){
var that = $(this);
var names = that.val(), ids = $('[name="uid"]').val();
employeepicker.init({
ids: ids,
names: names,
type: 0,
department_url: "/api/index/get_department_tree",
employee_url: "/api/index/get_employee",
callback: function (ids, names, dids, departments) {
$('[name="uid"]').val(ids);
that.val(names);
$('[lay-filter="webform"]').click();
}
})
});
$('[lay-filter="clear"]').on('click',function(){
setTimeout(function(){
$('[lay-filter="webform"]').click();
},10)
})
layui.pageTable = table.render({
elem: '#test',
title: '客户列表',
@ -123,6 +155,16 @@
title: '微信号',
align: 'center',
width: 90
},{
field: 'create_time',
title: '创建时间',
align: 'center',
width: 136
},{
field: 'update_time',
title: '最后编辑时间',
align: 'center',
width: 136
},{
field: 'source',
title: '来源渠道',
@ -167,6 +209,7 @@
element.on('tab(tab)', function(data){
$('[name="tab"]').val(data.index);
$("#barsearchform")[0].reset();
layui.pageTable.reload({where:{tab:data.index},page:{curr:1}});
return false;
});
@ -224,7 +267,8 @@
grade_id: data.field.grade_id,
source_id: data.field.source_id,
type: data.field.type,
status: data.field.status
status: data.field.status,
uid: data.field.uid
},
page: {
curr: 1

View File

@ -89,6 +89,16 @@
title: '微信号',
align: 'center',
width: 90
},{
field: 'create_time',
title: '创建时间',
align: 'center',
width: 136
},{
field: 'update_time',
title: '最后编辑时间',
align: 'center',
width: 136
},{
field: 'source',
title: '来源渠道',

View File

@ -74,6 +74,16 @@
title: '微信号',
align: 'center',
width: 90
},{
field: 'create_time',
title: '创建时间',
align: 'center',
width: 136
},{
field: 'update_time',
title: '最后编辑时间',
align: 'center',
width: 136
},{
field: 'source',
title: '来源渠道',

View File

@ -1,7 +1,7 @@
<?php
/**
* @copyright Copyright (c) 2021 勾股工作室
* @license https://opensource.org/licenses/GPL-2.0
* @license https://opensource.org/licenses/GPL-3.0
* @link https://www.gougucms.com
*/

View File

@ -331,10 +331,10 @@ INSERT INTO `oa_admin_rule` VALUES (154, 152, 'customer/index/revert', '还原',
INSERT INTO `oa_admin_rule` VALUES (155, 135, 'customer/contact/index', '客户联系人', '联系人', 'customer', '', 1, 0, 1, 1656143065, 0);
INSERT INTO `oa_admin_rule` VALUES (156, 155, 'customer/contact/contact_add', '新建/编辑', '联系人', 'customer', '', 2, 0, 1, 1656143065, 0);
INSERT INTO `oa_admin_rule` VALUES (157, 155, 'customer/contact/contact_del', '删除', '联系人', 'customer', '', 2, 0, 1, 1656143065, 0);
INSERT INTO `oa_admin_rule` VALUES (158, 135, 'customer/chance/index', '销售机会', '联系人', 'customer', '', 1, 0, 1, 1656143065, 0);
INSERT INTO `oa_admin_rule` VALUES (159, 158, 'customer/chance/chance_add', '新建/编辑', '联系人', 'customer', '', 2, 0, 1, 1656143065, 0);
INSERT INTO `oa_admin_rule` VALUES (160, 158, 'customer/chance/chance_view', '删除', '联系人', 'customer', '', 2, 0, 1, 1656143065, 0);
INSERT INTO `oa_admin_rule` VALUES (161, 158, 'customer/chance/chance_del', '删除', '联系人', 'customer', '', 2, 0, 1, 1656143065, 0);
INSERT INTO `oa_admin_rule` VALUES (158, 135, 'customer/chance/index', '销售机会', '销售机会', 'customer', '', 1, 0, 1, 1656143065, 0);
INSERT INTO `oa_admin_rule` VALUES (159, 158, 'customer/chance/chance_add', '新建/编辑', '销售机会', 'customer', '', 2, 0, 1, 1656143065, 0);
INSERT INTO `oa_admin_rule` VALUES (160, 158, 'customer/chance/chance_view', '删除', '销售机会', 'customer', '', 2, 0, 1, 1656143065, 0);
INSERT INTO `oa_admin_rule` VALUES (161, 158, 'customer/chance/chance_del', '删除', '销售机会', 'customer', '', 2, 0, 1, 1656143065, 0);
INSERT INTO `oa_admin_rule` VALUES (162, 0, '', '合同协议', '合同协议', 'contract', 'icon-hetongyidong', 1, 10, 1, 1656143065, 0);
INSERT INTO `oa_admin_rule` VALUES (163, 162, 'contract/cate/conf', '权限配置', '合同权限配置', 'contract', '', 1, 0, 1, 0, 0);

View File

@ -10,7 +10,10 @@
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">员工姓名<font>*</font></td>
<td colspan="2"><input type="text" name="name" value="" autocomplete="off" placeholder="请输入员工姓名" lay-verify="required" lay-reqText="请输入员工姓名" class="layui-input"></td>
<td colspan="2">
<input type="text" name="name" value="" autocomplete="off" readonly placeholder="请输入员工姓名" lay-verify="required" lay-reqText="请输入员工姓名" class="layui-input picker-one">
<input type="hidden" name="uid">
</td>
<td class="layui-td-gray">入职日期<font>*</font></td>
<td colspan="2">
<input id="detail_time" name="detail_time" autocomplete="off" class="layui-input" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
@ -63,7 +66,10 @@
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">员工姓名<font>*</font></td>
<td colspan="2"><input type="text" name="name" value="{$detail.name}" autocomplete="off" placeholder="请输入员工姓名" lay-verify="required" lay-reqText="请输入员工姓名" class="layui-input"></td>
<td colspan="2">
<input type="text" name="name" value="{$detail.name}" autocomplete="off" readonly placeholder="请输入员工姓名" lay-verify="required" lay-reqText="请输入员工姓名" class="layui-input picker-one">
<input type="hidden" name="uid">
</td>
<td class="layui-td-gray">入职日期<font>*</font></td>
<td colspan="2">
<input id="detail_time" name="detail_time" autocomplete="off" class="layui-input" value="{$detail.detail_time}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">

View File

@ -10,7 +10,10 @@
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">员工姓名<font>*</font></td>
<td colspan="2"><input type="text" name="name" value="" autocomplete="off" placeholder="请输入员工姓名" lay-verify="required" lay-reqText="请输入员工姓名" class="layui-input"></td>
<td colspan="2">
<input type="text" name="name" value="" autocomplete="off" readonly placeholder="请输入员工姓名" lay-verify="required" lay-reqText="请输入员工姓名" class="layui-input picker-one">
<input type="hidden" name="uid">
</td>
<td class="layui-td-gray">入职日期<font>*</font></td>
<td colspan="2">
<input id="detail_time" name="detail_time" autocomplete="off" class="layui-input" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
@ -83,7 +86,10 @@
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">员工姓名<font>*</font></td>
<td colspan="2"><input type="text" name="name" value="{$detail.name}" autocomplete="off" placeholder="请输入员工姓名" lay-verify="required" lay-reqText="请输入员工姓名" class="layui-input"></td>
<td colspan="2">
<input type="text" name="name" value="{$detail.name}" autocomplete="off" readonly placeholder="请输入员工姓名" lay-verify="required" lay-reqText="请输入员工姓名" class="layui-input picker-one">
<input type="hidden" name="uid">
</td>
<td class="layui-td-gray">入职日期<font>*</font></td>
<td colspan="2">
<input id="detail_time" name="detail_time" autocomplete="off" class="layui-input" value="{$detail.detail_time}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">

View File

@ -10,7 +10,10 @@
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">员工姓名<font>*</font></td>
<td colspan="2"><input type="text" name="name" value="" autocomplete="off" placeholder="请输入员工姓名" lay-verify="required" lay-reqText="请输入员工姓名" class="layui-input"></td>
<td colspan="2">
<input type="text" name="name" value="" autocomplete="off" readonly placeholder="请输入员工姓名" lay-verify="required" lay-reqText="请输入员工姓名" class="layui-input picker-one">
<input type="hidden" name="uid">
</td>
<td class="layui-td-gray">转正日期<font>*</font></td>
<td colspan="2">
<input id="detail_time" name="detail_time" autocomplete="off" class="layui-input" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
@ -55,7 +58,10 @@
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">员工姓名<font>*</font></td>
<td colspan="2"><input type="text" name="name" value="{$detail.name}" autocomplete="off" placeholder="请输入员工姓名" lay-verify="required" lay-reqText="请输入员工姓名" class="layui-input"></td>
<td colspan="2">
<input type="text" name="name" value="{$detail.name}" autocomplete="off" readonly placeholder="请输入员工姓名" lay-verify="required" lay-reqText="请输入员工姓名" class="layui-input picker-one">
<input type="hidden" name="uid">
</td>
<td class="layui-td-gray">转正日期<font>*</font></td>
<td colspan="2">
<input id="detail_time" name="detail_time" autocomplete="off" class="layui-input" value="{$detail.detail_time}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">

View File

@ -12,13 +12,12 @@ use think\Validate;
class DepartmentCheck extends Validate
{
protected $rule = [
'title' => 'require|unique:department',
'title' => 'require',
'id' => 'require',
];
protected $message = [
'title.require' => '部门名称不能为空',
'title.unique' => '同样的部门名称已经存在',
'id.require' => '缺少更新条件',
];

View File

@ -56,8 +56,8 @@
.layui-data-none{padding:12px 0; color:#969696; text-align:center; font-size:12px;}
.gougu-data-none{background:url(../images/data-none.png) no-repeat center center; background-size:auto 80%;}
html {background-color: #FAFAFA; color: #162a48}
html,body{height:100%;}
html {background-color: #FAFAFA; color: #162a48;}
html,body{height:100%;scrollbar-width: thin;}
body.right-open{overflow:hidden;}
.bg-white{background-color:#fff;}
a.tab-a,a.open-a,a.link-a,a.right-a,a.side-a{color:#187FDD; cursor:pointer;}