Browse Source

sso测试

QuietShadow 3 years ago
parent
commit
7fb69c0588
100 changed files with 3256 additions and 4677 deletions
  1. 1 1
      .babelrc
  2. 1 7
      .eslintignore
  3. 0 1
      .gitignore
  4. 165 0
      README.md
  5. 0 41
      build/build.js
  6. 0 54
      build/check-versions.js
  7. 0 209
      build/utils.js
  8. 0 22
      build/vue-loader.conf.js
  9. 0 98
      build/webpack.base.conf.js
  10. 0 99
      build/webpack.dev.conf.js
  11. 0 153
      build/webpack.prod.conf.js
  12. 0 98
      build/webpack.test.conf.js
  13. 0 7
      config/dev.env.js
  14. 0 175
      config/index.js
  15. 0 4
      config/prod.env.js
  16. 0 7
      config/test.env.js
  17. 111 0
      cors.js
  18. 115 21
      nginx.conf
  19. 16 45
      package.json
  20. 0 22
      src/Counter.vue
  21. 0 3609
      src/assets/css/style.css
  22. 1722 0
      src/assets/css/theme/myelement.css
  23. 539 0
      src/assets/iconfont/demo.css
  24. 260 0
      src/assets/iconfont/demo_index.html
  25. 0 2
      src/assets/iconfont/iconfont.css
  26. BIN
      src/assets/iconfont/iconfont.eot
  27. 0 0
      src/assets/iconfont/iconfont.js
  28. 37 0
      src/assets/iconfont/iconfont.json
  29. 2 2
      src/assets/iconfont/iconfont.svg
  30. BIN
      src/assets/iconfont/iconfont.ttf
  31. BIN
      src/assets/iconfont/iconfont.woff
  32. BIN
      src/assets/iconfont/iconfont.woff2
  33. BIN
      src/assets/img/Artboard.png
  34. BIN
      src/assets/img/custlogo.jpg
  35. BIN
      src/assets/img/default-bg.png
  36. BIN
      src/assets/img/download.png
  37. BIN
      src/assets/img/favicon.ico
  38. BIN
      src/assets/img/func/func_w.png
  39. BIN
      src/assets/img/hnst_logo.png
  40. BIN
      src/assets/img/icons.png
  41. BIN
      src/assets/img/icons/icons-add.png
  42. BIN
      src/assets/img/icons/icons-arrow-left.png
  43. BIN
      src/assets/img/icons/icons-arrow-right.png
  44. BIN
      src/assets/img/icons1.png
  45. BIN
      src/assets/img/icore-shown-desc.png
  46. BIN
      src/assets/img/icore-shown-frame.png
  47. BIN
      src/assets/img/icore-shown-psw.png
  48. BIN
      src/assets/img/icore-shown-user.png
  49. BIN
      src/assets/img/icore-shown.png
  50. 3 0
      src/assets/img/images/header/u15.svg
  51. 6 0
      src/assets/img/images/header/u16.svg
  52. 6 0
      src/assets/img/images/header/u20.svg
  53. 6 0
      src/assets/img/images/header/u23.svg
  54. 6 0
      src/assets/img/images/header/u30.svg
  55. 3 0
      src/assets/img/images/header/u37.svg
  56. 8 0
      src/assets/img/images/header/u4.svg
  57. 3 0
      src/assets/img/images/header/u48.svg
  58. 3 0
      src/assets/img/images/header/u61.svg
  59. 6 0
      src/assets/img/images/header/u62.svg
  60. 6 0
      src/assets/img/images/header/u63.svg
  61. 6 0
      src/assets/img/images/header/u7.svg
  62. 6 0
      src/assets/img/images/header/u77.svg
  63. 6 0
      src/assets/img/images/header/u78.svg
  64. 6 0
      src/assets/img/images/header/u8.svg
  65. 5 0
      src/assets/img/images/header/u97.svg
  66. 6 0
      src/assets/img/images/materialmanage/u113.svg
  67. 6 0
      src/assets/img/images/materialmanage/u161.svg
  68. 6 0
      src/assets/img/images/materialmanage/u173.svg
  69. 8 0
      src/assets/img/images/materialmanage/u177.svg
  70. 6 0
      src/assets/img/images/materialmanage/u180.svg
  71. 6 0
      src/assets/img/images/materialmanage/u183.svg
  72. 6 0
      src/assets/img/images/materialmanage/u184.svg
  73. 8 0
      src/assets/img/images/materialmanage/u187.svg
  74. 6 0
      src/assets/img/images/materialmanage/u190.svg
  75. 8 0
      src/assets/img/images/materialmanage/u197.svg
  76. 8 0
      src/assets/img/images/materialmanage/u207.svg
  77. 6 0
      src/assets/img/images/materialmanage/u210.svg
  78. 6 0
      src/assets/img/images/materialmanage/u221.svg
  79. 8 0
      src/assets/img/images/materialmanage/u225.svg
  80. 6 0
      src/assets/img/images/materialmanage/u228.svg
  81. 6 0
      src/assets/img/images/materialmanage/u232.svg
  82. 8 0
      src/assets/img/images/materialmanage/u235.svg
  83. 6 0
      src/assets/img/images/materialmanage/u238.svg
  84. 8 0
      src/assets/img/images/materialmanage/u245.svg
  85. 8 0
      src/assets/img/images/materialmanage/u255.svg
  86. 6 0
      src/assets/img/images/materialmanage/u256.svg
  87. 6 0
      src/assets/img/images/materialmanage/u258.svg
  88. 3 0
      src/assets/img/images/materialmanage/u261.svg
  89. 3 0
      src/assets/img/images/materialmanage/u262.svg
  90. 6 0
      src/assets/img/images/materialmanage/u264.svg
  91. 6 0
      src/assets/img/images/materialmanage/u265.svg
  92. 6 0
      src/assets/img/images/materialmanage/u290.svg
  93. 6 0
      src/assets/img/images/materialmanage/u291.svg
  94. 6 0
      src/assets/img/images/materialmanage/u292.svg
  95. BIN
      src/assets/img/images/materialmanage/u295.png
  96. BIN
      src/assets/img/images/materialmanage/u297.png
  97. 6 0
      src/assets/img/images/materialmanage/u304.svg
  98. 3 0
      src/assets/img/images/materialmanage/u309.svg
  99. 3 0
      src/assets/img/images/materialmanage/u310.svg
  100. 6 0
      src/assets/img/images/materialmanage/u312.svg

+ 1 - 1
.babelrc

@@ -15,4 +15,4 @@
       "plugins": ["transform-vue-jsx", "transform-es2015-modules-commonjs", "dynamic-import-node", "istanbul"]
     }
   }
-}
+}

+ 1 - 7
.eslintignore

@@ -3,12 +3,6 @@
 /dist/
 /*.js
 /test/unit/coverage/
-/src/components/st-table/
 /src/lib/
-/src/views/modelManagement/components/
 /src/components/
-/src/views/metaData/components/keyManagementER/
-/src/views/cloudPlatform/
-/src/views/systemConfig/
-/src/views/workFlow/components/processDdesign.vue
-# /src/views/devops/components/appList/flowchart.vue
+/src/views/

+ 0 - 1
.gitignore

@@ -2,4 +2,3 @@
 /node_modules
 /dist
 /.vscode
-/src/views.zip

+ 165 - 0
README.md

@@ -0,0 +1,165 @@
+# icore-frame
+
+## **项目使用平台框架示例**
+
+> ### **运行完的项目目录如下**
+
+![icore-frame.jpg](src/assets/img/img/menu.png)
+
+> ### **项目运行模块与转发配置**
+
+**项目自身的代码存于src/views/目录下,可根据需要创建不同模块;**
+
+#### 1、基础配置如下图:
+
+① 找到根目录下的cors.js文件,可以按需在devModules中配置需要引用的模块(如对所需功能菜单模块名不清楚,可参照2中xlsx文件中url--模块名为.html前面的字母部分);
+
+② 在proxyTable中配置项目本地的转发;线上部署环境转发(与普通项目无异)则需要配置下方的nginx.conf文件。
+
+③如需重写平台nginx配置(例如登录相关转发),在node_modules中找到icore-icp/config/index.js,复制sso相关配置到cors.js中重写转发的target。会覆盖原有nginx, 因此项目相关转发建议带项目相关编码,避免重复转发配置覆盖。
+
+![icore-frame.jpg](src/assets/img/img/cors.png)
+
+#### 2、引用平台菜单功能模块说明
+
+可访问公司icore平台```icore-pass-test.steerinfo.com```,进入菜单管理-右上角-导出菜单详情按钮,获取可引用的平台功能菜单详情.xlsx。(存在部分其他项目菜单,非平台自身菜单)
+
+或者联系研发部同事下载详情后提供,重点在于菜单的url和功能控件部分,结构说明如下图。
+
+![icore-frame.jpg](src/assets/img/img/menuconfig.png)
+
+> ### **项目自身全局样式引入**
+
+**写入src/assets/目录下,在项目模块app.js中引用。**
+
+![icore-frame.jpg](src/assets/img/img/style.png)
+
+> ### **项目自身store全局变量配置**
+
+**① 若只是单纯需要引用平台定义的全局变量:**
+可直接在项目业务代码模块中app.js中引入(如下图),在vue页面中直接使用'this.$store.state.参数名'形式使用。
+
+![icore-frame.jpg](src/assets/img/img/store.png)
+
+**② 项目需要定义自身的store全局变量:**
+
+1、同样需要在模块的app.js中引入(如上图),并动态注册到原有store模块中;
+
+2、找到src/store/路径,可在其下index.js文件中直接添加; 如需要多级分类方便管理,可在自行创建文件夹添加(如ioms),创建完只需在src/store/index.js中引入即可。
+
+3、vue页面中直接使用'this.$store.state.参数名'形式使用;
+
+![icore-frame.jpg](src/assets/img/img/storeModule.png)
+
+> ### **页面创建展示**
+
+**在框架中的系统管理模块:在菜单管理处添加页面**
+
+路径URL设置规则为: ./模块名.html#/页面文件名(上面提到的cors.js文件里需要引用这个模块哦,否则不加载此模块会找不到页面哦)
+
+例如: ./demo.html#/myPage
+
+![icore-frame.jpg](src/assets/img/img/pageCreate.png)
+
+**注:菜单下方的功能列表,默认增删改查四个按钮权限(也可根据需要自主添加),再在vue页面上依据按钮对应配置;**
+
+**如不需要使用按钮权限(依据不同角色用户显示按钮),可将之删除**
+
+
+> ### **项目自定义登录页面及登录后框架样式**
+
+在src/views中创建命名为index的模块,结构与普通模块一致,可自定义登录及登录后跳转的页面;并在cors.js文件中引用此模块,将覆盖原有index登录跳转模块.
+
+如需参考平台登录代码:在node_modules找到icore-icp,参考其下src/views/index文件
+
+> ### **整体开发步骤**
+
+1、下载icore-frame框架并运行
+
+2、项目开发新页面:在src/views中仿造demo示例创建新的模块并在cors.js中引用
+
+3、在平台系统管理的菜单管理中创建菜单与页面,创建规则见上
+
+4、其他项目自定义相关配置如上说明
+
+注:1、package.json中的icore-icp版本由研发部根据不同项目需求配置,不可随意更改。
+
+   2、css命名规范化,尽量不要使用scoped,每个页面使用唯一的class名,其内样式都写在此命名下。可参考demo页面示例。# icore-frame
+
+## **项目使用平台框架示例**
+
+> ### **运行完的项目目录如下**
+
+![icore-frame.jpg](src/assets/img/img/menu.png)
+
+> ### **项目运行模块与转发配置**
+
+**项目自身的代码存于src/views/目录下,可根据需要创建不同模块;**
+
+#### 如下图:
+
+① 找到根目录下的cors.js文件,可以按需在devModules中配置需要引用的模块;
+
+② 在proxyTable中配置项目本地的转发;线上部署环境转发(与普通项目无异)则需要配置下方的nginx.conf文件。
+
+③如需重写平台nginx配置(例如登录相关转发),在node_modules中找到icore-icp/config/index.js,复制sso相关配置到cors.js中重写转发的target。会覆盖原有nginx, 因此项目相关转发建议带项目相关编码,避免重复转发配置覆盖。
+
+![icore-frame.jpg](src/assets/img/img/cors.png)
+
+> ### **项目自身全局样式引入**
+
+**写入src/assets/目录下,在项目模块app.js中引用。**
+
+![icore-frame.jpg](src/assets/img/img/style.png)
+
+> ### **项目自身store全局变量配置**
+
+**① 若只是单纯需要引用平台定义的全局变量:**
+可直接在项目业务代码模块中app.js中引入(如下图),在vue页面中直接使用'this.$store.state.参数名'形式使用。
+
+![icore-frame.jpg](src/assets/img/img/store.png)
+
+**② 项目需要定义自身的store全局变量:**
+
+1、同样需要在模块的app.js中引入(如上图),并动态注册到原有store模块中;
+
+2、找到src/store/路径,可在其下index.js文件中直接添加; 如需要多级分类方便管理,可在自行创建文件夹添加(如ioms),创建完只需在src/store/index.js中引入即可。
+
+3、vue页面中直接使用'this.$store.state.参数名'形式使用;
+
+![icore-frame.jpg](src/assets/img/img/storeModule.png)
+
+> ### **页面创建展示**
+
+**在框架中的系统管理模块:在菜单管理处添加页面**
+
+路径URL设置规则为: ./模块名.html#/页面文件名(上面提到的cors.js文件里需要引用这个模块哦,否则不加载此模块会找不到页面哦)
+
+例如: ./demo.html#/myPage
+
+![icore-frame.jpg](src/assets/img/img/pageCreate.png)
+
+**注:菜单下方的功能列表,默认增删改查四个按钮权限(也可根据需要自主添加),再在vue页面上依据按钮对应配置;**
+
+**如不需要使用按钮权限(依据不同角色用户显示按钮),可将之删除**
+
+
+> ### **项目自定义登录页面及登录后框架样式**
+
+在src/views中创建命名为index的模块,结构与普通模块一致,可自定义登录及登录后跳转的页面;并在cors.js文件中引用此模块,将覆盖原有index登录跳转模块.
+
+如需参考平台登录代码:在node_modules找到icore-icp,参考其下src/views/index文件
+
+> ### **整体开发步骤**
+
+1、下载icore-frame框架并运行
+
+2、项目开发新页面:在src/views中仿造demo示例创建新的模块并在cors.js中引用
+
+3、在平台系统管理的菜单管理中创建菜单与页面,创建规则见上
+
+4、其他项目自定义相关配置如上说明
+
+注:1、package.json中的icore-icp版本由研发部根据不同项目需求配置,不可随意更改。
+
+   2、css命名规范化,尽量不要使用scoped,每个页面使用唯一的class名,其内样式都写在此命名下。可参考demo页面示例。

+ 0 - 41
build/build.js

@@ -1,41 +0,0 @@
-'use strict'
-require('./check-versions')()
-
-process.env.NODE_ENV = 'production'
-
-const ora = require('ora')
-const rm = require('rimraf')
-const path = require('path')
-const chalk = require('chalk')
-const webpack = require('webpack')
-const config = require('../config')
-const webpackConfig = require('./webpack.prod.conf')
-
-const spinner = ora('building for production...')
-spinner.start()
-
-rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
-  if (err) throw err
-  webpack(webpackConfig, (err, stats) => {
-    spinner.stop()
-    if (err) throw err
-    process.stdout.write(stats.toString({
-      colors: true,
-      modules: false,
-      children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
-      chunks: false,
-      chunkModules: false
-    }) + '\n\n')
-
-    if (stats.hasErrors()) {
-      console.log(chalk.red('  Build failed with errors.\n'))
-      process.exit(1)
-    }
-
-    console.log(chalk.cyan('  Build complete.\n'))
-    console.log(chalk.yellow(
-      '  Tip: built files are meant to be served over an HTTP server.\n' +
-      '  Opening index.html over file:// won\'t work.\n'
-    ))
-  })
-})

+ 0 - 54
build/check-versions.js

@@ -1,54 +0,0 @@
-'use strict'
-const chalk = require('chalk')
-const semver = require('semver')
-const packageConfig = require('../package.json')
-const shell = require('shelljs')
-
-function exec (cmd) {
-  return require('child_process').execSync(cmd).toString().trim()
-}
-
-const versionRequirements = [
-  {
-    name: 'node',
-    currentVersion: semver.clean(process.version),
-    versionRequirement: packageConfig.engines.node
-  }
-]
-
-if (shell.which('npm')) {
-  versionRequirements.push({
-    name: 'npm',
-    currentVersion: exec('npm --version'),
-    versionRequirement: packageConfig.engines.npm
-  })
-}
-
-module.exports = function () {
-  const warnings = []
-
-  for (let i = 0; i < versionRequirements.length; i++) {
-    const mod = versionRequirements[i]
-
-    if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
-      warnings.push(mod.name + ': ' +
-        chalk.red(mod.currentVersion) + ' should be ' +
-        chalk.green(mod.versionRequirement)
-      )
-    }
-  }
-
-  if (warnings.length) {
-    console.log('')
-    console.log(chalk.yellow('To use this template, you must update following to modules:'))
-    console.log()
-
-    for (let i = 0; i < warnings.length; i++) {
-      const warning = warnings[i]
-      console.log('  ' + warning)
-    }
-
-    console.log()
-    process.exit(1)
-  }
-}

+ 0 - 209
build/utils.js

@@ -1,209 +0,0 @@
-'use strict'
-const path = require('path')
-const config = require('../config')
-const ExtractTextPlugin = require('extract-text-webpack-plugin')
-const packageConfig = require('../package.json')
-
-const HtmlWebpackPlugin = require('html-webpack-plugin');
-const merge = require('webpack-merge');
-const glob = require('glob');
-const pathSrc = path.resolve(__dirname, '../src');
-
-// 指定开发模式下需要加载的模块(可以做到只加载当前模块,提高开发效率)
-// index模块(登录)为必须,all 为所有
-   const devModules = ['all'];
-// const devModules = ['index','energyPerformance','energyPlan','basicInformation','systemInterface'];
-// 获取入口集合
-const getEntries = function (suffix, polyfill) {
-  // 自动获取//
-  const entryHtml = glob.sync(pathSrc + '/views/**/app.html'); // 根据html来
-  const entries = {};
-  entryHtml.forEach((filePath) => {
-    // views/index/app.html --> views/index   chunk有'/'则js/css会有相应的目录
-    let _chunk = filePath.split(pathSrc.replace(/\\/g, '/') + '/')[1]; // views/index/app.html
-    _chunk = _chunk.substring(0, _chunk.lastIndexOf('/'));
-    let flag = true;
-
-    flag = false;
-    for (let item of devModules) {
-      if (item && (_chunk.indexOf('views/' + item) >= 0 || item === 'all')) {
-        flag = true;
-        break;
-      }
-    }
-
-    // views/workshop/work-slitting.html
-    if (flag) {
-      let arr = _chunk.split('/'),
-        larr = [],
-        rarr = [];
-      // console.log(arr) // [ 'views', 'workshop', 'work', 'sllitting', 'slitting']
-      console.log('arr: ', arr);
-      // -->> views/workshop/work-slitting.html
-      larr = arr.slice(0, 2);
-      _chunk = larr.join('/');
-      if (arr.length > 2) {
-        rarr = arr.slice(2, arr.length);
-        _chunk = _chunk + '/' + rarr.join('-');
-      }
-      if (suffix) {
-        filePath = filePath.replace('.html', suffix);
-      }
-      if (polyfill) {
-        entries[_chunk] = ['babel-polyfill', filePath];
-      } else {
-        entries[_chunk] = filePath;
-      }
-    }
-  });
-  //{ 'views/index/index': 'F:/webui/multiple-pages/demo/src/views/index/index.js',
-  //  'views/user/user': 'F:/webui/multiple-pages/demo/src/views/user/user.js' }
-  // 自动指定,可指定模块
-  // const entries = {
-  //   'views/index/index': pathSrc + '/views/index/index/index' + suffix, // 默认页面/登录
-  //   // 车间MES
-  //   'views/workshop/w4mm': pathSrc + '/views/workshop/work/w4mm/w4mm' + suffix, // 4mm分条机作业管理
-  //   'views/workshop/m4mm': pathSrc + '/views/workshop/monitor/m4mm/m4mm' + suffix, // 4mm分条机作业管理
-  // };
-  return entries;
-};
-// 多入口配置(入口JS固定为main.js)
-exports.entries = function () {
-  // ['babel-polyfill', './src/main.js']
-  let _entries = getEntries('.js', true);
-  return _entries;
-};
-//多页面输出配置
-exports.htmlPlugins = function () {
-  let entryHtmls = getEntries('.html');
-  let arr = [];
-  for (let _chunk in entryHtmls) {
-    console.log('loading chunk:', _chunk);
-    // _chunk :views/index/index
-    let conf = {
-      favicon: pathSrc + '/assets/img/favicon.ico', //favicon路径,通过webpack引入同时可以生成hash值
-      template: entryHtmls[_chunk], // html模板路径
-      // filename: 'views/' + fileName, // 生成的html存放路径,相对于path
-      filename: _chunk + '.html',
-      chunks: [_chunk],
-      inject: true // js插入的位置,true/'head'/'body'/false
-    };
-    if (process.env.NODE_ENV === 'production') {
-      console.log('package content: ', _chunk)
-      conf = merge(conf, {
-        chunks: ['manifest', 'vendor', _chunk],
-        minify: {
-          // removeAttributeQuotes: true, // 删除可删除的引号
-          removeComments: true, // 移除HTML中的注释
-          collapseWhitespace: true // 删除空白符与换行符
-        },
-        chunksSortMode: 'dependency'
-      })
-    }
-    arr.push(new HtmlWebpackPlugin(conf));
-  }
-  console.log('arr:', arr);
-  return arr;
-};
-
-exports.assetsPath = function (_path) {
-  const assetsSubDirectory = process.env.NODE_ENV === 'production' ?
-    config.build.assetsSubDirectory :
-    config.dev.assetsSubDirectory
-
-  return path.posix.join(assetsSubDirectory, _path)
-}
-
-exports.cssLoaders = function (options) {
-  options = options || {}
-
-  const cssLoader = {
-    loader: 'css-loader',
-    options: {
-      sourceMap: options.sourceMap
-    }
-  }
-
-  const postcssLoader = {
-    loader: 'postcss-loader',
-    options: {
-      sourceMap: options.sourceMap
-    }
-  }
-
-  // generate loader string to be used with extract text plugin
-  function generateLoaders(loader, loaderOptions) {
-    const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
-
-    if (loader) {
-      loaders.push({
-        loader: loader + '-loader',
-        options: Object.assign({}, loaderOptions, {
-          sourceMap: options.sourceMap
-        })
-      })
-    }
-
-    // Extract CSS when that option is specified
-    // (which is the case during production build)
-    if (options.extract) {
-      return ExtractTextPlugin.extract({
-        use: loaders,
-        // 解决打包后背景图片路径不对的问题
-        // static/css/views/index/index.css
-        // ../../../../static/img/xx.jpg
-        publicPath: '../../../', // 注意: 此处根据路径, 自动更改
-        fallback: 'vue-style-loader'
-      })
-    } else {
-      return ['vue-style-loader'].concat(loaders)
-    }
-  }
-
-  // https://vue-loader.vuejs.org/en/configurations/extract-css.html
-  return {
-    css: generateLoaders(),
-    postcss: generateLoaders(),
-    less: generateLoaders('less'),
-    sass: generateLoaders('sass', {
-      indentedSyntax: true
-    }),
-    scss: generateLoaders('sass'),
-    stylus: generateLoaders('stylus'),
-    styl: generateLoaders('stylus')
-  }
-}
-
-// Generate loaders for standalone style files (outside of .vue)
-exports.styleLoaders = function (options) {
-  const output = []
-  const loaders = exports.cssLoaders(options)
-
-  for (const extension in loaders) {
-    const loader = loaders[extension]
-    output.push({
-      test: new RegExp('\\.' + extension + '$'),
-      use: loader
-    })
-  }
-
-  return output
-}
-
-exports.createNotifierCallback = () => {
-  const notifier = require('node-notifier')
-
-  return (severity, errors) => {
-    if (severity !== 'error') return
-
-    const error = errors[0]
-    const filename = error.file && error.file.split('!').pop()
-
-    notifier.notify({
-      title: packageConfig.name,
-      message: severity + ': ' + error.name,
-      subtitle: filename || '',
-      icon: path.join(__dirname, 'logo.png')
-    })
-  }
-}

+ 0 - 22
build/vue-loader.conf.js

@@ -1,22 +0,0 @@
-'use strict'
-const utils = require('./utils')
-const config = require('../config')
-const isProduction = process.env.NODE_ENV === 'production'
-const sourceMapEnabled = isProduction
-  ? config.build.productionSourceMap
-  : config.dev.cssSourceMap
-
-module.exports = {
-  loaders: utils.cssLoaders({
-    sourceMap: sourceMapEnabled,
-    extract: isProduction
-  }),
-  cssSourceMap: sourceMapEnabled,
-  cacheBusting: config.dev.cacheBusting,
-  transformToRequire: {
-    video: ['src', 'poster'],
-    source: 'src',
-    img: 'src',
-    image: 'xlink:href'
-  }
-}

+ 0 - 98
build/webpack.base.conf.js

@@ -1,98 +0,0 @@
-'use strict'
-const path = require('path')
-const utils = require('./utils')
-const config = require('../config')
-const vueLoaderConfig = require('./vue-loader.conf')
-
-function resolve(dir) {
-  return path.join(__dirname, '..', dir)
-}
-
-const createLintingRule = () => ({
-  test: /\.(js|vue)$/,
-  loader: 'eslint-loader',
-  enforce: 'pre',
-  include: [resolve('src'), resolve('test')],
-  options: {
-    formatter: require('eslint-friendly-formatter'),
-    emitWarning: !config.dev.showEslintErrorsInOverlay
-  }
-})
-
-module.exports = {
-  context: path.resolve(__dirname, '../'),
-  // entry: {
-  //   app: './src/main.js'
-  // },
-  entry: utils.entries(),
-  output: {
-    path: config.build.assetsRoot,
-    filename: '[name].js',
-    publicPath: process.env.NODE_ENV === 'production' ?
-      config.build.assetsPublicPath :
-      config.dev.assetsPublicPath
-  },
-  resolve: {
-    extensions: ['.js', '.vue', '.json'],
-    alias: {
-      'vue$': 'vue/dist/vue.esm.js',
-      '@': resolve('src'),
-    }
-  },
-  module: {
-    rules: [
-      ...(config.dev.useEslint ? [createLintingRule()] : []),
-      {
-        test: /\.vue$/,
-        loader: 'vue-loader',
-        options: vueLoaderConfig
-      },
-      {
-        test: /\.js$/,
-        loader: 'babel-loader',
-        exclude: [resolve('node_modules/element-ui/src/utils/date.js'), resolve('node_modules/element-ui/src/utils/popper.js')],// sb element-ui竟然在源码里面单独把这两个js转译成了es5 气死哥了!!!
-        include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client'),
-          resolve('node_modules/vue-element-bigdata-table'),
-          resolve('node_modules/element-ui/src'),
-          resolve('node_modules/icore-sdk')
-        ]
-      },
-      {
-        test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
-        loader: 'url-loader',
-        options: {
-          limit: 10000,
-          name: utils.assetsPath('img/[name].[ext]')
-        }
-      },
-      {
-        test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
-        loader: 'url-loader',
-        options: {
-          limit: 10000,
-          name: utils.assetsPath('media/[name].[ext]')
-        }
-      },
-      {
-        test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
-        loader: 'url-loader',
-        options: {
-          limit: 10000,
-          name: utils.assetsPath('fonts/[name].[ext]')
-        }
-      }
-    ]
-  },
-  node: {
-    // prevent webpack from injecting useless setImmediate polyfill because Vue
-    // source contains it (although only uses it if it's native).
-    setImmediate: false,
-    // prevent webpack from injecting mocks to Node native modules
-    // that does not make sense for the client
-    dgram: 'empty',
-    fs: 'empty',
-    net: 'empty',
-    tls: 'empty',
-    child_process: 'empty'
-  }
-}

+ 0 - 99
build/webpack.dev.conf.js

