king
2023-01-07 5b66fe77e55767eabbf1df66a026157356dd807d
2023-01-07
30个文件已修改
279 ■■■■ 已修改文件
public/options.json 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/css/viewstyle.scss 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/data-card/options.jsx 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/chart/antv-G6/index.jsx 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/module/voucher/voucherTable/index.jsx 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/share/markcomponent/index.jsx 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/table/base-table/options.jsx 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/table/normal-table/options.jsx 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/mob/colorsketch/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pc/components/login/normal-login/index.scss 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pc/components/login/normal-login/loginform.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pc/components/login/normal-login/options.jsx 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/options.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/data-card/index.jsx 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/chart/antv-G6/index.jsx 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/module/voucher/assistTable/index.jsx 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/module/voucher/index.jsx 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/module/voucher/voucherTable/index.jsx 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/share/normalTable/index.jsx 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/share/normalTable/index.scss 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/table/base-table/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/table/edit-table/normalTable/index.jsx 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/table/normal-table/index.jsx 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/index.scss 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/normalTable/index.scss 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/zshare/formconfig.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/appcheck/index.jsx 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/appmanage/index.jsx 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/appmanage/submutilform/index.jsx 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/options.json
@@ -1,12 +1,12 @@
{
  "appId": "202108312122504607B107A83F55B40C98CCF",
  "appkey": "20210831212235413F287EC3BF489424496C8",
  "appId": "201912040924165801464FF1788654BC5AC73",
  "appkey": "20191106103859640976D6E924E464D029CF0",
  "mainSystemApi": "http://sso.mk9h.cn/cloud/webapi/dostars",
  "systemType": "",
  "externalDatabase": "",
  "lineColor": "",
  "filter": "false",
  "defaultApp": "mkindustry",
  "defaultApp": "mk",
  "defaultLang": "zh-CN",
  "WXAppID": "",
  "WXminiAppID": "",
@@ -17,6 +17,6 @@
  "transfer": "false",
  "keepPassword": "true",
  "platforms": ["H5", "wechat", "android", "ios", "wxMiniProgram"],
  "host": "http://demo.mk9h.cn",
  "service": "erp_new/"
  "host": "http://qingqiumarket.cn",
  "service": "MKWMS/"
}
src/assets/css/viewstyle.scss
@@ -387,86 +387,108 @@
  --mk-sys-font-color: rgba(0, 0, 0, 0.85);
  --mk-sys-light-font-color: rgba(0, 0, 0, 0.65);
}
body[class*='mk-blue-'] {
  --mk-sys-color: #1890ff;
  --mk-sys-color1: #e6f7ff;
  --mk-sys-color5: #40a9ff;
  @include viewstyle(#e6f7ff, #bae7ff, #91d5ff, #69c0ff, #40a9ff, #1890ff, #096dd9);
}
body[class*='mk-red-'] {
  --mk-sys-color: #f5222d;
  --mk-sys-color1: #fff1f0;
  --mk-sys-color5: #ff4d4f;
  @include viewstyle(#fff1f0, #ffccc7, #ffa39e, #ff7875, #ff4d4f, #f5222d, #cf1322);
}
body[class*='mk-orange-red-'] {
  --mk-sys-color: #fa541c;
  --mk-sys-color1: #fff2e8;
  --mk-sys-color5: #ff7a45;
  @include viewstyle(#fff2e8, #ffd8bf, #ffbb96, #ff9c6e, #ff7a45, #fa541c, #d4380d);
}
body[class*='mk-orange-'] {
  --mk-sys-color: #fa8c16;
  --mk-sys-color1: #fff7e6;
  --mk-sys-color5: #ffa940;
  @include viewstyle(#fff7e6, #ffe7ba, #ffd591, #ffc069, #ffa940, #fa8c16, #d46b08);
}
body[class*='mk-orange-yellow-'] {
  --mk-sys-color: #faad14;
  --mk-sys-color1: #fffbe6;
  --mk-sys-color5: #ffc53d;
  @include viewstyle(#fffbe6, #fff1b8, #ffe58f, #ffd666, #ffc53d, #faad14, #d48806);
}
body[class*='mk-yellow-'] {
  --mk-sys-color: #fadb14;
  --mk-sys-color1: #feffe6;
  --mk-sys-color5: #ffec3d;
  @include viewstyle(#feffe6, #ffffb8, #fffb8f, #fff566, #ffec3d, #fadb14, #d4b106);
}
body[class*='mk-yellow-green-'] {
  --mk-sys-color: #a0d911;
  --mk-sys-color1: #fcffe6;
  --mk-sys-color5: #bae637;
  @include viewstyle(#fcffe6, #f4ffb8, #eaff8f, #d3f261, #bae637, #a0d911, #7cb305);
}
body[class*='mk-green-'] {
  --mk-sys-color: #52c41a;
  --mk-sys-color1: #f6ffed;
  --mk-sys-color5: #73d13d;
  @include viewstyle(#f6ffed, #d9f7be, #b7eb8f, #95de64, #73d13d, #52c41a, #389e0d);
}
body[class*='mk-cyan-'] {
  --mk-sys-color: #13c2c2;
  --mk-sys-color1: #e6fffb;
  --mk-sys-color5: #36cfc9;
  @include viewstyle(#e6fffb, #b5f5ec, #87e8de, #5cdbd3, #36cfc9, #13c2c2, #08979c);
}
body[class*='mk-blue-purple-'] {
  --mk-sys-color: #2f54eb;
  --mk-sys-color1: #f0f5ff;
  --mk-sys-color5: #597ef7;
  @include viewstyle(#f0f5ff, #d6e4ff, #adc6ff, #85a5ff, #597ef7, #2f54eb, #1d39c4);
}
body[class*='mk-purple-'] {
  --mk-sys-color: #722ed1;
  --mk-sys-color1: #f9f0ff;
  --mk-sys-color5: #9254de;
  @include viewstyle(#f9f0ff, #efdbff, #d3adf7, #b37feb, #9254de, #722ed1, #531dab);
}
body[class*='mk-magenta-'] {
  --mk-sys-color: #eb2f96;
  --mk-sys-color1: #fff0f6;
  --mk-sys-color5: #f759ab;
  @include viewstyle(#fff0f6, #ffd6e7, #ffadd2, #ff85c0, #f759ab, #eb2f96, #c41d7f);
}
body[class*='mk-grass-green-'] {
  --mk-sys-color: #aeb303;
  --mk-sys-color1: #f2efda;
  --mk-sys-color5: #bfbf22;
  @include viewstyle(#f2efda, #e6de97, #d9d26c, #ccc845, #bfbf22, #aeb303, #838c00);
}
body[class*='mk-deep-red-'] {
  --mk-sys-color: #c32539;
  --mk-sys-color1: #fff0f0;
  --mk-sys-color5: #cf4856;
  @include viewstyle(#fff0f0, #f5cbcb, #e89b9e, #db7077, #cf4856, #c32539, #9c162c);
}
body[class*='mk-deep-blue-'] {
  --mk-sys-color: #1d3661;
  --mk-sys-color1: #eff1f4;
  --mk-sys-color5: #394c6f;
  @include viewstyle(#eff1f4, #e0e3e9, #dbdfe6, #c6cede, #394c6f, #1d3661, #1d3661);
}
src/menu/components/card/data-card/options.jsx
@@ -196,18 +196,33 @@
      forbid: subtype !== 'propcard'
    },
    {
      type: 'select',
      field: 'selected',
      label: '数据选中',
      initval: wrap.selected || 'false',
      tooltip: '初始化:数据加载时选中首行数据,仅执行一次。数据加载:每次数据加载时均选中首行(当按钮执行完成并返回主键值时,默认选中主键值对应行)。选中标记:返回数据中存在 selected 字段,且值为 true 的数据被选中。',
      required: false,
      options: [
        {value: 'false', label: '无'},
        {value: 'init', label: '初始化'},
        {value: 'always', label: '数据加载'},
        {value: 'sign', label: '选中标记'}
      ],
      forbid: subtype !== 'datacard'
    },
    {
      type: 'radio',
      field: 'selected',
      label: '首行选中',
      label: '数据选中',
      initval: wrap.selected || 'false',
      tooltip: '当按钮执行完成并返回主键值时,默认选中主键值对应行。',
      tooltip: '初始化:数据加载时选中首行数据,仅执行一次。数据加载:每次数据加载时均选中首行。',
      required: false,
      options: [
        {value: 'false', label: '无'},
        {value: 'init', label: '初始化'},
        {value: 'always', label: '数据加载'},
      ],
      forbid: subtype === 'tablecard'
      forbid: subtype !== 'propcard'
    },
    {
      type: 'select',
src/menu/components/chart/antv-G6/index.jsx
@@ -60,7 +60,8 @@
  purple: '#722ed1',
  magenta: '#eb2f96',
  grass_green: '#aeb303',
  deep_red: '#c32539'
  deep_red: '#c32539',
  deep_blue: '#1d3661'
}
let systemColor = '#1890ff'
src/menu/components/module/voucher/voucherTable/index.jsx
@@ -4,7 +4,6 @@
import { Table } from 'antd'
import Utils from '@/utils/utils.js'
import '@/assets/css/table.scss'
import './index.scss'
class BodyRow extends React.Component {
src/menu/components/share/markcomponent/index.jsx
@@ -9,7 +9,6 @@
import MarkForm from './markform'
import MkIcon from '@/components/mk-icon'
import { minkeIconSystem } from '@/utils/option.js'
import '@/assets/css/table.scss'
import './index.scss'
const EditTable = asyncComponent(() => import('@/templates/zshare/editTable'))
src/menu/components/table/base-table/options.jsx
@@ -55,18 +55,32 @@
      ]
    },
    {
      type: 'radio',
      type: 'select',
      field: 'selected',
      label: '首行选中',
      label: '数据选中',
      initval: wrap.selected || 'false',
      tooltip: '当按钮执行完成并返回主键值时,默认选中主键值对应行。',
      tooltip: '初始化:数据加载时选中首行数据,仅执行一次。数据加载:每次数据加载时均选中首行(当按钮执行完成并返回主键值时,默认选中主键值对应行)。选中标记:返回数据中存在 selected 字段,且值为 true 的数据被选中。注:启用无人值守时无效。',
      required: false,
      options: [
        {value: 'false', label: '无'},
        {value: 'init', label: '初始化'},
        {value: 'always', label: '数据加载'},
      ]
        {value: 'sign', label: '选中标记'}
      ],
    },
    // {
    //   type: 'radio',
    //   field: 'selected',
    //   label: '首行选中',
    //   initval: wrap.selected || 'false',
    //   tooltip: '当按钮执行完成并返回主键值时,默认选中主键值对应行。',
    //   required: false,
    //   options: [
    //     {value: 'false', label: '无'},
    //     {value: 'init', label: '初始化'},
    //     {value: 'always', label: '数据加载'},
    //   ]
    // },
    {
      type: 'radio',
      field: 'tableMode',
src/menu/components/table/normal-table/options.jsx
@@ -129,20 +129,34 @@
      ]
    },
    {
      type: 'radio',
      type: 'select',
      field: 'selected',
      label: '首行选中',
      label: '数据选中',
      initval: wrap.selected || 'false',
      tooltip: '当按钮执行完成并返回主键值时,默认选中主键值对应行。',
      tooltip: '初始化:数据加载时选中首行数据,仅执行一次。数据加载:每次数据加载时均选中首行(当按钮执行完成并返回主键值时,默认选中主键值对应行)。选中标记:返回数据中存在 selected 字段,且值为 true 的数据被选中。',
      required: false,
      options: [
        {value: 'false', label: '无'},
        {value: 'init', label: '初始化'},
        {value: 'always', label: '数据加载'},
      ]
        {value: 'sign', label: '选中标记'}
      ],
    },
    // {
    //   type: 'radio',
    //   field: 'selected',
    //   label: '首行选中',
    //   initval: wrap.selected || 'false',
    //   tooltip: '当按钮执行完成并返回主键值时,默认选中主键值对应行。',
    //   required: false,
    //   options: [
    //     {value: 'false', label: '无'},
    //     {value: 'init', label: '初始化'},
    //     {value: 'always', label: '数据加载'},
    //   ]
    // },
    // {
    //   type: 'radio',
    //   field: 'show',
    //   label: '搜索按钮',
    //   initval: wrap.show || 'true',
src/mob/colorsketch/index.jsx
@@ -8,7 +8,7 @@
const presetColors = [
  '#1890ff', '#f5222d', '#fa541c', '#fa8c16', '#faad14', '#fadb14', '#a0d911', '#52c41a', '#13c2c2', '#2f54eb', '#722ed1',
  '#eb2f96', '#aeb303', '#c32539', '#ffbb96', '#ffd591', '#ffe58f', '#fffb8f', '#eaff8f', '#b7eb8f', '#87e8de', '#91d5ff',
  '#eb2f96', '#aeb303', '#c32539', '#1d3661', '#ffd591', '#ffe58f', '#fffb8f', '#eaff8f', '#b7eb8f', '#87e8de', '#91d5ff',
  '#adc6ff', '#d3adf7', '#EBE9E9', '#d9d9d9', '#434343', '#000000', '#ffffff', 'transparent'
]
src/pc/components/login/normal-login/index.scss
@@ -34,7 +34,7 @@
        // margin-top: 45px;
        .login-form-button {
          width: 100%;
          height: 40px;
          height: 42px;
          line-height: 1;
          font-size: 18px;
          margin-bottom: 15px;
@@ -42,7 +42,7 @@
        }
        .sign-form-button {
          width: 100%;
          height: 40px;
          height: 42px;
          line-height: 1;
          font-size: 18px;
          margin-bottom: 15px;
src/pc/components/login/normal-login/loginform.jsx
@@ -152,7 +152,7 @@
          <Form.Item>
            <Input
              prefix={<UserOutlined style={{ color: 'rgba(0,0,0,.25)' }} />}
              placeholder="用户名"
              placeholder="用户名/手机号/邮箱"
              autoComplete="off"
            />
          </Form.Item>
src/pc/components/login/normal-login/options.jsx
@@ -73,13 +73,22 @@
    {
      type: 'styleInput',
      field: 'height',
      label: '高度',
      label: '最小高度',
      initval: wrap.height || '',
      tooltip: '组件占用的最小高度,用于页面布局。',
      required: false,
      options: ['px', 'vh', 'vw', '%']
    },
    {
      type: 'styleInput',
      field: 'maxWidth',
      label: '最大宽度',
      initval: wrap.maxWidth || '',
      tooltip: '组件占用的最大宽度,用于页面布局。',
      required: false,
      options: ['px', 'vh', 'vw', '%']
    },
    {
      type: 'radio',
      field: 'topTip',
      label: '顶部提示',
src/store/options.js
@@ -44,4 +44,6 @@
  bg_white_style_grass_green: 'mk-grass-green-white',
  bg_black_style_deep_red: 'mk-deep-red-black',
  bg_white_style_deep_red: 'mk-deep-red-white',
  bg_black_style_deep_blue: 'mk-deep-blue-black',
  bg_white_style_deep_blue: 'mk-deep-blue-white',
}
src/tabviews/custom/components/card/data-card/index.jsx
@@ -111,7 +111,7 @@
    }
    let selected = 'false'
    if (_config.wrap.selected === 'always' || _config.wrap.selected === 'init') {
    if (_config.wrap.selected === 'always' || _config.wrap.selected === 'init' || _config.wrap.selected === 'sign') {
      selected = _config.wrap.selected
    } else {
      _config.wrap.selected = 'false'
@@ -342,17 +342,58 @@
  }
  checkTopLine = (id) => {
    const { config, data } = this.state
    const { config, data, selected } = this.state
    if (!data || data.length === 0) {
      this.setState({
        activeKey: '',
        selectKeys: [],
        selectedData: []
      })
      MKEmitter.emit('resetSelectLine', config.uuid, '', '')
      if (config.setting.$hasSyncModule) {
        MKEmitter.emit('syncBalconyData', config.uuid, [], false)
      }
      return
    }
    if (selected === 'sign') {
      let index = ''
      let keys = []
      let items = []
      let last = ''
      data.forEach((item, i) => {
        if (!item.$disabled && item.selected === 'true') {
          items.push(item)
          keys.push(i)
          index = i
          last = item
        }
      })
      this.setState({
        activeKey: index,
        selectKeys: keys,
        selectedData: items
      })
      MKEmitter.emit('resetSelectLine', config.uuid, last ? last.$$uuid : '', last)
      if (config.setting.$hasSyncModule) {
        MKEmitter.emit('syncBalconyData', config.uuid, items, data.length === keys.length)
      }
      return
    }
    let index = 0
    if (id && data) {
    if (id) {
      index = data.findIndex(item => item.$$uuid === id)
      if (index === -1) {
        index = 0
      }
    }
    if (!data || data.length === 0 || data[index].$disabled) {
    if (data[index].$disabled) {
      this.setState({
        activeKey: '',
        selectKeys: [],
src/tabviews/custom/components/chart/antv-G6/index.jsx
@@ -27,7 +27,8 @@
  purple: '#722ed1',
  magenta: '#eb2f96',
  grass_green: '#aeb303',
  deep_red: '#c32539'
  deep_red: '#c32539',
  deep_blue: '#1d3661'
}
let systemColor = '#1890ff'
src/tabviews/custom/components/module/voucher/assistTable/index.jsx
@@ -7,9 +7,6 @@
import Api from '@/api'
import Utils from '@/utils/utils.js'
import MKEmitter from '@/utils/events.js'
import zhCN from '@/locales/zh-CN/main.js'
import enUS from '@/locales/en-US/main.js'
import '@/assets/css/table.scss'
import './index.scss'
class BodyRow extends React.Component {
@@ -211,7 +208,6 @@
  }
  state = {
    dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS,
    data: [],
    edData: [],
    edColumns: [],
@@ -648,12 +644,12 @@
    if (res && res.ErrCode === 'S') { // 执行成功
      notification.success({
        top: 92,
        message: res.ErrMesg || this.state.dict['main.action.confirm.success'],
        message: res.ErrMesg || '执行成功',
        duration: submit.stime ? submit.stime : 2
      })
    } else if (res && res.ErrCode === 'Y') { // 执行成功
      Modal.success({
        title: res.ErrMesg || this.state.dict['main.action.confirm.success']
        title: res.ErrMesg || '执行成功'
      })
    } else if (res && res.ErrCode === '-1') { // 完成后不提示
src/tabviews/custom/components/module/voucher/index.jsx
@@ -24,6 +24,9 @@
    disableAdd: false,
    disableSave: false,
    typeOptions: [],
    charType: '',
    charInt: '',
    vouDate: null,
    book: null
  }
@@ -109,7 +112,13 @@
        return
      }
      let typeOptions = res.char || []
      this.setState({
        typeOptions: typeOptions,
        charType: typeOptions[0] ? typeOptions[0].voucher_class : '',
        charInt: typeOptions[0] ? typeOptions[0].voucher_char_int : '',
      })
    })
  }
@@ -125,8 +134,12 @@
  }
  changeVoucherDate = () => {
  }
  render() {
    const { config, disableSave, disableAdd, typeOptions, data } = this.state
    const { config, disableSave, disableAdd, typeOptions, charType, charInt, data } = this.state
    return (
      <div className="menu-voucher-wrap" style={config.style}>
@@ -140,15 +153,15 @@
        {config.wrap.type === 'edit' ? <div className="voucher-body">
          <div className="pre-wrap">
            <div className="voucher-code">
              <Select dropdownClassName="mk-vcode-dropdown">
              <Select value={charType} dropdownClassName="mk-vcode-dropdown" onChange={(val, option) => this.setState({charType: val, charInt: option.props.charInt})}>
                {typeOptions.map(option =>
                  <Select.Option value={option.value}>{option.label}</Select.Option>
                  <Select.Option value={option.voucher_class} charInt={option.voucher_char_int}>{option.voucher_char}</Select.Option>
                )}
              </Select>
              <Input autoComplete="off" /> 号
              <Input value={charInt} autoComplete="off" onChange={(e) => this.setState({charInt: e.target.value})}/> 号
            </div>
            <div className="voucher-date">
              日期:<DatePicker onChange={this.onChange}/>
              日期:<DatePicker onChange={this.changeVoucherDate}/>
            </div>
            <div className="voucher-affix">
              附单据 <Input autoComplete="off" /> 张
src/tabviews/custom/components/module/voucher/voucherTable/index.jsx
@@ -8,7 +8,6 @@
import MKEmitter from '@/utils/events.js'
import zhCN from '@/locales/zh-CN/main.js'
import enUS from '@/locales/en-US/main.js'
import '@/assets/css/table.scss'
import './index.scss'
class BodyRow extends React.Component {
src/tabviews/custom/components/share/normalTable/index.jsx
@@ -8,10 +8,7 @@
import { getMark } from '@/utils/utils.js'
import MkIcon from '@/components/mk-icon'
import MKEmitter from '@/utils/events.js'
import zhCN from '@/locales/zh-CN/main.js'
import enUS from '@/locales/en-US/main.js'
import Encrypts from '@/components/encrypts'
import '@/assets/css/table.scss'
import './index.scss'
const { Paragraph } = Typography
@@ -416,7 +413,6 @@
  }
  state = {
    dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS,
    tableId: '',          // 表格ID
    selectedRowKeys: [],  // 表格中选中行
    pageIndex: 1,         // 初始页面索引
@@ -618,10 +614,32 @@
    this.props.refreshdata({pageIndex})
  }
  mkCheckTopLine = (menuId, id) => {
  mkCheckTopLine = (menuId, id, type) => {
    const { MenuID, data, setting } = this.props
    if (MenuID !== menuId || !data || data.length === 0) return
    if (type === 'sign') {
      let index = ''
      let keys = []
      let items = []
      data.forEach((item, i) => {
        if (!item.$disabled && item.selected === 'true') {
          items.push(item)
          keys.push(i)
          index = i
        }
      })
      this.changedata(index)
      this.setState({ selectedRowKeys: keys, activeIndex: index })
      this.props.chgSelectData(items)
      if (setting.$hasSyncModule) {
        MKEmitter.emit('syncBalconyData', MenuID, items, data.length === keys.length)
      }
      return
    }
    let index = 0
    if (id) {
@@ -720,7 +738,7 @@
  /**
   * 
   */
  onSelectChange = selectedRowKeys => {
  onSelectChange = (selectedRowKeys, e) => {
    const { setting, MenuID, data } = this.props
    let index = ''
@@ -950,7 +968,7 @@
        pageSizeOptions: pageOptions,
        showSizeChanger: true,
        total: this.props.total || 0,
        showTotal: (total, range) => `${range[0]}-${range[1]} ${this.state.dict['main.pagination.of']} ${total} ${this.state.dict['main.pagination.items']}`
        showTotal: (total, range) => `${range[0]}-${range[1]} 共 ${total} 条`
      }
    }
src/tabviews/custom/components/share/normalTable/index.scss
@@ -219,6 +219,11 @@
  table tbody tr {
    color: var(--mk-table-color);
  }
  // table tbody {
  //   tr:nth-child(even) {
  //     background: #f5f5f5;
  //   }
  // }
}
.normal-custom-table:not(.fixed-height) {
  .ant-table-body::-webkit-scrollbar {
src/tabviews/custom/components/table/base-table/index.jsx
@@ -70,7 +70,7 @@
    let setting = {..._config.setting, ..._config.wrap}
    if (setting.selected !== 'always' && setting.selected !== 'init') {
    if (setting.selected !== 'always' && setting.selected !== 'init' && setting.selected !== 'sign') {
      setting.selected = 'false'
    } else {
      setting.orisel = true
@@ -159,7 +159,7 @@
    if (result.status) {
      if ((setting.selected !== 'false' || (setting.orisel && id)) && result.data && result.data.length > 0) {
        setTimeout(() => {
          MKEmitter.emit('mkCheckTopLine', config.uuid, id)
          MKEmitter.emit('mkCheckTopLine', config.uuid, id, setting.selected)
        }, 200)
        if (setting.selected === 'init') {
          this.setState({setting: {...setting, selected: 'false'}})
src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
@@ -14,7 +14,6 @@
import enUS from '@/locales/en-US/main.js'
import CusSwitch from './cusSwitch'
import Encrypts from '@/components/encrypts'
import '@/assets/css/table.scss'
import './index.scss'
const { Paragraph } = Typography
src/tabviews/custom/components/table/normal-table/index.jsx
@@ -78,7 +78,7 @@
    let setting = {..._config.setting, ..._config.wrap}
    if (setting.selected !== 'always' && setting.selected !== 'init') {
    if (setting.selected !== 'always' && setting.selected !== 'init' && setting.selected !== 'sign') {
      setting.selected = 'false'
    } else {
      setting.orisel = true
@@ -120,7 +120,7 @@
      if (setting.selected !== 'false' && _data && _data.length > 0) {
        setTimeout(() => {
          MKEmitter.emit('mkCheckTopLine', _config.uuid)
          MKEmitter.emit('mkCheckTopLine', _config.uuid, '', setting.selected)
        }, 200)
        if (setting.selected === 'init') {
          setting.selected = 'false'
@@ -236,7 +236,7 @@
    if (result.status) {
      if ((setting.selected !== 'false' || (setting.orisel && id)) && result.data && result.data.length > 0) {
        setTimeout(() => {
          MKEmitter.emit('mkCheckTopLine', config.uuid, id)
          MKEmitter.emit('mkCheckTopLine', config.uuid, id, setting.selected)
        }, 200)
        if (setting.selected === 'init') {
          this.setState({setting: {...setting, selected: 'false'}})
@@ -636,7 +636,7 @@
        if (setting.selected !== 'false' && _data && _data.length > 0) {
          setTimeout(() => {
            MKEmitter.emit('mkCheckTopLine', config.uuid)
            MKEmitter.emit('mkCheckTopLine', config.uuid, '', setting.selected)
          }, 200)
          if (setting.selected === 'init') {
            this.setState({setting: {...setting, selected: 'false'}})
src/tabviews/zshare/actionList/index.jsx
@@ -203,7 +203,7 @@
          <div className="button-list toolbar-button" id={fixed ? MenuID + 'mainaction' : ''}>
            {this.getButtonList(actions)}
            {mores ? <Dropdown overlay={<div className="mk-button-dropdown-wrap">{this.getButtonList(mores)}</div>} trigger={['hover']}>
              <div className="mk-more">更多<DownOutlined/></div>
              <div className="mk-button-more">更多<DownOutlined/></div>
            </Dropdown> : null}
          </div>
        </Affix>
@@ -213,7 +213,7 @@
        <div className="button-list toolbar-button" id={fixed ? MenuID + 'mainaction' : ''}>
          {this.getButtonList(actions)}
          {mores ? <Dropdown overlay={<div className="mk-button-dropdown-wrap">{this.getButtonList(mores)}</div>} trigger={['hover']}>
            <div className="mk-more">更多<DownOutlined/></div>
            <div className="mk-button-more">更多<DownOutlined/></div>
          </Dropdown> : null}
        </div>
      )
src/tabviews/zshare/actionList/index.scss
@@ -26,7 +26,7 @@
    display: none;
  }
}
.mk-more {
.mk-button-more {
  display: inline-block;
  height: 28px;
  border: 1px solid #d8d8d8;
src/tabviews/zshare/normalTable/index.scss
@@ -232,6 +232,11 @@
      display: block;
    }
  }
  // table tbody {
  //   tr:nth-child(even) {
  //     background: #f9f9f9;
  //   }
  // }
}
.image-scale-modal {
  width: 70vw;
src/templates/zshare/formconfig.jsx
@@ -3685,7 +3685,7 @@
      key: 'regularExtra',
      label: '正则扩展符',
      initVal: card.regularExtra || '',
      tooltip: '正则验证时的自定义字符,包括~!@#$%^&*()_+:;{}<>,.-',
      tooltip: '正则验证时允许添加的自定义字符,包括~!@#$%^&*()_+:;{}<>,.-',
      required: false,
      readonly: false
    },
src/views/appcheck/index.jsx
@@ -27,7 +27,8 @@
  bg_black_style_purple: {name: '紫色', color: '#722ed1'},
  bg_black_style_magenta: {name: '洋红色', color: '#eb2f96'},
  bg_black_style_grass_green: {name: '草绿色', color: '#aeb303'},
  bg_black_style_deep_red: {name: '深红色', color: '#c32539'}
  bg_black_style_deep_red: {name: '深红色', color: '#c32539'},
  bg_black_style_deep_blue: {name: '深红色', color: '#1d3661'}
}
class AppCheck extends Component {
src/views/appmanage/index.jsx
@@ -39,7 +39,8 @@
  bg_black_style_purple: {name: '紫色', color: '#722ed1'},
  bg_black_style_magenta: {name: '洋红色', color: '#eb2f96'},
  bg_black_style_grass_green: {name: '草绿色', color: '#aeb303'},
  bg_black_style_deep_red: {name: '深红色', color: '#c32539'}
  bg_black_style_deep_red: {name: '深红色', color: '#c32539'},
  bg_black_style_deep_blue: {name: '深红色', color: '#1d3661'}
}
class AppManage extends Component {
src/views/appmanage/submutilform/index.jsx
@@ -152,6 +152,7 @@
                  <Select.Option value="bg_black_style_magenta"><span className="color-block" style={{background: '#eb2f96'}}></span>洋红色(#eb2f96)</Select.Option>
                  <Select.Option value="bg_black_style_grass_green"><span className="color-block" style={{background: '#aeb303'}}></span>草绿色(#aeb303)</Select.Option>
                  <Select.Option value="bg_black_style_deep_red"><span className="color-block" style={{background: '#c32539'}}></span>深红色(#c32539)</Select.Option>
                  <Select.Option value="bg_black_style_deep_blue"><span className="color-block" style={{background: '#1d3661'}}></span>深蓝色(#1d3661)</Select.Option>
                </Select>
              )}
            </Form.Item>