king
2022-11-30 99dfce0de93cfcfaf4ec80bf0bd63fbcc7e30004
Merge branch 'develop'
6个文件已修改
197 ■■■■ 已修改文件
src/menu/components/card/data-card/index.jsx 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/basetable/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/basetable/index.scss 146 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/normalbutton/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/comtableconfig/index.jsx 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/subtableconfig/index.jsx 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/data-card/index.jsx
@@ -196,16 +196,6 @@
          card.errors.push({ level: 1, detail: `按钮“${cell.label}”中表单尚未添加`})
        }
      }
      // $check@有效性检测
      // if (['prompt', 'exec', 'pop'].includes(cell.OpenType) && cell.Ot === 'required' && cell.verify && cell.verify.scripts && cell.verify.scripts.length > 0) {
      //   cell.verify.scripts.some(s => {
      //     if (s.status !== 'false' && /\$check@|@check\$/ig.test(s.sql)) {
      //       card.errors.push({ level: 1, detail: `可选择多行的按钮“${cell.label}”中 $check@ 或 @check$ 将不会生效!`})
      //       return true
      //     }
      //     return false
      //   })
      // }
    })
    card.subcards.forEach((item, i) => {
src/tabviews/basetable/index.jsx
@@ -614,7 +614,7 @@
    const { loadingview, viewlost, config, loading, shortcuts, autoMatic } = this.state
    return (
      <div className={'custom-page-wrap ' + (loadingview || loading ? 'loading' : '')} id={this.state.ContainerId} style={config ? config.style : null}>
      <div className={'custom-table-wrap ' + (loadingview || loading ? 'loading' : '')} id={this.state.ContainerId} style={config ? config.style : null}>
        {(loadingview || loading) ? <Spin className="view-spin" size="large" /> : null}
        <Row className="component-wrap">{this.getComponents()}</Row>
        {config && window.GLOB.breakpoint ? <DebugTable /> : null}
src/tabviews/basetable/index.scss
@@ -1,21 +1,20 @@
.commontable {
.custom-table-wrap {
  position: relative;
  min-height: calc(100vh - 94px);
  height: 100%;
  padding-top: 16px;
  padding-bottom: 0px;
  padding-bottom: 80px;
  padding-left: 16px;
  padding-right: 16px;
  background-size: 100%;
  .component-wrap >.ant-col {
    min-height: 0;
  }
  .box404 {
    padding-top: 30px;
  }
  >.top-search {
    padding: 0px 24px 5px;
    border-bottom: 1px solid #efefef;
  }
  .commontable-main-action {
    min-height: 25px;
    .button-list {
      padding-right: 60px;
    }
  }
  .ant-modal-mask {
    position: absolute;
  }
@@ -32,109 +31,30 @@
  > .ant-spin {
    position: absolute;
    z-index: 10;
    left: calc(50% - 22px);
    left: calc(50% - 16px);
    top: calc(50vh - 70px);
  }
  > .ant-card {
    margin: 0 20px 20px;
    > .ant-card-head {
      border: 0;
      padding: 0;
      min-height: 30px;
      .ant-card-head-title {
        padding: 10px 0 0;
        span {
          color: #1890ff;
          display: inline-block;
          padding: 0 10px;
          font-size: 15px;
          border-bottom: 1px solid #1890ff;
          .anticon {
            margin-right: 10px;
          }
        }
      }
    }
    > .ant-card-body {
      padding: 0;
  .common-table-copy {
    position: fixed;
    z-index: 2;
    bottom: 65px;
    right: 30px;
    width: 40px;
    height: 40px;
  }
  .ant-btn-link:hover {
    opacity: 0.8;
  }
  .button-list.toolbar-button {
    button {
      height: auto;
      min-height: 28px;
    }
  }
  .main-table-box {
    position: relative;
    .main-pickup {
      position: absolute;
      right: 0px;
      top: -22px;
      z-index: 1;
    }
    >.async-spin {
      line-height: 150px!important;
    }
}
.custom-table-wrap.loading {
  .ant-spin-spinning:not(.view-spin) {
    display: none;
  }
  > .ant-tabs {
    width: 100%;
    padding: 0px 20px;
    margin-bottom: 20px;
    .ant-tabs-tab:not(.ant-tabs-tab-active) {
      cursor: pointer;
    }
    .ant-tabs-tab.ant-tabs-tab-active {
      cursor: default;
    }
  }
  .ant-table-fixed-left, .ant-table-fixed-right {
    z-index: 1;
  }
  > .chart-view {
    position: relative;
    padding: 0 20px;
    >.ant-tabs {
      .ant-tabs-bar {
        position: relative;
        z-index: 1;
        margin: 0;
        border: 0;
        .ant-tabs-nav-scroll {
          text-align: right;
          padding-right: 20px;
          .ant-tabs-ink-bar {
            display: none!important;
          }
          .ant-tabs-tab {
            padding: 6px 5px;
            margin-right: 5px;
          }
        }
      }
    }
    >.ant-col {
      min-height: 100px;
    }
    >.card-view.ant-col-24 {
      padding: 0!important;
      .card-row-box {
        padding: 0;
      }
    }
    .chart-title {
      position: relative;
      color: rgba(0, 0, 0, 0.65);
      font-weight: 400;
      font-size: 16px;
      text-overflow: ellipsis;
      white-space: nowrap;
      overflow: hidden;
      margin: 0px;
      padding: 5px 10px;
      float: left;
      max-width: 50%;
    }
    .chart-table.chart-title {
      position: absolute;
      top: 0px;
    }
    .canvas {
      clear: both;
    }
  }
}
}
src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -1607,7 +1607,7 @@
                    _this.checkLoopRequest(params, btn, _resolve)
                  }
                } else {
                  _this.execError(res)
                  _this.execError(result)
                  _resolve()
                }
                resolve()
src/templates/comtableconfig/index.jsx
@@ -975,23 +975,6 @@
    })
    
    config.action && config.action.forEach((btn) => {
      if (['prompt', 'exec', 'pop'].includes(btn.OpenType) && btn.Ot === 'required' && btn.verify && btn.verify.scripts && btn.verify.scripts.length > 0) {
        let hascheck = false
        btn.verify.scripts.forEach(item => {
          if (item.status === 'false') return
          if (/\$check@|@check\$/ig.test(item.sql)) {
            hascheck = true
          }
        })
        if (hascheck) {
          notification.warning({
            top: 92,
            message: `可选择多行的按钮《${btn.label}》中 $check@ 或 @check$ 将不会生效!`,
            duration: 5
          })
        }
      }
      if (btn.intertype === 'custom' && btn.callbackType === 'script' && (!btn.verify || !btn.verify.cbScripts || !btn.verify.cbScripts.filter(item => item.status !== 'false').length === 0)) {
        notification.warning({
          top: 92,
src/templates/subtableconfig/index.jsx
@@ -877,26 +877,6 @@
      }
    })
    config.action && config.action.forEach((btn) => {
      if (['prompt', 'exec', 'pop'].includes(btn.OpenType) && btn.Ot === 'required' && btn.verify && btn.verify.scripts && btn.verify.scripts.length > 0) {
        let hascheck = false
        btn.verify.scripts.forEach(item => {
          if (item.status === 'false') return
          if (/\$check@|@check\$/ig.test(item.sql)) {
            hascheck = true
          }
        })
        if (hascheck) {
          notification.warning({
            top: 92,
            message: `可选择多行的按钮《${btn.label}》中 $check@ 或 @check$ 将不会生效!`,
            duration: 5
          })
        }
      }
    })
    if ((config.setting.interType === 'system' || config.setting.requestMode === 'system') && config.setting.default === 'false' && config.setting.scripts && config.setting.scripts.filter(item => item.status !== 'false').length === 0) {
      return '数据源中不执行默认sql,且未添加自定义脚本,不可启用!'
    } else if (config.setting.interType === 'custom' && config.setting.procMode !== 'inner' && config.setting.preScripts && config.setting.preScripts.filter(item => item.status !== 'false').length === 0) {