Silent il y a 6 ans
Parent
commit
24f98cfedf

+ 22 - 0
app/Http/Controllers/Admin/FormSetController.php

xqd xqd
@@ -2,6 +2,7 @@
 
 namespace App\Http\Controllers\Admin;
 
+use App\Models\FormData;
 use App\Models\FormSet;
 use Illuminate\Http\Request;
 
@@ -57,4 +58,25 @@ class FormSetController extends Controller
         }
         return $this->showMessage('操作成功');
     }
+
+    public function submitForm(Request $request)
+    {
+        if(empty($request->input('data')) || !is_array($request->input('data'))) {
+            return response()->json(['status' => 'fail', 'info' => '参数错误']);
+        }
+        $data = $request->input('data');
+        if(!isset($data['type']) || !in_array($data['type'], ['pay', 'form'])) {
+            return response()->json(['status' => 'fail', 'info' => '参数错误']);
+        }
+        
+        if(isset($data['checkbox']) && is_array($data['checkbox'])) {
+            $data['checkbox'] = implode(',', $data['checkbox']);
+        }
+        unset($data['type']);
+        $res = FormData::create($data);
+        if(empty($res)) {
+            return response()->json(['status' => 'fail', 'info' => '保存失败']);
+        }
+        return response()->json(['status' => 'success', 'info' => '提交成功']);
+    }
 }

+ 2 - 1
routes/wechat.php

xqd
@@ -18,4 +18,5 @@ Route::get('getAnnounces', 'ApiController@getAnnounces');
 Route::post('updateUserInfo', 'ApiController@updateUserInfo');
 Route::get('bindPhone', 'ApiController@bindPhone');
 Route::post('getPhone', 'ApiController@getPhone');
-Route::get('getFormSet', 'ApiController@getFormSet');
+Route::get('getFormSet', 'ApiController@getFormSet');
+Route::post('submitForm', 'ApiController@submitForm');

+ 62 - 0
wechat/pages/form/index.js

xqd xqd
@@ -18,6 +18,7 @@ Page({
       url: api.getFormSetUrl,
       method: 'GET',
       success: res => {
+        console.log(res)
         if(res.data.status == 'success') {
           that.setData({
             data: res.data.data
@@ -33,6 +34,67 @@ Page({
     })
   },
 
+  formSubmit: function(e) {
+    var that = this,
+        data = that.data.data,
+        value = e.detail.value;
+    value.id = '1';
+    console.log(value)
+    if(data.text_1_need == 1 && !value.text_1) {
+      wx.showToast({
+        icon: 'none',
+        title: data.text_1 + '必填',
+      })
+      return false;
+    }
+    if (data.text_2_need == 1 && !value.text_2) {
+      wx.showToast({
+        icon: 'none',
+        title: data.text_2 + '必填',
+      })
+      return false;
+    }
+    if (data.text_3_need == 1 && !value.text_3) {
+      wx.showToast({
+        icon: 'none',
+        title: data.text_3 + '必填',
+      })
+      return false;
+    }
+    if (data.text_4_need == 1 && !value.text_4) {
+      wx.showToast({
+        icon: 'none',
+        title: data.text_4 + '必填',
+      })
+      return false;
+    }
+    if (data.multi_text_need == 1 && !value.multi_text) {
+      wx.showToast({
+        icon: 'none',
+        title: data.multi_text + '必填',
+      })
+      return false;
+    }
+    if (data.radio_need == 1 && !value.radio) {
+      wx.showToast({
+        icon: 'none',
+        title: data.radio + '必填',
+      })
+      return false;
+    }
+    if (data.checkbox_need == 1 && !value.checkbox) {
+      wx.showToast({
+        icon: 'none',
+        title: data.checkbox + '必填',
+      })
+      return false;
+
+      wx.request({
+        url: api.submitFormUrl,
+      })
+    }
+    
+  },
   /**
    * 生命周期函数--监听页面初次渲染完成
    */

+ 25 - 4
wechat/pages/form/index.wxml

xqd xqd
@@ -1,6 +1,6 @@
 <!--pages/form/index.wxml-->
 <view class='form-contaienr'>
-  <form>
+  <form bindsubmit="formSubmit">
     <image wx:if="{{ data.top_image }}" src='{{ data.top_image }}' class='top-image'></image>
     <view class='top-desp' wx:if="{{ data.top_desp }}">{{ data.top_desp }}</view>
     <view wx:if="{{ data.mode == 1 }}" class='mode-1-container'>
@@ -44,9 +44,30 @@
           <view class='form-label'>
             <text wx:if="{{ data.radio_need == 1 }}" class='need-label'>*</text>{{ data.radio }}</view>
           <view class='form-input'>
-            <label class="radio" wx:for="{{ data.radio_value }}">
-              <radio value="{{ item }}"/>{{ item }}
-            </label>
+            <radio-group name='radio'>
+              <label class="radio" wx:for="{{ data.radio_value }}">
+                <radio value="{{ item }}"/>{{ item }}
+              </label>
+            </radio-group>
+          </view>
+        </view>
+        <view wx:if="{{ data.checkbox_status == 1 }}" class='form-group'>
+          <view class='form-label'>
+            <text wx:if="{{ data.checkbox_need == 1 }}" class='need-label'>*</text>{{ data.checkbox }}</view>
+          <view class='form-input'>
+            <checkbox-group name='checkbox'>
+              <label class="radio" wx:for="{{ data.checkbox_value }}">
+                <checkbox value="{{ item }}"/>{{ item }}
+              </label>
+            </checkbox-group>
+          </view>
+        </view>
+        <view class='form-btn'>
+          <view wx:if='{{ data.money && data.money != "0" }}'>
+            <button formType="submit" type='primary'>付款</button>
+          </view>
+          <view wx:else>
+            <button formType="submit" type='primary'>提交</button>
           </view>
         </view>
       </view>

+ 3 - 0
wechat/pages/form/index.wxss

xqd
@@ -22,4 +22,7 @@
 }
 .mode-1-container .need-label {
   color: red;
+}
+.mode-1-container .form-btn {
+  margin: 10px;
 }

+ 1 - 0
wechat/utils/api.js

xqd
@@ -19,4 +19,5 @@ module.exports = {
   bindPhoneUrl: headUrl + 'bindPhone',
   getPhoneUrl: headUrl + 'getPhone',
   getFormSetUrl: headUrl + 'getFormSet',
+  submitFormUrl: headUrl + 'submitForm',
 }