Forráskód Böngészése

feat:总览自主管理弹窗

LAPTOP-U5GOA5HA\zz 1 éve
szülő
commit
663fe9de21

+ 2 - 2
app/src/views/FireCondition/index.vue

@@ -21,8 +21,8 @@
 				</div>
 			</div>
 			<div class="center-box">
-				<border-panel class="fire-time" :header-type="3" height="313px" width="955px" style="margin: 7px;cursor: pointer;"
-					title="火灾时段(24时)" @click="opemFries">
+				<border-panel class="fire-time" header-cursor="pointer" :header-type="3" height="313px" width="955px" style="margin: 7px;cursor: pointer;"
+					title="火灾时段(24时)" @click-header="opemFries">
 					<FireTime :qx="qx" :type="type" />
 					<template #ext-header>
 						<button-block :items="['本年', '近5年', '季节']" @select-item="selectItemHandler" />

+ 374 - 0
app/src/views/Home/components/zzglModul.vue

@@ -0,0 +1,374 @@
+<script>
+	import {
+		getJdjcUnit,
+		getGcjztjUnit
+	} from "@/api/index.js";
+	import {
+		area
+	} from "@/api/area";
+	import punishmentMixin from "@/mixin/unit.js";
+	import {
+		hzfxLsit,
+	} from "@/api/hzfx.js";
+	export default {
+		name: "BasicInfoModalContent",
+		mixins: [punishmentMixin],
+		data() {
+			return {
+				qhyy: '',
+				sw: '',
+				options: [],
+				options1: [{
+						value: '是',
+						label: '是'
+					},
+					{
+						value: '否',
+						label: '否'
+					}
+				],
+				fxdjList: [],
+				tableData: [],
+				unitList: [],
+				value: "全市",
+				params: {
+					pageSize: 10,
+					pageNum: 1,
+				},
+				total: 0,
+				search: "",
+				search1: "",
+				search2: "",
+				// Unittype: "", // 建筑分类
+				// year: "", // 年代
+				// hnum: "", //高度
+				// management: "", //管理形式
+				// subject: "", //管理主体
+				// maintenance: "", //维保形式
+				// risklevel: "", //风险等级
+			};
+		},
+		props: {
+			qy: String,
+		},
+		watch: {
+			qy: {
+				handler(val) {
+					this.value = val;
+					this.funUnitList();
+					this.handUnitList();
+				},
+				immediate: true,
+				deep: true,
+			},
+		},
+		methods: {
+			rowClickHandler(val) {
+				// this.$router.push(`/detail?id=${val.id}`);
+			},
+			funUnitList() {
+				hzfxLsit({
+					...this.params,
+					qx: this.value === "重庆市" ? "" : this.value,
+					zqdd: this.search,
+					srs: this.sw,
+					zqsj: this.search1,
+					qhyy1: this.qhyy
+				}).then((res) => {
+					this.tableData = [];
+					this.total = res.data.total;
+				});
+			},
+			handleSizeChange(val) {
+				this.params.pageSize = val;
+				this.funUnitList();
+			},
+			handleCurrentChange(val) {
+				this.params.pageNum = val;
+				this.funUnitList();
+			},
+			handUnitList() {
+				hzfxLsit({
+					qy: this.value === "重庆市" ? "" : this.value,
+				}).then((res) => {
+					const list = res.data.rows[0];
+					// this.unitList = [
+					//   {
+					//     title: "高层建筑总数(栋)",
+					//     unitNum: list.ggjz + list.gyjz + list.zzjz,
+					//   },
+					//   {
+					//     title: "超高层建筑总数(栋)",
+					//     unitNum: list.cggjz,
+					//   },
+					//   {
+					//     title: "老旧高层建筑总数(栋)",
+					//     unitNum: list.ljzzgc,
+					//   },
+					//   {
+					//     title: "公共建筑总数(栋)",
+					//     unitNum: list.ggjz,
+					//   },
+					//   {
+					//     title: "住宅建筑总数(栋)",
+					//     unitNum: list.zzjz,
+					//   },
+					// ];
+				});
+			},
+			resetForm() {
+				this.qhyy = '',
+					this.sw = '',
+					this.value = "";
+				this.search = "";
+				this.search1 = "";
+				this.params = {
+						pageSize: 10,
+						pageNum: 1,
+					},
+					// this.params.Unittype = ""; // 建筑分类
+					// this.params.year = ""; // 年代
+					// this.params.hnum = ""; //高度
+					// this.params.management = ""; //管理形式
+					// this.params.subject = ""; //管理主体
+					// this.params.maintenance = ""; //维保形式
+					// this.params.risklevel = ""; //风险等级
+					this.funUnitList();
+			},
+		},
+		created() {
+			this.funUnitList();
+			this.handUnitList();
+			area({
+				pageNum: 1,
+				pageSize: 100,
+			}).then((res) => {
+				this.options = res.data.rows;
+			});
+		},
+	};
+</script>
+
+<template>
+	<div>
+		<!-- 建筑数 -->
+		<div class="unit-bulid">
+			<div class="unit-num" v-for="(item, index) in unitList" :key="index">
+				<span>{{ item.title }}</span>
+				<!-- <span class="build-num">{{ item.unitNum }}</span> -->
+				<LinearText style="display: inline-block" :text="item.unitNum" fontSize="40px"></LinearText>
+			</div>
+		</div>
+		<!-- 搜索 -->
+		<div class="maintenance-supervision">
+			<div class="maintenance-supervision_header">
+				<div class="select-item">
+					<el-select v-model="value" placeholder="请选择">
+						<el-option :value="item.areaTitle" :label="item.areaTitle" v-for="(item, index) in options"
+							:key="index">
+						</el-option>
+					</el-select>
+				</div>
+				<div class="inp">
+					<el-input v-model="search" placeholder="请输入建筑名称"></el-input>
+				</div>
+				<!-- 伤亡 --> 
+				<div>
+					<el-select v-model="sw" placeholder="管理形式">
+						<el-option :value="item.value" :label="item.lable" v-for="(item, index) in options1"
+							:key="index">
+						</el-option>
+					</el-select>
+				</div>
+				<div>
+					<el-select v-model="qhyy" placeholder="维保形式">
+						<el-option :value="item.value" :label="item.lable" v-for="(item, index) in yearList"
+							:key="index">
+						</el-option>
+					</el-select>
+				</div>
+                <div>
+					<el-select v-model="qhyy" placeholder="大修基金">
+						<el-option :value="item.value" :label="item.lable" v-for="(item, index) in yearList"
+							:key="index">
+						</el-option>
+					</el-select>
+				</div>
+				
+				<div class="btn-item">
+					<el-button @click="funUnitList">搜索</el-button>
+					<el-button @click="resetForm">重置</el-button>
+				</div>
+			</div>
+		</div>
+
+		<basic-table :data="tableData" @row-click="rowClickHandler" style="text-align: center">
+			<el-table-column type="index" label="序号"> </el-table-column>
+			<el-table-column prop="qx" label="区县" show-overflow-tooltip>
+			</el-table-column>
+			<el-table-column prop="zqdd" label="高层建筑名称" show-overflow-tooltip>
+			</el-table-column>
+			<el-table-column prop="zqsj" label="建筑定性" show-overflow-tooltip>
+			</el-table-column>
+			<el-table-column prop="rysws" label="管理形式" show-overflow-tooltip>
+			</el-table-column>
+			<el-table-column prop="srs" label="管理主体" show-overflow-tooltip>
+			</el-table-column>
+			<el-table-column prop="zjccss" label="消防安全管理人"> </el-table-column>
+			<el-table-column prop="qhyy1" label="联系方式" show-overflow-tooltip>
+			</el-table-column>
+            <el-table-column prop="qhyy1" label="维保形式" show-overflow-tooltip>
+			</el-table-column>
+            <el-table-column prop="qhyy1" label="大修基金情况" show-overflow-tooltip>
+			</el-table-column>
+		</basic-table>
+		<br />
+		<basic-pagination layout="->,prev, pager, next, sizes,jumper" :page-sizes="[10, 20, 50, 100]"
+			:page-size="params.pageSize" :current-page="params.PageNum" :total="total" @size-change="handleSizeChange"
+			@current-change="handleCurrentChange" />
+	</div>
+</template>
+
+<style scoped lang="less">
+	.maintenance-supervision {
+
+		// padding: 10px 10px 0px 20px;
+		::v-deep(.el-input__inner) {
+			border: none;
+			background: linear-gradient(360deg,
+					rgba(0, 148, 255, 0.5) 0%,
+					rgba(0, 148, 255, 0.31) 100%);
+			color: #fff;
+		}
+
+		::v-deep(.el-button) {
+			border: none;
+			background: linear-gradient(360deg, #0094ff90 0%, #0094ff10 100%);
+			color: #fff;
+		}
+
+		.maintenance-supervision_header {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-around;
+			// border-bottom: 1px solid #154956;
+			padding-bottom: 10px;
+			font-size: 12px;
+			color: rgb(79, 149, 186);
+			// .select-item{
+			//   margin-right: 20px;
+			// }
+		}
+
+		.btn-item {
+			margin-bottom: 10px;
+		}
+
+		.warp {
+			height: 520px;
+			margin: 0 auto;
+			overflow: hidden;
+
+			.item {
+				list-style: none;
+				padding: 0;
+				margin: 0 auto;
+				cursor: pointer;
+			}
+		}
+
+		/deep/.el-input__inner {
+			background-color: #184254;
+			width: 150px;
+			height: 30px;
+			margin-bottom: 5px;
+		}
+
+		/deep/.el-button {
+			width: 100px;
+			height: 32px;
+			font-size: 14px;
+			line-height: 2px;
+			// margin: 0 20px 0 30px;
+			color: #fff;
+			border-radius: 5px;
+			border: none;
+		}
+
+		/deep/.el-button:hover {
+			color: rgb(80, 147, 224);
+		}
+
+		/deep/.select_btn {
+			position: absolute;
+			top: 225px;
+			right: 320px;
+			//下拉框
+		}
+
+		/deep/.el-input {
+			width: 150px;
+			// margin-left: 20px;
+		}
+
+		.header {
+			color: #fff;
+			height: 33px !important;
+			line-height: 33px !important;
+			background-color: rgba(0, 163, 255, 0.3) !important;
+			color: #61dbff;
+			margin-top: 15px;
+			margin-bottom: 6px;
+		}
+
+		.row,
+		li,
+		a {
+			display: block;
+			height: 39px;
+			line-height: 39px;
+			margin-bottom: 4px;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			font-size: 16px;
+			background-color: rgba(0, 0, 0, 0.2);
+
+			.time,
+			.num,
+			.person,
+			.result {
+				flex: 0.33;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+			}
+
+			.num {
+				flex: 0.15;
+			}
+		}
+
+		.inp {
+			margin-left: 20px;
+		}
+	}
+
+	.unit-bulid {
+		display: flex;
+		justify-content: space-between;
+		margin-bottom: 20px;
+		font-size: 18px;
+	}
+
+	.unit-num {
+		width: 200px;
+		height: 109px;
+		border: 1px solid #0463a7;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-items: center;
+		line-height: 59px;
+	}
+</style>

+ 4 - 2
app/src/views/Home/index.vue

@@ -55,7 +55,7 @@
       <fxfbCont :qx="qy" />
     </basic-modal>
     <basic-modal top="120px" ref="autoManageModal"  name="自主管理">
-      <!-- <fxfbCont :qx="qy" /> -->
+      <zzglModul :qx="qy" />
     </basic-modal>
   </div>
 </template>
@@ -71,6 +71,7 @@ import FireIndex from "./components/FireIndex/index.vue";
 import BasicInfoModalContent from "./components/BasicInfoModalContent.vue";
 import SearchBox from '@/components/SearchBox.vue';
 import fxfbCont from '../Iot/components/fxfbCont.vue'
+import zzglModul from "./components/zzglModul.vue";
 import { totaldata,getJqdt,getZxgjtj ,getJrjzsbs} from "@/api/index.js";
 import { fxfb } from "@/api/risk";
 import {
@@ -90,7 +91,8 @@ export default {
     FireIndex,
     BasicInfoModalContent,
     fxfbCont,
-    SearchBox
+    SearchBox,
+    zzglModul
   },
   data(){
     return{

+ 2 - 2
components/BorderPanel/index.vue

@@ -10,12 +10,12 @@
         backgroundImage: `url(${headerImageBgUrl})`,
         cursor: headerCursor
       }"
-      @click="(e) => $emit('click-header', e)"
+      
     >
       <linear-text
         :text="title"
         startColor="#95CCFF"
-        endColor="#fff"
+        endColor="#fff" @click="(e) => $emit('click-header', e)"
         :extClass="{
           top: '11px',
           left: '35px',