fetch(); // } /** * 提交报修表单(AJAX接口) * @return \think\response\Json */ public function submit(Request $request) { // 1. 获取表单数据 // $data = Request::post([ // 'device_name', // 设备名称 // 'device_number', // 数量 // 'order_id', // 'product_id', // 'repair_problem', // 报修问题 // 'return_address', // 寄回地址 // 'contact_name', // 联系人 // 'contact_phone' // 联系电话 // ]); $data= UtilService::postMore([ 'device_name', // 设备名称 'device_number', // 数量 'order_id', 'product_id', 'repair_problem', // 报修问题 'return_address', // 寄回地址 'contact_name', // 联系人 'contact_phone' // 联系电话 ], $request, true); // 2. 表单验证 $validate = Validate::make([ 'device_name' => 'require|max:100', // 设备名称必填,最多100字 'device_number' => 'require|integer|min:1', // 数量必填,正整数 'repair_problem' => 'require', // 问题描述必填 'return_address' => 'require|max:255', // 地址必填,最多255字 'contact_name' => 'require|max:50', // 联系人必填,最多50字 'contact_phone' => 'require|mobile', // 电话必填,手机号格式 ], [ 'device_name.require' => '请填写设备名称', 'device_number.require' => '请填写设备数量', 'device_number.min' => '设备数量至少1台', 'repair_problem.require' => '请描述报修问题', 'return_address.require' => '请填写寄回地址', 'contact_name.require' => '请填写联系人姓名', 'contact_phone.require' => '请填写联系电话', 'contact_phone.mobile' => '请填写正确的手机号' ]); if (!$validate->check($data)) { return json(['code' => 0, 'msg' => $validate->getError()]); } $rs=DeviceRepairModel::where('order_id', $data['order_id'])->where('product_id', $data['product_id'])->find(); if ($rs){ // return json(['code' => 0, 'msg' => '您已提交过报修单,请勿重复提交']); return app('json')->fail('您已提交过报修单,请勿重复提交'); } // 3. 提交表单到数据库 $result = DeviceRepairModel::addRepairForm($data); if (!$result) { // return json(['code' => 0, 'msg' => '报修表单提交失败,请重试']); return app('json')->fail('报修表单提交失败,请重试'); } // 4. 返回成功(带报修单号) return app('json')->successful($result); // return json([ // 'code' => 200, // 'msg' => '报修表单提交成功', // 'data' => [ // 'repair_sn' => $result['repair_sn'], // 自动生成的单号 // ] // ]); } }