Browse Source

图片冲突

test
dai 3 years ago
parent
commit
1f8b4d1cfa
  1. 106
      src/assets/scss/modules/visual/basicInfoMain.scss
  2. 11
      src/assets/scss/modules/visual/personCategory.scss
  3. 71
      src/assets/scss/modules/visual/warning-people-list.scss
  4. 2
      src/views/components/editResi.vue
  5. 14
      src/views/components/resiForm.vue
  6. 179
      src/views/components/tinymce/index.vue
  7. 11
      src/views/modules/base/community/buildTable.vue
  8. 18
      src/views/modules/base/community/community.vue
  9. 17
      src/views/modules/base/community/communityTable.vue
  10. 155
      src/views/modules/visual/basicinfo/basicInfoCommunity.vue
  11. 1074
      src/views/modules/visual/basicinfo/basicInfoMain copy.vue
  12. 15
      src/views/modules/visual/basicinfo/basicInfoMain.vue
  13. 183
      src/views/modules/visual/basicinfo/cpts/roomInfo.vue
  14. 5
      src/views/modules/visual/basicinfo/peopleSearch.vue
  15. 200
      src/views/modules/visual/basicinfo/personCategory/index.vue
  16. 58
      src/views/modules/visual/basicinfo/personCategory/recordList.vue
  17. 107
      src/views/modules/visual/warning/components/screen-table/index.vue
  18. 213
      src/views/modules/visual/warning/components/screen-table/people-list.vue
  19. 12
      src/views/modules/visual/warning/index.vue
  20. 21
      src/views/modules/warning/components/screen-table/index.vue
  21. 19
      src/views/modules/warning/components/screen-table/people-list.vue
  22. 3
      src/views/modules/warning/index.vue
  23. 1
      src/views/modules/workPc/guidance/DetailForm.vue

106
src/assets/scss/modules/visual/basicInfoMain.scss

