Commit 763dbb2e authored by 袁梓健's avatar 袁梓健
Browse files

提交

parent 21b02d46
No related merge requests found
Showing with 393 additions and 97 deletions
+393 -97
澳觅后台管理系统模板
开发
\ No newline at end of file
# test
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Lints and fixes files
```
npm run lint
```
module.exports = {
presets: [
'@vue/app'
]
}
{
"name": "vue-admin-template",
"version": "3.6.0",
"license": "MIT",
"description": "A vue admin template with Element UI & axios & iconfont & permission control & lint",
"author": "Pan <panfree23@gmail.com>",
"name": "test",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"build": "node build/build.js",
"build:report": "npm_config_report=true node build/build.js",
"lint": "eslint --ext .js,.vue src",
"test": "npm run lint"
"dev": "vue-cli-service serve",
"dev:test": "vue-cli-service serve --mode devtest",
"build:test": "vue-cli-service build --mode test",
"build:sit": "vue-cli-service build --mode sit",
"build:prod": "vue-cli-service build --mode prod",
"lint": "vue-cli-service lint"
},
"dependencies": {
"axios": "0.17.1",
......@@ -20,65 +18,25 @@
"md5": "^2.2.1",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
"vue": "2.5.10",
"svg-sprite-loader": "^4.1.3",
"vue": "^2.5.17",
"vue-i18n": "^8.0.0",
"vue-router": "3.0.1",
"vuex": "3.0.1"
"vue-router": "^3.0.1",
"vuex": "3.0.1",
"xlsx": "^0.14.1"
},
"devDependencies": {
"autoprefixer": "7.2.3",
"babel-core": "6.26.0",
"babel-eslint": "8.0.3",
"babel-helper-vue-jsx-merge-props": "2.0.3",
"babel-loader": "7.1.2",
"babel-plugin-component": "^1.1.1",
"babel-plugin-syntax-jsx": "6.18.0",
"babel-plugin-transform-runtime": "6.23.0",
"babel-plugin-transform-vue-jsx": "3.5.0",
"babel-preset-env": "1.6.1",
"babel-preset-stage-2": "6.24.1",
"chalk": "2.3.0",
"copy-webpack-plugin": "4.2.3",
"css-loader": "0.28.7",
"eslint": "4.13.1",
"eslint-friendly-formatter": "3.0.0",
"eslint-loader": "1.9.0",
"eslint-plugin-html": "4.0.1",
"eventsource-polyfill": "0.9.6",
"extract-text-webpack-plugin": "3.0.2",
"file-loader": "1.1.5",
"friendly-errors-webpack-plugin": "1.6.1",
"html-webpack-plugin": "2.30.1",
"node-notifier": "5.1.2",
"node-sass": "^4.7.2",
"optimize-css-assets-webpack-plugin": "3.2.0",
"ora": "1.3.0",
"portfinder": "1.0.13",
"postcss-import": "11.0.0",
"postcss-loader": "2.0.9",
"postcss-url": "7.3.0",
"rimraf": "2.6.2",
"sass-loader": "6.0.6",
"semver": "5.4.1",
"shelljs": "0.7.8",
"svg-sprite-loader": "3.5.2",
"uglifyjs-webpack-plugin": "1.1.3",
"url-loader": "0.6.2",
"vue-loader": "13.7.2",
"vue-style-loader": "3.0.3",
"vue-template-compiler": "2.5.10",
"webpack": "3.10.0",
"webpack-bundle-analyzer": "2.9.1",
"webpack-dev-server": "2.9.7",
"webpack-merge": "4.1.1"
},
"engines": {
"node": ">= 4.0.0",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
"@vue/cli-plugin-babel": "^3.0.0-rc.12",
"@vue/cli-plugin-eslint": "^3.0.0-rc.12",
"@vue/cli-service": "^3.0.0-rc.12",
"@vue/eslint-config-standard": "^3.0.1",
"css-loader": "^2.0.0",
"node-sass": "^4.10.0",
"sass-loader": "^7.1.0",
"style-loader": "^0.23.1",
"stylus-loader": "^3.0.2",
"ts-loader": "^5.3.1",
"typescript": "^3.2.2",
"vue-template-compiler": "^2.5.17"
}
}
public/favicon.ico

