• antd form 表单


     
    摘要
      v-decorator="[
                          'numberValue',
                          { rules: [{ validator: myCheckNumber }], initialValue: currentRecord.calculateValue }
                        ]"
     
      v-decorator="[
                              item.value + 'inputnumber' + ruleItem.id,
                              {
                                rules: [{ required: item.showFlag, message: '请输入正确的非负整数', pattern: /^[0-9]+$/ }],
                                initialValue: null
                              }
                            ]"
     
     
     
     
          labelColRight: {
            xs: { span: 24 },
            sm: { span: 3 }
          },
          wrapperColRight: {
            xs: { span: 24 },
            sm: { span: 20 }
          },
     
     
      <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="内容包名称">
                      <!-- <span class="ant-form-text">{{ currentRecord.packagename }}</span> -->
                      <a-input
                        :disabled="pageMode === 'show'"
                        name="packagename"
                        autocomplete="off"
                        v-decorator="[
                          'packagename',
                          {
                            rules: [
                              { required: true, message: '内容包名不为空' },
                              { max: 25, message: '内容包名不超过25个字' }
                            ],
                            initialValue: currentRecord.packagename
                          }
                        ]"
                        placeholder="请输入内容包名"
                      />
                    </a-form-item>
     
    <div style="display:inline-block;">
                    <a-form-item>
                      <a-input
                        style="200px;margin-left:6px;"
                        placeholder="请输入数值"
                        @blur="handleBlurInput"
                        v-decorator="[
                          'numberValue',
                          { rules: [{ validator: myCheckNumber }], initialValue: currentRecord.calculateValue }
                        ]"
                      />
                    </a-form-item>
                  </div>
    <a-form-item
                          :labelCol="labelColRight"
                          :wrapperCol="wrapperColRight"
                          label="取值"
                          class="targetTypeDmsFormItem"
                        >
          


    <a-input-number :disabled="pageMode === 'show'" class="dms-inputnumber-style" v-if="item.ruleLeft === 3" v-decorator="[ item.value + 'inputnumber' + ruleItem.id, { rules: [{ required: item.showFlag, message: '请输入正确的非负整数', pattern: /^[0-9]+$/ }], initialValue: null } ]" :min="0" placeholder="请输入数值" @change="handleChangeRight($event, 'inputNumber', item, thisIndex)" />
        <a-date-picker
                            :disabled="pageMode === 'show'"
                            v-if="item.ruleLeft === 2"
                            style="200px;"
                            class="dms-datepicker-style"
                            v-decorator="[
                              item.value + 'datetime' + ruleItem.id,
                              {
                                rules: [{ type: 'object', required: item.showFlag, message: '请选择时间' }],
                                initialValue: null
                              }
                            ]"
                            show-time
                            format="YYYY-MM-DD HH:mm:ss"
                            @change="handleChangeRight($event, 'datepicker', item, thisIndex)"
                          />
     <a-textarea
                                  :disabled="pageMode === 'show'"
                                  v-if="item.inputType === 'textarea'"
                                  class="dms-textarea-style"
                                  v-decorator="[
                                    item.value + 'textarea' + ruleItem.id,
                                    {
                                      rules: [
                                        {
                                          required: item.showFlag && !wordPackageInfo[item.value].switch,
                                          message: '请输入取值'
                                        }
                                      ],
                                      initialValue: null
                                    }
                                  ]"
                                  placeholder="请输入取值,一行代表一个值"
                                  :rows="2"
                                  @change="handleChangeRight($event, 'textarea', item)"
                                />
    

      

    myCheckCustomNumberRange (value, cb) {
          if (
            this.currentRecord.dmsName[1] === 'lastActiveDay' ||
            this.currentRecord.dmsName[1] === 'lastActiveWeek' ||
            this.currentRecord.dmsName[1] === 'lastActiveMonth' ||
            this.currentRecord.dmsName[1] === 'activeDayBySometime' ||
            this.currentRecord.dmsName[1] === 'activeDayBySomeweek'
          ) {
            let maxDay = 1
            if (
              this.currentRecord.dmsName[1] === 'lastActiveDay' ||
              this.currentRecord.dmsName[1] === 'activeDayBySometime' ||
              this.currentRecord.dmsName[1] === 'activeDayBySomeweek'
            ) {
              maxDay = parseInt(this.currentRecord.dmsNameStr[2])
            } else if (this.currentRecord.dmsName[1] === 'lastActiveWeek') {
              maxDay = parseInt(this.currentRecord.dmsNameStr[2]) * 7
            } else if (this.currentRecord.dmsName[1] === 'lastActiveMonth') {
              maxDay = parseInt(this.currentRecord.dmsNameStr[2]) * 31
            }
            if (value > maxDay) {
              cb('最大值不超过' + maxDay + '天')
            } else {
              cb()
            }
          } else {
            cb()
          }
        },
        myCheckIntNumber (value, cb, haveZero) {
          if (value.length > 10) {
            return cb('请输入十位以内的数值')
          } else {
            const v = parseInt(value)
            if (haveZero) {
              if (v < 0) {
                return cb('请输入正确的非负整数')
              } else if (!/^[0-9]d*$/.test(value)) {
                cb('请输入正确的非负整数')
              } else if (value.length > 1 && (value[0] === '0' || value[0] === 0)) {
                cb('请输入正确的非负整数')
              } else {
                this.myCheckCustomNumberRange(value, cb)
              }
            } else {
              if (v < 1) {
                return cb('请输入正确的正整数')
              } else if (!/^[1-9]d*$/.test(value)) {
                cb('请输入正确的正整数')
              } else {
                cb()
              }
            }
          }
        },
        myCheckPercentNumber (value, cb) {
          // 输入时0.不报错,保存时0.报错
          const regA = /^0.d{1,6}$/
          const regB = /^1.0{1,6}$/
          if (regA.test(value) || regB.test(value)) {
            cb()
          } else {
            if (value === '0' || value === '1') {
              cb()
            } else {
              if (value === '1.' || value === '0.') {
                if (this.oldUpdateNum === this.newUpdateNum) {
                  // 实时校验
                  cb()
                } else {
                  // 保存时校验
                  cb('请检查数值的格式')
                  this.oldUpdateNum = this.newUpdateNum
                }
              } else {
                const regC = /^[0,1].d+$/
                if (regC.test(value)) {
                  if (value.length > 8) {
                    cb('小数位数不超过6位')
                  } else {
                    cb('请输入[0,1]范围内正确的数值')
                  }
                } else {
                  cb('请输入[0,1]范围内正确的数值')
                }
              }
            }
          }
        },
        myCheckNumber (rule, value, cb) {
          console.log('myCheckNumber check number , this.currentRecord is...', this.currentRecord)
          const haveZero = this.currentRecord.numberHaveZero
          if (value && value !== '') {
            if (this.currentRecord.numberIsPercent) {
              this.myCheckPercentNumber(value, cb)
            } else {
              if (haveZero) {
                this.myCheckIntNumber(value, cb, haveZero)
              } else {
                if (this.dmsType === 'literary_work') {
                  if (this.currentRecord.dmsNameStr[1].indexOf('百分比') > -1) {
                    this.myCheckPercentNumber(value, cb)
                  } else {
                    this.myCheckIntNumber(value, cb, haveZero)
                  }
                } else {
                  this.myCheckIntNumber(value, cb, haveZero)
                }
              } // end else
            }
          } else {
            cb('请输入数值')
          }
        },
    

      

  • 相关阅读:
    centos 更改root密码
    朋友新站http://www.1010yhq.com(1010优惠券网)
    NHibernate从入门到精通系列(3)——第一个NHibernate应用程序
    Windows 进化图
    NHibernate从入门到精通系列(1)——NHibernate概括
    Windows 7最全的硬盘安装方法
    C#面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式)
    NHibernate从入门到精通系列(2)——NHibernate环境与结构体系
    C#面向对象设计模式纵横谈(5):Factory Method 工厂方法模式(创建型模式)
    C#面向对象设计模式纵横谈(6):Prototype 原型模式(创建型模式)
  • 原文地址:https://www.cnblogs.com/dhjy123/p/12403765.html
Copyright © 2020-2023  润新知