isAjax()){
$param = input('param.');
$limit = $param['pageSize'];
$offset = ($param['pageNumber'] - 1) * $limit;
$where = [];
if (!empty($param['searchText'])) {
$where['content'] = $param['searchText'];
}
$result = db('words')->where($where)->where($this->where)->limit($offset, $limit)->order('add_time desc')->select();
foreach($result as $key=>$vo){
// 优化显示状态
if(1 == $vo['status']){
$result[$key]['status'] = '启用';
}else{
$result[$key]['status'] = '禁用';
}
// 所属分组
$organize = db('organize')->field('name')->where('id', $vo['organize_id'])->find();
$result[$key]['organize_name'] = !empty($organize) ? $organize['name'] : '暂无';
// 生成操作按钮
$result[$key]['operate'] = $this->makeBtn($vo['id']);
$platform = db('groups')->where('id', $vo['group_id'])->field('name')->find();
$result[$key]['platform_name'] = isset($platform['name']) ? $platform['name'] : '暂无';
}
$return['total'] = db('words')->where($where)->where($this->where)->count(); //总数据
$return['rows'] = $result;
return json($return);
}
return $this->fetch();
}
// 添加常用语
public function addWord()
{
if(request()->isPost()){
$param = input('post.');
$param['content'] = htmlentities(trim($param['content']));
// 检测分组
if ($this->role_name == '组长') {
$param['organize_id'] = $this->where['organize_id'];
$organize = db('organize')->where('id', $this->where['organize_id'])->find();
$param['group_id'] = $organize['group_id'];
} else {
$param['group_id'] = $this->where['group_id'];
}
if (!isset($param['organize_id'])) return resultJson(0, '请选择分组');
$has = db('words')->field('id')
->where('content', '=', $param['content'])
->where('group_id', '=', $param['group_id'])
->find();
if(!empty($has)){
return json(['code' => -1, 'data' => '', 'msg' => '该常用语已经存在']);
}
$param['add_time'] = date('Y-m-d H:i:s');
try{
db('words')->insert($param);
}catch(\Exception $e){
return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]);
}
return json(['code' => 1, 'data' => '', 'msg' => '添加常用语成功']);
}
// 如果是平台管理员获取分组
if ($this->role_name == '平台管理员') {
$organize = db('organize')->where($this->where)->select();
} else {
$organize = [];
}
$this->assign([
'status' => config('kf_status'),
'organize' => $organize,
]);
return $this->fetch('addword');
}
// 编辑常用语
public function editWord()
{
if(request()->isAjax()){
$param = input('post.');
$param['content'] = htmlentities(trim($param['content']));
// 检测用户修改的常用语是否重复
$has = db('words')->where('content', $param['content'])->where('id', '<>', $param['id'])->find();
if(!empty($has)){
return json(['code' => -1, 'data' => '', 'msg' => '该常用语已经存在']);
}
// 检测分组
if ($this->role_name == '组长') {
$param['organize_id'] = $this->where['organize_id'];
$organize = db('organize')->where('id', $this->where['organize_id'])->find();
$param['group_id'] = $organize['group_id'];
}
if (!isset($param['organize_id'])) return resultJson(0, '请选择分组');
try{
db('words')->where('id', $param['id'])->update($param);
}catch(\Exception $e){
return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]);
}
return json(['code' => 1, 'data' => '', 'msg' => '编辑常用语成功']);
}
$id = input('param.id/d');
$info = db('words')->where('id', $id)->find();
// 如果是平台管理员获取分组
if ($this->role_name == '平台管理员' || $info['group_id']) {
$where = $info['group_id'] ? ['group_id' => $info['group_id']] : $this->where;
$organize = db('organize')->where($where)->select();
} else {
$organize = [];
}
$this->assign([
'info' => $info,
'status' => config('kf_status'),
'organize' => $organize,
]);
return $this->fetch('editword');
}
// 删除常用语
public function delWord()
{
if(request()->isAjax()){
$id = input('param.id/d');
try{
db('words')->where('id', $id)->delete();
}catch(\Exception $e){
return json(['code' => -1, 'data' => '', 'msg' => $e->getMessage()]);
}
return json(['code' => 1, 'data' => '', 'msg' => '删除常用语成功']);
}
}
// 生成按钮
private function makeBtn($id)
{
$operate = '';
if (!$this->is_root) {
$operate = '';
$operate .= ' ';
}
$operate .= ' ';
return $operate;
}
}