Browse Source

no message

linwenxin 5 months ago
parent
commit
4e8baf0ca6

+ 11 - 28
src/views/setting/insuranceAdministration/InsuranceContract/InsuranceContractForm.vue

@@ -189,12 +189,7 @@ export default {
                           render: (h, { row, column, index }) => {
                             if (index) {
                               return (
-                                <el-form-item
-                                  prop={keys[i]}
-                                  rules={this.formRules.month1}
-                                  label-width="0px"
-                                  style="margin:0"
-                                >
+                                <el-form-item prop={keys[i]} label-width="0px" style="margin:0">
                                   {Math.ceil((formData[keys[i]] || 0) * (formData.policyPrice || 0)) / 100}
                                 </el-form-item>
                               )
@@ -214,6 +209,7 @@ export default {
                                     value={formData[keys[i]]}
                                     onInput={val => {
                                       formData[keys[i]] = val
+                                      this.$refs?.formRef?.validateField([keys[i]], () => {})
                                     }}
                                   >
                                     <span slot="suffix">%</span>
@@ -239,26 +235,7 @@ export default {
           attributes: { disabled: this.disabled },
           formItemAttributes: {
             label: '保障范围',
-            prop: 'policyRanges',
-            rules: [
-              {
-                required: true,
-                validator: (rule, value, callback) => {
-                  let bool = false
-                  for (let item of value) {
-                    if (!item.rangeName || !item.rangeText) {
-                      bool = true
-                    }
-                  }
-                  if (bool) {
-                    callback(new Error('全部必填'))
-                  } else {
-                    callback()
-                  }
-                },
-                trigger: 'blur'
-              }
-            ]
+            prop: 'policyRanges'
           },
           render: (h, { props }) => {
             var { formData } = props
@@ -298,12 +275,18 @@ export default {
                               </div>
                             ) : null
                           ) : (
-                            <el-form-item label-width="0px" style="margin:0">
+                            <el-form-item
+                              label-width="0px"
+                              style="margin:0"
+                              prop={`policyRanges.${index}.${item.prop}`}
+                              rules={[{ required: true, message: '请输入', trigger: 'blur' }]}
+                            >
                               <el-input
                                 disabled={this.disabled}
                                 value={row[item.prop]}
                                 onInput={val => {
                                   row[item.prop] = val
+                                  this.$refs?.formRef?.validateField([`policyRanges.${index}.${item.prop}`], () => {})
                                 }}
                               ></el-input>
                             </el-form-item>
@@ -378,7 +361,7 @@ export default {
           name: 'slot-component',
           md: 24,
           attributes: {},
-          formItemAttributes: { label: '', 'label-width': '0px', prop: 'policyWebsits', rules: [...required] },
+          formItemAttributes: { label: '', 'label-width': '0px', prop: 'policyWebsits', rules: [] },
           render: (h, { props, onInput }) => {
             var { formData } = props
             return (