Browse Source

Merge branch 'dev-0420' into test

test
dai 4 years ago
parent
commit
a2d6668264
  1. 8
      src/assets/scss/common.scss
  2. 4
      src/assets/scss/modules/visual/basicInfoMain.scss
  3. 2
      src/assets/scss/modules/visual/houseStatic.scss
  4. 8
      src/assets/scss/modules/warning.scss
  5. 2
      src/router/index.js
  6. 87
      src/views/components/checkBox.vue
  7. 94
      src/views/components/dragItem.vue
  8. 2
      src/views/components/resiSearch.vue
  9. 511
      src/views/modules/base/diyInfo.vue
  10. 39
      src/views/modules/base/epidemic/natFocus/natFocusList.vue
  11. 765
      src/views/modules/base/epidemic/vaccin.vue
  12. 959
      src/views/modules/base/epidemic/veroFocus/veroFocusList.vue
  13. 74
      src/views/modules/base/resi.vue
  14. 13
      src/views/modules/visual/basicinfo/basicInfoCommunity.vue
  15. 4
      src/views/modules/visual/basicinfo/basicInfoMain.vue
  16. 13
      src/views/modules/visual/basicinfo/cpts/roomInfo.vue
  17. 7
      src/views/modules/visual/basicinfo/houseStatic/houseStatic.vue
  18. 4
      src/views/modules/visual/basicinfo/houseStatic/options.js
  19. 6
      src/views/modules/visual/basicinfo/houseStatic/userOptions.js
  20. 8
      src/views/modules/visual/basicinfo/peopleList.vue
  21. 4
      src/views/modules/visual/plugin/power/organization.vue

8
src/assets/scss/common.scss

