浏览代码

宣讲会

linwu 4 月之前
父节点
当前提交
92a9c83188

+ 66 - 4
app/Http/Controllers/Mobile/Health/TeachController.php

@@ -3,22 +3,84 @@
 namespace App\Http\Controllers\Mobile\Health;
 
 use App\Http\Controllers\Mobile\MobileBaseController;
+use App\Models\Presentation;
+use App\Models\PresentationAppoint;
+use App\Repositories\CategoryMajorRepository;
+use App\Repositories\CategoryRepository;
 use App\Services\Common\CategoryService;
+use App\Validators\PresentationAppointValidatorRequest;
+use Illuminate\Support\Facades\Storage;
+use App\Repositories\CategoryDistrictRepository;
 
 class TeachController extends MobileBaseController
 {
     protected $categoryService;
+    protected $CategoryDistrictRepository;
+    protected $CategoryMajorRepository;
+    protected $CategoryRepository;
 
-    public function __construct(CategoryService $categoryService)
+    public function __construct(CategoryService $categoryService, CategoryDistrictRepository $categoryDistrictRepository, CategoryMajorRepository $CategoryMajorRepository, CategoryRepository $CategoryRepository)
     {
-        $this->categoryService = $categoryService;
+        $this->categoryService            = $categoryService;
+        $this->CategoryDistrictRepository = $categoryDistrictRepository;
+        $this->CategoryMajorRepository    = $CategoryMajorRepository;
+        $this->CategoryRepository         = $CategoryRepository;
+    }
+
+    public function uploadHead()
+    {
+        $image_data = request()->pic1;
+        $saveName   = 'person/images/' . uniqid() . '.jpg';
+        $data       = base64_decode($image_data);
+        if (!empty($data)) {
+            $res = Storage::disk('public')->put($saveName, $data);
+            return response()->json(['status' => 1, 'info' => 'success', 'data' => $saveName]);
+        } else {
+            return response()->json(['status' => 0, 'info' => '请上传图片']);
+        }
     }
 
     public function index()
     {
-        $district = $this->categoryService->getDefaultDistrict();
+        $district          = $this->categoryService->getDefaultDistrict();
+        $presentation_list = Presentation::where('status', 1)->get();
         return view('mobile.app.health.teach.index', [
-            'defaultCity' => $district->defaultCity,
+            'presentation_list' => $presentation_list,
+            'defaultCity'       => $district->defaultCity,
         ]);
     }
+
+    public function save(PresentationAppointValidatorRequest $request)
+    {
+        $data = $request->only('pid', 'avatar', 'realname', 'sex', 'mobile', 'birthday', 'native_place', 'fresh', 'education', 'school', 'dep', 'pro_type', 'pro_text', 'attachment');
+
+        $check = PresentationAppoint::where('pid', $data['pid'])->where('mobile', $data['mobile'])->first();
+        if (!empty($check)) {
+            return response()->json(['status' => 0, 'msg' => '您已提交过,请勿重复提交']);
+        }
+
+        //籍贯
+        $native_place_arr = explode('.', $data['native_place']);
+        $houseRes         = $this->CategoryDistrictRepository->getManydistrict($native_place_arr);
+        $native_place_cn  = '';
+        foreach ($houseRes as $k => $v) {
+            $native_place_cn .= $v['name'];
+        }
+        $data['native_place'] = $native_place_cn;
+
+        //专业类别
+        $majorArr         = $this->CategoryMajorRepository->getCategoryMajor($data['pro_type']);
+        $data['pro_type'] = $majorArr['name'];
+
+        //学历
+        $educationArr      = $this->CategoryRepository->getCategory($data['education']);
+        $data['education'] = $educationArr['demand'];
+
+        //其他处理
+        $data['avatar']     = $data['avatar'] ?? '';
+        $data['attachment'] = $data['attachment'] ?? '';
+
+        PresentationAppoint::create($data);
+        return response()->json(['status' => 1]);
+    }
 }

+ 44 - 0
app/Validators/PresentationAppointValidatorRequest.php

