king
2021-05-08 6afdec0062dacbded57e166230eb22cc55ced0c1
src/tabviews/custom/components/card/cardcellList/index.jsx
@@ -21,10 +21,14 @@
const BarCode = asyncElementComponent(() => import('@/components/barcode'))
const QrCode = asyncElementComponent(() => import('@/components/qrcode'))
const Video = asyncComponent(() => import('@/components/video'))
const PicRadio = {
  '4:3': '75%', '3:2': '66.67%', '16:9': '56.25%', '2:1': '50%', '3:1': '33.33%', '4:1': '25%',
  '5:1': '20%', '6:1': '16.67%', '7:1': '14.29%', '8:1': '12.5%', '9:1': '11.11%',
  '10:1': '10%', '3:4': '133.33%', '2:3': '150%', '9:16': '177.78%'
}
class CardCellComponent extends Component {
  static propTpyes = {
    seq: PropTypes.any,              // 序号
    cards: PropTypes.object,         // 菜单配置信息
    cardCell: PropTypes.object,
    data: PropTypes.object,
@@ -260,13 +264,13 @@
  }
  getContent = (card) => {
    const { data, cards, seq } = this.props
    const { data, cards } = this.props
    if (card.eleType === 'sequence') {
      return (
        <Col key={card.uuid} span={card.width}>
          <div style={card.style}>
            <div className={'ant-mk-text'}>{seq}</div>
            <div className={'ant-mk-text'}>{data.$Index || ''}</div>
          </div>
        </Col>
      )
@@ -307,7 +311,7 @@
      return (
        <Col key={card.uuid} span={card.width}>
          <div style={_style} onClick={(e) => {this.openNewView(e, card)}}>
            <div className={'ant-mk-text line' + card.height} style={{height: card.innerHeight || 'auto'}}>{val}</div>
            <div className={'ant-mk-text line' + (card.height || '')} style={{height: card.innerHeight || 'auto'}}>{val}</div>
          </div>
        </Col>
      )
@@ -359,7 +363,7 @@
      return (
        <Col key={card.uuid} span={card.width}>
          <div style={_style}>
            <div className={'ant-mk-text line' + card.height} style={{height: card.innerHeight || 'auto'}}>{val}</div>
            <div className={'ant-mk-text line' + (card.height || '')} style={{height: card.innerHeight || 'auto'}}>{val}</div>
          </div>
        </Col>
      )
@@ -443,12 +447,8 @@
        _imagestyle.borderRadius = _style.borderRadius
      }
      if (card.lenWidRadio === '16:9') {
        _imagestyle.paddingTop = '56.25%'
      } else if (card.lenWidRadio === '3:2') {
        _imagestyle.paddingTop = '66.67%'
      } else if (card.lenWidRadio === '4:3') {
        _imagestyle.paddingTop = '75%'
      if (PicRadio[card.lenWidRadio]) {
        _imagestyle.paddingTop = PicRadio[card.lenWidRadio]
      } else {
        _imagestyle.paddingTop = '100%'
      }
@@ -534,128 +534,122 @@
        </Col>
      )
    } else if (card.eleType === 'button') {
      if (card.$type === 'tableButton' && card.controlField) { // 表格中按钮隐藏控制
        if (data[card.controlField] === card.controlVal) {
          return null
        } else if (card.controlVal && card.controlVal.split(',').includes(data[card.controlField])) {
          return null
        }
      }
      if (['exec', 'prompt', 'pop'].includes(card.OpenType)) {
        return (
          <Col key={card.uuid} span={card.width}>
            <div style={card.style}>
              <NormalButton
                BID={data.$$BID}
                btn={card}
                show={card.show}
                style={card.btnstyle}
                setting={cards.setting}
                columns={cards.columns}
                selectedData={[data]}
              />
            </div>
          <Col key={card.uuid} className="mk-cell-btn" span={card.width}>
            <NormalButton
              BID={data.$$BID}
              btn={card}
              show={card.show}
              style={card.style}
              setting={cards.setting}
              columns={cards.columns}
              selectedData={[data]}
            />
          </Col>
        )
      } else if (card.OpenType === 'excelIn') {
        return (
          <Col key={card.uuid} span={card.width}>
            <div style={card.style}>
              <ExcelInButton
                BID={data.$$BID}
                btn={card}
                show={card.show}
                style={card.btnstyle}
                setting={cards.setting}
                selectedData={[data]}
              />
            </div>
          <Col key={card.uuid} className="mk-cell-btn" span={card.width}>
            <ExcelInButton
              BID={data.$$BID}
              btn={card}
              show={card.show}
              style={card.style}
              setting={cards.setting}
              selectedData={[data]}
            />
          </Col>
        )
      } else if (card.OpenType === 'excelOut') {
        return (
          <Col key={card.uuid} span={card.width}>
            <div style={card.style}>
              <ExcelOutButton
                BID={data.$$BID}
                btn={card}
                show={card.show}
                style={card.btnstyle}
                setting={cards.setting}
              />
            </div>
          <Col key={card.uuid} className="mk-cell-btn" span={card.width}>
            <ExcelOutButton
              BID={data.$$BID}
              btn={card}
              show={card.show}
              style={card.style}
              setting={cards.setting}
            />
          </Col>
        )
      } else if (card.OpenType === 'popview') {
        return (
          <Col key={card.uuid} span={card.width}>
            <div style={card.style}>
              <PopupButton
                BID={data.$$BID}
                btn={card}
                show={card.show}
                style={card.btnstyle}
                setting={cards.setting}
                selectedData={[data]}
              />
            </div>
          <Col key={card.uuid} className="mk-cell-btn" span={card.width}>
            <PopupButton
              BID={data.$$BID}
              btn={card}
              show={card.show}
              style={card.style}
              setting={cards.setting}
              selectedData={[data]}
            />
          </Col>
        )
      } else if (card.OpenType === 'tab') {
        return (
          <Col key={card.uuid} span={card.width}>
            <div style={card.style}>
              <TabButton
                btn={card}
                show={card.show}
                style={card.btnstyle}
                setting={cards.setting}
                selectedData={[data]}
              />
            </div>
          <Col key={card.uuid} className="mk-cell-btn" span={card.width}>
            <TabButton
              btn={card}
              show={card.show}
              style={card.style}
              setting={cards.setting}
              selectedData={[data]}
            />
          </Col>
        )
      } else if (card.OpenType === 'innerpage') {
        return (
          <Col key={card.uuid} span={card.width}>
            <div style={card.style}>
              <NewPageButton
                btn={card}
                show={card.show}
                style={card.btnstyle}
                setting={cards.setting}
                selectedData={[data]}
              />
            </div>
          <Col key={card.uuid} className="mk-cell-btn" span={card.width}>
            <NewPageButton
              btn={card}
              show={card.show}
              style={card.style}
              setting={cards.setting}
              selectedData={[data]}
            />
          </Col>
        )
      } else if (card.OpenType === 'funcbutton') {
        if (card.funcType === 'changeuser') {
          return (
            <Col key={card.uuid} span={card.width}>
              <div style={card.style}>
                <ChangeUserButton
                  BID={data.$$BID}
                  btn={card}
                  show={card.show}
                  style={card.btnstyle}
                  setting={cards.setting}
                  selectedData={[data]}
                />
              </div>
            <Col key={card.uuid} className="mk-cell-btn" span={card.width}>
              <ChangeUserButton
                BID={data.$$BID}
                btn={card}
                show={card.show}
                style={card.style}
                setting={cards.setting}
                selectedData={[data]}
              />
            </Col>
          )
        } else if (card.funcType === 'print') {
          return (
            <Col key={card.uuid} span={card.width}>
              <div style={card.style}>
                <PrintButton
                  BID={data.$$BID}
                  btn={card}
                  show={card.show}
                  style={card.btnstyle}
                  setting={cards.setting}
                  selectedData={[data]}
                />
              </div>
            <Col key={card.uuid} className="mk-cell-btn" span={card.width}>
              <PrintButton
                BID={data.$$BID}
                btn={card}
                show={card.show}
                style={card.style}
                setting={cards.setting}
                selectedData={[data]}
              />
            </Col>
          )
        }
      }
    }
    return null
  }
  render() {