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