硕顺crm后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

157 lines
4.2 KiB

<?php
namespace app\admin\controller\qingdong\work;
use app\common\controller\Backend;
use addons\qingdong\model\Form;
use addons\qingdong\model\Staff;
use addons\qingdong\model\FormApproval as FormApprovalModel;
use think\Db;
use think\Exception;
use addons\qingdong\library\Pingyin;
/**
* 审批字段管理
*/
class Formapproval extends Backend {
protected $relationSearch = true;
/**
* @var \addons\qingdong\model\FormApproval
*/
protected $model = null;
public function _initialize() {
parent::_initialize();
$this->model = new FormApprovalModel();
}
/**
* 查看
*/
public function index() {
//设置过滤方法
$this->request->filter(['strip_tags', 'trim']);
if ($this->request->isAjax()) {
$forms = $this->model->where([])->select();
$forms = collection($forms)->toArray();
$result = array("total" => count($forms), "rows" => $forms);
return json($result);
}
return $this->view->fetch();
}
/**
* 添加审批流程
*/
public function add() {
if ($this->request->isAjax()) {
$data = $this->request->post('row/a');
if(!$data['name']){
$this->error('审批流程标题不能为空');
}
$pingyin = new Pingyin();
$english = $pingyin->get_all_py($data['name']);
$formFind = Form::where(array('type'=>$english))->find();
if($formFind){
$english = $english.genRandomString(5);
}
//表单
$formRes = array(
'name'=>$data['name'],
'type'=>$english,
);
$resForm = Form::create($formRes);
$insetId = Form::getLastInsID();
$data['form_id'] = $insetId;
$result = $this->model->allowField(true)->save($data);
if (!$result || !$resForm) {
$this->error('提交失败');
}
$this->success('提交成功');
}
$staffname = Staff::where(['status' => 1])->column('id,name');
$staffs = ['' => '无'];
foreach ($staffname as $id => $name) {
$staffs[$id] = $name;
}
$this->view->assign('staffs', $staffs);
return $this->view->fetch();
}
/**
* 修改审批流程
*/
public function edit($ids = null) {
$row=$this->model->get($ids);
if ($this->request->isAjax()) {
$data = $this->request->post('row/a');
$result = $this->model->allowField(true)->save($data,['id'=>$ids]);
if($row['form_id']){
Form::where(array('id'=>$row['form_id']))->update(array('name'=>$data['name']));
}
if (!$result) {
$this->error('提交失败');
}
$this->success('提交成功');
}
$staffname = Staff::where(['status' => 1])->column('id,name');
$staffs = ['' => '无'];
foreach ($staffname as $id => $name) {
$staffs[$id] = $name;
}
$this->view->assign('staffs', $staffs);
$this->view->assign('row', $row);
return $this->view->fetch();
}
/**
* 删除审批流程
*/
public function del($ids = null) {
if ($this->request->isAjax()) {
$map['id'] = $ids;
$row=$this->model->get($ids);
if(!$row){
$this->error('数据不存在');
}
Form::destroy(array('id'=>$row['form_id']));
$result = $this->model->destroy($map);
if (!$result) {
$this->error('删除失败');
}
$this->success('删除成功');
}
return $this->view->fetch();
}
/**
* 获取员工列表
*/
public function get_staff()
{
$pageSize = input('pageSize');
$pageNumber = input('pageNumber');
$where = [];
if ($keyValue = $this->request->request("keyValue")) {
$where['id'] = ['in',explode(',',$keyValue)];
}
$name = input('name');
if (!empty($name)) {
$where['name'] = ['like', '%' . $name . '%'];
}
$customer = Staff::where($where)->field('id,name')->order('id desc')->paginate($pageSize, false, ['page' => $pageNumber]);
return json(['list' => $customer->items(), 'total' => $customer->total()]);
}
}