king
2022-07-04 6946907d67937f5dea759e1c8ffdcdc9d6765ed4
2022-07-04
13个文件已修改
203 ■■■■ 已修改文件
src/menu/components/share/copycomponent/index.jsx 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/share/sourcecomponent/index.scss 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/table/edit-table/columns/tableIn/customscript/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/commontable/index.jsx 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/subtable/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/subtabtable/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/mutilform/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/mutilform/mkCheckCard/index.jsx 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/modalconfig/checkCard/index.jsx 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/zshare/formconfig.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/utils-datamanage.js 129 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/utils.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/share/copycomponent/index.jsx
@@ -28,6 +28,17 @@
        _val.setting.type = 'linkmenu'
        _val.setting.linkMenuId = ''
        _val.setting.copyMenuId = ''
      } else if (_val.type === 'menubar' && _val.subtype === 'menubar') {
        let cell = _val.subMenus[0]
        _val.subMenus = []
        if (cell) {
          cell.setting.type = 'menu'
          cell.setting.linkMenuId = ''
          cell.setting.copyMenuId = ''
          _val.subMenus.push(cell)
        }
      }
      _val = window.btoa(window.encodeURIComponent(JSON.stringify(_val)))
src/menu/components/share/sourcecomponent/index.scss
@@ -72,4 +72,7 @@
    height: 28px;
    line-height: 26px;
  }
  .ant-radio-group {
    white-space: nowrap;
  }
}
src/menu/components/table/edit-table/columns/tableIn/customscript/index.jsx
@@ -37,7 +37,7 @@
    fields.push('jskey')
    let _sql = `Declare @${btn.sheet} table (${usefulfields.map(item => item.field + ' ' + item.type).join(',')},jskey nvarchar(50),data_type nvarchar(50),BID nvarchar(50))
      Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(50),@mk_organization nvarchar(50),@login_city nvarchar(50),@ErrorCode nvarchar(50), @retmsg nvarchar(4000),@tbid Nvarchar(512)
      Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(50),@mk_organization nvarchar(50),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100),@ErrorCode nvarchar(50), @retmsg nvarchar(4000),@tbid Nvarchar(512)
      Select @ErrorCode='', @retmsg=''
    `
    
