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