├── .env.uat ├── dist ├── favicon.ico ├── assets │ ├── img │ │ ├── 404.ed36f086.png │ │ ├── hmsj.e6fbf831.jpg │ │ ├── hwsj.5675d69e.png │ │ ├── logo.82b9c7a5.png │ │ ├── rysj.ec4492a7.png │ │ └── xmsj.9f46e996.jpg │ ├── js │ │ ├── app.9dfca5fc.js.gz │ │ ├── chunk-8068781c.7e335b3c.js.gz │ │ ├── chunk-vendors.26b5fff2.js.gz │ │ ├── NotFound.4ff9745b.js │ │ ├── chunk-0a92f016.3980df07.js │ │ ├── chunk-80583016.6bed9033.js │ │ ├── Login.7b4a11d0.js │ │ ├── chunk-a2a2a0d4.1a926496.js │ │ ├── chunk-7b4a5c87.1ca97efc.js │ │ ├── chunk-8068781c.7e335b3c.js │ │ └── app.9dfca5fc.js │ ├── fonts │ │ ├── element-icons.732389de.ttf │ │ └── element-icons.535877f5.woff │ └── css │ │ ├── chunk-80583016.0cf8dcee.css │ │ ├── NotFound.e8304330.css │ │ ├── Login.33e1ce1c.css │ │ └── app.27bdc53c.css └── index.html ├── .env.dev ├── .env.prod ├── .env.test ├── public ├── favicon.ico └── index.html ├── babel.config.js ├── src ├── assets │ ├── images │ │ ├── 404.png │ │ ├── hmsj.jpg │ │ ├── hwsj.png │ │ ├── logo.png │ │ ├── rysj.png │ │ ├── xmsj.jpg │ │ ├── c-logo.png │ │ └── logo-login.png │ ├── less │ │ └── nav.less │ └── css │ │ └── base.css ├── filter │ └── filters.js ├── App.vue ├── store │ └── index.js ├── main.js ├── views │ ├── goods │ │ ├── goodsDetail.vue │ │ ├── Form.vue │ │ ├── Table.vue │ │ ├── components │ │ │ └── AddedEditorDialog.vue │ │ └── goodsList.vue │ ├── error │ │ └── NotFound.vue │ ├── summarys │ │ └── index.vue │ ├── formValidation │ │ └── index.vue │ ├── Home.vue │ ├── upload │ │ └── index.vue │ └── login │ │ └── Login.vue ├── components │ ├── Pagination.vue │ ├── NavMenu.vue │ └── AdminHeader.vue ├── api │ └── api.js ├── request │ └── http.js └── router │ └── index.js ├── .gitignore ├── README.md ├── config └── config.js ├── vue.config.js └── package.json /.env.uat: -------------------------------------------------------------------------------- 1 | NODE_ENV='production' 2 | VUE_APP_CURRENTMODE='uat' 3 | VUE_APP_BASEURL='http://****/api/' -------------------------------------------------------------------------------- /dist/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/dist/favicon.ico -------------------------------------------------------------------------------- /.env.dev: -------------------------------------------------------------------------------- 1 | NODE_ENV='development' 2 | VUE_APP_CURRENTMODE='dev' 3 | VUE_APP_BASEURL='http://****/api/' -------------------------------------------------------------------------------- /.env.prod: -------------------------------------------------------------------------------- 1 | NODE_ENV='production' 2 | VUE_APP_CURRENTMODE='prod' 3 | VUE_APP_BASEURL='http://****/api/' -------------------------------------------------------------------------------- /.env.test: -------------------------------------------------------------------------------- 1 | NODE_ENV='production' 2 | VUE_APP_CURRENTMODE='test' 3 | VUE_APP_BASEURL='http://****/api/' -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /src/assets/images/404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/src/assets/images/404.png -------------------------------------------------------------------------------- /src/assets/images/hmsj.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/src/assets/images/hmsj.jpg -------------------------------------------------------------------------------- /src/assets/images/hwsj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/src/assets/images/hwsj.png -------------------------------------------------------------------------------- /src/assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/src/assets/images/logo.png -------------------------------------------------------------------------------- /src/assets/images/rysj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/src/assets/images/rysj.png -------------------------------------------------------------------------------- /src/assets/images/xmsj.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/src/assets/images/xmsj.jpg -------------------------------------------------------------------------------- /src/assets/images/c-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/src/assets/images/c-logo.png -------------------------------------------------------------------------------- /dist/assets/img/404.ed36f086.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/dist/assets/img/404.ed36f086.png -------------------------------------------------------------------------------- /dist/assets/img/hmsj.e6fbf831.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/dist/assets/img/hmsj.e6fbf831.jpg -------------------------------------------------------------------------------- /dist/assets/img/hwsj.5675d69e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/dist/assets/img/hwsj.5675d69e.png -------------------------------------------------------------------------------- /dist/assets/img/logo.82b9c7a5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/dist/assets/img/logo.82b9c7a5.png -------------------------------------------------------------------------------- /dist/assets/img/rysj.ec4492a7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/dist/assets/img/rysj.ec4492a7.png -------------------------------------------------------------------------------- /dist/assets/img/xmsj.9f46e996.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/dist/assets/img/xmsj.9f46e996.jpg -------------------------------------------------------------------------------- /dist/assets/js/app.9dfca5fc.js.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/dist/assets/js/app.9dfca5fc.js.gz -------------------------------------------------------------------------------- /src/assets/images/logo-login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/src/assets/images/logo-login.png -------------------------------------------------------------------------------- /dist/assets/fonts/element-icons.732389de.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/dist/assets/fonts/element-icons.732389de.ttf -------------------------------------------------------------------------------- /dist/assets/js/chunk-8068781c.7e335b3c.js.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/dist/assets/js/chunk-8068781c.7e335b3c.js.gz -------------------------------------------------------------------------------- /dist/assets/js/chunk-vendors.26b5fff2.js.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/dist/assets/js/chunk-vendors.26b5fff2.js.gz -------------------------------------------------------------------------------- /dist/assets/fonts/element-icons.535877f5.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/parchments/vue-admin-template/HEAD/dist/assets/fonts/element-icons.535877f5.woff -------------------------------------------------------------------------------- /dist/assets/css/chunk-80583016.0cf8dcee.css: -------------------------------------------------------------------------------- 1 | table[data-v-a02596f4]{margin:0 auto;font-size:20px}tr td[data-v-a02596f4]:first-child{text-align:right}tr td[data-v-a02596f4]:last-child{padding-left:20px;text-align:left} -------------------------------------------------------------------------------- /src/filter/filters.js: -------------------------------------------------------------------------------- 1 | import moment from "moment" // 导入格式化时间的模块 2 | 3 | //格式化时间 4 | let formatDate = (dateStr, formatStr = "YYYY-MM-DD HH:mm:ss") => { 5 | return moment(dateStr).format(formatStr) 6 | } 7 | 8 | export { formatDate } -------------------------------------------------------------------------------- /dist/assets/css/NotFound.e8304330.css: -------------------------------------------------------------------------------- 1 | .error-wrapper[data-v-e2d35cdc]{position:fixed;left:0;top:60px;bottom:0;width:100%;height:100%;padding:70px 0 100px;text-align:center;background:#fff;font-size:20px;color:#fff}.error-wrapper p[data-v-e2d35cdc]{color:#c67219} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | 4 | # local env files 5 | .env.local 6 | .env.*.local 7 | 8 | # Log files 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | 13 | # Editor directories and files 14 | .idea 15 | .vscode 16 | *.suo 17 | *.ntvs* 18 | *.njsproj 19 | *.sln 20 | *.sw? 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vue-admin-template 2 | 3 | ## Project setup 4 | ``` 5 | npm install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | npm run serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | npm run build 16 | ``` 17 | 18 | ### Customize configuration 19 | See [Configuration Reference](https://cli.vuejs.org/config/). 20 | -------------------------------------------------------------------------------- /config/config.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | let config = { 3 | /* 4 | * 后台返回状态码 5 | * RET_CODE: 0代表失败 1代表成功 6 | */ 7 | RET_CODE: { 8 | SUCCESS_CODE: 1,//后台返回成功的状态码 9 | ERROR_CODE: 0,//后台返回失败的状态码 10 | }, 11 | //分页设置 12 | paginationParams: { 13 | pageSize: 5,//每页的数量 14 | pageNo: 1,//当前页码 15 | size: 5,//当前页的数量 16 | total: 0, //总条数 17 | pages: 0,//总页码数 18 | } 19 | } 20 | export default config 21 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 19 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | vue-admin-template 10 | 11 | 12 | 13 | 17 |
18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | 4 | Vue.use(Vuex) 5 | 6 | export default new Vuex.Store({ 7 | state: { 8 | token: ''//token 9 | }, 10 | getters: { 11 | token: state => state.token 12 | }, 13 | mutations: { 14 | //设置token 15 | setToken (state, token) { 16 | if (token) { 17 | state.token = token 18 | } else { 19 | state.token = '' 20 | } 21 | } 22 | }, 23 | actions: { 24 | commitToken: ({ commit }, token) => { 25 | commit('setToken', token) 26 | } 27 | }, 28 | modules: { 29 | } 30 | }) 31 | -------------------------------------------------------------------------------- /dist/assets/css/Login.33e1ce1c.css: -------------------------------------------------------------------------------- 1 | #canvas[data-v-6531407c]{background:#111;z-index:1;position:absolute;left:0;top:0;width:100%;height:100%}.wrapper[data-v-6531407c]{min-height:100%;width:100%;background-color:#e9e9e9;overflow:hidden}.login-wrapper[data-v-6531407c]{position:relative;width:400px;max-width:100%;padding:160px 35px 0;margin:0 auto;overflow:hidden;z-index:2}.form-wrapper[data-v-6531407c]{position:fixed;left:0;top:0;width:100%;height:100%;z-index:100;background:rgba(0,0,0,.8)}.form-container[data-v-6531407c]{position:absolute;left:50%;top:50%;z-index:100;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);padding:10px 30px 20px;background:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box} -------------------------------------------------------------------------------- /src/assets/less/nav.less: -------------------------------------------------------------------------------- 1 | /* 导航样式 */ 2 | .el-menu { 3 | height: 100%; 4 | overflow: auto; 5 | background: #304156; 6 | } 7 | .el-menu-item,.el-submenu__title { 8 | height: auto !important; 9 | } 10 | .el-submenu { 11 | background: rgb(48, 65, 86); 12 | .el-submenu__title { 13 | color: rgb(191, 203, 217); 14 | text-align: left; 15 | &:hover { 16 | background: #001528 !important; 17 | } 18 | } 19 | } 20 | .el-menu-item { 21 | background: #1f2d3d !important; 22 | color: rgb(191, 203, 217) !important; 23 | text-align: left; 24 | &:hover { 25 | background: #001528 !important; 26 | } 27 | } 28 | .el-submenu .el-submenu__title { 29 | color: #bfcbd9; 30 | } 31 | .el-menu-item.is-active { 32 | color: #1890ff !important; 33 | } 34 | .el-submenu__title i { 35 | color: #bfcbd9 !important; 36 | font-size: 18px; 37 | } 38 | .el-menu-item [class^="fa"], 39 | .el-submenu [class^="fa"] { 40 | vertical-align: middle; 41 | margin-right: 10px; 42 | } -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import 'babel-polyfill' //ie空白 2 | import Vue from 'vue' 3 | import App from './App.vue' 4 | import router from './router' 5 | import store from './store' 6 | import Config from '../config/config' //后台返回状态码 7 | import * as filters from './filter/filters' //全局过滤器 8 | Object.keys(filters).forEach(key => { 9 | Vue.filter(key, filters[key]) 10 | }) 11 | 12 | import ElementUI from 'element-ui' 13 | import 'element-ui/lib/theme-chalk/index.css' 14 | import './assets/css/base.css' //基础样式 15 | import './assets/less/nav.less' //导航样式 16 | 17 | import Api from './api/api' //导入api接口 18 | import Axios from './request/http' //导入axios请求 19 | Vue.use(ElementUI) 20 | 21 | Vue.prototype.$api = Api //在vue上挂载api 22 | Vue.prototype.$axios = Axios 23 | Vue.prototype.$config = Config //配置信息 24 | console.log('NODE_ENV:', process.env.NODE_ENV) 25 | Vue.config.productionTip = false 26 | 27 | new Vue({ 28 | router, 29 | store, 30 | render: h => h(App) 31 | }).$mount('#app') 32 | -------------------------------------------------------------------------------- /dist/assets/js/NotFound.4ff9745b.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["NotFound"],{"3dfc":function(t,a,e){t.exports=e.p+"assets/img/404.ed36f086.png"},9518:function(t,a,e){"use strict";var r=e("a804"),n=e.n(r);n.a},a804:function(t,a,e){},d31a8:function(t,a,e){"use strict";e.r(a);var r=function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("section",[r("div",{staticClass:"error-wrapper"},[r("img",{staticClass:"mar-b-25",attrs:{src:e("3dfc"),alt:"404"}}),r("p",{staticClass:"mar-b-20"},[t._v("你的页面在沙漠里走丢了~")]),r("p",{staticClass:"mar-b-25"},[r("span",{staticStyle:{"font-size":"26px"}},[t._v(t._s(t.time))]),t._v(" 秒后将自动返回主页")]),r("router-link",{attrs:{to:"/"}},[r("el-button",{staticStyle:{background:"#D39056","border-color":"#D39056"},attrs:{type:"primary",round:""}},[t._v("返回主页")])],1)],1)])},n=[],s={name:"NotFound",data:function(){return{time:5}},created:function(){var t=this,a=setInterval((function(){t.time--,1===t.time&&(t.$router.push("/"),clearInterval(a))}),1e3)}},c=s,i=(e("9518"),e("5511")),o=Object(i["a"])(c,r,n,!1,null,"e2d35cdc",null);a["default"]=o.exports}}]); -------------------------------------------------------------------------------- /src/views/goods/goodsDetail.vue: -------------------------------------------------------------------------------- 1 | 21 | 22 | 39 | -------------------------------------------------------------------------------- /src/views/error/NotFound.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 37 | 55 | -------------------------------------------------------------------------------- /src/components/Pagination.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 49 | -------------------------------------------------------------------------------- /src/api/api.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 所有模块接口列表 3 | */ 4 | import axios from '../request/http' // 导入http中创建的axios实例 5 | 6 | //设置接口地址 7 | axios.defaults.baseURL = process.env.VUE_APP_BASEURL 8 | 9 | //系统模快 10 | const systemModule = { 11 | //登录 12 | login (params) { 13 | return axios.post("login", params) 14 | }, 15 | //商品管理 16 | goodsManage: { 17 | //列表新增 18 | add (params) { 19 | return axios.post("add", params) 20 | }, 21 | edit (params) { 22 | return axios.post("edit", params) 23 | }, 24 | //列表、查询 25 | getList (params) { 26 | return axios.post("goodList", params) 27 | }, 28 | //通过id获取数据 29 | getDataById (params) { 30 | return axios.post("getDataById", params) 31 | }, 32 | //批量删除 33 | getDataById (params) { 34 | return axios.post("batchEdit", params) 35 | } 36 | }, 37 | //上传图片、文件pdf、word、excel(如果一个接口能支持) 38 | uploadFile(params, config) { 39 | return axios.post('uploadFile', params, config) 40 | }, 41 | //上传(excel) 42 | batchImport(params, config) { 43 | return axios.post('batchImport', params, config) 44 | }, 45 | //获取下拉仓库 46 | getStorehouseName(params) { 47 | return axios.post("getStorehouseName", params) 48 | } 49 | } 50 | //导出接口 51 | export default { 52 | systemModule 53 | } 54 | -------------------------------------------------------------------------------- /dist/assets/js/chunk-0a92f016.3980df07.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-0a92f016"],{"415a":function(t,e,s){t.exports=s.p+"assets/img/rysj.ec4492a7.png"},"45d7":function(t,e,s){t.exports=s.p+"assets/img/hwsj.5675d69e.png"},"708d":function(t,e,s){t.exports=s.p+"assets/img/xmsj.9f46e996.jpg"},9750:function(t,e,s){t.exports=s.p+"assets/img/hmsj.e6fbf831.jpg"},c99b:function(t,e,s){"use strict";s.r(e);var a=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("section",[a("div",{staticClass:"text-center mar-t-30"},[a("div",{staticClass:"mar-b-30"},["XMSJ"===t.code?a("img",{attrs:{width:"400px",src:s("708d")}}):t._e(),"HWSJ"===t.code?a("img",{attrs:{width:"400px",src:s("45d7")}}):t._e(),"HMSJ"===t.code?a("img",{attrs:{width:"400px",src:s("9750")}}):t._e(),"RYSJ"===t.code?a("img",{attrs:{width:"400px",src:s("415a")}}):t._e()]),a("div",{staticClass:"mar-30",staticStyle:{"font-size":"30px"}},[t._v(" 当前手机是: "),"XMSJ"===t.code?a("span",[t._v("小米手机")]):t._e(),"HWSJ"===t.code?a("span",[t._v("华为手机")]):t._e(),"HMSJ"===t.code?a("span",[t._v("红米手机")]):t._e(),"RYSJ"===t.code?a("span",[t._v("荣耀手机")]):t._e()]),a("el-button",{attrs:{type:"default",round:""},on:{click:t.back}},[t._v("返回列表")])],1)])},c=[],n={name:"goodsDetail",data:function(){return{code:this.$route.query.code}},methods:{back:function(){this.$router.go(-1)}}},o=n,i=s("5511"),r=Object(i["a"])(o,a,c,!1,null,null,null);e["default"]=r.exports}}]); -------------------------------------------------------------------------------- /dist/index.html: -------------------------------------------------------------------------------- 1 | vue-admin-template
-------------------------------------------------------------------------------- /src/components/NavMenu.vue: -------------------------------------------------------------------------------- 1 | 24 | 34 | 50 | -------------------------------------------------------------------------------- /src/components/AdminHeader.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 33 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | const webpack = require("webpack"); 2 | const path = require("path"); 3 | const CompressionWebpackPlugin = require("compression-webpack-plugin"); 4 | 5 | let env = process.env.NODE_ENV; 6 | module.exports = { 7 | // 如果是hash模式 8 | publicPath: env !== "development" ? "./" : "/", 9 | 10 | // 如果是history模式 11 | // publicPath: env !== "development" ? "/" : "/", 12 | 13 | // 静态资源目录 (js, css, img, fonts) 14 | assetsDir: "assets", 15 | 16 | //关键点在这 原来的 Compiler 换成了 runtimeCompiler 17 | runtimeCompiler: true, 18 | 19 | //设置打包之后是否打包.map文件 20 | productionSourceMap: env !== "development" ? false : true, 21 | 22 | // 输出文件目录 23 | outputDir: "dist", 24 | // 让样式找到源 25 | css: { 26 | sourceMap: true 27 | }, 28 | devServer: { 29 | port: 8083, 30 | host: "0.0.0.0", 31 | hot: true, 32 | open: false, 33 | disableHostCheck: true, 34 | proxy: { 35 | "/api": { 36 | target: "127.0.0.1", //对应跨域的接口 37 | changeOrigin: true, 38 | ws: false, 39 | pathRewrite: { 40 | "^/api": "" 41 | } 42 | } 43 | } 44 | }, 45 | 46 | chainWebpack: config => { 47 | config.resolve.alias.set("@", path.resolve(__dirname, "./src")); 48 | }, 49 | 50 | configureWebpack: config => { 51 | if (env !== "development") { 52 | // 配置打包 压缩js 53 | config.plugins.push( 54 | new CompressionWebpackPlugin({ 55 | algorithm: "gzip", 56 | test: /\.js$|\.html$|.\css/, //匹配文件名 57 | threshold: 10240, //对超过10k的数据压缩 58 | deleteOriginalAssets: false, //不删除源文件 59 | minRatio: 0.8 60 | }) 61 | ); 62 | } 63 | } 64 | }; -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-admin-template", 3 | "version": "1.0.0", 4 | "author": "parchments", 5 | "private": true, 6 | "scripts": { 7 | "serve": "vue-cli-service serve --mode dev", 8 | "build--test": "vue-cli-service build --mode test", 9 | "build--uat": "vue-cli-service build --mode uat", 10 | "build--prod": "vue-cli-service build --mode prod", 11 | "build": "vue-cli-service build" 12 | }, 13 | "dependencies": { 14 | "@vue/cli-shared-utils": "^4.0.5", 15 | "axios": "^0.19.0", 16 | "babel-polyfill": "^6.26.0", 17 | "color-convert": "^2.0.1", 18 | "compression-webpack-plugin": "^3.0.0", 19 | "core-js": "^3.3.2", 20 | "element-ui": "^2.12.0", 21 | "end-of-stream": "^1.4.4", 22 | "escape-string-regexp": "^2.0.0", 23 | "execa": "^3.2.0", 24 | "isexe": "^2.0.0", 25 | "less": "^3.10.3", 26 | "less-loader": "^5.0.0", 27 | "mimic-fn": "^3.0.0", 28 | "moment": "^2.24.0", 29 | "node-ipc": "^9.1.1", 30 | "once": "^1.4.0", 31 | "open": "^7.0.0", 32 | "shebang-command": "^2.0.0", 33 | "string.prototype.padstart": "^3.0.0", 34 | "vue": "^2.6.10", 35 | "vue-router": "^3.1.3", 36 | "vuex": "^3.0.1", 37 | "wrappy": "^1.0.2", 38 | "yallist": "^4.0.0" 39 | }, 40 | "devDependencies": { 41 | "@vue/cli-plugin-babel": "^4.0.0", 42 | "@vue/cli-plugin-router": "^4.0.0", 43 | "@vue/cli-plugin-vuex": "^4.0.0", 44 | "@vue/cli-service": "^4.0.0", 45 | "vue-template-compiler": "^2.6.10" 46 | }, 47 | "postcss": { 48 | "plugins": { 49 | "autoprefixer": {} 50 | } 51 | }, 52 | "browserslist": [ 53 | "> 1%", 54 | "last 2 versions" 55 | ] 56 | } 57 | -------------------------------------------------------------------------------- /src/views/goods/Form.vue: -------------------------------------------------------------------------------- 1 | 31 | 32 | 62 | -------------------------------------------------------------------------------- /dist/assets/js/chunk-80583016.6bed9033.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-80583016"],{"9cdb":function(t,v,d){"use strict";d.r(v);var e=function(){var t=this,v=t.$createElement;t._self._c;return t._m(0)},_=[function(){var t=this,v=t.$createElement,d=t._self._c||v;return d("div",{staticStyle:{"text-align":"center","margin-top":"30px"}},[d("h1",{staticStyle:{"font-size":"30px"}},[t._v("基础模板概述")]),d("table",[d("tbody",[d("tr",[d("td",[t._v("作者")]),d("td",[t._v("parchments")])]),d("tr",[d("td",[t._v("模板版本")]),d("td",[t._v("1.0.0.191027_beta")])]),d("tr",[d("td",[t._v("vue版本")]),d("td",[t._v("vue2")])]),d("tr",[d("td",[t._v("脚手架")]),d("td",[t._v("vue-cli4")])]),d("tr",[d("td",[t._v("状态管理器")]),d("td",[t._v("vuex")])]),d("tr",[d("td",[t._v("UI框架")]),d("td",[t._v("element-ui")])]),d("tr",[d("td",[t._v("路由")]),d("td",[t._v("vue-router")])]),d("tr",[d("td",[t._v("HTTP请求")]),d("td",[t._v("axios")])]),d("tr",[d("td",[t._v("接口")]),d("td",[t._v("api.js")])]),d("tr",[d("td",[t._v("环境")]),d("td",[t._v("dev test uat prod")])]),d("tr",[d("td",[t._v("本地存储")]),d("td",[t._v("localStorage")])]),d("tr",[d("td",[t._v("登录")]),d("td",[t._v("login")])]),d("tr",[d("td",[t._v("动态面包屑")]),d("td",[t._v("breadcrumb")])]),d("tr",[d("td",[t._v("列表展示")]),d("td",[t._v("搜索、弹窗、分页")])]),d("tr",[d("td",[t._v("详情展示")]),d("td",[t._v("路由传参")])]),d("tr",[d("td",[t._v("路由错误")]),d("td",[t._v("404")])]),d("tr",[d("td",[t._v("兼容性")]),d("td",[t._v("ie9及以上")])]),d("tr",[d("td",[t._v("时间格式化")]),d("td",[t._v("moment")])]),d("tr",[d("td",[t._v("css")]),d("td",[t._v("Less")])])])])])}],r={name:"summarys"},n=r,a=(d("fbc4"),d("5511")),c=Object(a["a"])(n,e,_,!1,null,"a02596f4",null);v["default"]=c.exports},dae1:function(t,v,d){},fbc4:function(t,v,d){"use strict";var e=d("dae1"),_=d.n(e);_.a}}]); -------------------------------------------------------------------------------- /src/views/goods/Table.vue: -------------------------------------------------------------------------------- 1 | 35 | 36 | 62 | -------------------------------------------------------------------------------- /src/views/summarys/index.vue: -------------------------------------------------------------------------------- 1 | 86 | 91 | 104 | -------------------------------------------------------------------------------- /src/views/goods/components/AddedEditorDialog.vue: -------------------------------------------------------------------------------- 1 | 35 | 36 | 97 | -------------------------------------------------------------------------------- /dist/assets/js/Login.7b4a11d0.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["Login"],{"07cf":function(t,a,e){},c2ca:function(t,a,e){"use strict";var n=e("07cf"),o=e.n(n);o.a},ede4:function(t,a,e){"use strict";e.r(a);var n=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("section",{staticClass:"wrapper"},[e("canvas",{attrs:{id:"canvas"}}),e("div",{staticClass:"login-wrapper"},[t._m(0),e("el-tabs",{on:{"tab-click":function(a){return t.tabHandle()}},model:{value:t.activeName,callback:function(a){t.activeName=a},expression:"activeName"}},[e("el-form",{staticClass:"mar-t-30",model:{value:t.accountForm,callback:function(a){t.accountForm=a},expression:"accountForm"}},[e("div",{staticClass:"mar-b-30 form-item"},[e("label",{staticClass:"icon-box"},[e("i",{staticClass:"iconfont icon-f-user"})]),e("el-input",{attrs:{placeholder:"输入账号",clearable:""},model:{value:t.accountForm.account,callback:function(a){t.$set(t.accountForm,"account",a)},expression:"accountForm.account"}})],1),e("div",{staticClass:"mar-b-30 form-item form-item-code"},[e("label",{staticClass:"icon-box"},[e("i",{staticClass:"iconfont icon-f-password"})]),e("el-input",{attrs:{type:"password",placeholder:"密码",clearable:""},nativeOn:{keyup:function(a){return!a.type.indexOf("key")&&t._k(a.keyCode,"enter",13,a.key,"Enter")?null:t.accountLoginHandle(a)}},model:{value:t.accountForm.password,callback:function(a){t.$set(t.accountForm,"password",a)},expression:"accountForm.password"}}),e("router-link",{staticStyle:{display:"none"},attrs:{to:"/forgotPassword"}},[t._v("忘记密码")])],1),e("div",{staticClass:"mar-b-15 text-center"},[e("el-button",{staticStyle:{width:"100%"},attrs:{loading:t.accountLoadingBtn,type:"primary"},on:{click:function(a){return t.accountLoginHandle()}}},[t._v("登录")])],1)])],1)],1)])},o=[function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("div",{staticClass:"text-center"},[n("img",{attrs:{src:e("9d64"),alt:"",width:"100px"}})])}],c={name:"login",data:function(){return{SUCCESS_CODE:1,SSXT:"ssxt",activeName:"first",userName:"",userPassword:"",accountLoadingBtn:!1,codeLoadingBtn:!1,accountForm:{account:"admin",password:"111111"}}},mounted:function(){var t=document.getElementById("canvas"),a=t.getContext("2d"),e=window.innerWidth,n=window.innerHeight;t.width=e,t.height=n;for(var o=18,c=Math.floor(e/o),s=[],r=0;r=t.height&&Math.random()>.99?s[r]=0:s[r]++}}),30)},created:function(){"/login"===this.$route.path&&(localStorage.removeItem("token"),localStorage.removeItem("userInfo"),localStorage.removeItem("functions"))},methods:{accountLoginHandle:function(){return this.$message({type:"success",message:"登录成功"}),this.$router.push("/summarys/index"),!1},successFunc:function(t){var a=this;this.accountLoadingBtn=!0,this.$api.systemModule.login(t).then((function(t){if(t.data.retcode===a.SUCCESS_CODE){var e=t.data.data.phSessionToken;localStorage.setItem("token",e);var n={phSessionToken:e};a.$api.systemModule.userValidator(n).then((function(t){if(t.data.retcode===a.SUCCESS_CODE){var n=t.data.data;a.$store.dispatch("commitToken",e),localStorage.setItem("userInfo",JSON.stringify(n));var o={phSessionToken:e};a.queryUserAllInfo(o)}})).catch((function(t){console.log(t)}))}else 201===t.data.retcode?(a.accountLoadingBtn=!1,a.$message({type:"error",message:t.data.retmsg}),a.editPasswordWrapper=!0):(a.$message({type:"error",message:t.data.retmsg}),a.accountLoadingBtn=!1)})).catch((function(t){console.log(t),a.accountLoadingBtn=!1}))}}},s=c,r=(e("c2ca"),e("5511")),i=Object(r["a"])(s,n,o,!1,null,"6531407c",null);a["default"]=i.exports}}]); -------------------------------------------------------------------------------- /dist/assets/js/chunk-a2a2a0d4.1a926496.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-a2a2a0d4"],{7281:function(e,r,t){"use strict";t.r(r);var l=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticStyle:{"margin-top":"30px"}},[t("el-form",{ref:"ruleForm",staticClass:"demo-ruleForm",attrs:{model:e.ruleForm,rules:e.rules,"label-width":"100px"}},[t("el-form-item",{attrs:{label:"动态仓库",prop:"name"}},[t("el-select",{attrs:{filterable:"",placeholder:"请选择仓库"},on:{change:e.changeHandle,focus:e.focusHandle},model:{value:e.ruleForm.name,callback:function(r){e.$set(e.ruleForm,"name","string"===typeof r?r.trim():r)},expression:"ruleForm.name"}},e._l(e.targetList,(function(e){return t("el-option",{key:e.warehouseId,attrs:{label:e.storehouseName,value:e.storehouseName}})})),1)],1),t("el-form-item",{attrs:{label:"活动区域",prop:"region"}},[t("el-select",{attrs:{placeholder:"请选择活动区域"},model:{value:e.ruleForm.region,callback:function(r){e.$set(e.ruleForm,"region",r)},expression:"ruleForm.region"}},[t("el-option",{attrs:{label:"区域一",value:"shanghai"}}),t("el-option",{attrs:{label:"区域二",value:"beijing"}})],1)],1),t("el-form-item",{attrs:{label:"即时配送",prop:"delivery"}},[t("el-switch",{model:{value:e.ruleForm.delivery,callback:function(r){e.$set(e.ruleForm,"delivery",r)},expression:"ruleForm.delivery"}})],1),t("el-form-item",{attrs:{label:"活动性质",prop:"type"}},[t("el-checkbox-group",{model:{value:e.ruleForm.type,callback:function(r){e.$set(e.ruleForm,"type",r)},expression:"ruleForm.type"}},[t("el-checkbox",{attrs:{label:"美食/餐厅线上活动",name:"type"}}),t("el-checkbox",{attrs:{label:"地推活动",name:"type"}}),t("el-checkbox",{attrs:{label:"线下主题活动",name:"type"}}),t("el-checkbox",{attrs:{label:"单纯品牌曝光",name:"type"}})],1)],1),t("el-form-item",{attrs:{label:"特殊资源",prop:"resource"}},[t("el-radio-group",{model:{value:e.ruleForm.resource,callback:function(r){e.$set(e.ruleForm,"resource",r)},expression:"ruleForm.resource"}},[t("el-radio",{attrs:{label:"线上品牌商赞助"}}),t("el-radio",{attrs:{label:"线下场地免费"}})],1)],1),t("el-form-item",{attrs:{label:"活动形式",prop:"desc"}},[t("el-input",{attrs:{type:"textarea"},model:{value:e.ruleForm.desc,callback:function(r){e.$set(e.ruleForm,"desc",r)},expression:"ruleForm.desc"}})],1),t("el-form-item",[t("el-button",{attrs:{type:"primary"},on:{click:function(r){return e.submitForm("ruleForm")}}},[e._v("立即创建")]),t("el-button",{on:{click:function(r){return e.resetForm("ruleForm")}}},[e._v("重置")])],1)],1)],1)},o=[],a=(t("f550"),t("d0f0"),{name:"formValidation",data:function(){return{targetList:[],ruleForm:{name:"",region:"",delivery:!1,type:[],resource:"",desc:""},rules:{name:[{required:!0,message:"请输入活动名称",trigger:"blur"},{min:3,max:5,message:"长度在 3 到 5 个字符",trigger:"blur"}],region:[{required:!0,message:"请选择活动区域",trigger:"change"}],type:[{type:"array",required:!0,message:"请至少选择一个活动性质",trigger:"change"}],resource:[{required:!0,message:"请选择活动资源",trigger:"change"}],desc:[{required:!0,message:"请填写活动形式",trigger:"blur"}]}}},methods:{submitForm:function(e){this.$refs[e].validate((function(e){if(!e)return console.log("error submit!!"),!1;alert("submit!")}))},resetForm:function(e){this.$refs[e].resetFields()},focusHandle:function(){return this.$message.error("请配置接口!")},changeHandle:function(){var e=this,r={};r=this.targetList.find((function(r){return r.storehouseName===e.ruleForm.name})),console.log("获取点击的对象",r),this.ruleForm.storehouseId=r.storehouseId}}}),n=a,s=t("5511"),i=Object(s["a"])(n,l,o,!1,null,null,null);r["default"]=i.exports},d0f0:function(e,r,t){var l=t("b8d5"),o=t("8fee").f,a=Function.prototype,n=a.toString,s=/^\s*function ([^ (]*)/,i="name";!l||i in a||o(a,i,{configurable:!0,get:function(){try{return n.call(this).match(s)[1]}catch(e){return""}}})},f550:function(e,r,t){"use strict";var l=t("cad4"),o=t("f223").find,a=t("d840"),n=t("7cb0"),s="find",i=!0,u=n(s);s in[]&&Array(1)[s]((function(){i=!1})),l({target:"Array",proto:!0,forced:i||!u},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),a(s)}}]); -------------------------------------------------------------------------------- /src/request/http.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 封装 3 | * 请求拦截、响应拦截、错误统一处理 4 | */ 5 | import axios from 'axios' 6 | import router from '../router/index' 7 | import store from '../store/index' 8 | import { Message } from 'element-ui' 9 | 10 | /** 11 | * 跳转登录页 12 | * 携带当前页面路由,以期在登录页面完成登录后返回当前页面 13 | */ 14 | let toLogin = () => { 15 | localStorage.removeItem('token') 16 | router.push({ 17 | path: '/login', 18 | query: { 19 | redirect: router.currentRoute.fullPath 20 | } 21 | }) 22 | } 23 | 24 | 25 | // 创建axios实例 26 | let instance = axios.create({ 27 | timeout: 30000//请求超时时间 28 | }) 29 | 30 | /** 31 | * 请求拦截器 32 | * 每次请求前,如果存在token则在请求头中携带token 33 | */ 34 | instance.interceptors.request.use( 35 | config => { 36 | // 登录流程控制中,根据本地是否存在token判断用户的登录情况 37 | // 但是即使token存在,也有可能token是过期的,所以在每次的请求头中携带token 38 | // 后台根据携带的token判断用户的登录情况,并返回给我们对应的状态码 39 | // 而后我们可以在响应拦截器中,根据状态码进行一些统一的操作。 40 | //设置统一请求头 41 | 42 | //token 43 | let phSessionToken = '' 44 | if (localStorage.getItem('token')) { 45 | phSessionToken = localStorage.token 46 | } else { 47 | phSessionToken = '' 48 | } 49 | //设置请求头 50 | config.headers = { 51 | 'Content-Type': 'application/json', 52 | 'phSessionToken': phSessionToken 53 | } 54 | return config 55 | }, 56 | error => Promise.error(error) 57 | ) 58 | 59 | /** 60 | * 请求失败后的错误统一处理 61 | * param {Number} status 请求失败的状态码 62 | */ 63 | 64 | //后台沟通状态码规范 65 | let errorHandle = (status, other) => { 66 | //状态码判断 67 | switch (status) { 68 | //400: 客户端请求的语法错误,服务器无法理解 69 | case 400: 70 | console.log('400客户端请求的语法错误,服务器无法理解') 71 | break 72 | case 401: 73 | Message({ message: '登录过期,请重新登录', type: 'error' }) 74 | setTimeout(() => { 75 | toLogin()//跳转到登录 76 | }, 3000) 77 | break 78 | //404请求不存在 79 | case 404: 80 | Message({ message: '请求的资源不存在', type: 'error' }) 81 | break 82 | case 408: 83 | Message({ message: '网络延时,请稍后', type: 'error' }) 84 | setTimeout(() => { 85 | toLogin()//跳转到登录 86 | }, 30000) 87 | break 88 | //500 89 | case 500: 90 | Message({ message: '网络异常,请重新登录', type: 'error' }) 91 | setTimeout(() => { 92 | toLogin()//跳转到登录 93 | }, 30000) 94 | break 95 | default: 96 | console.log(other) 97 | } 98 | } 99 | 100 | //响应拦截器 101 | instance.interceptors.response.use( 102 | //请求成功 103 | res => { 104 | if (res.status === 200) { 105 | //Promise.resolve(value)方法返回一个以给定值解析后的Promise 对象。 106 | return Promise.resolve(res) 107 | } else { 108 | console.log("响应拦截器失败") 109 | //Promise.reject(reason)方法返回一个带有拒绝原因reason参数的Promise对象。 110 | return Promise.reject(res) 111 | } 112 | }, 113 | //请求失败 114 | error => { 115 | //return Promise.reject(error) 116 | const { response } = error 117 | if (response) { 118 | //请求已发出,但是不在2xx的范围 ------错误处理、token过期等 119 | errorHandle(response.status, response.data.message) 120 | return Promise.reject(response) 121 | } else { 122 | Message({ 123 | message: '网络异常,即将前往登录页', 124 | type: 'error' 125 | }) 126 | setTimeout(() => { 127 | //跳转到登录 128 | toLogin() 129 | }, 5000) 130 | // 处理断网的情况 131 | // eg:请求超时或断网时,更新state的network状态 132 | // network状态在app.vue中控制着一个全局的断网提示组件的显示隐藏 133 | // 关于断网组件中的刷新重新获取数据,会在断网组件中说明 134 | //store.commit('changeNetwork', false) 135 | } 136 | } 137 | ) 138 | 139 | export default instance 140 | -------------------------------------------------------------------------------- /src/views/formValidation/index.vue: -------------------------------------------------------------------------------- 1 | 50 | 132 | -------------------------------------------------------------------------------- /src/views/Home.vue: -------------------------------------------------------------------------------- 1 | 53 | 54 | 93 | -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import VueRouter from "vue-router"; 3 | import Home from "../views/Home.vue"; 4 | Vue.use(VueRouter); 5 | 6 | const routes = [ 7 | { 8 | path: "*", //输错路由回首页 9 | redirect: "/404", 10 | hidden: true, 11 | meta: { 12 | title: "输错路由回首页", 13 | keepAlive: false, 14 | level: 0 //判断是否缓存 0为不缓存 1为缓存 2为详情页 15 | } 16 | }, 17 | { 18 | path: "/", //默认路由 19 | redirect: "/login", 20 | hidden: true, 21 | meta: { 22 | title: "默认路由", 23 | keepAlive: false, 24 | level: 0 25 | } 26 | }, 27 | //登录 28 | { 29 | path: "/login", 30 | name: "login", 31 | component: r => require.ensure([], () => r(require("../views/login/Login.vue")), "Login"), 32 | hidden: true, 33 | meta: { 34 | title: "登录", 35 | keepAlive: false, 36 | level: 0 37 | } 38 | }, 39 | //404 40 | { 41 | path: "/404", 42 | name: "notFound", 43 | component: r => require.ensure([], () => r(require("../views/error/NotFound.vue")), "NotFound"), 44 | hidden: true, 45 | meta: { 46 | title: "404", 47 | keepAlive: false, 48 | level: 0 49 | } 50 | }, 51 | { 52 | path: "/home", 53 | name: "home", 54 | component: Home, 55 | redirect: '/summarys/index', 56 | hidden: true, 57 | meta: { 58 | title: "首页", 59 | keepAlive: false, 60 | level: 0 61 | } 62 | }, 63 | { 64 | path: "/home", 65 | component: Home, 66 | iconCls: "fa el-icon-s-data", 67 | hidden: false, 68 | meta: { 69 | title: "框架简介", 70 | keepAlive: false, 71 | level: 0 72 | }, 73 | children: [ 74 | { 75 | path: "/summarys/index", 76 | component: () => import("../views/summarys/index.vue"), 77 | name: "summarys", 78 | hidden: false, 79 | meta: { 80 | title: "框架简介", 81 | keepAlive: false, 82 | level: 0 83 | } 84 | } 85 | ] 86 | }, 87 | { 88 | path: "/home", 89 | component: Home, 90 | iconCls: "fa el-icon-s-data", 91 | hidden: false, 92 | meta: { 93 | title: "列表详情", 94 | keepAlive: false, 95 | level: 0 96 | }, 97 | children: [ 98 | { 99 | path: "/goods/goodsList", 100 | component: () => import("../views/goods/goodsList.vue"), 101 | name: "goodsList", 102 | hidden: false, 103 | meta: { 104 | title: "列表", 105 | keepAlive: false, 106 | level: 0 107 | } 108 | }, 109 | { 110 | path: "/goods/goodsList/goodsDetail", 111 | component: () => import("../views/goods/goodsDetail.vue"), 112 | name: "goodsDetail", 113 | hidden: true, 114 | meta: { 115 | title: "详情", 116 | parentPath: "/goods/goodsList", 117 | parentTitle: "商品列表", 118 | keepAlive: false, 119 | level: 0 120 | } 121 | } 122 | ] 123 | }, 124 | { 125 | path: "/home", 126 | component: Home, 127 | iconCls: "fa el-icon-s-data", 128 | hidden: false, 129 | meta: { 130 | title: "上传导入", 131 | keepAlive: false, 132 | level: 0 133 | }, 134 | children: [ 135 | { 136 | path: "/upload/index", 137 | component: () => import("../views/upload/index.vue"), 138 | name: "upload", 139 | hidden: false, 140 | meta: { 141 | title: "自定义上传导入", 142 | keepAlive: false, 143 | level: 0 144 | } 145 | } 146 | ] 147 | }, 148 | { 149 | path: "/home", 150 | component: Home, 151 | iconCls: "fa el-icon-s-data", 152 | hidden: false, 153 | meta: { 154 | title: "表单校验", 155 | keepAlive: false, 156 | level: 0 157 | }, 158 | children: [ 159 | { 160 | path: "/formValidation/index", 161 | component: () => import("../views/formValidation/index.vue"), 162 | name: "formValidation", 163 | hidden: false, 164 | meta: { 165 | title: "校验动态下拉", 166 | keepAlive: false, 167 | level: 0 168 | } 169 | } 170 | ] 171 | }, 172 | ] 173 | 174 | const router = new VueRouter({ 175 | // mode: "history", 176 | base: process.env.BASE_URL, 177 | routes 178 | }); 179 | 180 | //全局路由守卫、路由拦截 181 | // router.beforeEach((to, from, next) => { 182 | // const isLogin = localStorage.token ? true : false; 183 | // if (to.path === "/login" || to.path === "/forgotPassword") { 184 | // next(); 185 | // } else { 186 | // isLogin ? next() : next("/"); 187 | // } 188 | // }); 189 | 190 | export default router; 191 | -------------------------------------------------------------------------------- /dist/assets/css/app.27bdc53c.css: -------------------------------------------------------------------------------- 1 | #app[data-v-05fe2609]{height:100%}.header[data-v-5fd31603]{position:fixed;left:0;top:0;z-index:100;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:100%;height:60px;padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#202c3a;color:#fff}.header .logo[data-v-5fd31603]{display:inline-block;vertical-align:middle}.header .logo img[data-v-5fd31603]{width:30px;vertical-align:inherit}.header .nav-button[data-v-5fd31603]{float:right}.header .nav-button span[data-v-5fd31603]{cursor:pointer}.nav-menu[data-v-bfb2110e]{width:200px;height:100%}.nav-menu .fixed-text[data-v-bfb2110e]{position:absolute;left:0;bottom:80px;width:100%;line-height:20px;text-align:center;font-size:12px;color:#999}.el-submenu .el-menu{border:none;overflow:hidden}.layout-container[data-v-02f54742]{position:relative;height:100%}.aside[data-v-02f54742]{width:200px!important;position:fixed;top:60px;height:100%;z-index:99}.main-container[data-v-02f54742]{padding-top:80px;margin-left:200px;min-width:1300px;height:100%}.set-hover-color[data-v-02f54742]{font-weight:700!important;cursor:pointer!important}.set-hover-color[data-v-02f54742]:hover{color:#409eff!important}.slide-fade-enter-active[data-v-02f54742]{-webkit-transition:all .2s cubic-bezier(1,.5,.8,1);transition:all .2s cubic-bezier(1,.5,.8,1)}.slide-fade-leave-active[data-v-02f54742]{-webkit-transition:all 0s ease;transition:all 0s ease}.slide-fade-enter[data-v-02f54742],.slide-fade-leave-to[data-v-02f54742]{-webkit-transform:translateX(10px);transform:translateX(10px);opacity:0}*{-webkit-box-sizing:border-box;box-sizing:border-box}a,article,body,canvas,dd,div,dl,dt,footer,header,html,i,li,nav,p,section,span,table,tbody,td,th,thead,tr,ul,video{margin:0}body,html{height:100%}body{margin:0 auto;min-width:1300px;font-size:14px;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif}a,body{color:#333}a,a:active,a:focus,a:hover,a:visited{text-decoration:none}li,ul{list-style:none}textarea{border:0}button,input,textarea{outline:none}input{border:none}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none!important;-moz-appearance:none!important;margin:0}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield}img{max-width:100%}.img-cover{width:100%;height:100%}.hidden{overflow:hidden}.pointer{cursor:pointer}.fl{float:left}.fr{float:right}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-2-overflow,.line-3-overflow{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;display:-moz-box;display:-ms-box;display:-o-box;-webkit-box-orient:vertical}.line-1-overflow{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.line-2-overflow{-webkit-line-clamp:2}.line-3-overflow{-webkit-line-clamp:3}.bor-0{border:none!important}.bor-1{border:1px solid #ccc}.bor-b-1{border-bottom:1px solid #ccc!important}.bor-r-1{border-right:1px solid #ccc!important}.bor-l-1{border-left:1px solid #ccc!important}.bor-t-1{border-top:1px solid #ccc!important}.inline-block{display:inline-block}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.clearfix:after{content:"";display:table;clear:both}.font-weight-b{font-weight:700}.color-fff{color:#fff}.color-000{color:#000}.color-333{color:#333}.color-666{color:#666}.color-999{color:#999}.color-ccc{color:#ccc}.color-deep-red{color:#7f1500}.bg-white{background:#fff}.mar-5{margin:5px}.mar-t-5{margin-top:5px}.mar-r-5{margin-right:5px}.mar-b-5{margin-bottom:5px}.mar-l-5{margin-left:5px}.mar-10{margin:10px}.mar-t-10{margin-top:10px}.mar-r-10{margin-right:10px}.mar-b-10{margin-bottom:10px}.mar-l-10{margin-left:10px}.mar-15{margin:15px}.mar-t-15{margin-top:15px}.mar-r-15{margin-right:15px}.mar-b-15{margin-bottom:15px}.mar-l-15{margin-left:15px}.mar-20{margin:20px}.mar-t-20{margin-top:20px}.mar-r-20{margin-right:20px}.mar-b-20{margin-bottom:20px}.mar-l-20{margin-left:20px}.mar-25{margin:25px}.mar-t-25{margin-top:25px}.mar-r-25{margin-right:25px}.mar-b-25{margin-bottom:25px}.mar-l-25{margin-left:25px}.mar-30{margin:30px}.mar-t-30{margin-top:30px}.mar-r-30{margin-right:30px}.mar-b-30{margin-bottom:30px}.mar-l-30{margin-left:30px}.pad-5{padding:5px}.pad-t-5{padding-top:5px}.pad-r-5{padding-right:5px}.pad-b-5{padding-bottom:5px}.pad-l-5{padding-left:5px}.pad-10{padding:10px}.pad-t-10{padding-top:10px}.pad-r-10{padding-right:10px}.pad-b-10{padding-bottom:10px}.pad-l-10{padding-left:10px}.pad-15{padding:15px}.pad-t-15{padding-top:15px}.pad-r-15{padding-right:15px}.pad-b-15{padding-bottom:15px}.pad-l-15{padding-left:15px}.pad-20{padding:20px}.pad-t-20{padding-top:20px}.pad-r-20{padding-right:20px}.pad-b-20{padding-bottom:20px}.pad-l-20{padding-left:20px}.pad-25{padding:25px}.pad-t-25{padding-top:25px}.pad-r-25{padding-right:25px}.pad-b-25{padding-bottom:25px}.pad-l-25{padding-left:25px}.pad-30{padding:30px}.pad-t-30{padding-top:30px}.pad-r-30{padding-right:30px}.pad-b-30{padding-bottom:30px}.pad-l-30{padding-left:30px}.el-menu{height:100%;overflow:auto;background:#304156}.el-menu-item,.el-submenu__title{height:auto!important}.el-submenu{background:#304156}.el-submenu .el-submenu__title{text-align:left}.el-submenu .el-submenu__title:hover{background:#001528!important}.el-menu-item{background:#1f2d3d!important;color:#bfcbd9!important;text-align:left}.el-menu-item:hover{background:#001528!important}.el-submenu .el-submenu__title{color:#bfcbd9}.el-menu-item.is-active{color:#1890ff!important}.el-submenu__title i{color:#bfcbd9!important;font-size:18px}.el-menu-item [class^=fa],.el-submenu [class^=fa]{vertical-align:middle;margin-right:10px} -------------------------------------------------------------------------------- /src/views/upload/index.vue: -------------------------------------------------------------------------------- 1 | 46 | 192 | -------------------------------------------------------------------------------- /src/assets/css/base.css: -------------------------------------------------------------------------------- 1 | * { 2 | -webkit-box-sizing: border-box; 3 | box-sizing: border-box; 4 | } 5 | 6 | html, 7 | body, 8 | a, 9 | p, 10 | div, 11 | span, 12 | i, 13 | ul, 14 | li, 15 | dl, 16 | dt, 17 | dd, 18 | table, 19 | th, 20 | thead, 21 | tbody, 22 | tr, 23 | td, 24 | section, 25 | video, 26 | article, 27 | canvas, 28 | nav, 29 | header, 30 | footer { 31 | margin: 0; 32 | } 33 | 34 | html { 35 | height: 100%; 36 | } 37 | 38 | body { 39 | margin: 0 auto; 40 | min-width: 1300px; 41 | height: 100%; 42 | color: #333; 43 | font-size: 14px; 44 | font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif; 45 | } 46 | 47 | a { 48 | color: #333; 49 | } 50 | 51 | a, 52 | a:active, 53 | a:focus, 54 | a:hover, 55 | a:visited { 56 | text-decoration: none; 57 | } 58 | ul, 59 | li { 60 | list-style: none; 61 | } 62 | 63 | textarea { 64 | border: 0; 65 | outline: none; 66 | } 67 | 68 | button { 69 | outline: none; 70 | } 71 | 72 | input { 73 | outline: none; 74 | border: none; 75 | } 76 | 77 | /*input type为number时禁用上下按钮样式*/ 78 | input::-webkit-outer-spin-button, 79 | input::-webkit-inner-spin-button { 80 | -webkit-appearance: none !important; 81 | -moz-appearance: none !important; 82 | margin: 0; 83 | } 84 | 85 | input[type="number"] { 86 | -webkit-appearance: textfield; 87 | -moz-appearance: textfield; 88 | } 89 | 90 | img { 91 | max-width: 100%; 92 | } 93 | 94 | .img-cover { 95 | width: 100%; 96 | height: 100%; 97 | } 98 | 99 | .hidden { 100 | overflow: hidden; 101 | } 102 | 103 | .pointer{ 104 | cursor: pointer; 105 | } 106 | .fl { 107 | float: left; 108 | } 109 | 110 | .fr { 111 | float: right; 112 | } 113 | 114 | .text-ellipsis { 115 | overflow: hidden; 116 | -o-text-overflow: ellipsis; 117 | text-overflow: ellipsis; 118 | white-space: nowrap; 119 | } 120 | 121 | .line-2-overflow, 122 | .line-3-overflow { 123 | overflow: hidden; 124 | -o-text-overflow: ellipsis; 125 | text-overflow: ellipsis; 126 | display: -webkit-box; 127 | display: -moz-box; 128 | display: -ms-box; 129 | display: -o-box; 130 | -webkit-box-orient: vertical; 131 | } 132 | 133 | .line-1-overflow { 134 | white-space: nowrap; 135 | -o-text-overflow: ellipsis; 136 | text-overflow: ellipsis; 137 | overflow: hidden; 138 | } 139 | 140 | .line-2-overflow { 141 | -webkit-line-clamp: 2; 142 | } 143 | 144 | .line-3-overflow { 145 | -webkit-line-clamp: 3; 146 | } 147 | 148 | .bor-0 { 149 | border: none !important; 150 | } 151 | 152 | .bor-1 { 153 | border: 1px solid #ccc; 154 | } 155 | 156 | .bor-b-1 { 157 | border-bottom: 1px solid #ccc !important; 158 | } 159 | 160 | .bor-r-1 { 161 | border-right: 1px solid #ccc !important; 162 | } 163 | 164 | .bor-l-1 { 165 | border-left: 1px solid #ccc !important; 166 | } 167 | 168 | .bor-t-1 { 169 | border-top: 1px solid #ccc !important; 170 | } 171 | 172 | .inline-block { 173 | display: inline-block; 174 | } 175 | 176 | .text-center { 177 | text-align: center; 178 | } 179 | 180 | .text-left { 181 | text-align: left; 182 | } 183 | 184 | .text-right { 185 | text-align: right; 186 | } 187 | 188 | .clearfix:after { 189 | content: ""; 190 | display: table; 191 | clear: both; 192 | } 193 | 194 | .font-weight-b { 195 | font-weight: bold; 196 | } 197 | 198 | /*定义基础字号*/ 199 | .color-fff { 200 | color: #fff; 201 | } 202 | 203 | .color-000 { 204 | color: #000; 205 | } 206 | 207 | .color-333 { 208 | color: #333; 209 | } 210 | 211 | .color-666 { 212 | color: #666; 213 | } 214 | 215 | .color-999 { 216 | color: #999; 217 | } 218 | 219 | .color-ccc { 220 | color: #ccc; 221 | } 222 | 223 | .color-deep-red { 224 | color: #7f1500; 225 | } 226 | 227 | .bg-white { 228 | background: #fff; 229 | } 230 | 231 | /*定义基础边距*/ 232 | .mar-5 { 233 | margin: 5px; 234 | } 235 | 236 | .mar-t-5 { 237 | margin-top: 5px; 238 | } 239 | 240 | .mar-r-5 { 241 | margin-right: 5px; 242 | } 243 | 244 | .mar-b-5 { 245 | margin-bottom: 5px; 246 | } 247 | 248 | .mar-l-5 { 249 | margin-left: 5px; 250 | } 251 | 252 | .mar-10 { 253 | margin: 10px; 254 | } 255 | 256 | .mar-t-10 { 257 | margin-top: 10px; 258 | } 259 | 260 | .mar-r-10 { 261 | margin-right: 10px; 262 | } 263 | 264 | .mar-b-10 { 265 | margin-bottom: 10px; 266 | } 267 | 268 | .mar-l-10 { 269 | margin-left: 10px; 270 | } 271 | 272 | .mar-15 { 273 | margin: 15px; 274 | } 275 | 276 | .mar-t-15 { 277 | margin-top: 15px; 278 | } 279 | 280 | .mar-r-15 { 281 | margin-right: 15px; 282 | } 283 | 284 | .mar-b-15 { 285 | margin-bottom: 15px; 286 | } 287 | 288 | .mar-l-15 { 289 | margin-left: 15px; 290 | } 291 | 292 | .mar-20 { 293 | margin: 20px; 294 | } 295 | 296 | .mar-t-20 { 297 | margin-top: 20px; 298 | } 299 | 300 | .mar-r-20 { 301 | margin-right: 20px; 302 | } 303 | 304 | .mar-b-20 { 305 | margin-bottom: 20px; 306 | } 307 | 308 | .mar-l-20 { 309 | margin-left: 20px; 310 | } 311 | 312 | .mar-25 { 313 | margin: 25px; 314 | } 315 | 316 | .mar-t-25 { 317 | margin-top: 25px; 318 | } 319 | 320 | .mar-r-25 { 321 | margin-right: 25px; 322 | } 323 | 324 | .mar-b-25 { 325 | margin-bottom: 25px; 326 | } 327 | 328 | .mar-l-25 { 329 | margin-left: 25px; 330 | } 331 | 332 | .mar-30 { 333 | margin: 30px; 334 | } 335 | 336 | .mar-t-30 { 337 | margin-top: 30px; 338 | } 339 | 340 | .mar-r-30 { 341 | margin-right: 30px; 342 | } 343 | 344 | .mar-b-30 { 345 | margin-bottom: 30px; 346 | } 347 | 348 | .mar-l-30 { 349 | margin-left: 30px; 350 | } 351 | 352 | .pad-5 { 353 | padding: 5px; 354 | } 355 | 356 | .pad-t-5 { 357 | padding-top: 5px; 358 | } 359 | 360 | .pad-r-5 { 361 | padding-right: 5px; 362 | } 363 | 364 | .pad-b-5 { 365 | padding-bottom: 5px; 366 | } 367 | 368 | .pad-l-5 { 369 | padding-left: 5px; 370 | } 371 | 372 | .pad-10 { 373 | padding: 10px; 374 | } 375 | 376 | .pad-t-10 { 377 | padding-top: 10px; 378 | } 379 | 380 | .pad-r-10 { 381 | padding-right: 10px; 382 | } 383 | 384 | .pad-b-10 { 385 | padding-bottom: 10px; 386 | } 387 | 388 | .pad-l-10 { 389 | padding-left: 10px; 390 | } 391 | 392 | .pad-15 { 393 | padding: 15px; 394 | } 395 | 396 | .pad-t-15 { 397 | padding-top: 15px; 398 | } 399 | 400 | .pad-r-15 { 401 | padding-right: 15px; 402 | } 403 | 404 | .pad-b-15 { 405 | padding-bottom: 15px; 406 | } 407 | 408 | .pad-l-15 { 409 | padding-left: 15px; 410 | } 411 | 412 | .pad-20 { 413 | padding: 20px; 414 | } 415 | 416 | .pad-t-20 { 417 | padding-top: 20px; 418 | } 419 | 420 | .pad-r-20 { 421 | padding-right: 20px; 422 | } 423 | 424 | .pad-b-20 { 425 | padding-bottom: 20px; 426 | } 427 | 428 | .pad-l-20 { 429 | padding-left: 20px; 430 | } 431 | 432 | .pad-25 { 433 | padding: 25px; 434 | } 435 | 436 | .pad-t-25 { 437 | padding-top: 25px; 438 | } 439 | 440 | .pad-r-25 { 441 | padding-right: 25px; 442 | } 443 | 444 | .pad-b-25 { 445 | padding-bottom: 25px; 446 | } 447 | 448 | .pad-l-25 { 449 | padding-left: 25px; 450 | } 451 | 452 | .pad-30 { 453 | padding: 30px; 454 | } 455 | 456 | .pad-t-30 { 457 | padding-top: 30px; 458 | } 459 | 460 | .pad-r-30 { 461 | padding-right: 30px; 462 | } 463 | 464 | .pad-b-30 { 465 | padding-bottom: 30px; 466 | } 467 | 468 | .pad-l-30 { 469 | padding-left: 30px; 470 | } -------------------------------------------------------------------------------- /dist/assets/js/chunk-7b4a5c87.1ca97efc.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-7b4a5c87"],{"0c37":function(e,t,r){"use strict";var n=r("68bb6"),a=r("f33a"),i=r("e1ec"),c=r("b7a1"),o=r("06ee"),l=r("f76b"),s=r("da33"),u=r("e28b"),f=Math.max,d=Math.min,p=Math.floor,v=/\$([$&'`]|\d\d?|<[^>]*>)/g,g=/\$([$&'`]|\d\d?)/g,h=function(e){return void 0===e?e:String(e)};n("replace",2,(function(e,t,r,n){var x=n.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,b=n.REPLACE_KEEPS_$0,E=x?"$":"$0";return[function(r,n){var a=l(this),i=void 0==r?void 0:r[e];return void 0!==i?i.call(r,a,n):t.call(String(a),r,n)},function(e,n){if(!x&&b||"string"===typeof n&&-1===n.indexOf(E)){var i=r(t,e,this,n);if(i.done)return i.value}var l=a(e),p=String(this),v="function"===typeof n;v||(n=String(n));var g=l.global;if(g){var y=l.unicode;l.lastIndex=0}var S=[];while(1){var C=u(l,p);if(null===C)break;if(S.push(C),!g)break;var $=String(C[0]);""===$&&(l.lastIndex=s(p,c(l.lastIndex),y))}for(var R="",A=0,I=0;I=A&&(R+=p.slice(A,_)+B,A=_+P.length)}return R+p.slice(A)}];function m(e,r,n,a,c,o){var l=n+e.length,s=a.length,u=g;return void 0!==c&&(c=i(c),u=v),t.call(o,u,(function(t,i){var o;switch(i.charAt(0)){case"$":return"$";case"&":return e;case"`":return r.slice(0,n);case"'":return r.slice(l);case"<":o=c[i.slice(1,-1)];break;default:var u=+i;if(0===u)return t;if(u>s){var f=p(u/10);return 0===f?t:f<=s?void 0===a[f-1]?i.charAt(1):a[f-1]+i.charAt(1):t}o=a[u-1]}return void 0===o?"":o}))}}))},4617:function(e,t,r){"use strict";var n=r("cad4"),a=r("8da5");n({target:"RegExp",proto:!0,forced:/./.exec!==a},{exec:a})},"68bb6":function(e,t,r){"use strict";r("4617");var n=r("13de"),a=r("dbeb"),i=r("94a1"),c=r("8da5"),o=r("60d5"),l=i("species"),s=!a((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")})),u=function(){return"$0"==="a".replace(/./,"$0")}(),f=i("replace"),d=function(){return!!/./[f]&&""===/./[f]("a","$0")}(),p=!a((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var r="ab".split(e);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}));e.exports=function(e,t,r,f){var v=i(e),g=!a((function(){var t={};return t[v]=function(){return 7},7!=""[e](t)})),h=g&&!a((function(){var t=!1,r=/a/;return"split"===e&&(r={},r.constructor={},r.constructor[l]=function(){return r},r.flags="",r[v]=/./[v]),r.exec=function(){return t=!0,null},r[v](""),!t}));if(!g||!h||"replace"===e&&(!s||!u||d)||"split"===e&&!p){var x=/./[v],b=r(v,""[e],(function(e,t,r,n,a){return t.exec===c?g&&!a?{done:!0,value:x.call(t,r,n)}:{done:!0,value:e.call(r,t,n)}:{done:!1}}),{REPLACE_KEEPS_$0:u,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:d}),E=b[0],m=b[1];n(String.prototype,e,E),n(RegExp.prototype,v,2==t?function(e,t){return m.call(e,this,t)}:function(e){return m.call(e,this)})}f&&o(RegExp.prototype[v],"sham",!0)}},"771c":function(e,t,r){var n=r("06ee"),a=r("f76b"),i=function(e){return function(t,r){var i,c,o=String(a(t)),l=n(r),s=o.length;return l<0||l>=s?e?"":void 0:(i=o.charCodeAt(l),i<55296||i>56319||l+1===s||(c=o.charCodeAt(l+1))<56320||c>57343?e?o.charAt(l):i:e?o.slice(l,l+2):c-56320+(i-55296<<10)+65536)}};e.exports={codeAt:i(!1),charAt:i(!0)}},"7bff":function(e,t,r){"use strict";var n=r("f33a");e.exports=function(){var e=n(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},8789:function(e,t,r){"use strict";var n=r("cad4"),a=r("be33").includes,i=r("d840"),c=r("7cb0"),o=c("indexOf",{ACCESSORS:!0,1:0});n({target:"Array",proto:!0,forced:!o},{includes:function(e){return a(this,e,arguments.length>1?arguments[1]:void 0)}}),i("includes")},"8da5":function(e,t,r){"use strict";var n=r("7bff"),a=r("a1df"),i=RegExp.prototype.exec,c=String.prototype.replace,o=i,l=function(){var e=/a/,t=/b*/g;return i.call(e,"a"),i.call(t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),s=a.UNSUPPORTED_Y||a.BROKEN_CARET,u=void 0!==/()??/.exec("")[1],f=l||u||s;f&&(o=function(e){var t,r,a,o,f=this,d=s&&f.sticky,p=n.call(f),v=f.source,g=0,h=e;return d&&(p=p.replace("y",""),-1===p.indexOf("g")&&(p+="g"),h=String(e).slice(f.lastIndex),f.lastIndex>0&&(!f.multiline||f.multiline&&"\n"!==e[f.lastIndex-1])&&(v="(?: "+v+")",h=" "+h,g++),r=new RegExp("^(?:"+v+")",p)),u&&(r=new RegExp("^"+v+"$(?!\\s)",p)),l&&(t=f.lastIndex),a=i.call(d?r:f,h),d?a?(a.input=a.input.slice(g),a[0]=a[0].slice(g),a.index=f.lastIndex,f.lastIndex+=a[0].length):f.lastIndex=0:l&&a&&(f.lastIndex=f.global?a.index+a[0].length:t),u&&a&&a.length>1&&c.call(a[0],r,(function(){for(o=1;o 2 |
3 | 4 | 45 |
46 | 47 | 48 | 231 | 279 | -------------------------------------------------------------------------------- /src/views/goods/goodsList.vue: -------------------------------------------------------------------------------- 1 | 44 | 45 | 396 | -------------------------------------------------------------------------------- /dist/assets/js/chunk-8068781c.7e335b3c.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-8068781c"],{"26a2":function(t,e,n){"use strict";n.r(e);var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",[n("section",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],staticClass:"bg-white",attrs:{"element-loading-text":"拼命加载中……"}},[n("div",{staticClass:"table-filter-wrapper mar-l-10"},[n("ph-form",{attrs:{searchForm:t.searchForm},on:{searchBtn:t.searchBtn,resetSearchBtn:t.resetSearchBtn,addHandle:t.addHandle}})],1),n("div",{staticClass:"table-wrapper pad-t-5 bor-t-1"},[n("ph-table",{attrs:{tableData:t.tableData},on:{editHandle:t.editHandle,singleDeleteHandle:t.singleDeleteHandle,selectionChangeHandle:t.selectionChangeHandle}}),n("el-row",{staticClass:"mar-t-10"},[n("el-col",{attrs:{span:4}},[n("el-button",{attrs:{disabled:t.isBatchDeleteDisabled,size:"small"},on:{click:function(e){return t.batchDeleteHandle()}}},[t._v("批量删除 ")])],1),n("el-col",{attrs:{span:20}},[n("ph-pagination",{staticClass:"mar-r-20 text-right",attrs:{paginations:t.paginationParams},on:{sendPaginations:t.sendPaginationsHandle}})],1)],1)],1)]),n("added-editor-dialog",{attrs:{dialogForm:t.dialogForm,submitLoading:t.submitLoading,dialogVisible:t.addedEditorDialog},on:{"update:dialogVisible":function(e){t.addedEditorDialog=e},"update:dialog-visible":function(e){t.addedEditorDialog=e},getCancel:t.handleCancel,submitHandle:t.submitAddedEditorForm}})],1)},a=[];n("5b4a"),n("d0f0"),n("06d4"),n("63ff"),n("3084"),n("31d1");function i(t,e,n,r,a,i,o){try{var s=t[i](o),l=s.value}catch(c){return void n(c)}s.done?e(l):Promise.resolve(l).then(r,a)}function o(t){return function(){var e=this,n=arguments;return new Promise((function(r,a){var o=t.apply(e,n);function s(t){i(o,r,a,s,l,"next",t)}function l(t){i(o,r,a,s,l,"throw",t)}s(void 0)}))}}var s=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"search-form-wrapper"},[n("el-form",{attrs:{inline:!0}},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:20}},[n("div",{staticClass:"fl"},[n("el-form-item",{staticClass:"pad-r-20",attrs:{label:"拍品"}},[n("el-input",{attrs:{placeholder:"请输入拍品"},model:{value:t.searchForm.name,callback:function(e){t.$set(t.searchForm,"name","string"===typeof e?e.trim():e)},expression:"searchForm.name"}})],1),n("el-form-item",[n("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(e){return t.searchBtn()}}},[t._v("查询")]),n("el-button",{attrs:{size:"mini"},on:{click:function(e){return t.resetSearchBtn()}}},[t._v("重置")])],1)],1)]),n("el-col",{staticClass:"text-right",attrs:{span:4}},[n("el-button",{attrs:{type:"primary",round:""},on:{click:function(e){return t.addHandle()}}},[t._v("添加拍品")])],1)],1)],1)],1)},l=[],c={props:{searchForm:{type:Object,default:Object,required:!0}},methods:{searchBtn:function(){return this.$message({type:"error",message:"请先配置接口哦"})},resetSearchBtn:function(){this.$emit("resetSearchBtn")},addHandle:function(){this.$emit("addHandle")}}},u=c,d=n("5511"),h=Object(d["a"])(u,s,l,!1,null,null,null),f=h.exports,p=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-table",{attrs:{data:t.tableData},on:{"selection-change":t.selectionChangeHandle}},[n("el-table-column",{attrs:{type:"selection",width:"100"}}),n("el-table-column",{attrs:{prop:"name",label:"商品"}}),n("el-table-column",{attrs:{prop:"code",label:"商品代码"}}),n("el-table-column",{attrs:{prop:"time",label:"时间"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v(" "+t._s(t._f("formatDate")(e.row.time,"YYYY-MM-DD HH:mm:ss"))+" ")]}}])}),n("el-table-column",{attrs:{label:"操作",width:"200"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("el-button",{staticClass:"mar-r-20",attrs:{type:"text",size:"small"},on:{click:function(n){return t.editHandle(e.$index,e.row)}}},[t._v("编辑")]),n("el-button",{staticClass:"mar-r-20",attrs:{type:"text",size:"small"}},[n("router-link",{attrs:{to:{path:"/goods/goodsList/goodsDetail",query:{code:e.row.code}}}},[t._v("详情")])],1),n("el-button",{attrs:{type:"text",size:"small"},on:{click:function(n){return t.singleDeleteHandle(e.$index,e.row)}}},[t._v("删除")])]}}])})],1)},m=[],g={props:{tableData:{type:Array,default:Object,required:!0}},methods:{selectionChangeHandle:function(t){this.$emit("selectionChangeHandle",t)},editHandle:function(t,e){this.$emit("editHandle",t,e)},singleDeleteHandle:function(t,e){this.$emit("singleDeleteHandle",t,e)}}},v=g,y=Object(d["a"])(v,p,m,!1,null,null,null),b=y.exports,w=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-pagination",{attrs:{background:"","current-page":t.paginations.pageNo,total:t.paginations.total,"page-size":t.paginations.pageSize,"page-sizes":t.pages,layout:"total,sizes,prev,pager,next,jumper"},on:{"size-change":t.sizeChangeHandle,"current-change":t.currentChangeHandle}})},x=[],H={name:"paginations",props:["paginations"],data:function(){return{pages:[5,10,20,50,100]}},created:function(){this.$config.paginationParams={pageNo:1,pageSize:5,total:0,pages:[5,10,20,50,100]}},methods:{currentChangeHandle:function(t){this.paginations.pageNo=t,this.paginations.total&&this.$emit("sendPaginations",t)},sizeChangeHandle:function(t){this.paginations.pageSize=t,this.paginations.total&&this.$emit("sendPaginations",t)}}},E=H,_=Object(d["a"])(E,w,x,!1,null,null,null),L=_.exports,F=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-dialog",{attrs:{title:"",visible:t.dialogVisible,"before-close":t.handleCancel,width:"500px"},on:{"update:visible":function(e){t.dialogVisible=e}}},[n("el-form",{ref:"dialogForm",attrs:{model:t.dialogForm,"label-width":"100px",rules:t.formRules}},[n("el-form-item",{attrs:{prop:"name",label:"拍品"}},[n("el-input",{staticStyle:{width:"90%"},attrs:{maxlength:"30",placeholder:"拍品名称"},model:{value:t.dialogForm.name,callback:function(e){t.$set(t.dialogForm,"name","string"===typeof e?e.trim():e)},expression:"dialogForm.name"}})],1),n("el-form-item",{attrs:{prop:"code",label:"拍品代码"}},[n("el-input",{staticStyle:{width:"90%"},attrs:{placeholder:"拍品代码"},nativeOn:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.submitHandle("dialogForm")}},model:{value:t.dialogForm.code,callback:function(e){t.$set(t.dialogForm,"code","string"===typeof e?e.trim():e)},expression:"dialogForm.code"}})],1)],1),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{on:{click:t.handleCancel}},[t._v("取 消")]),n("el-button",{attrs:{type:"primary",loading:t.submitLoading},on:{click:function(e){return t.submitHandle("dialogForm")}}},[t._v("确 定")])],1)],1)},k=[],D={props:{dialogVisible:{type:Boolean,default:!1,required:!0},dialogForm:{type:Object,default:Object,required:!0},submitLoading:{type:Boolean,default:!1,required:!0}},data:function(){var t=function(t,e,n){var r=/[^\u4e00-\u9fa5]/;r.test(e)||""===e?n(new Error("请输入中文拍品名称")):n()};return{formRules:{name:[{required:!0,trigger:"blur",validator:t}],code:[{required:!0,message:"请输入拍品代码",trigger:"blur"}]}}},methods:{submitHandle:function(t){var e=this;this.$refs[t].validate((function(t){t&&e.$emit("submitHandle",e.dialogForm)}))},handleCancel:function(){this.$emit("getCancel")}}},C=D,S=Object(d["a"])(C,F,k,!1,null,null,null),$=S.exports,P={name:"goodsList",components:{"ph-pagination":L,"added-editor-dialog":$,"ph-form":f,"ph-table":b},data:function(){return{loading:!1,submitLoading:!1,paginationParams:this.$config.paginationParams,handleType:"",checkedIds:[],isBatchDeleteDisabled:!1,tableData:[{name:"小米手机",code:"XMSJ",time:1573625941e3},{name:"华为手机",code:"HWSJ",time:1573009362e3},{name:"红米手机",code:"HMSJ",time:1573193112e3},{name:"荣耀手机",code:"RYSJ",time:157361074e4}],addedEditorDialog:!1,dialogForm:{name:"",code:""},searchForm:{name:"",code:""}}},created:function(){},methods:{successList:function(){var t=o(regeneratorRuntime.mark((function t(e){var n,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.abrupt("return",this.$message.error("请配置接口!"));case 4:n=t.sent,r=n.data.data,n.data.retcode===this.$config.RET_CODE.SUCCESS_CODE?(this.loading=!1,r.rows.length>0?(this.isBatchDeleteDisabled=!1,this.tableData=r.rows,this.paginationParams.pageSize=r.pageSize,this.paginationParams.size=r.size,this.paginationParams.total=r.total,this.paginationParams.pages=r.pages):(this.tableData=[],this.paginationParams.total=0,this.isBatchDeleteDisabled=!0)):this.$message({type:"error",message:n.data.retmsg});case 7:case"end":return t.stop()}}),t,this)})));function e(e){return t.apply(this,arguments)}return e}(),getList:function(){return this.$message.error("请配置接口!")},searchBtn:function(t){var e={pageNo:this.paginationParams.pageNo,pageSize:this.paginationParams.pageSize,name:t&&t.name?t.name:null};this.successList(e)},sendPaginationsHandle:function(){if(""!==this.searchForm.name||""!==this.searchForm.code){var t={pageNo:this.paginationParams.pageNo,pageSize:this.paginationParams.pageSize,name:this.searchForm&&""!==this.searchForm.name?this.searchForm.name:null};this.successList(t)}else this.getList()},resetSearchBtn:function(){this.searchForm={},this.paginationParams.pageNo=1,this.getList()},addHandle:function(){this.handleType="add",this.addedEditorDialog=!0,this.dialogForm={name:"",code:""}},selectionChangeHandle:function(t){var e=this;t.forEach((function(t){e.checkedIds.push(t.id)}))},editHandle:function(t,e){this.handleType="edit",this.addedEditorDialog=!0,this.dialogForm={name:e.name,code:e.code,id:e.id};e.id;return this.$message.error("请配置接口!")},deleteHandle:function(t,e,n){var r=this;this.$confirm(t,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",center:!0}).then((function(){return r.$message.error("请配置接口!")})).catch((function(){r.$message({type:"info",message:n})}))},singleDeleteHandle:function(t,e){var n=[];n.push(e.id);var r={ids:[e.id]};this.deleteHandle("确定删除当前拍品信息?",r,"取消删除")},batchDeleteHandle:function(){if(this.checkedIds.length>0){var t={ids:this.checkedIds};this.deleteHandle("确定批量删除当前拍品信息?",t,"取消删除")}else this.$message({type:"error",message:"请选择拍品"})},handleCancel:function(){this.addedEditorDialog=!1},submitAddedEditorForm:function(){return this.$message.error("请配置接口!")}}},O=P,z=Object(d["a"])(O,r,a,!1,null,null,null);e["default"]=z.exports},"63ff":function(t,e,n){var r=function(t){"use strict";var e,n=Object.prototype,r=n.hasOwnProperty,a="function"===typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function l(t,e,n,r){var a=e&&e.prototype instanceof m?e:m,i=Object.create(a.prototype),o=new D(r||[]);return i._invoke=_(t,n,o),i}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(r){return{type:"throw",arg:r}}}t.wrap=l;var u="suspendedStart",d="suspendedYield",h="executing",f="completed",p={};function m(){}function g(){}function v(){}var y={};y[i]=function(){return this};var b=Object.getPrototypeOf,w=b&&b(b(C([])));w&&w!==n&&r.call(w,i)&&(y=w);var x=v.prototype=m.prototype=Object.create(y);function H(t){["next","throw","return"].forEach((function(e){t[e]=function(t){return this._invoke(e,t)}}))}function E(t){function e(n,a,i,o){var s=c(t[n],t,a);if("throw"!==s.type){var l=s.arg,u=l.value;return u&&"object"===typeof u&&r.call(u,"__await")?Promise.resolve(u.__await).then((function(t){e("next",t,i,o)}),(function(t){e("throw",t,i,o)})):Promise.resolve(u).then((function(t){l.value=t,i(l)}),(function(t){return e("throw",t,i,o)}))}o(s.arg)}var n;function a(t,r){function a(){return new Promise((function(n,a){e(t,r,n,a)}))}return n=n?n.then(a,a):a()}this._invoke=a}function _(t,e,n){var r=u;return function(a,i){if(r===h)throw new Error("Generator is already running");if(r===f){if("throw"===a)throw i;return S()}n.method=a,n.arg=i;while(1){var o=n.delegate;if(o){var s=L(o,n);if(s){if(s===p)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===u)throw r=f,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=h;var l=c(t,e,n);if("normal"===l.type){if(r=n.done?f:d,l.arg===p)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r=f,n.method="throw",n.arg=l.arg)}}}function L(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator["return"]&&(n.method="return",n.arg=e,L(t,n),"throw"===n.method))return p;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var a=c(r,t.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,p;var i=a.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,p):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,p)}function F(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function D(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(F,this),this.reset(!0)}function C(t){if(t){var n=t[i];if(n)return n.call(t);if("function"===typeof t.next)return t;if(!isNaN(t.length)){var a=-1,o=function n(){while(++a=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var l=r.call(o,"catchLoc"),c=r.call(o,"finallyLoc");if(l&&c){if(this.prev=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var a=r.arg;k(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:C(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),p}},t}(t.exports);try{regeneratorRuntime=r}catch(a){Function("r","regeneratorRuntime = r")(r)}},d0f0:function(t,e,n){var r=n("b8d5"),a=n("8fee").f,i=Function.prototype,o=i.toString,s=/^\s*function ([^ (]*)/,l="name";!r||l in i||a(i,l,{configurable:!0,get:function(){try{return o.call(this).match(s)[1]}catch(t){return""}}})}}]); -------------------------------------------------------------------------------- /dist/assets/js/app.9dfca5fc.js: -------------------------------------------------------------------------------- 1 | (function(e){function t(t){for(var a,s,i=t[0],c=t[1],l=t[2],u=0,d=[];u1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";return B()(e).format(t)},R=n("2ca7"),U=n.n(R),q=(n("46c6"),n("3aff"),n("583d"),n("9d37")),H=n("c1f0"),V=n.n(H),Y=function(){localStorage.removeItem("token"),N.push({path:"/login",query:{redirect:N.currentRoute.fullPath}})},G=V.a.create({timeout:3e4});G.interceptors.request.use((function(e){var t="";return t=localStorage.getItem("token")?localStorage.token:"",e.headers={"Content-Type":"application/json",phSessionToken:t},e}),(function(e){return Promise.error(e)}));var J=function(e,t){switch(e){case 400:console.log("400客户端请求的语法错误,服务器无法理解");break;case 401:Object(R["Message"])({message:"登录过期,请重新登录",type:"error"}),setTimeout((function(){Y()}),3e3);break;case 404:Object(R["Message"])({message:"请求的资源不存在",type:"error"});break;case 408:Object(R["Message"])({message:"网络延时,请稍后",type:"error"}),setTimeout((function(){Y()}),3e4);break;case 500:Object(R["Message"])({message:"网络异常,请重新登录",type:"error"}),setTimeout((function(){Y()}),3e4);break;default:console.log(t)}};G.interceptors.response.use((function(e){return 200===e.status?Promise.resolve(e):(console.log("响应拦截器失败"),Promise.reject(e))}),(function(e){var t=e.response;if(t)return J(t.status,t.data.message),Promise.reject(t);Object(R["Message"])({message:"网络异常,即将前往登录页",type:"error"}),setTimeout((function(){Y()}),5e3)}));var K=G;K.defaults.baseURL=Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_BASEURL;var Q={login:function(e){return K.post("login",e)},goodsManage:Object(q["a"])({add:function(e){return K.post("add",e)},edit:function(e){return K.post("edit",e)},getList:function(e){return K.post("goodList",e)},getDataById:function(e){return K.post("getDataById",e)}},"getDataById",(function(e){return K.post("batchEdit",e)})),uploadFile:function(e,t){return K.post("uploadFile",e,t)},batchImport:function(e,t){return K.post("batchImport",e,t)},getStorehouseName:function(e){return K.post("getStorehouseName",e)}},W={systemModule:Q};Object.keys(a).forEach((function(e){s["default"].filter(e,a[e])})),s["default"].use(U.a),s["default"].prototype.$api=W,s["default"].prototype.$axios=K,s["default"].prototype.$config=M,console.log("NODE_ENV:","production"),s["default"].config.productionTip=!1,new s["default"]({router:N,store:$,render:function(e){return e(d)}}).$mount("#app")},"583d":function(e,t,n){},"644c":function(e,t,n){"use strict";var a=n("fd39"),s=n.n(a);s.a},"6cfa":function(e,t,n){"use strict";var a=n("80c7"),s=n.n(a);s.a},"77d2":function(e,t,n){var a={"./af":"fbac","./af.js":"fbac","./ar":"f96f","./ar-dz":"e63c","./ar-dz.js":"e63c","./ar-kw":"b7bd","./ar-kw.js":"b7bd","./ar-ly":"968f","./ar-ly.js":"968f","./ar-ma":"9f9d","./ar-ma.js":"9f9d","./ar-sa":"aea5","./ar-sa.js":"aea5","./ar-tn":"d44b","./ar-tn.js":"d44b","./ar.js":"f96f","./az":"c7ed","./az.js":"c7ed","./be":"5a28","./be.js":"5a28","./bg":"1251","./bg.js":"1251","./bm":"2809","./bm.js":"2809","./bn":"b4fc","./bn.js":"b4fc","./bo":"5484","./bo.js":"5484","./br":"5adc","./br.js":"5adc","./bs":"ac10","./bs.js":"ac10","./ca":"e381","./ca.js":"e381","./cs":"aef2","./cs.js":"aef2","./cv":"6566","./cv.js":"6566","./cy":"1390","./cy.js":"1390","./da":"1ece","./da.js":"1ece","./de":"5f10","./de-at":"09c4","./de-at.js":"09c4","./de-ch":"89a2","./de-ch.js":"89a2","./de.js":"5f10","./dv":"e662","./dv.js":"e662","./el":"196b","./el.js":"196b","./en-SG":"0a32","./en-SG.js":"0a32","./en-au":"94ed","./en-au.js":"94ed","./en-ca":"2806","./en-ca.js":"2806","./en-gb":"b0dd","./en-gb.js":"b0dd","./en-ie":"7a6e","./en-ie.js":"7a6e","./en-il":"1f0f","./en-il.js":"1f0f","./en-nz":"1606","./en-nz.js":"1606","./eo":"f214","./eo.js":"f214","./es":"7d58","./es-do":"737b","./es-do.js":"737b","./es-us":"a894","./es-us.js":"a894","./es.js":"7d58","./et":"a888","./et.js":"a888","./eu":"1357","./eu.js":"1357","./fa":"0a48","./fa.js":"0a48","./fi":"c2b1","./fi.js":"c2b1","./fo":"52c4","./fo.js":"52c4","./fr":"04e6","./fr-ca":"6ad1","./fr-ca.js":"6ad1","./fr-ch":"b12f","./fr-ch.js":"b12f","./fr.js":"04e6","./fy":"ad13","./fy.js":"ad13","./ga":"369e","./ga.js":"369e","./gd":"22de","./gd.js":"22de","./gl":"f808","./gl.js":"f808","./gom-latn":"50d5","./gom-latn.js":"50d5","./gu":"e67a","./gu.js":"e67a","./he":"037c","./he.js":"037c","./hi":"3d53","./hi.js":"3d53","./hr":"678b","./hr.js":"678b","./hu":"1783","./hu.js":"1783","./hy-am":"2873","./hy-am.js":"2873","./id":"de99","./id.js":"de99","./is":"6aa2","./is.js":"6aa2","./it":"1f93","./it-ch":"2db9","./it-ch.js":"2db9","./it.js":"1f93","./ja":"6bf8","./ja.js":"6bf8","./jv":"6e55","./jv.js":"6e55","./ka":"e65f","./ka.js":"e65f","./kk":"7167","./kk.js":"7167","./km":"4668","./km.js":"4668","./kn":"e3d2","./kn.js":"e3d2","./ko":"b058","./ko.js":"b058","./ku":"017e","./ku.js":"017e","./ky":"b2bd","./ky.js":"b2bd","./lb":"e50c","./lb.js":"e50c","./lo":"ca14","./lo.js":"ca14","./lt":"3e84","./lt.js":"3e84","./lv":"ce1d","./lv.js":"ce1d","./me":"9d38","./me.js":"9d38","./mi":"3e2e","./mi.js":"3e2e","./mk":"d532","./mk.js":"d532","./ml":"db61","./ml.js":"db61","./mn":"7493","./mn.js":"7493","./mr":"52d8","./mr.js":"52d8","./ms":"b559","./ms-my":"7462","./ms-my.js":"7462","./ms.js":"b559","./mt":"c055","./mt.js":"c055","./my":"49e0","./my.js":"49e0","./nb":"eb1c","./nb.js":"eb1c","./ne":"0acb","./ne.js":"0acb","./nl":"7497","./nl-be":"3114","./nl-be.js":"3114","./nl.js":"7497","./nn":"9a9c","./nn.js":"9a9c","./pa-in":"c595","./pa-in.js":"c595","./pl":"801c","./pl.js":"801c","./pt":"5b08","./pt-br":"155f","./pt-br.js":"155f","./pt.js":"5b08","./ro":"05fc","./ro.js":"05fc","./ru":"90b3","./ru.js":"90b3","./sd":"99bf","./sd.js":"99bf","./se":"20d6","./se.js":"20d6","./si":"7c0b","./si.js":"7c0b","./sk":"90fc","./sk.js":"90fc","./sl":"871b","./sl.js":"871b","./sq":"b045","./sq.js":"b045","./sr":"ac81","./sr-cyrl":"a2d0","./sr-cyrl.js":"a2d0","./sr.js":"ac81","./ss":"b093","./ss.js":"b093","./sv":"12e5","./sv.js":"12e5","./sw":"38a0","./sw.js":"38a0","./ta":"a462","./ta.js":"a462","./te":"18cb","./te.js":"18cb","./tet":"0c11","./tet.js":"0c11","./tg":"d707","./tg.js":"d707","./th":"883f","./th.js":"883f","./tl-ph":"6cc0","./tl-ph.js":"6cc0","./tlh":"ab53","./tlh.js":"ab53","./tr":"e523","./tr.js":"e523","./tzl":"b192","./tzl.js":"b192","./tzm":"5604","./tzm-latn":"9f95","./tzm-latn.js":"9f95","./tzm.js":"5604","./ug-cn":"9f4f","./ug-cn.js":"9f4f","./uk":"8bd6","./uk.js":"8bd6","./ur":"9a78","./ur.js":"9a78","./uz":"4d4c","./uz-latn":"da73","./uz-latn.js":"da73","./uz.js":"4d4c","./vi":"b766","./vi.js":"b766","./x-pseudo":"2a69","./x-pseudo.js":"2a69","./yo":"fd2e","./yo.js":"fd2e","./zh-cn":"35d0","./zh-cn.js":"35d0","./zh-hk":"7b45","./zh-hk.js":"7b45","./zh-tw":"fa66","./zh-tw.js":"fa66"};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}s.keys=function(){return Object.keys(a)},s.resolve=r,e.exports=s,s.id="77d2"},"7a86":function(e,t,n){},"80c7":function(e,t,n){},8511:function(e,t,n){"use strict";var a=n("eb89"),s=n.n(a);s.a},"98c2":function(e,t,n){"use strict";var a=n("7a86"),s=n.n(a);s.a},"9d64":function(e,t,n){e.exports=n.p+"assets/img/logo.82b9c7a5.png"},a4b3:function(e,t,n){},eb89:function(e,t,n){},fd39:function(e,t,n){}}); --------------------------------------------------------------------------------