zhaoxiaohai %!s(int64=2) %!d(string=hai) anos
pai
achega
d3c25de59e

+ 15 - 7
components/Yl_field/index.js

@@ -13,6 +13,14 @@ Component({
         multipleSlots: true //允许使用多个slot
     },
     methods: {
+        toOptions(e) {
+            const {
+                item
+            } = e.currentTarget.dataset;
+            wx.navigateTo({
+                url: '/packageA/options/index?data=' + JSON.stringify(item),
+            })
+        },
         /* 改变值 */
         inputChange(e) {
             let item = e.target.dataset.item,
@@ -81,14 +89,14 @@ Component({
             this.triggerEvent("onConfirm", this.data.form.some(v => v.required && v.value == ''))
         },
         /* 性别 */
-        sexChange(e){
+        sexChange(e) {
             let item = e.currentTarget.dataset.item,
-            index = this.data.form.findIndex(v => v.valueName === item.valueName);
-        this.setData({
-            [`form[${index}].value`]:  e.detail,
-            [`form[${index}].error`]: false,
-        });
-        this.confirm();
+                index = this.data.form.findIndex(v => v.valueName === item.valueName);
+            this.setData({
+                [`form[${index}].value`]: e.detail,
+                [`form[${index}].error`]: false,
+            });
+            this.confirm();
         },
         /* 提交 */
         submit() {

+ 15 - 1
components/Yl_field/index.wxml

@@ -66,7 +66,7 @@
                 </view>
                 <view style="position: relative;">
                     <view class="content">
-                        <van-radio-group  value="{{ item.value }}" data-item="{{item}}" bind:change="sexChange">
+                        <van-radio-group value="{{ item.value }}" data-item="{{item}}" bind:change="sexChange">
                             <view style="display: flex;">
                                 <van-radio icon-size='16' custom-class='radio' name="男">男</van-radio>
                                 <van-radio icon-size='16' name="女">女</van-radio>
@@ -76,6 +76,20 @@
                     <view wx:if="{{item.errMsg}}" class="error-tips">{{item.errMsg}}</view>
                 </view>
             </view>
+            <view class="picker" wx:elif="{{item.type=='option'}}">
+                <view class="label">
+                    <text class="need" style="color: {{item.required?'#EE0A24':'rgba(0,0,0,0)'}};">*</text>
+                    <text class="text">{{item.label}}</text>
+                </view>
+                <view style="position: relative;">
+                    <view class="content" style="justify-content: space-between; display: flex; align-items: flex-start;" data-item="{{item}}" bindtap="toOptions">
+                        <text wx:if="{{item.value.length}}" style="color: #000;">{{item.value}}</text>
+                        <text wx:else style="color: {{item.error?'#EE4C4E':''}};">{{item.placeholder}}</text>
+                        <van-icon name="arrow" style="flex-shrink: 0; margin-top: 12rpx;" />
+                    </view>
+                    <view wx:if="{{item.errMsg}}" class="error-tips">{{item.errMsg}}</view>
+                </view>
+            </view>
             <!-- 输入框 -->
             <van-field wx:else label="{{item.label}}" required="{{item.required}}" value="{{ item.value }}" placeholder="{{item.placeholder||'请填写'}}" label-class='label-class' type="{{item.type}}" error="{{item.error}}" error-message='{{item.errMsg}}' autosize border="{{ false }}" bind:input="inputChange" data-item="{{item}}">
                 <slot wx:if="{{item.slot}}" name="{{item.slot}}" slot='button' />

+ 2 - 1
components/Yl_field/index.wxss

@@ -25,12 +25,13 @@
 
 .picker .content {
   width: 480rpx;
-  height: 48rpx;
+  min-height: 48rpx;
   line-height: 48rpx;
   box-sizing: border-box;
   padding-left: 26rpx;
   font-size: 28rpx;
   color: #C8C9CC;
+  word-wrap: break-word;
 }
 
 .error-tips {