From cda6938d898dc9744cea408c6e34d591710f6003 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期一, 29 七月 2024 17:36:13 +0800 Subject: [PATCH] 2024.7.29 --- src/views/fysp/scene/SceneInfo.vue | 12 - /dev/null | 29 ---- src/api/additional-jingan/constructionApi.js | 24 ++++ package-lock.json | 57 +++++++++ src/api/index.js | 10 src/components/search-option/FYOptionTime.vue | 9 - package.json | 1 src/views/fysp/support/JingAnSupport.vue | 72 ++++++++++++ src/api/additional-jingan/index.js | 96 ++++++++++++++++ src/constants/menu.js | 5 src/router/index.js | 6 + src/views/fysp/evaluation/EvalutationRecord.vue | 4 12 files changed, 272 insertions(+), 53 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9eb228d..ca20189 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "dayjs": "^1.11.10", "element-plus": "^2.4.3", "js-base64": "^3.7.5", + "md5": "^2.3.0", "pinia": "^2.0.26", "vue": "^3.2.45", "vue-i18n": "^9.8.0", @@ -3330,6 +3331,14 @@ "node": ">=8" } }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmmirror.com/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "engines": { + "node": "*" + } + }, "node_modules/check-error": { "version": "1.0.2", "dev": true, @@ -3544,6 +3553,14 @@ }, "engines": { "node": ">= 8" + } + }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmmirror.com/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "engines": { + "node": "*" } }, "node_modules/cssesc": { @@ -4892,6 +4909,11 @@ "node": ">=8" } }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, "node_modules/is-ci": { "version": "3.0.1", "dev": true, @@ -5514,6 +5536,16 @@ "node_modules/map-stream": { "version": "0.1.0", "dev": true + }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } }, "node_modules/memoize-one": { "version": "6.0.0", @@ -9738,6 +9770,11 @@ } } }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmmirror.com/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==" + }, "check-error": { "version": "1.0.2", "dev": true @@ -9868,6 +9905,11 @@ "shebang-command": "^2.0.0", "which": "^2.0.1" } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmmirror.com/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==" }, "cssesc": { "version": "3.0.0", @@ -10746,6 +10788,11 @@ "binary-extensions": "^2.0.0" } }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, "is-ci": { "version": "3.0.1", "dev": true, @@ -11139,6 +11186,16 @@ "version": "0.1.0", "dev": true }, + "md5": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, "memoize-one": { "version": "6.0.0" }, diff --git a/package.json b/package.json index fca809c..2d30896 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "dayjs": "^1.11.10", "element-plus": "^2.4.3", "js-base64": "^3.7.5", + "md5": "^2.3.0", "pinia": "^2.0.26", "vue": "^3.2.45", "vue-i18n": "^9.8.0", diff --git a/src/api/additional-jingan/constructionApi.js b/src/api/additional-jingan/constructionApi.js new file mode 100644 index 0000000..aa5a3b8 --- /dev/null +++ b/src/api/additional-jingan/constructionApi.js @@ -0,0 +1,24 @@ +import { $jingan } from './index'; + +export default { + /** + * 鏌ヨ闇�纭鐨勮澶囨竻鍗� + */ + queryDevice(updateTime) { + return $jingan.get(`feedback/queryDevice?updateTime=${updateTime}`).then((res) => res.data); + }, + + /** + * 鏌ヨ鏂板缓宸ュ湴 + */ + queryGdNew(createTime) { + return $jingan.get(`feedback/queryGdNew?createTime=${createTime}`).then((res) => res.data); + }, + + /** + * 涓婁紶璁惧鍜屽伐鍦板叧鑱斿叧绯伙紙鏂板宸ュ湴鎴栫幇鏈夊伐鍦帮級 + */ + uploadConstructionDevice(data) { + return $jingan.post(`feedback/sbGlgd`, data).then((res) => res.data); + }, +}; diff --git a/src/api/additional-jingan/index.js b/src/api/additional-jingan/index.js new file mode 100644 index 0000000..3922104 --- /dev/null +++ b/src/api/additional-jingan/index.js @@ -0,0 +1,96 @@ +import axios from 'axios'; +import md5 from 'md5'; +import { ElMessage } from 'element-plus'; + +let IP = 'http://101.230.224.80:8082/'; + +const $jingan = axios.create({ + baseURL: IP, + timeout: 20000 +}); + +const TOKEN = 'e6dc8bb9e1ff0ce973fb92b4af2e4c3f'; +// 缁熶竴鏃堕棿鎴宠姹傚ご +const headTimeStamp = function () { + const date = new Date(); + const nowS = parseInt(date.getTime() / 1000); + const now = nowS - 200; + // const now = 1722234092; + const key = `${now}${TOKEN}`; + const sign = md5(key); + return [ + { key: 'JA-TIMESTAMP', value: now }, + { key: 'JA-SIGN', value: sign }, + { key: 'JA-TOKEN', value: TOKEN } + ]; +}; + +//娣诲姞鎷︽埅鍣� +[$jingan].forEach((i) => { + // 娣诲姞璇锋眰鎷︽埅鍣� + i.interceptors.request.use( + function (config) { + // 鍦ㄥ彂閫佽姹備箣鍓嶅仛浜涗粈涔� + console.log('==>璇锋眰寮�濮�'); + console.log(`${config.baseURL}${config.url}`); + if (config.data) { + console.log('==>璇锋眰鏁版嵁', config.data); + } + const heads = headTimeStamp(); + heads.forEach((h) => { + config.headers[h.key] = h.value; + }); + return config; + }, + function (error) { + // 瀵硅姹傞敊璇仛浜涗粈涔� + console.log('==>璇锋眰寮�濮�'); + console.log(error); + ElMessage({ + message: error, + type: 'error' + }); + return Promise.reject(error); + } + ); + + // 娣诲姞鍝嶅簲鎷︽埅鍣� + i.interceptors.response.use( + function (response) { + // 2xx 鑼冨洿鍐呯殑鐘舵�佺爜閮戒細瑙﹀彂璇ュ嚱鏁般�� + // 瀵瑰搷搴旀暟鎹仛鐐逛粈涔� + console.log(response); + console.log('==>璇锋眰缁撴潫'); + if (response.status == 200) { + if (response.data.code != undefined && response.data.code != null) { + if (response.data.code == 20000) { + return response; + } else { + ElMessage({ + message: response.data.message, + type: 'error' + }); + return Promise.reject(response.data.message); + } + } else { + return response; + } + } else { + return Promise.reject(response); + } + }, + function (error) { + // 瓒呭嚭 2xx 鑼冨洿鐨勭姸鎬佺爜閮戒細瑙﹀彂璇ュ嚱鏁般�� + // 瀵瑰搷搴旈敊璇仛鐐逛粈涔� + console.log(error); + console.log('==>璇锋眰缁撴潫'); + ElMessage({ + message: error, + type: 'error' + }); + return Promise.reject(error); + } + ); +}); + +export { $jingan }; diff --git a/src/api/index.js b/src/api/index.js index 92c580a..7dc7214 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1,12 +1,12 @@ import axios from 'axios'; import { ElMessage } from 'element-plus'; -const debug = true; +const debug = false; -// let ip1 = 'http://47.100.191.150:9005/'; -// let ip1_file = 'http://47.100.191.150:9005/'; -let ip1 = 'https://fyami.com.cn:447/'; -let ip1_file = 'https://fyami.com.cn:447/'; +let ip1 = 'http://47.100.191.150:9005/'; +let ip1_file = 'http://47.100.191.150:9005/'; +// let ip1 = 'https://fyami.com.cn:447/'; +// let ip1_file = 'https://fyami.com.cn:447/'; let ip2 = 'https://fyami.com.cn/'; let ip2_file = 'https://fyami.com.cn/'; diff --git a/src/components/search-option/FYOptionTime.vue b/src/components/search-option/FYOptionTime.vue index 801fbde..ac1292c 100644 --- a/src/components/search-option/FYOptionTime.vue +++ b/src/components/search-option/FYOptionTime.vue @@ -14,6 +14,7 @@ import dayjs from 'dayjs'; const MONTH = 'month'; +const DATE = 'date'; export default { props: { @@ -42,14 +43,6 @@ handleChange(value) { this.$emit('update:value', value); }, - timeFormat() { - switch (this.type) { - case MONTH: - return 'YYYY-MM'; - default: - return 'YYYY-MM'; - } - } }, mounted() { if (this.initValue) { diff --git a/src/constants/menu.js b/src/constants/menu.js index 5740439..08247bd 100644 --- a/src/constants/menu.js +++ b/src/constants/menu.js @@ -56,6 +56,11 @@ }, ], }, + { + path: '/fysp/support', + icon: 'Files', + name: '瀵瑰鏀寔' + }, // { // icon: 'Search', diff --git a/src/router/index.js b/src/router/index.js index 7c646ef..1b3cb80 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -111,6 +111,12 @@ component: () => import('@/views/fysp/scene/SceneEdit.vue'), meta: { transition: 'slide-left' } }, + { + //瀵瑰鏀寔 + name: 'fyspSupport', + path: '/fysp/support', + component: () => import('@/views/fysp/support/JingAnSupport.vue'), + }, /**********************************椋炵窘鐜***********************************************/ { diff --git a/src/test.js b/src/test.js deleted file mode 100644 index 547db41..0000000 --- a/src/test.js +++ /dev/null @@ -1,29 +0,0 @@ -// const shape = { -// radius: 9, -// d() { -// return this.radius * 2; -// }, -// p: () => 2 * Math.PI * this.radius, -// }; - -// console.log(shape.d()); -// console.log(shape.p()); - -// const str = 'abc'; -// if (str[0] >= 'a' && str[0] <= 'z') { -// let a = parseInt(str[0]); -// a -= 32; -// console.log(a); -// } - - -// let a = 4 -// let b = new Number(4) -// let c = '4' -// console.log(a == b); -// console.log(a === b); -// console.log(a == c); -// console.log(b === c); - -var val = 'smtg' -console.log('Value is' + ((val === 'smtg') ? 'Something' : 'Nothing')); \ No newline at end of file diff --git a/src/views/fysp/evaluation/EvalutationRecord.vue b/src/views/fysp/evaluation/EvalutationRecord.vue index 37d2b7e..5727f66 100644 --- a/src/views/fysp/evaluation/EvalutationRecord.vue +++ b/src/views/fysp/evaluation/EvalutationRecord.vue @@ -35,7 +35,9 @@ </template> <template #table-column> - <el-table-column fixed="left" prop="sceneName" :show-overflow-tooltip="true" label="鍚嶇О" width="300"> + <el-table-column fixed="left" sortable prop="sceneIndex" label="缂栧彿" width="80"> + </el-table-column> + <el-table-column prop="sceneName" :show-overflow-tooltip="true" label="鍚嶇О" width="300"> </el-table-column> <el-table-column prop="subTaskTime" diff --git a/src/views/fysp/scene/SceneInfo.vue b/src/views/fysp/scene/SceneInfo.vue index 68f7699..066dcd8 100644 --- a/src/views/fysp/scene/SceneInfo.vue +++ b/src/views/fysp/scene/SceneInfo.vue @@ -27,6 +27,8 @@ </template> <template #table-column> + <el-table-column fixed="left" sortable prop="index" label="缂栧彿" width="80"> + </el-table-column> <el-table-column fixed="left" prop="name" @@ -34,16 +36,6 @@ :show-overflow-tooltip="true" width="400" > - <!-- <template #default="scope"> - <el-tooltip - effect="dark" - :content="scope.row.name" - placement="top-start" - :show-after="500" - > - {{ scope.row.name }} - </el-tooltip> - </template> --> </el-table-column> <el-table-column prop="type" label="绫诲瀷" width="130" /> <el-table-column prop="provincename" label="鐪�" width="90" /> diff --git a/src/views/fysp/support/JingAnSupport.vue b/src/views/fysp/support/JingAnSupport.vue new file mode 100644 index 0000000..ad2c9a4 --- /dev/null +++ b/src/views/fysp/support/JingAnSupport.vue @@ -0,0 +1,72 @@ +<template> + <FYOptionTime :initValue="true" type="date" v-model:value="updateTime"></FYOptionTime> + <el-button type="primary" @click="fetchNewDevice">鏌ヨ鏂拌澶�</el-button> + <el-button type="primary" @click="fetchNewConstruction">鏌ヨ鏂板伐鍦�</el-button> + <el-row> + <el-col :span="12"> + <el-text>鏂拌澶�</el-text> + <div v-for="item in deviceList" :key="item.id"> + <div>{{ item.id }}</div> + <div>{{ item.code }}</div> + <div>{{ item.name }}</div> + <div>{{ item.address }}</div> + <div>{{ item.status }}</div> + <span>{{ item.createTime }} |</span> + <span>{{ item.updateTime }} |</span> + <span>{{ item.remark }} |</span> + <span>{{ item.lon }} |</span> + <span>{{ item.lat }}</span> + </div> + </el-col> + <el-col :span="12"> + <el-text>鏂板伐鍦�</el-text> + <div v-for="item in constructionList" :key="item.id"> + <div>{{ item.id }}</div> + <div>{{ item.code }}</div> + <div>{{ item.name }}</div> + <div>{{ item.address }}</div> + <div>{{ item.street }}</div> + <div>{{ item.status }}</div> + <span>{{ item.lon }} |</span> + <span>{{ item.lat }}</span> + <span>{{ item.score }} |</span> + <span>{{ item.grade }}</span> + <span>{{ item.subTaskId }} |</span> + <span>{{ item.createTime }} |</span> + </div> + </el-col> + </el-row> +</template> +<script setup> +import { ref } from 'vue'; +import dayjs from 'dayjs'; +import constructionApi from '@/api/additional-jingan/constructionApi'; +import { useFetchData } from '@/composables/fetchData'; + +const { loading, fetchData } = useFetchData(); + +const updateTime = ref(); +const deviceList = ref([]); +const constructionList = ref([]); + +// 鏌ヨ闇�纭鐨勮澶囨竻鍗� +function fetchNewDevice() { + const param = dayjs(updateTime.value).format('YYYY-MM-DD HH:mm:ss'); + fetchData(() => { + return constructionApi.queryDevice(param).then((res) => { + deviceList.value = res.data; + }); + }); +} + +// 鏌ヨ鏂板缓宸ュ湴 +function fetchNewConstruction() { + const param = dayjs(updateTime.value).format('YYYY-MM-DD HH:mm:ss'); + fetchData(() => { + return constructionApi.queryGdNew(param).then((res) => { + constructionList.value = res.data; + }); + }); +} +</script> +<style scoped></style> -- Gitblit v1.9.3