24 changed files with 2832 additions and 327 deletions
@ -0,0 +1,251 @@ |
|||||
|
<template> |
||||
|
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('查看')" :close-on-click-modal="false" :close-on-press-escape="false"> |
||||
|
<el-form :disabled="true" :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '80px'"> |
||||
|
<el-form-item label="楼宇类型" prop="buildingType"> |
||||
|
<el-input v-model="dataForm.buildingType" placeholder="楼宇类型"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="楼宇名称" prop="buildingName"> |
||||
|
<el-input v-model="dataForm.buildingName" placeholder="楼宇名称"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="用途分类" prop="buildingUse"> |
||||
|
<el-input v-model="dataForm.buildingUse" placeholder="用途分类"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="楼宇状态" prop="buildingStatus"> |
||||
|
<el-input v-model="dataForm.buildingStatus" placeholder="楼宇状态"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="楼宇结构" prop="buildingStructure"> |
||||
|
<el-input v-model="dataForm.buildingStructure" placeholder="楼宇结构"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="使用现状" prop="buildingUseage"> |
||||
|
<el-input v-model="dataForm.buildingUseage" placeholder="使用现状"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="建筑时间" prop="constructionTime"> |
||||
|
<el-input v-model="dataForm.constructionTime" placeholder="建筑时间"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="所处位置" prop="buildingAddr"> |
||||
|
<el-input v-model="dataForm.buildingAddr" placeholder="所处位置"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="小区(单位)名称" prop="communityName"> |
||||
|
<el-input v-model="dataForm.communityName" placeholder="小区(单位)名称"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="楼栋长" prop="buildingLeader"> |
||||
|
<el-input v-model="dataForm.buildingLeader" placeholder="楼栋长"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="楼层数" prop="layerCount"> |
||||
|
<el-input v-model="dataForm.layerCount" placeholder="楼层数"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="地下楼层数" prop="basementLayerCount"> |
||||
|
<el-input v-model="dataForm.basementLayerCount" placeholder="地下楼层数"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="住宅开始层数" prop="houseBeginLayer"> |
||||
|
<el-input v-model="dataForm.houseBeginLayer" placeholder="住宅开始层数"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="单元数" prop="unitCount"> |
||||
|
<el-input v-model="dataForm.unitCount" placeholder="单元数"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="每层每单元户数" prop="layerRoomCount"> |
||||
|
<el-input v-model="dataForm.layerRoomCount" placeholder="每层每单元户数"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="总房屋数" prop="roomCount"> |
||||
|
<el-input v-model="dataForm.roomCount" placeholder="总房屋数"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="电梯数量" prop="elevatorCount"> |
||||
|
<el-input v-model="dataForm.elevatorCount" placeholder="电梯数量"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="建筑面积" prop="buildingArea"> |
||||
|
<el-input v-model="dataForm.buildingArea" placeholder="建筑面积"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="物业公司" prop="buildingPmc"> |
||||
|
<el-input v-model="dataForm.buildingPmc" placeholder="物业公司"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="介绍" prop="buildingDesc"> |
||||
|
<el-input v-model="dataForm.buildingDesc" placeholder="介绍"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="标绘状态" prop="pointStatus"> |
||||
|
<el-input v-model="dataForm.pointStatus" placeholder="标绘状态"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="经度" prop="longitude"> |
||||
|
<el-input v-model="dataForm.longitude" placeholder="经度"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="纬度" prop="latitude"> |
||||
|
<el-input v-model="dataForm.latitude" placeholder="纬度"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="数据来源" prop="platCode"> |
||||
|
<el-input v-model="dataForm.platCode" 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: { |
||||
|
buildingId: '', |
||||
|
buildingType: '', |
||||
|
gridId: '', |
||||
|
buildingName: '', |
||||
|
buildingUse: '', |
||||
|
buildingStatus: '', |
||||
|
buildingStructure: '', |
||||
|
buildingUseage: '', |
||||
|
constructionTime: '', |
||||
|
buildingAddr: '', |
||||
|
communityName: '', |
||||
|
buildingLeader: '', |
||||
|
layerCount: '', |
||||
|
basementLayerCount: '', |
||||
|
houseBeginLayer: '', |
||||
|
unitCount: '', |
||||
|
layerRoomCount: '', |
||||
|
roomCount: '', |
||||
|
elevatorCount: '', |
||||
|
buildingArea: '', |
||||
|
buildingPmc: '', |
||||
|
buildingDesc: '', |
||||
|
pointStatus: '', |
||||
|
longitude: '', |
||||
|
latitude: '', |
||||
|
platCode: '', |
||||
|
createBy: '', |
||||
|
createDate: '', |
||||
|
updateBy: '', |
||||
|
updateDate: '', |
||||
|
deleteFlag: '', |
||||
|
versions: '', |
||||
|
communityId: '' |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
dataRule () { |
||||
|
return { |
||||
|
buildingType: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingName: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingUse: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingStatus: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingStructure: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingUseage: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
constructionTime: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingAddr: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
communityName: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingLeader: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
layerCount: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
basementLayerCount: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
houseBeginLayer: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
unitCount: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
layerRoomCount: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
roomCount: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
elevatorCount: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingArea: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingPmc: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingDesc: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
pointStatus: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
longitude: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
latitude: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
platCode: [ |
||||
|
{ 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.post(`/opendata/caLoudong/getLouDongDetails`, { buildingId: 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.buildingId ? 'post' : 'put']('/axis/caLoudong/', 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,155 @@ |
|||||
|
<template> |
||||
|
<div class="mod-axis__caLoudong}"> |
||||
|
<el-card> |
||||
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item label="楼宇名称" prop="buildingName"> |
||||
|
<el-input |
||||
|
v-model="dataForm.buildingName" |
||||
|
placeholder="楼宇名称" |
||||
|
clearable |
||||
|
></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="小区(单位)名称" prop="communityName"> |
||||
|
<el-input |
||||
|
v-model="dataForm.communityName" |
||||
|
placeholder="小区(单位)名称" |
||||
|
clearable |
||||
|
></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button type="primary" @click="getDataList()">{{ $t("query") }}</el-button> |
||||
|
</el-form-item> |
||||
|
<!-- <el-form-item> |
||||
|
<el-button v-if="$hasPermission('axis:caResident:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button v-if="$hasPermission('axis:caResident:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> |
||||
|
</el-form-item> --> |
||||
|
</el-form> |
||||
|
</el-card> |
||||
|
<el-card shadow="never" class="aui-card--fill"> |
||||
|
<el-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 |
||||
|
prop="buildingName" |
||||
|
label="楼宇名称" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="buildingUse" |
||||
|
label="用途分类" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="buildingAddr" |
||||
|
label="所处位置" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
:show-overflow-tooltip="true" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="communityName" |
||||
|
label="小区(单位)名称" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
:show-overflow-tooltip="true" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="layerCount" |
||||
|
label="楼层数" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="unitCount" |
||||
|
label="单元数" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roomCount" |
||||
|
label="总房屋数" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="elevatorCount" |
||||
|
label="电梯数量" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="buildingPmc" |
||||
|
label="物业公司" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column :label="$t('handle')" fixed="right" align="center" width="100"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button |
||||
|
type="text" |
||||
|
class="div-table-button--detail" |
||||
|
size="small" |
||||
|
@click="addOrUpdateHandle(scope.row.buildingId)" |
||||
|
>查看</el-button |
||||
|
> |
||||
|
</template> |
||||
|
</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> |
||||
|
<!-- 弹窗, 新增 / 修改 --> |
||||
|
<add-or-update |
||||
|
v-if="addOrUpdateVisible" |
||||
|
ref="addOrUpdate" |
||||
|
@refreshDataList="getDataList" |
||||
|
></add-or-update> |
||||
|
</el-card> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import mixinViewModule from "@/mixins/view-post"; |
||||
|
import AddOrUpdate from "./caloudong-add-or-update"; |
||||
|
export default { |
||||
|
mixins: [mixinViewModule], |
||||
|
data() { |
||||
|
return { |
||||
|
mixinViewModuleOptions: { |
||||
|
getDataListURL: "/opendata/caLoudong/getPage", |
||||
|
getDataListIsPage: true, |
||||
|
deleteURL: "", |
||||
|
deleteIsBatch: true, |
||||
|
}, |
||||
|
dataForm: { |
||||
|
buildingName: "", |
||||
|
communityName: "", |
||||
|
}, |
||||
|
}; |
||||
|
}, |
||||
|
components: { |
||||
|
AddOrUpdate, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
@ -0,0 +1,251 @@ |
|||||
|
<template> |
||||
|
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('查看')" :close-on-click-modal="false" :close-on-press-escape="false"> |
||||
|
<el-form :disabled="true" :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '80px'"> |
||||
|
<el-form-item label="楼宇类型" prop="buildingType"> |
||||
|
<el-input v-model="dataForm.buildingType" placeholder="楼宇类型"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="楼宇名称" prop="buildingName"> |
||||
|
<el-input v-model="dataForm.buildingName" placeholder="楼宇名称"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="用途分类" prop="buildingUse"> |
||||
|
<el-input v-model="dataForm.buildingUse" placeholder="用途分类"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="楼宇状态" prop="buildingStatus"> |
||||
|
<el-input v-model="dataForm.buildingStatus" placeholder="楼宇状态"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="楼宇结构" prop="buildingStructure"> |
||||
|
<el-input v-model="dataForm.buildingStructure" placeholder="楼宇结构"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="使用现状" prop="buildingUseage"> |
||||
|
<el-input v-model="dataForm.buildingUseage" placeholder="使用现状"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="建筑时间" prop="constructionTime"> |
||||
|
<el-input v-model="dataForm.constructionTime" placeholder="建筑时间"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="所处位置" prop="buildingAddr"> |
||||
|
<el-input v-model="dataForm.buildingAddr" placeholder="所处位置"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="小区(单位)名称" prop="communityName"> |
||||
|
<el-input v-model="dataForm.communityName" placeholder="小区(单位)名称"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="楼栋长" prop="buildingLeader"> |
||||
|
<el-input v-model="dataForm.buildingLeader" placeholder="楼栋长"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="楼层数" prop="layerCount"> |
||||
|
<el-input v-model="dataForm.layerCount" placeholder="楼层数"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="地下楼层数" prop="basementLayerCount"> |
||||
|
<el-input v-model="dataForm.basementLayerCount" placeholder="地下楼层数"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="住宅开始层数" prop="houseBeginLayer"> |
||||
|
<el-input v-model="dataForm.houseBeginLayer" placeholder="住宅开始层数"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="单元数" prop="unitCount"> |
||||
|
<el-input v-model="dataForm.unitCount" placeholder="单元数"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="每层每单元户数" prop="layerRoomCount"> |
||||
|
<el-input v-model="dataForm.layerRoomCount" placeholder="每层每单元户数"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="总房屋数" prop="roomCount"> |
||||
|
<el-input v-model="dataForm.roomCount" placeholder="总房屋数"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="电梯数量" prop="elevatorCount"> |
||||
|
<el-input v-model="dataForm.elevatorCount" placeholder="电梯数量"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="建筑面积" prop="buildingArea"> |
||||
|
<el-input v-model="dataForm.buildingArea" placeholder="建筑面积"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="物业公司" prop="buildingPmc"> |
||||
|
<el-input v-model="dataForm.buildingPmc" placeholder="物业公司"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="介绍" prop="buildingDesc"> |
||||
|
<el-input v-model="dataForm.buildingDesc" placeholder="介绍"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="标绘状态" prop="pointStatus"> |
||||
|
<el-input v-model="dataForm.pointStatus" placeholder="标绘状态"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="经度" prop="longitude"> |
||||
|
<el-input v-model="dataForm.longitude" placeholder="经度"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="纬度" prop="latitude"> |
||||
|
<el-input v-model="dataForm.latitude" placeholder="纬度"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="数据来源" prop="platCode"> |
||||
|
<el-input v-model="dataForm.platCode" 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: { |
||||
|
buildingId: '', |
||||
|
buildingType: '', |
||||
|
gridId: '', |
||||
|
buildingName: '', |
||||
|
buildingUse: '', |
||||
|
buildingStatus: '', |
||||
|
buildingStructure: '', |
||||
|
buildingUseage: '', |
||||
|
constructionTime: '', |
||||
|
buildingAddr: '', |
||||
|
communityName: '', |
||||
|
buildingLeader: '', |
||||
|
layerCount: '', |
||||
|
basementLayerCount: '', |
||||
|
houseBeginLayer: '', |
||||
|
unitCount: '', |
||||
|
layerRoomCount: '', |
||||
|
roomCount: '', |
||||
|
elevatorCount: '', |
||||
|
buildingArea: '', |
||||
|
buildingPmc: '', |
||||
|
buildingDesc: '', |
||||
|
pointStatus: '', |
||||
|
longitude: '', |
||||
|
latitude: '', |
||||
|
platCode: '', |
||||
|
createBy: '', |
||||
|
createDate: '', |
||||
|
updateBy: '', |
||||
|
updateDate: '', |
||||
|
deleteFlag: '', |
||||
|
versions: '', |
||||
|
communityId: '' |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
dataRule () { |
||||
|
return { |
||||
|
buildingType: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingName: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingUse: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingStatus: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingStructure: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingUseage: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
constructionTime: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingAddr: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
communityName: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingLeader: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
layerCount: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
basementLayerCount: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
houseBeginLayer: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
unitCount: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
layerRoomCount: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
roomCount: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
elevatorCount: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingArea: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingPmc: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
buildingDesc: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
pointStatus: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
longitude: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
latitude: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
platCode: [ |
||||
|
{ 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.post(`/opendata/caPingfang/getPingFangDetails`, { buildingId: 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.buildingId ? 'post' : 'put']('/axis/caLoudong/', 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,155 @@ |
|||||
|
<template> |
||||
|
<div class="mod-axis__caPingfang}"> |
||||
|
<el-card> |
||||
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item label="楼宇名称" prop="buildingName"> |
||||
|
<el-input |
||||
|
v-model="dataForm.buildingName" |
||||
|
placeholder="楼宇名称" |
||||
|
clearable |
||||
|
></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="小区(单位)名称" prop="communityName"> |
||||
|
<el-input |
||||
|
v-model="dataForm.communityName" |
||||
|
placeholder="小区(单位)名称" |
||||
|
clearable |
||||
|
></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button type="primary" @click="getDataList()">{{ $t("query") }}</el-button> |
||||
|
</el-form-item> |
||||
|
<!-- <el-form-item> |
||||
|
<el-button v-if="$hasPermission('axis:caResident:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button v-if="$hasPermission('axis:caResident:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> |
||||
|
</el-form-item> --> |
||||
|
</el-form> |
||||
|
</el-card> |
||||
|
<el-card shadow="never" class="aui-card--fill"> |
||||
|
<el-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 |
||||
|
prop="buildingName" |
||||
|
label="楼宇名称" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="buildingUse" |
||||
|
label="用途分类" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="buildingAddr" |
||||
|
label="所处位置" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
:show-overflow-tooltip="true" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="communityName" |
||||
|
label="小区(单位)名称" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
:show-overflow-tooltip="true" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="layerCount" |
||||
|
label="楼层数" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="unitCount" |
||||
|
label="单元数" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="roomCount" |
||||
|
label="总房屋数" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="elevatorCount" |
||||
|
label="电梯数量" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="buildingPmc" |
||||
|
label="物业公司" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column :label="$t('handle')" fixed="right" align="center" width="100"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button |
||||
|
type="text" |
||||
|
class="div-table-button--detail" |
||||
|
size="small" |
||||
|
@click="addOrUpdateHandle(scope.row.buildingId)" |
||||
|
>查看</el-button |
||||
|
> |
||||
|
</template> |
||||
|
</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> |
||||
|
<!-- 弹窗, 新增 / 修改 --> |
||||
|
<add-or-update |
||||
|
v-if="addOrUpdateVisible" |
||||
|
ref="addOrUpdate" |
||||
|
@refreshDataList="getDataList" |
||||
|
></add-or-update> |
||||
|
</el-card> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import mixinViewModule from "@/mixins/view-post"; |
||||
|
import AddOrUpdate from "./capingfang-add-or-update"; |
||||
|
export default { |
||||
|
mixins: [mixinViewModule], |
||||
|
data() { |
||||
|
return { |
||||
|
mixinViewModuleOptions: { |
||||
|
getDataListURL: "/opendata/caPingfang/getPage", |
||||
|
getDataListIsPage: true, |
||||
|
deleteURL: "", |
||||
|
deleteIsBatch: true, |
||||
|
}, |
||||
|
dataForm: { |
||||
|
buildingName: "", |
||||
|
communityName: "", |
||||
|
}, |
||||
|
}; |
||||
|
}, |
||||
|
components: { |
||||
|
AddOrUpdate, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
@ -0,0 +1,204 @@ |
|||||
|
<template> |
||||
|
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('查看')" :close-on-click-modal="false" :close-on-press-escape="false"> |
||||
|
<el-form :disabled="true" :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '80px'"> |
||||
|
<el-form-item label="房屋编号" prop="houseName"> |
||||
|
<el-input v-model="dataForm.houseName" placeholder="房屋编号"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="房屋地址" prop="houseAddress"> |
||||
|
<el-input v-model="dataForm.houseAddress" placeholder="房屋地址"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="建筑用途" prop="houseUse"> |
||||
|
<el-input v-model="dataForm.houseUse" placeholder="建筑用途"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="建筑面积(平方米)" prop="houseArea"> |
||||
|
<el-input v-model="dataForm.houseArea" placeholder="建筑面积(平方米)"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="证件代码" prop="idType"> |
||||
|
<el-input v-model="dataForm.idType" placeholder="证件代码"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="证件号码" prop="idCard"> |
||||
|
<el-input v-model="dataForm.idCard" placeholder="证件号码"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="房主姓名" prop="residentName"> |
||||
|
<el-input v-model="dataForm.residentName" placeholder="房主姓名"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="房主联系方式" prop="telephone"> |
||||
|
<el-input v-model="dataForm.telephone" placeholder="房主联系方式"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="房主现居详址" prop="curliveAddress"> |
||||
|
<el-input v-model="dataForm.curliveAddress" placeholder="房主现居详址"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="出租用途" prop="rentUse"> |
||||
|
<el-input v-model="dataForm.rentUse" placeholder="出租用途"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="隐患类型" prop="troubleType"> |
||||
|
<el-input v-model="dataForm.troubleType" placeholder="隐患类型"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="承租人公民身份证号码" prop="renterCardNumber"> |
||||
|
<el-input v-model="dataForm.renterCardNumber" placeholder="承租人公民身份证号码"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="承租人证件类型" prop="renterCardType"> |
||||
|
<el-input v-model="dataForm.renterCardType" placeholder="承租人证件类型"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="承租人姓名" prop="renterName"> |
||||
|
<el-input v-model="dataForm.renterName" placeholder="承租人姓名"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="承租人联系方式" prop="renterPhone"> |
||||
|
<el-input v-model="dataForm.renterPhone" placeholder="承租人联系方式"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="经度" prop="longitude"> |
||||
|
<el-input v-model="dataForm.longitude" placeholder="经度"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="纬度" prop="latitude"> |
||||
|
<el-input v-model="dataForm.latitude" placeholder="纬度"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="标绘状态" prop="pointStatus"> |
||||
|
<el-input v-model="dataForm.pointStatus" 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: { |
||||
|
rentalId: '', |
||||
|
gridId: '', |
||||
|
houseId: '', |
||||
|
houseName: '', |
||||
|
houseAddress: '', |
||||
|
houseUse: '', |
||||
|
houseArea: '', |
||||
|
idType: '', |
||||
|
idCard: '', |
||||
|
residentName: '', |
||||
|
telephone: '', |
||||
|
curliveAddress: '', |
||||
|
rentUse: '', |
||||
|
troubleType: '', |
||||
|
renterId: '', |
||||
|
renterCardNumber: '', |
||||
|
renterCardType: '', |
||||
|
renterName: '', |
||||
|
renterPhone: '', |
||||
|
longitude: '', |
||||
|
latitude: '', |
||||
|
pointStatus: '' |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
dataRule () { |
||||
|
return { |
||||
|
houseName: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
houseAddress: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
houseUse: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
houseArea: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
idType: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
idCard: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
residentName: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
telephone: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
curliveAddress: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
rentUse: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
troubleType: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
renterCardNumber: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
renterCardType: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
renterName: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
renterPhone: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
longitude: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
latitude: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
pointStatus: [ |
||||
|
{ 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.post(`/opendata/caRental/getRentalDetails`, { rentalId: 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.rentalId ? 'post' : 'put']('/axis/caRental/', 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,156 @@ |
|||||
|
<template> |
||||
|
<div class="mod-axis__caRental}"> |
||||
|
<el-card> |
||||
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item label="房屋编号" prop="houseName"> |
||||
|
<el-input |
||||
|
v-model="dataForm.houseName" |
||||
|
placeholder="房屋编号" |
||||
|
clearable |
||||
|
></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="房主姓名" prop="residentName"> |
||||
|
<el-input |
||||
|
v-model="dataForm.residentName" |
||||
|
placeholder="房主姓名" |
||||
|
clearable |
||||
|
></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="承租人姓名" prop="renterName"> |
||||
|
<el-input |
||||
|
v-model="dataForm.renterName" |
||||
|
placeholder="承租人姓名" |
||||
|
clearable |
||||
|
></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button type="primary" @click="getDataList()">{{ $t("query") }}</el-button> |
||||
|
</el-form-item> |
||||
|
<!-- <el-form-item> |
||||
|
<el-button v-if="$hasPermission('axis:caResident:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button v-if="$hasPermission('axis:caResident:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> |
||||
|
</el-form-item> --> |
||||
|
</el-form> |
||||
|
</el-card> |
||||
|
<el-card shadow="never" class="aui-card--fill"> |
||||
|
<el-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 |
||||
|
prop="houseName" |
||||
|
label="房屋编号" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="houseAddress" |
||||
|
label="房屋地址" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
:show-overflow-tooltip="true" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="houseArea" |
||||
|
label="建筑面积(平方米)" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="residentName" |
||||
|
label="房主姓名" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="telephone" |
||||
|
label="房主联系方式" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="rentUse" |
||||
|
label="出租用途" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="renterName" |
||||
|
label="承租人姓名" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="renterPhone" |
||||
|
label="承租人联系方式" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column :label="$t('handle')" fixed="right" align="center" width="100"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button |
||||
|
type="text" |
||||
|
class="div-table-button--detail" |
||||
|
size="small" |
||||
|
@click="addOrUpdateHandle(scope.row.rentalId)" |
||||
|
>查看</el-button |
||||
|
> |
||||
|
</template> |
||||
|
</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> |
||||
|
<!-- 弹窗, 新增 / 修改 --> |
||||
|
<add-or-update |
||||
|
v-if="addOrUpdateVisible" |
||||
|
ref="addOrUpdate" |
||||
|
@refreshDataList="getDataList" |
||||
|
></add-or-update> |
||||
|
</el-card> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import mixinViewModule from "@/mixins/view-post"; |
||||
|
import AddOrUpdate from "./carental-add-or-update"; |
||||
|
export default { |
||||
|
mixins: [mixinViewModule], |
||||
|
data() { |
||||
|
return { |
||||
|
mixinViewModuleOptions: { |
||||
|
getDataListURL: "/opendata/caRental/getPage", |
||||
|
getDataListIsPage: true, |
||||
|
deleteURL: "", |
||||
|
deleteIsBatch: true, |
||||
|
}, |
||||
|
dataForm: { |
||||
|
houseName: "", |
||||
|
residentName: "", |
||||
|
renterName: "", |
||||
|
}, |
||||
|
}; |
||||
|
}, |
||||
|
components: { |
||||
|
AddOrUpdate, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
@ -0,0 +1,216 @@ |
|||||
|
<template> |
||||
|
<el-dialog :visible.sync="visible" :title="!dataForm.residentId ? $t('add') : $t('查看')" :close-on-click-modal="false" :close-on-press-escape="false"> |
||||
|
<el-form disabled :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '80px'"> |
||||
|
<el-form-item label="人口性质" prop="residentProperty"> |
||||
|
<el-input v-model="dataForm.residentProperty" placeholder="人口性质"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="居民分类" prop="residentType"> |
||||
|
<el-input v-model="dataForm.residentType" placeholder="居民分类"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="证件类型" prop="idType"> |
||||
|
<el-input v-model="dataForm.idType" placeholder="证件类型"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="证件号码(公民身份证号)" prop="idCard"> |
||||
|
<el-input v-model="dataForm.idCard" placeholder="证件号码(公民身份证号)"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="姓名" prop="residentName"> |
||||
|
<el-input v-model="dataForm.residentName" placeholder="姓名"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="性别" prop="sex"> |
||||
|
<el-input v-model="dataForm.sex" placeholder="性别"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="出生日期" prop="birthday"> |
||||
|
<el-input v-model="dataForm.birthday" placeholder="出生日期"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="民族" prop="nation"> |
||||
|
<el-input v-model="dataForm.nation" placeholder="民族"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="联系方式" prop="telephone"> |
||||
|
<el-input v-model="dataForm.telephone" placeholder="联系方式"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="户籍详址" prop="householdAddressDetail"> |
||||
|
<el-input v-model="dataForm.householdAddressDetail" placeholder="户籍详址"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="现住详址" prop="curliveAddressDetail"> |
||||
|
<el-input v-model="dataForm.curliveAddressDetail" placeholder="现住详址"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="学历" prop="education"> |
||||
|
<el-input v-model="dataForm.education" placeholder="学历"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="职业" prop="occupation"> |
||||
|
<el-input v-model="dataForm.occupation" placeholder="职业"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="婚姻状况" prop="marriageStatus"> |
||||
|
<el-input v-model="dataForm.marriageStatus" placeholder="婚姻状况"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="政治面貌" prop="party"> |
||||
|
<el-input v-model="dataForm.party" placeholder="政治面貌"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="宗教信仰" prop="religious"> |
||||
|
<el-input v-model="dataForm.religious" placeholder="宗教信仰"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="有无皈依(已受洗)" prop="conversionState"> |
||||
|
<el-input v-model="dataForm.conversionState" 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: { |
||||
|
residentId: '', |
||||
|
gridId: '', |
||||
|
residentProperty: '', |
||||
|
residentType: '', |
||||
|
idType: '', |
||||
|
idCard: '', |
||||
|
residentName: '', |
||||
|
sex: '', |
||||
|
birthday: '', |
||||
|
nation: '', |
||||
|
telephone: '', |
||||
|
householdProv: '', |
||||
|
householdCity: '', |
||||
|
householdCounty: '', |
||||
|
householdTown: '', |
||||
|
householdVillage: '', |
||||
|
householdAddressDetail: '', |
||||
|
curliveProv: '', |
||||
|
curliveCity: '', |
||||
|
curliveCounty: '', |
||||
|
curliveTown: '', |
||||
|
curliveVillage: '', |
||||
|
curliveAddressDetail: '', |
||||
|
nativeAddressProv: '', |
||||
|
nativeAddressCity: '', |
||||
|
nativeAddressCounty: '', |
||||
|
formerName: '', |
||||
|
education: '', |
||||
|
occupation: '', |
||||
|
occupationType: '', |
||||
|
serviceAddress: '', |
||||
|
marriageStatus: '', |
||||
|
party: '', |
||||
|
religious: '', |
||||
|
conversionState: '', |
||||
|
nationality: '', |
||||
|
platCode: '', |
||||
|
createBy: '', |
||||
|
createDate: '', |
||||
|
updateBy: '', |
||||
|
updateDate: '', |
||||
|
deleteFlag: '', |
||||
|
versions: '' |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
dataRule () { |
||||
|
return { |
||||
|
residentProperty: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
residentType: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
idType: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
idCard: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
residentName: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
sex: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
birthday: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
nation: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
telephone: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
householdAddressDetail: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
curliveAddressDetail: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
education: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
occupation: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
party: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
religious: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
conversionState: [ |
||||
|
{ 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.post(`/opendata/caResident/getResidentDetails`, { idCard: 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.residentId ? 'post' : 'put']('/axis/caResident/', 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,147 @@ |
|||||
|
<template> |
||||
|
<div class="mod-axis__caResident}"> |
||||
|
<el-card> |
||||
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item label="身份证号" prop="idCard"> |
||||
|
<el-input v-model="dataForm.idCard" placeholder="身份证号" clearable></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="姓名" prop="residentName"> |
||||
|
<el-input |
||||
|
v-model="dataForm.residentName" |
||||
|
placeholder="姓名" |
||||
|
clearable |
||||
|
></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="联系方式" prop="telephone"> |
||||
|
<el-input |
||||
|
v-model="dataForm.telephone" |
||||
|
placeholder="联系方式" |
||||
|
clearable |
||||
|
></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button type="primary" @click="getDataList()">{{ $t("query") }}</el-button> |
||||
|
</el-form-item> |
||||
|
<!-- <el-form-item> |
||||
|
<el-button v-if="$hasPermission('axis:caResident:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button v-if="$hasPermission('axis:caResident:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> |
||||
|
</el-form-item> --> |
||||
|
</el-form> |
||||
|
</el-card> |
||||
|
<el-card shadow="never" class="aui-card--fill"> |
||||
|
<el-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 |
||||
|
prop="idCard" |
||||
|
label="证件号码(公民身份证号)" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="residentName" |
||||
|
label="姓名" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="sex" |
||||
|
label="性别" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="birthday" |
||||
|
label="出生日期" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="telephone" |
||||
|
label="联系方式" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="householdAddressDetail" |
||||
|
label="户籍详址" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
:show-overflow-tooltip="true" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="curliveAddressDetail" |
||||
|
label="现住详址" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
:show-overflow-tooltip="true" |
||||
|
></el-table-column> |
||||
|
<el-table-column :label="$t('handle')" fixed="right" align="center" width="100"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button |
||||
|
type="text" |
||||
|
class="div-table-button--detail" |
||||
|
size="small" |
||||
|
@click="addOrUpdateHandle(scope.row.idCard)" |
||||
|
>查看</el-button |
||||
|
> |
||||
|
</template> |
||||
|
</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> |
||||
|
<!-- 弹窗, 新增 / 修改 --> |
||||
|
<add-or-update |
||||
|
v-if="addOrUpdateVisible" |
||||
|
ref="addOrUpdate" |
||||
|
@refreshDataList="getDataList" |
||||
|
></add-or-update> |
||||
|
</el-card> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import mixinViewModule from "@/mixins/view-post"; |
||||
|
import AddOrUpdate from "./caresident-add-or-update"; |
||||
|
export default { |
||||
|
mixins: [mixinViewModule], |
||||
|
data() { |
||||
|
return { |
||||
|
mixinViewModuleOptions: { |
||||
|
getDataListURL: "/opendata/caResident/getPage", |
||||
|
getDataListIsPage: true, |
||||
|
deleteURL: "", |
||||
|
deleteIsBatch: true, |
||||
|
}, |
||||
|
dataForm: { |
||||
|
idCard: "", |
||||
|
residentName: "", |
||||
|
telephone: "", |
||||
|
}, |
||||
|
}; |
||||
|
}, |
||||
|
components: { |
||||
|
AddOrUpdate, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
@ -0,0 +1,309 @@ |
|||||
|
<template> |
||||
|
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('查看')" :close-on-click-modal="false" :close-on-press-escape="false"> |
||||
|
<el-form :disabled="true" :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '80px'"> |
||||
|
<el-form-item label="公民身份证号" prop="idCard"> |
||||
|
<el-input v-model="dataForm.idCard" placeholder="公民身份证号"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="证件类型" prop="idType"> |
||||
|
<el-input v-model="dataForm.idType" placeholder="证件类型"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="姓名" prop="rotatorsName"> |
||||
|
<el-input v-model="dataForm.rotatorsName" placeholder="姓名"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="曾用名" prop="formerName"> |
||||
|
<el-input v-model="dataForm.formerName" placeholder="曾用名"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="性别" prop="sex"> |
||||
|
<el-input v-model="dataForm.sex" placeholder="性别"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="出生日期" prop="birthday"> |
||||
|
<el-input v-model="dataForm.birthday" placeholder="出生日期"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="民族" prop="nation"> |
||||
|
<el-input v-model="dataForm.nation" placeholder="民族"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="婚姻状况" prop="marriageStatus"> |
||||
|
<el-input v-model="dataForm.marriageStatus" placeholder="婚姻状况"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="政治面貌" prop="party"> |
||||
|
<el-input v-model="dataForm.party" placeholder="政治面貌"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="学历" prop="education"> |
||||
|
<el-input v-model="dataForm.education" placeholder="学历"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="宗教信仰" prop="religious"> |
||||
|
<el-input v-model="dataForm.religious" placeholder="宗教信仰"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="职业类别" prop="occupationType"> |
||||
|
<el-input v-model="dataForm.occupationType" placeholder="职业类别"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="职业" prop="occupation"> |
||||
|
<el-input v-model="dataForm.occupation" placeholder="职业"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="联系方式" prop="telephone"> |
||||
|
<el-input v-model="dataForm.telephone" placeholder="联系方式"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="户籍门(楼)详址" prop="householdAddressDetail"> |
||||
|
<el-input v-model="dataForm.householdAddressDetail" placeholder="户籍门(楼)详址"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="现住地社区/村" prop="curliveAddressVillage"> |
||||
|
<el-input v-model="dataForm.curliveAddressVillage" placeholder="现住地社区/村"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="现住门(楼)详址" prop="curliveAddressDetail"> |
||||
|
<el-input v-model="dataForm.curliveAddressDetail" placeholder="现住门(楼)详址"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="是否重点关注人员" prop="isFocusPerson"> |
||||
|
<el-input v-model="dataForm.isFocusPerson" 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: { |
||||
|
rotatorsId: '', |
||||
|
idCard: '', |
||||
|
idType: '', |
||||
|
rotatorsName: '', |
||||
|
formerName: '', |
||||
|
sex: '', |
||||
|
birthday: '', |
||||
|
nation: '', |
||||
|
nativeAddressProv: '', |
||||
|
nativeAddressCity: '', |
||||
|
nativeAddressCountry: '', |
||||
|
marriageStatus: '', |
||||
|
party: '', |
||||
|
education: '', |
||||
|
religious: '', |
||||
|
occupationType: '', |
||||
|
occupation: '', |
||||
|
serviceAddress: '', |
||||
|
telephone: '', |
||||
|
householdAddressProv: '', |
||||
|
householdAddressCity: '', |
||||
|
householdAddressCountry: '', |
||||
|
householdAddressTown: '', |
||||
|
householdAddressVillage: '', |
||||
|
householdAddressDetail: '', |
||||
|
curliveAddressProv: '', |
||||
|
curliveAddressCity: '', |
||||
|
curliveAddressCountry: '', |
||||
|
curliveAddressTown: '', |
||||
|
curliveAddressVillage: '', |
||||
|
curliveAddressDetail: '', |
||||
|
inflowReason: '', |
||||
|
certificateType: '', |
||||
|
certificateNumber: '', |
||||
|
signDate: '', |
||||
|
endDate: '', |
||||
|
residenceType: '', |
||||
|
isFocusPerson: '', |
||||
|
createBy: '', |
||||
|
createDate: '', |
||||
|
updateBy: '', |
||||
|
updateDate: '', |
||||
|
deleteFlag: '', |
||||
|
platcode: '', |
||||
|
gridId: '', |
||||
|
versions: '' |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
dataRule () { |
||||
|
return { |
||||
|
idCard: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
idType: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
rotatorsName: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
formerName: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
sex: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
birthday: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
nation: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
nativeAddressProv: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
nativeAddressCity: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
nativeAddressCountry: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
marriageStatus: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
party: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
education: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
religious: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
occupationType: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
occupation: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
serviceAddress: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
telephone: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
householdAddressProv: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
householdAddressCity: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
householdAddressCountry: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
householdAddressTown: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
householdAddressVillage: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
householdAddressDetail: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
curliveAddressProv: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
curliveAddressCity: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
curliveAddressCountry: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
curliveAddressTown: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
curliveAddressVillage: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
curliveAddressDetail: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
inflowReason: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
certificateType: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
certificateNumber: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
signDate: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
endDate: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
residenceType: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
isFocusPerson: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
createBy: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
createDate: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
updateBy: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
updateDate: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
deleteFlag: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
platcode: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
gridId: [ |
||||
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
||||
|
], |
||||
|
versions: [ |
||||
|
{ 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.post(`/opendata/caRotators/getRotatorsDetails`, { idCard: 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.rotatorsId ? 'post' : 'put']('/axis/caRotators/', 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,141 @@ |
|||||
|
<template> |
||||
|
<div class="mod-axis__caRotators}"> |
||||
|
<el-card> |
||||
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
||||
|
<el-form-item label="身份证号" prop="idCard"> |
||||
|
<el-input v-model="dataForm.idCard" placeholder="身份证号" clearable></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="姓名" prop="residentName"> |
||||
|
<el-input |
||||
|
v-model="dataForm.residentName" |
||||
|
placeholder="姓名" |
||||
|
clearable |
||||
|
></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="联系方式" prop="telephone"> |
||||
|
<el-input |
||||
|
v-model="dataForm.telephone" |
||||
|
placeholder="联系方式" |
||||
|
clearable |
||||
|
></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button type="primary" @click="getDataList()">{{ $t("query") }}</el-button> |
||||
|
</el-form-item> |
||||
|
<!-- <el-form-item> |
||||
|
<el-button v-if="$hasPermission('axis:caResident:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button v-if="$hasPermission('axis:caResident:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> |
||||
|
</el-form-item> --> |
||||
|
</el-form> |
||||
|
</el-card> |
||||
|
<el-card shadow="never" class="aui-card--fill"> |
||||
|
<el-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 |
||||
|
prop="idCard" |
||||
|
label="公民身份证号" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="rotatorsName" |
||||
|
label="姓名" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="sex" |
||||
|
label="性别" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="birthday" |
||||
|
label="出生日期" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="householdAddressDetail" |
||||
|
label="户籍门(楼)详址" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
:show-overflow-tooltip="true" |
||||
|
></el-table-column> |
||||
|
<el-table-column |
||||
|
prop="curliveAddressDetail" |
||||
|
label="现住门(楼)详址" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
:show-overflow-tooltip="true" |
||||
|
></el-table-column> |
||||
|
<el-table-column :label="$t('handle')" fixed="right" align="center" width="100"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button |
||||
|
type="text" |
||||
|
class="div-table-button--detail" |
||||
|
size="small" |
||||
|
@click="addOrUpdateHandle(scope.row.idCard)" |
||||
|
>查看</el-button |
||||
|
> |
||||
|
</template> |
||||
|
</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> |
||||
|
<!-- 弹窗, 新增 / 修改 --> |
||||
|
<add-or-update |
||||
|
v-if="addOrUpdateVisible" |
||||
|
ref="addOrUpdate" |
||||
|
@refreshDataList="getDataList" |
||||
|
></add-or-update> |
||||
|
</el-card> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import mixinViewModule from "@/mixins/view-post"; |
||||
|
import AddOrUpdate from "./carotators-add-or-update"; |
||||
|
export default { |
||||
|
mixins: [mixinViewModule], |
||||
|
data() { |
||||
|
return { |
||||
|
mixinViewModuleOptions: { |
||||
|
getDataListURL: "/opendata/caRotators/getPage", |
||||
|
getDataListIsPage: true, |
||||
|
deleteURL: "", |
||||
|
deleteIsBatch: true, |
||||
|
}, |
||||
|
dataForm: { |
||||
|
idCard: "", |
||||
|
residentName: "", |
||||
|
telephone: "", |
||||
|
}, |
||||
|
}; |
||||
|
}, |
||||
|
components: { |
||||
|
AddOrUpdate, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
@ -0,0 +1,335 @@ |
|||||
|
<template> |
||||
|
<div class="m-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-title">需求内容</div> --> |
||||
|
<div class="list-wr"> |
||||
|
<div class="list left-list" v-infinite-scroll="getServicelist" style="overflow:auto"> |
||||
|
<template v-if="servicelist.length > 0"> |
||||
|
<div class="left-item" :class="activeIndex == index ? 'active-item' : ''" v-for="(item, index) in servicelist" :key="index" @click="toDetail(index)"> |
||||
|
<div class="item-time">{{item.reportTime || '2022-05-18'}}</div> |
||||
|
<div class="item-content">{{item.content || '本周加班本周加班本周加班本周加班本周加班本周加班'}}</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
<screen-nodata class="nodata" v-else></screen-nodata> |
||||
|
</div> |
||||
|
<div class="dashed-line"></div> |
||||
|
<div class="list right-list"> |
||||
|
<template v-if="info.content"> |
||||
|
<!-- <div class="item-title">需求内容</div> --> |
||||
|
<div class="item"> |
||||
|
<span class="item-field">所属网格:</span> |
||||
|
<span>{{ info.gridName }}</span> |
||||
|
</div> |
||||
|
<div class="item"> |
||||
|
<span class="item-field">需求类型:</span> |
||||
|
<span>{{ info.categoryName }}</span> |
||||
|
</div> |
||||
|
<!-- <div class="item"> |
||||
|
<span class="item-field">需求状态:</span> |
||||
|
<span>{{ info.statusName }}</span> |
||||
|
</div> --> |
||||
|
<div class="item"> |
||||
|
<span class="item-field">上报类型:</span> |
||||
|
<span>{{ info.reportTypeName }}</span> |
||||
|
</div> |
||||
|
<div class="item"> |
||||
|
<span class="item-field">上报人:</span> |
||||
|
<span>{{ info.reportUserName }}</span> |
||||
|
</div> |
||||
|
<div class="item"> |
||||
|
<span class="item-field">上报人联系方式 :</span> |
||||
|
<span>{{ info.reportUserMobile }}</span> |
||||
|
</div> |
||||
|
<div class="item"> |
||||
|
<span class="item-field">上报时间 :</span> |
||||
|
<span>{{ info.reportTime }}</span> |
||||
|
</div> |
||||
|
<div class="item"> |
||||
|
<span class="item-field">需求人 :</span> |
||||
|
<span>{{ info.demandUserName }}</span> |
||||
|
</div> |
||||
|
<div class="item"> |
||||
|
<span class="item-field">服务时间 :</span> |
||||
|
<span>{{ info.wantServiceTime }}</span> |
||||
|
</div> |
||||
|
<div class="item"> |
||||
|
<span class="item-field">需求内容:</span> |
||||
|
<div>{{ info.content }}</div> |
||||
|
</div> |
||||
|
<div class="item"> |
||||
|
<span class="item-field">服务方 :</span> |
||||
|
<span>{{ info.serviceShowName }}</span> |
||||
|
</div> |
||||
|
<div class="item"> |
||||
|
<span class="item-field">实际服务时间 :</span> |
||||
|
<span>{{ info.serviceStartTime }} 至 {{ info.serviceEndTime }}</span> |
||||
|
</div> |
||||
|
<!-- <div class="item"> |
||||
|
<span class="item-field">完成情况 :</span> |
||||
|
<span>{{ info.finishDesc }}</span> |
||||
|
</div> --> |
||||
|
<div class="item"> |
||||
|
<span class="item-field">评价 :</span> |
||||
|
<span> |
||||
|
<el-rate :value="info.score" disabled></el-rate> |
||||
|
</span> |
||||
|
</div> |
||||
|
</template> |
||||
|
<screen-nodata class="nodata" v-else></screen-nodata> |
||||
|
</div> |
||||
|
</div> |
||||
|
</cpt-card> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import ScreenNodata from "@/views/modules/visual/components/screen-nodata" |
||||
|
import cptCard from '@/views/modules/visual/cpts/card' |
||||
|
import { requestPost } from '@/js/dai/request' |
||||
|
|
||||
|
export default { |
||||
|
name: 'dialogInfo', |
||||
|
props: { |
||||
|
userId: { |
||||
|
type: String, |
||||
|
default: '', |
||||
|
}, |
||||
|
gridName: { |
||||
|
type: String, |
||||
|
default: '', |
||||
|
}, |
||||
|
orgId: { |
||||
|
type: String, |
||||
|
default: '' |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
components: { |
||||
|
cptCard, |
||||
|
ScreenNodata |
||||
|
}, |
||||
|
|
||||
|
data() { |
||||
|
return { |
||||
|
pageNo: 1, |
||||
|
pageSize: 10, |
||||
|
servicelist: [], |
||||
|
info: { |
||||
|
// content: '受到供应链等不可抗力的影响,大多数车企的销量都呈现环比下滑的趋势,不过像供应链断供这样的问题只是暂时的,在复工复产后,5、6月份的销量也许就会恢复到正常水平。长远来看新能源的发展还是非常可观的,其市场格局正在逐步稳定,新能源汽车的前景仍然大有可为。', |
||||
|
// gridName: '第一网格', |
||||
|
// categoryName: '便民服务', |
||||
|
// statusName: '待处理', |
||||
|
// reportTypeName: '自身上报', |
||||
|
// reportUserName: '张三', |
||||
|
// reportUserMobile: '13794049999', |
||||
|
// reportTime: '2022-05-18 14:47:00', |
||||
|
// wantServiceTime: '2022-05-18 14:47:00', |
||||
|
// serviceShowName: '李四', |
||||
|
// serviceStartTime: '2022-05-18 14:47:00', |
||||
|
// serviceEndTime: '2022-05-18 14:47:00', |
||||
|
// finishDesc: '已解决', |
||||
|
// score: '3.5' |
||||
|
}, |
||||
|
loadType: 'loading', |
||||
|
activeIndex: 0 |
||||
|
} |
||||
|
}, |
||||
|
created () { |
||||
|
this.servicelist = [] |
||||
|
}, |
||||
|
methods: { |
||||
|
// 获取组织需求列表 |
||||
|
async getServicelist () { |
||||
|
if (this.loadType == 'none') { |
||||
|
return |
||||
|
} |
||||
|
const url = '/heart/residemand/service-list' |
||||
|
const params = { |
||||
|
serverId: this.orgId, |
||||
|
pageNo: this.pageNo, |
||||
|
pageSize: this.pageSize, |
||||
|
type: 'community_org', // 志愿者:volunteer;社区自组织:community_org; |
||||
|
} |
||||
|
const { data, code, msg } = await requestPost(url, params) |
||||
|
if (code === 0) { |
||||
|
if (this.pageNo == 1) { |
||||
|
this.getDemandDetail(data.list[0].demandRecId) |
||||
|
} |
||||
|
this.pageNo++ |
||||
|
this.servicelist = this.servicelist.concat(data.list) |
||||
|
this.loadType = this.servicelist.length < data.total ? 'loading' : 'none' |
||||
|
} else { |
||||
|
this.$message.error(msg) |
||||
|
} |
||||
|
}, |
||||
|
// 获取需求详情 |
||||
|
async getDemandDetail (id) { |
||||
|
this.info = {} |
||||
|
const url = '/heart/userdemand/demandDetail' |
||||
|
const params = { |
||||
|
demandRecId: id, // 需求id |
||||
|
} |
||||
|
const { data, code, msg } = await requestPost(url, params) |
||||
|
if (code === 0) { |
||||
|
this.info = data |
||||
|
} else { |
||||
|
this.$message.error(msg) |
||||
|
} |
||||
|
}, |
||||
|
toDetail (index) { |
||||
|
this.activeIndex = index |
||||
|
this.getDemandDetail(this.servicelist[index].demandRecId) |
||||
|
}, |
||||
|
handleClose() { |
||||
|
this.$emit("close") |
||||
|
}, |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" src="@/assets/scss/modules/visual/people.scss" scoped></style> |
||||
|
<style lang="scss" scoped> |
||||
|
@mixin scrollBar { |
||||
|
&::-webkit-scrollbar { |
||||
|
/*滚动条整体样式*/ |
||||
|
width: 8px; /*高宽分别对应横竖滚动条的尺寸*/ |
||||
|
height: 1px; |
||||
|
} |
||||
|
&::-webkit-scrollbar-thumb { |
||||
|
/*滚动条里面小方块*/ |
||||
|
border-radius: 8px; |
||||
|
box-shadow: inset 0 0 5px rgba(#00023f, 0.2); |
||||
|
background: linear-gradient(270deg, #0063fe, #0095ff); |
||||
|
} |
||||
|
&::-webkit-scrollbar-track { |
||||
|
/*滚动条里面轨道*/ |
||||
|
box-shadow: inset 0 0 5px rgba(#00023f, 0.2); |
||||
|
border-radius: 8px; |
||||
|
background: darken(#0c81fe, 20); |
||||
|
} |
||||
|
} |
||||
|
.m-pop { |
||||
|
.wrap { |
||||
|
.list { |
||||
|
display: block; |
||||
|
width: calc(100% - 280px); |
||||
|
max-height: 600px; |
||||
|
overflow: auto; |
||||
|
@include scrollBar; |
||||
|
.item-title { |
||||
|
padding: 0; |
||||
|
font-size: 22px; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 800; |
||||
|
color: #ffffff; |
||||
|
margin-bottom: 15px; |
||||
|
} |
||||
|
.item { |
||||
|
display: flex; |
||||
|
width: 100%; |
||||
|
box-sizing: border-box; |
||||
|
margin-top: 0; |
||||
|
margin-bottom: 15px; |
||||
|
font-size: 16px; |
||||
|
cursor: pointer; |
||||
|
.item-field { |
||||
|
// width: 100px; |
||||
|
flex-shrink: 0; |
||||
|
} |
||||
|
.item-content { |
||||
|
width: 100%; |
||||
|
max-height: 420px; |
||||
|
overflow-y: auto; |
||||
|
@include scrollBar; |
||||
|
} |
||||
|
::v-deep p { |
||||
|
margin: 0; |
||||
|
img { |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.item-imgs { |
||||
|
width: 100%; |
||||
|
display: flex; |
||||
|
flex-wrap: wrap; |
||||
|
|
||||
|
img { |
||||
|
display: block; |
||||
|
width: 240px; |
||||
|
height: 240px; |
||||
|
margin-right: 10px; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.item-desc { |
||||
|
font-size: 16px; |
||||
|
margin-bottom: 10px; |
||||
|
line-height: 24px; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.list-title { |
||||
|
width: 100%; |
||||
|
box-sizing: border-box; |
||||
|
padding: 20px 0 10px 62px; |
||||
|
font-size: 20px; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
} |
||||
|
.list-wr { |
||||
|
display: flex; |
||||
|
padding: 0 20px; |
||||
|
.dashed-line { |
||||
|
width: 1px; |
||||
|
height: 600px; |
||||
|
margin: 0 15px; |
||||
|
border: 1px dashed #1257c9; |
||||
|
} |
||||
|
.left-list { |
||||
|
width: 280px !important; |
||||
|
height: 600px; |
||||
|
overflow: auto; |
||||
|
padding: 10px 0 !important; |
||||
|
@include scrollBar; |
||||
|
.active-item { |
||||
|
border: 1px solid #0063FE !important; |
||||
|
box-shadow: 0px 0px 10px #0063fe inset; |
||||
|
} |
||||
|
.left-item { |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
width: 100%; |
||||
|
box-sizing: border-box; |
||||
|
margin-top: 0; |
||||
|
margin-bottom: 20px; |
||||
|
font-size: 16px; |
||||
|
cursor: pointer; |
||||
|
color: #ffffff; |
||||
|
padding: 5px; |
||||
|
border: 1px solid transparent; |
||||
|
.item-content { |
||||
|
margin-top: 10px; |
||||
|
width: 100%; |
||||
|
overflow: hidden; |
||||
|
text-overflow: ellipsis; |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.right-list { |
||||
|
padding: 0 15px !important; |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
Loading…
Reference in new issue