@@ -0,0 +1,44 @@
+<?php
+
+namespace App\Validators;
+
+use App\Validators\Rules\MobileRule;
+use Validator;
+
+class PresentationAppointValidatorRequest extends BaseValidatorRequest
+{
+
+    public function save()
+    {
+        return [
+            'rules'    => [
+                'pid'          => 'required',
+                'realname'     => 'required',
+                'sex'          => 'required',
+                'mobile'       => ['required', new MobileRule()],
+                'birthday'     => 'required',
+                'native_place' => 'required',
+                'fresh'        => 'required',
+                'education'    => 'required',
+                'school'       => 'required',
+                'dep'          => 'required',
+                'pro_type'     => 'required',
+                'pro_text'     => 'required',
+            ],
+            'messages' => [
+                'pid.required'          => '请选择报名场次',
+                'realname.required'     => '姓名不能为空',
+                'sex.required'          => '请选择性别',
+                'mobile.required'       => '手机号不能为空',
+                'birthday.required'     => '出生年份不能为空',
+                'native_place.required' => '籍贯不能为空',
+                'fresh.required'        => '请选择是否应届',
+                'education.required'    => '学历不能为空',
+                'school.required'       => '毕业院校不能为空',
+                'dep.required'          => '院系不能为空',
+                'pro_type.required'     => '请选择专业类别',
+                'pro_text.required'     => '具体专业不能为空',
+            ],
+        ];
+    }
+}

+ 1 - 1
public/themes/default/assets/mobile/css/common.css

