|
@ -1,3 +0,0 @@
|
|||
> 1%
|
||||
last 2 versions
|
||||
not ie <= 10
|
|
@ -1,39 +0,0 @@
|
|||
[*]
|
||||
charset=utf-8
|
||||
end_of_line=lf
|
||||
insert_final_newline=false
|
||||
indent_style=space
|
||||
indent_size=2
|
||||
|
||||
[{*.ng,*.sht,*.html,*.shtm,*.shtml,*.htm}]
|
||||
indent_style=space
|
||||
indent_size=2
|
||||
|
||||
[{*.jhm,*.xslt,*.xul,*.rng,*.xsl,*.xsd,*.ant,*.tld,*.fxml,*.jrxml,*.xml,*.jnlp,*.wsdl}]
|
||||
indent_style=space
|
||||
indent_size=2
|
||||
|
||||
[{.babelrc,.stylelintrc,jest.config,.eslintrc,.prettierrc,*.json,*.jsb3,*.jsb2,*.bowerrc}]
|
||||
indent_style=space
|
||||
indent_size=2
|
||||
|
||||
[*.svg]
|
||||
indent_style=space
|
||||
indent_size=2
|
||||
|
||||
[*.js.map]
|
||||
indent_style=space
|
||||
indent_size=2
|
||||
|
||||
[*.less]
|
||||
indent_style=space
|
||||
indent_size=2
|
||||
|
||||
[*.vue]
|
||||
indent_style=space
|
||||
indent_size=2
|
||||
|
||||
[{.analysis_options,*.yml,*.yaml}]
|
||||
indent_style=space
|
||||
indent_size=2
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
NODE_ENV=development
|
||||
VUE_APP_PREVIEW=true
|
||||
VUE_APP_API_BASE_URL=/api
|
|
@ -1,3 +0,0 @@
|
|||
NODE_ENV=production
|
||||
VUE_APP_PREVIEW=true
|
||||
VUE_APP_API_BASE_URL=/api
|
76
.eslintrc.js
|
@ -1,76 +0,0 @@
|
|||
module.exports = {
|
||||
root: true,
|
||||
env: {
|
||||
node: true
|
||||
},
|
||||
'extends': [
|
||||
'plugin:vue/strongly-recommended',
|
||||
'@vue/standard'
|
||||
],
|
||||
rules: {
|
||||
'no-console': 'off',
|
||||
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
||||
'generator-star-spacing': 'off',
|
||||
'no-mixed-operators': 0,
|
||||
'vue/max-attributes-per-line': [
|
||||
2,
|
||||
{
|
||||
'singleline': 5,
|
||||
'multiline': {
|
||||
'max': 1,
|
||||
'allowFirstLine': false
|
||||
}
|
||||
}
|
||||
],
|
||||
'vue/attribute-hyphenation': 0,
|
||||
'vue/html-self-closing': 0,
|
||||
'vue/component-name-in-template-casing': 0,
|
||||
'vue/html-closing-bracket-spacing': 0,
|
||||
'vue/singleline-html-element-content-newline': 0,
|
||||
'vue/no-unused-components': 0,
|
||||
'vue/multiline-html-element-content-newline': 0,
|
||||
'vue/no-use-v-if-with-v-for': 0,
|
||||
'vue/html-closing-bracket-newline': 0,
|
||||
'vue/no-parsing-error': 0,
|
||||
'no-tabs': 0,
|
||||
'quotes': [
|
||||
2,
|
||||
'single',
|
||||
{
|
||||
'avoidEscape': true,
|
||||
'allowTemplateLiterals': true
|
||||
}
|
||||
],
|
||||
'semi': [
|
||||
2,
|
||||
'never',
|
||||
{
|
||||
'beforeStatementContinuationChars': 'never'
|
||||
}
|
||||
],
|
||||
'no-delete-var': 2,
|
||||
'prefer-const': [
|
||||
2,
|
||||
{
|
||||
'ignoreReadBeforeAssign': false
|
||||
}
|
||||
],
|
||||
'template-curly-spacing': 'off',
|
||||
'indent': 'off',
|
||||
'standard/no-callback-literal': 0
|
||||
},
|
||||
parserOptions: {
|
||||
parser: 'babel-eslint'
|
||||
},
|
||||
overrides: [
|
||||
{
|
||||
files: [
|
||||
'**/__tests__/*.{j,t}s?(x)',
|
||||
'**/tests/unit/**/*.spec.{j,t}s?(x)'
|
||||
],
|
||||
env: {
|
||||
jest: true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"rules": {
|
||||
"space-before-function-paren": 0
|
||||
}
|
||||
}
|
1
.gitattributes
vendored
|
@ -1 +0,0 @@
|
|||
public/* linguist-vendored
|
25
.gitignore
vendored
|
@ -1,25 +0,0 @@
|
|||
.DS_Store
|
||||
node_modules
|
||||
/dist
|
||||
|
||||
# local env files
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
# Log files
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.vscode
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw*
|
||||
package-lock.json
|
||||
yarn.lock
|
||||
.husky/.gitignore
|
||||
dist.zip
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"*.js": "eslint --fix",
|
||||
"*.{css,less}": "stylelint --fix"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"printWidth": 120,
|
||||
"semi": false,
|
||||
"singleQuote": true,
|
||||
"prettier.spaceBeforeFunctionParen": true
|
||||
}
|
102
.stylelintrc.js
|
@ -1,102 +0,0 @@
|
|||
module.exports = {
|
||||
processors: [],
|
||||
plugins: ['stylelint-order'],
|
||||
extends: [
|
||||
'stylelint-config-standard',
|
||||
'stylelint-config-css-modules'
|
||||
],
|
||||
rules: {
|
||||
'selector-class-pattern': null,
|
||||
'string-quotes': 'single', // 单引号
|
||||
'at-rule-empty-line-before': null,
|
||||
'at-rule-no-unknown': null,
|
||||
'at-rule-name-case': 'lower', // 指定@规则名的大小写
|
||||
'length-zero-no-unit': true, // 禁止零长度的单位(可自动修复)
|
||||
'shorthand-property-no-redundant-values': true, // 简写属性
|
||||
'number-leading-zero': 'never', // 小数不带0
|
||||
'declaration-block-no-duplicate-properties': null, // 禁止声明快重复属性
|
||||
'no-descending-specificity': null, // 禁止在具有较高优先级的选择器后出现被其覆盖的较低优先级的选择器。
|
||||
'selector-max-id': 3, // 限制一个选择器中 ID 选择器的数量
|
||||
'max-nesting-depth': 4,
|
||||
'indentation': [2, { // 指定缩进 warning 提醒
|
||||
'severity': 'warning'
|
||||
}],
|
||||
'order/properties-order': [ // 规则顺序
|
||||
'position',
|
||||
'top',
|
||||
'right',
|
||||
'bottom',
|
||||
'left',
|
||||
'z-index',
|
||||
'display',
|
||||
'float',
|
||||
'width',
|
||||
'height',
|
||||
'max-width',
|
||||
'max-height',
|
||||
'min-width',
|
||||
'min-height',
|
||||
'padding',
|
||||
'padding-top',
|
||||
'padding-right',
|
||||
'padding-bottom',
|
||||
'padding-left',
|
||||
'margin',
|
||||
'margin-top',
|
||||
'margin-right',
|
||||
'margin-bottom',
|
||||
'margin-left',
|
||||
'margin-collapse',
|
||||
'margin-top-collapse',
|
||||
'margin-right-collapse',
|
||||
'margin-bottom-collapse',
|
||||
'margin-left-collapse',
|
||||
'overflow',
|
||||
'overflow-x',
|
||||
'overflow-y',
|
||||
'clip',
|
||||
'clear',
|
||||
'font',
|
||||
'font-family',
|
||||
'font-size',
|
||||
'font-smoothing',
|
||||
'osx-font-smoothing',
|
||||
'font-style',
|
||||
'font-weight',
|
||||
'line-height',
|
||||
'letter-spacing',
|
||||
'word-spacing',
|
||||
'color',
|
||||
'text-align',
|
||||
'text-decoration',
|
||||
'text-indent',
|
||||
'text-overflow',
|
||||
'text-rendering',
|
||||
'text-size-adjust',
|
||||
'text-shadow',
|
||||
'text-transform',
|
||||
'word-break',
|
||||
'word-wrap',
|
||||
'white-space',
|
||||
'vertical-align',
|
||||
'list-style',
|
||||
'list-style-type',
|
||||
'list-style-position',
|
||||
'list-style-image',
|
||||
'pointer-events',
|
||||
'cursor',
|
||||
'background',
|
||||
'background-color',
|
||||
'border',
|
||||
'border-radius',
|
||||
'content',
|
||||
'outline',
|
||||
'outline-offset',
|
||||
'opacity',
|
||||
'filter',
|
||||
'visibility',
|
||||
'size',
|
||||
'transform'
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
language: node_js
|
||||
node_js:
|
||||
- 10.15.0
|
||||
cache: yarn
|
||||
script:
|
||||
- yarn
|
||||
- yarn run lint --no-fix && yarn run build
|
|
@ -1,6 +0,0 @@
|
|||
FROM nginx
|
||||
|
||||
RUN rm /etc/nginx/conf.d/default.conf
|
||||
|
||||
ADD deploy/nginx.conf /etc/nginx/conf.d/default.conf
|
||||
COPY dist/ /usr/share/nginx/html/
|
21
LICENSE
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2018 Anan Yang
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
103
README.md
|
@ -1,103 +0,0 @@
|
|||
English | [简体中文](./README.zh-CN.md)
|
||||
|
||||
<h1 align="center">Ant Design Vue Pro</h1>
|
||||
<div align="center">
|
||||
An out-of-box UI solution for enterprise applications as a Vue boilerplate. based on <a href="https://vuecomponent.github.io/ant-design-vue/docs/vue/introduce-cn/" target="_blank">Ant Design of Vue</a>
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[![License](https://img.shields.io/npm/l/package.json.svg?style=flat)](https://github.com/vueComponent/ant-design-vue-pro/blob/master/LICENSE)
|
||||
[![Release](https://img.shields.io/github/release/vueComponent/ant-design-vue-pro.svg?style=flat)](https://github.com/vueComponent/ant-design-vue-pro/releases/latest)
|
||||
[![Support Vue Version](https://img.shields.io/badge/Support-Vue2-green?style=flat)](https://github.com/vueComponent/ant-design-vue-pro/releases/latest)
|
||||
[![Travis branch](https://travis-ci.org/vueComponent/ant-design-vue-pro.svg?branch=master)](https://travis-ci.org/vueComponent/ant-design-vue-pro)
|
||||
|
||||
</div>
|
||||
|
||||
- Preview: https://preview.pro.antdv.com
|
||||
- Home Page: https://pro.antdv.com
|
||||
- Documentation: https://pro.antdv.com/docs/getting-started
|
||||
- ChangeLog: https://pro.antdv.com/docs/changelog
|
||||
- FAQ: https://pro.antdv.com/docs/faq
|
||||
- Vue3 ProLayout: https://github.com/vueComponent/pro-layout
|
||||
|
||||
Overview
|
||||
----
|
||||
|
||||
![dashboard](https://static-2.loacg.com/open/static/github/SP1.png)
|
||||
|
||||
### Env and dependencies
|
||||
|
||||
- node
|
||||
- yarn
|
||||
- webpack
|
||||
- eslint
|
||||
- @vue/cli
|
||||
- [ant-design-vue@1.x](https://github.com/vueComponent/ant-design-vue) - Ant Design Of Vue
|
||||
- [vue-cropper](https://github.com/xyxiao001/vue-cropper) - Picture edit
|
||||
- [@antv/g2](https://antv.alipay.com/zh-cn/index.html) - AntV G2
|
||||
- [Viser-vue](https://viserjs.github.io/docs.html#/viser/guide/installation) - Antv/G2 of Vue
|
||||
|
||||
> Note: [Yarn](https://yarnpkg.com/) package management is recommended, the exact same version loaded with the demo site of this project (yarn.lock) . but you can also use npm
|
||||
|
||||
|
||||
### Project setup
|
||||
|
||||
- Clone repo
|
||||
```bash
|
||||
git clone https://github.com/vueComponent/ant-design-vue-pro.git
|
||||
cd ant-design-vue-pro
|
||||
```
|
||||
|
||||
- Install dependencies
|
||||
```
|
||||
yarn install
|
||||
```
|
||||
|
||||
- Compiles and hot-reloads for development
|
||||
```
|
||||
yarn run serve
|
||||
```
|
||||
|
||||
- Compiles and minifies for production
|
||||
```
|
||||
yarn run build
|
||||
```
|
||||
|
||||
- Lints and fixes files
|
||||
```
|
||||
yarn run lint
|
||||
```
|
||||
|
||||
|
||||
### Other
|
||||
|
||||
- **IMPORTANT : Issue feedback !! when opening Issue read [Issue / PR Contributing](https://github.com/vueComponent/ant-design-vue-pro/issues/90)**
|
||||
|
||||
- [Vue-cli3](https://cli.vuejs.org/guide/) used by the project.
|
||||
|
||||
- Disable Eslint (not recommended): remove `eslintConfig` field in `package.json` and `vue.config.js` field `lintOnSave: false`
|
||||
|
||||
- Load on Demand `/src/main.js` L14, in `import './core/lazy_use'`, `import './core/use''`. more [load-on-demand.md](./docs/load-on-demand.md)
|
||||
|
||||
- Customize Theme: [Custom Theme Config (@kokoroli)](https://github.com/kokoroli/antd-awesome/blob/master/docs/Ant_Design_%E6%A0%B7%E5%BC%8F%E8%A6%86%E7%9B%96.md)
|
||||
|
||||
- I18n: [locales (@musnow)](./src/locales/index.js)
|
||||
|
||||
- Production env `mock` is disabled. use `src/mock/index.js`
|
||||
|
||||
- pls use `release` version
|
||||
|
||||
## Browsers support
|
||||
|
||||
Modern browsers and IE10.
|
||||
|
||||
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png" alt="Opera" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Opera |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| IE10, Edge | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
|
||||
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute.
|
||||
<a href="https://github.com/vueComponent/ant-design-vue-pro/graphs/contributors"><img src="https://opencollective.com/ant-design-pro-vue/contributors.svg?width=890&button=false" /></a>
|
110
README.zh-CN.md
|
@ -1,110 +0,0 @@
|
|||
[English](./README.md) | 简体中文
|
||||
|
||||
<h1 align="center">Ant Design Vue Pro</h1>
|
||||
<div align="center">
|
||||
An out-of-box UI solution for enterprise applications as a Vue boilerplate. based on <a href="https://vuecomponent.github.io/ant-design-vue/docs/vue/introduce-cn/" target="_blank">Ant Design of Vue</a>
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[![License](https://img.shields.io/npm/l/package.json.svg?style=flat)](https://github.com/vueComponent/ant-design-vue-pro/blob/master/LICENSE)
|
||||
[![Release](https://img.shields.io/github/release/vueComponent/ant-design-vue-pro.svg?style=flat)](https://github.com/vueComponent/ant-design-vue-pro/releases/latest)
|
||||
[![Support Vue Version](https://img.shields.io/badge/Support-Vue2-green?style=flat)](https://github.com/vueComponent/ant-design-vue-pro/releases/latest)
|
||||
[![Travis branch](https://travis-ci.org/vueComponent/ant-design-vue-pro.svg?branch=master)](https://travis-ci.org/vueComponent/ant-design-vue-pro)
|
||||
|
||||
</div>
|
||||
|
||||
- 预览: https://preview.pro.antdv.com
|
||||
- 首页: https://pro.antdv.com
|
||||
- 文档: https://pro.antdv.com/docs/getting-started
|
||||
- 更新日志: https://pro.antdv.com/docs/changelog
|
||||
- 常见问题: https://pro.antdv.com/docs/faq
|
||||
- Vue3 ProLayout: https://github.com/vueComponent/pro-layout
|
||||
|
||||
Overview
|
||||
----
|
||||
|
||||
基于 [Ant Design of Vue](https://vuecomponent.github.io/ant-design-vue/docs/vue/introduce-cn/) 实现的 [Ant Design Pro](https://pro.ant.design/)
|
||||
|
||||
![dashboard](https://static-2.loacg.com/open/static/github/SP1.png)
|
||||
|
||||
环境和依赖
|
||||
----
|
||||
|
||||
- node
|
||||
- yarn
|
||||
- webpack
|
||||
- eslint
|
||||
- @vue/cli
|
||||
- [ant-design-vue@1.x](https://github.com/vueComponent/ant-design-vue) - Ant Design Of Vue 实现
|
||||
- [vue-cropper](https://github.com/xyxiao001/vue-cropper) - 头像裁剪组件
|
||||
- [@antv/g2](https://antv.alipay.com/zh-cn/index.html) - Alipay AntV 数据可视化图表
|
||||
- [Viser-vue](https://viserjs.github.io/docs.html#/viser/guide/installation) - antv/g2 封装实现
|
||||
|
||||
> 请注意,我们强烈建议本项目使用 [Yarn](https://yarnpkg.com/) 包管理工具,这样可以与本项目演示站所加载完全相同的依赖版本 (yarn.lock) 。由于我们没有对依赖进行强制的版本控制,采用非 yarn 包管理进行引入时,可能由于 Pro 所依赖的库已经升级版本而引入了新版本所导致的问题。作者可能会由于时间问题无法及时排查而导致您采用本项目作为基项目而出现问题。
|
||||
|
||||
|
||||
|
||||
项目下载和运行
|
||||
----
|
||||
|
||||
- 拉取项目代码
|
||||
```bash
|
||||
git clone https://github.com/vueComponent/ant-design-vue-pro.git
|
||||
cd ant-design-vue-pro
|
||||
```
|
||||
|
||||
- 安装依赖
|
||||
```
|
||||
yarn install
|
||||
```
|
||||
|
||||
- 开发模式运行
|
||||
```
|
||||
yarn run serve
|
||||
```
|
||||
|
||||
- 编译项目
|
||||
```
|
||||
yarn run build
|
||||
```
|
||||
|
||||
- Lints and fixes files
|
||||
```
|
||||
yarn run lint
|
||||
```
|
||||
|
||||
|
||||
|
||||
其他说明
|
||||
----
|
||||
|
||||
- **关于 Issue 反馈 (重要!重要!重要!) 请在开 *Issue* 前,先阅读该内容:[Issue / PR 编写建议](https://github.com/vueComponent/ant-design-vue-pro/issues/90)**
|
||||
|
||||
- 项目使用的 [vue-cli3](https://cli.vuejs.org/guide/), 请确保你所使用的 vue-cli 是新版,并且已经学习 cli 官方文档使用教程
|
||||
|
||||
- 关闭 Eslint (不推荐) 移除 `package.json` 中 `eslintConfig` 整个节点代码, `vue.config.js` 下的 `lintOnSave` 值改为 `false`
|
||||
|
||||
- 组件按需加载 `/src/main.js` L14 相关代码 `import './core/lazy_use'` / `import './core/use'`
|
||||
|
||||
- [修改 Ant Design 配色 (@kokoroli)](https://github.com/kokoroli/antd-awesome/blob/master/docs/Ant_Design_%E6%A0%B7%E5%BC%8F%E8%A6%86%E7%9B%96.md)
|
||||
|
||||
- I18n: [多语言支持 (@musnow)](./src/locales/index.js)
|
||||
|
||||
- 生产环境默认不加载 `mock`,更多详情请看 `src/mock/index.js`
|
||||
|
||||
- **用于生产环境,请使用 `release` 版本代码,使用 master 代码出现的任何问题需要你自行解决**
|
||||
|
||||
## 浏览器兼容
|
||||
|
||||
Modern browsers and IE10.
|
||||
|
||||
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png" alt="Opera" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Opera |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| IE10, Edge | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
|
||||
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute.
|
||||
<a href="https://github.com/vueComponent/ant-design-vue-pro/graphs/contributors"><img src="https://opencollective.com/ant-design-pro-vue/contributors.svg?width=890&button=false" /></a>
|
|
@ -1,30 +0,0 @@
|
|||
const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
|
||||
const IS_PREVIEW = process.env.VUE_APP_PREVIEW === 'true'
|
||||
|
||||
const plugins = []
|
||||
if (IS_PROD && !IS_PREVIEW) {
|
||||
// 去除日志的插件,
|
||||
plugins.push('transform-remove-console')
|
||||
}
|
||||
|
||||
// lazy load ant-design-vue
|
||||
// if your use import on Demand, Use this code
|
||||
plugins.push(['import', {
|
||||
'libraryName': 'ant-design-vue',
|
||||
'libraryDirectory': 'es',
|
||||
'style': true // `style: true` 会加载 less 文件
|
||||
}])
|
||||
|
||||
module.exports = {
|
||||
presets: [
|
||||
'@vue/cli-plugin-babel/preset',
|
||||
[
|
||||
'@babel/preset-env',
|
||||
{
|
||||
'useBuiltIns': 'entry',
|
||||
'corejs': 3
|
||||
}
|
||||
]
|
||||
],
|
||||
plugins
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
/**
|
||||
* feat:新增功能
|
||||
* fix:bug 修复
|
||||
* docs:文档更新
|
||||
* style:不影响程序逻辑的代码修改(修改空白字符,格式缩进,补全缺失的分号等,没有改变代码逻辑)
|
||||
* refactor:重构代码(既没有新增功能,也没有修复 bug)
|
||||
* perf:性能, 体验优化
|
||||
* test:新增测试用例或是更新现有测试
|
||||
* build:主要目的是修改项目构建系统(例如 glup,webpack,rollup 的配置等)的提交
|
||||
* ci:主要目的是修改项目继续集成流程(例如 Travis,Jenkins,GitLab CI,Circle等)的提交
|
||||
* chore:不属于以上类型的其他类型,比如构建流程, 依赖管理
|
||||
* revert:回滚某个更早之前的提交
|
||||
*/
|
||||
|
||||
module.exports = {
|
||||
extends: ['@commitlint/config-conventional'],
|
||||
rules: {
|
||||
'type-enum': [
|
||||
2,
|
||||
'always',
|
||||
['feat', 'fix', 'docs', 'style', 'refactor', 'test', 'chore', 'revert'],
|
||||
],
|
||||
'subject-full-stop': [0, 'never'],
|
||||
'subject-case': [0, 'never'],
|
||||
},
|
||||
};
|
|
@ -1,49 +0,0 @@
|
|||
const ThemeColorReplacer = require('webpack-theme-color-replacer')
|
||||
const generate = require('@ant-design/colors/lib/generate').default
|
||||
|
||||
const getAntdSerials = (color) => {
|
||||
// 淡化(即less的tint)
|
||||
const lightens = new Array(9).fill().map((t, i) => {
|
||||
return ThemeColorReplacer.varyColor.lighten(color, i / 10)
|
||||
})
|
||||
const colorPalettes = generate(color)
|
||||
const rgb = ThemeColorReplacer.varyColor.toNum3(color.replace('#', '')).join(',')
|
||||
return lightens.concat(colorPalettes).concat(rgb)
|
||||
}
|
||||
|
||||
const themePluginOption = {
|
||||
fileName: 'css/theme-colors-[contenthash:8].css',
|
||||
matchColors: getAntdSerials('#1890ff'), // 主色系列
|
||||
// 改变样式选择器,解决样式覆盖问题
|
||||
changeSelector (selector) {
|
||||
switch (selector) {
|
||||
case '.ant-calendar-today .ant-calendar-date':
|
||||
return ':not(.ant-calendar-selected-date):not(.ant-calendar-selected-day)' + selector
|
||||
case '.ant-btn:focus,.ant-btn:hover':
|
||||
return '.ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger),.ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger)'
|
||||
case '.ant-btn.active,.ant-btn:active':
|
||||
return '.ant-btn.active:not(.ant-btn-primary):not(.ant-btn-danger),.ant-btn:active:not(.ant-btn-primary):not(.ant-btn-danger)'
|
||||
case '.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon':
|
||||
case '.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon':
|
||||
return ':not(.ant-steps-item-process)' + selector
|
||||
// fixed https://github.com/vueComponent/ant-design-vue-pro/issues/876
|
||||
case '.ant-steps-item-process .ant-steps-item-icon':
|
||||
return ':not(.ant-steps-item-custom)' + selector
|
||||
case '.ant-menu-horizontal>.ant-menu-item-active,.ant-menu-horizontal>.ant-menu-item-open,.ant-menu-horizontal>.ant-menu-item-selected,.ant-menu-horizontal>.ant-menu-item:hover,.ant-menu-horizontal>.ant-menu-submenu-active,.ant-menu-horizontal>.ant-menu-submenu-open,.ant-menu-horizontal>.ant-menu-submenu-selected,.ant-menu-horizontal>.ant-menu-submenu:hover':
|
||||
case '.ant-menu-horizontal > .ant-menu-item-active,.ant-menu-horizontal > .ant-menu-item-open,.ant-menu-horizontal > .ant-menu-item-selected,.ant-menu-horizontal > .ant-menu-item:hover,.ant-menu-horizontal > .ant-menu-submenu-active,.ant-menu-horizontal > .ant-menu-submenu-open,.ant-menu-horizontal > .ant-menu-submenu-selected,.ant-menu-horizontal > .ant-menu-submenu:hover':
|
||||
return '.ant-menu-horizontal > .ant-menu-item-active,.ant-menu-horizontal > .ant-menu-item-open,.ant-menu-horizontal > .ant-menu-item-selected,.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover,.ant-menu-horizontal > .ant-menu-submenu-active,.ant-menu-horizontal > .ant-menu-submenu-open,.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected,.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover'
|
||||
case '.ant-menu-horizontal > .ant-menu-item-selected > a':
|
||||
case '.ant-menu-horizontal>.ant-menu-item-selected>a':
|
||||
return '.ant-menu-horizontal:not(ant-menu-light):not(.ant-menu-dark) > .ant-menu-item-selected > a'
|
||||
case '.ant-menu-horizontal > .ant-menu-item > a:hover':
|
||||
case '.ant-menu-horizontal>.ant-menu-item>a:hover':
|
||||
return '.ant-menu-horizontal:not(ant-menu-light):not(.ant-menu-dark) > .ant-menu-item > a:hover'
|
||||
default :
|
||||
return selector
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const createThemeColorReplacerPlugin = () => new ThemeColorReplacer(themePluginOption)
|
||||
|
||||
module.exports = createThemeColorReplacerPlugin
|
|
@ -1,115 +0,0 @@
|
|||
export default {
|
||||
theme: [
|
||||
{
|
||||
key: 'dark',
|
||||
fileName: 'dark.css',
|
||||
theme: 'dark'
|
||||
},
|
||||
{
|
||||
key: '#F5222D',
|
||||
fileName: '#F5222D.css',
|
||||
modifyVars: {
|
||||
'@primary-color': '#F5222D'
|
||||
}
|
||||
},
|
||||
{
|
||||
key: '#FA541C',
|
||||
fileName: '#FA541C.css',
|
||||
modifyVars: {
|
||||
'@primary-color': '#FA541C'
|
||||
}
|
||||
},
|
||||
{
|
||||
key: '#FAAD14',
|
||||
fileName: '#FAAD14.css',
|
||||
modifyVars: {
|
||||
'@primary-color': '#FAAD14'
|
||||
}
|
||||
},
|
||||
{
|
||||
key: '#13C2C2',
|
||||
fileName: '#13C2C2.css',
|
||||
modifyVars: {
|
||||
'@primary-color': '#13C2C2'
|
||||
}
|
||||
},
|
||||
{
|
||||
key: '#52C41A',
|
||||
fileName: '#52C41A.css',
|
||||
modifyVars: {
|
||||
'@primary-color': '#52C41A'
|
||||
}
|
||||
},
|
||||
{
|
||||
key: '#2F54EB',
|
||||
fileName: '#2F54EB.css',
|
||||
modifyVars: {
|
||||
'@primary-color': '#2F54EB'
|
||||
}
|
||||
},
|
||||
{
|
||||
key: '#722ED1',
|
||||
fileName: '#722ED1.css',
|
||||
modifyVars: {
|
||||
'@primary-color': '#722ED1'
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
key: '#F5222D',
|
||||
theme: 'dark',
|
||||
fileName: 'dark-#F5222D.css',
|
||||
modifyVars: {
|
||||
'@primary-color': '#F5222D'
|
||||
}
|
||||
},
|
||||
{
|
||||
key: '#FA541C',
|
||||
theme: 'dark',
|
||||
fileName: 'dark-#FA541C.css',
|
||||
modifyVars: {
|
||||
'@primary-color': '#FA541C'
|
||||
}
|
||||
},
|
||||
{
|
||||
key: '#FAAD14',
|
||||
theme: 'dark',
|
||||
fileName: 'dark-#FAAD14.css',
|
||||
modifyVars: {
|
||||
'@primary-color': '#FAAD14'
|
||||
}
|
||||
},
|
||||
{
|
||||
key: '#13C2C2',
|
||||
theme: 'dark',
|
||||
fileName: 'dark-#13C2C2.css',
|
||||
modifyVars: {
|
||||
'@primary-color': '#13C2C2'
|
||||
}
|
||||
},
|
||||
{
|
||||
key: '#52C41A',
|
||||
theme: 'dark',
|
||||
fileName: 'dark-#52C41A.css',
|
||||
modifyVars: {
|
||||
'@primary-color': '#52C41A'
|
||||
}
|
||||
},
|
||||
{
|
||||
key: '#2F54EB',
|
||||
theme: 'dark',
|
||||
fileName: 'dark-#2F54EB.css',
|
||||
modifyVars: {
|
||||
'@primary-color': '#2F54EB'
|
||||
}
|
||||
},
|
||||
{
|
||||
key: '#722ED1',
|
||||
theme: 'dark',
|
||||
fileName: 'dark-#722ED1.css',
|
||||
modifyVars: {
|
||||
'@primary-color': '#722ED1'
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
npm i && npm run build && rmdir /s /q E:\AutoPublish\projectmanage\vue\documentcheck_web\dist && md E:\AutoPublish\projectmanage\vue\documentcheck_web\dist && xcopy C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins\.jenkins\workspace\documentcheck_web\dist E:\AutoPublish\projectmanage\vue\documentcheck_web\dist /s /f /h
|
|
@ -1,9 +0,0 @@
|
|||
0.0.0.0:80 {
|
||||
gzip
|
||||
root /usr/share/nginx/html
|
||||
|
||||
rewrite {
|
||||
r .*
|
||||
to {path} /
|
||||
}
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
server {
|
||||
listen 80;
|
||||
server_name _;
|
||||
# gzip config
|
||||
gzip on;
|
||||
gzip_min_length 1k;
|
||||
gzip_comp_level 6;
|
||||
gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
|
||||
gzip_vary on;
|
||||
gzip_disable "MSIE [1-6]\.";
|
||||
|
||||
root /usr/share/nginx/html;
|
||||
include /etc/nginx/mime.types;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
# location /api {
|
||||
# proxy_pass https://preview.pro.antdv.com/api;
|
||||
# proxy_set_header X-Forwarded-Proto $scheme;
|
||||
# proxy_set_header X-Real-IP $remote_addr;
|
||||
# }
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
为首屏增加 加载动画
|
||||
====
|
||||
|
||||
|
||||
|
||||
## 需求
|
||||
|
||||
> 为了缓解用户第一次访问时,加载 JS 过大所导致用户等待白屏时间过长导致的用户体验不好,进行的一个优化动效。
|
||||
|
||||
|
||||
|
||||
## 实现方案
|
||||
|
||||
1. 将 动画加载 dom 元素放在 #app 内,Vue 生命周期开始时,会自动清掉 #app 下的所有元素。
|
||||
2. 将 动画加载 dom 元素放在 body 下,Vue 生命周期开始时 App.vue (created, mounted) 调用 `@/utils/utll` 下的 removeLoadingAnimate(#id, timeout) 则会移除加载动画
|
||||
|
||||
最后一步:
|
||||
将样式插入到 `public/index.html` 文件的 `<head></head>` 最好写成内联 `<style>动画样式</style>`
|
||||
|
||||
|
||||
|
||||
----
|
||||
|
||||
目前提供有两个样式,均在 `public/loading` 文件夹内。且 pro 已经默认使用了一套 loading 动画方案,可以直接参考 `public/index.html`
|
||||
|
||||
|
||||
## 写在最后
|
||||
|
||||
目前 pro 有页面 overflow 显示出浏览器滚动条时,页面会抖动一下的问题。
|
||||
|
||||
欢迎各位提供能解决的方案和实现 demo。如果在条件允许的情况下,建议请直接使用 pro 进行改造,也欢迎直接 PR 到 pro 的仓库
|
|
@ -1,40 +0,0 @@
|
|||
先增加依赖
|
||||
|
||||
```bash
|
||||
// npm
|
||||
$ npm install --save-dev webpack-bundle-analyzer
|
||||
|
||||
// or yarn
|
||||
$ yarn add webpack-bundle-analyzer -D
|
||||
```
|
||||
|
||||
配置文件 `vue.config.js` 增加 `configureWebpack.plugins` 参数
|
||||
|
||||
```
|
||||
const path = require('path')
|
||||
const webpack = require('webpack')
|
||||
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
|
||||
|
||||
function resolve (dir) {
|
||||
return path.join(__dirname, dir)
|
||||
}
|
||||
|
||||
// vue.config.js
|
||||
module.exports = {
|
||||
configureWebpack: {
|
||||
plugins: [
|
||||
// Ignore all locale files of moment.js
|
||||
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
|
||||
// 依赖大小分析工具
|
||||
new BundleAnalyzerPlugin(),
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
启动 `cli` 的 `build` 命令进行项目编译,编译完成时,会自动运行一个 http://localhost:8888 的地址,完整显示了支持库依赖
|
|
@ -1,23 +0,0 @@
|
|||
module.exports = {
|
||||
moduleFileExtensions: [
|
||||
'js',
|
||||
'jsx',
|
||||
'json',
|
||||
'vue'
|
||||
],
|
||||
transform: {
|
||||
'^.+\\.vue$': 'vue-jest',
|
||||
'.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$': 'jest-transform-stub',
|
||||
'^.+\\.jsx?$': 'babel-jest'
|
||||
},
|
||||
moduleNameMapper: {
|
||||
'^@/(.*)$': '<rootDir>/src/$1'
|
||||
},
|
||||
snapshotSerializers: [
|
||||
'jest-serializer-vue'
|
||||
],
|
||||
testMatch: [
|
||||
'**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'
|
||||
],
|
||||
testURL: 'http://localhost/'
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"target": "es6",
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["src/*"]
|
||||
}
|
||||
},
|
||||
"exclude": ["node_modules", "dist"],
|
||||
"include": ["src/**/*"]
|
||||
}
|
108
package.json
|
@ -1,108 +0,0 @@
|
|||
{
|
||||
"name": "vue-antd-pro",
|
||||
"version": "3.0.2",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
"build": "vue-cli-service build",
|
||||
"test:unit": "vue-cli-service test:unit",
|
||||
"lint": "vue-cli-service lint",
|
||||
"build:preview": "vue-cli-service build --mode preview",
|
||||
"lint:nofix": "vue-cli-service lint --no-fix",
|
||||
"lint:js": "eslint src/**/*.js --fix",
|
||||
"lint:css": "stylelint src/**/*.*ss --fix --custom-syntax postcss-less",
|
||||
"prepare": "husky install"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ant-design-vue/pro-layout": "^1.0.11",
|
||||
"@antv/data-set": "^0.10.2",
|
||||
"ant-design-vue": "^1.7.8",
|
||||
"axios": "^0.26.1",
|
||||
"core-js": "^3.21.1",
|
||||
"dayjs": "^1.11.5",
|
||||
"docx-preview": "^0.1.11",
|
||||
"echarts": "^5.3.3",
|
||||
"enquire.js": "^2.1.6",
|
||||
"html2canvas": "^1.4.1",
|
||||
"jspdf": "^2.5.1",
|
||||
"lodash.clonedeep": "^4.5.0",
|
||||
"lodash.get": "^4.4.2",
|
||||
"lodash.pick": "^4.4.0",
|
||||
"md5": "^2.3.0",
|
||||
"mockjs2": "1.0.8",
|
||||
"moment": "^2.29.2",
|
||||
"nprogress": "^0.2.0",
|
||||
"spark-md5": "^3.0.2",
|
||||
"store": "^2.0.12",
|
||||
"v-contextmenu": "^2.9.0",
|
||||
"viser-vue": "^2.4.8",
|
||||
"vue": "^2.6.14",
|
||||
"vue-clipboard2": "^0.2.1",
|
||||
"vue-cropper": "0.4.9",
|
||||
"vue-echarts": "^6.2.3",
|
||||
"vue-i18n": "^8.27.1",
|
||||
"vue-json-viewer": "^2.2.19",
|
||||
"vue-pdf": "^4.3.0",
|
||||
"vue-pdf-embed": "^1.1.4",
|
||||
"vue-print-nb": "^1.7.5",
|
||||
"vue-quill-editor": "^3.0.6",
|
||||
"vue-router": "^3.5.3",
|
||||
"vue-runtime-helpers": "^1.1.2",
|
||||
"vue-svg-component-runtime": "^1.0.1",
|
||||
"vuescroll": "^4.17.5",
|
||||
"vuex": "^3.6.2",
|
||||
"wangeditor": "^3.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@ant-design/colors": "^3.2.2",
|
||||
"@commitlint/cli": "^12.1.4",
|
||||
"@commitlint/config-conventional": "^12.1.4",
|
||||
"@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
|
||||
"@vue/cli-plugin-babel": "^4.5.17",
|
||||
"@vue/cli-plugin-eslint": "^4.5.17",
|
||||
"@vue/cli-plugin-router": "^4.5.17",
|
||||
"@vue/cli-plugin-unit-jest": "^4.5.17",
|
||||
"@vue/cli-plugin-vuex": "^4.5.17",
|
||||
"@vue/cli-service": "^4.5.17",
|
||||
"@vue/eslint-config-standard": "^4.0.0",
|
||||
"@vue/test-utils": "^1.3.0",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"babel-plugin-import": "^1.13.3",
|
||||
"babel-plugin-transform-remove-console": "^6.9.4",
|
||||
"commitizen": "^4.2.4",
|
||||
"cz-conventional-changelog": "^3.3.0",
|
||||
"eslint": "^5.16.0",
|
||||
"eslint-plugin-html": "^5.0.5",
|
||||
"eslint-plugin-vue": "^5.2.3",
|
||||
"file-loader": "^6.2.0",
|
||||
"git-revision-webpack-plugin": "^3.0.6",
|
||||
"husky": "^6.0.0",
|
||||
"less": "^3.13.1",
|
||||
"less-loader": "^5.0.0",
|
||||
"lint-staged": "^12.5.0",
|
||||
"postcss-less": "^6.0.0",
|
||||
"regenerator-runtime": "^0.13.9",
|
||||
"stylelint": "^14.8.5",
|
||||
"stylelint-config-css-modules": "^4.1.0",
|
||||
"stylelint-config-recess-order": "^3.0.0",
|
||||
"stylelint-config-recommended": "^7.0.0",
|
||||
"stylelint-config-standard": "^25.0.0",
|
||||
"stylelint-order": "^5.0.0",
|
||||
"vue-svg-icon-loader": "^2.1.1",
|
||||
"vue-template-compiler": "^2.6.14",
|
||||
"webpack-theme-color-replacer": "^1.3.26"
|
||||
},
|
||||
"config": {
|
||||
"commitizen": {
|
||||
"path": "./node_modules/cz-conventional-changelog"
|
||||
}
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
|
||||
}
|
||||
},
|
||||
"gitHooks": {
|
||||
"pre-commit": "lint-staged"
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
module.exports = {
|
||||
plugins: {
|
||||
autoprefixer: {}
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 78 KiB |
|
@ -1,133 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh-cmn-Hans">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<link rel="icon" href="<%= BASE_URL %>logo.ico">
|
||||
<title>智能图文查重比对数据系统</title>
|
||||
<style>
|
||||
.first-loading-wrp {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
min-height: 420px;
|
||||
height: 100%
|
||||
}
|
||||
|
||||
.first-loading-wrp>h1 {
|
||||
font-size: 128px
|
||||
}
|
||||
|
||||
.first-loading-wrp .loading-wrp {
|
||||
padding: 98px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.dot {
|
||||
animation: antRotate 1.2s infinite linear;
|
||||
transform: rotate(45deg);
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
font-size: 32px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
box-sizing: border-box
|
||||
}
|
||||
|
||||
.dot i {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
position: absolute;
|
||||
display: block;
|
||||
background-color: #1890ff;
|
||||
border-radius: 100%;
|
||||
transform: scale(.75);
|
||||
transform-origin: 50% 50%;
|
||||
opacity: .3;
|
||||
animation: antSpinMove 1s infinite linear alternate
|
||||
}
|
||||
|
||||
.dot i:nth-child(1) {
|
||||
top: 0;
|
||||
left: 0
|
||||
}
|
||||
|
||||
.dot i:nth-child(2) {
|
||||
top: 0;
|
||||
right: 0;
|
||||
-webkit-animation-delay: .4s;
|
||||
animation-delay: .4s
|
||||
}
|
||||
|
||||
.dot i:nth-child(3) {
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
-webkit-animation-delay: .8s;
|
||||
animation-delay: .8s
|
||||
}
|
||||
|
||||
.dot i:nth-child(4) {
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
-webkit-animation-delay: 1.2s;
|
||||
animation-delay: 1.2s
|
||||
}
|
||||
|
||||
@keyframes antRotate {
|
||||
to {
|
||||
-webkit-transform: rotate(405deg);
|
||||
transform: rotate(405deg)
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes antRotate {
|
||||
to {
|
||||
-webkit-transform: rotate(405deg);
|
||||
transform: rotate(405deg)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes antSpinMove {
|
||||
to {
|
||||
opacity: 1
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes antSpinMove {
|
||||
to {
|
||||
opacity: 1
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<!-- require cdn assets css -->
|
||||
<% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css) { %>
|
||||
<link rel="stylesheet" href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" />
|
||||
<% } %>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<noscript>
|
||||
<strong>We're sorry but vue-antd-pro doesn't work properly without JavaScript enabled. Please enable it to
|
||||
continue.</strong>
|
||||
</noscript>
|
||||
<div id="app">
|
||||
<div class="first-loading-wrp">
|
||||
<h4>正在加载,请稍后...</h4>
|
||||
<div class="loading-wrp">
|
||||
<span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- require cdn assets js -->
|
||||
<% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %>
|
||||
<script type="text/javascript" src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
|
||||
<% } %>
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
|
||||
</html>
|
BIN
public/logo.ico
Before Width: | Height: | Size: 4.2 KiB |
101
src/App.vue
|
@ -1,101 +0,0 @@
|
|||
<template>
|
||||
<a-config-provider :locale="locale">
|
||||
<div id="app">
|
||||
<router-view />
|
||||
</div>
|
||||
</a-config-provider>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { domTitle, setDocumentTitle } from '@/utils/domUtil'
|
||||
import { i18nRender } from '@/locales'
|
||||
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
locale () {
|
||||
// 只是为了切换语言时,更新标题
|
||||
const { title } = this.$route.meta
|
||||
title && (setDocumentTitle(`${i18nRender(title)} - ${domTitle}`))
|
||||
|
||||
return this.$i18n.getLocaleMessage(this.$store.getters.lang).antLocale
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.ant-table td {
|
||||
white-space: nowrap !important;
|
||||
}
|
||||
|
||||
.ant-table th {
|
||||
white-space: nowrap !important;
|
||||
}
|
||||
|
||||
.ant-table-thead>tr>th,
|
||||
.ant-table-tbody>tr>td {
|
||||
/* padding: 6px 6px !important; */
|
||||
overflow-wrap: break-word;
|
||||
/* font-size: 12px; */
|
||||
}
|
||||
|
||||
.flexRowStart {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.flexRowCenter {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.flexCenterCenter {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.shaixuan_float_left {
|
||||
float: left;
|
||||
margin-right: 20px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style lang="less">
|
||||
.full-modal {
|
||||
.ant-modal {
|
||||
width: 100%;
|
||||
top: 0;
|
||||
padding-bottom: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.ant-modal-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: calc(100vh);
|
||||
width: calc(100vw);
|
||||
}
|
||||
.ant-modal-body {
|
||||
flex: 1;
|
||||
}
|
||||
.ant-layout-content{
|
||||
height: calc(100vh - 10vh) !important;
|
||||
}
|
||||
}
|
||||
// 弹窗全局切换icon样式
|
||||
.screen-change {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-size: 16px 16px;
|
||||
margin-right: 40px;
|
||||
margin-top: 5px;
|
||||
background-repeat: no-repeat;
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
|
@ -1,67 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
const api = {
|
||||
projectNumber: '/project/projectAnalysis/statisticsProjectNumber',
|
||||
projectAmount: '/project/projectAnalysis/statisticsProjectAmount',
|
||||
winningNumber: '/project/projectAnalysis/statisticsWinningNumber',
|
||||
supplierAmount: '/project/projectAnalysis/statisticsSupplierAmount',
|
||||
participationCount: '/project/projectAnalysis/statisticsParticipationCount',
|
||||
winningAmount: '/project/projectAnalysis/statisticsWinningAmount',
|
||||
checkResult: '/project/projectAnalysis/statisticsCheckResult'
|
||||
}
|
||||
|
||||
export function projectNumber (params) {
|
||||
return request({
|
||||
url: api.projectNumber,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function projectAmount (params) {
|
||||
return request({
|
||||
url: api.projectAmount,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function winningNumber (params) {
|
||||
return request({
|
||||
url: api.winningNumber,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function supplierAmount (params) {
|
||||
return request({
|
||||
url: api.supplierAmount,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function participationCount (params) {
|
||||
return request({
|
||||
url: api.participationCount,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function winningAmount (params) {
|
||||
return request({
|
||||
url: api.winningAmount,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function checkResult (params) {
|
||||
return request({
|
||||
url: api.checkResult,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
|
@ -1,103 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
const api = {
|
||||
yearTenderNumber: '/project/tenderAnalysis/statisticsYearTenderNumber',
|
||||
tenderNumber: '/project/tenderAnalysis/statisticsRangeTenderNumber',
|
||||
violationTimes: '/project/tenderAnalysis/statisticsViolationTimes',
|
||||
statisticsViolationTimesPie: '/project/tenderAnalysis/statisticsViolationTimesPie',
|
||||
involvedTenderNumber: '/project/tenderAnalysis/involvedTenderNumber',
|
||||
winningAmountList: '/project/tenderAnalysis/statisticsWinningAmountList',
|
||||
winningList: '/project/tenderAnalysis/statisticsWinningList',
|
||||
getManyCompaniesBiddingList: '/project/tenderAnalysis/getManyCompaniesBiddingList',
|
||||
statisticsWinningUnitList: '/project/tenderAnalysis/statisticsWinningUnitList',
|
||||
statisticsWinningDeptList: '/project/tenderAnalysis/statisticsWinningDeptList',
|
||||
getCompaniesBiddingTotalList: '/project/tenderAnalysis/getCompaniesBiddingTotalList'
|
||||
}
|
||||
|
||||
export function yearTenderNumber (params) {
|
||||
return request({
|
||||
url: api.yearTenderNumber,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function tenderNumber (params) {
|
||||
return request({
|
||||
url: api.tenderNumber,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function violationTimes (params) {
|
||||
return request({
|
||||
url: api.violationTimes,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function statisticsViolationTimesPie (params) {
|
||||
return request({
|
||||
url: api.statisticsViolationTimesPie,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function involvedTenderNumber (params) {
|
||||
return request({
|
||||
url: api.involvedTenderNumber,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function winningAmountList (params) {
|
||||
return request({
|
||||
url: api.winningAmountList,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function winningList (params) {
|
||||
return request({
|
||||
url: api.winningList,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function getManyCompaniesBiddingList (data) {
|
||||
return request({
|
||||
url: api.getManyCompaniesBiddingList,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function statisticsWinningUnitList (data) {
|
||||
return request({
|
||||
url: api.statisticsWinningUnitList,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function statisticsWinningDeptList (params) {
|
||||
return request({
|
||||
url: api.statisticsWinningDeptList,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function getCompaniesBiddingTotalList (data) {
|
||||
return request({
|
||||
url: api.getCompaniesBiddingTotalList,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
const deptApi = {
|
||||
tableColumnList: '/db/table/tableColumnList',
|
||||
tableList: '/db/table/tableList'
|
||||
}
|
||||
|
||||
export function tableColumnList (params) {
|
||||
return request({
|
||||
url: deptApi.tableColumnList,
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function tableList (params) {
|
||||
return request({
|
||||
url: deptApi.tableList,
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
|
@ -1,55 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
const userApi = {
|
||||
Login: '/auth/login',
|
||||
Logout: '/auth/logout',
|
||||
// get my info
|
||||
UserInfo: '/auth/userInfo',
|
||||
UserMenu: '/user/nav'
|
||||
}
|
||||
|
||||
/**
|
||||
* login func
|
||||
* params: {
|
||||
* username: '',
|
||||
* password: '',
|
||||
* remember_me: true,
|
||||
* captcha: '12345'
|
||||
* }
|
||||
* @param parameter
|
||||
* @returns {*}
|
||||
*/
|
||||
export function login (parameter) {
|
||||
return request({
|
||||
url: userApi.Login,
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function getInfo () {
|
||||
return request({
|
||||
url: userApi.UserInfo,
|
||||
method: 'get',
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function getCurrentUserNav () {
|
||||
return request({
|
||||
url: userApi.UserMenu,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function logout () {
|
||||
return request({
|
||||
url: userApi.Logout,
|
||||
method: 'post',
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
}
|
||||
})
|
||||
}
|
|
@ -1,131 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
const api = {
|
||||
user: '/user',
|
||||
role: '/role',
|
||||
service: '/service',
|
||||
permission: '/permission',
|
||||
permissionNoPager: '/permission/no-pager',
|
||||
orgTree: '/org/tree'
|
||||
}
|
||||
|
||||
export default api
|
||||
|
||||
export function getUserList (parameter) {
|
||||
return request({
|
||||
url: api.user,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function getRoleList (parameter) {
|
||||
return request({
|
||||
url: api.role,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function getServiceList (parameter) {
|
||||
return request({
|
||||
url: api.service,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function getPermissions (parameter) {
|
||||
return request({
|
||||
url: api.permissionNoPager,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function getOrgTree (parameter) {
|
||||
return request({
|
||||
url: api.orgTree,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
// id == 0 add post
|
||||
// id != 0 update put
|
||||
export function saveService (parameter) {
|
||||
return request({
|
||||
url: api.service,
|
||||
method: parameter.id === 0 ? 'post' : 'put',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function saveSub (sub) {
|
||||
return request({
|
||||
url: '/sub',
|
||||
method: sub.id === 0 ? 'post' : 'put',
|
||||
data: sub
|
||||
})
|
||||
}
|
||||
|
||||
// post
|
||||
export function postAction (url, parameter) {
|
||||
return request({
|
||||
url: url,
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function postAction1 (url, parameter) {
|
||||
return request({
|
||||
url: url,
|
||||
method: 'post',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
// post method= {post | put}
|
||||
export function httpAction (url, parameter, method) {
|
||||
return request({
|
||||
url: url,
|
||||
method: method,
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
// put
|
||||
export function putAction (url, parameter) {
|
||||
return request({
|
||||
url: url,
|
||||
method: 'put',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
// get
|
||||
export function getAction (url, parameter) {
|
||||
return request({
|
||||
url: url,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
// deleteAction
|
||||
export function deleteAction (url, parameter) {
|
||||
return request({
|
||||
url: url,
|
||||
method: 'delete',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteActionInBody (url, data) {
|
||||
return request({
|
||||
url: url,
|
||||
method: 'delete',
|
||||
data
|
||||
})
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
|
||||
import request from '@/utils/request'
|
||||
|
||||
const api = {
|
||||
list: '/pdf/parseingPdfList',
|
||||
parseingPDFToWord: '/pdf/parseingPDFToWord',
|
||||
download: '/pdf/download'
|
||||
}
|
||||
|
||||
export function getList (params) {
|
||||
return request({
|
||||
url: api.list,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function download (params) {
|
||||
return request({
|
||||
url: api.download,
|
||||
method: 'GET',
|
||||
isDownload: true,
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function parseingPDFToWord (data, params = {}) {
|
||||
return request({
|
||||
url: api.parseingPDFToWord,
|
||||
method: 'POST',
|
||||
data,
|
||||
params
|
||||
})
|
||||
}
|
|
@ -1,78 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
export const api = {
|
||||
getNotCheckProjectList: '/project/biddingproject/getNotCheckProjectList',
|
||||
list: '/project/biddingproject/getList',
|
||||
add: '/project/biddingproject/add',
|
||||
edit: '/project/biddingproject/edit',
|
||||
remove: '/project/biddingproject/remove',
|
||||
checkName: '/project/biddingproject/checkNameUnique',
|
||||
info: '/project/biddingproject/getInfo',
|
||||
template: '/project/biddingproject/exportTemplate',
|
||||
export: '/project/biddingproject/exportExcel',
|
||||
import: '/project/biddingproject/importExcel'
|
||||
}
|
||||
|
||||
export function getList (params) {
|
||||
return request({
|
||||
url: api.list,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function getNotCheckProjectList (params) {
|
||||
return request({
|
||||
url: api.getNotCheckProjectList,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
export function getInfo (params) {
|
||||
return request({
|
||||
url: api.info,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function create (data) {
|
||||
return request({
|
||||
url: api.add,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function edit (data) {
|
||||
return request({
|
||||
url: api.edit,
|
||||
method: 'PUT',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function checkNameUnique (params) {
|
||||
return request({
|
||||
url: api.checkName,
|
||||
method: 'POST',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function remove (params) {
|
||||
return request({
|
||||
url: api.remove,
|
||||
method: 'DELETE',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function exportExcel (data) {
|
||||
return request({
|
||||
url: api.export,
|
||||
method: 'POST',
|
||||
isDownload: true,
|
||||
data
|
||||
})
|
||||
}
|
|
@ -1,70 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
export const api = {
|
||||
list: '/project/tenderbook/getList',
|
||||
add: '/project/tenderbook/add',
|
||||
edit: '/project/tenderbook/edit',
|
||||
remove: '/project/tenderbook/remove',
|
||||
checkUnique: '/project/tenderbook/checkNameUnique',
|
||||
info: '/project/tenderbook/getInfo',
|
||||
template: '/project/tenderbook/exportTemplate',
|
||||
export: '/project/tenderbook/exportExcel',
|
||||
import: '/project/tenderbook/importExcel'
|
||||
}
|
||||
|
||||
export function getList (params) {
|
||||
return request({
|
||||
url: api.list,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function create (data) {
|
||||
return request({
|
||||
url: api.add,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function edit (data) {
|
||||
return request({
|
||||
url: api.edit,
|
||||
method: 'PUT',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function remove (params) {
|
||||
return request({
|
||||
url: api.remove,
|
||||
method: 'DELETE',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function checkUnique (params) {
|
||||
return request({
|
||||
url: api.checkUnique,
|
||||
method: 'POST',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function getInfo (params) {
|
||||
return request({
|
||||
url: api.info,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function exportExcel (data) {
|
||||
return request({
|
||||
url: api.export,
|
||||
method: 'POST',
|
||||
isDownload: true,
|
||||
data
|
||||
})
|
||||
}
|
|
@ -1,79 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
export const api = {
|
||||
add: '/project/tenderproject/add',
|
||||
list: '/project/tenderproject/getList',
|
||||
edit: '/project/tenderproject/edit',
|
||||
remove: '/project/tenderproject/remove',
|
||||
template: '/project/tenderproject/exportTemplate',
|
||||
export: '/project/tenderproject/exportExcel',
|
||||
import: '/project/tenderproject/importExcel',
|
||||
checkName: '/project/tenderproject/checkNameUnique',
|
||||
checkCode: '/project/tenderproject/checkCodeUnique',
|
||||
getProjectNameList: '/project/tenderproject/getProjectNameList'
|
||||
}
|
||||
|
||||
export function getList (params) {
|
||||
return request({
|
||||
url: api.list,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function getProjectNameList (params) {
|
||||
return request({
|
||||
url: api.getProjectNameList,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function create (data) {
|
||||
return request({
|
||||
url: api.add,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function checkNameUnique (params) {
|
||||
return request({
|
||||
url: api.checkName,
|
||||
method: 'POST',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function checkCodeUnique (params) {
|
||||
return request({
|
||||
url: api.checkCode,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function edit (data) {
|
||||
return request({
|
||||
url: api.edit,
|
||||
method: 'PUT',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function remove (params) {
|
||||
return request({
|
||||
url: api.remove,
|
||||
method: 'DELETE',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function exportExcel (data) {
|
||||
return request({
|
||||
url: api.export,
|
||||
method: 'POST',
|
||||
isDownload: true,
|
||||
data
|
||||
})
|
||||
}
|
|
@ -1,308 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
const api = {
|
||||
uploadFile: '/Recheck/uploadFile',
|
||||
getDocument: '/Recheck/getTotalTaskDocumentList',
|
||||
articleDom: '/Recheck/getDocumentPage',
|
||||
compareDetail: '/Recheck/compareStructDetail',
|
||||
list: '/task/findReportPage',
|
||||
compareDocumentDetail: '/Recheck/compareDocumentDetail',
|
||||
createTotalTask: '/task/create',
|
||||
getDocumentStructured: '/Recheck/getDocumentStructured',
|
||||
docSearchList: '/file/findFilePage',
|
||||
reportDetail: '/Recheck/getReport',
|
||||
totalTask: '/task/findTaskPage',
|
||||
analyzeDocument: '/task/reparseTask',
|
||||
allDocument: '/Recheck/getAllDocument',
|
||||
downloadConvertFile: '/file/downloadConvertFile',
|
||||
getDocumentProperties: '/Recheck/getDocumentProperties',
|
||||
remove: '/task/deleteTask', // 任务监控删除接口
|
||||
removeTaskMonitor: '/task/deleteTaskMonitoring', // 任务监控删除接口
|
||||
edit: '/Recheck/updateTotalTask',
|
||||
getTaskFileViewById: '/task/findTaskDetail', // 获取任务详情
|
||||
taskFileList: '/task/findFileList',
|
||||
updateTotalTask: '/task/updateTask', // 文档查重页面重新上传接口
|
||||
findCheckReport: '/task/findCheckReport',
|
||||
updateSubmitState: '/task/updateSubmitState', // 提交接口
|
||||
updateAuditStatus: '/project/biddingproject/updateAuditStatus', // 提交接口
|
||||
findAllReport: '/task/findAllReport', // 总报告接口
|
||||
stopTask: '/task/stopTask?', // 总报告接口
|
||||
stickTask: '/task/updateTaskOrder', // 置顶
|
||||
checkTaskDescription: '/checkTaskDescription/findList' // 总报告接口
|
||||
}
|
||||
|
||||
export function uploadFile (data, params = {}) {
|
||||
return request({
|
||||
url: api.uploadFile,
|
||||
method: 'POST',
|
||||
data,
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function createTotalTask (data) {
|
||||
return request({
|
||||
url: api.createTotalTask,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 文档查重查询文件信息接口
|
||||
* @param {*} taskId
|
||||
* @returns
|
||||
*/
|
||||
export function getReportFileList (taskId) {
|
||||
return request({
|
||||
url: api.taskFileList,
|
||||
method: 'GET',
|
||||
params: {
|
||||
taskId
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 任务监控查询文件信息接口
|
||||
* @param {*} taskId
|
||||
* @returns
|
||||
*/
|
||||
export function getTaskFileList (taskId) {
|
||||
return request({
|
||||
url: api.taskFileList,
|
||||
method: 'GET',
|
||||
params: {
|
||||
taskId
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function removeTaskMonitor (params) {
|
||||
return request({
|
||||
url: api.removeTaskMonitor,
|
||||
method: 'DELETE',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 文档查重页面重新上传
|
||||
* @param {*} data
|
||||
* @returns
|
||||
*/
|
||||
export function updateTotalTask (data) {
|
||||
return request({
|
||||
url: api.updateTotalTask,
|
||||
method: 'PUT',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看报告
|
||||
* @param {*} taskId
|
||||
* @param {*} fileId
|
||||
* @returns
|
||||
*/
|
||||
export function findCheckReport (taskId, fileId) {
|
||||
return request({
|
||||
url: api.findCheckReport,
|
||||
params: {
|
||||
taskId,
|
||||
fileId
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function updateSubmitState (taskId, submitState, description, analysis) {
|
||||
return request({
|
||||
url: api.updateSubmitState,
|
||||
method: 'PUT',
|
||||
params: {
|
||||
taskId,
|
||||
submitState,
|
||||
description,
|
||||
analysis
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function updateAuditStatus (projectId, auditStatus, unitIds, description) {
|
||||
return request({
|
||||
url: api.updateAuditStatus,
|
||||
method: 'PUT',
|
||||
params: {
|
||||
projectId,
|
||||
auditStatus,
|
||||
unitIds,
|
||||
description
|
||||
}
|
||||
})
|
||||
}
|
||||
export function getDocumentStructured (data) {
|
||||
return request({
|
||||
url: api.getDocumentStructured,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function getList (params = {}) {
|
||||
return request({
|
||||
url: api.list,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocument (params = {}) {
|
||||
return request({
|
||||
url: api.getDocument,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function getArticleDom (params = {}) {
|
||||
return request({
|
||||
url: api.articleDom,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
export function getCompareDetail (params = {}) {
|
||||
return request({
|
||||
url: api.compareDetail,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function getCompareDocumentDetail (params = {}) {
|
||||
return request({
|
||||
url: api.compareDocumentDetail,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function docSearchList (params) {
|
||||
return request({
|
||||
url: api.docSearchList,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function getReportDetail (params) {
|
||||
return request({
|
||||
url: api.reportDetail,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function getTotalTask (params) {
|
||||
return request({
|
||||
url: api.totalTask,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function analyzeDocument (params) {
|
||||
return request({
|
||||
url: api.analyzeDocument,
|
||||
method: 'PUT',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function getAllDocument (params) {
|
||||
return request({
|
||||
url: api.allDocument,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function downloadConvertFile (params) {
|
||||
return request({
|
||||
url: api.downloadConvertFile,
|
||||
method: 'get',
|
||||
isRawData: true,
|
||||
responseType: 'blob',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentProperties (params = {}) {
|
||||
return request({
|
||||
url: api.getDocumentProperties,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function removeTotalTask (params) {
|
||||
return request({
|
||||
url: api.remove,
|
||||
method: 'DELETE',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function edit (data) {
|
||||
return request({
|
||||
url: api.edit,
|
||||
method: 'PUT',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取任务详细信息
|
||||
export function getTaskFileViewById (taskId) {
|
||||
return request({
|
||||
url: api.getTaskFileViewById,
|
||||
params: {
|
||||
taskId
|
||||
}
|
||||
})
|
||||
}
|
||||
export function stopTask (params) {
|
||||
return request({
|
||||
url: api.stopTask,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
export function checkTaskDescription (taskId) {
|
||||
return request({
|
||||
url: api.checkTaskDescription,
|
||||
params: {
|
||||
taskId
|
||||
}
|
||||
})
|
||||
}
|
||||
export function findAllReport (taskId) {
|
||||
return request({
|
||||
url: api.findAllReport,
|
||||
params: {
|
||||
taskId
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 置顶
|
||||
* @param {*} params
|
||||
* @returns
|
||||
*/
|
||||
export function stickTask (params) {
|
||||
return request({
|
||||
url: api.stickTask,
|
||||
method: 'PUT',
|
||||
params
|
||||
})
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
const api = {
|
||||
getHttpUrl: '/httpurl/getHttpUrl',
|
||||
update: '/httpurl/update'
|
||||
}
|
||||
|
||||
export function getHttpUrl (data, params = {}) {
|
||||
return request({
|
||||
url: api.getHttpUrl,
|
||||
method: 'get',
|
||||
data,
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function update (params) {
|
||||
return request({
|
||||
url: api.update,
|
||||
method: 'put',
|
||||
params
|
||||
})
|
||||
}
|
|
@ -1,204 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
import { message } from 'ant-design-vue'
|
||||
|
||||
export const fileApi = {
|
||||
VerifyUpload: '/file/verifyFileExist',
|
||||
MergeFile: '/file/mergeFile',
|
||||
UpdateFolder: '/file/updateFolder',
|
||||
GetUserFolderAndFiles: '/file/folder/getUserFolderAndFiles',
|
||||
CreateFolder: '/file/folder/add',
|
||||
GetFolderInfo: '/file/folder/getInfo',
|
||||
EditFolder: '/file/folder/edit',
|
||||
RemoveFolder: '/file/folder/remove',
|
||||
GetFileSize: '/file/filesize',
|
||||
FileDown: '/file/download',
|
||||
downloadById: '/file/downloadById',
|
||||
|
||||
downloadTask: '/file/downloadTask', // 查重页下载相应的文件
|
||||
downloadTaskById: '/file/downloadTaskById', // 查重页下载相应的文件
|
||||
downloadTaskConvertFile: '/file/downloadTaskConvertFile', // 查重页下载相应的文件
|
||||
exportProjectUnitToExcel: '/project/projectAnalysis/exportProjectUnitToExcel' // 查重页下载相应的文件
|
||||
}
|
||||
|
||||
// 校验文件是否上传
|
||||
export function verifyUpload (params) {
|
||||
return request({
|
||||
url: fileApi.VerifyUpload,
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// 合并文件
|
||||
export function mergeFile (data) {
|
||||
return request({
|
||||
url: fileApi.MergeFile,
|
||||
method: 'post',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
// 调整文件所属文件夹
|
||||
export function updateFolder (params) {
|
||||
return request({
|
||||
url: fileApi.UpdateFolder,
|
||||
method: 'post',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// 获取当前用户的文件夹及文件
|
||||
export function getUserFolderAndFiles (params) {
|
||||
return request({
|
||||
url: fileApi.GetUserFolderAndFiles,
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
// 创建文件夹
|
||||
export function createFolder (data) {
|
||||
return request({
|
||||
url: fileApi.CreateFolder,
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取文件夹详情
|
||||
export function getFolderInfo (params) {
|
||||
return request({
|
||||
url: fileApi.GetFolderInfo,
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑文件夹信息
|
||||
export function editFolder (data) {
|
||||
return request({
|
||||
url: fileApi.EditFolder,
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除文件夹
|
||||
export function removeFolder (params) {
|
||||
return request({
|
||||
url: fileApi.RemoveFolder,
|
||||
method: 'delete',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// 获取文件大小
|
||||
export function getFileSize (params) {
|
||||
return request({
|
||||
url: fileApi.GetFileSize,
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// 下载文件
|
||||
export function fileDown (params, contentRage) {
|
||||
return request({
|
||||
url: fileApi.FileDown,
|
||||
method: 'get',
|
||||
params,
|
||||
// headers: { Range: contentRage },
|
||||
responseType: 'blob',
|
||||
isRawData: true
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 下载文件 用于excel导出
|
||||
* @param url
|
||||
* @param parameter
|
||||
* @returns {*}
|
||||
*/
|
||||
export function downFile (url, parameter) {
|
||||
return request({
|
||||
url: url,
|
||||
params: parameter,
|
||||
method: 'get',
|
||||
responseType: 'blob',
|
||||
isRawData: true
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载文件
|
||||
* @param url 文件路径
|
||||
* @param fileName 文件名
|
||||
* @param parameter
|
||||
* @returns {*}
|
||||
*/
|
||||
export function downloadFile (fileName, parameter, downloadUrl) {
|
||||
return downFile(downloadUrl || fileApi.FileDown, parameter).then((data) => {
|
||||
if (!data || data.size === 0) {
|
||||
console.error('文件下载失败')
|
||||
return
|
||||
}
|
||||
if (typeof window.navigator.msSaveBlob !== 'undefined') {
|
||||
window.navigator.msSaveBlob(new Blob([data]), fileName)
|
||||
} else {
|
||||
const url = window.URL.createObjectURL(new Blob([data]))
|
||||
const link = document.createElement('a')
|
||||
link.style.display = 'none'
|
||||
link.href = url
|
||||
link.setAttribute('download', fileName)
|
||||
document.body.appendChild(link)
|
||||
link.click()
|
||||
document.body.removeChild(link) // 下载完成移除元素
|
||||
window.URL.revokeObjectURL(url) // 释放掉blob对象
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载文件
|
||||
* @param url 文件路径
|
||||
* @param fileName 文件名
|
||||
* @param parameter
|
||||
* @returns {*}
|
||||
*/
|
||||
export function downloadFile2 (fileName, parameter, downloadUrl) {
|
||||
return downFile(downloadUrl || fileApi.FileDown, parameter).then((data) => {
|
||||
if (!data || data.size === 0) {
|
||||
message.error('文件不存在,请重新上传文件')
|
||||
return
|
||||
}
|
||||
if (typeof window.navigator.msSaveBlob !== 'undefined') {
|
||||
window.navigator.msSaveBlob(new Blob([data]), fileName)
|
||||
} else {
|
||||
const url = window.URL.createObjectURL(new Blob([data]))
|
||||
const link = document.createElement('a')
|
||||
link.style.display = 'none'
|
||||
link.href = url
|
||||
link.setAttribute('download', fileName)
|
||||
document.body.appendChild(link)
|
||||
link.click()
|
||||
document.body.removeChild(link) // 下载完成移除元素
|
||||
window.URL.revokeObjectURL(url) // 释放掉blob对象
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// post
|
||||
export function postAction (url, parameter) {
|
||||
return request({
|
||||
url: url,
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function downloadById (params) {
|
||||
return request({
|
||||
url: fileApi.downloadById,
|
||||
method: 'get',
|
||||
isRawData: true,
|
||||
responseType: 'blob',
|
||||
params
|
||||
})
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
export const ApiUri = {
|
||||
list: '/backup/getBackupHistory',
|
||||
doBackUp: '/backup/doBackUp',
|
||||
download: '/backup/downloadFile',
|
||||
setting: '/backup/updateBackupProperties',
|
||||
getSetting: '/backup/getBackupProperties',
|
||||
backUpByTableName: '/backup/backUpByTableName',
|
||||
uploadSqlFile: '/backup/uploadSqlFile',
|
||||
executionInitSql: '/backup/executionInitSql',
|
||||
allTable: '/backup/getAllTable'
|
||||
}
|
||||
|
||||
export function getList (params) {
|
||||
return request({
|
||||
url: ApiUri.list,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function download (params) {
|
||||
return request({
|
||||
url: ApiUri.download,
|
||||
method: 'GET',
|
||||
params,
|
||||
isDownload: true
|
||||
})
|
||||
}
|
||||
|
||||
export function doBackUp (data) {
|
||||
return request({
|
||||
url: ApiUri.doBackUp,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function setting (data) {
|
||||
return request({
|
||||
url: ApiUri.setting,
|
||||
method: 'PUT',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function getSetting (data) {
|
||||
return request({
|
||||
url: ApiUri.getSetting,
|
||||
method: 'GET',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function backUpByTableName (params) {
|
||||
return request({
|
||||
url: ApiUri.backUpByTableName,
|
||||
method: 'GET',
|
||||
params,
|
||||
isDownload: true
|
||||
})
|
||||
}
|
||||
|
||||
export function uploadSqlFile (data) {
|
||||
return request({
|
||||
url: ApiUri.uploadSqlFile,
|
||||
method: 'POST',
|
||||
data,
|
||||
isDownload: true
|
||||
})
|
||||
}
|
||||
|
||||
export function executionInitSql (data) {
|
||||
return request({
|
||||
url: ApiUri.executionInitSql,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function getAllTable () {
|
||||
return request({
|
||||
url: ApiUri.allTable,
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
|
@ -1,54 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
const api = {
|
||||
checkFilter: '/checkFilter',
|
||||
filterWord: '/checkFilter/word'
|
||||
}
|
||||
|
||||
export function getConfig (params = {}) {
|
||||
return request({
|
||||
url: api.checkFilter,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function edit (data) {
|
||||
return request({
|
||||
url: api.checkFilter,
|
||||
method: 'PUT',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function getWordList (data) {
|
||||
return request({
|
||||
url: api.filterWord,
|
||||
method: 'GET',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function createWord (params) {
|
||||
return request({
|
||||
url: api.filterWord,
|
||||
method: 'POST',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function editWord (params) {
|
||||
return request({
|
||||
url: api.filterWord,
|
||||
method: 'PUT',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function removeWord (params) {
|
||||
return request({
|
||||
url: api.filterWord,
|
||||
method: 'DELETE',
|
||||
params
|
||||
})
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
const api = {
|
||||
checkThreshold: '/checkThreshold',
|
||||
create: '/checkThreshold/add',
|
||||
update: '/checkThreshold/update'
|
||||
}
|
||||
|
||||
export function getList (params = {}) {
|
||||
return request({
|
||||
url: api.checkThreshold,
|
||||
method: 'GET',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function create (data) {
|
||||
return request({
|
||||
url: api.create,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function edit (data) {
|
||||
return request({
|
||||
url: api.update,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function remove (params) {
|
||||
return request({
|
||||
url: api.checkThreshold,
|
||||
method: 'DELETE',
|
||||
params
|
||||
})
|
||||
}
|
|
@ -1,82 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
const deptApi = {
|
||||
create: '/system/dept/add',
|
||||
remove: '/system/dept/remove',
|
||||
getInfo: '/system/dept/getInfo',
|
||||
edit: '/system/dept/edit',
|
||||
list: '/system/dept/getList',
|
||||
getTreeSelect: '/system/dept/getTreeSelect',
|
||||
checkDeptNameUnique: '/system/dept/checkDeptNameUnique',
|
||||
changeStatus: '/system/dept/changeStatus',
|
||||
getChildren: '/system/dept/getChildren'
|
||||
}
|
||||
|
||||
export function create (params) {
|
||||
return request({
|
||||
url: deptApi.create,
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
export function remove (params) {
|
||||
return request({
|
||||
url: deptApi.remove,
|
||||
method: 'delete',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function getInfo (params) {
|
||||
return request({
|
||||
url: deptApi.getInfo,
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function edit (params) {
|
||||
return request({
|
||||
url: deptApi.edit,
|
||||
method: 'put',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
export function getList (params) {
|
||||
return request({
|
||||
url: deptApi.list,
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
export function getTreeSelect () {
|
||||
return request({
|
||||
url: deptApi.getTreeSelect,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function checkDeptNameUnique (params) {
|
||||
return request({
|
||||
url: deptApi.checkDeptNameUnique,
|
||||
method: 'post',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
export function changeStatus (params) {
|
||||
return request({
|
||||
url: deptApi.changeStatus,
|
||||
method: 'post',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function getChildren (params) {
|
||||
return request({
|
||||
url: deptApi.getChildren,
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
|
@ -1,128 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
const Api = {
|
||||
add: '/system/dictType/add',
|
||||
remove: '/system/dictType/remove',
|
||||
getInfo: '/system/dictType/get',
|
||||
edit: '/system/dictType/edit',
|
||||
checkTypeNameUnique: '/system/dictType/checkTypeNameUnique',
|
||||
checkTypeCodeUnique: '/system/dictType/checkTypeCodeUnique',
|
||||
typeTreeNode: '/system/dictType/getTreeNodes',
|
||||
typeList: '/system/dictType/getList',
|
||||
addDict: '/system/dictData/add',
|
||||
editDict: '/system/dictData/edit',
|
||||
removeDict: '/system/dictData/remove',
|
||||
getDictList: '/system/dictData/getList',
|
||||
getDictInfo: '/system/dictData/get',
|
||||
getDictOptions: '/system/dictData/getOptions'
|
||||
}
|
||||
|
||||
export function addType (params) {
|
||||
return request({
|
||||
url: Api.add,
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
export function editType (params) {
|
||||
return request({
|
||||
url: Api.edit,
|
||||
method: 'put',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
export function getType (params) {
|
||||
return request({
|
||||
url: Api.getInfo,
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function removeType (params) {
|
||||
return request({
|
||||
url: Api.remove,
|
||||
method: 'delete',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function removeDict (params) {
|
||||
return request({
|
||||
url: Api.removeDict,
|
||||
method: 'delete',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function getTypeTreeNodes () {
|
||||
return request({
|
||||
url: Api.typeTreeNode,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function checkTypeNameUnique (params) {
|
||||
return request({
|
||||
url: Api.checkTypeNameUnique,
|
||||
method: 'post',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function checkTypeCodeUnique (params) {
|
||||
return request({
|
||||
url: Api.checkTypeCodeUnique,
|
||||
method: 'post',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function getTypeList () {
|
||||
return request({
|
||||
url: Api.typeList,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function addDict (params) {
|
||||
return request({
|
||||
url: Api.addDict,
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
export function editDict (params) {
|
||||
return request({
|
||||
url: Api.editDict,
|
||||
method: 'put',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
export function getDictList (params) {
|
||||
return request({
|
||||
url: Api.getDictList,
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function getDictInfo (params) {
|
||||
return request({
|
||||
url: Api.getDictInfo,
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function getDictOptions (params) {
|
||||
return request({
|
||||
url: Api.getDictOptions,
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
const Api = {
|
||||
list: '/system/log/list',
|
||||
getInfo: '/system/log/getInfo',
|
||||
getLogFile: '/system/log/getLogFile'
|
||||
}
|
||||
|
||||
export function getList (params) {
|
||||
return request({
|
||||
url: Api.list,
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
export function getInfo (params) {
|
||||
return request({
|
||||
url: Api.getInfo,
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function getLogFile (params) {
|
||||
return request({
|
||||
url: Api.getLogFile,
|
||||
method: 'get',
|
||||
params: params,
|
||||
isDownload: true
|
||||
})
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
const menuApi = {
|
||||
create: '/system/menu/add',
|
||||
remove: '/system/menu/remove',
|
||||
getInfo: '/system/menu/getInfo',
|
||||
edit: '/system/menu/edit',
|
||||
list: '/system/menu/getList',
|
||||
getTreeSelect: '/system/menu/getTreeSelect',
|
||||
checkDeptNameUnique: '/system/menu/checkDeptNameUnique',
|
||||
changeStatus: '/system/menu/changeStatus',
|
||||
getMenuPermission: '/system/menu/getMenuPermission'
|
||||
}
|
||||
|
||||
export function create (params) {
|
||||
return request({
|
||||
url: menuApi.create,
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
export function remove (params) {
|
||||
return request({
|
||||
url: menuApi.remove,
|
||||
method: 'delete',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function getInfo (params) {
|
||||
return request({
|
||||
url: menuApi.getInfo,
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function edit (params) {
|
||||
return request({
|
||||
url: menuApi.edit,
|
||||
method: 'put',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
export function getList (params) {
|
||||
return request({
|
||||
url: menuApi.list,
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
export function getTreeSelect () {
|
||||
return request({
|
||||
url: menuApi.getTreeSelect,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// export function changeStatus (params) {
|
||||
// return request({
|
||||
// url: deptApi.changeStatus,
|
||||
// method: 'post',
|
||||
// params: params
|
||||
// })
|
||||
// }
|
||||
|
||||
export function getMenuPermission () {
|
||||
return request({
|
||||
url: menuApi.getMenuPermission,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
|
||||
import request from '@/utils/request'
|
||||
|
||||
export const ApiUri = {
|
||||
cleanKey: '/system/redis/cleanKey'
|
||||
}
|
||||
|
||||
export function cleanKey (params) {
|
||||
return request({
|
||||
url: ApiUri.cleanKey,
|
||||
method: 'POST',
|
||||
params
|
||||
})
|
||||
}
|
|
@ -1,85 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
const Api = {
|
||||
add: '/system/role/add',
|
||||
remove: '/system/role/remove',
|
||||
getInfo: '/system/role/getInfo',
|
||||
changeStatus: '/system/role/changeStatus',
|
||||
edit: '/system/role/edit',
|
||||
list: '/system/role/getList',
|
||||
checkRoleNameUnique: '/system/role/checkRoleNameUnique',
|
||||
getRoleOptions: '/system/role/getRoleOptions',
|
||||
getPermissions: '/system/role/getPermissions',
|
||||
setPermissions: '/system/role/setPermissions'
|
||||
}
|
||||
export function add (params) {
|
||||
return request({
|
||||
url: Api.add,
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
export function edit (params) {
|
||||
return request({
|
||||
url: Api.edit,
|
||||
method: 'put',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
export function remove (params) {
|
||||
return request({
|
||||
url: Api.remove,
|
||||
method: 'delete',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
export function getList (parameter) {
|
||||
return request({
|
||||
url: Api.list,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
export function getInfo (parameter) {
|
||||
return request({
|
||||
url: Api.getInfo,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
export function checkRoleNameUnique (params) {
|
||||
return request({
|
||||
url: Api.checkRoleNameUnique,
|
||||
method: 'post',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
export function changeStatus (params) {
|
||||
return request({
|
||||
url: Api.changeStatus,
|
||||
method: 'post',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
export function getRoleOptions () {
|
||||
return request({
|
||||
url: Api.getRoleOptions,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
export function setPermissions (parmas) {
|
||||
return request({
|
||||
url: Api.setPermissions,
|
||||
method: 'post',
|
||||
data: parmas
|
||||
})
|
||||
}
|
||||
|
||||
export function getPermissions (parmas) {
|
||||
return request({
|
||||
url: Api.getPermissions,
|
||||
method: 'get',
|
||||
params: parmas
|
||||
})
|
||||
}
|
|
@ -1,85 +0,0 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
const userApi = {
|
||||
Create: '/system/user/create',
|
||||
GetInfo: '/system/user/getInfo',
|
||||
Update: '/system/user/update',
|
||||
ResetPwd: '/system/user/resetPwd',
|
||||
Remove: '/system/user/delete',
|
||||
List: '/system/user/list',
|
||||
CheckUserNameUnique: '/system/user/checkUserNameUnique',
|
||||
CheckPhoneUnique: '/system/user/checkPhoneUnique',
|
||||
resetPwd: '/system/user/resetPwd',
|
||||
changeStatus: '/system/user/changeStatus'
|
||||
}
|
||||
export function CheckPhoneUnique (parameter) {
|
||||
return request({
|
||||
url: userApi.CheckPhoneUnique,
|
||||
method: 'post',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function CheckUserNameUnique (parameter) {
|
||||
return request({
|
||||
url: userApi.CheckUserNameUnique,
|
||||
method: 'post',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function Create (parameter) {
|
||||
return request({
|
||||
url: userApi.Create,
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function GetInfo (parameter) {
|
||||
return request({
|
||||
url: userApi.GetInfo,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function Update (parameter) {
|
||||
return request({
|
||||
url: userApi.Update,
|
||||
method: 'put',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function Remove (parameter) {
|
||||
return request({
|
||||
url: userApi.Remove,
|
||||
method: 'delete',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function List (parameter) {
|
||||
return request({
|
||||
url: userApi.List,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function resetPwd (parameter) {
|
||||
return request({
|
||||
url: userApi.resetPwd,
|
||||
method: 'post',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function changeStatus (parameter) {
|
||||
return request({
|
||||
url: userApi.changeStatus,
|
||||
method: 'post',
|
||||
params: parameter
|
||||
})
|
||||
}
|
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 188 KiB |
|
@ -1,69 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="1361px" height="609px" viewBox="0 0 1361 609" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Group 21</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Ant-Design-Pro-3.0" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="账户密码登录-校验" transform="translate(-79.000000, -82.000000)">
|
||||
<g id="Group-21" transform="translate(77.000000, 73.000000)">
|
||||
<g id="Group-18" opacity="0.8" transform="translate(74.901416, 569.699158) rotate(-7.000000) translate(-74.901416, -569.699158) translate(4.901416, 525.199158)">
|
||||
<ellipse id="Oval-11" fill="#CFDAE6" opacity="0.25" cx="63.5748792" cy="32.468367" rx="21.7830479" ry="21.766008"></ellipse>
|
||||
<ellipse id="Oval-3" fill="#CFDAE6" opacity="0.599999964" cx="5.98746479" cy="13.8668601" rx="5.2173913" ry="5.21330997"></ellipse>
|
||||
<path d="M38.1354514,88.3520215 C43.8984227,88.3520215 48.570234,83.6838647 48.570234,77.9254015 C48.570234,72.1669383 43.8984227,67.4987816 38.1354514,67.4987816 C32.3724801,67.4987816 27.7006688,72.1669383 27.7006688,77.9254015 C27.7006688,83.6838647 32.3724801,88.3520215 38.1354514,88.3520215 Z" id="Oval-3-Copy" fill="#CFDAE6" opacity="0.45"></path>
|
||||
<path d="M64.2775582,33.1704963 L119.185836,16.5654915" id="Path-12" stroke="#CFDAE6" stroke-width="1.73913043" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
<path d="M42.1431708,26.5002681 L7.71190162,14.5640702" id="Path-16" stroke="#E0B4B7" stroke-width="0.702678964" opacity="0.7" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1.405357899873153,2.108036953469981"></path>
|
||||
<path d="M63.9262187,33.521561 L43.6721326,69.3250951" id="Path-15" stroke="#BACAD9" stroke-width="0.702678964" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1.405357899873153,2.108036953469981"></path>
|
||||
<g id="Group-17" transform="translate(126.850922, 13.543654) rotate(30.000000) translate(-126.850922, -13.543654) translate(117.285705, 4.381889)" fill="#CFDAE6">
|
||||
<ellipse id="Oval-4" opacity="0.45" cx="9.13482653" cy="9.12768076" rx="9.13482653" ry="9.12768076"></ellipse>
|
||||
<path d="M18.2696531,18.2553615 C18.2696531,13.2142826 14.1798519,9.12768076 9.13482653,9.12768076 C4.08980114,9.12768076 0,13.2142826 0,18.2553615 L18.2696531,18.2553615 Z" id="Oval-4" transform="translate(9.134827, 13.691521) scale(-1, -1) translate(-9.134827, -13.691521) "></path>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group-14" transform="translate(216.294700, 123.725600) rotate(-5.000000) translate(-216.294700, -123.725600) translate(106.294700, 35.225600)">
|
||||
<ellipse id="Oval-2" fill="#CFDAE6" opacity="0.25" cx="29.1176471" cy="29.1402439" rx="29.1176471" ry="29.1402439"></ellipse>
|
||||
<ellipse id="Oval-2" fill="#CFDAE6" opacity="0.3" cx="29.1176471" cy="29.1402439" rx="21.5686275" ry="21.5853659"></ellipse>
|
||||
<ellipse id="Oval-2-Copy" stroke="#CFDAE6" opacity="0.4" cx="179.019608" cy="138.146341" rx="23.7254902" ry="23.7439024"></ellipse>
|
||||
<ellipse id="Oval-2" fill="#BACAD9" opacity="0.5" cx="29.1176471" cy="29.1402439" rx="10.7843137" ry="10.7926829"></ellipse>
|
||||
<path d="M29.1176471,39.9329268 L29.1176471,18.347561 C23.1616351,18.347561 18.3333333,23.1796097 18.3333333,29.1402439 C18.3333333,35.1008781 23.1616351,39.9329268 29.1176471,39.9329268 Z" id="Oval-2" fill="#BACAD9"></path>
|
||||
<g id="Group-9" opacity="0.45" transform="translate(172.000000, 131.000000)" fill="#E6A1A6">
|
||||
<ellipse id="Oval-2-Copy-2" cx="7.01960784" cy="7.14634146" rx="6.47058824" ry="6.47560976"></ellipse>
|
||||
<path d="M0.549019608,13.6219512 C4.12262681,13.6219512 7.01960784,10.722722 7.01960784,7.14634146 C7.01960784,3.56996095 4.12262681,0.670731707 0.549019608,0.670731707 L0.549019608,13.6219512 Z" id="Oval-2-Copy-2" transform="translate(3.784314, 7.146341) scale(-1, 1) translate(-3.784314, -7.146341) "></path>
|
||||
</g>
|
||||
<ellipse id="Oval-10" fill="#CFDAE6" cx="218.382353" cy="138.685976" rx="1.61764706" ry="1.61890244"></ellipse>
|
||||
<ellipse id="Oval-10-Copy-2" fill="#E0B4B7" opacity="0.35" cx="179.558824" cy="175.381098" rx="1.61764706" ry="1.61890244"></ellipse>
|
||||
<ellipse id="Oval-10-Copy" fill="#E0B4B7" opacity="0.35" cx="180.098039" cy="102.530488" rx="2.15686275" ry="2.15853659"></ellipse>
|
||||
<path d="M28.9985381,29.9671598 L171.151018,132.876024" id="Path-11" stroke="#CFDAE6" opacity="0.8"></path>
|
||||
</g>
|
||||
<g id="Group-10" opacity="0.799999952" transform="translate(1054.100635, 36.659317) rotate(-11.000000) translate(-1054.100635, -36.659317) translate(1026.600635, 4.659317)">
|
||||
<ellipse id="Oval-7" stroke="#CFDAE6" stroke-width="0.941176471" cx="43.8135593" cy="32" rx="11.1864407" ry="11.2941176"></ellipse>
|
||||
<g id="Group-12" transform="translate(34.596774, 23.111111)" fill="#BACAD9">
|
||||
<ellipse id="Oval-7" opacity="0.45" cx="9.18534718" cy="8.88888889" rx="8.47457627" ry="8.55614973"></ellipse>
|
||||
<path d="M9.18534718,17.4450386 C13.8657264,17.4450386 17.6599235,13.6143199 17.6599235,8.88888889 C17.6599235,4.16345787 13.8657264,0.332739156 9.18534718,0.332739156 L9.18534718,17.4450386 Z" id="Oval-7"></path>
|
||||
</g>
|
||||
<path d="M34.6597385,24.809694 L5.71666084,4.76878945" id="Path-2" stroke="#CFDAE6" stroke-width="0.941176471"></path>
|
||||
<ellipse id="Oval" stroke="#CFDAE6" stroke-width="0.941176471" cx="3.26271186" cy="3.29411765" rx="3.26271186" ry="3.29411765"></ellipse>
|
||||
<ellipse id="Oval-Copy" fill="#F7E1AD" cx="2.79661017" cy="61.1764706" rx="2.79661017" ry="2.82352941"></ellipse>
|
||||
<path d="M34.6312443,39.2922712 L5.06366663,59.785082" id="Path-10" stroke="#CFDAE6" stroke-width="0.941176471"></path>
|
||||
</g>
|
||||
<g id="Group-19" opacity="0.33" transform="translate(1282.537219, 446.502867) rotate(-10.000000) translate(-1282.537219, -446.502867) translate(1142.537219, 327.502867)">
|
||||
<g id="Group-17" transform="translate(141.333539, 104.502742) rotate(275.000000) translate(-141.333539, -104.502742) translate(129.333539, 92.502742)" fill="#BACAD9">
|
||||
<circle id="Oval-4" opacity="0.45" cx="11.6666667" cy="11.6666667" r="11.6666667"></circle>
|
||||
<path d="M23.3333333,23.3333333 C23.3333333,16.8900113 18.1099887,11.6666667 11.6666667,11.6666667 C5.22334459,11.6666667 0,16.8900113 0,23.3333333 L23.3333333,23.3333333 Z" id="Oval-4" transform="translate(11.666667, 17.500000) scale(-1, -1) translate(-11.666667, -17.500000) "></path>
|
||||
</g>
|
||||
<circle id="Oval-5-Copy-6" fill="#CFDAE6" cx="201.833333" cy="87.5" r="5.83333333"></circle>
|
||||
<path d="M143.5,88.8126685 L155.070501,17.6038544" id="Path-17" stroke="#BACAD9" stroke-width="1.16666667"></path>
|
||||
<path d="M17.5,37.3333333 L127.466252,97.6449735" id="Path-18" stroke="#BACAD9" stroke-width="1.16666667"></path>
|
||||
<polyline id="Path-19" stroke="#CFDAE6" stroke-width="1.16666667" points="143.902597 120.302281 174.935455 231.571342 38.5 147.510847 126.366941 110.833333"></polyline>
|
||||
<path d="M159.833333,99.7453842 L195.416667,89.25" id="Path-20" stroke="#E0B4B7" stroke-width="1.16666667" opacity="0.6"></path>
|
||||
<path d="M205.333333,82.1372105 L238.719406,36.1666667" id="Path-24" stroke="#BACAD9" stroke-width="1.16666667"></path>
|
||||
<path d="M266.723424,132.231988 L207.083333,90.4166667" id="Path-25" stroke="#CFDAE6" stroke-width="1.16666667"></path>
|
||||
<circle id="Oval-5" fill="#C1D1E0" cx="156.916667" cy="8.75" r="8.75"></circle>
|
||||
<circle id="Oval-5-Copy-3" fill="#C1D1E0" cx="39.0833333" cy="148.75" r="5.25"></circle>
|
||||
<circle id="Oval-5-Copy-2" fill-opacity="0.6" fill="#D1DEED" cx="8.75" cy="33.25" r="8.75"></circle>
|
||||
<circle id="Oval-5-Copy-4" fill-opacity="0.6" fill="#D1DEED" cx="243.833333" cy="30.3333333" r="5.83333333"></circle>
|
||||
<circle id="Oval-5-Copy-5" fill="#E0B4B7" cx="175.583333" cy="232.75" r="5.25"></circle>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.3 KiB |
|
@ -1 +0,0 @@
|
|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1551058675966" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7872" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M85.333333 512h85.333334a340.736 340.736 0 0 1 99.712-241.621333 337.493333 337.493333 0 0 1 108.458666-72.96 346.453333 346.453333 0 0 1 261.546667-1.749334A106.154667 106.154667 0 0 0 746.666667 298.666667C805.802667 298.666667 853.333333 251.136 853.333333 192S805.802667 85.333333 746.666667 85.333333c-29.397333 0-55.978667 11.776-75.221334 30.933334-103.722667-41.514667-222.848-40.874667-325.76 2.517333a423.594667 423.594667 0 0 0-135.68 91.264 423.253333 423.253333 0 0 0-91.306666 135.637333A426.88 426.88 0 0 0 85.333333 512z m741.248 133.205333c-17.109333 40.618667-41.685333 77.141333-72.96 108.416s-67.797333 55.850667-108.458666 72.96a346.453333 346.453333 0 0 1-261.546667 1.749334A106.154667 106.154667 0 0 0 277.333333 725.333333C218.197333 725.333333 170.666667 772.864 170.666667 832S218.197333 938.666667 277.333333 938.666667c29.397333 0 55.978667-11.776 75.221334-30.933334A425.173333 425.173333 0 0 0 512 938.666667a425.941333 425.941333 0 0 0 393.258667-260.352A426.325333 426.325333 0 0 0 938.666667 512h-85.333334a341.034667 341.034667 0 0 1-26.752 133.205333z" p-id="7873"></path><path d="M512 318.378667c-106.752 0-193.621333 86.869333-193.621333 193.621333S405.248 705.621333 512 705.621333s193.621333-86.869333 193.621333-193.621333S618.752 318.378667 512 318.378667z m0 301.909333c-59.690667 0-108.288-48.597333-108.288-108.288S452.309333 403.712 512 403.712s108.288 48.597333 108.288 108.288-48.597333 108.288-108.288 108.288z" p-id="7874"></path></svg>
|
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 423 KiB |
Before Width: | Height: | Size: 1.7 KiB |
|
@ -1,29 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg viewBox="0 0 128 128" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 52.6 (67491) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Vue</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs>
|
||||
<linearGradient x1="69.644116%" y1="0%" x2="69.644116%" y2="100%" id="linearGradient-1">
|
||||
<stop stop-color="#29CDFF" offset="0%"></stop>
|
||||
<stop stop-color="#148EFF" offset="37.8600687%"></stop>
|
||||
<stop stop-color="#0A60FF" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="-19.8191553%" y1="-36.7931464%" x2="138.57919%" y2="157.637507%" id="linearGradient-2">
|
||||
<stop stop-color="#29CDFF" offset="0%"></stop>
|
||||
<stop stop-color="#0F78FF" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="68.1279872%" y1="-35.6905737%" x2="30.4400914%" y2="114.942679%" id="linearGradient-3">
|
||||
<stop stop-color="#FA8E7D" offset="0%"></stop>
|
||||
<stop stop-color="#F74A5C" offset="51.2635191%"></stop>
|
||||
<stop stop-color="#F51D2C" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Vue" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="Group" transform="translate(19.000000, 9.000000)">
|
||||
<path d="M89.96,90.48 C78.58,93.48 68.33,83.36 67.62,82.48 L46.6604487,62.2292258 C45.5023849,61.1103236 44.8426845,59.5728835 44.8296987,57.9626396 L44.5035564,17.5209948 C44.4948861,16.4458744 44.0537714,15.4195095 43.2796864,14.6733517 L29.6459999,1.53153737 C28.055475,-0.00160504005 25.5232423,0.0449126588 23.9900999,1.63543756 C23.2715121,2.38092066 22.87,3.37600834 22.87,4.41143746 L22.87,64.3864751 C22.87,67.0807891 23.9572233,69.6611067 25.885409,71.5429748 L63.6004615,108.352061 C65.9466323,110.641873 69.6963584,110.624605 72.0213403,108.313281" id="Path-Copy" fill="url(#linearGradient-1)" fill-rule="nonzero" transform="translate(56.415000, 54.831157) scale(-1, 1) translate(-56.415000, -54.831157) "></path>
|
||||
<path d="M68,90.1163122 C56.62,93.1163122 45.46,83.36 44.75,82.48 L23.7904487,62.2292258 C22.6323849,61.1103236 21.9726845,59.5728835 21.9596987,57.9626396 L21.6335564,17.5209948 C21.6248861,16.4458744 21.1837714,15.4195095 20.4096864,14.6733517 L6.7759999,1.53153737 C5.185475,-0.00160504005 2.65324232,0.0449126588 1.12009991,1.63543756 C0.401512125,2.38092066 3.90211878e-13,3.37600834 3.90798505e-13,4.41143746 L3.94351218e-13,64.3864751 C3.94681177e-13,67.0807891 1.08722326,69.6611067 3.01540903,71.5429748 L40.7807092,108.401101 C43.1069304,110.671444 46.8180151,110.676525 49.1504445,108.412561" id="Path" fill="url(#linearGradient-2)" fill-rule="nonzero"></path>
|
||||
<path d="M43.2983488,19.0991931 L27.5566079,3.88246244 C26.7624281,3.11476967 26.7409561,1.84862177 27.5086488,1.05444194 C27.8854826,0.664606611 28.4044438,0.444472651 28.9466386,0.444472651 L60.3925021,0.444472651 C61.4970716,0.444472651 62.3925021,1.33990315 62.3925021,2.44447265 C62.3925021,2.9858375 62.1730396,3.50407742 61.7842512,3.88079942 L46.0801285,19.0975301 C45.3051579,19.8484488 44.0742167,19.8491847 43.2983488,19.0991931 Z" id="Path" fill="url(#linearGradient-3)"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 325 KiB |
Before Width: | Height: | Size: 950 B |
Before Width: | Height: | Size: 936 B |
Before Width: | Height: | Size: 926 B |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 958 B |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 942 B |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 260 B |
Before Width: | Height: | Size: 1.6 KiB |
|
@ -1,89 +0,0 @@
|
|||
<template>
|
||||
<div class="antd-pro-components-article-list-content-index-listContent">
|
||||
<div class="description">
|
||||
<slot>
|
||||
{{ description }}
|
||||
</slot>
|
||||
</div>
|
||||
<div class="extra">
|
||||
<a-avatar :src="avatar" size="small" />
|
||||
<a :href="href">{{ owner }}</a> 发布在 <a :href="href">{{ href }}</a>
|
||||
<em>{{ updateAt | moment }}</em>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'ArticleListContent',
|
||||
props: {
|
||||
prefixCls: {
|
||||
type: String,
|
||||
default: 'antd-pro-components-article-list-content-index-listContent'
|
||||
},
|
||||
description: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
owner: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
avatar: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
href: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
updateAt: {
|
||||
type: String,
|
||||
required: true
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '../index.less';
|
||||
|
||||
.antd-pro-components-article-list-content-index-listContent {
|
||||
.description {
|
||||
max-width: 720px;
|
||||
line-height: 22px;
|
||||
}
|
||||
.extra {
|
||||
margin-top: 16px;
|
||||
color: @text-color-secondary;
|
||||
line-height: 22px;
|
||||
|
||||
& /deep/ .ant-avatar {
|
||||
position: relative;
|
||||
top: 1px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-right: 8px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
& > em {
|
||||
margin-left: 16px;
|
||||
color: @disabled-color;
|
||||
font-style: normal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: @screen-xs) {
|
||||
.antd-pro-components-article-list-content-index-listContent {
|
||||
.extra {
|
||||
& > em {
|
||||
display: block;
|
||||
margin-top: 8px;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,3 +0,0 @@
|
|||
import ArticleListContent from './ArticleListContent'
|
||||
|
||||
export default ArticleListContent
|
|
@ -1,25 +0,0 @@
|
|||
import PropTypes from 'ant-design-vue/es/_util/vue-types'
|
||||
import { Tooltip, Avatar } from 'ant-design-vue'
|
||||
import { getSlotOptions } from 'ant-design-vue/lib/_util/props-util'
|
||||
import { warning } from 'ant-design-vue/lib/vc-util/warning'
|
||||
|
||||
export const AvatarListItemProps = {
|
||||
tips: PropTypes.string,
|
||||
src: PropTypes.string.def('')
|
||||
}
|
||||
|
||||
const Item = {
|
||||
__ANT_AVATAR_CHILDREN: true,
|
||||
name: 'AvatarListItem',
|
||||
props: AvatarListItemProps,
|
||||
created () {
|
||||
warning(getSlotOptions(this.$parent).__ANT_AVATAR_LIST, 'AvatarListItem must be a subcomponent of AvatarList')
|
||||
},
|
||||
render () {
|
||||
const size = this.$parent.size === 'mini' ? 'small' : this.$parent.size
|
||||
const AvatarDom = <Avatar size={size || 'small'} src={this.src} />
|
||||
return (this.tips && <Tooltip title={this.tips}>{AvatarDom}</Tooltip>) || <AvatarDom />
|
||||
}
|
||||
}
|
||||
|
||||
export default Item
|
|
@ -1,72 +0,0 @@
|
|||
import './index.less'
|
||||
|
||||
import PropTypes from 'ant-design-vue/es/_util/vue-types'
|
||||
import Avatar from 'ant-design-vue/es/avatar'
|
||||
import Item from './Item.jsx'
|
||||
import { filterEmpty } from '@/components/_util/util'
|
||||
|
||||
/**
|
||||
* size: `number`、 `large`、`small`、`default` 默认值: default
|
||||
* maxLength: number
|
||||
* excessItemsStyle: CSSProperties
|
||||
*/
|
||||
const AvatarListProps = {
|
||||
prefixCls: PropTypes.string.def('ant-pro-avatar-list'),
|
||||
size: {
|
||||
validator: val => {
|
||||
return typeof val === 'number' || ['small', 'large', 'default'].includes(val)
|
||||
},
|
||||
default: 'default'
|
||||
},
|
||||
maxLength: PropTypes.number.def(0),
|
||||
excessItemsStyle: PropTypes.object.def({
|
||||
color: '#f56a00',
|
||||
backgroundColor: '#fde3cf'
|
||||
})
|
||||
}
|
||||
|
||||
const AvatarList = {
|
||||
__ANT_AVATAR_LIST: true,
|
||||
Item,
|
||||
name: 'AvatarList',
|
||||
props: AvatarListProps,
|
||||
render (h) {
|
||||
const { prefixCls, size } = this.$props
|
||||
const className = {
|
||||
[`${prefixCls}`]: true,
|
||||
[`${size}`]: true
|
||||
}
|
||||
|
||||
const items = filterEmpty(this.$slots.default)
|
||||
const itemsDom = items && items.length ? <ul class={`${prefixCls}-items`}>{this.getItems(items)}</ul> : null
|
||||
return (
|
||||
<div class={className}>
|
||||
{itemsDom}
|
||||
</div>
|
||||
)
|
||||
},
|
||||
methods: {
|
||||
getItems (items) {
|
||||
const className = {
|
||||
[`${this.prefixCls}-item`]: true,
|
||||
[`${this.size}`]: true
|
||||
}
|
||||
const totalSize = items.length
|
||||
|
||||
if (this.maxLength > 0) {
|
||||
items = items.slice(0, this.maxLength)
|
||||
items.push((<Avatar size={this.size === 'mini' ? 'small' : this.size} style={this.excessItemsStyle}>{`+${totalSize - this.maxLength}`}</Avatar>))
|
||||
}
|
||||
return items.map((item) => (
|
||||
<li class={className}>{item}</li>
|
||||
))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AvatarList.install = function (Vue) {
|
||||
Vue.component(AvatarList.name, AvatarList)
|
||||
Vue.component(AvatarList.Item.name, AvatarList.Item)
|
||||
}
|
||||
|
||||
export default AvatarList
|
|
@ -1,9 +0,0 @@
|
|||
import AvatarList from './List'
|
||||
import Item from './Item'
|
||||
|
||||
export {
|
||||
AvatarList,
|
||||
Item as AvatarListItem
|
||||
}
|
||||
|
||||
export default AvatarList
|
|
@ -1,59 +0,0 @@
|
|||
@import '../index';
|
||||
|
||||
@avatar-list-prefix-cls: ~"@{ant-pro-prefix}-avatar-list";
|
||||
@avatar-list-item-prefix-cls: ~"@{ant-pro-prefix}-avatar-list-item";
|
||||
|
||||
.@{avatar-list-prefix-cls} {
|
||||
display: inline-block;
|
||||
|
||||
ul {
|
||||
display: inline-block;
|
||||
padding: 0;
|
||||
margin: 0 0 0 8px;
|
||||
font-size: 0;
|
||||
list-style: none;
|
||||
}
|
||||
}
|
||||
|
||||
.@{avatar-list-item-prefix-cls} {
|
||||
display: inline-block;
|
||||
width: @avatar-size-base;
|
||||
height: @avatar-size-base;
|
||||
margin-left: -8px;
|
||||
font-size: @font-size-base;
|
||||
|
||||
:global {
|
||||
.ant-avatar {
|
||||
cursor: pointer;
|
||||
border: 1px solid #fff;
|
||||
}
|
||||
}
|
||||
|
||||
&.large {
|
||||
width: @avatar-size-lg;
|
||||
height: @avatar-size-lg;
|
||||
}
|
||||
|
||||
&.small {
|
||||
width: @avatar-size-sm;
|
||||
height: @avatar-size-sm;
|
||||
}
|
||||
|
||||
&.mini {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
|
||||
:global {
|
||||
.ant-avatar {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
|
||||
.ant-avatar-string {
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|