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' // 联系电话 // ]); list($device_name, $device_number, $order_id, $product_id, $repair_problem, $return_address, $contact_name, $contact_phone)= 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()]); // } if ($repair_problem == ''){ return app('json')->fail('请描述报修问题'); } if ($return_address == ''){ return app('json')->fail('请填写寄回地址'); } if ($contact_name == ''){ return app('json')->fail('请填写联系人姓名'); } if ($contact_phone == ''){ return app('json')->fail('请填写联系电话'); } if (!Validate::is($contact_phone,'mobile')){ return app('json')->fail('请填写正确的手机号'); } $data = [ 'device_name' => $device_name, 'device_number' => $device_number, 'order_id' => $order_id, 'product_id' => $product_id, 'repair_problem' => $repair_problem, 'return_address' => $return_address, 'contact_name' => $contact_name, 'contact_phone' => $contact_phone ]; $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'], // 自动生成的单号 // ] // ]); } }