@@ -1,99 +0,0 @@
-'use strict'
-const utils = require('./utils')
-const webpack = require('webpack')
-const config = require('../config')
-const merge = require('webpack-merge')
-const path = require('path')
-const baseWebpackConfig = require('./webpack.base.conf')
-const CopyWebpackPlugin = require('copy-webpack-plugin')
-const HtmlWebpackPlugin = require('html-webpack-plugin')
-const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
-const portfinder = require('portfinder')
-
-const HOST = process.env.HOST
-const PORT = process.env.PORT && Number(process.env.PORT)
-
-const devWebpackConfig = merge(baseWebpackConfig, {
-  module: {
-    rules: utils.styleLoaders({
-      sourceMap: config.dev.cssSourceMap,
-      usePostCSS: true
-    })
-  },
-  // cheap-module-eval-source-map is faster for development
-  devtool: config.dev.devtool,
-
-  // these devServer options should be customized in /config/index.js
-  devServer: {
-    clientLogLevel: 'warning',
-    historyApiFallback: {
-      rewrites: [{
-        from: /.*/,
-        to: path.posix.join(config.dev.assetsPublicPath, 'index.html')
-      }, ],
-    },
-    hot: true,
-    contentBase: false, // since we use CopyWebpackPlugin.
-    compress: true,
-    host: HOST || config.dev.host,
-    port: PORT || config.dev.port,
-    open: config.dev.autoOpenBrowser,
-    overlay: config.dev.errorOverlay ? {
-      warnings: false,
-      errors: true
-    } : false,
-    publicPath: config.dev.assetsPublicPath,
-    proxy: config.dev.proxyTable,
-    quiet: true, // necessary for FriendlyErrorsPlugin
-    watchOptions: {
-      poll: config.dev.poll,
-    }
-  },
-  plugins: [
-    new webpack.DefinePlugin({
-      'process.env': require('../config/dev.env')
-    }),
-    new webpack.HotModuleReplacementPlugin(),
-    new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
-    new webpack.NoEmitOnErrorsPlugin(),
-    // https://github.com/ampedandwired/html-webpack-plugin
-    // new HtmlWebpackPlugin({
-    //   filename: 'index.html',
-    //   template: 'index.html',
-    //   inject: true,
-    //   chunks: [] // 不指定则引入所有chunk,[]则是不引入chunk
-    // }),
-    // copy custom static assets
-    new CopyWebpackPlugin([{
-      from: path.resolve(__dirname, '../static'),
-      to: config.dev.assetsSubDirectory,
-      ignore: ['.*']
-    }])
-  ].concat(utils.htmlPlugins())
-})
-
-module.exports = new Promise((resolve, reject) => {
-  portfinder.basePort = process.env.PORT || config.dev.port
-  portfinder.getPort((err, port) => {
-    if (err) {
-      reject(err)
-    } else {
-      // publish the new Port, necessary for e2e tests
-      process.env.PORT = port
-      // add port to devServer config
-      devWebpackConfig.devServer.port = port
-
-      // Add FriendlyErrorsPlugin
-      devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
-        compilationSuccessInfo: {
-          // messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
-          messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}/views/index.html`],
-        },
-        onErrors: config.dev.notifyOnErrors ?
-          utils.createNotifierCallback() : undefined
-      }))
-
-      resolve(devWebpackConfig)
-    }
-  })
-})

+ 0 - 153
build/webpack.prod.conf.js

@@ -1,153 +0,0 @@
-'use strict'
-const path = require('path')
-const utils = require('./utils')
-const webpack = require('webpack')
-const config = require('../config')
-const merge = require('webpack-merge')
-const baseWebpackConfig = require('./webpack.base.conf')
-const CopyWebpackPlugin = require('copy-webpack-plugin')
-const HtmlWebpackPlugin = require('html-webpack-plugin')
-const ExtractTextPlugin = require('extract-text-webpack-plugin')
-const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
-const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
-
-const env = process.env.NODE_ENV === 'testing'
-  ? require('../config/test.env')
-  : require('../config/prod.env')
-
-const webpackConfig = merge(baseWebpackConfig, {
-  module: {
-    rules: utils.styleLoaders({
-      sourceMap: config.build.productionSourceMap,
-      extract: true,
-      usePostCSS: true
-    })
-  },
-  devtool: config.build.productionSourceMap ? config.build.devtool : false,
-  output: {
-    path: config.build.assetsRoot,
-    filename: utils.assetsPath('js/[name].js'),
-    chunkFilename: utils.assetsPath('js/[id].js')
-  },
-  plugins: [
-    // http://vuejs.github.io/vue-loader/en/workflow/production.html
-    new webpack.DefinePlugin({
-      'process.env': env
-    }),
-    new UglifyJsPlugin({
-      uglifyOptions: {
-        compress: {
-          warnings: false
-        }
-      },
-      sourceMap: config.build.productionSourceMap,
-      parallel: true
-    }),
-    // extract css into its own file
-    new ExtractTextPlugin({
-      filename: utils.assetsPath('css/[name].css'),
-      // Setting the following option to `false` will not extract CSS from codesplit chunks.
-      // Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
-      // It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
-      // increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
-      allChunks: true,
-    }),
-    // Compress extracted CSS. We are using this plugin so that possible
-    // duplicated CSS from different components can be deduped.
-    new OptimizeCSSPlugin({
-      cssProcessorOptions: config.build.productionSourceMap
-        ? { safe: true, map: { inline: false } }
-        : { safe: true }
-    }),
-    // generate dist index.html with correct asset hash for caching.
-    // you can customize output by editing /index.html
-    // see https://github.com/ampedandwired/html-webpack-plugin
-
-    new HtmlWebpackPlugin({
-      filename: process.env.NODE_ENV === 'testing'
-        ? 'index.html'
-        : config.build.index,
-      template: 'index.html',
-      inject: true,
-      minify: {
-        removeComments: true,
-        collapseWhitespace: true,
-        removeAttributeQuotes: true
-        // more options:
-        // https://github.com/kangax/html-minifier#options-quick-reference
-      },
-      chunks: [], // 不指定则引入所有chunk,[]则是不引入chunk
-      // necessary to consistently work with multiple chunks via CommonsChunkPlugin
-      chunksSortMode: 'dependency'
-    }),
-
-
-    // keep module.id stable when vendor modules does not change
-    new webpack.HashedModuleIdsPlugin(),
-    // enable scope hoisting
-    new webpack.optimize.ModuleConcatenationPlugin(),
-    // split vendor js into its own file
-    new webpack.optimize.CommonsChunkPlugin({
-      name: 'vendor',
-      minChunks (module) {
-        // any required modules inside node_modules are extracted to vendor
-        return (
-          module.resource &&
-          /\.js$/.test(module.resource) &&
-          module.resource.indexOf(
-            path.join(__dirname, '../node_modules')
-          ) === 0
-        )
-      }
-    }),
-    // extract webpack runtime and module manifest to its own file in order to
-    // prevent vendor hash from being updated whenever app bundle is updated
-    new webpack.optimize.CommonsChunkPlugin({
-      name: 'manifest',
-      minChunks: Infinity
-    }),
-    // This instance extracts shared chunks from code splitted chunks and bundles them
-    // in a separate chunk, similar to the vendor chunk
-    // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
-    // new webpack.optimize.CommonsChunkPlugin({
-    //   name: 'app',
-    //   async: 'vendor-async',
-    //   children: true,
-    //   minChunks: 3
-    // }),
-
-    // copy custom static assets
-    new CopyWebpackPlugin([
-      {
-        from: path.resolve(__dirname, '../static'),
-        to: config.build.assetsSubDirectory,
-        ignore: ['.*']
-      }
-    ])
-  ].concat(utils.htmlPlugins())
-})
-
-if (config.build.productionGzip) {
-  const CompressionWebpackPlugin = require('compression-webpack-plugin')
-
-  webpackConfig.plugins.push(
-    new CompressionWebpackPlugin({
-      asset: '[path].gz[query]',
-      algorithm: 'gzip',
-      test: new RegExp(
-        '\\.(' +
-        config.build.productionGzipExtensions.join('|') +
-        ')$'
-      ),
-      threshold: 10240,
-      minRatio: 0.8
-    })
-  )
-}
-
-if (config.build.bundleAnalyzerReport) {
-  const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
-  webpackConfig.plugins.push(new BundleAnalyzerPlugin())
-}
-
-module.exports = webpackConfig

+ 0 - 98
build/webpack.test.conf.js

@@ -1,98 +0,0 @@
-'use strict'
-const utils = require('./utils')
-const webpack = require('webpack')
-const config = require('../config')
-const merge = require('webpack-merge')
-const path = require('path')
-const baseWebpackConfig = require('./webpack.base.conf')
-const CopyWebpackPlugin = require('copy-webpack-plugin')
-const HtmlWebpackPlugin = require('html-webpack-plugin')
-const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
-const portfinder = require('portfinder')
-
-const HOST = process.env.HOST
-const PORT = process.env.PORT && Number(process.env.PORT)
-
-const devWebpackConfig = merge(baseWebpackConfig, {
-  module: {
-    rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
-  },
-  // cheap-module-eval-source-map is faster for development
-  devtool: 'inline-cheap-module-source-map',
-  externals: [require('webpack-node-externals')()],
-
-  // these devServer options should be customized in /config/index.js
-  devServer: {
-    clientLogLevel: 'warning',
-    historyApiFallback: {
-      rewrites: [
-        { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
-      ],
-    },
-    hot: true,
-    contentBase: false, // since we use CopyWebpackPlugin.
-    compress: true,
-    host: HOST || config.dev.host,
-    port: PORT || config.dev.port,
-    open: config.dev.autoOpenBrowser,
-    overlay: config.dev.errorOverlay
-      ? { warnings: false, errors: true }
-      : false,
-    publicPath: config.dev.assetsPublicPath,
-    proxy: config.dev.proxyTable,
-    quiet: true, // necessary for FriendlyErrorsPlugin
-    watchOptions: {
-      poll: config.dev.poll,
-    }
-  },
-  plugins: [
-    new webpack.DefinePlugin({
-      'process.env': require('../config/dev.env')
-    }),
-    new webpack.HotModuleReplacementPlugin(),
-    new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
-    new webpack.NoEmitOnErrorsPlugin(),
-    // https://github.com/ampedandwired/html-webpack-plugin
-    // new HtmlWebpackPlugin({
-    //   filename: 'index.html',
-    //   template: 'index.html',
-    //   inject: true,
-    //   chunks: [] // 不指定则引入所有chunk,[]则是不引入chunk
-    // }),
-    // copy custom static assets
-    new CopyWebpackPlugin([
-      {
-        from: path.resolve(__dirname, '../static'),
-        to: config.dev.assetsSubDirectory,
-        ignore: ['.*']
-      }
-    ])
-  ].concat(utils.htmlPlugins())
-})
-
-module.exports = new Promise((resolve, reject) => {
-  portfinder.basePort = process.env.PORT || config.dev.port
-  portfinder.getPort((err, port) => {
-    if (err) {
-      reject(err)
-    } else {
-      // publish the new Port, necessary for e2e tests
-      process.env.PORT = port
-      // add port to devServer config
-      devWebpackConfig.devServer.port = port
-
-      // Add FriendlyErrorsPlugin
-      devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
-        compilationSuccessInfo: {
-          // messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
-          messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}/views/index.html`],
-        },
-        onErrors: config.dev.notifyOnErrors
-        ? utils.createNotifierCallback()
-        : undefined
-      }))
-
-      resolve(devWebpackConfig)
-    }
-  })
-})

+ 0 - 7
config/dev.env.js

@@ -1,7 +0,0 @@
-'use strict'
-const merge = require('webpack-merge')
-const prodEnv = require('./prod.env')
-
-module.exports = merge(prodEnv, {
-  NODE_ENV: '"development"'
-})

+ 0 - 175
config/index.js

@@ -1,175 +0,0 @@
-'use strict'
-// Template version: 1.3.1
-// see http://vuejs-templates.github.io/webpack for documentation.
-
-const path = require('path')
-
-module.exports = {
-
-  // 网站模块名,例如 http://192.168.0.216:8089/module/app/initlayer.html 中的
-  //【views】,默认为views,修改这里的配置的同时,也要同时重命名/src/views的这个文件夹名称
-  // moduleName: 'zhongsteel.ytg', // http://localhost:8081/#/views/user.html
-  //   apolloclear
-  dev: {
-    // Paths
-    assetsSubDirectory: 'static',
-    assetsPublicPath: '/',
-    proxyTable: {
-      '/zhongsteel.pass.web/pass/v1': {
-        target: 'http://172.16.90.238:8088/v1', //加http
-        // target: 'http://192.168.10.191:9001/v1', //加http
-        changeOrigin: true,
-        pathRewrite: {
-          '^/zhongsteel.pass.web/pass/v1': '/' //这里理解成用‘/api’代替target里面的地址,组件中我们调接口时直接用/api代替
-          // 比如我要调用'http://0.0:300/user/add',直接写‘/api/user/add’即可 代理后地址栏显示/
-        }
-      },
-      '/zhongsteel.pass.web/pass/auth': {
-        target: 'http://172.16.90.238:8088/auth', //加http
-        // target: 'http://192.168.10.191:9001/auth', //加http
-        changeOrigin: true,
-        pathRewrite: {
-          '^/zhongsteel.pass.web/pass/auth': '/' //这里理解成用‘/api’代替target里面的地址,组件中我们调接口时直接用/api代替
-          // 比如我要调用'http://0.0:300/user/add',直接写‘/api/user/add’即可 代理后地址栏显示/
-        }
-      },
-      '/zhongsteel.pass.web/pass/logout': { 
-        target: 'http://172.16.90.238:8088/logout', //加http
-        changeOrigin: true,
-        pathRewrite: {
-          '^/zhongsteel.pass.web/pass/logout': '/' //这里理解成用‘/api’代替target里面的地址,组件中我们调接口时直接用/api代替
-          // 比如我要调用'http://0.0:300/user/add',直接写‘/api/user/add’即可 代理后地址栏显示/
-        }
-      },
-      '/zhongsteel.pass.web/pass/configCenter': {
-        target: 'https://config.steerinfo.com/configCenter', //加http
-        changeOrigin: true,
-        pathRewrite: {
-          '^/zhongsteel.pass.web/pass/configCenter': '/' //这里理解成用‘/api’代替target里面的地址,组件中我们调接口时直接用/api代替
-          // 比如我要调用'http://0.0:300/user/add',直接写‘/api/user/add’即可 代理后地址栏显示/
-        }
-      },
-      '/zhongsteel.pass.web/pass/serviceCenter': {
-        target: 'https://service-govern.steerinfo.com',
-        changeOrigin: true,
-        pathRewrite: {
-          '^/zhongsteel.pass.web/pass': '/'
-        }
-      },
-      '/zhongsteel.pass.web/pass/act': {
-        target: 'https://act.steerinfo.com',
-        changeOrigin: true,
-        pathRewrite: {
-          '^/zhongsteel.pass.web/pass/act': '/'
-        }
-      },
-      '/icore-api': {
-        target: 'http://172.16.90.238:8088',
-        changeOrigin: true,
-        pathRewrite: {
-          '^/icore-api': '/'
-        }
-      },
-      '/zhongsteel.pass.web/pass/ems': {
-        // target: '172.16.90.238:8888',
-        target: 'http://localhost:8086',
-        changeOrigin: true,
-        pathRewrite: {
-          '^/zhongsteel.pass.web/pass/ems': '/'
-        }
-      },
-      '/zhongsteel.pass.web/pass/product': {
-        target: 'http://localhost:8888',
-       // target: '172.16.90.238:8089',
-        changeOrigin: true,
-        pathRewrite: {
-          '^/zhongsteel.pass.web/pass/product': '/'
-        }
-      },
-      '/zhongsteel.pass.web/pass/localhost': {
-        target: 'http://localhost:8888',
-        changeOrigin: true,
-        pathRewrite: {
-          '^/zhongsteel.pass.web/pass/localhost': '/'
-        }
-      },
-      '/zhongsteel.pass.web/pass/emswebsocket': {
-        // target: '172.16.90.238:8888',
-        target: 'http://localhost:8086',
-        ws: true,
-        changeOrigin: true,
-        pathRewrite: {
-          '^/zhongsteel.pass.web/pass/emswebsocket': '/'
-        }
-      }
-      // '/websocket': {
-      //   target: 'ws://localhost:8086',
-      //   ws: true, // 开启websocket代理  注意
-      //   changeOrigin: true,
-      //   pathRewrite: {
-      //     '^/websocket': '/'
-      //   }
-      // }
-    },
-
-    // Various Dev Server settings
-    host: 'localhost', // can be overwritten by process.env.HOST
-    port: 8089, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
-    autoOpenBrowser: false,
-    errorOverlay: true,
-    notifyOnErrors: true,
-    poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
-
-    // Use Eslint Loader?
-    // If true, your code will be linted during bundling and
-    // linting errors and warnings will be shown in the console.
-    useEslint: true,
-    // If true, eslint errors and warnings will also be shown in the error overlay
-    // in the browser.
-    showEslintErrorsInOverlay: false,
-
-    /**
-     * Source Maps
-     */
-
-    // https://webpack.js.org/configuration/devtool/#development
-    // devtool: 'cheap-module-eval-source-map',
-
-    // If you have problems debugging vue-files in devtools,
-    // set this to false - it *may* help
-    // https://vue-loader.vuejs.org/en/options.html#cachebusting
-    cacheBusting: true,
-
-    cssSourceMap: false
-  },
-
-  build: {
-    // Template for index.html
-    index: path.resolve(__dirname, '../dist/index.html'),
-
-    // Paths
-    assetsRoot: path.resolve(__dirname, '../dist'),
-    assetsSubDirectory: 'static', // 打包后 static放的位置
-    assetsPublicPath: '../', // html中webpack打包的JS -> ../static/xxx.js
-    /**
-     * Source Maps
-     */
-
-    productionSourceMap: false,
-    // https://webpack.js.org/configuration/devtool/#production
-    devtool: '#source-map',
-
-    // Gzip off by default as many popular static hosts such as
-    // Surge or Netlify already gzip all static assets for you.
-    // Before setting to `true`, make sure to:
-    // npm install --save-dev compression-webpack-plugin
-    productionGzip: false,
-    productionGzipExtensions: ['js', 'css'],
-
-    // Run the build command with an extra argument to
-    // View the bundle analyzer report after build finishes:
-    // `npm run build --report`
-    // Set to `true` or `false` to always turn it on or off
-    bundleAnalyzerReport: process.env.npm_config_report
-  }
-}

+ 0 - 4
config/prod.env.js

@@ -1,4 +0,0 @@
-'use strict'
-module.exports = {
-  NODE_ENV: '"production"'
-}

+ 0 - 7
config/test.env.js

@@ -1,7 +0,0 @@
-'use strict'
-const merge = require('webpack-merge')
-const devEnv = require('./dev.env')
-
-module.exports = merge(devEnv, {
-  NODE_ENV: '"testing"'
-})

+ 111 - 0
cors.js

@@ -0,0 +1,111 @@
+module.exports = {
+  proxyTable: {
+    '/icore.icp.web/pass/ioms/v1': {
+        target: 'https://ioms.steerinfo.com/v1', //加http
+        changeOrigin: true,
+        pathRewrite: {
+          '^/icore.icp.web/pass/ioms/v1': '/' //这里理解成用‘/api’代替target里面的地址,组件中我们调接口时直接用/api代替
+          // 比如我要调用'http://0.0:300/user/add',直接写‘/api/user/add’即可 代理后地址栏显示/
+        }
+      },
+    '/views/ioms/v1': {
+      target: 'https://ioms.steerinfo.com/v1', //加http
+      changeOrigin: true,
+      pathRewrite: {
+        '^/views/ioms/v1': '/' //这里理解成用‘/api’代替target里面的地址,组件中我们调接口时直接用/api代替
+        // 比如我要调用'http://0.0:300/user/add',直接写‘/api/user/add’即可 代理后地址栏显示/
+      }
+    },
+    '/icore.icp.web/pass/v1': {
+        // target: 'http://172.16.90.238:8088/v1', //加http
+        target: 'http://172.16.90.221:8001/v1', //加http
+        changeOrigin: true,
+        pathRewrite: {
+          '^/icore.icp.web/pass/v1': '/' //这里理解成用‘/api’代替target里面的地址,组件中我们调接口时直接用/api代替
+          // 比如我要调用'http://0.0:300/user/add',直接写‘/api/user/add’即可 代理后地址栏显示/
+        }
+      },
+      '/icore.icp.web/pass/auth': {
+        // target: 'http://172.16.90.238:8088/auth', //加http
+        target: 'http://172.16.90.221:8001/auth', //加http
+        changeOrigin: true,
+        pathRewrite: {
+          '^/icore.icp.web/pass/auth': '/' //这里理解成用‘/api’代替target里面的地址,组件中我们调接口时直接用/api代替
+          // 比如我要调用'http://0.0:300/user/add',直接写‘/api/user/add’即可 代理后地址栏显示/
+        }
+      },
+      '/icore.icp.web/pass/logout': {
+        // target: 'http://172.16.90.238:8088/logout', //加http
+        target: 'http://172.16.90.221:8001/logout', //加http
+        changeOrigin: true,
+        pathRewrite: {
+          '^/icore.icp.web/pass/logout': '/' //这里理解成用‘/api’代替target里面的地址,组件中我们调接口时直接用/api代替
+          // 比如我要调用'http://0.0:300/user/add',直接写‘/api/user/add’即可 代理后地址栏显示/
+        }
+      },
+       '/icore.icp.web/restPassword': {
+         target: 'http://172.16.90.221:8001',
+         changeOrigin: true,
+         pathRewrite: {
+           '^/icore.icp.web/restPassword': '/'
+         }
+       },
+      '/icore.icp.web/pass/configCenter': {
+        target: 'https://config.steerinfo.com/configCenter', //加http
+        changeOrigin: true,
+        pathRewrite: {
+          '^/icore.icp.web/pass/configCenter': '/' //这里理解成用‘/api’代替target里面的地址,组件中我们调接口时直接用/api代替
+          // 比如我要调用'http://0.0:300/user/add',直接写‘/api/user/add’即可 代理后地址栏显示/
+        }
+      },
+      '/icore.icp.web/pass/serviceCenter': {
+        target: 'https://service-govern.steerinfo.com',
+        changeOrigin: true,
+        pathRewrite: {
+          '^/icore.icp.web/pass/serviceCenter': '/'
+        }
+      },
+      '/icore.icp.web/pass/act': {
+        target: 'https://act.steerinfo.com',
+        changeOrigin: true,
+        pathRewrite: {
+          '^/icore.icp.web/pass/act': '/'
+        }
+      },
+      '/icore-api': {
+        // target: 'http://172.16.90.238:8088',
+        target: 'http://172.16.90.221:8001',
+        changeOrigin: true,
+        pathRewrite: {
+          '^/icore-api': '/'
+        }
+      },
+      '/icore.icp.web/pass/ems': {
+        // target: '172.16.90.238:8888',
+        target: 'http://localhost:8086',
+        ws: true,
+        changeOrigin: true,
+        pathRewrite: {
+          '^/icore.icp.web/pass/ems': '/'
+        }
+      },
+      '/icore.icp.web/pass/product': {
+        target: 'http://localhost:8888',
+       // target: '172.16.90.238:8089',
+        changeOrigin: true,
+        pathRewrite: {
+          '^/icore.icp.web/pass/product': '/'
+        }
+      },
+      '/icore.icp.web/pass/localhost': {
+        target: 'http://localhost:8888',
+        changeOrigin: true,
+        pathRewrite: {
+          '^/icore.icp.web/pass/localhost': '/'
+        }
+      }
+  },
+  //devModules: ['index','workFlow','ApiManage','apollo','authManage','configManager','devops','dingtalk','serviceManager','microService','monitor','systemConfig','metaData','multEntry','demo']
+  // devModules: ['all'] // 不建议使用,运行速度太慢
+    devModules: ['index','workFlow','basicInformation','energyAnalysis','energyBalance','energyOperationSupport','energyPerformance','energyPlan','energyQuality','systemInterface']
+}

+ 115 - 21
nginx.conf

@@ -30,48 +30,96 @@ http {
     keepalive_timeout  65;
 
     #gzip  on;
-	
+
     add_header Access-Control-Allow-Origin *;
     add_header Access-Control-Allow-Headers X-Requested-With;
     add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
 
     server {
-        root /usr/share/nginx/html/;	
-        location /zhongsteel.pass.web/pass/v1 {
+        root /usr/share/nginx/html/;
+        location /icore.icp.web/pass {
+            rewrite ^/b/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
+            proxy_set_header Host $host;
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_pass http://ems-ems-sso; # 转发地址
+        }
+        location /icore.icp.web/pass/v1 {
             rewrite ^/b/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_pass http://ems-ems-sso/v1; # 转发地址
         }
-        location /zhongsteel.pass.web/pass/logout {
+        location /icore.icp.web/pass/logout {
             rewrite ^/b/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_pass http://ems-ems-sso/logout; # 转发地址
         }
-        location /zhongsteel.pass.web/pass/auth {
+        location /icore.icp.web/pass/auth {
             rewrite ^/b/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_pass http://ems-ems-sso/auth; # 转发地址
         }
-        location /zhongsteel.pass.web/pass/img {
+        location /icore.icp.web/pass/img {
             rewrite ^/b/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_pass http://ems-ems-sso/img; # 转发地址
         }
-        location /zhongsteel.pass.web/pass/service {
+        location /icore.icp.web/pass/service {
             rewrite ^/b/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_pass http://ems-ems-sso/service; # 转发地址
         }
+        location /icore.icp.web/pass/configCenter {
+            proxy_pass http://paas-config/configCenter; # 转发地址
+            port_in_redirect   on;
+            proxy_redirect     off;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+        }
+        location /icore.icp.web/pass/serviceCenter {
+            proxy_pass http://paas-govern/serviceCenter; # 转发地址
+            port_in_redirect   on;
+            proxy_redirect     off;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+        }
+        location /icore.icp.web/pass/act {
+            rewrite ^/icore.icp.web/pass/act/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
+            proxy_set_header Host $host;
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_pass http://paas-act; # 转发地址
+        }
+        location /graphql {
+            proxy_pass http://devops-api.devops/graphql; # 转发地址
+            port_in_redirect   on;
+            proxy_redirect     off;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+        }
+        location /cloudGraphql {
+            proxy_pass http://devops-api.devops/graphql; # 转发地址
+            port_in_redirect   on;
+            proxy_redirect     off;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+        }
+        location /devopsApi {
+		    proxy_pass https://devops-api.devops/graphql; # 转发地址
+            rewrite ^/devopsApi/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
+            port_in_redirect   on;
+            proxy_redirect     off;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_http_version 1.1;
+            proxy_set_header Upgrade $http_upgrade;
+            proxy_set_header Connection "Upgrade";
+        }
         location /icore-api {
             rewrite ^/icore-api/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
             proxy_set_header Host $host;
@@ -79,28 +127,74 @@ http {
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_pass http://ems-ems-sso; # 转发地址
         }
-        location /zhongsteel.pass.web/pass/ems {
-            rewrite ^/zhongsteel.pass.web/pass/ems/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
+        location /icore.icp.web/pass/kafka {
+            rewrite ^/icore.icp.web/pass/kafka/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-            proxy_pass http://ems-ems-api/v1; # 转发地址.dev.svc.cluster.local
+            proxy_pass http://paas-kafka; # 转发地址
         }
-		location /zhongsteel.pass.web/pass/product {
-            rewrite ^/zhongsteel.pass.web/pass/product/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
+        location /icore.icp.web/pass/job {
+            rewrite ^/icore.icp.web/pass/job/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-            proxy_pass http://ems-ems-datasource/v1; # 转发地址.dev.svc.cluster.local
+            proxy_pass http://paas-job; # 转发地址
         }
-        location /zhongsteel.pass.web/pass/emswebsocket {
-            rewrite ^/zhongsteel.pass.web/pass/emswebsocket/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
+        location /icore.icp.web/pass/productAuth {
+            rewrite ^/icore.icp.web/pass/productAuth/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-            proxy_pass http://ems-ems-api/v1; # 转发地址.dev.svc.cluster.local
-            proxy_set_header Upgrade $http_upgrade;
-            proxy_set_header Connection "upgrade";
-        }	
-    }	
-}
+            proxy_pass http://paas-product-auth; # 转发地址
+        }
+        location /icore.icp.web/pass/dd {
+            rewrite ^/icore.icp.web/pass/dd/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
+            proxy_set_header Host $host;
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_pass http://paas-dd-service; # 转发地址
+        }
+        location /icore.icp.web/pass/apiauth {
+            rewrite ^/icore.icp.web/pass/apiauth(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
+            proxy_set_header Host $host;
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_pass http://paas-auth-service; # 转发地址
+        }
+        location /icore.icp.web/pass/websocket {
+            rewrite ^/icore.icp.web/pass/websocket(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
+            proxy_set_header Host $host;
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_pass http://paas-websocket; # 转发地址
+        }
+        location /devops-images {
+            proxy_pass http://devops-api.devops; # 转发地址
+            port_in_redirect   on;
+            proxy_redirect     off;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+        }
+        location /pass/devops {
+            # rewrite ^/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
+            proxy_set_header Host $host;
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_pass http://10.10.50.51:9080; # 转发地址
+        }
+        location /icore.icp.web/pass/ems {
+            rewrite ^/icore.icp.web/pass/ems/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
+            proxy_set_header Host $host;
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_pass http://ems-ems-api/v1; # 转发地址.dev.svc.cluster.local
+        }
+        location /icore.icp.web/pass/product {
+            rewrite ^/icore.icp.web/pass/product/(.*)$ /$1 break; # 去除本地接口/api前缀, 否则会出现404
+            proxy_set_header Host $host;
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_pass http://ems-ems-datasource/v1; # 转发地址.dev.svc.cluster.local
+        }
+     }
+}

+ 16 - 45
package.json

@@ -1,51 +1,21 @@
 {
-  "name": "zhongsteel.energy.ms",
+  "name": "icore-frame",
   "version": "1.0.0",
   "description": "A Vue.js project",
-  "author": "onlyang",
+  "author": "hz",
   "private": true,
   "scripts": {
-    "dev": "webpack-dev-server --inline --progress --profile --colors --config build/webpack.dev.conf.js --host 0.0.0.0",
+    "dev": "webpack-dev-server --inline --progress --profile --colors --config node_modules/icore-icp/build/webpack.dev.conf.js --host 0.0.0.0",
     "start": "npm run dev",
-    "unit": "jest --config test/unit/jest.conf.js --coverage",
-    "e2e": "node test/e2e/runner.js",
+    "unit": "jest --config node_modules/icore-icp/test/unit/jest.conf.js --coverage",
+    "e2e": "node node_modules/icore-icp/test/e2e/runner.js",
     "test": "npm run unit && npm run e2e",
-    "lint": "eslint --ext .js,.vue src test/unit test/e2e/specs",
-    "build": "node build/build.js",
-    "testc": "cross-env NODE_ENV=test nyc mocha-webpack --webpack-config build/webpack.test.conf.js --require test/setup.js test/**/*.spec.js"
+    "lint": "eslint --ext .js,.vue src node_modules/icore-icp/test/unit node_modules/icore-icp/test/e2e/specs",
+    "build": "node node_modules/icore-icp/build/build.js",
+    "testc": "cross-env NODE_ENV=test nyc mocha-webpack --webpack-config node_modules/icore-icp/build/webpack.test.conf.js --require node_modules/icore-icp/test/setup.js node_modules/icore-icp/test/**/*.spec.js"
   },
   "dependencies": {
-    "@antv/g6": "1.2.8",
-    "apollo-cache-inmemory": "^1.5.1",
-    "apollo-client": "^2.5.1",
-    "apollo-link": "^1.2.11",
-    "apollo-link-error": "^1.1.11",
-    "apollo-link-http": "^1.5.14",
-    "axios": "^0.18.0",
-    "babel-polyfill": "^6.26.0",
-    "echarts": "^4.1.0",
-    "element-ui": "2.4.2",
-    "file-saver": "^1.3.8",
-    "graphql": "^14.1.1",
-    "graphql-tag": "^2.10.1",
-    "script-loader": "^0.7.2",
-    "socket.io": "^2.2.0",
-    "socket.io-stream": "^0.9.1",
-    "sockjs-client": "^1.3.0",
-    "vue": "^2.5.2",
-    "vue-apollo": "^3.0.0-beta.28",
-    "vue-baidu-map": "^0.21.19",
-    "vue-clipboard2": "^0.2.1",
-    "vue-element-bigdata-table": "^1.3.1",
-    "vue-quill-editor": "^3.0.5",
-    "vue-router": "^3.0.1",
-    "vue-splitpane": "^1.0.2",
-    "vuex": "^3.0.1",
-    "x2js": "^3.3.0",
-    "xlsx": "^0.11.13",
-    "xlsx-style": "^0.8.13",
-    "xterm": "3.12.0",
-    "jssha": "^3.2.0"
+    "icore-icp": "^1.0.0-J.6"
   },
   "devDependencies": {
     "@vue/test-utils": "^1.0.0-beta.24",
@@ -53,7 +23,6 @@
     "babel-core": "^6.22.1",
     "babel-eslint": "^8.2.1",
     "babel-helper-vue-jsx-merge-props": "^2.0.3",
-    "babel-preset-es2015": "^6.24.1",
     "babel-jest": "^21.0.2",
     "babel-loader": "^7.1.1",
     "babel-plugin-dynamic-import-node": "^1.2.0",
@@ -61,10 +30,10 @@
     "babel-plugin-transform-runtime": "^6.22.0",
     "babel-plugin-transform-vue-jsx": "^3.5.0",
     "babel-preset-env": "^1.3.2",
+    "babel-preset-es2015": "^6.24.1",
     "babel-preset-stage-2": "^6.22.0",
     "babel-register": "^6.22.0",
     "chalk": "^2.0.1",
-    "chromedriver": "^2.27.2",
     "copy-webpack-plugin": "^4.0.1",
     "cross-env": "^5.2.0",
     "cross-spawn": "^5.0.1",
@@ -83,14 +52,13 @@
     "file-loader": "^1.1.4",
     "friendly-errors-webpack-plugin": "^1.6.1",
     "html-webpack-plugin": "^2.30.1",
-    "icore-sdk": "1.0.1-alpha.49",
     "jest": "^22.0.4",
     "jest-serializer-vue": "^0.3.0",
     "jsdom": "^12.0.0",
     "jsdom-global": "^3.0.2",
     "jsplumb": "^2.8.8",
-    "less": "^3.8.1",
-    "less-loader": "^4.1.0",
+    "less": "~3.8.1",
+    "less-loader": "~4.1.0",
     "mocha": "^5.2.0",
     "mocha-webpack": "^1.1.0",
     "moment": "^2.22.2",
@@ -114,8 +82,10 @@
     "uglifyjs-webpack-plugin": "^1.1.1",
     "url-loader": "^0.5.8",
     "vue-jest": "^1.0.2",
+    "vue-json-editor": "^1.4.0",
     "vue-loader": "^13.3.0",
     "vue-style-loader": "^3.0.1",
+    "vue-svg-icon": "^1.2.9",
     "vue-template-compiler": "^2.5.2",
     "webpack": "^3.6.0",
     "webpack-bundle-analyzer": "^2.9.0",
@@ -134,7 +104,8 @@
   ],
   "nyc": {
     "include": [
-      "src/**/*.(js|vue)"
+      "src/**/*.(js|vue)",
+      "node_modules/icore-icp/src/**/*.(js|vue)"
     ],
     "instrument": false,
     "sourceMap": false

+ 0 - 22
src/Counter.vue

@@ -1,22 +0,0 @@
-<template>
-<div>
-    {{ count }}
-    <button @click="increment">自增</button>
-</div>
-</template>
-
-<script>
-export default {
-  data () {
-    return {
-      count: 0
-    }
-  },
-
-  methods: {
-    increment () {
-      this.count++
-    }
-  }
-}
-</script>

+ 0 - 3609
src/assets/css/style.css

@@ -1,3609 +0,0 @@
-/*
- * common css
- */
-/* icons */
-/* html, body {
-  background-color: rgb(71, 154, 231);
-} */
-/* html {
-  font-size: 10px;
-} */
-.mainVueIndex .el-tabs__content {
-    overflow: auto !important;
-}
-.xl-icon-size {
-  font-size: 18px;
-  color: #70baf2;
-  cursor: pointer;
-  margin-right: 10px;
-  margin-top: 2px;
-}
-
-.ytg-menu-level1>li>div:hover>.xs-menu-icons {
-  width: 26px;
-  height: 26px;
-  transform: scale(0.8);
-  background: url(../img/menu/menu_b.png) 0 0 no-repeat;
-  /* width: 20px; height: 20px */
-}
-
-.ytg-menu-level1>li>div>.xs-menu-icons {
-  display: inline-block;
-  width: 26px;
-  height: 26px;
-  cursor: pointer;
-  transform: scale(0.8);
-  background: url(../img/menu/menu_w.png) 0 0 no-repeat;
-  -webkit-transition: background-position .3s;
-  transition: background-position .3s;
-}
-
-.xs-nav-icons {
-  display: inline-block;
-  width: 26px;
-  height: 26px;
-  cursor: pointer;
-  background: url(../img/nav/nav_c.png) 0 0 no-repeat;
-  -webkit-transition: background-position .3s;
-  transition: background-position .3s;
-  -webkit-transform: scale(0.45);
-  transform: scale(0.45);
-}
-
-.xs-fuc-icons {
-  display: inline-block;
-  width: 17px;
-  height: 17px;
-  /* padding-left: 20px; */
-  cursor: pointer;
-  background: url(../img/func/func_w.png) 0 0 no-repeat;
-  -webkit-transition: background-position .3s;
-  transition: background-position .3s;
-}
-
-.xs-fuc-icons-add {
-  background-position: -27px -23px;
-}
-
-.xs-icons {
-  display: inline-block;
-  width: 20px;
-  height: 20px;
-  cursor: pointer;
-  background: url(../img/icons.png) 0 0 no-repeat;
-  -webkit-transition: background-position .3s;
-  transition: background-position .3s;
-}
-
-.xs-icons-add {
-  background-position: -168px -24px;
-}
-
-.xs-icons-user {
-  background-position: -408px 0;
-  width: 34px;
-  height: 34px;
-}
-
-.xs-icons-right-arrow {
-  background-position: -144px -97px;
-  width: 16px;
-  height: 14px;
-}
-
-.xs-icons-see {
-  background-position: -408px -48px;
-}
-
-.xs-icons-see-reverse {
-  background-position: -408px -72px;
-}
-
-.xs-icons-slm {
-  background-position: -48px 0;
-}
-
-.sl-menu-a:hover .xs-icons-slm {
-  background-position: -48px -24px;
-}
-
-.sl-menu-sed .xs-icons-slm {
-  background-position: -48px -24px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu1,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu1 {
-  background-position: -25px -24px;
-}
-
-.sl-menu-a:hover .xs-icons-menu1 {
-  background-position: 0 -144px;
-}
-
-.sl-menu-sed .xs-icons-menu1 {
-  background-position: 0 -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu2,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu2 {
-  background-position: -73px -24px;
-}
-
-.sl-menu-a:hover .xs-icons-menu2 {
-  background-position: -24px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu2 {
-  background-position: -24px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu3,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu3 {
-  background-position: -120px -24px;
-}
-
-.sl-menu-a:hover .xs-icons-menu3 {
-  background-position: -48px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu3 {
-  background-position: -48px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu4,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu4 {
-  background-position: -168px -24px;
-}
-
-.sl-menu-a:hover .xs-icons-menu4 {
-  background-position: -72px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu4 {
-  background-position: -72px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu5,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu5 {
-  background-position: -25px -70px;
-}
-
-.sl-menu-a:hover .xs-icons-menu5 {
-  background-position: -96px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu5 {
-  background-position: -96px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu6,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu6 {
-  background-position: -73px -70px;
-}
-
-.sl-menu-a:hover .xs-icons-menu6 {
-  background-position: -120px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu6 {
-  background-position: -120px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu7,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu7 {
-  background-position: -120px -70px;
-}
-
-.sl-menu-a:hover .xs-icons-menu7 {
-  background-position: -144px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu7 {
-  background-position: -144px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu8,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu8 {
-  background-position: -168px -70px;
-}
-
-.sl-menu-a:hover .xs-icons-menu8 {
-  background-position: -168px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu8 {
-  background-position: -168px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu9,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu9 {
-  background-position: -25px -119px;
-}
-
-.sl-menu-a:hover .xs-icons-menu9 {
-  background-position: -192px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu9 {
-  background-position: -192px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu10,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu10 {
-  background-position: -73px -119px;
-}
-
-.sl-menu-a:hover .xs-icons-menu10 {
-  background-position: -216px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu10 {
-  background-position: -216px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu11,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu11 {
-  background-position: -120px -119px;
-}
-
-.sl-menu-a:hover .xs-icons-menu11 {
-  background-position: -240px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu11 {
-  background-position: -240px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu12,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu12 {
-  background-position: -168px -119px;
-}
-
-.sl-menu-a:hover .xs-icons-menu12 {
-  background-position: -264px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu12 {
-  background-position: -264px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu13,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu13 {
-  background-position: -25px -168px;
-}
-
-.sl-menu-a:hover .xs-icons-menu13 {
-  background-position: -288px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu13 {
-  background-position: -288px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu14,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu14 {
-  background-position: -73px -168px;
-}
-
-.sl-menu-a:hover .xs-icons-menu14 {
-  background-position: -312px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu14 {
-  background-position: -312px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu15,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu15 {
-  background-position: -120px -168px;
-}
-
-.sl-menu-a:hover .xs-icons-menu15 {
-  background-position: -336px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu15 {
-  background-position: -336px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu16,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu16 {
-  background-position: -168px -168px;
-}
-
-.sl-menu-a:hover .xs-icons-menu16 {
-  background-position: -360px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu16 {
-  background-position: -360px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu17,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu17 {
-  background-position: -25px -217px;
-}
-
-.sl-menu-a:hover .xs-icons-menu17 {
-  background-position: -384px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu17 {
-  background-position: -384px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu18,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu18 {
-  background-position: -73px -217px;
-}
-
-.sl-menu-a:hover .xs-icons-menu18 {
-  background-position: -408px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu18 {
-  background-position: -408px -144px;
-}
-
-.ytg-menu-level1>li>div>.xs-icons-menu19,
-.ytg-menu-level1>li>div:hover>.xs-icons-menu19 {
-  background-position: -120px -217px;
-}
-
-.sl-menu-a:hover .xs-icons-menu19 {
-  background-position: -432px -144px;
-}
-
-.sl-menu-sed .xs-icons-menu19 {
-  background-position: -432px -144px;
-}
-
-.el-breadcrumb__item__inner:hover {
-  color: #70baf2;
-  cursor: default;
-}
-
-.appendColor .el-input-group__append,
-.appendColor .el-input-group__prepend {
-  background-color: #f5f7fa;
-  color: #909399;
-  vertical-align: middle;
-  display: table-cell;
-  position: relative;
-  border: 1px solid #dcdfe6;
-  border-radius: 4px;
-  padding: 0 0px;
-  width: 1px;
-  white-space: nowrap;
-}
-
-
-.st-icons {
-  display: inline-block;
-  width: 20px;
-  height: 20px;
-  cursor: pointer;
-  background: url(../img/spirit00.png) 0 0 no-repeat;
-  -webkit-transition: background-position .3s;
-  transition: background-position .3s;
-}
-
-.st-icons-user {
-  background-position: -264px -48px;
-}
-
-.st-icons-pwd {
-  background-position: -288px -48px;
-}
-
-.st-icons-out {
-  background-position: -312px -48px;
-}
-
-.st-icons1 {
-  display: inline-block;
-  width: 20px;
-  height: 20px;
-  cursor: pointer;
-  background: url(../img/icons1.png) 0 0 no-repeat;
-  -webkit-transition: background-position .3s;
-  transition: background-position .3s;
-}
-
-.st-icons-success {
-  background-position: -288px -216px;
-}
-
-.st-icons-del {
-  background-position: -312px -216px;
-}
-
-.ytg-icons {
-  display: inline-block;
-  width: 20px;
-  height: 20px;
-  background: url(../img/ytgico.png) 0 0 no-repeat;
-}
-
-.ytg-additional-liBtn {
-  background-position: -144px -72px;
-  width: 17px;
-  height: 17px;
-}
-
-.ytg-cust-logo {
-  background-position: 0 -144px;
-  width: 40px;
-  height: 40px;
-}
-
-/*表格最后一项保留右边框*/
-.table-lastTh-border .has-gutter th:nth-last-of-type(2) {
-  border-right: 1px solid #ccc;
-}
-
-/*新增*/
-.ytg-add-red {
-  background-position: -96px -72px;
-  width: 20px;
-  height: 20px;
-  cursor: pointer;
-}
-
-/*编辑*/
-.ytg-edit-red {
-  background-position: -72px -72px;
-  width: 20px;
-  height: 20px;
-  cursor: pointer;
-}
-
-/*启用*/
-.ytg-startU-red {
-  background-position: -192px -72px;
-  width: 20px;
-  height: 20px;
-  cursor: pointer;
-}
-
-/*停用*/
-.ytg-stopU-red {
-  background-position: -216px -72px;
-  width: 20px;
-  height: 20px;
-  cursor: pointer;
-}
-
-/*返回*/
-.ytg-return {
-  background-position: -120px -120px;
-  width: 20px;
-  height: 20px;
-  cursor: pointer;
-}
-
-/** 客户管理 ***/
-.xs-yt-search {
-  float: right
-}
-
-.returnText {
-  position: relative;
-  top: 0;
-}
-
-.xs-yt-add {
-  position: relative;
-  top: 5px;
-}
-
-.xs-yt-form .el-form-item__content:first-child {
-  margin-left: 0px !important;
-  width: 100%
-}
-
-.xs-yt-form .el-form-item__button:last-child {
-  text-align: right;
-}
-
-.xs-yt-form .el-select {
-  display: block;
-}
-
-/* 修改系统斑马线的颜色 */
-.el-table--striped .el-table__body tr.el-table__row--striped td {
-  background: #ccf1ff
-}
-
-/*用于解决复合型输入框内容为空时,标签和输入框会错位的bug*/
-.ytg-append-form .el-input__inner {
-  display: inline-block;
-}
-
-.yt-cst-child-content {
-  padding-top: 20px;
-}
-.ctr-tec-table1 .select-row {
-  background: rgb(255, 255, 120) !important;
-}
-.el-table tr.select-row td {
-  background: rgb(255, 255, 120) !important;
-}
-.el-table .warning-row {
-  background: rgb(255, 255, 0) !important;
-}
-
-.el-table tr.warning-row td {
-  background: rgb(255, 255, 0) !important;
-}
-
-.el-table .success-row {
-  background: #00FF00 !important;
-}
-
-.el-table .solution-row {
-  background: rgb(250, 128, 19) !important;
-}
-
-/* 改变复选框右边距,以前没有右边距,似乎是element-ui样式变了,优特钢也出现类似情况,影响页面展示
-2019-03-05 */
-.el-checkbox {
-  margin-right: 0;
-}
-/*.yt-table-no-srcoll .el-table__body-wrapper{
-  overflow: hidden;
-}*/
-
-.userLoginTitle .el-dialog__title {
-  font-size: 20px;
-}
-
-.yt-cst-table-top {}
-
-.xs-yt-ctc-edit {
-  border-top: 1px solid #cccccc;
-  margin-top: 30px;
-}
-
-.del-scroll .el-table__body-wrapper {
-  overflow-x: hidden;
-}
-
-.span-text {
-  position: relative;
-  top: 0px;
-  display: inline-block;
-  height: 20px;
-  line-height: 20px;
-  padding: 0 10px;
-  border-left: 3px solid #70baf2;
-}
-
-.yt-table-page {
-  margin: 5px 0 0;
-  text-align: right;
-}
-
-.yt-cst-bi-upload .el-upload {
-  display: flex !important;
-}
-
-.table-expand .el-table__expanded-cell[class*=cell] {
-  padding: 15px !important;
-}
-
-/* 表格表头居中*/
-.th-center th {
-  text-align: center !important;
-}
-
-/*弹窗的四个按钮样式*/
-.yt-modal-btn {
-  width: 120px;
-  position: absolute;
-  top: 30px;
-}
-
-.yt-modal-btn span {
-  margin-right: 6px
-}
-
-.el-icon-edit-outline {
-  cursor: pointer;
-}
-
-.yt-base-top-content {
-  height: 100%;
-  padding: 50px 20px 42px 20px;
-  position: relative;
-}
-
-.yt-base-top-search {
-  position: absolute;
-  top: 0;
-  right: 0;
-  width: 100%;
-  padding: 10px 20px 0px 20px;
-}
-
-.yt-base-top-table {
-  height: 100%;
-
-}
-
-/** 物流成分 材质 结果按钮 **/
-.out-edit .el-input-group__append {
-  background: #409EFF;
-  color: white;
-  border-color: #409EFF
-}
-
-.yt-base-top-page {
-  position: absolute;
-  bottom: 0;
-  left: 0;
-  z-index: 1000;
-  width: 100%;
-  padding-right: 20px;
-  text-align: right;
-}
-
-
-.yt-base-bottom-edit {
-  position: absolute;
-  bottom: 0;
-  left: 0;
-  z-index: 1000;
-  width: 100%;
-  max-height: 205px;
-  overflow: auto;
-  padding: 0 20px 5px 20px;
-  border-top: 1px solid #ccc;
-  background-color: #fff;
-  box-shadow: 0 0 10px #ccc;
-}
-
-.yt-base-editArea {
-  height: 23px;
-  line-height: 23px;
-}
-
-.yt-base-editArea h2 {
-  border-left: 3px solid #70baf2;
-  padding-left: 5px;
-}
-
-.yt-base-edit-form {
-  margin-top: 0;
-}
-
-.yt-content {
-  padding-top: 10px
-}
-
-
-/* 技术要求输入下拉框 */
-/*ytg-s-m-mm-msc: 冶金规范管理Msc表格*/
-.ctr-tec-table .el-input__inner,
-.ytg-s-m-mm-msc .el-input__inner {
-  background: #FEFEC0;
-}
-
-.ctr-tec-table1 .el-input__inner,
-.ytg-s-m-mm-msc .el-input__inner {
-  background: #FEFEC0;
-}
-.ctr-tec-table1 .el-input__inner {
-  padding: 1px !important;
-}
-/* 物流管理 */
-.yt-alc {
-  padding: 10px 20px;
-}
-
-.yt-summary .el-table__body-wrapper {
-  overflow: hidden !important;
-}
-
-.yt-summary .el-table__footer-wrapper {
-  overflow: auto !important;
-}
-
-.el-tabs__active-bar {
-  background-color: #70baf2;
-}
-
-.el-tabs__item:hover {
-  color: #70baf2;
-  cursor: pointer;
-}
-
-.el-tabs__item.is-active {
-  color: #70baf2;
-}
-
-.sl-header-li-lgbc .el-breadcrumb__inner {
-  color: white
-}
-
-.sl-header-li-lgbc .el-breadcrumb__item:last-child .el-breadcrumb__inner {
-  color: white
-}
-
-.sl-header-li-lgbc .el-breadcrumb__separator {
-  color: white
-}
-
-.el-breadcrumb__inner:hover {
-  color: white;
-  cursor: text;
-}
-
-/* 输入按钮颜色变化 */
-.el-input-group__append {
-  background: white;
-}
-
-/*点击树节点使字体变红*/
-.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
-  color: #70baf2;
-}
-
-/*树节点下边框*/
-.el-tree-node__label {
-  display: block;
-  width: 100%;
-  border-bottom: 1px solid #ccc;
-  font-size: 12px;
-}
-
-.el-tree-node__content {
-  height: 32px;
-  line-height: 31px;
-}
-
-/*树控件的字体颜色改为跟body一个颜色*/
-.el-tree {
-  color: #1f2f3d
-}
-
-.el-button {
-  color: #111;
-}
-
-.el-button--primary {
-  color: #fff;
-}
-
-.el-button--success {
-  background-color: #61f06e;
-  border-color: #61f06e;
-}
-.el-button--success:hover {
-  background: #61f06e;
-  border-color: #61f06e;
-}
-.el-button--success:focus {
-  background: #61f06e;
-  border-color: #61f06e;
-}
-
-.el-button--text {
-  color: #409EFF;
-  cursor: pointer;
-}
-
-.el-checkbox+.el-checkbox {
-  margin-left: 20px;
-}
-
-.xg-zhb-short-design .el-checkbox+.el-checkbox {
-  margin-left: 0px
-}
-
-.xg-zhb-short-design .el-button+.el-button {
-  margin-left: 0px;
-}
-
-.xg-zhb-short-design .el-button--small {
-  padding: 7px 13px 6px 15px;
-}
-
-.el-checkbox__label {
-  padding-left: 5px;
-}
-
-.el-table th>.cell.highlight {
-  color: #ffffff
-}
-
-.el-dropdown {
-  font-size: 12px;
-  color: #409EFF;
-  cursor: pointer;
-}
-
-.el-dropdown-menu__item {
-  font-size: 12px;
-  white-space: nowrap;
-  color: #000;
-}
-
-.el-dialog__wrapper {
-  position: absolute;
-}
-
-.el-dialog__title {
-  font-size: 14px;
-  font-weight: bold;
-}
-
-.el-dialog--center .el-dialog__body {
-  padding-top: 10px;
-  padding-bottom: 20px;
-}
-
-.el-dialog--center .el-dialog__header {
-  padding-top: 15px;
-  padding-bottom: 5px;
-}
-
-.el-dialog__body {
-  padding: 10px 20px;
-  font-size: 12px;
-}
-
-.el-date-editor .el-range-separator {
-  width: 20px;
-  font-size: 12px;
-  padding: 0;
-  text-align: center;
-}
-
-.el-table .cell {
-  padding: 0 5px !important;
-  line-height: 20px;
-}
-
-.el-picker-panel {
-  color: #000;
-}
-
-.el-picker-panel__shortcut {
-  color: #000;
-}
-
-.el-radio {
-  color: #000;
-}
-
-.el-radio__label {
-  font-size: 12px;
-}
-
-.el-message-box {
-  padding-bottom: 20px;
-}
-
-.el-message-box__wrapper {
-  position: absolute;
-}
-
-.el-dialog__footer {
-  padding-bottom: 20px;
-  padding-top: 0;
-}
-
-.el-table__empty-block {}
-
-.el-table__empty-text {
-  left: 30px;
-  top: 15px;
-  transform: translate(0, 0);
-  color: #666;
-}
-
-.el-table__body tr.current-row>td {
-  color: #000 !important;
-  background-color: #d3ddf5 !important;
-  font-weight: bold !important;
-}
-
-.ytg-ws-collapse .el-collapse-item__header {
-  height: 40px;
-  line-height: 40px;
-  padding-left: 2px;
-}
-
-.ytg-ws-collapse .el-collapse-item__arrow {
-  line-height: 40px;
-}
-
-.ytg-ws-collapse .el-collapse-item__content {
-  padding-bottom: 10px;
-}
-
-.el-range-editor--small .el-range-input {
-  font-size: 12px;
-}
-
-.el-switch,
-.el-switch__label,
-.el-switch__label * {
-  font-size: 12px;
-}
-
-.el-message-box__title {
-  color: #000;
-}
-
-.el-message-box__content {
-  color: #000;
-}
-
-/* form */
-.search-form .el-select .el-input__inner {
-  height: 28px !important;
-}
-
-/*删掉了这里的important,会影响表格内输入控件的样式*/
-.el-input--small .el-input__inner {
-  height: 28px;
-  line-height: 28px;
-}
-
-.el-range-editor--small.el-input__inner {
-  height: 28px;
-  line-height: 28px;
-}
-
-.el-form-item {
-  margin-bottom: 13px;
-}
-
-.el-form-item__error {
-  padding-top: 0;
-}
-
-.el-form-item--small .el-form-item__error {
-  padding-top: 0;
-}
-
-.el-form-item__content {
-  font-size: 12px;
-  line-height: 30px;
-}
-
-.el-input--small {
-  font-size: 12px;
-}
-
-.el-form-item__label {
-  font-size: 12px;
-  line-height: 30px;
-  color: #000;
-  padding-right: 8px;
-}
-
-.el-form-item--small .el-form-item__content,
-.el-form-item--small .el-form-item__label {
-  line-height: 28px;
-}
-
-.sui-search-form .el-form-item {
-  margin-bottom: 7px;
-}
-
-.sui-search-form2 .el-form-item {
-  margin-bottom: 5px;
-}
-
-.sui-search-form2 .el-input--small .el-input__inner {
-  border-radius: 0;
-}
-
-.sui-search-mform .el-form-item {
-  margin-bottom: 10px;
-}
-
-.sui-search-mform .el-input--small .el-input__inner {
-  padding: 0 5px;
-  border-radius: 0;
-}
-
-.sui-search-mform .el-form-item__label {
-  padding-right: 5px;
-}
-
-.sui-search-mform .el-checkbox__label {
-  padding-left: 2px;
-}
-
-.sui-search-mform .el-slider .el-input-number--small {
-  width: 100px;
-}
-
-.sui-search-mform .el-slider__runway.show-input {
-  margin-right: 110px;
-}
-
-.sui-search-mform .el-radio__label {
-  padding-left: 5px;
-}
-
-.el-tabs--border-card>.el-tabs__content {
-  padding: 10px;
-}
-
-.el-tabs--border-card {
-  box-shadow: none;
-}
-
-.el-select-dropdown__item {
-  font-size: 12px;
-  color: #000;
-}
-
-.ytg-table-el-cion {
-  font-size: 20px;
-  color: #409EFF;
-  cursor: pointer;
-  position: relative;
-  top: 3px;
-}
-
-.el-input__inner {
-  color: #000;
-}
-
-
-/* other */
-.el-loading-mask {
-  z-index: 100;
-}
-
-.el-tabs__item {
-  font-size: 12px;
-  height: 30px;
-  line-height: 30px;
-}
-
-.el-time-picker-no-icon .el-input__icon {
-  display: none;
-}
-
-.el-time-picker-is-icon .el-input__inner {
-  padding-left: 30px !important;
-}
-
-.sui-form-lh2 .el-form-item--small .el-form-item__content,
-.sui-form-lh2 .el-form-item--small .el-form-item__label {
-  line-height: 40px;
-}
-
-.el-input-number--small .el-input-number__decrease,
-.el-input-number--small .el-input-number__increase {
-  line-height: 28px;
-}
-
-/* layout */
-.ytg-lo-cl {
-  height: 100%;
-  padding: 10px 20px 20px 20px;
-  overflow: auto;
-}
-
-.ytg-lo-cr {
-  height: 100%;
-  position: relative;
-  overflow: auto;
-}
-
-/*详情页表格(有边框有底色)*/
-.ytg-table {
-  max-width: 100%;
-  width: 100%;
-  border-top: 1px solid #ccc;
-  border-left: 1px solid #ccc;
-}
-
-.ytg-table td {
-  padding: 12px 12px;
-  text-align: left;
-  border-color: #ccc;
-  color: #000;
-  border-right: 1px solid #ccc;
-  border-bottom: 1px solid #ccc;
-}
-
-.ytg-table-bgg {
-  background-color: #f5f5f5;
-  word-break: break-all
-}
-
-.ytg-table .ytg-table-tdl {
-  color: #666;
-  text-align: right;
-}
-
-.el-breadcrumb__inner,
-.el-breadcrumb__inner a {
-  font-weight: normal;
-}
-
-.el-pager li {
-  min-width: 20px;
-  padding: 0 5px;
-}
-
-.el-pagination__jump {
-  margin-left: 10px;
-}
-
-.el-pagination button {
-  padding: 0 4px;
-}
-
-.el-pagination .btn-next {
-  padding-left: 6px;
-}
-
-.el-pagination .btn-prev {
-  padding-right: 6px;
-}
-
-/*图标的大小*/
-.elIconStyle {
-  color: #70baf2;
-  font-size: 20px;
-  cursor: pointer;
-}
-
-.el-return-IconStyle {
-  font-size: 15px;
-  cursor: pointer;
-}
-
-.ytg-line-title {
-  border-left: 3px solid #ff4949;
-  height: 20px;
-  line-height: 20px;
-  padding: 0px 10px;
-}
-
-.ytg-text-title {
-  text-align: center;
-  font-size: 13px;
-  position: relative;
-}
-
-.ytg-go-bak {
-  position: relative;
-  height: 20px;
-  line-height: 20px;
-  vertical-align: middle;
-  padding-left: 23px;
-  padding-top: 2px;
-  cursor: pointer;
-  color: #20a0ff;
-}
-
-.ytg-go-bak>.ytg-return {
-  position: absolute;
-  top: 0;
-  left: 0;
-}
-
-/*有效显示绿色,无效显示红色*/
-.effective {
-  color: green;
-}
-
-.invalid {
-  color: red;
-}
-
-/* 管理页面基本布局 */
-.ytg-ps {
-  min-width: 1300px;
-  height: 100%;
-  position: relative;
-}
-
-.ytg-ps-title {
-  height: 25px;
-  line-height: 25px;
-  border-left: 3px solid #70baf2;
-  padding-left: 5px;
-  position: relative;
-}
-
-.ytg-ps-title2 {
-  /* height: 25px; line-height: 25px; */
-  border-left: 3px solid #70baf2;
-  padding: 2px 5px 2px 5px;
-  position: relative;
-}
-
-.ytg-ps-title3 {
-  /* height: 25px; line-height: 25px; */
-  border-left: 3px solid #70baf2;
-  padding: 8px 5px 8px 5px;
-  position: relative;
-}
-
-.ytg-ps-title2>span {
-  margin-left: 10px;
-}
-
-.ytg-ps-title3>span {
-  margin-left: 10px;
-}
-
-.el-button--small {
-  padding: 7px 15px 6px 15px;
-}
-
-/*.ytg-ps-title .el-button--small {
-  padding: 7px 10px;
-}*/
-.ytg-ps-title-btns {
-  margin-right: 20px;
-  vertical-align: top;
-  position: absolute;
-  bottom: 2px;
-  right: 0;
-}
-
-.ytg-ps-title-btns>.el-button {
-  vertical-align: top;
-}
-
-.ytg-ps-title-btns>.el-input-number {
-  vertical-align: top;
-}
-
-.ytg-ps-title-btns>.el-radio {
-  vertical-align: top;
-  top: 7px;
-}
-
-.ytg-ps-ops {
-  position: absolute;
-  top: 0;
-  left: 0;
-  padding: 10px 20px 0 20px;
-  height: 50px;
-  width: 100%;
-  background-color: #f5f7fa;
-  border-bottom: 1px solid #ddd;
-}
-
-.el-form--inline .el-form-item {
-  margin-right: 5px;
-}
-
-.el-button+.el-button {
-  margin-left: 3px;
-}
-
-.ytg-ps-ops>.el-button+.el-button {
-  margin-left: 5px;
-  padding: 8px 10px;
-}
-
-.ytg-ps-content {
-  height: 100%;
-  padding-top: 10px;
-}
-
-.ytg-search-more-content {
-  height: 0px;
-  overflow: hidden;
-  transition: height .3s ease-out;
-}
-
-.ytg-search-more-content-auto {
-  height: auto;
-}
-
-.ytg-search-more-icon {
-  position: relative;
-  top: 1px;
-  font-size: 14px;
-  -webkit-transition: transform .3s;
-  transition: transform .3s;
-}
-
-.ytg-search-more-icon2 {
-  -webkit-transform: rotate(180deg);
-  transform: rotate(180deg);
-}
-
-/* login commnon css */
-.xs-lg-form {
-  padding: 0.5rem 2rem;
-}
-
-.xs-lg-form .el-form-item {
-  margin-bottom: 0.5rem;
-}
-
-.xs-lg-form .el-form-item__error {
-  padding-top: 4px;
-  padding-left: 10px;
-}
-
-.xs-lg-form .el-input__inner {
-  border: 1px solid #fff;
-  height: 2.5rem;
-  line-height: 2.5rem;
-  color: #000;
-  background: transparent;
-  border-radius: 0;
-  position: relative;
-  font-size: 1.2rem;
-}
-
-.xs-lg-form .el-input--prefix .el-input__inner {
-  padding-left: 3rem;
-  background: transparent;
-  color: #000;
-  height: 2.5rem;
-  line-height: 2.5rem;
-  border: 1px solid #fff;
-}
-
-.xs-lg-form .xs-lg-form-date .el-input__prefix {
-  left: 18px;
-  top: -2px;
-  font-size: 20px;
-}
-
-.xs-lg-form .el-input__icon {
-  color: #ddd;
-  font-weight: none;
-  width: 1.25rem;
-  line-height: 2.5rem;
-  /* display: none; */
-}
-
-.xs-lg-form .el-select .el-input.is-focus .el-input__inner {
-  border-color: #fff;
-  line-height: 2rem;
-  font-size: 1rem;
-}
-
-.xs-lg-form .el-select .el-input .el-select__caret {
-  color: #fff;
-  line-height: 2.5rem;
-  font-size: 1rem;
-}
-
-/*复制OA的router-link样式*/
-/* tabs */
-.st-tabs {
-  text-align: center;
-  padding: 15px 0;
-  border: 1px #ccc solid;
-}
-
-.st-tabs-li {
-  display: inline-block;
-  margin: 0 10px;
-  padding: 0 24px;
-  height: 34px;
-  line-height: 34px;
-  vertical-align: middle;
-  font-size: 14px;
-  color: #333;
-  text-align: center;
-  border: 1px solid #ccc;
-  background-color: #fff;
-  border-radius: 4px;
-  cursor: pointer;
-}
-
-.st-tabs-li:hover {
-  background-color: #f1f1f1;
-  text-decoration: none;
-  color: #666;
-}
-
-.st-tabs-li:focus {
-  text-decoration: none;
-}
-
-.st-tabs-li.router-link-active {
-  border-color: #4086ff;
-  background-color: #4086ff;
-  color: #fff;
-  cursor: default;
-}
-
-.st-tabs-li.router-link-active:hover {
-  background-color: #3D74FF;
-}
-
-/*资产管理模块样式-复制OA的样式*/
-.line-border .el-input__inner {
-  border: none
-}
-
-.line-border .el-textarea__inner {
-  border: none
-}
-
-.line-border .el-form-item__error {
-  margin-top: -8px;
-}
-
-.line-border .el-form-item {
-  margin: 0px;
-  width: 100%;
-}
-
-.wLine .line-border .el-form-item {
-  margin: 0px;
-  width: 100%
-}
-
-/** 质量模块**/
-.chen-formula .el-form-item__label {
-  width: 160px !important;
-}
-
-/**/
-/* 文件列表显示样式 */
-.st-filelist-ul {
-  padding: 20px;
-  overflow: hidden;
-}
-
-.st-filelist-ul>li {
-  position: relative;
-  padding: 15px 0;
-  margin-bottom: 20px;
-  border: 1px solid #d9d9d9;
-}
-
-.st-filelist-ul>li:last-child {
-  margin-bottom: 0px;
-}
-
-.st-filelist-text {
-  height: 30px;
-  line-height: 30px;
-  vertical-align: middle;
-  padding: 0 60px;
-  text-align: left;
-  overflow: hidden;
-}
-
-.st-ellipsis {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  word-break: keep-all;
-}
-
-.st-filelist-icon-img {
-  position: absolute;
-  top: 14px;
-  left: 20px;
-  width: 30px;
-  height: 30px;
-  text-align: center;
-  line-height: 30px;
-  vertical-align: middle;
-  cursor: pointer;
-}
-
-.st-filelist-icon-img>img {
-  max-width: 100%;
-  max-height: 100%;
-  vertical-align: middle;
-}
-
-.st-filelist-icon-download {
-  position: absolute;
-  top: 14px;
-  right: 20px;
-  cursor: pointer;
-}
-
-.st-icons-download {
-  background-position: -120px -168px;
-  width: 30px;
-  height: 30px;
-}
-
-.st-icons-file {
-  background-position: -72px -168px;
-  width: 30px;
-  height: 30px;
-}
-
-.st-filelist-icon-file {
-  position: absolute;
-  top: 14px;
-  left: 20px;
-  cursor: default;
-}
-
-.oa-asset-am-page {
-  padding: 10px 20px 20px 0;
-  overflow: hidden;
-  text-align: right;
-}
-
-.oa-asset-am-page2 {
-  float: right;
-  margin-top: 20px;
-}
-
-.st-table {
-  max-width: 100%;
-  width: 100%;
-  border-top: 1px solid #ccc;
-  border-left: 1px solid #ccc;
-}
-
-.st-table td {
-  padding: 12px 12px;
-  text-align: left;
-  border-color: #ccc;
-  color: #000;
-  border-right: 1px solid #ccc;
-  border-bottom: 1px solid #ccc;
-}
-
-.st-table-bgg {
-  background-color: #f5f5f5;
-  word-break: break-all
-}
-
-.st-table .st-table-tdl {
-  color: #666;
-  text-align: right;
-}
-
-.st-table-form .st-table-tdl {
-  background-color: #f5f5f5;
-}
-
-.st-icons-email-addc {
-  background-position: -168px -212px;
-  width: 20px;
-  height: 25px;
-}
-
-/*下拉框*/
-.oa-search-header-form-s {
-  width: 180px;
-}
-
-.st-icons-addo {
-  background-position: -48px -48px;
-}
-
-.st-slider-title-x2 {
-  position: absolute;
-  top: 24px;
-  right: 30px;
-  cursor: pointer;
-  margin-right: 0 !important;
-}
-
-.st-slider-title-x2:hover {
-  animation: circle 2s linear 0s infinite;
-}
-
-.st-icons-x {
-  background-position: 0 -72px;
-  width: 16px;
-  height: 16px;
-}
-
-.st-icons-x:hover {
-  animation: circle 3s linear infinite;
-}
-
-.st-slider-title-x {
-  position: absolute;
-  top: 24px;
-  right: 30px;
-  cursor: pointer;
-  margin-right: 0 !important;
-}
-
-.sui-slider {
-  position: absolute;
-}
-
-.st-slider-title-x:hover {
-  animation: circle 2s linear 0s infinite;
-}
-
-.sui-slider-title-text {
-  display: inline-block;
-  padding-left: 5px;
-}
-
-.oa-asset-am-button {
-  margin-top: 20px;
-  overflow: hidden;
-}
-
-/* 合同行修改 */
-.ct-line .el-input__inner {
-  background: #f2e6b6;
-}
-
-/* 合同打印页面的单选按钮样式 */
-.printRadio .el-radio__label {
-  padding-left: 0;
-}
-
-/*产品规范新增按钮*/
-.stdAddBtn {
-  margin-left: 10px;
-}
-
-.appendColor .el-input .el-input-group__append {
-  background-color: #f5f7fa;
-}
-
-/*tab页选中之后的样式,非路由,路由有路由的class*/
-.ytg-tab-check {
-  border-color: #4086ff !important;
-  background-color: #4086ff !important;
-  color: #fff !important;
-  cursor: default !important;
-}
-
-.el-table .warning-row {
-  background: oldlace;
-}
-
-.ytg-s-mm-process .el-tabs__content {
-  overflow: visible;
-}
-
-/*冶金规范管理页面,交付标准和制成那一块不要有太多的层级,就是表格的左、下、右边框重合*/
-.ytg-s-mm-process .el-tabs__content {
-  padding: 0px;
-  margin: 10px -1px -1px -1px;
-}
-
-.el-table .caret-wrapper {
-  height: 20px;
-  width: 20px;
-}
-
-.el-table .sort-caret.ascending {
-  top: -2px;
-  font-size: 16px;
-  border-bottom-color: #fff;
-}
-
-.el-table .ascending .sort-caret.ascending {
-  border-bottom-color: #000;
-}
-
-.el-table .sort-caret.descending {
-  bottom: 1px;
-  font-size: 16px;
-  border-top-color: #fff;
-}
-
-.el-table .descending .sort-caret.descending {
-  border-top-color: #000;
-}
-
-.el-input.is-disabled .el-input__inner {
-  background-color: #dfdfdf;
-  border-color: #ccc;
-  color: #333 !important;
-}
-
-.el-input__inner {
-  border-color: #ccc;
-}
-
-.el-radio__inner,
-.el-checkbox__inner {
-  border-color: #ccc;
-}
-
-/* .el-select .el-input .el-select__caret {
-  color: #fff;
-  line-height: 35px;
-  font-size: 20px;
-} */
-.el-checkbox__label {
-  font-size: 12px;
-}
-
-/*根据设计要求做出以下修改:表格内的编辑控件高度调整为20px,效果为打钩状态和不打钩状态下表格的行高一致*/
-/*去掉表格内编辑控件的圆角*/
-.ctr-tec-table .el-input--small .el-input__inner {
-  height: 20px;
-}
-
-.ctr-tec-table .el-input__inner {
-  border-radius: 0;
-}
-
-.ctr-tec-table .el-input-group>.el-input__inner {
-  display: inline-block;
-}
-
-.ctr-tec-table1 .el-input--small .el-input__inner {
-  height: 20px;
-}
-
-.ctr-tec-table1 .el-input__inner {
-  border-radius: 0;
-  height: 20px !important;
-}
-
-.ctr-tec-table1 .el-input-group>.el-input__inner {
-  display: inline-block;
-}
-
-/*数字输入组件 el-input 在 size='small' 时行高为30,会撑开td的高度导致同一个页面内的表格行高不一致,这里调整为20px*/
-.el-input-number--small {
-  line-height: 20px;
-}
-
-.el-table th>.cell {
-  padding: 0 !important;
-}
-
-.el-pagination button,
-.el-pagination span:not([class*=suffix]),
-.el-pager li {
-  height: 22px;
-  line-height: 22px;
-}
-
-.el-pagination .el-select .el-input .el-input__inner {
-  height: 22px !important;
-  font-size: 12px;
-}
-
-.el-pagination__editor.el-input .el-input__inner {
-  height: 22px;
-  font-size: 12px;
-}
-
-.el-pagination__total {
-  margin-right: 5px;
-}
-
-.el-pagination__jump {
-  margin-left: 5px;
-}
-
-.el-pagination button {
-  min-width: 25px;
-}
-
-.el-table__fixed-right {
-  bottom: 1px !important;
-}
-
-.el-table--border.el-loading-parent--relative {
-  border-top: 1px solid #ccc;
-  border-left: 1px solid #ccc;
-}
-
-.el-range-editor--small .el-range__close-icon,
-.el-range-editor--small .el-range__icon {
-  line-height: 20px;
-}
-
-.el-range-editor--small .el-range-separator {
-  line-height: 20px;
-}
-
-.el-input--small .el-input__icon {
-  line-height: 22px;
-}
-
-.bottom .el-tabs__header {
-  margin-bottom: 5px;
-}
-
-.xtg-right-table .el-button--small {
-  margin-top: 2px;
-  margin-left: 14px;
-}
-
-.xtg-search-left .el-form-item {
-  margin-bottom: 4px;
-}
-
-/* .xtg-button .el-button {
-  margin-left: 5px;
-} */
-.xtg-cutter .el-select {
-  margin: 0;
-  width: 80px;
-}
-
-.xtg-cutter .el-icon-time {
-  display: none;
-}
-
-.xtg-cutter .el-date-editor.el-input {
-  width: 80px;
-}
-
-.xtg-cutter .el-date-editor .el-input__inner {
-  width: 80px;
-  height: 20px;
-  padding: 0;
-  text-align: center;
-}
-
-.xtg-cutter .el-date-editor i {
-  display: none;
-}
-
-.xtg-cutter-data {
-  height: 25px;
-  padding-bottom: 29px;
-  border-bottom: 1px solid #ccc;
-}
-
-.xtg-cutter-data .el-form-item__content,
-.xtg-cutter-data .el-input--mini .el-input__inner,
-.xtg-cutter-data .el-form-item__label,
-.xtg-cutter-data .el-form-item__content {
-  height: 25px;
-  line-height: 25px;
-}
-
-.xtg-cutter-data .el-form-item {
-  margin-left: 40px;
-}
-
-/* CSS for miniui */
-.mini-table-sum {
-  color: #666;
-}
-
-.mini-textbox {
-  width: auto;
-
-}
-
-.mini-textbox-input {}
-
-.mini-grid-filterCell {
-  padding: 2px 2px 2px 2px;
-}
-
-.mini-grid-summaryCell {
-  border-right: 1px solid #ccc;
-  text-align: right;
-}
-
-.mini-textbox .el-icon-circle-close-outline {
-  display: none;
-  position: absolute;
-  right: 2px;
-  top: 50%;
-  margin-top: -8px;
-  font-size: 16px;
-  color: #999;
-  cursor: pointer;
-}
-
-.mini-textbox:hover .el-icon-circle-close-outline {
-  display: block;
-}
-
-.mini-panel-border {
-  border-color: #ccc;
-}
-
-.mini-grid-headerCell {
-  background: #f5f7fa;
-  border-color: #ccc;
-}
-
-.mini-grid-headerCell-inner {
-  text-align: center;
-}
-
-.mini-grid-cell-inner,
-.mini-grid-headerCell-inner {
-  font-family: 'Avenir', Helvetica, Arial, sans-serif;
-}
-
-.mini-textbox-border {
-  border-color: #ccc;
-}
-
-.mini-textbox-focus .mini-textbox-border {
-  border-color: #ccc;
-}
-
-html body .mini-grid-row-selected {
-  font-weight: bold;
-}
-
-.mini-grid-summaryRow {
-  background-color: #f5f7fa;
-}
-
-/*质量设计产品规范描述用*/
-.design-psc-select {
-  position: absolute;
-  background: #f5f7fa;
-  /*padding-left: 645px;*/
-  z-index: 1;
-}
-
-.design-psc-select .el-input__inner {
-  -webkit-border-radius: 0;
-  -moz-border-radius: 0;
-  border-radius: 0;
-  height: 30px;
-}
-
-/* 采购模块供应商信息 */
-.ytg-cg-gys-edit .el-form-item {
-  margin-bottom: 0;
-}
-
-.ytg-cg-gys-edit .el-date-editor .el-input__inner {
-  padding-left: 15px;
-  padding-right: 0px;
-}
-
-.ytg-cg-gys-edit .el-date-editor .el-input__icon {
-  display: none;
-}
-
-/* 采购模块电子签名文件上传 */
-.ytg-cg-edit-up .el-upload-list {
-  margin: -66px 0 0 0;
-}
-
-.ytg-cg-edit-up .el-upload--text,
-.ytg-cg-edit-up .upload-demo {
-  height: 30px;
-}
-
-.el-table .xtg-cj-bc {
-  background-color: rgba(255, 255, 111, 0.829);
-}
-
-/* 采购模块合同编制 */
-.ytg-sc-ht-title {
-  width: 25px;
-  text-align: center;
-  border-top: 3px solid #70baf2;
-  /* padding-left: 5px; */
-  position: relative;
-  font-size: 16px;
-  cursor: pointer;
-}
-
-.xtg-cg-ht-add .el-button--small {
-  padding: 6px 0;
-}
-
-.xtg-cg-ht-add .el-button--small span {
-  display: block;
-  width: 25px;
-  font-size: 15px
-}
-
-.xtg-cg-line-edit .el-form--inline .el-form-item {
-  margin: 0 24px 0 30px
-}
-
-.xs-s-mm-process .el-tabs__content {
-  overflow: visible;
-}
-
-.xs-s-mm-process .el-tabs__header {
-  margin: 0 0 2px;
-}
-
-/* 车间 探伤 编辑区 */
-.xs-j-flaw-edit .el-form-item__content,
-.xs-j-flaw-edit .el-form-item__label,
-.xs-j-flaw-edit .el-input__icon {
-  line-height: 26px;
-}
-
-.xs-j-flaw-edit .el-input__inner {
-  height: 26px;
-}
-
-.xs-j-flaw-edit .el-form-item {
-  margin-bottom: 0;
-}
-
-/* 原中厚板移动过来的样式 */
-
-/*
- * xinsteel.sales css
- */
-/* icons */
-.xl-icon-size {
-  font-size: 18px;
-  color: #ff474e;
-  cursor: pointer;
-  margin-right: 10px;
-  margin-top: -2px;
-}
-
-/* .xs-icons {
-  display: inline-block;
-  width: 20px; height: 20px;
-  cursor: pointer;
-  background: url(../img/spirit_xyzhb.png) 0 0 no-repeat;
-  transition: background-position 0.3s;
-} */
-.xs-icons-default-person {
-  background-position: -405px 0;
-  width: 48px;
-  height: 47px;
-}
-
-.xs-icons-see {
-  background-position: -96px -51px;
-  width: 20px;
-  height: 14px;
-}
-
-.xs-icons-see-reverse {
-  background-position: -120px -53px;
-  width: 20px;
-  height: 10px;
-}
-
-.xs-icons-add {
-  background-position: -168px -24px;
-}
-
-.xs-icons-user {
-  background-position: -288px -24px;
-}
-
-.xs-icons-add1 {
-  background-position: -312px -24px;
-  width: 20px;
-  height: 18px;
-}
-
-.xs-icons-del1 {
-  background-position: -335px -24px;
-  width: 20px;
-  height: 18px;
-}
-
-.xs-icons-expand {
-  background-position: -311px -24px;
-  width: 18px;
-  height: 17px;
-}
-
-.xs-icons-expanded {
-  background-position: -335px -24px;
-  width: 18px;
-  height: 17px;
-}
-
-.sui-icons-delete {
-  cursor: pointer;
-  color: #48576a
-}
-
-.sui-icons-delete:hover {
-  color: #999;
-}
-
-/* .xs-icons-blue {
-  display: inline-block;
-  width: 20px; height: 20px;
-  cursor: pointer;
-  background: url(../img/iconsBlue.png) 0 0 no-repeat;
-  -webkit-transition: background-position .3s;
-  transition: background-position .3s;
-} */
-.xs-icons-blue-right-arrow {
-  background-position: -144px -97px;
-  width: 16px;
-  height: 14px;
-}
-
-.sui-menu .xs-icons {
-  -webkit-transition: all .3s linear;
-  transition: all .3s linear;
-}
-
-.xs-icons-ctt {
-  background-position: 0 0;
-}
-
-.sui-menu-li:hover .xs-icons-ctt {
-  background-position: 0 -24px;
-}
-
-.router-link-active .xs-icons-ctt {
-  background-position: 0 -24px;
-}
-
-.sl-menu-a:hover .xs-icons-ctt {
-  background-position: 0 -24px;
-}
-
-.sl-menu-sed .xs-icons-ctt {
-  background-position: 0 -24px;
-}
-
-.xs-icons-vhc {
-  background-position: -24px 0;
-}
-
-.sui-menu-li:hover .xs-icons-vhc {
-  background-position: -24px -24px;
-}
-
-.router-link-active .xs-icons-vhc {
-  background-position: -24px -24px;
-}
-
-.sl-menu-a:hover .xs-icons-vhc {
-  background-position: -24px -24px;
-}
-
-.sl-menu-sed .xs-icons-vhc {
-  background-position: -24px -24px;
-}
-
-.xs-icons-slm {
-  background-position: -48px 0;
-}
-
-.sui-menu-li:hover .xs-icons-slm {
-  background-position: -48px -24px;
-}
-
-.router-link-active .xs-icons-slm {
-  background-position: -48px -24px;
-}
-
-.sl-menu-a:hover .xs-icons-slm {
-  background-position: -48px -24px;
-}
-
-.sl-menu-sed .xs-icons-slm {
-  background-position: -48px -24px;
-}
-
-.xs-icons-cpt {
-  background-position: -72px 0;
-}
-
-.sui-menu-li:hover .xs-icons-cpt {
-  background-position: -72px -24px;
-}
-
-.router-link-active .xs-icons-cpt {
-  background-position: -72px -24px;
-}
-
-.sl-menu-a:hover .xs-icons-cpt {
-  background-position: -72px -24px;
-}
-
-.sl-menu-sed .xs-icons-cpt {
-  background-position: -72px -24px;
-}
-
-.xs-icons-bcf {
-  background-position: -96px 0;
-}
-
-.sui-menu-li:hover .xs-icons-bcf {
-  background-position: -96px -24px;
-}
-
-.router-link-active .xs-icons-bcf {
-  background-position: -96px -24px;
-}
-
-.sl-menu-a:hover .xs-icons-bcf {
-  background-position: -96px -24px;
-}
-
-.sl-menu-sed .xs-icons-bcf {
-  background-position: -96px -24px;
-}
-
-.xs-icons-ctm {
-  background-position: -120px 0;
-}
-
-.sui-menu-li:hover .xs-icons-ctm {
-  background-position: -120px -24px;
-}
-
-.router-link-active .xs-icons-ctm {
-  background-position: -120px -24px;
-}
-
-.sl-menu-a:hover .xs-icons-ctm {
-  background-position: -120px -24px;
-}
-
-.sl-menu-sed .xs-icons-ctm {
-  background-position: -120px -24px;
-}
-
-.xs-icons-plb {
-  background-position: -144px 0;
-}
-
-.sui-menu-li:hover .xs-icons-plb {
-  background-position: -144px -24px;
-}
-
-.router-link-active .xs-icons-plb {
-  background-position: -144px -24px;
-}
-
-.sl-menu-a:hover .xs-icons-plb {
-  background-position: -144px -24px;
-}
-
-.sl-menu-sed .xs-icons-plb {
-  background-position: -144px -24px;
-}
-
-.xs-icons-wl {
-  background-position: -24px -3px;
-}
-
-.router-link-active .xs-icons-wl {
-  background-position: -24px -27px;
-}
-
-.sui-menu-li:hover .xs-icons-wl {
-  background-position: -24px -27px;
-}
-
-.sl-menu-a:hover .xs-icons-wl {
-  background-position: -24px -27px;
-}
-
-.sl-menu-sed .xs-icons-wl {
-  background-position: -24px -27px;
-}
-
-.xs-dialog-m500 .el-dialog {
-  max-width: 500px;
-}
-
-.xs-dialog-m600 .el-dialog {
-  max-width: 600px;
-}
-
-.xs-dialog-m700 .el-dialog {
-  max-width: 700px;
-}
-
-.xs-dialog-m800 .el-dialog {
-  max-width: 800px;
-}
-
-.router-link-active .xs-icons-plb {
-  background-position: -144px -24px;
-}
-
-.xs-comp-content {
-  padding-top: 10px;
-  position: relative;
-}
-
-.xs-comp-content-add-btn {
-  position: absolute;
-  top: -35px;
-  left: 20px;
-}
-
-.xs-content-title {
-  /*display: inline-block;*/
-  margin-bottom: 10px;
-  padding-left: 8px;
-  height: 24px;
-  line-height: 24px;
-  vertical-align: middle;
-  border-left: 3px solid #70baf2;
-  font-size: 12px;
-  position: relative;
-}
-
-.xs-content-title-btn {
-  position: absolute;
-  right: 0;
-  top: 2px;
-}
-
-.xs-tabs .el-tabs__content {
-  overflow: visible;
-}
-
-.xs-edit-table .el-input__inner {
-  background: #FEFEC0;
-  border-radius: 0;
-  height: 20px;
-}
-
-/* 定义的表格名称样式 */
-.xs-define-title {
-  float: left;
-  width: 120px;
-  padding-left: 8px;
-  margin: 10px 0;
-  height: 24px;
-  display: inline-block;
-  border-left: 3px solid #70baf2;
-}
-
-.xs-define-title-span {
-  line-height: 24px
-}
-
-.xs-define-title-add {
-  margin-left: 10px;
-  vertical-align: middle;
-  height: 24px;
-}
-
-.xs-define-title-search {
-  margin-left: 120px;
-}
-
-.el-button--danger {
-  color: #fff;
-  /* background-color: #66a2ff;
-  border-color: #66a2ff; */
-}
-
-.el-table__body tr.current-row>td {
-  color: #3279e8 !important;
-}
-
-/*面包屑*/
-.el-breadcrumb__inner,
-.el-breadcrumb__inner a {
-  font-weight: normal;
-}
-
-.sl-header-li-lgbc .el-breadcrumb__inner {
-  color: white;
-}
-
-.sl-header-li-lgbc .el-breadcrumb__inner {
-  color: white
-}
-
-.sl-header-li-lgbc .el-breadcrumb__item:last-child .el-breadcrumb__inner {
-  color: white
-}
-
-.sl-header-li-lgbc .el-breadcrumb__separator {
-  color: white
-}
-
-.el-breadcrumb__inner:hover {
-  color: white;
-  cursor: text;
-}
-
-/* end */
-
-/* 表格标题及按钮样式 */
-.ytg-ps {
-  min-width: 1300px;
-  height: 100%;
-  position: relative;
-}
-
-.ytg-ps-title {
-  height: 25px;
-  line-height: 25px;
-  border-left: 3px solid #70baf2;
-  padding-left: 5px;
-  position: relative;
-}
-
-.ytg-ps-title-btns {
-  vertical-align: top;
-  position: absolute;
-  bottom: 2px;
-  right: 0;
-}
-
-/* end */
-
-/* login common css */
-/* .xs-lg-form {
-  padding: 20px 40px;
-}
-.xs-lg-form .el-form-item {
-  margin-bottom: 5px;
-} */
-/* .xs-lg-form .zhb-login-pawd.el-form-item {
-  margin-bottom: 0.75rem;
-} */
-
-/* .xs-lg-form .el-form-item__error { padding-top: 2px; padding-left: 10px; } */
-/* .xs-lg-form .el-input__inner {
-  border: 0; border-bottom: 1px solid #e3e3e3;
-  font: 400 14px Arial;
-  border-radius: 0;
-  position: relative;
-  padding-left: 0;
-} */
-.xs-edit-form .el-form-item {
-  margin-bottom: 15px;
-}
-
-.xs-edit-form .el-form-item__error {
-  padding-top: 1px;
-  margin-top: 0;
-}
-
-/* .xs-lg-form .el-form-item__error {
-  padding-top: 1px;
-} */
-
-/* end */
-
-/*用于解决复合型输入框内容为空时,标签和输入框会错位的bug*/
-.xs-append-form .el-input__inner {
-  display: inline-block;
-}
-
-/* end */
-
-/*编辑区标题*/
-.xs-edit-title {
-  text-align: left;
-  margin-bottom: 10px;
-  padding-left: 5px;
-  vertical-align: middle;
-  border-left: 3px solid #70baf2;
-  position: relative;
-  border-bottom: 1px solid #ccc;
-}
-
-.xs-page-tr {
-  padding: 10px 0 0 0;
-  text-align: right;
-  overflow: hidden;
-}
-
-.xs-testarea {
-  position: relative;
-  background-color: #eef1f6;
-  border: 1px solid #d1dbe5;
-  color: #bbb;
-  cursor: not-allowed;
-  display: inline-table;
-  border-radius: 4px;
-}
-
-.xs-testarea-content {
-  min-height: 36px;
-  position: relative;
-  width: 100%;
-  padding: 0 56px 0 10px;
-  color: #bbb;
-}
-
-.xs-textarea-append {
-  position: absolute;
-  right: 0;
-  top: 0;
-  height: 100%;
-  border-color: #bfcbd9;
-  color: #97A8BE;
-}
-
-.xs-textarea-append:hover {
-  border-color: #bfcbd9;
-  color: #97A8BE;
-}
-
-/*树*/
-.el-tree-node__content {
-  position: relative;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.el-form-item {
-  margin-bottom: 15px;
-}
-
-/* .el-form-item__error { padding-top: 0; margin-top: -7px; } */
-/*.el-input--small { width: 200px; }*/
-/*.el-input--small {width: auto;}*/
-/*也不知道是哪两个人,就这个100%和200px重复写了好多次,你覆盖我的我就在下面再写一次重新覆盖你,也是倔强!!!*/
-/*下面的全部删掉,要改这个样式请再前面加上前缀,不要修改这种全局的样式,修改之前先搜索一下*/
-.el-date-editor.el-input {
-  width: 200px;
-}
-
-/*.el-table { font-size: 12px; }*/
-/* table */
-.el-table th {
-  padding: 1px 0;
-  background-color: #45A4F9 !important;
-}
-
-.el-table td {
-  padding: 3px 0;
-}
-
-.el-table td .el-button--text {
-  padding: 2px 0;
-  margin-left: 6px;
-}
-
-.el-table {
-  color: #000;
-  font-size: 12px;
-}
-
-.el-table thead {
-  color: #FFF;
-}
-
-.el-table--border td,
-.el-table--border th {
-  border-color: #ccc;
-}
-
-.el-table--border th {
-  text-align: center !important;
-}
-
-.el-table--border,
-.el-table--group {
-  border-color: #ccc;
-}
-
-.el-table td,
-.el-table th.is-leaf {
-  border-color: #ccc;
-}
-
-.el-table__fixed,
-.el-table__fixed-right {
-  box-shadow: 0 0 10px rgba(0, 0, 0, .3);
-}
-
-.el-table--border::after,
-.el-table--group::after,
-.el-table::before {
-  background-color: #ccc;
-}
-
-.el-table--border .has-gutter td:nth-last-of-type(2),
-.el-table--border .has-gutter th:nth-last-of-type(2) {
-  border-right: 1px solid #ccc;
-}
-
-.el-table__row.current-row {
-  color: #20a0ff;
-}
-
-.el-table-column-span {
-  color: #000 !important;
-  background-color: #fff !important;
-}
-
-.el-table__column-filter-trigger {
-  line-height: normal;
-}
-
-.el-table-td-ops {
-  position: relative;
-  width: 100%;
-  padding-right: 36px;
-  overflow: hidden;
-}
-
-.el-table-td-btn {
-  position: absolute;
-  right: 0;
-  top: 2px;
-}
-
-.el-table__fixed-right-patch {
-  background-color: #f5f7fa;
-}
-
-.el-table__column-filter-trigger i {
-  -webkit-transform: scale(1);
-  transform: scale(1);
-  position: relative;
-  top: 1px;
-  left: 1px;
-  color: #FFF;
-}
-
-.el-table .cell {
-  padding: 0 5px !important;
-  line-height: 20px;
-}
-
-.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
-  background: #f0f5ff;
-}
-
-/*改变字体大小*/
-.el-table {
-  font-size: 12px;
-}
-
-.el-input__inner {
-  font-size: 12px;
-}
-
-.el-form-item__label {
-  font-size: 12px;
-  line-height: 32px;
-}
-
-.el-button,
-.el-textarea__inner {
-  font-size: 12px;
-}
-
-.el-dialog__title {
-  font-size: 14px;
-}
-
-/*.el-date-picker { z-index: 30000 !important; }*/
-/*.el-select-dropdown { z-index: 30000 !important; }*/
-
-/*对话框*/
-.el-dialog--defineLarge {
-  width: 1000px;
-}
-
-.el-dialog--defineSmall {
-  width: 400px;
-}
-
-.el-dialog--define65 {
-  width: 65%;
-}
-
-.el-dialog__header {
-  padding: 20px;
-  text-align: center;
-}
-
-.buttonTopCls .el-dialog__header {
-  padding-bottom: 0px;
-  text-align: center;
-}
-/*ul*/
-.xs-li {
-  white-space: nowrap;
-  text-overflow: ellipsis;
-  overflow: hidden;
-  line-height: 36px;
-  height: 36px;
-  border-bottom: 1px solid #ccc;
-  cursor: pointer;
-}
-
-.xs-li:hover {
-  background: #f0f5ff;
-}
-
-.xs-li-active {
-  background: #f0f5ff;
-}
-
-.yt-base-top-page {
-  position: absolute;
-  bottom: 0;
-  left: 0;
-  z-index: 1000;
-  width: 100%;
-  padding-right: 20px;
-  text-align: right;
-}
-
-/* 多条件下拉样式 */
-.ytg-search-more-icon {
-  position: relative;
-  top: 1px;
-  font-size: 14px;
-  -webkit-transition: transform .3s;
-  transition: transform .3s;
-}
-
-.ytg-search-more-icon2 {
-  -webkit-transform: rotate(180deg);
-  transform: rotate(180deg);
-}
-
-/* 分页样式 */
-.yt-table-page {
-  margin: 5px 0 0;
-  text-align: right;
-}
-
-/* 物流管理 */
-.yt-alc {
-  padding: 10px 20px;
-}
-
-.ytg-lo-cr {
-  height: 100%;
-  position: relative;
-  overflow: auto;
-}
-
-/* 基础布局样式 */
-.yt-base-bottom-edit {
-  position: absolute;
-  bottom: 0;
-  z-index: 1000;
-  width: 100%;
-  overflow: auto;
-  padding: 0 20px 5px 20px;
-  border-top: 1px solid #ccc;
-  background-color: #fff;
-  box-shadow: 0 0 10px #ccc;
-}
-
-/* xs-form-inline */
-.xs-form-inline {}
-
-.xs-form-inline-c1 {
-  width: 100%;
-}
-
-.xs-form-inline-c2 {
-  width: 50%;
-}
-
-
-.xs-pl-button-right {
-  float: right;
-  margin-left: 0 !important;
-  margin-right: 10px;
-}
-
-.xs-pl-button-right1 {
-  float: right;
-  margin-left: 0 !important;
-  margin-right: 0;
-}
-
-/*表格行内编辑样式*/
-/*选择框*/
-.el-checkbox_noEdit {
-  cursor: default
-}
-
-.el-checkbox_noEdit .el-checkbox__input_noEdit {
-  cursor: default
-}
-
-.el-checkbox__inner_no_noEdit:hover {
-  border: 1px solid #bfcbd9;
-}
-
-.el-checkbox__inner_yes_noEdit:hover {
-  border-color: #0190fe;
-}
-
-/* 客户管理*/
-
-.xs-xtm-child-left {
-  width: 15%;
-  height: 100%;
-  float: left;
-  background: #f0f5ff;
-}
-
-.xs-xtm-child-right {
-  width: 85%;
-  height: 100%;
-  float: right;
-  overflow-y: auto;
-  padding-right: 20px;
-}
-
-
-/** 更改原表单样式 **/
-.xs-xtm-form .el-cascader-menus {
-  /*z-index: 20019 !important;*/
-  left: 170px;
-}
-
-.xs-xtm-form .el-form-item__content:only-child {
-  margin: 0 !important;
-}
-
-.xs-xtm-form .el-select {
-  display: block !important;
-}
-
-.xs-xtm-form .el-input {
-  width: 100%;
-}
-
-.xs-xtm-form .el-cascader {
-  display: block !important;
-}
-
-/* end */
-
-/* 中厚板之前elementUi版本过低,修改了弹出框跟对话框的z-index,现在版本升级后请使用 .xs-message 和 .xs-dialog*/
-.el-message-box__wrapper {
-  /*z-index: 21503 !important;*/
-}
-
-.el-message {
-  /*z-index: 21505 !important;*/
-}
-
-.el-dialog__wrapper {
-  /*z-index: 21504 !important;*/
-}
-
-.el-tooltip__popper {
-  /*z-index: 21504 !important;*/
-}
-
-/* end */
-
-.xs-xtm-icon-add {
-  float: right;
-  margin-top: 10px;
-}
-
-.v-modal {
-  position: absolute;
-}
-
-/*poptip*/
-.tip {
-  display: none;
-  width: 300px;
-  padding: 20px;
-  z-index: 20000;
-  background: #fff;
-  -webkit-animation: msgbox-fade-out .3s, msgbox-fade-in .3s;
-  animation: msgbox-fade-out .3s, msgbox-fade-in .3s;
-}
-
-.tooltip-content {
-  width: 260px;
-  word-break: break-all;
-}
-
-.poptip-arrow {
-  position: absolute;
-  overflow: hidden;
-  font-style: normal;
-  font-family: simsun;
-  font-size: 12px;
-  text-shadow: 0 0 2px #ccc;
-}
-
-.poptip-arrow em,
-.poptip-arrow i {
-  position: absolute;
-  left: 0;
-  top: 0;
-  font-style: normal;
-}
-
-.poptip-arrow em {
-  color: #d1dbe5;
-}
-
-.poptip-arrow i {
-  color: #fff;
-  text-shadow: none;
-}
-
-.poptip-arrow-left,
-.poptip-arrow-right {
-  height: 12px;
-  width: 6px;
-  top: 12px;
-  margin-top: -6px;
-}
-
-.poptip-arrow-left {
-  left: -6px;
-}
-
-.poptip-arrow-left em {
-  left: 1px;
-}
-
-.poptip-arrow-left i {
-  left: 2px;
-}
-
-.poptip-arrow-right {
-  right: -6px;
-}
-
-.poptip-arrow-right em {
-  left: -6px;
-}
-
-.poptip-arrow-right i {
-  left: -7px;
-}
-
-.ytg-search-more-content {
-  height: 0;
-  overflow: hidden;
-  transition: height .3s ease-out;
-}
-
-.ytg-search-more-content-auto {
-  height: auto;
-}
-
-/* 改变单元格背景色 */
-.plan_ht_time {
-  background-color: #ecf5ff;
-}
-
-.xs-ctt-mt-fm input {
-  padding: 0 10px;
-  /* background: red */
-}
-
-.xg-ytg-produce .el-table__expanded-cell[class*=cell] {
-  padding: 5px 30px;
-}
-
-.xs-qt-table .el-table .cell {
-  padding: 0 8px !important
-}
-
-.xs-qt-table.el-table .cell {
-  padding: 0 8px !important
-}
-
-.xs-c-p-p-lrb-edit .el-form-item__content,
-.xs-c-p-p-lrb-edit .el-form-item__label {
-  line-height: 26px;
-}
-
-.xs-c-p-p-lrb-edit .el-form-item {
-  margin-bottom: 0;
-}
-
-.xs-s-mm-process .el-tabs__content {
-  overflow: visible;
-}
-
-/*
- * xinsteel.sales css
- */
-.xs-lg-form .el-input--prefix .el-input__inner {
-  padding-left: 60px
-}
-
-.xs-lg-form .xs-lg-form-date .el-input__prefix {
-  left: 0.9rem;
-  top: 0;
-  font-size: 1rem;
-}
-
-/*
- * xinsteel.sales css
- */
-/*复制OA的router-link样式*/
-/* tabs */
-.st-tabs {
-  text-align: center;
-  padding: 15px 0;
-  border: 1px #ccc solid;
-}
-
-.st-tabs-li {
-  display: inline-block;
-  margin: 0 10px;
-  padding: 0 24px;
-  height: 34px;
-  line-height: 34px;
-  vertical-align: middle;
-  font-size: 14px;
-  color: #333;
-  text-align: center;
-  border: 1px solid #ccc;
-  background-color: #fff;
-  border-radius: 4px;
-  cursor: pointer;
-}
-
-.st-tabs-li:hover {
-  background-color: #f1f1f1;
-  text-decoration: none;
-  color: #666;
-}
-
-.st-tabs-li:focus {
-  text-decoration: none;
-}
-
-.st-tabs-li.router-link-active {
-  border-color: #4086ff;
-  background-color: #4086ff;
-  color: #fff;
-  cursor: default;
-}
-
-.st-tabs-li.router-link-active:hover {
-  background-color: #3D74FF;
-}
-
-/* 车间管理组批页面移动按钮 */
-.ytg-xd-button .el-button--mini {
-  padding: 5px 15px
-}
-
-/*根据设计要求做出以下修改:表格内的编辑控件高度调整为20px,效果为打钩状态和不打钩状态下表格的行高一致*/
-/*去掉表格内编辑控件的圆角*/
-.ctr-tec-table .el-input--small .el-input__inner {
-  height: 20px;
-}
-
-.ctr-tec-table .el-input__inner {
-  border-radius: 0;
-}
-
-.ctr-tec-table .el-input-group>.el-input__inner {
-  display: inline-block;
-}
-
-/* 去掉表格内编辑时间小图标 */
-.ctr-tec-table .el-input__icon {
-  display: none;
-}
-
-.ctr-tec-table .el-input__inner {
-  padding-left: 14px;
-}
-
-.ctr-tec-table1 .el-input__inner {
-  padding-left: 14px;
-}
-
-/* 技术要求输入下拉框 */
-/*ytg-s-m-mm-msc: 冶金规范管理Msc表格*/
-.ctr-tec-table .el-input__inner,
-.ytg-s-m-mm-msc .el-input__inner {
-  background: #FEFEC0;
-}
-
-.ctr-tec-table1 .el-input__inner,
-.ytg-s-m-mm-msc .el-input__inner {
-  background: #FEFEC0;
-}
-
-/*规范管理模块用的分页器样式*/
-.std-page {
-  padding: 20px 20px 0 20px;
-  text-align: right;
-}
-
-.el-form-item__content {
-  line-height: 28px;
-}
-
-/* 车间 探伤 编辑区 */
-.xs-j-flaw-edit .el-form-item__content,
-.xs-j-flaw-edit .el-form-item__label,
-.xs-j-flaw-edit .el-input__icon {
-  line-height: 26px;
-}
-
-.xs-j-flaw-edit .el-input__inner {
-  height: 26px;
-}
-
-.xs-j-flaw-edit .el-form-item {
-  margin-bottom: 0;
-}
-
-.ytg-s-mm-process .el-tabs__content {
-  overflow: visible;
-}
-
-/*冶金规范管理页面,交付标准和制成那一块不要有太多的层级,就是表格的左、下、右边框重合*/
-.ytg-s-mm-process .el-tabs__content {
-  padding: 0px;
-  margin: 10px -1px -1px -1px;
-}
-
-/* 加热炉入炉,出炉,吊销 */
-.xs-edit-table .el-input--suffix .el-input__inner {
-  padding-left: 10px;
-  padding-right: 10px;
-}
-.xg-heat-fur .el-input__icon {
-  line-height: 20px;
-  text-align: right;
-}
-
-.xs-edit-table .el-input__prefix .el-input__icon {
-  display: none;
-  /* line-height: 25px; */
-}
-
-/* 组批 */
-.el-table .xg-zhb-combine td {
-  background-color: skyblue !important;
-}
-
-/* 表格列高度 */
-/* .el-table .cell {
-  line-height: 12px !important;
-} */
-/* 计划模块表头样式 */
-.xs-s-mm-process .el-table thead.is-group th {
-  background-color: skyblue;
-}
-
-.xg-zhb-plan-edit .el-checkbox+.el-checkbox {
-  margin-left: 12px;
-}
-.xg-zhb-plan-long-edit .el-checkbox {
-  margin-right: 0
-}
-.xg-zhb-plan-long-edit .el-checkbox+.el-checkbox {
-  margin-left: 12px;
-}
-
-.xg-zhb-dialog .el-checkbox:first-child {
-  margin-left: 20px;
-}
-
-/* 生产订单管理行变色 */
-.xs-ctt-s .xg-zhb-prod-table td {
-  background-color: rgb(249, 255, 169) !important;
-}
-
-.xg-ytg-produce .el-table tr .cell {
-  padding: 0 2px !important;
-  line-height: 12px;
-  white-space: nowrap;
-  text-overflow:ellipsis;
-}
-
-/* .xg-ytg-produce thead {
-  line-height: 12px;
-} */
-
-/* .xg-ytg-produce .el-table th {
-  margin-left: 1px;
-} */
-.xg-ytg-produce .el-table td {
-  padding: 1px 0;
-}
-
-.xg-ytg-produce .el-checkbox__inner {
-  width: 12px;
-  height: 12px;
-}
-
-.xg-ytg-produce .el-checkbox__inner::after {
-  left: 3px;
-  top: 0;
-}
-
-.xg-ytg-produce .xg-ytg-line-hei.el-table td {
-  padding: 5px 0;
-}
-
-/* 计划,车间模块所有编辑区的高度调整 */
-.xg-ytg-produce .el-button--small {
-  padding: 3px 5px 4px 5px;
-}
-
-.xg-ytg-produce .el-input--small .el-input__inner {
-  height: 21px !important;
-  line-height: 21px;
-  padding: 0 5px;
-}
-
-.xg-ytg-produce .el-input-number--small .el-input-number__decrease,
-.xg-ytg-produce .el-input-number--small .el-input-number__increase {
-  line-height: 19px;
-}
-
-.xg-ytg-produce .el-form--inline .el-form-item {
-  margin-right: 0px;
-}
-
-.xg-ytg-produce .el-form-item {
-  margin-bottom: 0px;
-}
-
-.xg-ytg-produce .el-form-item__label {
-  padding-right: 4px
-}
-
-.xg-ytg-produce .el-icon-date,
-.xg-ytg-produce .el-icon-time {
-  display: none;
-}
-.xg-table-footer .el-table__footer tr {
-  height: 24px;
-}
-
-/* .xg-ytg-line-hei {
-  margin-left: 30px
-} */
-/* 轧制计划编制 */
-.ctr-tec-table.xg-zhb-heat .el-input__inner {
-  padding: 0 0 0 2px;
-}
-
-/* element-bigdata-table 表头对齐 颜XX */
-.vue-element-bigdata-table.el-table--scrollable-y:not(.el-table--scrollable-x) col[name="gutter"] {
-  width: 0 !important
-}
-
-.vue-element-bigdata-table.el-table--scrollable-y:not(.el-table--scrollable-x) th.gutter {
-  width: 0 !important
-}
-
-/* 短尺设计侧边划出框样式 */
-.zhb_slider .el-input--small .el-input__icon {
-  display: none
-}
-
-.zhb_slider .el-input--prefix .el-input__inner {
-  padding-left: 3px;
-  padding-right: 3px;
-}
-
-.zhb_slider .el-form-item {
-  margin-bottom: 2px;
-}
-
-.xs-qt-table .el-checkbox__inner {
-  transition: none;
-}
-
-.theCont .el-tabs__header {
-  margin: 0px;
-}
-
-.theCont .el-form-item {
-  margin-bottom: 0px;
-}
-
-.tableHear .el-table thead.is-group th {
-  background: #5BABE3;
-}
-
-.head .el-table__expanded-cell {
-  padding: 22px 20px 1px 20px;
-}
-
-/* .xg-ytg-tab-wid .el-table__body-wrapper, .xg-ytg-tab-wid .el-table__footer-wrapper, .xg-ytg-tab-wid .el-table__header-wrapper {
-  width: 80%;
-} */
-/* .xg-ytg-tab-wid.el-table {
-  width: 45%;
-} */
-.sl-content-main .el-tabs__header {
-  margin: 0
-}
-
-.design .el-tabs__nav {
-  transform: translateX(757px) ! important;
-}
-
-.td-overflow-tooltip {
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  text-align: center;
-  width: 140px;
-  /* position: relative; */
-  cursor: pointer;
-}
-
-.td-overflow-tooltip-box {
-  /* width: 150px; */
-  background: #333;
-  color: #fff;
-  position: absolute;
-  top: -46px;
-  left: 0;
-  z-index: 999;
-  display: none;
-  padding: 10px;
-  border-radius: 2px;
-  font-size: 12px;
-  /* white-space: normal; */
-}
-
-/* 原生表格自定义高亮当前行 */
-.zhb-highlighet-row td {
-  color: #3279e8;
-  background-color: #d3ddf5;
-  font-weight: bold;
-}
-
-.head-wrapper::-webkit-scrollbar-thumb:horizontal {
-  height: 0px;
-}
-
-.head-wrapper::-webkit-scrollbar {
-  height: 0px;
-}
-
-.origin-ul ul {
-  list-style: none;
-  display: none;
-  position: absolute;
-  border-radius: 3px;
-  background: #fff;
-  /* width: calc(100% - 8px); */
-  min-width: 130px;
-  border: 1px solid #cccccc;
-  z-index: 999;
-  max-height: 200px;
-  overflow: scroll;
-}
-
-.origin-ul ul li {
-  text-align: left;
-  padding: 3px 10px;
-  color: #000;
-  font-weight: 100;
-}
-
-.origin-ul ul li:hover {
-  background: skyblue;
-  color: #fff;
-  cursor: pointer;
-}
-
-.origin input,
-.origin select {
-  background: #FEFEC0;
-  width: 100%;
-  padding-left: 4px;
-  font-weight: 500;
-  color: #000;
-}
-
-.origin select {
-  appearance: none;
-  -moz-appearance: none;
-  -webkit-appearance: none;
-}
-
-.origin input {
-  /* border: none; */
-  outline: none;
-  border: 1px solid #aaa;
-  padding-top: 1px;
-  padding-bottom: 1px;
-}
-
-.origin-ul ul::-webkit-scrollbar {
-  /*滚动条整体样式*/
-  width: 8px;
-  /*高宽分别对应横竖滚动条的尺寸*/
-  height: 8px;
-}
-
-.origin-ul ul::-webkit-scrollbar-thumb {
-  /*滚动条里面小方块*/
-  border-radius: 2px;
-  background-color: #CCC;
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
-}
-
-.origin-ul ul::-webkit-scrollbar-track {
-  /*滚动条里面轨道*/
-  /* -webkit-box-shadow: inset 0 0 2px rgba(0,0,0,0.2); */
-  /*border-radius: 10px;*/
-  background: #FFF;
-}
-
-/* 计划,车间模块所有编辑区的高度调整 */
-.zhb-plan-box .el-button--small {
-  padding: 3px 5px 4px 5px;
-}
-
-.zhb-plan-box .el-input--small .el-input__inner {
-  height: 21px;
-  line-height: 21px;
-}
-
-.el-menu-item {
-  font-size: 12px !important;
-  height: 32px !important;
-  line-height: 32px !important;
-}
-
-.el-submenu__title {
-  font-size: 12px !important;
-  height: 42px !important;
-  line-height: 42px !important;
-}
-
-/* .el-table--striped .el-table__body tr.el-table__row--striped td {
-  background: #dcdfe6;
-} */
-.sl-menu.el-menu {
-  background-color: rgb(168, 230, 219);
-  /* color: #fff; */
-}
-
-.ytg-menu-level1>li>div.el-submenu__title {
-  padding-left: 26px !important;
-}
-
-/* 第一级菜单背景色 */
-.sl-menu.ytg-menu-level1 {
-  /* background-color: #45A4F9; */
-  background-color: #409EFF;
-  /* color: #fff */
-}
-
-.sl-menu.ytg-menu-level1>li>div.el-submenu__title {
-  color: #fff;
-}
-
-.sl-menu.ytg-menu-level1>li>div.el-submenu__title>i {
-  color: #fff;
-}
-
-/* 第二级菜单背景色 */
-.sl-menu.ytg-menu-level1>li>ul {
-  background-color: #fff;
-}
-
-/* 第二级打开菜单背景色 */
-.sl-menu.ytg-menu-level1>li>ul>li.is-opened {
-  background-color: #fff;
-}
-
-/* 第三级菜单背景色 */
-.sl-menu.ytg-menu-level1>li>ul>li>ul {
-  background-color: #fff;
-}
-
-/* 鼠标移入菜单背景色 */
-.sl-menu .el-submenu__title:hover,
-.sl-menu .el-menu-item:hover,
-.sl-menu.ytg-menu-level1>li>div.el-submenu__title:hover,
-.sl-menu.ytg-menu-level1>li>div.el-submenu__title:hover>i {
-  background-color: #ccf1ff;
-  color: #000;
-}
-
-/* 选中菜单背景色 */
-.ytg-menu-level1 .el-menu-item.is-active {
-  background-color: #fff;
-}
-
-/* 选中菜单背景色 */
-.ytg-menu-level1 .el-menu-item.is-active:hover {
-    background-color: #ccf1ff;
-    color: #000;
-}
-
-/* 短尺坯设计导入文件列表隐藏 */
-.zhb-plan-short-design .el-upload-list.el-upload-list--text {
-  display: none
-}
-
-input:-webkit-autofill {
-  -webkit-text-fill-color: #000 !important;
-  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
-  background-color: transparent !important;
-  background-image: none !important;
-  transition: background-color 50000s ease-in-out 0s !important;
-}
-
-/* input {
-  background-color:transparent !important;
-} */
-/* 长尺充当时间控件样式 */
-.zhb-ems-long-feed .el-input--small .el-input__inner {
-  padding-right: 0;
-}
-
-.zhb-ems-long-feed .el-input--prefix .el-input__inner {
-  padding-left: 20px;
-}
-
-.zhb-ems-long-feed .el-input__prefix {
-  left: 0
-}
-
-/* 长尺坯设计选中坯料变色 */
-.el-table--striped .el-table__body tr.el-table__row--striped.zhb-long-row-bgcolor td {
-  background-color: red;
-}
-
-.el-table__body tr.zhb-long-row-bgcolor>td {
-  background-color: red
-}
-
-/** 动态的给el-form-item添加红* **/
-.wBeforeItem label.el-form-item__label::before {
-  content: '*';
-  color: red;
-  margin-right: 4px;
-}
-
-/** 扩展行的div内的padding **/
-.WextendTr .el-table__expanded-cell[class*=cell] {
-  padding: 5px auto;
-}
-
-/* .WextendTr .el-table--border{
-  border-color: #fff;
-} */
-
-/*去掉 el-menu 的title*/
-.el-menu-item-group__title {
-  padding: 0 !important;
-}
-
-/* input-tooltip宽度调整(发运-可发量申报) 颜XX start*/
-.input-tooltip-item {
-  max-width: 50%;
-}
-/* input-tooltip宽度调整(发运-可发量申报) 颜XX end */
-/* 计划模块el-form-item宽度改变 */
-.xs-ct-bcm-edit .el-form-item, .xg-zhb-plan-edit .el-form-item {
-  width: 100%;
-}
-.xs-ct-bcm-edit .el-form-item__content {
-  width: calc(100% - 120px)
-}
-/* .xg-zhb-plan-edit .el-form-item__content {
-  width: calc(100% - 120px)
-} */
-.xg-zhb-trans-table .el-table__body tr.current-row>td {
-  color: #fff !important;
-  background-color: red !important;
-}
-/* el-tooltip 中pre样式修改,设置自动换行(合同头页面) 颜XX */
-pre.alpha_pre {
-  max-width: 880px;
-  white-space: pre-wrap;
-  word-wrap: break-word;
-}

+ 1722 - 0
src/assets/css/theme/myelement.css

@@ -0,0 +1,1722 @@
+/* main.vue页面中的tab栏切换时,我要改成什么样子的呢 */
+.mainvue .el-tabs__item {
+  font-size: 12px;
+  color: #999999;
+}
+/* 当前选中的tab有底部线条 */
+.mainvue.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable {
+  border-bottom: 2px solid #3A70EA!important;
+  color: #3a70ea;
+  height: 40px;
+  box-sizing: border-box;
+  line-height: 40px;
+}
+.el-tabs__header {
+  margin: 0px!important;
+}
+/* 不要底部线条了 */
+.mainvue.el-tabs--card>.el-tabs__header {
+  border-bottom: 0px solid #DFE2EA;
+}
+/* 标签页背景变白色 */
+.mainvue.el-tabs__header .is-top {
+  background-color: #fff;
+}
+.mainvue.el-tabs__nav-scroll {
+  background-color: #fff;
+  height: 40px;
+}
+/* 不要旁边左右两边的线条 */
+.mainvue.el-tabs--card>.el-tabs__header .el-tabs__item {
+  border-left: 0px solid #e4e7ed;
+}
+.icore-menu-lit {
+  font-size: 14px;
+  height: "";
+  line-height: 22px;
+}
+/* ------------------表单----------- */
+.el-input .el-input--suffix {
+  height: 32px;
+}
+.el-form-item__content {
+  line-height: 32px;
+  /* width: 192px; */
+}
+/* ------------------一级表格-------------- */
+.el-table__body tr.current-row>td {
+  background-color: white !important;
+}
+.purchmanager-main .el-table__row--striped.current-row td{
+  background: #f4f8fc !important;
+}
+.el-table .el-button+.el-button {
+  margin-left: 0;
+}
+.el-table .validFlag0 {
+  /* 无效数据 */
+  display: block;
+  float: left;
+  width: 8px;
+  height: 8px;
+  background: #F14444;
+  border-radius: 50%;
+  transform: translateY(79%);
+  margin-right: 8px;
+}
+.el-table .validFlag1 {
+  /* 有效数据 */
+  display: block;
+  float: left;
+  width: 8px;
+  height: 8px;
+  background: #67C33A;
+  border-radius: 50%;
+  transform: translateY(79%);
+  margin-right: 8px;
+}
+.el-table .bizStatus00 {
+  /* 待提报 */
+  display: block;
+  float: left;
+  width: 8px;
+  height: 8px;
+  background: #999999;
+  border-radius: 50%;
+  transform: translateY(79%);
+  margin-right: 8px;
+}
+.el-table .bizStatus01 {
+  /* 待确认 */
+  display: block;
+  float: left;
+  width: 8px;
+  height: 8px;
+  background: #dc8484;
+  border-radius: 50%;
+  transform: translateY(79%);
+  margin-right: 8px;
+}
+.el-table .bizStatus10 {
+  /* 待审核 */
+  display: block;
+  float: left;
+  width: 8px;
+  height: 8px;
+  background: #F3983E;
+  border-radius: 50%;
+  transform: translateY(79%);
+  margin-right: 8px;
+}
+.el-table .bizStatus20 {
+  /* 审批中 */
+  display: block;
+  float: left;
+  width: 8px;
+  height: 8px;
+  background: #bd8cbb;
+  border-radius: 50%;
+  transform: translateY(79%);
+  margin-right: 8px;
+}
+.el-table .bizStatus30 {
+  /* 审批退回 */
+  display: block;
+  float: left;
+  width: 8px;
+  height: 8px;
+  background: #F14444;
+  border-radius: 50%;
+  transform: translateY(79%);
+  margin-right: 8px;
+}
+.el-table .bizStatus40 {
+  /* 审批拒绝 */
+  display: block;
+  float: left;
+  width: 8px;
+  height: 8px;
+  background: #fa9707;
+  border-radius: 50%;
+  transform: translateY(79%);
+  margin-right: 8px;
+}
+.el-table .bizStatus50 {
+  /* 审批通过 */
+  display: block;
+  float: left;
+  width: 8px;
+  height: 8px;
+  background: #67C33A;
+  border-radius: 50%;
+  transform: translateY(79%);
+  margin-right: 8px;
+}
+.el-table::before {
+  height: 0;
+}
+.firstTable .el-table--fit {
+  border-bottom: 1px solid #DCDFE7;
+  box-sizing: border-box;
+}
+.secondTable .el-table--fit {
+  border: 1px solid #DCDFE7;
+  box-sizing: border-box;
+}
+.threeTable .el-table--fit {
+  border: 1px solid #DCDFE7;
+  box-sizing: border-box;
+}
+.firstTable .el-table__body tr.current-row>td {
+  background-color: ""!important;
+  font-size:14px!important;
+  font-weight:400!important;
+  color:rgba(241,68,68,1)!important;
+  line-height:22px!important;
+}
+.secondTable .el-table__body tr.current-row>td {
+  background-color: ""!important;
+  font-size:14px!important;
+  font-weight:400!important;
+  color:rgba(241,68,68,1)!important;
+  line-height:22px!important;
+}
+.threeTable .el-table__body tr.current-row>td {
+  background-color: ""!important;
+  font-size:14px!important;
+  font-weight:400!important;
+  color:rgba(241,68,68,1)!important;
+  line-height:22px!important;
+}
+.el-table__body tr.current-row>td {
+  /* background-color: rgba(211, 221, 245, 0)!important; */
+  /* background: none!important; */
+}
+.el-table--striped .el-table__body tr.el-table__row--striped.current-row td, .el-table__body tr.current-row>td, .el-table__body tr.hover-row.current-row>td, .el-table__body tr.hover-row.el-table__row--striped.current-row>td, .el-table__body tr.hover-row.el-table__row--striped>td, .el-table__body tr.hover-row>td {
+  /* background-color: none!important; */
+}
+.el-table .el-input__inner {
+  /* width: 87%; */
+}
+.el-select-dropdown__item {
+  position: relative;
+}
+.el-select-dropdown__item .el-button .el-button--text {
+  position: absolute;
+  height: 100%;
+}
+.el-select-dropdown__item span {
+  line-height: 0px!important;
+}
+.el-table .el-select {
+  width: 93%;
+}
+.table-show {
+  position: relative;
+  width: 16px;
+  height: 16px;
+}
+.table-show .table-showdata {
+  background: url("../../img/purchmanage/table-showdata.svg") no-repeat;
+  background-size: cover;
+  position: absolute;
+  float: left;
+  height: 16px;
+  width: 16px;
+  left: 0;
+  top: 50%;
+  transform: translateY(-31%);
+  /* padding-left: 16px; */
+}
+/* 查看文件 */
+.table-show .table-icon-sure {
+  background: url("../../img/purchmanage/table-icon-sure.svg") no-repeat;
+  background-size: cover;
+  position: absolute;
+  float: left;
+  height: 16px;
+  width: 16px;
+  left: 0;
+  top: 50%;
+  transform: translateY(-31%);
+  /* padding-left: 16px; */
+}
+.table-show .table-magin {
+  /* margin-left: 23px; */
+}
+.table-show .table-edit {
+  background: url("../../img/purchmanage/tree-edit.svg") no-repeat;
+  background-size: cover;
+  position: absolute;
+  float: left;
+  height: 16px;
+  width: 16px;
+  left: 0;
+  top: 50%;
+  transform: translateY(-31%);
+  /* padding-left: 16px; */
+}
+.table-show .table-edit-click {
+  background: url("../../img/purchmanage/table-edit-click.svg") no-repeat;
+  background-size: cover;
+  position: absolute;
+  float: left;
+  height: 16px;
+  width: 16px;
+  left: 0;
+  top: 50%;
+  transform: translateY(-31%);
+  /* padding-left: 16px; */
+}
+/* 提报 */
+.table-show .submit-table {
+  background: url("../../img/purchmanage/submit-table.svg") no-repeat;
+  background-size: cover;
+  position: absolute;
+  float: left;
+  height: 16px;
+  width: 16px;
+  left: 0;
+  top: 50%;
+  transform: translateY(-31%);
+  /* padding-left: 16px; */
+}
+/* 通过 */
+.table-show .sure-table {
+  background: url("../../img/purchmanage/sure-table.svg") no-repeat;
+  background-size: cover;
+  position: absolute;
+  float: left;
+  height: 16px;
+  width: 16px;
+  left: 0;
+  top: 50%;
+  transform: translateY(-31%);
+  /* padding-left: 16px; */
+}
+/* 退回 */
+.table-show .return-table {
+  background: url("../../img/purchmanage/return-table.svg") no-repeat;
+  background-size: cover;
+  position: absolute;
+  float: left;
+  height: 16px;
+  width: 16px;
+  left: 0;
+  top: 50%;
+  transform: translateY(-31%);
+  /* padding-left: 16px; */
+}
+/* 拒绝 */
+.table-show .nopass-table {
+  background: url("../../img/purchmanage/nopass-table.svg") no-repeat;
+  background-size: cover;
+  position: absolute;
+  float: left;
+  height: 16px;
+  width: 16px;
+  left: 0;
+  top: 50%;
+  transform: translateY(-31%);
+  /* padding-left: 16px; */
+}
+/* 删除 */
+.table-show .delete-table {
+  background: url("../../img/purchmanage/tree-stop.svg") no-repeat;
+  background-size: cover;
+  position: absolute;
+  float: left;
+  height: 16px;
+  width: 16px;
+  left: 0;
+  top: 50%;
+  transform: translateY(-31%);
+  /* padding-left: 16px; */
+}
+/* 退货 */
+.table-show .table-icon-tuihuo {
+  background: url("../../img/purchmanage/table-icon-tuihuo.svg") no-repeat;
+  background-size: cover;
+  position: absolute;
+  float: left;
+  height: 16px;
+  width: 16px;
+  left: 0;
+  top: 50%;
+  transform: translateY(-31%);
+  /* padding-left: 16px; */
+}
+/* 换货 */
+.table-show .table-icon-huanhuo {
+  background: url("../../img/purchmanage/table-icon-huanhuo.svg") no-repeat;
+  background-size: cover;
+  position: absolute;
+  float: left;
+  height: 16px;
+  width: 16px;
+  left: 0;
+  top: 50%;
+  transform: translateY(-31%);
+  /* padding-left: 16px; */
+}
+/* 报修 */
+.table-show .table-icon-baoxiu {
+  background: url("../../img/purchmanage/table-icon-baoxiu.svg") no-repeat;
+  background-size: cover;
+  position: absolute;
+  float: left;
+  height: 16px;
+  width: 16px;
+  left: 0;
+  top: 50%;
+  transform: translateY(-31%);
+  /* padding-left: 16px; */
+}
+.el-table td .el-checkbox {
+}
+.el-table td .el-checkbox__input {
+  /* margin-left: 16px; */
+}
+.firstTable {
+  border-bottom: 1px solid #DCDFE7;
+  box-sizing: border-box;
+}
+.firstTable.el-table th{
+  height: 48px!important;
+  background-color: #F0F7FF!important;
+  border-top: 2px solid #6596F7;
+  box-sizing: border-box;
+}
+.firstTable.el-table th>.cell {
+  font-size: 14px;
+  color: #101010;
+  letter-spacing: 0;
+  line-height: 22px;
+  width: calc(100% - 16px);
+  font-weight: bold;
+}
+.firstTable.el-table td .cell {
+  width: calc(100% - 16px)!important;
+}
+.firstTable.el-table td {
+  height: 48px!important;
+  font-size: 14px;
+  color: #333333;
+  letter-spacing: 0;
+  line-height: 22px;
+  width: calc(100% - 16px);
+}
+.el-table td, .el-table th {
+  padding: 0!important;
+}
+/* 。。。。。。。。。。。二级表格。。。。。。。。。。 */
+.secondTable.el-table th{
+  height: 48px!important;
+  background-color: #F0F7FF!important;
+}
+/* 写二级表格 */
+.secondTable.el-table th{
+  height: 48px!important;
+  background-color: #F0F7FF!important;
+  /* border-top: 2px solid #6596F7; */
+  box-sizing: border-box;
+}
+.secondTable.el-table th>.cell {
+  font-size: 14px;
+  color: #101010;
+  letter-spacing: 0;
+  line-height: 22px;
+  width: calc(100% - 16px);
+  font-weight: bold;
+}
+.secondTable.el-table td .cell {
+  width: calc(100% - 16px)!important;
+}
+.secondTable.el-table td {
+  height: 48px!important;
+  font-size: 14px;
+  color: #333333;
+  letter-spacing: 0;
+  line-height: 22px;
+  width: calc(100% - 16px);
+}
+/* 写三级表格 */
+.threeTable {
+  margin-top: 16px;
+  border: 1px solid #DCDFE7;
+  box-sizing: border-box;
+}
+.threeTable.el-table th{
+  height: 48px!important;
+  background-color: #F0F7FF!important;
+  /* border-top: 2px solid #6596F7; */
+  box-sizing: border-box;
+}
+.threeTable.el-table th>.cell {
+  font-size: 14px;
+  color: #101010;
+  letter-spacing: 0;
+  line-height: 22px;
+  width: calc(100% - 16px);
+  font-weight: bold;
+}
+.threeTable.el-table td .cell {
+  width: calc(100% - 16px)!important;
+}
+.threeTable.el-table td {
+  height: 48px!important;
+  font-size: 14px;
+  color: #333333;
+  letter-spacing: 0;
+  line-height: 22px;
+  width: calc(100% - 16px);
+}
+.el-table--striped .el-table__body tr.el-table__row--striped td {
+  background: #F4F8FC;
+}
+.el-table .el-checkbox__inner {
+  width: 16px;
+  height: 16px;
+}
+.el-table .el-checkbox__inner::after {
+  /* display: inline-block;
+  position: relative;
+  border: 0px solid #FFF;
+  height: 7px;
+  left: 4px;
+  border-radius: 50%; */
+}
+.el-table td, .el-table th.is-leaf {
+  /* border-bottom: 1px solid #DCDFE7; */
+}
+.firstTable.el-table th {
+  border-bottom: 1px solid #DCDFE7;
+  box-sizing: border-box;
+}
+.secondTable.el-table th {
+  border-bottom: 1px solid #DCDFE7;
+  box-sizing: border-box;
+}
+.threeTable.el-table th {
+  border-bottom: 1px solid #DCDFE7;
+  box-sizing: border-box;
+}
+.el-table th {
+  border-bottom: 1px solid #DCDFE7;
+  box-sizing: border-box;
+}
+/* ------------标题部分------------ */
+.purchmanager-title {
+  width: 100%;
+  background-color: #fff;
+  float: left;
+}
+.ytg-ps-title {
+  height: 14px;
+  line-height: 14px;
+  border-left: 3px solid red;
+  /* border-left: 3px solid #70baf2; */
+  padding-left: 5px;
+  /* background-color: #fafafa; */
+  /* box-shadow: 0 -2px 12px 0 rgba(0, 0, 0, 0.1); */
+  position: relative;
+  transform: translate(0,38%);
+}
+.ytg-ps-title .title-button-right {
+  float: right;
+  margin-right: 17px;
+  margin-top: -3px;
+}
+.ytg-ps-title .title-button-left {
+  padding-left: 69px;
+  margin-top: -17px;
+}
+.el-button:hover {
+  background: "";
+}
+.el-button--primary.is-active, .el-button--primary:active {
+  background: "";
+}
+.el-button:active {
+  border-color: none;
+}
+/* .purchmanager-button-search {
+  float: left!important;
+  padding-left: 24px;
+} */
+.purchmanager-button-work {
+  float: left!important;
+  /* padding-left: 12px; */
+}
+/* .purchmanager-button-search .el-button {
+  width: 81px!important;
+  height: 32px!important;
+  line-height: 32px!important;
+  padding: 0!important;
+} */
+.purchmanager-button-work .el-button {
+  background-color: #0C2278!important;
+  /* background-color: #5E72E4!important; */
+  width: 81px!important;
+  height: 32px!important;
+  line-height: 32px!important;
+  padding: 0!important;
+}
+.button-query {
+  background: url("../../img/images/materialmanage/u421.svg") no-repeat 7px 9px;
+  /* background: url("../../img/images/warehouseConfig/u1395.svg") no-repeat 5px 5px; */
+}
+.purchmanager-button-add {
+  /* background-color: #fff!important;
+  border-color: #fff!important; */
+  background-color: transparent!important;
+  border-color: transparent!important;
+  padding-left: 6px;
+}
+.purchmanager-button-edit {
+  /* background-color: #fff!important;
+  border-color: #fff!important; */
+  background-color: transparent!important;
+  border-color: transparent!important;
+  padding-left: 6px;
+}
+/* 新增按钮 */
+.purchmanager-button-add {
+  display: block;
+  height: 19px!important;
+  width: 19px!important;
+  float: left;
+  background: url("../../img/purchmanage/tree-add.svg") no-repeat;
+  background-size: cover;
+  position: absolute;
+  left: 0;
+  top: 50%;
+  transform: translateY(-46%);
+}
+/* 上传按钮 */
+.tree-upload {
+  display: block;
+  height: 19px!important;
+  width: 19px!important;
+  float: left;
+  background: url("../../img/purchmanage/tree-upload.svg") no-repeat;
+  background-size: cover;
+  position: absolute;
+  left: 0;
+  top: 50%;
+  transform: translateY(-46%);
+}
+/* 修改按钮 */
+.el-button.purchmanager-button-edit.el-button--text {
+  margin-left: 40px;
+}
+.purchmanager-button-edit {
+  display: block;
+  height: 19px;
+  width: 19px;
+  float: left;
+  background: url("../../img/purchmanage/tree-edit.svg") no-repeat;
+  position: absolute;
+  left: 0;
+  top: 50%;
+  transform: translateY(-46%);
+}
+/* 提交 */
+.purchmanager-button-submit {
+  display: block;
+  height: 19px;
+  width: 19px;
+  float: left;
+  background: url("../../img/purchmanage/submit-table.svg") no-repeat;
+  position: absolute;
+  left: 0;
+  top: 50%;
+  transform: translateY(-46%);
+}
+.purchmanager-button-return {
+  display: block;
+  height: 19px;
+  width: 19px;
+  float: left;
+  background: url("../../img/purchmanage/return-table.svg") no-repeat;
+  position: absolute;
+  left: 0;
+  top: 50%;
+  transform: translateY(-46%);
+}
+/* 树停用按钮 */
+.el-button.purchmanager-button-stop.el-button--text {
+  margin-left: 72px;
+}
+.inlent {
+  margin-left: 16px!important;
+}
+.purchmanager-button-stop {
+  display: block;
+  height: 19px;
+  width: 19px;
+  float: left;
+  background: url("../../img/purchmanage/tree-stop.svg") no-repeat;
+  position: absolute;
+  left: 0;
+  top: 50%;
+  transform: translateY(-46%);
+}
+.el-button.purchmanager-button-use.el-button--text {
+  margin-left: 72px;
+}
+/* 树启用按钮 */
+.purchmanager-button-use {
+  display: block;
+  height: 19px;
+  width: 19px;
+  float: left;
+  background: url("../../img/purchmanage/tree-use.svg") no-repeat;
+  position: absolute;
+  left: 0;
+  top: 50%;
+  transform: translateY(-46%);
+}
+/* -------------------------树形结构数据------------------------- */
+.firstTree {
+  border-top: 2px solid #6596F7;
+  box-sizing: border-box;
+}
+.el-checkbox__label {
+  padding-left: 6px;
+}
+.el-input--mini .el-input__inner {
+  min-height: 32px!important;
+  line-height: 32px!important;
+}
+/* --------------------------标题部分------------- */
+.title-left {
+  border-right: 2px solid #DCDFE7;
+  box-sizing: border-box;
+  float: left;
+}
+.title-right {
+  float: right;
+  /* padding-right: 16px;
+  padding-left: 8px; */
+  padding: 20px 24px;
+}
+.title-main {
+  /* margin: 20px 16px 16px 0px; */
+  position: relative;
+}
+.purchmanager-title .titlebar {
+  height: 32px;
+  margin: 20px 24px;
+  overflow: hidden;
+  position: relative;
+}
+.purchmanager-title .titlebar .titlesvg {
+  background: url(../../img/purchmanage/icore-titlebar.svg);
+  display: block;
+  width: 16px;
+  height: 16px;
+  float: left;
+  position: absolute;
+  top: 50%;
+  transform: translateY(-50%);
+  left: 0;
+}
+.purchmanager-title .titlebar .titletext {
+  font-size: 16px;
+  color: #101010;
+  letter-spacing: 0;
+  line-height: 32px;
+  margin-left: 22px;
+  font-weight: bold;
+}
+/* 分割线 */
+.purchmanager-title .titlebar .titledivider {
+  width: 100%;
+  height: 1px;
+  background-color: #DCDFE7;
+  float: left;
+  position: absolute;
+  top: 50%;
+  margin-left: 16px;
+}
+.purchmanager-title .titlebar .titledivider-right {
+  width: 38%;
+  height: 1px;
+  background-color: #DCDFE7;
+  float: left;
+  position: absolute;
+  top: 50%;
+  /* padding-left: 12px; */
+}
+/* 右边的 */
+.el-button {
+  box-sizing: border-box;
+}
+.titlebar-right {
+  height: 32px;
+  width: 100%;
+  display: flex;
+}
+.titlebar-right .titlesvg {
+  background: url(../../img/purchmanage/icore-titlebar.svg);
+  width: 16px;
+  height: 16px;
+  margin-top: 8px;
+}
+.titlebar-right .titletext {
+  width: auto;
+  height: 28px;
+  font-size: 16px;
+  color: #101010;
+  letter-spacing: 0;
+  line-height: 32px;
+  margin-left: 8px;
+  font-weight: bold;
+}
+/* 分割线 */
+.titlebar-right .titledivider {
+  height: 1px;
+  background-color: #DCDFE7;
+  /* float: left;
+  position: absolute; */
+  /* top: 50%; */
+  margin-left: 16px;
+  flex: 1;
+}
+.titlebar-right .titlebar-search {
+  width: 637px;
+  display: flex;
+}
+.titlebar-search .selects .el-input__inner {
+  padding: 0px 0px 0px 15px;
+  /* width: 155px; */
+}
+.titlebar-right .titledivider-right {
+  height: 1px;
+  background-color: #DCDFE7;
+  margin-left: 16px;
+  margin-right: 16px;
+  flex: 1;
+  margin-top: 16px;
+}
+/* ---------头部按钮区域---------- */
+.purchmanager-title .el-button {
+  padding: 0;
+  cursor: pointer;
+}
+.titlebutton-query .el-checkbox__label {
+  margin-left: 1px!important;
+}
+.titlebutton-query .el-button {
+  /* padding: 0px 16px 0px 12px!important; */
+  /* padding: 5px 16px 5px 12px!important; */
+}
+.titlebutton-query .check-group .el-checkbox.is-bordered.el-checkbox--small {
+  padding: 6px 16px 5px 12px;
+}
+.titlebutton-query .el-checkbox__label {
+  margin-left: 6px;
+}
+.titlebutton-query .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label {
+  font-size: 14px;
+  color: #333333;
+  letter-spacing: 0;
+  text-align: center;
+  line-height: 15px;
+}
+.purchmanager-title .titlebutton {
+  height: 32px;
+  margin-top: 22px;
+  overflow: hidden;
+  position: relative;
+  margin-left: 24px;
+  margin-right: 24px;
+}
+.purchmanager-title .titlebutton2 {
+  height: 32px;
+  margin-top: 22px;
+  overflow: hidden;
+  position: relative;
+}
+.titlebutton3 {
+  height: 32px;
+  margin-top: 20px;
+  overflow: hidden;
+  position: relative;
+}
+.titlebutton-query {
+  height: 32px;
+  overflow: hidden;
+  position: relative;
+  padding-left: 16px;
+  /* width: 316px; */
+}
+/* 操作按钮 新增、修改、*/
+.purchmanager-title .person-button {
+  height: 32px;
+  background-color: #3A70EA;
+  font-size: 14px;
+  color: #FFFFFF;
+  position: relative;
+  padding: 5px 16px 5px 12px;
+  /* line-height: 20px; */
+}
+/* 作废按钮 */
+.purchmanager-title .person-stop {
+  /* background: #FFF2F0; */
+  /* border: 1px solid #FF7570; */
+  color: #FF7570;
+  border-radius: 3px;
+  border-radius: 3px;
+  box-sizing: border-box;
+  height: 32px;
+  font-size: 12px;
+  position: relative;
+  padding: 2px 16px 1px 12px!important;
+  margin-left: 5px!important;
+  /* line-height: 20px; */
+}
+/* 启用按钮 */
+.purchmanager-title .person-use {
+  /* background: #F7FFF0; */
+  /* border: 1px solid #88CF5F; */
+  color: #88CF5F;
+  border-radius: 3px;
+  border-radius: 3px;
+  box-sizing: border-box;
+  height: 32px;
+  font-size: 12px;
+  position: relative;
+  margin-left: 5px!important;
+  padding: 2px 16px 1px 12px!important;
+  /* line-height: 20px; */
+}
+.el-button+.el-button {
+  margin-left: ""!important;
+}
+/* 查询按钮 */
+.titlebutton-query .person-button {
+  height: 32px;
+  background-color: #3A70EA;
+  font-size: 14px;
+  color: #FFFFFF;
+  position: relative;
+  margin-left: 8px;
+  line-height: 4px;
+  padding: 5px 16px 5px 12px;
+}
+/* 重置按钮 */
+.titlebutton-query .person-resherf {
+  height: 32px;
+  background-color: #fff;
+  font-size: 12px;
+  color: #666666;
+  position: relative;
+  padding: 5px 16px 4px 12px;
+  margin-left: 5px!important;
+  /* line-height: 20px; */
+}
+/* 新增按钮 图标*/
+.purchmanager-title .person-button .button-add {
+  width: 14px;
+  height: 14px;
+  left: 12px;
+  position: absolute;
+  top: 50%;
+  transform: translateY(-50%);
+  background: url(../../img/purchmanage/button-add.svg) center center no-repeat;
+  background-size: cover;
+}
+.purchmanager-title .person-button .scondBot-edit {
+  width: 14px;
+  height: 14px;
+  left: 12px;
+  position: absolute;
+  top: 50%;
+  transform: translateY(-50%);
+  background: url(../../img/purchmanage/scondBot-edit.svg) center center no-repeat;
+  background-size: cover;
+}
+.purchmanager-title .person-button .goback {
+  width: 14px;
+  height: 14px;
+  left: 12px;
+  position: absolute;
+  top: 50%;
+  transform: translateY(-50%);
+  background: url(../../img/purchmanage/goback.svg) center center no-repeat;
+  background-size: cover;
+}
+/* 作废按钮 图标 */
+.purchmanager-title .person-stop .button-stop {
+  width: 14px;
+  height: 14px;
+  left: 12px;
+  position: absolute;
+  top: 50%;
+  transform: translateY(-50%);
+  background: url(../../img/purchmanage/button-stop.svg) center center no-repeat;
+  background-size: cover;
+}
+/* 启用按钮 图标 */
+.purchmanager-title .person-use .button-use {
+  width: 14px;
+  height: 14px;
+  left: 12px;
+  position: absolute;
+  top: 50%;
+  transform: translateY(-50%);
+  background: url(../../img/purchmanage/button-use.svg) center center no-repeat;
+  background-size: cover;
+}
+/* 查询按钮 图标*/
+.person-button .button-query {
+  width: 14px;
+  height: 14px;
+  left: 12px;
+  position: absolute;
+  top: 50%;
+  transform: translateY(-50%);
+  background: url(../../img/purchmanage/button-edit.svg) center center no-repeat;
+  background-size: cover;
+}
+/* 重置按钮 图标*/
+.person-resherf .button-resherf {
+  width: 14px;
+  height: 14px;
+  left: 12px;
+  position: absolute;
+  top: 50%;
+  transform: translateY(-50%);
+  background: url(../../img/purchmanage/button-resherf.svg) center center no-repeat;
+  background-size: cover;
+}
+.showbutton {
+  height: 32px;
+  overflow: hidden;
+  position: relative;
+}
+.showbutton .person-button {
+  height: 32px;
+  background-color: #3A70EA;
+  font-size: 14px;
+  color: #FFFFFF;
+  position: relative;
+  /* padding: 12px 16px 5px 5px; */
+  padding: 9px 16px 8px 5px;
+  overflow: hidden;
+  /* line-height: 20px; */
+}
+.showbutton .person-button .button-add {
+  width: 14px;
+  height: 14px;
+  left: 12px;
+  position: absolute;
+  top: 50%;
+  transform: translateY(-50%);
+  background: url(../../img/purchmanage/button-add.svg) center center no-repeat;
+  background-size: cover;
+}
+.showbutton .button-text {
+  /* top: 50%;
+  transform: translateY(16%); */
+  /* display: block; */
+  margin-left: 24px;
+  font-size: 14px;
+  line-height: 6px;
+  letter-spacing: 1px;
+}
+.el-icon-loading {
+  float: right;
+  margin-left: 4px;
+}
+.dig-sure-button .el-icon-loading{
+  margin-top: -3px;
+  margin-right: -9px!important;
+}
+.el-button [class*=el-icon-]+span {
+  margin-left: 0px;
+}
+.dig-sure-button.el-button [class*=el-icon-]+span {
+  margin-right: 5px!important;
+}
+.showbutton .el-button [class*=el-icon-]+span {
+  margin-left: 0px!important;
+}
+/* 其他按钮字体颜色 */
+.purchmanager-title .button-text {
+  /* top: 50%;
+  transform: translateY(16%); */
+  display: block;
+  margin-left: 26px;
+  font-size: 14px;
+  line-height: 6px;
+  letter-spacing: 1px;
+}
+.purchmanager-title .button-type {
+  display: block;
+  margin-left: 20px;
+  font-size: 14px;
+  line-height: 6px;
+  letter-spacing: 1px;
+}
+.button-text2 {
+  /* top: 50%;
+  transform: translateY(16%); */
+  display: block;
+  margin-left: 20px;
+  font-size: 14px;
+  line-height: 32px;
+  letter-spacing: 1px;
+}
+/* 作废字体颜色 */
+.purchmanager-title .person-stop .button-text {
+  color: #F14444;
+  top: 50%;
+  display: block;
+  padding-left: 14px;
+  letter-spacing: 1px;
+}
+/* 启用字体颜色 */
+.purchmanager-title .person-use .button-text {
+  color: #67C33A;
+  top: 50%;
+  display: block;
+  padding-left: 14px;
+  letter-spacing: 1px;
+}
+/* 已选择多少条数据字体颜色 */
+.change-text {
+  font-size: 12px;
+  color: #3A70EA;
+  letter-spacing: 0;
+  text-align: center;
+  line-height: 20px;
+  top: 50%;
+  transform: translateY(-50%);
+  position: absolute;
+  padding-left: 16px;
+}
+/* .purchmanager-title .person-button .button-text {
+  top: 50%;
+  transform: translateY(16%);
+  display: block;
+  padding-left: 14px;
+} */
+/* .titlebutton-query .person-button .button-text {
+  top: 50%;
+  transform: translateY(16%);
+  display: block;
+  padding-left: 14px;
+} */
+/* -------------------form表单---------------------- */
+.form-paddingRight {
+  padding-right: 50px;
+}
+.query-form {
+  /* width: 360px; */
+  display: flex;
+  float: left;
+  margin-top: -2px;
+}
+.query-form .el-input__inner {
+  font-size: 14px;
+}
+.query-form .el-form-item__content {
+  width: 100%;
+  height: 32px;
+}
+.query-form .el-input__inner {
+  height: 32px;
+}
+.query-form .el-select .el-input .el-select__caret {
+  line-height: 32px;
+}
+.query-form .el-input-group__append, .el-input-group__prepend {
+  background-color: #fff;
+  font-size: 14px;
+  color: #333333;
+  letter-spacing: 0;
+  line-height: 22px;
+}
+/* 上面是页面查询时的,下面这个是表单的 */
+.purchmanager-form {
+  padding-right: 24px!important;
+}
+.purchmanager-form .el-form-item__content {
+  width: 192px;
+}
+.el-tree-node__content>.el-tree-node__expand-icon {
+  padding: 0;
+  padding-right: 6px;
+}
+.el-tree-node:focus .el-tree-node__content, .el-tree-node__content:hover, .el-tree .is-current .el-tree-node__content {
+  background-color: #f0f7ff;
+}
+.check-group {
+  float: left;
+}
+.check-group .el-checkbox.is-bordered.el-checkbox--small {
+  padding: 7px 15px 5px 10px;
+}
+.check-group .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner {
+  width: 14px;
+  height: 14px;
+  border-radius: 50%;
+}
+.check-group .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after {
+  height: 7px;
+  width: 4px;
+}
+/* 不过滤状态 */
+.search-doFilter1 {
+  width: 30px;
+  height: 30px;
+  display: block;
+  /* left: 12px;
+  position: absolute; */
+  top: 50%;
+  transform: translateY(0%);
+  background: url(../../img/purchmanage/do-filter1.svg) center center no-repeat;
+  background-size: cover;
+  margin-top: 3px;
+  float: left;
+  cursor: pointer;
+}
+/* 过滤状态 */
+.search-doFilter2 {
+  width: 30px;
+  height: 30px;
+  display: block;
+  /* left: 12px;
+  position: absolute; */
+  top: 50%;
+  transform: translateY(0%);
+  background: url(../../img/purchmanage/do-filter2.svg) center center no-repeat;
+  background-size: cover;
+  margin-top: 3px;
+  float: left;
+  cursor: pointer;
+}
+.search-clearFilter {
+  width: 30px;
+  height: 30px;
+  display: block;
+  /* left: 12px;
+  position: absolute; */
+  top: 50%;
+  transform: translateY(0%);
+  background: url(../../img/purchmanage/clear-filter.svg) center center no-repeat;
+  background-size: cover;
+  margin-top: 3px;
+  margin-left: 16px;
+  float: left;
+  cursor: pointer;
+}
+/* ---------------弹出框样式--------------- */
+.el-dialog {
+  border-radius: 4px;
+}
+.el-dialog .el-dialog__header {
+  height: 56px;
+  background: #0C2278;
+  border-radius: 4px 4px 0 0;
+  color: #fff;
+  padding: 14px 24px!important;
+}
+.el-dialog__header {
+  padding: 0!important;
+}
+.dialog-title {
+  /* padding: 14px 24px; */
+  padding-bottom: 0;
+  height: 31px;
+  line-height: 31px;
+}
+.title-text {
+  font-size: 16px;
+  color: #FFFFFF;
+  letter-spacing: 0;
+  line-height: 28px;
+}
+.el-dialog__footer {
+  height: 56px;
+  padding: 12px 24px;
+  background: #FFFFFF;
+  box-shadow: 0 -2px 8px 0 rgba(0,0,0,0.06);
+  border-radius: 0 0 4px 4px;
+  border-radius: 0px 0px 4px 4px;
+}
+.el-dialog__body {
+  /* padding: 16px 24px 23px 24px; */
+  overflow: hidden;
+  padding: 24px;
+}
+.dig-sure-button {
+  margin-left: 14px!important;
+}
+.el-input__inner {
+  background: #FFFFFF;
+  border: 1px solid #DCDFE7;
+  box-sizing: border-box;
+  border-radius: 4px;
+}
+.el-form-item__label {
+  /* color: #333333; */
+  font-size: 14px;
+  color: #333333;
+  letter-spacing: 0;
+  text-align: right;
+  line-height: 22px;
+}
+.button-right {
+  float: right;
+}
+.title-showall {
+  width: 20px;
+  height: 20px;
+  display: block;
+  top: 50%;
+  transform: translateY(24%);
+  background: url(../../img/purchmanage/showall.svg) center center no-repeat;
+  background-size: cover;
+  /* margin-top: 3px; */
+  margin-right: 32px;
+  cursor: pointer;
+  float: left;
+}
+.title-cancelall {
+  width: 20px;
+  height: 20px;
+  display: block;
+  top: 50%;
+  transform: translateY(24%);
+  background: url(../../img/purchmanage/cancelall.svg) center center no-repeat;
+  background-size: cover;
+  /* margin-top: 3px; */
+  margin-right: 32px;
+  cursor: pointer;
+  float: left;
+}
+.title-close {
+  width: 20px;
+  height: 20px;
+  display: block;
+  top: 50%;
+  transform: translateY(24%);
+  background: url(../../img/purchmanage/close.svg) center center no-repeat;
+  background-size: cover;
+  /* margin-top: 3px; */
+  cursor: pointer;
+  float: left;
+}
+@keyframes rotate {
+  0%{
+    transform:rotate(0deg);
+    -ms-transform:rotate(0deg);     /* IE 9 */
+    -moz-transform:rotate(0deg);    /* Firefox */
+    -o-transform:rotate(0deg);
+  }
+  100% {
+    transform:rotate(360deg);
+    -ms-transform:rotate(360deg);   /* IE 9 */
+    -moz-transform:rotate(360deg);  /* Firefox */
+    -o-transform:rotate(360deg);
+  }
+}
+@-webkit-keyframes rotate {
+  0%{
+    -moz-transform:rotate(0deg);
+  }
+  100%{
+    -moz-transform:rotate(360deg);
+  }
+}
+.title-close:hover {
+  width: 20px;
+  height: 20px;
+  -webkit-animation: rotate 1.8s linear infinite;
+}
+.item-text {
+  display: block;
+  float: left;
+  font-size: 14px;
+  color: #333333;
+  letter-spacing: 0;
+  text-align: right;
+  line-height: 22px;
+  padding: 4px 9px 4px 9px;
+  background: #F5F7FA;
+  border: 1px solid #DCDFE7;
+  box-sizing: border-box;
+  border-radius: 0 4px 4px 0;
+  border-radius: 0px 4px 4px 0px;
+}
+.el-button.is-disabled, .el-button.is-disabled:focus, .el-button.is-disabled:hover {
+  /* background-color: none;
+  color: #ffffff; */
+  background-color: #3A70EA;
+  font-size: 14px;
+  color: #FFFFFF;
+}
+/* 新页面新增 */
+.el-container.is-vertical {
+  /* padding-bottom: 28px; */
+}
+.titlebutton2 .person-button {
+  height: 32px;
+  background-color: #3A70EA;
+  font-size: 14px;
+  color: #FFFFFF;
+  position: relative;
+  padding: 5px 16px 5px 12px;
+  /* padding: 12px 16px 5px 5px; */
+  /* line-height: 20px; */
+}
+/* 新增 */
+.titlebutton2 .person-button .button-add {
+  width: 14px;
+  height: 14px;
+  left: 12px;
+  position: absolute;
+  top: 50%;
+  transform: translateY(-50%);
+  background: url(../../img/purchmanage/button-add.svg) center center no-repeat;
+  background-size: cover;
+}
+.titlebutton2 .button-text {
+  /* top: 50%;
+  transform: translateY(16%); */
+  display: block;
+  margin-left: 26px;
+  font-size: 14px;
+  line-height: 6px;
+  letter-spacing: 1px;
+}
+.marsk .el-checkbox__label {
+  font-size: 14px;
+  color: #333333;
+}
+.marsk {
+  /* float: right; */
+  margin-left: -16px;
+  margin-right: -16px;
+  margin-top: -12px;
+  margin-bottom: -12px;
+}
+.cover {
+  width: 100%;
+  height: 100%;
+  z-index: 199;
+  background-color: rgba(0, 0, 0, .25);
+  position:absolute;
+}
+.cover2 {
+  width: 100%;
+  height: 100%;
+  z-index: 299;
+  background-color: rgba(0, 0, 0, .25);
+  position:absolute;
+}
+.el-header {
+  height: 56px!important;
+  padding: 0px!important;
+}
+.el-main {
+  padding: 0px!important;
+  overflow-x: hidden;
+}
+.el-footer {
+  height: 56px!important;
+  padding: 0px!important;
+  box-shadow: 0 -2px 8px 0 rgba(0,0,0,0.06);
+  border-radius: 0px 0px 4px 4px;
+}
+.sui-slider-form {
+  overflow-x: hidden;
+}
+/* 头部 */
+.sui-slider-title {
+  height: 56px;
+  background: #0C2278;
+  border-radius: 4px 4px 0 0;
+  width: 100%;
+  z-index: 1;
+}
+.sui-slider-title-text {
+  font-size: 16px;
+  color: #FFFFFF;
+  letter-spacing: 0;
+  line-height: 32px;
+}
+.sui-slider-title > h2 {
+  padding-left: 24px;
+  padding-top: 0px;
+  font-size: 16px;
+  color: #fff;
+  text-align: left;
+}
+.title-close {
+  /* transform: translateY(-50%);
+  top: 50%; */
+}
+.sui-slider-title-x:hover {
+  transform: translateY(-45%);
+  top: 33%;
+}
+.sui-slider-title-x {
+  right: 24px!important;
+  top: 50%;
+  transform: translateY(-50%);
+}
+.el-table .el-button--text {
+  font-size: 14px;
+  /* color: #F14444; */
+  letter-spacing: 0;
+  text-align: center;
+  line-height: 22px;
+}
+.el-input-group__prepend {
+  width: auto;
+}
+.sui-title-padding {
+  height: 56px;
+  padding: 14px 24px;
+}
+.table-show .el-button--text {
+  width: 16px;
+  height: 16px;
+  text-align: left;
+}
+/* 橙色 */
+.F3983E {
+  height: 48px;
+  line-height: 48px;
+  padding: 4px 8px;
+  font-size: 12px;
+  color: #F3983E;
+  letter-spacing: 0;
+  border: 1px solid #F3983E;
+  box-sizing: border-box;
+  border-radius: 3px;
+  background: #FFFFFF;
+}
+/* 蓝色 */
+.F0F7FF {
+  height: 48px;
+  line-height: 48px;
+  padding: 4px 8px;
+  font-size: 12px;
+  color: #3A70EA;
+  letter-spacing: 0;
+  border: 1px solid #3A70EA;
+  box-sizing: border-box;
+  border-radius: 3px;
+  background: #F0F7FF;
+}
+/* 绿色 */
+.f67C33A {
+  height: 48px;
+  line-height: 48px;
+  padding: 4px 8px;
+  font-size: 12px;
+  color: #67C33A;
+  letter-spacing: 0;
+  border: 1px solid #67C33A;
+  box-sizing: border-box;
+  border-radius: 3px;
+  background: #F7FFF0;
+}
+/* 青色 */
+.f01C1B2 {
+  height: 48px;
+  line-height: 48px;
+  padding: 4px 8px;
+  font-size: 12px;
+  color: #01C1B2;
+  letter-spacing: 0;
+  border: 1px solid #01C1B2;
+  box-sizing: border-box;
+  border-radius: 3px;
+  background: #E6FFF9;
+}
+/* 紧急程度 */
+/* 红色 */
+.F14444 {
+  height: 48px;
+  line-height: 48px;
+  padding: 4px 8px;
+  font-size: 12px;
+  color: #F14444;
+  letter-spacing: 0;
+  border: 1px solid #F14444;
+  box-sizing: border-box;
+  border-radius: 3px;
+  background: #FFF2F0;
+}
+/* 详情 */
+.showTop {
+  /* background: #3A70EA; */
+  border-top: 6px solid #3A70EA;
+  border-radius: 4px 4px 0 0;
+  box-sizing: border-box;
+}
+.showTop .showTop-tontent {
+  padding: 24px;
+}
+/* 菜单 */
+.el-submenu__title {
+  font-size: 14px;
+}
+/* 菜单每个列高度为50px */
+.el-menu-item {
+  font-size: 14px !important;
+  height: 50px !important;
+  line-height: 50px !important;
+}
+/* 子tabs栏 */
+.child-tabs .el-tabs__item {
+  height: 40px!important;
+  line-height: 40px!important;
+}
+.child-tabs.el-tabs--border-card {
+  border: 0!important;
+}
+.el-tabs--border-card>.el-tabs__content {
+  padding: 0px;
+}
+.child-tabs.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active {
+  border-right-color: #DCDFE7!important;
+  border-left-color: #DCDFE7!important;
+  font-size: 14px;
+  color: #3A70EA;
+  letter-spacing: 0;
+  line-height: 22px;
+  font-weight: bold;
+  border-top: 0;
+  border-top: 2px solid #3A70EA!important;
+  box-sizing: content-box;
+}
+.child-tabs.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover {
+  font-size: 14px;
+  color: #3A70EA;
+  letter-spacing: 0;
+  line-height: 22px;
+  font-weight: bold;
+}
+.el-tabs--border-card>.el-tabs__header {
+  background-color: #F4F8FC;
+  border-bottom: 1px solid #DCDFE7!important;
+  border-top: 1px solid #DCDFE7!important;
+  box-sizing: border-box;
+}
+.child-tabs.el-tabs--border-card>.el-tabs__header .el-tabs__item {
+  font-size: 14px;
+  color: #333333;
+  letter-spacing: 0;
+  text-align: center;
+  line-height: 22px;
+}
+body .el-table th.gutter{
+  display: table-cell!important;
+}
+/* 添加 */
+.icon-jia-copy {
+  margin-right: 6px;
+  font-size: 13px;
+}
+/* 回退、撤销 */
+.icon-huitui1 {
+  margin-right: 6px;
+  font-size: 13px;
+  color: #ffffffe3;
+}
+/* 停用 */
+.icon-tingyong {
+  margin-right: 6px;
+  font-size: 13px;
+}
+/* 启用 */
+.icon-qiyong {
+  margin-right: 6px;
+  font-size: 13px;
+}
+/* 搜索 */
+.icon-sousuo-copy {
+  margin-right: 6px;
+  font-size: 13px;
+}
+/* 重置 */
+.icon-shuaxinzhongzhi {
+  margin-right: 6px;
+  font-size: 13px;
+}
+/* 编辑 */
+.icon-bianji-copy {
+  margin-right: 6px;
+  font-size: 13px;
+}
+/* 返回 */
+.icon-fanhui-copy {
+  margin-right: 6px;
+  font-size: 13px;
+}
+/* 付款 */
+.icon-fukuan-copy {
+  margin-right: 6px;
+  font-size: 13px;
+}
+/* 签收 */
+.icon-qianshou-copy {
+  margin-right: 6px;
+  font-size: 13px;
+}
+/* 提报 */
+.icon-shenpi-copy {
+  margin-right: 6px;
+  font-size: 13px;
+  color: #fff;
+}
+/* 退货 */
+.icon-tuihuo-copy {
+  font-size: 13px;
+  color: #3A70EA!important;
+}
+/* 文件上传 */
+.icon-wenjianshangchuan-copy {
+  font-size: 13px;
+  color: #3A70EA;
+}
+.td-overflow .cell span{
+  white-space: nowrap;
+  text-overflow:ellipsis;
+  overflow: hidden;
+}
+.el-select-dropdown {
+  position: absolute!important;
+}
+.el-picker-panel .el-date-picker .el-popper {
+  position: absolute!important;
+}
+.organizManage-main {
+  position: relative;
+  min-width: 1200px;
+}
+.organizManage-mainLeft {
+  width: 20%;
+  float: left;
+}
+.organizManage-mainRight {
+  width: 80%;
+  float: left;
+}
+.el-select-dropdown__item.selected {
+  position: relative;
+}
+.el-select-dropdown__item .el-button--text {
+  position: absolute;
+  width: 93%;
+  text-align: left;
+  height: 34px;
+}

+ 539 - 0
src/assets/iconfont/demo.css

@@ -0,0 +1,539 @@
+/* Logo 字体 */
+@font-face {
+  font-family: "iconfont logo";
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
+}
+
+.logo {
+  font-family: "iconfont logo";
+  font-size: 160px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+/* tabs */
+.nav-tabs {
+  position: relative;
+}
+
+.nav-tabs .nav-more {
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  height: 42px;
+  line-height: 42px;
+  color: #666;
+}
+
+#tabs {
+  border-bottom: 1px solid #eee;
+}
+
+#tabs li {
+  cursor: pointer;
+  width: 100px;
+  height: 40px;
+  line-height: 40px;
+  text-align: center;
+  font-size: 16px;
+  border-bottom: 2px solid transparent;
+  position: relative;
+  z-index: 1;
+  margin-bottom: -1px;
+  color: #666;
+}
+
+
+#tabs .active {
+  border-bottom-color: #f00;
+  color: #222;
+}
+
+.tab-container .content {
+  display: none;
+}
+
+/* 页面布局 */
+.main {
+  padding: 30px 100px;
+  width: 960px;
+  margin: 0 auto;
+}
+
+.main .logo {
+  color: #333;
+  text-align: left;
+  margin-bottom: 30px;
+  line-height: 1;
+  height: 110px;
+  margin-top: -50px;
+  overflow: hidden;
+  *zoom: 1;
+}
+
+.main .logo a {
+  font-size: 160px;
+  color: #333;
+}
+
+.helps {
+  margin-top: 40px;
+}
+
+.helps pre {
+  padding: 20px;
+  margin: 10px 0;
+  border: solid 1px #e7e1cd;
+  background-color: #fffdef;
+  overflow: auto;
+}
+
+.icon_lists {
+  width: 100% !important;
+  overflow: hidden;
+  *zoom: 1;
+}
+
+.icon_lists li {
+  width: 100px;
+  margin-bottom: 10px;
+  margin-right: 20px;
+  text-align: center;
+  list-style: none !important;
+  cursor: default;
+}
+
+.icon_lists li .code-name {
+  line-height: 1.2;
+}
+
+.icon_lists .icon {
+  display: block;
+  height: 100px;
+  line-height: 100px;
+  font-size: 42px;
+  margin: 10px auto;
+  color: #333;
+  -webkit-transition: font-size 0.25s linear, width 0.25s linear;
+  -moz-transition: font-size 0.25s linear, width 0.25s linear;
+  transition: font-size 0.25s linear, width 0.25s linear;
+}
+
+.icon_lists .icon:hover {
+  font-size: 100px;
+}
+
+.icon_lists .svg-icon {
+  /* 通过设置 font-size 来改变图标大小 */
+  width: 1em;
+  /* 图标和文字相邻时,垂直对齐 */
+  vertical-align: -0.15em;
+  /* 通过设置 color 来改变 SVG 的颜色/fill */
+  fill: currentColor;
+  /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
+      normalize.css 中也包含这行 */
+  overflow: hidden;
+}
+
+.icon_lists li .name,
+.icon_lists li .code-name {
+  color: #666;
+}
+
+/* markdown 样式 */
+.markdown {
+  color: #666;
+  font-size: 14px;
+  line-height: 1.8;
+}
+
+.highlight {
+  line-height: 1.5;
+}
+
+.markdown img {
+  vertical-align: middle;
+  max-width: 100%;
+}
+
+.markdown h1 {
+  color: #404040;
+  font-weight: 500;
+  line-height: 40px;
+  margin-bottom: 24px;
+}
+
+.markdown h2,
+.markdown h3,
+.markdown h4,
+.markdown h5,
+.markdown h6 {
+  color: #404040;
+  margin: 1.6em 0 0.6em 0;
+  font-weight: 500;
+  clear: both;
+}
+
+.markdown h1 {
+  font-size: 28px;
+}
+
+.markdown h2 {
+  font-size: 22px;
+}
+
+.markdown h3 {
+  font-size: 16px;
+}
+
+.markdown h4 {
+  font-size: 14px;
+}
+
+.markdown h5 {
+  font-size: 12px;
+}
+
+.markdown h6 {
+  font-size: 12px;
+}
+
+.markdown hr {
+  height: 1px;
+  border: 0;
+  background: #e9e9e9;
+  margin: 16px 0;
+  clear: both;
+}
+
+.markdown p {
+  margin: 1em 0;
+}
+
+.markdown>p,
+.markdown>blockquote,
+.markdown>.highlight,
+.markdown>ol,
+.markdown>ul {
+  width: 80%;
+}
+
+.markdown ul>li {
+  list-style: circle;
+}
+
+.markdown>ul li,
+.markdown blockquote ul>li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown>ul li p,
+.markdown>ol li p {
+  margin: 0.6em 0;
+}
+
+.markdown ol>li {
+  list-style: decimal;
+}
+
+.markdown>ol li,
+.markdown blockquote ol>li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown code {
+  margin: 0 3px;
+  padding: 0 5px;
+  background: #eee;
+  border-radius: 3px;
+}
+
+.markdown strong,
+.markdown b {
+  font-weight: 600;
+}
+
+.markdown>table {
+  border-collapse: collapse;
+  border-spacing: 0px;
+  empty-cells: show;
+  border: 1px solid #e9e9e9;
+  width: 95%;
+  margin-bottom: 24px;
+}
+
+.markdown>table th {
+  white-space: nowrap;
+  color: #333;
+  font-weight: 600;
+}
+
+.markdown>table th,
+.markdown>table td {
+  border: 1px solid #e9e9e9;
+  padding: 8px 16px;
+  text-align: left;
+}
+
+.markdown>table th {
+  background: #F7F7F7;
+}
+
+.markdown blockquote {
+  font-size: 90%;
+  color: #999;
+  border-left: 4px solid #e9e9e9;
+  padding-left: 0.8em;
+  margin: 1em 0;
+}
+
+.markdown blockquote p {
+  margin: 0;
+}
+
+.markdown .anchor {
+  opacity: 0;
+  transition: opacity 0.3s ease;
+  margin-left: 8px;
+}
+
+.markdown .waiting {
+  color: #ccc;
+}
+
+.markdown h1:hover .anchor,
+.markdown h2:hover .anchor,
+.markdown h3:hover .anchor,
+.markdown h4:hover .anchor,
+.markdown h5:hover .anchor,
+.markdown h6:hover .anchor {
+  opacity: 1;
+  display: inline-block;
+}
+
+.markdown>br,
+.markdown>p>br {
+  clear: both;
+}
+
+
+.hljs {
+  display: block;
+  background: white;
+  padding: 0.5em;
+  color: #333333;
+  overflow-x: auto;
+}
+
+.hljs-comment,
+.hljs-meta {
+  color: #969896;
+}
+
+.hljs-string,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-strong,
+.hljs-emphasis,
+.hljs-quote {
+  color: #df5000;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type {
+  color: #a71d5d;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute {
+  color: #0086b3;
+}
+
+.hljs-section,
+.hljs-name {
+  color: #63a35c;
+}
+
+.hljs-tag {
+  color: #333333;
+}
+
+.hljs-title,
+.hljs-attr,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+  color: #795da3;
+}
+
+.hljs-addition {
+  color: #55a532;
+  background-color: #eaffea;
+}
+
+.hljs-deletion {
+  color: #bd2c00;
+  background-color: #ffecec;
+}
+
+.hljs-link {
+  text-decoration: underline;
+}
+
+/* 代码高亮 */
+/* PrismJS 1.15.0
+https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+code[class*="language-"],
+pre[class*="language-"] {
+  color: black;
+  background: none;
+  text-shadow: 0 1px white;
+  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+  text-align: left;
+  white-space: pre;
+  word-spacing: normal;
+  word-break: normal;
+  word-wrap: normal;
+  line-height: 1.5;
+
+  -moz-tab-size: 4;
+  -o-tab-size: 4;
+  tab-size: 4;
+
+  -webkit-hyphens: none;
+  -moz-hyphens: none;
+  -ms-hyphens: none;
+  hyphens: none;
+}
+
+pre[class*="language-"]::-moz-selection,
+pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection,
+code[class*="language-"] ::-moz-selection {
+  text-shadow: none;
+  background: #b3d4fc;
+}
+
+pre[class*="language-"]::selection,
+pre[class*="language-"] ::selection,
+code[class*="language-"]::selection,
+code[class*="language-"] ::selection {
+  text-shadow: none;
+  background: #b3d4fc;
+}
+
+@media print {
+
+  code[class*="language-"],
+  pre[class*="language-"] {
+    text-shadow: none;
+  }
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+  padding: 1em;
+  margin: .5em 0;
+  overflow: auto;
+}
+
+:not(pre)>code[class*="language-"],
+pre[class*="language-"] {
+  background: #f5f2f0;
+}
+
+/* Inline code */
+:not(pre)>code[class*="language-"] {
+  padding: .1em;
+  border-radius: .3em;
+  white-space: normal;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+  color: slategray;
+}
+
+.token.punctuation {
+  color: #999;
+}
+
+.namespace {
+  opacity: .7;
+}
+
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+  color: #905;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+  color: #690;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+  color: #9a6e3a;
+  background: hsla(0, 0%, 100%, .5);
+}
+
+.token.atrule,
+.token.attr-value,
+.token.keyword {
+  color: #07a;
+}
+
+.token.function,
+.token.class-name {
+  color: #DD4A68;
+}
+
+.token.regex,
+.token.important,
+.token.variable {
+  color: #e90;
+}
+
+.token.important,
+.token.bold {
+  font-weight: bold;
+}
+
+.token.italic {
+  font-style: italic;
+}
+
+.token.entity {
+  cursor: help;
+}

+ 260 - 0
src/assets/iconfont/demo_index.html

@@ -0,0 +1,260 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8"/>
+  <title>IconFont Demo</title>
+  <link rel="shortcut icon" href="https://gtms04.alicdn.com/tps/i4/TB1_oz6GVXXXXaFXpXXJDFnIXXX-64-64.ico" type="image/x-icon"/>
+  <link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
+  <link rel="stylesheet" href="demo.css">
+  <link rel="stylesheet" href="iconfont.css">
+  <script src="iconfont.js"></script>
+  <!-- jQuery -->
+  <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
+  <!-- 代码高亮 -->
+  <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
+</head>
+<body>
+  <div class="main">
+    <h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">&#xe86b;</a></h1>
+    <div class="nav-tabs">
+      <ul id="tabs" class="dib-box">
+        <li class="dib active"><span>Unicode</span></li>
+        <li class="dib"><span>Font class</span></li>
+        <li class="dib"><span>Symbol</span></li>
+      </ul>
+      
+    </div>
+    <div class="tab-container">
+      <div class="content unicode" style="display: block;">
+          <ul class="icon_lists dib-box">
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe697;</span>
+                <div class="name">启用</div>
+                <div class="code-name">&amp;#xe697;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6a3;</span>
+                <div class="name">停用</div>
+                <div class="code-name">&amp;#xe6a3;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6d0;</span>
+                <div class="name">回退</div>
+                <div class="code-name">&amp;#xe6d0;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6e0;</span>
+                <div class="name">加1</div>
+                <div class="code-name">&amp;#xe6e0;</div>
+              </li>
+          
+          </ul>
+          <div class="article markdown">
+          <h2 id="unicode-">Unicode 引用</h2>
+          <hr>
+
+          <p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
+          <ul>
+            <li>兼容性最好,支持 IE6+,及所有现代浏览器。</li>
+            <li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
+            <li>但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。</li>
+          </ul>
+          <blockquote>
+            <p>注意:新版 iconfont 支持多色图标,这些多色图标在 Unicode 模式下将不能使用,如果有需求建议使用symbol 的引用方式</p>
+          </blockquote>
+          <p>Unicode 使用步骤如下:</p>
+          <h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3>
+<pre><code class="language-css"
+>@font-face {
+  font-family: 'iconfont';
+  src: url('iconfont.eot');
+  src: url('iconfont.eot?#iefix') format('embedded-opentype'),
+      url('iconfont.woff2') format('woff2'),
+      url('iconfont.woff') format('woff'),
+      url('iconfont.ttf') format('truetype'),
+      url('iconfont.svg#iconfont') format('svg');
+}
+</code></pre>
+          <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
+<pre><code class="language-css"
+>.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+</code></pre>
+          <h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
+<pre>
+<code class="language-html"
+>&lt;span class="iconfont"&gt;&amp;#x33;&lt;/span&gt;
+</code></pre>
+          <blockquote>
+            <p>"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
+          </blockquote>
+          </div>
+      </div>
+      <div class="content font-class">
+        <ul class="icon_lists dib-box">
+          
+          <li class="dib">
+            <span class="icon iconfont icon-qiyong"></span>
+            <div class="name">
+              启用
+            </div>
+            <div class="code-name">.icon-qiyong
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-tingyong"></span>
+            <div class="name">
+              停用
+            </div>
+            <div class="code-name">.icon-tingyong
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-huitui1"></span>
+            <div class="name">
+              回退
+            </div>
+            <div class="code-name">.icon-huitui1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-jia-copy"></span>
+            <div class="name">
+              加1
+            </div>
+            <div class="code-name">.icon-jia-copy
+            </div>
+          </li>
+          
+        </ul>
+        <div class="article markdown">
+        <h2 id="font-class-">font-class 引用</h2>
+        <hr>
+
+        <p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p>
+        <p>与 Unicode 使用方式相比,具有如下特点:</p>
+        <ul>
+          <li>兼容性良好,支持 IE8+,及所有现代浏览器。</li>
+          <li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
+          <li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
+          <li>不过因为本质上还是使用的字体,所以多色图标还是不支持的。</li>
+        </ul>
+        <p>使用步骤如下:</p>
+        <h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3>
+<pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt;
+</code></pre>
+        <h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
+<pre><code class="language-html">&lt;span class="iconfont icon-xxx"&gt;&lt;/span&gt;
+</code></pre>
+        <blockquote>
+          <p>"
+            iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
+        </blockquote>
+      </div>
+      </div>
+      <div class="content symbol">
+          <ul class="icon_lists dib-box">
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-qiyong"></use>
+                </svg>
+                <div class="name">启用</div>
+                <div class="code-name">#icon-qiyong</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-tingyong"></use>
+                </svg>
+                <div class="name">停用</div>
+                <div class="code-name">#icon-tingyong</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-huitui1"></use>
+                </svg>
+                <div class="name">回退</div>
+                <div class="code-name">#icon-huitui1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-jia-copy"></use>
+                </svg>
+                <div class="name">加1</div>
+                <div class="code-name">#icon-jia-copy</div>
+            </li>
+          
+          </ul>
+          <div class="article markdown">
+          <h2 id="symbol-">Symbol 引用</h2>
+          <hr>
+
+          <p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
+            这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p>
+          <ul>
+            <li>支持多色图标了,不再受单色限制。</li>
+            <li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li>
+            <li>兼容性较差,支持 IE9+,及现代浏览器。</li>
+            <li>浏览器渲染 SVG 的性能一般,还不如 png。</li>
+          </ul>
+          <p>使用步骤如下:</p>
+          <h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3>
+<pre><code class="language-html">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;
+</code></pre>
+          <h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3>
+<pre><code class="language-html">&lt;style&gt;
+.icon {
+  width: 1em;
+  height: 1em;
+  vertical-align: -0.15em;
+  fill: currentColor;
+  overflow: hidden;
+}
+&lt;/style&gt;
+</code></pre>
+          <h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
+<pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt;
+  &lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt;
+&lt;/svg&gt;
+</code></pre>
+          </div>
+      </div>
+
+    </div>
+  </div>
+  <script>
+  $(document).ready(function () {
+      $('.tab-container .content:first').show()
+
+      $('#tabs li').click(function (e) {
+        var tabContent = $('.tab-container .content')
+        var index = $(this).index()
+
+        if ($(this).hasClass('active')) {
+          return
+        } else {
+          $('#tabs li').removeClass('active')
+          $(this).addClass('active')
+
+          tabContent.hide().eq(index).fadeIn()
+        }
+      })
+    })
+  </script>
+</body>
+</html>

File diff suppressed because it is too large
+ 0 - 2
src/assets/iconfont/iconfont.css


BIN
src/assets/iconfont/iconfont.eot


File diff suppressed because it is too large
+ 0 - 0
src/assets/iconfont/iconfont.js


+ 37 - 0
src/assets/iconfont/iconfont.json

@@ -0,0 +1,37 @@
+{
+  "id": "",
+  "name": "",
+  "font_family": "iconfont",
+  "css_prefix_text": "icon-",
+  "description": "",
+  "glyphs": [
+    {
+      "icon_id": "53073309",
+      "name": "启用",
+      "font_class": "qiyong",
+      "unicode": "e697",
+      "unicode_decimal": 59031
+    },
+    {
+      "icon_id": "53073321",
+      "name": "停用",
+      "font_class": "tingyong",
+      "unicode": "e6a3",
+      "unicode_decimal": 59043
+    },
+    {
+      "icon_id": "53419956",
+      "name": "回退",
+      "font_class": "huitui1",
+      "unicode": "e6d0",
+      "unicode_decimal": 59088
+    },
+    {
+      "icon_id": "54317769",
+      "name": "加1",
+      "font_class": "jia-copy",
+      "unicode": "e6e0",
+      "unicode_decimal": 59104
+    }
+  ]
+}

File diff suppressed because it is too large
+ 2 - 2
src/assets/iconfont/iconfont.svg


BIN
src/assets/iconfont/iconfont.ttf


BIN
src/assets/iconfont/iconfont.woff


BIN
src/assets/iconfont/iconfont.woff2


BIN
src/assets/img/Artboard.png


BIN
src/assets/img/custlogo.jpg


BIN
src/assets/img/default-bg.png


BIN
src/assets/img/download.png


BIN
src/assets/img/favicon.ico


BIN
src/assets/img/func/func_w.png


BIN
src/assets/img/hnst_logo.png


BIN
src/assets/img/icons.png


BIN
src/assets/img/icons/icons-add.png


BIN
src/assets/img/icons/icons-arrow-left.png


BIN
src/assets/img/icons/icons-arrow-right.png


BIN
src/assets/img/icons1.png


BIN
src/assets/img/icore-shown-desc.png


BIN
src/assets/img/icore-shown-frame.png


BIN
src/assets/img/icore-shown-psw.png


BIN
src/assets/img/icore-shown-user.png


BIN
src/assets/img/icore-shown.png


File diff suppressed because it is too large
+ 3 - 0
src/assets/img/images/header/u15.svg


+ 6 - 0
src/assets/img/images/header/u16.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="5px" height="6px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -30 -85 )">
+    <path d="M 3.90247618333333 4.93684210526315  L 0.111238100000008 4.93684210526315  L 0.111238100000008 1.11969924342105  C 0.111238100000008 0.544661644736848  0.563504766666654 0.0778947368421115  1.12060951666666 0.0778947368421115  L 2.90285714999999 0.0778947368421115  C 3.45508571666667 0.0778947368421115  3.9024762 0.545864654605268  3.90247618333333 1.11969924342105  L 3.90247618333333 4.93684210526315  Z " fill-rule="nonzero" fill="#7586e6" stroke="none" transform="matrix(1 0 0 1 30 85 )" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/header/u20.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="18px" height="16px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -23 -128 )">
+    <path d="M 17.3935514177453 15.0727889778228  C 17.643210160979 14.6486996554725  17.643210160979 14.1355749986905  17.3911037891269 13.7138286878723  L 12.8654271654507 6.21611681966797  L 11.9230877792422 7.83281094377561  L 15.7805601379148 14.2292963913319  L 12.4003765530713 14.2386685253242  L 13.3427159392798 15.7405539421282  L 13.3427159392798 15.7475830470156  L 16.1648387855966 15.7475830470156  C 16.6739468048953 15.7475830470156  17.1414450458931 15.4945352710683  17.3935514177453 15.0727889778228  Z M 1.79477524123323 14.2574128108816  L 3.5521769767004 11.3403342826004  L 1.64791715697811 11.3731367603599  L 0.235631919510471 13.7091426296625  C -0.0164744523417291 14.130888922908  -0.0164744523417291 14.6440135796899  0.235631919510471 15.0657598729354  C 0.492633566956929 15.4804770612935  0.957684160979053 15.7405539421282  1.46434455165921 15.7405539421282  L 10.5108025417745 15.7405539421282  L 9.57091080254177 14.2433546011067  L 1.79477524123323 14.2574128108816  Z M 8.78766768039539 2.63361635618637  L 10.5108025417745 5.4897759695856  L 11.4531419096258 3.8683957872682  L 10.0335137679454 1.52536081307819  C 9.7814073960932 1.10595754893761  9.31146152647682 0.845880668102904  8.80969639303365 0.845880685675663  C 8.30548363097199 0.845880685675663  7.83798540833137 1.10361453740548  7.58587903647917 1.52536081307819  L 3.06509767004001 9.03010180374266  L 4.95956695693104 8.99729930841043  L 8.78766768039539 2.63361635618637  Z " fill-rule="nonzero" fill="#32325d" stroke="none" transform="matrix(1 0 0 1 23 128 )" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/header/u23.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="8px" height="12px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -221 -129 )">
+    <path d="M 7.79750032812501 6.4258231484375  C 7.839994625 6.38499753645831  7.86249159374998 6.33503113932292  7.891493078125 6.28829233984376  C 7.89950275000001 6.27407605729169  7.91248487500002 6.26217577604166  7.91950006249999 6.24749137760418  C 8.05700846875001 5.98531560156252  8.01198762499999 5.66450074479167  7.768498859375 5.45364647135418  L 2.24899879687499 0.668205440104174  C 1.94799087499999 0.407409404947913  1.47351162500001 0.419777816406253  1.18849617187502 0.695258250000023  C 0.903991406250015 0.971182178385419  0.917000406250025 1.40612149088543  1.21800832812502 1.66738565624999  L 6.17051471875001 5.96195851953124  L 1.23749495312498 10.3202459322917  C 0.939497375000002 10.5837768138021  0.930493203124996 11.0187407617188  1.21800832812502 11.2923733385417  C 1.36500470312501 11.43261434375  1.56151054687498 11.5027594817708  1.75801639062502 11.5027594817708  C 1.94551807812502 11.5027594817708  2.13301975000002 11.4386014375  2.27851095312499 11.3102607135417  L 7.748017734375 6.47805626171873  C 7.75852707812498 6.46842269661457  7.76250503125002 6.45514267447916  7.773014375 6.44506562890626  C 7.78102404687502 6.43819155989581  7.78951753125 6.43314071223958  7.79750032812501 6.4258231484375  Z " fill-rule="nonzero" fill="#cfd5db" stroke="none" transform="matrix(1 0 0 1 221 129 )" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/header/u30.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="271px" height="2px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 0 -60 )">
+    <path d="M 0 60.5  L 270 60.5  " stroke-width="1" stroke="#f2f2f2" fill="none" />
+  </g>
+</svg>

File diff suppressed because it is too large
+ 3 - 0
src/assets/img/images/header/u37.svg


File diff suppressed because it is too large
+ 8 - 0
src/assets/img/images/header/u4.svg


File diff suppressed because it is too large
+ 3 - 0
src/assets/img/images/header/u48.svg


File diff suppressed because it is too large
+ 3 - 0
src/assets/img/images/header/u61.svg


+ 6 - 0
src/assets/img/images/header/u62.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="2px" height="2px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -37 -1238 )">
+    <path d="M 1.99090909090909 1.58409090909091  C 1.99090909090909 1.76590909090909  1.84318181818182 1.91136363636364  1.66363636363636 1.91136363636364  L 0.370454545454547 1.91136363636364  C 0.190909090909093 1.91136363636364  0.0431818181818203 1.76590909090909  0.0431818181818203 1.58409090909091  L 0.0431818181818203 0.427272727272729  C 0.0431818181818203 0.247727272727275  0.188636363636365 0.100000000000002  0.370454545454547 0.100000000000002  C 0.550000000000001 0.100000000000002  0.697727272727274 0.245454545454547  0.697727272727274 0.427272727272729  L 0.697727272727274 1.25681818181818  L 1.66363636363636 1.25681818181818  C 1.84318181818182 1.25681818181818  1.99090909090909 1.40227272727273  1.99090909090909 1.58409090909091  Z " fill-rule="nonzero" fill="#3259ce" stroke="none" transform="matrix(1 0 0 1 37 1238 )" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/header/u63.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="9px" height="8px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -33 -1236 )">
+    <path d="M 8.85610465116279 3.93953488372093  C 8.85610465116279 6.10232558139535  6.87558139534884 7.86279069767442  4.44244186046511 7.86279069767442  C 2.00930232558139 7.86279069767442  0.0287790697674395 6.10232558139535  0.0287790697674395 3.93953488372093  C 0.0287790697674395 1.77674418604652  2.00930232558139 0.0162790697674429  4.44244186046511 0.0162790697674429  C 6.87558139534884 0.0162790697674429  8.85610465116279 1.77674418604651  8.85610465116279 3.93953488372093  Z M 8.10523255813953 3.93953488372093  C 8.10523255813953 2.14418604651163  6.46220930232558 0.68372093023256  4.44244186046511 0.68372093023256  C 2.42267441860465 0.68372093023256  0.779651162790696 2.14418604651163  0.779651162790696 3.93953488372093  C 0.779651162790696 5.73488372093024  2.42267441860465 7.1953488372093  4.44244186046511 7.1953488372093  C 6.46220930232558 7.1953488372093  8.10523255813953 5.73488372093024  8.10523255813953 3.93953488372093  Z " fill-rule="nonzero" fill="#3259ce" stroke="none" transform="matrix(1 0 0 1 33 1236 )" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/header/u7.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="16px" height="15px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -1165 -23 )">
+    <path d="M 0.123076923076951 7.04081632653062  C 0.121848515586635 4.18941758409014  1.67801980149898 1.56255655912257  4.18599384615391 0.182497959183678  C 4.30289286309153 0.118014669340667  4.4343599928909 0.0841812166699754  4.56802461538473 0.0841812166699754  C 5.00314479385315 0.0841812166699754  5.35587939247534 0.435116148972639  5.35587939247534 0.868016326530608  C 5.35587939247534 1.15291796271052  5.20049947379061 1.41538589489859  4.95005538461533 1.55353469387755  C 2.94295527259123 2.65732441960057  1.69745211012514 4.75919413340138  1.69846153846152 7.04081632653062  C 1.69846153846152 10.5034775510204  4.51958153846158 13.3102040816327  8 13.3102040816327  C 11.4804184615384 13.3102040816327  14.3015384615385 10.5034775510204  14.3015384615385 7.04081632653062  C 14.3015384615385 4.80852244897959  13.1199999999999 2.78076734693877  11.2287507692308 1.65580408163265  C 10.9909327869948 1.5143099670092  10.8453342031112 1.25890153311857  10.8453342031112 0.983216326530609  C 10.8453342031112 0.550401390007977  11.1979993458542 0.199535559217651  11.6330338461539 0.199535559217651  C 11.7754098349017 0.199535559217651  11.9151238686516 0.237927601188716  12.037316923077 0.310628571428566  C 14.4196216666351 1.7243235192015  15.8782643088769 4.28108024281794  15.876923076923 7.04081632653062  C 15.876923076923 11.3690448979592  12.3504246153846 14.8775510204082  8 14.8775510204082  C 3.64957538461545 14.8775510204082  0.123076923076951 11.3690448979592  0.123076923076951 7.04081632653062  Z " fill-rule="nonzero" fill="#ffffff" stroke="none" transform="matrix(1 0 0 1 1165 23 )" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/header/u77.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="15px" height="17px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -24 -625 )">
+    <path d="M 10.8135950616483 7.11404092937375  L 10.8135950616483 8.89975154454531  L 8.32170667748215 8.89975154454531  L 8.32170667748215 11.5783174777658  L 6.66044776119403 11.5783174777658  L 6.66044776119403 8.89975154454531  L 4.1685593770279 8.89975154454531  L 4.1685593770279 7.11404092937375  L 6.3165671641791 7.11404092937375  L 4.20427645035691 4.84350988028928  L 5.37878649578196 3.58101246345592  L 7.5018753990915 5.86225777627327  L 9.61416613238157 3.5926195894753  L 10.7886761778066 4.85422414402216  L 8.68718365347177 7.11404092937375  L 10.8135950616483 7.11404092937375  Z M 13.3054834458144 2  L 1.67667099286178 2  L 1.67667099286178 15.1881315143868  L 7.49107722907203 15.1881315143868  L 7.49107722907203 16.9738421295584  L 0.846041524983776 16.9738421295584  C 0.387297544717369 16.9738421180011  0.0154120765736534 16.574097179301  0 16.0809868115095  L 0 0.902446530235421  C 0.0154120765736534 0.409336162443901  0.387297544717369 0.00959122374376491  0.846041524983776 0  L 14.1361129136924 0  C 14.5948569015615 0.00959121218649049  14.9667423815704 0.409336154271674  14.9667423815704 0.902446530235421  L 14.9667423815704 7.15243371472534  L 13.3054834458144 7.15243371472534  L 13.3054834458144 2  Z " fill-rule="nonzero" fill="#1768e4" stroke="none" transform="matrix(1 0 0 1 24 625 )" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/header/u78.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="9px" height="10px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -33 -633 )">
+    <path d="M 4.4454045624509 0.0794274312647297  L 6.4564021932443 1.00984900759361  L 6.4564021932443 4.06477785807803  L 4.4454045624509 4.99519943440691  L 2.4344069128044 4.06477785807803  L 2.4344069128044 1.00984900759361  L 4.4454045624509 0.0794274312647297  Z M 0.0212097407698349 8.9805498821681  L 0.0212097407698349 5.92562101073579  L 2.03220739041634 4.99519943440691  L 4.04320502120974 5.92562101073579  L 4.04320502120974 8.9805498821681  L 2.03220739041634 9.91097145849699  L 0.0212097407698349 8.9805498821681  Z M 4.84760408483896 5.92562101073579  L 6.85860173448547 4.99519943440691  L 8.86959936527887 5.92562101073579  L 8.86959936527887 8.9805498821681  L 6.85860173448547 9.91097145849699  L 4.84760408483896 8.9805498821681  L 4.84760408483896 5.92562101073579  Z " fill-rule="nonzero" fill="#8bb3f1" stroke="none" transform="matrix(1 0 0 1 33 633 )" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/header/u8.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="2px" height="10px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -1172 -22 )">
+    <path d="M 0.146666666666761 0.939682539682536  C 0.146666666666761 0.397883597883592  0.431111111111022 0.126984126984127  1 0.126984126984127  C 1.56888888888898 0.126984126984127  1.85333333333324 0.397883597883592  1.85333333333324 0.939682539682536  L 1.85333333333324 9.06666666666666  C 1.85333333333324 9.60846560846561  1.56888888888898 9.87936507936509  1 9.87936507936509  C 0.431111111111022 9.87936507936509  0.146666666666761 9.60846560846561  0.146666666666761 9.06666666666666  L 0.146666666666761 0.939682539682536  Z " fill-rule="nonzero" fill="#ffffff" stroke="none" transform="matrix(1 0 0 1 1172 22 )" />
+  </g>
+</svg>

+ 5 - 0
src/assets/img/images/header/u97.svg

@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><g transform="translate(0 0)">
+    <g class="nc-icon-wrapper" stroke="none" fill="#172b4d">
+        <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path>
+    </g>
+</g></svg>

+ 6 - 0
src/assets/img/images/materialmanage/u113.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="801px" height="2px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 0 -66 )">
+    <path d="M 0 66.5  L 800 66.5  " stroke-width="1" stroke="#f4f4f4" fill="none" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/materialmanage/u161.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="653px" height="2px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -1 -66 )">
+    <path d="M 1 66.5  L 653 66.5  " stroke-width="1" stroke="#f4f4f4" fill="none" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/materialmanage/u173.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="284px" height="2px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 0 -66 )">
+    <path d="M 0 66.5  L 283 66.5  " stroke-width="1" stroke="#f4f4f4" fill="none" />
+  </g>
+</svg>

File diff suppressed because it is too large
+ 8 - 0
src/assets/img/images/materialmanage/u177.svg


+ 6 - 0
src/assets/img/images/materialmanage/u180.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="10px" height="11px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -82 -131 )">
+    <path d="M 87 131.5  C 89.52 131.5  91.5 133.7  91.5 136.5  C 91.5 139.3  89.52 141.5  87 141.5  C 84.48 141.5  82.5 139.3  82.5 136.5  C 82.5 133.7  84.48 131.5  87 131.5  Z " fill-rule="nonzero" fill="#2dce89" stroke="none" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/materialmanage/u183.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="801px" height="2px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 0 -66 )">
+    <path d="M 0 66.5  L 800 66.5  " stroke-width="1" stroke="#f4f4f4" fill="none" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/materialmanage/u184.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="259px" height="2px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -21 -415 )">
+    <path d="M 21 415.5  L 279 415.5  " stroke-width="1" stroke="#f4f4f4" fill="none" />
+  </g>
+</svg>

File diff suppressed because it is too large
+ 8 - 0
src/assets/img/images/materialmanage/u187.svg


+ 6 - 0
src/assets/img/images/materialmanage/u190.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="10px" height="11px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -82 -467 )">
+    <path d="M 87 467.5  C 89.52 467.5  91.5 469.7  91.5 472.5  C 91.5 475.3  89.52 477.5  87 477.5  C 84.48 477.5  82.5 475.3  82.5 472.5  C 82.5 469.7  84.48 467.5  87 467.5  Z " fill-rule="nonzero" fill="#ff0000" stroke="none" />
+  </g>
+</svg>

File diff suppressed because it is too large
+ 8 - 0
src/assets/img/images/materialmanage/u197.svg


File diff suppressed because it is too large
+ 8 - 0
src/assets/img/images/materialmanage/u207.svg


+ 6 - 0
src/assets/img/images/materialmanage/u210.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="10px" height="11px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -82 -549 )">
+    <path d="M 87 549.5  C 89.52 549.5  91.5 551.7  91.5 554.5  C 91.5 557.3  89.52 559.5  87 559.5  C 84.48 559.5  82.5 557.3  82.5 554.5  C 82.5 551.7  84.48 549.5  87 549.5  Z " fill-rule="nonzero" fill="#f5365c" stroke="none" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/materialmanage/u221.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="284px" height="2px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 0 -66 )">
+    <path d="M 0 66.5  L 283 66.5  " stroke-width="1" stroke="#f4f4f4" fill="none" />
+  </g>
+</svg>

File diff suppressed because it is too large
+ 8 - 0
src/assets/img/images/materialmanage/u225.svg


+ 6 - 0
src/assets/img/images/materialmanage/u228.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="10px" height="11px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -82 -131 )">
+    <path d="M 87 131.5  C 89.52 131.5  91.5 133.7  91.5 136.5  C 91.5 139.3  89.52 141.5  87 141.5  C 84.48 141.5  82.5 139.3  82.5 136.5  C 82.5 133.7  84.48 131.5  87 131.5  Z " fill-rule="nonzero" fill="#2dce89" stroke="none" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/materialmanage/u232.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="259px" height="2px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -21 -415 )">
+    <path d="M 21 415.5  L 279 415.5  " stroke-width="1" stroke="#f4f4f4" fill="none" />
+  </g>
+</svg>

File diff suppressed because it is too large
+ 8 - 0
src/assets/img/images/materialmanage/u235.svg


+ 6 - 0
src/assets/img/images/materialmanage/u238.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="10px" height="11px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -82 -467 )">
+    <path d="M 87 467.5  C 89.52 467.5  91.5 469.7  91.5 472.5  C 91.5 475.3  89.52 477.5  87 477.5  C 84.48 477.5  82.5 475.3  82.5 472.5  C 82.5 469.7  84.48 467.5  87 467.5  Z " fill-rule="nonzero" fill="#ff0000" stroke="none" />
+  </g>
+</svg>

File diff suppressed because it is too large
+ 8 - 0
src/assets/img/images/materialmanage/u245.svg


File diff suppressed because it is too large
+ 8 - 0
src/assets/img/images/materialmanage/u255.svg


+ 6 - 0
src/assets/img/images/materialmanage/u256.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="5px" height="17px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -3 -94 )">
+    <path d="M 5 95  L 5 109  " stroke-width="2" stroke="#ff0000" fill="none" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/materialmanage/u258.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="10px" height="11px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -82 -549 )">
+    <path d="M 87 549.5  C 89.52 549.5  91.5 551.7  91.5 554.5  C 91.5 557.3  89.52 559.5  87 559.5  C 84.48 559.5  82.5 557.3  82.5 554.5  C 82.5 551.7  84.48 549.5  87 549.5  Z " fill-rule="nonzero" fill="#f5365c" stroke="none" />
+  </g>
+</svg>

File diff suppressed because it is too large
+ 3 - 0
src/assets/img/images/materialmanage/u261.svg


File diff suppressed because it is too large
+ 3 - 0
src/assets/img/images/materialmanage/u262.svg


+ 6 - 0
src/assets/img/images/materialmanage/u264.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="18px" height="18px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -147 -94 )">
+    <path d="M 17.775 9  C 17.7633778250508 5.63026951744614  15.834081118894 2.56120368026745  12.8025 1.0899  C 12.711234018614 1.04602212433364  12.6112657263409 1.02323940272002  12.51 1.02323940272002  C 12.1371743269106 1.02323940272002  11.83493940272 1.3254743269106  11.83493940272 1.6983  C 11.83493940272 1.95776818943427  11.9836536651852 2.19427387749289  12.2175 2.3067  C 14.7824655436733 3.55196489044625  16.4148398677744 6.14874945693602  16.425 9  C 16.425 13.0941  13.0941 16.425  9 16.425  C 4.9059 16.425  1.575 13.0941  1.575 9  C 1.575 4.9059  4.9059 1.575  9 1.575  C 9.37279220613579 1.575  9.675 1.27279220613579  9.675 0.9  C 9.675 0.527207793864214  9.37279220613579 0.225  9 0.225  C 4.1616 0.225  0.225 4.1616  0.225 9  C 0.225 13.8384  4.1616 17.775  9 17.775  C 13.8384 17.775  17.775 13.8384  17.775 9  Z " fill-rule="nonzero" fill="#2680f0" stroke="none" transform="matrix(1 0 0 1 147 94 )" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/materialmanage/u265.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="8px" height="8px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -152 -99 )">
+    <path d="M 7.71748571428571 1.25257142857143  C 7.8466335816972 1.12444348581365  7.91907631792738 0.949922348531863  7.91862857142857 0.768  C 7.91862864220203 0.388978911537698  7.61162389922886 0.0819741685645283  7.23291435648774 0.0819741685645283  C 7.05075122115089 0.0819741685645283  6.87607442352128 0.154457052808785  6.74742857142857 0.283428571428571  L 4 3.03085714285714  L 1.25257142857143 0.282514285714286  C 1.12470499581882 0.158898594918333  0.953812098064768 0.0897984964168279  0.775961982417243 0.0897984964168279  C 0.397252439676128 0.0897984964168279  0.0902476967029569 0.396803239389999  0.0902476967029569 0.775512782131114  C 0.0902476967029569 0.953139220694846  0.159174537950581 1.12383516392386  0.282514285714286 1.25165714285714  L 3.03085714285714 4  L 0.283428571428572 6.74742857142857  C 0.153434626362335 6.87590512802296  0.0802758715632602 7.05106994945487  0.0802758715632602 7.23383934335941  C 0.0802758715632602 7.61153899398655  0.386461935221835 7.91772505764512  0.764161585848974 7.91772505764512  C 0.765441064790257 7.91772505764512  0.766720541211878 7.91772146698737  0.768000000000002 7.91771428571429  C 0.949922348531864 7.9181620322131  1.12444348581365 7.84571929598292  1.25257142857143 7.71657142857143  L 4 4.97005714285714  L 6.74742857142857 7.71748571428571  C 6.87590512802296 7.84747965935195  7.05106994945487 7.92063841415103  7.23383934335941 7.92063841415103  C 7.61153899398655 7.92063841415103  7.91772505764512 7.61445235049245  7.91772505764512 7.23675269986531  C 7.91772505764512 7.23547322092403  7.91772146698737 7.23419374450241  7.91771428571429 7.23291428571429  C 7.9181620322131 7.05099193718242  7.84571929598292 6.87647079990064  7.71657142857143 6.74834285714286  L 4.97005714285714 4  L 7.71748571428571 1.25257142857143  Z " fill-rule="nonzero" fill="#2680f0" stroke="none" transform="matrix(1 0 0 1 152 99 )" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/materialmanage/u290.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="2px" height="35px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -75 -268 )">
+    <path d="M 75.5 268  L 75.5 302  " stroke-width="1" stroke-dasharray="3,1" stroke="#d8d8d8" fill="none" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/materialmanage/u291.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="2px" height="59px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -43 -185 )">
+    <path d="M 43.5 185  L 43.5 243  " stroke-width="1" stroke-dasharray="3,1" stroke="#d8d8d8" fill="none" />
+  </g>
+</svg>

+ 6 - 0
src/assets/img/images/materialmanage/u292.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="2px" height="183px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -11 -157 )">
+    <path d="M 11.5 157  L 11.5 339  " stroke-width="1" stroke-dasharray="3,1" stroke="#d8d8d8" fill="none" />
+  </g>
+</svg>

BIN
src/assets/img/images/materialmanage/u295.png


BIN
src/assets/img/images/materialmanage/u297.png


+ 6 - 0
src/assets/img/images/materialmanage/u304.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="5px" height="17px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -3 -94 )">
+    <path d="M 5 95  L 5 109  " stroke-width="2" stroke="#ff0000" fill="none" />
+  </g>
+</svg>

File diff suppressed because it is too large
+ 3 - 0
src/assets/img/images/materialmanage/u309.svg


File diff suppressed because it is too large
+ 3 - 0
src/assets/img/images/materialmanage/u310.svg


+ 6 - 0
src/assets/img/images/materialmanage/u312.svg

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="18px" height="18px" xmlns="http://www.w3.org/2000/svg">
+  <g transform="matrix(1 0 0 1 -147 -94 )">
+    <path d="M 17.775 9  C 17.7633778250508 5.63026951744614  15.834081118894 2.56120368026745  12.8025 1.0899  C 12.711234018614 1.04602212433364  12.6112657263409 1.02323940272002  12.51 1.02323940272002  C 12.1371743269106 1.02323940272002  11.83493940272 1.3254743269106  11.83493940272 1.6983  C 11.83493940272 1.95776818943427  11.9836536651852 2.19427387749289  12.2175 2.3067  C 14.7824655436733 3.55196489044625  16.4148398677744 6.14874945693602  16.425 9  C 16.425 13.0941  13.0941 16.425  9 16.425  C 4.9059 16.425  1.575 13.0941  1.575 9  C 1.575 4.9059  4.9059 1.575  9 1.575  C 9.37279220613579 1.575  9.675 1.27279220613579  9.675 0.9  C 9.675 0.527207793864214  9.37279220613579 0.225  9 0.225  C 4.1616 0.225  0.225 4.1616  0.225 9  C 0.225 13.8384  4.1616 17.775  9 17.775  C 13.8384 17.775  17.775 13.8384  17.775 9  Z " fill-rule="nonzero" fill="#2680f0" stroke="none" transform="matrix(1 0 0 1 147 94 )" />
+  </g>
+</svg>

Some files were not shown because too many files changed in this diff