1.12 KB

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=5YOp1myIXzGZiutzzavME5ww"></script>
<script type="text/javascript" src="http://api.map.baidu.com/library/RichMarker/1.2/src/RichMarker_min.js"></script>
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>调度后台</title>
</head>
<body>
<noscript>
<strong>We're sorry but test doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
......@@ -7,8 +7,8 @@
<script>
export default {
name: 'App',
mounted() {
window.onbeforeunload = function() {
mounted () {
window.onbeforeunload = function () {
localStorage.go = ''
}
}
......
/**
* 定義環境變量env:test(測試),gray(灰度),prod(生產)
*/
const API_ENV = process.env.VUE_APP_API_ENV
console.log('1111', API_ENV)
let env = ''
if (API_ENV === 'test') {
env = 'test'
} else if (API_ENV === 'gray') {
env = 'gray'
} else if (API_ENV === 'prod') {
env = 'prod'
}
// 当设置env为mock时,需要先运行npm run mock,启动mock服务器
export { env }
import axios from 'axios'
import { env } from './env'
let host = ''
// 不同環境用不同域名
if (env === 'test' || !env) {
console.log('test')
host = 'http://test.rider.miguatech.com/aomi-rider'
} else if (env === 'gray') {
console.log('gray')
host = 'http://test.miguatech.com/aomi-rider'
} else if (env === 'prod') {
console.log('prod')
host = 'http://wx.miguatech.com/aomi-rider'
}
const axios_instance = axios.create({
method: 'get',
baseURL: host,
transformRequest: [
function (data) {
return data
}
],
transformResponse: [
function (res) {
let res_p = JSON.parse(res)
let newRes = {}
if (Object.prototype.toString.call(res_p) === '[object Array]') {
newRes = {
resultCode: Number(res_p[0].resultCode),
businessMsg: null,
detailMsg: res_p[1].detailMsg
}
} else {
newRes = res_p
}
return newRes
}
],
headers: {},
params: {},
data: {},
timeout: 10000,
withCredentials: false,
validateStatus: function (status) {
return status >= 200 && status < 300 // default
}
})
export const apiHost = host
export function fetch (url, option) {
let option_ = option || {}
let headers = {
channel: 9,
dispatcherToken: localStorage.getItem('dispatcherToken')
}
option_.headers = headers
option_.url = url
return axios_instance
.request(option_)
.then(res => {
return res.data
})
.catch(function (e) {
let stringError = String(e)
if (stringError.match('timeout') || stringError.match('ERR_TIMED_OUT')) {
return {
netErrorType: 'timeout'
}
} else {
// (stringError.match('Network Error'))
return {
netErrorType: 'neterror'
}
}
})
}
export function fetchAll (fetchArr, cb) {
return new Promise(function (resolve, reject) {
axios.all(fetchArr).then(resolve)
})
}
import { fetch } from './fetch'
export async function getRiderOrderStatesCount (opt) {
return fetch('/dispatcher/v2/getRiderOrderStatesCount', opt)
}
export async function getTimeOutOrderList (opt) {
return fetch('/dispatcher/getTimeOutOrderList', opt)
}
export async function getBarInfo (opt) {
return fetch('/dispatcher/getBarInfo', opt)
}
export async function getStoreAcceptOrderList (opt) {
return fetch('/dispatcher/getStoreAcceptOrderList', opt)
}
export async function getAssignedOrderList (opt) {
return fetch('/dispatcher/getAssignedOrderList', opt)
}
export async function getAcceptOrderList (opt) {
return fetch('/dispatcher/getAcceptOrderList', opt)
}
export async function getArriveStroeOrderList (opt) {
return fetch('/dispatcher/getArriveStroeOrderList', opt)
}
export async function getObtainGoodsOrderList (opt) {
return fetch('/dispatcher/getObtainGoodsOrderList', opt)
}
export async function getArriveMemberList (opt) {
return fetch('/dispatcher/getArriveMemberList', opt)
}
export async function getFinishOrderList (opt) {
return fetch('/dispatcher/v4/getFinishOrderList', opt)
}
// 获取订单所有状态信息
export async function getOrderOptStatus (opt) {
return fetch('/dispatcher/v3/getOrderOptStatus', opt)
}
// 訂單改爲自送訂單
export async function updateSelfsend (opt) {
return fetch('/dispatcher/update2selfsend_v2 ', opt)
}
// 获取所有的区域划分信息
export async function getAllRiderStation (opt) {
return fetch('/dispatcher/getAllRiderStation', opt)
}
// 获取骑手列表
export async function getAllRiderSituation (opt) {
return fetch('/dispatcher/v3/getAllRiderSituation', opt)
}
// 区域所有骑手信息
export async function obtainRiderOnlineSituation (opt) {
return fetch('/dispatcher/obtainRiderOnlineSituation_v2', opt)
}
// 获取商家已出餐未指派订单
export async function getNoAssignOrderList (opt) {
return fetch('/dispatcher/v2/getNoAssignOrderList', opt)
}
// 门店列表下拉
export async function getStoreSelect (opt) {
return fetch('/dispatcher/storeSelect', opt)
}
// 指派给单个骑手
export async function assignOrder (opt) {
return fetch('/dispatcher/assignOrdersv1', opt)
}
// 置顶
export async function remarkRiderSeq (opt) {
return fetch('/dispatcher/v1/remarkRiderSeq', opt)
}
// 骑手未完成订单
export async function getRiderUnfinish (opt) {
return fetch('/dispatcher/getRiderUnfinish', opt)
}
// 獲取改派騎手列表
export async function changeRiderUserList (opt) {
return fetch('/dispatcher/changeRiderUserList', opt)
}
// 改派
export async function changeRiderUser (opt) {
return fetch('/dispatcher/v2/changeRiderUser', opt)
}
import request from '@/utils/request'
import { fetch } from './fetch'
export function login(username, password) {
return request({
url: '/user/login',
method: 'post',
data: {
username,
password
}
})
export async function dispatcherLogin (opt) {
return fetch('/RiderUser/v1/dispatcherLogin', opt)
}
export function getInfo(token) {
return request({
url: '/user/info',
method: 'get',
params: { token }
})
export function loginOut (cb) {
localStorage.clear()
cb && cb()
}
export function logout() {
return request({
url: '/user/logout',
method: 'post'
})
/**
* 判斷是否登錄
*/
export function isLogined () {
return !!localStorage.dispatcherToken
}
import { fetch } from './fetch'
export async function obtainAllRiderList (opt) {
return fetch('/RiderUser/v4/obtainAllRiderList', opt)
}
// 添加修改骑手
export async function addAndUpateRider (opt) {
return fetch('/RiderUser/v3/addAndUpateRider', opt)
}
// 获取所有的区域划分信息
export async function getAllRiderStation (opt) {
return fetch('/dispatcher/getAllRiderStation', opt)
}
// 改變騎手區域
export async function updateStationId (opt) {
return fetch('/RiderUser/updateStationId', opt)
}
// 骑手禁用
export async function deleteRider (opt) {
return fetch('/RiderUser/v1/deleteRider', opt)
}
// 骑手恢复使用
export async function revertRider (opt) {
return fetch('/RiderUser/v1/revertRider', opt)
}
// 騎手密碼修改
export async function updatePwd (opt) {
return fetch('/RiderUser/updatePwd', opt)
}
// 騎手完成訂單列表
export async function searchRiderList (opt) {
return fetch('/RiderUser/statistic/v6/searchRiderList', opt)
}
// 评价管理
export async function searchEvaluateList (opt) {
return fetch('/evaluateManager/evaluate/searchEvaluateList', opt)
}
// 评价管理获取骑手
export async function getAllRiderV1 (opt) {
return fetch('evaluateManager/getAllRider_v1', opt)
}
// 騎手訂單詳情列表
export async function searchRiderOrder (opt) {
return fetch('/RiderUser/statistic/V4/searchRiderOrder', opt)
}
// 订单结算方式修改
export async function optionAccountType (opt) {
return fetch('/dispatcher/optionAccountType', opt)
}
// 获取订单异常列表
export async function AllExceptionLib (opt) {
return fetch('/dispatcher/getAllExceptionLib', opt)
}
// 订单添加异常
export async function markException (opt) {
return fetch('/dispatcher/markException', opt)
}
import request from '@/utils/request'
export function getList(params) {
export function getList (params) {
return request({
url: '/table/list',
method: 'get',
......
.offline {
color: red;
}
.reserve {
color: #03b980;
}
.special {
color: #409eff;
}
.zhuan {
color: #775198;
}
.cancel {
color: #e87b12ed;
}
.sub_title {
display: block;
}
/*滚动条*/
.el-table__body-wrapper::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/
border-radius: 10px;
-webkit-box-shadow: inset 0 0 5px rgba(0, 18, 236, 0.1);
background: rgba(83, 83, 83, 0.1);
}
.el-table__body-wrapper::-webkit-scrollbar-track {
/*滚动条里面轨道*/
-webkit-box-shadow: inset 0 0 5px rgba(64, 163, 194, 0.13);
background: #EDEDED;
}
.el-table__body-wrapper::-webkit-scrollbar {
/*滚动条整体样式*/
width: 8px;
/*高宽分别对应横竖滚动条的尺寸*/
height: 8px;
}
.line_bottom {
position: relative;
}
/**元素的底部線條*/
.line_bottom:after {
content: " ";
position: absolute;
left: 0;
bottom: 0;
right: 0;
height: 1px;
border-bottom: 1px solid #e5e5e5;
color: #e5e5e5;
-webkit-transform-origin: 0 100%;
transform-origin: 0 100%;
-webkit-transform: scaleY(0.5);
transform: scaleY(0.5);
}
\ No newline at end of file
src/assets/edit-icon.png

5.3 KB

src/assets/img/check.png

343 Bytes

src/assets/img/checked.png

745 Bytes

src/assets/img/detail.png

780 Bytes

src/assets/img/eyes_closed.png

711 Bytes

src/assets/img/eyes_open.png

1.5 KB

src/assets/img/rider-icon.png

8.02 KB

Supports Markdown
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