src/tabviews/commontable/index.jsx
@@ -630,7 +630,7 @@
  }
  customCallbackRequest = (result) => {
    const { setting } = this.state
    const { setting, BID } = this.state
    let errSql = ''
    if (result.$ErrCode === 'E') {
      errSql = `
@@ -652,10 +652,10 @@
      `))
      sql = sql.join('')
      
      param = UtilsDM.getCallBackQueryParams(setting, sql, errSql)
      param = UtilsDM.getCallBackQueryParams(setting, sql, errSql, BID)
      if (this.state.BID) {
        param.BID = this.state.BID
      if (BID) {
        param.BID = BID
      }
      if (this.props.menuType === 'HS') { // 函数 sPC_TableData_InUpDe 云端验证
src/tabviews/custom/index.jsx
@@ -403,7 +403,7 @@
      `))
      sql = sql.join('')
      
      param = UtilsDM.getCallBackQueryParams(setting, sql, errSql)
      param = UtilsDM.getCallBackQueryParams(setting, sql, errSql, this.state.BID)
      if (this.state.BID) {
        param.BID = this.state.BID
@@ -1066,7 +1066,7 @@
   * @description 主表数据加载
   */ 
  loadmaindata = (params) => {
    let param = getStructuredParams(params, this.state.config, this.state.BID)
    let param = getStructuredParams(params, this.state.config, this.state.BID || '')
    this.setState({loading: true, loadingview: false})
src/tabviews/subtable/index.jsx
@@ -544,7 +544,7 @@
      `))
      sql = sql.join('')
      
      param = UtilsDM.getCallBackQueryParams(setting, sql, errSql)
      param = UtilsDM.getCallBackQueryParams(setting, sql, errSql, BID)
      if (BID) {
        param.BID = BID
src/tabviews/subtabtable/index.jsx
@@ -483,7 +483,7 @@
      `))
      sql = sql.join('')
      
      param = UtilsDM.getCallBackQueryParams(setting, sql, errSql)
      param = UtilsDM.getCallBackQueryParams(setting, sql, errSql, this.props.BID)
      if (this.props.BID) {
        param.BID = this.props.BID
src/tabviews/zshare/mutilform/index.jsx
@@ -258,8 +258,8 @@
            })
          } else if (item.regular === 'letter&number') {
            _rules.push({
              pattern: /^[a-zA-Z0-9_]*$/ig,
              message: '请输入数字、字母以及_'
              pattern: /^[a-zA-Z0-9@_.]*$/ig,
              message: '请输入数字、字母以及@_.'
            })
          } else if (item.regular === 'phone') {
            _rules.push({
src/tabviews/zshare/mutilform/mkCheckCard/index.jsx
@@ -231,10 +231,10 @@
      return options.map(item => {
        let _active = false
        if (multiple === 'true' && selectKeys.includes(item.$value)) {
          _active = true
        } else if (multiple !== 'true' && selectKeys === item.$value) {
          _active = true
        if (multiple === 'true') {
          _active = selectKeys.includes(item.$value)
        } else {
          _active = selectKeys === item.$value
        }
        return <Col span={width} key={item.key}>
src/templates/modalconfig/checkCard/index.jsx
@@ -10,7 +10,9 @@
    onChange: PropTypes.func,    // 数据切换
  }
  state = {}
  state = {
    appType: sessionStorage.getItem('appType'),
  }
  getCards = () => {
    const { display, width, options, fields, ratio, picratio, backgroundColor } = this.props.config
@@ -23,7 +25,7 @@
    }
    let cls = ''
    if (_options.length * width <= 24) {
    if (_options.length * width <= 24 && this.state.appType !== 'mob') {
      cls = 'no-margin-bottom'
    }
    if (display === 'picture') {
src/templates/zshare/formconfig.jsx
@@ -2932,7 +2932,7 @@
        text: '字母'
      }, {
        value: 'letter&number',
        text: '数字、字母以及_'
        text: '数字、字母以及_@_.'
      }, {
        value: 'phone',
        text: '手机号'
src/utils/utils-datamanage.js
@@ -20,7 +20,7 @@
    let param = null
    if (setting.interType === 'system' || (setting.interType === 'custom' && setting.requestMode === 'system')) {
      param = this.getDefaultQueryParam(setting, arrFields, search, orderBy, pageIndex, pageSize, menuType, id)
      param = this.getDefaultQueryParam(setting, arrFields, search, orderBy, pageIndex, pageSize, menuType, id, BID)
    } else {
      param = this.getCustomQueryParam(setting, search, orderBy, pageIndex, pageSize, menuType, id)
    }
@@ -81,7 +81,7 @@
  /**
   * @description 获取系统存储过程 sPC_Get_TableData 的参数
   */
  static getDefaultQueryParam (setting, arrFields, search, orderBy, pageIndex, pageSize, menuType, id) {
  static getDefaultQueryParam (setting, arrFields, search, orderBy, pageIndex, pageSize, menuType, id, BID) {
    let param = {
      func: 'sPC_Get_TableData',
      obj_name: 'data',
@@ -127,6 +127,22 @@
    _dataresource = _dataresource.replace(/@sum\$/ig, '*/')
    _customScript = _customScript.replace(/\$sum@/ig, '/*')
    _customScript = _customScript.replace(/@sum\$/ig, '*/')
    let time_id = Utils.getguid().substring(0, 32) || ''
    _dataresource = _dataresource.replace(/@ID@/ig, `''`)
    _customScript = _customScript.replace(/@ID@/ig, `''`)
    _dataresource = _dataresource.replace(/@BID@/ig, `'${BID || ''}'`)
    _customScript = _customScript.replace(/@BID@/ig, `'${BID || ''}'`)
    _dataresource = _dataresource.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`)
    _customScript = _customScript.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`)
    _dataresource = _dataresource.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
    _customScript = _customScript.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
    _dataresource = _dataresource.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
    _customScript = _customScript.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
    _dataresource = _dataresource.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
    _customScript = _customScript.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
    _dataresource = _dataresource.replace(/@time_id@/ig, `'${time_id}'`)
    _customScript = _customScript.replace(/@time_id@/ig, `'${time_id}'`)
    let regoptions = null
    if (setting.queryType === 'statistics' || _customScript) {
@@ -303,6 +319,22 @@
    _customScript = _customScript.replace(/\$select@/ig, '/*')
    _customScript = _customScript.replace(/@select\$/ig, '*/')
    let time_id = Utils.getguid().substring(0, 32) || ''
    _dataresource = _dataresource.replace(/@ID@/ig, `''`)
    _customScript = _customScript.replace(/@ID@/ig, `''`)
    _dataresource = _dataresource.replace(/@BID@/ig, `'${BID || ''}'`)
    _customScript = _customScript.replace(/@BID@/ig, `'${BID || ''}'`)
    _dataresource = _dataresource.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`)
    _customScript = _customScript.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`)
    _dataresource = _dataresource.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
    _customScript = _customScript.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
    _dataresource = _dataresource.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
    _customScript = _customScript.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
    _dataresource = _dataresource.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
    _customScript = _customScript.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
    _dataresource = _dataresource.replace(/@time_id@/ig, `'${time_id}'`)
    _customScript = _customScript.replace(/@time_id@/ig, `'${time_id}'`)
    let regoptions = null
    if (setting.queryType === 'statistics' || _customScript) {
      let allSearch = Utils.getAllSearchOptions(search)
@@ -407,7 +439,7 @@
    let param = null
    if (setting.procMode !== 'inner') {
      param = this.getDefaultPrevQueryParam(setting, search, menuType)
      param = this.getDefaultPrevQueryParam(setting, search, menuType, BID)
    } else {
      param = Utils.formatCustomMainSearch(search)
      param.func = setting.prevFunc || ''
@@ -423,7 +455,7 @@
  /**
   * @description 获取系统前置脚本
   */
  static getDefaultPrevQueryParam (setting, search, menuType) {
  static getDefaultPrevQueryParam (setting, search, menuType, BID) {
    let param = {
      func: 'sPC_TableData_InUpDe',
      exec_type: 'y',
@@ -465,35 +497,32 @@
      `
      let allSearch = Utils.getAllSearchOptions(search)
      let regoptions = allSearch.map(item => {
        return {
          reg: new RegExp('@' + item.key + '@', 'ig'),
          value: `'${item.value}'`
        }
      allSearch.forEach(item => {
        sql = sql.replace(new RegExp('@' + item.key + '@', 'ig'), `'${item.value}'`)
      })
      regoptions.push({
        reg: new RegExp('@userName@', 'ig'),
        value: `'${userName}'`
      }, {
        reg: new RegExp('@fullName@', 'ig'),
        value: `'${fullName}'`
      })
      regoptions.forEach(item => {
        sql = sql.replace(item.reg, item.value)
      })
      // 测试系统打印查询语句
      if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) {
        console.info(sql.replace(/\n\s{8}/ig, '\n'))
      }
    }
    if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
      sql = sql.replace(/\$@/ig, '/*')
      sql = sql.replace(/@\$/ig, '*/')
    } else {
      sql = sql.replace(/@\$|\$@/ig, '')
      }
      sql = sql.replace(/@userName@/ig, `'${userName}'`)
      sql = sql.replace(/@fullName@/ig, `'${fullName}'`)
      sql = sql.replace(/@ID@/ig, `''`)
      sql = sql.replace(/@BID@/ig, `'${BID || ''}'`)
      sql = sql.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`)
      sql = sql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
      sql = sql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
      sql = sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
      sql = sql.replace(/@time_id@/ig, `'${Utils.getguid().substring(0, 32) || ''}'`)
      // 测试系统打印查询语句
      if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) {
        console.info(sql.replace(/\n\s{8}/ig, '\n'))
      }
    }
    param.LText = Utils.formatOptions(sql)
@@ -512,7 +541,7 @@
  /**
   * @description 获取系统回调脚本
   */
  static getCallBackQueryParams (setting, sql, errSql) {
  static getCallBackQueryParams (setting, sql, errSql, BID) {
    let param = {
      func: 'sPC_TableData_InUpDe',
      exec_type: 'y',
@@ -564,18 +593,26 @@
    sql = _prevCustomScript + sql
    sql = sql + _backCustomScript
    if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
      sql = sql.replace(/\$@/ig, '/*')
      sql = sql.replace(/@\$/ig, '*/')
    } else {
      sql = sql.replace(/@\$|\$@/ig, '')
    }
    sql = sql.replace(/@ID@/ig, `''`)
    sql = sql.replace(/@BID@/ig, `'${BID || ''}'`)
    sql = sql.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`)
    sql = sql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
    sql = sql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
    sql = sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
    sql = sql.replace(/@time_id@/ig, `'${Utils.getguid().substring(0, 32) || ''}'`)
    if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) {
      console.info(sql.replace(/\n\s{8}/ig, '\n'))
    }
    param.LText = sql
    if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
      param.LText = param.LText.replace(/\$@/ig, '/*')
      param.LText = param.LText.replace(/@\$/ig, '*/')
    } else {
      param.LText = param.LText.replace(/@\$|\$@/ig, '')
    }
    param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
    param.secretkey = Utils.encrypt('', param.timestamp)
