index.vue 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713
  1. <template>
  2. <div class="page">
  3. <div class="noHas" v-if="!has">
  4. 暂无数据权限
  5. </div>
  6. <div class="contentBox" v-if="has">
  7. <div class="leftBox" v-if="leftBtn">
  8. <div class="box">
  9. <basicInfo />
  10. <complaintInfo />
  11. <matterInfo />
  12. </div>
  13. <div class="box">
  14. <zhiFaInfo />
  15. <personnelInfo />
  16. <xinZhengInfo />
  17. </div>
  18. </div>
  19. <div class="centerBox" style="width: 100%">
  20. <div :class="leftBtn ? 'leftBtn btnW' : 'leftBtn0 btnW'" @click="leftBtnClick()">
  21. <img src="@/assets/img/svg/left.svg" alt="" class="img" />
  22. </div>
  23. <el-col class="centerContent" id="mapF"></el-col>
  24. <div :class="rightBtn ? 'rightBtn btnW' : 'rightBtn0 btnW'" @click="rightBtnClick()">
  25. <img src="@/assets/img/svg/left.svg" alt="" class="img" />
  26. </div>
  27. <div class="mapTips_type">
  28. <img src="@/assets/img/svg/danweitop.svg" alt="" class="img" />
  29. <div class="content">
  30. <p>街镇筛选</p>
  31. <el-select class="mtb-12" v-model="stroes.$state.streetTown" placeholder="请选择街镇" @change="checkStreetTown">
  32. <el-option v-for="item in stroes.$state.streetTownList" :key="item.value" :label="item.label" :value="item.value"> </el-option>
  33. </el-select>
  34. <p>类型筛选</p>
  35. <div class="setstyle" style="padding: 4px 0 !important;">
  36. <el-tree
  37. :data="treeData"
  38. show-checkbox
  39. node-key="id"
  40. :default-expanded-keys="[0, 1]"
  41. :default-checked-keys="[1]"
  42. :props="defaultProps"
  43. ref="tree"
  44. class="custom-tree-style"
  45. @check-change="handleCheckChange"
  46. >
  47. </el-tree>
  48. </div>
  49. </div>
  50. </div>
  51. </div>
  52. <div class="rightBox" v-if="rightBtn">
  53. <div class="box" style="margin-left:5px;">
  54. <riskInfo />
  55. <xunJianInfo />
  56. <listingInfo />
  57. </div>
  58. <div class="box">
  59. <fireInfo />
  60. <IOTInfo />
  61. <videoInfo />
  62. </div>
  63. </div>
  64. <!-- 消防安全重点单位弹框 -->
  65. <transition name="el-fade-in-linear">
  66. <div class="tableTooltipwt2" v-if="tk">
  67. <img src="~@a/img/icon/close.png" alt="" class="close" @click="closeTk" />
  68. <el-col class="mk">
  69. <el-row>
  70. <el-col>
  71. <span class="color2">单位名称:</span>
  72. <span class="color1">{{ tkData.companyName }}</span>
  73. </el-col>
  74. <el-col>
  75. <span class="color2">单位类型:</span>
  76. <span class="color1">重点单位</span>
  77. </el-col>
  78. <el-col>
  79. <span class="color2">地址:</span>
  80. <span class="color1">{{ tkData.address }}</span>
  81. </el-col>
  82. <el-col v-if="tkData.person3">
  83. <span class="color2">单位联系人:</span>
  84. <span class="color1">{{ tkData.person3 }}</span>
  85. </el-col>
  86. <el-col v-if="tkData.phone3" >
  87. <span class="color2">单位联系人电话:</span>
  88. <span class="color1">{{ tkData.phone3 }}</span>
  89. </el-col>
  90. <el-col v-if="tkData.person1">
  91. <span class="color2">消防安全责任人:</span>
  92. <span class="color1">{{ tkData.person1 }}</span>
  93. </el-col>
  94. <el-col v-if="tkData.phone1">
  95. <span class="color2">消防安全责任人电话:</span>
  96. <span class="color1">{{ tkData.phone1 }}</span>
  97. </el-col>
  98. <el-col v-if="tkData.person2">
  99. <span class="color2">消防安全管理人:</span>
  100. <span class="color1">{{ tkData.person2 }}</span>
  101. </el-col>
  102. <el-col v-if="tkData.phone2" style="border-bottom: 1px solid #fff; padding-bottom: 10px">
  103. <span class="color2">消防安全管理人电话:</span>
  104. <span class="color1">{{ tkData.phone2 }}</span>
  105. </el-col>
  106. <el-col style="margin-top: 6px">
  107. <span class="color1" style="margin-left: 0">企业消防综合评估</span>
  108. <span class="color1" style="float: right"
  109. >综合得分:{{
  110. tkData.fireRisk + tkData.buildIntegrity + tkData.lawEnforce + tkData.selfManage + tkData.facilityStatus
  111. ? (tkData.fireRisk + tkData.buildIntegrity + tkData.lawEnforce + tkData.selfManage + tkData.facilityStatus).toFixed(2)
  112. : 0
  113. }}
  114. 分</span
  115. >
  116. </el-col>
  117. <table border="0" cellspacing="0" cellpadding="0">
  118. <thead>
  119. <tr>
  120. <th>指数</th>
  121. <th>建筑整体指数</th>
  122. <th>火灾风险指数</th>
  123. <th>监督执法指数</th>
  124. <th>自主管理指数</th>
  125. <th>设施状况指数</th>
  126. </tr>
  127. </thead>
  128. <tbody>
  129. <tr>
  130. <td>得分</td>
  131. <td>{{ tkData.fireRisk }}</td>
  132. <td>{{ tkData.buildIntegrity }}</td>
  133. <td>{{ tkData.lawEnforce }}</td>
  134. <td>{{ tkData.selfManage }}</td>
  135. <td>{{ tkData.facilityStatus }}</td>
  136. </tr>
  137. </tbody>
  138. </table>
  139. <el-col style="margin-top: 6px" v-if="tkData.reformPart">
  140. <span class="color1" style="margin-left: 0">消防整改情况</span>
  141. </el-col>
  142. <el-col v-if="tkData.reformPart">
  143. <span class="color1" style="margin-left: 0">编号:{{ tkData.reformCode }}</span>
  144. <span class="color1" style="float: right">整改期限:{{ tkData.limitTime ? tkData.limitTime.split("T")[0] + " " + tkData.limitTime.split("T")[1] : "" }}</span>
  145. </el-col>
  146. <table border="0" cellspacing="0" cellpadding="0" v-if="tkData.reformPart">
  147. <thead>
  148. <tr>
  149. <th>序号</th>
  150. <th>整改项</th>
  151. <th>原因</th>
  152. </tr>
  153. </thead>
  154. <tbody>
  155. <tr v-for="(item, index) in tkData.reformPart.data" :key="index">
  156. <td>{{ index + 1 }}</td>
  157. <td>{{ item.item }}</td>
  158. <td>{{ item.reason }}</td>
  159. </tr>
  160. </tbody>
  161. </table>
  162. <div style="margin-top: 40px" v-if="tkData.reformStatus != 0">
  163. <el-steps
  164. :active="tkData.reformStatus == 1 ? 1 : tkData.reformStatus == 2 || tkData.reformStatus == 3 ? 1 : tkData.reformStatus == 4 || tkData.reformStatus == 5 ? 2 : 0"
  165. align-center
  166. >
  167. <el-step title="已接收" :description="tkData.receivedTime.replace('T', ' ')"></el-step>
  168. <el-step
  169. :title="tkData.reformStatus == 2 ? '整改中' : tkData.reformStatus == 3 || tkData.reformStatus == 4 || tkData.reformStatus == 5 ? '整改完成' : '整改中'"
  170. :description="tkData.reformTime.replace('T', ' ')"
  171. ></el-step>
  172. <el-step
  173. :title="
  174. tkData.reformStatus == 1 || tkData.reformStatus == 2 || tkData.reformStatus == 3
  175. ? '待审核'
  176. : tkData.reformStatus == 4
  177. ? '审核不通过'
  178. : tkData.reformStatus == 5
  179. ? '审核通过'
  180. : ''
  181. "
  182. :description="tkData.reviewTime.replace('T', ' ')"
  183. ></el-step>
  184. </el-steps>
  185. </div>
  186. <div style="margin: 10px auto" v-if="tkData.companyName == '上海虹桥国际特商物流港'">
  187. <el-button type="primary" size="small" style="background: none; border-radius: 4px; border: 1px solid #73fbfd; height: 30px; padding: 0 6px !important; margin: 10px 0 0"
  188. ><a href="http://file.usky.cn/statics/202303/20232D91E7B3D14C346BC9F009FA0B76FA5BF.pdf" target="_blank" style="color: #fff; text-decoration: none"
  189. >&nbsp;&nbsp;查看报告&nbsp;&nbsp;</a
  190. ></el-button
  191. >
  192. </div>
  193. </el-row>
  194. </el-col>
  195. </div>
  196. </transition>
  197. </div>
  198. </div>
  199. </template>
  200. <script>
  201. import basicInfo from "@c/basicInfo/index"; //基础信息
  202. import complaintInfo from "@c/complaintInfo/index"; //投诉类型排名
  203. import matterInfo from "@c/matterInfo/index"; //本年度重点事项推进情况
  204. import zhiFaInfo from "@c/zhiFaInfo/index"; //执法情况
  205. import personnelInfo from "@c/personnelInfo/index"; //人员统计
  206. import xinZhengInfo from "@c/xinZhengInfo/index"; //行政许可
  207. import riskInfo from "@c/riskInfo/index"; //街镇消防风险评估情况
  208. import xunJianInfo from "@c/xunJianInfo/index"; //企业自主巡检情况
  209. import listingInfo from "@c/listingInfo/index"; //挂牌督改情况
  210. import fireInfo from "@c/fireInfo/index"; //消防情况
  211. import IOTInfo from "@c/IOTInfo/index"; //街镇物联设备情况
  212. import videoInfo from "@c/videoInfo/index"; //执法记录仪情况
  213. import linstener from "@c/mixins/linstener";
  214. import map from "@c/mixins/map-data32_9";
  215. import { encrypt, decrypt } from "@/utils/jsencrypt"; //加密解密
  216. export default {
  217. components: {
  218. basicInfo, complaintInfo, matterInfo,
  219. zhiFaInfo, personnelInfo, xinZhengInfo,
  220. riskInfo, xunJianInfo, listingInfo,
  221. fireInfo, IOTInfo, videoInfo
  222. },
  223. mixins: [linstener, map],
  224. data() {
  225. return {
  226. selectTreeArr: [],
  227. selectTreeValue: [],
  228. treeData: [
  229. {
  230. id: 0,
  231. label: '单位信息',
  232. children: [
  233. { id: 1, label: "重点单位" },
  234. { id: 2, label: "一般单位" },
  235. { id: 3, label: "九小场所" },
  236. { id: 10, label: "大型综合体" },
  237. ]
  238. },
  239. {
  240. id: 101,
  241. label: '厂房、仓库',
  242. },
  243. // {
  244. // id: 101,
  245. // label: '执法记录仪',
  246. // },
  247. ],
  248. defaultProps: {
  249. children: 'children',
  250. label: 'label'
  251. },
  252. axiosNum:0,
  253. leftBtn:true,
  254. rightBtn:true,
  255. tk:false,//消防安全重点单位弹框
  256. tkData:[],//消防安全重点单位数据
  257. has:false,//是否有权限
  258. };
  259. },
  260. created() {
  261. },
  262. mounted() {
  263. this.initMap();
  264. setTimeout(() => {
  265. this.sadian([1]);
  266. },3000)
  267. if(decrypt(this.$route.query?.token) == "mhToken"){
  268. this.has = true;
  269. }
  270. },
  271. methods: {
  272. // 地图区域操作
  273. leftBtnClick() {
  274. this.leftBtn = !this.leftBtn;
  275. },
  276. rightBtnClick() {
  277. this.rightBtn = !this.rightBtn
  278. },
  279. /**
  280. * 撒点街镇选择测绘院
  281. */
  282. checkStreetTown() {
  283. let data = undefined;
  284. for (let i = 0; i < this.stroes.$state.mhjz.length; i++) {
  285. if (
  286. this.stroes.$state.streetTown == this.stroes.$state.mhjz[i].streetTown
  287. ) {
  288. data = this.stroes.$state.mhjz[i];
  289. break;
  290. }
  291. }
  292. if (!this.stroes.$state.streetTown) {
  293. data = this.stroes.$state.mhjz[0];
  294. }
  295. this.streetTownSwitch(data);
  296. },
  297. /**
  298. * 撒点类型选择
  299. */
  300. handleCheckChange(){
  301. this.sadian(this.$refs.tree.getCheckedKeys())
  302. },
  303. /**
  304. * 撒点信息
  305. * @param id
  306. * @param code
  307. */
  308. async sadian(params,code) {
  309. if(JSON.stringify(params) == '[]' || JSON.stringify(params) == '[0]'){
  310. this.addMarker([], "index");
  311. }else{
  312. let arr = [];
  313. this.axiosNum= 0
  314. for(let i=0;i<params.length;i++){
  315. if(params[i]>0){
  316. this.axiosNum ++
  317. }
  318. }
  319. var axiosSub = 0
  320. for(let i=0;i<params.length;i++){
  321. if(params[i]>0){
  322. if(params[i] < 10){//单位信息
  323. await this.$axios
  324. .get(
  325. this.$api.selfManagement.mapList +
  326. "?" +
  327. this.$qs.stringify({
  328. streetTown: this.stroes.$state.streetTown,
  329. companyType: params[i],
  330. })
  331. )
  332. .then((res) => {
  333. if (res.data.length > 0) {
  334. //点分布
  335. let data = res.data;
  336. for (let i = 0; i < data.length; i++) {
  337. arr.push({
  338. id: data[i].id ? data[i].id : null,
  339. type: data[i].companyTypeName ? data[i].companyTypeName : null,
  340. type1: data[i].companyTypeName ? data[i].companyTypeName : null,
  341. address: data[i].address ? data[i].address : null,
  342. companyName: data[i].companyName ? data[i].companyName : null,
  343. streetTown: data[i].streetTown ? data[i].streetTown : null,
  344. longitude: data[i].longitude,
  345. latitude: data[i].latitude,
  346. companyId: data[i].companyId,
  347. linkPhone: data[i].linkPhone ? data[i].linkPhone : null,
  348. });
  349. }
  350. }
  351. axiosSub ++
  352. if(axiosSub == this.axiosNum){
  353. this.addMarker(arr, "index");
  354. }
  355. });
  356. }
  357. if(params[i] == 10){//大型综合体
  358. this.$axios
  359. .post(this.$api.water.baseGgpFacilityList, {
  360. facilityType: [2, 3],
  361. })
  362. .then((res) => {
  363. // 2 五万
  364. // 3 三至五万
  365. for (let i = 0; i < res.data.length; i++) {
  366. arr[i] = {};
  367. arr[i].address = res.data[i].address;
  368. arr[i].facilityName = res.data[i].facilityName;
  369. arr[i].extendData = res.data[i].extendData;
  370. arr[i].latitude = res.data[i].latitude;
  371. arr[i].longitude = res.data[i].longitude;
  372. arr[i].type = "大型综合体";
  373. arr[i].type1 = "大型综合体";
  374. if (res.data[i].id == 48) {
  375. //龙湖天街试点
  376. arr[i].facilityType = "lhtj";
  377. } else {
  378. arr[i].facilityType = res.data[i].facilityType;
  379. }
  380. }
  381. axiosSub ++
  382. if(axiosSub == this.axiosNum){
  383. this.addMarker(arr, "index");
  384. }
  385. });
  386. }
  387. if(params[i] == 101){//厂房、仓库
  388. this.$axios
  389. .get(
  390. this.$api.water.getWarehouse +
  391. "?" +
  392. this.$qs.stringify({
  393. type: 1,
  394. pageNum:1,
  395. pageSize:1000,
  396. })
  397. )
  398. .then((res) => {
  399. for (let i = 0; i < res.data.records.length; i++) {
  400. arr[i] = {};
  401. arr[i].address = res.data.records[i].mhBuild.address;
  402. arr[i].facilityName = res.data.records[i].mhCompany.companyName;
  403. arr[i].facilityType = res.data.records[i].mhCompany.companyStatus;
  404. arr[i].qrcode = res.data.records[i].mhCompany.qrcode;
  405. arr[i].creditCode = res.data.records[i].mhCompany.creditCode;
  406. arr[i].companyLegal = res.data.records[i].mhCompany.companyLegal;
  407. arr[i].safetyManager = res.data.records[i].mhCompany.safetyManager;
  408. arr[i].phone = res.data.records[i].mhCompany.phone;
  409. arr[i].safetyManager = res.data.records[i].mhCompany.safetyManager;
  410. arr[i].companyArea = res.data.records[i].mhCompany.companyArea;
  411. arr[i].street = res.data.records[i].mhCompany.street;
  412. arr[i].state = res.data.records[i].mhCompany.state;
  413. arr[i].isExamine = res.data.records[i].mhCompany.isExamine;
  414. arr[i].status = res.data.records[i].mhCompany.status;
  415. arr[i].height = res.data.records[i].mhBuild.height;
  416. arr[i].buildNature = res.data.records[i].mhBuild.buildNature;
  417. arr[i].latitude = res.data.records[i].mhBuild.lat;
  418. arr[i].longitude = res.data.records[i].mhBuild.lon;
  419. arr[i].type = "厂房、仓库";
  420. arr[i].type1 = "厂房、仓库";
  421. }
  422. axiosSub ++
  423. if(axiosSub == this.axiosNum){
  424. this.addMarker(arr, "index");
  425. }
  426. });
  427. }
  428. }
  429. }
  430. }
  431. },
  432. //重点单位弹框
  433. /**
  434. * @消防安全重点单位撒点详情
  435. * @api接口请求
  436. */
  437. async zddwSd(val) {
  438. console.log(val)
  439. let res = await this.$axios.get(
  440. this.$api.selfManagement.scatterData +
  441. "?" +
  442. this.$qs.stringify({
  443. companyId: val,
  444. })
  445. );
  446. if (res.data) {
  447. this.tkData = res.data[0];
  448. this.tkData.person1 = val.person1
  449. this.tkData.person2 = val.person2
  450. this.tkData.person3 = val.person3
  451. this.tkData.phone1 = val.phone1
  452. this.tkData.phone2 = val.phone2
  453. this.tkData.phone3 = val.phone3
  454. this.tk = true;
  455. }
  456. },
  457. /**
  458. * 消防安全重点单位关闭
  459. */
  460. closeTk() {
  461. this.tk = false;
  462. },
  463. },
  464. watch: {
  465. // "stores.$state.gridData": function (newValue, oldValue) {
  466. // if (this.gridStatus == 19) {
  467. // this.grid(19, newValue.name, newValue.position);
  468. // }
  469. // if (this.gridStatus == 15) {
  470. // this.grid(15, newValue.name, newValue.position);
  471. // this.staticsSd(newValue.name,2,'')
  472. // setTimeout(()=>{
  473. // this.diversionArea2State = false
  474. // },1000)
  475. // }
  476. // if (this.gridStatus == 16) {
  477. // this.grid(16, newValue.name, newValue.position,null,3);
  478. // }
  479. // },
  480. // "stores.$state.jkspData": function (newValue, oldValue) {
  481. // this.jkspStatus = true
  482. // this.Message.name = newValue.children[0][1]
  483. // this.Message.videoId = newValue.id
  484. // this.Message.videoUrl = newValue.url
  485. // // "http://videocdn.didano.com/school765class0channelId2761namedingdangm/playlist.m3u8"
  486. // this.play()
  487. // },
  488. "stores.$state.zddwId": function (newValue, oldValue) {
  489. this.zddwSd(newValue); //重点单位
  490. },
  491. },
  492. };
  493. </script>
  494. <style lang="scss" scoped>
  495. @import "@/assets/scss/color.scss";
  496. .contentBox {
  497. .box {
  498. width:calc(50% - 15px);
  499. float:left;
  500. >div{
  501. width:100%;
  502. height:calc(89vh / 3 );
  503. overflow: auto;
  504. margin:5px 0 18px;
  505. }
  506. }
  507. .box:nth-child(2){
  508. margin-left:25px !important;
  509. }
  510. .centerBox{
  511. .mapTips_type {
  512. width: 10%;
  513. height: auto;
  514. background: $background-color-theme4;
  515. position: fixed;
  516. bottom: 1.48vh;
  517. right: 7.2rem;
  518. color: #fff !important;
  519. font-size: 0.18rem;
  520. p {
  521. color: #019fb7;
  522. }
  523. .content {
  524. padding: 1.388vh 0.25rem;
  525. color: #fff !important;
  526. }
  527. .img {
  528. width: 100%;
  529. height: 0.37vh;
  530. margin-top: -0.37vh;
  531. position: absolute;
  532. }
  533. }
  534. }
  535. }
  536. .tableTooltipwt2 {
  537. width: 6rem;
  538. background: transparent;
  539. border-radius: 0.05rem;
  540. box-shadow: inset 0 0 1px 0.0125rem rgba(115, 251, 253, 1);
  541. background: rgba(0, 29, 49, 0.5);
  542. font-size: 0.2rem;
  543. padding: 0.1875rem;
  544. position: fixed;
  545. top: 140px;
  546. right: 600px;
  547. z-index: 10000;
  548. .close {
  549. width: 40px;
  550. height: 40px;
  551. position: absolute;
  552. right: 10px;
  553. top: 10px;
  554. z-index: 10000;
  555. display: block;
  556. }
  557. .tableContent {
  558. p {
  559. @include color_primary($color-primary1);
  560. }
  561. .el-col {
  562. margin-top: 0.05rem;
  563. line-height: 0.3rem;
  564. text-overflow: ellipsis !important;
  565. white-space: normal !important;
  566. }
  567. .mk {
  568. margin-top: 0px;
  569. }
  570. }
  571. }
  572. .color1 {
  573. @include color_primary($color-primary3);
  574. margin-left: 10px;
  575. }
  576. .color2 {
  577. @include color_primary($color-primary1);
  578. }
  579. table {
  580. width: 100%;
  581. text-align: center;
  582. color: #fff;
  583. border: 1px solid #fff;
  584. font-size: 20px;
  585. }
  586. table thead tr th {
  587. padding: 5px 0px;
  588. font-weight: 400;
  589. border: 1px solid #fff;
  590. }
  591. table tbody tr td {
  592. padding: 5px 0px;
  593. }
  594. table tbody tr:nth-child(2n) td {
  595. // background-color: lightblue;
  596. }
  597. td {
  598. border: 0.5px solid #fff;
  599. }
  600. .checkRate{
  601. position: absolute;
  602. color:#fff;
  603. right:50px;
  604. top:80px;
  605. font-size: 0.25rem;
  606. img{
  607. position: absolute;
  608. width:80px;
  609. top:-24px;
  610. right:-14px;
  611. animation: rotoImg 4s linear infinite;
  612. // transform:skew(70deg)
  613. }
  614. }
  615. @keyframes rotoImg{
  616. from{
  617. transform: rotate(0deg);
  618. }
  619. to{
  620. transform: rotate(360deg);
  621. }
  622. }
  623. .noHas{
  624. position: absolute;
  625. width:20%;
  626. left:40%;
  627. top:40%;
  628. height:80px;
  629. line-height: 80px;
  630. border-radius: 10px;
  631. background: $background-color-theme4;
  632. color:#fff;
  633. font-size: 24px;
  634. text-align: center;
  635. }
  636. </style>
  637. <style lang="scss">
  638. .el-input__suffix{
  639. top:5px !important;
  640. }
  641. .setstyle {
  642. height: 300px !important;
  643. padding: 4px 0 !important;
  644. .el-tree{
  645. background: rgba(0, 66, 97, 0.9);
  646. color:#fff;
  647. font-size: 26px;
  648. }
  649. .el-checkbox__inner:after {
  650. width:8px;
  651. height:8px;
  652. margin:4px 0 0 2px;
  653. }
  654. .el-checkbox__inner:before {
  655. width:20px;
  656. margin:4px 0 0 0px;
  657. }
  658. .el-tree .el-tree-node:hover {
  659. background-color: rgba(0, 66, 97, 1); /* 自定义的背景颜色 */
  660. }
  661. .el-tree-node__content{
  662. margin-top:20px;
  663. .el-checkbox__inner{
  664. width:24px;
  665. height:24px;
  666. }
  667. .el-tree-node__label{
  668. font-size: 24px !important;
  669. }
  670. }
  671. }
  672. .el-tree-node__content:hover,.el-tree-node__content:focus{
  673. background-color: rgba(0, 66, 97, 1) !important; /* 自定义的背景颜色 */
  674. }
  675. .el-tree-node:focus{
  676. background-color: rgba(0, 66, 97, 1) !important; /* 自定义的背景颜色 */
  677. }
  678. .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{
  679. background-color: rgba(0, 66, 97, 1) !important; /* 自定义的背景颜色 */
  680. }
  681. </style>