39 changed files with 2134 additions and 1156 deletions
@ -0,0 +1,167 @@ |
|||
import Cookies from 'js-cookie' |
|||
import qs from 'qs' |
|||
export default { |
|||
data () { |
|||
/* eslint-disable */ |
|||
return { |
|||
// 设置属性
|
|||
mixinViewModuleOptions: { |
|||
createdIsNeed: true, // 此页面是否在创建时,调用查询数据列表接口?
|
|||
activatedIsNeed: false, // 此页面是否在激活(进入)时,调用查询数据列表接口?
|
|||
getDataListURL: '', // 数据列表接口,API地址
|
|||
getDataListIsPage: false, // 数据列表接口,是否需要分页?
|
|||
deleteURL: '', // 删除接口,API地址
|
|||
deleteIsBatch: false, // 删除接口,是否需要批量?
|
|||
deleteIsBatchKey: 'id', // 删除接口,批量状态下由那个key进行标记操作?比如:pid,uid...
|
|||
exportURL: '' // 导出接口,API地址
|
|||
}, |
|||
// 默认属性
|
|||
dataForm: {}, // 查询条件
|
|||
dataList: [], // 数据列表
|
|||
order: '', // 排序,asc/desc
|
|||
orderField: '', // 排序,字段
|
|||
page: 1, // 当前页码
|
|||
limit: 10, // 每页数
|
|||
total: 0, // 总条数
|
|||
dataListLoading: false, // 数据列表,loading状态
|
|||
dataListSelections: [], // 数据列表,多选项
|
|||
addOrUpdateVisible: false // 新增/更新,弹窗visible状态
|
|||
} |
|||
/* eslint-enable */ |
|||
}, |
|||
created () { |
|||
if (this.mixinViewModuleOptions.createdIsNeed) { |
|||
this.query() |
|||
} |
|||
}, |
|||
activated () { |
|||
if (this.mixinViewModuleOptions.activatedIsNeed) { |
|||
this.query() |
|||
} |
|||
}, |
|||
methods: { |
|||
// 获取数据列表
|
|||
query () { |
|||
this.dataListLoading = true |
|||
const params = { |
|||
order: this.order, |
|||
orderField: this.orderField, |
|||
page: this.mixinViewModuleOptions.getDataListIsPage ? this.page : null, |
|||
limit: this.mixinViewModuleOptions.getDataListIsPage ? this.limit : null, |
|||
...this.dataForm |
|||
} |
|||
this.$http.post( |
|||
this.mixinViewModuleOptions.getDataListURL, |
|||
params |
|||
).then(({ data: res }) => { |
|||
this.dataListLoading = false |
|||
if (res.code !== 0) { |
|||
this.dataList = [] |
|||
this.total = 0 |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.dataList = this.mixinViewModuleOptions.getDataListIsPage ? res.data.list : res.data |
|||
this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0 |
|||
this.dataList.forEach(item => { |
|||
if (item.gender) { |
|||
item.gender = item.gender == '0' ? '女' : item.gender == '1' ? '男' : item.gender |
|||
} |
|||
}) |
|||
}).catch(() => { |
|||
this.dataListLoading = false |
|||
}) |
|||
}, |
|||
// 多选
|
|||
dataListSelectionChangeHandle (val) { |
|||
this.dataListSelections = val |
|||
}, |
|||
// 排序
|
|||
dataListSortChangeHandle (data) { |
|||
if (!data.order || !data.prop) { |
|||
this.order = '' |
|||
this.orderField = '' |
|||
return false |
|||
} |
|||
this.order = data.order.replace(/ending$/, '') |
|||
this.orderField = data.prop.replace(/([A-Z])/g, '_$1').toLowerCase() |
|||
this.query() |
|||
}, |
|||
// 分页, 每页条数
|
|||
pageSizeChangeHandle (val) { |
|||
this.page = 1 |
|||
this.limit = val |
|||
this.query() |
|||
}, |
|||
// 分页, 当前页
|
|||
pageCurrentChangeHandle (val) { |
|||
this.page = val |
|||
this.query() |
|||
}, |
|||
getDataList: function () { |
|||
this.page = 1 |
|||
this.query() |
|||
}, |
|||
// 新增 / 修改
|
|||
addOrUpdateHandle (id) { |
|||
this.addOrUpdateVisible = true |
|||
this.$nextTick(() => { |
|||
this.$refs.addOrUpdate.dataForm.id = id |
|||
this.$refs.addOrUpdate.init() |
|||
}) |
|||
}, |
|||
// 删除
|
|||
deleteHandle (id) { |
|||
if (this.mixinViewModuleOptions.deleteIsBatch && !id && this.dataListSelections.length <= 0) { |
|||
return this.$message({ |
|||
message: this.$t('prompt.deleteBatch'), |
|||
type: 'warning', |
|||
duration: 500 |
|||
}) |
|||
} |
|||
this.$confirm(this.$t('prompt.info', { 'handle': this.$t('delete') }), this.$t('prompt.title'), { |
|||
confirmButtonText: this.$t('confirm'), |
|||
cancelButtonText: this.$t('cancel'), |
|||
type: 'warning' |
|||
}).then(() => { |
|||
this.$http.delete( |
|||
`${this.mixinViewModuleOptions.deleteURL}${this.mixinViewModuleOptions.deleteIsBatch ? '' : '/' + id}`, |
|||
this.mixinViewModuleOptions.deleteIsBatch ? { |
|||
'data': id ? [id] : this.dataListSelections.map(item => item[this.mixinViewModuleOptions.deleteIsBatchKey]) |
|||
} : {} |
|||
).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.$message({ |
|||
message: this.$t('prompt.success'), |
|||
type: 'success', |
|||
duration: 500, |
|||
onClose: () => { |
|||
this.query() |
|||
} |
|||
}) |
|||
}).catch(() => {}) |
|||
}).catch(() => {}) |
|||
}, |
|||
// 导出
|
|||
exportHandle () { |
|||
var params = qs.stringify({ |
|||
'token': localStorage.getItem('token'), |
|||
...this.dataForm |
|||
}) |
|||
window.location.href = `${window.SITE_CONFIG['apiURL']}${this.mixinViewModuleOptions.exportURL}?${params}` |
|||
}, |
|||
// 时间段控件取值变化事件-清空一个其他都清空
|
|||
changeTime (dateValue) { |
|||
var startTimeIsNull = this.dataForm.startTime === '' || this.dataForm.startTime === 'null' || this.dataForm.startTime === null |
|||
var endTimeIsNull = this.dataForm.endTime === '' || this.dataForm.endTime === 'null' || this.dataForm.endTime === null |
|||
if (dateValue === null || dateValue === '' || dateValue === 'null') { |
|||
this.dataForm.startTime = '' |
|||
this.dataForm.endTime = '' |
|||
} else if (startTimeIsNull || endTimeIsNull) { |
|||
this.dataForm.startTime = dateValue |
|||
this.dataForm.endTime = dateValue |
|||
} |
|||
} |
|||
} |
|||
} |
File diff suppressed because it is too large
@ -0,0 +1,240 @@ |
|||
<template> |
|||
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('update')" :close-on-click-modal="false" :close-on-press-escape="false"> |
|||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '80px'"> |
|||
<el-form-item label="客户id" prop="customerId"> |
|||
<el-input v-model="dataForm.customerId" placeholder="客户id"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="数据更新至:yyyyMMdd; " prop="dateId"> |
|||
<el-input v-model="dataForm.dateId" placeholder="数据更新至:yyyyMMdd; "></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="组织id" prop="agencyId"> |
|||
<el-input v-model="dataForm.agencyId" placeholder="组织id"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="组织i所属的组织id" prop="pid"> |
|||
<el-input v-model="dataForm.pid" placeholder="组织i所属的组织id"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="组织i所有上级id" prop="pids"> |
|||
<el-input v-model="dataForm.pids" placeholder="组织i所有上级id"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="小区总数" prop="neighbourhoodsCount"> |
|||
<el-input v-model="dataForm.neighbourhoodsCount" placeholder="小区总数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="房屋总数" prop="houseCount"> |
|||
<el-input v-model="dataForm.houseCount" placeholder="房屋总数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="自住房屋总数" prop="houseSelfCount"> |
|||
<el-input v-model="dataForm.houseSelfCount" placeholder="自住房屋总数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="出租房屋总数" prop="houseLeaseCount"> |
|||
<el-input v-model="dataForm.houseLeaseCount" placeholder="出租房屋总数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="闲置房屋总数" prop="houseIdleCount"> |
|||
<el-input v-model="dataForm.houseIdleCount" placeholder="闲置房屋总数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="居民总数" prop="userCount"> |
|||
<el-input v-model="dataForm.userCount" placeholder="居民总数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="常住居民总数" prop="userResiCount"> |
|||
<el-input v-model="dataForm.userResiCount" placeholder="常住居民总数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="流动居民总数" prop="userFloatCount"> |
|||
<el-input v-model="dataForm.userFloatCount" placeholder="流动居民总数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="当日新增房屋数" prop="houseIncr"> |
|||
<el-input v-model="dataForm.houseIncr" placeholder="当日新增房屋数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="当日修改房屋数" prop="houseModify"> |
|||
<el-input v-model="dataForm.houseModify" placeholder="当日修改房屋数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="当日新增居民数" prop="userIncr"> |
|||
<el-input v-model="dataForm.userIncr" placeholder="当日新增居民数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="当日修改居民数" prop="userModify"> |
|||
<el-input v-model="dataForm.userModify" placeholder="当日修改居民数"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="删除标识 0未删除、1已删除" prop="delFlag"> |
|||
<el-input v-model="dataForm.delFlag" placeholder="删除标识 0未删除、1已删除"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="乐观锁" prop="revision"> |
|||
<el-input v-model="dataForm.revision" placeholder="乐观锁"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="创建人" prop="createdBy"> |
|||
<el-input v-model="dataForm.createdBy" placeholder="创建人"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致" prop="createdTime"> |
|||
<el-input v-model="dataForm.createdTime" placeholder="创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="更新人" prop="updatedBy"> |
|||
<el-input v-model="dataForm.updatedBy" placeholder="更新人"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="更新时间" prop="updatedTime"> |
|||
<el-input v-model="dataForm.updatedTime" placeholder="更新时间"></el-input> |
|||
</el-form-item> |
|||
</el-form> |
|||
<template slot="footer"> |
|||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> |
|||
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> |
|||
</template> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import debounce from 'lodash/debounce' |
|||
export default { |
|||
data () { |
|||
return { |
|||
visible: false, |
|||
dataForm: { |
|||
id: '', |
|||
customerId: '', |
|||
dateId: '', |
|||
agencyId: '', |
|||
level: '', |
|||
pid: '', |
|||
pids: '', |
|||
neighbourhoodsCount: '', |
|||
houseCount: '', |
|||
houseSelfCount: '', |
|||
houseLeaseCount: '', |
|||
houseIdleCount: '', |
|||
userCount: '', |
|||
userResiCount: '', |
|||
userFloatCount: '', |
|||
houseIncr: '', |
|||
houseModify: '', |
|||
userIncr: '', |
|||
userModify: '', |
|||
delFlag: '', |
|||
revision: '', |
|||
createdBy: '', |
|||
createdTime: '', |
|||
updatedBy: '', |
|||
updatedTime: '' |
|||
} |
|||
} |
|||
}, |
|||
computed: { |
|||
dataRule () { |
|||
return { |
|||
customerId: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
dateId: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
agencyId: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
level: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
pid: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
pids: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
neighbourhoodsCount: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
houseCount: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
houseSelfCount: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
houseLeaseCount: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
houseIdleCount: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
userCount: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
userResiCount: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
userFloatCount: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
houseIncr: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
houseModify: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
userIncr: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
userModify: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
delFlag: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
revision: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
createdBy: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
createdTime: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
updatedBy: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
updatedTime: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
init () { |
|||
this.visible = true |
|||
this.$nextTick(() => { |
|||
this.$refs['dataForm'].resetFields() |
|||
if (this.dataForm.id) { |
|||
this.getInfo() |
|||
} |
|||
}) |
|||
}, |
|||
// 获取信息 |
|||
getInfo () { |
|||
this.$http.get(`//factAgencyUserHouseDaily/${this.dataForm.id}`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.dataForm = { |
|||
...this.dataForm, |
|||
...res.data |
|||
} |
|||
}).catch(() => {}) |
|||
}, |
|||
// 表单提交 |
|||
dataFormSubmitHandle: debounce(function () { |
|||
this.$refs['dataForm'].validate((valid) => { |
|||
if (!valid) { |
|||
return false |
|||
} |
|||
this.$http[!this.dataForm.id ? 'post' : 'put']('//factAgencyUserHouseDaily/', this.dataForm).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.$message({ |
|||
message: this.$t('prompt.success'), |
|||
type: 'success', |
|||
duration: 500, |
|||
onClose: () => { |
|||
this.visible = false |
|||
this.$emit('refreshDataList') |
|||
} |
|||
}) |
|||
}).catch(() => {}) |
|||
}) |
|||
}, 1000, { 'leading': true, 'trailing': false }) |
|||
} |
|||
} |
|||
</script> |
@ -0,0 +1,315 @@ |
|||
<template> |
|||
<el-card shadow="never" class="aui-card--fill"> |
|||
<div class="mode-block resi-container"> |
|||
<el-card ref="searchCard" class="search-card"> |
|||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
|||
<el-form-item label="组织机构" label-width="100px" |
|||
prop="agencyId"> |
|||
<!-- <el-select |
|||
v-model.trim="dataForm.agencyId" |
|||
placeholder="请选择" |
|||
clearable |
|||
> |
|||
<el-option |
|||
v-for="item in optionsA" |
|||
:key="item.agencyId" |
|||
:label="item.agencyName" |
|||
:value="item.agencyId" |
|||
> |
|||
</el-option> |
|||
</el-select> --> |
|||
<el-cascader ref="cascaderUnit" v-model.trim="dataForm.agencyId" :options="optionsA" :props="{ checkStrictly: true, expandTrigger: 'hover', emitPath: false,children:'subAgencyList',label:'agencyName',value:'agencyId'}" popper-class="cascader-block"> |
|||
<template slot-scope="{ node, data }"> |
|||
<div @click="cascaderClick(data)"> |
|||
<!-- <span class="block"></span> --> |
|||
<span>{{ data.agencyName }}</span> |
|||
<span v-if="!node.isLeaf"> ({{ data.subAgencyList.length }}) </span> |
|||
</div> |
|||
</template> |
|||
</el-cascader> |
|||
</el-form-item> |
|||
<el-form-item label="时间范围" |
|||
prop="startTime"> |
|||
<el-date-picker v-model="timeRange" |
|||
type="daterange" |
|||
clearable |
|||
size="small" |
|||
range-separator="至" |
|||
start-placeholder="选择日期" |
|||
end-placeholder="选择日期" |
|||
value-format="yyyy-MM-dd"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-card> |
|||
<el-card class="resi-card-table"> |
|||
<div class="resi-row-btn"> |
|||
<el-button @click="totalHandle" |
|||
class="diy-button--add" |
|||
size="small">总计</el-button> |
|||
<el-button @click="exportHandle" |
|||
class="diy-button--reset" |
|||
size="small">导出</el-button> |
|||
</div> |
|||
<el-table class="resi-table" v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%"> |
|||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column> |
|||
<el-table-column width="160" fixed prop="agencyName" label="组织结构" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="80" prop="neighbourhoodsCount" label="小区数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="80" prop="houseCount" label="房屋数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="houseSelfCount" label="自住房屋数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="houseLeaseCount" label="出租房屋数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="houseIdleCount" label="闲置房屋数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="userCount" label="居民总数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="userResiCount" label="常住人口数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="userFloatCount" label="流动人口数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="houseIncr" label="新增房屋数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="userIncr" label="新增人口数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="houseModify" label="修改房屋数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="userModify" label="修改人口数" header-align="center" align="center"></el-table-column> |
|||
</el-table> |
|||
<el-pagination |
|||
:current-page="page" |
|||
:page-sizes="[10, 20, 50, 100]" |
|||
:page-size="limit" |
|||
:total="total" |
|||
layout="total, sizes, prev, pager, next, jumper" |
|||
@size-change="pageSizeChangeHandle" |
|||
@current-change="pageCurrentChangeHandle"> |
|||
</el-pagination> |
|||
</el-card> |
|||
<!-- 弹窗, 新增 / 修改 --> |
|||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> |
|||
<el-dialog |
|||
title="总计" |
|||
:visible.sync="totalVisible" |
|||
width="60%"> |
|||
<template> |
|||
<el-table |
|||
:data="tableData" |
|||
style="width: 100%"> |
|||
<el-table-column width="160" fixed prop="agencyName" label="组织结构" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="80" prop="neighbourhoodsCount" label="小区数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="80" prop="houseCount" label="房屋数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="120" prop="houseSelfCount" label="自住房屋总数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="houseLeaseCount" label="出租房屋数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="houseIdleCount" label="闲置房屋数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="userCount" label="居民总数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="userResiCount" label="常住人口数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="userFloatCount" label="流动人口数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="houseIncr" label="新增房屋数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="userIncr" label="新增人口数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="houseModify" label="修改房屋数" header-align="center" align="center"></el-table-column> |
|||
<el-table-column width="100" prop="userModify" label="修改人口数" header-align="center" align="center"></el-table-column> |
|||
</el-table> |
|||
</template> |
|||
</el-dialog> |
|||
</div> |
|||
</el-card> |
|||
</template> |
|||
|
|||
<script> |
|||
import mixinViewModule from '@/mixins/view-module' |
|||
import AddOrUpdate from './factagencyuserhousedaily-add-or-update' |
|||
export default { |
|||
mixins: [mixinViewModule], |
|||
data () { |
|||
return { |
|||
mixinViewModuleOptions: { |
|||
getDataListURL: '/data/stats/factAgencyUserHouseDaily/page', |
|||
getDataListIsPage: true, |
|||
deleteURL: '/data/stats/factAgencyUserHouseDaily', |
|||
deleteIsBatch: true, |
|||
exportURL: '/data/stats/factAgencyUserHouseDaily/export' |
|||
}, |
|||
optionsA: [], |
|||
totalVisible: false, |
|||
timeRange: '', |
|||
dataForm: { |
|||
id: '' |
|||
}, |
|||
tableData: [] |
|||
} |
|||
}, |
|||
components: { |
|||
AddOrUpdate |
|||
}, |
|||
created () { |
|||
this.getGridList() |
|||
// this.getValiheList() |
|||
}, |
|||
watch: { |
|||
timeRange (val) { |
|||
if (Array.isArray(val) && val.length == 2) { |
|||
this.dataForm.startTime = val[0]; |
|||
this.dataForm.endTime = val[1]; |
|||
} else { |
|||
this.dataForm.startTime = ""; |
|||
this.dataForm.endTime = ""; |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
totalHandle () { |
|||
this.tableData = [] |
|||
this.$http |
|||
.get('/data/stats/factAgencyUserHouseDaily/total',{params: this.dataForm}) |
|||
.then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} else { |
|||
console.log('获取查询详情成功', res.data) |
|||
this.tableData.push(res.data) |
|||
} |
|||
}) |
|||
.catch(() => { |
|||
return this.$message.error('网络错误') |
|||
}) |
|||
this.totalVisible = true |
|||
}, |
|||
exportHandle () { |
|||
const url = this.mixinViewModuleOptions.exportURL |
|||
this.$http({ |
|||
method: 'GET', |
|||
url, |
|||
responseType: 'blob', |
|||
params: this.dataForm |
|||
}).then(res => { |
|||
// this.download(res.data, title + '.xls') |
|||
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对象 |
|||
} else this.$message.error('下载失败') |
|||
}).catch(err => { |
|||
console.log('err', err) |
|||
return this.$message.error('网络错误') |
|||
}) |
|||
}, |
|||
cascaderClick (nodeData) { |
|||
this.dataForm.agencyId = nodeData.agencyId; |
|||
this.dataForm.level = nodeData.level |
|||
this.$refs.cascaderUnit.checkedValue = nodeData.agencyId; |
|||
this.$refs.cascaderUnit.computePresentText(); |
|||
this.$refs.cascaderUnit.toggleDropDownVisible(false); |
|||
|
|||
}, |
|||
getGridList() { |
|||
const { user } = this.$store.state |
|||
this.$http |
|||
.post('/gov/org/customeragency/agencygridtree') |
|||
.then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} else { |
|||
console.log('获取查询详情成功', res.data) |
|||
// this.optionsA = res.data |
|||
this.optionsA.push(res.data) |
|||
this.dataForm.agencyId = res.data.agencyId |
|||
this.dataForm.level = res.data.level |
|||
} |
|||
}) |
|||
.catch(() => { |
|||
return this.$message.error('网络错误') |
|||
}) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.block{ |
|||
position: absolute; |
|||
left: 0px; |
|||
display: inline-block; |
|||
width: 35px; |
|||
height: 50px; |
|||
background: #fff; |
|||
} |
|||
.cascader-block .el-cascader-node>.el-radio{ |
|||
display: none; |
|||
} |
|||
</style> |
|||
<style lang="scss" scoped> |
|||
.blacklist-reason { |
|||
width: 100%; |
|||
height: 80px; |
|||
border: 1px solid #e4e4e4; |
|||
border-radius: 4px; |
|||
resize: none; |
|||
padding: 8px; |
|||
box-sizing: border-box; |
|||
} |
|||
</style> |
|||
<style lang="scss" scoped> |
|||
@import "@/assets/scss/buttonstyle.scss"; |
|||
|
|||
.resi-container .resi-card-table { |
|||
::v-deep .el-table th { |
|||
color: #fff; |
|||
background-color: rgba(33, 149, 254, 1); |
|||
// border-right: 1px solid rgba(33, 149, 254, 1); |
|||
} |
|||
} |
|||
.resi-table { |
|||
::v-deep .el-button--text { |
|||
text-decoration: underline; |
|||
} |
|||
::v-deep .btn-color-del { |
|||
margin-left: 10px; |
|||
color: rgba(213, 16, 16, 1); |
|||
} |
|||
::v-deep .btn-color-edit { |
|||
color: rgba(0, 167, 169, 1); |
|||
} |
|||
} |
|||
.form-wr { |
|||
.input-width { |
|||
width: 260px; |
|||
|
|||
} |
|||
.input-width-textarea { |
|||
width: 500px; |
|||
} |
|||
.imsg-list { |
|||
display: flex; |
|||
align-items: center; |
|||
.imgs-item { |
|||
position: relative; |
|||
margin-right: 10px; |
|||
.el-icon-delete { |
|||
position: absolute; |
|||
top: 0; |
|||
right: 0; |
|||
font-size: 18px; |
|||
color: red; |
|||
z-index: 3; |
|||
cursor: pointer; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
.div-content { |
|||
width: 100%; |
|||
overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
white-space: nowrap; |
|||
} |
|||
.resi-row-btn { |
|||
margin-bottom: 13px; |
|||
.upload-btn { |
|||
display: inline-block; |
|||
margin: 0 10px; |
|||
} |
|||
} |
|||
</style> |
Loading…
Reference in new issue