king
2023-02-22 80e0c5eb7648e77cae844e4628b433704e0fb865
2023-02-22
13个文件已修改
172 ■■■■■ 已修改文件
public/options.json 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/cardcomponent/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/double-data-card/index.jsx 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/double-data-card/index.scss 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/double-data-card/options.jsx 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/doublecardcomponent/index.scss 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/doublecardcomponent/options.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/share/actioncomponent/dragaction/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/datasource/verifycard/index.jsx 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/datasource/verifycard/settingform/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/double-data-card/index.jsx 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/double-data-card/index.scss 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/utils-datamanage.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/options.json
@@ -1,12 +1,12 @@
{
  "appId": "201912040924165801464FF1788654BC5AC73",
  "appkey": "20191106103859640976D6E924E464D029CF0",
  "appId": "202108312122504607B107A83F55B40C98CCF",
  "appkey": "20210831212235413F287EC3BF489424496C8",
  "mainSystemApi": "http://sso.mk9h.cn/cloud/webapi/dostars",
  "systemType": "",
  "externalDatabase": "",
  "lineColor": "",
  "filter": "false",
  "defaultApp": "mk",
  "defaultApp": "mkindustry",
  "defaultLang": "zh-CN",
  "WXAppID": "",
  "WXminiAppID": "",
@@ -17,6 +17,6 @@
  "transfer": "false",
  "keepPassword": "true",
  "platforms": ["H5", "wechat", "android", "ios", "wxMiniProgram"],
  "host": "http://qingqiumarket.cn",
  "service": "MKWMS/"
  "host": "http://demo.mk9h.cn",
  "service": "erp_new/"
}
src/menu/components/card/cardcomponent/index.jsx
@@ -313,9 +313,9 @@
    let checkAll = ''
    if ((cards.subtype === 'datacard' || cards.subtype === 'dualdatacard') && card.$cardType === 'extendCard') {
      checkAll = card.setting.checkAll === 'show' ? ' mk-checkable' : ''
      checkAll = card.setting.checkAll === 'show' ? ' mk-checkable mk-extend-card' : ''
      if (checkAll && cards.wrap.selStyle === 'check square') {
        checkAll = ' mk-checkable square'
        checkAll = ' mk-checkable square mk-extend-card'
      }
    } else if (cards.subtype === 'datacard') {
      if (cards.wrap.selStyle === 'check') {
src/menu/components/card/double-data-card/index.jsx
@@ -82,7 +82,7 @@
            borderRightWidth: '1px', borderRightColor: '#e8e8e8',
            borderBottomWidth: '1px', borderBottomColor: '#e8e8e8',
            paddingTop: '15px', paddingBottom: '15px', paddingLeft: '15px', paddingRight: '15px',
            marginLeft: '8px', marginRight: '8px', marginBottom: '8px'
            marginLeft: '8px', marginRight: '8px'
          },
          backElements: [{
            uuid: Utils.getuuid(),
@@ -584,6 +584,14 @@
    let _style = resetStyle(card.style)
    let extraName = ''
    card.subcards.forEach(subcard => {
      if (subcard.$cardType === 'extendCard') return
      if (subcard.setting.controlIcon === 'left') {
        extraName = ' mk-control-icon'
      }
    })
    return (
      <div className={'menu-double-data-card-edit-box ' + appType} style={_style} onClick={this.clickComponent} id={card.uuid}>
        <NormalHeader config={card} updateComponent={this.updateComponent}/>
@@ -607,7 +615,7 @@
          <ToolOutlined />
        </Popover>
        <ActionComponent config={card} setSubConfig={this.setSubConfig} updateaction={this.updateComponent}/>
        <div className={'float-' + (card.wrap.cardFloat || 'left') + ' select-' + card.wrap.selStyle}>
        <div className={'select-' + card.wrap.selStyle + extraName}>
          {card.subcards.map(subcard => {
            if (subcard.$cardType === 'extendCard') {
              return (<CardComponent key={subcard.uuid} cards={card} card={subcard} move={this.move} updateElement={this.updateCard} deleteElement={this.deleteCard}/>)
src/menu/components/card/double-data-card/index.scss
@@ -71,24 +71,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;
    }
  }
  // .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;
  //   }
  // }
  .select-tabs {
    .card-item {
      border-top: none!important;
@@ -105,6 +105,13 @@
      margin-left: 2px;
    }
  }
  .select-check.mk-control-icon {
    .mk-extend-card {
      >.circle-select {
        margin-right: 35px;
      }
    }
  }
}
.menu-double-data-card-edit-box::-webkit-scrollbar {
src/menu/components/card/double-data-card/options.jsx
@@ -144,19 +144,6 @@
        {value: 'check square', label: '勾选(方框)'}
      ]
    },
    // {
    //   type: 'radio',
    //   field: 'cardFloat',
    //   label: '对齐方式',
    //   initval: wrap.cardFloat || 'left',
    //   tooltip: '设置卡片的对齐方式。',
    //   required: false,
    //   options: [
    //     {value: 'left', label: '左对齐'},
    //     {value: 'center', label: '居中'},
    //     {value: 'right', label: '右对齐'},
    //   ],
    // },
    {
      type: 'radio',
      field: 'parity',
src/menu/components/card/doublecardcomponent/index.scss
@@ -85,7 +85,8 @@
    display: none;
  }
  >.anticon-plus-square {
    margin: auto 5px;
    margin: auto;
    width: 30px;
    font-size: 18px;
  }
}
src/menu/components/card/doublecardcomponent/options.jsx
@@ -54,7 +54,7 @@
        {value: 'collapse', label: '合并'},
      ],
      controlFields: [
        {field: 'position', values: ['default']},
        // {field: 'position', values: ['default']},
        {field: 'controlIcon', values: ['unfold', 'collapse']},
      ],
      forbid: type !== 'main'
src/menu/components/share/actioncomponent/dragaction/index.jsx
@@ -122,7 +122,7 @@
        if (newcard.OpenType === 'excelIn') {
          newcard.label = item.text
          newcard.class = item.class || 'dgreen'
          newcard.class = 'dgreen'
          newcard.Ot = 'notRequired'
        } else if (newcard.OpenType === 'excelOut') {
          newcard.label = item.text
src/menu/datasource/verifycard/index.jsx
@@ -555,6 +555,25 @@
    const { config, mainSearch } = this.props
    const { activeKey, setting, columns, subColumns, scripts } = this.state
    if (config.subtype === 'dualdatacard') {
      let arr = columns.map(col => col.field.toLowerCase())
      let _arr = []
      subColumns.forEach(col => {
        if (arr.includes(col.field.toLowerCase())) {
          _arr.push(col.field)
        }
      })
      if (_arr.length > 0) {
        notification.warning({
          top: 92,
          message: '子表中字段' + _arr.join('、') + '与主表字段重复!',
          duration: 5
        })
        return Promise.reject()
      }
    }
    return new Promise((resolve, reject) => {
      if (activeKey === 'setting') {
        this.settingForm.handleConfirm().then(res => {
src/menu/datasource/verifycard/settingform/index.jsx
@@ -595,7 +595,7 @@
                  initialValue: setting.subBID || ''
                })(
                  <Select>
                    {columns.map((option, i) =>
                    {this.props.subColumns.map((option, i) =>
                      <Select.Option key={i} value={option.field}>
                        {option.label}
                      </Select.Option>
src/tabviews/custom/components/card/double-data-card/index.jsx
@@ -859,12 +859,15 @@
      if (selectedData.length > 0) {
        checkAll = selectedData.length < data.length ? ' half' : ' whole'
      }
      if (card.setting.controlIcon === 'left') {
        checkAll += ' mk-extend-icon'
      }
    } else if (card.setting.display !== 'default' && card.setting.controlIcon === 'left') {
      mainBox = 'flex-card '
    }
    return (
      <div className="custom-data-card-box" id={'anchor' + config.uuid} style={config.style}>
      <div className="double-data-card-box" id={'anchor' + config.uuid} style={config.style}>
        {loading ?
          <div className="loading-mask">
            {data ? <div className="ant-spin-blur"></div> : null}
@@ -896,11 +899,7 @@
              let className = 'card-item-wrap mk-card ' + mainBox
              let subClass = 'mk-unfold'
              let unfold = true
              if (config.wrap.parity === 'true') {
                if (index % 2 === 1) {
                  className += 'mk-parity-bg '
                }
              }
              if (item.$disabled) {
                className = 'mk-disabled ' + mainBox
              } else if (activeKey === index) {
@@ -924,10 +923,10 @@
                  <div className={className} style={wrapStyle}>
                    <CardItem card={card} cards={config} data={item} onDoubleClick={() => this.onDoubleClick(index, subClass)} onClick={() => {this.changeCard(index, item, subClass)}}>
                      <span className="circle-select"></span>
                      {card.setting.display !== 'default' && card.setting.controlIcon === 'left' ? (!unfold ? <PlusSquareOutlined className={subClass} onClick={(e) => this.changeUnfold(e, index, subClass)}/> : <MinusSquareOutlined className={subClass} onClick={(e) => this.changeUnfold(e, index, subClass)}/>) : null}
                      {card.setting.display !== 'default' && card.setting.controlIcon !== 'left' ? <UpOutlined className={subClass} onClick={(e) => this.changeUnfold(e, index, subClass)}/> : null}
                      {card.setting.controlIcon === 'left' ? (!unfold ? <PlusSquareOutlined className={subClass} onClick={(e) => this.changeUnfold(e, index, subClass)}/> : <MinusSquareOutlined className={subClass} onClick={(e) => this.changeUnfold(e, index, subClass)}/>) : null}
                      {card.setting.controlIcon === 'right' ? <UpOutlined className={subClass} onClick={(e) => this.changeUnfold(e, index, subClass)}/> : null}
                    </CardItem>
                    <div className={'sub-card-wrap ' + subClass}>
                    <div className={'sub-card-wrap ' + subClass + (config.wrap.parity === 'true' ? ' mk-parity-bg' : '')}>
                      {item.children.map((cell, index) => <Col key={'sub' + index} span={subcard.setting.width || 24}>
                        <CardItem card={subcard} cards={subconfig} data={cell} />
                      </Col>)}
src/tabviews/custom/components/card/double-data-card/index.scss
@@ -1,4 +1,4 @@
.custom-data-card-box {
.double-data-card-box {
  background: #ffffff;
  background-position: center center;
  background-repeat: no-repeat;
@@ -30,11 +30,6 @@
            color: #bcbcbc!important;
          }
        }
      }
    }
    .mk-parity-bg {
      .card-item-box {
        background-color: var(--mk-sys-color1);
      }
    }
  }
@@ -265,7 +260,8 @@
        transform: rotate(180deg);
      }
      >.anticon-plus-square {
        margin: auto 5px;
        margin: auto;
        width: 30px;
        font-size: 18px;
      }
      >.anticon-plus-square.mk-disabled {
@@ -273,7 +269,8 @@
        cursor: not-allowed;
      }
      >.anticon-minus-square {
        margin: auto 5px;
        margin: auto;
        width: 30px;
        font-size: 18px;
      }
    }
@@ -296,24 +293,30 @@
      }
    }
  }
  .circle-select.mk-extend-icon {
    margin-right: 35px;
  }
  .sub-card-wrap.mk-parity-bg {
    .ant-col:nth-child(even){
      .card-item-box {
        background-color: var(--mk-sys-color1);
      }
    }
  }
}
.custom-data-card-box::-webkit-scrollbar {
.double-data-card-box::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}
.custom-data-card-box::-webkit-scrollbar-thumb {
.double-data-card-box::-webkit-scrollbar-thumb {
  border-radius: 5px;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.13);
  background: rgba(0, 0, 0, 0.13);
}
.custom-data-card-box::-webkit-scrollbar-track {
.double-data-card-box::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05);
  border-radius: 3px;
  border: 1px solid rgba(0, 0, 0, 0.07);
  background: rgba(0, 0, 0, 0);
}
.custom-card-box::after {
  content: ' ';
  display: block;
  clear: both;
}
src/utils/utils-datamanage.js
@@ -213,9 +213,17 @@
    let LText = ''
    let DateCount = ''
    if (setting.sub_field) {
      arrFields = arrFields + ',' + setting.sub_field
    }
    if (_dataresource && setting.laypage && orderBy && !id) {
      LText = `/*system_query*/select top ${pageSize} ${arrFields} from (select ${arrFields} ,ROW_NUMBER() over(order by ${orderBy}) as rows from ${_dataresource} ${_search}) tmptable where rows > ${pageSize * (pageIndex - 1)} order by tmptable.rows `
      DateCount = `/*system_query*/select count(1) as total from ${_dataresource} ${_search}`
      if (setting.sub_field) {
        DateCount = `/*system_query*/select count(1) as total from (select distinct ${setting.primaryKey} from ${_dataresource} ${_search})a`
      } else {
        DateCount = `/*system_query*/select count(1) as total from ${_dataresource} ${_search}`
      }
    } else if (_dataresource && orderBy) {
      LText = `/*system_query*/select ${arrFields} from (select ${arrFields} ,ROW_NUMBER() over(order by ${orderBy}) as rows from ${_dataresource} ${_search}) tmptable order by tmptable.rows `
    } else if (_dataresource) {