Quellcode durchsuchen

对接搜索框联动接口,echart组件优化显示,频发问题修改为历史问题,

DESKTOP-6LTVLN7\Liumouren vor 2 Jahren
Ursprung
Commit
b0aa8750ee

+ 3 - 3
public/static/json/home/layout_water.json

@@ -105,17 +105,17 @@
             {
                 "year": 2017,
                 "type": "水域面积",
-                "area": 4.34
+                "area": 136.58
             },
             {
                 "year": 2018,
                 "type": "水域面积",
-                "area": 4.34
+                "area": 136.82
             },
             {
                 "year": 2019,
                 "type": "水域面积",
-                "area": 4.35
+                "area": 136.84
             },
             {
                 "year": 2017,

+ 3 - 1
src/api/url.js

@@ -28,11 +28,13 @@ export default {
   updateContent: "/dms/content/updateContent",
   // 删除数据
   updateAudit: "/dms/content/updateAudit",
-  // 频发问题排序
+  // 历史问题排序
   // 参数 field = c_wtfl,columnId = 24
   selectGroupByCountOrderBy: "/dms/content/selectGroupByCountOrderBy",
   // 叠置分析接口 - get
   overlayAnalysis: "/audit/audit/overlayAnalysis",
   // 我的模型查看按钮
   getModelCoverAgeInfo: "/audit/audit/getModelCoverAgeInfo",
+  // group的请求DMS数据列表(搜索条件联动)
+  auditSelectContentList: "/audit/audit/selectContentList",
 };

+ 15 - 0
src/assets/global.css

@@ -332,3 +332,18 @@ body iframe {
 .el-loading-mask .el-loading-spinner .el-loading-text {
   font-size: 18px;
 }
+
+/* filter */
+.el-table-filter {
+  background-color: rgb(0, 39, 77) !important;
+  border-color: rgba(0, 39, 77, 0.6) !important;
+}
+.is-disabled {
+  background-color: rgb(0, 39, 77, 0.5) !important;
+}
+.el-table-filter__bottom{
+  border-top-color: rgb(255,255,255, 0.3) !important;
+}
+.el-table-filter__list-item{
+  color: rgba(255,255,255,0.9);
+}

+ 2 - 2
src/components/chart/LineChart.vue

@@ -113,9 +113,9 @@ export default {
           }
         },
         yAxis: {
-          min: parseFloat(dataMin).toFixed(2),
+          min: parseFloat(dataMin - dataMin/10).toFixed(2),
           max: parseFloat(dataMax).toFixed(2),
-          interval: dataMax === dataMin ? dataMax : dataMax - dataMin,
+          interval: dataMax === dataMin ? dataMax : parseFloat(dataMax - dataMin + dataMin/10).toFixed(2),
           type: "value",
           scale: true,
           splitLine: {

+ 1 - 1
src/components/common/WholeProcessManagement.vue

@@ -198,7 +198,7 @@ export default {
         searchParam.push(param1);
       }
       params.append("search", JSON.stringify(searchParam));
-      let sortparam = [{ field: "c_create_date", orderByType: 2 }];
+      let sortparam = [{ field: "c_year", orderByType: 2 }];
       params.append("orderBy", JSON.stringify(sortparam));
       this.$Post(this.urlsCollection.selectContentList, params).then(
         res => {

+ 2 - 2
src/components/layout/Header.vue

@@ -49,7 +49,7 @@
               ><span v-show="$store.state.windowsSize.width > 1700">智能辅助</span></template
             >
             <el-menu-item index="5-1">法律法规</el-menu-item>
-            <el-menu-item index="5-2">频发问题</el-menu-item>
+            <el-menu-item index="5-2">历史问题</el-menu-item>
             <el-menu-item index="5-3">指标体系</el-menu-item>
           </el-submenu>
         </el-menu>
@@ -106,7 +106,7 @@ export default {
         3: "综合分析",
         4: "全流程管理",
         "5-1": "法律法规",
-        "5-2": "频发问题",
+        "5-2": "历史问题",
         "5-3": "指标体系"
       }
     };

+ 1 - 1
src/config/common.js

@@ -1215,7 +1215,7 @@ export const menuOnLine = {
         gotoPageInfo: {
           index: "5",
           subIndex: "2",
-          name: "频发问题"
+          name: "历史问题"
         }
       }
     ],

+ 173 - 18
src/views/FrequencyView.vue

@@ -49,8 +49,8 @@
     </el-dialog>
     <div class="frenquency-container-inner">
       <div class="header">
-        <div class="header-title">频发问题</div>
-        <div class="header-select">
+        <div class="header-title">历史问题</div>
+        <!-- <div class="header-select">
           <div>
             <div class="text">类别 :</div>
             <NewSelect
@@ -84,21 +84,59 @@
               :value="timeSelectVal"
             />
           </div>
-        </div>
-        <div class="query-btn" @click="getTableData(1)">查询</div>
+        </div> -->
+        <!-- <div class="query-btn" @click="getTableData(1)">查询</div> -->
         <div class="reset-btn" @click="resetEvent">重置</div>
       </div>
-      <div class="center">
+      <div class="center" v-if="reStart">
         <el-table :data="tableData" style="width: 100%" max-height="600" @row-click="rowClick">
-          <el-table-column type="index" width="70" align="center"> </el-table-column>
-          <el-table-column prop="createYear" label="立项年度" width="150" align="center" :filters="filters.createYearFilters">
+          <el-table-column type="index" width="70" align="center" label="序号"> </el-table-column>
+          <el-table-column
+            prop="createYear"
+            label="立项年度"
+            width="150"
+            align="center"
+            :filters="filters.createYearFilters"
+            :filter-multiple="false"
+            :filter-method="filterMethod"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="auditTown"
+            label="被审计镇"
+            align="center"
+            width="180"
+            :filters="filters.auditTownFilters"
+            :filter-multiple="false"
+            :filter-method="filterMethod"
+          >
           </el-table-column>
-          <el-table-column prop="auditTown" label="被审计镇" align="center" width="180" :filters="filters.auditTownFilters">
+          <el-table-column
+            prop="type"
+            label="类别"
+            align="center"
+            :filters="filters.typeFilters"
+            :filter-multiple="false"
+            :filter-method="filterMethod"
+          >
           </el-table-column>
-          <el-table-column prop="type" label="类别" align="center" :filters="filters.typeFilters"> </el-table-column>
-          <el-table-column prop="keyPoint" label="重点审计事项" align="center" :filters="filters.keyPointFilters">
+          <el-table-column
+            prop="keyPoint"
+            label="重点审计事项"
+            align="center"
+            :filters="filters.keyPointFilters"
+            :filter-multiple="false"
+            :filter-method="filterMethod"
+          >
           </el-table-column>
-          <el-table-column prop="problemType" label="参考问题定性" align="center" :filters="filters.problemTypeFilters">
+          <el-table-column
+            prop="problemType"
+            label="参考问题定性"
+            align="center"
+            :filters="filters.problemTypeFilters"
+            :filter-multiple="false"
+            :filter-method="filterMethod"
+          >
           </el-table-column>
           <!-- <el-table-column prop="problemNature" label="问题定性" align="center">
           </el-table-column> -->
@@ -114,7 +152,7 @@
 import NewSelect from "@/components/common/NewSelect.vue";
 import Pagination from "@/components/common/Pagination.vue";
 /**
- * 频发问题 -- 智能辅助
+ * 历史问题 -- 智能辅助
  * @author: Gao Lu
  * @Date: 2022.11.24
  */
@@ -129,6 +167,10 @@ export default {
       typeOptions: [],
       townSelectVal: "",
       townOptions: [],
+      reStart: true,
+      problemType: "",
+      keyPoint: "",
+      // 立项年度搜索框
       timeSelectVal: "",
       timeOptions: [],
       tableData: [],
@@ -233,10 +275,13 @@ export default {
       this.typeSelectVal = "";
       this.townSelectVal = "";
       this.timeSelectVal = "";
-      this.$refs.auditTypeRef.imgValue = "";
-      this.$refs.townTypeRef.imgValue = "";
-      this.$refs.timeRef.imgValue = "";
-      this.getTableData(1);
+      this.keyPoint = "";
+      this.problemType = "";
+      this.reStart = false;
+      setTimeout(() => {
+        this.reStart = true;
+        this.getTableData(1);
+      });
     },
     rowClick(row, column, event) {
       this.activeRowIndex = row.rowIndex - 1;
@@ -245,6 +290,42 @@ export default {
     handleClose() {
       this.dialogVisible = false;
     },
+    filterMethod(value, row, column) {
+      let selectState = false;
+      // 立项年度
+      if (column.property === "createYear" && this.timeSelectVal !== value) {
+        selectState = true;
+        this.timeSelectVal = Number(value);
+      }
+      // 被审计镇
+      if (column.property === "auditTown" && this.townSelectVal !== value) {
+        selectState = true;
+        this.townSelectVal = value;
+      }
+      // 类别
+      if (column.property === "type" && this.typeSelectVal !== value) {
+        selectState = true;
+        this.typeSelectVal = value;
+      }
+      // 重点审计事项
+      if (column.property === "keyPoint" && this.keyPoint !== value) {
+        selectState = true;
+        this.keyPoint = value;
+      }
+      // 参与问题定性
+      if (column.property === "problemType" && this.problemType !== value) {
+        selectState = true;
+        this.problemType = value;
+      }
+
+      if (selectState) {
+        this.getTableData(this.paginationData.currentPage);
+      }
+      return true;
+    },
+    sortList(a, b) {
+      return a - b;
+    },
     // 切换页
     getTableData(val) {
       this.tableData = [];
@@ -285,20 +366,94 @@ export default {
         };
         searchParam.push(paramTime);
       }
+      if (this.keyPoint) {
+        let paramTime = {
+          field: "c_zdsjsxwt",
+          // 等值查询
+          searchType: "1",
+          content: {
+            value: this.keyPoint
+          }
+        };
+        searchParam.push(paramTime);
+      }
+      if (this.problemType) {
+        let paramTime = {
+          field: "c_ckwtdxwt",
+          // 等值查询
+          searchType: "1",
+          content: {
+            value: this.problemType
+          }
+        };
+        searchParam.push(paramTime);
+      }
+
       let params = new FormData();
       params = {
         columnId: 1127,
         states: "0,1,2,3",
         pageSize: this.currentPageSize,
         page: val - 1,
-        search: JSON.stringify(searchParam)
+        search: JSON.stringify(searchParam),
+        group: "c_lxndwt,c_bsjzwt,c_sjlbwt,c_zdsjsxwt,c_ckwtdxwt"
       };
 
-      this.$Post(this.urlsCollection.selectContentList, params).then(res => {
+      // auditSelectContentList
+      this.$Post(this.urlsCollection.auditSelectContentList, params).then(res => {
         if (res.code === 200 && res.content.data.length > 0) {
           this.paginationData.currentPage = val;
           this.paginationData.total = res.content.count;
           this.formData = res.content.data;
+
+          this.filters = {
+            createYearFilters: [],
+            auditTownFilters: [],
+            typeFilters: [],
+            keyPointFilters: [],
+            problemTypeFilters: []
+          };
+          if (res.content.select) {
+            if (res.content.select.c_bsjzwt && res.content.select.c_bsjzwt.length > 0) {
+              res.content.select.c_bsjzwt.forEach(item => {
+                this.filters.auditTownFilters.push({ text: this.classDictMap["浦东新区行政区划"].get(item), value: item });
+              });
+            }
+            if (res.content.select.c_lxndwt && res.content.select.c_lxndwt.length > 0) {
+              let yearsList = [];
+              res.content.select.c_lxndwt.forEach(item => {
+                yearsList.push(Number(item));
+              });
+              for (let index = 0; index < yearsList.length; index++) {
+                for (let index2 = index; index2 < yearsList.length; index2++) {
+                  let syearsList = yearsList[index];
+                  let eyearsList = yearsList[index2];
+                  if (syearsList > eyearsList) {
+                      yearsList[index] = eyearsList;
+                      yearsList[index2] = syearsList;
+                  }
+                }
+              }
+              yearsList.forEach(item => {
+                this.filters.createYearFilters.push({ text: Number(item), value: Number(item) });
+              });
+            }
+            if (res.content.select.c_sjlbwt && res.content.select.c_sjlbwt.length > 0) {
+              res.content.select.c_sjlbwt.forEach(item => {
+                this.filters.typeFilters.push({ text: this.classDictMap["审计类别"].get(item), value: item });
+              });
+            }
+            if (res.content.select.c_ckwtdxwt && res.content.select.c_ckwtdxwt.length > 0) {
+              res.content.select.c_ckwtdxwt.forEach(item => {
+                this.filters.problemTypeFilters.push({ text: item, value: item });
+              });
+            }
+            if (res.content.select.c_zdsjsxwt && res.content.select.c_zdsjsxwt.length > 0) {
+              res.content.select.c_zdsjsxwt.forEach(item => {
+                this.filters.keyPointFilters.push({ text: item, value: item });
+              });
+            }
+          }
           let rowIndex = 0;
           this.tableData = res.content.data.map(v => {
             rowIndex++;

+ 3 - 3
src/views/HomeView.vue

@@ -45,7 +45,7 @@
     <!-- 法律法规 -->
     <LawView id="LawContainer" v-if="$ifMenu('5', '1')" />
 
-    <!-- 频发问题 -->
+    <!-- 历史问题 -->
     <FrequencyView id="FrequencyContainer" v-if="$ifMenu('5', '2')" />
 
     <!-- 指标体系 -->
@@ -156,7 +156,7 @@ import ComprehensiveAnalysis from "@/views/ComprehensiveAnalysis.vue";
 import TagProblemCard from "@/components/common/TagProblemCard.vue";
 // 全流程管理
 import WholeProcessManagement from "@/components/common/WholeProcessManagement.vue";
-// 智能辅助 -- 频发问题
+// 智能辅助 -- 历史问题
 import FrequencyView from "@/views/FrequencyView.vue";
 import IndexSystem from "@/views/IndexSystem.vue";
 // 智能辅助 -- 法律法规
@@ -594,7 +594,7 @@ export default {
 //   left: 25%;
 // }
 
-/* 频发问题 */
+/* 历史问题 */
 #FrequencyContainer,
 #IndexSystemContainer {
   position: relative;