king
2022-04-26 526d2be8959e6e99c1afd31cf213f0f1e7a56a8b
2022-04-26
14个文件已修改
190 ■■■■■ 已修改文件
src/menu/components/card/cardcomponent/index.jsx 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/data-card/index.jsx 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/data-card/index.scss 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/data-card/options.jsx 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/prop-card/index.jsx 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/prop-card/index.scss 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/tree/antd-tree/index.scss 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/datasource/verifycard/index.jsx 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/cardcellList/index.jsx 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/data-card/index.jsx 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/data-card/index.scss 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/prop-card/index.jsx 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/prop-card/index.scss 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/tree/antd-tree/index.scss 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/cardcomponent/index.jsx
@@ -19,7 +19,6 @@
class CardBoxComponent extends Component {
  static propTpyes = {
    offset: PropTypes.any,           // 偏移量
    cards: PropTypes.object,         // 卡片行配置信息
    card: PropTypes.object,          // 卡片配置信息
    move: PropTypes.func,            // 卡片移动
@@ -320,7 +319,7 @@
  }
  render() {
    const { cards, offset } = this.props
    const { cards } = this.props
    const { card, elements, side, visible } = this.state
    let _style = {...card.style}
@@ -338,7 +337,7 @@
    _style = resetStyle(_style)
    return (
      <Col span={card.setting.width || 6} offset={offset || 0}>
      <Col span={card.setting.width || 6}>
        <div className={'card-item ' + (card.setting.btnControl || '')} style={_style} onClick={this.clickComponent} onDoubleClick={(e) => {e.stopPropagation(); this.doubleClickCard()}} id={card.uuid}>
          <CardCellComponent cards={cards} cardCell={card} side={side} elements={elements} updateElement={this.updateCard}/>
          <div className="card-control" onDoubleClick={(e) => e.stopPropagation()}>
src/menu/components/card/data-card/index.jsx
@@ -643,17 +643,6 @@
  render() {
    const { card, appType } = this.state
    let offset = 0
    if (card.wrap.cardFloat && card.wrap.cardFloat !== 'left') {
      let _width = 0
      card.subcards.forEach(card => {
        _width += card.setting.width
      })
      offset = _width < 24 ? 24 - _width : 0
      if (card.wrap.cardFloat === 'center') {
        offset = Math.floor(offset / 2)
      }
    }
    let _style = resetStyle(card.style)
    return (
@@ -679,7 +668,9 @@
          <ToolOutlined />
        </Popover>
        <ActionComponent config={card} type="datacard" setSubConfig={this.setSubConfig} updateaction={this.updateComponent}/>
        {card.subcards.map((subcard, index) => (<CardComponent key={subcard.uuid} offset={!index ? offset : 0} cards={card} card={subcard} move={this.move} updateElement={this.updateCard} deleteElement={this.deleteCard}/>))}
        <div className={'float-' + (card.wrap.cardFloat || 'left')}>
          {card.subcards.map((subcard, index) => (<CardComponent key={subcard.uuid} cards={card} card={subcard} move={this.move} updateElement={this.updateCard} deleteElement={this.deleteCard}/>))}
        </div>
        <div style={{clear: 'both'}}></div>
        {card.wrap.pagestyle === 'page' && card.setting.laypage === 'true' && appType !== 'mob' ? <Pagination total={85} size="small" showTotal={total => `共 ${total} 条`} pageSize={20} defaultCurrent={1}/> : null}
        {card.wrap.pagestyle === 'page' && card.setting.laypage === 'true' && appType === 'mob' ? <MobPagination /> : null}
src/menu/components/card/data-card/index.scss
@@ -91,6 +91,24 @@
      font-size: 16px;
    }
  }
  .float-center {
    text-align: center;
    >.ant-col {
      display: inline-block;
      float: none;
      text-align: left;
      vertical-align: top;
    }
  }
  .float-right {
    text-align: right;
    >.ant-col {
      display: inline-block;
      float: none;
      text-align: left;
      vertical-align: top;
    }
  }
}
.menu-data-card-edit-box::-webkit-scrollbar {
src/menu/components/card/data-card/options.jsx
@@ -104,7 +104,8 @@
      ],
      controlFields: subtype !== 'propcard' ? [
        {field: 'printHeight', values: ['flex']},
      ] : [],
        {field: 'cardFloat', values: ['grid']},
      ] : [{field: 'cardFloat', values: ['grid']}],
      forbid: subtype === 'tablecard'
    },
    {
@@ -202,7 +203,7 @@
      field: 'cardFloat',
      label: '对齐方式',
      initval: wrap.cardFloat || 'left',
      tooltip: '设置为居中对齐或右对齐,只在卡片为1行时有效。',
      tooltip: '设置卡片的对齐方式。',
      required: false,
      options: [
        {value: 'left', label: '左对齐'},
src/menu/components/card/prop-card/index.jsx
@@ -467,18 +467,6 @@
  render() {
    const { card } = this.state
    let offset = 0
    if (card.wrap.cardFloat && card.wrap.cardFloat !== 'left') {
      let _width = 0
      card.subcards.forEach(card => {
        _width += card.setting.width
      })
      offset = _width < 24 ? 24 - _width : 0
      if (card.wrap.cardFloat === 'center') {
        offset = Math.floor(offset / 2)
      }
    }
    let _style = resetStyle(card.style)
    return (
@@ -503,8 +491,8 @@
        } trigger="hover">
          <ToolOutlined />
        </Popover>
        <div className={(card.wrap.layout || 'grid') + '-layout'}>
          {card.subcards.map((subcard, index) => (<CardComponent key={subcard.uuid} offset={!index ? offset : 0} cards={card} card={subcard} move={this.move} updateElement={this.updateCard} deleteElement={this.deleteCard}/>))}
        <div className={(card.wrap.layout || 'grid') + '-layout float-' + (card.wrap.cardFloat || 'left')}>
          {card.subcards.map(subcard => (<CardComponent key={subcard.uuid} cards={card} card={subcard} move={this.move} updateElement={this.updateCard} deleteElement={this.deleteCard}/>))}
        </div>
      </div>
    )
src/menu/components/card/prop-card/index.scss
@@ -79,6 +79,24 @@
      flex: 1;
    }
  }
  .float-center {
    text-align: center;
    >.ant-col {
      display: inline-block;
      float: none;
      text-align: left;
      vertical-align: top;
    }
  }
  .float-right {
    text-align: right;
    >.ant-col {
      display: inline-block;
      float: none;
      text-align: left;
      vertical-align: top;
    }
  }
}
.menu-prop-card-edit-box::after {
  display: block;
src/menu/components/tree/antd-tree/index.scss
@@ -5,7 +5,7 @@
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 50px;
  min-height: 100px;
  overflow-y: auto;
  .anticon-tool {
src/menu/datasource/verifycard/index.jsx
@@ -379,6 +379,18 @@
        this.setState({loading: false})
      })
    } else if (activeKey === 'columns') {
      if (this.datasource && this.datasource.state.editingKey) {
        notification.warning({
          top: 92,
          message: '字段未保存,请保存后切换!',
          duration: 5
        })
        this.setState({
          loading: false
        })
        return
      }
      this.setState({
        activeKey: val,
        loading: false
@@ -508,6 +520,15 @@
          reject()
        })
      } else if (activeKey === 'columns') {
        if (this.datasource && this.datasource.state.editingKey) {
          notification.warning({
            top: 92,
            message: '字段未保存,请保存后提交!',
            duration: 5
          })
          reject()
          return
        }
        this.sqlverify(() => { resolve({setting, columns, scripts }) }, reject, false)
      } else if (activeKey === 'scripts') {
        let _loading = false
@@ -674,7 +695,7 @@
              updatefield={this.updatefields}
            />
            <CopyOutlined title="以逗号拼接形式复制字段" onClick={this.copyColumns} style={{position: 'absolute', cursor: 'pointer', zIndex: 1, top: '-35px', right: '0px', color: '#1890ff'}} />
            <EditTable actions={['edit', 'move', 'copy', 'del', 'clear']} type="datasourcefield" data={columns} columns={colColumns} onChange={(columns) => this.setState({columns})}/>
            <EditTable actions={['edit', 'move', 'copy', 'del', 'clear']} type="datasourcefield" wrappedComponentRef={(inst) => this.datasource = inst} data={columns} columns={colColumns} onChange={(columns) => this.setState({columns})}/>
          </TabPane>
          <TabPane tab={
            <span>
src/tabviews/custom/components/card/cardcellList/index.jsx
@@ -585,14 +585,13 @@
        </Col>
      )
    } else if (card.eleType === 'currentDate') {
      let val = card.dateFormat ? moment().format(card.dateFormat) : ''
      if (val !== '') {
      let val = moment().format(card.dateFormat || 'YYYY-MM-DD')
        if (card.fixStyle === 'alone') {
          let _s = {fontSize: card.fixSize, color: card.fixColor, marginLeft: card.fixLeft, marginRight: card.fixRight}
          val = <><span style={_s}>{card.prefix || ''}</span>{val}<span style={_s}>{card.postfix || ''}</span></>
        } else {
          val = `${card.prefix || ''}${val}${card.postfix || ''}`
        }
      }
      return (
src/tabviews/custom/components/card/data-card/index.jsx
@@ -98,20 +98,6 @@
      _sync = false
    }
    if (_config.wrap.cardFloat && _config.wrap.cardFloat !== 'left') {
      let _width = 0
      precards.forEach(card => {
        _width += card.setting.width
      })
      nextcards.forEach(card => {
        _width += card.setting.width
      })
      _config.$offset = _width
    } else {
      _config.wrap.cardFloat = null
    }
    let selected = 'false'
    if (_config.wrap.selected === 'always' || _config.wrap.selected === 'init') {
      selected = _config.wrap.selected
@@ -170,7 +156,7 @@
    _config.wrap.selStyle = _config.wrap.selStyle || 'active'
    _config.wrap.scale = _config.wrap.scale === 'true' ? 'scale' : ''
    _config.wrap.layout = (_config.wrap.layout || 'grid') + '-layout'
    _config.wrap.layout = (_config.wrap.layout || 'grid') + '-layout float-' + (_config.wrap.cardFloat || 'left')
    _config.wrap.wrapClass =  `${_config.wrap.selStyle} ${_config.wrap.cardType || ''} ${_config.wrap.scale}`
@@ -750,17 +736,6 @@
      _total = config.setting.pageSize * pageIndex
      switchable = true
    }
    let offset = 0
    if (config.wrap.cardFloat) {
      let length = data ? data.length : 0
      if (card.setting.width * length + config.$offset < 24) {
        offset = 24 - card.setting.width * length - config.$offset
        if (config.wrap.cardFloat === 'center') {
          offset = Math.floor(offset / 2)
        }
      }
    }
    let extendData = {$$BID: BID, $$BData: BData, $$selectedData: selectedData, $$type: 'extendCard'}
@@ -790,7 +765,6 @@
        <div className={`data-zoom ${config.wrap.wrapClass}`}>
          {switchable ? <div className={'prev-page ' + (pageIndex === 1 ? 'disabled' : '')} onClick={this.prevPage}><div><div><img src={preImg} alt=""/></div></div></div> : null}
          <Row className={'card-row-list ' + config.wrap.layout}>
            {offset ? <Col span={offset} style={{height: '10px'}}> </Col> : null}
            {precards.map((item, index) => (
              <Col key={'pre' + index} className="extend-card" span={item.setting.width || 6}>
                <CardItem card={item} cards={config} data={extendData}/>
src/tabviews/custom/components/card/data-card/index.scss
@@ -54,6 +54,24 @@
      flex: 1;
    }
  }
  .card-row-list.float-center {
    text-align: center;
    >.ant-col {
      display: inline-block;
      float: none;
      text-align: left;
      vertical-align: top;
    }
  }
  .card-row-list.float-right {
    text-align: right;
    >.ant-col {
      display: inline-block;
      float: none;
      text-align: left;
      vertical-align: top;
    }
  }
  .card-item-box {
    position: relative;
    background-color: #ffffff;
src/tabviews/custom/components/card/prop-card/index.jsx
@@ -72,7 +72,6 @@
      _cols.set(item.field, item)
    })
    let _width = 0
    _config.subcards.forEach(card => {
      if (card.setting.click === 'button' && !card.setting.linkbtn) {
        card.elements.forEach(ele => {
@@ -84,7 +83,6 @@
          card.setting.click = ''
        }
      }
      _width += card.setting.width
      card.elements = card.elements.map(item => {
        if (item.eleType === 'number' && item.field && _cols.has(item.field) && typeof(item.decimal) !== 'number') {
          item.decimal = _cols.get(item.field).decimal || 0
@@ -99,23 +97,13 @@
      })
    })
    let offset = 0
    if (_config.wrap.cardFloat && _config.wrap.cardFloat !== 'left' && _width < 24) {
      offset = 24 - _width
      if (_config.wrap.cardFloat === 'center') {
        offset = Math.floor(offset / 2)
      }
      _config.subcards[0].offset = offset
    }
    let selected = _config.wrap.selected || 'false'
    _config.wrap.selStyle = _config.wrap.selStyle || 'active'
    _config.wrap.priKeyType = _config.wrap.priKeyType || 'static'
    _config.wrap.scale = _config.wrap.scale === 'true' ? 'scale' : ''
    _config.wrap.layout = (_config.wrap.layout || 'grid') + '-layout'
    _config.wrap.wrapClass =  `${_config.wrap.selStyle} ${_config.wrap.cardType || ''} ${_config.wrap.scale || ''}`
    _config.wrap.wrapClass =  `${_config.wrap.selStyle} ${_config.wrap.cardType || ''} ${_config.wrap.scale || ''} ${_config.wrap.layout || 'grid'}-layout float-${_config.wrap.cardFloat || 'left'}`
    this.setState({
      selected,
@@ -419,7 +407,7 @@
          </div> : null
        }
        <NormalHeader config={config}/>
        <Row className={`card-row-list data-zoom ${config.wrap.wrapClass} ${config.wrap.layout}`}>
        <Row className={`card-row-list data-zoom ${config.wrap.wrapClass}`}>
          {config.subcards.map((item, index) => {
            let className = item.setting.click ? 'mk-card pointer ' : 'mk-card '
            if (activeKey === index) {
src/tabviews/custom/components/card/prop-card/index.scss
@@ -25,6 +25,24 @@
      flex: 1;
    }
  }
  .card-row-list.float-center {
    text-align: center;
    >.ant-col {
      display: inline-block;
      float: none;
      text-align: left;
      vertical-align: top;
    }
  }
  .card-row-list.float-right {
    text-align: right;
    >.ant-col {
      display: inline-block;
      float: none;
      text-align: left;
      vertical-align: top;
    }
  }
  .card-row-list.scale {
    .mk-card:hover {
      >.card-item-box {
src/tabviews/custom/components/tree/antd-tree/index.scss
@@ -75,6 +75,9 @@
      height: 60px;
    }
  }
  .tree-header + .ant-empty {
    margin-top: 35px;
  }
  .loading-mask {
    position: absolute;
    left: 0px;