diff --git a/.env.development b/.env.development index 52470ee..37d0863 100644 --- a/.env.development +++ b/.env.development @@ -1 +1,3 @@ -VITE_BASE_URL = 'https://crmeb-test.shop.lihaink.cn/api' \ No newline at end of file +VITE_BASE_URL = 'https://crmeb-test.shop.lihaink.cn/api' +# VITE_BASE_URL = 'https://shop.lihaink.cn/api' +# VITE_BASE_URL = '/' \ No newline at end of file diff --git a/.env.production b/.env.production index 4813c42..46804f0 100644 --- a/.env.production +++ b/.env.production @@ -1 +1,2 @@ -VITE_BASE_URL = '/' \ No newline at end of file +VITE_BASE_URL = '/' +# VITE_BASE_URL = 'https://shop.lihaink.cn/api' \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index bf09db6..8212b8c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "axios": "^1.6.2", "echarts": "^5.4.3", "echarts-gl": "^2.0.9", + "element-plus": "^2.4.4", "mitt": "^3.0.1", "pinia": "^2.1.7", "v-click-outside": "^3.2.0", @@ -52,6 +53,22 @@ "node": ">=6.9.0" } }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "peerDependencies": { + "vue": "^3.2.0" + } + }, "node_modules/@esbuild/android-arm": { "version": "0.19.7", "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.19.7.tgz", @@ -404,6 +421,28 @@ "node": ">=12" } }, + "node_modules/@floating-ui/core": { + "version": "1.5.2", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.5.2.tgz", + "integrity": "sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==", + "dependencies": { + "@floating-ui/utils": "^0.1.3" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.5.3", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.5.3.tgz", + "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", + "dependencies": { + "@floating-ui/core": "^1.4.2", + "@floating-ui/utils": "^0.1.3" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.1.6", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.1.6.tgz", + "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==" + }, "node_modules/@jiaminghi/bezier-curve": { "version": "0.0.9", "resolved": "https://registry.npmmirror.com/@jiaminghi/bezier-curve/-/bezier-curve-0.0.9.tgz", @@ -462,6 +501,12 @@ "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.5.2", "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.5.2.tgz", @@ -618,6 +663,24 @@ "win32" ] }, + "node_modules/@types/lodash": { + "version": "4.14.202", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + }, "node_modules/@vitejs/plugin-vue": { "version": "4.5.0", "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.5.0.tgz", @@ -738,6 +801,74 @@ "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.8.tgz", "integrity": "sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==" }, + "node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==" + }, + "node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "dependencies": { + "vue-demi": "*" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", @@ -751,6 +882,11 @@ "node": ">= 8" } }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", @@ -829,6 +965,11 @@ "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz", "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -858,6 +999,31 @@ "echarts": "^5.1.2" } }, + "node_modules/element-plus": { + "version": "2.4.4", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.4.4.tgz", + "integrity": "sha512-TlKubXJgxwhER0dw+8ULn9hr9kZjraV4R6Q/eidwWUwCKxwXYPBGmMKsZ/85tlxlhMYbcLZd/YZh6G3QkHX4fg==", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.3", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, "node_modules/esbuild": { "version": "0.19.7", "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.19.7.tgz", @@ -895,6 +1061,11 @@ "@esbuild/win32-x64": "0.19.7" } }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", @@ -1012,6 +1183,26 @@ "node": ">=0.12.0" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, "node_modules/magic-string": { "version": "0.30.5", "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.5.tgz", @@ -1023,6 +1214,11 @@ "node": ">=12" } }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", @@ -1067,6 +1263,11 @@ "node": ">=0.10.0" } }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", diff --git a/package.json b/package.json index 89418aa..ff7e2a3 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "axios": "^1.6.2", "echarts": "^5.4.3", "echarts-gl": "^2.0.9", + "element-plus": "^2.4.4", "mitt": "^3.0.1", "pinia": "^2.1.7", "v-click-outside": "^3.2.0", diff --git a/src/api/index.js b/src/api/index.js index 530c18f..5b73164 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1,4 +1,5 @@ import axios from "@/utils/axios.js"; +import axiosShop from "@/utils/axiosShop.js"; // 登录 export const login = (data) => { @@ -7,12 +8,12 @@ export const login = (data) => { // 区县 export const getArea = (data) => { - return axios.get('city/get_area', { params: data }); + return axiosShop.get('city/get_area', { params: data }); } // 乡镇 export const getStreet = (data) => { - return axios.get('city/get_street', { params: data }); + return axiosShop.get('city/get_street', { params: data }); } // 订单列表 diff --git a/src/components/Businesses2.vue b/src/components/Businesses2.vue index ae6bede..15a3b65 100644 --- a/src/components/Businesses2.vue +++ b/src/components/Businesses2.vue @@ -31,7 +31,7 @@ const initData = (data) => { arr.push( [ `
${data[i].order_sn || '-'}
`, - `
${data[i].real_name || '-'}
`, + `
${data[i].captain_name || '-'}
`, `
${data[i].user_phone || '-'}
`, `
${data[i].user_address || '-'}
`, `
${data[i].store_name || '-'}
`, @@ -67,8 +67,9 @@ const configs = reactive({ }) const pages = ref({ - areaCode: appStore.address.areaCode, - streetCode: appStore.address.streetCode, + areaCode: appStore.delivery_address.areaCode, + streetCode: appStore.delivery_address.streetCode, + courier_id: appStore.delivery_address.courier_id, page: 1, limit: 30, total: 0, diff --git a/src/main.js b/src/main.js index ab7beff..6efe0a6 100644 --- a/src/main.js +++ b/src/main.js @@ -3,6 +3,8 @@ import './style.css' import App from './App.vue' import dataV from '@jiaminghi/data-view' import './assets/font/fonts.css'; +import 'element-plus/dist/index.css'; +import 'element-plus/theme-chalk/dark/css-vars.css'; import router from "./router"; import { createPinia } from 'pinia'; diff --git a/src/utils/axios.js b/src/utils/axios.js index 553fa28..e5155c6 100644 --- a/src/utils/axios.js +++ b/src/utils/axios.js @@ -1,4 +1,5 @@ import axios from "axios"; +import { ElMessage } from "element-plus"; const request = axios.create({ baseURL: import.meta.env.VITE_BASE_URL, @@ -15,6 +16,7 @@ function convertParamsToQueryString (params) { // 请求拦截器 request.interceptors.request.use( config => { + config.Token = localStorage.getItem('token')||null; return config; }, error => { @@ -27,8 +29,12 @@ request.interceptors.request.use( // 响应拦截器 request.interceptors.response.use( response => { + if(response.data.status!==200){ + ElMessage.error(response.data.message); + return Promise.reject(response.data); + } // 对响应数据做些什么,例如解析数据、统一处理错误等 - return response.data; + return Promise.resolve(response.data); }, error => { // 处理响应错误 diff --git a/src/utils/axiosShop.js b/src/utils/axiosShop.js new file mode 100644 index 0000000..27b9b59 --- /dev/null +++ b/src/utils/axiosShop.js @@ -0,0 +1,46 @@ +import axios from "axios"; +import { ElMessage } from "element-plus"; + +const request = axios.create({ + baseURL: 'https://shop.lihaink.cn/api', + timeout: 5000 +}) + +function convertParamsToQueryString (params) { + const queryString = Object.keys(params) + .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`) + .join('&'); + return queryString; +} + +// 请求拦截器 +request.interceptors.request.use( + config => { + config.Token = localStorage.getItem('token')||null; + return config; + }, + error => { + // 处理请求错误 + console.error(error); + return Promise.reject(error); + } +); + +// 响应拦截器 +request.interceptors.response.use( + response => { + if(response.data.status!==200){ + ElMessage.error(response.data.message); + return Promise.reject(response.data); + } + // 对响应数据做些什么,例如解析数据、统一处理错误等 + return Promise.resolve(response.data); + }, + error => { + // 处理响应错误 + console.error(error); + return Promise.reject(error); + } +); + +export default request; \ No newline at end of file diff --git a/src/view/delivery/components/bottom.vue b/src/view/delivery/components/bottom.vue index 0a6efd7..219df0b 100644 --- a/src/view/delivery/components/bottom.vue +++ b/src/view/delivery/components/bottom.vue @@ -391,6 +391,10 @@ const pages = ref({ const loadOrderList = () => { getOrderList(pages.value).then((res) => { initData(res.data.currOrderList); + orderList.value[0].value = res.data.currOrderCount; + orderList.value[1].value = res.data.pendingOrderCount; + orderList.value[2].value = res.data.undeliveredOrderCount; + orderList.value[3].value = res.data.doneOrderCountQuery; }).catch(err => { console.error(err); }) diff --git a/src/view/index/components/centerMap.vue b/src/view/index/components/centerMap.vue index 3416332..882d42a 100644 --- a/src/view/index/components/centerMap.vue +++ b/src/view/index/components/centerMap.vue @@ -280,6 +280,7 @@ const initMap = () => { itemStyle: { normal: { areaColor: "transparent", + borderColor: "#5AD0E0", }, emphasis: { areaColor: { @@ -396,29 +397,29 @@ const initMap = () => { }, }, - { - type: "map", - map: mapType.name, - zlevel: -2, - aspectScale: 1, - zoom: 1, - layoutCenter: ["50%", "53%"], - layoutSize: "110%", - roam: false, - silent: true, + // { + // type: "map", + // map: mapType.name, + // zlevel: -2, + // aspectScale: 1, + // zoom: 1, + // layoutCenter: ["50%", "53%"], + // layoutSize: "110%", + // roam: false, + // silent: true, - itemStyle: { - normal: { - borderWidth: 1, - borderColor: "rgba(17, 149, 216,0.4)", - borderColor: "#5AD0E0", - shadowColor: "rgba(172, 122, 255,0.5)", - shadowOffsetY: 5, - shadowBlur: 15, - areaColor: "rgba(5,21,35,0.1)", - }, - }, - }, + // itemStyle: { + // normal: { + // borderWidth: 1, + // borderColor: "rgba(17, 149, 216,0.4)", + // borderColor: "#5AD0E0", + // shadowColor: "rgba(172, 122, 255,0.5)", + // shadowOffsetY: 5, + // shadowBlur: 15, + // areaColor: "rgba(5,21,35,0.1)", + // }, + // }, + // }, { type: "map", @@ -426,7 +427,7 @@ const initMap = () => { zlevel: -4, aspectScale: 1, zoom: 1, - layoutCenter: ["50%", "54%"], + layoutCenter: ["50%", "53%"], layoutSize: "110%", roam: false, silent: true, @@ -437,7 +438,7 @@ const initMap = () => { // borderColor: "rgba(11, 43, 97,0.8)", borderColor: "rgba(5,9,57,0.8)", shadowColor: "rgba(29, 111, 165,0.8)", - shadowOffsetY: 15, + shadowOffsetY: 10, shadowBlur: 10, areaColor: "rgba(5,21,35,0.1)", },