@@ -749,13 +786,18 @@
 * @description 生成sPC_Get_structured_data请求参数
 * 1、把大接口sPC_Get_structured_data的ltext拆成三份,第一段:@LText1,第二段@LText,第三段@LText2
 */
export function getStructuredParams (params, config, BID = '') {
export function getStructuredParams (params, config, BID) {
  let LText_field = []
  let diffUser = false
  let transaction = false
  let time_id = Utils.getguid().substring(0, 32) || ''
  let loginId = `'${sessionStorage.getItem('LoginUID') || ''}'`
  let sessionId = `'${localStorage.getItem('SessionUid') || ''}'`
  let userId = `'${sessionStorage.getItem('UserID') || ''}'`
  
  let _LText = params.map((item, index) => {
    let _script = item.script
    let _sql = item.sql
    if (!diffUser && (/@userid@/ig.test(item.sql) || /@userid@/ig.test(_script))) {
      diffUser = true
@@ -764,10 +806,25 @@
      transaction = true
    }
    _sql = _sql.replace(/@ID@/ig, `''`)
    _script = _script.replace(/@ID@/ig, `''`)
    _sql = _sql.replace(/@BID@/ig, `'${BID || ''}'`)
    _script = _script.replace(/@BID@/ig, `'${BID || ''}'`)
    _sql = _sql.replace(/@LoginUID@/ig, loginId)
    _script = _script.replace(/@LoginUID@/ig, loginId)
    _sql = _sql.replace(/@SessionUid@/ig, sessionId)
    _script = _script.replace(/@SessionUid@/ig, sessionId)
    _sql = _sql.replace(/@UserID@/ig, userId)
    _script = _script.replace(/@UserID@/ig, userId)
    _sql = _sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
    _script = _script.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
    _sql = _sql.replace(/@time_id@/ig, `'${time_id}'`)
    _script = _script.replace(/@time_id@/ig, `'${time_id}'`)
    item.columns.forEach(cell => {
      LText_field.push(`Select '${item.name}' as tablename,'${cell.field}' as fieldname,'${cell.datatype}' as field_type`)
    })
    return `Select '${item.name}' as tablename,'${window.btoa(window.encodeURIComponent(item.sql))}' as LText,'${window.btoa(window.encodeURIComponent(_script))}' as Lcustomize,'${item.type}' as table_type,'${item.primaryKey}' as primary_key,'${item.par_tablename}' as par_tablename,'${item.foreign_key}' as foreign_key,'${index}' as Sort`
    return `Select '${item.name}' as tablename,'${window.btoa(window.encodeURIComponent(_sql))}' as LText,'${window.btoa(window.encodeURIComponent(_script))}' as Lcustomize,'${item.type}' as table_type,'${item.primaryKey}' as primary_key,'${item.par_tablename}' as par_tablename,'${item.foreign_key}' as foreign_key,'${index}' as Sort`
  })
  let param = {
src/utils/utils.js
@@ -74,12 +74,11 @@
  static getguid () {
    // 产生一个新的GUID值
    let uuid = []
    let d = new Date()
    let options = '0123456789abcdefghigklmnopqrstuv'
    for (let i = 0; i < 19; i++) {
      uuid.push(options.substr(Math.floor(Math.random() * 0x20), 1))
    }
    uuid = moment().format('YYYYMMDDHHmmss') + d.getMilliseconds() + uuid.join('')
    uuid = moment().format('YYYYMMDDHHmmssSSS') + uuid.join('')
    return uuid.toUpperCase()
  }
@@ -795,6 +794,9 @@
    if (window.GLOB.externalDatabase !== null) {
      sql = sql.replace(/@db@/ig, window.GLOB.externalDatabase)
    }
    sql = sql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
    sql = sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
    if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) {
      console.info(sql)
@@ -2060,6 +2062,22 @@
      aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg`
  }
  let time_id = []
  let options = '0123456789abcdefghigklmnopqrstuv'
  for (let i = 0; i < 15; i++) {
    time_id.push(options.substr(Math.floor(Math.random() * 0x20), 1))
  }
  time_id = moment().format('YYYYMMDDHHmmssSSS') + time_id.join('')
  time_id = time_id.toUpperCase()
  _sql = _sql.replace(/@ID@/ig, `'${primaryId || ''}'`)
  _sql = _sql.replace(/@BID@/ig, `'${BID || ''}'`)
  _sql = _sql.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`)
  _sql = _sql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
  _sql = _sql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
  _sql = _sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
  _sql = _sql.replace(/@time_id@/ig, `'${time_id}'`)
  if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) {
    // _sql = _sql.replace(/\n\s{8}/ig, '\n')
    console.info(_sql)