@@ -166,7 +166,7 @@ u{text-decoration:none;}
 .plist-txt .describe{position:relative;float:left;height:100%;border-bottom:1px #F2F2F2 solid;width:3.9rem;text-align:right;color:#999999;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
 .plist-txt a.describe{text-decoration:none;}
 .plist-txt .describe input{width:4.35rem;height:100%;border:0px;text-align:right;background:transparent;padding-right:0.65rem;outline:0;-webkit-text-size-adjust:none;tap-highlight-color:rgba(0,0,0,.05);-webkit-tap-highlight-color:rgba(0,0,0,.05);-ms-tap-highlight-color:rgba(0,0,0,.05);}
-.plist-txt .describe select{width:3.6rem;height:100%;position:absolute;top:0;right:0;z-index:1;border: none;}
+.plist-txt .describe select{width:3.6rem;height:100%;position:absolute;top:0;right:0;z-index:1;border: none;opacity: .01;}
 .plist-txt .describe .browseFile{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;}
 .plist-txt .describe .p-radio{vertical-align:middle;width:.35rem;height:.35rem;}
 .plist-txt .describe .selectdiv{width:100%;height:100%;position:relative}

+ 206 - 180
public/themes/default/views/mobile/app/health/teach/index.blade.php

@@ -25,209 +25,198 @@
         </div>
     </div>
 
-    <div class="list_height plist-txt qs-relative">
-        <div class="pic"></div>
-        <div class="tit font14">简历照片</div>
-        <div class="describe font13">
-            <div class="avatar">
-                <img id="avatars" src="{{asset('themes/default/assets/mobile/images/no_photo_male.png')}}">
+    <form action="" id="form">
+        <div class="list_height plist-txt qs-relative">
+            <div class="pic"></div>
+            <div class="tit font14">照片<span class="font_red_light">*</span></div>
+            <div class="describe font13">
+                <div class="avatar">
+                    <img id="avatars" src="{{asset('themes/default/assets/mobile/images/no_photo_male.png')}}">
+                </div>
             </div>
+            <div class="arrow"></div>
+            <div class="clear"></div>
+            <input type="hidden" id="avatar" name="avatar" value="">
+            <input type="file" id="browseFile" class="browseFile">
         </div>
-        <div class="arrow"></div>
-        <div class="clear"></div>
-        <input type="file" id="browseFile" class="browseFile">
-    </div>
-    <div class="list_height plist-txt notarrow">
-        <div class="pic"></div>
-        <div class="tit font14">姓名<span class="font_red_light">*</span></div>
-        <div class="describe font13">
-            <input type="text" id="fullname" placeholder="请输入姓名" value="">
+        <div class="list_height plist-txt notarrow">
+            <div class="pic"></div>
+            <div class="tit font14">姓名<span class="font_red_light">*</span></div>
+            <div class="describe font13">
+                <input type="text" id="realname" name="realname" placeholder="请输入姓名" value="">
+            </div>
+            <div class="arrow"></div>
+            <div class="clear"></div>
         </div>
-        <div class="arrow"></div>
-        <div class="clear"></div>
-    </div>
-    <div class="list_height plist-txt notarrow">
-        <div class="pic"></div>
-        <div class="tit font14">性别<span class="font_red_light">*</span></div>
-        <div id="sex" class="describe font13">
-            <div class="radio-group x2">
-                <div class="radio-cell">
-                    <label for="radio4">男</label>
-                    <input id="radio4" name="sex" type="radio" value="1" title="男" checked="checked">
-                </div>
-                <div class="radio-cell">
-                    <label for="radio5">女</label>
-                    <input id="radio5" name="sex" type="radio" value="2" title="女">
+        <div class="list_height plist-txt notarrow">
+            <div class="pic"></div>
+            <div class="tit font14">性别<span class="font_red_light">*</span></div>
+            <div id="sex" class="describe font13">
+                <div class="radio-group x2">
+                    <div class="radio-cell">
+                        <label for="radio4">男</label>
+                        <input id="radio4" name="sex" type="radio" value="1" title="男" checked="checked">
+                    </div>
+                    <div class="radio-cell">
+                        <label for="radio5">女</label>
+                        <input id="radio5" name="sex" type="radio" value="0" title="女">
+                    </div>
+                    <div class="clear"></div>
                 </div>
-                <div class="clear"></div>
             </div>
+            <div class="arrow"></div>
+            <div class="clear"></div>
         </div>
-        <div class="arrow"></div>
-        <div class="clear"></div>
-    </div>
-    <div class="list_height plist-txt notarrow">
-        <div class="pic"></div>
-        <div class="tit font14">联系方式<span class="font_red_light">*</span></div>
-        <div class="describe font13">
-            <input type="text" id="mobile" name="mobile" placeholder="请输入联系方式"  value="">
+        <div class="list_height plist-txt notarrow">
+            <div class="pic"></div>
+            <div class="tit font14">手机号码<span class="font_red_light">*</span></div>
+            <div class="describe font13">
+                <input type="text" id="mobile" name="mobile" placeholder="请输入联系方式"  value="">
+            </div>
+            <div class="arrow"></div>
+            <div class="clear"></div>
         </div>
-        <div class="arrow"></div>
-        <div class="clear"></div>
-    </div>
-    <div class="list_height plist-txt">
-        <div class="pic"></div>
-        <div class="tit font14">出生年份<span class="font_red_light">*</span></div>
-        <div class="describe font13">
-            <span class="for-select"></span>
-            <select id="birthdate" name="birthdate">
-                <option value="">请选择</option>
-                <option value="2003">2003年</option>
-                <option value="2001年">2001年</option>
-                <option value="2000年">2000年</option>
-                <option value="1999年">1999年</option>
-                <option value="1998年">1998年</option>
-                <option value="1997年">1997年</option>
-                <option value="1996年">1996年</option>
-                <option value="1995年">1995年</option>
-                <option value="1994年">1994年</option>
-                <option value="1993年">1993年</option>
-                <option value="1992年">1992年</option>
-                <option value="1991年">1991年</option>
-            </select>
+        <div class="list_height plist-txt notarrow">
+            <div class="pic"></div>
+            <div class="tit font14">出生年份<span class="font_red_light">*</span></div>
+            <div class="describe font13">
+                <input readonly required id="birthday" name="birthday" type="text" placeholder="请选择年月日" value="">
+            </div>
+            <div class="arrow"></div>
+            <div class="clear"></div>
         </div>
-        <div class="arrow"></div>
-        <div class="clear"></div>
-    </div>
 
-    <div class="list_height plist-txt js-actionParent">
-        <div class="pic"></div>
-        <div class="tit font14">籍贯<span class="font_red_light">*</span></div>
-        <div class="describe font13 qs-temp js-showActionSheet" data-type="city2" data-base="QS_city_parent" data-source="QS_city" data-multiple="false" data-num="0" data-link="false" data-level="3" data-addjob="true">
-            <span class="qs-temp-txt-city2" data-otxt="">请选择</span>
-            <input class="qs-temp-code-city2" name="householdaddress" id="householdaddress" type="hidden" value="">
-        </div>
-        <div class="arrow"></div>
-        <div class="clear"></div>
-        <!--BEGIN actionSheet-->
-        <div>
-            <div class="qs-mask" style="display: none"></div>
-            <div class="qs-actionsheet js-actionsheet">
-                <div class="qs-actionsheet-menu">
-                    <div class="con-filter">
-                        <div class="f-selected-group f-selected-group-city2">
-                            <div class="s-bar">
-                                <div class="qs-btn qs-btn-inline qs-btn-small qs-btn-border-gray qs-left js-cancelActionSheet">取消</div>
-                                <div class="clear"></div>
+        <div class="list_height plist-txt js-actionParent">
+            <div class="pic"></div>
+            <div class="tit font14">籍贯<span class="font_red_light">*</span></div>
+            <div class="describe font13 qs-temp js-showActionSheet" data-type="city2" data-base="QS_city_parent" data-source="QS_city" data-multiple="false" data-num="0" data-link="false" data-level="3" data-addjob="true">
+                <span class="qs-temp-txt-city2" data-otxt="">请选择</span>
+                <input class="qs-temp-code-city2" name="native_place" id="native_place" type="hidden" value="">
+            </div>
+            <div class="arrow"></div>
+            <div class="clear"></div>
+            <!--BEGIN actionSheet-->
+            <div>
+                <div class="qs-mask" style="display: none"></div>
+                <div class="qs-actionsheet js-actionsheet">
+                    <div class="qs-actionsheet-menu">
+                        <div class="con-filter">
+                            <div class="f-selected-group f-selected-group-city2">
+                                <div class="s-bar">
+                                    <div class="qs-btn qs-btn-inline qs-btn-small qs-btn-border-gray qs-left js-cancelActionSheet">取消</div>
+                                    <div class="clear"></div>
+                                </div>
+                                <div class="s-list qs-hidden"></div>
                             </div>
-                            <div class="s-list qs-hidden"></div>
+                            <div class="f-box f-box-city2"></div>
                         </div>
-                        <div class="f-box f-box-city2"></div>
                     </div>
                 </div>
             </div>
         </div>
-    </div>
-    <div class="list_height plist-txt">
-        <div class="pic"></div>
-        <div class="tit font14">是否应届<span class="font_red_light">*</span></div>
-        <div class="describe font13">
-            <span class="for-select"></span>
-            <select id="birthdate" name="birthdate">
-                <option value="">请选择</option>
-                <option value="1">是</option>
-                <option value="2">否</option>
-            </select>
-        </div>
-        <div class="arrow"></div>
-        <div class="clear"></div>
-    </div>
-    <div class="list_height plist-txt">
-        <div class="pic"></div>
-        <div class="tit font14">当前学历<span class="font_red_light">*</span></div>
-        <div class="describe font13">
-            <span class="for-select"></span>
-            <select id="education" name="education">
-                <option value="">请选择</option>
-                @foreach($category['other']['AIX_education'] as $key => $val )
-                    <option value="{{ explode(',',$val)[0] }}" >{{ explode(',',$val)[1] }}</option>
-                @endforeach
-            </select>
+        <div class="list_height plist-txt">
+            <div class="pic"></div>
+            <div class="tit font14">是否应届<span class="font_red_light">*</span></div>
+            <div class="describe font13">
+                <span class="for-select"></span>
+                <select id="fresh" name="fresh">
+                    <option value="">请选择</option>
+                    <option value="1">是</option>
+                    <option value="0">否</option>
+                </select>
+            </div>
+            <div class="arrow"></div>
+            <div class="clear"></div>
         </div>
-        <div class="arrow"></div>
-        <div class="clear"></div>
-    </div>
-    <div class="list_height plist-txt notarrow">
-        <div class="pic"></div>
-        <div class="tit font14">毕业学校<span class="font_red_light">*</span></div>
-        <div class="describe font13">
-            <input type="text" id="school" name="school" placeholder="请输入毕业学校"  value="">
+        <div class="list_height plist-txt">
+            <div class="pic"></div>
+            <div class="tit font14">当前学历<span class="font_red_light">*</span></div>
+            <div class="describe font13">
+                <span class="for-select"></span>
+                <select id="education" name="education">
+                    <option value="">请选择</option>
+                    @foreach($category['other']['AIX_education'] as $key => $val )
+                        <option value="{{ explode(',',$val)[0] }}" >{{ explode(',',$val)[1] }}</option>
+                    @endforeach
+                </select>
+            </div>
+            <div class="arrow"></div>
+            <div class="clear"></div>
         </div>
-        <div class="arrow"></div>
-        <div class="clear"></div>
-    </div>
-    <div class="list_height plist-txt notarrow">
-        <div class="pic"></div>
-        <div class="tit font14">院系<span class="font_red_light">*</span></div>
-        <div class="describe font13">
-            <input type="text" id="xi" name="xi" placeholder="请输入院系"  value="">
+        <div class="list_height plist-txt notarrow">
+            <div class="pic"></div>
+            <div class="tit font14">毕业学校<span class="font_red_light">*</span></div>
+            <div class="describe font13">
+                <input type="text" id="school" name="school" placeholder="请输入毕业学校"  value="">
+            </div>
+            <div class="arrow"></div>
+            <div class="clear"></div>
         </div>
-        <div class="arrow"></div>
-        <div class="clear"></div>
-    </div>
-    <div class="list_height plist-txt js-actionParent">
-        <div class="pic"></div>
-        <div class="tit font14">专业</div>
-        <div class="describe font13 qs-temp-level-major js-showActionSheet" data-type="major" data-base="QS_major_parent" data-source="QS_major" data-multiple="false" data-num="0" data-link="false">
-            <span class="qs-temp-txt-major" data-otxt="请选择">请选择</span>
-            <input class="qs-temp-code-major" name="major" id="major" type="hidden" value="" />
+        <div class="list_height plist-txt notarrow">
+            <div class="pic"></div>
+            <div class="tit font14">院系<span class="font_red_light">*</span></div>
+            <div class="describe font13">
+                <input type="text" id="dep" name="dep" placeholder="请输入院系"  value="">
+            </div>
+            <div class="arrow"></div>
+            <div class="clear"></div>
         </div>
-        <div class="arrow"></div>
-        <div class="clear"></div>
-        <!--BEGIN actionSheet-->
-        <div>
-            <div class="qs-mask" style="display: none"></div>
-            <div class="qs-actionsheet js-actionsheet">
-                <div class="qs-actionsheet-menu">
-                    <div class="con-filter">
-                        <div class="f-selected-group f-selected-group-major">
-                            <div class="s-bar">
-                                <div class="qs-btn qs-btn-inline qs-btn-small qs-btn-border-gray qs-left js-cancelActionSheet">取消</div>
-                                <div class="clear"></div>
+        <div class="list_height plist-txt js-actionParent">
+            <div class="pic"></div>
+            <div class="tit font14">专业<span class="font_red_light">*</span></div>
+            <div class="describe font13 qs-temp-level-major js-showActionSheet" data-type="major" data-base="QS_major_parent" data-source="QS_major" data-multiple="false" data-num="0" data-link="false">
+                <span class="qs-temp-txt-major" data-otxt="请选择">请选择</span>
+                <input class="qs-temp-code-major" name="pro_type" id="pro_type" type="hidden" value="" />
+            </div>
+            <div class="arrow"></div>
+            <div class="clear"></div>
+            <!--BEGIN actionSheet-->
+            <div>
+                <div class="qs-mask" style="display: none"></div>
+                <div class="qs-actionsheet js-actionsheet">
+                    <div class="qs-actionsheet-menu">
+                        <div class="con-filter">
+                            <div class="f-selected-group f-selected-group-major">
+                                <div class="s-bar">
+                                    <div class="qs-btn qs-btn-inline qs-btn-small qs-btn-border-gray qs-left js-cancelActionSheet">取消</div>
+                                    <div class="clear"></div>
+                                </div>
+                                <div class="s-list qs-hidden"></div>
                             </div>
-                            <div class="s-list qs-hidden"></div>
+                            <div class="f-box f-box-major"></div>
                         </div>
-                        <div class="f-box f-box-major"></div>
                     </div>
                 </div>
             </div>
         </div>
-    </div>
-    <div class="list_height plist-txt notarrow">
-        <div class="pic"></div>
-        <div class="tit font14">具体专业<span class="font_red_light">*</span></div>
-        <div class="describe font13">
-            <input type="text" id="ye" name="ye" placeholder="请输入具体专业"  value="">
+        <div class="list_height plist-txt notarrow">
+            <div class="pic"></div>
+            <div class="tit font14">具体专业<span class="font_red_light">*</span></div>
+            <div class="describe font13">
+                <input type="text" id="pro_text" name="pro_text" placeholder="请输入具体专业"  value="">
+            </div>
+            <div class="arrow"></div>
+            <div class="clear"></div>
         </div>
-        <div class="arrow"></div>
-        <div class="clear"></div>
-    </div>
-    <div class="list_height plist-txt">
-        <div class="pic"></div>
-        <div class="tit font14">报名场次<span class="font_red_light">*</span></div>
-        <div class="describe font13">
-            <span class="for-select"></span>
-            <select id="birthdate" name="birthdate">
-                <option value="">请选择</option>
-                <option value="1">2024年10月医生专场</option>
-                <option value="2">2024年11月护士专场</option>
-            </select>
+        <div class="list_height plist-txt">
+            <div class="pic"></div>
+            <div class="tit font14">报名场次<span class="font_red_light">*</span></div>
+            <div class="describe font13">
+                <span class="for-select"></span>
+                <select id="pid" name="pid">
+                    <option value="">请选择</option>
+                    @foreach($presentation_list as $presentation)
+                        <option value="{{$presentation['id']}}">{{$presentation['name']}}</option>
+                    @endforeach
+                </select>
+            </div>
+            <div class="arrow"></div>
+            <div class="clear"></div>
         </div>
-        <div class="arrow"></div>
-        <div class="clear"></div>
-    </div>
-    <div class="btn-spacing">
-        <a id="btnSave" class="qs-btn qs-btn-blue qs-btn-linear-orange bd4 font16 b-big">保存</a>
-    </div>
+        <div class="btn-spacing">
+            <button type="submit" class="qs-btn qs-btn-blue qs-btn-linear-orange bd4 font16 b-big">保存</button>
+        </div>
+    </form>
 @endsection
 
 @section('script')
@@ -235,7 +224,16 @@
     <script src="{{ theme_asset('mobile/js/qsCategory.js') }}"></script>
     <script src="{{ theme_asset('mobile/js/LocalResizeIMG.js') }}"></script>
     <script src="{{ theme_asset('mobile/js/nprogress.js') }}"></script>
+    <script src="{{ theme_asset('mobile/js/rolldate.min.js') }}"></script>
     <script>
+        new Rolldate({
+            el: '#birthday',
+            format: 'YYYY-MM-DD',
+            beginYear: 1900,
+            endYear: 2100,
+            value: "",
+        })
+
         var default_district = '<?php echo $defaultCity;?>';
         var str_major = '<?php echo json_encode($category['major']['first']);?>';
         var QS_major_parent = eval(str_major);
@@ -300,12 +298,13 @@
                 $.ajax({
                     headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
                     type: "POST",
-                    url: "{{ route($sub_site.'mobile.person.upload.head') }}",
+                    url: "{{ route('mobile.health.teach.uploadHead') }}",
                     data: submitData,
                     dataType:"json",
                     success: function(result){
                         if(result.status == 1){
                             $('#avatars').attr('src','/storage/'+result.data);
+                            $('#avatar').val('/storage/'+result.path);
                         }else{
                             qsToast({type:2,context:'上传失败!'});
                         }
@@ -319,9 +318,36 @@
             }
         });
 
-        $('#btnSave').click(function() {
-            alert('提交成功');
-            location.href = "{{route('mobile.health.index')}}";
+        $('#form').on('submit', function() {
+            var data = $(this).serialize();
+            $.ajax({
+                headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
+                url: "{{ route('mobile.health.teach.save') }}",
+                type: 'POST',
+                dataType: 'json',
+                data: data,
+                success : function(result){
+                    if (result.status == 1) {
+                        alert('提交成功');
+                        location.href = "{{route('mobile.health.index')}}";
+                    } else {
+                        qsToast({type:2,context: result.msg});
+                    }
+                },
+                error: function (errorData) {
+                    if (errorData.status==422) {//验证错误
+                        $.each(JSON.parse(errorData.response).errors,function (key,val) {
+                            qsToast({type:2,context: val[0]});
+                            return false;
+                        });
+                    }
+                    else if(errorData.status==400) {//业务错误
+                        qsToast({type:2,context: JSON.parse(errorData.response).message});
+                        return false;
+                    }
+                }
+            })
+            return false;
         });
     </script>
 @endsection

+ 2 - 0
routes/mobile.php

@@ -619,6 +619,8 @@ Route::group([
     $router->get('/jinjiang', 'Mobile\Health\IndexController@jinjiang')->name('mobile.health.jinjiang');
     $router->get('/policy', 'Mobile\Health\IndexController@policy')->name('mobile.health.policy');
     $router->get('/teach', 'Mobile\Health\TeachController@index')->name('mobile.health.teach.index');
+    $router->post('/teach/uploadHead', 'Mobile\Health\TeachController@uploadHead')->name('mobile.health.teach.uploadHead');
+    $router->post('/teach/save', 'Mobile\Health\TeachController@save')->name('mobile.health.teach.save');
     $router->get('/introduce', 'Mobile\Health\IntroduceController@index')->name('mobile.health.introduce.index');
     $router->get('/introduce/show', 'Mobile\Health\IntroduceController@show')->name('mobile.health.introduce.show');
     $router->get('/hospital', 'Mobile\Health\HospitalController@index')->name('mobile.health.hospital.index');