客户模块新增跟进记录列表

This commit is contained in:
HDM58\hdm58 2023-11-15 14:51:32 +08:00
parent f684309520
commit 6e41c09e1a
9 changed files with 312 additions and 66 deletions

View File

@ -84,7 +84,7 @@ function trace_type()
//跟进阶段
function trace_stage()
{
$stage = ['未设置','立项评估','初期沟通','需求分析','方案制定','商务谈判','合同签订','失单'];
$stage = ['未设置','立项评估','初期沟通','需求分析','商务谈判','方案制定','合同签订','失单'];
return $stage;
}

View File

@ -96,6 +96,9 @@ class Api extends BaseController
$param['admin_id'] = $this->uid;
$tid = CustomerTrace::strict(false)->field(true)->insertGetId($param);
if ($tid) {
if(!empty($param['chance_id'])){
Db::name('CustomerChance')->where('id',$param['chance_id'])->update(['stage'=>$param['stage']]);
}
add_log('add', $tid, $param,'客户跟进记录');
$log_data = array(
'field' => 'new',

View File

@ -0,0 +1,83 @@
<?php
/**
* @copyright Copyright (c) 2021 勾股工作室
* @license https://opensource.org/licenses/GPL-3.0
* @link https://www.gougucms.com
*/
declare (strict_types = 1);
namespace app\customer\controller;
use app\base\BaseController;
use app\customer\model\CustomerTrace;
use think\exception\ValidateException;
use think\facade\Db;
use think\facade\View;
class Trace extends BaseController
{
public function index()
{
if (request()->isAjax()) {
$param = get_params();
$where = array();
$whereOr = array();
if (!empty($param['keywords'])) {
$where[] = ['a.id|a.title|c.name', 'like', '%' . $param['keywords'] . '%'];
}
if (!empty($param['stage'])) {
$where[] = ['a.stage', '=', $param['stage']];
}
//按时间检索
if (!empty($param['diff_time'])) {
$diff_time =explode('~', $param['diff_time']);
$where[] = ['a.expected_time', 'between', [strtotime(urldecode($diff_time[0])),strtotime(urldecode($diff_time[1]))]];
}
$where[] = ['a.delete_time', '=', 0];
$uid = $this->uid;
$auth = isAuth($uid,'customer_admin');
if (empty($param['uid'])) {
if($auth==0){
$dids = get_department_role($this->uid);
if(!empty($dids)){
$whereOr[] =['c.belong_did', 'in', $dids];
}
$whereOr[] =['c.belong_uid', '=', $uid];
$whereOr[] = ['', 'exp', Db::raw("FIND_IN_SET('{$uid}',c.share_ids)")];
}
}
else{
$where[] = ['a.belong_uid', '=', $param['uid']];
}
$rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit'];
$content = CustomerTrace::where($where)
->where(function ($query) use($whereOr) {
$query->whereOr($whereOr);
})
->field('a.*,c.name as customer')
->alias('a')
->join('customer c', 'a.cid = c.id')
->order('a.create_time desc')
->paginate($rows, false, ['query' => $param])
->each(function ($item, $key) {
$item->admin_name = Db::name('Admin')->where(['id' => $item->admin_id])->value('name');
$item->create_time = date('Y-m-d H:i:s', (int) $item->create_time);
$item->follow_time = date('Y-m-d H:i', (int) $item->follow_time);
$item->next_time = date('Y-m-d H:i', (int) $item->next_time);
$item->stage_name = CustomerTrace::$Stage[(int) $item->stage];
$item->type_name = CustomerTrace::$Type[(int) $item->type];
$item->chance='-';
if($item->chance_id>0){
$item->chance=Db::name('CustomerChance')->where(['id' => $item->chance_id])->value('title');
}
});
return table_assign(0, '', $content);
} else {
return view();
}
}
}

View File

@ -22,7 +22,7 @@ class CustomerTrace extends Model
const SEVEN = 7;
public static $Type = [
self::ZERO => '未设置',
self::ZERO => '其他',
self::ONE => '电话',
self::TWO => '微信',
self::THREE => 'QQ',
@ -44,6 +44,11 @@ class CustomerTrace extends Model
{
$detail = Db::name('CustomerTrace')->where(['id' => $id])->find();
if (!empty($detail)) {
$detail['chance_name'] ='-';
if($detail['chance_id'] >0){
$detail['chance_name'] =Db::name('CustomerChance')->where(['id' => $detail['chance_id']])->value('title');
}
$detail['contact_name'] =Db::name('CustomerContact')->where(['id' => $detail['contact_id']])->value('name');
$detail['stage_name'] = self::$Stage[(int) $detail['stage']];
$detail['type_name'] = self::$Type[(int) $detail['type']];
$detail['create_time'] = date('Y-m-d H:i:s', $detail['create_time']);

View File

@ -1,23 +1,23 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<form class="layui-form p-4">
<form class="layui-form p-4" lay-filter="demo-val-filter">
<h3 class="pb-3">新增跟进记录</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">客户名称</td>
<td colspan="5">{$customer_name}</td>
</tr>
<tr>
<td class="layui-td-gray">联 系 人<font>*</font></td>
<td colspan="3">{$customer_name}</td>
<td class="layui-td-gray">客户联系人<font>*</font></td>
<td>
<select name="contact_id" lay-verify="required" lay-reqText="请选择联系人">
<select name="contact_id" lay-verify="required" lay-reqText="请选择客户联系人">
<option value="">请选择</option>
{volist name=":customer_contact($customer_id)" id="v"}
<option value="{$v.id}">{$v.name}</option>
{/volist}
</select>
</td>
</tr>
<tr>
<td class="layui-td-gray">跟进方式<font>*</font></td>
<td>
<select name="type" lay-verify="required" lay-reqText="请选择跟进方式">
@ -27,11 +27,15 @@
{/volist}
</select>
</td>
<td class="layui-td-gray">跟进时间<font>*</font></td>
<td class="layui-td-gray">跟进时间<font>*</font></td>
<td>
<input type="text" id="follow_time" name="follow_time" autocomplete="off" lay-verify="required" lay-reqText="请选择跟进时间" placeholder="请选择跟进时间" class="layui-input">
<input type="text" id="follow_time" name="follow_time" readonly autocomplete="off" lay-verify="required" lay-reqText="请选择跟进时间" placeholder="请选择跟进时间" class="layui-input">
</td>
</tr>
<td class="layui-td-gray-2">下次沟通时间<font>*</font></td>
<td>
<input type="text" id="next_time" name="next_time" readonly autocomplete="off" lay-verify="required" lay-reqText="请选择下次沟通时间" placeholder="请选择下次沟通时间" class="layui-input">
</td>
</tr>
<tr>
<td class="layui-td-gray" style="vertical-align:top">沟通内容<font>*</font></td>
<td colspan="5">
@ -39,27 +43,23 @@
</td>
</tr>
<tr>
<td class="layui-td-gray">当前阶段<font>*</font></td>
<td>
<select name="stage" lay-verify="required" lay-reqText="请选择">
<option value="">请选择</option>
{volist name=":trace_stage()" id="v"}
<option value="{$key}">{$v}</option>
{/volist}
</select>
</td>
<td class="layui-td-gray">销售机会</td>
<td>
<select name="grade_id">
<option value="">请选择</option>
<td colspan="3">
<select name="chance_id" lay-filter="chance">
<option value="" title="0">请选择</option>
{volist name=":customer_chance($customer_id)" id="v"}
<option value="{$v.id}">{$v.title}</option>
<option value="{$v.id}" title="{$v.id}">{$v.title}</option>
{/volist}
</select>
</td>
<td class="layui-td-gray-2">下次沟通时间<font>*</font></td>
<td class="layui-td-gray">当前阶段</td>
<td>
<input type="text" id="next_time" name="next_time" autocomplete="off" lay-verify="required" lay-reqText="请选择下次沟通时间" placeholder="请选择下次沟通时间" class="layui-input">
<select name="stage" id="stage" disabled="true">
<option value="" title="0">请选择</option>
{volist name=":trace_stage()" id="v"}
<option value="{$key}" title="{$key}">{$v}</option>
{/volist}
</select>
</td>
</tr>
</table>
@ -80,15 +80,35 @@
var form = layui.form,tool=layui.tool,laydate = layui.laydate;
laydate.render({
elem: '#follow_time'
,fullPanel:true
,type: 'datetime'
});
laydate.render({
elem: '#next_time'
,fullPanel:true
,min: 0
,type: 'datetime'
});
form.on('select(chance)', function(data){
var check_type = data.elem[data.elem.selectedIndex].title;
if(check_type == 0){
form.val('demo-val-filter', {
"stage": ""
});
$("#stage").attr("disabled",true);
}
else{
$("#stage").removeAttr("disabled");
}
form.render();
});
//监听提交
form.on('submit(webform)', function (data) {
if(data.field.chance_id!='' && data.field.stage==''){
layer.msg('请选择当前阶段');
return false;
}
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {

View File

@ -1,14 +1,12 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<form class="layui-form p-4">
<h3 class="pb-3">新增跟进记录</h3>
<form class="layui-form p-4" lay-filter="demo-val-filter">
<h3 class="pb-3">编辑跟进记录</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">客户名称</td>
<td colspan="5">{$detail.customer}</td>
</tr>
<tr>
<td colspan="3">{$detail.customer}</td>
<td class="layui-td-gray">联 系 人<font>*</font></td>
<td>
<select name="contact_id" lay-verify="required" lay-reqText="请选择联系人">
@ -18,6 +16,8 @@
{/volist}
</select>
</td>
</tr>
<tr>
<td class="layui-td-gray">跟进方式<font>*</font></td>
<td>
<select name="type" lay-verify="required" lay-reqText="请选择跟进方式">
@ -29,9 +29,13 @@
</td>
<td class="layui-td-gray">跟进时间<font>*</font></td>
<td>
<input type="text" id="follow_time" name="follow_time" value="{$detail.follow_time}" autocomplete="off" lay-verify="required" lay-reqText="请选择跟进时间" placeholder="请选择跟进时间" class="layui-input">
<input type="text" id="follow_time" name="follow_time" readonly value="{$detail.follow_time}" autocomplete="off" lay-verify="required" lay-reqText="请选择跟进时间" placeholder="请选择跟进时间" class="layui-input">
</td>
</tr>
<td class="layui-td-gray-2">下次沟通时间<font>*</font></td>
<td>
<input type="text" id="next_time" name="next_time" readonly value="{$detail.next_time}" autocomplete="off" lay-verify="required" lay-reqText="请选择下次沟通时间" placeholder="请选择下次沟通时间" class="layui-input">
</td>
</tr>
<tr>
<td class="layui-td-gray" style="vertical-align:top">沟通内容<font>*</font></td>
<td colspan="5">
@ -39,27 +43,23 @@
</td>
</tr>
<tr>
<td class="layui-td-gray">当前阶段<font>*</font></td>
<td class="layui-td-gray">销售机会</td>
<td colspan="3">
<select name="chance_id" lay-filter="chance">
<option value="" title="0">请选择</option>
{volist name=":customer_chance($detail.cid)" id="v"}
<option value="{$v.id}" title="{$v.id}" {eq name="$v.id" value="$detail.chance_id"} selected{/eq}>{$v.title}</option>
{/volist}
</select>
</td>
<td class="layui-td-gray">当前阶段</td>
<td>
<select name="stage" lay-verify="required" lay-reqText="请选择">
<select name="stage" id="stage" {eq name='$detail.stage' value='0'}disabled="true"{/eq}>
<option value="">请选择</option>
{volist name=":trace_stage()" id="v"}
<option value="{$key}" {eq name="$key" value="$detail.stage"} selected{/eq}>{$v}</option>
{/volist}
</select>
</td>
<td class="layui-td-gray">销售机会</td>
<td>
<select name="chance_id">
<option value="">请选择</option>
{volist name=":customer_chance($detail.cid)" id="v"}
<option value="{$v.id}" {eq name="$v.id" value="$detail.chance_id"} selected{/eq}>{$v.title}</option>
{/volist}
</select>
</td>
<td class="layui-td-gray-2">下次沟通时间<font>*</font></td>
<td>
<input type="text" id="next_time" name="next_time" value="{$detail.next_time}" autocomplete="off" lay-verify="required" lay-reqText="请选择下次沟通时间" placeholder="请选择下次沟通时间" class="layui-input">
</td>
</tr>
</table>
@ -80,15 +80,35 @@
var form = layui.form,tool=layui.tool,laydate = layui.laydate;
laydate.render({
elem: '#follow_time'
,fullPanel:true
,type: 'datetime'
});
laydate.render({
elem: '#next_time'
,fullPanel:true
,min: 0
,type: 'datetime'
});
form.on('select(chance)', function(data){
var check_type = data.elem[data.elem.selectedIndex].title;
if(check_type == 0){
form.val('demo-val-filter', {
"stage": ""
});
$("#stage").attr("disabled",true);
}
else{
$("#stage").removeAttr("disabled");
}
form.render();
});
//监听提交
form.on('submit(webform)', function (data) {
if(data.field.chance_id!='' && data.field.stage==''){
layer.msg('请选择当前阶段');
return false;
}
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {

View File

@ -6,36 +6,32 @@
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">客户名称</td>
<td colspan="5">{$detail.customer}</td>
<td colspan="3">{$detail.customer}</td>
<td class="layui-td-gray">联 系 人</td>
<td>{$detail.contact_name}</td>
</tr>
<tr>
<td class="layui-td-gray">联 系 人</td>
<td>
{volist name=":customer_contact($detail.cid)" id="v"}
{eq name="$v.id" value="$detail.contact_id"}{$v.name}{/eq}
{/volist}
</td>
<td class="layui-td-gray">跟进方式</td>
<td>{$detail.type_name}</td>
<td class="layui-td-gray">跟进时间</td>
<td>{$detail.follow_time}</td>
<td class="layui-td-gray-2">下次沟通时间</td>
<td>{$detail.next_time}</td>
</tr>
<tr>
<td class="layui-td-gray" style="vertical-align:top">沟通内容</td>
<td colspan="5">{$detail.content}</td>
</tr>
{gt name="$detail.chance_id" value="0"}
<tr>
<td class="layui-td-gray">销售机会</td>
<td colspan="3">
{$detail.chance_name}
</td>
<td class="layui-td-gray">当前阶段</td>
<td>{$detail.stage_name}</td>
<td class="layui-td-gray">销售机会</td>
<td>
{volist name=":customer_chance($detail.cid)" id="v"}
{eq name="$v.id" value="$detail.chance_id"}{$v.title}{/eq}
{/volist}
</td>
<td class="layui-td-gray-2">下次沟通时间</td>
<td>{$detail.next_time}</td>
</tr>
{/gt}
</table>
</form>
{/block}
@ -44,7 +40,10 @@
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool'];
function gouguInit() {
}
</script>
{/block}
<!-- /脚本 -->

View File

@ -0,0 +1,115 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<div class="p-3">
<form class="layui-form gg-form-bar border-x border-t">
<div class="layui-input-inline" style="width:200px;">
<input type="text" name="keywords" placeholder="输入关键字" class="layui-input" autocomplete="off" />
</div>
<div class="layui-input-inline" style="width:120px;">
<select name="stage">
<option value="">当前阶段</option>
{volist name=":trace_stage()" id="v"}
<option value="{$key}">{$v}</option>
{/volist}
</select>
</div>
<div class="layui-input-inline" style="width:300px;">
<input type="text" class="layui-input" id="diff_time" placeholder="预计签单时间" readonly name="diff_time">
</div>
<div class="layui-input-inline" style="width:120px;">
<input type="text" name="username" placeholder="请选择归属人" class="layui-input picker-one" autocomplete="off" />
<input type="text" name="uid" style="display:none" />
</div>
<div class="layui-input-inline" style="width:150px;">
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
<button type="reset" class="layui-btn layui-btn-reset" lay-filter="reset">清空</button>
</div>
</form>
<table class="layui-hide" id="test" lay-filter="test"></table>
</div>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool','employeepicker','laydatePlus'];
function gouguInit() {
var table = layui.table, tool = layui.tool, form = layui.form,laydatePlus=layui.laydatePlus;
//日期范围
var diff_time = new laydatePlus({'target':'diff_time'});
layui.pageTable = table.render({
elem: '#test'
,toolbar: '#toolbarDemo'
,title:'跟进记录列表'
,url: "/customer/trace/index"
,cellMinWidth: 80
,page: true //开启分页
,limit: 20
,cols: [[
{field: 'id', title: '编号', width: 80, align: 'center'}
,{field:'admin_name',title: '跟进人',align:'center',width: 80}
,{field:'follow_time',title: '跟进日期',align:'center',width: 128}
,{field:'hours',title: '跟进时长',align:'center',width: 80}
,{field:'type_name',title: '跟进方式',width: 80, align: 'center',templet:function(d){
var html = '<span class="layui-color-'+d.type+'">'+d.type_name+'</span>';
return html;
}}
,{field:'content',title: '沟通内容'}
, { field: 'chance', title: '关联销售机会『跟进阶段』', width: 200,templet:function(d){
var html = '-';
if(d.chance_id>0){
html = d.chance+'『'+d.stage_name+'』';
}
return html;
}}
,{field:'next_time',title: '下次跟进时间', align:'center',width: 128}
,{fixed:'right',width:132,title: '操作', align:'center',templet: function(d){
var html = '<div class="layui-btn-group">';
var btn='<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>';
var btn1='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</a>';
var btn2='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>';
return html+btn+btn1+btn2+'</div>';
}}
]]
});
table.on('tool(test)', function(obj){
var data = obj.data; //获得当前行数据
var layEvent = obj.event;
if(layEvent === 'edit'){ //编辑
let url = '/customer/api/add_trace/id/'+data.id;
tool.side(url);
}
if(layEvent === 'view'){ //查看
let url = '/customer/api/view_trace/id/'+data.id;
tool.side(url);
}
if(layEvent === 'del'){ //删除
layer.confirm('确定要删除该跟进记录吗?', {icon: 3, title:'提示'}, function(index){
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
layui.pageTable.reload();
}
}
tool.delete('/customer/api/del_trace',{'id':data.id},callback);
layer.close(index);
});
}
return false;
})
//监听搜索提交
form.on('submit(webform)', function(data) {
layui.pageTable.reload({
where: data.field,
page: {curr: 1}
});
return false;
});
}
</script>
{/block}
<!-- /脚本 -->

View File

@ -383,6 +383,7 @@ INSERT INTO `oa_admin_rule` VALUES (201, 196, 'home/files/add_group', '新建/
INSERT INTO `oa_admin_rule` VALUES (202, 196, 'home/files/del_group', '删除附件分组','附件分组', 'home', '', 2, 1, 1, 0, 0);
INSERT INTO `oa_admin_rule` VALUES (203, 76, 'user/personal/leave_check', '资料交接', '离职资料', 'user', '', 2, 1, 1, 0, 0);
INSERT INTO `oa_admin_rule` VALUES (204, 136, 'customer/trace/index', '跟进记录', '跟进记录', 'customer', '', 1, 0, 1, 1656143065, 0);
-- ----------------------------
-- Table structure for oa_admin_group
-- ----------------------------
@ -403,9 +404,9 @@ CREATE TABLE `oa_admin_group` (
-- ----------------------------
-- Records of oa_admin_group
-- ----------------------------
INSERT INTO `oa_admin_group` VALUES (1, '超级员工权限', 1, '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203', '1,2,3,4,5,6,7,8,9,10,11,12','超级员工权限,拥有系统的最高权限,不可修改。', 0, 0);
INSERT INTO `oa_admin_group` VALUES (2, '总经理权限', 1, '1,9,13,17,20,23,25,26,30,2,34,37,41,44,47,50,53,56,59,3,62,65,68,69,71,74,76,4,79,82,85,5,88,91,92,93,94,6,95,96,97,98,99,7,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,8,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,140,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203','1,2,3,4,5,6,7,8,9,10,11,12', '总经理的管理权限,可根据公司的具体需求调整。', 0, 0);
INSERT INTO `oa_admin_group` VALUES (3, '普通员工权限', 1, '5,88,91,92,93,6,95,96,97,98,99,7,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,8,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,140,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203','1,2,3,4,5,6,7,8,9,10,11,12', '普通员工管理权限,可根据公司的具体需求调整。', 0, 0);
INSERT INTO `oa_admin_group` VALUES (1, '超级员工权限', 1, '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204', '1,2,3,4,5,6,7,8,9,10,11,12','超级员工权限,拥有系统的最高权限,不可修改。', 0, 0);
INSERT INTO `oa_admin_group` VALUES (2, '总经理权限', 1, '1,9,13,17,20,23,25,26,30,2,34,37,41,44,47,50,53,56,59,3,62,65,68,69,71,74,76,4,79,82,85,5,88,91,92,93,94,6,95,96,97,98,99,7,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,8,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,140,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204','1,2,3,4,5,6,7,8,9,10,11,12', '总经理的管理权限,可根据公司的具体需求调整。', 0, 0);
INSERT INTO `oa_admin_group` VALUES (3, '普通员工权限', 1, '5,88,91,92,93,6,95,96,97,98,99,7,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,8,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,140,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204','1,2,3,4,5,6,7,8,9,10,11,12', '普通员工管理权限,可根据公司的具体需求调整。', 0, 0);
-- ----------------------------
-- Table structure for oa_data_auth