mirror of
https://github.com/FJ-OMS/oms-erp.git
synced 2024-09-20 07:16:29 +08:00
Merge pull request #7 from FJ-OMS/feature-wusc-20230224-structural
代码结构调整
This commit is contained in:
commit
b320efac05
14
front-end/.editorconfig
Normal file
14
front-end/.editorconfig
Normal file
|
@ -0,0 +1,14 @@
|
|||
# https://editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.md]
|
||||
insert_final_newline = false
|
||||
trim_trailing_whitespace = false
|
11
front-end/.env.development
Normal file
11
front-end/.env.development
Normal file
|
@ -0,0 +1,11 @@
|
|||
# just a flag
|
||||
VUE_APP_ENV = 'development'
|
||||
# 以下路径变量必须得用VUE_APP开头
|
||||
# ACCESS_TOKEN default value
|
||||
VUE_APP_ACCESS_TOKEN = ''
|
||||
# base api 本地环境执行npm run dev ,取此 api 前缀; 不是线上(生产)环境使用的
|
||||
VUE_APP_BASE_API = 'http://api.ebc.com'
|
||||
# client id
|
||||
VUE_APP_CLIENT_ID = 'localhost'
|
||||
# 默认的图片上传分组
|
||||
VUE_APP_UPLOAD_BUCKET_NAME = 'test'
|
11
front-end/.env.production
Normal file
11
front-end/.env.production
Normal file
|
@ -0,0 +1,11 @@
|
|||
# just a flag
|
||||
VUE_APP_ENV = 'production'
|
||||
# 以下路径变量必须得用VUE_APP开头
|
||||
# ACCESS_TOKEN default value
|
||||
VUE_APP_ACCESS_TOKEN = ''
|
||||
# base api 生产环境执行npm run build; 从src\utils\index.js 的 VUE_APP_BASE_API() 动态获取
|
||||
VUE_APP_BASE_API = 'http://api.test.org'
|
||||
# client id
|
||||
VUE_APP_CLIENT_ID = 'localhost'
|
||||
# 默认的图片上传分组
|
||||
VUE_APP_UPLOAD_BUCKET_NAME = 'test'
|
11
front-end/.env.qa
Normal file
11
front-end/.env.qa
Normal file
|
@ -0,0 +1,11 @@
|
|||
# 连接测试的api数据
|
||||
VUE_APP_ENV = 'qa'
|
||||
# 以下路径变量必须得用VUE_APP开头
|
||||
# ACCESS_TOKEN default value
|
||||
VUE_APP_ACCESS_TOKEN = ''
|
||||
# base api 本地环境执行npm run qa ,取此 api 前缀; 不是线上(生产)环境使用的
|
||||
VUE_APP_BASE_API = 'http://api.ebc1.com'
|
||||
# client id
|
||||
VUE_APP_CLIENT_ID = 'localhost'
|
||||
# 默认的图片上传分组
|
||||
VUE_APP_UPLOAD_BUCKET_NAME = 'test'
|
8
front-end/.env.staging
Normal file
8
front-end/.env.staging
Normal file
|
@ -0,0 +1,8 @@
|
|||
NODE_ENV = production
|
||||
|
||||
# just a flag
|
||||
ENV = 'staging'
|
||||
|
||||
# base api
|
||||
VUE_APP_BASE_API = '/stage-api'
|
||||
|
11
front-end/.env.test
Normal file
11
front-end/.env.test
Normal file
|
@ -0,0 +1,11 @@
|
|||
# test 环境,默认了 VUE_APP_ACCESS_TOKEN 的值,将不经过Api
|
||||
VUE_APP_ENV = 'test'
|
||||
# 以下路径变量必须得用VUE_APP开头
|
||||
# ACCESS_TOKEN default value
|
||||
VUE_APP_ACCESS_TOKEN = 'test'
|
||||
# base api
|
||||
VUE_APP_BASE_API = 'http://api.skyer.org'
|
||||
# client id
|
||||
VUE_APP_CLIENT_ID = 'localhost'
|
||||
# 默认的图片上传分组
|
||||
VUE_APP_UPLOAD_BUCKET_NAME = 'test'
|
11
front-end/.env.uat
Normal file
11
front-end/.env.uat
Normal file
|
@ -0,0 +1,11 @@
|
|||
# 连接测试的api数据
|
||||
VUE_APP_ENV = 'uat'
|
||||
# 以下路径变量必须得用VUE_APP开头
|
||||
# ACCESS_TOKEN default value
|
||||
VUE_APP_ACCESS_TOKEN = ''
|
||||
# base api 本地环境执行npm run uat ,取此 api 前缀; 不是线上(生产)环境使用的
|
||||
VUE_APP_BASE_API = 'https://omniapi.k8s9.com'
|
||||
# client id
|
||||
VUE_APP_CLIENT_ID = 'localhost'
|
||||
# 默认的图片上传分组
|
||||
VUE_APP_UPLOAD_BUCKET_NAME = 'test'
|
5
front-end/.eslintignore
Normal file
5
front-end/.eslintignore
Normal file
|
@ -0,0 +1,5 @@
|
|||
build/*.js
|
||||
src/assets
|
||||
public
|
||||
dist
|
||||
src/components/BjTreeSelect/vue-treeselect.cjs.js
|
293
front-end/.eslintrc.js
Normal file
293
front-end/.eslintrc.js
Normal file
|
@ -0,0 +1,293 @@
|
|||
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': [
|
||||
0,
|
||||
{
|
||||
singleline: 3,
|
||||
multiline: {
|
||||
max: 3,
|
||||
allowFirstLine: false,
|
||||
},
|
||||
},
|
||||
],
|
||||
'vue/html-self-closing': [
|
||||
'error',
|
||||
{
|
||||
html: {
|
||||
void: 'always',
|
||||
normal: 'any',
|
||||
component: 'any',
|
||||
},
|
||||
svg: 'always',
|
||||
math: 'always',
|
||||
},
|
||||
],
|
||||
'vue/no-side-effects-in-computed-properties': 'off',
|
||||
'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',
|
||||
'vue/html-closing-bracket-newline': [
|
||||
'off',
|
||||
{
|
||||
singleline: 'never',
|
||||
multiline: 'always',
|
||||
},
|
||||
],
|
||||
'vue/html-indent': [
|
||||
'off',
|
||||
{
|
||||
attribute: 1,
|
||||
baseIndent: 1,
|
||||
closeBracket: 0,
|
||||
alignAttributesVertically: true,
|
||||
ignores: [],
|
||||
},
|
||||
],
|
||||
'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, 'only-multiline'],
|
||||
'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: [0, '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, 'always'],
|
||||
'semi-spacing': [
|
||||
2,
|
||||
{
|
||||
before: false,
|
||||
after: true,
|
||||
},
|
||||
],
|
||||
'space-before-blocks': [2, 'always'],
|
||||
'space-before-function-paren': [0, 'always'],
|
||||
'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': [
|
||||
0,
|
||||
'always',
|
||||
{
|
||||
objectsInObjects: false,
|
||||
},
|
||||
],
|
||||
'array-bracket-spacing': [2, 'never'],
|
||||
},
|
||||
};
|
23
front-end/.gitignore
vendored
Normal file
23
front-end/.gitignore
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
.DS_Store
|
||||
node_modules/
|
||||
dist/
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
**/*.log
|
||||
|
||||
tests/**/coverage/
|
||||
tests/e2e/reports
|
||||
selenium-debug.log
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.vscode
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.local
|
||||
|
||||
package-lock.json
|
||||
yarn.lock
|
5
front-end/.gitlab-ci.yml
Normal file
5
front-end/.gitlab-ci.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
include: http://api.k8s9.com/devops/v1/projects/285085540595404800/ci_contents/pipelines/afb0fc82-1964-4557-bf7d-954d8a380b47/content.yaml
|
||||
|
||||
#include: http://api.baogicloud.com/devops/v1/projects/204888765897510912/ci_contents/pipelines/0ce800a5-e58a-4953-9636-f506efb3ff85/content.yaml
|
||||
#
|
||||
##include: http://api.baogicloud.com/devops/v1/projects/187577360164982784/ci_contents/pipelines/84c3efc1-6c6e-4e3c-b5c4-7237b03c9413/content.yaml
|
13
front-end/.prettierrc.js
Normal file
13
front-end/.prettierrc.js
Normal file
|
@ -0,0 +1,13 @@
|
|||
module.exports = {
|
||||
endOfLine: 'auto', //换行 自动
|
||||
printWidth: 100, // 每行代码长度(默认80)
|
||||
singleQuote: true, // 使用单引号(默认false)
|
||||
tabWidth: 2, //缩进
|
||||
useTabs: false, // 是否使用tab进行缩进(默认false)
|
||||
trailingComma: 'all', // 多行使用拖尾逗号(默认none)
|
||||
semi: true, // 声明结尾使用分号(默认true)
|
||||
bracketSpacing: true, // 对象字面量的大括号间使用空格(默认true)
|
||||
jsxBracketSameLine: false, // 多行JSX中的>放置在最后一行的结尾,而不是另起一行(默认false)
|
||||
jsxSingleQuote: true, // 在jsx中使用单引号代替双引号
|
||||
arrowParens: 'avoid', // 只有一个参数的箭头函数的参数是否带圆括号(默认avoid)
|
||||
};
|
5
front-end/.travis.yml
Normal file
5
front-end/.travis.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
language: node_js
|
||||
node_js: 10
|
||||
script: npm run test
|
||||
notifications:
|
||||
email: false
|
21
front-end/LICENSE
Normal file
21
front-end/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2017-present PanJiaChen
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
156
front-end/README.md
Normal file
156
front-end/README.md
Normal file
|
@ -0,0 +1,156 @@
|
|||
# 规范
|
||||
|
||||
多行查询 /this\.cancel\(\{\n._\n._\)/
|
||||
|
||||
- 全局 element 组件已经默认 size="mini"
|
||||
- 组件名称/文件 大写开头
|
||||
- 声明变量必须加上 let 关键字.不要再使用 var
|
||||
- const 常量 ,大写 如:`PAGE_LIST`
|
||||
- 禁用、启用、删除等操作,需要弹窗确认
|
||||
```js
|
||||
/** 禁用 */
|
||||
onStatus(flag, row) {
|
||||
const TEXT = STATUS_ENABLED_NUM.bjGet(flag);
|
||||
this.$confirm(`您正在 ${TEXT} ${row.brandName},是否继续?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
})
|
||||
.then(() => {
|
||||
this.operationApi({
|
||||
ids: [row.id],
|
||||
status: flag,
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
/** 删除操作 */
|
||||
onDelete(row) {
|
||||
this.$confirm(`您正在删除 ${row.brandName},是否继续?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
})
|
||||
.then(() => {
|
||||
this.batchDeleteApi({ ids: [row.id] });
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
```
|
||||
- 列表的状态列,用`el-tag`展示
|
||||
```html
|
||||
<el-tag v-else-if="col.prop === 'status'" :type="scope.row.status ? 'success' : 'info'"
|
||||
>{{ STATUS_ENABLED_NUM.bjGet(scope.row.status) }}</el-tag
|
||||
>
|
||||
```
|
||||
- 新增/编辑的内容较少,使用`BjDrawerForm`弹窗展示,较多内容使用新页面
|
||||
- (新增/编辑等)页面的保存确认等按钮,放在右上角,可吸顶
|
||||
```html
|
||||
<BjDivider right-fixed
|
||||
>基本信息
|
||||
<!--空标题使用<span></span>-->
|
||||
<template #right>
|
||||
<el-button @click="handleClose">返 回</el-button>
|
||||
<el-button type="primary" @click="onPass">确 认</el-button>
|
||||
</template>
|
||||
</BjDivider>
|
||||
```
|
||||
- 路由命名
|
||||
以父级路由为前缀,依次向后增长
|
||||
当前路由名称应与文件路径基本一致
|
||||
列表页面路由以 Index 结尾
|
||||
新增页面路由以 Add 结尾
|
||||
编辑页面路由以 Edit 结尾
|
||||
详情页面路由以 View 结尾
|
||||
配置页面路由以 Config 结尾
|
||||
路由长度默认为四级,前三级为模块菜单,第四级为页面和功能
|
||||
|
||||
# 通用样式
|
||||
|
||||
- `bj-label-colon` 表单 label 文字加冒号
|
||||
- `full-width` 宽度 100%
|
||||
- `tips` 提示文字,小号,灰色
|
||||
- `link` 模拟链接,蓝色,可点击
|
||||
|
||||
# 组件
|
||||
|
||||
## 列表页面的公共混入
|
||||
|
||||
`import pageMiXin from '@/utils/page-mixin.js';`
|
||||
|
||||
## BjPage
|
||||
|
||||
路径 src\components\BjPage\index.vue
|
||||
路径 src\components\BjPage\mixin.js
|
||||
|
||||
## 详情页面的公共混入
|
||||
|
||||
`import viewMiXin from '@/utils/view-mixin.js';`
|
||||
|
||||
## BjDialogList
|
||||
|
||||
## ScrollLoad
|
||||
|
||||
列表滚动加载 packages\ScrollLoad\README.md
|
||||
|
||||
## ScrollSelect
|
||||
|
||||
##
|
||||
|
||||
- BjImportFile 导入
|
||||
- BjDialogList 通用弹窗选择:弹出一个列表,可以搜索
|
||||
- BjDivider 分割线
|
||||
- BjDrawerForm 右侧弹窗 【新建、编辑】类使用
|
||||
- BjSelectLov 下拉选择
|
||||
- BjCheckboxLov 复选
|
||||
- BjRadioLov 单选
|
||||
- BjRouteTabs tab 页的路由跳转头部
|
||||
- BjInputMoney 金额 input
|
||||
- ScrollSelect 支持 滚动加载、api 搜索 的下拉选择框,
|
||||
- BjPagingTable 带分页的表格
|
||||
- BjSelectProvinces dialog 弹窗选择中国的省/市
|
||||
- BjInputNumber 数量 input 正整数
|
||||
- BjSelectChinaArea 下拉选择中国的省/市/区 单独 all type="city" type="area"
|
||||
- BjUpload 带缩略图的上传组件
|
||||
- BjDialogTable
|
||||
|
||||
## 其它组件
|
||||
|
||||
1. 日期组件 `el-date-picker` 需要设置
|
||||
|
||||
- class="full-width => 宽度 100%
|
||||
- value-format="yyyy-MM-dd"
|
||||
|
||||
2. 下拉选择 尽量使用 `BjSelectLov` 组件
|
||||
单选 尽量使用 `BjRadioLov` 组件
|
||||
复选 尽量使用 `BjCheckboxLov` 组件
|
||||
|
||||
3. `input` 需要设置
|
||||
|
||||
- :maxlength="MAX_LENGTH.DEFAULT"
|
||||
- clearable
|
||||
|
||||
4. `el-dialog` 需要设置
|
||||
|
||||
- :close-on-click-modal="false"
|
||||
- :close-on-press-escape="false"
|
||||
|
||||
# 依赖 Node-sass 安装
|
||||
|
||||
不使用 Node-sass 会出现图标乱码
|
||||
Node-sass 版本高于 5.0.0,与会构建失败
|
||||
使用 原镜像 https://registry.npmjs.org/ 无法下载 5.0.0 以下的 Node-sass 版本
|
||||
|
||||
[来源知乎](https://zhuanlan.zhihu.com/p/147005226)
|
||||
|
||||
```npm
|
||||
npm config set registry http://registry.npm.taobao.org/
|
||||
|
||||
npm config set disturl https://npm.taobao.org/mirrors/node/
|
||||
|
||||
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
|
||||
|
||||
npm cache clean -f
|
||||
|
||||
npm install node-sass@1.14.1
|
||||
```
|
23
front-end/babel.config.js
Normal file
23
front-end/babel.config.js
Normal file
|
@ -0,0 +1,23 @@
|
|||
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.
|
||||
// https://panjiachen.github.io/vue-element-admin-site/guide/advanced/lazy-loading.html
|
||||
plugins: ['dynamic-import-node'],
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
[
|
||||
'import',
|
||||
{
|
||||
libraryName: 'vxe-table',
|
||||
style: true,
|
||||
},
|
||||
],
|
||||
],
|
||||
};
|
5
front-end/charts/ebc-front/Chart.yaml
Normal file
5
front-end/charts/ebc-front/Chart.yaml
Normal file
|
@ -0,0 +1,5 @@
|
|||
apiVersion: v1
|
||||
appVersion: "1.0"
|
||||
description: A Helm chart for Kubernetes
|
||||
name: ebc-front
|
||||
version: 0.1.0
|
56
front-end/charts/ebc-front/README.md
Normal file
56
front-end/charts/ebc-front/README.md
Normal file
|
@ -0,0 +1,56 @@
|
|||
# Quick start
|
||||
|
||||
部署文件的渲染模板,我们下文将定义一些变量,helm执行时会将变量渲染进模板文件中。
|
||||
|
||||
## _helpers.tpl
|
||||
|
||||
这个文件我们用来进行标签模板的定义,以便在上文提到的位置进行标签渲染。
|
||||
|
||||
此项目标签总共分为两个部分: 平台、日志。
|
||||
|
||||
### 平台标签
|
||||
|
||||
#### deployment 级:
|
||||
|
||||
```
|
||||
{{- define "service.labels.standard" -}}
|
||||
choerodon.io/release: {{ .Release.Name | quote }}
|
||||
{{- end -}}
|
||||
```
|
||||
平台管理实例需要的实例ID。
|
||||
|
||||
|
||||
### 日志标签
|
||||
|
||||
#### deployment 级:
|
||||
|
||||
```
|
||||
{{- define "service.logging.deployment.label" -}}
|
||||
choerodon.io/logs-parser: {{ .Values.logs.parser | quote }}
|
||||
{{- end -}}
|
||||
```
|
||||
日志管理所需要的应用标签。该标签指定应用程序的日志格式,内置格式有`nginx`,`spring-boot`,`docker`对于前端服务请使用`nginx`,如果不需要收集日志请移除此段代码,并删除模板文件关于`service.logging.deployment.label`的引用。
|
||||
|
||||
## values.yaml
|
||||
|
||||
这个文件中的键值对,即为我们上文中所引用的变量。
|
||||
|
||||
将所以有变量集中在一个文件中,方便部署的时候进行归档以及灵活替换。
|
||||
|
||||
同时,helm命令支持使用 `--set FOO_BAR=FOOBAR` 参数对values 文件中的变量进行赋值,可以进一步简化部署流程。
|
||||
|
||||
|
||||
## 参数对照表
|
||||
|
||||
参数名 | 含义
|
||||
--- | ---
|
||||
preJob.preConfig.mysql{}|初始化配置所需manager_service数据库信息
|
||||
env.open.PRO_API_HOST|api地址
|
||||
env.open.PRO_DEVOPS_HOST|devops service地址
|
||||
env.open.PRO_CLIENT_ID|client id
|
||||
env.open.PRO_TITLE_NAME|页面显示标题
|
||||
env.open.PRO_HEADER_TITLE_NAME|页面header标题
|
||||
env.open.PRO_HTTP|使用协议
|
||||
service.enable|创建service对象
|
||||
ingress.enable|创建ingress对象
|
||||
ingress.host|域名地址,此处不能带http://
|
28
front-end/charts/ebc-front/templates/_helpers.tpl
Normal file
28
front-end/charts/ebc-front/templates/_helpers.tpl
Normal file
|
@ -0,0 +1,28 @@
|
|||
{{/* vim: set filetype=mustache: */}}
|
||||
{{- /*
|
||||
service.labels.standard prints the standard service Helm labels.
|
||||
The standard labels are frequently used in metadata.
|
||||
*/ -}}
|
||||
|
||||
{{- define "service.image" -}}
|
||||
{{- printf "%s:%s" .Values.image.repository (default (.Chart.Version) .Values.image.tag) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the appropriate apiVersion for deployment.
|
||||
*/}}
|
||||
{{- define "app.deployment.apiVersion" -}}
|
||||
{{- if semverCompare "<1.9-0" .Capabilities.KubeVersion.GitVersion -}}
|
||||
{{- print "apps/v1beta2" -}}
|
||||
{{- else -}}
|
||||
{{- print "apps/v1" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
{{- define "service.labels.kubesphere" -}}
|
||||
app: {{ .Release.Name | quote }}
|
||||
app.kubernetes.io/name: {{ .Values.kubesphere.app.name | quote }}
|
||||
app.kubernetes.io/version: {{ .Values.kubesphere.app.version | quote }}
|
||||
version: {{ .Values.kubesphere.app.version | quote }}
|
||||
{{- end -}}
|
95
front-end/charts/ebc-front/templates/deployment.yaml
Normal file
95
front-end/charts/ebc-front/templates/deployment.yaml
Normal file
|
@ -0,0 +1,95 @@
|
|||
apiVersion: {{ include "app.deployment.apiVersion" . }}
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ .Release.Name }}
|
||||
labels:
|
||||
{{ include "service.labels.kubesphere" . | indent 4 }}
|
||||
annotations:
|
||||
deployment.kubernetes.io/revision: '1'
|
||||
kubesphere.io/creator: {{ .Values.kubesphere.app.creator | quote }}
|
||||
servicemesh.kubesphere.io/enabled: '{{ .Values.kubesphere.app.servicemesh }}'
|
||||
spec:
|
||||
strategy:
|
||||
type: {{ .Values.deploymentUpdate.type }}
|
||||
{{- if eq .Values.deploymentUpdate.type "RollingUpdate" }}
|
||||
rollingUpdate:
|
||||
maxSurge: {{ .Values.deploymentUpdate.maxSurge }}
|
||||
maxUnavailable: {{ .Values.deploymentUpdate.maxUnavailable }}
|
||||
{{- else }}
|
||||
rollingUpdate: null
|
||||
{{- end}}
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{ include "service.labels.kubesphere" . | indent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
sidecar.istio.io/inject: '{{ .Values.kubesphere.app.servicemesh }}'
|
||||
labels:
|
||||
{{ include "service.labels.kubesphere" . | indent 8 }}
|
||||
spec:
|
||||
volumes:
|
||||
- name: host-time
|
||||
hostPath:
|
||||
path: /etc/localtime
|
||||
type: ''
|
||||
- name: data
|
||||
{{- if .Values.persistence.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ .Values.persistence.existingClaim | default ( .Release.Name ) }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ .Release.Name }}
|
||||
image: {{ include "service.image" . }}
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
env:
|
||||
{{- range $name, $value := .Values.env.open }}
|
||||
{{- if ne (len ($value | quote)) 0 }}
|
||||
- name: {{ $name | quote }}
|
||||
value: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: http-{{ .Values.service.port }}
|
||||
containerPort: {{ .Values.service.port }}
|
||||
protocol: TCP
|
||||
{{- if not (empty .Values.deployment.managementPort) }}
|
||||
- name: http-{{ .Values.deployment.managementPort }}
|
||||
containerPort: {{ .Values.deployment.managementPort }}
|
||||
protocol: TCP
|
||||
{{- end }}
|
||||
resources:
|
||||
{{ toYaml .Values.resources | indent 12 }}
|
||||
volumeMounts:
|
||||
- name: host-time
|
||||
readOnly: true
|
||||
mountPath: /etc/localtime
|
||||
- mountPath: /Charts
|
||||
name: data
|
||||
{{- if not (empty .Values.persistence.subPath) }}
|
||||
subPath: {{ .Values.persistence.subPath }}
|
||||
{{- end }}
|
||||
terminationMessagePath: /dev/termination-log
|
||||
terminationMessagePolicy: File
|
||||
restartPolicy: Always
|
||||
terminationGracePeriodSeconds: 30
|
||||
dnsPolicy: ClusterFirst
|
||||
serviceAccountName: default
|
||||
serviceAccount: default
|
||||
securityContext: {}
|
||||
schedulerName: default-scheduler
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
41
front-end/charts/ebc-front/templates/service.yaml
Normal file
41
front-end/charts/ebc-front/templates/service.yaml
Normal file
|
@ -0,0 +1,41 @@
|
|||
{{- if .Values.service.enabled }}
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ .Release.Name }}
|
||||
labels:
|
||||
{{ include "service.labels.kubesphere" . | indent 4 }}
|
||||
annotations:
|
||||
kubesphere.io/creator: {{ .Values.kubesphere.app.creator }}
|
||||
kubesphere.io/serviceType: {{ .Values.kubesphere.app.serviceType | quote }}
|
||||
{{- if .Values.kubesphere.app.ingress }}
|
||||
service.beta.kubernetes.io/qingcloud-load-balancer-eip-ids: ''
|
||||
service.beta.kubernetes.io/qingcloud-load-balancer-type: '0'
|
||||
{{- end }}
|
||||
servicemesh.kubesphere.io/enabled: '{{ .Values.kubesphere.app.servicemesh }}'
|
||||
spec:
|
||||
ports:
|
||||
- name: http-{{ .Values.service.port }}
|
||||
protocol: TCP
|
||||
port: {{ .Values.service.port }}
|
||||
targetPort: {{ .Values.service.port }}
|
||||
{{- if not (empty .Values.service.nodePort) }}
|
||||
nodePort: {{ .Values.service.nodePort }}
|
||||
{{- end }}
|
||||
{{- if not (empty .Values.deployment.managementPort) }}
|
||||
- name: http-{{ .Values.deployment.managementPort }}
|
||||
protocol: TCP
|
||||
port: {{ .Values.deployment.managementPort }}
|
||||
targetPort: {{ .Values.deployment.managementPort }}
|
||||
{{- if not (empty .Values.deployment.nodePort) }}
|
||||
nodePort: {{ .Values.deployment.nodePort }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
selector:
|
||||
{{ include "service.labels.kubesphere" . | indent 4 }}
|
||||
type: {{ .Values.service.type | quote }}
|
||||
sessionAffinity: None
|
||||
ipFamilies:
|
||||
- IPv4
|
||||
ipFamilyPolicy: SingleStack
|
||||
{{- end }}
|
72
front-end/charts/ebc-front/values.yaml
Normal file
72
front-end/charts/ebc-front/values.yaml
Normal file
|
@ -0,0 +1,72 @@
|
|||
## 实例运行数量
|
||||
replicaCount: 1
|
||||
## 设置默认的 image、imageTag 和 imagePullPolicy。
|
||||
image:
|
||||
# 需设置镜像地址 repository: xxxxxx
|
||||
pullPolicy: IfNotPresent
|
||||
deployment:
|
||||
managementPort:
|
||||
nodePort:
|
||||
kubesphere:
|
||||
app:
|
||||
name: ebc
|
||||
version: v1
|
||||
creator: admin
|
||||
servicemesh: true
|
||||
# statelessservice statefulservice
|
||||
serviceType: statelessservice
|
||||
ingress: true
|
||||
## Deployment 更新策略
|
||||
deploymentUpdate:
|
||||
type: RollingUpdate
|
||||
maxUnavailable: 25%
|
||||
maxSurge: 25%
|
||||
## Pod 节点分配
|
||||
## ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
tolerations: []
|
||||
affinity: {}
|
||||
## 资源请求和限制相关配置
|
||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
||||
##
|
||||
resources:
|
||||
limits:
|
||||
cpu: 900m
|
||||
memory: 2Gi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 512Mi
|
||||
## service 相关设置
|
||||
## ref: http://kubernetes.io/docs/user-guide/services/
|
||||
##
|
||||
service:
|
||||
enabled: true
|
||||
# LoadBalancer ClusterIP
|
||||
type: LoadBalancer
|
||||
port: 8080
|
||||
nodePort:
|
||||
persistence:
|
||||
enabled: false
|
||||
## A manually managed Persistent Volume and Claim
|
||||
## Requires persistence.enabled: true
|
||||
## If defined, PVC must be created manually before volume will be bound
|
||||
# existingClaim:
|
||||
# subPath:
|
||||
env:
|
||||
open:
|
||||
SERVER_PORT: 8080
|
||||
BUILD_BASE_PATH: /
|
||||
BUILD_WEBSOCKET_HOST: ws://192.168.16.173:8120
|
||||
BUILD_CLIENT_ID: ebc-front-uat
|
||||
BUILD_API_HOST: http://192.168.12.101:8080/
|
||||
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true
|
||||
BUILD_PLATFORM_VERSION: SAAS
|
||||
BUILD_MULTIPLE_SKIN_ENABLE: false
|
||||
BUILD_TOP_MENU_LABELS: HZERO_MENU
|
||||
BUILD_TOP_MENU_UNION_LABEL: false
|
||||
BUILD_TRACE_LOG_ENABLE: true
|
||||
BUILD_IM_ENABLE: true
|
||||
BUILD_IM_WEBSOCKET_HOST: ws://172.23.16.46:9876
|
||||
BUILD_INVALID_TIME: 120
|
||||
BUILD_CUSTOMIZE_ICON_NAME: customize-icon
|
6
front-end/docker/Dockerfile
Normal file
6
front-end/docker/Dockerfile
Normal file
|
@ -0,0 +1,6 @@
|
|||
FROM registry.cn-shanghai.aliyuncs.com/c7n/frontbase:0.9.0
|
||||
RUN echo "Asia/shanghai" > /etc/timezone;
|
||||
RUN chown -R nginx:nginx /usr/share/nginx/html
|
||||
COPY --chown=nginx:nginx ./dist /usr/share/nginx/html
|
||||
USER 101
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
BIN
front-end/fj.png
Normal file
BIN
front-end/fj.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
BIN
front-end/fjxx.png
Normal file
BIN
front-end/fjxx.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
131
front-end/getRouter.js
Normal file
131
front-end/getRouter.js
Normal file
|
@ -0,0 +1,131 @@
|
|||
// import { asyncRoutes } from './src/router/index';
|
||||
const asyncRoutes = require('./src/router/index');
|
||||
console.log(asyncRoutes);
|
||||
|
||||
// console.log(
|
||||
// '权限表 permission.json 用于初始化菜单权限数据',
|
||||
// [asyncRoutes[0], asyncRoutes[1]].map((e1, n1) => {
|
||||
// return {
|
||||
// permissionType: e1.permissionType || 'api',
|
||||
// title: e1.meta.title,
|
||||
// icon: e1.meta.icon || null,
|
||||
// code: e1.name,
|
||||
// hiddenFlag: false,
|
||||
// sort: n1,
|
||||
// children: !e1.children
|
||||
// ? []
|
||||
// : e1.children.map((e2, n2) => {
|
||||
// if (!e2.children || e2.children.length == 0) {
|
||||
// console.log('只有二级:' + e1.meta.title + '-' + e2.meta.title);
|
||||
// }
|
||||
// return {
|
||||
// permissionType: e2.permissionType || 'api',
|
||||
// title: e2.meta.title,
|
||||
// icon: e2.meta.icon || null,
|
||||
// code: e2.name,
|
||||
// hiddenFlag: false,
|
||||
// sort: n2,
|
||||
// children: !e2.children
|
||||
// ? []
|
||||
// : e2.children.map((e3, n3) => {
|
||||
// if (!e3.children || e3.children.length == 0) {
|
||||
// console.log(
|
||||
// '只有三级:' + e1.meta.title + '-' + e2.meta.title + '-' + e3.meta.title,
|
||||
// );
|
||||
// }
|
||||
// return {
|
||||
// permissionType: e3.permissionType || 'api',
|
||||
// title: e3.meta.title,
|
||||
// icon: e3.meta.icon || null,
|
||||
// code: e3.name,
|
||||
// hiddenFlag: false,
|
||||
// sort: n3,
|
||||
// children: !e3.children
|
||||
// ? []
|
||||
// : e3.children.map((e4, n4) => {
|
||||
// // 有下划线的 默认为按钮,没有下划线的为页面,如果是tab页,则对应路由表permissionType=tab
|
||||
// const DEFAULT_TYPE = e4.name.includes('_') ? 'btn' : 'page';
|
||||
// return {
|
||||
// permissionType: e4.permissionType || DEFAULT_TYPE,
|
||||
// title: e4.meta.title,
|
||||
// icon: e4.meta.icon || null,
|
||||
// code: e4.name,
|
||||
// hiddenFlag: true,
|
||||
// sort: n4,
|
||||
// };
|
||||
// }),
|
||||
// };
|
||||
// }),
|
||||
// };
|
||||
// }),
|
||||
// };
|
||||
// }),
|
||||
// );
|
||||
const routes = [asyncRoutes[0], asyncRoutes[1]].map((e1, n1) => {
|
||||
return {
|
||||
permissionType: e1.permissionType || 'api',
|
||||
title: e1.meta.title,
|
||||
icon: e1.meta.icon || null,
|
||||
code: e1.name,
|
||||
hiddenFlag: false,
|
||||
sort: n1,
|
||||
children: !e1.children
|
||||
? []
|
||||
: e1.children.map((e2, n2) => {
|
||||
if (!e2.children || e2.children.length == 0) {
|
||||
console.log('只有二级:' + e1.meta.title + '-' + e2.meta.title);
|
||||
}
|
||||
return {
|
||||
permissionType: e2.permissionType || 'api',
|
||||
title: e2.meta.title,
|
||||
icon: e2.meta.icon || null,
|
||||
code: e2.name,
|
||||
hiddenFlag: false,
|
||||
sort: n2,
|
||||
children: !e2.children
|
||||
? []
|
||||
: e2.children.map((e3, n3) => {
|
||||
if (!e3.children || e3.children.length == 0) {
|
||||
console.log(
|
||||
'只有三级:' + e1.meta.title + '-' + e2.meta.title + '-' + e3.meta.title,
|
||||
);
|
||||
}
|
||||
return {
|
||||
permissionType: e3.permissionType || 'api',
|
||||
title: e3.meta.title,
|
||||
icon: e3.meta.icon || null,
|
||||
code: e3.name,
|
||||
hiddenFlag: false,
|
||||
sort: n3,
|
||||
children: !e3.children
|
||||
? []
|
||||
: e3.children.map((e4, n4) => {
|
||||
// 有下划线的 默认为按钮,没有下划线的为页面,如果是tab页,则对应路由表permissionType=tab
|
||||
const DEFAULT_TYPE = e4.name.includes('_') ? 'btn' : 'page';
|
||||
return {
|
||||
permissionType: e4.permissionType || DEFAULT_TYPE,
|
||||
title: e4.meta.title,
|
||||
icon: e4.meta.icon || null,
|
||||
code: e4.name,
|
||||
hiddenFlag: true,
|
||||
sort: n4,
|
||||
};
|
||||
}),
|
||||
};
|
||||
}),
|
||||
};
|
||||
}),
|
||||
};
|
||||
});
|
||||
|
||||
const fs = require('fs');
|
||||
const content = JSON.stringify(routes, null, '\t');
|
||||
// 写入文件
|
||||
fs.writeFile('111.json', content, function(err) {
|
||||
if (err) {
|
||||
return console.log(err);
|
||||
}
|
||||
console.log('路由文件已经生成');
|
||||
});
|
||||
|
||||
// export default routes;
|
BIN
front-end/gzh.png
Normal file
BIN
front-end/gzh.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
24
front-end/jest.config.js
Normal file
24
front-end/jest.config.js
Normal file
|
@ -0,0 +1,24 @@
|
|||
module.exports = {
|
||||
moduleFileExtensions: ['js', 'jsx', 'json', 'vue'],
|
||||
transform: {
|
||||
'^.+\\.vue$': 'vue-jest',
|
||||
'.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$':
|
||||
'jest-transform-stub',
|
||||
'^.+\\.jsx?$': 'babel-jest'
|
||||
},
|
||||
moduleNameMapper: {
|
||||
'^@/(.*)$': '<rootDir>/src/$1'
|
||||
},
|
||||
snapshotSerializers: ['jest-serializer-vue'],
|
||||
testMatch: [
|
||||
'**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'
|
||||
],
|
||||
collectCoverageFrom: ['src/utils/**/*.{js,vue}', '!src/utils/auth.js', '!src/utils/request.js', 'src/components/**/*.{js,vue}'],
|
||||
coverageDirectory: '<rootDir>/tests/unit/coverage',
|
||||
// 'collectCoverage': true,
|
||||
'coverageReporters': [
|
||||
'lcov',
|
||||
'text-summary'
|
||||
],
|
||||
testURL: 'http://localhost/'
|
||||
}
|
9
front-end/jsconfig.json
Normal file
9
front-end/jsconfig.json
Normal file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"baseUrl": "./",
|
||||
"paths": {
|
||||
"@/*": ["src/*"]
|
||||
}
|
||||
},
|
||||
"exclude": ["node_modules", "dist"]
|
||||
}
|
153
front-end/package.json
Normal file
153
front-end/package.json
Normal file
|
@ -0,0 +1,153 @@
|
|||
{
|
||||
"name": "bj-admin",
|
||||
"version": "4.4.0",
|
||||
"description": "飞骥管理系统",
|
||||
"author": "飞骥管理系统",
|
||||
"scripts": {
|
||||
"dev": "vue-cli-service serve --host 0.0.0.0",
|
||||
"test": "vue-cli-service serve --host 0.0.0.0 --mode test",
|
||||
"qa": "vue-cli-service serve --host 0.0.0.0 --mode qa",
|
||||
"uat": "vue-cli-service serve --host 0.0.0.0 --mode uat",
|
||||
"lint": "eslint --ext .js,.vue src",
|
||||
"build:prod": "vue-cli-service build",
|
||||
"build:stage": "vue-cli-service build --mode staging",
|
||||
"preview": "node build/index.js --preview",
|
||||
"new": "plop",
|
||||
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
|
||||
"test:unit": "jest --clearCache && vue-cli-service test:unit",
|
||||
"test:ci": "npm run lint && npm run test:unit"
|
||||
},
|
||||
"dependencies": {
|
||||
"@antv/g6": "^3.1.1",
|
||||
"@antv/x6": "^1.28.1",
|
||||
"@antv/x6-vue-shape": "^1.2.10",
|
||||
"@bpmn-io/add-exporter": "^0.2.0",
|
||||
"@bpmn-io/align-to-origin": "^0.7.0",
|
||||
"@bpmn-io/properties-panel": "^0.10.0",
|
||||
"@riophae/vue-treeselect": "^0.4.0",
|
||||
"@vue/composition-api": "^1.4.1",
|
||||
"axios": "^0.21.1",
|
||||
"babel-loader": "^7.1.5",
|
||||
"bin-code-editor": "^0.9.0",
|
||||
"bpmn-js": "^8.7.3",
|
||||
"bpmn-js-properties-panel": "^0.45.0",
|
||||
"bpmn-js-signavio-compat": "^1.2.3",
|
||||
"bpmn-moddle": "^7.1.2",
|
||||
"browserslist": "^4.20.2",
|
||||
"camunda-bpmn-moddle": "^6.1.0",
|
||||
"clipboard": "2.0.4",
|
||||
"codemirror": "^5.62.3",
|
||||
"core-js": "3.6.5",
|
||||
"diagram-js-minimap": "^2.0.4",
|
||||
"diagram-js-origin": "^1.3.2",
|
||||
"driver.js": "0.9.5",
|
||||
"dropzone": "5.5.1",
|
||||
"echarts": "4.2.1",
|
||||
"element-china-area-data": "^5.0.2",
|
||||
"element-ui": "2.15.6",
|
||||
"file-saver": "2.0.1",
|
||||
"flowchart-vue": "^0.19.2",
|
||||
"fuse.js": "3.4.4",
|
||||
"highlight.js": "^11.0.1",
|
||||
"html2pdf.js": "^0.10.1",
|
||||
"install": "^0.13.0",
|
||||
"js-cookie": "2.2.0",
|
||||
"jsonlint": "1.6.3",
|
||||
"jsplumb": "^2.15.6",
|
||||
"jszip": "^3.7.1",
|
||||
"lodash": "^4.17.21",
|
||||
"node-sass": "^4.14.1",
|
||||
"normalize.css": "7.0.0",
|
||||
"nprogress": "0.2.0",
|
||||
"path-to-regexp": "2.4.0",
|
||||
"screenfull": "4.2.0",
|
||||
"script-loader": "0.7.2",
|
||||
"sortablejs": "1.8.4",
|
||||
"sql-formatter": "^4.0.2",
|
||||
"vant": "^2.12.18",
|
||||
"vue": "2.6.12",
|
||||
"vue-axios": "^3.2.4",
|
||||
"vue-clipboard2": "^0.3.1",
|
||||
"vue-count-to": "1.0.13",
|
||||
"vue-drag-resize": "^1.5.4",
|
||||
"vue-draggable-resizable": "^2.3.0",
|
||||
"vue-json-editor": "^1.4.3",
|
||||
"vue-pdf": "^4.3.0",
|
||||
"vue-router": "3.0.2",
|
||||
"vue-scroll": "^2.1.13",
|
||||
"vue-scrollto": "^2.20.0",
|
||||
"vue-splitpane": "1.0.4",
|
||||
"vue-super-flow": "^1.3.6",
|
||||
"vuedraggable": "^2.24.3",
|
||||
"vuescroll": "^4.17.3",
|
||||
"vuex": "3.1.0",
|
||||
"vxe-table": "^3.5.6",
|
||||
"xe-utils": "^3.5.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.17.2",
|
||||
"@vue/cli-plugin-babel": "4.4.4",
|
||||
"@vue/cli-plugin-eslint": "4.4.4",
|
||||
"@vue/cli-plugin-unit-jest": "4.4.4",
|
||||
"@vue/cli-service": "4.4.4",
|
||||
"@vue/test-utils": "1.0.0-beta.29",
|
||||
"autoprefixer": "9.5.1",
|
||||
"babel-eslint": "10.1.0",
|
||||
"babel-jest": "23.6.0",
|
||||
"babel-plugin-dynamic-import-node": "2.3.3",
|
||||
"babel-plugin-import": "^1.13.3",
|
||||
"chalk": "2.4.2",
|
||||
"chokidar": "2.1.5",
|
||||
"connect": "3.6.6",
|
||||
"eslint": "6.7.2",
|
||||
"eslint-plugin-vue": "6.2.2",
|
||||
"html-webpack-plugin": "3.2.0",
|
||||
"husky": "1.3.1",
|
||||
"lint-staged": "8.1.5",
|
||||
"mockjs": "1.0.1-beta3",
|
||||
"plop": "^2.7.4",
|
||||
"runjs": "4.3.2",
|
||||
"sass-loader": "8.0.2",
|
||||
"script-ext-html-webpack-plugin": "2.1.3",
|
||||
"serve-static": "1.13.2",
|
||||
"svg-sprite-loader": "4.1.3",
|
||||
"svgo": "1.2.0",
|
||||
"vue-template-compiler": "2.6.12"
|
||||
},
|
||||
"browserslist": [
|
||||
"> 1%",
|
||||
"last 2 versions"
|
||||
],
|
||||
"bugs": {
|
||||
"url": "https://github.com/PanJiaChen/vue-element-admin/issues"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.9",
|
||||
"npm": ">= 3.0.0"
|
||||
},
|
||||
"keywords": [
|
||||
"vue",
|
||||
"admin",
|
||||
"dashboard",
|
||||
"element-ui",
|
||||
"boilerplate",
|
||||
"admin-template",
|
||||
"management-system"
|
||||
],
|
||||
"license": "MIT",
|
||||
"lint-staged": {
|
||||
"src/**/*.{js,vue}": [
|
||||
"eslint --fix",
|
||||
"git add"
|
||||
]
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"pre-commit": "lint-staged"
|
||||
}
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/PanJiaChen/vue-element-admin.git"
|
||||
}
|
||||
}
|
9
front-end/plopfile.js
Normal file
9
front-end/plopfile.js
Normal file
|
@ -0,0 +1,9 @@
|
|||
const viewGenerator = require('./plop-templates/view/prompt')
|
||||
const componentGenerator = require('./plop-templates/component/prompt')
|
||||
const storeGenerator = require('./plop-templates/store/prompt.js')
|
||||
|
||||
module.exports = function(plop) {
|
||||
plop.setGenerator('view', viewGenerator)
|
||||
plop.setGenerator('component', componentGenerator)
|
||||
plop.setGenerator('store', storeGenerator)
|
||||
}
|
5
front-end/postcss.config.js
Normal file
5
front-end/postcss.config.js
Normal file
|
@ -0,0 +1,5 @@
|
|||
module.exports = {
|
||||
plugins: {
|
||||
autoprefixer: {}
|
||||
}
|
||||
}
|
BIN
front-end/public/favicon.ico
Normal file
BIN
front-end/public/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.2 KiB |
15
front-end/public/index.html
Normal file
15
front-end/public/index.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
<!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>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
</html>
|
17
front-end/public/loading.html
Normal file
17
front-end/public/loading.html
Normal file
|
@ -0,0 +1,17 @@
|
|||
<!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>加载中……</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>加载中……</h1>
|
||||
</body>
|
||||
</html>
|
52
front-end/src/App.vue
Normal file
52
front-end/src/App.vue
Normal file
|
@ -0,0 +1,52 @@
|
|||
<template>
|
||||
<div id="app">
|
||||
<router-view />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { Loading } from 'element-ui';
|
||||
export default {
|
||||
name: 'App',
|
||||
data() {
|
||||
return {
|
||||
loadingInstance: null,
|
||||
loadingTimer: null,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
loadingCount() {
|
||||
return this.$store.getters.loadingCount;
|
||||
},
|
||||
loadingDelayed() {
|
||||
return this.$store.getters.loadingDelayed;
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
loadingCount(n) {
|
||||
if (n > 0) {
|
||||
// 取消延时关闭的定时任务
|
||||
if (this.loadingTimer) {
|
||||
clearTimeout(this.loadingTimer);
|
||||
this.loadingTimer = null;
|
||||
}
|
||||
this.loadingInstance = Loading.service({ fullscreen: true });
|
||||
} else {
|
||||
// 以服务的方式调用的 Loading 需要异步关闭
|
||||
this.$nextTick(() => {
|
||||
// 延时关闭
|
||||
this.loadingTimer = setTimeout(() => {
|
||||
this.loadingInstance.close();
|
||||
}, this.loadingDelayed);
|
||||
});
|
||||
}
|
||||
},
|
||||
$route() {
|
||||
console.log('%c当前路由:' + this.$route.name + '', 'color:red');
|
||||
},
|
||||
},
|
||||
created() {
|
||||
// console.log('%c \nbiu~~ \nbiu~~ biu~~ \nbiu~~ biu~~ biu~~ \n\n', 'color:#f00');
|
||||
// console.log(process.env.NODE_ENV);
|
||||
},
|
||||
};
|
||||
</script>
|
15
front-end/src/api/afterApi/index.js
Normal file
15
front-end/src/api/afterApi/index.js
Normal file
|
@ -0,0 +1,15 @@
|
|||
/*
|
||||
* @Author: 订单模块
|
||||
* @Date: 2021-10-19 10:27:31
|
||||
* @LastEditTime: 2021-11-03 20:08:48
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\orderApi\index.js
|
||||
*/
|
||||
import internalRefundApi from './internalRefundApi';
|
||||
import thirdRefundApi from './thirdRefundApi';
|
||||
|
||||
export default {
|
||||
...internalRefundApi,
|
||||
...thirdRefundApi,
|
||||
};
|
138
front-end/src/api/afterApi/internalRefundApi.js
Normal file
138
front-end/src/api/afterApi/internalRefundApi.js
Normal file
|
@ -0,0 +1,138 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-11-03 17:08:17
|
||||
* @LastEditTime: 2022-02-24 13:28:45
|
||||
* @LastEditors: LAPTOP-JM4BAR46
|
||||
* @Description: 内部售后订单
|
||||
* @FilePath: \newBj-admin\src\api\orderApi\audit.js
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
|
||||
const config = {
|
||||
prefix: '/sord/v1',
|
||||
items: [
|
||||
// 创建退货退款单
|
||||
{
|
||||
key: 'addRefundGoodsOrder',
|
||||
url: '/after-sale-headers/create-refund-goods',
|
||||
method: 'POST',
|
||||
loadingMore: 999,
|
||||
},
|
||||
// 创建仅退款单
|
||||
{
|
||||
key: 'addRefundOnlyOrder',
|
||||
url: '/after-sale-headers/create-refund-only',
|
||||
method: 'POST',
|
||||
loadingMore: 999,
|
||||
},
|
||||
// 退货退款单审核
|
||||
{ key: 'auditRefundOrder', url: '/after-sale-headers/audit-refund', method: 'PUT' },
|
||||
// 退货退款单修改/打标
|
||||
{ key: 'updateRefundOrder', url: '/after-sale-headers/refund-goods-edit', method: 'PUT' },
|
||||
// 退款单详情
|
||||
{
|
||||
key: 'detailRefundOrder',
|
||||
url: '/after-sale-headers/refund-goods-detail/{orderId}',
|
||||
method: 'GET',
|
||||
},
|
||||
// 内部售后单详情订单基本信息通过code和Id
|
||||
{
|
||||
key: 'detailRefundOrderByIdCode',
|
||||
url: '/after-sale-headers/order-base-detail-by-id-code',
|
||||
method: 'POST',
|
||||
},
|
||||
// 退货退款单列表
|
||||
{ key: 'pageRefundGoodsOrder', url: '/after-sale-headers/refund-goods-page', method: 'POST' },
|
||||
// 仅退款单列表
|
||||
{ key: 'pageRefundOnlyOrder', url: '/after-sale-headers/refund-only-page', method: 'POST' },
|
||||
|
||||
// 详情 新增加退货退款商品
|
||||
{
|
||||
key: 'addSkuToRefundGoodsOrder',
|
||||
url: '/after-sale-headers/add-refund-goods',
|
||||
method: 'POST',
|
||||
},
|
||||
// 详情 新增加仅退款商品
|
||||
{ key: 'addSkuToRefundOnlyOrder', url: '/after-sale-headers/add-refund-only', method: 'POST' },
|
||||
|
||||
// 根据innerNo查询可退款/退货商品
|
||||
|
||||
{
|
||||
key: 'getRefundPageByInnerNo',
|
||||
url: '/after-sale-items/refund-page-by-innerNo',
|
||||
method: 'POST',
|
||||
},
|
||||
|
||||
// 查询可退货商品行 itemId
|
||||
{
|
||||
key: 'getRefundGoodsItemListByItemId',
|
||||
url: '/after-sale-item-lines/refund-goods-item-list/',
|
||||
method: 'GET',
|
||||
loadingHide: true,
|
||||
},
|
||||
// 查询可退款商品行 itemId
|
||||
{
|
||||
key: 'getRefundOnlyItemListByItemId',
|
||||
url: '/after-sale-item-lines/refund-only-item-list/',
|
||||
method: 'GET',
|
||||
loadingHide: true,
|
||||
},
|
||||
// 详情页 查询商品行 itemId
|
||||
{
|
||||
key: 'getRefundDetailItemListByItemId',
|
||||
url: '/after-sale-item-lines/item-line-details',
|
||||
method: 'POST',
|
||||
loadingHide: true,
|
||||
},
|
||||
// 详情里的退货物流LIST
|
||||
{
|
||||
key: 'getAfterSaleLogistics',
|
||||
url: '/after-sale-headers/refund-logistics/{orderId}',
|
||||
method: 'GET',
|
||||
},
|
||||
|
||||
// 详情页 删除 商品行 itemId
|
||||
{
|
||||
key: 'deleteRefundDetailItemListByItemId',
|
||||
url: '/after-sale-headers/refund-delete-item',
|
||||
method: 'DELETE',
|
||||
},
|
||||
// 退货退款单审核
|
||||
{
|
||||
key: 'auditRefundOrder',
|
||||
url: '/after-sale-headers/audit-refund',
|
||||
method: 'PUT',
|
||||
},
|
||||
// 批量 退货退款单审核
|
||||
{
|
||||
key: 'batchAuditRefundOrder',
|
||||
url: '/after-sale-headers/batch-audit-refund',
|
||||
method: 'PUT',
|
||||
loadingMore: 999,
|
||||
},
|
||||
|
||||
// 退货退款单审核列表
|
||||
{
|
||||
key: 'getAuditRefundOrderPage',
|
||||
url: '/after-sale-headers/refund-audit-page',
|
||||
method: 'POST',
|
||||
},
|
||||
// 退货退款单 已全部入库
|
||||
{
|
||||
key: 'confirmRefundOrderWare',
|
||||
url: '/after-sale-headers/confirm-ware/{orderId}',
|
||||
method: 'PATCH',
|
||||
},
|
||||
// 退货退款单 修改退货仓库
|
||||
|
||||
{
|
||||
key: 'updateRefundOrderWarehouse',
|
||||
url: '/after-sale-headers/update-warehouse',
|
||||
method: 'PUT',
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
49
front-end/src/api/afterApi/thirdRefundApi.js
Normal file
49
front-end/src/api/afterApi/thirdRefundApi.js
Normal file
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-11-03 17:08:17
|
||||
* @LastEditTime: 2022-02-24 13:28:45
|
||||
* @LastEditors: LAPTOP-JM4BAR46
|
||||
* @Description: 三方售后订单
|
||||
* @FilePath: \newBj-admin\src\api\orderApi\audit.js
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
|
||||
const config = {
|
||||
prefix: '/sord/v1',
|
||||
items: [
|
||||
// 创建第三方售后单头
|
||||
{
|
||||
key: 'addThirdRefundOrder',
|
||||
url: '/third-party-after-sale-headers/create-thirdParty-refund',
|
||||
method: 'POST',
|
||||
loadingMore: 0,
|
||||
},
|
||||
|
||||
// 第三方售后单头列表
|
||||
{
|
||||
key: 'getThirdRefundOrder',
|
||||
url: '/third-party-after-sale-headers/order-page',
|
||||
method: 'POST',
|
||||
loadingMore: 0,
|
||||
},
|
||||
// 第三方售后单明细-退货/退款
|
||||
{
|
||||
key: 'detailThirdRefundOrder',
|
||||
url: '/third-party-after-sale-headers/{id}',
|
||||
method: 'GET',
|
||||
loadingMore: 0,
|
||||
},
|
||||
|
||||
// 第三方售后单明细-退货/退款
|
||||
{
|
||||
key: 'detailThirdRefundOrder',
|
||||
url: '/third-party-after-sale-headers/order-base-detail-by-id-code',
|
||||
method: 'POST',
|
||||
loadingMore: 0,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
73
front-end/src/api/authApi/index.js
Normal file
73
front-end/src/api/authApi/index.js
Normal file
|
@ -0,0 +1,73 @@
|
|||
/**
|
||||
* 示例
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/iam',
|
||||
items: [
|
||||
/** *********** 字段权限 ********************* */
|
||||
/**
|
||||
* 字段权限 - 分页查询接口列表
|
||||
* @organizationId : 0
|
||||
*/
|
||||
{
|
||||
key: 'xxx',
|
||||
url: '/v1/{organizationId}/apis',
|
||||
method: 'GET',
|
||||
},
|
||||
/**
|
||||
* 字段权限 - 接口字段维护列表
|
||||
* @organizationId : 0
|
||||
*/
|
||||
{
|
||||
key: 'xxx',
|
||||
url: '/v1/{organizationId}/apis/{permissionId}/fields',
|
||||
method: 'GET',
|
||||
},
|
||||
|
||||
/**
|
||||
* 权限维护 - 权限数据(角色),新建 or 更新
|
||||
* @organizationId : 0
|
||||
*/
|
||||
{
|
||||
key: 'xxx',
|
||||
url: '/v1/{organizationId}/data-auth-manager/role/data/assign-role',
|
||||
method: 'POST',
|
||||
},
|
||||
|
||||
/** *********** 一个角色对应的 数据权限 ********************* */
|
||||
|
||||
/**
|
||||
* 角色数据权限定义 - 数据权限定义列表
|
||||
* @organizationId : 0
|
||||
*/
|
||||
{
|
||||
key: 'getAuthorizationsByRoleId',
|
||||
url: '/v1/{organizationId}/roles/{roleId}/role-auths/{organizationId}',
|
||||
method: 'GET',
|
||||
},
|
||||
/**
|
||||
* 角色数据权限定义 - 批量新增或保存角色数据权限定义明细
|
||||
* @organizationId : 0
|
||||
*/
|
||||
{
|
||||
key: 'addAuthorizationsByRoleId',
|
||||
url: '/v1/{organizationId}/roles/{roleId}/role-auths',
|
||||
method: 'POST',
|
||||
},
|
||||
/**
|
||||
* 角色数据权限定义 - 删除角色数据权限定义
|
||||
* @organizationId : 0
|
||||
*/
|
||||
{
|
||||
key: 'delAuthorizationsByRoleId',
|
||||
url: '/v1/{organizationId}/roles/{roleId}/role-auths',
|
||||
method: 'DELETE',
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
41
front-end/src/api/baseDataApi/afterSaleApi.js
Normal file
41
front-end/src/api/baseDataApi/afterSaleApi.js
Normal file
|
@ -0,0 +1,41 @@
|
|||
/**
|
||||
*
|
||||
* after-sales-reason-controller
|
||||
*
|
||||
*
|
||||
POST /v1/after-sales-reasons/create
|
||||
创建售后原因
|
||||
|
||||
DELETE /v1/after-sales-reasons/delete
|
||||
删除售后原因
|
||||
|
||||
GET /v1/after-sales-reasons/detail/{id}
|
||||
售后原因明细
|
||||
|
||||
GET /v1/after-sales-reasons/list
|
||||
售后原因列表
|
||||
|
||||
GET /v1/after-sales-reasons/page
|
||||
售后原因分页
|
||||
|
||||
PUT /v1/after-sales-reasons/update
|
||||
修改售后原因
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sord/v1/after-sales-reasons',
|
||||
items: [
|
||||
{ key: 'getAfterSalesReasonsList', url: '/list', method: 'GET' },
|
||||
{ key: 'getAfterSalesReasons', url: '/page', method: 'GET' },
|
||||
{ key: 'addAfterSalesReasons', url: '/create', method: 'POST' },
|
||||
{ key: 'deleteAfterSalesReasons', url: '/delete', method: 'DELETE' },
|
||||
{ key: 'detailAfterSalesReasons', url: '/detail/{id}', method: 'GET' },
|
||||
{ key: 'updateAfterSalesReasons', url: '/update', method: 'PUT' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
41
front-end/src/api/baseDataApi/codeRuleApi.js
Normal file
41
front-end/src/api/baseDataApi/codeRuleApi.js
Normal file
|
@ -0,0 +1,41 @@
|
|||
/**
|
||||
*
|
||||
*Code Rule Manager : 编码规则管理
|
||||
|
||||
DELETE /v1/{organizationId}/code-rule-dist
|
||||
租户级删除编码规则分配
|
||||
|
||||
POST /v1/{organizationId}/code-rule-dist
|
||||
租户级新增和更新编码规则分配
|
||||
|
||||
GET /v1/{organizationId}/code-rule/one
|
||||
查询获取编码规则、编码规则分配、编码规则明细
|
||||
|
||||
GET /v1/{organizationId}/code-rule/rule-code
|
||||
查询获取编码规则、编码规则分配、编码规则明细
|
||||
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/spfm/v1',
|
||||
items: [
|
||||
{ key: 'getCodeRule', url: '/{organizationId}/code-rule', method: 'GET' },
|
||||
{ key: 'addCodeRule', url: '/{organizationId}/code-rule', method: 'POST' },
|
||||
{ key: 'deleteCodeRule', url: '/{organizationId}/code-rule', method: 'DELETE' },
|
||||
{ key: 'detailCodeRule', url: '/{organizationId}/code-rule/{ruleId}', method: 'GET' },
|
||||
{
|
||||
key: 'detailCodeRuleDistId',
|
||||
url: '/{organizationId}/code-rule-detail/{ruleDistId}',
|
||||
method: 'GET',
|
||||
},
|
||||
// 租户级新增和更新编码规则明细
|
||||
{ key: 'addCodeRuleDetail', url: '/{organizationId}/code-rule-detail', method: 'POST' },
|
||||
{ key: 'deleteCodeRuleDetail', url: '/{organizationId}/code-rule-detail', method: 'DELETE' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
76
front-end/src/api/baseDataApi/countryApi.js
Normal file
76
front-end/src/api/baseDataApi/countryApi.js
Normal file
|
@ -0,0 +1,76 @@
|
|||
/**
|
||||
*Country : 国家信息管理
|
||||
|
||||
PATCH /v1/{organizationId}/countries
|
||||
批量禁用国家定义
|
||||
|
||||
GET /v1/{organizationId}/countries/all
|
||||
获取所有国家
|
||||
|
||||
POST /v1/{organizationId}/countries/regions
|
||||
listCountryRegion
|
||||
|
||||
POST /v1/{organizationId}/countries/regions/address
|
||||
查询国家、地区
|
||||
|
||||
GET /v1/{organizationId}/country/region
|
||||
queryCountryRegion
|
||||
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/spfm/v1',
|
||||
items: [
|
||||
{ key: 'getCountry', url: '/{organizationId}/countries', method: 'GET' },
|
||||
{ key: 'listCountry', url: '/{organizationId}/countries/all', method: 'GET' },
|
||||
{ key: 'addCountry', url: '/{organizationId}/country', method: 'POST' },
|
||||
{ key: 'updateCountry', url: '/{organizationId}/countries/{countryId}', method: 'PUT' },
|
||||
// { key: 'deleteCountry', url: '/{organizationId}/countries', method: 'DELETE' },
|
||||
{ key: 'detailCountry', url: '/v1/{organizationId}/countries/{countryId}', method: 'GET' },
|
||||
|
||||
/**
|
||||
* Country Region : 地区信息管理Show/HideList OperationsExpand Operations
|
||||
GET /v1/{organizationId}/countries/regions
|
||||
查询国家/地区下的地区列表
|
||||
|
||||
GET /v1/{organizationId}/countries/regions/{regionId}
|
||||
查询指定地区
|
||||
|
||||
PUT /v1/{organizationId}/countries/regions/{regionId}
|
||||
禁用/启用地区定义,影响下级
|
||||
|
||||
POST /v1/{organizationId}/countries/{countryId}/region
|
||||
新增地区定义
|
||||
|
||||
GET /v1/{organizationId}/countries/{countryId}/regions
|
||||
查询国家下地区定义,使用树状结构返回
|
||||
|
||||
POST /v1/{organizationId}/countries/{countryId}/regions
|
||||
批量新增地区定义
|
||||
|
||||
GET /v1/{organizationId}/countries/{countryId}/regions/lazy-tree
|
||||
查询国家下地区定义,使用树状懒加载结构返回
|
||||
|
||||
GET /v1/{organizationId}/countries/{countryId}/regions/list
|
||||
分页查询国家下地区定义
|
||||
|
||||
PUT /v1/{organizationId}/countries/{countryId}/regions/{regionId}
|
||||
更新地区定义
|
||||
*/
|
||||
{ key: 'getCountryRegions', url: '/{organizationId}/countries', method: 'GET' },
|
||||
{ key: 'addCountryRegions', url: '/{organizationId}/country', method: 'POST' },
|
||||
{ key: 'updateCountryRegions', url: '/{organizationId}/countries/{countryId}', method: 'PUT' },
|
||||
// { key: 'deleteCountry', url: '/{organizationId}/countries', method: 'DELETE' },
|
||||
{
|
||||
key: 'detailCountryRegions',
|
||||
url: '/v1/{organizationId}/countries/{countryId}',
|
||||
method: 'GET',
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
16
front-end/src/api/baseDataApi/index.js
Normal file
16
front-end/src/api/baseDataApi/index.js
Normal file
|
@ -0,0 +1,16 @@
|
|||
/*
|
||||
*/
|
||||
/**
|
||||
* 模块接口
|
||||
*/
|
||||
|
||||
import codeRuleApi from './codeRuleApi';
|
||||
import countryApi from './countryApi';
|
||||
import afterSaleApi from './afterSaleApi';
|
||||
import lovApi from './lovApi';
|
||||
export default {
|
||||
...codeRuleApi,
|
||||
...countryApi,
|
||||
...afterSaleApi,
|
||||
...lovApi,
|
||||
};
|
45
front-end/src/api/baseDataApi/lovApi.js
Normal file
45
front-end/src/api/baseDataApi/lovApi.js
Normal file
|
@ -0,0 +1,45 @@
|
|||
/**
|
||||
* Dealer Manage : 经销商管理
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/spfm/v1',
|
||||
items: [
|
||||
/**
|
||||
* 根据lovCode查询单个值集头
|
||||
*/
|
||||
{
|
||||
key: 'getLovHeadersByLovCode',
|
||||
url: '/{organizationId}/lov-headers-code/{lovCode}',
|
||||
method: 'GET',
|
||||
},
|
||||
|
||||
/**
|
||||
* 根据值集头ID分页查询值集值
|
||||
*/
|
||||
{
|
||||
key: 'getLovValuesByLovId',
|
||||
url: '/{organizationId}/lov-headers/{lovId}/values',
|
||||
method: 'GET',
|
||||
},
|
||||
/**
|
||||
* 批量删除值集值
|
||||
*/
|
||||
{ key: 'deleteLovValues', url: '/{organizationId}/lov-values', method: 'DELETE' },
|
||||
|
||||
/**
|
||||
* 插入值集值
|
||||
*/
|
||||
{ key: 'addLovValues', url: '/{organizationId}/lov-values', method: 'POST' },
|
||||
|
||||
/**
|
||||
* 更新值集值
|
||||
*/
|
||||
{ key: 'updateLovValues', url: '/{organizationId}/lov-values', method: 'PUT' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
13
front-end/src/api/channelApi/companyApi.js
Normal file
13
front-end/src/api/channelApi/companyApi.js
Normal file
|
@ -0,0 +1,13 @@
|
|||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/schl',
|
||||
items: [
|
||||
/** 获取默认集团 */
|
||||
{ key: 'getDefaultCompany', url: '/v1/groups/default', method: 'GET' },
|
||||
/** 修改默认集团信息 */
|
||||
{ key: 'updateCompanyInfo', url: '/v1/groups/update', method: 'POST' },
|
||||
],
|
||||
};
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
42
front-end/src/api/channelApi/dealerApi.js
Normal file
42
front-end/src/api/channelApi/dealerApi.js
Normal file
|
@ -0,0 +1,42 @@
|
|||
/**
|
||||
* Dealer Manage : 经销商管理
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/schl/v1/channel/dealer',
|
||||
items: [
|
||||
/**
|
||||
* 新增经销商
|
||||
*/
|
||||
{ key: 'addDealer', url: '/add', method: 'POST' },
|
||||
/**
|
||||
* 删除经销商信息
|
||||
*/
|
||||
{ key: 'deleteDealer', url: '/delete', method: 'POST', type: 'query' },
|
||||
/**
|
||||
* 根据Id获取经销商信息信息
|
||||
*/
|
||||
{ key: 'getDealerDetails', url: '/details', method: 'GET' },
|
||||
/**
|
||||
* 分页获取信息
|
||||
*/
|
||||
{ key: 'getDealerPage', url: '/list', method: 'GET' },
|
||||
/**
|
||||
* 修改经销商信息
|
||||
*/
|
||||
{ key: 'updateDealer', url: '/update', method: 'POST' },
|
||||
/**
|
||||
* 禁用 OR 启用
|
||||
*/
|
||||
{ key: 'operationDealer', url: '/operation', method: 'POST', type: 'query' },
|
||||
/**
|
||||
* 批量删除数据
|
||||
*/
|
||||
{ key: 'batchDeleteDealer', url: '/deletes', method: 'POST' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
21
front-end/src/api/channelApi/index.js
Normal file
21
front-end/src/api/channelApi/index.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
/**
|
||||
* 渠道模块接口
|
||||
*/
|
||||
|
||||
import shopOnlineApi from './shopOnlineApi';
|
||||
import shopPhysicalApi from './shopPhysicalApi';
|
||||
import dealerApi from './dealerApi';
|
||||
import warehouseApi from './warehouseApi';
|
||||
import salesOrganizationApi from './salesOrganizationApi';
|
||||
import shopManageApi from './shopManageApi';
|
||||
import companyApi from './companyApi';
|
||||
|
||||
export default {
|
||||
...shopOnlineApi,
|
||||
...shopPhysicalApi,
|
||||
...dealerApi,
|
||||
...warehouseApi,
|
||||
...salesOrganizationApi,
|
||||
...shopManageApi,
|
||||
...companyApi,
|
||||
};
|
54
front-end/src/api/channelApi/salesOrganizationApi.js
Normal file
54
front-end/src/api/channelApi/salesOrganizationApi.js
Normal file
|
@ -0,0 +1,54 @@
|
|||
/**
|
||||
* SalesOrganization Manage : 销售组织管理
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/schl/v1/channel/salesOrganization',
|
||||
items: [
|
||||
/**
|
||||
* 新增经销商
|
||||
*/
|
||||
{ key: 'addSalesOrganization', url: '/add', method: 'POST' },
|
||||
/**
|
||||
* 删除经销商信息
|
||||
*/
|
||||
{ key: 'deleteSalesOrganization', url: '/delete', method: 'POST' },
|
||||
/**
|
||||
* 根据Id获取经销商信息信息
|
||||
*/
|
||||
{
|
||||
key: 'getSalesOrganizationDetails',
|
||||
url: '/details',
|
||||
method: 'GET',
|
||||
},
|
||||
/**
|
||||
* 分页获取信息
|
||||
*/
|
||||
{ key: 'getSalesOrganizationPage', url: '/list', method: 'GET' },
|
||||
/**
|
||||
* 修改销售组织
|
||||
*/
|
||||
{ key: 'updateSalesOrganization', url: '/update', method: 'POST' },
|
||||
/**
|
||||
* 禁用 OR 启用
|
||||
*/
|
||||
{ key: 'operationSalesOrganization', url: '/operation', method: 'POST', type: 'query' },
|
||||
/**
|
||||
* 根据租户Id获取销售组织信息
|
||||
*/
|
||||
{ key: 'getSalesOrganizationByTenantId', url: '/getByTenantId', method: 'GET' },
|
||||
/**
|
||||
* 批量删除数据
|
||||
*/
|
||||
{ key: 'batchDeleteSalesOrganization', url: '/deletes', method: 'POST' },
|
||||
/**
|
||||
* 公司列表树
|
||||
*/
|
||||
{ key: 'getSalesOrganizationTree', url: '/listOfTree', method: 'GET' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
25
front-end/src/api/channelApi/shopManageApi.js
Normal file
25
front-end/src/api/channelApi/shopManageApi.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-08-06 13:46:48
|
||||
* @LastEditTime: 2021-10-19 13:46:07
|
||||
* @LastEditors: your name
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\channelApi\shopManageApi.js
|
||||
*/
|
||||
/**
|
||||
* Physical Shop Manage : 门店管理
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/schl/v1',
|
||||
items: [
|
||||
/**
|
||||
* 查询列表
|
||||
*/
|
||||
{ key: 'getAllShopPage', url: '/shop/page', method: 'POST' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
48
front-end/src/api/channelApi/shopOnlineApi.js
Normal file
48
front-end/src/api/channelApi/shopOnlineApi.js
Normal file
|
@ -0,0 +1,48 @@
|
|||
/**
|
||||
* Online Shop Manage : 网店管理
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/schl/v1/online/shop',
|
||||
items: [
|
||||
/**
|
||||
* 查询列表
|
||||
*/
|
||||
{ key: 'getOnlineShopPage', url: '/page', method: 'get' },
|
||||
/**
|
||||
* 网店设置
|
||||
*/
|
||||
{ key: 'setOnlineShop', url: '/setting', method: 'POST' },
|
||||
|
||||
/**
|
||||
* 查询网店设置
|
||||
*/
|
||||
{ key: 'getOnlineShopSetting', url: '/get/setting', method: 'GET' },
|
||||
|
||||
/**
|
||||
* 新增与修改
|
||||
*/
|
||||
{ key: 'saveOnlineShop', url: '/save', method: 'POST' },
|
||||
/**
|
||||
* 禁用 OR 启用
|
||||
*/
|
||||
{ key: 'operationOnlineShop', url: '/operation', method: 'POST', type: 'query' },
|
||||
/**
|
||||
* 查询详情
|
||||
*/
|
||||
{ key: 'getOnlineShopDetails', url: '/details', method: 'GET' },
|
||||
/**
|
||||
* 删除数据
|
||||
*/
|
||||
{ key: 'deleteOnlineShop', url: '/delete', method: 'POST', type: 'query' },
|
||||
/**
|
||||
* 批量删除数据
|
||||
*/
|
||||
{ key: 'batchDeleteOnlineShop', url: '/deletes', method: 'POST' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
41
front-end/src/api/channelApi/shopPhysicalApi.js
Normal file
41
front-end/src/api/channelApi/shopPhysicalApi.js
Normal file
|
@ -0,0 +1,41 @@
|
|||
/**
|
||||
* Physical Shop Manage : 门店管理
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/schl/v1/physical/shop',
|
||||
items: [
|
||||
/**
|
||||
* 查询列表
|
||||
*/
|
||||
{ key: 'getPhysicalShopPage', url: '/page', method: 'get' },
|
||||
/**
|
||||
* 网店设置
|
||||
*/
|
||||
{ key: 'setPhysicalShop', url: '/setting', method: 'POST' },
|
||||
/**
|
||||
* 新增与修改
|
||||
*/
|
||||
{ key: 'addPhysicalShop', url: '/save', method: 'POST' },
|
||||
/**
|
||||
* 禁用 OR 启用
|
||||
*/
|
||||
{ key: 'operationPhysicalShop', url: '/operation', method: 'POST', type: 'query' },
|
||||
/**
|
||||
* 查询详情
|
||||
*/
|
||||
{ key: 'getPhysicalShopDetails', url: '/details', method: 'GET' },
|
||||
/**
|
||||
* 删除数据
|
||||
*/
|
||||
{ key: 'deletePhysicalShop', url: '/delete', method: 'POST', type: 'query' },
|
||||
/**
|
||||
* 批量删除数据
|
||||
*/
|
||||
{ key: 'batchDeletePhysicalShop', url: '/deletes', method: 'POST' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
46
front-end/src/api/channelApi/warehouseApi.js
Normal file
46
front-end/src/api/channelApi/warehouseApi.js
Normal file
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-06-29 09:18:37
|
||||
* @LastEditTime: 2021-10-12 11:41:39
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\channelApi\warehouseApi.js
|
||||
*/
|
||||
/**
|
||||
* Warehouse Manage : 渠道仓库管理
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
// prefix: '/schl/v1/channel/warehouse',
|
||||
prefix: 'stock/v1/storage/area',
|
||||
items: [
|
||||
/**
|
||||
* 新增渠道仓库
|
||||
*/
|
||||
{ key: 'addWarehouse', url: '', method: 'POST' },
|
||||
/**
|
||||
* 根据Id获取渠道仓库信息
|
||||
*/
|
||||
{ key: 'getWarehouseDetails', url: '/{id}', method: 'GET' },
|
||||
/**
|
||||
* 分页获取渠道仓库信息
|
||||
*/
|
||||
{ key: 'getWarehousePage', url: '', method: 'GET' },
|
||||
/**
|
||||
* 修改渠道仓库
|
||||
*/
|
||||
{ key: 'updateWarehouse', url: '', method: 'PUT' },
|
||||
/**
|
||||
* 禁用 OR 启用
|
||||
*/
|
||||
{ key: 'operationWarehouse', url: '/operation', method: 'POST', type: 'query' },
|
||||
/**
|
||||
* 批量删除数据
|
||||
*/
|
||||
{ key: 'batchDeleteWarehouse', url: '/batchDelete', method: 'PATCH' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
64
front-end/src/api/commonApi/areaApi.js
Normal file
64
front-end/src/api/commonApi/areaApi.js
Normal file
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-06-29 09:18:37
|
||||
* @LastEditTime: 2021-09-10 17:52:10
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\commonApi\areaApi.js
|
||||
*/
|
||||
/**
|
||||
* CnareaAdministrativeDivision Manage : 中国行政区划分管理
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/spfm/v1',
|
||||
items: [
|
||||
/**
|
||||
* 获取省市
|
||||
*/
|
||||
{ key: 'getDistrictTree', url: '/cnareaAdministrativeDivision/getDistrictTree', method: 'GET' },
|
||||
/**
|
||||
* 获得省级行政区信息
|
||||
*/
|
||||
{ key: 'getProvince', url: '/cnareaAdministrativeDivision/getProvince', method: 'GET' },
|
||||
/**
|
||||
* 获得市级及以下行政区信息
|
||||
*/
|
||||
{ key: 'getCity', url: '/cnareaAdministrativeDivision/getCity', method: 'GET' },
|
||||
/**
|
||||
* 根据Id获取中国行政地区表信息
|
||||
*/
|
||||
{
|
||||
key: 'getAreaDetails',
|
||||
url: '/cnareaAdministrativeDivision/details',
|
||||
method: 'GET',
|
||||
},
|
||||
/**
|
||||
* 修改中国行政地区表
|
||||
*/
|
||||
{ key: 'updateArea', url: '/cnareaAdministrativeDivision/update', method: 'POST' },
|
||||
/**
|
||||
* 删除中国行政地区表
|
||||
*/
|
||||
{
|
||||
key: 'deleteArea',
|
||||
url: '/cnareaAdministrativeDivision/delete',
|
||||
method: 'POST',
|
||||
type: 'query',
|
||||
},
|
||||
/**
|
||||
* 新增中国行政地区表
|
||||
*/
|
||||
{ key: 'addArea', url: '/cnareaAdministrativeDivision/add', method: 'POST' },
|
||||
// 语言列表
|
||||
{ key: 'getLanguages', url: '/languages/list', method: 'GET' },
|
||||
/** 数据源 */
|
||||
{ key: 'getDatasource', url: '/{organizationId}/datasources', method: 'GET' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
15
front-end/src/api/commonApi/index.js
Normal file
15
front-end/src/api/commonApi/index.js
Normal file
|
@ -0,0 +1,15 @@
|
|||
/**
|
||||
* 渠道模块接口
|
||||
*/
|
||||
|
||||
import areaApi from './areaApi';
|
||||
import optionApi from './optionApi';
|
||||
import settingApi from './settingApi';
|
||||
import loginApi from './loginApi';
|
||||
|
||||
export default {
|
||||
...areaApi,
|
||||
...optionApi,
|
||||
...settingApi,
|
||||
...loginApi,
|
||||
};
|
20
front-end/src/api/commonApi/loginApi.js
Normal file
20
front-end/src/api/commonApi/loginApi.js
Normal file
|
@ -0,0 +1,20 @@
|
|||
/**
|
||||
* CnareaAdministrativeDivision Manage : 中国行政区划分管理
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/oauth',
|
||||
items: [
|
||||
/**
|
||||
*
|
||||
* @access_token // http://api.skyer.org/oauth/logout?access_token=bf4411f3-95db-45f4-87c1-c179ab39e7ed
|
||||
*/
|
||||
{ key: 'logout', url: '/logout', method: 'GET' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
100
front-end/src/api/commonApi/optionApi.js
Normal file
100
front-end/src/api/commonApi/optionApi.js
Normal file
|
@ -0,0 +1,100 @@
|
|||
/**
|
||||
* CnareaAdministrativeDivision Manage : 中国行政区划分管理
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '',
|
||||
items: [
|
||||
/**
|
||||
* 获取值集值
|
||||
* @lovCode
|
||||
* SCHL.CHANNEL_TYPE 渠道类型
|
||||
* SCHL.SHOP_TYPE 店铺类型
|
||||
* SCHL.INVOICE_TYPE 发票种类
|
||||
*/
|
||||
{ key: 'getLovsValue', url: '/spfm/v1/lovs/value', method: 'GET', loadingHide: true },
|
||||
/**
|
||||
* 商品分类管理-获取全部分类
|
||||
*/
|
||||
{
|
||||
key: 'getAllCategory',
|
||||
url: '/sgoo/v1/categorys/tree',
|
||||
method: 'POST',
|
||||
loadingHide: true,
|
||||
},
|
||||
/**
|
||||
* 商品分页
|
||||
*/
|
||||
{ key: 'getPageGoods', url: '/sgoo/v1/goods/manager/page', method: 'post' },
|
||||
/**
|
||||
* 品牌分页
|
||||
*/
|
||||
{ key: 'getPageBrand', url: '/sgoo/v1/goods/brand/page', method: 'post', loadingHide: true },
|
||||
/**
|
||||
* 仓库
|
||||
*/
|
||||
{
|
||||
key: 'getListWarehouses',
|
||||
url: '/stock/v1/warehouses/list-warehouse',
|
||||
method: 'POST',
|
||||
loadingHide: true,
|
||||
},
|
||||
{
|
||||
key: 'getListStorage',
|
||||
url: '/stock/v1/storage/area',
|
||||
method: 'GET',
|
||||
loadingHide: true,
|
||||
},
|
||||
/**
|
||||
* 素材分页获取
|
||||
*/
|
||||
{
|
||||
key: 'getPageMaterial',
|
||||
url: '/sgoo/v1/goods/material/list',
|
||||
method: 'GET',
|
||||
loadingHide: true,
|
||||
},
|
||||
/**
|
||||
* 查询全部属性
|
||||
*/
|
||||
{ key: 'getListAttribute', url: '/sgoo/v1/goods/attribute/list', method: 'POST' },
|
||||
|
||||
/**
|
||||
* 执行器分页
|
||||
*/
|
||||
{ key: 'getExecutorList', url: '/ssdr/v1/executors', method: 'GET' },
|
||||
|
||||
/**
|
||||
* 登录用户 - 查询可访问的租户列表
|
||||
*/
|
||||
{
|
||||
key: 'getTenants',
|
||||
url: '/iam/skyer/v1/users/self-tenants',
|
||||
method: 'GET',
|
||||
},
|
||||
/**
|
||||
* 并发可执行列表
|
||||
*/
|
||||
{ key: 'getExecutableList', url: '/ssdr/v1/executables', method: 'GET' },
|
||||
/**
|
||||
* 并发可执行列表
|
||||
*/
|
||||
{ key: 'getInstallServices', url: '/sgoo/v1/install-services', method: 'GET' },
|
||||
|
||||
/**
|
||||
* 标签列表 ?systemLabelFlag=true
|
||||
*/
|
||||
{ key: 'getTags', url: '/tags/v1/labels/labelList', method: 'GET', loadingHide: true },
|
||||
|
||||
/**
|
||||
* 售后原因列表 type 0 仅退款;1 退货退款
|
||||
*/
|
||||
{ key: 'getAfterSalesReasons', url: '/sord/v1/after-sales-reasons/list', method: 'GET' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
23
front-end/src/api/commonApi/settingApi.js
Normal file
23
front-end/src/api/commonApi/settingApi.js
Normal file
|
@ -0,0 +1,23 @@
|
|||
/**
|
||||
* CnareaAdministrativeDivision Manage : 中国行政区划分管理
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/iam',
|
||||
items: [
|
||||
/**
|
||||
* 保存列表动态标题
|
||||
*/
|
||||
{ key: 'saveTabulation', url: '/v1/tabulation/save', method: 'POST', loadingHide: true },
|
||||
/**
|
||||
* 获取用户动态标题
|
||||
*/
|
||||
{ key: 'getTabulation', url: '/v1/tabulation/list', method: 'GET', loadingHide: true },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
22
front-end/src/api/financeApi/checkingApi.js
Normal file
22
front-end/src/api/financeApi/checkingApi.js
Normal file
|
@ -0,0 +1,22 @@
|
|||
/**
|
||||
* Account Checking Manage : 对账管理
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sfin/v1',
|
||||
items: [
|
||||
// 对账列表
|
||||
{ key: 'getAccountCheckingList', url: '/account/checking/list', method: 'POST' },
|
||||
// 确认对账
|
||||
{ key: 'notarizeAccountChecking', url: '/account/checking/notarize', method: 'POST' },
|
||||
|
||||
// 已对账列表
|
||||
{ key: 'getAccountCheckingFinish', url: '/account/checking/finish', method: 'POST' },
|
||||
// 已对账详情
|
||||
{ key: 'detailAccountCheckingFinish', url: '/account/checking/detail/{id}', method: 'GET' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
7
front-end/src/api/financeApi/index.js
Normal file
7
front-end/src/api/financeApi/index.js
Normal file
|
@ -0,0 +1,7 @@
|
|||
import parseStrategyApi from './parseStrategyApi';
|
||||
import checkingApi from './checkingApi';
|
||||
|
||||
export default {
|
||||
...parseStrategyApi,
|
||||
...checkingApi,
|
||||
};
|
64
front-end/src/api/financeApi/parseStrategyApi.js
Normal file
64
front-end/src/api/financeApi/parseStrategyApi.js
Normal file
|
@ -0,0 +1,64 @@
|
|||
/**
|
||||
* Brand Manage : 渠道仓库管理
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sfin/v1',
|
||||
items: [
|
||||
// 平台账单(原始)-天猫
|
||||
{ key: 'getOriginalBillTmallsPage', url: '/original/bill/tmalls/page', method: 'POST' },
|
||||
// 获取查询条件栏数据-天猫
|
||||
{
|
||||
key: 'getOriginalBillTmallsQueryData',
|
||||
url: '/original/bill/tmalls/query/data',
|
||||
method: 'GET',
|
||||
},
|
||||
|
||||
// 自动导入到正式表,一次执行三个流程(同步)
|
||||
{
|
||||
key: 'importOriginalBillTmalls',
|
||||
url: '/{organizationId}/import/data/sync/auto-import?templateCode=SFIN.BILL_TM',
|
||||
method: 'POST',
|
||||
type: 'form',
|
||||
},
|
||||
// 平台账单(原始)-京东
|
||||
{ key: 'getOriginalBillJdsPage', url: '/original/bill/jds/page', method: 'POST' },
|
||||
// 获取查询条件栏数据-京东
|
||||
{ key: 'getOriginalBillJdsQueryData', url: '/original/bill/jds/query/data', method: 'GET' },
|
||||
// 自动导入到正式表,一次执行三个流程(同步)
|
||||
{
|
||||
key: 'importOriginalBillJds',
|
||||
url: '/{organizationId}/import/data/sync/auto-import?templateCode=SFIN.BILL_JD',
|
||||
method: 'POST',
|
||||
type: 'form',
|
||||
},
|
||||
|
||||
// 平台账单管理
|
||||
{ key: 'getBillsPage', url: '/bills/page', method: 'POST' },
|
||||
// 获取查询条件栏数据-平台账单管理
|
||||
{ key: 'getBillsQueryData', url: '/bills/query/data', method: 'GET' },
|
||||
|
||||
// 新增、修改解析规则
|
||||
{ key: 'saveParsingStrategys', url: '/parsing-strategys/save', method: 'PUT' },
|
||||
// 分页
|
||||
{ key: 'getParsingStrategysPage', url: '/parsing-strategys/page', method: 'POST' },
|
||||
// 详情
|
||||
{ key: 'getParsingStrategysDetail', url: '/parsing-strategys/detail/{id}', method: 'GET' },
|
||||
// 启用/禁用
|
||||
{
|
||||
key: 'updateParsingStrategysStatus',
|
||||
url: '/parsing-strategys/batch/enable',
|
||||
method: 'PATCH',
|
||||
},
|
||||
// 根据渠道类型编码,获取字段集
|
||||
{
|
||||
key: 'getBasicSettingFieldList',
|
||||
url: '/basic/setting/field/list',
|
||||
method: 'GET',
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
69
front-end/src/api/goodsApi/attributeApi.js
Normal file
69
front-end/src/api/goodsApi/attributeApi.js
Normal file
|
@ -0,0 +1,69 @@
|
|||
/**
|
||||
* Attribute Manage : 渠道仓库管理
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sgoo/v1/goods/attribute',
|
||||
items: [
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
{ key: 'addAttribute', url: '/attribute', method: 'POST' },
|
||||
// /**
|
||||
// * 删除
|
||||
// */
|
||||
// { key: 'deleteAttribute', url: '/delete', method: 'DELETE', type: 'query' },
|
||||
/**
|
||||
* 分页
|
||||
*/
|
||||
{ key: 'getPageAttribute', url: '/page', method: 'POST' },
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
{ key: 'updateAttribute', url: '/attribute', method: 'PUT' },
|
||||
/**
|
||||
* 根据Id获取
|
||||
*/
|
||||
{ key: 'getDetailAttribute', url: '/detail/', method: 'GET' },
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
{ key: 'batchDeleteAttribute', url: '/batch-delete-attribute', method: 'PATCH' },
|
||||
/**
|
||||
* 更新状态
|
||||
*/
|
||||
{ key: 'patchAttributeStatus', url: '/status', method: 'PATCH' },
|
||||
|
||||
/** ************************* */
|
||||
/**
|
||||
* 根据分类或者商品查询所有属性及对应属性值
|
||||
* @goodsId
|
||||
*/
|
||||
{
|
||||
key: 'getAttributeValueByGoodsId',
|
||||
url: '/all-attribute-value-by-main/',
|
||||
method: 'GET',
|
||||
},
|
||||
/**
|
||||
* 对属性添加对应属性值
|
||||
*/
|
||||
{ key: 'addAttributeValue', url: '/attribute-value', method: 'POST' },
|
||||
/**
|
||||
* 查询属性对应的属性值
|
||||
* @attributeId
|
||||
*/
|
||||
{ key: 'getAttributeValueByAttributeId', url: '/attribute-value/', method: 'GET' },
|
||||
/**
|
||||
* 对属性更新对应属性值
|
||||
*/
|
||||
{ key: 'updateAttributeValue', url: '/attribute-value', method: 'POST' },
|
||||
/**
|
||||
* 对属性更新对应属性值(单个)
|
||||
*/
|
||||
{ key: 'updateSingleAttributeValue', url: '/single-attribute-value', method: 'PUT' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
34
front-end/src/api/goodsApi/attributeRelationApi.js
Normal file
34
front-end/src/api/goodsApi/attributeRelationApi.js
Normal file
|
@ -0,0 +1,34 @@
|
|||
/**
|
||||
* Attribute Manage : 渠道仓库管理
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sgoo/v1/goods/attribute/relation',
|
||||
items: [
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
{ key: 'addAttributeRelation', url: '/attribute-relation', method: 'POST' },
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*/
|
||||
{ key: 'getPageAttributeRelation', url: '/page-attribute-relation', method: 'POST' },
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
{ key: 'updateAttributeRelation', url: '/attribute-relation', method: 'PUT' },
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
{ key: 'batchDeleteAttributeRelation', url: '/attribute-relation', method: 'PATCH' },
|
||||
/**
|
||||
* 通过mainId查询当前属性
|
||||
*/
|
||||
{ key: 'getListAttributeRelation', url: '/list-attribute-relation/', method: 'GET' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
33
front-end/src/api/goodsApi/auditApi.js
Normal file
33
front-end/src/api/goodsApi/auditApi.js
Normal file
|
@ -0,0 +1,33 @@
|
|||
/**
|
||||
* : 商品审核
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sgoo/v1',
|
||||
items: [
|
||||
/**
|
||||
* 获取商品审核
|
||||
*/
|
||||
{ key: 'getSkuAudit', url: '/sku-audit-settings/default', method: 'GET' },
|
||||
/**
|
||||
* 修改审核
|
||||
*/
|
||||
{ key: 'updateSkuAudit', url: '/sku-audit-settings/update', method: 'PUT' },
|
||||
/**
|
||||
* 获取sku审核列表
|
||||
*/
|
||||
{ key: 'getSkuAuditList', url: '/goods/sku/page', method: 'POST' },
|
||||
/**
|
||||
* 获取sku审核详情
|
||||
*/
|
||||
{ key: 'getSkuAuditDetail', url: '/sku/audit/detail', method: 'POST' },
|
||||
/**
|
||||
* sku审核
|
||||
*/
|
||||
{ key: 'skuAudit', url: '/sku/audit', method: 'POST', loadingMore: 100 },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
33
front-end/src/api/goodsApi/brandApi.js
Normal file
33
front-end/src/api/goodsApi/brandApi.js
Normal file
|
@ -0,0 +1,33 @@
|
|||
/**
|
||||
* Brand Manage : 渠道仓库管理
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sgoo/v1/goods/brand',
|
||||
items: [
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
{ key: 'addBrand', url: '/brand', method: 'POST' },
|
||||
/**
|
||||
* 分页
|
||||
*/
|
||||
{ key: 'getPageBrand', url: '/page', method: 'post' },
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
{ key: 'updateBrand', url: '/brand', method: 'PUT' },
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
{ key: 'operationBrand', url: '/status', method: 'PATCH' },
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
{ key: 'batchDeleteBrand', url: '/batch-delete-brand', method: 'PATCH' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
59
front-end/src/api/goodsApi/categoryApi.js
Normal file
59
front-end/src/api/goodsApi/categoryApi.js
Normal file
|
@ -0,0 +1,59 @@
|
|||
/**
|
||||
*
|
||||
* Category Manage : 商品分类管理
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sgoo/v1',
|
||||
items: [
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
{ key: 'addCategory', url: '/categorys/save', method: 'POST' },
|
||||
/**
|
||||
* 分页
|
||||
*/
|
||||
{ key: 'getPageCategory', url: '/categorys/page', method: 'POST' },
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
{ key: 'updateCategory', url: '/categorys/save', method: 'POST' },
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
{ key: 'operationCategory', url: '/categorys/update/status', method: 'POST' },
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
{ key: 'batchDeleteCategory', url: '/categorys/batch/delete', method: 'DELETE' },
|
||||
/** ************* */
|
||||
/**
|
||||
* 统计分类
|
||||
*/
|
||||
{ key: 'getTotalCategory', url: '/total-category', method: 'POST' },
|
||||
/**
|
||||
* 根据父级获取子级id
|
||||
*/
|
||||
{ key: 'getSonCategory', url: '/list-by-front', method: 'GET' },
|
||||
/**
|
||||
* 刷新分类redis
|
||||
*/
|
||||
{ key: 'refreshCategory', url: '/category-refresh', method: 'GET' },
|
||||
/**
|
||||
* 获取全部分类
|
||||
*/
|
||||
{ key: 'getAllCategory', url: '/categorys/tree', method: 'POST' },
|
||||
/**
|
||||
* 复制上级
|
||||
*/
|
||||
{
|
||||
key: 'getPrentAttribute',
|
||||
url: '/category/attributes/list/category/attribute',
|
||||
method: 'POST',
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
33
front-end/src/api/goodsApi/index.js
Normal file
33
front-end/src/api/goodsApi/index.js
Normal file
|
@ -0,0 +1,33 @@
|
|||
/* jshint esversion: 9 */ /**
|
||||
* 商品模块接口
|
||||
*/
|
||||
|
||||
import materialApi from './materialApi';
|
||||
import attributeApi from './attributeApi';
|
||||
import attributeRelationApi from './attributeRelationApi';
|
||||
import brandApi from './brandApi';
|
||||
import categoryApi from './categoryApi';
|
||||
import managerApi from './managerApi';
|
||||
import priceApi from './priceApi';
|
||||
import skuApi from './skuApi';
|
||||
import skuGroupApi from './skuGroupApi';
|
||||
import spuSonApi from './spuSonApi';
|
||||
import installServiceApi from './installServiceApi';
|
||||
import otherInfoApi from './otherInfoApi';
|
||||
import auditApi from './auditApi';
|
||||
|
||||
export default {
|
||||
...materialApi,
|
||||
...attributeApi,
|
||||
...attributeRelationApi,
|
||||
...brandApi,
|
||||
...categoryApi,
|
||||
...managerApi,
|
||||
...priceApi,
|
||||
...skuApi,
|
||||
...skuGroupApi,
|
||||
...spuSonApi,
|
||||
...installServiceApi,
|
||||
...otherInfoApi,
|
||||
...auditApi,
|
||||
};
|
23
front-end/src/api/goodsApi/installServiceApi.js
Normal file
23
front-end/src/api/goodsApi/installServiceApi.js
Normal file
|
@ -0,0 +1,23 @@
|
|||
/**
|
||||
* goods-install-service : 安装服务管理
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sgoo/v1/spu-install-services',
|
||||
items: [
|
||||
{ key: 'addSpuInstallServices', url: '', method: 'POST' },
|
||||
|
||||
{ key: 'deleteSpuInstallServices', url: '', method: 'DELETE' },
|
||||
|
||||
{ key: 'DetailSpuInstallServices', url: '/', method: 'GET' },
|
||||
|
||||
{ key: 'getSpuInstallServices', url: '', method: 'GET' },
|
||||
|
||||
{ key: 'updateSpuInstallServices', url: '', method: 'PUT' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
39
front-end/src/api/goodsApi/managerApi.js
Normal file
39
front-end/src/api/goodsApi/managerApi.js
Normal file
|
@ -0,0 +1,39 @@
|
|||
/**
|
||||
*
|
||||
* goods Manage : 商品管理
|
||||
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sgoo/v1/goods/manager',
|
||||
items: [
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
{ key: 'add', url: '/goods', method: 'POST' },
|
||||
/**
|
||||
* 分页
|
||||
*/
|
||||
{ key: 'getPage', url: '/page', method: 'post' },
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
{ key: 'update', url: '/goods', method: 'PUT' },
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
{ key: 'operation', url: '/goods', method: 'PATCH' },
|
||||
/**
|
||||
* 详情
|
||||
*/
|
||||
{ key: 'detail', url: '/detail/', method: 'Get' },
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
{ key: 'batchDelete', url: '/batch-delete-goods', method: 'PATCH' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
38
front-end/src/api/goodsApi/materialApi.js
Normal file
38
front-end/src/api/goodsApi/materialApi.js
Normal file
|
@ -0,0 +1,38 @@
|
|||
/**
|
||||
* Material Manage : 管理
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sgoo/v1/goods/material',
|
||||
items: [
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
{ key: 'addMaterial', url: '/add', method: 'POST' },
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
{ key: 'deleteMaterial', url: '/delete', method: 'DELETE', type: 'query' },
|
||||
|
||||
/**
|
||||
* 分页获取
|
||||
*/
|
||||
{ key: 'getPageMaterial', url: '/list', method: 'GET' },
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
{ key: 'updateMaterial', url: '/edit', method: 'PUT' },
|
||||
/**
|
||||
* 根据Id获取
|
||||
*/
|
||||
{ key: 'getDetailMaterial', url: '/', method: 'GET' },
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
{ key: 'batchDeleteMaterial', url: '/batch-delete', method: 'PATCH' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
39
front-end/src/api/goodsApi/otherInfoApi.js
Normal file
39
front-end/src/api/goodsApi/otherInfoApi.js
Normal file
|
@ -0,0 +1,39 @@
|
|||
/**
|
||||
* goods-spu-son : 子母商品管理
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sgoo/v1/other/info',
|
||||
items: [
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
{ key: 'addOtherInfo', url: '/save', method: 'POST' },
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
{ key: 'deleteOtherInfo', url: '/delete', method: 'POST' },
|
||||
|
||||
/**
|
||||
* 分页获取
|
||||
*/
|
||||
{ key: 'getOtherInfo', url: '/page', method: 'POST' },
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
{ key: 'updateOtherInfo', url: '/save', method: 'POST' },
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
{ key: 'detailsOtherInfo', url: '/details', method: 'GET' },
|
||||
|
||||
/**
|
||||
* 禁用 OR 启用
|
||||
*/
|
||||
{ key: 'operationOtherInfo', url: '/operation', method: 'POST' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
75
front-end/src/api/goodsApi/priceApi.js
Normal file
75
front-end/src/api/goodsApi/priceApi.js
Normal file
|
@ -0,0 +1,75 @@
|
|||
/**
|
||||
* Price: 价格管理
|
||||
*
|
||||
* 值集头创建 POST /v1/price/item/setting/add-head
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sgoo/v1',
|
||||
items: [
|
||||
/** * SKU价格 */
|
||||
|
||||
// 查看商品价格列表
|
||||
{
|
||||
key: 'getSkuPrices',
|
||||
url: '/goods/prices/{skuCode}',
|
||||
method: 'GET',
|
||||
},
|
||||
{
|
||||
key: 'addSkuPrices',
|
||||
url: '/goods/prices',
|
||||
method: 'POST',
|
||||
},
|
||||
{
|
||||
key: 'updateSkuPrices',
|
||||
url: '/goods/prices',
|
||||
method: 'PUT',
|
||||
},
|
||||
{
|
||||
key: 'deleteSkuPrices',
|
||||
url: '/goods/prices',
|
||||
method: 'DELETE',
|
||||
},
|
||||
|
||||
/** * 价格项 */
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
{
|
||||
key: 'addPriceItem',
|
||||
url: '/price/item/setting/addValue',
|
||||
method: 'POST',
|
||||
},
|
||||
/**
|
||||
* 分页
|
||||
*/
|
||||
{ key: 'getPagePriceItem', url: '/price/item/setting/page', method: 'GET' },
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
{
|
||||
key: 'updatePriceItem',
|
||||
url: '/price/item/setting/value-update',
|
||||
method: 'PUT',
|
||||
},
|
||||
/**
|
||||
* 租户价格项值集查询(所有数据列表)
|
||||
*/
|
||||
{ key: 'getListPriceItem', url: '/price/item/setting', method: 'GET' },
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
{
|
||||
key: 'deletePriceItem',
|
||||
url: '/price/item/setting/value-delete/',
|
||||
method: 'DELETE',
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
96
front-end/src/api/goodsApi/skuApi.js
Normal file
96
front-end/src/api/goodsApi/skuApi.js
Normal file
|
@ -0,0 +1,96 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-07-29 14:15:07
|
||||
* @LastEditTime: 2021-08-02 14:49:28
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\goodsApi\skuApi.js
|
||||
*/
|
||||
/**
|
||||
* goods-sku : 商品SKU
|
||||
*
|
||||
* 值集头创建 POST /v1/price/item/setting/add-head
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sgoo/v1/goods/sku',
|
||||
items: [
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
{
|
||||
key: 'addSku',
|
||||
url: '',
|
||||
method: 'POST',
|
||||
loadingMore: 999,
|
||||
},
|
||||
/**
|
||||
* 分页
|
||||
*/
|
||||
{ key: 'getSku', url: '/page', method: 'POST' },
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
{
|
||||
key: 'updateSku',
|
||||
url: '/update',
|
||||
method: 'PUT',
|
||||
},
|
||||
/**
|
||||
* 根据属性创建商品sku列表
|
||||
*/
|
||||
{
|
||||
key: 'createSku',
|
||||
url: '/createSkuList',
|
||||
method: 'POST',
|
||||
},
|
||||
|
||||
/**
|
||||
* SKU详情
|
||||
*/
|
||||
{ key: 'detailSku', url: '/{id}', method: 'GET' },
|
||||
/**
|
||||
* 根据商品id获取已经生成的sku
|
||||
*/
|
||||
{ key: 'getOldSkuListBySpuId', url: '/goods/', method: 'GET' },
|
||||
/**
|
||||
* 批量 提交 审核
|
||||
*/
|
||||
{ key: 'skuBatchSubmitAudit', url: '/batchAudit', method: 'PUT' },
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
{
|
||||
key: 'deleteSku',
|
||||
url: '',
|
||||
method: 'DELETE',
|
||||
},
|
||||
|
||||
// 修改商品sku显示状态
|
||||
{
|
||||
key: 'updateSkuStatus',
|
||||
url: '/updateShowFlag',
|
||||
method: 'PUT',
|
||||
},
|
||||
|
||||
// 编辑商品价格
|
||||
{
|
||||
key: 'updateSkuPrice',
|
||||
url: '/sku-price',
|
||||
method: 'PUT',
|
||||
},
|
||||
|
||||
// 批量获取套餐明细列表 Array[ skuCode]
|
||||
{
|
||||
key: 'getMealsGoodsList',
|
||||
url: '/meals-goods-list',
|
||||
method: 'POST',
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
35
front-end/src/api/goodsApi/skuGroupApi.js
Normal file
35
front-end/src/api/goodsApi/skuGroupApi.js
Normal file
|
@ -0,0 +1,35 @@
|
|||
/**
|
||||
* sku-group
|
||||
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sgoo/v1/sku-groups',
|
||||
items: [
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
{ key: 'addSkuGroup', url: '/sku-group', method: 'POST' },
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
{ key: 'deleteSkuGroup', url: '/group', method: 'DELETE' },
|
||||
|
||||
/**
|
||||
* 分页获取
|
||||
*/
|
||||
{ key: 'getSkuGroup', url: '/page', method: 'POST' },
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
{ key: 'updateSkuGroup', url: '/sku-group', method: 'POST' },
|
||||
/**
|
||||
* 根据Id获取
|
||||
*/
|
||||
{ key: 'detailSkuGroup', url: '/detail/{groupId}', method: 'GET' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
34
front-end/src/api/goodsApi/spuSonApi.js
Normal file
34
front-end/src/api/goodsApi/spuSonApi.js
Normal file
|
@ -0,0 +1,34 @@
|
|||
/**
|
||||
* goods-spu-son : 子母商品管理
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/sgoo/v1/spu-son-mums',
|
||||
items: [
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
{ key: 'addSpuSonNum', url: '', method: 'POST' },
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
{ key: 'deleteSpuSonNum', url: '', method: 'DELETE' },
|
||||
|
||||
/**
|
||||
* 分页获取
|
||||
*/
|
||||
{ key: 'getSpuSonNum', url: '', method: 'GET' },
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
{ key: 'updateSpuSonNum', url: '', method: 'PUT' },
|
||||
/**
|
||||
* 根据Id获取
|
||||
*/
|
||||
{ key: 'detailSpuSonNum', url: '/', method: 'GET' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
59
front-end/src/api/index.js
Normal file
59
front-end/src/api/index.js
Normal file
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-06-23 10:00:10
|
||||
* @LastEditTime: 2022-04-28 10:23:35
|
||||
* @LastEditors: LAPTOP-JM4BAR46
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\index.js
|
||||
*/
|
||||
import commonApi from './commonApi/index';
|
||||
import userApi from './userApi/index';
|
||||
import userGroupApi from './userGroupApi/index';
|
||||
import testApi from './testApi';
|
||||
import tenantApi from './tenantApi/index';
|
||||
import roleApi from './roleApi/index';
|
||||
import authApi from './authApi/index';
|
||||
import channelApi from './channelApi/index';
|
||||
import goodsApi from './goodsApi/index';
|
||||
import settingApi from './settingApi/index';
|
||||
import messageApi from './messageApi/index';
|
||||
import stockApi from './stockApi/index';
|
||||
import baseDataApi from './baseDataApi/index';
|
||||
import worksheetApi from './worksheetApi/index';
|
||||
import logisticApi from './logisticApi/index';
|
||||
import menuApi from './menuApi/index';
|
||||
import simpApi from './simpApi/index';
|
||||
import orderApi from './orderApi';
|
||||
import strategyApi from './strategyApi';
|
||||
import tagsApi from './tagsApi';
|
||||
import promotionApi from './promotionApi';
|
||||
import afterApi from './afterApi';
|
||||
import financeApi from './financeApi'; // 财务
|
||||
import reportApi from './reportApi'; // 报表
|
||||
|
||||
export {
|
||||
commonApi,
|
||||
userApi,
|
||||
userGroupApi,
|
||||
testApi,
|
||||
tenantApi,
|
||||
roleApi,
|
||||
authApi,
|
||||
channelApi,
|
||||
goodsApi,
|
||||
settingApi,
|
||||
messageApi,
|
||||
stockApi,
|
||||
baseDataApi,
|
||||
worksheetApi,
|
||||
logisticApi,
|
||||
menuApi,
|
||||
simpApi,
|
||||
orderApi,
|
||||
strategyApi,
|
||||
tagsApi,
|
||||
promotionApi,
|
||||
afterApi,
|
||||
financeApi,
|
||||
reportApi,
|
||||
};
|
21
front-end/src/api/logisticApi/abnormalApi.js
Normal file
21
front-end/src/api/logisticApi/abnormalApi.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-09-08 11:16:34
|
||||
* @LastEditTime: 2021-09-14 19:44:02
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\logisticApi\abnormalApi.js
|
||||
*/
|
||||
/** 物流异常 */
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/lgit/v1/logistics/abnormal',
|
||||
items: [
|
||||
{ key: 'getLogisticAbnormal', url: '', method: 'get' },
|
||||
{ key: 'getLogisticRefreshConfig', url: '/getRefreshConfig', method: 'get' },
|
||||
{ key: 'updateRefreshConfig', url: '/updateRefreshConfig', method: 'PUT' },
|
||||
],
|
||||
};
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
20
front-end/src/api/logisticApi/businessApi.js
Normal file
20
front-end/src/api/logisticApi/businessApi.js
Normal file
|
@ -0,0 +1,20 @@
|
|||
/* jshint esversion: 9 */
|
||||
/**
|
||||
* Logistics Businesss : 物流业务管理
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/lgit/v1/logistics-businesss',
|
||||
items: [
|
||||
{ key: 'addLogisticsBusiness', url: '', method: 'POST' },
|
||||
{ key: 'deleteLogisticsBusiness', url: '', method: 'DELETE' },
|
||||
{ key: 'updateLogisticsBusiness', url: '', method: 'PUT' },
|
||||
{ key: 'getLogisticsBusiness', url: '', method: 'GET' },
|
||||
{ key: 'detailLogisticsBusiness', url: '/', method: 'GET' },
|
||||
],
|
||||
};
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
25
front-end/src/api/logisticApi/claimApi.js
Normal file
25
front-end/src/api/logisticApi/claimApi.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-09-06 14:05:56
|
||||
* @LastEditTime: 2021-09-14 22:05:46
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\logisticApi\claim.js
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/lgit/v1/breakage/claims',
|
||||
items: [
|
||||
/** 破损理赔单列表 */
|
||||
{ key: 'getLogisticClaim', url: '/page', method: 'get' },
|
||||
/** 破损理赔单明细 */
|
||||
{ key: 'getLogisticClaimDetail', url: '/detail/{serialNum}', method: 'get' },
|
||||
/** 修改理赔单状态 */
|
||||
{ key: 'updataLogisticClaimStatus', url: '/orderStatus', method: 'PATCH' },
|
||||
/** 修改理赔单 */
|
||||
{ key: 'updataLogisticClaim', url: '/update', method: 'POST' },
|
||||
],
|
||||
};
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
20
front-end/src/api/logisticApi/companyApi.js
Normal file
20
front-end/src/api/logisticApi/companyApi.js
Normal file
|
@ -0,0 +1,20 @@
|
|||
/* jshint esversion: 9 */
|
||||
/**
|
||||
* Logistics Companys : 物流商管理
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/lgit/v1/logistics-companys',
|
||||
items: [
|
||||
{ key: 'addLogisticsCompany', url: '', method: 'POST' },
|
||||
{ key: 'deleteLogisticsCompany', url: '', method: 'DELETE' },
|
||||
{ key: 'updateLogisticsCompany', url: '', method: 'PUT' },
|
||||
{ key: 'getLogisticsCompany', url: '', method: 'GET' },
|
||||
{ key: 'detailLogisticsCompany', url: '/', method: 'GET' },
|
||||
],
|
||||
};
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
48
front-end/src/api/logisticApi/freightApi.js
Normal file
48
front-end/src/api/logisticApi/freightApi.js
Normal file
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-09-08 17:20:28
|
||||
* @LastEditTime: 2022-02-18 15:26:59
|
||||
* @LastEditors: LAPTOP-JM4BAR46
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\logisticApi\freightApi.js
|
||||
*/
|
||||
/* jshint esversion: 9 */
|
||||
/**
|
||||
* Postage Template : 运费模板
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/lgit/v1/postage-templates',
|
||||
items: [
|
||||
{ key: 'addLogisticsFreightTemplate', url: '', method: 'POST' },
|
||||
{ key: 'deleteLogisticsFreightTemplate', url: '', method: 'DELETE' },
|
||||
{ key: 'updateLogisticsFreightTemplate', url: '', method: 'PUT' },
|
||||
{ key: 'getLogisticsFreightTemplate', url: '', method: 'GET' },
|
||||
{ key: 'detailLogisticsFreightTemplate', url: '/', method: 'GET' },
|
||||
{ key: 'operationLogisticsFreightTemplate', url: '/enabled', method: 'PUT' },
|
||||
|
||||
/** 模板适用物流业务、仓库 */
|
||||
{
|
||||
key: 'getLogisticsFreightTemplateBusinessStorehouse',
|
||||
url: '/business-storehouse',
|
||||
method: 'GET',
|
||||
},
|
||||
/** 查询模板已经绑定的仓库 */
|
||||
{
|
||||
key: 'getBusinessStorehouse',
|
||||
url: '/business-storehouse',
|
||||
method: 'GET',
|
||||
},
|
||||
/** 根据运费模板关联关系查物流商和物业业务 */
|
||||
{
|
||||
key: 'getQueryLogistics',
|
||||
url: '/query/logistics',
|
||||
method: 'POST',
|
||||
},
|
||||
],
|
||||
};
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
32
front-end/src/api/logisticApi/index.js
Normal file
32
front-end/src/api/logisticApi/index.js
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-08-06 13:55:19
|
||||
* @LastEditTime: 2021-09-08 17:10:17
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\stockApi\index.js
|
||||
*/
|
||||
/* jshint esversion: 9 */
|
||||
/**
|
||||
* 模块接口
|
||||
*/
|
||||
|
||||
import companyApi from './companyApi';
|
||||
import businessApi from './businessApi';
|
||||
import mappingApi from './mappingApi';
|
||||
import relationApi from './relationApi';
|
||||
import orderApi from './orderApi';
|
||||
import claimApi from './claimApi';
|
||||
import freightApi from './freightApi';
|
||||
import abnormalApi from './abnormalApi';
|
||||
|
||||
export default {
|
||||
...companyApi,
|
||||
...businessApi,
|
||||
...mappingApi,
|
||||
...relationApi,
|
||||
...orderApi,
|
||||
...claimApi,
|
||||
...freightApi,
|
||||
...abnormalApi,
|
||||
};
|
20
front-end/src/api/logisticApi/mappingApi.js
Normal file
20
front-end/src/api/logisticApi/mappingApi.js
Normal file
|
@ -0,0 +1,20 @@
|
|||
/* jshint esversion: 9 */
|
||||
/**
|
||||
* logistics-mapping : 物流商管理
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/lgit/v1/logistics/mappings',
|
||||
items: [
|
||||
{ key: 'addLogisticsMapping', url: '', method: 'POST' },
|
||||
{ key: 'deleteLogisticsMapping', url: '/deletes', method: 'PATCH' },
|
||||
{ key: 'updateLogisticsMapping', url: '', method: 'PUT' },
|
||||
{ key: 'getLogisticsMapping', url: '/page', method: 'GET' },
|
||||
{ key: 'detailLogisticsMapping', url: '/', method: 'GET' },
|
||||
],
|
||||
};
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
21
front-end/src/api/logisticApi/orderApi.js
Normal file
21
front-end/src/api/logisticApi/orderApi.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
/* jshint esversion: 9 */
|
||||
/**
|
||||
* Logistics Orders : 物流商管理
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/lgit/v1/logistics-orders',
|
||||
items: [
|
||||
{ key: 'addLogisticsOrder', url: '', method: 'POST' },
|
||||
{ key: 'deleteLogisticsOrder', url: '', method: 'DELETE' },
|
||||
{ key: 'updateLogisticsOrder', url: '', method: 'PUT' },
|
||||
{ key: 'getLogisticsOrderSales', url: '/sales', method: 'GET' },
|
||||
{ key: 'getLogisticsOrderAfter', url: '/customer-service', method: 'GET' },
|
||||
{ key: 'detailLogisticsOrder', url: '/', method: 'GET' },
|
||||
],
|
||||
};
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
21
front-end/src/api/logisticApi/relationApi.js
Normal file
21
front-end/src/api/logisticApi/relationApi.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
/* jshint esversion: 9 */
|
||||
/**
|
||||
* logistics-mapping : 物流商管理
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/lgit/v1/logistics/relations',
|
||||
items: [
|
||||
{ key: 'addLogisticsRelation', url: '', method: 'POST' },
|
||||
{ key: 'deleteLogisticsRelation', url: '/deletes', method: 'PATCH' },
|
||||
{ key: 'updateLogisticsRelation', url: '/update', method: 'POST' },
|
||||
{ key: 'getLogisticsRelation', url: '', method: 'GET' },
|
||||
{ key: 'detailLogisticsRelation', url: '/', method: 'GET' },
|
||||
{ key: 'getLogisticsWarehouse', url: '/warehouse', method: 'GET' },
|
||||
],
|
||||
};
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
34
front-end/src/api/menuApi/index.js
Normal file
34
front-end/src/api/menuApi/index.js
Normal file
|
@ -0,0 +1,34 @@
|
|||
/**
|
||||
* Tenant(Site Level) : 租户管理(平台级)
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/iam',
|
||||
items: [
|
||||
// GET /skyer/v1/menus/tree菜单展示-获取导航栏树形菜单
|
||||
{ key: 'treeMenu', url: '/skyer/v1/menus/tree', method: 'get' },
|
||||
|
||||
// 租户层-菜单管理-获取树形菜单
|
||||
{ key: 'getMenuTree', url: '/skyer/v1/{organizationId}/menus/manage-tree', method: 'get' },
|
||||
|
||||
// 租户层-创建菜单
|
||||
|
||||
{ key: 'addMenu', url: '/skyer/v1/{organizationId}/menus/create', method: 'POST' },
|
||||
|
||||
// 租户层-禁用菜单及其子菜单
|
||||
{ key: 'disableMenu', url: '/skyer/v1/{organizationId}/menus/disable', method: 'PUT' },
|
||||
|
||||
// 租户层-启用菜单及其子菜单
|
||||
{ key: 'enableMenu', url: '/skyer/v1/{organizationId}/menus/enable', method: 'PUT' },
|
||||
|
||||
{ key: 'detailMenu', url: '/v1/tenants-manager/', method: 'GET' },
|
||||
|
||||
// 租户层-更新菜单
|
||||
{ key: 'updateMenu', url: '/skyer/v1/{organizationId}/menus/update', method: 'POST' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
36
front-end/src/api/messageApi/emailApi.js
Normal file
36
front-end/src/api/messageApi/emailApi.js
Normal file
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* File : 文件
|
||||
*
|
||||
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/smsg/v1',
|
||||
items: [
|
||||
/**
|
||||
* 获取列表
|
||||
*/
|
||||
|
||||
{ key: 'getEmail', url: '/{organizationId}/email/servers', method: 'GET' },
|
||||
{ key: 'addEmail', url: '/{organizationId}/email/servers', method: 'POST' },
|
||||
{ key: 'updateEmail', url: '/{organizationId}/email/servers', method: 'PUT' },
|
||||
{ key: 'deleteEmail', url: '/{organizationId}/email/servers', method: 'DELETE' },
|
||||
// 查询邮箱服务明细
|
||||
{ key: 'detailEmail', url: '/{organizationId}/email/servers/{serverId}', method: 'Get' },
|
||||
{
|
||||
key: 'detailEmailConfig',
|
||||
url: '/{organizationId}/email/servers/{serverId}/properties',
|
||||
method: 'Get',
|
||||
},
|
||||
// Email Filter : 邮箱账户黑白名单
|
||||
{ key: 'getEmailFilters', url: '/{organizationId}/email-filters', method: 'GET' },
|
||||
{ key: 'addEmailFilters', url: '/{organizationId}/email-filters', method: 'POST' },
|
||||
{ key: 'updateEmailFilters', url: '/{organizationId}/email-filters', method: 'POST' },
|
||||
{ key: 'deleteEmailFilters', url: '/{organizationId}/email-filters', method: 'DELETE' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
25
front-end/src/api/messageApi/index.js
Normal file
25
front-end/src/api/messageApi/index.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-07-13 14:49:11
|
||||
* @LastEditTime: 2021-07-22 17:08:03
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\settingApi\index.js
|
||||
*/
|
||||
/**
|
||||
* 模块接口
|
||||
*/
|
||||
|
||||
import noticeApi from './noticeApi';
|
||||
import emailApi from './emailApi';
|
||||
import smsApi from './smsApi';
|
||||
import templateApi from './templateApi';
|
||||
import sendApi from './sendApi';
|
||||
|
||||
export default {
|
||||
...noticeApi,
|
||||
...emailApi,
|
||||
...smsApi,
|
||||
...templateApi,
|
||||
...sendApi,
|
||||
};
|
29
front-end/src/api/messageApi/noticeApi.js
Normal file
29
front-end/src/api/messageApi/noticeApi.js
Normal file
|
@ -0,0 +1,29 @@
|
|||
/**
|
||||
* File : 文件
|
||||
*
|
||||
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/smsg/v1',
|
||||
items: [
|
||||
/**
|
||||
* 获取列表
|
||||
*/
|
||||
|
||||
{ key: 'getNotices', url: '/{organizationId}/notices', method: 'GET' },
|
||||
{ key: 'deleteNotices', url: '/{organizationId}/notices', method: 'DELETE' },
|
||||
{ key: 'addNotices', url: '/{organizationId}/notices', method: 'POST' },
|
||||
{ key: 'updateNotices', url: '/{organizationId}/notices', method: 'PUT' },
|
||||
{ key: 'detailNotices', url: '/{organizationId}/notices/{noticeId}', method: 'GET' },
|
||||
// 发布
|
||||
{ key: 'publishNotices', url: '/{organizationId}/notices/{noticeId}/publish', method: 'POST' },
|
||||
// 撤消
|
||||
{ key: 'revokeNotices', url: '/{organizationId}/notices/{noticeId}/revoke', method: 'POST' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
61
front-end/src/api/messageApi/sendApi.js
Normal file
61
front-end/src/api/messageApi/sendApi.js
Normal file
|
@ -0,0 +1,61 @@
|
|||
/**
|
||||
* Template Maintain : 邮箱账户与模板关系维护
|
||||
*
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/smsg/v1',
|
||||
items: [
|
||||
/**
|
||||
* 获取列表
|
||||
*/
|
||||
|
||||
{ key: 'getSend', url: '/{organizationId}/template-servers', method: 'GET' },
|
||||
{ key: 'addSend', url: '/{organizationId}/template-servers', method: 'POST' },
|
||||
{ key: 'updateSend', url: '/{organizationId}/template-servers/{tempServerId}', method: 'PUT' },
|
||||
{
|
||||
key: 'deleteSend',
|
||||
url: '/{organizationId}/template-servers/{tempServerId}',
|
||||
method: 'DELETE',
|
||||
},
|
||||
// 查询邮箱服务明细
|
||||
{ key: 'detailSend', url: '/{organizationId}/template-servers/detail', method: 'Get' },
|
||||
// 消息模板账户关联:查询模板行
|
||||
{
|
||||
key: 'detailLineSend',
|
||||
url: '/{organizationId}/template-servers/detail/line',
|
||||
method: 'Get',
|
||||
},
|
||||
// 消息模板账户关联:查询消息模板关联的服务
|
||||
{
|
||||
key: 'getTempServerList',
|
||||
url: '/{organizationId}/template-servers/line/{tempServerId}',
|
||||
method: 'Get',
|
||||
},
|
||||
// 删除消息模板账户行
|
||||
{
|
||||
key: 'deleteLineSend',
|
||||
url: '/{organizationId}/template-servers/line/{tempServerLineId}',
|
||||
method: 'DELETE',
|
||||
},
|
||||
// 复制消息发送配置
|
||||
{
|
||||
key: 'addSendFilters',
|
||||
url: '/{organizationId}/template-servers/{tempServerId}/copy',
|
||||
method: 'GET',
|
||||
},
|
||||
|
||||
/** * Relation Send Message : 关联发送消息 */
|
||||
// 关联发送消息,邮件/短信/站内信
|
||||
{
|
||||
key: 'sendMessageRelevance',
|
||||
url: '/{organizationId}/message/relevance',
|
||||
method: 'POST',
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
34
front-end/src/api/messageApi/smsApi.js
Normal file
34
front-end/src/api/messageApi/smsApi.js
Normal file
|
@ -0,0 +1,34 @@
|
|||
/**
|
||||
* SMS Server : 短信配置
|
||||
*
|
||||
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/smsg/v1',
|
||||
items: [
|
||||
/**
|
||||
* 发送一条短信消息,指定模板和参数
|
||||
*/
|
||||
{ key: 'sendSMS', url: '/{organizationId}/messages/call/template', method: 'POST' },
|
||||
// 列表
|
||||
{ key: 'getSMS', url: '/{organizationId}/sms/servers', method: 'GET' },
|
||||
// 创建短信服务
|
||||
{ key: 'addSMS', url: '/{organizationId}/sms/servers', method: 'POST' },
|
||||
// 删除短信配置
|
||||
{ key: 'deleteSMS', url: '/{organizationId}/sms/servers', method: 'DELETE' },
|
||||
/**
|
||||
* 修改短信服务
|
||||
*/
|
||||
{ key: 'updateSMS', url: '/{organizationId}/sms/servers', method: 'PUT' },
|
||||
/**
|
||||
* 查询短信服务配置
|
||||
*/
|
||||
{ key: 'detailSMS', url: '/{organizationId}/sms/servers/{serverId}', method: 'GET' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
80
front-end/src/api/messageApi/templateApi.js
Normal file
80
front-end/src/api/messageApi/templateApi.js
Normal file
|
@ -0,0 +1,80 @@
|
|||
/**
|
||||
* File : 文件
|
||||
*
|
||||
|
||||
*/
|
||||
|
||||
import { generate } from '@/utils/request';
|
||||
const config = {
|
||||
prefix: '/smsg/v1',
|
||||
items: [
|
||||
{ key: 'getTemplates', url: '/{organizationId}/message/templates', method: 'GET' },
|
||||
{ key: 'deleteTemplate', url: '/{organizationId}/message/templates', method: 'DELETE' },
|
||||
{ key: 'addTemplate', url: '/{organizationId}/message/templates', method: 'POST' },
|
||||
{ key: 'updateTemplate', url: '/{organizationId}/message/templates', method: 'PUT' },
|
||||
{
|
||||
key: 'detailTemplate',
|
||||
url: '/{organizationId}/message/templates/{templateId}',
|
||||
method: 'GET',
|
||||
},
|
||||
|
||||
/** * */
|
||||
|
||||
// 查询消息模板参数
|
||||
{
|
||||
key: 'argsTemplate',
|
||||
url: '/{organizationId}/message/templates/template-args',
|
||||
method: 'GET',
|
||||
},
|
||||
|
||||
// 根据编码查询消息模板明细
|
||||
{
|
||||
key: 'codeTemplate',
|
||||
url: '/{organizationId}/message/templates/template-code',
|
||||
method: 'GET',
|
||||
},
|
||||
|
||||
// 查询消息模板语言
|
||||
{
|
||||
key: 'langTemplate',
|
||||
url: '/{organizationId}/message/templates/template-lang',
|
||||
method: 'GET',
|
||||
},
|
||||
|
||||
// 消息模板复制
|
||||
{
|
||||
key: 'copyTemplate',
|
||||
url: '/{organizationId}/message/templates/{templateId}/copy',
|
||||
method: 'GET',
|
||||
},
|
||||
|
||||
/** * Template Arg 消息模板参数管理*/
|
||||
{
|
||||
key: 'getTemplateArgs',
|
||||
url: '/{organizationId}/template-args/{templateId}',
|
||||
method: 'GET',
|
||||
},
|
||||
|
||||
{
|
||||
key: 'deleteTemplateArgs',
|
||||
url: '/{organizationId}/template-args',
|
||||
method: 'DELETE',
|
||||
},
|
||||
{
|
||||
key: 'updateTemplateArgs',
|
||||
url: '/{organizationId}/template-args',
|
||||
method: 'PUT',
|
||||
},
|
||||
// 初始化消息模板参数列表
|
||||
{
|
||||
key: 'initTemplateArgs',
|
||||
url: '/{organizationId}/template-args/init',
|
||||
type: 'query',
|
||||
method: 'POST',
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
46
front-end/src/api/orderApi/auditApi.js
Normal file
46
front-end/src/api/orderApi/auditApi.js
Normal file
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-11-03 17:08:17
|
||||
* @LastEditTime: 2022-02-24 13:28:45
|
||||
* @LastEditors: LAPTOP-JM4BAR46
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\orderApi\audit.js
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
|
||||
const config = {
|
||||
prefix: '/sord/v1/',
|
||||
items: [
|
||||
{ key: 'getWaitAuditOrders', url: '/order-header/wait-audit-orders', method: 'GET' },
|
||||
{
|
||||
key: 'getWaitAuditOrdersTabs',
|
||||
url: '/order-flow-config/get-order-flow-confiy-by-tenantId/{tenantId}',
|
||||
method: 'GET',
|
||||
},
|
||||
// { key: 'AuditWaitAuditOrders', url: '/order-header/audit-order', method: 'PUT' },
|
||||
/** 订单审核列表 */
|
||||
{ key: 'getOrderAuditPage', url: '/order/order-audit-page', method: 'POST' },
|
||||
/** 订单审核 */
|
||||
{ key: 'orderAuditdeal', url: '/audit/deal', method: 'POST', loadingMore: 999 },
|
||||
|
||||
// 获取订单Item列表(某订单的SKU汇总)
|
||||
{
|
||||
key: 'getInternalSkuListByAuditId',
|
||||
url: '/audit/order-item-page',
|
||||
method: 'POST',
|
||||
},
|
||||
// 获取订单平摊行列表(某订单的商品行列表)
|
||||
{ key: 'getInternalSkuLineListByAuditId', url: '/audit/item-line-page', method: 'POST' },
|
||||
// 展开行:根据itemId获取平摊商品行列表(某订单的某SKU的商品行列表)
|
||||
{
|
||||
key: 'getInternalSkuLineListByAuditIdSku',
|
||||
url: '/audit/item-line-details/{itemId}/{auditId}',
|
||||
method: 'GET',
|
||||
loadingHide: true,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
27
front-end/src/api/orderApi/index.js
Normal file
27
front-end/src/api/orderApi/index.js
Normal file
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* @Author: 订单模块
|
||||
* @Date: 2021-10-19 10:27:31
|
||||
* @LastEditTime: 2022-04-21 15:36:00
|
||||
* @LastEditors: LAPTOP-JM4BAR46
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\orderApi\index.js
|
||||
*/
|
||||
import internalApi from './internalApi';
|
||||
import stockoutApi from './stockoutApi';
|
||||
import auditApi from './auditApi';
|
||||
import processApi from './processApi';
|
||||
import sourcingApi from './sourcingApi';
|
||||
import preemptApi from './preemptApi';
|
||||
import itemPriceApi from './itemPriceApi';
|
||||
import thirdApi from './thirdApi';
|
||||
|
||||
export default {
|
||||
...internalApi,
|
||||
...stockoutApi,
|
||||
...processApi,
|
||||
...auditApi,
|
||||
...sourcingApi,
|
||||
...preemptApi,
|
||||
...itemPriceApi,
|
||||
...thirdApi,
|
||||
};
|
92
front-end/src/api/orderApi/internalApi.js
Normal file
92
front-end/src/api/orderApi/internalApi.js
Normal file
|
@ -0,0 +1,92 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-19 10:27:23
|
||||
* @LastEditTime: 2022-04-25 15:36:26
|
||||
* @LastEditors: LAPTOP-JM4BAR46
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\orderApi\internal.js
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
|
||||
const config = {
|
||||
prefix: '/sord/v1',
|
||||
items: [
|
||||
// 创建手工单
|
||||
{ key: 'addInternalOrderByHand', url: '/order/hand-order', method: 'POST', loadingMore: 999 },
|
||||
// 复制手工单
|
||||
{
|
||||
key: 'addInternalOrderByCopy',
|
||||
url: '/order/copy-order?innerOrderNo={innerOrderNo}',
|
||||
method: 'GET',
|
||||
}, // innerOrderNo
|
||||
// 内部订单列表
|
||||
{ key: 'getInternalPage', url: '/order/order-page', method: 'POST' },
|
||||
// 订单详情订单基本信息
|
||||
{ key: 'getInternalDetail', url: '/order/order-base-detail/{orderId}', method: 'GET' },
|
||||
// 订单详情订单基本信息{"orderCode": "string","orderId": 0}
|
||||
{
|
||||
key: 'getInternalDetailByIdCode',
|
||||
url: '/order/order-base-detail-by-id-code',
|
||||
method: 'POST',
|
||||
},
|
||||
// 获取订单Item列表(某订单的SKU汇总)
|
||||
{
|
||||
key: 'getInternalSkuListByOrder',
|
||||
url: '/order/order-item-page',
|
||||
method: 'POST',
|
||||
},
|
||||
// 获取订单平摊行列表(某订单的商品行列表)
|
||||
{ key: 'getInternalSkuLineListByOrder', url: '/order/item-line-page', method: 'POST' },
|
||||
// 展开行:根据itemId获取平摊商品行列表(某订单的某SKU的商品行列表)
|
||||
|
||||
{
|
||||
key: 'getInternalSkuLineListBySku',
|
||||
url: '/order/item-line-details/{itemId}',
|
||||
method: 'GET',
|
||||
loadingHide: true,
|
||||
},
|
||||
/** 订单审核(通过,拒绝) */
|
||||
{ key: 'auditOrder', url: '/order-header/audit-order', method: 'PUT' },
|
||||
/** 订单商品行审核(通过, 拒绝) */
|
||||
{ key: 'auditGoodsLineAuditOrder', url: '/order-header/goods-line-audit-order', method: 'PUT' },
|
||||
/** 订单挂起/解挂 */
|
||||
{ key: 'upOrderHandUpOrder', url: '/order-header/order-hand-up', method: 'PUT' },
|
||||
/** 订单商品行挂起/解挂 */
|
||||
{ key: 'upGoodsLineHandUpOrder', url: '/order-header/goods-line-hand-up', method: 'PUT' },
|
||||
|
||||
/** 订单基础信息的修改 */
|
||||
{ key: 'updateOrderBase', url: '/order/order-base', method: 'PUT' },
|
||||
|
||||
/** 订单取消 普通订单 */
|
||||
{ key: 'cancelInternalOrder', url: '/order/cancel-order', method: 'PATCH' },
|
||||
/** 订单取消 O2O */
|
||||
{ key: 'cancelInternalO2oOrder', url: '/order/cancel-o2o-order', method: 'PATCH' },
|
||||
/** 订单级挂起 */
|
||||
{ key: 'suspendOrderByOrderId', url: '/order/suspend-order', method: 'POST' },
|
||||
/** 订单级解挂 */
|
||||
{ key: 'unsuspendOrderByOrderId', url: '/order/unsuspend-order', method: 'POST' },
|
||||
/** 商品行级挂起/解挂 */
|
||||
{ key: 'suspendOrderByItemLine', url: '/order/itemLine-suspend-order', method: 'POST' },
|
||||
/** 商品行级预占/解占 */
|
||||
{ key: 'preemptionOrderByItemLine', url: '/order/re-preemption', method: 'POST' },
|
||||
|
||||
/** 订单级-确认收货 普通订单 */
|
||||
{ key: 'confirmReceiptByOrderId', url: '/order/confirm-receipt/', method: 'PATCH' },
|
||||
|
||||
/** 订单级-确认收货 o2o */
|
||||
{ key: 'o2oConfirmReceiptByOrderId', url: '/order/o2o-confirm-receipt', method: 'POST' },
|
||||
|
||||
/** 商品行级-确认收货 */
|
||||
{ key: 'confirmReceiptByItemLine', url: '/order/item-confirm-receipt', method: 'POST' },
|
||||
|
||||
// 内部订单缺货管理列表
|
||||
{ key: 'getInternalStockoutPage', url: '/order/stockout-page', method: 'POST' },
|
||||
|
||||
/** 缺货统计列表 */
|
||||
{ key: 'getOrderStatsStockout', url: '/order/stats/stockout', method: 'POST' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
10
front-end/src/api/orderApi/itemPriceApi.js
Normal file
10
front-end/src/api/orderApi/itemPriceApi.js
Normal file
|
@ -0,0 +1,10 @@
|
|||
import { generate } from '@/utils/request';
|
||||
|
||||
const config = {
|
||||
prefix: '/sord/v1',
|
||||
items: [{ key: 'getPriceType', url: '/item-prices/price-type', method: 'GET' }],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
60
front-end/src/api/orderApi/preemptApi.js
Normal file
60
front-end/src/api/orderApi/preemptApi.js
Normal file
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-19 10:27:23
|
||||
* @LastEditTime: 2021-11-12 17:30:54
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\orderApi\internal.js
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
|
||||
const config = {
|
||||
prefix: '/sord/v1',
|
||||
items: [
|
||||
/** 预占管理 */
|
||||
// 列表
|
||||
{ key: 'getPreemptionOrders', url: '/preemp-notice/preemp-page', method: 'POST' },
|
||||
// 详情-基本信息
|
||||
{
|
||||
key: 'getPreemptionOrderDetail',
|
||||
url: '/preemp-notice/preemp-notice-details/',
|
||||
method: 'GET',
|
||||
},
|
||||
// 详情-SKU汇总
|
||||
{
|
||||
key: 'getPreemptionOrderSkuListByOrder',
|
||||
url: '/preemp-notice/items-page',
|
||||
method: 'POST',
|
||||
},
|
||||
// 详情-商品行预占统计
|
||||
{
|
||||
key: 'getPreemptionOrderSkuCountByOrder',
|
||||
url: '/preemp-notice/item-lines-count',
|
||||
method: 'POST',
|
||||
loadingHide: true,
|
||||
},
|
||||
// 详情-商品行列表
|
||||
{
|
||||
key: 'getPreemptionOrderSkuLineListByOrder',
|
||||
url: '/preemp-notice/item-lines-page',
|
||||
method: 'POST',
|
||||
},
|
||||
// 详情-展开行:根据itemId获取平摊商品行列表(某订单的某SKU的商品行列表)
|
||||
{
|
||||
key: 'getPreemptionOrderSkuLineListBySku',
|
||||
url: '/preemp-notice/item-lines/{itemId}',
|
||||
method: 'GET',
|
||||
loadingHide: true,
|
||||
},
|
||||
// 重新预占
|
||||
{
|
||||
key: 'rePreemptOrderByNoticeId',
|
||||
url: '/preemp-notice/re-preemption?noticeId={noticeId}', // noticeId
|
||||
method: 'POST',
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
18
front-end/src/api/orderApi/processApi.js
Normal file
18
front-end/src/api/orderApi/processApi.js
Normal file
|
@ -0,0 +1,18 @@
|
|||
import { generate } from '@/utils/request';
|
||||
|
||||
const config = {
|
||||
prefix: '/sord/v1/process-defines',
|
||||
items: [
|
||||
{ key: 'addOrderProcessDefines', url: '', method: 'POST' },
|
||||
{ key: 'deleteOrderProcessDefines', url: '', method: 'DELETE' },
|
||||
{ key: 'updateOrderProcessDefines', url: '', method: 'PUT' },
|
||||
{ key: 'getOrderProcessDefines', url: '', method: 'GET' },
|
||||
{ key: 'detailOrderProcessDefines', url: '/', method: 'GET' },
|
||||
// 流程部署
|
||||
{ key: 'deploymentOrderProcessDefines', url: '/deploy-process/', method: 'GET' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
120
front-end/src/api/orderApi/sourcingApi.js
Normal file
120
front-end/src/api/orderApi/sourcingApi.js
Normal file
|
@ -0,0 +1,120 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-19 10:27:23
|
||||
* @LastEditTime: 2022-04-14 10:53:09
|
||||
* @LastEditors: LAPTOP-JM4BAR46
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\orderApi\internal.js
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
|
||||
const config = {
|
||||
prefix: '/sourcing/v1',
|
||||
items: [
|
||||
/** 寻源列表 */
|
||||
{ key: 'getOrderSourcingPage', url: '/sourcing/page', method: 'POST' },
|
||||
/** 寻源详情 */
|
||||
{ key: 'getOrderSourcingDetail', url: '/sourcing/detail', method: 'GET' },
|
||||
|
||||
/** 寻源详情 按商品行汇总 sourcingId */
|
||||
{ key: 'getOrderSourcingSkuListByOrder', url: '/sourcing/goods/page/spu', method: 'GET' },
|
||||
|
||||
/** 寻源详情 按照商品行分页查询列表 sourcingId */
|
||||
{ key: 'getOrderSourcingSkuLineListByOrder', url: '/sourcing/goods/page', method: 'GET' },
|
||||
|
||||
/** 寻源详情 商品行汇总展开列表 skuCode */
|
||||
{
|
||||
key: 'getOrderSourcingSkuLineListBySku',
|
||||
url: '/sourcing/goods/listBySkuCode',
|
||||
method: 'GET',
|
||||
loadingHide: true,
|
||||
},
|
||||
/** 创建寻源包裹 */
|
||||
{
|
||||
key: 'addSourcingPackages',
|
||||
url: '/sourcing/packages',
|
||||
method: 'POST',
|
||||
},
|
||||
/** 重新寻源 */
|
||||
{
|
||||
key: 'reAutoSource',
|
||||
url: '/sourcing/re-auto-source/{sourceId}',
|
||||
method: 'GET',
|
||||
},
|
||||
{
|
||||
key: 'reAutoSourceBatch',
|
||||
url: '/sourcing/re-auto-source',
|
||||
method: 'PATCH',
|
||||
},
|
||||
|
||||
/** **** 配置 ******** */
|
||||
// 寻源策略-寻源规则 列表
|
||||
{
|
||||
key: 'getSouringStrategyConfigs',
|
||||
url: '/souring-strategy-configs',
|
||||
method: 'GET',
|
||||
loadingHide: true,
|
||||
},
|
||||
// 寻源策略-寻源规则 修改
|
||||
{
|
||||
key: 'updateSouringStrategyConfigs',
|
||||
url: '/souring-strategy-configs',
|
||||
method: 'PUT',
|
||||
loadingHide: true,
|
||||
},
|
||||
// 寻源策略-寻源规则 批量修改
|
||||
{
|
||||
key: 'updateSouringStrategyConfigsBatch',
|
||||
url: '/souring-strategy-configs/batch-update',
|
||||
method: 'PATCH',
|
||||
loadingHide: true,
|
||||
},
|
||||
|
||||
// 寻源策略-包裹规则 列表
|
||||
{
|
||||
key: 'getSouringStrategyPackage',
|
||||
url: '/package-strategy',
|
||||
method: 'GET',
|
||||
},
|
||||
// 寻源策略-包裹规则 批量删除
|
||||
{
|
||||
key: 'deleteSouringStrategyPackageBatch',
|
||||
url: '/package-strategy',
|
||||
method: 'DELETE',
|
||||
},
|
||||
// 寻源策略-包裹规则 批量创建
|
||||
{
|
||||
key: 'addSouringStrategyPackageBatch',
|
||||
url: '/package-strategy',
|
||||
method: 'POST',
|
||||
},
|
||||
// 寻源策略-包裹规则 批量修改
|
||||
{
|
||||
key: 'updateSouringStrategyPackageBatch',
|
||||
url: '/package-strategy/batch-update-split',
|
||||
method: 'PATCH',
|
||||
},
|
||||
// 寻源策略-包裹规则 排除条件配置列表
|
||||
{
|
||||
key: 'getSouringStrategyPackageExcludes',
|
||||
url: '/souring-exclude-strategy',
|
||||
method: 'GET',
|
||||
},
|
||||
// 寻源策略-包裹规则 排除条件配置列表
|
||||
{
|
||||
key: 'updateSouringStrategyPackageExcludes',
|
||||
url: '/souring-exclude-strategy',
|
||||
method: 'PUT',
|
||||
},
|
||||
// 寻源策略-包裹规则 排除条件配置列表
|
||||
{
|
||||
key: 'addSouringStrategyPackageExcludes',
|
||||
url: '/souring-exclude-strategy',
|
||||
method: 'POST',
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
27
front-end/src/api/orderApi/stockoutApi.js
Normal file
27
front-end/src/api/orderApi/stockoutApi.js
Normal file
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-28 10:59:27
|
||||
* @LastEditTime: 2022-04-25 16:57:39
|
||||
* @LastEditors: LAPTOP-JM4BAR46
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: \newBj-admin\src\api\orderApi\stockoutApi.js
|
||||
*/
|
||||
import { generate } from '@/utils/request';
|
||||
|
||||
const config = {
|
||||
prefix: '/stock/v1',
|
||||
items: [
|
||||
/** 缺货管理列表 */
|
||||
{ key: 'getStockoutManageList', url: '/stockout/manage/page', method: 'POST' },
|
||||
/** 缺货订单列表 */
|
||||
{ key: 'getStockoutOrderList', url: '/stockout/order/page', method: 'POST' },
|
||||
/** 缺货店铺列表 */
|
||||
{ key: 'getStockoutShopList', url: '/stockout/shop/page', method: 'POST' },
|
||||
/** 批量保存 */
|
||||
{ key: 'saveStockoutList', url: '/stockout/batch/setting', method: 'POST' },
|
||||
],
|
||||
};
|
||||
|
||||
export default {
|
||||
...generate(config),
|
||||
};
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue