linwu 2 年 前
コミット
67b533afd0

+ 109 - 0
app/admin/controller/Coach.php

@@ -0,0 +1,109 @@
+<?php
+
+namespace app\admin\controller;
+
+use app\agent\BaseController;
+use app\common\model\Coach as CoachModel;
+use app\common\model\Agent as AgentModel;
+
+class Coach extends BaseController
+{
+
+    // 删除
+    public function delCoach()
+    {
+        $idarr = input('idarr/a');
+        CoachModel::whereIn('id', $idarr)->where('status', 1)->delete();
+        exit(json_encode([
+            'code' => 0,
+            'msg'  => "",
+        ]));
+    }
+
+    // 编辑&添加
+    public function editCoach()
+    {
+        $id = input('id/d');
+        if (empty($id)) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => '数据异常',
+            ]));
+        } else {
+            $coach = CoachModel::find($id);
+            if (empty($coach)) {
+                exit(json_encode([
+                    'code' => 1,
+                    'msg'  => '数据异常',
+                ]));
+            }
+            CoachModel::update([
+                'id'        => $id,
+                'title'     => input('title/s'),
+                'content'   => input('content/s'),
+                'num'       => input('num/d'),
+                'status'    => input('status/d'),
+                'coachtime' => input('coachtime/s'),
+            ]);
+        }
+        exit(json_encode([
+            'code' => 0,
+        ]));
+    }
+
+    // 列表
+    public function index()
+    {
+        $statuslist = CoachModel::$status;
+        $agentlist  = AgentModel::order(['id' => 'desc'])->where('status',1)->select();
+        return view('coach/coachlist', [
+            'statuslist' => $statuslist,
+            'agentlist' => $agentlist,
+        ]);
+    }
+
+    public function coachForm()
+    {
+        $id         = input('id/d, 0');
+        $coach      = CoachModel::findOrEmpty($id);
+        $statuslist = CoachModel::$status;
+
+        return view('coach/coachform', [
+            'coach'      => $coach,
+            'statuslist' => $statuslist,
+        ]);
+    }
+
+    public function listCoach()
+    {
+        $limit    = input('limit');
+        $page     = input('page');
+        $map      = [];
+        $keywords = input('keywords/s');
+        if (!empty($keywords)) {
+            $map[] = ['title', 'like', '%' . $keywords . '%'];
+        }
+        $status = input('status/d');
+        if (!empty($status)) {
+            $map[] = ['status', '=', $status];
+        }
+        $agentid = input('agentid/d');
+        if (!empty($agentid)) {
+            $map[] = ['agentid', '=', $agentid];
+        }
+        $list  = CoachModel::with('agent')->where($map)->order(['id' => 'desc'])->limit($limit)->page($page)->append(['status_text'])->select();
+        $count = CoachModel::where($map)->count();
+        if ($count == 0) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "未查询到数据",
+            ]));
+        }
+        exit(json_encode([
+            'code'  => 0,
+            'msg'   => "",
+            'count' => $count,
+            'data'  => $list,
+        ]));
+    }
+}

+ 105 - 0
app/admin/view/coach/coachform.html

@@ -0,0 +1,105 @@
+<div class="layui-fluid">
+	<div class="layui-row layui-col-space15">
+		<div class="layui-col-md12">
+			<div class="layui-card">
+				<div class="layui-card-header">辅导培训信息</div>
+				<div class="layui-card-body" pad15>
+					<div class="layui-form layui-form-pane" lay-filter="LAY-coach-coachform-edit">
+						<input type="hidden" name="id" value="{$coach.id}">
+						<div class="layui-form-item">
+							<label class="layui-form-label"><span style="color:#f90c05;">*</span>标题</label>
+							<div class="layui-input-block">
+								<input type="text" name="title" value="{$coach.title}" lay-verify="required" placeholder="请输入标题" autocomplete="off"
+								 class="layui-input">
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label">详情</label>
+							<div class="layui-input-block">
+								<textarea class="layui-textarea" name="content" id="content" placeholder="请输入详情" style="display: none"
+								 lay-verify="editcontent">
+											{$coach.content}
+										</textarea>
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label"><span style="color:#f90c05;">*</span>培训人数</label>
+							<div class="layui-input-block">
+								<input type="number" name="num" value="{$coach.num}" lay-verify="required" placeholder="请输入培训人数" autocomplete="off"
+									   class="layui-input">
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label"><span style="color:#f90c05;">*</span>培训时间</label>
+							<div class="layui-input-block">
+								<input type="text" name="coachtime" id="coachtime" value="{$coach.coachtime}" lay-verify="required"
+								 placeholder="请选择培训时间" autocomplete="off" class="layui-input">
+							</div>
+						</div>
+						<div class="layui-form-item" pane>
+							<label class="layui-form-label">跟进方式</label>
+							<div class="layui-input-block">
+								{volist name="statuslist" id="vo"}
+								<input type="radio" name="status" value="{$key}" title="{$vo}" {eq name="key" value="1" }checked{/eq} />
+								{/volist}
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<div class="layui-input-block">
+								<input type="button" lay-submit lay-filter="LAY-coach-coachform-edit-submit" value="确认提交" class="layui-btn">
+							</div>
+						</div>
+					</div>
+
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
+
+<script>
+	layui.config({
+		base: '/static/echoui/' //静态资源所在路径
+	}).extend({
+		index: 'lib/index' //主入口模块
+	}).use(['index', 'form', 'set', 'layedit', 'laydate', 'upload'], function() {
+		var $ = layui.$,
+			setter = layui.setter,
+			admin = layui.admin,
+			layedit = layui.layedit,
+			laydate = layui.laydate,
+			form = layui.form,
+			upload = layui.upload;
+		form.render();
+
+		var content = layedit.build('content', {
+			uploadImage: { url: setter.baseAdminUrl + 'attachment/tplfieldimage', type: 'post' }
+		});
+		form.verify({
+			editcontent: function(value) {
+				layedit.sync(content);
+			}
+		});
+		laydate.render({
+			elem: '#coachtime',
+			type: 'date'
+		});
+
+		form.on('submit(LAY-coach-coachform-edit-submit)', function(obj) {
+			var index = parent.layer.getFrameIndex(window.name);
+			admin.req({
+				url: setter.baseAdminUrl + 'coach/editcoach',
+				type: 'post',
+				data: obj.field,
+				done: function(res) {
+					layer.msg("提交成功", {
+						icon: 1
+					});
+					parent.layui.table.reload('LAY-coach-coachlist-table'); //重载表格
+					parent.layer.close(index);
+				}
+			});
+		});
+
+	});
+</script>

+ 170 - 0
app/admin/view/coach/coachlist.html

@@ -0,0 +1,170 @@
+<div class="layui-fluid">
+	<div class="layui-card">
+		<div class="layui-form layui-form-pane layui-card-header layuiadmin-card-header-auto" lay-filter="LAY-coach-coachlist-search">
+			<div class="layui-form-item">
+				<div class="layui-inline">
+					<label class="layui-form-label">标题</label>
+					<div class="layui-input-block">
+						<input type="text" name="keywords" placeholder="请输入" autocomplete="off" class="layui-input">
+					</div>
+				</div>
+				<div class="layui-inline">
+					<label class="layui-form-label">状态</label>
+					<div class="layui-input-block">
+						<select name="status">
+							<option value="">全部状态</option>
+							{volist name="statuslist" id="vo"}
+							<option value="{$key}">{$vo}</option>
+							{/volist}
+						</select>
+					</div>
+				</div>
+				<div class="layui-inline">
+					<label class="layui-form-label">门店</label>
+					<div class="layui-input-block" id="agentid">
+					</div>
+				</div>
+				<div class="layui-inline">
+					<button class="layui-btn" lay-submit lay-filter="LAY-coach-coachlist-search-btn">
+						<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
+					</button>
+				</div>
+			</div>
+		</div>
+
+		<div class="layui-card-body">
+			<div style="padding-bottom: 10px;">
+				<button class="layui-btn layuiadmin-btn" data-type="batchdel">删除</button>
+			</div>
+			<table id="LAY-coach-coachlist-table" lay-filter="LAY-coach-coachlist-table"></table>
+			<script type="text/html" id="setTpl">
+				<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
+				<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
+			</script>
+			<script type="text/html" id="agentTpl">
+				{{d.agent.title}}
+			</script>
+		</div>
+
+	</div>
+</div>
+
+<script>
+	layui.config({
+		base: '/static/echoui/' //静态资源所在路径
+	}).extend({
+		index: 'lib/index' //主入口模块
+	}).use(['index', 'form', 'set', 'table', 'selectN'], function() {
+		var $ = layui.$,
+			setter = layui.setter,
+			admin = layui.admin,
+			form = layui.form,
+			selectN = layui.selectN,
+			table = layui.table;
+		form.render();
+
+		var agentbroker = selectN({
+			elem: '#agentid',
+			search: [true],
+			tips: ["请选择代理门店(可搜索)"],
+			data: {$agentlist|raw},
+			selected: [0],
+			field: { idName: 'id', titleName: 'title'}
+		});
+
+		//列表
+		table.render({
+			elem: '#LAY-coach-coachlist-table',
+			url: setter.baseAdminUrl + 'coach/listcoach',
+			cols: [
+				[
+					{ type: 'checkbox', fixed: 'left' },
+					{ field: 'id', width: 80, title: '表ID', sort: true },
+					{ field: 'agent', title: '门店', align: 'center', toolbar: '#agentTpl' },
+					{ field: 'title', title: '标题' },
+					{ field: 'num', width: 100, title: '参加人数' },
+					{ field: 'status_text', width: 100, title: '状态', minWidth: 80, align: 'center' },
+					{ field: 'coachtime', width: 200, title: '培训时间' , sort: true },
+					{ field: 'createtime', width: 200, title: '提交时间', sort: true },
+					{ title: '操作', width: 200, align: 'center', fixed: 'right', toolbar: '#setTpl' }
+				]
+			],
+			page: true,
+			limit: 50,
+			cellMinWidth: 150,
+			text: '对不起,加载出现异常!'
+		});
+
+		//监听搜索
+		form.on('submit(LAY-coach-coachlist-search-btn)', function(data) {
+			table.reload('LAY-coach-coachlist-table', {
+				where: data.field,
+				page: {
+					curr: 1
+				}
+			});
+		});
+
+		//事件
+		var active = {
+			batchdel: function() {
+				var checkStatus = table.checkStatus('LAY-coach-coachlist-table'),
+					checkData = checkStatus.data; //得到选中的数据
+				if (checkData.length === 0) {
+					return layer.msg('请选择数据');
+				}
+				var idarr = [];
+				for (var i = 0; i < checkData.length; i++) {
+					idarr.push(checkData[i].id);
+				}
+				layer.confirm('只能删除等审核的数据,确定删除所选辅导培训吗?', function(index) {
+					admin.req({
+						url: setter.baseAdminUrl + 'coach/delcoach',
+						data: {
+							idarr: idarr
+						},
+						done: function(res) {
+							table.reload('LAY-coach-coachlist-table');
+							layer.msg('处理完成');
+						}
+					});
+					layer.close(index);
+				});
+			},
+		};
+
+		//监听工具条
+		table.on('tool(LAY-coach-coachlist-table)', function(obj) {
+			var data = obj.data;
+			if (obj.event === 'del') {
+				layer.confirm('只能删除等审核的数据,确定删除此辅助培训吗?', function(index) {
+					admin.req({
+						url: setter.baseAdminUrl + 'coach/delcoach',
+						data: {
+							idarr: [data.id]
+						},
+						done: function(res) {
+							table.reload('LAY-coach-coachlist-table');
+							layer.msg('处理完成');
+						}
+					});
+					layer.close(index);
+				});
+			} else if (obj.event === 'edit') {
+				var index = layer.open({
+					type: 2,
+					title: '编辑辅助培训',
+					content: 'coachform.html?id=' + data.id,
+					maxmin: true,
+					area: ['550px', '550px']
+				});
+				layer.full(index);
+			}
+		});
+
+		$('.layui-btn.layuiadmin-btn').on('click', function() {
+			var type = $(this).data('type');
+			active[type] ? active[type].call(this) : '';
+		});
+	});
+</script>

+ 113 - 0
app/agent/controller/Coach.php

@@ -0,0 +1,113 @@
+<?php
+
+namespace app\agent\controller;
+
+use app\agent\BaseController;
+use app\common\model\Coach as CoachModel;
+
+class Coach extends BaseController
+{
+
+    // 删除
+    public function delCoach()
+    {
+        $idarr   = input('idarr/a');
+        $agentid = $this->access_agent['id'];
+        CoachModel::whereIn('id', $idarr)->where('status', 1)->where('agentid', $agentid)->delete();
+        exit(json_encode([
+            'code' => 0,
+            'msg'  => "",
+        ]));
+    }
+
+    // 编辑&添加
+    public function editCoach()
+    {
+        $id      = input('id/d');
+        $agentid = $this->access_agent['id'];
+        if (empty($id)) {
+            CoachModel::create([
+                'agentid'    => $agentid,
+                'title'      => input('title/s'),
+                'content'    => input('content/s'),
+                'num'        => input('num/d'),
+                'coachtime'  => input('coachtime/s'),
+                'createtime' => time(),
+            ]);
+        } else {
+            $coach = CoachModel::where('agentid', $agentid)->find($id);
+            if (empty($coach)) {
+                exit(json_encode([
+                    'code' => 1,
+                    'msg'  => '数据异常',
+                ]));
+            }
+            if ($coach['status'] > 1) {
+                exit(json_encode([
+                    'code' => 1,
+                    'msg'  => '已审核的数据无法更改',
+                ]));
+            }
+            CoachModel::update([
+                'id'        => $id,
+                'title'     => input('title/s'),
+                'content'   => input('content/s'),
+                'num'       => input('num/d'),
+                'coachtime' => input('coachtime/s'),
+            ]);
+        }
+        exit(json_encode([
+            'code' => 0,
+        ]));
+    }
+
+    // 列表
+    public function coachList()
+    {
+        $statuslist = CoachModel::$status;
+        return view('coach/coachlist', [
+            'statuslist' => $statuslist,
+        ]);
+    }
+
+    public function coachForm()
+    {
+        $agentid = $this->access_agent['id'];
+        $id      = input('id/d, 0');
+        $coach   = CoachModel::where('agentid', $agentid)->findOrEmpty($id);
+
+        return view('coach/coachform', [
+            'coach' => $coach,
+        ]);
+    }
+
+    public function listCoach()
+    {
+        $agentid  = $this->access_agent['id'];
+        $limit    = input('limit');
+        $page     = input('page');
+        $map      = [['agentid', '=', $agentid]];
+        $keywords = input('keywords/s');
+        if (!empty($keywords)) {
+            $map[] = ['title', 'like', '%' . $keywords . '%'];
+        }
+        $status = input('status/d');
+        if (!empty($status)) {
+            $map[] = ['status', '=', $status];
+        }
+        $list  = CoachModel::where($map)->order(['id' => 'desc'])->limit($limit)->page($page)->append(['status_text'])->select();
+        $count = CoachModel::where($map)->count();
+        if ($count == 0) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "未查询到数据",
+            ]));
+        }
+        exit(json_encode([
+            'code'  => 0,
+            'msg'   => "",
+            'count' => $count,
+            'data'  => $list,
+        ]));
+    }
+}

+ 97 - 0
app/agent/view/coach/coachform.html

@@ -0,0 +1,97 @@
+<div class="layui-fluid">
+	<div class="layui-row layui-col-space15">
+		<div class="layui-col-md12">
+			<div class="layui-card">
+				<div class="layui-card-header">辅导培训信息</div>
+				<div class="layui-card-body" pad15>
+					<div class="layui-form layui-form-pane" lay-filter="LAY-coach-coachform-edit">
+						<input type="hidden" name="id" value="{$coach.id}">
+						<div class="layui-form-item">
+							<label class="layui-form-label"><span style="color:#f90c05;">*</span>标题</label>
+							<div class="layui-input-block">
+								<input type="text" name="title" value="{$coach.title}" lay-verify="required" placeholder="请输入标题" autocomplete="off"
+								 class="layui-input">
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label">详情</label>
+							<div class="layui-input-block">
+								<textarea class="layui-textarea" name="content" id="content" placeholder="请输入详情" style="display: none"
+								 lay-verify="editcontent">
+											{$coach.content}
+										</textarea>
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label"><span style="color:#f90c05;">*</span>培训人数</label>
+							<div class="layui-input-block">
+								<input type="number" name="num" value="{$coach.num}" lay-verify="required" placeholder="请输入培训人数" autocomplete="off"
+									   class="layui-input">
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label"><span style="color:#f90c05;">*</span>培训时间</label>
+							<div class="layui-input-block">
+								<input type="text" name="coachtime" id="coachtime" value="{$coach.coachtime}" lay-verify="required"
+								 placeholder="请选择培训时间" autocomplete="off" class="layui-input">
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<div class="layui-input-block">
+								<input type="button" lay-submit lay-filter="LAY-coach-coachform-edit-submit" value="确认提交" class="layui-btn">
+							</div>
+						</div>
+					</div>
+
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
+
+<script>
+	layui.config({
+		base: '/static/echoui/' //静态资源所在路径
+	}).extend({
+		index: 'lib/index' //主入口模块
+	}).use(['index', 'form', 'set', 'layedit', 'laydate', 'upload'], function() {
+		var $ = layui.$,
+			setter = layui.setter,
+			admin = layui.admin,
+			layedit = layui.layedit,
+			laydate = layui.laydate,
+			form = layui.form,
+			upload = layui.upload;
+		form.render();
+
+		var content = layedit.build('content', {
+			uploadImage: { url: setter.baseAgentUrl + 'attachment/tplfieldimage', type: 'post' }
+		});
+		form.verify({
+			editcontent: function(value) {
+				layedit.sync(content);
+			}
+		});
+		laydate.render({
+			elem: '#coachtime',
+			type: 'date'
+		});
+
+		form.on('submit(LAY-coach-coachform-edit-submit)', function(obj) {
+			var index = parent.layer.getFrameIndex(window.name);
+			admin.req({
+				url: setter.baseAgentUrl + 'coach/editcoach',
+				type: 'post',
+				data: obj.field,
+				done: function(res) {
+					layer.msg("提交成功", {
+						icon: 1
+					});
+					parent.layui.table.reload('LAY-coach-coachlist-table'); //重载表格
+					parent.layer.close(index);
+				}
+			});
+		});
+
+	});
+</script>

+ 162 - 0
app/agent/view/coach/coachlist.html

