king
2021-12-21 fbb78fa4d5e3346733505af886234877b0806265
2021-12-21
14个文件已修改
2个文件已添加
656 ■■■■■ 已修改文件
src/components/mk-icon/index.jsx 476 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/mk-icon/index.scss 补丁 | 查看 | 原始文档 | blame | 历史
src/components/mkIcon/index.jsx 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/mkIcon/index.scss 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/normalform/modalform/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/locales/en-US/main.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/locales/zh-CN/main.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/cardcellcomponent/elementform/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/cardsimplecomponent/node-wrap/menus/columnform/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/share/actioncomponent/actionform/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/mob/components/navbar/normal-navbar/menusetting/menuform/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/mob/searchconfig/groupform/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/zshare/editTable/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/templates/zshare/modalform/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/option.js 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/appmanage/index.jsx 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/mk-icon/index.jsx
New file
@@ -0,0 +1,476 @@
import React, {Component} from 'react'
import {
  ArrowUpOutlined,
  ArrowDownOutlined,
  ArrowLeftOutlined,
  ArrowRightOutlined,
  DownOutlined,
  UpOutlined,
  LeftOutlined,
  RightOutlined,
  UploadOutlined,
  DownloadOutlined,
  StepBackwardOutlined,
  StepForwardOutlined,
  FastBackwardOutlined,
  FastForwardOutlined,
  DoubleRightOutlined,
  DoubleLeftOutlined,
  ForwardOutlined,
  BackwardOutlined,
  RollbackOutlined,
  EnterOutlined,
  RetweetOutlined,
  SwapOutlined,
  SwapLeftOutlined,
  SwapRightOutlined,
  PlayCircleOutlined,
  LoginOutlined,
  LogoutOutlined,
  FullscreenOutlined,
  FullscreenExitOutlined,
  QuestionOutlined,
  QuestionCircleOutlined,
  PlusOutlined,
  PlusCircleOutlined,
  PauseCircleOutlined,
  MinusOutlined,
  MinusCircleOutlined,
  InfoCircleOutlined,
  ExclamationCircleOutlined,
  CloseOutlined,
  CloseCircleOutlined,
  CheckOutlined,
  CheckCircleOutlined,
  ClockCircleOutlined,
  WarningOutlined,
  StopOutlined,
  EditOutlined,
  FormOutlined,
  CopyOutlined,
  ScissorOutlined,
  DeleteOutlined,
  SnippetsOutlined,
  HighlightOutlined,
  RedoOutlined,
  UndoOutlined,
  ZoomInOutlined,
  ZoomOutOutlined,
  DashOutlined,
  SortAscendingOutlined,
  SortDescendingOutlined,
  AreaChartOutlined,
  PieChartOutlined,
  BarChartOutlined,
  DotChartOutlined,
  LineChartOutlined,
  RadarChartOutlined,
  FallOutlined,
  RiseOutlined,
  StockOutlined,
  AppleOutlined,
  DingdingOutlined,
  WeiboOutlined,
  WechatOutlined,
  TaobaoOutlined,
  QqOutlined,
  AlipayOutlined,
  UserOutlined,
  AccountBookOutlined,
  AlertOutlined,
  ApiOutlined,
  AppstoreOutlined,
  AudioOutlined,
  BankOutlined,
  BellOutlined,
  ScanOutlined,
  BugOutlined,
  CalendarOutlined,
  CameraOutlined,
  CloudOutlined,
  CompassOutlined,
  CreditCardOutlined,
  CustomerServiceOutlined,
  DashboardOutlined,
  EllipsisOutlined,
  MoreOutlined,
  DatabaseOutlined,
  DislikeOutlined,
  EnvironmentOutlined,
  EyeOutlined,
  EyeInvisibleOutlined,
  FileOutlined,
  FilterOutlined,
  FireOutlined,
  FlagOutlined,
  FolderAddOutlined,
  FolderOutlined,
  FolderOpenOutlined,
  HeartOutlined,
  HomeOutlined,
  HourglassOutlined,
  IdcardOutlined,
  LikeOutlined,
  LockOutlined,
  MailOutlined,
  MessageOutlined,
  MobileOutlined,
  PhoneOutlined,
  PictureOutlined,
  RedEnvelopeOutlined,
  SettingOutlined,
  ToolOutlined,
  SmileOutlined,
  StarOutlined,
  ThunderboltOutlined,
  UnlockOutlined,
  BarcodeOutlined,
  KeyOutlined,
  ManOutlined,
  WomanOutlined,
  TeamOutlined,
  PoweroffOutlined,
  SearchOutlined,
  ShoppingCartOutlined,
  LinkOutlined,
  AimOutlined,
  ApartmentOutlined,
  AppstoreAddOutlined,
  AudioMutedOutlined,
  AuditOutlined,
  BarsOutlined,
  BlockOutlined,
  BookOutlined,
  BulbOutlined,
  BorderOutlined,
  NumberOutlined,
  BranchesOutlined,
  BuildOutlined,
  CalculatorOutlined,
  CarOutlined,
  CarryOutOutlined,
  CiOutlined,
  ClearOutlined,
  CloudDownloadOutlined,
  CloudServerOutlined,
  CloudSyncOutlined,
  CloudUploadOutlined,
  ClusterOutlined,
  CodeOutlined,
  CoffeeOutlined,
  CommentOutlined,
  CompressOutlined,
  ControlOutlined,
  CopyrightOutlined,
  CrownOutlined,
  DeleteColumnOutlined,
  DeleteRowOutlined,
  DeliveredProcedureOutlined,
  DeploymentUnitOutlined,
  DesktopOutlined,
  DisconnectOutlined,
  DollarOutlined,
  EuroOutlined,
  ExpandOutlined,
  ExportOutlined,
  FileAddOutlined,
  FileDoneOutlined,
  FileImageOutlined,
  FilePdfOutlined,
  FilePptOutlined,
  FileTextOutlined,
  FileUnknownOutlined,
  FileWordOutlined,
  FileZipOutlined,
  ForkOutlined,
  FrownOutlined,
  FunnelPlotOutlined,
  GatewayOutlined,
  GifOutlined,
  GiftOutlined,
  GlobalOutlined,
  GoldOutlined,
  ImportOutlined,
  LaptopOutlined,
  LoadingOutlined,
  MedicineBoxOutlined,
  MehOutlined,
  MenuOutlined,
  PaperClipOutlined,
  PartitionOutlined,
  PayCircleOutlined,
  PrinterOutlined,
  PushpinOutlined,
  QrcodeOutlined,
  ReloadOutlined,
  RestOutlined,
  RobotOutlined,
  RotateLeftOutlined,
  RotateRightOutlined,
  SafetyCertificateOutlined,
  SaveOutlined,
  SendOutlined,
  ShakeOutlined,
  ShareAltOutlined,
  ShopOutlined,
  ShoppingOutlined,
  SoundOutlined,
  SyncOutlined,
  TagOutlined,
  TagsOutlined,
  TrademarkOutlined,
  TrophyOutlined,
  UsbOutlined,
  UserAddOutlined,
  UserDeleteOutlined,
  UserSwitchOutlined,
  VideoCameraOutlined,
  WifiOutlined
} from '@ant-design/icons'
const MkIcons = {
  'arrow-up': (props) => <ArrowUpOutlined {...props} />,
  'arrow-down': (props) => <ArrowDownOutlined {...props} />,
  'arrow-left': (props) => <ArrowLeftOutlined {...props} />,
  'arrow-right': (props) => <ArrowRightOutlined {...props} />,
  'down': (props) => <DownOutlined {...props} />,
  'up': (props) => <UpOutlined {...props} />,
  'left': (props) => <LeftOutlined {...props} />,
  'right': (props) => <RightOutlined {...props} />,
  'upload': (props) => <UploadOutlined {...props} />,
  'download': (props) => <DownloadOutlined {...props} />,
  'step-backward': (props) => <StepBackwardOutlined {...props} />,
  'step-forward': (props) => <StepForwardOutlined {...props} />,
  'fast-backward': (props) => <FastBackwardOutlined {...props} />,
  'fast-forward': (props) => <FastForwardOutlined {...props} />,
  'double-right': (props) => <DoubleRightOutlined {...props} />,
  'double-left': (props) => <DoubleLeftOutlined {...props} />,
  'forward': (props) => <ForwardOutlined {...props} />,
  'backward': (props) => <BackwardOutlined {...props} />,
  'rollback': (props) => <RollbackOutlined {...props} />,
  'enter': (props) => <EnterOutlined {...props} />,
  'retweet': (props) => <RetweetOutlined {...props} />,
  'swap': (props) => <SwapOutlined {...props} />,
  'swap-left': (props) => <SwapLeftOutlined {...props} />,
  'swap-right': (props) => <SwapRightOutlined {...props} />,
  'play-circle': (props) => <PlayCircleOutlined {...props} />,
  'login': (props) => <LoginOutlined {...props} />,
  'logout': (props) => <LogoutOutlined {...props} />,
  'fullscreen': (props) => <FullscreenOutlined {...props} />,
  'fullscreen-exit': (props) => <FullscreenExitOutlined {...props} />,
  'question': (props) => <QuestionOutlined {...props} />,
  'question-circle': (props) => <QuestionCircleOutlined {...props} />,
  'plus': (props) => <PlusOutlined {...props} />,
  'plus-circle': (props) => <PlusCircleOutlined {...props} />,
  'pause-circle': (props) => <PauseCircleOutlined {...props} />,
  'minus': (props) => <MinusOutlined {...props} />,
  'minus-circle': (props) => <MinusCircleOutlined {...props} />,
  'info-circle': (props) => <InfoCircleOutlined {...props} />,
  'exclamation-circle': (props) => <ExclamationCircleOutlined {...props} />,
  'close': (props) => <CloseOutlined {...props} />,
  'close-circle': (props) => <CloseCircleOutlined {...props} />,
  'check': (props) => <CheckOutlined {...props} />,
  'check-circle': (props) => <CheckCircleOutlined {...props} />,
  'clock-circle': (props) => <ClockCircleOutlined {...props} />,
  'warning': (props) => <WarningOutlined {...props} />,
  'stop': (props) => <StopOutlined {...props} />,
  'edit': (props) => <EditOutlined {...props} />,
  'form': (props) => <FormOutlined {...props} />,
  'copy': (props) => <CopyOutlined {...props} />,
  'scissor': (props) => <ScissorOutlined {...props} />,
  'delete': (props) => <DeleteOutlined {...props} />,
  'snippets': (props) => <SnippetsOutlined {...props} />,
  'highlight': (props) => <HighlightOutlined {...props} />,
  'redo': (props) => <RedoOutlined {...props} />,
  'undo': (props) => <UndoOutlined {...props} />,
  'zoom-in': (props) => <ZoomInOutlined {...props} />,
  'zoom-out': (props) => <ZoomOutOutlined {...props} />,
  'dash': (props) => <DashOutlined {...props} />,
  'sort-ascending': (props) => <SortAscendingOutlined {...props} />,
  'sort-descending': (props) => <SortDescendingOutlined {...props} />,
  'area-chart': (props) => <AreaChartOutlined {...props} />,
  'pie-chart': (props) => <PieChartOutlined {...props} />,
  'bar-chart': (props) => <BarChartOutlined {...props} />,
  'dot-chart': (props) => <DotChartOutlined {...props} />,
  'line-chart': (props) => <LineChartOutlined {...props} />,
  'radar-chart': (props) => <RadarChartOutlined {...props} />,
  'fall': (props) => <FallOutlined {...props} />,
  'rise': (props) => <RiseOutlined {...props} />,
  'stock': (props) => <StockOutlined {...props} />,
  'apple': (props) => <AppleOutlined {...props} />,
  'dingding': (props) => <DingdingOutlined {...props} />,
  'weibo': (props) => <WeiboOutlined {...props} />,
  'wechat': (props) => <WechatOutlined {...props} />,
  'taobao': (props) => <TaobaoOutlined {...props} />,
  'qq': (props) => <QqOutlined {...props} />,
  'alipay': (props) => <AlipayOutlined {...props} />,
  'user': (props) => <UserOutlined {...props} />,
  'account-book': (props) => <AccountBookOutlined {...props} />,
  'alert': (props) => <AlertOutlined {...props} />,
  'api': (props) => <ApiOutlined {...props} />,
  'appstore': (props) => <AppstoreOutlined {...props} />,
  'audio': (props) => <AudioOutlined {...props} />,
  'bank': (props) => <BankOutlined {...props} />,
  'bell': (props) => <BellOutlined {...props} />,
  'scan': (props) => <ScanOutlined {...props} />,
  'bug': (props) => <BugOutlined {...props} />,
  'calendar': (props) => <CalendarOutlined {...props} />,
  'camera': (props) => <CameraOutlined {...props} />,
  'cloud': (props) => <CloudOutlined {...props} />,
  'compass': (props) => <CompassOutlined {...props} />,
  'credit-card': (props) => <CreditCardOutlined {...props} />,
  'customer-service': (props) => <CustomerServiceOutlined {...props} />,
  'dashboard': (props) => <DashboardOutlined {...props} />,
  'ellipsis': (props) => <EllipsisOutlined {...props} />,
  'more': (props) => <MoreOutlined {...props} />,
  'database': (props) => <DatabaseOutlined {...props} />,
  'dislike': (props) => <DislikeOutlined {...props} />,
  'environment': (props) => <EnvironmentOutlined {...props} />,
  'eye-invisible': (props) => <EyeInvisibleOutlined {...props} />,
  'eye': (props) => <EyeOutlined {...props} />,
  'file': (props) => <FileOutlined {...props} />,
  'filter': (props) => <FilterOutlined {...props} />,
  'fire': (props) => <FireOutlined {...props} />,
  'flag': (props) => <FlagOutlined {...props} />,
  'folder-add': (props) => <FolderAddOutlined {...props} />,
  'folder': (props) => <FolderOutlined {...props} />,
  'folder-open': (props) => <FolderOpenOutlined {...props} />,
  'heart': (props) => <HeartOutlined {...props} />,
  'home': (props) => <HomeOutlined {...props} />,
  'hourglass': (props) => <HourglassOutlined {...props} />,
  'idcard': (props) => <IdcardOutlined {...props} />,
  'like': (props) => <LikeOutlined {...props} />,
  'lock': (props) => <LockOutlined {...props} />,
  'mail': (props) => <MailOutlined {...props} />,
  'message': (props) => <MessageOutlined {...props} />,
  'mobile': (props) => <MobileOutlined {...props} />,
  'phone': (props) => <PhoneOutlined {...props} />,
  'picture': (props) => <PictureOutlined {...props} />,
  'red-envelope': (props) => <RedEnvelopeOutlined {...props} />,
  'setting': (props) => <SettingOutlined {...props}/>,
  'tool': (props) => <ToolOutlined {...props} />,
  'smile': (props) => <SmileOutlined {...props} />,
  'star': (props) => <StarOutlined {...props} />,
  'thunderbolt': (props) => <ThunderboltOutlined {...props} />,
  'unlock': (props) => <UnlockOutlined {...props} />,
  'barcode': (props) => <BarcodeOutlined {...props} />,
  'key': (props) => <KeyOutlined {...props} />,
  'man': (props) => <ManOutlined {...props} />,
  'woman': (props) => <WomanOutlined {...props} />,
  'team': (props) => <TeamOutlined {...props} />,
  'poweroff': (props) => <PoweroffOutlined {...props} />,
  'search': (props) => <SearchOutlined {...props} />,
  'shopping-cart': (props) => <ShoppingCartOutlined {...props} />,
  'link': (props) => <LinkOutlined {...props} />,
  'aim': (props) => <AimOutlined {...props} />,
  'apartment': (props) => <ApartmentOutlined {...props} />,
  'appstore-add': (props) => <AppstoreAddOutlined {...props} />,
  'audio-mute': (props) => <AudioMutedOutlined {...props} />,
  'audit': (props) => <AuditOutlined {...props} />,
  'bars': (props) => <BarsOutlined {...props} />,
  'block': (props) => <BlockOutlined {...props} />,
  'book': (props) => <BookOutlined {...props} />,
  'bulb': (props) => <BulbOutlined {...props} />,
  'border': (props) => <BorderOutlined {...props} />,
  'number': (props) => <NumberOutlined {...props} />,
  'branches': (props) => <BranchesOutlined {...props} />,
  'build': (props) => <BuildOutlined {...props} />,
  'calculator': (props) => <CalculatorOutlined {...props} />,
  'car': (props) => <CarOutlined {...props} />,
  'carry-out': (props) => <CarryOutOutlined {...props} />,
  'ci': (props) => <CiOutlined {...props} />,
  'clear': (props) => <ClearOutlined {...props} />,
  'cloud-download': (props) => <CloudDownloadOutlined {...props} />,
  'cloud-server': (props) => <CloudServerOutlined {...props} />,
  'cloud-sync': (props) => <CloudSyncOutlined {...props} />,
  'cloud-upload': (props) => <CloudUploadOutlined {...props} />,
  'cluster': (props) => <ClusterOutlined {...props} />,
  'code': (props) => <CodeOutlined {...props} />,
  'coffee': (props) => <CoffeeOutlined {...props} />,
  'comment': (props) => <CommentOutlined {...props} />,
  'compress': (props) => <CompressOutlined {...props} />,
  'control': (props) => <ControlOutlined {...props} />,
  'copyright': (props) => <CopyrightOutlined {...props} />,
  'crown': (props) => <CrownOutlined {...props} />,
  'delete-column': (props) => <DeleteColumnOutlined {...props} />,
  'delete-row': (props) => <DeleteRowOutlined {...props} />,
  'delivered-procedure': (props) => <DeliveredProcedureOutlined {...props} />,
  'deployment-unit': (props) => <DeploymentUnitOutlined {...props} />,
  'desktop': (props) => <DesktopOutlined {...props} />,
  'disconnect': (props) => <DisconnectOutlined {...props} />,
  'dollar': (props) => <DollarOutlined {...props} />,
  'euro': (props) => <EuroOutlined {...props} />,
  'expand': (props) => <ExpandOutlined {...props} />,
  'export': (props) => <ExportOutlined {...props} />,
  'file-add': (props) => <FileAddOutlined {...props} />,
  'file-done': (props) => <FileDoneOutlined {...props} />,
  'file-image': (props) => <FileImageOutlined {...props} />,
  'file-pdf': (props) => <FilePdfOutlined {...props} />,
  'file-ppt': (props) => <FilePptOutlined {...props} />,
  'file-text': (props) => <FileTextOutlined {...props} />,
  'file-unknown': (props) => <FileUnknownOutlined {...props} />,
  'file-word': (props) => <FileWordOutlined {...props} />,
  'file-zip': (props) => <FileZipOutlined {...props} />,
  'fork': (props) => <ForkOutlined {...props} />,
  'frown': (props) => <FrownOutlined {...props} />,
  'funnel-plot': (props) => <FunnelPlotOutlined {...props} />,
  'gateway': (props) => <GatewayOutlined {...props} />,
  'gif': (props) => <GifOutlined {...props} />,
  'gift': (props) => <GiftOutlined {...props} />,
  'global': (props) => <GlobalOutlined {...props} />,
  'gold': (props) => <GoldOutlined {...props} />,
  'import': (props) => <ImportOutlined {...props} />,
  'laptop': (props) => <LaptopOutlined {...props} />,
  'loading': (props) => <LoadingOutlined {...props} />,
  'medicine-box': (props) => <MedicineBoxOutlined {...props} />,
  'meh': (props) => <MehOutlined {...props} />,
  'menu': (props) => <MenuOutlined {...props} />,
  'paper-clip': (props) => <PaperClipOutlined {...props} />,
  'partition': (props) => <PartitionOutlined {...props} />,
  'pay-circle': (props) => <PayCircleOutlined {...props} />,
  'printer': (props) => <PrinterOutlined {...props} />,
  'pushpin': (props) => <PushpinOutlined {...props} />,
  'qrcode': (props) => <QrcodeOutlined {...props} />,
  'reload': (props) => <ReloadOutlined {...props} />,
  'rest': (props) => <RestOutlined {...props} />,
  'robot': (props) => <RobotOutlined {...props} />,
  'rotate-left': (props) => <RotateLeftOutlined {...props} />,
  'rotate-right': (props) => <RotateRightOutlined {...props} />,
  'safety-certificate': (props) => <SafetyCertificateOutlined {...props} />,
  'save': (props) => <SaveOutlined {...props} />,
  'send': (props) => <SendOutlined {...props} />,
  'shake': (props) => <ShakeOutlined {...props} />,
  'share-alt': (props) => <ShareAltOutlined {...props} />,
  'shop': (props) => <ShopOutlined {...props} />,
  'shopping': (props) => <ShoppingOutlined {...props} />,
  'sound': (props) => <SoundOutlined {...props} />,
  'sync': (props) => <SyncOutlined {...props} />,
  'tag': (props) => <TagOutlined {...props} />,
  'tags': (props) => <TagsOutlined {...props} />,
  'trademark': (props) => <TrademarkOutlined {...props} />,
  'trophy': (props) => <TrophyOutlined {...props} />,
  'usb': (props) => <UsbOutlined {...props} />,
  'user-add': (props) => <UserAddOutlined {...props} />,
  'user-delete': (props) => <UserDeleteOutlined {...props} />,
  'user-switch': (props) => <UserSwitchOutlined {...props} />,
  'video-camera': (props) => <VideoCameraOutlined {...props} />,
  'wifi': (props) => <WifiOutlined {...props} />,
}
class MkIcon extends Component {
  render() {
    const { type, ...resProps } = this.props
    if (!type || !MkIcons[type]) return null
    return (
      MkIcons[type](resProps)
    )
  }
}
export default MkIcon
src/components/mk-icon/index.scss
src/components/mkIcon/index.jsx
@@ -1,12 +1,16 @@
import React, {Component} from 'react'
import PropTypes from 'prop-types'
import { is, fromJS } from 'immutable'
import { Modal, Icon, Row, Col, Button } from 'antd'
import { Modal, Row, Col, Button } from 'antd'
import { CloseCircleFilled } from '@ant-design/icons'
import { minkeIconSystem } from '@/utils/option.js'
import MkIcon from '@/components/mk-icon'
import './index.scss'
class MkIcon extends Component {
// ['direction', 'edit', 'normal', 'data', 'hint']
class MkEditIcon extends Component {
  static propTpyes = {
    onChange: PropTypes.func
  }
@@ -14,17 +18,28 @@
  state = {
    selectIcon: '',
    allowClear: false,
    icons: [...minkeIconSystem.direction, ...minkeIconSystem.edit, ...minkeIconSystem.normal, ...minkeIconSystem.data, ...minkeIconSystem.hint],
    icons: [],
    visible: false
  }
  UNSAFE_componentWillMount () {
    const { options } = this.props
    let val = ''
    if (this.props['data-__meta']) {
      val = this.props['data-__meta'].initialValue || ''
    }
    this.setState({selectIcon: val, allowClear: this.props.allowClear === true})
    let icons = []
    if (options) {
      options.forEach(item => {
        icons.push(...minkeIconSystem[item])
      })
    } else {
      icons = [...minkeIconSystem.direction, ...minkeIconSystem.edit, ...minkeIconSystem.normal, ...minkeIconSystem.data, ...minkeIconSystem.hint]
    }
    this.setState({selectIcon: val, allowClear: this.props.allowClear === true, icons})
  }
  shouldComponentUpdate (nextProps, nextState) {
@@ -41,9 +56,9 @@
    return (
      <div className="mk-icon-box">
        {selectIcon ? <Icon type={selectIcon}/> : <Icon style={{opacity: 0}} type="plus"/>}
        <Icon className="trigger" onClick={() => this.setState({visible: true})} type="swap"/>
        {allowClear && selectIcon ? <Icon className="close" onClick={() => this.checkIcon('')} theme="filled" type="close-circle"/> : null}
        {selectIcon ? <MkIcon type={selectIcon}/> : <span style={{color: '#bcbcbc'}}>请选择</span>}
        <MkIcon className="trigger" onClick={() => this.setState({visible: true})} type="swap"/>
        {allowClear && selectIcon ? <CloseCircleFilled className="close" onClick={() => this.checkIcon('')}/> : null}
        <Modal
          wrapClassName="popview-modal mk-icon-wrap"
          title={'图标选择'}
@@ -58,7 +73,7 @@
        >
          <Row>
            {icons.map(icon => <Col className={icon === selectIcon ? 'active' : ''} key={icon} span={4}>
              <Icon onClick={() => this.checkIcon(icon)} type={icon} />
              <MkIcon onClick={() => this.checkIcon(icon)} type={icon} />
            </Col>)}
          </Row>
        </Modal>
@@ -67,4 +82,4 @@
  }
}
export default MkIcon
export default MkEditIcon
src/components/mkIcon/index.scss
@@ -5,6 +5,7 @@
  border-radius: 4px;
  line-height: 32px;
  padding: 0px 0px 0px 10px;
  transition: all 0.3s;
  .anticon.trigger {
    float: right;
@@ -17,11 +18,14 @@
    margin-top: 8px;
    margin-right: 8px;
    background: #fff;
    color: rgba(0, 0, 0, 0.45);
    color: #bcbcbc;
    font-size: 12px;
    opacity: 0;
    transition: opacity 0.3s;
  }
  .close.anticon:hover {
    color: #959595;
  }
}
.mk-icon-box:hover {
  border-color: #1890ff;
src/components/normalform/modalform/index.jsx
@@ -17,7 +17,7 @@
const StyleInput = asyncComponent(() => import('./styleInput'))
const MKFileUpload = asyncComponent(() => import('@/tabviews/zshare/fileupload'))
const MKColor = asyncComponent(() => import('@/tabviews/zshare/mutilform/mkColor'))
const MkIcon = asyncComponent(() => import('@/components/mkIcon'))
const MkEditIcon = asyncComponent(() => import('@/components/mkIcon'))
const SourceComponent = asyncComponent(() => import('@/menu/components/share/sourcecomponent'))
class ModalForm extends Component {
@@ -239,7 +239,7 @@
      } else if (item.type === 'textarea') {
        content = (<TextArea rows={item.rows || 2} placeholder=""/>)
      } else if (item.type === 'mkicon') {
        content = (<MkIcon allowClear={item.allowClear}/>)
        content = (<MkEditIcon allowClear={item.allowClear}/>)
      } else if (item.type === 'source') {
        content = (<SourceComponent type="" placement="right"/>)
      }
src/locales/en-US/main.js
@@ -11,7 +11,6 @@
  'main.logout': 'Logout',
  'main.doc': '文档中心',
  'main.logout.hint': 'Are you sure you want to log out?',
  'main.verup': 'Version upgrade',
  'main.password': 'Change the password',
  'main.login.develop': 'Login developer',
  'main.revert.default': 'Restore default Settings',
src/locales/zh-CN/main.js
@@ -11,7 +11,6 @@
  'main.logout': '退出',
  'main.doc': '文档中心',
  'main.logout.hint': '您确定要退出吗?',
  'main.verup': '版本升级',
  'main.password': '修改密码',
  'main.login.develop': '登录开发机',
  'main.revert.default': '恢复默认设置',
src/menu/components/card/cardcellcomponent/elementform/index.jsx
@@ -11,7 +11,7 @@
const { TextArea } = Input
const ColorSketch = asyncComponent(() => import('@/mob/colorsketch'))
const SourceComponent = asyncComponent(() => import('@/menu/components/share/sourcecomponent'))
const MkIcon = asyncComponent(() => import('@/components/mkIcon'))
const MkEditIcon = asyncComponent(() => import('@/components/mkIcon'))
const cardTypeOptions = {
  sequence: ['eleType', 'width'],
@@ -407,7 +407,7 @@
                  message: this.props.dict['form.required.select'] + item.label + '!'
                }]
              })(
                <MkIcon />
                <MkEditIcon />
              )}
            </Form.Item>
          </Col>
