king
2021-03-28 3935fec99cc3ad5ec9394952a84bc2ffdaf9ef97
2021-03-28
10个文件已修改
188 ■■■■ 已修改文件
src/menu/components/table/normal-table/columns/editColumn/formconfig.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/table/normal-table/columns/editColumn/index.jsx 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/table/normal-table/columns/editColumn/index.scss 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/share/normalTable/index.jsx 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/normalTable/index.jsx 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/modalconfig/source.jsx 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/sharecomponent/columncomponent/columnform/index.jsx 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/sharecomponent/columncomponent/columnform/index.scss 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/sharecomponent/fieldscomponent/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/zshare/formconfig.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/table/normal-table/columns/editColumn/formconfig.jsx
@@ -320,7 +320,7 @@
      options: menulist
    },
    {
      type: 'text',
      type: 'textarea',
      key: 'linkurl',
      label: '链接地址',
      initVal: card.linkurl || '',
src/menu/components/table/normal-table/columns/editColumn/index.jsx
@@ -7,6 +7,7 @@
import { formRule } from '@/utils/option.js'
import './index.scss'
const { TextArea } = Input
const columnTypeOptions = {
  text: ['label', 'field', 'type', 'Align', 'Hide', 'IsSort', 'Width', 'prefix', 'postfix', 'textFormat', 'blacklist', 'perspective', 'rowspan'],
  number: ['label', 'field', 'type', 'Align', 'Hide', 'IsSort', 'Width', 'decimal', 'format', 'prefix', 'postfix', 'blacklist', 'perspective', 'sum', 'rowspan'],
@@ -57,7 +58,7 @@
      if (column.perspective === 'linkmenu') {
        _options.push('linkmenu', 'linkfields')
      } else if (column.perspective === 'linkurl') {
        _options.push('linkurl')
        _options.push('linkurl', 'linkfields')
      }
    }
@@ -122,7 +123,7 @@
      if (value === 'linkmenu') {
        _options.push('linkmenu', 'linkfields')
      } else if (value === 'linkurl') {
        _options.push('linkurl')
        _options.push('linkurl', 'linkfields')
      }
      this.setState({
@@ -298,6 +299,27 @@
            </Form.Item>
          </Col>
        )
      } else if (item.type === 'textarea') { // 文本搜索
        fields.push(
          <Col span={24} key={index} className="textarea">
            <Form.Item label={item.tooltip ?
              <Tooltip placement="topLeft" title={item.tooltip}>
                <Icon type="question-circle" />
                {item.label}
              </Tooltip> : item.label
            }>
              {getFieldDecorator(item.key, {
                initialValue: item.initVal || '',
                rules: [
                  {
                    required: !!item.required,
                    message: this.props.dict['form.required.input'] + item.label + '!'
                  }
                ]
              })(<TextArea rows={2} disabled={item.readonly} onPressEnter={this.handleSubmit} />)}
            </Form.Item>
          </Col>
        )
      }
    })
    return fields