@ -1,3 +1,6 @@
@import "../../c/config";
@import "../../c/function";
@import "./c/common";
.div_top {
margin-left: 10px;
height: 35px;
@ -296,18 +299,37 @@
top: 13px;
left: 18px;
}
.icon_roomstate {
position: absolute;
top: 16px;
right: 16px;
font-size: 14px;
font-family: PingFang SC;
font-weight: 500;
color: #ffffff;
}
.icon_category {
position: absolute;
bottom: 14px;
left: 9px;
display: flex;
justify-content: flex-start;
// margin-left: 7px;
> img {
margin-left: 5px;
width: 21px;
height: 20px;
.div_icon_item{
.icon_img{
margin-left: 5px;
width: 21px;
height: 20px;
}
.icon_name{
display: flex;
justify-content: center;
}
}
}
.div_user:hover {
cursor: pointer;
@ -355,11 +377,12 @@
box-shadow: 0 0 10px inset #1a5afd;
.user_item {
padding: 13px 8px 0 14px;
font-size: 16px;
padding: 9px 8px 0 12px;
font-size: 14px;
font-family: PingFang SC;
font-weight: 400;
color: #ffffff;
line-height: 10px;
.user_item_content {
display: flex;
@ -488,3 +511,74 @@
cursor: pointer;
}
}
.m-room-pop {
@include shield;
background-color: rgba(#000, 0.9);
overflow-y: auto;
.wrap {
position: relative;
margin: 120px auto;
width: 680px;
.title {
padding: 10px;
font-size: 22px;
font-family: PingFang SC;
font-weight: 800;
color: #ffffff;
display: flex;
align-items: center;
img {
display: block;
margin-right: 5px;
}
span {
display: block;
}
}
.btn-close {
position: absolute;
top: -15px;
right: -15px;
cursor: pointer;
}
.list {
// display: flex;
// flex-wrap: wrap;
padding: 5px 60px 5px 30px;
.item {
position: relative;
box-sizing: border-box;
padding: 0 15px;
width: 100%;
color: #fff;
font-size: 18px;
font-family: PingFang SC;
font-weight: 400;
color: #ffffff;
line-height: 24px;
margin: 15px 0;
&::before {
position: absolute;
left: 0;
top: 9px;
content: "";
display: block;
width: 7px;
height: 7px;
background: #0c81fe;
border-radius: 3px;
}
}
}
}
}

11
src/assets/scss/modules/visual/personCategory.scss

@ -8,7 +8,14 @@
color: #fff;
// background: url("../../../img/modules/visual/warning-box.png") no-repeat center;
background-size: 100% 100%;
padding: 45px 21px 35px 24px;
padding: 15px 21px 15px 24px;
/deep/ .el-scrollbar__wrap {
margin-right:-17px !important
}
&-top {
display: flex;
@ -152,7 +159,7 @@
&-bottom {
box-sizing: border-box;
width: 100%;
height: calc(100% - 300px);
height: calc(100vh - 535px);
min-height: 300px;
margin-top: 60px;
}

71
src/assets/scss/modules/visual/warning-people-list.scss

@ -0,0 +1,71 @@
@import "../../c/config";
@import "../../c/function";
@import "./c/common";
.m-pop {
@include shield;
background-color: rgba(#000, 0.9);
overflow-y: auto;
.wrap {
position: relative;
margin: 120px auto;
width: 1180px;
.title {
padding: 10px;
font-size: 22px;
font-family: PingFang SC;
font-weight: 800;
color: #ffffff;
display: flex;
align-items: center;
img {
display: block;
margin-right: 5px;
}
span {
display: block;
}
}
.btn-close {
position: absolute;
top: -15px;
right: -15px;
cursor: pointer;
}
.content {
margin-top: 20px;
min-height: 500px;
}
}
}
.m-pagination {
box-sizing: border-box;
margin-top: 20px;
width: 100%;
height: 40px;
display: flex;
justify-content: flex-end;
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
background: #0266d1;
color: #000d3f;
}
/deep/ .el-pagination .el-pager li {
background: #002e74;
}
/deep/ .el-pagination .btn-prev {
background: #002e74;
}
/deep/ .el-pagination .btn-next {
background: #002e74;
}
}

2
src/views/components/editResi.vue

@ -812,7 +812,7 @@ export default {
}
}
.resi-cell-value .resi-cell-input {
max-width: 190px;
width: 190px;
}
</style>

14
src/views/components/resiForm.vue

@ -491,9 +491,19 @@ export default {
console.log('n---', n)
if (n.columnName !== 'ID_CARD') return
if (!isCard(this.form.ID_CARD)) return
const { sex, birth } = computedCard(this.form.ID_CARD)
const { user } = this.$store.state
let huji = '', i = 0
if (user.areaCodePath && user.areaCodePath.length > 0) {
i = user.areaCodePath.length - 1
huji = user.areaCodePath[i].length > 6 ? user.areaCodePath[i].substr(0, 6) : user.areaCodePath[i]
}
const _id = this.form.ID_CARD.substr(0, 6)
const { sex, birth, age } = computedCard(this.form.ID_CARD)
this.form.BIRTHDAY = birth
this.form.GENDER = sex == 1 ? '1' : '2'
this.form.IS_OLD_PEOPLE = age >= 60 ? '1' : '0'
this.form.IS_BDHJ = huji == _id ? '1' : ''
console.log('age-----', age, _id)
},
handleOpenSearch () {
this.openSearch = !this.openSearch
@ -760,7 +770,7 @@ export default {
}
}
.resi-cell-value .resi-cell-input {
max-width: 190px;
width: 190px;
}
.resi-cell-value {
:deep .el-col {

179
src/views/components/tinymce/index.vue

@ -1,154 +1,157 @@
/* eslint-disable */
<template>
<textarea :id="tinymceId"
style="visibility: hidden;" />
<textarea :id="tinymceId" style="visibility: hidden" />
</template>
<script>
import loadTinymce from '@/utils/loadTinymce'
import { plugins, toolbar } from './config'
import { debounce } from 'throttle-debounce'
import Cookie from 'js-cookie'
import loadTinymce from "@/utils/loadTinymce";
import { plugins, toolbar } from "./config";
import { debounce } from "throttle-debounce";
import Cookie from "js-cookie";
// import constants from '@/utils/constants'
import nextTick from "dai-js/tools/nextTick";
let num = 1
let num = 1;
export default {
name: 'Tinymce',
name: "Tinymce",
props: {
id: {
type: String,
default: () => {
num === 10000 && (num = 1)
return `tinymce${+new Date()}${num++}`
}
num === 10000 && (num = 1);
return `tinymce${+new Date()}${num++}`;
},
},
value: {
default: ''
default: "",
},
customerId: {
type: String,
default: ''
}
default: "",
},
},
data () {
data() {
return {
tinymceId: this.id
}
tinymceId: this.id,
};
},
mounted () {
loadTinymce(tinymce => {
let token = this.getUserToken()
mounted() {
loadTinymce((tinymce) => {
let token = this.getUserToken();
// let uploadUrl = '1111'
let uploadUrl = window.SITE_CONFIG['apiURL'] + '/oss/file/function/upload'
let uploadUrl =
window.SITE_CONFIG["apiURL"] + "/oss/file/function/upload";
// :data="{customerId:customerId}"
// let uploadUrl = constants.userUploadUrl
// eslint-disable-next-line global-require
require('./zh_CN')
require("./zh_CN");
let conf = {
selector: `#${this.tinymceId}`,
language: 'zh_CN',
menubar: 'false',
skin_url: '/' + process.env.VUE_APP_PUBLIC_PATH + '/tinymce/skins/ui/tduck',
content_style: 'p {margin:3px 0; border:0px; padding:0px}',
content_css: '/' + process.env.VUE_APP_PUBLIC_PATH + '/tinymce/skins/content/tduck',
cache_suffix: '?v=0.0.1',
language: "zh_CN",
menubar: "false",
skin_url:
"/" + process.env.VUE_APP_PUBLIC_PATH + "/tinymce/skins/ui/tduck",
content_style: "p {margin:3px 0; border:0px; padding:0px}",
content_css:
"/" +
process.env.VUE_APP_PUBLIC_PATH +
"/tinymce/skins/content/tduck",
cache_suffix: "?v=0.0.1",
plugins,
toolbar,
toolbar_drawer: 'sliding',
toolbar_mode: 'sliding',
toolbar_drawer: "sliding",
toolbar_mode: "sliding",
height: 400,
// fontsize_formats: "8pt 10pt 12pt 14pt 18pt 24pt 36pt",
branding: false,
object_resizing: false,
end_container_on_empty_block: true,
powerpaste_word_import: 'clean',
powerpaste_word_import: "clean",
// code_dialog_height: 450,
// code_dialog_width: 1000,
// autoresize_max_height: 450, //
// autoresize_min_height: 350, //
advlist_bullet_styles: 'square',
advlist_number_styles: 'default',
default_link_target: '_blank',
advlist_bullet_styles: "square",
advlist_number_styles: "default",
default_link_target: "_blank",
link_title: false,
statusbar: false,
nonbreaking_force_tab: true,
// images_upload_url: uploadUrl,
images_upload_handler: function (blobInfo, succFun, failFun) {
var xhr, formData
var file = blobInfo.blob()// file
xhr = new XMLHttpRequest()
xhr.withCredentials = false
xhr.open('POST', uploadUrl)
xhr.setRequestHeader('token', token)
var xhr, formData;
var file = blobInfo.blob(); // file
xhr = new XMLHttpRequest();
xhr.withCredentials = false;
xhr.open("POST", uploadUrl);
xhr.setRequestHeader("token", token);
xhr.onload = function () {
var json
var json;
if (xhr.status != 200) {
failFun('HTTP Error: ' + xhr.status)
return
failFun("HTTP Error: " + xhr.status);
return;
}
json = JSON.parse(xhr.responseText)
if (!json || typeof json.data.url != 'string') {
failFun('Invalid JSON: ' + xhr.responseText)
return
json = JSON.parse(xhr.responseText);
if (!json || typeof json.data.url != "string") {
failFun("Invalid JSON: " + xhr.responseText);
return;
}
succFun(json.data.url)
}
formData = new FormData()
succFun(json.data.url);
};
formData = new FormData();
formData.append('file', file, file.name)//
formData.append("file", file, file.name); //
// formData.append('customerId', '111')
xhr.send(formData)
}
}
conf = Object.assign(conf, this.$attrs)
conf.init_instance_callback = editor => {
if (this.value) editor.setContent(this.value)
this.vModel(editor)
}
xhr.send(formData);
},
};
conf = Object.assign(conf, this.$attrs);
conf.init_instance_callback = (editor) => {
if (this.value) editor.setContent(this.value);
this.vModel(editor);
};
tinymce.init(conf)
})
tinymce.init(conf);
});
},
destroyed () {
this.destroyTinymce()
destroyed() {
this.destroyTinymce();
},
methods: {
vModel (editor) {
vModel(editor) {
// setContent
const debounceSetContent = debounce(250, editor.setContent)
this.$watch('value', (val, prevVal) => {
const debounceSetContent = debounce(250, editor.setContent);
this.$watch("value", (val, prevVal) => {
if (editor && val !== prevVal && val !== editor.getContent()) {
if (typeof val !== 'string') val = val.toString()
debounceSetContent.call(editor, val)
if (typeof val !== "string") val = val.toString();
debounceSetContent.call(editor, val);
}
})
});
editor.on('change keyup undo redo', () => {
this.$emit('input', editor.getContent())
})
editor.on('blur', () => {
this.$emit('blur')
})
editor.on("change keyup undo redo", () => {
this.$emit("input", editor.getContent());
});
editor.on("blur", () => {
this.$emit("blur");
});
console.log('init_instance_callback1111111111')
},
getUserToken () {
let token = localStorage.getItem('token')
getUserToken() {
let token = localStorage.getItem("token");
// console.log('token', token)
// return this.$store.getters['user/isLogin']
return token
return token;
},
destroyTinymce () {
if (!window.tinymce) return
const tinymce = window.tinymce.get(this.tinymceId)
destroyTinymce() {
if (!window.tinymce) return;
const tinymce = window.tinymce.get(this.tinymceId);
if (tinymce) {
tinymce.destroy()
tinymce.destroy();
}
}
}
}
},
},
};
</script>

11
src/views/modules/base/community/buildTable.vue

@ -71,6 +71,12 @@
<el-table-column prop="buildingName"
label="楼栋名称"
min-width="180">
<template slot-scope="scope">
<a class="name-a"
@click="handleToNextLevel(scope.row)">
{{ scope.row.buildingName }}
</a>
</template>
</el-table-column>
<el-table-column prop="neighborHoodName"
label="所属小区"
@ -97,10 +103,7 @@
align="center"
class="operate">
<template slot-scope="scope">
<!-- <el-button type="text"
style="color:#feb349;text-decoration: underline;"
size="small"
@click="handleToNextLevel(scope.row)">进入</el-button> -->
<el-button type="text"
class="div-table-button--detail"
size="small"

18
src/views/modules/base/community/community.vue

@ -19,6 +19,11 @@
:expand-on-click-node="false"
:filter-node-method="filterNode"
@node-click="handleNodeClick">
<span slot-scope="{ node, data }"
class="custom-tree-node">
<span :id="data.id">{{ data.showName }}</span>
</span>
</el-tree>
</el-scrollbar>
@ -194,6 +199,7 @@ export default {
handleSearch () {
if (this.ownerName || this.ownerPhone || this.rentState) {
this.showRoomTable = true
this.$nextTick(() => {
this.$refs['ref_buildingTable'].loadTable('search', this.selTreeObj, this.ownerName, this.ownerPhone, this.rentState)
})
@ -315,16 +321,28 @@ export default {
if (level === 'community') {
this.selTreeObj = this.$refs.ref_tree.getNode(row.neighborHoodId).data
this.openNodes.push(this.selTreeObj.id)
} else {
this.selTreeObj = this.$refs.ref_tree.getNode(row.buildingId).data
}
this.handleNodeClick(this.selTreeObj)
this.$nextTick(() => {
// ref_tree ref value node-key
this.$refs.ref_tree.setCurrentKey(this.selTreeObj.id);
});
const node = document.getElementById(this.selTreeObj.id) // Iddom
setTimeout(() => {
if (node) {
this.$nextTick(() => {
node.scrollIntoView({ block: 'center' }) // scrollIntoViewdom block: 'center'
})
}
}, 100)
},
//

17
src/views/modules/base/community/communityTable.vue

@ -96,11 +96,12 @@
<el-table-column prop="neighborHoodName"
label="小区名称"
min-width="100">
<!-- <template slot-scope="scope">
<a class="name-a" @click="handleDetail(scope.row)">
<template slot-scope="scope">
<a class="name-a"
@click="handleToNextLevel(scope.row)">
{{ scope.row.neighborHoodName }}
</a>
</template> -->
</template>
</el-table-column>
<el-table-column prop="agencyName"
label="所属组织"
@ -131,14 +132,6 @@
class="operate">
<template slot-scope="scope">
<!-- <el-button type="text"
style="color:#feb349;text-decoration: underline;"
size="small"
@click="handleToNextLevel(scope.row)">进入</el-button> -->
<!-- <el-button type="text"
class="div-table-button--qr"
size="small"
@click="handleDownQr(scope.row, 'neighborHood')">二维码</el-button> -->
<el-button type="text"
class="div-table-button--detail"
size="small"
@ -236,10 +229,8 @@ export default {
},
computed: {
tableHeight () {
return this.$store.state.inIframe ? this.clientHeight - 310 + this.iframeHeight : this.clientHeight - 310
},
...mapGetters(['clientHeight', 'iframeHeight'])

155
src/views/modules/visual/basicinfo/basicInfoCommunity.vue

@ -1,7 +1,7 @@
<template>
<div class="div_community_info"
@click="handleShowAllUser()">
@click="handleCloseAllUser()">
<div class="div_select">
<img src="../../../../assets/img/shuju/title-tip.png"
@ -10,7 +10,8 @@
<div class="second-select">
<el-select v-model="selBuildingId"
:popper-append-to-body="false"
placeholder="请选择">
placeholder="请选择"
@click="handleCloseAllUser()">
<el-option v-for="(item,index) in buildingArray"
:key="item.buildingId"
:label="item.buildingName"
@ -21,8 +22,10 @@
</div>
</div>
<div class="div_room_bar">
<el-scrollbar style="height:100%">
<el-scrollbar v-if="roomArray.length>0"
style="height:100%">
<div class="info_loading"
v-if="roomLoaded">
<screen-loading>加载中</screen-loading>
@ -40,18 +43,39 @@
<img :src="item.partyUrl"
alt />
</div>
<div class="icon_roomstate">
<div>出租</div>
</div>
<div class="icon_category">
<img v-for="(iconItem,iconIndex) in item.iconArrayShow"
<div class="div_icon_item"
v-for="(iconItem,iconIndex) in item.iconArrayShow"
:key="iconIndex">
<el-popover trigger="hover"
popper-class="icon_popover"
placement="bottom">
<div class="icon_name">{{iconItem.name}} </div>
<div slot="reference">
<img class="icon_img"
:src="iconItem.iconUrl"
alt />
</div>
</el-popover>
</div>
<!-- <img v-for="(iconItem,iconIndex) in item.iconArrayShow"
:key="iconIndex"
:src="iconItem.iconUrl"
alt />
alt /> -->
</div>
<!-- <el-popover v-model="item.showAllUser"
<el-popover v-model="item.showAllUser"
placement="bottom"
width="50"
popper-class="my_popover"
trigger="click">
trigger="manual">
<div class="user_list">
<div v-for="(userItem,userIndex) in userArray"
:key="userIndex"
@ -76,40 +100,24 @@
<img src="../../../../assets/img/xiala.png"
alt />
</div>
</el-popover> -->
<div @click.stop="handleShowAllUser(index)"
class="div_user">
<span>全部成员</span>
<img src="../../../../assets/img/xiala.png"
alt />
<div class="user_list"
v-show="item.showAllUser&&userArray.length>0">
<div v-for="(userItem,userIndex) in userArray"
:key="userIndex"
class="user_item"
@click.stop="handleClickUser(userItem.userId)">
<div class="user_item_content">
<div class="name">{{userItem.name}}</div>
<img src="../../../../assets/img/jinru.png"
alt />
</div>
<div :class="['item_line',{'last_line':userIndex==(userArray.length-1)}]"></div>
</div>
</div>
</div>
</el-popover>
</div>
</div>
</el-scrollbar>
<div v-else
class="no-data">
<img src="@/assets/img/modules/visual/noData.png"
class="no-data-img" />
</div>
</div>
<room-info v-show="showHouseInfo"
v-if="selHouseId"
:selHouseId="selHouseId"
@close="showHouseInfo = false" />
</div>
</template>
@ -119,6 +127,8 @@ import { mapGetters } from "vuex";
import { Loading } from 'element-ui'; //Loading
import { requestPost } from "@/js/dai/request";
import ScreenLoading from "@/views/modules/visual/cpts/loading";
import nextTick from "dai-js/tools/nextTick";
import roomInfo from "@/views/modules/visual/basicinfo/cpts/roomInfo";
let loading;//
@ -138,6 +148,7 @@ export default {
selHouseId: '',
selHouseName: '',
selHouseIndex: 0,
showHouseInfo: false,
userArray: [],
selUserName: '',
@ -151,12 +162,16 @@ export default {
runNum: 0,
runAgencyArray: [],
}
},
async mounted () {
},
methods: {
//id
async initData (neighborHoodId, neighborHoodName) {
@ -190,32 +205,46 @@ export default {
this.selHouseId = this.roomArray[index].houseId
this.selHouseName = this.roomArray[index].houseName
this.showHouseInfo = true
// this.$emit('refreshInfoList', this.selHouseId, 'room')-
},
//
async handleShowAllUser (selIndex) {
// this.startLoading()
this.userArray = []
this.roomArray.forEach((element, index) => {
let obj = JSON.parse(JSON.stringify(element))
obj.showAllUser = false
this.$set(this.roomArray, index, obj)
// element.showAllUser = false
});
await nextTick(50);
if ((selIndex === 0 || selIndex) && !this.roomArray[selIndex].showAllUser) {
await this.loadUser(this.roomArray[selIndex].houseId, selIndex)
}
},
//
async handleCloseAllUser () {
this.userArray = []
this.roomArray.forEach((element, index) => {
let obj = JSON.parse(JSON.stringify(element))
if (index === selIndex) {
obj.showAllUser = !obj.showAllUser
this.$set(this.roomArray, selIndex, obj)
let obj = JSON.parse(JSON.stringify(element))
obj.showAllUser = false
this.$set(this.roomArray, index, obj)
} else {
obj.showAllUser = false
this.$set(this.roomArray, index, obj)
// element.showAllUser = false
}
});
// this.endLoading()
},
@ -228,6 +257,13 @@ export default {
},
onEnterTd () {
console.log('进入')
},
onLeaveTd () {
console.log('出来')
},
//
async loadBuilding () {
const url = "/gov/org/agency/baseinfofamilybuilding"
@ -320,7 +356,7 @@ export default {
},
//
async loadUser (houseId, index) {
async loadUser (houseId, selIndex) {
const url = "/epmetuser/icresiuser/getpeoplebyroom"
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icresiuser/getpeoplebyroom"
let params = {
@ -333,6 +369,11 @@ export default {
this.userArray = data
if (this.userArray.length === 0) {
this.$message.warning('该房间下没有住户')
} else {
let objItem = JSON.parse(JSON.stringify(this.roomArray[selIndex]))
objItem.showAllUser = true
this.$set(this.roomArray, selIndex, objItem)
}
} else {
@ -390,7 +431,7 @@ export default {
...mapGetters(["clientHeight"])
},
components: { ScreenLoading },
components: { ScreenLoading, roomInfo },
}
</script>
@ -433,7 +474,7 @@ export default {
.second-select {
margin: 0 10px 10px;
::v-deep .el-input {
width: 180px;
width: 380px;
height: 36px;
.el-input__inner {
height: 100%;
@ -442,6 +483,7 @@ export default {
line-height: 36px;
background: #06186d;
border: 1px solid #1a64cc;
width: 380px;
}
.el-icon-arrow-up:before {
@ -491,12 +533,25 @@ export default {
/deep/ .el-scrollbar__wrap {
overflow-x: hidden !important;
}
.no-data {
padding-top: 120px;
display: flex;
justify-content: center;
}
}
</style>
<style lang="scss" >
.el-popover.my_popover {
padding: 0px;
margin-top: 10px;
margin-top: 14px;
border: 0;
}
.el-popover.icon_popover {
font-size: 14px;
min-width: 50px !important;
margin-top: 5px !important;
padding: 3px !important;
background-color: rgb(247, 250, 253);
}
</style>

1074
src/views/modules/visual/basicinfo/basicInfoMain copy.vue

File diff suppressed because it is too large

15
src/views/modules/visual/basicinfo/basicInfoMain.vue

@ -107,7 +107,8 @@
<div class="list_item">
<div v-for="(colItem,colIndex) in item"
:key="colIndex"
class="list_item_col" @click="handleTo(colItem)">
class="list_item_col"
@click="handleTo(colItem)">
<img :src="colItem.dataIcon"
alt />
<div class="item_content">
@ -310,7 +311,7 @@ const vueGis = {
},
methods: {
handleTo(item) {
handleTo (item) {
this.$router.push({
path: `/main-shuju/visual-basicinfo-people-list`,
query: {
@ -526,8 +527,18 @@ const vueGis = {
//
handleClickAgency (index) {
//
if (this.orgLevel === 'neighborHood') {
this.$nextTick(() => {
// id
this.$refs.ref_community.handleCloseAllUser();
});
}
const cutNum = this.runAgencyArray.length - index//
this.runNum = this.runNum - cutNum
this.orgData = this.runAgencyArray[index]
for (let i = 0; i < cutNum; i++) {

183
src/views/modules/visual/basicinfo/cpts/roomInfo.vue

@ -0,0 +1,183 @@
<template>
<div class="m-room-pop">
<div class="wrap">
<cpt-card>
<div class="title">
<img src="@/assets/img/shuju/title-tip.png" />
<span>房屋信息</span>
</div>
<div class="btn-close"
@click="handleClose">
<img src="@/assets/img/shuju/people/close.png" />
</div>
<!-- <div class="list">
<div class="item">
<span class="item-field">所属小区</span>
<span>{{ formData.neighborHoodName }}</span>
</div>
</div> -->
<div class="list">
<div class="item">
<span class="item-field">所属楼栋</span>
<span>{{ formData.buildingName }}</span>
</div>
</div>
<div class="list">
<div class="item">
<span class="item-field">房屋名称</span>
<span>{{ formData. houseName }}</span>
</div>
</div>
<div class="list">
<div class="item">
<span class="item-field">房屋类型</span>
<span>{{ formData.houseTypeName }}</span>
</div>
</div>
<div class="list">
<div class="item">
<span class="item-field">房屋状态</span>
<span>{{ formData. rentName }}</span>
</div>
</div>
<div class="list">
<div class="item">
<span class="item-field">房屋用途</span>
<span>{{ formData. purposeName }}</span>
</div>
</div>
<div class="list">
<div class="item">
<span class="item-field">房主姓名</span>
<span>{{ formData.ownerName?formData.ownerName:'无' }}</span>
</div>
</div>
<div class="list">
<div class="item">
<span class="item-field">房主电话</span>
<span>{{ formData.ownerPhone?formData.ownerPhone:'无' }}</span>
</div>
</div>
<div class="list">
<div class="item">
<span class="item-field">房主身份证</span>
<span>{{ formData. ownerIdCard?formData.ownerIdCard:'无' }}</span>
</div>
</div>
</cpt-card>
</div>
</div>
</template>
<script>
import cptCard from "@/views/modules/visual/cpts/card";
import { requestGet } from "@/js/dai/request";
import cptTb from "@/views/modules/visual/cpts/tb";
export default {
name: "peopleMore",
props: {
selHouseId: {
type: String,
default: "",
},
gridName: {
type: String,
default: "",
},
},
components: {
cptCard, cptTb
},
data () {
return {
formData: {
gridId: '',
agencyId: '',//Id
userId: '',//idicResiUserId
userType: 'icresi',//resi;icresi;import;synchro
name: '',
idCard: '',
mobile: '',
heSuanCheck: false,
presentAddress: '',
presentAddressCode: '',
detailAddress: '',
sourceAddressCode: '',
presentAddressPathCode: '',
sourceAddress: '',
sourceAddressPathCode: '',
arriveDate: '',
remark: '',
leaveDate: '',
userType: 'input',
content: '',
channel: []
},
};
},
computed: {
},
watch: {
selHouseId () {
this.getApiData();
},
},
mounted () {
this.getApiData();
},
methods: {
handleClose () {
this.$emit("close");
},
async getApiData () {
this.loadHouseInfo()
},
async loadHouseInfo () {
const url = "/gov/org/ichouse/" + this.selHouseId
const { data, code, msg } = await requestGet(url)
if (code === 0) {
this.formData = data
} else {
this.$message.error(msg)
}
},
},
};
</script>
<style
lang="scss"
src="@/assets/scss/modules/visual/basicInfoMain.scss"
scoped
></style>

5
src/views/modules/visual/basicinfo/peopleSearch.vue

@ -124,9 +124,8 @@ export default {
total: 0,
orgLevel: 'search',
selUserId: '',
//
runNum: 0,
runAgencyArray: [],
};
},
activated () {

200
src/views/modules/visual/basicinfo/personCategory/index.vue

@ -1,106 +1,106 @@
<template>
<div @click="hiddenTypeList()"
class="warning-box">
<cpt-card>
<div class="title">
<img src="@/assets/img/shuju/title-tip.png" />
<span>人员类别分析</span>
<div class="second-select cascader">
<el-cascader class="customer_cascader"
ref="myCascader"
v-model="agencyIdArray"
:key="iscascaderShow"
:options="casOptions"
:props="optionProps"
:show-all-levels="false"
@change="handleChangeAgency"></el-cascader>
<div>
<!-- 组织路由 -->
<div class="div_top">
<div class="router_line"></div>
<div class="div_router">
<div v-if="orgLevel==='search'">
<span class="router_child">人员类别</span>
</div>
<div class="second-select ">
<el-date-picker v-model="dateIdShow"
type="date"
:clearable="false"
@change="handleChangeDate"
:picker-options="pickerOptions"
prefix-icon="el-icon-caret-bottom"
placeholder="选择日期"
value-format="yyyy-MM-dd">
</el-date-picker>
<div v-if="orgLevel==='people'"> <span class="router_parents"
@click="handleClickBack">人员类别<span class="arrow">></span></span>
<span class="router_child">个人档案</span>
</div>
</div>
<el-scrollbar style="width: 100%">
<div class="warning-box-top">
<div class="top-item"
:class="{'top-item-active': activeIndex == index}"
@click="onClickList(item,index)"
v-for="(item, index) in categoryList"
:key="index">
<div class="top-item-img">
<img :src="item.dataIcon" />
<div class="top-item-left">
<span>{{ item.categoryName }}</span>
<span>{{ item.total }}</span>
</div>
</div>
<div class="top-item-num">
<div class="item_left">较上月</div>
<div class="item_right">
<div class="item_right_row">
<div class="item_right_title">增加</div>
<div>
<span v-if=" item.immigration!==0">{{ "+" }}</span>
<span>{{ item.immigration }}</span>
</div>
</div>
<div v-if="orgLevel!=='people'"
@click="hiddenTypeList()"
class="warning-box">
<cpt-card>
<div class="title">
<img src="@/assets/img/shuju/title-tip.png" />
<span>人员类别分析</span>
<div class="second-select cascader">
<el-cascader class="customer_cascader"
ref="myCascader"
v-model="agencyIdArray"
:key="iscascaderShow"
:options="casOptions"
:props="optionProps"
:show-all-levels="false"
@change="handleChangeAgency"></el-cascader>
</div>
<div class="second-select ">
<el-date-picker v-model="dateIdShow"
type="date"
:clearable="false"
@change="handleChangeDate"
:picker-options="pickerOptions"
prefix-icon="el-icon-caret-bottom"
placeholder="选择日期"
value-format="yyyy-MM-dd">
</el-date-picker>
</div>
</div>
<el-scrollbar style="width: 100%">
<div class="warning-box-top">
<div class="top-item"
:class="{'top-item-active': activeIndex == index}"
@click="onClickList(item,index)"
v-for="(item, index) in categoryList"
:key="index">
<div class="top-item-img">
<img :src="item.dataIcon" />
<div class="top-item-left">
<span>{{ item.categoryName }}</span>
<span>{{ item.total }}</span>
</div>
</div>
<div class="top-item-num">
<div class="item_left">较上月</div>
<div class="item_right">
<div class="item_right_row">
<div class="item_right_title">增加</div>
<div>
<span v-if=" item.immigration!==0">{{ "+" }}</span>
<span>{{ item.immigration }}</span>
</div>
<div class="item_right_row row2">
<div class="item_right_title">减少</div>
<div>
<span v-if=" item.emigration!==0">{{ "-" }}</span>
<span>{{ item.emigration }}</span>
</div>
</div>
<div class="item_right_row row2">
<div class="item_right_title">减少</div>
<div>
<span v-if=" item.emigration!==0">{{ "-" }}</span>
<span>{{ item.emigration }}</span>
</div>
</div>
<!-- <div class="num-item">
<div>较上月</div>
<div>
<div>
<span>新人员增加</span>
<span v-if=" item.immigration!==0">{{ "+" }}</span>
<span>{{ item.immigration }}</span>
</div>
</div>
</div> -->
<!-- <div class="num-item">
<div>{{" "}}</div>
<div>
<div>
<span>原人员减少</span>
<span v-if=" item.emigration!==0">{{ "-" }}</span>
<span>{{ item.emigration }}</span>
</div>
</div>
</div> -->
</div>
</div>
</div>
</div>
</el-scrollbar>
</el-scrollbar>
<div class="warning-box-bottom">
<screen-table ref="ref_recordlist"></screen-table>
<div class="warning-box-bottom">
<screen-table ref="ref_recordlist"
@toSubAgency="toSubAgency"></screen-table>
</div>
</cpt-card>
</div>
</cpt-card>
</div>
<people v-if="orgLevel==='people'"
:uid="selUserId"
ref="ref_people"></people>
</div>
</template>
@ -109,12 +109,17 @@ import { requestPost } from "@/js/dai/request";
import screenTable from "./recordList";
import cptCard from "@/views/modules/visual/cpts/card";
import nextTick from "dai-js/tools/nextTick";
import People from "../people";
export default {
components: {
cptCard,
screenTable,
People,
},
data () {
return {
@ -146,10 +151,11 @@ export default {
agencyInfo: {},
categoryList: [],
activeIndex: 0,
orgLevel: 'search',
selUserId: '',
};
},
async mounted () {
@ -160,6 +166,7 @@ export default {
},
methods: {
hiddenTypeList () {
@ -256,6 +263,20 @@ export default {
},
// type:polygon / people
async toSubAgency (userId) {
this.selUserId = userId
this.orgLevel = 'people'
},
//
handleClickBack () {
this.orgLevel = 'search'
},
},
watch: {
dateIdShow () {
@ -267,6 +288,12 @@ export default {
},
};
</script>
<style
lang="scss"
src="@/assets/scss/modules/visual/basicInfoMain.scss"
scoped
></style>
<style
lang="scss"
src="@/assets/scss/modules/visual/typeAnalyze.scss"
@ -277,3 +304,4 @@ export default {
src="@/assets/scss/modules/visual/personCategory.scss"
scoped
></style>

58
src/views/modules/visual/basicinfo/personCategory/recordList.vue

@ -1,4 +1,5 @@
<template>
<div class="warning-table">
<div class="table">
<div class="table-header">
@ -50,15 +51,16 @@
<div class="table-body-tr"
v-for="(value, index) in tableData"
:key="index">
<div class="td"
<div :class="['td',indexs===1?'tr-underline':'']"
v-for="(item, indexs) in value"
:style="{width:widthList[indexs]}"
:key="indexs">
:key="indexs"
@click="handelToPeople(indexs,index)">
<span>{{ item }}</span>
</div>
</div>
<screen-loading v-if="visibleLoading">加载中</screen-loading>
<!-- <screen-loading v-if="visibleLoading">加载中</screen-loading> -->
<div class="no-data"
v-if="tableData.length == 0 && !visibleLoading">
<img src="@/assets/img/modules/visual/noData.png"
@ -68,7 +70,7 @@
</div>
</div>
</div>
<div class="pagination">
<div class="pagination-record">
<el-pagination :current-page="pageNo"
:page-size="pageSize"
background
@ -79,6 +81,7 @@
</el-pagination>
</div>
</div>
</template>
<script>
@ -96,6 +99,7 @@ export default {
data () {
return {
visibleLoading: false,
tableAllData: [],
tableData: [],
showTypeSelect: false,
widthList: ['5%', '10%', '15%', '10%', '20%', '30%'],
@ -106,8 +110,9 @@ export default {
dateId: '',
categoryKey: '',
pageNo: 1,
pageSize: 10,
total: 0
pageSize: 7,
total: 0,
};
},
watch: {
@ -118,9 +123,22 @@ export default {
this.loadTypeList()
},
created () { },
methods: {
//
handelToPeople (titleIndex, index) {
if (titleIndex === 1) {
// console.log(this.tableData)
console.log(this.tableAllData[index])
this.$emit('toSubAgency', this.tableAllData[index].icUserId)
}
},
hiddenTypeList () {
this.showTypeSelect = false
@ -181,6 +199,7 @@ export default {
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.tableAllData = data.list
data.list.forEach((item, index) => {
tableData.push([
index + 1,
@ -230,10 +249,11 @@ export default {
width: 100%;
height: 100%;
.table {
width: 100%;
position: relative;
width: 99%;
height: 100%;
&-header {
width: 100%;
width: 99%;
height: 50px;
display: flex;
justify-content: space-around;
@ -247,6 +267,7 @@ export default {
text-align: center;
width: calc(100% / 5);
}
&-select {
position: relative;
@ -328,6 +349,15 @@ export default {
}
}
}
.tr-underline {
font-size: 18px;
font-weight: 400;
color: rgba(197, 210, 255, 0.85);
text-decoration: underline;
}
.tr-underline:hover {
cursor: pointer;
}
}
&-tr:nth-child(2n) {
@ -339,6 +369,7 @@ export default {
no-repeat center;
background-size: 100% 100%;
}
//
.no-data {
width: 100%;
@ -353,10 +384,13 @@ export default {
}
}
}
.pagination {
.pagination-record {
position: absolute;
box-sizing: border-box;
margin-top: 20px;
width: 100%;
right: 20px;
bottom: 10px;
// margin-top: 20px;
// width: 100%;
height: 40px;
display: flex;
justify-content: flex-end;
@ -431,3 +465,5 @@ export default {
}
}
</style>

107
src/views/modules/visual/warning/components/screen-table/index.vue

@ -23,33 +23,10 @@
:key="indexs"
:style="tableContentStyle[indexs]"
>
<div v-if="Array.isArray(item)">
<span
v-show="rIndex < 3"
:key="resi.userId"
v-for="(resi, rIndex) in item"
>
{{ rIndex != 0 ? "、" : "" }}
<a @click="toUserInfo(resi.userId)">{{ resi.residentName }}</a>
</span>
<div v-if="item.type && item.type == 'btn'">
<a @click="handleClickBtn(item)">{{ item.name }}</a>
</div>
<span v-else>{{ item }}</span>
<span
v-if="indexs + 1 == value.length && item.length > 3"
class="more"
@click.stop="onClickMorePop(index)"
ref="morePop"
>
更多>
<div class="more-pop" v-if="visiblePopList[index]">
<span :key="resi.userId" v-for="(resi, rIndex) in item">
{{ rIndex != 0 ? "、" : "" }}
<a @click="toUserInfo(resi.userId)">{{
resi.residentName
}}</a>
</span>
</div>
</span>
</div>
</div>
<screen-loading v-if="visibleLoading">加载中</screen-loading>
@ -63,16 +40,27 @@
</div>
</div>
</div>
<people-list
v-if="showedPeopleList && buildingId"
:buildingId="buildingId"
:configId="configId"
:gridName="gridName"
@close="showedPeopleList = false"
/>
</div>
</template>
<script>
import ScreenLoading from "../screen-loading/index";
import Vue from "vue";
import peopleList from "./people-list";
export default {
name: "warning-table",
components: {
ScreenLoading,
peopleList,
},
props: {
headerList: {
@ -84,7 +72,8 @@ export default {
{ title: "所属网格" },
{ title: "所属小区" },
{ title: "楼号" },
{ title: "姓名" },
{ title: "预警人数" },
{ title: "操作" },
];
},
},
@ -162,49 +151,29 @@ export default {
},
data() {
return {
visiblePopList: [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
],
//
showedPeopleList: false,
buildingId: "",
configId: "",
gridName: "",
};
},
watch: {
tableData(arr) {
if (Array.isArray(arr)) {
this.visiblePopList = new Array(arr.length).fill(false);
}
},
},
watch: {},
mounted() {
window.addEventListener("click", (e) => {
this.visiblePopList = new Array(this.visiblePopList.length).fill(false);
});
},
mounted() {},
created() {},
methods: {
toUserInfo(uid) {
this.$router.push({ path: `/main-shuju/visual-basicinfo-people/${uid}` });
handleClickBtn(item) {
this.showedPeopleList = true;
this.buildingId = item.buildingId;
this.configId = item.configId;
this.gridName = item.gridName;
},
onClickMorePop(index) {
this.visiblePopList.forEach((item, indexs) => {
if (index == indexs) {
Vue.set(this.visiblePopList, index, true);
} else {
Vue.set(this.visiblePopList, indexs, false);
}
});
toUserInfo(uid) {
this.$router.push({ path: `/main-shuju/visual-basicinfo-people/${uid}` });
},
},
};
@ -236,16 +205,19 @@ export default {
width: 5%;
}
&:nth-child(2) {
width: 20%;
width: 25%;
}
&:nth-child(3) {
width: 20%;
width: 25%;
}
&:nth-child(4) {
width: 15%;
}
&:nth-child(5) {
width: 40%;
width: 15%;
}
&:nth-child(6) {
width: 15%;
}
}
}
@ -275,16 +247,19 @@ export default {
width: 5%;
}
&:nth-child(2) {
width: 20%;
width: 25%;
}
&:nth-child(3) {
width: 20%;
width: 25%;
}
&:nth-child(4) {
width: 15%;
}
&:nth-child(5) {
width: 40%;
width: 15%;
}
&:nth-child(6) {
width: 15%;
}
a {
cursor: pointer;

213
src/views/modules/visual/warning/components/screen-table/people-list.vue

@ -0,0 +1,213 @@
<template>
<div class="m-pop">
<div class="wrap">
<cpt-card>
<div class="btn-close" @click="handleClose">
<img src="@/assets/img/shuju/people/close.png" />
</div>
<div class="wrap2">
<div class="title">
<span>人员列表</span>
</div>
<div class="content">
<div class="tb">
<cpt-tb
:col-list="colList"
:loading="loading"
:header="header"
:list="list"
@operate="toUserInfo"
></cpt-tb>
</div>
<div class="m-pagination">
<el-pagination
:current-page="pageNo"
:page-size="pageSize"
background
layout="prev, pager, next"
@size-change="pageSizeChangeHandleNew"
@current-change="pageCurrentChangeHandleNew"
:total="total"
>
</el-pagination>
</div>
</div>
</div>
</cpt-card>
</div>
<people-more
v-if="showedPeopleInfo && currentPepeleId"
:userId="currentPepeleId"
:gridName="gridName"
@close="showedPeopleInfo = false"
/>
</div>
</template>
<script>
import cptCard from "@/views/modules/visual/cpts/card";
import { requestPost } from "@/js/dai/request";
import peopleMore from "@/views/modules/shequ/cpts/people-more";
import cptTb from "@/views/modules/visual/cpts/tb";
import { mapGetters } from "vuex";
export default {
name: "people-list",
props: {
configId: {
type: String,
default: "",
},
buildingId: {
type: String,
default: "",
},
gridName: {
type: String,
default: "",
},
},
components: {
cptCard,
cptTb,
peopleMore,
},
data() {
return {
showedPeopleInfo: false,
currentPepeleId: "",
currentPepeleGridName: "",
colList: [
{
align: "center",
width: "5%",
},
{
align: "center",
width: "15%",
},
{
align: "center",
width: "10%",
},
{
align: "center",
width: "15%",
},
{
align: "center",
width: "20%",
},
{
align: "center",
width: "20%",
},
{
align: "center",
width: "10%",
},
],
header: ["序号", "姓名", "单元", "门牌号", "手机", "身份证", "操作"],
loading: false,
pageNo: 0,
pageSize: 12,
total: 0,
list: [],
srcList: [],
};
},
computed: {
maxTableHeight() {
return this.clientHeight - 450;
return 420;
},
...mapGetters(["clientHeight"]),
},
watch: {
userId() {
this.getApiData();
},
},
mounted() {
this.getApiData();
},
methods: {
pageSizeChangeHandleNew(val) {
this.pageNo = 1;
this.pageSize = val;
},
pageCurrentChangeHandleNew(val) {
this.pageNo = val;
this.getList();
},
handlePeopleItem(uid) {
console.log(uid);
this.currentPepeleId = uid;
this.showedPeopleInfo = true;
},
toUserInfo(index) {
let uid = this.srcList[index].userId;
this.$router.push({ path: `/main-shuju/visual-basicinfo-people/${uid}` });
},
handleClose() {
this.$emit("close");
},
async getApiData() {
this.getList();
},
async getList() {
const url = "/epmetuser/statsresiwarn/alluserwarnlist";
let params = {
buildingId: this.buildingId,
configId: this.configId,
pageNo: this.pageNo,
pageSize: this.pageSize,
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
const { list, total } = data;
this.list = list.map((item) => {
return [
{ type: "index" },
item.residentName,
item.unitName,
item.doorName,
item.mobile,
item.idCard,
{ type: "operate", list: ["查看更多"] },
];
});
this.total = total;
this.srcList = list;
} else {
this.$message.error(msg);
}
},
},
};
</script>
<style
lang="scss"
src="@/assets/scss/modules/visual/warning-people-list.scss"
scoped
></style>

12
src/views/modules/visual/warning/index.vue

@ -89,7 +89,8 @@ export default {
{ title: "所属网格" },
{ title: "所属小区" },
{ title: "楼号" },
{ title: "姓名" },
{ title: "预警人数" },
{ title: "操作" },
],
tableData: [
// [1,'','','2',''],
@ -133,7 +134,14 @@ export default {
item.gridName,
item.neighborhoodName,
item.buildingName,
item.userList || '暂无',
item.count,
{
type: "btn",
name: "查看人员",
buildingId: item.buildingId,
configId: item.configId,
gridName: item.gridName,
},
]);
});
this.tableData = tableData;

21
src/views/modules/warning/components/screen-table/index.vue

@ -42,6 +42,7 @@
v-if="showedPeopleList && buildingId"
:buildingId="buildingId"
:configId="configId"
:gridName="gridName"
@close="showedPeopleList = false"
/>
</div>
@ -136,6 +137,7 @@ export default {
showedPeopleList: false,
buildingId: "",
configId: "",
gridName: "",
};
},
watch: {},
@ -149,6 +151,7 @@ export default {
this.showedPeopleList = true;
this.buildingId = item.buildingId;
this.configId = item.configId;
this.gridName = item.gridName;
},
toUserInfo(uid) {
@ -186,16 +189,19 @@ export default {
width: 5%;
}
&:nth-child(2) {
width: 20%;
width: 25%;
}
&:nth-child(3) {
width: 20%;
width: 25%;
}
&:nth-child(4) {
width: 15%;
}
&:nth-child(5) {
width: 40%;
width: 15%;
}
&:nth-child(6) {
width: 15%;
}
}
}
@ -228,16 +234,19 @@ export default {
width: 5%;
}
&:nth-child(2) {
width: 20%;
width: 25%;
}
&:nth-child(3) {
width: 20%;
width: 25%;
}
&:nth-child(4) {
width: 15%;
}
&:nth-child(5) {
width: 40%;
width: 15%;
}
&:nth-child(6) {
width: 15%;
}
a {
cursor: pointer;

19
src/views/modules/warning/components/screen-table/people-list.vue

@ -6,7 +6,7 @@
</div>
<div class="wrap2">
<div class="title">
<span>更多信息</span>
<span>人员列表</span>
</div>
<div class="content">
@ -14,9 +14,8 @@
<el-table
:data="list"
border
style="width: 100%"
style="width: 100%;margin-top:20px;"
class="resi-table"
:max-height="maxTableHeight"
>
<el-table-column
label="序号"
@ -35,11 +34,11 @@
fixed="right"
label="操作"
align="center"
width="60"
width="120"
>
<template slot-scope="scope">
<el-button
@click="handlePeopleItem(scope.userId)"
@click="handlePeopleItem(scope.row.userId)"
type="text"
size="small"
>查看更多</el-button
@ -69,7 +68,7 @@
v-if="showedPeopleInfo && currentPepeleId"
:userId="currentPepeleId"
:gridName="gridName"
@close="showedPeopleMoreInfo = false"
@close="showedPeopleInfo = false"
/>
</div>
</template>
@ -91,10 +90,15 @@ export default {
type: String,
default: "",
},
gridName: {
type: String,
default: "",
},
},
components: {
cptCard,
peopleMore,
},
data() {
@ -105,7 +109,7 @@ export default {
loading: false,
pageNo: 0,
pageSize: 10,
pageSize: 12,
total: 0,
list: [],
};
@ -140,6 +144,7 @@ export default {
},
handlePeopleItem(uid) {
console.log(uid);
this.currentPepeleId = uid;
this.showedPeopleInfo = true;

3
src/views/modules/warning/index.vue

@ -146,9 +146,10 @@ export default {
item.count,
{
type: "btn",
name: "查看人员详情",
name: "查看人员",
buildingId: item.buildingId,
configId: item.configId,
gridName: item.gridName,
},
]);
});

1
src/views/modules/workPc/guidance/DetailForm.vue

@ -132,7 +132,6 @@ import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // Loading
import { requestPost } from '@/js/dai/request'
import Tinymce from '@c/tinymce/index.vue'
// import tinymce from 'tinymce/tinymce'
// import Editor from '@tinymce/tinymce-vue'

Loading…
Cancel
Save