src/menu/components/card/cardsimplecomponent/node-wrap/menus/columnform/index.jsx
@@ -5,7 +5,7 @@
import asyncComponent from '@/utils/asyncComponent'
const ColorSketch = asyncComponent(() => import('@/mob/colorsketch'))
const MkIcon = asyncComponent(() => import('@/components/mkIcon'))
const MkEditIcon = asyncComponent(() => import('@/components/mkIcon'))
class MenusColumn extends Component {
  static propTpyes = {
@@ -76,7 +76,7 @@
              {getFieldDecorator('icon', {
                initialValue: ''
              })(
                <MkIcon allowClear/>
                <MkEditIcon allowClear/>
              )}
            </Form.Item>
          </Col>
src/menu/components/share/actioncomponent/actionform/index.jsx
@@ -9,7 +9,7 @@
import './index.scss'
const { TextArea } = Input
const MkIcon = asyncComponent(() => import('@/components/mkIcon'))
const MkEditIcon = asyncComponent(() => import('@/components/mkIcon'))
const actionTypeOptions = {
  pop: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'swipe', 'icon', 'class', 'color', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'switchTab', 'width', 'openmenu', 'open', 'output', 'refreshTab', 'reload'],
  prompt: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'swipe', 'icon', 'class', 'color', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'switchTab', 'width', 'openmenu', 'open', 'output', 'refreshTab', 'reload'],
@@ -724,7 +724,7 @@
                  }
                ]
              })(
                <MkIcon allowClear/>
                <MkEditIcon options={['edit', 'hint', 'direction', 'normal', 'data']} allowClear/>
              )}
            </Form.Item>
          </Col>
