king
2025-04-17 b8b82900537c5b09a9aebc9538a97b332827c15c
src/tabviews/zshare/mutilform/index.jsx
@@ -173,6 +173,7 @@
      } else if (item.type === 'linkMain') {
        readin = false
        item.readin = false
        item.$verify = item.verifyVal === 'true'
      } else if (item.type === 'number') {
        item.decimal = item.decimal || 0
        item.fieldlength = item.decimal
@@ -181,12 +182,21 @@
      if (['select', 'link', 'radio', 'checkbox', 'checkcard', 'multiselect', 'cascader'].includes(item.type)) {
        item.options = item.options || []
        item.options = item.options.filter(cell => {
          cell.value = cell.Value
          cell.label = cell.Text
          return !cell.Hide
        })
        item.$select = true
        if (item.type === 'checkcard') {
          item.options = item.options.filter(cell => {
            cell.$value = cell.$value + ''
            return !cell.Hide
          })
        } else {
          item.options = item.options.filter(cell => {
            cell.value = cell.Value + ''
            cell.label = cell.Text
            return !cell.Hide
          })
        }
        if (item.setAll === 'true' && ['select', 'link', 'radio'].includes(item.type)) { // 添加空值
          item.options.unshift({
            key: Utils.getuuid(),
@@ -297,6 +307,8 @@
            newval = ''
          }
        }
      } else if (item.$select && item.resourceType === '0') {
        newval = newval + ''
      }
      if (newval !== '$empty') {
@@ -309,7 +321,7 @@
        if (isNaN(item.initval) || item.initval === '') {
          item.initval = 0
        }
      } else if (['select', 'link', 'radio', 'checkbox', 'checkcard', 'multiselect', 'cascader'].includes(item.type) && item.resourceType === '1') {
      } else if (item.$select && item.resourceType === '1') {
        deForms.push(item)
      } else if (item.type === 'rate') {
        item.rateCount = item.rateCount || 5
@@ -334,6 +346,9 @@
      item.rules = []
      if (item.type === 'text') {
        item.initval = item.initval + ''
        if (/@currentYear@/ig.test(item.initval)) { // 系统变量替换
          item.initval = item.initval.replace(/@currentYear@/ig, moment().format('YYYY'))
        }
        if (item.required === 'true') {
          item.rules.push({
@@ -400,7 +415,7 @@
            })
          } else if (item.regular === 'phone') {
            item.rules.push({
              pattern: /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/,
              pattern: /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\s?\d{4}\s?\d{4}$/,
              message: item.regularText || dict['phone_error'] || '请正确输入手机号'
            })
          } else if (item.regular === 'email') {
@@ -929,44 +944,71 @@
    })
    if (localItems.length) {
      deffers.push({
        $backend: true,
        $type: 's_Get_SelectedList',
        data: localItems
      })
      if (!window.GLOB.mkHS && window.GLOB.sysType === 'local' && window.GLOB.systemType !== 'production') {
        localItems.forEach(item => {
          deffers.push({
            $backend: true,
            $type: 's_Get_SelectedList',
            data: [item]
          })
        })
      } else {
        deffers.push({
          $backend: true,
          $type: 's_Get_SelectedList',
          data: localItems
        })
      }
    }
    if (mainItems.length) {
      deffers.push({
        $backend: true,
        $type: 's_Get_SelectedList',
        data: mainItems,
        rduri: window.GLOB.mainSystemApi
      })
      if (!window.GLOB.mkHS && window.GLOB.sysType === 'local' && window.GLOB.systemType !== 'production') {
        mainItems.forEach(item => {
          deffers.push({
            $backend: true,
            $type: 's_Get_SelectedList',
            data: [item],
            rduri: window.GLOB.mainSystemApi
          })
        })
      } else {
        deffers.push({
          $backend: true,
          $type: 's_Get_SelectedList',
          data: mainItems,
          rduri: window.GLOB.mainSystemApi
        })
      }
    }
    if (!deffers.length) return
    deffers = deffers.map(item => {
    deffers = deffers.map((item, i) => {
      return new Promise(resolve => {
        Api.getSystemCacheConfig(item, cache).then(res => {
          if (!res.status) {
            if (res.ErrCode !== '-2') {
              notification.warning({
                top: 92,
                message: res.message,
                duration: 5
              })
        setTimeout(() => {
          Api.getSystemCacheConfig(item, cache).then(res => {
            if (!res.status) {
              if (res.ErrCode !== '-2') {
                notification.warning({
                  top: 92,
                  message: res.message,
                  duration: 5
                })
              }
              skip = true
            }
            skip = true
          }
          resolve(res)
        })
            resolve(res)
          })
        }, 30 * i)
      })
    })
    Promise.all(deffers).then(response => {
      let result = {...response[0], ...(response[1] || {})}
      let result = {}
      response.forEach(item => {
        result = {...result, ...item}
      })
      delete result.ErrCode
      delete result.ErrMesg
@@ -1534,6 +1576,11 @@
            key: item.field,
            isconst: item.constant === 'true'
          }
          if (item.$verify) {
            _item.$verify = true
            _item.label = item.label
          }
    
          _item.value = record[item.field] !== undefined ? record[item.field] : ''
    
@@ -1542,10 +1589,10 @@
          } else if (item.declare === 'decimal') {
            _item.type = 'number'
            _item.fieldlen = item.decimal || 0
          } else if (['text', 'textarea', 'linkMain'].includes(item.type)) {
          } else if (['text', 'textarea', 'linkMain', 'brafteditor'].includes(item.type)) {
            _item.value = _item.value + ''
            _item.value = _item.value.replace(/\t+|\v+/g, '')       // 去除制表符
            if (item.interception !== 'false') {                    // 去除首尾空格
              if (item.interception === 'func') {
                try {
@@ -1575,14 +1622,19 @@
                _item.value = _item.value.replace(/(^\s*|\s*$)/g, '')
              }
            }
            if (item.type === 'text' && /@appkey@|@SessionUid@|@bid@/ig.test(_item.value)) { // 特殊字段替换
              _item.value = _item.value.replace(/^(\s*)@appkey@(\s*)$/ig, window.GLOB.appkey).replace(/^(\s*)@SessionUid@(\s*)$/ig, (localStorage.getItem('SessionUid') || '')).replace(/^(\s*)@bid@(\s*)$/ig, (this.props.BID || ''))
            }
            if (item.type === 'text' && item.lenControl && item.lenControl !== 'limit') {
              if (item.lenControl === 'left') {
                _item.value = _item.value.substr(0, item.fieldlength)
              } else {
                _item.value = _item.value.slice(-item.fieldlength)
            if (item.type === 'text') {
              if (/@appkey@|@SessionUid@|@bid@/ig.test(_item.value)) { // 特殊字段替换
                _item.value = _item.value.replace(/^(\s*)@appkey@(\s*)$/ig, window.GLOB.appkey).replace(/^(\s*)@SessionUid@(\s*)$/ig, (localStorage.getItem('SessionUid') || '')).replace(/^(\s*)@bid@(\s*)$/ig, (this.props.BID || ''))
              }
              if (item.lenControl && item.lenControl !== 'limit') {
                if (item.lenControl === 'left') {
                  _item.value = _item.value.substr(0, item.fieldlength)
                } else {
                  _item.value = _item.value.slice(-item.fieldlength)
                }
              }
              if (item.regular === 'phone') {
                _item.value = _item.value.replace(/\s+/g, '')
              }
            }
          } else if (item.type === 'datemonth') {