fetch(); // } /** * 提交报修表单(AJAX接口) * @return \think\response\Json */ public function submit() { // 1. 获取表单数据 $data = Request::post([ 'device_name', // 设备名称 'device_number', // 数量 'order_id', 'product_id', 'repair_problem', // 报修问题 'return_address', // 寄回地址 'contact_name', // 联系人 'contact_phone' // 联系电话 ]); // 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()]); } // 3. 提交表单到数据库 $result = DeviceRepairModel::addRepairForm($data); if (!$result) { return json(['code' => 0, 'msg' => '报修表单提交失败,请重试']); } // 4. 返回成功(带报修单号) return json([ 'code' => 200, 'msg' => '报修表单提交成功', 'data' => [ 'repair_sn' => $result['repair_sn'], // 自动生成的单号 'tips' => '请保存单号,以便查询进度' ] ]); } }