250717提交
|
|
@ -0,0 +1,5 @@
|
|||
/admin/dist
|
||||
/admin/package-lock.json
|
||||
/netcore/src/JT.ShangHui.Web.Entry/wwwroot/uploadfile
|
||||
/admin/*.lock
|
||||
/jt_shanghui表结构信息.chw
|
||||
|
|
@ -0,0 +1,262 @@
|
|||
### 巨天商会系统
|
||||
|
||||
- 使用EFCORE+Furion+NET7
|
||||
- 依赖:redis、rabbitmq
|
||||
|
||||
### 数据库
|
||||
|
||||
- sql server
|
||||
- 数据库地址:123.60.2.99
|
||||
- 数据库端口号:4331
|
||||
|
||||
### 服务器
|
||||
|
||||
- 系统: windows server
|
||||
- IP:123.60.2.99
|
||||
- 远程桌面端口:58339
|
||||
|
||||
### 域名
|
||||
|
||||
- 接口平台: <https://izzt.jt-sky.com>
|
||||
- 管理后台(vue静态文件):<https://zzt.jt-sky.com>
|
||||
|
||||
### 目录结构
|
||||
|
||||
├── admin 管理后台
|
||||
│ ├── config 插件配置文件
|
||||
│ ├── docker docker配置参考文件
|
||||
│ │ └── nginx
|
||||
│ │ └── vhost
|
||||
│ ├── public 静态资源
|
||||
│ │ └── loading
|
||||
│ │ └── option2
|
||||
│ ├── src 源码
|
||||
│ │ ├── api api接口
|
||||
│ │ │ └── modular
|
||||
│ │ │ ├── main 业务接口
|
||||
│ │ │ └── system 系统接口
|
||||
│ │ ├── assets 静态资源
|
||||
│ │ │ ├── icons
|
||||
│ │ │ └── template
|
||||
│ │ ├── components 自定义组件
|
||||
│ │ │ ├── ArticleListContent
|
||||
│ │ │ ├── AvatarList
|
||||
│ │ │ ├── Charts
|
||||
│ │ │ ├── CountDown
|
||||
│ │ │ ├── DepartmentSelect
|
||||
│ │ │ ├── DescriptionList
|
||||
│ │ │ ├── Editor
|
||||
│ │ │ ├── Ellipsis
|
||||
│ │ │ ├── Exception
|
||||
│ │ │ ├── FooterToolbar
|
||||
│ │ │ ├── GlobalFooter
|
||||
│ │ │ ├── GlobalHeader
|
||||
│ │ │ ├── IconSelector
|
||||
│ │ │ ├── Menu
|
||||
│ │ │ ├── MultiTab
|
||||
│ │ │ ├── NProgress
|
||||
│ │ │ ├── NoticeIcon
|
||||
│ │ │ ├── NumberInfo
|
||||
│ │ │ ├── PageHeader
|
||||
│ │ │ ├── PageLoading
|
||||
│ │ │ ├── Result
|
||||
│ │ │ ├── Search
|
||||
│ │ │ ├── SettingDrawer
|
||||
│ │ │ ├── StandardFormRow
|
||||
│ │ │ ├── Table
|
||||
│ │ │ ├── TagSelect
|
||||
│ │ │ ├── TextArea
|
||||
│ │ │ ├── Tree
|
||||
│ │ │ ├── Trend
|
||||
│ │ │ ├── UserSelect
|
||||
│ │ │ ├── _util
|
||||
│ │ │ ├── tools
|
||||
│ │ │ ├── verifition
|
||||
│ │ │ │ ├── Verify
|
||||
│ │ │ │ └── utils
|
||||
│ │ │ └── xnComponents
|
||||
│ │ ├── config 默认样式和路由配置
|
||||
│ │ ├── core 插件
|
||||
│ │ │ ├── directives
|
||||
│ │ │ └── lazy_lib
|
||||
│ │ ├── layouts 布局配置
|
||||
│ │ ├── mock 模拟数据
|
||||
│ │ │ └── services
|
||||
│ │ ├── router 路由配置
|
||||
│ │ ├── store 状态管理
|
||||
│ │ │ └── modules
|
||||
│ │ ├── utils 工具类
|
||||
│ │ │ └── helper
|
||||
│ │ └── views 页面
|
||||
│ │ ├── components 组件
|
||||
│ │ ├── main 业务模块
|
||||
│ │ │ ├── banner 轮播图管理
|
||||
│ │ │ ├── business 入会申请
|
||||
│ │ │ ├── demand 需求管理
|
||||
│ │ │ ├── huodong 活动管理
|
||||
│ │ │ ├── industry 行业管理
|
||||
│ │ │ ├── info 资讯发布
|
||||
│ │ │ ├── navbar 导航管理
|
||||
│ │ │ ├── notice 公告发布
|
||||
│ │ │ ├── party 党建发布
|
||||
│ │ │ ├── platform 平台配置
|
||||
│ │ │ ├── product 商品管理
|
||||
│ │ │ ├── reguser 注册用户,未使用
|
||||
│ │ │ ├── supply 供货管理
|
||||
│ │ │ ├── vip VIP管理
|
||||
│ │ │ │ └── auth VIP权限管理
|
||||
│ │ │ └── wx 小程序管理
|
||||
│ │ ├── system 系统模块
|
||||
│ │ │ ├── account 账户管理
|
||||
│ │ │ │ ├── center 个人中心
|
||||
│ │ │ │ │ └── page
|
||||
│ │ │ │ └── settings 个人配置
|
||||
│ │ │ │ └── securityItem
|
||||
│ │ │ ├── app 应用管理
|
||||
│ │ │ ├── config 配置管理
|
||||
│ │ │ ├── dashboard 仪表盘
|
||||
│ │ │ ├── dict 字典管理
|
||||
│ │ │ │ └── dictdata 字典数据
|
||||
│ │ │ ├── email 邮件管理
|
||||
│ │ │ ├── exception 异常页
|
||||
│ │ │ ├── file 文件管理
|
||||
│ │ │ ├── index 首页
|
||||
│ │ │ ├── log 日志管理
|
||||
│ │ │ │ ├── exlog 异常日志
|
||||
│ │ │ │ ├── oplog 操作日志
|
||||
│ │ │ │ ├── thirdlog 第三方日志
|
||||
│ │ │ │ └── vislog 访问日志
|
||||
│ │ │ ├── machine 机器管理
|
||||
│ │ │ ├── menu 菜单管理
|
||||
│ │ │ ├── notice 通知管理
|
||||
│ │ │ ├── noticeReceived 通知接收管理
|
||||
│ │ │ ├── org 组织管理
|
||||
│ │ │ ├── pos 职位管理
|
||||
│ │ │ ├── role 角色管理
|
||||
│ │ │ └── user 用户管理
|
||||
│ │ └── userLoginReg 用户注册登录
|
||||
│ └── tests 测试单元
|
||||
│ └── unit
|
||||
└── netcore .NET7项目
|
||||
└── src 源代码
|
||||
├── JT.ShangHui.Application 业务模块
|
||||
│ ├── Filter 拦截器
|
||||
│ ├── JobService 定时任务
|
||||
│ ├── Mapper DTO映射
|
||||
│ └── Service 服务接口
|
||||
│ ├── BaseCommon 基础服务
|
||||
│ │ ├── Http http请求封装接口
|
||||
│ │ ├── QrCode 二维码封装接口
|
||||
│ │ ├── SMS 短信封装接口
|
||||
│ │ └── Upload 文件上传接口
|
||||
│ ├── Business 业务服务
|
||||
│ │ ├── Banner 轮播图管理
|
||||
│ │ ├── Campaign 活动管理
|
||||
│ │ ├── Demand 需求管理
|
||||
│ │ ├── Industry 行业管理
|
||||
│ │ ├── Information 资讯管理
|
||||
│ │ ├── NavBar 导航管理
|
||||
│ │ ├── Notice 公告管理
|
||||
│ │ ├── PSet 平台设置
|
||||
│ │ ├── PartyBuilder 党建管理
|
||||
│ │ ├── Product 商品管理
|
||||
│ │ ├── Retailer 分销商管理,未使用
|
||||
│ │ ├── Supply 供货管理
|
||||
│ │ ├── VIP VIP管理
|
||||
│ │ └── WX 小程序管理
|
||||
│ ├── System 系统接口服务
|
||||
│ │ ├── App 应用管理
|
||||
│ │ ├── Auth 登录相关管理
|
||||
│ │ ├── Base 通用方法
|
||||
│ │ ├── Cache 缓存管理
|
||||
│ │ ├── Captcha 验证码管理
|
||||
│ │ │ ├── ClickWord
|
||||
│ │ │ └── General
|
||||
│ │ ├── Config 配置管理
|
||||
│ │ ├── Dict 字典管理
|
||||
│ │ ├── Emp 员工管理
|
||||
│ │ ├── Enum 枚举管理
|
||||
│ │ ├── File 文件管理
|
||||
│ │ ├── Forms 表单管理
|
||||
│ │ ├── Hubs 聊天管理
|
||||
│ │ ├── Log 日志管理
|
||||
│ │ ├── Menu 菜单管理
|
||||
│ │ ├── Message 消息管理
|
||||
│ │ ├── Monitor 监控管理
|
||||
│ │ ├── Notice 通知管理
|
||||
│ │ ├── OnlineUser 在线用户管理
|
||||
│ │ ├── Org 组织管理
|
||||
│ │ ├── Pos 职位管理
|
||||
│ │ ├── Role 角色管理
|
||||
│ │ ├── StepBody 步骤管理
|
||||
│ │ ├── System 系统管理
|
||||
│ │ ├── Timer 定时任务管理
|
||||
│ │ └── User 用户管理
|
||||
│ ├── Test 测试单元
|
||||
│ └── ThirdApp 小程序端接口
|
||||
│ ├── Info 资讯管理
|
||||
│ ├── Product 商品管理
|
||||
│ ├── Search 搜索管理
|
||||
│ ├── User 会员管理
|
||||
│ └── WxOpen 小程序接口
|
||||
├── JT.ShangHui.Core 框架核心,引用Nuget包
|
||||
│ ├── Filter 拦截器
|
||||
│ └── Util 辅助类
|
||||
├── JT.ShangHui.Database.Migrations 数据库迁移
|
||||
│ └── Migrations 迁移文件
|
||||
├── JT.ShangHui.Domain 领域模型
|
||||
│ ├── Entity 数据库实体
|
||||
│ │ ├── Business 业务层实体
|
||||
│ │ ├── SeedData 种子数据
|
||||
│ │ └── System 系统层实体
|
||||
│ │ └── WorkflowEntity
|
||||
│ ├── ErrCode 错误码
|
||||
│ └── Options 选项配置
|
||||
├── JT.ShangHui.Domain.Shared 常用枚举和常量定义
|
||||
│ ├── Const 常量定义
|
||||
│ └── Enum 枚举定义
|
||||
├── JT.ShangHui.EntityFramework.Core EntityFrameworkCore管理
|
||||
│ ├── DbContexts 数据库配置
|
||||
│ ├── Extensions 数据库扩展
|
||||
│ └── Repository 仓储
|
||||
├── JT.ShangHui.EventBus 事件总线
|
||||
│ └── Service 订阅者
|
||||
│ ├── Logger 日志订阅
|
||||
│ ├── Search 搜索订阅
|
||||
│ └── User 用户订阅
|
||||
├── JT.ShangHui.HealthCheck 健康检查
|
||||
│ └── Extensions 扩展
|
||||
├── JT.ShangHui.Web.Entry web层
|
||||
│ ├── Controllers 控制器
|
||||
│ ├── Handlers 中间件
|
||||
│ ├── Views 视图
|
||||
│ │ ├── Auth 公众号授权相关
|
||||
│ │ ├── Home 首页
|
||||
│ │ └── Shared 共享页面
|
||||
│ └── wwwroot 静态资源
|
||||
│ ├── css
|
||||
│ ├── image
|
||||
│ │ └── navbar
|
||||
│ ├── js
|
||||
│ └── lib
|
||||
│ ├── bootstrap
|
||||
│ │ └── dist
|
||||
│ │ ├── css
|
||||
│ │ └── js
|
||||
│ ├── jquery
|
||||
│ │ └── dist
|
||||
│ └── layui
|
||||
│ ├── css
|
||||
│ │ └── modules
|
||||
│ │ ├── laydate
|
||||
│ │ │ └── default
|
||||
│ │ └── layer
|
||||
│ │ └── default
|
||||
│ ├── font
|
||||
│ ├── images
|
||||
│ │ └── face
|
||||
│ └── lay
|
||||
│ └── modules
|
||||
└── JT.ShangHui.WeiXin 微信小程序
|
||||
└── Service 微信小程序服务
|
||||
└── MP 微信小程序服务
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
> 1%
|
||||
last 2 versions
|
||||
not ie <= 10
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
[*]
|
||||
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
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
NODE_ENV=production
|
||||
VUE_APP_PREVIEW=false
|
||||
VUE_APP_API_BASE_URL=https://izzt.jt-sky.com
|
||||
VUE_APP_SOCKET_BASE_URL=ws://izzt.jt-sky.com
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
NODE_ENV=development
|
||||
VUE_APP_PREVIEW=true
|
||||
VUE_APP_API_BASE_URL=https://localhost:44373
|
||||
VUE_APP_SOCKET_BASE_URL=ws://localhost:44373
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
NODE_ENV=production
|
||||
VUE_APP_PREVIEW=false
|
||||
VUE_APP_API_BASE_URL=http://izzt.jt-sky.com
|
||||
VUE_APP_SOCKET_BASE_URL=ws://izzt.jt-sky.com
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
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',
|
||||
"space-before-function-paren": 0,
|
||||
'no-multi-spaces': 2, //不能用多余的空格
|
||||
},
|
||||
parserOptions: {
|
||||
parser: 'babel-eslint'
|
||||
},
|
||||
overrides: [
|
||||
{
|
||||
files: [
|
||||
'**/__tests__/*.{j,t}s?(x)',
|
||||
'**/tests/unit/**/*.spec.{j,t}s?(x)'
|
||||
],
|
||||
env: {
|
||||
jest: true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
node_modules/
|
||||
.idea/
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"printWidth": 120,
|
||||
"semi": false,
|
||||
"singleQuote": true
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
language: node_js
|
||||
node_js:
|
||||
- 10.15.0
|
||||
cache: yarn
|
||||
script:
|
||||
- yarn
|
||||
- yarn run lint --no-fix && yarn run build
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
FROM nginx
|
||||
|
||||
COPY ./dist /usr/share/nginx/html
|
||||
# 更新配置
|
||||
COPY ./docker/nginx/vhost/default.conf /etc/nginx/conf.d
|
||||
# 暴露端口
|
||||
EXPOSE 80
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
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.
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
|
||||
|
||||
const plugins = []
|
||||
if (IS_PROD) {
|
||||
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: [
|
||||
[
|
||||
'@babel/preset-env',
|
||||
{
|
||||
'useBuiltIns': 'entry',
|
||||
'corejs': 3
|
||||
}
|
||||
],
|
||||
'@vue/cli-plugin-babel/preset'
|
||||
],
|
||||
plugins
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
#! /bin/bash
|
||||
## author:liuzl
|
||||
cp ./docker/nginx/vhost/hccz.conf /var/jenkins_home/nginx/conf
|
||||
#docker stop hccz
|
||||
#docker rm hccz
|
||||
docker build -t hccz:v1 .
|
||||
docker run -d -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -p 8085:80 --restart=unless-stopped --net=mynet --name=hccz hccz:v1
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
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('#FA541C'), // 主色系列
|
||||
// 改变样式选择器,解决样式覆盖问题
|
||||
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
|
||||
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
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
module.exports = {
|
||||
projectName: 'jutian_admin',
|
||||
readyTimeout: 20000,
|
||||
cluster: [],
|
||||
prod: {
|
||||
name: '正式环境',
|
||||
script: 'npm run build',
|
||||
host: '123.60.2.99',
|
||||
port: 22,
|
||||
username: 'liuzhaoliang',
|
||||
password: 'liuzhaoliang',
|
||||
distPath: 'dist',
|
||||
webDir: '/zzt.jt-sky.com',
|
||||
bakDir: '',
|
||||
isRemoveRemoteFile: false,
|
||||
isRemoveLocalFile: false
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
version: '3.4'
|
||||
|
||||
services:
|
||||
nginx:
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: ./docker/nginx/Dockerfile
|
||||
image: admin_net_web:1.2
|
||||
ports:
|
||||
- 81:80
|
||||
restart: "always"
|
||||
volumes:
|
||||
- node_modules:/build/node_modules:rw
|
||||
# network_mode: host #宿主网络,与宿主机共享网络,安全性不佳,本地开发使用,淦,不支持windows,仅支持Linux
|
||||
volumes:
|
||||
node_modules:
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
1、安装URL重写模块,https://www.iis.net/downloads/microsoft/url-rewrite
|
||||
2、安装ARR模块,https://www.iis.net/downloads/microsoft/application-request-routing
|
||||
3、打开ARR,启动代理
|
||||
4、点击URL重写
|
||||
5、增加服务器变量:HTTP_X_ORIGINAL_HOST
|
||||
6、把web.config内容修改为自己的接口地址,然后放到主目录下
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
FROM nginx
|
||||
EXPOSE 80
|
||||
EXPOSE 443
|
||||
COPY ./dist /usr/share/nginx/html
|
||||
# 更新配置
|
||||
COPY ./docker/nginx/vhost/default.conf /etc/nginx/conf.d
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
user nginx;
|
||||
worker_processes 1;
|
||||
pid /var/run/nginx.pid;
|
||||
error_log /var/log/nginx/nginx.error.log warn;
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
http {
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
access_log /dev/null;
|
||||
#access_log /var/log/nginx/nginx.access.log main;
|
||||
sendfile on;
|
||||
#tcp_nopush on;
|
||||
keepalive_timeout 65;
|
||||
#gzip on;
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
### 说明
|
||||
|
||||
把此目录下的文件放到dist下的主目录中
|
||||
|
||||
nginx.conf 适用于直接发布到主机nginx中
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
# 此配置针对docker中的nginx
|
||||
server {
|
||||
listen 80;
|
||||
server_name hccz.pcxbc.com;
|
||||
root /usr/share/nginx/html;
|
||||
index index.php index.html index.htm;
|
||||
access_log /dev/null;
|
||||
error_log /var/log/nginx/default.error.log warn;
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
#error_page 500 502 503 504 /50x.html;
|
||||
|
||||
location / {
|
||||
root /usr/share/nginx/html;
|
||||
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
|
||||
location /api {
|
||||
#如果服务器要获取客户端真实IP,可以用下三句设置主机头和客户端真实地址
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
# rewrite ^/api/(.*)$ /$1 break; #重写
|
||||
proxy_pass http://hcczapi; #ybdevicev2是docker中的服务名称,这里不能直接放域名,要么是docker名称,要么是ip+端口的形式
|
||||
}
|
||||
location /hubs/ {
|
||||
proxy_pass http://hcczapi;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
#proxy_read_timeout 600s;#设置websocket超时时间
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
# 此配置针对本地nginx
|
||||
server {
|
||||
listen 80;
|
||||
server_name hccz.pcxbc.com;
|
||||
index index.php index.html index.htm;
|
||||
access_log /dev/null;
|
||||
error_log /www/wwwlogs/hccz.error.log warn;
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
#error_page 500 502 503 504 /50x.html;
|
||||
|
||||
location / {
|
||||
#如果服务器要获取客户端真实IP,可以用下三句设置主机头和客户端真实地址
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
# rewrite ^/api/(.*)$ /$1 break; #重写
|
||||
proxy_pass http://localhost:8085;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
server {
|
||||
listen 80;
|
||||
server_name huafei-dev.pcxbc.com;
|
||||
root /opt/jenkens/nginx/html/hc/hf/development/web;
|
||||
index index.php index.html index.htm;
|
||||
access_log /dev/null;
|
||||
error_log /www/wwwlogs/huafei-dev.error.log warn;
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
#error_page 500 502 503 504 /50x.html;
|
||||
|
||||
location / {
|
||||
root /opt/jenkens/nginx/html/hc/hf/development/web;
|
||||
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
|
||||
location /api/ {
|
||||
#如果服务器要获取客户端真实IP,可以用下三句设置主机头和客户端真实地址
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
# rewrite ^/api/(.*)$ /$1 break; #重写
|
||||
proxy_pass http://192.168.1.147:9001; #ybdevicev2是docker中的服务名称,这里不能直接放域名,要么是docker名称,要么是ip+端口的形式
|
||||
}
|
||||
location /bapi/ {
|
||||
#如果服务器要获取客户端真实IP,可以用下三句设置主机头和客户端真实地址
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
# rewrite ^/api/(.*)$ /$1 break; #重写
|
||||
proxy_pass http://192.168.1.147:9001; #ybdevicev2是docker中的服务名称,这里不能直接放域名,要么是docker名称,要么是ip+端口的形式
|
||||
}
|
||||
location /hubs/ {
|
||||
proxy_pass http://192.168.1.147:9001;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
#proxy_read_timeout 600s;#设置websocket超时时间
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<system.webServer>
|
||||
<rewrite>
|
||||
<rules>
|
||||
<rule name="api" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
|
||||
<match url="*api/*" />
|
||||
<action type="Rewrite" url="https://izzt.jt-sky.com/api/{R:2}" />
|
||||
<serverVariables>
|
||||
<set name="HTTP_X_ORIGINAL_HOST" value="{HTTP_HOST}" />
|
||||
</serverVariables>
|
||||
</rule>
|
||||
<rule name="hubs" patternSyntax="Wildcard" stopProcessing="true">
|
||||
<match url="*hubs/*" />
|
||||
<action type="Rewrite" url="https://izzt.jt-sky.com/hubs/{R:2}" />
|
||||
</rule>
|
||||
<rule name="index" enabled="true" stopProcessing="true">
|
||||
<match url="^((?!(api)).)*$" />
|
||||
<conditions>
|
||||
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
|
||||
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
|
||||
</conditions>
|
||||
<action type="Rewrite" url="/" />
|
||||
</rule>
|
||||
</rules>
|
||||
</rewrite>
|
||||
</system.webServer>
|
||||
</configuration>
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
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/'
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"target": "es6",
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["src/*"]
|
||||
}
|
||||
},
|
||||
"exclude": ["node_modules", "dist"],
|
||||
"include": ["src/**/*"]
|
||||
}
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
{
|
||||
"name": "vue-antd-pro",
|
||||
"version": "3.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
"build": "vue-cli-service build",
|
||||
"deploy": "deploy-cli-service d --mode prod",
|
||||
"test:unit": "vue-cli-service test:unit",
|
||||
"build:preview": "vue-cli-service build --mode preview",
|
||||
"postinstall": "opencollective-postinstall"
|
||||
},
|
||||
"dependencies": {
|
||||
"-": "^0.0.1",
|
||||
"@antv/data-set": "^0.11.8",
|
||||
"@antv/g2": "^4.2.2",
|
||||
"@jiaminghi/data-view": "^2.10.0",
|
||||
"@microsoft/signalr": "^5.0.5",
|
||||
"@wangeditor/editor": "^5.1.23",
|
||||
"@wangeditor/editor-for-vue": "^1.0.2",
|
||||
"ant-design-vue": "1.7.4",
|
||||
"axios": "^0.19.0",
|
||||
"babel-polyfill": "^6.26.0",
|
||||
"clipboard": "^2.0.6",
|
||||
"compression-webpack-plugin": "5.0.1",
|
||||
"core-js": "^3.1.2",
|
||||
"crypto-js": "^4.0.0",
|
||||
"default-passive-events": "^1.0.10",
|
||||
"deploy-cli-service": "^1.4.0",
|
||||
"enquire.js": "^2.1.6",
|
||||
"font-awesome": "^4.7.0",
|
||||
"jquery": "^3.5.1",
|
||||
"jsbarcode": "^3.11.3",
|
||||
"k-form-design": "^3.7.3",
|
||||
"leaflet": "^1.7.1",
|
||||
"leaflet.pm": "^2.2.0",
|
||||
"linq": "^3.2.3",
|
||||
"lodash.clonedeep": "^4.5.0",
|
||||
"lodash.get": "^4.4.2",
|
||||
"lodash.pick": "^4.4.0",
|
||||
"md5": "^2.2.1",
|
||||
"mockjs2": "1.0.8",
|
||||
"moment": "^2.24.0",
|
||||
"nprogress": "^0.2.0",
|
||||
"print-js": "^1.0.63",
|
||||
"qrcodejs2": "^0.0.2",
|
||||
"raphael": "^2.3.0",
|
||||
"screenfull": "^5.1.0",
|
||||
"vue": "^2.6.10",
|
||||
"vue-clipboard2": "^0.2.1",
|
||||
"vue-codemirror-lite": "^1.0.4",
|
||||
"vue-cropper": "0.4.9",
|
||||
"vue-json-viewer": "2",
|
||||
"vue-ls": "^3.2.1",
|
||||
"vue-quill-editor": "^3.0.6",
|
||||
"vue-router": "^3.1.2",
|
||||
"vue-svg-component-runtime": "^1.0.1",
|
||||
"vue2-leaflet": "^2.7.0",
|
||||
"vuedraggable": "^2.23.2",
|
||||
"vuex": "^3.1.1",
|
||||
"wangeditor": "^3.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@ant-design/colors": "^3.2.1",
|
||||
"@vue/cli-plugin-babel": "^4.0.4",
|
||||
"@vue/cli-plugin-eslint": "^4.0.4",
|
||||
"@vue/cli-plugin-router": "^4.0.4",
|
||||
"@vue/cli-plugin-unit-jest": "^4.0.4",
|
||||
"@vue/cli-plugin-vuex": "^4.0.4",
|
||||
"@vue/cli-service": "^4.0.4",
|
||||
"@vue/eslint-config-prettier": "^5.0.0",
|
||||
"@vue/eslint-config-standard": "^4.0.0",
|
||||
"@vue/test-utils": "^1.0.0-beta.29",
|
||||
"babel-eslint": "^10.0.1",
|
||||
"babel-plugin-import": "^1.13.0",
|
||||
"babel-plugin-transform-remove-console": "^6.9.4",
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-plugin-html": "^5.0.0",
|
||||
"eslint-plugin-prettier": "^3.1.0",
|
||||
"eslint-plugin-vue": "^5.2.3",
|
||||
"less": "^3.0.4",
|
||||
"less-loader": "^5.0.0",
|
||||
"opencollective": "^1.0.3",
|
||||
"opencollective-postinstall": "^2.0.2",
|
||||
"prettier": "^1.18.2",
|
||||
"vue-svg-icon-loader": "^2.1.1",
|
||||
"vue-template-compiler": "^2.6.10",
|
||||
"webpack-theme-color-replacer": "1.3.18"
|
||||
},
|
||||
"collective": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/ant-design-pro-vue"
|
||||
},
|
||||
"main": ".eslintrc.js",
|
||||
"directories": {
|
||||
"test": "tests"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"description": ""
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
module.exports = {
|
||||
plugins: {
|
||||
autoprefixer: {}
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 134 KiB |
|
|
@ -0,0 +1,40 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh-cmn-Hans">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta http-equiv="Access-Control-Allow-Origin" content="*">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta name="referrer" content="no-referrer" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.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">
|
||||
<!-- <h1>YB.PayDevice</h1> -->
|
||||
<div class="loading-wrp">
|
||||
<span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
|
||||
</div>
|
||||
<div style="display: flex; justify-content: center; align-items: center;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- require cdn assets js -->
|
||||
<% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %>
|
||||
<script src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
|
||||
<% } %>
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
#preloadingAnimation{position:fixed;left:0;top:0;height:100%;width:100%;background:#ffffff;user-select:none;z-index: 9999;overflow: hidden}.lds-roller{display:inline-block;position:relative;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;}.lds-roller div{animation:lds-roller 1.2s cubic-bezier(0.5,0,0.5,1) infinite;transform-origin:32px 32px;}.lds-roller div:after{content:" ";display:block;position:absolute;width:6px;height:6px;border-radius:50%;background:#13c2c2;margin:-3px 0 0 -3px;}.lds-roller div:nth-child(1){animation-delay:-0.036s;}.lds-roller div:nth-child(1):after{top:50px;left:50px;}.lds-roller div:nth-child(2){animation-delay:-0.072s;}.lds-roller div:nth-child(2):after{top:54px;left:45px;}.lds-roller div:nth-child(3){animation-delay:-0.108s;}.lds-roller div:nth-child(3):after{top:57px;left:39px;}.lds-roller div:nth-child(4){animation-delay:-0.144s;}.lds-roller div:nth-child(4):after{top:58px;left:32px;}.lds-roller div:nth-child(5){animation-delay:-0.18s;}.lds-roller div:nth-child(5):after{top:57px;left:25px;}.lds-roller div:nth-child(6){animation-delay:-0.216s;}.lds-roller div:nth-child(6):after{top:54px;left:19px;}.lds-roller div:nth-child(7){animation-delay:-0.252s;}.lds-roller div:nth-child(7):after{top:50px;left:14px;}.lds-roller div:nth-child(8){animation-delay:-0.288s;}.lds-roller div:nth-child(8):after{top:45px;left:10px;}#preloadingAnimation .load-tips{color: #13c2c2;font-size:2rem;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin-top:80px;text-align:center;width:400px;height:64px;} @keyframes lds-roller{0%{transform:rotate(0deg);} 100%{transform:rotate(360deg);}}
|
||||
|
|
@ -0,0 +1 @@
|
|||
<div id="preloadingAnimation"><div class=lds-roller><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div><div class=load-tips>Loading</div></div>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<div class="preloading-animate">
|
||||
<div class="preloading-wrapper">
|
||||
<svg class="preloading-balls" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"><circle cx="67.802" cy="59.907" r="6" fill="#51CACC"><animate attributeName="cx" values="75;57.72542485937369" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="50;73.77641290737884" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#51CACC;#9DF871" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="46.079" cy="69.992" r="6" fill="#9DF871"><animate attributeName="cx" values="57.72542485937369;29.774575140626318" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="73.77641290737884;64.69463130731182" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#9DF871;#E0FF77" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="29.775" cy="52.449" r="6" fill="#E0FF77"><animate attributeName="cx" values="29.774575140626318;29.774575140626315" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="64.69463130731182;35.30536869268818" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#E0FF77;#DE9DD6" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="41.421" cy="31.521" r="6" fill="#DE9DD6"><animate attributeName="cx" values="29.774575140626315;57.72542485937368" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="35.30536869268818;26.22358709262116" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#DE9DD6;#FF708E" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="64.923" cy="36.13" r="6" fill="#FF708E"><animate attributeName="cx" values="57.72542485937368;75" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="26.22358709262116;49.99999999999999" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#FF708E;#51CACC" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1 @@
|
|||
.preloading-animate{background:#ffffff;width:100%;height:100%;position:fixed;left:0;top:0;z-index:299;}.preloading-animate .preloading-wrapper{position:absolute;width:5rem;height:5rem;left:50%;top:50%;transform:translate(-50%,-50%);}.preloading-animate .preloading-wrapper .preloading-balls{font-size:5rem;}
|
||||
|
|
@ -0,0 +1 @@
|
|||
<svg class="preloading-balls" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"><circle cx="67.802" cy="59.907" r="6" fill="#51CACC"><animate attributeName="cx" values="75;57.72542485937369" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="50;73.77641290737884" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#51CACC;#9DF871" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="46.079" cy="69.992" r="6" fill="#9DF871"><animate attributeName="cx" values="57.72542485937369;29.774575140626318" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="73.77641290737884;64.69463130731182" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#9DF871;#E0FF77" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="29.775" cy="52.449" r="6" fill="#E0FF77"><animate attributeName="cx" values="29.774575140626318;29.774575140626315" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="64.69463130731182;35.30536869268818" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#E0FF77;#DE9DD6" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="41.421" cy="31.521" r="6" fill="#DE9DD6"><animate attributeName="cx" values="29.774575140626315;57.72542485937368" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="35.30536869268818;26.22358709262116" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#DE9DD6;#FF708E" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle><circle cx="64.923" cy="36.13" r="6" fill="#FF708E"><animate attributeName="cx" values="57.72542485937368;75" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="cy" values="26.22358709262116;49.99999999999999" keyTimes="0;1" dur="1s" repeatCount="indefinite"/><animate attributeName="fill" values="#FF708E;#51CACC" keyTimes="0;1" dur="1s" repeatCount="indefinite"/></circle></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
|
@ -0,0 +1,47 @@
|
|||
<template>
|
||||
<a-config-provider :locale="locale">
|
||||
<div id="app" class="app app1">
|
||||
<router-view class="scrollbar"/>
|
||||
</div>
|
||||
</a-config-provider>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN'
|
||||
import { AppDeviceEnquire } from '@/utils/mixin'
|
||||
|
||||
export default {
|
||||
mixins: [AppDeviceEnquire],
|
||||
data () {
|
||||
return {
|
||||
locale: zhCN
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.app {
|
||||
overflow: auto;
|
||||
border : none;
|
||||
}
|
||||
.scrollbar {
|
||||
margin: 0 auto;
|
||||
}
|
||||
.app1::-webkit-scrollbar {
|
||||
/*滚动条整体样式*/
|
||||
width : 8px; /*高宽分别对应横竖滚动条的尺寸*/
|
||||
}
|
||||
.app1::-webkit-scrollbar-thumb {
|
||||
/*滚动条里面小方块*/
|
||||
border-radius: 6px;
|
||||
background : #aaa;
|
||||
}
|
||||
.app1::-webkit-scrollbar-track {
|
||||
/*滚动条里面轨道*/
|
||||
border-radius: 8px;
|
||||
background : #FFFFFF;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
import { axios } from '@/utils/request'
|
||||
// 获取列表
|
||||
export function List(parameter) {
|
||||
return axios({
|
||||
url: '/business/banner/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 修改状态
|
||||
export function SetStatus(parameter) {
|
||||
return axios({
|
||||
url: '/business/banner/setstatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 提交
|
||||
export function Submit(parameter) {
|
||||
return axios({
|
||||
url: '/business/banner/submit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 删除
|
||||
export function Delete(parameter) {
|
||||
return axios({
|
||||
url: '/business/banner/Delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
// 客户管理接口定义
|
||||
import { axios } from '@/utils/request'
|
||||
// 分销商列表
|
||||
export function BusinessList(parameter) {
|
||||
return axios({
|
||||
url: '/business/account/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 所有分销商列表
|
||||
export function BusinessAllList(parameter) {
|
||||
return axios({
|
||||
url: '/business/account/alllist',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 分销商提交
|
||||
export function BusinessSubmit(parameter) {
|
||||
return axios({
|
||||
url: '/business/account/submit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
import { axios } from '@/utils/request'
|
||||
// 获取列表
|
||||
export function List(parameter) {
|
||||
return axios({
|
||||
url: '/business/demand/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 修改状态
|
||||
export function SetStatus(parameter) {
|
||||
return axios({
|
||||
url: '/business/demand/setstatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
import { axios } from '@/utils/request'
|
||||
// 获取列表
|
||||
export function List(parameter) {
|
||||
return axios({
|
||||
url: '/business/Campaign/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 修改状态
|
||||
export function SetStatus(parameter) {
|
||||
return axios({
|
||||
url: '/business/Campaign/setstatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 提交
|
||||
export function Submit(parameter) {
|
||||
return axios({
|
||||
url: '/business/Campaign/submit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 删除
|
||||
export function Delete(parameter) {
|
||||
return axios({
|
||||
url: '/business/Campaign/setstatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
import { axios } from '@/utils/request'
|
||||
// 获取列表
|
||||
export function List(parameter) {
|
||||
return axios({
|
||||
url: '/business/industry/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 获取列表
|
||||
export function AllList(parameter) {
|
||||
return axios({
|
||||
url: '/business/industry/alllist',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 删除
|
||||
export function Delete(parameter) {
|
||||
return axios({
|
||||
url: '/business/industry/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 提交
|
||||
export function Submit(parameter) {
|
||||
return axios({
|
||||
url: '/business/industry/submit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
import { axios } from '@/utils/request'
|
||||
// 获取资讯列表
|
||||
export function List(parameter) {
|
||||
return axios({
|
||||
url: '/business/info/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
//获取公益信息列表
|
||||
export function GYList(parameter) {
|
||||
return axios({
|
||||
url: '/business/info/gylist',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 修改状态
|
||||
export function SetStatus(parameter) {
|
||||
return axios({
|
||||
url: '/business/info/setstatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 提交
|
||||
export function Submit(parameter) {
|
||||
return axios({
|
||||
url: '/business/info/submit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 提交
|
||||
export function GYSubmit(parameter) {
|
||||
return axios({
|
||||
url: '/business/info/gysubmit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
import { axios } from '@/utils/request'
|
||||
// 获取列表
|
||||
export function List(parameter) {
|
||||
return axios({
|
||||
url: '/business/navbar/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 修改状态
|
||||
export function SetStatus(parameter) {
|
||||
return axios({
|
||||
url: '/business/navbar/setstatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 提交
|
||||
export function Submit(parameter) {
|
||||
return axios({
|
||||
url: '/business/navbar/submit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
import { axios } from '@/utils/request'
|
||||
// 获取列表
|
||||
export function List(parameter) {
|
||||
return axios({
|
||||
url: '/business/notice/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 修改状态
|
||||
export function SetStatus(parameter) {
|
||||
return axios({
|
||||
url: '/business/notice/setstatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 提交
|
||||
export function Submit(parameter) {
|
||||
return axios({
|
||||
url: '/business/notice/submit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 删除
|
||||
export function Delete(parameter) {
|
||||
return axios({
|
||||
url: '/business/notice/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
import { axios } from '@/utils/request'
|
||||
// 获取列表
|
||||
export function List(parameter) {
|
||||
return axios({
|
||||
url: '/business/party/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 修改状态
|
||||
export function SetStatus(parameter) {
|
||||
return axios({
|
||||
url: '/business/party/setstatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 提交
|
||||
export function Submit(parameter) {
|
||||
return axios({
|
||||
url: '/business/party/submit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 删除
|
||||
export function Delete(parameter) {
|
||||
return axios({
|
||||
url: '/business/party/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
import { axios } from '@/utils/request'
|
||||
// 平台配置详情
|
||||
export function Detail(parameter) {
|
||||
return axios({
|
||||
url: '/platform/detail',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 平台配置信息提交
|
||||
export function Submit(parameter) {
|
||||
return axios({
|
||||
url: '/platform/submit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
import { axios } from '@/utils/request'
|
||||
// 获取列表
|
||||
export function List(parameter) {
|
||||
return axios({
|
||||
url: '/business/product/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 修改状态
|
||||
export function SetStatus(parameter) {
|
||||
return axios({
|
||||
url: '/business/product/setstatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
import { axios } from '@/utils/request'
|
||||
// 查询注册用户列表
|
||||
export function RegUserList (parameter) {
|
||||
return axios({
|
||||
url: '/reguser/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 修改昵称
|
||||
export function ModifyName (parameter) {
|
||||
return axios({
|
||||
url: '/reguser/editname',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
import { axios } from '@/utils/request'
|
||||
// 获取列表
|
||||
export function List(parameter) {
|
||||
return axios({
|
||||
url: '/business/supply/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 修改状态
|
||||
export function SetStatus(parameter) {
|
||||
return axios({
|
||||
url: '/business/supply/setstatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 查询所有枚举类型
|
||||
*
|
||||
* @author liuzl
|
||||
*/
|
||||
export function GetClientData (parameter) {
|
||||
return axios({
|
||||
url: '/sysenumdata/getclientdata',
|
||||
method: 'get',
|
||||
param: parameter
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 查询配置信息
|
||||
*
|
||||
* @author liuzl
|
||||
*/
|
||||
export function GetConfigInfo (parameter) {
|
||||
return axios({
|
||||
url: '/system/getconfiginfo',
|
||||
method: 'post',
|
||||
param: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
import { axios } from '@/utils/request'
|
||||
// 图片上传
|
||||
export function UploadImg(parameter) {
|
||||
return axios({
|
||||
url: '/common/uploadimg',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
// 视频上传
|
||||
export function UploadImgVideo(parameter) {
|
||||
return axios({
|
||||
url: '/common/uploadvideo',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
import { axios } from '@/utils/request'
|
||||
// vip列表
|
||||
export function List(parameter) {
|
||||
return axios({
|
||||
url: '/business/vip/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// vip所有列表
|
||||
export function AllList(parameter) {
|
||||
return axios({
|
||||
url: '/business/vip/alllist',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// vip提交
|
||||
export function Submit(parameter) {
|
||||
return axios({
|
||||
url: '/business/vip/submit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// vip权限列表
|
||||
export function AuthList(parameter) {
|
||||
return axios({
|
||||
url: '/business/vip/auth/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// vip权限提交
|
||||
export function AuthSubmit(parameter) {
|
||||
return axios({
|
||||
url: '/business/vip/auth/submit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// vip权限状态变更
|
||||
export function AuthStatus(parameter) {
|
||||
return axios({
|
||||
url: '/business/vip/auth/status',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// vip关联权限列表
|
||||
export function VipAuthList(parameter) {
|
||||
return axios({
|
||||
url: '/business/vip/authlist',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
import { axios } from '@/utils/request'
|
||||
// 获取小程序列表
|
||||
export function List(parameter) {
|
||||
return axios({
|
||||
url: '/business/wx/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 获取所有小程序列表
|
||||
export function AllList(parameter) {
|
||||
return axios({
|
||||
url: '/business/wx/alllist',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 小程序信息提交
|
||||
export function Submit(parameter) {
|
||||
return axios({
|
||||
url: '/business/wx/submit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
/**
|
||||
* 系统应用
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020年4月23日12:10:57
|
||||
*/
|
||||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 系统应用列表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020年7月9日15:05:01
|
||||
*/
|
||||
export function getAppPage (parameter) {
|
||||
return axios({
|
||||
url: '/sysApp/page',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 系统应用列表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020年7月9日15:05:01
|
||||
*/
|
||||
export function getAppList (parameter) {
|
||||
return axios({
|
||||
url: '/sysApp/list',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增系统应用
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020年7月9日15:05:01
|
||||
*/
|
||||
export function sysAppAdd (parameter) {
|
||||
return axios({
|
||||
url: '/sysApp/add',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑系统应用
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @param parameter
|
||||
* @returns {*}
|
||||
*/
|
||||
export function sysAppEdit (parameter) {
|
||||
return axios({
|
||||
url: '/sysApp/edit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除系统应用
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020年7月9日15:05:01
|
||||
*/
|
||||
export function sysAppDelete (parameter) {
|
||||
return axios({
|
||||
url: '/sysApp/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 设为默认应用
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020年7月9日15:05:01
|
||||
*/
|
||||
export function sysAppSetAsDefault (parameter) {
|
||||
return axios({
|
||||
url: '/sysApp/setAsDefault',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改应用状态
|
||||
*
|
||||
* @author zuohuaijun
|
||||
* @date 2021年1月1日
|
||||
*/
|
||||
export function sysAppChangeStatus (parameter) {
|
||||
return axios({
|
||||
url: '/sysApp/changeStatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 分页查询配置列表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/25 01:57
|
||||
*/
|
||||
export function sysConfigPage (parameter) {
|
||||
return axios({
|
||||
url: '/sysConfig/page',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加系统参数配置
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/25 01:57
|
||||
*/
|
||||
export function sysConfigAdd (parameter) {
|
||||
return axios({
|
||||
url: '/sysConfig/add',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑系统参数配置
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/25 01:57
|
||||
*/
|
||||
export function sysConfigEdit (parameter) {
|
||||
return axios({
|
||||
url: '/sysConfig/edit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除系统参数配置
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/25 01:57
|
||||
*/
|
||||
export function sysConfigDelete (parameter) {
|
||||
return axios({
|
||||
url: '/sysConfig/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取字典类型下所有字典,举例,返回格式为:[{code:"M",value:"男"},{code:"F",value:"女"}]
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/25 02:06
|
||||
*/
|
||||
export function sysDictTypeDropDown (parameter) {
|
||||
return axios({
|
||||
url: '/sysDictType/dropDown',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取系统的所有任务列表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/7/8 20:46
|
||||
*/
|
||||
export function sysTimersGetActionClasses (parameter) {
|
||||
return axios({
|
||||
url: '/sysTimers/getActionClasses',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
import {
|
||||
axios
|
||||
} from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 查询系统字典值
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/17 02:24
|
||||
*/
|
||||
export function sysDictDataPage(parameter) {
|
||||
return axios({
|
||||
url: '/sysDictData/page',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加系统字典值
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/17 02:24
|
||||
*/
|
||||
export function sysDictDataAdd(parameter) {
|
||||
return axios({
|
||||
url: '/sysDictData/add',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑系统字典值
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/17 02:25
|
||||
*/
|
||||
export function sysDictDataEdit(parameter) {
|
||||
return axios({
|
||||
url: '/sysDictData/edit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除系统字典值
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/17 02:25
|
||||
*/
|
||||
export function sysDictDataDelete(parameter) {
|
||||
return axios({
|
||||
url: '/sysDictData/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改系统字典状态
|
||||
*
|
||||
* @author xusn
|
||||
* @date 2021-04-30 11:00:16
|
||||
*/
|
||||
export function sysDictDataChangeStatus(parameter) {
|
||||
return axios({
|
||||
url: '/sysDictData/changeStatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
import {
|
||||
axios
|
||||
} from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 分页查询系统字典类型
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/17 01:46
|
||||
*/
|
||||
export function sysDictTypePage(parameter) {
|
||||
return axios({
|
||||
url: '/sysDictType/page',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加系统字典类型
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/17 01:46
|
||||
*/
|
||||
export function sysDictTypeAdd(parameter) {
|
||||
return axios({
|
||||
url: '/sysDictType/add',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑系统字典类型
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/17 01:50
|
||||
*/
|
||||
export function sysDictTypeEdit(parameter) {
|
||||
return axios({
|
||||
url: '/sysDictType/edit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除系统字典类型
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/17 01:50
|
||||
*/
|
||||
export function sysDictTypeDelete(parameter) {
|
||||
return axios({
|
||||
url: '/sysDictType/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取字典类型下所有字典,举例,返回格式为:[{code:"M",value:"男"},{code:"F",value:"女"}]
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/10 00:10
|
||||
*/
|
||||
export function sysDictTypeDropDown(parameter) {
|
||||
return axios({
|
||||
url: '/sysDictType/dropDown',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有字典,启动时加入缓存使用
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/10 00:10
|
||||
*/
|
||||
export function sysDictTypeTree(parameter) {
|
||||
return axios({
|
||||
url: '/sysDictType/tree',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改系统字典状态
|
||||
*
|
||||
* @author xusn
|
||||
* @date 2021-04-30 11:00:16
|
||||
*/
|
||||
export function sysDictTypeChangeStatus(parameter) {
|
||||
return axios({
|
||||
url: '/sysDictType/changeStatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 发送邮件
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/7/3 23:22
|
||||
*/
|
||||
export function emailSendEmail (parameter) {
|
||||
return axios({
|
||||
url: '/email/sendEmail',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送html邮件
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/7/3 23:23
|
||||
*/
|
||||
export function emailSendEmailHtml (parameter) {
|
||||
return axios({
|
||||
url: '/email/sendEmailHtml',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 根据枚举名称获取枚举数据,返回格式为:[{code:"M",value:"男"},{code:"F",value:"女"}]
|
||||
*
|
||||
* @author taoran
|
||||
* @date 2021-04-16 21:13/sysEnumData/list/{enumName}
|
||||
*/
|
||||
export function sysEnumDataList (parameter) {
|
||||
return axios({
|
||||
url: '/sysEnumData/list',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据实体名和字段名获取枚举数据
|
||||
*
|
||||
* @author taoran
|
||||
* @date 2021-04-16 21:13
|
||||
*/
|
||||
export function sysEnumDataListByField (parameter) {
|
||||
return axios({
|
||||
url: '/sysEnumData/listByFiled',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,115 @@
|
|||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 分页查询文件信息表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/30 00:20
|
||||
*/
|
||||
export function sysFileInfoPage (parameter) {
|
||||
return axios({
|
||||
url: '/sysFileInfo/page',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取全部文件信息表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/30 00:20
|
||||
*/
|
||||
export function sysFileInfoList (parameter) {
|
||||
return axios({
|
||||
url: '/sysFileInfo/list',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传文件
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/30 00:20
|
||||
*/
|
||||
export function sysFileInfoUpload (parameter) {
|
||||
return axios({
|
||||
url: '/sysFileInfo/upload',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载文件
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/30 00:20
|
||||
*/
|
||||
export function sysFileInfoDownload (parameter) {
|
||||
return axios({
|
||||
url: '/sysFileInfo/download',
|
||||
method: 'get',
|
||||
params: parameter,
|
||||
responseType: 'blob'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看图片
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/30 00:20
|
||||
*/
|
||||
export function sysFileInfoPreview (parameter) {
|
||||
return axios({
|
||||
url: '/sysFileInfo/preview',
|
||||
method: 'get',
|
||||
params: parameter,
|
||||
responseType: 'arraybuffer'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看详情文件信息表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/30 00:20
|
||||
*/
|
||||
export function sysFileInfoDetail (parameter) {
|
||||
return axios({
|
||||
url: '/sysFileInfo/detail',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除文件信息表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/30 00:20
|
||||
*/
|
||||
export function sysFileInfoDelete (parameter) {
|
||||
return axios({
|
||||
url: '/sysFileInfo/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传头像
|
||||
*
|
||||
* @author zuohuaijun
|
||||
* @date 2021/4/23 00:20
|
||||
*/
|
||||
export function sysFileInfoUploadAvatar (parameter) {
|
||||
return axios({
|
||||
url: '/sysFileInfo/uploadAvatar',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-04-17 17:45:37
|
||||
* @LastEditTime: 2021-04-17 18:03:59
|
||||
* @LastEditors: your name
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \frontend\src\api\modular\system\logManage.js
|
||||
*/
|
||||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 查询访问日志
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/19 11:57
|
||||
*/
|
||||
export function sysVisLogPage(parameter) {
|
||||
return axios({
|
||||
url: '/sysVisLog/page',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询操作日志
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/19 11:57
|
||||
*/
|
||||
export function sysOpLogPage(parameter) {
|
||||
return axios({
|
||||
url: '/sysOpLog/page',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询异常日志
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/19 11:57
|
||||
*/
|
||||
export function sysExLogPage(parameter) {
|
||||
return axios({
|
||||
url: '/sysExLog/page',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 查询第三方日志
|
||||
*
|
||||
* @author liuzl
|
||||
* @date 2020/5/19 11:57
|
||||
*/
|
||||
export function ThirdLogPage(parameter) {
|
||||
return axios({
|
||||
url: '/thirdlog/list',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 清空访问日志
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/23 23:09
|
||||
*/
|
||||
export function sysVisLogDelete(parameter) {
|
||||
return axios({
|
||||
url: '/sysVisLog/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 清空登录日志
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/23 23:09
|
||||
*/
|
||||
export function sysOpLogDelete(parameter) {
|
||||
return axios({
|
||||
url: '/sysOpLog/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 清空异常日志
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/23 23:09
|
||||
*/
|
||||
export function sysExLogDelete(parameter) {
|
||||
return axios({
|
||||
url: '/sysExLog/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 清空第三方日志
|
||||
*
|
||||
* @author liuzl
|
||||
* @date 2020/6/23 23:09
|
||||
*/
|
||||
export function ThirdLogDelete(parameter) {
|
||||
return axios({
|
||||
url: '/third/clear',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
/**
|
||||
* 系统应用
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/26 19:06
|
||||
*/
|
||||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 登录
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/26 19:06
|
||||
*/
|
||||
export function login (parameter) {
|
||||
return axios({
|
||||
url: '/login',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 登出
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/26 19:07
|
||||
*/
|
||||
export function logout (parameter) {
|
||||
return axios({
|
||||
url: '/logout',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取登录用户信息
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/26 19:08
|
||||
*/
|
||||
export function getLoginUser (parameter) {
|
||||
return axios({
|
||||
url: '/getLoginUser',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取租户开关
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/9/5 1:24
|
||||
*/
|
||||
export function getTenantOpen (parameter) {
|
||||
return axios({
|
||||
url: '/getTenantOpen',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取短信验证码
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/26 19:29
|
||||
*/
|
||||
export function getSmsCaptcha (parameter) {
|
||||
return axios({
|
||||
url: '/api/wxopen/sendcode',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 扫码登录
|
||||
*
|
||||
* @author liuzl
|
||||
* @date 2020/5/26 19:29
|
||||
*/
|
||||
export function WXLogin (parameter) {
|
||||
return axios({
|
||||
url: '/business/wxlogin',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 获取微信扫码登录地址
|
||||
*
|
||||
* @author liuzl
|
||||
* @date 2020/5/26 19:29
|
||||
*/
|
||||
export function WXLoginUrl (parameter) {
|
||||
return axios({
|
||||
url: '/business/getwxloginurl',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 获取验证码开关
|
||||
*
|
||||
* @author Jax
|
||||
* @date 2021/1/22 00:00
|
||||
*/
|
||||
export function getCaptchaOpen (parameter) {
|
||||
return axios({
|
||||
url: '/getCaptchaOpen',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取验证图片 以及token
|
||||
*
|
||||
* @author Jax
|
||||
* @date 2021/1/22 00:00
|
||||
*/
|
||||
export function reqGet(data) {
|
||||
return axios({
|
||||
url: '/captcha/get',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 滑动或者点选验证
|
||||
*
|
||||
* @author Jax
|
||||
* @date 2021/1/22 00:00
|
||||
*/
|
||||
export function reqCheck(data) {
|
||||
return axios({
|
||||
url: '/captcha/check',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
import {
|
||||
axios
|
||||
} from '@/utils/request'
|
||||
|
||||
/**
|
||||
*
|
||||
* 系统属性监控
|
||||
*
|
||||
*/
|
||||
export function sysMachineUse(parameter) {
|
||||
return axios({
|
||||
url: '/sysMachine/use',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function sysMachineBase(parameter) {
|
||||
return axios({
|
||||
url: '/sysMachine/base',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function sysMachineNetwork(parameter) {
|
||||
return axios({
|
||||
url: '/sysMachine/network',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,114 @@
|
|||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 获取菜单列表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @param parameter
|
||||
* @returns {*}
|
||||
*/
|
||||
export function getMenuList (parameter) {
|
||||
return axios({
|
||||
url: '/sysMenu/list',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取系统菜单树,用于新增,编辑时选择上级节点
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/4/23 12:22
|
||||
*/
|
||||
export function getMenuTree (parameter) {
|
||||
return axios({
|
||||
url: '/sysMenu/tree',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加菜单
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/4/24 23:23
|
||||
*/
|
||||
export function sysMenuAdd (parameter) {
|
||||
return axios({
|
||||
url: '/sysMenu/add',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加菜单
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/4/24 23:23
|
||||
*/
|
||||
export function sysMenuDelete (parameter) {
|
||||
return axios({
|
||||
url: '/sysMenu/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看菜单详情
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/4/25 01:11
|
||||
*/
|
||||
export function sysMenuDetail (parameter) {
|
||||
return axios({
|
||||
url: '/sysMenu/detail',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑系统菜单
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/4/25 01:11
|
||||
*/
|
||||
export function sysMenuEdit (parameter) {
|
||||
return axios({
|
||||
url: '/sysMenu/edit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取系统菜单树,用于给角色授权时选择
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/2 17:30
|
||||
*/
|
||||
export function SysMenuTreeForGrant (parameter) {
|
||||
return axios({
|
||||
url: '/sysMenu/treeForGrant',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据系统切换菜单
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/28 15:25
|
||||
*/
|
||||
export function sysMenuChange (parameter) {
|
||||
return axios({
|
||||
url: '/sysMenu/change',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 查询系统通知公告
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/30 01:56
|
||||
*/
|
||||
export function sysNoticePage (parameter) {
|
||||
return axios({
|
||||
url: '/sysNotice/page',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加系统通知公告
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/30 01:56
|
||||
*/
|
||||
export function sysNoticeAdd (parameter) {
|
||||
return axios({
|
||||
url: '/sysNotice/add',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑系统通知公告
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/30 01:56
|
||||
*/
|
||||
export function sysNoticeEdit (parameter) {
|
||||
return axios({
|
||||
url: '/sysNotice/edit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除系统通知公告
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/30 01:56
|
||||
*/
|
||||
export function sysNoticeDelete (parameter) {
|
||||
return axios({
|
||||
url: '/sysNotice/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 通知公告详情
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/30 01:56
|
||||
*/
|
||||
export function sysNoticeDetail (parameter) {
|
||||
return axios({
|
||||
url: '/sysNotice/detail',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改状态
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/7/30 02:23
|
||||
*/
|
||||
export function sysNoticeChangeStatus (parameter) {
|
||||
return axios({
|
||||
url: '/sysNotice/changeStatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 查询我收到的系统通知公告
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/7/3 03:02
|
||||
*/
|
||||
export function sysNoticeReceived (parameter) {
|
||||
return axios({
|
||||
url: '/sysNotice/received',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function unReadNotice (parameter) {
|
||||
return axios({
|
||||
url: '/sysNotice/unread',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 获取机构树
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/4/26 12:08
|
||||
*/
|
||||
export function getOrgTree (parameter) {
|
||||
return axios({
|
||||
url: '/sysOrg/tree',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取机构列表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/11 12:59
|
||||
*/
|
||||
export function getOrgList (parameter) {
|
||||
return axios({
|
||||
url: '/sysOrg/list',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取机构列表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/11 16:17
|
||||
*/
|
||||
export function getOrgPage (parameter) {
|
||||
return axios({
|
||||
url: '/sysOrg/page',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增机构
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/11 13:56
|
||||
*/
|
||||
export function sysOrgAdd (parameter) {
|
||||
return axios({
|
||||
url: '/sysOrg/add',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑机构
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/11 13:56
|
||||
*/
|
||||
export function sysOrgEdit (parameter) {
|
||||
return axios({
|
||||
url: '/sysOrg/edit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除机构
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/11 12:59
|
||||
*/
|
||||
export function sysOrgDelete (parameter) {
|
||||
return axios({
|
||||
url: '/sysOrg/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 查询系统职位
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/25 01:31
|
||||
*/
|
||||
export function sysPosPage (parameter) {
|
||||
return axios({
|
||||
url: '/sysPos/page',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 系统职位列表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/21 23:50
|
||||
*/
|
||||
export function sysPosList (parameter) {
|
||||
return axios({
|
||||
url: '/sysPos/list',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加系统职位
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/25 01:31
|
||||
*/
|
||||
export function sysPosAdd (parameter) {
|
||||
return axios({
|
||||
url: '/sysPos/add',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑系统职位
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/25 01:31
|
||||
*/
|
||||
export function sysPosEdit (parameter) {
|
||||
return axios({
|
||||
url: '/sysPos/edit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除系统职位
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/25 01:31
|
||||
*/
|
||||
export function sysPosDelete (parameter) {
|
||||
return axios({
|
||||
url: '/sysPos/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,141 @@
|
|||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 获取角色列表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/6 11:44
|
||||
*/
|
||||
export function getRolePage (parameter) {
|
||||
return axios({
|
||||
url: '/sysRole/page',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加角色
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/6 11:44
|
||||
*/
|
||||
export function sysRoleAdd (parameter) {
|
||||
return axios({
|
||||
url: '/sysRole/add',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑角色
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/6 11:44
|
||||
*/
|
||||
export function sysRoleEdit (parameter) {
|
||||
return axios({
|
||||
url: '/sysRole/edit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除角色
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/6 17:51
|
||||
*/
|
||||
export function sysRoleDelete (parameter) {
|
||||
return axios({
|
||||
url: '/sysRole/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除角色
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/7 11:28
|
||||
*/
|
||||
export function sysRoleDeteil (parameter) {
|
||||
return axios({
|
||||
url: '/sysRole/detail',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取授权角色列表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/26 23:59
|
||||
*/
|
||||
export function sysRoleDropDown (parameter) {
|
||||
return axios({
|
||||
url: '/sysRole/dropDown',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 拥有菜单
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/02 19:02
|
||||
*/
|
||||
export function sysRoleOwnMenu (parameter) {
|
||||
return axios({
|
||||
url: '/sysRole/ownMenu',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 授权菜单
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/2 21:10
|
||||
*/
|
||||
export function sysRoleGrantMenu (parameter) {
|
||||
return axios({
|
||||
url: '/sysRole/grantMenu',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 拥有数据
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/02 21:40
|
||||
*/
|
||||
export function sysRoleOwnData (parameter) {
|
||||
return axios({
|
||||
url: '/sysRole/ownData',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 授权数据
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/2 21:50
|
||||
*/
|
||||
export function sysRoleGrantData (parameter) {
|
||||
return axios({
|
||||
url: '/sysRole/grantData',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
/**
|
||||
* 租户
|
||||
*/
|
||||
import {
|
||||
axios
|
||||
} from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 租户列表
|
||||
*
|
||||
*/
|
||||
export function sysTenantPage(parameter) {
|
||||
return axios({
|
||||
url: '/sysTenant/page',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增租户
|
||||
*
|
||||
*/
|
||||
export function sysTenantAdd(parameter) {
|
||||
return axios({
|
||||
url: '/sysTenant/add',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除租户
|
||||
*
|
||||
*/
|
||||
export function sysTenantDelete(parameter) {
|
||||
return axios({
|
||||
url: '/sysTenant/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑租户
|
||||
*
|
||||
*/
|
||||
export function sysTenantEdit(parameter) {
|
||||
return axios({
|
||||
url: '/sysTenant/edit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 拥有菜单
|
||||
*
|
||||
* @author zuohuaijun
|
||||
* @date 2021/04/22 10:30
|
||||
*/
|
||||
export function sysTenantOwnMenu (parameter) {
|
||||
return axios({
|
||||
url: '/sysTenant/ownMenu',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 授权菜单
|
||||
*
|
||||
* @author zuohuaijun
|
||||
* @date 2021/04/22 10:30
|
||||
*/
|
||||
export function sysTenantGrantMenu (parameter) {
|
||||
return axios({
|
||||
url: '/sysTenant/grantMenu',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置密码
|
||||
*
|
||||
* @author zuohuaijun
|
||||
* @date 2021/04/22 11:00
|
||||
*/
|
||||
export function sysTenantResetPwd (parameter) {
|
||||
return axios({
|
||||
url: '/sysTenant/resetPwd',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 订单初始化
|
||||
*
|
||||
*/
|
||||
export function OrderInit (parameter) {
|
||||
return axios({
|
||||
url: '/order/insertdefaultorder',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 标准初始化
|
||||
*
|
||||
*/
|
||||
export function StandInit (parameter) {
|
||||
return axios({
|
||||
url: '/order/insertdefaultstand',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,286 @@
|
|||
import { axios } from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 获取用户列表
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/4/26 12:08
|
||||
*/
|
||||
export function getUserPage(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/page',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加用户
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/5 02:08
|
||||
*/
|
||||
export function sysUserAdd(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/add',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑用户
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/5 02:08
|
||||
*/
|
||||
export function sysUserEdit(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/edit',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户详情
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/5 19:55
|
||||
*/
|
||||
export function sysUserDetail(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/detail',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除用户
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/7 19:31
|
||||
*/
|
||||
export function sysUserDelete(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/delete',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 拥有角色
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/3 11:58
|
||||
*/
|
||||
export function sysUserOwnRole(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/ownRole',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
// 用户拥有的VIP信息
|
||||
export function sysUserOwnVIP(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/ownVIP',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 用户拥有的企业信息
|
||||
export function sysUserOwnCom(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/owncom',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 用户拥有的企业信息提交
|
||||
export function sysUserSubmitCom(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/submitCom',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 授权角色
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/5/26 23:59
|
||||
*/
|
||||
export function sysUserGrantRole(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/grantRole',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 授权VIP
|
||||
export function sysUserGrantVIP(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/grantvip',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 拥有数据
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/2 23:14
|
||||
*/
|
||||
export function sysUserOwnData(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/ownData',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 授权数据
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/2 23:15
|
||||
*/
|
||||
export function sysUserGrantData(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/grantData',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改状态
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/23 21:36
|
||||
*/
|
||||
export function sysUserChangeStatus(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/changeStatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置密码
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/23 22:04
|
||||
*/
|
||||
export function sysUserResetPwd(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/resetPwd',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改密码
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/25 00:25
|
||||
*/
|
||||
export function sysUserUpdatePwd(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/updatePwd',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户选择器
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/6/25 00:25
|
||||
*/
|
||||
export function sysUserSelector(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/selector',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改头像
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/9/20 2:21
|
||||
*/
|
||||
export function sysUserUpdateAvatar(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/updateAvatar',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新基本信息
|
||||
*
|
||||
* @author yubaoshan
|
||||
* @date 2020/9/20 03:12
|
||||
*/
|
||||
export function sysUserUpdateInfo(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/updateInfo',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出用户信息
|
||||
*
|
||||
* @author zuohuaijun
|
||||
* @date 2021/4/20 01:00
|
||||
*/
|
||||
export function sysUserExport(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/export',
|
||||
method: 'get',
|
||||
data: parameter,
|
||||
responseType: 'blob'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入用户信息
|
||||
*
|
||||
* @author zuohuaijun
|
||||
* @date 2021/4/20 01:00
|
||||
*/
|
||||
export function sysUserImport(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/import',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 获取用户入会申请列表
|
||||
export function getUserSupplyForList(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/supplyforlist',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
// 入会状态修改
|
||||
export function SupplyForStatus(parameter) {
|
||||
return axios({
|
||||
url: '/sysUser/supplyforstatus',
|
||||
method: 'post',
|
||||
data: parameter
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
<?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>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
|
@ -0,0 +1,569 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="2518px" height="2552px" viewBox="0 0 2518 2552" enable-background="new 0 0 2518 2552" xml:space="preserve"> <image id="image0" width="2518" height="2552" x="0" y="0"
|
||||
href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAACdYAAAn4CAMAAABJTpMMAAAABGdBTUEAALGPC/xhBQAAACBjSFJN
|
||||
AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAV1BMVEX////3sDH3sDH3sDHk
|
||||
JyjkJygxWpsxWpvkJygxWpv3sDHkJygxWptTaqVufbGUm8OgpcutsdHR0uW5vNhgc6v////09Pl7
|
||||
h7eIkL3p6fPd3uxBYqDFx96PvGBXAAAACnRSTlMAQIAgIEAgQICAaHjDwwAAAAFiS0dEAIgFHUgA
|
||||
AAAJcEhZcwAACxIAAAsSAdLdfvwAAAAHdElNRQfnCB4CCi5intvcAAB8AUlEQVR42u392Xoj2xGl
|
||||
W2bmqTqnskrsmWADvv9zlrba3USDIDF9utsa41Y3kozh/n/AsoX/8T//FwAAh/c//8f/+v8CAHB4
|
||||
/0vWAQBMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6
|
||||
AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCC
|
||||
rAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAA
|
||||
I8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkH
|
||||
ADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQ
|
||||
dQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBg
|
||||
BFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsA
|
||||
AEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiy
|
||||
DgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCM
|
||||
IOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0A
|
||||
wAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHW
|
||||
AQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIAR
|
||||
ZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMA
|
||||
GEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6
|
||||
AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCC
|
||||
rAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAA
|
||||
I8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkH
|
||||
ADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQ
|
||||
dQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBg
|
||||
BFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsA
|
||||
AEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiy
|
||||
DgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCM
|
||||
IOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0A
|
||||
wAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHW
|
||||
AQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIAR
|
||||
ZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMA
|
||||
GEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6
|
||||
AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCC
|
||||
rAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAA
|
||||
I8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkH
|
||||
ADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQ
|
||||
dQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBg
|
||||
BFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsA
|
||||
AEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiy
|
||||
DgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCM
|
||||
IOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0A
|
||||
wAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHW
|
||||
AQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIAR
|
||||
ZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMA
|
||||
GEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6
|
||||
AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCC
|
||||
rAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAA
|
||||
I8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkH
|
||||
ADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQ
|
||||
dQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBg
|
||||
BFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsA
|
||||
AEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiy
|
||||
DgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCM
|
||||
IOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0A
|
||||
wAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHW
|
||||
AQCMIOsAAEaQdQAAI8g6AIARZB0AwAiyDgBgBFkHADCCrAMAGEHWAQCMIOsAAEaQdQAAI8g6AIAR
|
||||
ZB0AwAiyDgBgBFkHADCCrAMAGOF//Y//638CAHB4/9f/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
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
|
||||
ti4By5J1DbKOlHarybo+6xKwMFnXIOtIabearOt7bL9WgB5Z1yDrSGm3mqyre2i/VYAiWdcg60hp
|
||||
t5qsazu3XypAk6xrkHWktFtN1rXZgoWlyboGWUdKu9VkXZsr62Bpsq5B1pHSbjVZ12ZhApYm6xpk
|
||||
HSntVpN1be6sg6XJugZZR0q71WRd2XP7nQJUyboGWUdKu9VkXZmNCVibrGuQdaS0W03WldmYgLXJ
|
||||
ugZZR0q71WRdmY0JWJusa5B1pLRbTdaVvbXfKUCVrGuQdaS0W03WlbVfKUCXrGuQdaS0W03Wdd22
|
||||
XylAl6xrkHWktFtN1nW9tl8pQJesa5B1pLRbTdZ1WYSFxcm6BllHSrvVZF3XR/uVAnTJugZZR0q7
|
||||
1WRdl/tNYHGyrkHWkdJuNVnX1X6jAGWyrkHWkdJuNVnX1X6jAGWyrkHWkdJuNVlX5X4TWJ2sa5B1
|
||||
pLRbTdZVyTpYnaxrkHWktFtN1lXdtd8oQJmsa5B1pLRbTdZVubYOVifrGmQdKe1Wk3VVT+03ClAm
|
||||
6xpkHSntVpN1Va6tg9XJugZZR0q71WRdlayD1cm6BllHSrvVZF3Vqf1GAcpkXYOsI6XdarKuqv1C
|
||||
AdpkXYOsI6XdarKuqv1CAdpkXYOsI6XdarKu6ab9QgHaZF2DrCOl3WqyrsmPTMDyZF2DrCOl3Wqy
|
||||
rknWwfJkXYOsI6XdarKuSdbB8mRdg6wjpd1qsq7ppf1CAdpkXYOsI6XdarKuyU/CwvJkXYOsI6Xd
|
||||
arKuSdbB8mRdg6wjpd1qsq5J1sHyZF2DrCOl3WqyrknWwfJkXYOsI6XdarKuSdbB8mRdg6wjpd1q
|
||||
sq5J1sHyZF2DrCOl3WqyrknWwfJkXYOsI6XdarKuSdbB8mRdg6wjpd1qsq5J1sHyZF2DrCOl3Wqy
|
||||
rknWwfJkXYOsI6XdarKuSdbB8mRdg6wjpd1qsq5J1sHyZF2DrCOl3WqyrknWwfJkXYOsI6XdarKu
|
||||
SdbB8mRdg6wjpd1qsq5J1sHyZF2DrCOl3WqyrknWwfJkXYOsI6XdarKuSdbB8mRdg6wjpd1qsq5J
|
||||
1sHyZF2DrCOl3WqyrknWwfJkXYOsI6XdarKu6a79QgHaZF2DrCOl3Wqyrum2/UIB2mRdg6wjpd1q
|
||||
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
|
||||
JusAfsXznz/3e/jSmT9Z1yDrSGm3mqwDuLK/LP3+4CM/Wdcg60hpt5qsA9ja83/3PF7b/12WJOtI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABYj60hpt5qsA2Axso6UdqvJOgAWI+tI
|
||||
abearANgMbKOlHaryToAFiPrSGm3mqwDYDGyjpR2q8k6ABbzv///irjCHNbg1MoAAAAldEVYdGRh
|
||||
dGU6Y3JlYXRlADIwMjMtMDgtMzBUMDI6MTA6NDErMDA6MDDsMOJ2AAAAJXRFWHRkYXRlOm1vZGlm
|
||||
eQAyMDIzLTA4LTMwVDAyOjEwOjQxKzAwOjAwnW1aygAAACh0RVh0ZGF0ZTp0aW1lc3RhbXAAMjAy
|
||||
My0wOC0zMFQwMjoxMDo0NCswMDowMJhAVLIAAAAASUVORK5CYII=" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
|
@ -0,0 +1 @@
|
|||
code
|
||||
|
|
After Width: | Height: | Size: 17 KiB |
|
|
@ -0,0 +1,89 @@
|
|||
<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>
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
import ArticleListContent from './ArticleListContent'
|
||||
|
||||
export default ArticleListContent
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
<template>
|
||||
<tooltip v-if="tips !== ''">
|
||||
<template slot="title">{{ tips }}</template>
|
||||
<avatar :size="avatarSize" :src="src" />
|
||||
</tooltip>
|
||||
<avatar v-else :size="avatarSize" :src="src" />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Avatar from 'ant-design-vue/es/avatar'
|
||||
import Tooltip from 'ant-design-vue/es/tooltip'
|
||||
|
||||
export default {
|
||||
name: 'AvatarItem',
|
||||
components: {
|
||||
Avatar,
|
||||
Tooltip
|
||||
},
|
||||
props: {
|
||||
tips: {
|
||||
type: String,
|
||||
default: '',
|
||||
required: false
|
||||
},
|
||||
src: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
size: this.$parent.size
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
avatarSize () {
|
||||
return this.size !== 'mini' && this.size || 20
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$parent.size' (val) {
|
||||
this.size = val
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
<!--
|
||||
<template>
|
||||
<div :class="[prefixCls]">
|
||||
<ul>
|
||||
<slot></slot>
|
||||
<template v-for="item in filterEmpty($slots.default).slice(0, 3)"></template>
|
||||
|
||||
<template v-if="maxLength > 0 && filterEmpty($slots.default).length > maxLength">
|
||||
<avatar-item :size="size">
|
||||
<avatar :size="size !== 'mini' && size || 20" :style="excessItemsStyle">{{ `+${maxLength}` }}</avatar>
|
||||
</avatar-item>
|
||||
</template>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
-->
|
||||
|
||||
<script>
|
||||
import Avatar from 'ant-design-vue/es/avatar'
|
||||
import AvatarItem from './Item'
|
||||
import { filterEmpty } from '@/components/_util/util'
|
||||
|
||||
export default {
|
||||
AvatarItem,
|
||||
name: 'AvatarList',
|
||||
components: {
|
||||
Avatar,
|
||||
AvatarItem
|
||||
},
|
||||
props: {
|
||||
prefixCls: {
|
||||
type: String,
|
||||
default: 'ant-pro-avatar-list'
|
||||
},
|
||||
/**
|
||||
* 头像大小 类型: large、small 、mini, default
|
||||
* 默认值: default
|
||||
*/
|
||||
size: {
|
||||
type: [String, Number],
|
||||
default: 'default'
|
||||
},
|
||||
/**
|
||||
* 要显示的最大项目
|
||||
*/
|
||||
maxLength: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
/**
|
||||
* 多余的项目风格
|
||||
*/
|
||||
excessItemsStyle: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {
|
||||
color: '#f56a00',
|
||||
backgroundColor: '#fde3cf'
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {}
|
||||
},
|
||||
methods: {
|
||||
getItems (items) {
|
||||
const classString = {
|
||||
[`${this.prefixCls}-item`]: true,
|
||||
[`${this.size}`]: true
|
||||
}
|
||||
|
||||
if (this.maxLength > 0) {
|
||||
items = items.slice(0, this.maxLength)
|
||||
items.push((<Avatar size={ this.size } style={ this.excessItemsStyle }>{`+${this.maxLength}`}</Avatar>))
|
||||
}
|
||||
const itemList = items.map((item) => (
|
||||
<li class={ classString }>{ item }</li>
|
||||
))
|
||||
return itemList
|
||||
}
|
||||
},
|
||||
render () {
|
||||
const { prefixCls, size } = this.$props
|
||||
const classString = {
|
||||
[`${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={ classString }>
|
||||
{ itemsDom }
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
import AvatarList from './List'
|
||||
import './index.less'
|
||||
|
||||
export default AvatarList
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
@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 {
|
||||
list-style: none;
|
||||
display: inline-block;
|
||||
padding: 0;
|
||||
margin: 0 0 0 8px;
|
||||
font-size: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.@{avatar-list-item-prefix-cls} {
|
||||
display: inline-block;
|
||||
font-size: @font-size-base;
|
||||
margin-left: -8px;
|
||||
width: @avatar-size-base;
|
||||
height: @avatar-size-base;
|
||||
|
||||
:global {
|
||||
.ant-avatar {
|
||||
border: 1px solid #fff;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
&.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
# AvatarList 用户头像列表
|
||||
|
||||
|
||||
一组用户头像,常用在项目/团队成员列表。可通过设置 `size` 属性来指定头像大小。
|
||||
|
||||
|
||||
|
||||
引用方式:
|
||||
|
||||
```javascript
|
||||
import AvatarList from '@/components/AvatarList'
|
||||
const AvatarListItem = AvatarList.AvatarItem
|
||||
|
||||
export default {
|
||||
components: {
|
||||
AvatarList,
|
||||
AvatarListItem
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
## 代码演示 [demo](https://pro.loacg.com/test/home)
|
||||
|
||||
```html
|
||||
<avatar-list size="mini">
|
||||
<avatar-list-item tips="Jake" src="https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png" />
|
||||
<avatar-list-item tips="Andy" src="https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png" />
|
||||
<avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
|
||||
</avatar-list>
|
||||
```
|
||||
或
|
||||
```html
|
||||
<avatar-list :max-length="3">
|
||||
<avatar-list-item tips="Jake" src="https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png" />
|
||||
<avatar-list-item tips="Andy" src="https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png" />
|
||||
<avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
|
||||
<avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
|
||||
<avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
|
||||
<avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
|
||||
<avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
|
||||
</avatar-list>
|
||||
```
|
||||
|
||||
|
||||
|
||||
## API
|
||||
|
||||
### AvatarList
|
||||
|
||||
| 参数 | 说明 | 类型 | 默认值 |
|
||||
| ---------------- | -------- | ---------------------------------- | --------- |
|
||||
| size | 头像大小 | `large`、`small` 、`mini`, `default` | `default` |
|
||||
| maxLength | 要显示的最大项目 | number | - |
|
||||
| excessItemsStyle | 多余的项目风格 | CSSProperties | - |
|
||||
|
||||
### AvatarList.Item
|
||||
|
||||
| 参数 | 说明 | 类型 | 默认值 |
|
||||
| ---- | ------ | --------- | --- |
|
||||
| tips | 头像展示文案 | string | - |
|
||||
| src | 头像图片连接 | string | - |
|
||||
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
<template>
|
||||
<div :style="{ padding: '0 0 32px 32px' }">
|
||||
<h4 :style="{ marginBottom: '20px' }">{{ title }}</h4>
|
||||
<v-chart
|
||||
height="254"
|
||||
:data="data"
|
||||
:forceFit="true"
|
||||
:padding="['auto', 'auto', '40', '50']">
|
||||
<v-tooltip/>
|
||||
<v-axis :show="true"/>
|
||||
<v-bar position="x*y"/>
|
||||
</v-chart>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'Bar',
|
||||
props: {
|
||||
title: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
data: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
},
|
||||
scale: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return [{
|
||||
dataKey: 'x',
|
||||
min: 2
|
||||
}, {
|
||||
dataKey: 'y',
|
||||
title: '时间',
|
||||
min: 1,
|
||||
max: 22
|
||||
}]
|
||||
}
|
||||
},
|
||||
tooltip: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return [
|
||||
'x*y',
|
||||
(x, y) => ({
|
||||
name: x,
|
||||
value: y
|
||||
})
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,124 @@
|
|||
<template>
|
||||
<a-card :loading="loading" :body-style="{ padding: '20px 24px 8px' }" :bordered="false">
|
||||
<div class="chart-card-header">
|
||||
<div class="meta">
|
||||
<span class="chart-card-title">
|
||||
<slot name="title">
|
||||
{{ title }}
|
||||
</slot>
|
||||
</span>
|
||||
<span class="chart-card-action">
|
||||
<slot name="action"></slot>
|
||||
</span>
|
||||
</div>
|
||||
<div class="total">
|
||||
<slot name="total">
|
||||
<span>{{ typeof total === 'function' && total() || total }}</span>
|
||||
</slot>
|
||||
</div>
|
||||
</div>
|
||||
<div class="chart-card-content" v-if="content">
|
||||
<div class="content-fix">
|
||||
<slot></slot>
|
||||
</div>
|
||||
</div>
|
||||
<div class="chart-card-footer">
|
||||
<div class="field">
|
||||
<slot name="footer"></slot>
|
||||
</div>
|
||||
</div>
|
||||
</a-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'ChartCard',
|
||||
props: {
|
||||
title: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
total: {
|
||||
type: [Function, Number, String],
|
||||
required: false,
|
||||
default: null
|
||||
},
|
||||
loading: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
content: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.chart-card-header {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
|
||||
.meta {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
color: rgba(0, 0, 0, .45);
|
||||
font-size: 14px;
|
||||
line-height: 22px;
|
||||
}
|
||||
}
|
||||
|
||||
.chart-card-action {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.chart-card-footer {
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding-top: 9px;
|
||||
margin-top: 8px;
|
||||
|
||||
> * {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.field {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.chart-card-content {
|
||||
margin-bottom: 12px;
|
||||
position: relative;
|
||||
height: 46px;
|
||||
width: 100%;
|
||||
|
||||
.content-fix {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.total {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
word-break: break-all;
|
||||
white-space: nowrap;
|
||||
color: #000;
|
||||
margin-top: 4px;
|
||||
margin-bottom: 0;
|
||||
font-size: 30px;
|
||||
line-height: 38px;
|
||||
height: 38px;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
<template>
|
||||
<div>
|
||||
<v-chart
|
||||
:forceFit="true"
|
||||
:height="height"
|
||||
:width="width"
|
||||
:data="data"
|
||||
:scale="scale"
|
||||
:padding="0">
|
||||
<v-tooltip />
|
||||
<v-interval
|
||||
:shape="['liquid-fill-gauge']"
|
||||
position="transfer*value"
|
||||
color=""
|
||||
:v-style="{
|
||||
lineWidth: 10,
|
||||
opacity: 0.75
|
||||
}"
|
||||
:tooltip="[
|
||||
'transfer*value',
|
||||
(transfer, value) => {
|
||||
return {
|
||||
name: transfer,
|
||||
value,
|
||||
};
|
||||
},
|
||||
]"
|
||||
></v-interval>
|
||||
<v-guide
|
||||
v-for="(row, index) in data"
|
||||
:key="index"
|
||||
type="text"
|
||||
:top="true"
|
||||
:position="{
|
||||
gender: row.transfer,
|
||||
value: 45
|
||||
}"
|
||||
:content="row.value + '%'"
|
||||
:v-style="{
|
||||
fontSize: 100,
|
||||
textAlign: 'center',
|
||||
opacity: 0.75,
|
||||
}"
|
||||
/>
|
||||
</v-chart>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'Liquid',
|
||||
props: {
|
||||
height: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
width: {
|
||||
type: Number,
|
||||
default: 0
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
<template>
|
||||
<div class="chart-mini-progress">
|
||||
<div class="target" :style="{ left: target + '%'}">
|
||||
<span :style="{ backgroundColor: color }" />
|
||||
<span :style="{ backgroundColor: color }"/>
|
||||
</div>
|
||||
<div class="progress-wrapper">
|
||||
<div class="progress" :style="{ backgroundColor: color, width: percentage + '%', height: height }"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'MiniProgress',
|
||||
props: {
|
||||
target: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
height: {
|
||||
type: String,
|
||||
default: '10px'
|
||||
},
|
||||
color: {
|
||||
type: String,
|
||||
default: '#13C2C2'
|
||||
},
|
||||
percentage: {
|
||||
type: Number,
|
||||
default: 0
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.chart-mini-progress {
|
||||
padding: 5px 0;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
|
||||
.target {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
|
||||
span {
|
||||
border-radius: 100px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 4px;
|
||||
width: 2px;
|
||||
|
||||
&:last-child {
|
||||
top: auto;
|
||||
bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.progress-wrapper {
|
||||
background-color: #f5f5f5;
|
||||
position: relative;
|
||||
|
||||
.progress {
|
||||
transition: all .4s cubic-bezier(.08,.82,.17,1) 0s;
|
||||
border-radius: 1px 0 0 1px;
|
||||
background-color: #1890ff;
|
||||
width: 0;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
<template>
|
||||
<div :class="prefixCls">
|
||||
<div class="chart-wrapper" :style="{ height: 46 }">
|
||||
<v-chart :force-fit="true" :height="100" :data="dataSource" :scale="scale" :padding="[36, 0, 18, 0]">
|
||||
<v-tooltip />
|
||||
<v-smooth-line position="x*y" :size="2" />
|
||||
<v-smooth-area position="x*y" />
|
||||
</v-chart>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'MiniSmoothArea',
|
||||
props: {
|
||||
prefixCls: {
|
||||
type: String,
|
||||
default: 'ant-pro-smooth-area'
|
||||
},
|
||||
scale: {
|
||||
type: [Object, Array],
|
||||
required: true
|
||||
},
|
||||
dataSource: {
|
||||
type: Array,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
height: 100
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import "smooth.area.less";
|
||||
</style>
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
<template>
|
||||
<v-chart :forceFit="true" height="400" :data="data" :padding="[20, 20, 95, 20]" :scale="scale">
|
||||
<v-tooltip></v-tooltip>
|
||||
<v-axis :dataKey="axis1Opts.dataKey" :line="axis1Opts.line" :tickLine="axis1Opts.tickLine" :grid="axis1Opts.grid" />
|
||||
<v-axis :dataKey="axis2Opts.dataKey" :line="axis2Opts.line" :tickLine="axis2Opts.tickLine" :grid="axis2Opts.grid" />
|
||||
<v-legend dataKey="user" marker="circle" :offset="30" />
|
||||
<v-coord type="polar" radius="0.8" />
|
||||
<v-line position="item*score" color="user" :size="2" />
|
||||
<v-point position="item*score" color="user" :size="4" shape="circle" />
|
||||
</v-chart>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
const axis1Opts = {
|
||||
dataKey: 'item',
|
||||
line: null,
|
||||
tickLine: null,
|
||||
grid: {
|
||||
lineStyle: {
|
||||
lineDash: null
|
||||
},
|
||||
hideFirstLine: false
|
||||
}
|
||||
}
|
||||
const axis2Opts = {
|
||||
dataKey: 'score',
|
||||
line: null,
|
||||
tickLine: null,
|
||||
grid: {
|
||||
type: 'polygon',
|
||||
lineStyle: {
|
||||
lineDash: null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const scale = [
|
||||
{
|
||||
dataKey: 'score',
|
||||
min: 0,
|
||||
max: 80
|
||||
}, {
|
||||
dataKey: 'user',
|
||||
alias: '类型'
|
||||
}
|
||||
]
|
||||
|
||||
export default {
|
||||
name: 'Radar',
|
||||
props: {
|
||||
data: {
|
||||
type: Array,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
axis1Opts,
|
||||
axis2Opts,
|
||||
scale
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
<template>
|
||||
<div class="rank">
|
||||
<h4 class="title">{{ title }}</h4>
|
||||
<ul class="list">
|
||||
<li :key="index" v-for="(item, index) in list">
|
||||
<span :class="index < 3 ? 'active' : null">{{ index + 1 }}</span>
|
||||
<span>{{ item.name }}</span>
|
||||
<span>{{ item.total }}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'RankList',
|
||||
// ['title', 'list']
|
||||
props: {
|
||||
title: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
list: {
|
||||
type: Array,
|
||||
default: null
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
|
||||
.rank {
|
||||
padding: 0 32px 32px 72px;
|
||||
|
||||
.list {
|
||||
margin: 25px 0 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
|
||||
li {
|
||||
margin-top: 16px;
|
||||
|
||||
span {
|
||||
color: rgba(0, 0, 0, .65);
|
||||
font-size: 14px;
|
||||
line-height: 22px;
|
||||
|
||||
&:first-child {
|
||||
background-color: #f5f5f5;
|
||||
border-radius: 20px;
|
||||
display: inline-block;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
margin-right: 24px;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
width: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
&.active {
|
||||
background-color: #314659;
|
||||
color: #fff;
|
||||
}
|
||||
&:last-child {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.mobile .rank {
|
||||
padding: 0 32px 32px 32px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
<template>
|
||||
<div :style="{ padding: '0 0 32px 32px' }">
|
||||
<h4 :style="{ marginBottom: '20px' }">{{ title }}</h4>
|
||||
<v-chart
|
||||
height="254"
|
||||
:data="data"
|
||||
:scale="scale"
|
||||
:forceFit="true"
|
||||
:padding="['auto', 'auto', '40', '50']">
|
||||
<v-tooltip />
|
||||
<v-axis />
|
||||
<v-bar position="x*y"/>
|
||||
</v-chart>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
const tooltip = [
|
||||
'x*y',
|
||||
(x, y) => ({
|
||||
name: x,
|
||||
value: y
|
||||
})
|
||||
]
|
||||
const scale = [{
|
||||
dataKey: 'x',
|
||||
title: '日期(天)',
|
||||
alias: '日期(天)',
|
||||
min: 2
|
||||
}, {
|
||||
dataKey: 'y',
|
||||
title: '流量(Gb)',
|
||||
alias: '流量(Gb)',
|
||||
min: 1
|
||||
}]
|
||||
|
||||
export default {
|
||||
name: 'Bar',
|
||||
props: {
|
||||
title: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
data: [],
|
||||
scale,
|
||||
tooltip
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.getMonthBar()
|
||||
},
|
||||
methods: {
|
||||
getMonthBar () {
|
||||
this.$http.get('/analysis/month-bar')
|
||||
.then(res => {
|
||||
this.data = res.result
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
<template>
|
||||
<div class="chart-trend">
|
||||
{{ term }}
|
||||
<span>{{ rate }}%</span>
|
||||
<span :class="['trend-icon', trend]"><a-icon :type="'caret-' + trend"/></span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'Trend',
|
||||
props: {
|
||||
term: {
|
||||
type: String,
|
||||
default: '',
|
||||
required: true
|
||||
},
|
||||
percentage: {
|
||||
type: Number,
|
||||
default: null
|
||||
},
|
||||
type: {
|
||||
type: Boolean,
|
||||
default: null
|
||||
},
|
||||
target: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
value: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
fixed: {
|
||||
type: Number,
|
||||
default: 2
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
trend: this.type && 'up' || 'down',
|
||||
rate: this.percentage
|
||||
}
|
||||
},
|
||||
created () {
|
||||
const type = this.type === null ? this.value >= this.target : this.type
|
||||
this.trend = type ? 'up' : 'down'
|
||||
this.rate = (this.percentage === null ? Math.abs(this.value - this.target) * 100 / this.target : this.percentage).toFixed(this.fixed)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.chart-trend {
|
||||
display: inline-block;
|
||||
font-size: 14px;
|
||||
line-height: 22px;
|
||||
|
||||
.trend-icon {
|
||||
font-size: 12px;
|
||||
|
||||
&.up, &.down {
|
||||
margin-left: 4px;
|
||||
position: relative;
|
||||
top: 1px;
|
||||
|
||||
i {
|
||||
font-size: 12px;
|
||||
transform: scale(.83);
|
||||
}
|
||||
}
|
||||
|
||||
&.up {
|
||||
color: #f5222d;
|
||||
}
|
||||
&.down {
|
||||
color: #52c41a;
|
||||
top: -1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
.antv-chart-mini {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
|
||||
.chart-wrapper {
|
||||
position: absolute;
|
||||
bottom: -28px;
|
||||
width: 100%;
|
||||
|
||||
/* margin: 0 -5px;
|
||||
overflow: hidden;*/
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
@import "../index";
|
||||
|
||||
@smoothArea-prefix-cls: ~"@{ant-pro-prefix}-smooth-area";
|
||||
|
||||
.@{smoothArea-prefix-cls} {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
|
||||
.chart-wrapper {
|
||||
position: absolute;
|
||||
bottom: -28px;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
<template>
|
||||
<span>
|
||||
{{ lastTime | format }}
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
function fixedZero (val) {
|
||||
return val * 1 < 10 ? `0${val}` : val
|
||||
}
|
||||
|
||||
export default {
|
||||
name: 'CountDown',
|
||||
props: {
|
||||
format: {
|
||||
type: Function,
|
||||
default: undefined
|
||||
},
|
||||
target: {
|
||||
type: [Date, Number],
|
||||
required: true
|
||||
},
|
||||
onEnd: {
|
||||
type: Function,
|
||||
default: () => ({})
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
dateTime: '0',
|
||||
originTargetTime: 0,
|
||||
lastTime: 0,
|
||||
timer: 0,
|
||||
interval: 1000
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
format (time) {
|
||||
const hours = 60 * 60 * 1000
|
||||
const minutes = 60 * 1000
|
||||
|
||||
const h = Math.floor(time / hours)
|
||||
const m = Math.floor((time - h * hours) / minutes)
|
||||
const s = Math.floor((time - h * hours - m * minutes) / 1000)
|
||||
return `${fixedZero(h)}:${fixedZero(m)}:${fixedZero(s)}`
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.initTime()
|
||||
this.tick()
|
||||
},
|
||||
methods: {
|
||||
initTime () {
|
||||
let lastTime = 0
|
||||
let targetTime = 0
|
||||
this.originTargetTime = this.target
|
||||
try {
|
||||
if (Object.prototype.toString.call(this.target) === '[object Date]') {
|
||||
targetTime = this.target
|
||||
} else {
|
||||
targetTime = new Date(this.target).getTime()
|
||||
}
|
||||
} catch (e) {
|
||||
throw new Error('invalid target prop')
|
||||
}
|
||||
|
||||
lastTime = targetTime - new Date().getTime()
|
||||
|
||||
this.lastTime = lastTime < 0 ? 0 : lastTime
|
||||
},
|
||||
tick () {
|
||||
const { onEnd } = this
|
||||
|
||||
this.timer = setTimeout(() => {
|
||||
if (this.lastTime < this.interval) {
|
||||
clearTimeout(this.timer)
|
||||
this.lastTime = 0
|
||||
if (typeof onEnd === 'function') {
|
||||
onEnd()
|
||||
}
|
||||
} else {
|
||||
this.lastTime -= this.interval
|
||||
this.tick()
|
||||
}
|
||||
}, this.interval)
|
||||
}
|
||||
},
|
||||
beforeUpdate () {
|
||||
if (this.originTargetTime !== this.target) {
|
||||
this.initTime()
|
||||
}
|
||||
},
|
||||
beforeDestroy () {
|
||||
clearTimeout(this.timer)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
import CountDown from './CountDown'
|
||||
|
||||
export default CountDown
|
||||