Explorar el Código

滨江控规功能优化

songxy hace 1 año
padre
commit
06d384958e

+ 17 - 6
BJYSYBZ_C/src/views/KgView/components/FourContent.vue

@@ -66,7 +66,7 @@
                 <el-date-picker type="date" v-model="query.pfsj" placeholder="批复时间" style="width: 100%" clearable />
               </td>
               <td colspan="2">
-                <el-button size="medium" type="primary" @click="queryData()" icon="el-icon-search" style="margin-left: 10px;">查 询</el-button>
+                <el-button size="medium" type="primary" @click="searchData()" icon="el-icon-search" style="margin-left: 10px;">查 询</el-button>
               </td>
             </tr>
           </table>
@@ -136,22 +136,24 @@ export default {
         },
         total: 0
       },
+      isAllSelected: false
     }
   },
   mounted () {
     this.queryDymcList()
-    this.queryData()
+    this.queryStatisticsAndListPage()
   },
   methods: {
     queryStatisticsAndListPage() {
-      const ydlxArr = this.ydlx.map(arr => arr[1])
       const urlApi = `/api/bj-kg/statisticsAndList/page`;
       const p = {
         ...this.query,
-        dlbms: ydlxArr,
         pageIndex: this.config.page.index,
         pageSize: this.config.page.count
       }
+      if (this.ydlx.length > 0) {
+        p['dlbms'] = this.isAllSelected ? [this.ydlx[0][0]] : this.ydlx.map(arr => arr[1])
+      }
       this.$ajax.post(urlApi, p, this, false).then((result) => {
         const data = result["data"] || {};
         this.zs = data['totalNum']
@@ -180,10 +182,19 @@ export default {
     xzClick (item) {
       this.$emit('clickCallback', item)
       this.$vm.$emit("getGdDetailData", item);
-      this.$vm.$emit("setGdDetailType", 102);
       this.$vm.$emit("location-feature-where", { layerId: 'bj-kg', where: `dkbh = '${item.dkbh}'`, setting: {outFields: 'dkbh,ssqx,ssjd,mj'} })
     },
-    queryData() {
+    searchData () {
+      this.isAllSelected = false;
+      if (this.ydlx.length > 0) {
+        const pBm = this.ydlx[0][0]
+        const selected = ydlxDicts.filter(item => item.value === pBm);
+        if (selected && selected.length > 0) {
+          if (selected[0]['children'].length === this.ydlx.length) {
+            this.isAllSelected = true;
+          }
+        }
+      }
       this.queryStatisticsAndListPage();
     },
   }

+ 12 - 27
BJYSYBZ_C/src/views/KgView/components/Xq.vue

@@ -22,6 +22,12 @@
             {{ obj.pfwh }}
           </td>
         </tr>
+        <tr>
+          <td class="th">批复时间</td>
+          <td>
+            {{ dateFormat(obj.pfsj) }}
+          </td>
+        </tr>
         <tr>
           <td class="th">规划单元</td>
           <td>
@@ -90,37 +96,16 @@ export default {
   data() {
     return {
       obj: {
-        "gddw": "",
-        "xmbh": '',
-        "crjh": "",
-        "sfwczq": "",
-        "ghdy": "",
-        "gkyq": "",
-        "jzxg": "",
-        "ydxzmc": "",
-        "jzmd": "",
-        "bz": "",
-        "sfwcnzy": "",
-        "mj": "",
         "dkbh": "",
-        "sffd": "",
-        "jcmj": "",
-        "zydxz": "",
-        "ssjd": "",
-        "sfwczqsm": "",
-        "ssqx": "",
+        "ssqx": '',
         "pfwh": "",
-        "sftb": "",
-        "ydxz": "",
+        "dymc": "",
+        "dlmc": "",
+        "mj": 0,
         "rjl": "",
         "ldl": "",
-        "pfsj": "",
-        "sfwcnzysm": "",
-        "tdm": "",
-        "zydxzmc": "",
-        "sfygd": '',
-        "sfjd": '',
-        "sfjdsm": '',
+        "jzmd": "",
+        "jzgd": "",
       }
     }
   },

+ 2 - 1
BJYSYBZ_C/src/views/KgView/index.vue

@@ -78,8 +78,9 @@ export default {
       })
     },
     listClickCallback(it) {
+      this.$vm.$emit("setGdDetailType", 102);
       this.xqShow = true
-      this.id = it['dkbh']
+      this.id = it['id']
 
     },
     detailClose() {

+ 23 - 9
BJYSYBZ_C/src/views/WlydxqView/components/FourContent.vue

@@ -171,7 +171,7 @@
                 <div class="fold-wrapper" @click="foldShow = !foldShow"> <img src="@/assets/images/bjybz/choose.png" alt="" style="vertical-align: middle"> {{ foldShow ? '折叠' : '展开' }} </div>
               </th>
               <td>
-                <el-button size="medium" type="primary" @click="queryData()" icon="el-icon-search" style="float: right">查 询</el-button>
+                <el-button size="medium" type="primary" @click="searchData()" icon="el-icon-search" style="float: right">查 询</el-button>
               </td>
             </tr>
           </table>
@@ -267,11 +267,13 @@ export default {
       nf: '2021',
       ydlx: [],
       crjhs: [ '2023年', '2024年', '2025年','2026年','远期' ],
-      foldShow: false
+      foldShow: false,
+      isAllSelected: false
     }
   },
   mounted() {
-    this.queryData()
+    this.initHZ()
+    this.getTsxzListData();
     // this.initTdyts()
   },
   methods: {
@@ -283,14 +285,15 @@ export default {
       });
     },
     getTsxzListData() {
-      const ydlxArr = this.ydlx.map(arr => arr[1])
       const urlApi = `/api/ybz-bj/wlydList`;
       let p = {
         ...this.query,
-        dlbms: ydlxArr,
         pageIndex: this.config.page.index,
         pageSize: this.config.page.count
       }
+      if (this.ydlx.length > 0) {
+        p['dlbms'] = this.isAllSelected ? [this.ydlx[0][0]] : this.ydlx.map(arr => arr[1])
+      }
       this.$ajax.get(urlApi, p, this, false).then((result) => {
         const data = result["data"] || {};
         this.xzList = data['list'];
@@ -320,7 +323,17 @@ export default {
       });
       window.open(routeUrl.href, '_blank');
     },
-    queryData() {
+    searchData() {
+      this.isAllSelected = false;
+      if (this.ydlx.length > 0) {
+        const pBm = this.ydlx[0][0]
+        const selected = ydlxDicts.filter(item => item.value === pBm);
+        if (selected && selected.length > 0) {
+          if (selected[0]['children'].length === this.ydlx.length) {
+            this.isAllSelected = true;
+          }
+        }
+      }
       this.initHZ()
       this.getTsxzListData();
       return;
@@ -368,10 +381,11 @@ export default {
       }, 200)
     },
     initHZ () {
-      const ydlxArr = this.ydlx.map(arr => arr[1])
       const p = {
-        ...this.query,
-        dlbms: ydlxArr
+        ...this.query
+      }
+      if (this.ydlx.length > 0) {
+        p['dlbms'] = this.isAllSelected ? [this.ydlx[0][0]] : this.ydlx.map(arr => arr[1])
       }
       const urlApi = `/api/ybz-bj/wlydTJ`;
       this.$ajax.get(urlApi, p, this, false).then(result=>{

+ 20 - 4
BJYSYBZ_C/src/views/YbzBjView/components/OneContent.vue

@@ -10,7 +10,11 @@
             title="控制性详细规划"
             style="margin-bottom: 5px"
             @click="showLayer('bj-kzxxxgh')"
-            color="#FFE383"/>
+            color="#FFE383">
+            <template>
+              <span @click="toDetailHandle" class="detail_txt">详情</span>
+            </template>
+        </card-item2>
         <card-item2
             :value="7220"
             unit="公顷"
@@ -18,7 +22,6 @@
             title="全区"
             style="margin-bottom: 5px;background: linear-gradient(90deg,#0e66bf,#0c2b68)"
             color="#33FFB7"/>
-        <!-- <title-card5 :value="7220" :icon="require('@/assets/images/GyzzView/icon3.png')" title="全区" unit="公顷" color="#33FFB7" style="margin-bottom: 10px;padding-top: 10px;padding-bottom: 10px"/> -->
         <div class="group-wrapper">
           <title-card6 :hover="true" :selected="moreLayers.some(it => it === 'bj-czkfbj')" :value="(bjnMj / 10000).toFixed(2)" :icon="require('@/assets/images/bj/icon-5.png')" title="城镇开发边界内" unit="万亩" color="#34F0FF"  @click="showLayer('bj-czkfbj')"/>
           <div class="group-bottom">
@@ -117,7 +120,7 @@
 
 <script>
 import CartItem from "@/views/components/CartItem.vue";
-import CardItem2 from "@/views/YsbzDetail/components/common/CardItem2";
+import CardItem2 from "./common/CardItem2";
 import TitleCard6 from "@/views/components/TitleCard6.vue";
 import TitleCard5 from "@/views/components/TitleCard5.vue";
 import TitleCard7 from "@/views/components/TitleCard7.vue";
@@ -163,7 +166,12 @@ export default {
       return (8.25 - this.mj).toFixed(2)
     }
   },
-  methods:{
+  methods: {
+    toDetailHandle () {
+        this.$router.push({
+          path: '/ybz-bj/kgView',
+        });
+    },
     initMainView() {
       const urlApi = `/api/ybz-bj/mainViewleft`;
       this.$ajax.get(urlApi, null, this, false).then(result=>{
@@ -317,6 +325,14 @@ export default {
 .FourContent {
   height: 100%;
   position: relative;
+  .detail_txt {
+    position: absolute;
+    top: 15px;
+    right: 20px;
+    color: #00FBFF;
+    font-size: 16px;
+    cursor: pointer;
+  }
   .main-box{
     display: flex;
     flex-direction: column;

+ 148 - 0
BJYSYBZ_C/src/views/YbzBjView/components/common/CardItem2.vue

@@ -0,0 +1,148 @@
+<template>
+  <div class="card">
+    <div :class="{TitleCardBox: true, is_hover: hover, is_selected: is_selected}" @click="clickHandle">
+      <span class="icon"><img :src="icon"/></span>
+      <span class="title" :style="{color: color}">{{ title }}</span>
+
+      <span class="numbers" :style="{color: color}">{{value}}</span>
+      <span class="unit" :style="{color: color}">{{ unit }}</span>
+    </div>
+    <slot></slot>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'CardItem',
+  props: {
+    icon: {
+      type: [Object, String],
+      default() {
+        return null
+      }
+    },
+    hover: {
+      type: Boolean,
+      default: false
+    },
+    is_selected: {
+      type: Boolean,
+      default: false
+    },
+    color: {
+      type: String,
+      default: '#4ADEFF'
+    },
+    value: {
+      type: [String, Number],
+    },
+    title: {
+      type: String,
+      default: ''
+    },
+    unit: {
+      type: String,
+      default: '个'
+    },
+    secondValue:{
+      type: [String, Number],
+      default: 22.2
+    },
+    percent:{
+      type: [String, Number],
+      default: 22.2
+    }
+  },
+  data(){
+    return{
+      selected:false
+    }
+  },
+  methods: {
+    clickHandle() {
+      this.selected=!this.selected
+      this.$emit('click')
+    },
+    clearActive(){
+      this.selected=false
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.card {
+  border: 1px solid #3D77DC;
+  margin-bottom: 12px;
+  position: relative;
+  .TitleCardBox {
+    height: 50px;
+    //background: #193E86;
+    display: flex;
+    color: #fff;
+    align-items: center;
+    padding: 0px 10px;
+
+    &.is_hover {
+      cursor: pointer;
+    }
+
+    &.is_hover:hover {
+      background: linear-gradient(90deg, #0E66BF 0%, #153981 100%);
+      border-left: 3px solid #3BAAFF;
+    }
+
+    &.selected{
+      background: linear-gradient(90deg, #0E66BF 0%, #153981 100%);
+      border-left: 3px solid #3BAAFF;
+    }
+    &.is_selected{
+      background: linear-gradient(90deg, #0E66BF 0%, #153981 100%);
+      border-left: 3px solid #3BAAFF;
+    }
+
+    > span {
+      &.icon {
+        width: 34px;
+        height: 34px;
+        margin-right: 10px;
+
+        > img {
+          width: 100%;
+          height: 100%;
+        }
+      }
+
+      &.title {
+        font-size: 20px;
+        font-weight: bold;
+        color: #FFFFFF;
+        flex: 1;
+      }
+    }
+
+    .label{
+      font-size: 18px;
+      font-family: Alibaba PuHuiTi;
+      font-weight: bold;
+      color: #FFFFFF;
+      margin-right: 15px;
+    }
+    .numbers{
+      font-size: 22px;
+      font-family: Alibaba PuHuiTi;
+      font-weight: bold;
+      margin-right: 5px;
+    }
+
+
+    > .unit {
+      font-size: 20px;
+      margin-left: 3px;
+      width: 50px;
+    }
+  }
+
+
+}
+</style>

+ 0 - 2
BJYSYBZ_C/src/views/YsbzDetail/components/common/CardItem2.vue

@@ -7,8 +7,6 @@
       <span class="numbers" :style="{color: color}">{{value}}</span>
       <span class="unit" :style="{color: color}">{{ unit }}</span>
     </div>
-
-
   </div>
 </template>
 

+ 2 - 2
BJYSYBZ_C/src/views/components/BigScreenMap/index.vue

@@ -350,8 +350,8 @@
             <p v-show="props['ydxz']">用地性质:{{ props["ydxz"] }}</p>
           </div>
           <div class="content" v-if="detailType == 102">
-            <h2>{{ detailData["dkbh"] }}</h2>
-            <p>行政区划:{{ (detailData["ssqx"]) }} - {{ detailData["xzqmc"] }}</p>
+            <h2>{{ detailData["dkbh"] || props['xzqmc']}}</h2>
+            <p>行政区划:{{ (detailData["ssqx"] || props['ssqx']) }} - {{ detailData["xzqmc"] || props['xzqmc']}}</p>
             <p>面积:{{ ((detailData["mj"] * 15 || props['mj'] * 15)).toFixed(2) }} 亩</p>
           </div>
           <div class="fixedIcon"></div>

+ 5 - 1
BJYSYBZ_S/src/main/java/com/zjugis/ysgzybz/dao/BjkgMapper.java

@@ -68,6 +68,7 @@ public interface BjkgMapper extends BaseMapper<BjKgDO> {
 
     default BjKgRespVO selectStatisticsAndListByPage(BjKgReqDTO bjKgReqDTO){
         QueryWrapper<BjKgDO> queryWrapper = new QueryWrapper<>();
+        queryWrapper.like(Strings.isNotBlank(bjKgReqDTO.getDymc()),"dymc", bjKgReqDTO.getDymc());
         queryWrapper.like(Strings.isNotBlank(bjKgReqDTO.getDkbh()),"dkbh", bjKgReqDTO.getDkbh());
         queryWrapper.like(Strings.isNotBlank(bjKgReqDTO.getPfwh()),"pfwh", bjKgReqDTO.getPfwh());
         queryWrapper.like(Strings.isNotBlank(bjKgReqDTO.getDlmc()),"dlmc", bjKgReqDTO.getDlmc());
@@ -87,7 +88,10 @@ public interface BjkgMapper extends BaseMapper<BjKgDO> {
         return BjKgRespVO.builder()
                 .totalNum(list.size())
                 .totalArea(list.stream().map(BjKgDO::getMj).reduce(BigDecimal.ZERO, BigDecimal::add).doubleValue())
-                .lists(new Page<BjKgDO>().setRecords(list.stream().skip((bjKgReqDTO.getPageIndex()-1) * bjKgReqDTO.getPageSize()).limit(bjKgReqDTO.getPageSize()).collect(Collectors.toList())))
+                .lists(
+                    new Page<BjKgDO>()
+                    .setRecords(list.stream().skip((bjKgReqDTO.getPageIndex()-1) * bjKgReqDTO.getPageSize()).limit(bjKgReqDTO.getPageSize()).collect(Collectors.toList()))
+                    .setTotal(list.size()))
                 .build();
     }
 

+ 2 - 0
BJYSYBZ_S/src/main/java/com/zjugis/ysgzybz/domain/dto/BjKgReqDTO.java

@@ -9,6 +9,8 @@ import java.util.List;
 @Data
 public class BjKgReqDTO extends PageDTO {
 
+    private String dymc;
+
     private List<String> dlbms;
 
     private String dkbh;