Compare commits
58 Commits
Author | SHA1 | Date |
---|---|---|
![]() |
2b7d3ddf77 | 1 year ago |
|
767ec44bba | 1 year ago |
|
779b6c9eba | 1 year ago |
![]() |
c66b8f227e | 1 year ago |
|
fc92668bd1 | 1 year ago |
|
8813f57c9b | 1 year ago |
|
9eeefde0fb | 1 year ago |
|
f6c6002eda | 1 year ago |
|
ecc49ec019 | 1 year ago |
|
ed848edfd9 | 2 years ago |
|
f8eda78cf7 | 2 years ago |
|
6b22078098 | 2 years ago |
|
0a771cfa54 | 2 years ago |
![]() |
fe708bd2a8 | 2 years ago |
|
fd24f914f7 | 2 years ago |
|
59f5885669 | 2 years ago |
|
f83a81c02a | 2 years ago |
|
153e7e766c | 2 years ago |
|
8bc6ec10c4 | 2 years ago |
|
85a36e7fd9 | 2 years ago |
|
f727796d1f | 2 years ago |
![]() |
e756980625 | 2 years ago |
|
be38cebe38 | 2 years ago |
![]() |
3454ff1bd5 | 2 years ago |
|
50a64770ee | 2 years ago |
![]() |
cf049fc1e8 | 2 years ago |
![]() |
00fa8e4d84 | 2 years ago |
![]() |
dd53612b39 | 2 years ago |
|
25cd675698 | 2 years ago |
|
15622a2e5a | 2 years ago |
|
ca533e85e3 | 2 years ago |
|
b27a46f037 | 2 years ago |
|
7b1afb53da | 2 years ago |
|
63eb91e64c | 2 years ago |
|
ba59394115 | 2 years ago |
|
2cdb072ab8 | 2 years ago |
![]() |
155f9009fc | 2 years ago |
|
9800001876 | 2 years ago |
|
60a2a27e61 | 2 years ago |
|
01d8c27b48 | 2 years ago |
|
054e739905 | 2 years ago |
|
9a14b99b18 | 2 years ago |
![]() |
d03f08dcd4 | 2 years ago |
|
7d026fd682 | 2 years ago |
|
a4cf773aaa | 2 years ago |
|
44c7642b9a | 2 years ago |
|
f6225b2afb | 2 years ago |
|
1fd8a381ea | 2 years ago |
![]() |
c7a6210195 | 2 years ago |
|
553cdd3657 | 2 years ago |
![]() |
fbbba80e23 | 2 years ago |
|
fc3f3fa3de | 2 years ago |
|
e151ad7c9c | 2 years ago |
|
58d702f6f7 | 2 years ago |
![]() |
955687d473 | 2 years ago |
|
953377e655 | 2 years ago |
|
bff5199726 | 2 years ago |
![]() |
a7606b1f20 | 2 years ago |
@ -0,0 +1,22 @@ |
|||||||
|
# 告诉EditorConfig插件,这是根文件,不用继续往上查找 |
||||||
|
root = true |
||||||
|
|
||||||
|
# 匹配全部文件 |
||||||
|
[*] |
||||||
|
# 设置字符集 |
||||||
|
charset = utf-8 |
||||||
|
# 缩进风格,可选space、tab |
||||||
|
indent_style = space |
||||||
|
# 缩进的空格数 |
||||||
|
indent_size = 2 |
||||||
|
# 结尾换行符,可选lf、cr、crlf |
||||||
|
end_of_line = lf |
||||||
|
# 在文件结尾插入新行 |
||||||
|
insert_final_newline = true |
||||||
|
# 删除一行中的前后空格 |
||||||
|
trim_trailing_whitespace = true |
||||||
|
|
||||||
|
# 匹配md结尾的文件 |
||||||
|
[*.md] |
||||||
|
insert_final_newline = false |
||||||
|
trim_trailing_whitespace = false |
@ -0,0 +1,20 @@ |
|||||||
|
### |
||||||
|
# @Author: riverQiu |
||||||
|
# @Date: 2023-08-16 22:04:23 |
||||||
|
# @LastEditors: riverQiu |
||||||
|
# @LastEditTime: 2023-08-18 23:22:27 |
||||||
|
# @Description: |
||||||
|
### |
||||||
|
# 页面标题 |
||||||
|
VUE_APP_TITLE = 寻驾招生管理系统 |
||||||
|
|
||||||
|
# 开发环境配置 |
||||||
|
ENV = 'development' |
||||||
|
|
||||||
|
# 寻驾招生管理系统/开发环境 |
||||||
|
VUE_APP_BASE_API = '/dev-api' |
||||||
|
|
||||||
|
JWL_API = '' |
||||||
|
|
||||||
|
# 路由懒加载 |
||||||
|
VUE_CLI_BABEL_TRANSPILE_MODULES = true |
@ -0,0 +1,8 @@ |
|||||||
|
# 页面标题 |
||||||
|
VUE_APP_TITLE = 寻驾招生管理系统 |
||||||
|
|
||||||
|
# 生产环境配置 |
||||||
|
ENV = 'production' |
||||||
|
|
||||||
|
# 寻驾招生管理系统/生产环境 |
||||||
|
VUE_APP_BASE_API = '/duima' |
@ -0,0 +1,10 @@ |
|||||||
|
# 页面标题 |
||||||
|
VUE_APP_TITLE = 寻驾招生管理系统 |
||||||
|
|
||||||
|
NODE_ENV = production |
||||||
|
|
||||||
|
# 测试环境配置 |
||||||
|
ENV = 'staging' |
||||||
|
|
||||||
|
# 寻驾招生管理系统/测试环境 |
||||||
|
VUE_APP_BASE_API = '/stage-api' |
@ -0,0 +1,11 @@ |
|||||||
|
# 忽略dist目录下类型为js的文件的语法检查 |
||||||
|
dist |
||||||
|
# 忽略src/assets目录下文件的语法检查 |
||||||
|
src/static |
||||||
|
# 忽略public目录下文件的语法检查 |
||||||
|
public |
||||||
|
# # 忽略当前目录下为js的文件的语法检查 |
||||||
|
# *.js |
||||||
|
# # 忽略当前目录下为vue的文件的语法检查 |
||||||
|
# *.vue |
||||||
|
node_modules |
@ -0,0 +1,10 @@ |
|||||||
|
# 忽略build目录下类型为js的文件的语法检查 |
||||||
|
build/*.js |
||||||
|
# 忽略src/assets目录下文件的语法检查 |
||||||
|
src/assets |
||||||
|
# 忽略public目录下文件的语法检查 |
||||||
|
public |
||||||
|
# 忽略当前目录下为js的文件的语法检查 |
||||||
|
*.js |
||||||
|
# 忽略当前目录下为vue的文件的语法检查 |
||||||
|
*.vue |
@ -0,0 +1,297 @@ |
|||||||
|
// ESlint 检查配置
|
||||||
|
module.exports = { |
||||||
|
root: true, // 将ESLint限制到当前配置文件所在的目录下
|
||||||
|
parserOptions: { |
||||||
|
parser: 'babel-eslint', |
||||||
|
sourceType: 'module' // 设置"script"(默认)或"module"如果你的代码是在ECMAScript中的模块。
|
||||||
|
}, |
||||||
|
// 指定脚本的运行环境。每种环境都有一组特定的预定义全局变量
|
||||||
|
env: { |
||||||
|
browser: true, |
||||||
|
node: true, |
||||||
|
es6: true |
||||||
|
}, |
||||||
|
// 添加全局变量
|
||||||
|
globals: { |
||||||
|
uni: 'readonly', |
||||||
|
wx: 'readonly', |
||||||
|
}, |
||||||
|
extends: ['plugin:vue/recommended', 'eslint:recommended'], // 使用的默认的规则集
|
||||||
|
|
||||||
|
// 约束规则
|
||||||
|
// it is base on https://github.com/vuejs/eslint-config-vue
|
||||||
|
rules: { |
||||||
|
'vue/max-attributes-per-line': [ |
||||||
|
2, |
||||||
|
{ |
||||||
|
singleline: 20, // 当开始标签位于单行时,每行的最大属性数
|
||||||
|
// 当开始标签位于多行时,每行的最大属性数
|
||||||
|
multiline: { |
||||||
|
max: 1, |
||||||
|
allowFirstLine: false |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
'vue/singleline-html-element-content-newline': 'off', // 在单行元素的内容之前和之后需要换行符
|
||||||
|
'vue/multiline-html-element-content-newline': 'off', // 在多行元素的内容之前和之后需要换行符
|
||||||
|
'vue/name-property-casing': ['error', 'PascalCase'], // 为 Vue 组件中的 name 属性强制使用特定大小写(PascalCase | kebab-case)
|
||||||
|
'vue/no-v-html': 'off', // 禁止使用 v-html 来防止 XSS 攻击
|
||||||
|
'accessor-pairs': 2, // 强制 getter 和 setter 在对象中成对出现
|
||||||
|
// 在箭头函数中的箭头前后强制保持一致的间距
|
||||||
|
'arrow-spacing': [ |
||||||
|
2, |
||||||
|
{ |
||||||
|
before: true, |
||||||
|
after: true |
||||||
|
} |
||||||
|
], |
||||||
|
'block-spacing': [2, 'always'], // 禁止或强制在代码块中开括号前和闭括号后有空格
|
||||||
|
// 强制在代码块中使用一致的大括号风格
|
||||||
|
'brace-style': [ |
||||||
|
2, |
||||||
|
'1tbs', |
||||||
|
{ |
||||||
|
allowSingleLine: true // 允许一个块打开和关闭括号在同一行上
|
||||||
|
} |
||||||
|
], |
||||||
|
// 强制使用骆驼拼写法命名约定
|
||||||
|
camelcase: [ |
||||||
|
0, |
||||||
|
{ |
||||||
|
properties: 'always' |
||||||
|
} |
||||||
|
], |
||||||
|
'comma-dangle': [2, 'never'], // 要求或禁止末尾逗号(当前禁止)
|
||||||
|
// 在逗号前后强制保持一致的间距
|
||||||
|
'comma-spacing': [ |
||||||
|
2, |
||||||
|
{ |
||||||
|
before: false, |
||||||
|
after: true |
||||||
|
} |
||||||
|
], |
||||||
|
'comma-style': [2, 'last'], // 强制使用一致的逗号样式
|
||||||
|
'constructor-super': 2, // 要求在构造函数中有 super() 的调用
|
||||||
|
curly: [2, 'multi-line'], // 强制所有控制语句使用一致的括号风格
|
||||||
|
'dot-location': [2, 'property'], // 在点之前和之后执行一致的换行符
|
||||||
|
'eol-last': 2, // 要求或禁止文件末尾存在空行
|
||||||
|
// eqeqeq: ['error', 'never', { null: 'ignore' }], // 要求使用 === 和 !==
|
||||||
|
// 强制 generator 函数中 * 号周围使用一致的空格
|
||||||
|
'generator-star-spacing': [ |
||||||
|
2, |
||||||
|
{ |
||||||
|
before: true, |
||||||
|
after: true |
||||||
|
} |
||||||
|
], |
||||||
|
'handle-callback-err': [2, '^(err|error)$'], // 要求回调函数中有容错处理
|
||||||
|
// 强制使用一致的缩进
|
||||||
|
indent: [ |
||||||
|
2, |
||||||
|
2, |
||||||
|
{ |
||||||
|
SwitchCase: 1 |
||||||
|
} |
||||||
|
], |
||||||
|
'jsx-quotes': [2, 'prefer-single'], // 强制在 JSX 属性中一致地使用双引号或单引号
|
||||||
|
// 强制在对象字面量的属性中键和值之间使用一致的间距
|
||||||
|
'key-spacing': [ |
||||||
|
2, |
||||||
|
{ |
||||||
|
beforeColon: false, |
||||||
|
afterColon: true |
||||||
|
} |
||||||
|
], |
||||||
|
// 强制在关键字前后使用一致的空格
|
||||||
|
'keyword-spacing': [ |
||||||
|
2, |
||||||
|
{ |
||||||
|
before: true, |
||||||
|
after: true |
||||||
|
} |
||||||
|
], |
||||||
|
// 要求构造函数首字母大写
|
||||||
|
'new-cap': [ |
||||||
|
2, |
||||||
|
{ |
||||||
|
newIsCap: true, |
||||||
|
capIsNew: false |
||||||
|
} |
||||||
|
], |
||||||
|
'new-parens': 2, // 强制或禁止调用无参构造函数时有圆括号
|
||||||
|
'no-array-constructor': 2, // 禁用 Array 构造函数
|
||||||
|
'no-caller': 2, // 禁用 arguments.caller 或 arguments.callee
|
||||||
|
'no-console': 'off', // 禁用 console
|
||||||
|
'no-class-assign': 2, // 禁止修改类声明的变量
|
||||||
|
'no-cond-assign': 2, // 禁止条件表达式中出现赋值操作符
|
||||||
|
'no-const-assign': 2, // 禁止修改 const 声明的变量
|
||||||
|
'no-control-regex': 0, // 禁止在正则表达式中使用控制字符
|
||||||
|
'no-delete-var': 2, // 禁止删除变量
|
||||||
|
'no-dupe-args': 2, // 禁止 function 定义中出现重名参数
|
||||||
|
'no-dupe-class-members': 2, // 禁止类成员中出现重复的名称
|
||||||
|
'no-dupe-keys': 2, // 禁止对象字面量中出现重复的 key
|
||||||
|
'no-duplicate-case': 2, // 禁止出现重复的 case 标签
|
||||||
|
'no-empty-character-class': 2, // 禁止在正则表达式中使用空字符集
|
||||||
|
'no-empty-pattern': 2, // 禁止使用空解构模式
|
||||||
|
'no-eval': 2, // 禁用 eval()
|
||||||
|
'no-ex-assign': 2, // 禁止对 catch 子句的参数重新赋值
|
||||||
|
'no-extend-native': 2, // 禁止扩展原生类型
|
||||||
|
'no-extra-bind': 2, // 禁止不必要的 .bind() 调用
|
||||||
|
'no-extra-boolean-cast': 2, // 禁止不必要的布尔转换
|
||||||
|
'no-extra-parens': [2, 'functions'], // 禁止不必要的括号
|
||||||
|
'no-fallthrough': 2, // 禁止 case 语句落空
|
||||||
|
'no-floating-decimal': 2, // 禁止数字字面量中使用前导和末尾小数点
|
||||||
|
'no-func-assign': 2, // 禁止对 function 声明重新赋值
|
||||||
|
'no-implied-eval': 2, // 禁用隐式的eval()
|
||||||
|
'no-inner-declarations': [2, 'functions'], // 禁止在嵌套的块中出现变量声明或 function 声明
|
||||||
|
'no-invalid-regexp': 2, // 禁止 RegExp 构造函数中存在无效的正则表达式字符串
|
||||||
|
'no-irregular-whitespace': 2, // 禁止不规则的空白
|
||||||
|
'no-iterator': 2, // 禁用 __iterator__ 属性
|
||||||
|
'no-label-var': 2, // 不允许标签与变量同名
|
||||||
|
// 禁用标签语句
|
||||||
|
'no-labels': [ |
||||||
|
2, |
||||||
|
{ |
||||||
|
allowLoop: true, |
||||||
|
allowSwitch: false |
||||||
|
} |
||||||
|
], |
||||||
|
'no-lone-blocks': 2, // 禁用不必要的嵌套块
|
||||||
|
'no-mixed-spaces-and-tabs': 2, // 禁止空格和 tab 的混合缩进
|
||||||
|
'no-multi-spaces': 2, // 禁止使用多个空格
|
||||||
|
'no-multi-str': 2, // 禁止多行字符串
|
||||||
|
// 禁止出现多行空行
|
||||||
|
'no-multiple-empty-lines': [ |
||||||
|
2, |
||||||
|
{ |
||||||
|
max: 1 |
||||||
|
} |
||||||
|
], |
||||||
|
'no-native-reassign': 2, // 不允许修改只读全局变量
|
||||||
|
'no-negated-in-lhs': 2, // 禁止对关系运算符 in 的左操作数使用否定操作符(!)
|
||||||
|
'no-new-object': 2, // 不允许使用Object构造函数
|
||||||
|
'no-new-require': 2, // 禁止调用 require 时使用 new 操作符
|
||||||
|
'no-new-symbol': 2, // 禁止new Symbol
|
||||||
|
'no-new-wrappers': 2, // 禁止对 String,Number 和 Boolean 使用 new 操作符
|
||||||
|
'no-obj-calls': 2, // 禁止把全局对象作为函数调用
|
||||||
|
'no-octal': 2, // 禁用八进制字面量
|
||||||
|
'no-octal-escape': 2, // 禁止在字符串字面量中使用八进制转义序列
|
||||||
|
'no-path-concat': 2, // 禁止对 __dirname 和 __filename 进行字符串连接
|
||||||
|
'no-proto': 2, // 禁用 __proto__ 属性
|
||||||
|
'no-redeclare': 2, // 禁止多次声明同一变量
|
||||||
|
'no-regex-spaces': 2, // 禁止正则表达式字面量中出现多个空格
|
||||||
|
'no-return-assign': [2, 'except-parens'], // 禁止在 return 语句中使用赋值语句
|
||||||
|
'no-self-assign': 2, // 禁止自我赋值
|
||||||
|
'no-self-compare': 2, // 禁止自身比较
|
||||||
|
'no-sequences': 2, // 禁用逗号操作符
|
||||||
|
'no-shadow-restricted-names': 2, // 禁止将标识符定义为受限的名字
|
||||||
|
'no-spaced-func': 2, // 要求或禁止在函数标识符和其调用之间有空格
|
||||||
|
'no-sparse-arrays': 2, // 禁用稀疏数组
|
||||||
|
'no-this-before-super': 2, // 禁止在构造函数中,在调用 super() 之前使用 this 或 super
|
||||||
|
'no-throw-literal': 2, // 禁止抛出异常字面量
|
||||||
|
'no-trailing-spaces': 2, // 禁用行尾空格
|
||||||
|
'no-undef': 2, // 禁用未声明的变量,除非它们在 /*global */ 注释中被提到
|
||||||
|
'no-undef-init': 2, // 禁止将变量初始化为 undefined
|
||||||
|
'no-unexpected-multiline': 2, // 不允许混淆多行表达式
|
||||||
|
'no-unmodified-loop-condition': 2, // 该规则查找循环条件内的引用,然后检查这些引用的变量是否在循环中被修改
|
||||||
|
// 当存在更简单的选择时,此规则不允许三元运算符
|
||||||
|
'no-unneeded-ternary': [ |
||||||
|
2, |
||||||
|
{ |
||||||
|
defaultAssignment: false |
||||||
|
} |
||||||
|
], |
||||||
|
'no-unreachable': 2, // 禁止在 return、throw、continue 和 break 语句后出现不可达代码
|
||||||
|
'no-unsafe-finally': 2, // 禁止在 finally 语句块中出现控制流语句
|
||||||
|
// 禁止出现未使用的变量,函数和函数的参数
|
||||||
|
'no-unused-vars': [ |
||||||
|
2, |
||||||
|
{ |
||||||
|
vars: 'all', |
||||||
|
args: 'none' |
||||||
|
} |
||||||
|
], |
||||||
|
'no-useless-call': 2, // 禁止不必要的 .call() 和 .apply()
|
||||||
|
'no-useless-computed-key': 2, // 禁止在对象中使用不必要的计算属性键
|
||||||
|
'no-useless-constructor': 2, // 禁用不必要的构造函数
|
||||||
|
'no-useless-escape': 0, // 禁用不必要的转义字符
|
||||||
|
'no-whitespace-before-property': 2, // 如果对象的属性位于同一行上,则该规则不允许围绕点或在开头括号之前留出空白。当对象和属性位于不同的行上时,此规则允许使用空格,因为向更长的属性链添加换行符是很常见的
|
||||||
|
'no-with': 2, // 禁用 with 语句
|
||||||
|
// 使用同一个关键字声明多个变量时要么在同一行声明要么都换行声明。这条规则在变量声明周围执行一致的换行符。这条规则忽略了for循环条件中的变量声明
|
||||||
|
'one-var': [ |
||||||
|
2, |
||||||
|
{ |
||||||
|
initialized: 'never' |
||||||
|
} |
||||||
|
], |
||||||
|
// 强制操作符使用一致的换行符
|
||||||
|
'operator-linebreak': [ |
||||||
|
2, |
||||||
|
'after', |
||||||
|
{ |
||||||
|
overrides: { |
||||||
|
'?': 'before', |
||||||
|
':': 'before' |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
'padded-blocks': [2, 'never'], // 要求或禁止块内填充
|
||||||
|
// 强制一致使用反引号,双引号或单引号
|
||||||
|
quotes: [ |
||||||
|
2, |
||||||
|
'single', |
||||||
|
{ |
||||||
|
avoidEscape: true, |
||||||
|
allowTemplateLiterals: true |
||||||
|
} |
||||||
|
], |
||||||
|
semi: [2, 'always'], // 要求或禁止使用分号
|
||||||
|
// 强制分号之前和之后使用一致的空格
|
||||||
|
'semi-spacing': [ |
||||||
|
2, |
||||||
|
{ |
||||||
|
before: false, |
||||||
|
after: true |
||||||
|
} |
||||||
|
], |
||||||
|
'space-before-blocks': [2, 'always'], // 强制在块之前使用一致的空格
|
||||||
|
'space-before-function-paren': 'off', // 强制在 function的左括号之前使用一致的空格(当前关闭)
|
||||||
|
'space-in-parens': [2, 'never'], // 强制在圆括号内使用一致的空格
|
||||||
|
'space-infix-ops': 2, // 要求操作符周围有空格
|
||||||
|
// 强制在一元操作符前后使用一致的空格
|
||||||
|
'space-unary-ops': [ |
||||||
|
2, |
||||||
|
{ |
||||||
|
words: true, |
||||||
|
nonwords: false |
||||||
|
} |
||||||
|
], |
||||||
|
// 强制在注释中 // 或 /* 使用一致的空格
|
||||||
|
'spaced-comment': [ |
||||||
|
2, |
||||||
|
'always', |
||||||
|
{ |
||||||
|
markers: ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] |
||||||
|
} |
||||||
|
], |
||||||
|
'template-curly-spacing': [2, 'never'], // 要求或禁止模板字符串中的嵌入表达式周围空格的使用
|
||||||
|
'use-isnan': 2, // 要求使用 isNaN() 检查 NaN
|
||||||
|
'valid-typeof': 2, // 强制 typeof 表达式与有效的字符串进行比较
|
||||||
|
'wrap-iife': [2, 'any'], // 该规则要求所有立即调用的函数表达式都包含在圆括号中
|
||||||
|
'yield-star-spacing': [2, 'both'], // 此规则强制执行*周围 yield*表达式的间距
|
||||||
|
yoda: [2, 'never'], // 这条规则旨在强制执行一种将变量与文字值进行比较的一致条件样式
|
||||||
|
'prefer-const': 2, // 要求使用 const 声明那些声明后不再被修改的变量
|
||||||
|
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, // 禁用 debugger
|
||||||
|
// 此规则在对象文字的大括号内执行一致的间距,解构赋值和导入/导出说明符
|
||||||
|
'object-curly-spacing': [ |
||||||
|
2, |
||||||
|
'always', |
||||||
|
{ |
||||||
|
objectsInObjects: false |
||||||
|
} |
||||||
|
], |
||||||
|
'array-bracket-spacing': [2, 'never'], // 该规则在数组括号内强制实现一致的间距
|
||||||
|
'vue/require-default-prop': 'off', |
||||||
|
'vue/require-prop-types': 'off' |
||||||
|
} |
||||||
|
}; |
@ -0,0 +1,199 @@ |
|||||||
|
// ESlint 检查配置
|
||||||
|
module.exports = { |
||||||
|
root: true, |
||||||
|
parserOptions: { |
||||||
|
parser: 'babel-eslint', |
||||||
|
sourceType: 'module' |
||||||
|
}, |
||||||
|
env: { |
||||||
|
browser: true, |
||||||
|
node: true, |
||||||
|
es6: true, |
||||||
|
}, |
||||||
|
extends: ['plugin:vue/recommended', 'eslint:recommended'], |
||||||
|
|
||||||
|
// add your custom rules here
|
||||||
|
//it is base on https://github.com/vuejs/eslint-config-vue
|
||||||
|
rules: { |
||||||
|
"vue/max-attributes-per-line": [2, { |
||||||
|
"singleline": 10, |
||||||
|
"multiline": { |
||||||
|
"max": 1, |
||||||
|
"allowFirstLine": false |
||||||
|
} |
||||||
|
}], |
||||||
|
"vue/singleline-html-element-content-newline": "off", |
||||||
|
"vue/multiline-html-element-content-newline":"off", |
||||||
|
"vue/name-property-casing": ["error", "PascalCase"], |
||||||
|
"vue/no-v-html": "off", |
||||||
|
'accessor-pairs': 2, |
||||||
|
'arrow-spacing': [2, { |
||||||
|
'before': true, |
||||||
|
'after': true |
||||||
|
}], |
||||||
|
'block-spacing': [2, 'always'], |
||||||
|
'brace-style': [2, '1tbs', { |
||||||
|
'allowSingleLine': true |
||||||
|
}], |
||||||
|
'camelcase': [0, { |
||||||
|
'properties': 'always' |
||||||
|
}], |
||||||
|
'comma-dangle': [2, 'never'], |
||||||
|
'comma-spacing': [2, { |
||||||
|
'before': false, |
||||||
|
'after': true |
||||||
|
}], |
||||||
|
'comma-style': [2, 'last'], |
||||||
|
'constructor-super': 2, |
||||||
|
'curly': [2, 'multi-line'], |
||||||
|
'dot-location': [2, 'property'], |
||||||
|
'eol-last': 2, |
||||||
|
'eqeqeq': ["error", "always", {"null": "ignore"}], |
||||||
|
'generator-star-spacing': [2, { |
||||||
|
'before': true, |
||||||
|
'after': true |
||||||
|
}], |
||||||
|
'handle-callback-err': [2, '^(err|error)$'], |
||||||
|
'indent': [2, 2, { |
||||||
|
'SwitchCase': 1 |
||||||
|
}], |
||||||
|
'jsx-quotes': [2, 'prefer-single'], |
||||||
|
'key-spacing': [2, { |
||||||
|
'beforeColon': false, |
||||||
|
'afterColon': true |
||||||
|
}], |
||||||
|
'keyword-spacing': [2, { |
||||||
|
'before': true, |
||||||
|
'after': true |
||||||
|
}], |
||||||
|
'new-cap': [2, { |
||||||
|
'newIsCap': true, |
||||||
|
'capIsNew': false |
||||||
|
}], |
||||||
|
'new-parens': 2, |
||||||
|
'no-array-constructor': 2, |
||||||
|
'no-caller': 2, |
||||||
|
'no-console': 'off', |
||||||
|
'no-class-assign': 2, |
||||||
|
'no-cond-assign': 2, |
||||||
|
'no-const-assign': 2, |
||||||
|
'no-control-regex': 0, |
||||||
|
'no-delete-var': 2, |
||||||
|
'no-dupe-args': 2, |
||||||
|
'no-dupe-class-members': 2, |
||||||
|
'no-dupe-keys': 2, |
||||||
|
'no-duplicate-case': 2, |
||||||
|
'no-empty-character-class': 2, |
||||||
|
'no-empty-pattern': 2, |
||||||
|
'no-eval': 2, |
||||||
|
'no-ex-assign': 2, |
||||||
|
'no-extend-native': 2, |
||||||
|
'no-extra-bind': 2, |
||||||
|
'no-extra-boolean-cast': 2, |
||||||
|
'no-extra-parens': [2, 'functions'], |
||||||
|
'no-fallthrough': 2, |
||||||
|
'no-floating-decimal': 2, |
||||||
|
'no-func-assign': 2, |
||||||
|
'no-implied-eval': 2, |
||||||
|
'no-inner-declarations': [2, 'functions'], |
||||||
|
'no-invalid-regexp': 2, |
||||||
|
'no-irregular-whitespace': 2, |
||||||
|
'no-iterator': 2, |
||||||
|
'no-label-var': 2, |
||||||
|
'no-labels': [2, { |
||||||
|
'allowLoop': false, |
||||||
|
'allowSwitch': false |
||||||
|
}], |
||||||
|
'no-lone-blocks': 2, |
||||||
|
'no-mixed-spaces-and-tabs': 2, |
||||||
|
'no-multi-spaces': 2, |
||||||
|
'no-multi-str': 2, |
||||||
|
'no-multiple-empty-lines': [2, { |
||||||
|
'max': 1 |
||||||
|
}], |
||||||
|
'no-native-reassign': 2, |
||||||
|
'no-negated-in-lhs': 2, |
||||||
|
'no-new-object': 2, |
||||||
|
'no-new-require': 2, |
||||||
|
'no-new-symbol': 2, |
||||||
|
'no-new-wrappers': 2, |
||||||
|
'no-obj-calls': 2, |
||||||
|
'no-octal': 2, |
||||||
|
'no-octal-escape': 2, |
||||||
|
'no-path-concat': 2, |
||||||
|
'no-proto': 2, |
||||||
|
'no-redeclare': 2, |
||||||
|
'no-regex-spaces': 2, |
||||||
|
'no-return-assign': [2, 'except-parens'], |
||||||
|
'no-self-assign': 2, |
||||||
|
'no-self-compare': 2, |
||||||
|
'no-sequences': 2, |
||||||
|
'no-shadow-restricted-names': 2, |
||||||
|
'no-spaced-func': 2, |
||||||
|
'no-sparse-arrays': 2, |
||||||
|
'no-this-before-super': 2, |
||||||
|
'no-throw-literal': 2, |
||||||
|
'no-trailing-spaces': 2, |
||||||
|
'no-undef': 2, |
||||||
|
'no-undef-init': 2, |
||||||
|
'no-unexpected-multiline': 2, |
||||||
|
'no-unmodified-loop-condition': 2, |
||||||
|
'no-unneeded-ternary': [2, { |
||||||
|
'defaultAssignment': false |
||||||
|
}], |
||||||
|
'no-unreachable': 2, |
||||||
|
'no-unsafe-finally': 2, |
||||||
|
'no-unused-vars': [2, { |
||||||
|
'vars': 'all', |
||||||
|
'args': 'none' |
||||||
|
}], |
||||||
|
'no-useless-call': 2, |
||||||
|
'no-useless-computed-key': 2, |
||||||
|
'no-useless-constructor': 2, |
||||||
|
'no-useless-escape': 0, |
||||||
|
'no-whitespace-before-property': 2, |
||||||
|
'no-with': 2, |
||||||
|
'one-var': [2, { |
||||||
|
'initialized': 'never' |
||||||
|
}], |
||||||
|
'operator-linebreak': [2, 'after', { |
||||||
|
'overrides': { |
||||||
|
'?': 'before', |
||||||
|
':': 'before' |
||||||
|
} |
||||||
|
}], |
||||||
|
'padded-blocks': [2, 'never'], |
||||||
|
'quotes': [2, 'single', { |
||||||
|
'avoidEscape': true, |
||||||
|
'allowTemplateLiterals': true |
||||||
|
}], |
||||||
|
'semi': [2, 'never'], |
||||||
|
'semi-spacing': [2, { |
||||||
|
'before': false, |
||||||
|
'after': true |
||||||
|
}], |
||||||
|
'space-before-blocks': [2, 'always'], |
||||||
|
'space-before-function-paren': [2, 'never'], |
||||||
|
'space-in-parens': [2, 'never'], |
||||||
|
'space-infix-ops': 2, |
||||||
|
'space-unary-ops': [2, { |
||||||
|
'words': true, |
||||||
|
'nonwords': false |
||||||
|
}], |
||||||
|
'spaced-comment': [2, 'always', { |
||||||
|
'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] |
||||||
|
}], |
||||||
|
'template-curly-spacing': [2, 'never'], |
||||||
|
'use-isnan': 2, |
||||||
|
'valid-typeof': 2, |
||||||
|
'wrap-iife': [2, 'any'], |
||||||
|
'yield-star-spacing': [2, 'both'], |
||||||
|
'yoda': [2, 'never'], |
||||||
|
'prefer-const': 2, |
||||||
|
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, |
||||||
|
'object-curly-spacing': [2, 'always', { |
||||||
|
objectsInObjects: false |
||||||
|
}], |
||||||
|
'array-bracket-spacing': [2, 'never'] |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,46 @@ |
|||||||
|
{ |
||||||
|
"printWidth": 150, |
||||||
|
"singleQuote": true, |
||||||
|
"trailingComma": "none", |
||||||
|
"semi": true, |
||||||
|
"tabWidth": 2, |
||||||
|
"useTabs": false, |
||||||
|
"bracketSpacing": true, |
||||||
|
"jsxBracketSameLine": false, |
||||||
|
"arrowParens": "always", |
||||||
|
"proseWrap": "preserve", |
||||||
|
"overrides": [ |
||||||
|
{ |
||||||
|
"files": ["*.json", ".eslintrc", ".tslintrc", ".prettierrc", ".tern-project"], |
||||||
|
"options": { |
||||||
|
"parser": "json", |
||||||
|
"tabWidth": 2 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"files": "*.{css,sass,scss,less}", |
||||||
|
"options": { |
||||||
|
"parser": "css", |
||||||
|
"tabWidth": 2 |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"files": "*.ts", |
||||||
|
"options": { |
||||||
|
"parser": "typescript" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"files": "*.vue", |
||||||
|
"options": { |
||||||
|
"parser": "vue" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"files": "*.md", |
||||||
|
"options": { |
||||||
|
"parser": "markdown" |
||||||
|
} |
||||||
|
} |
||||||
|
] |
||||||
|
} |
@ -1,3 +1,41 @@ |
|||||||
# dm-manage-web |
## 开发 |
||||||
|
|
||||||
管理系统PC前端 |
``` bash |
||||||
|
# 全局配置 如全局变量、全局方法、全局自定义组件,请于 src/global文件夹中维护 |
||||||
|
|
||||||
|
1. 使用 element-ui时,单一项目的规则相对固定,如需修改element组件默认属性,请前往src/global/element.js中修改 |
||||||
|
例:所有的日期时间组件,单一项目中默认都取 'yyyy-MM-dd' 格式,可配置成 |
||||||
|
Element.DatePicker.props.format = { type: String, default: "yyyy-MM-dd" }; |
||||||
|
Element.DatePicker.props.valueFormat = { type: String, default: "yyyy-MM-dd" }; |
||||||
|
|
||||||
|
2. 全局css存储与src/assets/styles文件夹中 |
||||||
|
单项目全局自定义class样式建议在ruoyi.scss中修改 |
||||||
|
单项目全局原生组件class样式,建议在index.scss中修改 |
||||||
|
使用 element-ui时,单一项目的样式主体相对统一,如需修改,可在element-variables.scss中修改 |
||||||
|
菜单栏样式可在variables.scss中修改 |
||||||
|
element-ui原生组件样式全局修改,建议于element-ui.scss中修改 |
||||||
|
|
||||||
|
3. 工具方法,存储于src/utils文件夹中 |
||||||
|
开发中可按需引入工具方法 |
||||||
|
|
||||||
|
# 指令使用 |
||||||
|
v-jtrim 去除输入框输入的所有空格 |
||||||
|
v-jclick 点击节流 |
||||||
|
|
||||||
|
# 混入使用 |
||||||
|
类似后端继承,可继承属性和方法,在单页面中引用后,可重写覆盖 |
||||||
|
|
||||||
|
``` |
||||||
|
|
||||||
|
## 标准 |
||||||
|
1. `icon`使用 |
||||||
|
* `element-ui`自带的用`icon` |
||||||
|
* 非自带的用`svg-icon` |
||||||
|
2. 标准页面参考`base -> basePage` |
||||||
|
3. 标准组件参考`base -> components` |
||||||
|
4. 启用`eslint` |
||||||
|
* `Strings must use singlequote` |
||||||
|
* `Attribute "key" should go before "prop"` |
||||||
|
* `Attribute "v-jclick" should go before "type"` |
||||||
|
* `Expected '===' and instead saw '=='` |
||||||
|
* `'params' is never reassigned. Use 'const' instead` |
@ -0,0 +1,13 @@ |
|||||||
|
module.exports = { |
||||||
|
presets: [ |
||||||
|
// https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
|
||||||
|
'@vue/cli-plugin-babel/preset' |
||||||
|
], |
||||||
|
'env': { |
||||||
|
'development': { |
||||||
|
// babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
|
||||||
|
// This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
|
||||||
|
'plugins': ['dynamic-import-node'] |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,12 @@ |
|||||||
|
@echo off |
||||||
|
echo. |
||||||
|
echo [信息] 打包Web工程,生成dist文件。 |
||||||
|
echo. |
||||||
|
|
||||||
|
%~d0 |
||||||
|
cd %~dp0 |
||||||
|
|
||||||
|
cd .. |
||||||
|
npm run build:prod |
||||||
|
|
||||||
|
pause |
@ -0,0 +1,12 @@ |
|||||||
|
@echo off |
||||||
|
echo. |
||||||
|
echo [信息] 安装Web工程,生成node_modules文件。 |
||||||
|
echo. |
||||||
|
|
||||||
|
%~d0 |
||||||
|
cd %~dp0 |
||||||
|
|
||||||
|
cd .. |
||||||
|
npm install --registry=https://registry.npmmirror.com |
||||||
|
|
||||||
|
pause |
@ -0,0 +1,12 @@ |
|||||||
|
@echo off |
||||||
|
echo. |
||||||
|
echo [信息] 使用 Vue CLI 命令运行 Web 工程。 |
||||||
|
echo. |
||||||
|
|
||||||
|
%~d0 |
||||||
|
cd %~dp0 |
||||||
|
|
||||||
|
cd .. |
||||||
|
npm run dev |
||||||
|
|
||||||
|
pause |
@ -0,0 +1,35 @@ |
|||||||
|
const { run } = require('runjs') |
||||||
|
const chalk = require('chalk') |
||||||
|
const config = require('../vue.config.js') |
||||||
|
const rawArgv = process.argv.slice(2) |
||||||
|
const args = rawArgv.join(' ') |
||||||
|
|
||||||
|
if (process.env.npm_config_preview || rawArgv.includes('--preview')) { |
||||||
|
const report = rawArgv.includes('--report') |
||||||
|
|
||||||
|
run(`vue-cli-service build ${args}`) |
||||||
|
|
||||||
|
const port = 9526 |
||||||
|
const publicPath = config.publicPath |
||||||
|
|
||||||
|
var connect = require('connect') |
||||||
|
var serveStatic = require('serve-static') |
||||||
|
const app = connect() |
||||||
|
|
||||||
|
app.use( |
||||||
|
publicPath, |
||||||
|
serveStatic('./dist', { |
||||||
|
index: ['index.html', '/'] |
||||||
|
}) |
||||||
|
) |
||||||
|
|
||||||
|
app.listen(port, function () { |
||||||
|
console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`)) |
||||||
|
if (report) { |
||||||
|
console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`)) |
||||||
|
} |
||||||
|
|
||||||
|
}) |
||||||
|
} else { |
||||||
|
run(`vue-cli-service build ${args}`) |
||||||
|
} |
@ -0,0 +1,94 @@ |
|||||||
|
{ |
||||||
|
"name": "river", |
||||||
|
"version": "1.0.0", |
||||||
|
"description": "寻驾招生管理系统", |
||||||
|
"author": "寻驾招生", |
||||||
|
"license": "MIT", |
||||||
|
"scripts": { |
||||||
|
"dev": "vue-cli-service serve", |
||||||
|
"build:prod": "vue-cli-service build", |
||||||
|
"build:stage": "vue-cli-service build --mode staging", |
||||||
|
"preview": "node build/index.js --preview", |
||||||
|
"lint": "eslint --ext .js,.vue src" |
||||||
|
}, |
||||||
|
"husky": { |
||||||
|
"hooks": { |
||||||
|
"pre-commit": "lint-staged" |
||||||
|
} |
||||||
|
}, |
||||||
|
"lint-staged": { |
||||||
|
"src/**/*.{js,vue}": [ |
||||||
|
"eslint --fix", |
||||||
|
"git add" |
||||||
|
] |
||||||
|
}, |
||||||
|
"keywords": [ |
||||||
|
"vue", |
||||||
|
"admin", |
||||||
|
"dashboard", |
||||||
|
"element-ui", |
||||||
|
"boilerplate", |
||||||
|
"admin-template", |
||||||
|
"management-system" |
||||||
|
], |
||||||
|
"repository": { |
||||||
|
"type": "git", |
||||||
|
"url": "https://gitee.com/y_project/RuoYi-Vue.git" |
||||||
|
}, |
||||||
|
"dependencies": { |
||||||
|
"@riophae/vue-treeselect": "0.4.0", |
||||||
|
"axios": "0.24.0", |
||||||
|
"clipboard": "2.0.8", |
||||||
|
"core-js": "3.25.3", |
||||||
|
"echarts": "4.9.0", |
||||||
|
"element-ui": "2.15.10", |
||||||
|
"file-saver": "2.0.5", |
||||||
|
"fuse.js": "6.4.3", |
||||||
|
"highlight.js": "9.18.5", |
||||||
|
"js-beautify": "1.13.0", |
||||||
|
"js-cookie": "3.0.1", |
||||||
|
"jsencrypt": "3.0.0-rc.1", |
||||||
|
"nprogress": "0.2.0", |
||||||
|
"quill": "1.3.7", |
||||||
|
"screenfull": "5.0.2", |
||||||
|
"sortablejs": "1.10.2", |
||||||
|
"vue": "2.6.12", |
||||||
|
"vue-amap": "^0.5.10", |
||||||
|
"vue-count-to": "1.0.13", |
||||||
|
"vue-cropper": "0.5.5", |
||||||
|
"vue-meta": "2.4.0", |
||||||
|
"vue-router": "3.4.9", |
||||||
|
"vuedraggable": "2.24.3", |
||||||
|
"vuex": "3.6.0", |
||||||
|
"webpack-dev-server": "^3.10.3" |
||||||
|
}, |
||||||
|
"devDependencies": { |
||||||
|
"@vue/cli-plugin-babel": "4.4.6", |
||||||
|
"@vue/cli-plugin-eslint": "4.4.6", |
||||||
|
"@vue/cli-service": "4.4.6", |
||||||
|
"babel-eslint": "10.1.0", |
||||||
|
"babel-plugin-dynamic-import-node": "2.3.3", |
||||||
|
"chalk": "4.1.0", |
||||||
|
"compression-webpack-plugin": "5.0.2", |
||||||
|
"connect": "3.6.6", |
||||||
|
"eslint": "7.15.0", |
||||||
|
"eslint-plugin-vue": "7.2.0", |
||||||
|
"html-webpack-plugin": "^5.6.0", |
||||||
|
"lint-staged": "10.5.3", |
||||||
|
"runjs": "4.4.2", |
||||||
|
"sass": "1.32.13", |
||||||
|
"sass-loader": "10.1.1", |
||||||
|
"script-ext-html-webpack-plugin": "2.1.5", |
||||||
|
"svg-sprite-loader": "5.1.1", |
||||||
|
"vue-template-compiler": "2.6.12", |
||||||
|
"vue-wxlogin": "^1.0.4" |
||||||
|
}, |
||||||
|
"engines": { |
||||||
|
"node": ">=8.9", |
||||||
|
"npm": ">= 3.0.0" |
||||||
|
}, |
||||||
|
"browserslist": [ |
||||||
|
"> 1%", |
||||||
|
"last 2 versions" |
||||||
|
] |
||||||
|
} |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 137 KiB |
@ -0,0 +1,104 @@ |
|||||||
|
<!DOCTYPE html> |
||||||
|
<html> |
||||||
|
<head> |
||||||
|
<meta charset="utf-8" /> |
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> |
||||||
|
<meta name="renderer" content="webkit" /> |
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /> |
||||||
|
<link rel="icon" href="<%= BASE_URL %>favicon.ico" /> |
||||||
|
<title><%= webpackConfig.name %></title> |
||||||
|
<!--[if lt IE 11 |
||||||
|
]><script> |
||||||
|
window.location.href = '/html/ie.html'; |
||||||
|
</script><! |
||||||
|
[endif]--> |
||||||
|
<style> |
||||||
|
html, |
||||||
|
body, |
||||||
|
#app { |
||||||
|
height: 100%; |
||||||
|
margin: 0px; |
||||||
|
padding: 0px; |
||||||
|
} |
||||||
|
.chromeframe { |
||||||
|
margin: 0.2em 0; |
||||||
|
background: #ccc; |
||||||
|
color: #000; |
||||||
|
padding: 0.2em 0; |
||||||
|
} |
||||||
|
.logo { |
||||||
|
/* position: absolute; */ |
||||||
|
display: block; |
||||||
|
/* left: 50%; |
||||||
|
top: 50%; */ |
||||||
|
width: 100px; |
||||||
|
/* height: 162px; */ |
||||||
|
/* transform: translate3d(-50%, -80px, 0); */ |
||||||
|
animation: twinkling 1.2s infinite ease-in-out; |
||||||
|
} |
||||||
|
/* .animated { |
||||||
|
-webkit-animation-duration: 1s; |
||||||
|
animation-duration: 1s; |
||||||
|
-webkit-animation-fill-mode: both; |
||||||
|
animation-fill-mode: both; |
||||||
|
} */ |
||||||
|
@keyframes twinkling { |
||||||
|
0% { |
||||||
|
opacity: 0.8; |
||||||
|
} |
||||||
|
50% { |
||||||
|
opacity: 0.4; |
||||||
|
} |
||||||
|
100% { |
||||||
|
opacity: 0.8; |
||||||
|
} |
||||||
|
} |
||||||
|
.loading { |
||||||
|
/* position: absolute; */ |
||||||
|
margin-top: 40px; |
||||||
|
display: block; |
||||||
|
/* left: 50%; */ |
||||||
|
/* top: 50%; */ |
||||||
|
/* transform: translate3d(-50%, 80px, 0); */ |
||||||
|
color: #fefeff; |
||||||
|
font-size: 14px; |
||||||
|
} |
||||||
|
/* canvas { |
||||||
|
display: block; |
||||||
|
left: 50%; |
||||||
|
position: absolute; |
||||||
|
top: 50%; |
||||||
|
transform: translate3d(-50%, 100px, 0); |
||||||
|
} */ |
||||||
|
|
||||||
|
#loader-wrapper { |
||||||
|
position: relative; |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
background: #1a1a34; |
||||||
|
z-index: 1000; |
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
justify-content: center; |
||||||
|
align-items: center; |
||||||
|
} |
||||||
|
</style> |
||||||
|
<script src="/loading/prefixfree.min.js"></script> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="app"> |
||||||
|
<div id="loader-wrapper"> |
||||||
|
<img class="logo animated" src="/logo.png" alt="" srcset="" /> |
||||||
|
<div class="loading">资源加载中...</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<script src="/loading/index.js"></script> |
||||||
|
<script type="text/javascript"> |
||||||
|
window._AMapSecurityConfig = { |
||||||
|
securityJsCode: 'f653df5a2c5f44ae68faaab6f6a6b8ab' |
||||||
|
}; |
||||||
|
</script> |
||||||
|
<script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script> |
||||||
|
<script src="https://webapi.amap.com/maps?v=1.4.15&key=713d839ff505943b0f18e6df45f3b0dc&plugin=AMap.Autocomplete,AMap.PlaceSearch,AMap.Geocoder,AMap.Scale"></script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,208 @@ |
|||||||
|
/* ========================================================*/ |
||||||
|
/* Light Loader |
||||||
|
/*========================================================*/ |
||||||
|
var lightLoader = function (c, cw, ch) { |
||||||
|
var _this = this; |
||||||
|
this.c = c; |
||||||
|
this.ctx = c.getContext('2d'); |
||||||
|
this.cw = cw; |
||||||
|
this.ch = ch; |
||||||
|
|
||||||
|
this.loaded = 0; |
||||||
|
this.loaderSpeed = 1.5; |
||||||
|
this.loaderHeight = 8; |
||||||
|
this.loaderWidth = 428; |
||||||
|
this.loader = { |
||||||
|
x: this.cw / 2 - this.loaderWidth / 2, |
||||||
|
y: this.ch / 2 - this.loaderHeight / 2 |
||||||
|
}; |
||||||
|
this.particles = []; |
||||||
|
this.particleLift = 180; |
||||||
|
this.gravity = 0.15; |
||||||
|
this.particleRate = 8; |
||||||
|
|
||||||
|
/* ========================================================*/ |
||||||
|
/* Initialize |
||||||
|
/*========================================================*/ |
||||||
|
this.init = function () { |
||||||
|
this.loop(); |
||||||
|
}; |
||||||
|
|
||||||
|
/* ========================================================*/ |
||||||
|
/* Utility Functions |
||||||
|
/*========================================================*/ |
||||||
|
this.rand = function (rMi, rMa) { |
||||||
|
return ~~(Math.random() * (rMa - rMi + 1) + rMi); |
||||||
|
}; |
||||||
|
this.hitTest = function (x1, y1, w1, h1, x2, y2, w2, h2) { |
||||||
|
return !(x1 + w1 < x2 || x2 + w2 < x1 || y1 + h1 < y2 || y2 + h2 < y1); |
||||||
|
}; |
||||||
|
|
||||||
|
/* ========================================================*/ |
||||||
|
/* Update Loader |
||||||
|
/*========================================================*/ |
||||||
|
this.updateLoader = function () { |
||||||
|
if (this.loaded < 100) { |
||||||
|
this.loaded += this.loaderSpeed; |
||||||
|
} else { |
||||||
|
this.loaded = 0; |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
/* ========================================================*/ |
||||||
|
/* Render Loader |
||||||
|
/*========================================================*/ |
||||||
|
this.renderLoader = function () { |
||||||
|
this.ctx.fillStyle = '#2F2F47'; |
||||||
|
this.ctx.fillRect(this.loader.x, this.loader.y, this.loaderWidth, this.loaderHeight); |
||||||
|
|
||||||
|
var newWidth = (this.loaded / 100) * this.loaderWidth; |
||||||
|
var linearGrad = this.ctx.createLinearGradient(0, 0, this.loaderWidth, 0); |
||||||
|
linearGrad.addColorStop(0.0, '#24DED0'); |
||||||
|
linearGrad.addColorStop(1.0, '#1490EA'); |
||||||
|
this.ctx.fillStyle = linearGrad; |
||||||
|
this.ctx.fillRect(this.loader.x, this.loader.y, newWidth, this.loaderHeight); |
||||||
|
|
||||||
|
// this.ctx.fillStyle = '#2F2F47';
|
||||||
|
// this.ctx.fillRect(
|
||||||
|
// this.loader.x,
|
||||||
|
// this.loader.y,
|
||||||
|
// newWidth,
|
||||||
|
// this.loaderHeight
|
||||||
|
// );
|
||||||
|
}; |
||||||
|
|
||||||
|
/* ========================================================*/ |
||||||
|
/* Particles |
||||||
|
/*========================================================*/ |
||||||
|
this.Particle = function () { |
||||||
|
this.x = _this.loader.x + (_this.loaded / 100) * _this.loaderWidth - _this.rand(0, 1); |
||||||
|
this.y = _this.ch / 2 + _this.rand(0, _this.loaderHeight) - _this.loaderHeight / 2; |
||||||
|
this.vx = (_this.rand(0, 4) - 2) / 100; |
||||||
|
this.vy = (_this.rand(0, _this.particleLift) - _this.particleLift * 2) / 100; |
||||||
|
this.width = _this.rand(1, 4) / 2; |
||||||
|
this.height = _this.rand(1, 4) / 2; |
||||||
|
}; |
||||||
|
|
||||||
|
this.Particle.prototype.update = function (i) { |
||||||
|
this.vx += (_this.rand(0, 6) - 3) / 100; |
||||||
|
this.vy += _this.gravity; |
||||||
|
this.x += this.vx; |
||||||
|
this.y += this.vy; |
||||||
|
|
||||||
|
if (this.y > _this.ch) { |
||||||
|
_this.particles.splice(i, 1); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
this.Particle.prototype.render = function () { |
||||||
|
_this.ctx.fillStyle = 'rgba(50, 213, 203, 0.4)'; |
||||||
|
_this.ctx.fillRect(this.x, this.y, this.width, this.height); |
||||||
|
}; |
||||||
|
|
||||||
|
this.createParticles = function () { |
||||||
|
var i = this.particleRate; |
||||||
|
while (i--) { |
||||||
|
this.particles.push(new this.Particle()); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
this.updateParticles = function () { |
||||||
|
var i = this.particles.length; |
||||||
|
while (i--) { |
||||||
|
var p = this.particles[i]; |
||||||
|
p.update(i); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
this.renderParticles = function () { |
||||||
|
var i = this.particles.length; |
||||||
|
while (i--) { |
||||||
|
var p = this.particles[i]; |
||||||
|
p.render(); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
/* ========================================================*/ |
||||||
|
/* Clear Canvas |
||||||
|
/*========================================================*/ |
||||||
|
this.clearCanvas = function () { |
||||||
|
this.ctx.globalCompositeOperation = 'source-over'; |
||||||
|
this.ctx.clearRect(0, 0, this.cw, this.ch); |
||||||
|
this.ctx.globalCompositeOperation = 'lighter'; |
||||||
|
}; |
||||||
|
|
||||||
|
/* ========================================================*/ |
||||||
|
/* Animation Loop |
||||||
|
/*========================================================*/ |
||||||
|
this.loop = function () { |
||||||
|
var loopIt = function () { |
||||||
|
requestAnimationFrame(loopIt, _this.c); |
||||||
|
_this.clearCanvas(); |
||||||
|
|
||||||
|
_this.createParticles(); |
||||||
|
|
||||||
|
_this.updateLoader(); |
||||||
|
_this.updateParticles(); |
||||||
|
|
||||||
|
_this.renderLoader(); |
||||||
|
_this.renderParticles(); |
||||||
|
}; |
||||||
|
loopIt(); |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
/* ========================================================*/ |
||||||
|
/* Check Canvas Support |
||||||
|
/*========================================================*/ |
||||||
|
var isCanvasSupported = function () { |
||||||
|
var elem = document.createElement('canvas'); |
||||||
|
return !!(elem.getContext && elem.getContext('2d')); |
||||||
|
}; |
||||||
|
|
||||||
|
/* ========================================================*/ |
||||||
|
/* Setup requestAnimationFrame |
||||||
|
/*========================================================*/ |
||||||
|
var setupRAF = function () { |
||||||
|
var lastTime = 0; |
||||||
|
var vendors = ['ms', 'moz', 'webkit', 'o']; |
||||||
|
for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { |
||||||
|
window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame']; |
||||||
|
window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame']; |
||||||
|
} |
||||||
|
|
||||||
|
if (!window.requestAnimationFrame) { |
||||||
|
window.requestAnimationFrame = function (callback, element) { |
||||||
|
var currTime = new Date().getTime(); |
||||||
|
var timeToCall = Math.max(0, 16 - (currTime - lastTime)); |
||||||
|
var id = window.setTimeout(function () { |
||||||
|
callback(currTime + timeToCall); |
||||||
|
}, timeToCall); |
||||||
|
lastTime = currTime + timeToCall; |
||||||
|
return id; |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
if (!window.cancelAnimationFrame) { |
||||||
|
window.cancelAnimationFrame = function (id) { |
||||||
|
clearTimeout(id); |
||||||
|
}; |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
/* ========================================================*/ |
||||||
|
/* Define Canvas and Initialize |
||||||
|
/*========================================================*/ |
||||||
|
if (isCanvasSupported) { |
||||||
|
var c = document.createElement('canvas'); |
||||||
|
c.width = 428; |
||||||
|
c.height = 100; |
||||||
|
var cw = c.width; |
||||||
|
var ch = c.height; |
||||||
|
// document.body.appendChild(c);
|
||||||
|
document.getElementById('loader-wrapper').appendChild(c); |
||||||
|
var cl = new lightLoader(c, cw, ch); |
||||||
|
|
||||||
|
setupRAF(); |
||||||
|
cl.init(); |
||||||
|
} |
@ -0,0 +1,477 @@ |
|||||||
|
(function () { |
||||||
|
if (!window.addEventListener) { |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
var self = (window.StyleFix = { |
||||||
|
link: function (link) { |
||||||
|
try { |
||||||
|
// Ignore stylesheets with data-noprefix attribute as well as alternate stylesheets
|
||||||
|
if (link.rel !== 'stylesheet' || link.hasAttribute('data-noprefix')) { |
||||||
|
return; |
||||||
|
} |
||||||
|
} catch (e) { |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
var url = link.href || link.getAttribute('data-href'); |
||||||
|
var base = url.replace(/[^\/]+$/, ''); |
||||||
|
var base_scheme = (/^[a-z]{3,10}:/.exec(base) || [''])[0]; |
||||||
|
var base_domain = (/^[a-z]{3,10}:\/\/[^\/]+/.exec(base) || [''])[0]; |
||||||
|
var base_query = /^([^?]*)\??/.exec(url)[1]; |
||||||
|
var parent = link.parentNode; |
||||||
|
var xhr = new XMLHttpRequest(); |
||||||
|
var process; |
||||||
|
|
||||||
|
xhr.onreadystatechange = function () { |
||||||
|
if (xhr.readyState === 4) { |
||||||
|
process(); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
process = function () { |
||||||
|
var css = xhr.responseText; |
||||||
|
|
||||||
|
if (css && link.parentNode && (!xhr.status || xhr.status < 400 || xhr.status > 600)) { |
||||||
|
css = self.fix(css, true, link); |
||||||
|
|
||||||
|
// Convert relative URLs to absolute, if needed
|
||||||
|
if (base) { |
||||||
|
css = css.replace(/url\(\s*?((?:"|')?)(.+?)\1\s*?\)/gi, function ($0, quote, url) { |
||||||
|
if (/^([a-z]{3,10}:|#)/i.test(url)) { |
||||||
|
// Absolute & or hash-relative
|
||||||
|
return $0; |
||||||
|
} else if (/^\/\//.test(url)) { |
||||||
|
// Scheme-relative
|
||||||
|
// May contain sequences like /../ and /./ but those DO work
|
||||||
|
return 'url("' + base_scheme + url + '")'; |
||||||
|
} else if (/^\//.test(url)) { |
||||||
|
// Domain-relative
|
||||||
|
return 'url("' + base_domain + url + '")'; |
||||||
|
} else if (/^\?/.test(url)) { |
||||||
|
// Query-relative
|
||||||
|
return 'url("' + base_query + url + '")'; |
||||||
|
} else { |
||||||
|
// Path-relative
|
||||||
|
return 'url("' + base + url + '")'; |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
// behavior URLs shoudn’t be converted (Issue #19)
|
||||||
|
// base should be escaped before added to RegExp (Issue #81)
|
||||||
|
var escaped_base = base.replace(/([\\\^\$*+[\]?{}.=!:(|)])/g, '\\$1'); |
||||||
|
css = css.replace(RegExp('\\b(behavior:\\s*?url\\(\'?"?)' + escaped_base, 'gi'), '$1'); |
||||||
|
} |
||||||
|
|
||||||
|
var style = document.createElement('style'); |
||||||
|
style.textContent = css; |
||||||
|
style.media = link.media; |
||||||
|
style.disabled = link.disabled; |
||||||
|
style.setAttribute('data-href', link.getAttribute('href')); |
||||||
|
|
||||||
|
parent.insertBefore(style, link); |
||||||
|
parent.removeChild(link); |
||||||
|
|
||||||
|
style.media = link.media; // Duplicate is intentional. See issue #31
|
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
try { |
||||||
|
xhr.open('GET', url); |
||||||
|
xhr.send(null); |
||||||
|
} catch (e) { |
||||||
|
// Fallback to XDomainRequest if available
|
||||||
|
if (typeof XDomainRequest !== 'undefined') { |
||||||
|
xhr = new XDomainRequest(); |
||||||
|
xhr.onerror = xhr.onprogress = function () {}; |
||||||
|
xhr.onload = process; |
||||||
|
xhr.open('GET', url); |
||||||
|
xhr.send(null); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
link.setAttribute('data-inprogress', ''); |
||||||
|
}, |
||||||
|
|
||||||
|
styleElement: function (style) { |
||||||
|
if (style.hasAttribute('data-noprefix')) { |
||||||
|
return; |
||||||
|
} |
||||||
|
var disabled = style.disabled; |
||||||
|
|
||||||
|
style.textContent = self.fix(style.textContent, true, style); |
||||||
|
|
||||||
|
style.disabled = disabled; |
||||||
|
}, |
||||||
|
|
||||||
|
styleAttribute: function (element) { |
||||||
|
var css = element.getAttribute('style'); |
||||||
|
|
||||||
|
css = self.fix(css, false, element); |
||||||
|
|
||||||
|
element.setAttribute('style', css); |
||||||
|
}, |
||||||
|
|
||||||
|
process: function () { |
||||||
|
// Linked stylesheets
|
||||||
|
$('link[rel="stylesheet"]:not([data-inprogress])').forEach(StyleFix.link); |
||||||
|
|
||||||
|
// Inline stylesheets
|
||||||
|
$('style').forEach(StyleFix.styleElement); |
||||||
|
|
||||||
|
// Inline styles
|
||||||
|
$('[style]').forEach(StyleFix.styleAttribute); |
||||||
|
}, |
||||||
|
|
||||||
|
register: function (fixer, index) { |
||||||
|
(self.fixers = self.fixers || []).splice(index === undefined ? self.fixers.length : index, 0, fixer); |
||||||
|
}, |
||||||
|
|
||||||
|
fix: function (css, raw, element) { |
||||||
|
for (var i = 0; i < self.fixers.length; i++) { |
||||||
|
css = self.fixers[i](css, raw, element) || css; |
||||||
|
} |
||||||
|
|
||||||
|
return css; |
||||||
|
}, |
||||||
|
|
||||||
|
camelCase: function (str) { |
||||||
|
return str |
||||||
|
.replace(/-([a-z])/g, function ($0, $1) { |
||||||
|
return $1.toUpperCase(); |
||||||
|
}) |
||||||
|
.replace('-', ''); |
||||||
|
}, |
||||||
|
|
||||||
|
deCamelCase: function (str) { |
||||||
|
return str.replace(/[A-Z]/g, function ($0) { |
||||||
|
return '-' + $0.toLowerCase(); |
||||||
|
}); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
/** ************************************ |
||||||
|
* Process styles |
||||||
|
**************************************/ |
||||||
|
(function () { |
||||||
|
setTimeout(function () { |
||||||
|
$('link[rel="stylesheet"]').forEach(StyleFix.link); |
||||||
|
}, 10); |
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', StyleFix.process, false); |
||||||
|
})(); |
||||||
|
|
||||||
|
function $(expr, con) { |
||||||
|
return [].slice.call((con || document).querySelectorAll(expr)); |
||||||
|
} |
||||||
|
})(); |
||||||
|
|
||||||
|
/** |
||||||
|
* PrefixFree |
||||||
|
*/ |
||||||
|
(function (root) { |
||||||
|
if (!window.StyleFix || !window.getComputedStyle) { |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
// Private helper
|
||||||
|
function fix(what, before, after, replacement, css) { |
||||||
|
what = self[what]; |
||||||
|
|
||||||
|
if (what.length) { |
||||||
|
var regex = RegExp(before + '(' + what.join('|') + ')' + after, 'gi'); |
||||||
|
|
||||||
|
css = css.replace(regex, replacement); |
||||||
|
} |
||||||
|
|
||||||
|
return css; |
||||||
|
} |
||||||
|
|
||||||
|
var self = (window.PrefixFree = { |
||||||
|
prefixCSS: function (css, raw, element) { |
||||||
|
var prefix = self.prefix; |
||||||
|
|
||||||
|
// Gradient angles hotfix
|
||||||
|
if (self.functions.indexOf('linear-gradient') > -1) { |
||||||
|
// Gradients are supported with a prefix, convert angles to legacy
|
||||||
|
css = css.replace(/(\s|:|,)(repeating-)?linear-gradient\(\s*(-?\d*\.?\d*)deg/gi, function ($0, delim, repeating, deg) { |
||||||
|
return delim + (repeating || '') + 'linear-gradient(' + (90 - deg) + 'deg'; |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
css = fix('functions', '(\\s|:|,)', '\\s*\\(', '$1' + prefix + '$2(', css); |
||||||
|
css = fix('keywords', '(\\s|:)', '(\\s|;|\\}|$)', '$1' + prefix + '$2$3', css); |
||||||
|
css = fix('properties', '(^|\\{|\\s|;)', '\\s*:', '$1' + prefix + '$2:', css); |
||||||
|
|
||||||
|
// Prefix properties *inside* values (issue #8)
|
||||||
|
if (self.properties.length) { |
||||||
|
var regex = RegExp('\\b(' + self.properties.join('|') + ')(?!:)', 'gi'); |
||||||
|
|
||||||
|
css = fix( |
||||||
|
'valueProperties', |
||||||
|
'\\b', |
||||||
|
':(.+?);', |
||||||
|
function ($0) { |
||||||
|
return $0.replace(regex, prefix + '$1'); |
||||||
|
}, |
||||||
|
css |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
if (raw) { |
||||||
|
css = fix('selectors', '', '\\b', self.prefixSelector, css); |
||||||
|
css = fix('atrules', '@', '\\b', '@' + prefix + '$1', css); |
||||||
|
} |
||||||
|
|
||||||
|
// Fix double prefixing
|
||||||
|
css = css.replace(RegExp('-' + prefix, 'g'), '-'); |
||||||
|
|
||||||
|
// Prefix wildcard
|
||||||
|
css = css.replace(/-\*-(?=[a-z]+)/gi, self.prefix); |
||||||
|
|
||||||
|
return css; |
||||||
|
}, |
||||||
|
|
||||||
|
property: function (property) { |
||||||
|
return (self.properties.indexOf(property) ? self.prefix : '') + property; |
||||||
|
}, |
||||||
|
|
||||||
|
value: function (value, property) { |
||||||
|
value = fix('functions', '(^|\\s|,)', '\\s*\\(', '$1' + self.prefix + '$2(', value); |
||||||
|
value = fix('keywords', '(^|\\s)', '(\\s|$)', '$1' + self.prefix + '$2$3', value); |
||||||
|
|
||||||
|
// TODO properties inside values
|
||||||
|
|
||||||
|
return value; |
||||||
|
}, |
||||||
|
|
||||||
|
// Warning: Prefixes no matter what, even if the selector is supported prefix-less
|
||||||
|
prefixSelector: function (selector) { |
||||||
|
return selector.replace(/^:{1,2}/, function ($0) { |
||||||
|
return $0 + self.prefix; |
||||||
|
}); |
||||||
|
}, |
||||||
|
|
||||||
|
// Warning: Prefixes no matter what, even if the property is supported prefix-less
|
||||||
|
prefixProperty: function (property, camelCase) { |
||||||
|
var prefixed = self.prefix + property; |
||||||
|
|
||||||
|
return camelCase ? StyleFix.camelCase(prefixed) : prefixed; |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
/** ************************************ |
||||||
|
* Properties |
||||||
|
**************************************/ |
||||||
|
(function () { |
||||||
|
var prefixes = {}; |
||||||
|
var properties = []; |
||||||
|
var shorthands = {}; |
||||||
|
var style = getComputedStyle(document.documentElement, null); |
||||||
|
var dummy = document.createElement('div').style; |
||||||
|
|
||||||
|
// Why are we doing this instead of iterating over properties in a .style object? Cause Webkit won't iterate over those.
|
||||||
|
var iterate = function (property) { |
||||||
|
if (property.charAt(0) === '-') { |
||||||
|
properties.push(property); |
||||||
|
|
||||||
|
var parts = property.split('-'); |
||||||
|
var prefix = parts[1]; |
||||||
|
|
||||||
|
// Count prefix uses
|
||||||
|
prefixes[prefix] = ++prefixes[prefix] || 1; |
||||||
|
|
||||||
|
// This helps determining shorthands
|
||||||
|
while (parts.length > 3) { |
||||||
|
parts.pop(); |
||||||
|
|
||||||
|
var shorthand = parts.join('-'); |
||||||
|
|
||||||
|
if (supported(shorthand) && properties.indexOf(shorthand) === -1) { |
||||||
|
properties.push(shorthand); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
var supported = function (property) { |
||||||
|
return StyleFix.camelCase(property) in dummy; |
||||||
|
}; |
||||||
|
|
||||||
|
// Some browsers have numerical indices for the properties, some don't
|
||||||
|
if (style.length > 0) { |
||||||
|
for (var i = 0; i < style.length; i++) { |
||||||
|
iterate(style[i]); |
||||||
|
} |
||||||
|
} else { |
||||||
|
for (var property in style) { |
||||||
|
iterate(StyleFix.deCamelCase(property)); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Find most frequently used prefix
|
||||||
|
var highest = { uses: 0 }; |
||||||
|
for (var prefix in prefixes) { |
||||||
|
var uses = prefixes[prefix]; |
||||||
|
|
||||||
|
if (highest.uses < uses) { |
||||||
|
highest = { prefix: prefix, uses: uses }; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
self.prefix = '-' + highest.prefix + '-'; |
||||||
|
self.Prefix = StyleFix.camelCase(self.prefix); |
||||||
|
|
||||||
|
self.properties = []; |
||||||
|
|
||||||
|
// Get properties ONLY supported with a prefix
|
||||||
|
for (var i = 0; i < properties.length; i++) { |
||||||
|
var property = properties[i]; |
||||||
|
|
||||||
|
if (property.indexOf(self.prefix) === 0) { |
||||||
|
// we might have multiple prefixes, like Opera
|
||||||
|
var unprefixed = property.slice(self.prefix.length); |
||||||
|
|
||||||
|
if (!supported(unprefixed)) { |
||||||
|
self.properties.push(unprefixed); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// IE fix
|
||||||
|
if (self.Prefix == 'Ms' && !('transform' in dummy) && !('MsTransform' in dummy) && 'msTransform' in dummy) { |
||||||
|
self.properties.push('transform', 'transform-origin'); |
||||||
|
} |
||||||
|
|
||||||
|
self.properties.sort(); |
||||||
|
})(); |
||||||
|
|
||||||
|
/** ************************************ |
||||||
|
* Values |
||||||
|
**************************************/ |
||||||
|
(function () { |
||||||
|
// Values that might need prefixing
|
||||||
|
var functions = { |
||||||
|
'linear-gradient': { |
||||||
|
property: 'backgroundImage', |
||||||
|
params: 'red, teal' |
||||||
|
}, |
||||||
|
calc: { |
||||||
|
property: 'width', |
||||||
|
params: '1px + 5%' |
||||||
|
}, |
||||||
|
element: { |
||||||
|
property: 'backgroundImage', |
||||||
|
params: '#foo' |
||||||
|
}, |
||||||
|
'cross-fade': { |
||||||
|
property: 'backgroundImage', |
||||||
|
params: 'url(a.png), url(b.png), 50%' |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
functions['repeating-linear-gradient'] = functions['repeating-radial-gradient'] = functions['radial-gradient'] = functions['linear-gradient']; |
||||||
|
|
||||||
|
// Note: The properties assigned are just to *test* support.
|
||||||
|
// The keywords will be prefixed everywhere.
|
||||||
|
var keywords = { |
||||||
|
initial: 'color', |
||||||
|
'zoom-in': 'cursor', |
||||||
|
'zoom-out': 'cursor', |
||||||
|
box: 'display', |
||||||
|
flexbox: 'display', |
||||||
|
'inline-flexbox': 'display', |
||||||
|
flex: 'display', |
||||||
|
'inline-flex': 'display', |
||||||
|
grid: 'display', |
||||||
|
'inline-grid': 'display', |
||||||
|
'min-content': 'width' |
||||||
|
}; |
||||||
|
|
||||||
|
self.functions = []; |
||||||
|
self.keywords = []; |
||||||
|
|
||||||
|
var style = document.createElement('div').style; |
||||||
|
|
||||||
|
function supported(value, property) { |
||||||
|
style[property] = ''; |
||||||
|
style[property] = value; |
||||||
|
|
||||||
|
return !!style[property]; |
||||||
|
} |
||||||
|
|
||||||
|
for (var func in functions) { |
||||||
|
var test = functions[func]; |
||||||
|
var property = test.property; |
||||||
|
var value = func + '(' + test.params + ')'; |
||||||
|
|
||||||
|
if (!supported(value, property) && supported(self.prefix + value, property)) { |
||||||
|
// It's supported, but with a prefix
|
||||||
|
self.functions.push(func); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
for (var keyword in keywords) { |
||||||
|
var property = keywords[keyword]; |
||||||
|
|
||||||
|
if (!supported(keyword, property) && supported(self.prefix + keyword, property)) { |
||||||
|
// It's supported, but with a prefix
|
||||||
|
self.keywords.push(keyword); |
||||||
|
} |
||||||
|
} |
||||||
|
})(); |
||||||
|
|
||||||
|
/** ************************************ |
||||||
|
* Selectors and @-rules |
||||||
|
**************************************/ |
||||||
|
(function () { |
||||||
|
var selectors = { |
||||||
|
':read-only': null, |
||||||
|
':read-write': null, |
||||||
|
':any-link': null, |
||||||
|
'::selection': null |
||||||
|
}; |
||||||
|
|
||||||
|
var atrules = { |
||||||
|
keyframes: 'name', |
||||||
|
viewport: null, |
||||||
|
document: 'regexp(".")' |
||||||
|
}; |
||||||
|
|
||||||
|
self.selectors = []; |
||||||
|
self.atrules = []; |
||||||
|
|
||||||
|
var style = root.appendChild(document.createElement('style')); |
||||||
|
|
||||||
|
function supported(selector) { |
||||||
|
style.textContent = selector + '{}'; // Safari 4 has issues with style.innerHTML
|
||||||
|
|
||||||
|
return !!style.sheet.cssRules.length; |
||||||
|
} |
||||||
|
|
||||||
|
for (var selector in selectors) { |
||||||
|
var test = selector + (selectors[selector] ? '(' + selectors[selector] + ')' : ''); |
||||||
|
|
||||||
|
if (!supported(test) && supported(self.prefixSelector(test))) { |
||||||
|
self.selectors.push(selector); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
for (var atrule in atrules) { |
||||||
|
var test = atrule + ' ' + (atrules[atrule] || ''); |
||||||
|
|
||||||
|
if (!supported('@' + test) && supported('@' + self.prefix + test)) { |
||||||
|
self.atrules.push(atrule); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
root.removeChild(style); |
||||||
|
})(); |
||||||
|
|
||||||
|
// Properties that accept properties as their value
|
||||||
|
self.valueProperties = ['transition', 'transition-property']; |
||||||
|
|
||||||
|
// Add class for current prefix
|
||||||
|
root.className += ' ' + self.prefix; |
||||||
|
|
||||||
|
StyleFix.register(self.prefixCSS); |
||||||
|
})(document.documentElement); |
After Width: | Height: | Size: 106 KiB |
@ -0,0 +1,2 @@ |
|||||||
|
User-agent: * |
||||||
|
Disallow: / |
@ -0,0 +1,28 @@ |
|||||||
|
<template> |
||||||
|
<div id="app"> |
||||||
|
<router-view /> |
||||||
|
<theme-picker /> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import ThemePicker from '@/components/ThemePicker'; |
||||||
|
|
||||||
|
export default { |
||||||
|
name: 'App', |
||||||
|
components: { ThemePicker }, |
||||||
|
metaInfo() { |
||||||
|
return { |
||||||
|
title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title, |
||||||
|
titleTemplate: (title) => { |
||||||
|
return title ? `${title} - ${process.env.VUE_APP_TITLE}` : process.env.VUE_APP_TITLE; |
||||||
|
} |
||||||
|
}; |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
<style scoped> |
||||||
|
#app .theme-picker { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,32 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
export default { |
||||||
|
pageList(data = {}) { |
||||||
|
return request({ |
||||||
|
url: '', |
||||||
|
method: 'POST', |
||||||
|
data |
||||||
|
}); |
||||||
|
}, |
||||||
|
insert(data = {}) { |
||||||
|
return request({ |
||||||
|
url: '', |
||||||
|
method: 'POST', |
||||||
|
data |
||||||
|
}); |
||||||
|
}, |
||||||
|
update(data = {}) { |
||||||
|
return request({ |
||||||
|
url: '', |
||||||
|
method: 'POST', |
||||||
|
data |
||||||
|
}); |
||||||
|
}, |
||||||
|
remove(data = {}) { |
||||||
|
return request({ |
||||||
|
url: '', |
||||||
|
method: 'POST', |
||||||
|
params: data |
||||||
|
}); |
||||||
|
} |
||||||
|
}; |
@ -0,0 +1,54 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询报销列表
|
||||||
|
export function listExpense(query) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/account/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增报销
|
||||||
|
export function addExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/account', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改报销
|
||||||
|
export function updateExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/account', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除报销
|
||||||
|
export function removeExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/account/' + data, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 导出报销
|
||||||
|
export function exportExpense(query) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/account/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 审核报销
|
||||||
|
export function checkExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/account/check', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,54 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询报销列表
|
||||||
|
export function listExpense(query) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/meituan/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增报销
|
||||||
|
export function addExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/meituan', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改报销
|
||||||
|
export function updateExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/meituan', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除报销
|
||||||
|
export function removeExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/meituan/' + data, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 导出报销
|
||||||
|
export function exportExpense(query) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/meituan/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 审核报销
|
||||||
|
export function checkExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/meituan/check', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,54 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询报销列表
|
||||||
|
export function listExpense(query) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/office/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增报销
|
||||||
|
export function addExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/office', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改报销
|
||||||
|
export function updateExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/office', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除报销
|
||||||
|
export function removeExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/office/remove/' + data, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 导出报销
|
||||||
|
export function exportExpense(query) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/office/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 审核报销
|
||||||
|
export function checkExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/office/check', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,54 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询报销列表
|
||||||
|
export function listExpense(query) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/placeSign/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增报销
|
||||||
|
export function addExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/placeSign', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改报销
|
||||||
|
export function updateExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/placeSign', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除报销
|
||||||
|
export function removeExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/placeSign/' + data, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 导出报销
|
||||||
|
export function exportExpense(query) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/placeSign/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 审核报销
|
||||||
|
export function checkExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/placeSign/check', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,54 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询报销列表
|
||||||
|
export function listExpense(query) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/sign/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增报销
|
||||||
|
export function addExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/sign', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改报销
|
||||||
|
export function updateExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/sign', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除报销
|
||||||
|
export function removeExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/sign/remove/' + data, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 导出报销
|
||||||
|
export function exportExpense(query) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/sign/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 审核报销
|
||||||
|
export function checkExpense(data) { |
||||||
|
return request({ |
||||||
|
url: '/finance/expense/sign/check', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,56 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 获取首页统计信息
|
||||||
|
export function getCount() { |
||||||
|
return request({ |
||||||
|
url: '/system/home/count', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function getTodayPeopleRange() { |
||||||
|
return request({ |
||||||
|
url: '/system/home/range/today', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function getMonthPeopleRange() { |
||||||
|
return request({ |
||||||
|
url: '/system/home/range/month', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
//查询成交率
|
||||||
|
export function dealRate() { |
||||||
|
return request({ |
||||||
|
url: '/system/home/rate/total', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//查询本月成交率
|
||||||
|
export function getMonthDealRateRange() { |
||||||
|
return request({ |
||||||
|
url: '/system/home/rate/month', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
//查询上月成交率
|
||||||
|
export function getLastDealRateRange() { |
||||||
|
return request({ |
||||||
|
url: '/system/home/rate/last', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
//查询考勤异常信息
|
||||||
|
export function getCheckin() { |
||||||
|
return request({ |
||||||
|
url: '/system/home/checkin', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,79 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 登录方法
|
||||||
|
export function login(username, password, code, uuid) { |
||||||
|
const data = { |
||||||
|
username, |
||||||
|
password, |
||||||
|
code, |
||||||
|
uuid |
||||||
|
}; |
||||||
|
return request({ |
||||||
|
url: '/login', |
||||||
|
headers: { |
||||||
|
isToken: false |
||||||
|
}, |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
export function wxLogin(data) { |
||||||
|
return request({ |
||||||
|
url: '/wx/login', |
||||||
|
headers: { |
||||||
|
isToken: false |
||||||
|
}, |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 注册方法
|
||||||
|
export function register(data) { |
||||||
|
return request({ |
||||||
|
url: '/register', |
||||||
|
headers: { |
||||||
|
isToken: false |
||||||
|
}, |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 获取用户详细信息
|
||||||
|
export function getInfo() { |
||||||
|
return request({ |
||||||
|
url: '/getInfo', |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 退出方法
|
||||||
|
export function logout() { |
||||||
|
return request({ |
||||||
|
url: '/logout', |
||||||
|
method: 'post' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 获取验证码
|
||||||
|
export function getCodeImg() { |
||||||
|
return request({ |
||||||
|
url: '/captchaImage', |
||||||
|
headers: { |
||||||
|
isToken: false |
||||||
|
}, |
||||||
|
method: 'get', |
||||||
|
timeout: 20000 |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
export function getMsgCode(data) { |
||||||
|
return request({ |
||||||
|
url: '/msgcode', |
||||||
|
method: 'get', |
||||||
|
params: data |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 获取路由
|
||||||
|
export const getRouters = () => { |
||||||
|
return request({ |
||||||
|
url: '/getRouters', |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
}; |
@ -0,0 +1,57 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询缓存详细
|
||||||
|
export function getCache() { |
||||||
|
return request({ |
||||||
|
url: '/monitor/cache', |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询缓存名称列表
|
||||||
|
export function listCacheName() { |
||||||
|
return request({ |
||||||
|
url: '/monitor/cache/getNames', |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询缓存键名列表
|
||||||
|
export function listCacheKey(cacheName) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/cache/getKeys/' + cacheName, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询缓存内容
|
||||||
|
export function getCacheValue(cacheName, cacheKey) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/cache/getValue/' + cacheName + '/' + cacheKey, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 清理指定名称缓存
|
||||||
|
export function clearCacheName(cacheName) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/cache/clearCacheName/' + cacheName, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 清理指定键名缓存
|
||||||
|
export function clearCacheKey(cacheKey) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/cache/clearCacheKey/' + cacheKey, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 清理全部缓存
|
||||||
|
export function clearCacheAll() { |
||||||
|
return request({ |
||||||
|
url: '/monitor/cache/clearCacheAll', |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,70 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询定时任务调度列表
|
||||||
|
export function listJob(query) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/job/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询定时任务调度详细
|
||||||
|
export function getJob(jobId) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/job/' + jobId, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增定时任务调度
|
||||||
|
export function addJob(data) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/job', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改定时任务调度
|
||||||
|
export function updateJob(data) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/job', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除定时任务调度
|
||||||
|
export function delJob(jobId) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/job/' + jobId, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 任务状态修改
|
||||||
|
export function changeJobStatus(jobId, status) { |
||||||
|
const data = { |
||||||
|
jobId, |
||||||
|
status |
||||||
|
}; |
||||||
|
return request({ |
||||||
|
url: '/monitor/job/changeStatus', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 定时任务立即执行一次
|
||||||
|
export function runJob(jobId, jobGroup) { |
||||||
|
const data = { |
||||||
|
jobId, |
||||||
|
jobGroup |
||||||
|
}; |
||||||
|
return request({ |
||||||
|
url: '/monitor/job/run', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,26 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询调度日志列表
|
||||||
|
export function listJobLog(query) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/jobLog/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除调度日志
|
||||||
|
export function delJobLog(jobLogId) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/jobLog/' + jobLogId, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 清空调度日志
|
||||||
|
export function cleanJobLog() { |
||||||
|
return request({ |
||||||
|
url: '/monitor/jobLog/clean', |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,34 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询登录日志列表
|
||||||
|
export function list(query) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/logininfor/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除登录日志
|
||||||
|
export function delLogininfor(infoId) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/logininfor/' + infoId, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 解锁用户登录状态
|
||||||
|
export function unlockLogininfor(userName) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/logininfor/unlock/' + userName, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 清空登录日志
|
||||||
|
export function cleanLogininfor() { |
||||||
|
return request({ |
||||||
|
url: '/monitor/logininfor/clean', |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询在线用户列表
|
||||||
|
export function list(query) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/online/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 强退用户
|
||||||
|
export function forceLogout(tokenId) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/online/' + tokenId, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,26 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询操作日志列表
|
||||||
|
export function list(query) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/operlog/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除操作日志
|
||||||
|
export function delOperlog(operId) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/operlog/' + operId, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 清空操作日志
|
||||||
|
export function cleanOperlog() { |
||||||
|
return request({ |
||||||
|
url: '/monitor/operlog/clean', |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 获取服务信息
|
||||||
|
export function getServer() { |
||||||
|
return request({ |
||||||
|
url: '/monitor/server', |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,42 @@ |
|||||||
|
/* |
||||||
|
* @Author: riverQiu |
||||||
|
* @Date: 2023-08-17 20:30:56 |
||||||
|
* @LastEditors: riverQiu |
||||||
|
* @LastEditTime: 2023-08-19 00:26:04 |
||||||
|
* @Description: |
||||||
|
*/ |
||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 获取首页统计信息
|
||||||
|
export function searchQuestion(param) { |
||||||
|
return request({ |
||||||
|
url: '/xunjia/tdQuestion/duima/list', |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
export function updateQuestion(data) { |
||||||
|
return request({ |
||||||
|
url: '/xunjia/tdQuestion/duima/update', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
export function addQuestion(data) { |
||||||
|
return request({ |
||||||
|
url: '/xunjia/tdQuestion/duima/add', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
export function uploadFile(data) { |
||||||
|
return request({ |
||||||
|
url: '/xunjia/applet/tiku/question/upload', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,61 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询班型列表
|
||||||
|
export function getClassTypeTableList(query) { |
||||||
|
return request({ |
||||||
|
url: '/sch/classType/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询班型列表
|
||||||
|
export function getAllList(query) { |
||||||
|
return request({ |
||||||
|
url: '/sch/classType/all', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
// 新增班型
|
||||||
|
export function insertClassType(params) { |
||||||
|
return request({ |
||||||
|
url: '/sch/classType', |
||||||
|
method: 'post', |
||||||
|
data: params |
||||||
|
}); |
||||||
|
} |
||||||
|
// 修改班型
|
||||||
|
export function updateClassType(params) { |
||||||
|
return request({ |
||||||
|
url: '/sch/classType', |
||||||
|
method: 'put', |
||||||
|
data: params |
||||||
|
}); |
||||||
|
} |
||||||
|
// 删除班型
|
||||||
|
export function deleteClassType(ids) { |
||||||
|
return request({ |
||||||
|
url: '/sch/classType/' + ids, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 克隆班型
|
||||||
|
export function cloneClassType(data) { |
||||||
|
return request({ |
||||||
|
url: '/sch/classType/clone', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
export function batchUpdateProfit(data) { |
||||||
|
return request({ |
||||||
|
url: '/sch/classType/profit', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询文件列表
|
||||||
|
export function listFile(query) { |
||||||
|
return request({ |
||||||
|
url: '/sch/file/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
// 删除文件
|
||||||
|
export function delFile(data) { |
||||||
|
return request({ |
||||||
|
url: '/sch/file', |
||||||
|
method: 'delete', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,48 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 获取地图数据
|
||||||
|
export function getMapData() { |
||||||
|
return request({ |
||||||
|
url: '/sch/place/list', |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 更新驾校状态
|
||||||
|
export async function updateSchoolStatus(data) { |
||||||
|
return await request({ |
||||||
|
url: '/sch/place/updateSchool', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增
|
||||||
|
export function addPlace(data) { |
||||||
|
return request({ |
||||||
|
url: '/sch/place', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
// 修改场地
|
||||||
|
export function updatePlace(data) { |
||||||
|
return request({ |
||||||
|
url: '/sch/place', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
// 查询场地
|
||||||
|
export function getAllPlaces(param) { |
||||||
|
return request({ |
||||||
|
url: `/sch/place/all`, |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}) |
||||||
|
|
||||||
|
} |
@ -0,0 +1,44 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询规章制度列表
|
||||||
|
export function listRules(query) { |
||||||
|
return request({ |
||||||
|
url: '/sch/rules/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询规章制度详细
|
||||||
|
export function getRules(ruleId) { |
||||||
|
return request({ |
||||||
|
url: '/sch/rules/' + ruleId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增规章制度
|
||||||
|
export function addRules(data) { |
||||||
|
return request({ |
||||||
|
url: '/sch/rules', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 修改规章制度
|
||||||
|
export function updateRules(data) { |
||||||
|
return request({ |
||||||
|
url: '/sch/rules', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除规章制度
|
||||||
|
export function delRules(ruleId) { |
||||||
|
return request({ |
||||||
|
url: '/sch/rules/' + ruleId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,49 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
export default { |
||||||
|
pageList(data = {}) { |
||||||
|
return request({ |
||||||
|
url: '/sch/school/list', |
||||||
|
method: 'get', |
||||||
|
params: data |
||||||
|
}); |
||||||
|
}, |
||||||
|
allList(data = {}) { |
||||||
|
return request({ |
||||||
|
url: '/sch/school/all', |
||||||
|
method: 'get', |
||||||
|
params: data |
||||||
|
}); |
||||||
|
}, |
||||||
|
getById(id) { |
||||||
|
return request({ |
||||||
|
url: `/sch/school/${id}`, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
}, |
||||||
|
add(data = {}) { |
||||||
|
return request({ |
||||||
|
url: '/sch/school', |
||||||
|
method: 'post', |
||||||
|
data |
||||||
|
}); |
||||||
|
}, |
||||||
|
update(data = {}) { |
||||||
|
return request({ |
||||||
|
url: '/sch/school', |
||||||
|
method: 'put', |
||||||
|
data |
||||||
|
}); |
||||||
|
}, |
||||||
|
delete(id) { |
||||||
|
return request({ |
||||||
|
url: `/sch/school/${id}`, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
}, |
||||||
|
createCode(id){ |
||||||
|
return request({ |
||||||
|
url: `/sch/school/create/${id}`, |
||||||
|
method: 'post' |
||||||
|
}); |
||||||
|
} |
||||||
|
}; |
@ -0,0 +1,10 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询场地学员统计
|
||||||
|
export function listReport(query) { |
||||||
|
return request({ |
||||||
|
url: '/statistic/area/student/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,10 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询场地学员统计
|
||||||
|
export function listReport(query) { |
||||||
|
return request({ |
||||||
|
url: '/statistic/place/student/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,60 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询参数列表
|
||||||
|
export function listConfig(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/config/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询参数详细
|
||||||
|
export function getConfig(configId) { |
||||||
|
return request({ |
||||||
|
url: '/system/config/' + configId, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 根据参数键名查询参数值
|
||||||
|
export function getConfigKey(configKey) { |
||||||
|
return request({ |
||||||
|
url: '/system/config/configKey/' + configKey, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增参数配置
|
||||||
|
export function addConfig(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/config', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改参数配置
|
||||||
|
export function updateConfig(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/config', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除参数配置
|
||||||
|
export function delConfig(configId) { |
||||||
|
return request({ |
||||||
|
url: '/system/config/' + configId, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 刷新参数缓存
|
||||||
|
export function refreshCache() { |
||||||
|
return request({ |
||||||
|
url: '/system/config/refreshCache', |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,59 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询部门列表
|
||||||
|
export function listDept(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/dept/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询部门列表(排除节点)
|
||||||
|
export function listDeptExcludeChild(deptId) { |
||||||
|
return request({ |
||||||
|
url: '/system/dept/list/exclude/' + deptId, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询部门详细
|
||||||
|
export function getDept(deptId) { |
||||||
|
return request({ |
||||||
|
url: '/system/dept/' + deptId, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增部门
|
||||||
|
export function addDept(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/dept', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改部门
|
||||||
|
export function updateDept(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/dept', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除部门
|
||||||
|
export function delDept(deptId) { |
||||||
|
return request({ |
||||||
|
url: '/system/dept/' + deptId, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
// 查询部门下拉树结构
|
||||||
|
export function deptTreeSelect() { |
||||||
|
return request({ |
||||||
|
url: '/system/dept/deptTree', |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询字典数据列表
|
||||||
|
export function listData(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/data/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询字典数据详细
|
||||||
|
export function getData(dictCode) { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/data/' + dictCode, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 根据字典类型查询字典数据信息
|
||||||
|
export function getDicts(dictType) { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/data/type/' + dictType, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增字典数据
|
||||||
|
export function addData(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/data', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改字典数据
|
||||||
|
export function updateData(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/data', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除字典数据
|
||||||
|
export function delData(dictCode) { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/data/' + dictCode, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,60 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询字典类型列表
|
||||||
|
export function listType(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/type/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询字典类型详细
|
||||||
|
export function getType(dictId) { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/type/' + dictId, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增字典类型
|
||||||
|
export function addType(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/type', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改字典类型
|
||||||
|
export function updateType(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/type', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除字典类型
|
||||||
|
export function delType(dictId) { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/type/' + dictId, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 刷新字典缓存
|
||||||
|
export function refreshCache() { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/type/refreshCache', |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 获取字典选择框列表
|
||||||
|
export function optionselect() { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/type/optionselect', |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,49 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
export default { |
||||||
|
pageList(data = {}) { |
||||||
|
return request({ |
||||||
|
url: '/system/employee/list', |
||||||
|
method: 'get', |
||||||
|
params: data |
||||||
|
}); |
||||||
|
}, |
||||||
|
getById(id) { |
||||||
|
return request({ |
||||||
|
url: `/system/employee/${id}`, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
}, |
||||||
|
add(data = {}) { |
||||||
|
return request({ |
||||||
|
url: '/system/employee', |
||||||
|
method: 'post', |
||||||
|
data |
||||||
|
}); |
||||||
|
}, |
||||||
|
update(data = {}) { |
||||||
|
return request({ |
||||||
|
url: '/system/employee', |
||||||
|
method: 'put', |
||||||
|
data |
||||||
|
}); |
||||||
|
}, |
||||||
|
delete(id) { |
||||||
|
return request({ |
||||||
|
url: `/system/employee/${id}`, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
}, |
||||||
|
getEmployee() { |
||||||
|
return request({ |
||||||
|
url: '/system/employee/getEmployees', |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
}, |
||||||
|
|
||||||
|
getSignPlace(userId) { |
||||||
|
return request({ |
||||||
|
url: '/system/employee/signPlace/' + userId, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
}; |
@ -0,0 +1,35 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询通讯录列表
|
||||||
|
export function getMaillistTableList(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/maillist/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增通讯录
|
||||||
|
export function insertMaillist(params) { |
||||||
|
return request({ |
||||||
|
url: '/system/maillist', |
||||||
|
method: 'post', |
||||||
|
data: params |
||||||
|
}) |
||||||
|
} |
||||||
|
// 修改通讯录
|
||||||
|
export function updateMaillist(params) { |
||||||
|
return request({ |
||||||
|
url: '/system/maillist', |
||||||
|
method: 'put', |
||||||
|
data: params |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除通讯录
|
||||||
|
export function deleteMaillist(params) { |
||||||
|
return request({ |
||||||
|
url: '/system/maillist/' + params, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,60 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询菜单列表
|
||||||
|
export function listMenu(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/menu/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询菜单详细
|
||||||
|
export function getMenu(menuId) { |
||||||
|
return request({ |
||||||
|
url: '/system/menu/' + menuId, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询菜单下拉树结构
|
||||||
|
export function treeselect() { |
||||||
|
return request({ |
||||||
|
url: '/system/menu/treeselect', |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 根据角色ID查询菜单下拉树结构
|
||||||
|
export function roleMenuTreeselect(roleId) { |
||||||
|
return request({ |
||||||
|
url: '/system/menu/roleMenuTreeselect/' + roleId, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增菜单
|
||||||
|
export function addMenu(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/menu', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改菜单
|
||||||
|
export function updateMenu(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/menu', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除菜单
|
||||||
|
export function delMenu(menuId) { |
||||||
|
return request({ |
||||||
|
url: '/system/menu/' + menuId, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,44 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询公告列表
|
||||||
|
export function listNotice(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/notice/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询公告详细
|
||||||
|
export function getNotice(noticeId) { |
||||||
|
return request({ |
||||||
|
url: '/system/notice/' + noticeId, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增公告
|
||||||
|
export function addNotice(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/notice', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改公告
|
||||||
|
export function updateNotice(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/notice', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除公告
|
||||||
|
export function delNotice(noticeId) { |
||||||
|
return request({ |
||||||
|
url: '/system/notice/' + noticeId, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,44 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询岗位列表
|
||||||
|
export function listPost(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/post/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询岗位详细
|
||||||
|
export function getPost(postId) { |
||||||
|
return request({ |
||||||
|
url: '/system/post/' + postId, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增岗位
|
||||||
|
export function addPost(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/post', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改岗位
|
||||||
|
export function updatePost(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/post', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除岗位
|
||||||
|
export function delPost(postId) { |
||||||
|
return request({ |
||||||
|
url: '/system/post/' + postId, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,126 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询角色列表
|
||||||
|
export function listRole(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/role/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询角色详细
|
||||||
|
export function getRole(roleId) { |
||||||
|
return request({ |
||||||
|
url: '/system/role/' + roleId, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增角色
|
||||||
|
export function addRole(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/role', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改角色
|
||||||
|
export function updateRole(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/role', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 角色数据权限
|
||||||
|
export function dataScope(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/role/dataScope', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 角色状态修改
|
||||||
|
export function changeRoleStatus(roleId, status) { |
||||||
|
const data = { |
||||||
|
roleId, |
||||||
|
status |
||||||
|
}; |
||||||
|
return request({ |
||||||
|
url: '/system/role/changeStatus', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除角色
|
||||||
|
export function delRole(roleId) { |
||||||
|
return request({ |
||||||
|
url: '/system/role/' + roleId, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询角色已授权用户列表
|
||||||
|
export function allocatedUserList(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/role/authUser/allocatedList', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询角色未授权用户列表
|
||||||
|
export function unallocatedUserList(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/role/authUser/unallocatedList', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 取消用户授权角色
|
||||||
|
export function authUserCancel(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/role/authUser/cancel', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 批量取消用户授权角色
|
||||||
|
export function authUserCancelAll(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/role/authUser/cancelAll', |
||||||
|
method: 'put', |
||||||
|
params: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 授权用户选择
|
||||||
|
export function authUserSelectAll(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/role/authUser/selectAll', |
||||||
|
method: 'put', |
||||||
|
params: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 根据角色ID查询部门树结构
|
||||||
|
export function deptTreeSelect(roleId) { |
||||||
|
return request({ |
||||||
|
url: '/system/role/deptTree/' + roleId, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
export function getRoleOptions() { |
||||||
|
return request({ |
||||||
|
url: '/system/role/getRoles', |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,77 @@ |
|||||||
|
/* |
||||||
|
* @Author: riverQiu |
||||||
|
* @Date: 2023-10-14 00:31:37 |
||||||
|
* @LastEditors: riverQiu |
||||||
|
* @LastEditTime: 2023-10-15 00:37:52 |
||||||
|
* @Description:
|
||||||
|
*/ |
||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 分页查询关键话术列表
|
||||||
|
export function pageSkill(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/skill/page', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询关键话术列表
|
||||||
|
export function listSkill(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/skill/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询关键话术详细
|
||||||
|
export function getSkill(skillId) { |
||||||
|
return request({ |
||||||
|
url: '/system/skill/' + skillId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
export function getSkillKey() { |
||||||
|
return request({ |
||||||
|
url: '/system/skill/key', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增关键话术
|
||||||
|
export function addSkill(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/skill', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 修改关键话术
|
||||||
|
export function updateSkill(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/skill', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除关键话术
|
||||||
|
export function delSkill(skillId) { |
||||||
|
return request({ |
||||||
|
url: '/system/skill/' + skillId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 审核关键话术
|
||||||
|
export function checkSkill(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/skill/check', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,28 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询任务
|
||||||
|
export function getList(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/summary/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询任务
|
||||||
|
export function getTask(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/summary', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 保存
|
||||||
|
export function saveTask(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/summary', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,127 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
import { parseStrEmpty } from '@/utils/ruoyi'; |
||||||
|
|
||||||
|
// 查询用户列表
|
||||||
|
export function listUser(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询用户详细
|
||||||
|
export function getUser(userId) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/' + parseStrEmpty(userId), |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 新增用户
|
||||||
|
export function addUser(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/user', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改用户
|
||||||
|
export function updateUser(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/user', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除用户
|
||||||
|
export function delUser(userId) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/' + userId, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 用户密码重置
|
||||||
|
export function resetUserPwd(userId, password) { |
||||||
|
const data = { |
||||||
|
userId, |
||||||
|
password |
||||||
|
}; |
||||||
|
return request({ |
||||||
|
url: '/system/user/resetPwd', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 用户状态修改
|
||||||
|
export function changeUserStatus(userId, status) { |
||||||
|
const data = { |
||||||
|
userId, |
||||||
|
status |
||||||
|
}; |
||||||
|
return request({ |
||||||
|
url: '/system/user/changeStatus', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询用户个人信息
|
||||||
|
export function getUserProfile() { |
||||||
|
return request({ |
||||||
|
url: '/system/user/profile', |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改用户个人信息
|
||||||
|
export function updateUserProfile(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/profile', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 用户密码重置
|
||||||
|
export function updateUserPwd(oldPassword, newPassword) { |
||||||
|
const data = { |
||||||
|
oldPassword, |
||||||
|
newPassword |
||||||
|
}; |
||||||
|
return request({ |
||||||
|
url: '/system/user/profile/updatePwd', |
||||||
|
method: 'put', |
||||||
|
params: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 用户头像上传
|
||||||
|
export function uploadAvatar(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/profile/avatar', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询授权角色
|
||||||
|
export function getAuthRole(userId) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/authRole/' + userId, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 保存授权角色
|
||||||
|
export function updateAuthRole(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/authRole', |
||||||
|
method: 'put', |
||||||
|
params: data |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,76 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询生成表数据
|
||||||
|
export function listTable(query) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
// 查询db数据库列表
|
||||||
|
export function listDbTable(query) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/db/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询表详细信息
|
||||||
|
export function getGenTable(tableId) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/' + tableId, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改代码生成信息
|
||||||
|
export function updateGenTable(data) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 导入表
|
||||||
|
export function importTable(data) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/importTable', |
||||||
|
method: 'post', |
||||||
|
params: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 预览生成代码
|
||||||
|
export function previewTable(tableId) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/preview/' + tableId, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除表数据
|
||||||
|
export function delTable(tableId) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/' + tableId, |
||||||
|
method: 'delete' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 生成代码(自定义路径)
|
||||||
|
export function genCode(tableName) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/genCode/' + tableName, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 同步数据库
|
||||||
|
export function synchDb(tableName) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/synchDb/' + tableName, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,39 @@ |
|||||||
|
|
||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询车型列表
|
||||||
|
export function getCarList(param) { |
||||||
|
return request({ |
||||||
|
url: '/driver-api/tdSysUserMember/duima/car/list', |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询会员列表
|
||||||
|
export function getMemberList(param) { |
||||||
|
return request({ |
||||||
|
url: '/driver-api/tdSysUserMember/duima/member/list', |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
// 查询用户会员列表
|
||||||
|
export function getUserMemberList(param) { |
||||||
|
return request({ |
||||||
|
url: '/driver-api/tdSysUserMember/duima/user/member/list', |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
//新增会员
|
||||||
|
export function addUserMember(data) { |
||||||
|
return request({ |
||||||
|
url: '/driver-api/tdSysUserMember/duima/user/member', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,212 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询线索列表
|
||||||
|
export function getClueList(query) { |
||||||
|
return request({ |
||||||
|
url: '/zs/clue/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询线索列表
|
||||||
|
export function getClueInfo(id) { |
||||||
|
return request({ |
||||||
|
url: '/zs/clue/' + id, |
||||||
|
method: 'get', |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
// 新增线索
|
||||||
|
export function addClue(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/clue', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 修改线索
|
||||||
|
export function updateClue(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/clue', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 删除
|
||||||
|
export function deleteClue(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/clue', |
||||||
|
method: 'delete', |
||||||
|
params: data |
||||||
|
}); |
||||||
|
} |
||||||
|
// 导出
|
||||||
|
export function exportData(query) { |
||||||
|
return request({ |
||||||
|
url: '/zs/clue/export', |
||||||
|
method: 'post', |
||||||
|
data: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 导入模板
|
||||||
|
export function importTemplate(param) { |
||||||
|
return request({ |
||||||
|
url: '/zs/clue/importTemplate', |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}); |
||||||
|
} |
||||||
|
// 导入
|
||||||
|
export function importData(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/clue/importData', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询登记getSign
|
||||||
|
export function getSign(query) { |
||||||
|
return request({ |
||||||
|
url: '/zs/clue/sign', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
// 保存登记
|
||||||
|
export function saveSign(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/clue/sign', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 甩单
|
||||||
|
export function saveDistribute(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/clue/distribute', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 驳回
|
||||||
|
export function refuse(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/clue/refuse', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询甩单记录
|
||||||
|
export function getDistributeRecord(param) { |
||||||
|
return request({ |
||||||
|
url: '/zs/clue/distributerecord', |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询跟踪记录
|
||||||
|
export function getFollowRecord(param) { |
||||||
|
return request({ |
||||||
|
url: '/zs/followrecord/list', |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
//查询咨询记录
|
||||||
|
export function getConsultRecord(param) { |
||||||
|
return request({ |
||||||
|
url: '/zs/consultrecord/list', |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}); |
||||||
|
} |
||||||
|
// 获取已过期
|
||||||
|
export function getClueCountBadge() { |
||||||
|
return request({ |
||||||
|
url: `/zs/clue/badgeCount`, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 批量更新
|
||||||
|
export function batchUpdate(data) { |
||||||
|
return request({ |
||||||
|
url: `/zs/clue/batchUpdate`, |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 公海线索 getPublicList
|
||||||
|
export function getPublicList(param) { |
||||||
|
return request({ |
||||||
|
url: `/zs/clue/public/list`, |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 拾取线索
|
||||||
|
export function pickupClue(data) { |
||||||
|
return request({ |
||||||
|
url: `/zs/clue/public/pickup`, |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 丢弃线索
|
||||||
|
export function discardClue(data) { |
||||||
|
return request({ |
||||||
|
url: `/zs/clue/public/discard`, |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询接收
|
||||||
|
export function getAccept() { |
||||||
|
return request({ |
||||||
|
url: `/zs/clue/accept`, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 丢弃线索
|
||||||
|
export function updateAccept(data) { |
||||||
|
return request({ |
||||||
|
url: `/zs/clue/accept`, |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
//查询线索分发信息
|
||||||
|
export function getCluePlaceList(data) { |
||||||
|
return request({ |
||||||
|
url: `/zs/clue/place/info`, |
||||||
|
method: 'get', |
||||||
|
params: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
//保存线索分发信息
|
||||||
|
export function saveCluePlace(data) { |
||||||
|
return request({ |
||||||
|
url: `/zs/clue/place`, |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,44 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询报名点列表
|
||||||
|
export function listOffice(query) { |
||||||
|
return request({ |
||||||
|
url: '/zs/office/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询报名点详细
|
||||||
|
export function getOffice(officeId) { |
||||||
|
return request({ |
||||||
|
url: '/zs/office/' + officeId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增报名点
|
||||||
|
export function addOffice(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/office', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 修改报名点
|
||||||
|
export function updateOffice(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/office', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除报名点
|
||||||
|
export function delOffice(officeId) { |
||||||
|
return request({ |
||||||
|
url: '/zs/office/' + officeId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询报名点成交登记列表
|
||||||
|
export function listSign(query) { |
||||||
|
return request({ |
||||||
|
url: '/zs/placeSign/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询报名点成交登记详细
|
||||||
|
export function getSign(placeSignId) { |
||||||
|
return request({ |
||||||
|
url: '/zs/placeSign/' + placeSignId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增报名点成交登记
|
||||||
|
export function addSign(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/placeSign', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 修改报名点成交登记
|
||||||
|
export function updateSign(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/placeSign', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除报名点成交登记
|
||||||
|
export function delSign(placeSignId) { |
||||||
|
return request({ |
||||||
|
url: '/zs/placeSign/' + placeSignId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
//审核登记
|
||||||
|
export function checkSign(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/placeSign/check', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,93 @@ |
|||||||
|
import request from '@/utils/request'; |
||||||
|
|
||||||
|
// 查询线索列表
|
||||||
|
export function getSignList(query) { |
||||||
|
return request({ |
||||||
|
url: '/zs/sign/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 查询线索列表
|
||||||
|
export function getSign(id) { |
||||||
|
return request({ |
||||||
|
url: '/zs/sign/' + id, |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 导出
|
||||||
|
export function exportData(query) { |
||||||
|
return request({ |
||||||
|
url: '/zs/sign/export', |
||||||
|
method: 'post', |
||||||
|
data: query |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 导入模板
|
||||||
|
export function importTemplate() { |
||||||
|
return request({ |
||||||
|
url: '/zs/sign/importTemplate', |
||||||
|
method: 'get' |
||||||
|
}); |
||||||
|
} |
||||||
|
// 导入
|
||||||
|
export function importData(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/sign/importData', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
export function addSign(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/sign', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
export function updateSign(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/sign', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
export function getClues(param) { |
||||||
|
return request({ |
||||||
|
url: '/zs/sign/clue', |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
export function deleteSign(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/sign', |
||||||
|
method: 'delete', |
||||||
|
params: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 审核登记
|
||||||
|
export function checkSign(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/sign/check', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// 审核记录
|
||||||
|
export function getCheckRecord(data) { |
||||||
|
return request({ |
||||||
|
url: '/zs/sign/check', |
||||||
|
method: 'get', |
||||||
|
params: data |
||||||
|
}); |
||||||
|
} |
After Width: | Height: | Size: 160 KiB |
After Width: | Height: | Size: 96 KiB |
After Width: | Height: | Size: 4.7 KiB |
@ -0,0 +1,9 @@ |
|||||||
|
import Vue from 'vue'; |
||||||
|
import SvgIcon from '@/components/SvgIcon'; // svg component
|
||||||
|
|
||||||
|
// register globally
|
||||||
|
Vue.component('SvgIcon', SvgIcon); |
||||||
|
|
||||||
|
const req = require.context('./svg', false, /\.svg$/); |
||||||
|
const requireAll = (requireContext) => requireContext.keys().map(requireContext); |
||||||
|
requireAll(req); |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 954 B |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 179 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 971 B |
After Width: | Height: | Size: 732 B |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 418 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 356 B |
After Width: | Height: | Size: 724 B |
After Width: | Height: | Size: 818 B |
After Width: | Height: | Size: 627 B |
After Width: | Height: | Size: 347 B |
After Width: | Height: | Size: 497 B |
After Width: | Height: | Size: 459 B |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.3 KiB |