WaterDefault.php 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526
  1. <?php
  2. /**
  3. *
  4. * @author: xaboy<365615158@qq.com>
  5. * @day: 2017/11/11
  6. */
  7. namespace app\admin\controller\water;
  8. use app\admin\controller\AuthController;
  9. use crmeb\services\{ExpressService,
  10. JsonService,
  11. JsonService as Json,
  12. MiniProgramService,
  13. WechatService,
  14. FormBuilder as Form,
  15. CacheService,
  16. UtilService as Util};
  17. use think\facade\Route as Url;
  18. use think\facade\Validate;
  19. Use app\admin\model\water\WaterDefault as model;
  20. /**
  21. * 订单管理控制器 同一个订单表放在一个控制器
  22. * Class StoreOrder
  23. * @package app\admin\controller\store
  24. */
  25. class WaterDefault extends AuthController
  26. {
  27. /**
  28. * @return mixed
  29. */
  30. public function index()
  31. {
  32. return $this->fetch();
  33. }
  34. public function list()
  35. {
  36. $where = Util::getMore([
  37. ['page', 1],
  38. ['limit', 20],
  39. ['name', ''],
  40. ['card', ''],
  41. ['order_id', ''],
  42. ]);
  43. return Json::successlayui(model::list($where));
  44. }
  45. /**
  46. * 显示创建资源表单页.
  47. *
  48. * @return \think\Response
  49. */
  50. public function create($id = 0)
  51. {
  52. $f = [];
  53. $f[] = Form::input('high', '高度')->col(12);
  54. $f[] = Form::select('roof', '顶板', 0)->options(
  55. array_merge([['value' => 0, 'label' => '选择顶板厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 1)->field('id as value,name as label')->select()->toArray())
  56. )->filterable(true);
  57. $f[] = Form::select('floor', '底板', 0)->options(
  58. array_merge([['value' => 0, 'label' => '选择底板厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 4)->field('id as value,name as label')->select()->toArray())
  59. )->filterable(true);
  60. $f[] = Form::select('column', '立柱', 0)->options(
  61. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 5)->field('id as value,name as label')->select()->toArray())
  62. )->filterable(true);
  63. $f[] = Form::select('side_plate1', '侧板1', 0)->options(
  64. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  65. )->filterable(true);
  66. $f[] = Form::select('side_plate2', '侧板2', 0)->options(
  67. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  68. )->filterable(true);
  69. $f[] = Form::select('side_plate3', '侧板3', 0)->options(
  70. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  71. )->filterable(true);
  72. $f[] = Form::select('side_plate4', '侧板4', 0)->options(
  73. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  74. )->filterable(true);
  75. $f[] = Form::select('side_plate5', '侧板5', 0)->options(
  76. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  77. )->filterable(true);
  78. $f[] = Form::select('lacing1', '拉筋1', 0)->options(
  79. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  80. )->filterable(true);
  81. $f[] = Form::select('lacing2', '拉筋2', 0)->options(
  82. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  83. )->filterable(true);
  84. $f[] = Form::select('lacing3', '拉筋3', 0)->options(
  85. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  86. )->filterable(true);
  87. $f[] = Form::select('lacing4', '拉筋4', 0)->options(
  88. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  89. )->filterable(true);
  90. $f[] = Form::select('lacing5', '拉筋5', 0)->options(
  91. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  92. )->filterable(true);
  93. $f[] = Form::select('fula1', '辅拉1', 0)->options(
  94. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  95. )->filterable(true);
  96. $f[] = Form::select('fula2', '辅拉2', 0)->options(
  97. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  98. )->filterable(true);
  99. $f[] = Form::select('fula3', '辅拉3', 0)->options(
  100. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  101. )->filterable(true);
  102. $f[] = Form::select('fula4', '辅拉4', 0)->options(
  103. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  104. )->filterable(true);
  105. $f[] = Form::select('fula5', '辅拉5', 0)->options(
  106. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 0)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  107. )->filterable(true);
  108. $f[] = Form::hidden('is_gc', 0);
  109. $form = Form::make_post_form('添加', $f, Url::buildUrl('save'));
  110. $this->assign(compact('form'));
  111. return $this->fetch('public/form-builder');
  112. }
  113. /**
  114. * 显示创建资源表单页.
  115. *
  116. * @return \think\Response
  117. */
  118. public function creates($id = 0)
  119. {
  120. $f = [];
  121. $f[] = Form::input('high', '高度')->col(12);
  122. $f[] = Form::select('roof', '顶板', 0)->options(
  123. array_merge([['value' => 0, 'label' => '选择顶板厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 1)->field('id as value,name as label')->select()->toArray())
  124. )->filterable(true);
  125. $f[] = Form::select('floor', '底板', 0)->options(
  126. array_merge([['value' => 0, 'label' => '选择底板厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 4)->field('id as value,name as label')->select()->toArray())
  127. )->filterable(true);
  128. $f[] = Form::select('column', '立柱', 0)->options(
  129. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 5)->field('id as value,name as label')->select()->toArray())
  130. )->filterable(true);
  131. $f[] = Form::select('side_plate1', '侧板1', 0)->options(
  132. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  133. )->filterable(true);
  134. $f[] = Form::select('side_plate2', '侧板2', 0)->options(
  135. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  136. )->filterable(true);
  137. $f[] = Form::select('side_plate3', '侧板3', 0)->options(
  138. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  139. )->filterable(true);
  140. $f[] = Form::select('side_plate4', '侧板4', 0)->options(
  141. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  142. )->filterable(true);
  143. $f[] = Form::select('side_plate5', '侧板5', 0)->options(
  144. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  145. )->filterable(true);
  146. $f[] = Form::select('lacing1', '拉筋1', 0)->options(
  147. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  148. )->filterable(true);
  149. $f[] = Form::select('lacing2', '拉筋2', 0)->options(
  150. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  151. )->filterable(true);
  152. $f[] = Form::select('lacing3', '拉筋3', 0)->options(
  153. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  154. )->filterable(true);
  155. $f[] = Form::select('lacing4', '拉筋4', 0)->options(
  156. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  157. )->filterable(true);
  158. $f[] = Form::select('lacing5', '拉筋5', 0)->options(
  159. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  160. )->filterable(true);
  161. $f[] = Form::select('fula1', '辅拉1', 0)->options(
  162. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  163. )->filterable(true);
  164. $f[] = Form::select('fula2', '辅拉2', 0)->options(
  165. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  166. )->filterable(true);
  167. $f[] = Form::select('fula3', '辅拉3', 0)->options(
  168. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  169. )->filterable(true);
  170. $f[] = Form::select('fula4', '辅拉4', 0)->options(
  171. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  172. )->filterable(true);
  173. $f[] = Form::select('fula5', '辅拉5', 0)->options(
  174. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_show', 1)->where('is_gc', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  175. )->filterable(true);
  176. $f[] = Form::hidden('is_gc', 1);
  177. $form = Form::make_post_form('添加', $f, Url::buildUrl('save'));
  178. $this->assign(compact('form'));
  179. return $this->fetch('public/form-builder');
  180. }
  181. public function save()
  182. {
  183. $model = new model;
  184. $data = Util::postMore([
  185. 'high',
  186. 'roof',
  187. 'floor',
  188. 'column',
  189. 'side_plate1',
  190. 'side_plate2',
  191. 'side_plate3',
  192. 'side_plate4',
  193. 'side_plate5',
  194. 'lacing1',
  195. 'lacing2',
  196. 'lacing3',
  197. 'lacing4',
  198. 'lacing5',
  199. 'fula1',
  200. 'fula2',
  201. 'fula3',
  202. 'fula4',
  203. 'fula5',
  204. 'is_gc',
  205. ]);
  206. $validate = Validate::rule([
  207. 'high' => 'require',
  208. 'roof' => 'require',
  209. 'floor' => 'require',
  210. 'column' => 'require',
  211. 'side_plate1' => 'require',
  212. 'lacing1' => 'require',
  213. 'fula1' => 'require',
  214. ]);
  215. $validate->message([
  216. 'high.require' => '高度不能为空',
  217. 'roof.require' => '请选择顶板',
  218. 'floor.require' => '请选择底板',
  219. 'column.require' => '请填写立柱',
  220. 'side_plate1.require' => '最少填写侧板1',
  221. 'lacing1.require' => '最少填写拉筋1',
  222. 'fula1.require' => '最少填写辅拉1',
  223. ]);
  224. if ($data['side_plate1'] > 0) $data['side_plate'] = $data['side_plate1'];
  225. if ($data['side_plate2'] > 0) $data['side_plate'] .= ','.$data['side_plate2'];
  226. if ($data['side_plate3'] > 0) $data['side_plate'] .= ','.$data['side_plate3'];
  227. if ($data['side_plate4'] > 0) $data['side_plate'] .= ','.$data['side_plate4'];
  228. if ($data['side_plate5'] > 0) $data['side_plate'] .= ','.$data['side_plate5'];
  229. if ($data['lacing1'] > 0) $data['lacing'] = $data['lacing1'];
  230. if ($data['lacing2'] > 0) $data['lacing'] .= ','.$data['lacing2'];
  231. if ($data['lacing3'] > 0) $data['lacing'] .= ','.$data['lacing3'];
  232. if ($data['lacing4'] > 0) $data['lacing'] .= ','.$data['lacing4'];
  233. if ($data['lacing5'] > 0) $data['lacing'] .= ','.$data['lacing5'];
  234. if ($data['fula1'] > 0) $data['fula'] = $data['fula1'];
  235. if ($data['fula2'] > 0) $data['fula'] .= ','.$data['fula2'];
  236. if ($data['fula3'] > 0) $data['fula'] .= ','.$data['fula3'];
  237. if ($data['fula4'] > 0) $data['fula'] .= ','.$data['fula4'];
  238. if ($data['fula5'] > 0) $data['fula'] .= ','.$data['fula5'];
  239. if (!$validate->check($data)) {
  240. return Json::fail($validate->getError());
  241. }
  242. $res = $model->save($data);
  243. if ($res) return Json::successful('添加成功');
  244. return Json::fail('添加失败');
  245. }
  246. /**
  247. * 显示创建资源表单页.
  248. *
  249. * @return \think\Response
  250. */
  251. public function edit($id = 0)
  252. {
  253. $data = model::find($id);
  254. if ($data['is_gc'] == 0){
  255. $f = [];
  256. $f[] = Form::input('high', '高度', $data['high'])->col(12);
  257. $f[] = Form::select('roof', '顶板', (string)$data['roof'])->options(
  258. array_merge([['value' => 0, 'label' => '选择顶板厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 1)->field('id as value,name as label')->select()->toArray())
  259. )->filterable(true);
  260. $f[] = Form::select('floor', '底板', (string)$data['floor'])->options(
  261. array_merge([['value' => 0, 'label' => '选择底板厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 4)->field('id as value,name as label')->select()->toArray())
  262. )->filterable(true);
  263. $f[] = Form::select('column', '立柱', (string)$data['column'])->options(
  264. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 5)->field('id as value,name as label')->select()->toArray())
  265. )->filterable(true);
  266. $side_plate = explode(',', $data['side_plate']);
  267. $f[] = Form::select('side_plate1', '侧板1', $side_plate[0] ?? 0)->options(
  268. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  269. )->filterable(true);
  270. $f[] = Form::select('side_plate2', '侧板2', $side_plate[1] ?? 0)->options(
  271. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  272. )->filterable(true);
  273. $f[] = Form::select('side_plate3', '侧板3', $side_plate[2]?? 0)->options(
  274. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  275. )->filterable(true);
  276. $f[] = Form::select('side_plate4', '侧板4', $side_plate[3] ?? 0)->options(
  277. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  278. )->filterable(true);
  279. $f[] = Form::select('side_plate5', '侧板5', $side_plate[4]?? 0)->options(
  280. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  281. )->filterable(true);
  282. $lacing = explode(',', $data['lacing']);
  283. $f[] = Form::select('lacing1', '拉筋1', $lacing[0] ?? 0)->options(
  284. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  285. )->filterable(true);
  286. $f[] = Form::select('lacing2', '拉筋2', $lacing[1] ?? 0)->options(
  287. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  288. )->filterable(true);
  289. $f[] = Form::select('lacing3', '拉筋3', $lacing[2] ?? 0)->options(
  290. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  291. )->filterable(true);
  292. $f[] = Form::select('lacing4', '拉筋4', $lacing[3] ?? 0)->options(
  293. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  294. )->filterable(true);
  295. $f[] = Form::select('lacing5', '拉筋5', $lacing[4] ?? 0)->options(
  296. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  297. )->filterable(true);
  298. $fula = explode(',', $data['fula']);
  299. $f[] = Form::select('fula1', '辅拉1', $fula[0] ?? 0)->options(
  300. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  301. )->filterable(true);
  302. $f[] = Form::select('fula2', '辅拉2', $fula[1] ?? 0)->options(
  303. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  304. )->filterable(true);
  305. $f[] = Form::select('fula3', '辅拉3', $fula[2] ?? 0)->options(
  306. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  307. )->filterable(true);
  308. $f[] = Form::select('fula4', '辅拉4', $fula[3] ?? 0)->options(
  309. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  310. )->filterable(true);
  311. $f[] = Form::select('fula5', '辅拉5', $fula[4] ?? 0)->options(
  312. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 0)->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  313. )->filterable(true);
  314. $f[] = Form::hidden('id', $id);
  315. $form = Form::make_post_form('修改', $f, Url::buildUrl('update'));
  316. $this->assign(compact('form'));
  317. return $this->fetch('public/form-builder');
  318. }else{
  319. $f = [];
  320. $f[] = Form::input('high', '高度', $data['high'])->col(12);
  321. $f[] = Form::select('roof', '顶板', (string)$data['roof'])->options(
  322. array_merge([['value' => 0, 'label' => '选择顶板厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 1)->field('id as value,name as label')->select()->toArray())
  323. )->filterable(true);
  324. $f[] = Form::select('floor', '底板', (string)$data['floor'])->options(
  325. array_merge([['value' => 0, 'label' => '选择底板厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 4)->field('id as value,name as label')->select()->toArray())
  326. )->filterable(true);
  327. $f[] = Form::select('column', '立柱', (string)$data['column'])->options(
  328. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 5)->field('id as value,name as label')->select()->toArray())
  329. )->filterable(true);
  330. $side_plate = explode(',', $data['side_plate']);
  331. $f[] = Form::select('side_plate1', '侧板1', $side_plate[0] ?? 0)->options(
  332. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  333. )->filterable(true);
  334. $f[] = Form::select('side_plate2', '侧板2', $side_plate[1] ?? 0)->options(
  335. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  336. )->filterable(true);
  337. $f[] = Form::select('side_plate3', '侧板3', $side_plate[2]?? 0)->options(
  338. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  339. )->filterable(true);
  340. $f[] = Form::select('side_plate4', '侧板4', $side_plate[3] ?? 0)->options(
  341. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  342. )->filterable(true);
  343. $f[] = Form::select('side_plate5', '侧板5', $side_plate[4]?? 0)->options(
  344. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 2)->field('id as value,name as label')->select()->toArray())
  345. )->filterable(true);
  346. $lacing = explode(',', $data['lacing']);
  347. $f[] = Form::select('lacing1', '拉筋1', $lacing[0] ?? 0)->options(
  348. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  349. )->filterable(true);
  350. $f[] = Form::select('lacing2', '拉筋2', $lacing[1] ?? 0)->options(
  351. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  352. )->filterable(true);
  353. $f[] = Form::select('lacing3', '拉筋3', $lacing[2] ?? 0)->options(
  354. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  355. )->filterable(true);
  356. $f[] = Form::select('lacing4', '拉筋4', $lacing[3] ?? 0)->options(
  357. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  358. )->filterable(true);
  359. $f[] = Form::select('lacing5', '拉筋5', $lacing[4] ?? 0)->options(
  360. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 3)->field('id as value,name as label')->select()->toArray())
  361. )->filterable(true);
  362. $fula = explode(',', $data['fula']);
  363. $f[] = Form::select('fula1', '辅拉1', $fula[0] ?? 0)->options(
  364. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  365. )->filterable(true);
  366. $f[] = Form::select('fula2', '辅拉2', $fula[1] ?? 0)->options(
  367. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  368. )->filterable(true);
  369. $f[] = Form::select('fula3', '辅拉3', $fula[2] ?? 0)->options(
  370. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  371. )->filterable(true);
  372. $f[] = Form::select('fula4', '辅拉4', $fula[3] ?? 0)->options(
  373. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  374. )->filterable(true);
  375. $f[] = Form::select('fula5', '辅拉5', $fula[4] ?? 0)->options(
  376. array_merge([['value' => 0, 'label' => '选择立柱厚度']], \app\admin\model\water\WaterCate::order('id DESC')->where('is_gc', 1)->where('is_show', 1)->where('type', 6)->field('id as value,name as label')->select()->toArray())
  377. )->filterable(true);
  378. $f[] = Form::hidden('id', $id);
  379. $form = Form::make_post_form('修改', $f, Url::buildUrl('update'));
  380. $this->assign(compact('form'));
  381. return $this->fetch('public/form-builder');
  382. }
  383. }
  384. /**
  385. * 修改
  386. * @return void
  387. * @throws \think\db\exception\DataNotFoundException
  388. * @throws \think\db\exception\DbException
  389. * @throws \think\db\exception\ModelNotFoundException
  390. */
  391. public function update()
  392. {
  393. $model = new model;
  394. $data = Util::postMore([
  395. 'high',
  396. 'roof',
  397. 'floor',
  398. 'column',
  399. 'side_plate1',
  400. 'side_plate2',
  401. 'side_plate3',
  402. 'side_plate4',
  403. 'side_plate5',
  404. 'lacing1',
  405. 'lacing2',
  406. 'lacing3',
  407. 'lacing4',
  408. 'lacing5',
  409. 'fula1',
  410. 'fula2',
  411. 'fula3',
  412. 'fula4',
  413. 'fula5',
  414. 'id'
  415. ]);
  416. $validate = Validate::rule([
  417. 'high' => 'require',
  418. 'roof' => 'require',
  419. 'floor' => 'require',
  420. 'column' => 'require',
  421. 'side_plate1' => 'require',
  422. 'lacing1' => 'require',
  423. 'fula1' => 'require',
  424. ]);
  425. $validate->message([
  426. 'high.require' => '高度不能为空',
  427. 'roof.require' => '请选择顶板',
  428. 'floor.require' => '请选择底板',
  429. 'column.require' => '请填写立柱',
  430. 'side_plate1.require' => '最少填写侧板1',
  431. 'lacing1.require' => '最少填写拉筋1',
  432. 'fula1.require' => '最少填写辅拉1',
  433. ]);
  434. if ($data['side_plate1'] > 0) $data['side_plate'] = $data['side_plate1'];
  435. if ($data['side_plate2'] > 0) $data['side_plate'] .= ','.$data['side_plate2'];
  436. if ($data['side_plate3'] > 0) $data['side_plate'] .= ','.$data['side_plate3'];
  437. if ($data['side_plate4'] > 0) $data['side_plate'] .= ','.$data['side_plate4'];
  438. if ($data['side_plate5'] > 0) $data['side_plate'] .= ','.$data['side_plate5'];
  439. if ($data['lacing1'] > 0) $data['lacing'] = $data['lacing1'];
  440. if ($data['lacing2'] > 0) $data['lacing'] .= ','.$data['lacing2'];
  441. if ($data['lacing3'] > 0) $data['lacing'] .= ','.$data['lacing3'];
  442. if ($data['lacing4'] > 0) $data['lacing'] .= ','.$data['lacing4'];
  443. if ($data['lacing5'] > 0) $data['lacing'] .= ','.$data['lacing5'];
  444. if ($data['fula1'] > 0) $data['fula'] = $data['fula1'];
  445. if ($data['fula2'] > 0) $data['fula'] .= ','.$data['fula2'];
  446. if ($data['fula3'] > 0) $data['fula'] .= ','.$data['fula3'];
  447. if ($data['fula4'] > 0) $data['fula'] .= ','.$data['fula4'];
  448. if ($data['fula5'] > 0) $data['fula'] .= ','.$data['fula5'];
  449. $details = $model->find($data['id']);
  450. $details['high'] = $data['high'];
  451. $details['roof'] = $data['roof'];
  452. $details['floor'] = $data['floor'];
  453. $details['column'] = $data['column'];
  454. $details['side_plate'] = $data['side_plate'];
  455. $details['lacing'] = $data['lacing'];
  456. $details['fula'] = $data['fula'];
  457. $res = $details->save();
  458. if ($res) return Json::successful('修改成功');
  459. return Json::fail('修改失败');
  460. }
  461. /**
  462. * 删除
  463. * @param $id
  464. * @return void
  465. * @throws \Exception
  466. */
  467. public function delete($id)
  468. {
  469. if (!$id) Json::fail('删除失败');
  470. $model = new model;
  471. $res = model::destroy($id);
  472. if ($res){
  473. return Json::success('删除成功!');
  474. }else{
  475. return Json::fail($model->getErrorInfo());
  476. }
  477. }
  478. }