@@ -0,0 +1,162 @@
+<div class="layui-fluid">
+	<div class="layui-card">
+		<div class="layui-form layui-form-pane layui-card-header layuiadmin-card-header-auto" lay-filter="LAY-coach-coachlist-search">
+			<div class="layui-form-item">
+				<div class="layui-inline">
+					<label class="layui-form-label">标题</label>
+					<div class="layui-input-block">
+						<input type="text" name="keywords" placeholder="请输入" autocomplete="off" class="layui-input">
+					</div>
+				</div>
+				<div class="layui-inline">
+					<label class="layui-form-label">状态</label>
+					<div class="layui-input-block">
+						<select name="status">
+							<option value="">全部状态</option>
+							{volist name="statuslist" id="vo"}
+							<option value="{$key}">{$vo}</option>
+							{/volist}
+						</select>
+					</div>
+				</div>
+				<div class="layui-inline">
+					<button class="layui-btn" lay-submit lay-filter="LAY-coach-coachlist-search-btn">
+						<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
+					</button>
+				</div>
+			</div>
+		</div>
+
+		<div class="layui-card-body">
+			<div style="padding-bottom: 10px;">
+				<button class="layui-btn layuiadmin-btn" data-type="batchdel">删除</button>
+				<button class="layui-btn layuiadmin-btn" data-type="add">添加</button>
+			</div>
+			<table id="LAY-coach-coachlist-table" lay-filter="LAY-coach-coachlist-table"></table>
+			<script type="text/html" id="setTpl">
+				<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
+				<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
+			</script>
+		</div>
+
+	</div>
+</div>
+
+<script>
+	layui.config({
+		base: '/static/echoui/' //静态资源所在路径
+	}).extend({
+		index: 'lib/index' //主入口模块
+	}).use(['index', 'form', 'set', 'table'], function() {
+		var $ = layui.$,
+			setter = layui.setter,
+			admin = layui.admin,
+			form = layui.form,
+			table = layui.table;
+		form.render();
+
+		//列表
+		table.render({
+			elem: '#LAY-coach-coachlist-table',
+			url: setter.baseAgentUrl + 'coach/listcoach',
+			cols: [
+				[
+					{ type: 'checkbox', fixed: 'left' },
+					{ field: 'id', width: 80, title: '表ID', sort: true },
+					{ field: 'title', title: '标题' },
+					{ field: 'num', title: '参加人数' },
+					{ field: 'status_text', width: 100, title: '状态', minWidth: 80, align: 'center' },
+					{ field: 'coachtime', width: 200, title: '培训时间' , sort: true },
+					{ field: 'createtime', width: 200, title: '提交时间', sort: true },
+					{ title: '操作', width: 200, align: 'center', fixed: 'right', toolbar: '#setTpl' }
+				]
+			],
+			page: true,
+			limit: 50,
+			cellMinWidth: 150,
+			text: '对不起,加载出现异常!'
+		});
+
+		//监听搜索
+		form.on('submit(LAY-coach-coachlist-search-btn)', function(data) {
+			table.reload('LAY-coach-coachlist-table', {
+				where: data.field,
+				page: {
+					curr: 1
+				}
+			});
+		});
+
+		//事件
+		var active = {
+			batchdel: function() {
+				var checkStatus = table.checkStatus('LAY-coach-coachlist-table'),
+					checkData = checkStatus.data; //得到选中的数据
+				if (checkData.length === 0) {
+					return layer.msg('请选择数据');
+				}
+				var idarr = [];
+				for (var i = 0; i < checkData.length; i++) {
+					idarr.push(checkData[i].id);
+				}
+				layer.confirm('只能删除等审核的数据,确定删除所选辅导培训吗?', function(index) {
+					admin.req({
+						url: setter.baseAgentUrl + 'coach/delcoach',
+						data: {
+							idarr: idarr
+						},
+						done: function(res) {
+							table.reload('LAY-coach-coachlist-table');
+							layer.msg('处理完成');
+						}
+					});
+					layer.close(index);
+				});
+			},
+			add: function() {
+				var index = layer.open({
+					type: 2,
+					title: '添加辅助培训',
+					content: 'coachform.html?id=0',
+					maxmin: true,
+					area: ['550px', '550px']
+				});
+				layer.full(index);
+			}
+		};
+
+		//监听工具条
+		table.on('tool(LAY-coach-coachlist-table)', function(obj) {
+			var data = obj.data;
+			if (obj.event === 'del') {
+				layer.confirm('只能删除等审核的数据,确定删除此辅助培训吗?', function(index) {
+					admin.req({
+						url: setter.baseAgentUrl + 'coach/delcoach',
+						data: {
+							idarr: [data.id]
+						},
+						done: function(res) {
+							table.reload('LAY-coach-coachlist-table');
+							layer.msg('处理完成');
+						}
+					});
+					layer.close(index);
+				});
+			} else if (obj.event === 'edit') {
+				var index = layer.open({
+					type: 2,
+					title: '编辑辅助培训',
+					content: 'coachform.html?id=' + data.id,
+					maxmin: true,
+					area: ['550px', '550px']
+				});
+				layer.full(index);
+			}
+		});
+
+		$('.layui-btn.layuiadmin-btn').on('click', function() {
+			var type = $(this).data('type');
+			active[type] ? active[type].call(this) : '';
+		});
+	});
+</script>

+ 6 - 0
app/agent/view/index.html

@@ -143,6 +143,12 @@
 							<cite>职业顾问</cite>
 						</a>
 					</li>
+					<li data-name="broker" class="layui-nav-item">
+						<a lay-href="{:url('/coach/coachlist')}" lay-tips="辅导培训">
+							<i class="layui-icon layui-icon-engine"></i>
+							<cite>辅导培训</cite>
+						</a>
+					</li>
 					<li data-name="agent" class="layui-nav-item">
 						<a lay-href="{:url('/agent/agentform')}" lay-tips="代理信息">
 							<i class="layui-icon layui-icon-set"></i>

+ 36 - 0
app/common/model/Coach.php

@@ -0,0 +1,36 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+class Coach extends Model
+{
+    // 设置字段信息
+    protected $schema = [
+        'id'         => 'int',
+        'agentid'    => 'int',
+        'title'      => 'string',
+        'content'    => 'string',
+        'num'        => 'int',
+        'status'     => 'tinyint',
+        'coachtime'  => 'date',
+        'createtime' => 'int',
+    ];
+
+    // 设置字段自动转换类型
+    protected $type = [
+        'createtime' => 'timestamp:Y-m-d H:i',
+    ];
+    public static $status = [1 => '待审核', 2 => '优秀', 3 => '合格', 4 => '不合格'];
+
+    public function getStatusTextAttr($value, $data)
+    {
+        return self::$status[$data['status']];
+    }
+
+    public function agent()
+    {
+        return $this->hasOne(Agent::class, 'id', 'agentid');
+    }
+}