src/mob/components/navbar/normal-navbar/menusetting/menuform/index.jsx
@@ -7,7 +7,7 @@
import './index.scss'
const { TextArea } = Input
const MkIcon = asyncComponent(() => import('@/components/mkIcon'))
const MkEditIcon = asyncComponent(() => import('@/components/mkIcon'))
class SettingForm extends Component {
  static propTpyes = {
@@ -122,7 +122,7 @@
              {getFieldDecorator('icon', {
                initialValue: menu.icon || ''
              })(
                <MkIcon allowClear />
                <MkEditIcon allowClear />
              )}
            </Form.Item>
          </Col>
src/mob/searchconfig/groupform/index.jsx
@@ -5,7 +5,7 @@
import asyncComponent from '@/utils/asyncComponent'
import './index.scss'
const MkIcon = asyncComponent(() => import('@/components/mkIcon'))
const MkEditIcon = asyncComponent(() => import('@/components/mkIcon'))
class SettingForm extends Component {
  static propTpyes = {
@@ -76,7 +76,7 @@
              {getFieldDecorator('icon', {
                initialValue: config.wrap.icon
              })(
                <MkIcon allowClear/>
                <MkEditIcon allowClear/>
              )}
            </Form.Item>
          </Col>
src/templates/zshare/editTable/index.jsx
@@ -13,7 +13,7 @@
import enUS from '@/locales/en-US/model.js'
import './index.scss'
const MkIcon = asyncComponent(() => import('@/components/mkIcon'))
const MkEditIcon = asyncComponent(() => import('@/components/mkIcon'))
let eTDict = sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS
const EditableContext = React.createContext()
const { confirm } = Modal
@@ -88,7 +88,7 @@
    } else if (inputType === 'color') {
      return <ColorSketch />
    } else if (inputType === 'icon') {
      return <MkIcon allowClear/>
      return <MkEditIcon allowClear/>
    } else if (inputType === 'switch') {
      return <CusSwitch />
    } else if (inputType === 'select') {
src/templates/zshare/modalform/index.jsx
@@ -16,7 +16,7 @@
const ColorSketch = asyncComponent(() => import('@/mob/colorsketch'))
const FieldsTable = asyncComponent(() => import('./fieldtable'))
const DataTable = asyncComponent(() => import('./datatable'))
const MkIcon = asyncComponent(() => import('@/components/mkIcon'))
const MkEditIcon = asyncComponent(() => import('@/components/mkIcon'))
const modalTypeOptions = {
  text: ['initval', 'readonly', 'required', 'hidden', 'readin', 'fieldlength', 'regular', 'interception', 'span', 'labelwidth', 'tooltip', 'extra', 'enter', 'cursor', 'scan', 'splitline', 'placeholder', 'place', 'marginTop', 'marginBottom'],
@@ -736,7 +736,7 @@
                  message: this.props.dict['form.required.select'] + item.label + '!'
                }]
              })(
                <MkIcon allowClear />
                <MkEditIcon allowClear />
              )}
            </Form.Item>
          </Col>