@ -821,3 +821,11 @@ div.el-table div.cell {
text-overflow: ellipsis;
word-wrap: normal;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
input[type="number"] {
-moz-appearance: textfield;
}

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

@ -296,8 +296,8 @@
.icon_party {
position: absolute;
top: 13px;
left: 18px;
top: 10px;
left: 12px;
}
.icon_roomstate {
position: absolute;

2
src/assets/scss/modules/visual/houseStatic.scss

@ -114,7 +114,7 @@
width: 100%;
.echart-wr{
flex-shrink: 0;
height: 380px;
height: 420px;
width: 70%;
}
.div-tip{

8
src/assets/scss/modules/warning.scss

@ -85,7 +85,7 @@
content: "";
width: 8px;
height: 8px;
background: #2194fe;
background: #f5f502;
border-radius: 50%;
position: absolute;
left: 12px;
@ -93,6 +93,12 @@
transform: translate(0, -50%);
}
&:nth-of-type(2) {
&::after {
background: #fb500d;
}
}
div:nth-child(1) {
font-size: 16px;
font-family: PingFang SC;

2
src/router/index.js

@ -225,7 +225,7 @@ router.beforeEach((to, from, next) => {
window.SITE_CONFIG["menuShujuList"] = [
{
url: "/visual/plugin/power/organization",
name: "组织架构",
name: "动力主轴",
id: "5feawfwaefwa577",
},
{

87
src/views/components/checkBox.vue

@ -0,0 +1,87 @@
<template>
<div v-loading="loading">
<el-checkbox
:indeterminate="isIndeterminate"
v-model="checkAll"
@change="handleCheckAllChange">全选</el-checkbox>
<div style="margin: 15px 0;"></div>
<el-checkbox-group v-if="boxList.length > 0" v-model="checkedList" @change="handleChange">
<div v-for="n in boxList" :key="n.itemId" class="mb10">
<el-checkbox :label="n.itemId">{{n.label}}</el-checkbox>
</div>
</el-checkbox-group>
<div v-else class="no-data">暂无数据</div>
</div>
</template>
<script>
export default {
name: 'checkBox',
model: {
prop: 'value',
event: 'change'
},
props: {
value: {
type: Array,
default: () => []
},
list: {
type: Array,
default: () => []
}
},
data() {
return {
boxList: [],
checkAll: false,
checkedList: [],
isIndeterminate: false,
pid: '',
loading: false
}
},
created() {
this.boxList = this.list.filter(item => item.itemType != 'inputRange')
console.log('cehck-bo----', this.list)
this.pid = this.list[0].itemGroupId
},
methods: {
handleCheckAllChange(val) {
this.checkedList = val ? this.boxList.map(item => item.itemId) : [];
this.isIndeterminate = false;
this.$emit('change', { list: this.filterArr(this.checkedList), pid: this.pid })
},
handleChange(value) {
console.log('value----', value)
let checkedCount = value.length;
this.checkAll = checkedCount === this.boxList.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.boxList.length;
this.$emit('change', { list: this.filterArr(this.checkedList), pid: this.pid })
},
filterArr(arr) {
let list = []
arr.forEach(item => {
this.boxList.forEach(n => {
if (item === n.itemId) list.push(n)
})
})
return list
}
}
}
</script>
<style lang="scss" scoped>
.mb10 {
margin-bottom: 10px;
}
.no-data {
padding-top: 30px;
font-size: 14px;
text-align: center;
color: #999;
}
</style>

94
src/views/components/dragItem.vue

@ -0,0 +1,94 @@
<template>
<div class="right-wr scroll-h" :id="'wrItems' + id">
<div v-for="(n, i) in list" :key="n.itemId" class="right-item">
<div class="item-label">{{ n.label }}</div>
<div class="item-btn">
<el-tag type="danger" class="mr10" @click="handleDelItem(n, i)">
<i class="el-icon-delete"></i>
</el-tag>
<el-tag type="primary">
<i class="el-icon-rank"></i>
</el-tag>
</div>
</div>
</div>
</template>
<script>
import Sortable from 'sortablejs'
export default {
name: 'DragItems',
props: {
list: {
type: Array,
default: () => []
},
id: {
type: String,
default: ''
}
},
data() {
return {
dragList: []
}
},
mounted() {
// this.dragSort()
},
watch: {
list: {
handler(val) {
this.dragList = val.filter(item => item.itemType != 'inputRange')
},
deep: true
}
},
methods: {
handleDelItem(item, i) {
this.$emit('del', { item, index: i})
},
dragSort () {
const el = document.getElementById(`wrItems${this.id}`)
this.sortTable = Sortable.create(el, {
group: 'right-item',
ghostClass: 'sortable-ghost', // Class name for the drop placeholder,
chosenClass: 'sortable-choose',
animation: 500,
delay: 0,
onEnd: evt => {
console.log('evt----', evt)
const targetRow = this.list.splice(evt.oldIndex, 1)[0]
this.list.splice(evt.newIndex, 0, targetRow)
this.$emit('drag', this.list)
}
})
},
}
}
</script>
<style lang="scss" scoped>
.right-wr {
max-height: calc(80vh - 270px);
overflow: auto;
.right-item {
display: flex;
align-items: center;
justify-content: space-between;
cursor: pointer;
padding: 10px 30px;
}
}
.sortable-choose {
background: #eee;
}
.mr10 {
margin-right: 10px;
}
.mb10 {
margin-bottom: 10px;
}
</style>

2
src/views/components/resiSearch.vue

@ -712,7 +712,7 @@ export default {
width: 200px;
}
.resi-cell--daterange {
width: 200px;
max-width: 260px;
}
.resi-cell-select {
width: 200px;

511
src/views/modules/base/diyInfo.vue

@ -0,0 +1,511 @@
<template>
<div v-if="list.length > 0" class="diy-container">
<el-tabs v-model="activeName">
<el-tab-pane label="自定义模板" name="first">
<div class="diy-wr">
<div class="left">
<el-tabs v-model="leftActive" tab-position="left" class="left-h" @tab-click="handleTabsClick">
<el-tab-pane v-for="item in leftList" :key="item.id" :label="item.label" :name="item.id">
<div class="pd10 dialog-h-content scroll-h">
<checkBox v-if="item.queryItemList.length > 0" :ref="'checkbox' + item.id"
:list="item.queryItemList" @change="handleChangeBox" />
</div>
</el-tab-pane>
</el-tabs>
</div>
<div class="right">
<div class="right-header">
<div class="title">导出信息</div>
<el-button plain @click="handlePreview('')">预览</el-button>
</div>
<div class="h80 scroll-h">
<el-collapse v-model="activeCollapse" id="collapsWr">
<el-collapse-item v-for="item in rightList" :key="item.id"
:title="item.label" :name="item.id" class="col-h">
<dragItem :ref="'drag' + item.id" :list="item.queryItemList" :id="item.id"
@del="handleDelItem"
@drag="handleDrag($event, item)"></dragItem>
</el-collapse-item>
</el-collapse>
</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="模板列表" name="second">
<el-table
:data="tableData"
height="calc(80vh - 140px)"
style="width: 100%">
<el-table-column
type="index"
label="序号"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="name"
label="模板名称"
align="center"
min-width="180">
</el-table-column>
<el-table-column
prop="createdBy"
align="center"
label="创建者"
width="180">
</el-table-column>
<el-table-column
align="center"
prop="createdTime"
label="创建时间"
width="180">
</el-table-column>
<el-table-column
align="center"
label="操作"
width="160">
<template slot-scope="scope">
<el-button v-if="scope.row.isSelf" type="text" size="small" class="div-table-button--delete"
@click="handleDeltemplate(scope.row.id)">删除</el-button>
<el-button type="text" size="small" class="div-table-button--detail"
@click="handlePreview(scope.row.id)">预览</el-button>
<el-button
type="text"
size="small"
class="div-table-button--edit" @click="handleExportTemplate(scope.row.id)">导出</el-button>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
<div v-if="activeName == 'first'" class="diy-footer">
<div class="left">
<div class="flex-div">
<div>模板名称</div>
<el-input v-model="form.name" maxlength="20" class="wd200 mr10" />
<el-checkbox v-model="form.isSaveTemp">保存为常用模板</el-checkbox>
</div>
</div>
<el-button class="diy-button--delete" :loading="exportLoading" @click="handleExport">导出</el-button>
</div>
<el-dialog :visible.sync="diyDialog"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="1150px"
append-to-body
top="5vh"
class="dialog-h"
@close="handleClose"
>
<div style="padding: 20px;">
<el-table
:data="tableData"
height="calc(80vh - 140px)"
style="width: 100%">
<el-table-column
v-for="(item, index) in previewList"
:label="item.label"
:key="index"
align="center"
min-width="120">
<el-table-column
v-for="(n, i) in item.children"
:label="n.label"
:key="i"
align="center"
min-width="120">
</el-table-column>
</el-table-column>
</el-table>
</div>
</el-dialog>
</div>
</template>
<script>
import checkBox from '../../components/checkBox.vue'
import dragItem from '../../components/dragItem.vue'
import Sortable from 'sortablejs'
import { requestPost } from "@/js/dai/request"
export default {
props: {
list: {
type: Array,
default: () => []
},
search: {
type: Object,
default: () => {}
}
},
components: {
checkBox,
dragItem
},
data() {
return {
exportLoading: false,
activeCollapse: ['1'],
activeName: 'first',
leftActive: '',
info: {},
rightList: [],
leftList: [],
form: {
isSaveTemp: false,
name: '',
itemList: []
},
tableData: [],
previewList: [],
diyDialog: false,
}
},
async created() {
this.list.forEach(item => {
this.$set(this.info, item.id, [])
})
this.leftActive = this.list[0].id
this.leftList = [...this.list]
this.leftList[0].queryItemList = await this.getExportChildList(this.leftList[0].id)
console.log('infodiy----', this.leftList)
this.getTemplateList()
},
watch: {
rightList: {
handler(val) {
if (val.length > 0) this.dragSort()
},
deep: true
},
// list: {
// handler(val) {
// if (val.length > 0) {
// this.leftList = [...val]
// this.leftList[0].queryItemList = this.getExportChildList(this.leftList[0].id)
// }
// },
// deep: true,
// // immediate: true
// },
},
methods: {
handleChangeBox({list, pid}) {
console.log('ccccc----', list)
// if (list.length == 0) return
let obj = {}
this.leftList.forEach(item =>{
if (item.id == pid) obj = { ...item, queryItemList: [...list] }
})
const groups = this.rightList.map(item => item.id)
if (groups.includes(pid)) {
this.rightList.forEach((item, i) => {
if (item.id == pid ) {
item.queryItemList = [...list]
if (list.length == 0) this.rightList.splice(i, 1)
}
})
} else {
this.rightList.push(obj)
this.$nextTick(() => {
console.log('itemttt------', this.$refs[`drag${pid}`])
this.$refs[`drag${pid}`][0].dragSort()
})
}
this.activeCollapse = [...this.activeCollapse, pid]
},
handleTabsClick(val) {
console.log('tabs-----', val)
this.leftList.forEach(async item => {
if (item.id == val.name) {
if (item.queryItemList.length == 0) item.queryItemList = await this.getExportChildList(item.id)
}
})
},
handleDelItem(val) {
const { item, index } = val
console.log('item------', item, this.$refs[`checkbox${item.itemGroupId}`])
let checkList = this.$refs[`checkbox${item.itemGroupId}`][0].checkedList
checkList.forEach((n, i) => {
if (n == item.itemId) {
checkList.splice(i, 1)
this.$refs[`checkbox${item.itemGroupId}`][0].handleChange(checkList)
}
})
this.rightList.forEach((n, i) => {
if (n.id === item.itemGroupId) {
n.queryItemList.splice(index, 1)
if (n.queryItemList.length === 0) this.rightList.splice(i, 1)
}
})
},
dragSort() {
const el = document.getElementById('collapsWr')
this.sortTable = Sortable.create(el, {
group: 'el-collapse-item',
ghostClass: 'sortable-ghost', // Class name for the drop placeholder,
animation: 500,
delay: 0,
onEnd: evt => {
console.log('evt----', evt)
const targetRow = this.rightList.splice(evt.oldIndex, 1)[0]
this.rightList.splice(evt.newIndex, 0, targetRow)
}
})
},
handleDrag(val, item) {
console.log('drag-----', val)
console.log('drag-----', item)
this.rightList.forEach((n, i) => {
if (item.id == n.id) n.queryItemList = [...val]
})
},
handleClose() {
this.previewList = []
this.diyDialog = false
},
handleDeltemplate(id) {
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.delTemplate(id)
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
})
},
handlePreview(id) {
if (id) this.getPreview(id)
else {
if (this.rightList.length == 0) return this.$message.error('请选择导出信息')
this.previewList = this.rightList.map(item => {
return {
label: item.label,
children: item.queryItemList
}
})
}
this.diyDialog = true
},
handleExport() {
if (this.rightList.length === 0) return this.$message.error('请选择导出信息')
if (this.form.isSaveTemp && !this.form.name) return this.$message.error('请输入模板名称')
this.exportLoading = true
this.exportTemplate()
},
handleExportTemplate(id) {
this.exportTemplate(id)
},
async exportTemplate(id) {
let url = "/epmetuser/icresiuser/exportExcelCustom"
let params = {
templateId: id || '',
searchForm: {...this.search},
exportConfig: {
...this.form,
formCode: 'resi_base_info',
itemList: this.rightList.map(item => {
return {
itemId: item.id,
label: item.label,
tableName: item.queryItemList[0].tableName,
children: item.queryItemList,
supportAdd: item.supportAdd
}
})
}
}
await this.$http({
method: 'POST',
url,
// responseType: 'blob',
data: params
})
.then(res => {
console.log('res----dddd', res)
// this.download(res.data, title + '.xls')
// this.getTemplateList()
this.exportLoading = false
if (res.data.code && res.data.code == 9999) {
return this.$message.error(res.data.msg)
}
if (res.headers["content-disposition"]) {
let fileName = window.decodeURI(res.headers["content-disposition"].split(";")[1].split("=")[1])
console.log('filename', fileName)
let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
var url = window.URL.createObjectURL(blob)
var aLink = document.createElement('a')
aLink.style.display = 'none'
aLink.href = url
aLink.setAttribute('download', fileName)
document.body.appendChild(aLink)
aLink.click()
document.body.removeChild(aLink) //
window.URL.revokeObjectURL(url) //blob
this.$message.success('导出成功')
this.$emit('close')
} else this.$message.error('下载失败')
})
.catch(err => {
console.log('err', err)
this.exportLoading = false
return this.$message.error('网络错误')
})
},
async getTemplateList () {
let params = {
formCode: 'resi_base_info'
}
await this.$http
.post('/oper/customize/icExportTemplate/templateList', params)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.tableData = res.data
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
async getPreview (id) {
let params = {
id: id || ''
}
await this.$http
.post('/oper/customize/icExportTemplate/templateDetail', params)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.previewList = res.data
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
async delTemplate(id) {
let params = [id]
await this.$http
.post('/oper/customize/icExportTemplate/delete', params)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.$message({
type: 'success',
message: '删除成功!'
});
this.getTemplateList()
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
async getExportChildList (groupId) {
const url = `/oper/customize/icformitem/getItemList/${groupId}`
let params = {}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
return data
} else {
this.$message.error(msg)
}
},
}
}
</script>
<style lang="scss" scoped>
.diy-container {
padding: 20px 20px 0 20px;
}
.diy-wr {
display: flex;
width: 100%;
height: calc(80vh - 120px);
.left {
width: 49%;
}
.right {
flex-shrink: 0;
width: 50%;
height: 100%;
box-sizing: border-box;
margin-left: 20px;
padding: 0 20px;
border-left: 1px solid #eee;
.right-header {
display: flex;
align-items: center;
justify-content: space-between;
padding-bottom: 10px;
// border-bottom: 1px solid #eee;
.title {
font-weight: 500;
}
}
}
}
.h80 {
height: calc(80vh - 160px);
overflow: auto;
}
.diy-footer {
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 10px;
}
.left-h {
::v-deep .el-tabs__header.is-left,
::v-deep .el-tabs__nav-wrap.is-left::after {
height: calc(80vh - 120px);
}
}
.flex-div {
display: flex;
align-items: center;
}
// #collapsWr {
// .col-h {
// ::v-deep .el-collapse-item__wrap {
// max-height: calc(80vh - 220px);
// // overflow: auto;
// }
// }
// }
.mb10 {
margin-bottom: 10px;
}
.pd10 {
padding: 10px;
}
.mr10 {
margin-right: 10px;
}
.wd200 {
width: 200px;
}
</style>

39
src/views/modules/base/epidemic/natFocus/natFocusList.vue

@ -670,21 +670,36 @@ export default {
})
},
handleEdit (row) {
this.editFormTitle = "修改核酸检测关注名单"
this.editFormShow = true
async handleEdit(row) {
this.editFormTitle = "修改核酸检测关注名单";
this.editFormShow = true;
this.$nextTick(() => {
this.$refs.ref_form_edit.initForm('edit', row)
})
let row2 = await this.getInfo(row);
this.$refs.ref_form_edit.initForm("edit", row2);
},
handleDetail (row) {
this.editFormTitle = "查看核酸检测关注名单"
this.editFormShow = true
this.$nextTick(() => {
this.$refs.ref_form_edit.initForm('detail', row)
})
async handleDetail(row) {
this.editFormTitle = "查看核酸检测关注名单";
this.editFormShow = true;
let row2 = await this.getInfo(row);
this.$refs.ref_form_edit.initForm("detail", row2);
},
async getInfo(row) {
const url = "/epmetuser/icEpidemicSpecialAttention/detail";
let params = {
id: row.id,
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
row.mobile = data.mobile;
row.idCard = data.idCard;
}
return row;
},
handleSendNotice () {

765
src/views/modules/base/epidemic/vaccin.vue

File diff suppressed because it is too large

959
src/views/modules/base/epidemic/veroFocus/veroFocusList.vue

File diff suppressed because it is too large

74
src/views/modules/base/resi.vue

@ -63,6 +63,10 @@
class="diy-button--reset"
:loading="exportBtn"
@click="handleExport">{{exportBtnTitle}}</el-button>
<el-button
class="diy-button--add"
size="small"
@click="diyExport">自定义导出</el-button>
<el-button
class="diy-button--add"
size="small"
@ -288,6 +292,20 @@
@closed="diaClose">
<resi-change-record ref="ref_changerecord"></resi-change-record>
</el-dialog>
<el-dialog :visible.sync="diyDialog"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="1150px"
top="5vh"
class="dialog-h"
>
<diy-info v-if="diyDialog" ref="ref_diy" :list="exportList" :search="{
formCode: 'resi_base_info',
pageNo: currentPage,
pageSize: pageSize,
conditions: conditions
}" @close="handleDiyClose"></diy-info>
</el-dialog>
<people-more v-if="showedPeopleMoreInfo && lookInfo.userId"
:userId="lookInfo.userId"
:gridName="lookInfo.gridName"
@ -306,7 +324,8 @@ import { mapGetters } from 'vuex'
import resiTransfer from '../../components/resiTransfer.vue'
import resiChangeRecord from '../../components/resiChangeRecord.vue'
import peopleMore from "@/views/modules/shequ/cpts/people-more";
import { listen } from 'ol/events'
import diyInfo from './diyInfo.vue'
import { requestPost } from "@/js/dai/request";
export default {
components: {
@ -315,11 +334,13 @@ export default {
editResi,
resiTransfer,
resiChangeRecord,
peopleMore
peopleMore,
diyInfo
},
data () {
return {
activeNames: [],
diyDialog: false,
openSearch: false,
exportBtn: false,
exportBtnTitle: '导出',
@ -346,6 +367,7 @@ export default {
activeName: '',
tableData: [],
searchList: [],
exportList: [],
editAgencyId: '',
editForm: {
GRID_ID: '',
@ -452,10 +474,18 @@ export default {
this.tranferShow = false
this.getTableData()
},
handleDiyClose() {
this.diyDialog = false
},
handleOpenSearch() {
if (!this.openSearch) this.activeNames = [this.searchList[0].itemGroupId]
this.openSearch = !this.openSearch
},
async diyExport() {
await this.getExportList()
},
computedWidth (label, type) {
@ -1218,6 +1248,46 @@ export default {
return this.$message.error('网络错误')
})
},
async getExportList (type) {
const url = '/oper/customize//icformitemgroup/list'
let params = {
formCode: 'resi_base_info'
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
data.forEach(item => {
(async (id) => {
// item.queryItemList = await this.getExportChildList(id)
item.queryItemList = []
})(item.id)
})
this.exportList = [...data]
this.$nextTick(() => {
this.diyDialog = true
})
console.log('获取详情成功getExportList----', this.exportList)
} else {
this.$message.error(msg)
}
},
async getExportChildList (groupId) {
const url = `/oper/customize/icformitem/getItemList/${groupId}`
let params = {}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
return data
} else {
this.$message.error(msg)
}
},
async deleteresiBatch () {
if (this.selection.length === 0) return this.$message.error('请选择之后进行操作')
let userIds = this.selection.map(item => item.icResiUserId)

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

@ -216,21 +216,22 @@ export default {
this.userArray = []
this.roomArray.forEach((element, index) => {
if (index !== selIndex) {
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 nextTick(100);
await this.loadUser(this.roomArray[selIndex].houseId, selIndex)
} else {
let obj = JSON.parse(JSON.stringify(this.roomArray[selIndex]))
obj.showAllUser = false
this.$set(this.roomArray, selIndex, obj)
}

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

@ -316,7 +316,9 @@ const vueGis = {
path: `/main-shuju/visual-basicinfo-people-list`,
query: {
columnName: item.columnName,
label: item.label
label: item.label,
id: this.orgId,
level: this.orgLevel
}
});
},

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

@ -20,18 +20,25 @@
</div>
</div> -->
<div class="list">
<div class="item">
<span class="item-field">所属房屋</span>
<span>{{ formData.neighborHoodName }}-{{ formData. buildingName }}-{{ formData. unitName }}-{{ formData. doorName }}</span>
</div>
</div>
<!-- <div class="list">
<div class="item">
<span class="item-field">所属楼栋</span>
<span>{{ formData.buildingName }}</span>
</div>
</div>
<div class="list">
</div> -->
<!-- <div class="list">
<div class="item">
<span class="item-field">房屋名称</span>
<span>{{ formData. houseName }}</span>
</div>
</div>
</div> -->
<div class="list">
<div class="item">
<span class="item-field">房屋类型</span>

7
src/views/modules/visual/basicinfo/houseStatic/houseStatic.vue

@ -17,7 +17,7 @@
<img class="title-icon"
src="@/assets/img/shuju/title-tip.png" />
<div class="title-label">
人房概览统计
人房概览数据统计
</div>
</div>
@ -116,6 +116,7 @@
</div>
</div>
<div v-if="orgType!=='village'">
<div class="card-left-title">下级人房概览数据统计</div>
@ -183,6 +184,8 @@
</div>
</div>
</cpt-card>
</div>
</template>
@ -445,7 +448,7 @@ export default {
selected: true
}
let obj2 = {
name: '流动人口',
name: '流动人口',
value: this.userData.ldUserRatio
}

4
src/views/modules/visual/basicinfo/houseStatic/options.js

@ -1,10 +1,10 @@
export function housePieOption (_charts) {
const center= ['50%', '150px']
const center= ['50%', '200px']
return {
title: {
text: '0',
top: 120,
top: 170,
left: 'center',
textStyle: {
width: '100%',

6
src/views/modules/visual/basicinfo/houseStatic/userOptions.js

@ -1,10 +1,10 @@
export function userPieOption (_charts) {
const center= ['50%', '150px']
const center= ['50%', '200px']
return {
title: {
text: '0',
top: 120,
top: 170,
left: 'center',
textStyle: {
width: '100%',
@ -13,7 +13,7 @@ export function userPieOption (_charts) {
fontWeight: 400
},
itemGap: 5,
subtext: '房屋总数',
subtext: '居民总数',
subtextStyle: {
fontSize: 20,
color: '#fff',

8
src/views/modules/visual/basicinfo/peopleList.vue

@ -127,10 +127,10 @@ export default {
this.searchName = ''
this.tableData = []
const { columnName, label } = this.$route.query
const { columnName, label, id, level } = this.$route.query
this.searchName = columnName
this.tableTitle = label
this.loadList()
this.loadList(id, level)
},
beforeRouteEnter(to, from, next) {
@ -146,11 +146,13 @@ export default {
async loadList () {
async loadList (id, level) {
this.loading = true
const url = "/epmetuser/icresiuser/searchbycategory"
let params = {
columnName: this.searchName,
id,
level,
pageSize: this.pageSize,
pageNo: this.pageNo
}

4
src/views/modules/visual/plugin/power/organization.vue

@ -4,12 +4,12 @@
<!-- <div class="card-title">
<img class="title-icon" src="../../../../../assets/img/shuju/title-tip.png" />
<div class="title-label">
组织架构
动力主轴
</div>
</div> -->
<div class="title">
<img src="../../../../../assets/img/shuju/title-tip.png" />
<span>组织架构</span>
<span>动力主轴</span>
<div class="second-select cascader">
<el-cascader class="customer_cascader"
ref="myCascader"

Loading…
Cancel
Save