* @day: 2017/11/11 */ namespace app\admin\controller\water; use app\admin\controller\AuthController; use crmeb\services\{ExpressService, JsonService, JsonService as Json, MiniProgramService, WechatService, FormBuilder as Form, CacheService, UtilService as Util}; use think\facade\Route as Url; use think\facade\Validate; Use app\admin\model\water\WaterDefault as model; /** * 订单管理控制器 同一个订单表放在一个控制器 * Class StoreOrder * @package app\admin\controller\store */ class WaterDefault extends AuthController { /** * @return mixed */ public function index() { return $this->fetch(); } public function list() { $where = Util::getMore([ ['page', 1], ['limit', 20], ['name', ''], ['card', ''], ['order_id', ''], ]); return Json::successlayui(model::list($where)); } /** * 显示创建资源表单页. * * @return \think\Response */ public function create($id = 0) { $f = []; $f[] = Form::input('high', '高度')->col(12); $f[] = Form::select('roof', '顶板', 0)->options( array_merge([['value' => 0, 'label' => '选择顶板厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 1)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('floor', '底板', 0)->options( array_merge([['value' => 0, 'label' => '选择底板厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 4)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('column', '立柱', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 5)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('side_plate1', '侧板1', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('side_plate2', '侧板2', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('side_plate3', '侧板3', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('side_plate4', '侧板4', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('side_plate5', '侧板5', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('lacing1', '拉筋1', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('lacing2', '拉筋2', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('lacing3', '拉筋3', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('lacing4', '拉筋4', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('lacing5', '拉筋5', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('fula1', '辅拉1', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('fula2', '辅拉2', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('fula3', '辅拉3', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('fula4', '辅拉4', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('fula5', '辅拉5', 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $form = Form::make_post_form('添加', $f, Url::buildUrl('save')); $this->assign(compact('form')); return $this->fetch('public/form-builder'); } public function save() { $model = new model; $data = Util::postMore([ 'high', 'roof', 'floor', 'column', 'side_plate1', 'side_plate2', 'side_plate3', 'side_plate4', 'side_plate5', 'lacing1', 'lacing2', 'lacing3', 'lacing4', 'lacing5', 'fula1', 'fula2', 'fula3', 'fula4', 'fula5', ]); $validate = Validate::rule([ 'high' => 'require', 'roof' => 'require', 'floor' => 'require', 'column' => 'require', 'side_plate1' => 'require', 'lacing1' => 'require', 'fula1' => 'require', ]); $validate->message([ 'high.require' => '高度不能为空', 'roof.require' => '请选择顶板', 'floor.require' => '请选择底板', 'column.require' => '请填写立柱', 'side_plate1.require' => '最少填写侧板1', 'lacing1.require' => '最少填写拉筋1', 'fula1.require' => '最少填写辅拉1', ]); if ($data['side_plate1'] > 0) $data['side_plate'] = $data['side_plate1']; if ($data['side_plate2'] > 0) $data['side_plate'] .= ','.$data['side_plate2']; if ($data['side_plate3'] > 0) $data['side_plate'] .= ','.$data['side_plate3']; if ($data['side_plate4'] > 0) $data['side_plate'] .= ','.$data['side_plate4']; if ($data['side_plate5'] > 0) $data['side_plate'] .= ','.$data['side_plate5']; if ($data['lacing1'] > 0) $data['lacing'] = $data['lacing1']; if ($data['lacing2'] > 0) $data['lacing'] .= ','.$data['lacing2']; if ($data['lacing3'] > 0) $data['lacing'] .= ','.$data['lacing3']; if ($data['lacing4'] > 0) $data['lacing'] .= ','.$data['lacing4']; if ($data['lacing5'] > 0) $data['lacing'] .= ','.$data['lacing5']; if ($data['fula1'] > 0) $data['fula'] = $data['fula1']; if ($data['fula2'] > 0) $data['fula'] .= ','.$data['fula2']; if ($data['fula3'] > 0) $data['fula'] .= ','.$data['fula3']; if ($data['fula4'] > 0) $data['fula'] .= ','.$data['fula4']; if ($data['fula5'] > 0) $data['fula'] .= ','.$data['fula5']; if (!$validate->check($data)) { return Json::fail($validate->getError()); } $res = $model->save($data); if ($res) return Json::successful('添加成功'); return Json::fail('添加失败'); } /** * 显示创建资源表单页. * * @return \think\Response */ public function edit($id = 0) { $data = model::find($id); $f = []; $f[] = Form::input('high', '高度', $data['high'])->col(12); $f[] = Form::select('roof', '顶板', (string)$data['roof'])->options( array_merge([['value' => 0, 'label' => '选择顶板厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 1)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('floor', '底板', (string)$data['floor'])->options( array_merge([['value' => 0, 'label' => '选择底板厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 4)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('column', '立柱', (string)$data['column'])->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 5)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $side_plate = explode(',', $data['side_plate']); $f[] = Form::select('side_plate1', '侧板1', $side_plate[0] ?? 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('side_plate2', '侧板2', $side_plate[1] ?? 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('side_plate3', '侧板3', $side_plate[2]?? 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('side_plate4', '侧板4', $side_plate[3] ?? 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('side_plate5', '侧板5', $side_plate[4]?? 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $lacing = explode(',', $data['lacing']); $f[] = Form::select('lacing1', '拉筋1', $lacing[0] ?? 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('lacing2', '拉筋2', $lacing[1] ?? 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('lacing3', '拉筋3', $lacing[2] ?? 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('lacing4', '拉筋4', $lacing[3] ?? 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('lacing5', '拉筋5', $lacing[4] ?? 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $fula = explode(',', $data['fula']); $f[] = Form::select('fula1', '辅拉1', $fula[0] ?? 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('fula2', '辅拉2', $fula[1] ?? 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('fula3', '辅拉3', $fula[2] ?? 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('fula4', '辅拉4', $fula[3] ?? 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::select('fula5', '辅拉5', $fula[4] ?? 0)->options( array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray()) )->filterable(true); $f[] = Form::hidden('id', $id); $form = Form::make_post_form('修改', $f, Url::buildUrl('update')); $this->assign(compact('form')); return $this->fetch('public/form-builder'); } /** * 修改 * @return void * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function update() { $model = new model; $data = Util::postMore([ 'high', 'roof', 'floor', 'column', 'side_plate1', 'side_plate2', 'side_plate3', 'side_plate4', 'side_plate5', 'lacing1', 'lacing2', 'lacing3', 'lacing4', 'lacing5', 'fula1', 'fula2', 'fula3', 'fula4', 'fula5', 'id' ]); $validate = Validate::rule([ 'high' => 'require', 'roof' => 'require', 'floor' => 'require', 'column' => 'require', 'side_plate1' => 'require', 'lacing1' => 'require', 'fula1' => 'require', ]); $validate->message([ 'high.require' => '高度不能为空', 'roof.require' => '请选择顶板', 'floor.require' => '请选择底板', 'column.require' => '请填写立柱', 'side_plate1.require' => '最少填写侧板1', 'lacing1.require' => '最少填写拉筋1', 'fula1.require' => '最少填写辅拉1', ]); if ($data['side_plate1'] > 0) $data['side_plate'] = $data['side_plate1']; if ($data['side_plate2'] > 0) $data['side_plate'] .= ','.$data['side_plate2']; if ($data['side_plate3'] > 0) $data['side_plate'] .= ','.$data['side_plate3']; if ($data['side_plate4'] > 0) $data['side_plate'] .= ','.$data['side_plate4']; if ($data['side_plate5'] > 0) $data['side_plate'] .= ','.$data['side_plate5']; if ($data['lacing1'] > 0) $data['lacing'] = $data['lacing1']; if ($data['lacing2'] > 0) $data['lacing'] .= ','.$data['lacing2']; if ($data['lacing3'] > 0) $data['lacing'] .= ','.$data['lacing3']; if ($data['lacing4'] > 0) $data['lacing'] .= ','.$data['lacing4']; if ($data['lacing5'] > 0) $data['lacing'] .= ','.$data['lacing5']; if ($data['fula1'] > 0) $data['fula'] = $data['fula1']; if ($data['fula2'] > 0) $data['fula'] .= ','.$data['fula2']; if ($data['fula3'] > 0) $data['fula'] .= ','.$data['fula3']; if ($data['fula4'] > 0) $data['fula'] .= ','.$data['fula4']; if ($data['fula5'] > 0) $data['fula'] .= ','.$data['fula5']; $details = $model->find($data['id']); $details['high'] = $data['high']; $details['roof'] = $data['roof']; $details['floor'] = $data['floor']; $details['column'] = $data['column']; $details['side_plate'] = $data['side_plate']; $details['lacing'] = $data['lacing']; $details['fula'] = $data['fula']; $res = $details->save(); if ($res) return Json::successful('修改成功'); return Json::fail('修改失败'); } /** * 删除 * @param $id * @return void * @throws \Exception */ public function delete($id) { if (!$id) Json::fail('删除失败'); $model = new model; $res = model::destroy($id); if ($res){ return Json::success('删除成功!'); }else{ return Json::fail($model->getErrorInfo()); } } }