src/utils/option.js
@@ -685,6 +685,8 @@
    'up',
    'left',
    'right',
    'download',
    'upload',
    'step-backward',
    'step-forward',
    'double-right',
@@ -699,17 +701,15 @@
    'search',
    'fullscreen',
    'fullscreen-exit',
    'download',
    'upload'
  ],
  hint: [
    'question',
    'question-circle',
    'plus',
    'plus-circle',
    'pause-circle',
    'minus',
    'minus-circle',
    'question',
    'question-circle',
    'info-circle',
    'exclamation-circle',
    'close',
@@ -805,6 +805,100 @@
    'poweroff',
    'shopping-cart',
    'link',
    'aim',
    'apartment',
    'appstore-add',
    'audio-mute',
    'audit',
    'bars',
    'block',
    'book',
    'bulb',
    'border',
    'number',
    'branches',
    'build',
    'calculator',
    'car',
    'carry-out',
    'ci',
    'clear',
    'cloud-download',
    'cloud-server',
    'cloud-sync',
    'cloud-upload',
    'cluster',
    'code',
    'coffee',
    'comment',
    'compress',
    'control',
    'copyright',
    'crown',
    'delete-column',
    'delete-row',
    'delivered-procedure',
    'deployment-unit',
    'desktop',
    'disconnect',
    'dollar',
    'euro',
    'expand',
    'export',
    'file-add',
    'file-done',
    'file-image',
    'file-pdf',
    'file-ppt',
    'file-text',
    'file-unknown',
    'file-word',
    'file-zip',
    'fork',
    'frown',
    'funnel-plot',
    'gateway',
    'gif',
    'gift',
    'global',
    'gold',
    'import',
    'laptop',
    'loading',
    'medicine-box',
    'meh',
    'menu',
    'paper-clip',
    'partition',
    'pay-circle',
    'printer',
    'pushpin',
    'qrcode',
    'reload',
    'rest',
    'robot',
    'rotate-left',
    'rotate-right',
    'safety-certificate',
    'save',
    'send',
    'shake',
    'share-alt',
    'shop',
    'shopping',
    'sound',
    'sync',
    'tag',
    'tags',
    'trademark',
    'trophy',
    'usb',
    'user-add',
    'user-delete',
    'user-switch',
    'video-camera',
    'wifi',
    'apple',
    'dingding',
    'weibo',
src/views/appmanage/index.jsx
@@ -576,6 +576,9 @@
              })
              _this.getAppList()
            } else {
              if (result.message.indexOf('kei_no已被菜单使用,不可删除') > -1) {
                result.message = 'kei_no已被菜单使用,不可删除'
              }
              notification.warning({
                top: 92,
                message: result.message,
@@ -606,6 +609,8 @@
      LText: ''
    }
    param.del_typename = record.typename
    param.lang = record.lang
    param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
    param.secretkey = Utils.encrypt('', param.timestamp)