Commit b69dc7ab by wangyalan-git

初始化

parents
{
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
}
}],
"stage-2"
],
"plugins": ["transform-vue-jsx", "transform-runtime"]
}
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
.DS_Store
node_modules/
/dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
platform
platform.zip
// https://github.com/michael-ciniawsky/postcss-load-config
module.exports = {
"plugins": {
"postcss-import": {},
"postcss-url": {},
// to edit target browsers: use "browserslist" field in package.json
"autoprefixer": {}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>vue-manage</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.aptana.ide.core.unifiedBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.aptana.projects.webnature</nature>
</natures>
<filteredResources>
<filter>
<id>1581911416903</id>
<name></name>
<type>26</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-node_modules</arguments>
</matcher>
</filter>
<filter>
<id>1581998398191</id>
<name></name>
<type>26</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-node_modules</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>
This diff is collapsed. Click to expand it.
# mall-admin-web
<p>
<a href="https://github.com/macrozheng/mall"><img src="http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/%E5%90%8E%E5%8F%B0%E9%A1%B9%E7%9B%AE-mall-blue.svg" alt="后台项目"></a>
<a href="http://qm.qq.com/cgi-bin/qm/qr?k=V6xu5c12j9qhnMUNdDRzakNxRKzOxibQ"><img src="http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/QQ%E7%BE%A4-959351312-red.svg" alt="QQ群"></a>
<a href="http://qm.qq.com/cgi-bin/qm/qr?k=M5Edq2TiJL_ShcOEeYjwcmdGmq4zZrd_"><img src="http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/QQ%E7%BE%A4-553018255-red.svg" alt="QQ群"></a>
<a href="https://gitee.com/macrozheng/mall-admin-web"><img src="http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/badge/%E7%A0%81%E4%BA%91-%E9%A1%B9%E7%9B%AE%E5%9C%B0%E5%9D%80-orange.svg" alt="码云"></a>
</p>
## 前言
该项目为前后端分离项目的前端部分,后端项目`mall`地址:[传送门](https://github.com/macrozheng/mall)
## 项目介绍
`mall-admin-web`是一个电商后台管理系统的前端项目,基于Vue+Element实现。主要包括商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等功能。
### 项目演示
项目在线演示地址:[http://www.macrozheng.com/admin/](http://www.macrozheng.com/admin/)
![https://github.com/macrozheng/mall/blob/master/document/resource/mall-admin.gif](https://github.com/macrozheng/mall/blob/master/document/resource/mall-admin.gif)
### 技术选型
技术 | 说明 | 官网
----|----|----
Vue | 前端框架 | [https://vuejs.org/](https://vuejs.org/)
Vue-router | 路由框架 | [https://router.vuejs.org/](https://router.vuejs.org/)
Vuex | 全局状态管理框架 | [https://vuex.vuejs.org/](https://vuex.vuejs.org/)
Element | 前端UI框架 | [https://element.eleme.io/](https://element.eleme.io/)
Axios | 前端HTTP框架 | [https://github.com/axios/axios](https://github.com/axios/axios)
v-charts | 基于Echarts的图表框架 | [https://v-charts.js.org/](https://v-charts.js.org/)
Js-cookie | cookie管理工具 | [https://github.com/js-cookie/js-cookie](https://github.com/js-cookie/js-cookie)
nprogress | 进度条控件 | [https://github.com/rstacruz/nprogress](https://github.com/rstacruz/nprogress)
vue-element-admin | 项目脚手架参考 | [https://github.com/PanJiaChen/vue-element-admin](https://github.com/PanJiaChen/vue-element-admin)
### 项目布局
``` lua
src -- 源码目录
├── api -- axios网络请求定义
├── assets -- 静态图片资源文件
├── components -- 通用组件封装
├── icons -- svg矢量图片文件
├── router -- vue-router路由配置
├── store -- vuex的状态管理
├── styles -- 全局css样式
├── utils -- 工具类
└── views -- 前端页面
├── home -- 首页
├── layout -- 通用页面加载框架
├── login -- 登录页
├── oms -- 订单模块页面
├── pms -- 商品模块页面
└── sms -- 营销模块页面
```
## 搭建步骤
- 下载node并安装:[https://nodejs.org/dist/v8.9.4/node-v8.9.4-x64.msi](https://nodejs.org/dist/v8.9.4/node-v8.9.4-x64.msi);
- 该项目为前后端分离项目,访问本地访问接口需搭建后台环境,搭建请参考后端项目[传送门](https://github.com/macrozheng/mall);
- 访问在线接口无需搭建后台环境,只需将config/dev.env.js文件中的BASE_API改为[http://120.27.63.9:8080](http://120.27.63.9:8080)即可;
- 克隆源代码到本地,使用IDEA打开,并完成编译;
- 在IDEA命令行中运行命令:npm install,下载相关依赖;
- 在IDEA命令行中运行命令:npm run dev,运行项目;
- 访问地址:[http://localhost:8090](http://localhost:8090) 即可打开后台管理系统页面;
- 如果遇到无法运行该命令,需要配置npm的环境变量,如在path变量中添加:C:\Users\zhenghong\AppData\Roaming\npm。
## 许可证
[Apache License 2.0](https://github.com/macrozheng/mall-admin-web/blob/master/LICENSE)
Copyright (c) 2018-2019 macrozheng
'use strict'
require('./check-versions')()
process.env.NODE_ENV = 'production'
const ora = require('ora')
const rm = require('rimraf')
const path = require('path')
const chalk = require('chalk')
const webpack = require('webpack')
const config = require('../config')
const webpackConfig = require('./webpack.prod.conf')
const spinner = ora('building for production...')
spinner.start()
rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
if (err) throw err
webpack(webpackConfig, (err, stats) => {
spinner.stop()
if (err) throw err
process.stdout.write(stats.toString({
colors: true,
modules: false,
children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
chunks: false,
chunkModules: false
}) + '\n\n')
if (stats.hasErrors()) {
console.log(chalk.red(' Build failed with errors.\n'))
process.exit(1)
}
console.log(chalk.cyan(' Build complete.\n'))
console.log(chalk.yellow(
' Tip: built files are meant to be served over an HTTP server.\n' +
' Opening index.html over file:// won\'t work.\n'
))
})
})
'use strict'
const chalk = require('chalk')
const semver = require('semver')
const packageConfig = require('../package.json')
const shell = require('shelljs')
function exec (cmd) {
return require('child_process').execSync(cmd).toString().trim()
}
const versionRequirements = [
{
name: 'node',
currentVersion: semver.clean(process.version),
versionRequirement: packageConfig.engines.node
}
]
if (shell.which('npm')) {
versionRequirements.push({
name: 'npm',
currentVersion: exec('npm --version'),
versionRequirement: packageConfig.engines.npm
})
}
module.exports = function () {
const warnings = []
for (let i = 0; i < versionRequirements.length; i++) {
const mod = versionRequirements[i]
if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
warnings.push(mod.name + ': ' +
chalk.red(mod.currentVersion) + ' should be ' +
chalk.green(mod.versionRequirement)
)
}
}
if (warnings.length) {
console.log('')
console.log(chalk.yellow('To use this template, you must update following to modules:'))
console.log()
for (let i = 0; i < warnings.length; i++) {
const warning = warnings[i]
console.log(' ' + warning)
}
console.log()
process.exit(1)
}
}
File added
'use strict'
const path = require('path')
const config = require('../config')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const packageConfig = require('../package.json')
exports.assetsPath = function (_path) {
const assetsSubDirectory = process.env.NODE_ENV === 'production'
? config.build.assetsSubDirectory
: config.dev.assetsSubDirectory
return path.posix.join(assetsSubDirectory, _path)
}
exports.cssLoaders = function (options) {
options = options || {}
const cssLoader = {
loader: 'css-loader',
options: {
sourceMap: options.sourceMap
}
}
const postcssLoader = {
loader: 'postcss-loader',
options: {
sourceMap: options.sourceMap
}
}
// generate loader string to be used with extract text plugin
function generateLoaders (loader, loaderOptions) {
const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
if (loader) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: options.sourceMap
})
})
}
// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader',
publicPath: '../../'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
}
// https://vue-loader.vuejs.org/en/configurations/extract-css.html
return {
css: generateLoaders(),
postcss: generateLoaders(),
less: generateLoaders('less'),
sass: generateLoaders('sass', { indentedSyntax: true }),
scss: generateLoaders('sass'),
stylus: generateLoaders('stylus'),
styl: generateLoaders('stylus')
}
}
// Generate loaders for standalone style files (outside of .vue)
exports.styleLoaders = function (options) {
const output = []
const loaders = exports.cssLoaders(options)
for (const extension in loaders) {
const loader = loaders[extension]
output.push({
test: new RegExp('\\.' + extension + '$'),
use: loader
})
}
return output
}
exports.createNotifierCallback = () => {
const notifier = require('node-notifier')
return (severity, errors) => {
if (severity !== 'error') return
const error = errors[0]
const filename = error.file && error.file.split('!').pop()
notifier.notify({
title: packageConfig.name,
message: severity + ': ' + error.name,
subtitle: filename || '',
icon: path.join(__dirname, 'logo.ico')
})
}
}
'use strict'
const utils = require('./utils')
const config = require('../config')
const isProduction = process.env.NODE_ENV === 'production'
const sourceMapEnabled = isProduction
? config.build.productionSourceMap
: config.dev.cssSourceMap
module.exports = {
loaders: utils.cssLoaders({
sourceMap: sourceMapEnabled,
extract: isProduction
}),
cssSourceMap: sourceMapEnabled,
cacheBusting: config.dev.cacheBusting,
transformToRequire: {
video: ['src', 'poster'],
source: 'src',
img: 'src',
image: 'xlink:href'
}
}
'use strict'
const path = require('path')
const utils = require('./utils')
const config = require('../config')
const vueLoaderConfig = require('./vue-loader.conf')
function resolve(dir) {
return path.join(__dirname, '..', dir)
}
module.exports = {
context: path.resolve(__dirname, '../'),
entry: {
app: './src/main.js'
},
output: {
path: config.build.assetsRoot,
filename: '[name].js',
publicPath: process.env.NODE_ENV === 'production'
? config.build.assetsPublicPath
: config.dev.assetsPublicPath
},
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
}
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: vueLoaderConfig
},
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
},
{
test: /\.svg$/,
loader: 'svg-sprite-loader',
include: [resolve('src/icons')],
options: {
symbolId: 'icon-[name]'
}
},
{
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
exclude: resolve('src/icons'),
options: {
limit: 10000,
name: utils.assetsPath('img/[name].[hash:7].[ext]')
}
},
{
test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('media/[name].[hash:7].[ext]')
}
},
{
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
}
}
]
},
node: {
// prevent webpack from injecting useless setImmediate polyfill because Vue
// source contains it (although only uses it if it's native).
setImmediate: false,
// prevent webpack from injecting mocks to Node native modules
// that does not make sense for the client
dgram: 'empty',
fs: 'empty',
net: 'empty',
tls: 'empty',
child_process: 'empty'
}
}
'use strict'
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const path = require('path')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
const portfinder = require('portfinder')
const HOST = process.env.HOST
const PORT = process.env.PORT && Number(process.env.PORT)
const devWebpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
},
// cheap-module-eval-source-map is faster for development
devtool: config.dev.devtool,
// these devServer options should be customized in /config/index.js
devServer: {
clientLogLevel: 'warning',
historyApiFallback: {
rewrites: [
{ from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
],
},
hot: true,
contentBase: false, // since we use CopyWebpackPlugin.
compress: true,
host: HOST || config.dev.host,
port: PORT || config.dev.port,
open: config.dev.autoOpenBrowser,
overlay: config.dev.errorOverlay
? { warnings: false, errors: true }
: false,
publicPath: config.dev.assetsPublicPath,
proxy: config.dev.proxyTable,
quiet: true, // necessary for FriendlyErrorsPlugin
watchOptions: {
poll: config.dev.poll,
}
},
plugins: [
new webpack.DefinePlugin({
'process.env': require('../config/dev.env')
}),
new webpack.HotModuleReplacementPlugin(),
new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
new webpack.NoEmitOnErrorsPlugin(),
// https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
inject: true
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.dev.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
module.exports = new Promise((resolve, reject) => {
portfinder.basePort = process.env.PORT || config.dev.port
portfinder.getPort((err, port) => {
if (err) {
reject(err)
} else {
// publish the new Port, necessary for e2e tests
process.env.PORT = port
// add port to devServer config
devWebpackConfig.devServer.port = port
// Add FriendlyErrorsPlugin
devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
compilationSuccessInfo: {
messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
},
onErrors: config.dev.notifyOnErrors
? utils.createNotifierCallback()
: undefined
}))
resolve(devWebpackConfig)
}
})
})
'use strict'
const path = require('path')
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const env = require('../config/prod.env')
const webpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({
sourceMap: config.build.productionSourceMap,
extract: true,
usePostCSS: true
})
},
devtool: config.build.productionSourceMap ? config.build.devtool : false,
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
},
plugins: [
// http://vuejs.github.io/vue-loader/en/workflow/production.html
new webpack.DefinePlugin({
'process.env': env
}),
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false
}
},
sourceMap: config.build.productionSourceMap,
parallel: true
}),
// extract css into its own file
new ExtractTextPlugin({
filename: utils.assetsPath('css/[name].[contenthash].css'),
// Setting the following option to `false` will not extract CSS from codesplit chunks.
// Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
// It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
// increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
allChunks: true,
}),
// Compress extracted CSS. We are using this plugin so that possible
// duplicated CSS from different components can be deduped.
new OptimizeCSSPlugin({
cssProcessorOptions: config.build.productionSourceMap
? { safe: true, map: { inline: false } }
: { safe: true }
}),
// generate dist index.html with correct asset hash for caching.
// you can customize output by editing /index.html
// see https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: config.build.index,
template: 'index.html',
inject: true,
minify: {
removeComments: true,
collapseWhitespace: true,
removeAttributeQuotes: true
// more options:
// https://github.com/kangax/html-minifier#options-quick-reference
},
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
chunksSortMode: 'dependency'
}),
// keep module.id stable when vendor modules does not change
new webpack.HashedModuleIdsPlugin(),
// enable scope hoisting
new webpack.optimize.ModuleConcatenationPlugin(),
// split vendor js into its own file
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks (module) {
// any required modules inside node_modules are extracted to vendor
return (
module.resource &&
/\.js$/.test(module.resource) &&
module.resource.indexOf(
path.join(__dirname, '../node_modules')
) === 0
)
}
}),
// extract webpack runtime and module manifest to its own file in order to
// prevent vendor hash from being updated whenever app bundle is updated
new webpack.optimize.CommonsChunkPlugin({
name: 'manifest',
minChunks: Infinity
}),
// This instance extracts shared chunks from code splitted chunks and bundles them
// in a separate chunk, similar to the vendor chunk
// see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
new webpack.optimize.CommonsChunkPlugin({
name: 'app',
async: 'vendor-async',
children: true,
minChunks: 3
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.build.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
if (config.build.productionGzip) {
const CompressionWebpackPlugin = require('compression-webpack-plugin')
webpackConfig.plugins.push(
new CompressionWebpackPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: new RegExp(
'\\.(' +
config.build.productionGzipExtensions.join('|') +
')$'
),
threshold: 10240,
minRatio: 0.8
})
)
}
if (config.build.bundleAnalyzerReport) {
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
webpackConfig.plugins.push(new BundleAnalyzerPlugin())
}
module.exports = webpackConfig
'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
BASE_API: '"http://192.168.31.117:8201/mall-admin"'
})
'use strict'
// Template version: 1.3.1
// see http://vuejs-templates.github.io/webpack for documentation.
const path = require('path')
module.exports = {
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {},
// Various Dev Server settings
host: 'localhost', // can be overwritten by process.env.HOST
port: 8090, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: false,
errorOverlay: true,
notifyOnErrors: true,
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
/**
* Source Maps
*/
// https://webpack.js.org/configuration/devtool/#development
devtool: 'cheap-module-eval-source-map',
// If you have problems debugging vue-files in devtools,
// set this to false - it *may* help
// https://vue-loader.vuejs.org/en/options.html#cachebusting
cacheBusting: true,
cssSourceMap: true
},
build: {
// Template for index.html
index: path.resolve(__dirname, '../platform/index.html'),
// Paths
assetsRoot: path.resolve(__dirname, '../platform'),
assetsSubDirectory: 'static',
assetsPublicPath: './',
/**
* Source Maps
*/
productionSourceMap: true,
// https://webpack.js.org/configuration/devtool/#production
devtool: '#source-map',
// Gzip off by default as many popular static hosts such as
// Surge or Netlify already gzip all static assets for you.
// Before setting to `true`, make sure to:
// npm install --save-dev compression-webpack-plugin
productionGzip: false,
productionGzipExtensions: ['js', 'css'],
// Run the build command with an extra argument to
// View the bundle analyzer report after build finishes:
// `npm run build --report`
// Set to `true` or `false` to always turn it on or off
bundleAnalyzerReport: process.env.npm_config_report
}
}
'use strict'
module.exports = {
NODE_ENV: '"production"',
BASE_API: '"http://115.29.198.90:8201/mall-admin"'
// BASE_API: '"http://hhg.api.jsonpro.cn:8201/mall-admin"'
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<link rel="icon" href="static/favicon.ico" />
<title>万科物资管理平台</title>
<style>
html,
body,
#app {
height: 100%;
margin: 0px;
padding: 0px;
}
.chromeframe {
margin: 0.2em 0;
background: #ccc;
color: #000;
padding: 0.2em 0;
}
#loader-wrapper {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999999;
}
#loader {
display: block;
position: relative;
left: 50%;
top: 50%;
width: 120px;
height: 120px;
margin: -75px 0 0 -75px;
border-radius: 50%;
border: 3px solid transparent;
/* COLOR 1 */
border-top-color: #fff;
-webkit-animation: spin 2s linear infinite;
/* Chrome, Opera 15+, Safari 5+ */
-ms-animation: spin 2s linear infinite;
/* Chrome, Opera 15+, Safari 5+ */
-moz-animation: spin 2s linear infinite;
/* Chrome, Opera 15+, Safari 5+ */
-o-animation: spin 2s linear infinite;
/* Chrome, Opera 15+, Safari 5+ */
animation: spin 2s linear infinite;
/* Chrome, Firefox 16+, IE 10+, Opera */
z-index: 1001;
}
#loader:before {
content: "";
position: absolute;
top: 5px;
left: 5px;
right: 5px;
bottom: 5px;
border-radius: 50%;
border: 3px solid transparent;
/* COLOR 2 */
border-top-color: #fff;
-webkit-animation: spin 3s linear infinite;
/* Chrome, Opera 15+, Safari 5+ */
-moz-animation: spin 3s linear infinite;
/* Chrome, Opera 15+, Safari 5+ */
-o-animation: spin 3s linear infinite;
/* Chrome, Opera 15+, Safari 5+ */
-ms-animation: spin 3s linear infinite;
/* Chrome, Opera 15+, Safari 5+ */
animation: spin 3s linear infinite;
/* Chrome, Firefox 16+, IE 10+, Opera */
}
#loader:after {
content: "";
position: absolute;
top: 15px;
left: 15px;
right: 15px;
bottom: 15px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #fff;
/* COLOR 3 */
-moz-animation: spin 1.5s linear infinite;
/* Chrome, Opera 15+, Safari 5+ */
-o-animation: spin 1.5s linear infinite;
/* Chrome, Opera 15+, Safari 5+ */
-ms-animation: spin 1.5s linear infinite;
/* Chrome, Opera 15+, Safari 5+ */
-webkit-animation: spin 1.5s linear infinite;
/* Chrome, Opera 15+, Safari 5+ */
animation: spin 1.5s linear infinite;
/* Chrome, Firefox 16+, IE 10+, Opera */
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
/* Chrome, Opera 15+, Safari 3.1+ */
-ms-transform: rotate(0deg);
/* IE 9 */
transform: rotate(0deg);
/* Firefox 16+, IE 10+, Opera */
}
100% {
-webkit-transform: rotate(360deg);
/* Chrome, Opera 15+, Safari 3.1+ */
-ms-transform: rotate(360deg);
/* IE 9 */
transform: rotate(360deg);
/* Firefox 16+, IE 10+, Opera */
}
}
@keyframes spin {
0% {
-webkit-transform: rotate(0deg);
/* Chrome, Opera 15+, Safari 3.1+ */
-ms-transform: rotate(0deg);
/* IE 9 */
transform: rotate(0deg);
/* Firefox 16+, IE 10+, Opera */
}
100% {
-webkit-transform: rotate(360deg);
/* Chrome, Opera 15+, Safari 3.1+ */
-ms-transform: rotate(360deg);
/* IE 9 */
transform: rotate(360deg);
/* Firefox 16+, IE 10+, Opera */
}
}
#loader-wrapper .loader-section {
position: fixed;
top: 0;
width: 51%;
height: 100%;
background: #4583F3;
/* Old browsers */
z-index: 1000;
-webkit-transform: translateX(0);
/* Chrome, Opera 15+, Safari 3.1+ */
-ms-transform: translateX(0);
/* IE 9 */
transform: translateX(0);
/* Firefox 16+, IE 10+, Opera */
}
#loader-wrapper .loader-section.section-left {
left: 0;
}
#loader-wrapper .loader-section.section-right {
right: 0;
}
/* Loaded */
.loaded #loader-wrapper .loader-section.section-left {
-webkit-transform: translateX(-100%);
/* Chrome, Opera 15+, Safari 3.1+ */
-ms-transform: translateX(-100%);
/* IE 9 */
transform: translateX(-100%);
/* Firefox 16+, IE 10+, Opera */
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.loaded #loader-wrapper .loader-section.section-right {
-webkit-transform: translateX(100%);
/* Chrome, Opera 15+, Safari 3.1+ */
-ms-transform: translateX(100%);
/* IE 9 */
transform: translateX(100%);
/* Firefox 16+, IE 10+, Opera */
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.loaded #loader {
opacity: 0;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.loaded #loader-wrapper {
visibility: hidden;
-webkit-transform: translateY(-100%);
/* Chrome, Opera 15+, Safari 3.1+ */
-ms-transform: translateY(-100%);
/* IE 9 */
transform: translateY(-100%);
/* Firefox 16+, IE 10+, Opera */
-webkit-transition: all 0.3s 1s ease-out;
transition: all 0.3s 1s ease-out;
}
/* JavaScript Turned Off */
.no-js #loader-wrapper {
display: none;
}
.no-js h1 {
color: #222222;
}
#loader-wrapper .load_title {
font-family: "Open Sans";
color: #fff;
font-size: 14px;
width: 100%;
text-align: center;
z-index: 9999999999999;
position: absolute;
top: 60%;
opacity: 1;
line-height: 30px;
}
#loader-wrapper .load_title span {
font-weight: normal;
font-style: italic;
font-size: 14px;
color: #fff;
opacity: 0.5;
}
/* 滚动条优化 start */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: #f6f6f6;
border-radius: 2px;
}
::-webkit-scrollbar-thumb {
background: #cdcdcd;
border-radius: 2px;
}
::-webkit-scrollbar-thumb:hover {
background: #747474;
}
::-webkit-scrollbar-corner {
background: #f6f6f6;
}
/* 滚动条优化 end */
</style>
</head>
<body>
<!-- built files will be auto injected -->
<div id="app">
<div id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
<div class="load_title">
正在加载 万科物资管理平台 请耐心等待
</div>
</div>
</div>
</body>
<script src="https://cdn.bootcss.com/babel-polyfill/7.6.0/polyfill.js"></script>
<script src="./static/tinymce4.7.5/tinymce.min.js"></script>
</html>
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"name": "mall-admin-web",
"version": "1.0.0",
"description": "mall后台管理前端",
"author": "macro",
"private": true,
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js --host 0.0.0.0",
"start": "npm run dev",
"build": "node build/build.js"
},
"dependencies": {
"axios": "^0.18.0",
"echarts": "^4.2.0-rc.2",
"element-china-area-data": "^4.1.2",
"element-ui": "^2.13.0",
"file-saver": "^2.0.2",
"js-cookie": "^2.2.0",
"moment": "^2.24.0",
"normalize.css": "^8.0.0",
"nprogress": "^0.2.0",
"v-charts": "^1.19.0",
"v-distpicker": "^1.0.20",
"vue": "^2.5.2",
"vue-router": "^3.0.1",
"vuex": "^3.0.1",
"xlsx": "^0.15.6"
},
"devDependencies": {
"autoprefixer": "^7.1.2",
"babel-core": "^6.22.1",
"babel-helper-vue-jsx-merge-props": "^2.0.3",
"babel-loader": "^7.1.1",
"babel-plugin-syntax-jsx": "^6.18.0",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-plugin-transform-vue-jsx": "^3.5.0",
"babel-preset-env": "^1.3.2",
"babel-preset-stage-2": "^6.22.0",
"chalk": "^2.0.1",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.28.0",
"extract-text-webpack-plugin": "^3.0.0",
"file-loader": "^1.1.4",
"friendly-errors-webpack-plugin": "^1.6.1",
"html-webpack-plugin": "^2.30.1",
"node-notifier": "^5.1.2",
"node-sass": "^4.13.0",
"optimize-css-assets-webpack-plugin": "^3.2.0",
"ora": "^1.2.0",
"portfinder": "^1.0.13",
"postcss-import": "^11.0.0",
"postcss-loader": "^2.0.8",
"postcss-url": "^7.2.1",
"rimraf": "^2.6.0",
"sass-loader": "^7.0.1",
"script-loader": "^0.7.2",
"semver": "^5.3.0",
"shelljs": "^0.7.6",
"svg-sprite-loader": "^3.7.3",
"uglifyjs-webpack-plugin": "^1.1.1",
"url-loader": "^0.5.8",
"vue-loader": "^13.3.0",
"vue-style-loader": "^3.0.1",
"vue-template-compiler": "^2.5.2",
"webpack": "^3.6.0",
"webpack-bundle-analyzer": "^2.9.0",
"webpack-dev-server": "^2.9.1",
"webpack-merge": "^4.1.0"
},
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
<template>
<div id="app">
<router-view/>
</div>
</template>
<script>
export default {
name: 'App'
}
</script>
<style>
</style>
import request from '@/utils/request'
// 平台管理员列表
export function fetchList(params) {
return request({
url: '/admin/manage/queryPageList',
method: 'get',
params
})
}
// 添加管理员
export function createAdmin(data) {
return request({
url: '/admin/manage/addUmsAdmin',
method: 'post',
data
})
}
// 修改管理员
export function updateAdmin(id, data) {
return request({
url: '/admin/manage/update/' + id,
method: 'post',
data
})
}
\ No newline at end of file
import request from '@/utils/request'
export function bannerPositionList(params) {
return request({
url: '/ad/adPositionList',
method: 'post',
params: params
})
}
export function addBannerPosition(params) {
return request({
url: '/ad/saveAdPosition',
method: 'post',
data: params
})
}
export function updateBannerPosition(params) {
return request({
url: '/ad/updateAdPosition',
method: 'post',
data: params
})
}
export function deleteBannerPosition(params) {
return request({
url: '/ad/deleteAdPosition',
method: 'post',
params: params
})
}
export function bannerList(params, data) {
return request({
url: '/ad/adList',
method: 'post',
params: params,
data: data
})
}
export function addBanner(params) {
return request({
url: '/ad/saveAd',
method: 'post',
data: params
})
}
export function updateBanner(params) {
return request({
url: '/ad/updateAd',
method: 'post',
data: params
})
}
export function deleteBanner(params) {
return request({
url: '/ad/deleteAd',
method: 'post',
params: params
})
}
export function changeStatus(params) {
return request({
url: '/ad/updateAdStatus',
method: 'post',
params: params
})
}
\ No newline at end of file
import request from '@/utils/request'
// 分类列表【过滤未启用的数据】
export function fetchClassifyList(params) {
return request({
url: '/api/z/productCategory/list/withChildren',
method: 'get',
params: params
})
}
// 分类列表【分页且不过滤数据】
export function getClassifyList(parentId, params) {
return request({
url: '/productCategory/list/' + parentId,
method: 'get',
params: params
})
}
// 添加分类
export function createClassify(data) {
return request({
url: '/productCategory/create',
method: 'post',
data: data
})
}
// 获取分类
export function getClassify(id) {
return request({
url: '/productCategory/' + id,
method: 'get',
})
}
// 修改分类
export function updateClassify(id, data) {
return request({
url: '/productCategory/update/' + id,
method: 'post',
data: data
})
}
// 删除分类
export function deleteClassify(id) {
return request({
url: '/productCategory/delete/' + id,
method: 'post',
})
}
// 转移分类商品
export function moveClassifyProduct(data) {
return request({
url: '/productCategory/updateMoveCategoryProduct',
method: 'post',
params: data
})
}
// 修改显示状态
export function changeShow(params) {
return request({
url: '/productCategory/update/showStatus',
method: 'post',
params: params
})
}
\ No newline at end of file
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/comment/listAll',
method: 'get',
params: params
})
}
export function auditComment(params) {
return request({
url: '/comment/auditComment',
method: 'post',
params: params
})
}
export function deleteComment(params) {
return request({
url: '/comment/delete',
method: 'post',
params: params
})
}
export function replyComment(params) {
return request({
url: '/comment/replyComment',
method: 'post',
params: params
})
}
\ No newline at end of file
import request from '@/utils/request'
// 佣金结算列表
export function commissionList (params) {
return request({
url: '/member/settlement',
method: 'get',
params
})
}
// 佣金结算明细
export function commissionDetailList (params) {
return request({
url: '/member/settlement/detail',
method: 'get',
params
})
}
// 佣金数据
export function commissionDetailData (id) {
return request({
url: '/member/settlement/detail/info/' + id,
method: 'get'
})
}
\ No newline at end of file
import request from '@/utils/request'
export function fetchList() {
return request({
url:'/companyAddress/list',
method:'get'
})
}
import request from '@/utils/request'
// 投诉列表
export function complaintList(params) {
return request({
url: '/complaint/getList',
method: 'get',
params
})
}
// 投诉详情
export function complaintDetail(params) {
return request({
url: '/complaint/detail',
method: 'get',
params
})
}
// 投诉审核
export function complaintAudit(params) {
return request({
url: '/complaint/complaintReview',
method: 'post',
params
})
}
// 投诉类型列表
export function complaintTypeList() {
return request({
url: '/complaint/type/list',
method: 'get'
})
}
// 添加投诉类型
export function createComplaintType(data) {
return request({
url: '/complaint/type/add',
method: 'post',
data
})
}
// 修改投诉类型
export function updateComplaintType(data) {
return request({
url: '/complaint/type/update',
method: 'post',
data
})
}
// 删除投诉类型
export function deleteComplaintType(params) {
return request({
url: '/complaint/type/delete',
method: 'get',
params
})
}
// 修改投诉类型状态
export function changeComplaintTypeStatus(params) {
return request({
url: '/complaint/type/updateByType',
method: 'get',
params
})
}
// 获取投诉配置
export function complaintConfig() {
return request({
url: '/complaint/deadline/getOne',
method: 'get'
})
}
// 修改投诉配置
export function updateComplaintConfig(data) {
return request({
url: '/complaint/deadline/update',
method: 'post',
data
})
}
import request from '@/utils/request'
// 平台优惠券列表
export function platformCouponList(params) {
return request({
url: '/coupon/list',
method: 'get',
params: params
})
}
// 供应商优惠券列表
export function supplierCouponList(params) {
return request({
url: '/coupon/mcht/list',
method: 'get',
params
})
}
// 添加优惠券
export function createCoupon(data) {
return request({
url: '/coupon/create',
method: 'post',
data: data
})
}
// 获取优惠券详情
export function couponDetail(id) {
return request({
url: '/coupon/' + id,
method: 'get',
})
}
// 修改优惠券
export function updateCoupon(data) {
return request({
url: '/coupon',
method: 'put',
data: data
})
}
// 删除优惠券
export function deleteCoupon(id) {
return request({
url: '/coupon/delete/' + id,
method: 'post',
})
}
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/couponHistory/list',
method:'get',
params:params
})
}
import request from '@/utils/request'
//获取部门列表
export function getList (params) {
return request({
url: '/sys/depart/selectList',
method: 'get',
params: params
})
}
//获取部门树状列表
export function getDepartmentList (params) {
return request({
url: '/sys/depart/list',
method: 'get',
params: params
})
}
//获取部门详情
export function getDepartmentDetail (params) {
return request({
url: '/sys/depart/detail',
method: 'get',
params: params
})
}
//新增部门
export function addDepartment (data) {
return request({
url: '/sys/depart/add',
method: 'post',
data: data
})
}
//修改部门信息
export function updateDepartment (data) {
return request({
url: '/sys/depart/update',
method: 'post',
data: data
})
}
//删除部门
export function deleteDepartment (params) {
return request({
url: '/sys/depart/delete',
method: 'get',
params: params
})
}
//转移部门
export function transferDepartment (params) {
return request({
url: '/sys/depart/transfer',
method: 'get',
params: params
})
}
\ No newline at end of file
import request from '@/utils/request'
// 获取保存金配置
export function depositConfig() {
return request({
url: '/funds/config',
method: 'get'
})
}
// 修改保证金配置
export function updateDepositConfig(data) {
return request({
url: '/funds/config',
method: 'post',
data
})
}
// 供应商保证金管理
export function depositList(params) {
return request({
url: '/mch/account',
method: 'get',
params
})
}
// 供应商保证金明细列表
export function depositDetailList(params) {
return request({
url: '/funds/detail',
method: 'get',
params: params
})
}
// 供应商保证金扣款
export function depositRechargeback(data) {
return request({
url: '/mch/account/deduction',
method: 'post',
data
})
}
\ No newline at end of file
import request from '@/utils/request'
// 配送方式列表
export function fetchExpresses(params) {
return request({
url: '/expresses',
method: 'get',
params: params
})
}
// 安装/卸载配送方式
export function postExpresses(params) {
return request({
url: '/expresses',
method: 'post',
params: params,
})
}
// 查询商家所有的快递
export function allExpresses(params) {
return request({
url: '/expresses/business',
method: 'get',
params: params
})
}
// 快递鸟账号配置
export function kuaidn(data) {
return request({
url: '/expresses/kuaidn',
method: 'post',
data: data
})
}
\ No newline at end of file
import request from '@/utils/request'
// 意见反馈分类列表
export function feedbackClassifyList() {
return request({
url: '/feedback/classify/list',
method: 'get'
})
}
// 添加意见反馈分类
export function createFeedbackClassify(data) {
return request({
url: '/feedback/classify/add',
method: 'put',
data
})
}
// 修改意见反馈分类
export function updateFeedbackClassify(data) {
return request({
url: '/feedback/classify/update',
method: 'put',
data
})
}
// 删除意见反馈分类
export function deleteFeedbackClassify(params) {
return request({
url: '/feedback/classify/del',
method: 'delete',
params
})
}
// 意见反馈列表
export function feedbackList(params) {
return request({
url: '/feedback/list',
method: 'get',
params
})
}
// 处理意见反馈
export function handleFeedback(data) {
return request({
url: '/feedback/manage',
method: 'put',
data
})
}
// 意见反馈详情
export function feedbackDetail(params) {
return request({
url: '/feedback/detail',
method: 'get',
params
})
}
// 删除意见反馈
export function deleteFeedback(params) {
return request({
url: '/feedback/del',
method: 'delete',
params
})
}
\ No newline at end of file
import request from '@/utils/request'
// 提现列表
export function withdrawList(params) {
return request({
url: '/finance/reviewList',
method: 'get',
params
})
}
// 提现详情
export function withdrawDetail(params) {
return request({
url: '/finance/detail',
method: 'get',
params
})
}
// 提现审核
export function withdrawAudit(params) {
return request({
url: '/finance/review',
method: 'get',
params
})
}
// 提现付款
export function withdrawPay(params) {
return request({
url: '/finance/payment',
method: 'get',
params
})
}
// 提现到款
export function withdrawArrival(params) {
return request({
url: '/finance/arrived',
method: 'get',
params
})
}
// 提现设置信息
export function withdrawSettingInfo(params) {
return request({
url: '/withdrawal/amount/select',
method: 'get',
params
})
}
// 修改提现设置信息
export function updateWithdrawSetting(data) {
return request({
url: '/withdrawal/amount/update',
method: 'post',
data
})
}
// 平台资金明细
export function platformFinanceList(params) {
return request({
url: '/platform/account/details',
method: 'get',
params
})
}
\ No newline at end of file
import request from '@/utils/request'
// 秒杀列表
export function flashList(params) {
return request({
url: '/sec/kill',
method: 'get',
params
})
}
// 添加秒杀
export function createFlash(data) {
return request({
url: '/sec/kill',
method: 'post',
data
})
}
// 修改秒杀
export function updateFlash(data) {
return request({
url: '/sec/kill',
method: 'post',
data
})
}
// 秒杀详情
export function flashDetail(id) {
return request({
url: '/sec/kill/' + id,
method: 'get'
})
}
// 删除秒杀
export function deleteFlash(id) {
return request({
url: '/sec/kill/' + id,
method: 'delete'
})
}
\ No newline at end of file
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/flashProductRelation/list',
method:'get',
params:params
})
}
export function createFlashProductRelation(data) {
return request({
url:'/flashProductRelation/create',
method:'post',
data:data
})
}
export function deleteFlashProductRelation(id) {
return request({
url:'/flashProductRelation/delete/'+id,
method:'post'
})
}
export function updateFlashProductRelation(id,data) {
return request({
url:'/flashProductRelation/update/'+id,
method:'post',
data:data
})
}
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/flashSession/list',
method: 'get',
params: params
})
}
export function fetchSelectList(params) {
return request({
url: '/flashSession/selectList',
method: 'get',
params: params
})
}
export function updateStatus(id, params) {
return request({
url: '/flashSession/update/status/' + id,
method: 'post',
params: params
})
}
export function deleteSession(id) {
return request({
url: '/flashSession/delete/' + id,
method: 'post'
})
}
export function createSession(data) {
return request({
url: '/flashSession/create',
method: 'post',
data: data
})
}
export function updateSession(id, data) {
return request({
url: '/flashSession/update/' + id,
method: 'post',
data: data
})
}
import request from '@/utils/request'
// 楼层列表
export function fetchFloorList(params) {
return request({
url: '/storey/listAll',
method: 'post',
params: params
})
}
// 添加楼层
export function addFloor(params) {
return request({
url: '/storey/create',
method: 'post',
data: params
})
}
// 删除楼层
export function deleteFloor(params) {
return request({
url: '/storey/delete',
method: 'post',
params: params
})
}
// 修改楼层
export function updateFloor(params) {
return request({
url: '/storey/update',
method: 'post',
data: params
})
}
// 楼层类型
export function floorType() {
return request({
url: '/storey/getStoreyTyps',
method: 'post'
})
}
// 获取楼层数据
export function getFloor(params) {
return request({
url: '/storey/info',
method: 'post',
params: params
})
}
// 获取档口列表
export function stallList(params) {
return request({
url: '/stall/list',
method: 'post',
params
})
}
\ No newline at end of file
import request from '@/utils/request'
//运费模板列表
export function freightList (params) {
return request({
url: '/freight',
method: 'get',
params: params
})
}
//添加模板
export function addTheTemplate (data) {
return request({
url: '/freight/create',
method: 'post',
data: data
})
}
//删除模板
export function deleteTheTemplate (id) {
return request({
url: '/freight/delete/' + id,
method: 'get',
})
}
//更新模板
export function updateTheTemplate (id, data) {
return request({
url: '/freight/update/' + id,
method: 'post',
data: data
})
}
//根据编号查询运费模板
export function getFreight (id) {
return request({
url: '/freight/' + id,
method: 'get',
})
}
\ No newline at end of file
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/home/advertise/list',
method:'get',
params:params
})
}
export function updateStatus(id,params) {
return request({
url:'/home/advertise/update/status/'+id,
method:'post',
params:params
})
}
export function deleteHomeAdvertise(data) {
return request({
url:'/home/advertise/delete',
method:'post',
data:data
})
}
export function createHomeAdvertise(data) {
return request({
url:'/home/advertise/create',
method:'post',
data:data
})
}
export function getHomeAdvertise(id) {
return request({
url:'/home/advertise/'+id,
method:'get',
})
}
export function updateHomeAdvertise(id,data) {
return request({
url:'/home/advertise/update/'+id,
method:'post',
data:data
})
}
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/home/brand/list',
method:'get',
params:params
})
}
export function updateRecommendStatus(data) {
return request({
url:'/home/brand/update/recommendStatus',
method:'post',
data:data
})
}
export function deleteHomeBrand(data) {
return request({
url:'/home/brand/delete',
method:'post',
data:data
})
}
export function createHomeBrand(data) {
return request({
url:'/home/brand/create',
method:'post',
data:data
})
}
export function updateHomeBrandSort(params) {
return request({
url:'/home/brand/update/sort/'+params.id,
method:'post',
params:params
})
}
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/home/recommendSubject/list',
method:'get',
params:params
})
}
export function updateRecommendStatus(data) {
return request({
url:'/home/recommendSubject/update/recommendStatus',
method:'post',
data:data
})
}
export function deleteHomeSubject(data) {
return request({
url:'/home/recommendSubject/delete',
method:'post',
data:data
})
}
export function createHomeSubject(data) {
return request({
url:'/home/recommendSubject/create',
method:'post',
data:data
})
}
export function updateHomeSubjectSort(params) {
return request({
url:'/home/recommendSubject/update/sort/'+params.id,
method:'post',
params:params
})
}
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/home/recommendProduct/list',
method:'get',
params:params
})
}
export function updateRecommendStatus(data) {
return request({
url:'/home/recommendProduct/update/recommendStatus',
method:'post',
data:data
})
}
export function deleteHotProduct(data) {
return request({
url:'/home/recommendProduct/delete',
method:'post',
data:data
})
}
export function createHotProduct(data) {
return request({
url:'/home/recommendProduct/create',
method:'post',
data:data
})
}
export function updateHotProductSort(params) {
return request({
url:'/home/recommendProduct/update/sort/'+params.id,
method:'post',
params:params
})
}
import request from '@/utils/request'
// 积分礼品列表
export function integralGiftList(params) {
return request({
url: '/integral/gifts',
method: 'get',
params
})
}
// 添加积分礼品
export function createIntegralGift(data) {
return request({
url: '/integral/gifts',
method: 'post',
data
})
}
// 编辑积分礼品
export function updateIntegralGift(data) {
return request({
url: '/integral/gifts',
method: 'put',
data
})
}
// 积分礼品详情
export function integralGiftDetail(id) {
return request({
url: '/integral/gifts/' + id,
method: 'get'
})
}
// 上下架礼品
export function onAndOffGift(data) {
return request({
url: '/integral/gifts/upAndDown',
method: 'put',
data
})
}
// 积分礼品兑换记录
export function giftRecordList(params) {
return request({
url: '/integral/gifts/record',
method: 'get',
params
})
}
// 礼品兑换发货
export function giftDelivery(data) {
return request({
url: '/integral/gifts/deliver',
method: 'put',
data
})
}
// 积分规则列表
export function integralRuleList() {
return request({
url: '/integral/getRules',
method: 'get'
})
}
// 添加积分规则
export function settingIntegralRule(data) {
return request({
url: '/integral/setRules',
method: 'put',
data
})
}
// 保存积分规则
export function saveIntegralRules(data) {
return request({
url: '/integral/updateRules',
method: 'put',
data
})
}
// 删除积分规则
export function deleteIntegralRule(params) {
return request({
url: '/integral/delRules',
method: 'delete',
params
})
}
// 积分消费规则
export function integralConsumeRule() {
return request({
url: '/integral/getConsumptionRule',
method: 'get'
})
}
// 设置积分消费规则
export function settingIntegralConsumeRule(data) {
return request({
url: '/integral/consumptionRule',
method: 'post',
data
})
}
\ No newline at end of file
/**
* 库存管理
*/
import request from '@/utils/request'
// 万科后台_入库查询分页
export function getInboundRecordList(params) {
return request({
url: 'vankeInboundRecord/list',
method: 'get',
params
})
}
// 万科后台_出库查询分页操作
export function getOutboundRecordList(params) {
return request({
url: 'vankeOutboundRecord/list',
method: 'get',
params
})
}
// 万科后台_库房分页操作
export function getStockRooms(params) {
return request({
url: 'vankeStockRoom/list',
method: 'get',
params
})
}
// 万科后台_库房插入操作
export function addDepartment(params) {
return request({
url: 'vankeStockRoom/insertDepartment',
method: 'post',
params
})
}
// 万科后台_根据库房id修改一条数据
export function editDepartment(params) {
return request({
url: 'vankeStockRoom/updateDepartment',
method: 'post',
params
})
}
// 万科后台_物品类别分页操作
export function getGoodsCategoryList(params) {
return request({
url: 'vankeGoodsCategory/list',
method: 'get',
params
})
}
// 万科后台_物品类别插入操作
export function addGoodsCategory(params) {
return request({
url: 'vankeGoodsCategory/insertGoodsCategory',
method: 'post',
params
})
}
// 万科后台_根据物品类别id修改一条数据
export function editGoodsCategory(params) {
return request({
url: 'vankeGoodsCategory/updateGoodsCategory',
method: 'post',
params
})
}
// 万科后台_物品分页操作
export function getGoodsList(params) {
return request({
url: 'vankeGoods/list',
method: 'get',
params
})
}
// 万科后台_物品插入操作(单条)
export function addGoods(params) {
return request({
url: 'vankeGoods/insertGoods',
method: 'post',
params
})
}
// 万科后台_插入多条物品信息
export function addGoodList(data) {
return request({
url: 'vankeGoods/insertVankeGoodsList',
method: 'post',
data
})
}
// 万科后台_部门分页操作
export function getDepartmentList(params) {
return request({
url: 'vankeDepartment/list',
method: 'get',
params
})
}
// 万科后台_部门插入操作
export function addDepart(params) {
return request({
url: 'vankeDepartment/insertDepartment',
method: 'post',
params
})
}
// 万科后台_根据部门id修改一条数据
export function editDepart(params) {
return request({
url: 'vankeDepartment/updateDepartment',
method: 'post',
params
})
}
import request from '@/utils/request'
// 配送方式列表
export function fetchExpresses (params) {
return request({
url: '/expresses',
method: 'get',
params: {mchtId:params}
})
}
// 安装/卸载配送方式
export function postExpresses (params) {
return request({
url: '/expresses',
method: 'post',
params:params,
})
}
// 查询商家所有的快递
export function allExpresses (params) {
return request({
url: '/expresses/business',
method: 'get',
params: params
})
}
// 快递鸟账号配置
export function kuaidn (data) {
return request({
url: '/expresses/kuaidn',
method: 'post',
data: data
})
}
\ No newline at end of file
import request from '@/utils/request'
// 生成验证码,返回的是 base64
export function getCaptchaImage() {
return request({
url: '/validateCode/getCaptchaBase64',
method: 'get',
})
}
export function login(username, password,authCode) {
return request({
url: '/admin/login',
method: 'post',
data: {
username,
password,
authCode
}
})
}
export function getInfo() {
return request({
url: '/admin/info',
method: 'get',
})
}
export function logout() {
return request({
url: '/admin/logout',
method: 'post'
})
}
export function fetchList(params) {
return request({
url: '/admin/list',
method: 'get',
params: params
})
}
export function createAdmin(data) {
return request({
url: '/admin/register',
method: 'post',
data: data
})
}
export function updateAdmin(id, data) {
return request({
url: '/admin/update/' + id,
method: 'post',
data: data
})
}
export function updateStatus(id, params) {
return request({
url: '/admin/updateStatus/' + id,
method: 'post',
params: params
})
}
export function deleteAdmin(id) {
return request({
url: '/admin/delete/' + id,
method: 'post'
})
}
export function getRoleByAdmin(id) {
return request({
url: '/admin/role/' + id,
method: 'get'
})
}
export function allocRole(data) {
return request({
url: '/admin/role/update',
method: 'post',
data: data
})
}
// 下面部分为自主添加
export function register(data) {
return request({
url: '/admin/register',
method: 'post',
data: data
})
}
export function fetchSupplierList(data) {
return request({
url: '/admin/list',
method: 'get',
params: data
})
}
export function updateUser(userId, data) {
return request({
url: '/admin/update/' + userId,
method: 'post',
data
})
}
export function updatePassword(data) {
return request({
url: '/admin/updatePwd',
method: 'post',
data
})
}
export function updateBindPhone(data) {
return request({
url: '/admin/updateBindPhone',
method: 'post',
data
})
}
//用户日志列表
export function logRequest(params) {
return request({
url: '/admin/login/list',
method: 'get',
params: params
})
}
import request from '@/utils/request'
// 自定义栏目列表
export function marketMenuList(params) {
return request({
url: '/custom/column/list',
method: 'get',
params
})
}
// 添加自定义栏目
export function createMarketMenu(data) {
return request({
url: '/custom/column/add',
method: 'put',
data
})
}
// 编辑自定义栏目
export function updateMarketMenu(data) {
return request({
url: '/custom/column/update',
method: 'put',
data
})
}
\ No newline at end of file
import request from '@/utils/request'
// 获取会员等级列表
export function memberLevelList(params) {
return request({
url: '/memberLevels',
method: 'get',
params: params
})
}
// 添加修改会员等级
export function editMemberLevel(data) {
return request({
url: '/memberLevels',
method: 'post',
data
})
}
// 删除会员等级
export function deleteMemberLevel(id) {
return request({
url: '/memberLevels/' + id,
method: 'delete'
})
}
// 会员升级汇总
export function memberUpgradeList(params) {
return request({
url: '/memberLevels/upgrade/record',
method: 'get',
params
})
}
// 会员等级即将到期汇总
export function memberLevelExpireList(params) {
return request({
url: '/memberLevels/due/record',
method: 'get',
params
})
}
// 会员列表
export function memberList(params) {
return request({
url: '/member/memberList',
method: 'get',
params: params
})
}
// 获取会员详情
export function memberDetail(params) {
return request({
url: '/member/selectById',
method: 'get',
params
})
}
// 会员列表-禁用 启用
export function setAccount(params) {
return request({
url: '/member/setAccount',
method: 'put',
params: params
})
}
// 会员列表-手动充值
export function memberRecharge(data) {
return request({
url: '/member/account/manual/recharge',
method: 'post',
data: data
})
}
// 会员充值汇总列表
export function memberRechargeList(params) {
return request({
url: '/member/account/amount/history/summary',
method: 'get',
params
})
}
// 会员账户资金列表
export function memberAccountFundsList(params) {
return request({
url: '/member/account/amount',
method: 'get',
params
})
}
// 会员账户资金明细
export function memberAccountFundsDetail(params) {
return request({
url: '/member/account',
method: 'get',
params
})
}
// 实名认证列表
export function certificationList(params) {
return request({
url: '/member/list',
method: 'get',
params
})
}
// 实名审核
export function certificationAudit(data) {
return request({
url: '/member/submit',
method: 'post',
data
})
}
// 更换手机列表
export function changePhoneList(params) {
return request({
url: '/member/phone/list',
method: 'get',
params
})
}
// 更换手机审核
export function changePhoneAudit(params) {
return request({
url: '/member/phone/review',
method: 'get',
params
})
}
// 会员标签列表
export function memberLabelList(params) {
return request({
url: '/member/tags',
method: 'get',
params
})
}
// 新增会员标签
export function createMemberLabel(data) {
return request({
url: '/member/tags',
method: 'post',
data
})
}
// 修改会员标签
export function updateMemberLabel(data) {
return request({
url: '/member/tags',
method: 'put',
data
})
}
// 删除会员标签
export function deleteMemberLabel(id) {
return request({
url: '/member/tags/' + id,
method: 'delete'
})
}
// 获取指定会员标签数据
export function memberLabelData(memberId) {
return request({
url: '/member/member/tags/' + memberId,
method: 'get'
})
}
// 修改指定会员标签
export function updateMemberLabelData(data) {
return request({
url: '/member/member/tags',
method: 'put',
data
})
}
// 会员积分列表
export function memberIntegralList(params) {
return request({
url: '/integral/list',
method: 'get',
params
})
}
// 会员积分记录
export function memberIntegralRecord(params) {
return request({
url: '/integral/record',
method: 'get',
params
})
}
// 会员分销层级列表
export function memberRetailList(params) {
return request({
url: '/hierarchy/list',
method: 'get',
params
})
}
// 会员分销下级列表
export function memberRetailChildrenList(params) {
return request({
url: '/hierarchy/lowers',
method: 'get',
params
})
}
// 会员业绩
export function memberAchievementList(params) {
return request({
url: '/member/settlement/achievementList',
method: 'get',
params
})
}
import request from '@/utils/request'
export function fetchList(parentId, params) {
return request({
url: '/menu/list/' + parentId,
method: 'get',
params: params
})
}
export function deleteMenu(id) {
return request({
url: '/menu/delete/' + id,
method: 'post'
})
}
export function createMenu(data) {
return request({
url: '/menu/create',
method: 'post',
data: data
})
}
export function updateMenu(id, data) {
return request({
url: '/menu/update/' + id,
method: 'post',
data: data
})
}
export function getMenu(id) {
return request({
url: '/menu/' + id,
method: 'get',
})
}
export function updateHidden(id, params) {
return request({
url: '/menu/updateHidden/' + id,
method: 'post',
params: params
})
}
export function fetchTreeList(params) {
return request({
url: '/menu/treeList',
method: 'get',
params
})
}
import request from '@/utils/request'
// 根据分类id 获取类型属性以及规格
export function getAttributeParams(params) {
return request({
url: 'productAttribute/type/getAttributeType',
method: 'get',
params
})
}
// 获取所有商品分类 (默认不传分页参数则不分页查询)
export function getAttributeCategoryList(params) {
return request({
url: 'productAttribute/category/getAttributeCategoryList',
method: 'get',
params: params
})
}
// 获取子标签列表
export function getLabelList(data) {
return request({
url: '/label/getLabelList',
method: 'post',
params: data
})
}
// 获取商品标签列表
export function getProductLableList(data) {
return request({
url: '/label/getProductLableList',
method: 'post',
params: data
})
}
// 删除
export function fetchList(params) {
return request({
url: '/home/newProduct/list',
method: 'get',
params: params
})
}
export function updateRecommendStatus(data) {
return request({
url: '/home/newProduct/update/recommendStatus',
method: 'post',
data: data
})
}
export function deleteNewProduct(data) {
return request({
url: '/home/newProduct/delete',
method: 'post',
data: data
})
}
export function createNewProduct(data) {
return request({
url: '/home/newProduct/create',
method: 'post',
data: data
})
}
export function updateNewProductSort(params) {
return request({
url: '/home/newProduct/update/sort/' + params.id,
method: 'post',
params: params
})
}
export function saveManualAttribute(params) {
return request({
url: '/productAttribute/saveManualAttribute',
method: 'post',
data: params
})
}
import request from '@/utils/request'
// 查询订单
export function fetchList(params) {
return request({
url: '/order/list',
method: 'get',
params: params
})
}
export function closeOrder(params) {
return request({
url: '/order/update/close',
method: 'post',
params: params
})
}
export function deleteOrder(params) {
return request({
url: '/order/delete',
method: 'post',
params: params
})
}
export function deliveryOrder(data) {
return request({
url: '/order/update/delivery',
method: 'post',
data: data
});
}
export function getOrderDetail(id) {
return request({
url: '/order/' + id,
method: 'get'
});
}
export function updateReceiverInfo(data) {
return request({
url: '/order/update/receiverInfo',
method: 'post',
data: data
});
}
export function updateMoneyInfo(data) {
return request({
url: '/order/update/moneyInfo',
method: 'post',
data: data
});
}
export function updateOrderNote(params) {
return request({
url: '/order/update/note',
method: 'post',
params: params
})
}
// 确认订单
export function confirmOrder(id) {
return request({
url: '/order/confirm/' + id,
method: 'post'
})
}
// 放弃订单
export function giveUpOrder(params) {
return request({
url: '/order/update/close',
method: 'post',
params: params
})
}
// 生成发货单
export function createInvoice(id) {
return request({
url: '/order/invoice/' + id,
method: 'post'
})
}
// 发货订单
export function invoiceList(params) {
return request({
url: '/order/invoice/list',
method: 'get',
params: params
})
}
// 退货订单
export function refundList(params) {
return request({
url: '/returnApply/list',
method: 'get',
params: params
})
}
// 取消发货
export function cancelDelivery(params) {
return request({
url: '/order/cancel/delivery',
method: 'post',
params: params
})
}
\ No newline at end of file
import request from '@/utils/request'
export function getOrderSetting(id) {
return request({
url:'/orderSetting/'+id,
method:'get',
})
}
export function updateOrderSetting(id,data) {
return request({
url:'/orderSetting/update/'+id,
method:'post',
data:data
})
}
import request from '@/utils/request'
export function policy() {
return request({
url:'/aliyun/oss/policy',
method:'get',
})
}
import request from '@/utils/request'
// 自有分类列表
export function fetchOwnClassifyList(params) {
return request({
url: '/mchtCagegory/list',
method: 'post',
params: params
})
}
// 添加自有分类
export function createOwnClassify(data) {
return request({
url: '/mchtCagegory/create',
method: 'post',
data: data
})
}
// 获取自有分类
export function getOwnClassify(data) {
return request({
url: '/mchtCagegory/updateInfo',
method: 'post',
params: data
})
}
// 修改自有分类
export function updateOwnClassify(data) {
return request({
url: '/mchtCagegory/update',
method: 'post',
data: data
})
}
// 删除自有分类
export function deleteOwnClassify(data) {
return request({
url: '/mchtCagegory/delete',
method: 'post',
data: data
})
}
// 转移商品
export function moveGoods(params) {
return request({
url: '/mchtCagegory/updateMoveMchtPoruct',
method: 'post',
params: params
})
}
\ No newline at end of file
import request from '@/utils/request'
export function fetchList() {
return request({
url:'/prefrenceArea/listAll',
method:'get',
})
}
import request from '@/utils/request'
// 查询商品
export function getProductAllList(params) {
return request({
url: '/product/getPageList',
method: 'post',
params: params
})
}
// 根据商品名称或货号模糊查询
export function getProductList(params) {
return request({
url: '/product/simpleList',
method: 'get',
params: params
})
}
// 批量修改删除状态
export function deleteProduct(data) {
return request({
url: '/product/batchOperationByDelete',
method: 'post',
data: data
})
}
// 批量上下架 上架状态:0->下架;1->上架
export function updatePublishStatus(data) {
return request({
url: 'product/batchOperationByPublishStatus',
method: 'post',
data: data
})
}
// 复制商品
export function getCopyProduct(data) {
return request({
url: '/product/saveCopyProduct?productId=' + data.productId,
method: 'post',
data: data
})
}
// 批量移动商品到新分类
export function updateProductCategory(data) {
return request({
url: '/product/updateMoveProduct?productIds=' + data.productIds + '&categoryIdI=' + data.categoryIdI + '&categoryIdIi=' + data.categoryIdIi + '&categoryIdIii=' + data.categoryIdIii,
method: 'post',
data: data
})
}
// 批量修改审核状态
export function updateVerifyStatus(data) {
return request({
url: '/product/update/verifyStatus?ids=' + data.ids + '&verifyStatus=' + data.verifyStatus + '&detail=' + data.detail,
method: 'post',
data: data
})
}
// 获取商家所有子标签
export function getProductSubLableList(data) {
return request({
url: '/label/getProductSubLableList?mchtId=' + data.mchtId + '&pageNum=' + data.pageNum + '&pageSize=' + data.pageSize,
method: 'post',
data: data
})
}
// 批量修改商品标签
export function updateProductLabel(data) {
return request({
url: '/product/updateProductLabel',
method: 'post',
data: data
})
}
// 删除
export function fetchList(params) {
return request({
url: '/product/list',
method: 'get',
params: params
})
}
export function fetchSimpleList(params) {
return request({
url: '/product/simpleList',
method: 'get',
params: params
})
}
export function updateDeleteStatus(params) {
return request({
url: '/product/update/deleteStatus',
method: 'post',
params: params
})
}
export function updateNewStatus(params) {
return request({
url: '/product/update/newStatus',
method: 'post',
params: params
})
}
export function updateRecommendStatus(params) {
return request({
url: '/product/update/recommendStatus',
method: 'post',
params: params
})
}
// 创建商品
export function createProduct(data) {
return request({
url: '/product/addProduct',
method: 'post',
data: data
})
}
export function updateProduct(data) {
return request({
url: 'product/update',
method: 'post',
data: data
})
}
export function getProduct(params) {
return request({
url: 'product/getProductInfo',
method: 'get',
params
})
}
// 获取商品的关联商品
export function productRecommendList(params) {
return request({
url: '/recommend/productRecommendList',
method: 'post',
params: params
})
}
import request from '@/utils/request'
// 获取全部相册列表
export function getAlbumList (params) {
return request({
url: '/Album/listAll',
method: 'get',
params: params
})
}
// 创建相册
export function createAlbum (data) {
return request({
url: '/Album/create',
method: 'post',
data: data
})
}
// 更新相册
export function updateAlbum (id, data) {
return request({
url: '/Album/update/' + id,
method: 'post',
data: data
})
}
// 删除相册
export function deleteAlbum (data) {
return request({
url: '/Album/delete',
method: 'post',
params: data
})
}
// 获取相册图片列表
export function getAlbumPicAll (params) {
return request({
url: '/Album/listPicAll',
method: 'get',
params: params
})
}
// 添加相册图片
export function createAlbumPic (data) {
return request({
url: '/Album/createAlbumPic',
method: 'post',
data: data
})
}
// 删除图片
export function deleteAlbumPic (data) {
return request({
url: '/Album/deleteAlbumPic',
method: 'get',
params: data
})
}
// 转移相册
export function changePicAlbum (data) {
return request({
url: '/Album/updateMoveAlbum',
method: 'post',
params: data
})
}
import request from '@/utils/request'
export function fetchList(cid, params) {
return request({
url: '/productAttribute/list/' + cid,
method: 'get',
params: params
})
}
export function deleteProductAttr(data) {
return request({
url: '/productAttribute/delete',
method: 'post',
data: data
})
}
export function createProductAttr(data) {
return request({
url: '/productAttribute/create',
method: 'post',
data: data
})
}
export function updateProductAttr(id, data) {
return request({
url: '/productAttribute/update/' + id,
method: 'post',
data: data
})
}
export function getProductAttr(id) {
return request({
url: '/productAttribute/' + id,
method: 'get'
})
}
export function getProductAttrInfo(productCategoryId) {
return request({
url: '/productAttribute/attrInfo/' + productCategoryId,
method: 'get'
})
}
\ No newline at end of file
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/productAttribute/category/list',
method:'get',
params:params
})
}
export function createProductAttrCate(data) {
return request({
url:'/productAttribute/category/create',
method:'post',
data:data
})
}
export function deleteProductAttrCate(id) {
return request({
url:'/productAttribute/category/delete/'+id,
method:'get'
})
}
export function updateProductAttrCate(id,data) {
return request({
url:'/productAttribute/category/update/'+id,
method:'post',
data:data
})
}
export function fetchListWithAttr() {
return request({
url:'/productAttribute/category/list/withAttr',
method:'get'
})
}
import request from '@/utils/request'
// 查询历史分类
export function getListCategoryHistory(params) {
return request({
url: '/productCategory/listCategoryHistory',
method: 'get',
params
})
}
// 查询所有一级分类及子分类
export function getProductCategory(params) {
return request({
url: '/api/z/productCategory/list/withChildren',
method: 'get',
params
})
}
// 分页分类及子分类
export function fetchList(params) {
return request({
url: '/productCategory/list',
method: 'get',
params
})
}
// 可删除
export function deleteProductCate(id) {
return request({
url: '/productCategory/delete/' + id,
method: 'post'
})
}
export function createProductCate(data) {
return request({
url: '/productCategory/create',
method: 'post',
data: data
})
}
export function updateProductCate(id, data) {
return request({
url: '/productCategory/update/' + id,
method: 'post',
data: data
})
}
export function getProductCate(id) {
return request({
url: '/productCategory/' + id,
method: 'get',
})
}
export function updateShowStatus(data) {
return request({
url: '/productCategory/update/showStatus',
method: 'post',
data: data
})
}
export function updateNavStatus(data) {
return request({
url: '/productCategory/update/navStatus',
method: 'post',
data: data
})
}
export function getMchtCategory(params) {
return request({
url: '/productCategory/getMchtBusiiCategoryList',
method: 'post',
params: params
})
}
\ No newline at end of file
import request from '@/utils/request'
// 满减列表
export function reductionList(params) {
return request({
url: '/full/reductions',
method: 'get',
params
})
}
// 添加满减
export function createReduction(data) {
return request({
url: '/full/reductions',
method: 'post',
data
})
}
// 修改满减
export function updateReduction(data) {
return request({
url: '/full/reductions',
method: 'put',
data
})
}
// 满减详情
export function reductionDetail(id) {
return request({
url: '/full/reductions/' + id,
method: 'get'
})
}
// 删除满减
export function deleteReduction(id) {
return request({
url: '/full/reductions/' + id,
method: 'delete'
})
}
\ No newline at end of file
import request from '@/utils/request'
// 万科后台_根据物品id 以及时间list 查询这个时间段内每天的领用情况
export function getRecipientList(data) {
return request({
url: 'vankeStatisticalChart/selectGoodsCollection',
method: 'post',
data
})
}
// 万科后台_根据物品id 以及时间list 查询这个时间段内每天的库存信息
export function getInventoryList(data) {
return request({
url: 'vankeStatisticalChart/OutVankeGoodsStockChange',
method: 'post',
data
})
}
import request from '@/utils/request'
//获取处罚设置
export function getOne (params) {
return request({
url: '/report/punishment/getOne',
method: 'get',
params
})
}
// 修改举报处罚设置
export function updatePunishment (data) {
return request({
url: '/report/punishment/update',
method: 'post',
data
})
}
\ No newline at end of file
import request from '@/utils/request'
//获取举报类型
export function fetchrePortTypeList (params) {
return request({
url: '/report/type/getList',
method: 'get',
params: params
})
}
//举报主题列表
export function fetchreThemeList (params) {
return request({
url: '/report/theme/getList',
method: 'get',
params: params
})
}
// 举报主题详情
export function themeDetail (params) {
return request({
url: '/report/theme/detail',
method: 'get',
params: params
})
}
// 添加举报主题
export function addTheme (data) {
return request({
url: '/report/theme/add',
method: 'post',
data: data
})
}
// 删除举报主题
export function deleteTheme (data) {
return request({
url: '/report/theme/delete',
method: 'get',
params: data
})
}
// 修改举报主题
export function updateTheme (data) {
return request({
url: '/report/theme/update',
method: 'post',
data: data
})
}
\ No newline at end of file
import request from '@/utils/request'
//举报列表
export function fetchrePortTypeList (params) {
return request({
url: '/report/type/getList',
method: 'get',
params: params
})
}
// 举报类型详情查询
export function typeDetail (params) {
return request({
url: '/report/type/detail',
method: 'get',
params: params
})
}
// 添加举报类型
export function addType (data) {
return request({
url: '/report/type/add',
method: 'post',
data: data
})
}
// 删除举报类型
export function deleteType (data) {
return request({
url: '/report/type/delete',
method: 'get',
params: data
})
}
// 修改举报类型
export function updateType (data) {
return request({
url: '/report/type/update',
method: 'post',
data: data
})
}
\ No newline at end of file
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/resource/list',
method: 'get',
params: params
})
}
export function createResource(data) {
return request({
url: '/resource/create',
method: 'post',
data: data
})
}
export function updateResource(id, data) {
return request({
url: '/resource/update/' + id,
method: 'post',
data: data
})
}
export function deleteResource(id) {
return request({
url: '/resource/delete/' + id,
method: 'post'
})
}
export function fetchAllResourceList() {
return request({
url: '/resource/listAll',
method: 'get'
})
}
import request from '@/utils/request'
export function listAllCate(data) {
return request({
url: '/resourceCategory/listAll',
method: 'get',
params: data
})
}
export function createResourceCategory(data) {
return request({
url: '/resourceCategory/create',
method: 'post',
data: data
})
}
export function updateResourceCategory(id, data) {
return request({
url: '/resourceCategory/update/' + id,
method: 'post',
data: data
})
}
export function deleteResourceCategory(id) {
return request({
url: '/resourceCategory/delete/' + id,
method: 'post'
})
}
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/returnApply/list',
method:'get',
params:params
})
}
export function deleteApply(params) {
return request({
url:'/returnApply/delete',
method:'post',
params:params
})
}
export function updateApplyStatus(id,data) {
return request({
url:'/returnApply/update/status/'+id,
method:'post',
data:data
})
}
export function getApplyDetail(id) {
return request({
url:'/returnApply/'+id,
method:'get'
})
}
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/returnReason/list',
method: 'get',
params: params
})
}
export function deleteReason(params) {
return request({
url: '/returnReason/delete',
method: 'post',
params: params
})
}
export function updateStatus(params) {
return request({
url: '/returnReason/update/status',
method: 'post',
params: params
})
}
export function addReason(data) {
return request({
url: '/returnReason/create',
method: 'post',
data: data
})
}
export function getReasonDetail(id) {
return request({
url: '/returnReason/' + id,
method: 'get'
})
}
export function updateReason(id, data) {
return request({
url: '/returnReason/update/' + id,
method: 'post',
data: data
})
}
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/role/list',
method: 'get',
params: params
})
}
export function createRole(data) {
return request({
url: '/role/create',
method: 'post',
data: data
})
}
export function updateRole(id, data) {
return request({
url: '/role/update/' + id,
method: 'post',
data: data
})
}
export function updateStatus(id, params) {
return request({
url: '/role/updateStatus/' + id,
method: 'post',
params: params
})
}
export function deleteRole(data) {
return request({
url:'/role/delete',
method:'post',
data:data
})
}
export function fetchAllRoleList() {
return request({
url: '/role/listAll',
method: 'get'
})
}
export function listMenuByRole(roleId) {
return request({
url: '/role/listMenu/'+roleId,
method: 'get'
})
}
export function listResourceByRole(roleId) {
return request({
url: '/role/listResource/'+roleId,
method: 'get'
})
}
export function allocMenu(data) {
return request({
url: '/role/allocMenu',
method: 'post',
data:data
})
}
export function allocResource(data) {
return request({
url: '/role/allocResource',
method: 'post',
data:data
})
}
import request from '@/utils/request'
// 服务商入驻设置
export function serviceSettledSetting() {
return request({
url: '/paramset/list',
method: 'get'
})
}
// 入驻必填设置
export function serviceSettledMust(params) {
return request({
url: '/paramset/must',
method: 'put',
params
})
}
// 入驻启用设置
export function serviceSettledStatus(params) {
return request({
url: '/paramset/start',
method: 'put',
params
})
}
// 服务商类目
export function serviceClassifyList(params) {
return request({
url: '/serviceCategory/list',
method: 'get',
params
})
}
// 添加服务商类目
export function createServiceClassify(data) {
return request({
url: '/serviceCategory/add',
method: 'put',
data
})
}
// 修改服务商类目
export function updateServiceClassify(data) {
return request({
url: '/serviceCategory/update',
method: 'put',
data
})
}
// 删除服务商类目
export function deleteServiceClassify(params) {
return request({
url: '/serviceCategory/del',
method: 'delete',
params
})
}
// 服务商分类服务转移
export function moveClassifyService(params) {
return request({
url: '/serviceCategory/transfer',
method: 'put',
params
})
}
// 服务商账号列表
export function serviceAccountList(params) {
return request({
url: '/servicemcht/auditlist',
method: 'get',
params
})
}
// 服务商账号受理
export function serviceAccountCase(data) {
return request({
url: '/servicemcht/accept',
method: 'put',
data
})
}
// 服务商账号审核
export function serviceAccountAudit(data) {
return request({
url: '/servicemcht/audit',
method: 'put',
data
})
}
// 服务商账号详情
export function serviceAccountInfo(params) {
return request({
url: '/servicemcht/auditDetail',
method: 'get',
params
})
}
// 修改服务商账号信息
export function updateServiceAccount(data) {
return request({
url: '/servicemcht/updateAudit',
method: 'put',
data
})
}
// 服务商店铺列表
export function serviceShopList(params) {
return request({
url: '/servicemcht/shopInfoList',
method: 'get',
params
})
}
// 服务商店铺审核
export function serviceShopAudit(data) {
return request({
url: '/servicemcht/auditShop',
method: 'put',
data
})
}
// 服务商店铺详情
export function serviceShopDetail(params) {
return request({
url: '/servicemcht/shopDetail',
method: 'get',
params
})
}
// 修改服务商店铺信息
export function updateServiceShop(data) {
return request({
url: '/servicemcht/updateShop',
method: 'put',
data
})
}
// 服务列表
export function serviceList(params) {
return request({
url: '/smcht/list',
method: 'get',
params
})
}
// 服务审核
export function serviceAudit(params) {
return request({
url: '/smcht/audit',
method: 'put',
params
})
}
// 服务详情
export function serviceDetail(params) {
return request({
url: '/smcht/detail',
method: 'get',
params
})
}
// 服务上架
export function serviceOn(params) {
return request({
url: '/smcht/put',
method: 'put',
params
})
}
// 服务下架
export function serviceOff(params) {
return request({
url: '/smcht/down',
method: 'put',
params
})
}
// 修改服务
export function updateService(data) {
return request({
url: '/smcht/update',
method: 'put',
data
})
}
\ No newline at end of file
import request from '@/utils/request'
// 万科后台_得到一条系统配置信息
export function getSetting(params) {
return request({
url: 'vankeConfig/getOne',
method: 'get',
params
})
}
// 万科后台_修改配置信息
export function editSetting(data) {
return request({
url: 'vankeConfig/insertAndUpdateConfig',
method: 'post',
data
})
}
import request from '@/utils/request'
// 供应商结算数据列表
export function settleList (params) {
return request({
url: '/settlement',
method: 'get',
params
})
}
// 结算数据明细
export function settleDetailList (params) {
return request({
url: '/settlement/detail',
method: 'get',
params
})
}
// 结算数据统计
export function settleData (id) {
return request({
url: '/settlement/detail/info/' + id,
method: 'get'
})
}
\ No newline at end of file
import request from '@/utils/request'
// 店铺等级列表
export function shopLevelList() {
return request({
url: '/shop/level/list',
method: 'get'
})
}
// 添加店铺等级
export function createShopLevel(data) {
return request({
url: '/shop/level/add',
method: 'put',
data
})
}
// 获取店铺等级信息
export function shopLevelDetail(params) {
return request({
url: '/shop/level/detail',
method: 'get',
params
})
}
// 修改店铺等级信息
export function updateShopLevel(data) {
return request({
url: '/shop/level/update',
method: 'put',
data
})
}
// 删除店铺等级
export function deleteShopLevel(params) {
return request({
url: '/shop/level/del',
method: 'delete',
params
})
}
// 设置默认店铺等级
export function settingDefaultShopLevel(params) {
return request({
url: '/shop/level/default',
method: 'put',
params
})
}
// 启用禁用店铺等级
export function settingStatusShopLevel(params) {
return request({
url: '/shop/level/start',
method: 'put',
params
})
}
// 店铺评分列表
export function shopScoreList(params) {
return request({
url: '/mcht/comment/list',
method: 'get',
params
})
}
// 店铺评论明细
export function shopScoreRecord(params) {
return request({
url: '/mcht/comment/detail',
method: 'get',
params
})
}
\ No newline at end of file
import request from '@/utils/request'
// 商铺分类列表
export function shopClassifyList(params) {
return request({
url: '/mchtPlat/list',
method: 'post',
params
})
}
// 创建商铺分类
export function createShopClassify(params) {
return request({
url: '/mchtPlat/create',
method: 'post',
data: params
})
}
// 删除商铺分类
export function deleteShopClassify(params) {
return request({
url: '/mchtPlat/delete',
method: 'post',
params
})
}
\ No newline at end of file
import request from '@/utils/request'
//获取档口列表
export function getStallList(params) {
return request({
url: '/stall/list',
method: 'post',
params: params
})
}
//添加档口位置数据
export function createStall(data) {
return request({
url: '/stall/save',
method: 'post',
data: data
})
}
//修改档口位置数据
export function updateStall(data) {
return request({
url: '/stall/update',
method: 'post',
data: data
})
}
//删除档口位置数据
export function deleteStall(data) {
return request({
url: '/stall/delete',
method: 'post',
params: data
})
}
//根据编号查询档口
export function stallInfo(data) {
return request({
url: '/stall/stallInfo',
method: 'post',
data: data
})
}
//档口分区名称获取
export function getStallAreaList(params) {
return request({
url: '/stall/getStallAreaList',
method: 'post',
params: params
})
}
\ No newline at end of file
import request from '@/utils/request'
export function fetchList(pid,params) {
return request({
url:'/sku/'+pid,
method:'get',
params:params
})
}
export function update(pid,data) {
return request({
url:'/sku/update/'+pid,
method:'post',
data:data
})
}
/**
* 短信发送
*/
import request from '@/utils/request'
export function sendSms(phone) {
return request({
url:'/sms/sendSms',
method:'post',
params:{phone:phone}
})
}
\ No newline at end of file
/**
* 档口位置管理
*/
import request from '@/utils/request'
export function getProvinceStallList(provinceId) {
var obj = null;
if (provinceId) {
obj = {provinceId:provinceId};
}
return request({
url:'/stall/getProvinceStallList',
method:'post',
params:obj
})
}
export function getStallAreaList(stallId) {
return request({
url:'/stall/getStallAreaList',
method:'post',
params:{stallId:stallId}
})
}
import request from '@/utils/request'
export function fetchListAll() {
return request({
url:'/subject/listAll',
method:'get',
})
}
export function fetchList(params) {
return request({
url:'/subject/list',
method:'get',
params:params
})
}
/**
* 供应商资料
*/
import request from '@/utils/request'
// 万科后台_供应商分页操作
export function getSuppliersList(params) {
return request({
url: 'vankeSupplier/list',
method: 'get',
params
})
}
// 万科后台_供应商插入操作
export function addSupplier(params) {
return request({
url: 'vankeSupplier/insertSupplier',
method: 'post',
params
})
}
// 万科后台_根据供应商id修改一条数据
export function editSupplier(params) {
return request({
url: 'vankeSupplier/updateSupplier',
method: 'post',
params
})
}
// 万科后台_根据供应商id查询一条数据
export function getSupplierDetail(params) {
return request({
url: 'vankeSupplier/selectById',
method: 'get',
params
})
}
import request from '@/utils/request'
export function fetchList (params) {
return request({
url: '/label/list',
method: 'get',
params: params
})
}
export function createTagGroup (data) {
return request({
url: '/label/create',
method: 'post',
data: data
})
}
export function getTagGroup (id) {
return request({
url: '/label/updateInfo/' + id,
method: 'get',
})
}
export function updateTagGroup (id, data) {
return request({
url: '/label/update/' + id,
method: 'post',
data: data
})
}
export function deleteTagGroup (ids, status) {
return request({
url: '/label/update/deleteStatus?ids=' + ids + '&deleteStatus=' + status,
method: 'post',
})
}
export function fetchSupplierTagGroupList (data) {
return request({
url: '/label/getMchtLabelList',
method: 'get',
params: data
})
}
import request from '@/utils/request'
// 活动培训列表
export function trainList(params) {
return request({
url: '/activity/queryPageList',
method: 'get',
params
})
}
// 添加活动培训
export function createTrain(data) {
return request({
url: '/activity/add',
method: 'post',
data
})
}
// 活动培训详情
export function trainDetail(params) {
return request({
url: '/activity/details',
method: 'get',
params
})
}
// 修改活动培训
export function updateTrain(data) {
return request({
url: '/activity/update',
method: 'post',
data
})
}
// 删除活动培训
export function deleteTrain(params) {
return request({
url: '/activity/delete',
method: 'get',
params
})
}
// 活动培训报名情况
export function trainEnrollList(params) {
return request({
url: '/activity/viewHappening',
method: 'get',
params
})
}
// 确认培训报名情况
export function confirmTrainEnroll(data) {
return request({
url: '/activity/confirmStatus',
method: 'post',
data
})
}
\ No newline at end of file
/**
* 用户管理
*/
import request from '@/utils/request'
// 管理员列表查询
export function getAdminList(params) {
return request({
url: 'manage/queryPageList',
method: 'get',
params
})
}
// 万科后台_用户分页操作
export function getMemberList(params) {
return request({
url: 'umsMember/list',
method: 'get',
params
})
}
// 万科后台_设置为普通管理员
export function setUpAdmin(data) {
return request({
url: 'umsMember/setUpAdmin',
method: 'post',
data
})
}
// 万科后台_解除普通管理员
export function cancleAdmin(data) {
return request({
url: 'umsMember/cancleAdmin',
method: 'post',
data
})
}
<template>
<el-breadcrumb class="app-breadcrumb"
separator="/">
<transition-group name="breadcrumb">
<el-breadcrumb-item v-for="(item,index) in levelList"
:key="item.path">
<span v-if="item.redirect==='noredirect'||index==levelList.length-1"
class="no-redirect">{{item.meta.title}}</span>
<router-link v-else
:to="item.redirect||item.path">{{item.meta.title}}</router-link>
</el-breadcrumb-item>
</transition-group>
</el-breadcrumb>
</template>
<script>
export default {
created () {
this.getBreadcrumb()
},
data () {
return {
levelList: null
}
},
watch: {
$route () {
this.getBreadcrumb()
}
},
methods: {
getBreadcrumb () {
let matched = this.$route.matched.filter(item => item.name && item.meta.title)
const first = matched[0]
if (first && first.name !== 'home') {
matched = [{ path: '/home', meta: { title: '首页' } }].concat(matched)
}
this.levelList = matched
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.app-breadcrumb.el-breadcrumb {
display: inline-block;
font-size: 14px;
line-height: 50px;
margin-left: 10px;
.no-redirect {
color: #97a8be;
cursor: text;
}
}
</style>
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment