From 54b5fa2047324b81b6d2ee7f830693267f946c0a Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 10 一月 2024 17:45:54 +0800
Subject: [PATCH] 1. 编写数据源检查模块

---
 src/views/fysp/evaluation/components/precheck/components/CompCheckSource.vue |   68 ++++++++++++++++++----
 src/api/index.js                                                             |    2 
 src/views/fysp/evaluation/components/precheck/components/CompCheckArea.vue   |   25 ++++++-
 src/components.d.ts                                                          |    2 
 src/views/fysp/evaluation/components/CompQuickSet.vue                        |   12 ++--
 src/api/fysp/problemApi.js                                                   |    7 ++
 src/api/fysp/userMapApi.js                                                   |   10 +++
 src/api/fytz/complaintApi.js                                                 |   20 ++++++
 8 files changed, 118 insertions(+), 28 deletions(-)

diff --git a/src/api/fysp/problemApi.js b/src/api/fysp/problemApi.js
index 5bb2b72..b543b7e 100644
--- a/src/api/fysp/problemApi.js
+++ b/src/api/fysp/problemApi.js
@@ -5,11 +5,16 @@
 
 export default {
   /**
-   * 鑾峰彇瀛愪换鍔$粺璁′俊鎭�
+   * 闂瀹℃牳
    * @param {Number} action 0锛氶棶棰橀�氳繃锛�1锛氶棶棰樹笉閫氳繃锛�2锛氭暣鏀归�氳繃锛�3鏁存敼涓嶉�氳繃
    */
   checkProblem({ pId, action, remark = '', userId = id, userName = name }) {
     const params = `?pId=${pId}&action=${action}&remark=${remark}&userId=${userId}&userName=${userName}`;
     return $fysp.post(`problemlist/check${params}`).then((res) => res.data);
   },
+
+  fetchProblemType({ cityCode, districtCode, sceneTypeId }) {
+    const params = `?taskTypeId=1&cityCode=${cityCode}&districtCode=${districtCode}&sceneTypeId=${sceneTypeId}`;
+    return $fysp.get(`problemtype/search${params}`).then((res) => res.data);
+  }
 };
diff --git a/src/api/fysp/userMapApi.js b/src/api/fysp/userMapApi.js
new file mode 100644
index 0000000..57d107a
--- /dev/null
+++ b/src/api/fysp/userMapApi.js
@@ -0,0 +1,10 @@
+import { $fysp } from '../index';
+
+export default {
+  /**
+   * 鑾峰彇鍖哄煙鐢ㄦ埛鐨勭洃娴嬭澶囧拰椋炵窘鐩戠绯荤粺銆侀缇界幆澧冪郴缁熺殑鍖归厤璁板綍
+   */
+  fetchDeviceMap(param) {
+    return $fysp.post(`usermap/device`, param).then((res) => res.data);
+  }
+};
diff --git a/src/api/fytz/complaintApi.js b/src/api/fytz/complaintApi.js
new file mode 100644
index 0000000..d14a4e7
--- /dev/null
+++ b/src/api/fytz/complaintApi.js
@@ -0,0 +1,20 @@
+import { $fytz } from '../index';
+
+/**
+ * 淇¤鎶曡瘔鍙婅鏀垮缃氱浉鍏矨PI鎺ュ彛
+ */
+export default {
+  /**
+   * 鑾峰彇淇¤鎶曡瘔淇℃伅
+   */
+  fetchComplaints(param) {
+    return $fytz.post(`complaint/find`, param).then((res) => res.data);
+  },
+
+  /**
+   * 鑾峰彇琛屾斂澶勭綒淇℃伅
+   */
+  fetchPunishment(param) {
+    return $fytz.post(`punishment/find`, param).then((res) => res.data);
+  }
+};
diff --git a/src/api/index.js b/src/api/index.js
index 27fb8ac..4140d17 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -15,8 +15,6 @@
   // ip2_file = 'https://fyami.com.cn/';
 }
 
-// const ip2 = 'http://192.168.0.123:8080/';
-
 //椋炵窘鐩戠
 const $fysp = axios.create({
   baseURL: ip1,
diff --git a/src/components.d.ts b/src/components.d.ts
index 4a308bb..50e6853 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -46,6 +46,8 @@
     ElPageHeader: typeof import('element-plus/es')['ElPageHeader']
     ElPagination: typeof import('element-plus/es')['ElPagination']
     ElPopover: typeof import('element-plus/es')['ElPopover']
+    ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
+    ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
     ElRow: typeof import('element-plus/es')['ElRow']
     ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
     ElSelect: typeof import('element-plus/es')['ElSelect']
diff --git a/src/views/fysp/evaluation/components/CompQuickSet.vue b/src/views/fysp/evaluation/components/CompQuickSet.vue
index 2cd420b..4e91557 100644
--- a/src/views/fysp/evaluation/components/CompQuickSet.vue
+++ b/src/views/fysp/evaluation/components/CompQuickSet.vue
@@ -33,7 +33,7 @@
               dName: '闈欏畨鍖�',
             },
             scenetype: { label: '宸ュ湴', value: '1' },
-            sourcetype: false,
+            sourceType: 2,
           },
           {
             name: '寰愭眹椁愰ギ',
@@ -46,7 +46,7 @@
               dName: '寰愭眹鍖�'
             },
             scenetype: { label: '椁愰ギ', value: '5' },
-            sourcetype: false,
+            sourceType: 2,
           },
           {
             name: '閲戝北宸ュ湴',
@@ -59,7 +59,7 @@
               dName: '閲戝北鍖�'
             },
             scenetype: { label: '宸ュ湴', value: '1' },
-            sourcetype: false,
+            sourceType: 2,
           },
           {
             name: '閲戝北鐮佸ご',
@@ -72,7 +72,7 @@
               dName: '閲戝北鍖�'
             },
             scenetype: { label: '鐮佸ご', value: '2' },
-            sourcetype: false,
+            sourceType: 2,
           },
           {
             name: '閲戝北鎼呮媽绔�',
@@ -85,7 +85,7 @@
               dName: '閲戝北鍖�'
             },
             scenetype: { label: '鎼呮媽绔�', value: '3' },
-            sourcetype: false,
+            sourceType: 2,
           },
           {
             name: '寰愭眹姹戒慨',
@@ -98,7 +98,7 @@
               dName: '寰愭眹鍖�'
             },
             scenetype: { label: '姹戒慨', value: '7' },
-            sourcetype: true,
+            sourceType: 1,
           }
         ]
       }
diff --git a/src/views/fysp/evaluation/components/precheck/components/CompCheckArea.vue b/src/views/fysp/evaluation/components/precheck/components/CompCheckArea.vue
index 3aea097..457a050 100644
--- a/src/views/fysp/evaluation/components/precheck/components/CompCheckArea.vue
+++ b/src/views/fysp/evaluation/components/precheck/components/CompCheckArea.vue
@@ -21,7 +21,7 @@
             :allOption="false"
             :initValue="false"
             :sourceInit="sceneOptionSourceInit"
-            :type="formObj.sourcetype ? 1 : 2"
+            :type="formObj.sourceType"
             v-model:value="formObj._scenetype"
           ></FYOptionScene>
           <!-- 鏃堕棿 -->
@@ -31,9 +31,17 @@
             type="month"
             v-model:value="formObj.time"
           ></FYOptionTime>
-          <el-form-item label="涓绘暟鎹簮" prop="sourcetype">
-            <el-switch v-model="formObj.sourcetype" @change="sceneOptionSourceInit = true" />
-            <span class="m-l-16">{{ formObj.sourcetype ? '瀹堟硶鏈嶅姟璁板綍' : '鐜板満宸℃煡璁板綍' }}</span>
+          <el-form-item label="涓绘暟鎹簮" prop="sourceType">
+            <!-- <el-switch v-model="formObj.sourceType" @change="sceneOptionSourceInit = true" /> -->
+            <el-radio-group
+              v-model="formObj.sourceType"
+              size="small"
+              @change="sceneOptionSourceInit = true"
+            >
+              <el-radio-button label="1">瀹堟硶鏈嶅姟璁板綍</el-radio-button>
+              <el-radio-button label="2">鐜板満宸℃煡璁板綍</el-radio-button>
+            </el-radio-group>
+            <!-- <span class="m-l-16">{{ formObj.sourceType ? '瀹堟硶鏈嶅姟璁板綍' : '鐜板満宸℃煡璁板綍' }}</span> -->
             <el-tooltip placement="bottom-start" effect="light">
               <template #content>
                 <!-- <el-text tag="b" size="default">璇存槑</el-text><br /> -->
@@ -92,6 +100,13 @@
             message: '鏃堕棿涓嶈兘涓虹┖',
             trigger: 'change'
           }
+        ],
+        sourceType: [
+          {
+            required: true,
+            message: '涓绘暟鎹簮蹇呴』閫夋嫨',
+            trigger: 'change'
+          }
         ]
       },
       // 褰撳満鏅�夐」鍒囨崲鏁版嵁婧愭椂锛屾槸鍚︽竻绌哄綋鍓嶉�夐」鍊�
@@ -103,7 +118,7 @@
       this.sceneOptionSourceInit = false;
       this.$refs.formRef.formObj._locations = param.locations;
       this.$refs.formRef.formObj._scenetype = param.scenetype;
-      this.$refs.formRef.formObj.sourcetype = param.sourcetype;
+      this.$refs.formRef.formObj.sourceType = param.sourceType;
     },
     submit() {
       this.$refs.formRef.onSubmit(false);
diff --git a/src/views/fysp/evaluation/components/precheck/components/CompCheckSource.vue b/src/views/fysp/evaluation/components/precheck/components/CompCheckSource.vue
index 9217bc3..3456d9c 100644
--- a/src/views/fysp/evaluation/components/precheck/components/CompCheckSource.vue
+++ b/src/views/fysp/evaluation/components/precheck/components/CompCheckSource.vue
@@ -62,6 +62,9 @@
 <script>
 import evaluateApi from '@/api/fysp/evaluateApi';
 import taskApi from '@/api/fysp/taskApi';
+import userMapApi from '@/api/fysp/userMapApi';
+import problemApi from '@/api/fysp/problemApi';
+import complaintApi from '@/api/fytz/complaintApi';
 
 /**
  * 鐢熸垚涓�椤规暟鎹簮妫�鏌ヨ褰�
@@ -98,21 +101,17 @@
   emits: ['update:modelValue'],
   data() {
     return {
-      areaInfo: {
-        _locations: '',
-        _scenetype: '',
-        time: '',
-        sourcetype: ''
-      },
+      areaInfo: {},
       // 鏁版嵁婧愭鏌ヨ褰�
       checkResults: [
+        // 鍖哄煙鑼冨洿鍐呯殑鑷姩璇勪及瑙勫垯琛ㄦ槸鍚﹀瓨鍦�
         baseCheckItem(
           '鑷姩璇勪及瑙勫垯琛�',
           '',
           () => {
             const param = {
               taskTypeId: 99,
-              scensetypeid: this.areaInfo._scenetype.value
+              ...this.areaInfo
             };
             return evaluateApi.fetchEvaluationRule(param).then((res) => {
               return res.data.length > 0;
@@ -120,12 +119,39 @@
           },
           true
         ),
-        baseCheckItem('鐜板満鐩戠宸℃煡鎬讳换鍔�', '', () => {}),
+        // 鍖哄煙鑼冨洿鍐呯殑鐩戠浠诲姟鏄惁瀛樺湪
+        baseCheckItem('鐜板満鐩戠宸℃煡鎬讳换鍔�', '', () => {
+          return taskApi.fetchTopTasks(this.areaInfo).then((res) => {
+            return res.data.length > 0;
+          });
+        }),
+        // 鍖哄煙鑼冨洿鍐呯殑鐩戞祴鏁版嵁鏄惁瀛樺湪銆佹暟鎹椂闂磋法搴︽槸鍚﹀畬鏁淬�佹暟鎹殑鍒濇鍒嗘瀽鏄惁瀹屾垚
         baseCheckItem('鐜板満鐩戞祴鏁版嵁', '', () => {}),
-        baseCheckItem('鐩戠鐐逛綅涓庣洃娴嬬偣鍖归厤', '', () => {}),
-        baseCheckItem('鐜板満鐩戠闂绫诲瀷', '', () => {}),
-        baseCheckItem('淇¤鎶曡瘔', '', () => {}),
-        baseCheckItem('琛屾斂澶勭綒', '', () => {})
+        // 鍖哄煙鑼冨洿鍐呯殑姣忎釜鐩戠鐐逛綅涓庣洃娴嬩华鍣ㄧ殑鍖归厤璁板綍鏄惁瀛樺湪锛岀己澶辨儏鍐电瓑
+        baseCheckItem('鐩戠鐐逛綅涓庣洃娴嬬偣鍖归厤', '', () => {
+          userMapApi.fetchDeviceMap(this.areaInfo).then((res) => {
+            return res.data.length > 0;
+          });
+        }),
+        // 鍖哄煙鑼冨洿鍐呯殑鐩戠闂閰嶇疆琛ㄦ槸鍚﹀瓨鍦�
+        baseCheckItem('鐜板満鐩戠闂绫诲瀷', '', () => {
+          const param = { 
+            cityCode: this.areaInfo.citycode,
+            districtCode: this.areaInfo.districtcode,
+            sceneTypeId: this.areaInfo.scensetypeid
+          }
+          problemApi.fetchProblemType(param).then((res) => {
+            return res.length > 0;
+          });
+        }),
+        // 鍖哄煙鑼冨洿鍐呯殑淇¤鎶曡瘔璁板綍鏄惁瀛樺湪锛屽彲闅忔椂琛ュ厖
+        baseCheckItem('淇¤鎶曡瘔', '', () => {
+          complaintApi.fetchComplaints();
+        }),
+        // 鍖哄煙鑼冨洿鍐呯殑琛屾斂澶勭綒璁板綍鏄惁瀛樺湪锛屽彲闅忔椂琛ュ厖
+        baseCheckItem('琛屾斂澶勭綒', '', () => {
+          complaintApi.fetchPunishment();
+        })
       ]
     };
   },
@@ -162,8 +188,22 @@
       }
     },
     // 寮�濮嬫鏌ヤ换鍔�
-    startCheck(v) {
-      this.areaInfo = v;
+    startCheck(value) {
+      const v = value.value
+      this.areaInfo = {
+        provincecode: v._locations.pCode,
+        provincename: v._locations.pName,
+        citycode: v._locations.cCode,
+        cityname: v._locations.cName,
+        districtcode: v._locations.dCode,
+        districtname: v._locations.dName,
+        towncode: v._locations.tCode,
+        townname: v._locations.tName,
+        starttime: v.time,
+        scensetypeid: v._scenetype.value,
+        online: true,
+        sourceType: v.sourceType,
+      };
       this.checkResults.forEach((e) => {
         e.fetch();
       });

--
Gitblit v1.9.3