src/menu/components/table/normal-table/columns/editColumn/index.scss
@@ -16,4 +16,12 @@
      padding-right: 3px;
    }
  }
  .textarea {
    .ant-form-item-label {
      width: 12%;
    }
    .ant-form-item-control-wrapper {
      width: 88%;
    }
  }
}
src/tabviews/custom/components/share/normalTable/index.jsx
@@ -507,21 +507,22 @@
    const { tabviews } = this.props
    e.stopPropagation()
    let __param = {
      $searchkey: item.field,
      $searchval: record[item.field] || '',
      $BID: record.$$uuid
    }
    if (item.linkfields && item.linkfields.length > 0) {
      item.linkfields.forEach(field => {
        __param[field] = record[field] || ''
      })
    }
    if (item.linkThdMenu) {
      let tabmenu = item.linkThdMenu
      tabmenu.param = {
        $searchkey: item.field,
        $searchval: record[item.field] || '',
        $BID: record.$$uuid
      }
      if (item.linkfields && item.linkfields.length > 0) {
        item.linkfields.forEach(field => {
          tabmenu.param[field] = record[field] || ''
        })
      }
      tabmenu.param = __param
      tabmenu.selected = true
  
      let tabs = tabviews.filter((tab, i) => {
@@ -537,26 +538,36 @@
        tabs.push(tabmenu)
        this.props.modifyTabview(tabs)
      })
    } else {
    } else if (item.linkurl) {
      let src = item.linkurl
      if (item.linkurl.indexOf('paramsmain/') > -1) {
      if (src.indexOf('paramsmain/') > -1) {
        try {
          let _url = item.linkurl.split('paramsmain/')[0] + 'paramsmain/'
          let _param = JSON.parse(window.decodeURIComponent(window.atob(item.linkurl.split('paramsmain/')[1])))
          let dataparam = {
            $searchkey: item.field,
            $searchval: record[item.field] || '',
            BID: record.$$uuid
          }
          _param.UserID = sessionStorage.getItem('UserID')
          _param.LoginUID = sessionStorage.getItem('LoginUID')
          _param.User_Name = sessionStorage.getItem('User_Name')
          _param.param = dataparam
          _param.param = __param
          src = _url + window.btoa(window.encodeURIComponent(JSON.stringify(_param)))
        } catch {
          console.warn('菜单参数解析错误!')
        }
      } else {
        let con = '?'
        if (/\?/ig.test(src)) {
          con = '&'
        }
        if (item.linkfields && item.linkfields.length > 0) {
          item.linkfields.forEach(field => {
            if (field.toLowerCase() === 'id') return
            con += `${field}=${record[field] || ''}&`
          })
        }
        src = src + `${con}id=${record.$$uuid}&appkey=${window.GLOB.appkey}&userid=${sessionStorage.getItem('UserID')}&LoginUID=${sessionStorage.getItem('LoginUID') || ''}`
      }
      window.open(src)
src/tabviews/zshare/normalTable/index.jsx
@@ -211,25 +211,26 @@
  // 字段透视
  triggerLink = (e, item, record) => {
    const { tabviews, MenuID, setting } = this.props
    const { tabviews, MenuID } = this.props
    e.stopPropagation()
    let __param = {
      $searchkey: item.field,
      $searchval: record[item.field] || '',
      $BID: record.$$uuid
    }
    if (item.linkfields && item.linkfields.length > 0) {
      item.linkfields.forEach(field => {
        __param[field] = record[field] || ''
      })
    }
    if (item.linkThdMenu) {
      let tabmenu = item.linkThdMenu
      tabmenu.param = {
        $searchkey: item.field,
        $searchval: record[item.field] || '',
        $BID: record.$$uuid
      }
      if (item.linkfields && item.linkfields.length > 0) {
        item.linkfields.forEach(field => {
          tabmenu.param[field] = record[field] || ''
        })
      }
      tabmenu.param = __param
      tabmenu.selected = true
  
      let index = 0
@@ -255,26 +256,36 @@
        }
        this.props.modifyTabview(tabs)
      })
    } else {
    } else if (item.linkurl) {
      let src = item.linkurl
      if (item.linkurl.indexOf('paramsmain/') > -1) {
      if (src.indexOf('paramsmain/') > -1) {
        try {
          let _url = item.linkurl.split('paramsmain/')[0] + 'paramsmain/'
          let _param = JSON.parse(window.decodeURIComponent(window.atob(item.linkurl.split('paramsmain/')[1])))
          let dataparam = {
            $searchkey: item.field,
            $searchval: record[item.field] || '',
            BID: record[setting.primaryKey]
          }
          _param.UserID = sessionStorage.getItem('UserID')
          _param.LoginUID = sessionStorage.getItem('LoginUID')
          _param.User_Name = sessionStorage.getItem('User_Name')
          _param.param = dataparam
          _param.param = __param
          src = _url + window.btoa(window.encodeURIComponent(JSON.stringify(_param)))
        } catch {
          console.warn('菜单参数解析错误!')
        }
      } else {
        let con = '?'
        if (/\?/ig.test(src)) {
          con = '&'
        }
        if (item.linkfields && item.linkfields.length > 0) {
          item.linkfields.forEach(field => {
            if (field.toLowerCase() === 'id') return
            con += `${field}=${record[field] || ''}&`
          })
        }
        src = src + `${con}id=${record.$$uuid}&appkey=${window.GLOB.appkey}&userid=${sessionStorage.getItem('UserID')}&LoginUID=${sessionStorage.getItem('LoginUID') || ''}`
      }
      window.open(src)
src/templates/modalconfig/source.jsx
@@ -30,6 +30,8 @@
      options: [],
      orderType: 'asc',
      decimal: 0,
      span: 12,
      labelwidth: 33.3,
      min: '',
      max: '',
      readonly: 'false',
@@ -46,6 +48,8 @@
      options: [],
      orderType: 'asc',
      decimal: 0,
      span: 12,
      labelwidth: 33.3,
      min: '',
      max: '',
      readonly: 'false',
@@ -62,6 +66,8 @@
      options: [],
      orderType: 'asc',
      decimal: 0,
      span: 12,
      labelwidth: 33.3,
      min: '',
      max: '',
      readonly: 'false',
src/templates/sharecomponent/columncomponent/columnform/index.jsx
@@ -5,6 +5,7 @@
import { formRule } from '@/utils/option.js'
import './index.scss'
const { TextArea } = Input
const columnTypeOptions = {
  text: ['label', 'field', 'type', 'Align', 'Hide', 'IsSort', 'Width', 'prefix', 'postfix', 'textFormat', 'fieldlength', 'blacklist', 'perspective', 'rowspan'],
  number: ['label', 'field', 'type', 'Align', 'Hide', 'IsSort', 'Width', 'decimal', 'format', 'prefix', 'postfix', 'blacklist', 'perspective', 'sum', 'rowspan'],
@@ -37,7 +38,7 @@
      if (card.perspective === 'linkmenu') {
        _options.push('linkmenu', 'linkfields')
      } else if (card.perspective === 'linkurl') {
        _options.push('linkurl')
        _options.push('linkurl', 'linkfields')
      }
    }
@@ -77,7 +78,7 @@
        if (card.perspective === 'linkmenu') {
          _options.push('linkmenu', 'linkfields')
        } else if (card.perspective === 'linkurl') {
          _options.push('linkurl')
          _options.push('linkurl', 'linkfields')
        }
      }
@@ -110,7 +111,7 @@
      if (value === 'linkmenu') {
        _options.push('linkmenu', 'linkfields')
      } else if (value === 'linkurl') {
        _options.push('linkurl')
        _options.push('linkurl', 'linkfields')
      }
      this.setState({
@@ -175,6 +176,27 @@
            </Form.Item>
          </Col>
        )
      } else if (item.type === 'textarea') { // 文本搜索
        fields.push(
          <Col span={24} key={index} className="textarea">
            <Form.Item label={item.tooltip ?
              <Tooltip placement="topLeft" title={item.tooltip}>
                <Icon type="question-circle" />
                {item.label}
              </Tooltip> : item.label
            }>
              {getFieldDecorator(item.key, {
                initialValue: item.initVal || '',
                rules: [
                  {
                    required: !!item.required,
                    message: this.props.dict['form.required.input'] + item.label + '!'
                  }
                ]
              })(<TextArea rows={2} disabled={item.readonly} onPressEnter={this.handleSubmit} />)}
            </Form.Item>
          </Col>
        )
      } else if (item.type === 'number') {
        fields.push(
          <Col span={12} key={index}>
src/templates/sharecomponent/columncomponent/columnform/index.scss
@@ -16,4 +16,12 @@
      padding-right: 3px;
    }
  }
  .textarea {
    .ant-form-item-label {
      width: 12%;
    }
    .ant-form-item-control-wrapper {
      width: 88%;
    }
  }
}
src/templates/sharecomponent/fieldscomponent/index.jsx
@@ -247,7 +247,7 @@
  
      let _columns = [...columnsMap.values()]
      let lastItem = config.fields[config.fields.length - 1]
      let span = lastItem ? lastItem.span : 12
      let span = lastItem ? lastItem.span || 12 : 12
      _columns.forEach(item => { // 循环添加新增字段
        if (item.selected) {
src/templates/zshare/formconfig.jsx
@@ -1419,7 +1419,7 @@
      options: menulist
    },
    {
      type: 'text',
      type: 'textarea',
      key: 'linkurl',
      label: '链接地址',
      initVal: card.linkurl || '',
@@ -2427,7 +2427,7 @@
      max: 24,
      precision: 0,
      label: '表单宽度',
      initVal: card.span || ('textarea,hint,checkcard,brafteditor'.indexOf(card.type) > -1 ? 24 : 12),
      initVal: card.span || (['textarea', 'hint', 'checkcard', 'brafteditor'].includes(card.type) ? 24 : 12),
      tooltip: '栅格布局整行24等分。',
      required: true
    },