king
2024-09-13 6bbf496f57d1a6da1d9d1142a806600504567f35
Merge branch 'master' into positec
7个文件已修改
65 ■■■■■ 已修改文件
src/tabviews/basetable/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/popview/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/normalbutton/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/mutilform/index.jsx 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/utils-custom.js 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/rolemanage/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/basetable/index.jsx
@@ -521,7 +521,7 @@
    if (cell.OpenType === 'excelOut') { // 导出
      cell.$menuName = item.$menuname
    } else if (cell.OpenType === 'pop' && cell.modal) {
      cell.modal.uuid = cell.uuid + 'pop'
      cell.modal.uuid = cell.uuid + '_pop'
    }
    if (cell.verify) {
src/tabviews/custom/index.jsx
@@ -981,7 +981,7 @@
        cell.modal.$cache = item.$cache
        cell.modal.$time = item.$time
      }
      cell.modal.uuid = cell.uuid + 'pop'
      cell.modal.uuid = cell.uuid + '_pop'
    }
    if (cell.verify) {
src/tabviews/custom/popview/index.jsx
@@ -672,7 +672,7 @@
    if (cell.OpenType === 'excelOut') { // 导出
      cell.$menuName = item.$menuname
    } else if (cell.OpenType === 'pop' && cell.modal) {
      cell.modal.uuid = cell.uuid + 'pop'
      cell.modal.uuid = cell.uuid + '_pop'
    }
    if (cell.verify) {
src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -836,7 +836,7 @@
    let formkeys = []
    formdata && formdata.forEach(form => {
      if (!ex.reps.includes(form.key)) return
      // if (!ex.reps.includes(form.key)) return
      formkeys.push(form.key)
src/tabviews/zshare/mutilform/index.jsx
@@ -4,6 +4,7 @@
import { Form, Row, Col, notification, Tooltip, Rate } from 'antd'
import { QuestionCircleOutlined, StarFilled } from '@ant-design/icons'
import moment from 'moment'
import md5 from 'md5'
import Api from '@/api'
import Utils from '@/utils/utils.js'
@@ -782,7 +783,7 @@
  resetFocus = (id, field) => {
    const { action } = this.props
    if (id !== action.uuid) return
    if (id !== action.uuid.replace(/_pop$/, '')) return
    let focusId = ''
@@ -851,7 +852,7 @@
  }
  getFormData = (deForms) => {
    if (window.backend && window.GLOB.CacheData.has('sql_' + deForms[0].uuid)) {
    if (window.backend && window.GLOB.CacheData.has('sql_' + md5(this.props.action.uuid.replace(/_pop$/, '') + deForms[0].uuid))) {
      this.improveBackActionForm(deForms)
    } else if (deForms.length === 1) {
      this.improveSimpleActionForm(deForms)
@@ -889,9 +890,16 @@
    let skip = false
    deForms.forEach(item => {
      let ex = window.GLOB.CacheData.get('sql_' + item.uuid)
      let ex = window.GLOB.CacheData.get('sql_' + md5(action.uuid.replace(/_pop$/, '') + item.uuid))
      
      if (!ex) return
      if (!ex) {
        notification.warning({
          top: 92,
          message: '表单(' + item.label + ')无可执行脚本。',
          duration: 5
        })
        return
      }
      
      let exps = []
      ex.reps.forEach(n => {
src/utils/utils-custom.js
@@ -3214,8 +3214,8 @@
          // 数据源sql语句,预处理,权限黑名单字段设置为隐藏表单
          if (['select', 'link', 'multiselect', 'radio', 'checkbox', 'checkcard'].includes(form.type) && form.resourceType === '1') {
            let msg = getFormSql(form, '表单')
            sqls.push({uuid: form.uuid, type: 'form', ...msg})
            sqls.push({uuid: md5(cell.uuid + form.uuid), type: 'form', ...msg})
          } else if (form.type === 'popSelect') {
            let msg = getPopSelectSql(form)
        
@@ -3248,7 +3248,7 @@
            if (['select', 'link', 'multiselect', 'radio', 'checkbox', 'checkcard'].includes(form.type) && form.resourceType === '1') {
              let msg = getFormSql(form, '表单')
    
              sqls.push({uuid: form.uuid, type: 'form', ...msg})
              sqls.push({uuid: md5(cell.uuid + form.uuid), type: 'form', ...msg})
            } else if (form.type === 'popSelect') {
              let msg = getPopSelectSql(form)
          
@@ -3797,7 +3797,11 @@
        let _key = item.key.toLowerCase()
  
        keys.push(_key)
        values.push('@mk_' + _key + '_mk@')
        if (item.type === 'number' || item.type === 'rate') {
          values.push('@mk_' + _key + '_mk@')
        } else {
          values.push(`'@mk_${_key}_mk@'`)
        }
      })
  
      if (!keys.includes(primaryKey.toLowerCase())) {
@@ -3841,7 +3845,11 @@
        let _key = item.key.toLowerCase()
        
        _arr.push(_key)
        _form.push(_key + '=@mk_' + _key + '_mk@')
        if (item.type === 'number' || item.type === 'rate') {
          _form.push(`${_key}=@mk_${_key}_mk@`)
        } else {
          _form.push(`${_key}='@mk_${_key}_mk@'`)
        }
      })
  
      if (_actionType === 'audit') {
@@ -4190,8 +4198,8 @@
      columns.forEach(col => {
        let _key = col.field.toLowerCase()
        if (formkeys.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_]', 'ig').test(_sql)) return
        if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(_sql)) return
        if (formkeys.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_@]', 'ig').test(_sql)) return
        // if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(_sql)) return
        colreps.push(col.field)
  
@@ -4301,6 +4309,7 @@
      return true
    })
    colreps = Array.from(new Set(colreps))
    reps = [...reps, ...colreps]
    
    return { LText: _sql, md5: md5(_sql), reps }
@@ -4447,7 +4456,7 @@
        `
    }
    let testSql = _prev + _back
    let testSql = _prev + _back + (btn.output || '')
    // 添加数据中字段,表单值优先(按钮不选行或多行拼接时跳过)
    if (btn.Ot !== 'notRequired' && columns.length > 0) {
@@ -4455,8 +4464,8 @@
      columns.forEach(col => {
        let _key = col.field.toLowerCase()
        if (formkeys.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_]', 'ig').test(testSql)) return
        if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(testSql)) return
        if (formkeys.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_@]', 'ig').test(testSql)) return
        // if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(testSql)) return
        colreps.push(col.field)
  
@@ -5544,8 +5553,8 @@
      component.columns.forEach(col => {
        let _key = col.field.toLowerCase()
        if (formkeys.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_]', 'ig').test(msg.LText)) return
        if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(msg.LText)) return
        if (formkeys.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_@]', 'ig').test(msg.LText)) return
        // if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(msg.LText)) return
        colreps.push(col.field)
  
@@ -5631,8 +5640,8 @@
    component.columns.forEach(col => {
      let _key = col.field.toLowerCase()
      if (syses.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_]', 'ig').test(_sql)) return
      if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(_sql)) return
      if (syses.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_@]', 'ig').test(_sql)) return
      // if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(_sql)) return
      colreps.push(col.field)
      
src/views/rolemanage/index.jsx
@@ -196,10 +196,10 @@
        })
        if (!im) {
          menus.push({nodes: '', type: 'none', extra: true, MenuID: app.instantMessage, MenuName: '即时通信'})
          menus.push({nodes: '', type: 'none', backend: 'level1', extra: true, MenuID: app.instantMessage, MenuName: '即时通信'})
        }
        if (!ub) {
          menus.push({nodes: '', type: 'none', extra: true, MenuID: app.userbind, MenuName: '用户绑定'})
          menus.push({nodes: '', type: 'none', backend: 'level1', extra: true, MenuID: app.userbind, MenuName: '用户绑定'})
        }
        this.setState({