Browse Source

Merge branch 'dev-新新版' of http://git.elinkit.com.cn:7070/r/epmet-oper-gov into dev-新新版

V1.0
dai 3 years ago
parent
commit
4e387e13d0
  1. 11
      src/assets/scss/modules/management/detail-main.scss
  2. 45
      src/assets/scss/modules/management/list-main.css
  3. 2
      src/assets/scss/modules/management/list-main.min.css
  4. 29
      src/assets/scss/modules/management/list-main.scss
  5. 9
      src/assets/scss/modules/visual/communityManage.css
  6. 2
      src/assets/scss/modules/visual/communityManage.min.css
  7. 7
      src/assets/scss/modules/visual/communityManage.scss
  8. 623
      src/views/components/deathSearch copy.vue
  9. 490
      src/views/components/deathSearch.vue
  10. 33
      src/views/components/rangeInput.vue
  11. 54
      src/views/components/resiChangeRecord.vue
  12. 448
      src/views/components/resiSearch.vue
  13. 123
      src/views/modules/base/huji/immigration/detail.vue
  14. 2
      src/views/modules/base/huji/immigration/index.vue
  15. 34
      src/views/modules/base/resi.vue
  16. 62
      src/views/modules/plugins/change/resichange.vue
  17. 561
      src/views/modules/plugins/change/verify.vue

11
src/assets/scss/modules/management/detail-main.scss

@ -125,11 +125,14 @@
}
}
//-----旧版
.cell-width-area{
width: 450px
}
.div_searchmap {
z-index: 1000;
position: absolute;
@ -137,7 +140,6 @@
left: 5px;
}
.cell-width-1{
width: 250px
}
@ -178,16 +180,11 @@
overflow-x: auto;
}
.m-btns {
display: flex;
justify-content: center;
}
//-----旧版
.m-info {
.info-title {

45
src/assets/scss/modules/management/list-main.css

@ -8,12 +8,18 @@
.div_main .div_search {
padding: 10px;
background-color: #f6f6f6;
border: 1px solid #D3DCE6;
background: #FFFFFF;
box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.08), 0px 3px 6px -4px rgba(0, 0, 0, 0.12);
margin: 7px 7px;
}
.div_main .div_search /deep/ .el-form-item {
margin-bottom: 14px;
}
.div_main .div_search .div_search_btn {
margin-right: 10px;
margin-top: 5px;
float: right;
}
@ -31,20 +37,31 @@
}
.div_main .item_width_normal {
width: 138px;
width: 168px;
}
.div_main .item_width_daterange {
width: 176px;
width: 206px;
}
.div_main .item_width_daterange2 {
width: 445px;
}
.div_main .item_width_communitycascader {
width: 141px;
}
.div_main .item_width_buildcascader {
width: 151px;
width: 96px;
}
.div_main .div_table {
margin: 15px 7px 7px;
margin: 16px 7px 7px;
background: #FFFFFF;
box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.08), 0px 3px 6px -4px rgba(0, 0, 0, 0.12);
position: relative;
padding: 24px 16px 10px;
}
.div_main .div_table .div_btn {
@ -59,13 +76,23 @@
.div_main .div_table .div_btn .div_btn_left .btn_upload {
margin-left: 10px;
display: flex;
text-align: center;
}
.div_main .div_table .div_table_item {
margin-top: 10px;
margin-top: 16px;
position: relative;
}
.div_main .setFormBoxHeight {
max-height: 99px;
overflow: hidden;
}
.div_main .setFormBoxHeightAuto {
height: auto;
}
.div_main .item_width_2 {
width: 138px;
}
@ -138,7 +165,3 @@
-webkit-line-clamp: 2;
overflow: hidden;
}
.font_color_blue {
color: #0054d7;
}

2
src/assets/scss/modules/management/list-main.min.css

@ -1 +1 @@
.div_main{width:100%}.div_main .marginl-20{margin-left:16px}.div_main .div_search{padding:10px;background-color:#f6f6f6;border:1px solid #D3DCE6;margin:7px 7px}.div_main .div_search .div_search_btn{float:right}.div_main .div_search .div_search_label{line-height:36px;margin-left:24px;margin-right:6px;font-size:14px;color:#606266;vertical-align:middle}.div_main .data-tag{margin-left:10px}.div_main .item_width_normal{width:138px}.div_main .item_width_daterange{width:176px}.div_main .item_width_buildcascader{width:151px}.div_main .div_table{margin:15px 7px 7px;position:relative}.div_main .div_table .div_btn{display:flex;justify-content:space-between}.div_main .div_table .div_btn .div_btn_left{display:flex}.div_main .div_table .div_btn .div_btn_left .btn_upload{margin-left:10px;display:flex}.div_main .div_table .div_table_item{margin-top:10px;position:relative}.div_main .item_width_2{width:138px}.div_main .item_width_1{width:260px}.div_main .item_width_3{width:200px}.div_main .list_item_width_1{width:165px}.div_main .list_item_width_2{width:135px}.div-mult-form{margin-top:20px}.div-mult-form .div_person{display:flex;font-size:14px;padding-bottom:20px}.div-mult-form .div_person .person_title{text-align:right;flex:0 0 100px;line-height:36px;padding:0 12px 0 0}.div-mult-form .div_person .tag_item{margin-right:10px;margin-top:10px}.div-mult-form .div_person .tag_tip{margin-top:10px;color:#9c9c9c}.div-mult-table{position:relative;padding:0 20px}.div-mult-table .div_selcount{position:absolute;bottom:10px;left:30px}.div_dialog_table{padding:10px}.div_dialog_table .table{margin-top:20px}.twoline{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.font_color_blue{color:#0054d7}
.div_main{width:100%}.div_main .marginl-20{margin-left:16px}.div_main .div_search{padding:10px;background:#FFFFFF;box-shadow:0px 6px 16px 0px rgba(0,0,0,0.08),0px 3px 6px -4px rgba(0,0,0,0.12);margin:7px 7px}.div_main .div_search /deep/ .el-form-item{margin-bottom:14px}.div_main .div_search .div_search_btn{margin-right:10px;margin-top:5px;float:right}.div_main .div_search .div_search_label{line-height:36px;margin-left:24px;margin-right:6px;font-size:14px;color:#606266;vertical-align:middle}.div_main .data-tag{margin-left:10px}.div_main .item_width_normal{width:168px}.div_main .item_width_daterange{width:206px}.div_main .item_width_daterange2{width:445px}.div_main .item_width_communitycascader{width:141px}.div_main .item_width_buildcascader{width:96px}.div_main .div_table{margin:16px 7px 7px;background:#FFFFFF;box-shadow:0px 6px 16px 0px rgba(0,0,0,0.08),0px 3px 6px -4px rgba(0,0,0,0.12);position:relative;padding:24px 16px 10px}.div_main .div_table .div_btn{display:flex;justify-content:space-between}.div_main .div_table .div_btn .div_btn_left{display:flex}.div_main .div_table .div_btn .div_btn_left .btn_upload{margin-left:10px;display:flex;text-align:center}.div_main .div_table .div_table_item{margin-top:16px;position:relative}.div_main .setFormBoxHeight{max-height:99px;overflow:hidden}.div_main .setFormBoxHeightAuto{height:auto}.div_main .item_width_2{width:138px}.div_main .item_width_1{width:260px}.div_main .item_width_3{width:200px}.div_main .list_item_width_1{width:165px}.div_main .list_item_width_2{width:135px}.div-mult-form{margin-top:20px}.div-mult-form .div_person{display:flex;font-size:14px;padding-bottom:20px}.div-mult-form .div_person .person_title{text-align:right;flex:0 0 100px;line-height:36px;padding:0 12px 0 0}.div-mult-form .div_person .tag_item{margin-right:10px;margin-top:10px}.div-mult-form .div_person .tag_tip{margin-top:10px;color:#9c9c9c}.div-mult-table{position:relative;padding:0 20px}.div-mult-table .div_selcount{position:absolute;bottom:10px;left:30px}.div_dialog_table{padding:10px}.div_dialog_table .table{margin-top:20px}.twoline{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

29
src/assets/scss/modules/management/list-main.scss

@ -22,9 +22,10 @@
}
.div_search_btn{
margin-right:10px;
margin-top:5px;
float:right;
}
}
//特殊查询的文字如房屋级联
.div_search_label{
@ -71,22 +72,22 @@
display: flex;
// margin-top: 10px;
justify-content: space-between;
.div_btn_left{
display: flex;
.btn_upload {
margin-left: 10px;
display: flex;
text-align: center;
}
}
.div_btn_right{
}
}
.div_table_item {
@ -95,6 +96,17 @@
}
}
// 搜索栏高度控制显示隐藏
.setFormBoxHeight{
max-height: 99px;
overflow: hidden;
}
.setFormBoxHeightAuto{
height: auto;
}
//---------旧版
.item_width_2{
width: 138px;
}
@ -106,7 +118,7 @@
width: 200px;
}
.list_item_width_1 {
width: 165px;
@ -168,3 +180,4 @@
-webkit-line-clamp: 2;
overflow: hidden;
}

9
src/assets/scss/modules/visual/communityManage.css

@ -31,12 +31,3 @@
margin-top: 10px;
margin-right: 50px;
}
.setFormBoxHeight {
max-height: 99px;
overflow: hidden;
}
.setFormBoxHeightAuto {
height: auto;
}

2
src/assets/scss/modules/visual/communityManage.min.css

@ -1 +1 @@
.div_del{position:absolute;left:10px;bottom:0}.div_search{display:flex}.div_search .resi-cell{display:flex;align-items:center}.div_search .resi-cell .resi-cell-label{width:70px;box-sizing:border-box;margin-right:15px;text-align:right}.div_search .resi-cell .resi-cell-input{width:180px}.el-row{display:flex;flex-wrap:wrap;margin-top:10px;margin-right:50px}.setFormBoxHeight{max-height:99px;overflow:hidden}.setFormBoxHeightAuto{max-height:auto}
.div_del{position:absolute;left:10px;bottom:0}.div_search{display:flex}.div_search .resi-cell{display:flex;align-items:center}.div_search .resi-cell .resi-cell-label{width:70px;box-sizing:border-box;margin-right:15px;text-align:right}.div_search .resi-cell .resi-cell-input{width:180px}.el-row{display:flex;flex-wrap:wrap;margin-top:10px;margin-right:50px}

7
src/assets/scss/modules/visual/communityManage.scss

@ -35,10 +35,3 @@
margin-top: 10px;
margin-right: 50px;
}
.setFormBoxHeight{
max-height: 99px;
overflow: hidden;
}
.setFormBoxHeightAuto{
height: auto;
}

623
src/views/components/deathSearch copy.vue

@ -0,0 +1,623 @@
<template>
<div class="resi-container">
<el-card class="resi-card">
<el-row class="resi-row-box"
:class="openSearch && 'resi-row-more'">
<el-row class="resi-row">
<el-col :span="6">
<div class="resi-cell">
<div class="resi-cell-label">所属网格</div>
<div class="resi-cell-value">
<el-select v-model.trim="form.GRID_ID"
placeholder="请选择"
size="small"
clearable
class="resi-cell-select"
@change="handleChangeGrid">
<el-option v-for="item in optionsG"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</div>
</el-col>
<el-col :span="18">
<div class="resi-cell">
<div class="resi-cell-label">所属房屋</div>
<div class="resi-cell-value">
<el-select v-model.trim="form.VILLAGE_ID"
placeholder="请选择小区"
size="small"
clearable
class="resi-cell-select"
@clear="handleClearVillage"
@change="handleChangeV">
<el-option v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.BUILD_ID"
placeholder="楼号"
size="small"
clearable
style="width: 120px;"
class="resi-cell-select"
:disabled="changeVDisabled"
@clear="handleClearBuild"
@change="handleChangeB">
<el-option v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.UNIT_ID"
:disabled="changeBDisabled"
placeholder="单元"
size="small"
clearable
style="width: 120px;"
class="resi-cell-select"
@click="handleClearDan"
@change="handleChangeD">
<el-option v-for="item in optionsD"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.HOME_ID"
:disabled="changeDDisabled"
placeholder="房号"
size="small"
clearable
style="width: 120px;"
class="resi-cell-select">
<el-option v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</div>
</el-col>
</el-row>
<el-row v-for="(item, index) in sliceList(formList, 4)"
:key="index"
class="resi-row">
<el-col v-for="n in item"
:key="n.id"
:span="6">
<div class="resi-cell">
<div class="resi-cell-label">{{ n.label }}</div>
<div class="resi-cell-value"
:class="n.itemType === 'radio' && 'resi-cell-value-radio'">
<el-input v-if="n.itemType === 'input' || n.itemType === 'textarea'"
v-model.trim="form[n.columnName]"
class="resi-cell-input"
size="small"
clearable
placeholder="请输入内容">
</el-input>
<template v-else-if="n.itemType === 'datepicker'">
<el-date-picker v-if="n.queryType === 'daterange'"
v-model.trim="form[n.columnName]"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
class="resi-cell--daterange"
size="small"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd">
</el-date-picker>
<el-date-picker v-else
v-model.trim="form[n.columnName]"
class="resi-cell-input"
type="date"
size="small"
clearable
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</template>
<el-select v-else-if="n.itemType === 'select' || n.itemType === 'radio'"
v-model.trim="form[n.columnName]"
placeholder="请选择"
size="small"
clearable
class="resi-cell-select">
<el-option v-for="item in n.options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-cascader v-else-if="n.itemType === 'cascader'"
v-model.trim="form[n.columnName]"
:options="n.options"
:props="{ checkStrictly: true }"
clearable
size="small"
class="resi-cell-select">
</el-cascader>
</div>
</div>
</el-col>
</el-row>
</el-row>
<el-row class="resi-search">
<!-- <el-col :span="20">
<el-button type="primary" size="mini">查询</el-button>
</el-col> -->
<el-col :span="24">
<el-button type="primary"
size="small"
@click="handleSearch">查询</el-button>
<el-button class="diy-button--reset"
size="small"
@click="resetForm">重置</el-button>
</el-col>
</el-row>
<div class="resi-down"
@click="handleOpenSearch">
<img v-if="openSearch"
src="../../assets/img/arrow-up.png" />
<img v-else
src="../../assets/img/arrow-down.png" />
</div>
</el-card>
</div>
</template>
<script>
export default {
name: 'DeathSearch',
props: {
formList: {
type: Array,
default: () => []
},
columnName: {
type: String,
default: ''
}
},
data () {
let initForm = (arr, columnName) => {
let _form = {}
// console.log('formInfo', obj)
// if (Object.keys(obj).length > 0) {
// _form = { ...obj }
// return _form
// }
arr.forEach((item) => {
if (columnName && columnName === item.columnName) _form[item.columnName] = '1'
else _form[item.columnName] = ''
})
return _form
}
let form = initForm(this.formList, this.columnName)
let tempFormList = this.formList.map(item => {
return {
...item,
isChange: this.columnName && this.columnName === item.columnName ? true : false
}
})
let constForm = {
...form,
GRID_ID: '',
VILLAGE_ID: '',
BUILD_ID: '',
UNIT_ID: '',
HOME_ID: ''
}
return {
pageLoading: false,
openSearch: false,
optionsV: [],
optionsB: [],
optionsH: [],
optionsD: [],
optionsG: [],
value: '',
fixedList: [],
fixedForm: {
GRID_ID: '',
VILLAGE_ID: '',
BUILD_ID: '',
UNIT_ID: '',
HOME_ID: ''
},
constForm,
form: {
...form,
GRID_ID: '',
VILLAGE_ID: '',
BUILD_ID: '',
UNIT_ID: '',
HOME_ID: ''
},
tempFormList,
pickerOptions: {
shortcuts: [
{
text: '最近一周',
onClick (picker) {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
picker.$emit('pick', [start, end])
}
},
{
text: '最近一个月',
onClick (picker) {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
picker.$emit('pick', [start, end])
}
},
{
text: '最近三个月',
onClick (picker) {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
picker.$emit('pick', [start, end])
}
}
]
}
}
},
computed: {
sliceList () {
return function (data, count) {
if (data !== undefined) {
let index = 0
let arrTemp = []
for (let i = 0; i < data.length; i++) {
index = parseInt(i / count)
if (arrTemp.length <= index) {
arrTemp.push([])
}
arrTemp[index].push(data[i])
}
return arrTemp
}
}
},
changeVDisabled () {
return !this.form.VILLAGE_ID
},
changeBDisabled () {
return !this.form.BUILD_ID
},
changeDDisabled () {
return !this.form.UNIT_ID
}
},
watch: {
form: {
handler (val, val2) {
// console.log('valpppp----', val, val2)
for (let n in val) {
if (this.constForm[n] !== val[n]) {
this.handleChangeForm(n)
console.log('nnnnnn', n)
}
}
this.constForm = { ...val }
},
deep: true
}
},
created () {
// this.initForm()
// console.log('formcccc---', this.form)
this.getGridList()
this.getValiheList()
if (this.columnName) this.handleChangeForm(this.columnName)
},
methods: {
initForm () {
this.formList.forEach((item) => {
this.$set(this.form, item.columnName, '')
})
console.log('formcccc---', this.form)
},
handleClearVillage () {
this.form.BUILD_ID = ''
this.form.HOME_ID = ''
},
handleClearBuild () {
this.form.BUILD_ID = ''
this.form.UNIT_ID = ''
this.form.HOME_ID = ''
},
handleClearDan () {
this.form.UNIT_ID = ''
this.form.HOME_ID = ''
},
resetForm (formName) {
for (const n in this.form) {
this.form[n] = ''
}
this.handleSearch()
},
handleSearch () {
// console.log('formmmmm---', this.form)
const itemTypes = ['daterange', 'timerange']
let arr = this.tempFormList
.filter((n) => n.isChange)
.map((item) => {
return {
queryType: item.queryType,
tableName: item.tableName,
columnName: item.columnName,
// columnValue: []
columnValue:
itemTypes.includes(item.queryType) ||
itemTypes.includes(item.itemType)
? this.form[item.columnName]
: [this.form[item.columnName].toString()]
}
})
let arr1 = this.fixedList
.filter((n) => n.columnValue.length > 0)
.map((item) => {
return {
...item
}
})
let arr3 = [...arr1, ...arr]
this.$emit('search', arr3)
},
handleOpenSearch () {
this.openSearch = !this.openSearch
},
handleChangeGrid (val) {
console.log('val', val)
this.form.VILLAGE_ID = ''
this.form.BUILD_ID = ''
this.form.UNIT_ID = ''
this.form.HOME_ID = ''
this.getValiheList()
},
handleChangeV (val) {
console.log('val', val)
this.form.BUILD_ID = ''
this.form.UNIT_ID = ''
this.form.HOME_ID = ''
this.getBuildList()
},
handleChangeB (val) {
console.log('val', val)
this.form.UNIT_ID = ''
this.form.HOME_ID = ''
this.getUniList()
},
handleChangeD (val) {
console.log('val', val)
this.form.HOME_ID = ''
this.getHouseList()
},
// form
handleChangeForm (val) {
for (let n in this.fixedForm) {
if (n === val) {
if (this.fixedList.length > 0) {
let _item = {}
let hasVal = false
this.fixedList.forEach((item, index) => {
if (item.columnName == val) {
hasVal = true
item.columnValue[0] = this.form[val]
if (!this.form[val]) this.fixedList.splice(index, 1)
console.log('fixedList----val', this.fixedList)
} else {
_item = {
queryType: 'equal',
tableName: 'ic_resi_user',
columnName: val,
columnValue: [this.form[val]]
}
console.log('fixedList----else', _item)
// this.$set(this.fixedList, index, _item)
}
})
if (Object.keys(_item).length > 0 && !hasVal) this.fixedList.push(_item)
} else {
this.$set(this.fixedList, 0, {
queryType: 'equal',
tableName: 'ic_resi_user',
columnName: val,
columnValue: [this.form[val]]
})
}
}
}
console.log('fixedList----999', this.fixedList)
this.tempFormList.forEach((item) => {
if (item.columnName === val) item.isChange = true
})
},
getGridList () {
const { user } = this.$store.state
this.$http
.post('/gov/org/customergrid/gridoption', { agencyId: user.agencyId, purpose: 'query' })
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsG = res.data
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
getValiheList () {
const { user } = this.$store.state
this.$http
.post('/gov/org/icneighborhood/neighborhoodoption', {
gridId: this.form.GRID_ID,
agencyId: ''
// agencyId: user.agencyId
})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsV = res.data
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
getBuildList () {
this.$http
.post('/gov/org/icbuilding/buildingoption', {
neighborHoodId: this.form.VILLAGE_ID
})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsB = res.data
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
getUniList () {
this.$http
.post('/gov/org/icbuildingunit/unitoption', {
buildingId: this.form.BUILD_ID
})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsD = res.data
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
getHouseList () {
this.$http
.post('/gov/org/ichouse/houseoption', { unitId: this.form.UNIT_ID })
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取查询详情成功', res.data)
this.optionsH = res.data
}
})
.catch(() => {
return this.$message.error('网络错误')
})
}
}
}
</script>
<style lang="scss" scope>
.resi-container .resi-card {
position: relative;
overflow: visible;
}
.resi-down {
position: absolute;
left: 50%;
bottom: -10px;
display: flex;
justify-content: center;
align-items: center;
width: 46px;
height: 12px;
box-sizing: border-box;
margin-left: -23rpx;
cursor: pointer;
background: #ffffff;
border-radius: 0 0 10px 10px;
img {
display: block;
}
}
.resi-row-box {
height: 104px;
overflow: hidden;
transition: height 0.5s;
}
.resi-row-more {
height: max-content;
transition: height 0.5s;
}
.resi-row {
margin-bottom: 20px;
}
.resi-search {
// padding-right: 20px;
.el-col {
text-align: right;
}
}
.resi-container .resi-cell {
display: flex;
align-items: center;
.resi-cell-label {
flex-shrink: 0;
width: 70px;
box-sizing: border-box;
margin-right: 15px;
text-align: right;
// line-height: 32;
}
.resi-cell-value-radio {
display: flex;
align-items: center;
min-height: 32px;
}
.resi-cell-input {
width: 200px;
}
.resi-cell--daterange {
width: 200px;
}
.resi-cell-select {
width: 200px;
box-sizing: border-box;
margin-right: 10px;
&-middle {
width: 130px;
}
&-small {
width: 88px;
}
}
.resi-cell-select:last-child {
margin-right: 0;
}
}
</style>

490
src/views/components/deathSearch.vue

@ -1,206 +1,160 @@
<template>
<div class="resi-container">
<el-card class="resi-card">
<el-row class="resi-row-box" :class="openSearch && 'resi-row-more'">
<el-row class="resi-row">
<el-col :span="6">
<div class="resi-cell">
<div class="resi-cell-label">所属网格</div>
<div class="resi-cell-value">
<el-select
v-model.trim="form.GRID_ID"
placeholder="请选择"
size="small"
clearable
class="resi-cell-select"
@change="handleChangeGrid"
>
<el-option
v-for="item in optionsG"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
</div>
</el-col>
<el-col :span="18">
<div class="resi-cell">
<div class="resi-cell-label">所属房屋</div>
<div class="resi-cell-value">
<el-select
v-model.trim="form.VILLAGE_ID"
placeholder="请选择小区"
size="small"
clearable
class="resi-cell-select"
@clear="handleClearVillage"
@change="handleChangeV"
>
<el-option
v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-select
v-model.trim="form.BUILD_ID"
placeholder="楼号"
size="small"
clearable
style="width: 120px;"
class="resi-cell-select"
:disabled="changeVDisabled"
@clear="handleClearBuild"
@change="handleChangeB"
>
<el-option
v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-select
v-model.trim="form.UNIT_ID"
:disabled="changeBDisabled"
placeholder="单元"
size="small"
clearable
style="width: 120px;"
class="resi-cell-select"
@click="handleClearDan"
@change="handleChangeD"
>
<el-option
v-for="item in optionsD"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-select
v-model.trim="form.HOME_ID"
:disabled="changeDDisabled"
placeholder="房号"
size="small"
clearable
style="width: 120px;"
class="resi-cell-select"
>
<el-option
v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
</div>
</el-col>
</el-row>
<el-row
v-for="(item, index) in sliceList(formList, 4)"
:key="index"
class="resi-row"
>
<el-col v-for="n in item" :key="n.id" :span="6">
<div class="resi-cell">
<div class="resi-cell-label">{{ n.label }}</div>
<div
class="resi-cell-value"
:class="n.itemType === 'radio' && 'resi-cell-value-radio'"
>
<el-input
v-if="n.itemType === 'input' || n.itemType === 'textarea'"
v-model.trim="form[n.columnName]"
class="resi-cell-input"
size="small"
clearable
placeholder="请输入内容"
>
</el-input>
<template v-else-if="n.itemType === 'datepicker'">
<el-date-picker
v-if="n.queryType === 'daterange'"
v-model.trim="form[n.columnName]"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
class="resi-cell--daterange"
size="small"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
>
</el-date-picker>
<el-date-picker
v-else
<div>
<div class="div_search">
<el-form :inline="true"
:model="form"
:label-width="'100px'">
<el-form-item prop="gridId"
label="所属网格">
<el-select v-model.trim="form.GRID_ID"
placeholder="请选择"
size="small"
clearable
class="item_width_normal"
@change="handleChangeGrid">
<el-option v-for="item in optionsG"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="所属房屋">
<el-select v-model.trim="form.VILLAGE_ID"
placeholder="请选择小区"
size="small"
clearable
class="item_width_communitycascader"
@clear="handleClearVillage"
@change="handleChangeV">
<el-option v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.BUILD_ID"
placeholder="楼号"
size="small"
clearable
class="item_width_buildcascader"
style="margin-left:5px"
:disabled="changeVDisabled"
@clear="handleClearBuild"
@change="handleChangeB">
<el-option v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.UNIT_ID"
:disabled="changeBDisabled"
placeholder="单元"
size="small"
clearable
class="item_width_buildcascader"
style="margin-left:5px"
@click="handleClearDan"
@change="handleChangeD">
<el-option v-for="item in optionsD"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.HOME_ID"
:disabled="changeDDisabled"
placeholder="房号"
size="small"
clearable
class="item_width_buildcascader"
style="margin-left:5px">
<el-option v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item v-for="(n, index) in formList"
:key="index"
:prop="n.id"
:label="n.label">
<el-input v-if="n.itemType === 'input' || n.itemType === 'textarea'"
v-model.trim="form[n.columnName]"
class="resi-cell-input"
type="date"
class="item_width_normal"
size="small"
clearable
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
>
</el-date-picker>
</template>
<el-select
v-else-if="n.itemType === 'select' || n.itemType === 'radio'"
v-model.trim="form[n.columnName]"
placeholder="请选择"
size="small"
clearable
class="resi-cell-select"
>
<el-option
v-for="item in n.options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-cascader
v-else-if="n.itemType === 'cascader'"
v-model.trim="form[n.columnName]"
:options="n.options"
:props="{ checkStrictly: true }"
clearable
size="small"
class="resi-cell-select"
>
</el-cascader>
</div>
</div>
</el-col>
</el-row>
</el-row>
<el-row class="resi-search">
<!-- <el-col :span="20">
<el-button type="primary" size="mini">查询</el-button>
</el-col> -->
<el-col :span="24">
<el-button type="primary" size="small" @click="handleSearch">查询</el-button>
<el-button class="diy-button--reset" size="small" @click="resetForm">重置</el-button>
</el-col>
</el-row>
<div class="resi-down" @click="handleOpenSearch">
<img v-if="openSearch" src="../../assets/img/arrow-up.png" />
<img v-else src="../../assets/img/arrow-down.png" />
</div>
</el-card>
placeholder="请输入内容">
</el-input>
<template v-else-if="n.itemType === 'datepicker'">
<el-date-picker v-if="n.queryType === 'daterange'"
v-model.trim="form[n.columnName]"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
class="item_width_daterange2"
size="small"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd">
</el-date-picker>
<el-date-picker v-else
v-model.trim="form[n.columnName]"
class="item_width_normal"
type="date"
size="small"
clearable
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</template>
<el-select v-else-if="n.itemType === 'select' || n.itemType === 'radio'"
v-model.trim="form[n.columnName]"
placeholder="请选择"
size="small"
clearable
class="item_width_normal">
<el-option v-for="item in n.options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-cascader v-else-if="n.itemType === 'cascader'"
v-model.trim="form[n.columnName]"
:options="n.options"
:props="{ checkStrictly: true }"
clearable
size="small"
class="item_width_normal">
</el-cascader>
</el-form-item>
<div class="div_search_btn">
<el-button class="diy-button--white"
size="small"
@click="resetForm">重置</el-button>
<el-button style="margin-left:10px"
size="small"
class="diy-button--blue"
@click="handleSearch">查询</el-button>
</div>
</el-form>
</div>
</div>
</template>
@ -217,7 +171,7 @@ export default {
default: ''
}
},
data() {
data () {
let initForm = (arr, columnName) => {
let _form = {}
// console.log('formInfo', obj)
@ -278,7 +232,7 @@ export default {
shortcuts: [
{
text: '最近一周',
onClick(picker) {
onClick (picker) {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
@ -287,7 +241,7 @@ export default {
},
{
text: '最近一个月',
onClick(picker) {
onClick (picker) {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
@ -296,7 +250,7 @@ export default {
},
{
text: '最近三个月',
onClick(picker) {
onClick (picker) {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
@ -308,7 +262,7 @@ export default {
}
},
computed: {
sliceList() {
sliceList () {
return function (data, count) {
if (data !== undefined) {
let index = 0
@ -324,19 +278,19 @@ export default {
}
}
},
changeVDisabled() {
changeVDisabled () {
return !this.form.VILLAGE_ID
},
changeBDisabled() {
changeBDisabled () {
return !this.form.BUILD_ID
},
changeDDisabled() {
changeDDisabled () {
return !this.form.UNIT_ID
}
},
watch: {
form: {
handler(val, val2) {
handler (val, val2) {
// console.log('valpppp----', val, val2)
for (let n in val) {
if (this.constForm[n] !== val[n]) {
@ -349,7 +303,7 @@ export default {
deep: true
}
},
created() {
created () {
// this.initForm()
// console.log('formcccc---', this.form)
this.getGridList()
@ -357,32 +311,32 @@ export default {
if (this.columnName) this.handleChangeForm(this.columnName)
},
methods: {
initForm() {
initForm () {
this.formList.forEach((item) => {
this.$set(this.form, item.columnName, '')
})
console.log('formcccc---', this.form)
},
handleClearVillage() {
handleClearVillage () {
this.form.BUILD_ID = ''
this.form.HOME_ID = ''
},
handleClearBuild() {
handleClearBuild () {
this.form.BUILD_ID = ''
this.form.UNIT_ID = ''
this.form.HOME_ID = ''
},
handleClearDan() {
handleClearDan () {
this.form.UNIT_ID = ''
this.form.HOME_ID = ''
},
resetForm(formName) {
for(const n in this.form) {
resetForm (formName) {
for (const n in this.form) {
this.form[n] = ''
}
this.handleSearch()
},
handleSearch() {
handleSearch () {
// console.log('formmmmm---', this.form)
const itemTypes = ['daterange', 'timerange']
let arr = this.tempFormList
@ -395,7 +349,7 @@ export default {
// columnValue: []
columnValue:
itemTypes.includes(item.queryType) ||
itemTypes.includes(item.itemType)
itemTypes.includes(item.itemType)
? this.form[item.columnName]
: [this.form[item.columnName].toString()]
}
@ -410,10 +364,10 @@ export default {
let arr3 = [...arr1, ...arr]
this.$emit('search', arr3)
},
handleOpenSearch() {
handleOpenSearch () {
this.openSearch = !this.openSearch
},
handleChangeGrid(val) {
handleChangeGrid (val) {
console.log('val', val)
this.form.VILLAGE_ID = ''
this.form.BUILD_ID = ''
@ -421,26 +375,26 @@ export default {
this.form.HOME_ID = ''
this.getValiheList()
},
handleChangeV(val) {
handleChangeV (val) {
console.log('val', val)
this.form.BUILD_ID = ''
this.form.UNIT_ID = ''
this.form.HOME_ID = ''
this.getBuildList()
},
handleChangeB(val) {
handleChangeB (val) {
console.log('val', val)
this.form.UNIT_ID = ''
this.form.HOME_ID = ''
this.getUniList()
},
handleChangeD(val) {
handleChangeD (val) {
console.log('val', val)
this.form.HOME_ID = ''
this.getHouseList()
},
// form
handleChangeForm(val) {
handleChangeForm (val) {
for (let n in this.fixedForm) {
if (n === val) {
if (this.fixedList.length > 0) {
@ -479,7 +433,7 @@ export default {
if (item.columnName === val) item.isChange = true
})
},
getGridList() {
getGridList () {
const { user } = this.$store.state
this.$http
.post('/gov/org/customergrid/gridoption', { agencyId: user.agencyId, purpose: 'query' })
@ -495,7 +449,7 @@ export default {
return this.$message.error('网络错误')
})
},
getValiheList() {
getValiheList () {
const { user } = this.$store.state
this.$http
.post('/gov/org/icneighborhood/neighborhoodoption', {
@ -515,7 +469,7 @@ export default {
return this.$message.error('网络错误')
})
},
getBuildList() {
getBuildList () {
this.$http
.post('/gov/org/icbuilding/buildingoption', {
neighborHoodId: this.form.VILLAGE_ID
@ -532,7 +486,7 @@ export default {
return this.$message.error('网络错误')
})
},
getUniList() {
getUniList () {
this.$http
.post('/gov/org/icbuildingunit/unitoption', {
buildingId: this.form.BUILD_ID
@ -549,7 +503,7 @@ export default {
return this.$message.error('网络错误')
})
},
getHouseList() {
getHouseList () {
this.$http
.post('/gov/org/ichouse/houseoption', { unitId: this.form.UNIT_ID })
.then(({ data: res }) => {
@ -569,81 +523,11 @@ export default {
</script>
<style lang="scss" scope>
.resi-container .resi-card {
position: relative;
overflow: visible;
}
.resi-down {
position: absolute;
left: 50%;
bottom: -10px;
display: flex;
justify-content: center;
align-items: center;
width: 46px;
height: 12px;
box-sizing: border-box;
margin-left: -23rpx;
cursor: pointer;
background: #ffffff;
border-radius: 0 0 10px 10px;
img {
display: block;
}
}
.resi-row-box {
height: 104px;
overflow: hidden;
transition: height 0.5s;
}
.resi-row-more {
height: max-content;
transition: height 0.5s;
}
.resi-row {
margin-bottom: 20px;
}
.resi-search {
// padding-right: 20px;
.el-col {
text-align: right;
}
}
.resi-container .resi-cell {
display: flex;
align-items: center;
.resi-cell-label {
flex-shrink: 0;
width: 70px;
box-sizing: border-box;
margin-right: 15px;
text-align: right;
// line-height: 32;
}
.resi-cell-value-radio {
display: flex;
align-items: center;
min-height: 32px;
}
.resi-cell-input {
width: 200px;
}
.resi-cell--daterange {
width: 200px;
}
.resi-cell-select {
width: 200px;
box-sizing: border-box;
margin-right: 10px;
&-middle {
width: 130px;
}
&-small {
width: 88px;
}
}
.resi-cell-select:last-child {
margin-right: 0;
@import "@/assets/scss/modules/management/list-main.scss";
.div_search {
/deep/ .el-form-item {
margin-bottom: 14px;
}
}
</style>

33
src/views/components/rangeInput.vue

@ -1,19 +1,18 @@
<template>
<el-form :model="inputForm"
:rules="rules"
class="demo-form-inline">
<div class="flex-div">
<el-form-item prop="start">
<el-input v-model="inputForm.start"
class="wd50"
class="item_width_normal"
size="small"
:type="inputType"
clearable
placeholder="请输入"
@change="handleChange" />
</el-form-item>
<div class="div_middle">-</div>
<el-form-item prop="end">
<!-- <el-form-item prop="end">
<el-input v-model="inputForm.end"
class="wd50"
size="small"
@ -22,7 +21,7 @@
placeholder="请输入"
@change="handleChange"
@blur="handleBlur" />
</el-form-item>
</el-form-item> -->
</div>
</el-form>
@ -66,11 +65,7 @@ export default {
}
return {
inputForm: { ...this.value },
rules: {
end: [
{ validator: checkAge, trigger: 'blur' }
],
}
}
},
computed: {
@ -80,6 +75,7 @@ export default {
},
watch: {
'value.start' (val) {
console.log(val);
this.inputForm.start = val
},
'value.end' (val) {
@ -88,7 +84,7 @@ export default {
},
methods: {
handleChange (val) {
console.log(this.inputForm );
// if ()
this.$emit('change', { ...this.inputForm })
},
@ -102,13 +98,12 @@ export default {
<style lang="scss" scoped>
.flex-div {
display: flex;
align-items: inherit;
align-items: center;
max-width: 200px;
height: 37px;
}
.wd50 {
width: 79px;
}
// .wd50 {
// // width: 45%;
// }
.demo-form-inline {
::v-deep {
.el-form-item {
@ -127,8 +122,6 @@ export default {
}
.div_middle {
padding: 0 3px;
position: relative;
bottom: 10px;
padding: 0 10px;
}
</style>
</style>

54
src/views/components/resiChangeRecord.vue

@ -1,12 +1,10 @@
<template>
<div class="div_main">
<el-table class="table"
:data="tableData"
<el-table :data="tableData"
border
:height="tableHeight"
v-loading="tableLoading"
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}"
style="width: 100%">
<el-table-column label="序号"
@ -47,7 +45,7 @@
show-overflow-tooltip
min-width="230">
</el-table-column>
<el-table-column prop="operatorName"
header-align="center"
align="center"
@ -68,7 +66,7 @@
show-overflow-tooltip
min-width="120">
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChange"
@ -85,8 +83,6 @@
</template>
<script>
import util from '@js/util.js';
import { requestPost } from "@/js/dai/request";
import { mapGetters } from 'vuex'
@ -266,47 +262,5 @@ export default {
}
</script>
<style lang="scss" scoped >
@import "@/assets/scss/buttonstyle.scss";
.div_main {
background: #ffffff;
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
border-radius: 4px;
margin-top: 15px;
padding: 23px 30px 10px;
}
.div_search {
background: #ffffff;
border-radius: 4px;
padding: 30px 20px 5px;
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
}
.item_width_1 {
width: 260px;
}
.item_width_2 {
width: 495px;
}
.div_table {
background: #ffffff;
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
border-radius: 4px;
margin-top: 15px;
padding: 23px 30px 10px;
.table {
margin-top: 20px;
}
}
.el-row {
/* margin-bottom: 20px; */
display: flex;
flex-wrap: wrap;
margin-top: 10px;
margin-right: 50px;
}
@import "@/assets/scss/modules/management/list-main.scss";
</style>

448
src/views/components/resiSearch.vue

@ -3,213 +3,115 @@
<!-- <el-card class="resi-card"> -->
<div>
<el-form :inline="true"
:label-width="'100px'"
class="header_form_box"
v-for="(item, index) in sliceList(itemList, 4)"
:class="boxHeight?'setFormBoxHeightAuto':'setFormBoxHeight'"
:key="index">
<el-form-item v-for="n in item"
:key="n.id"
:span="computdSpan(item.length)"
:label="n.label"
class="margin0">
<el-input v-if="n.itemType === 'input' || n.itemType === 'textarea'"
v-model.trim="form[n.columnName]"
class="item_width_normal"
size="small"
clearable
placeholder="请输入内容">
</el-input>
<template v-else-if="n.itemType == 'inputRange'">
<!-- <el-input
<el-form :inline="true" class="header_form_box" v-for="(item, index) in sliceList(itemList, 4)"
:class="boxHeight ? 'setFormBoxHeightAuto' : 'setFormBoxHeight'" :key="index">
<el-form-item v-for="n in item" :key="n.id">
<div class="resi-cell">
<div style="width:100px;text-align: right;">{{ n.label }}:</div>
<div class="resi-cell-value" :class="n.itemType === 'radio' && 'resi-cell-value-radio'">
<el-input v-if="n.itemType === 'input' || n.itemType === 'textarea'" v-model.trim="form[n.columnName]"
class="item_width_normal" size="small" clearable placeholder="请输入内容">
</el-input>
<template v-else-if="n.itemType == 'inputRange'">
<!-- <el-input
v-model.trim="form[n.columnName]"
class="resi-cell-input"
size="small"
clearable
placeholder="请输入内容"
/> -->
<inputRange v-model="form[n.columnName]"
:type="n.validType"
@change="handleAgeChange" />
</template>
<template v-else-if="n.itemType === 'datepicker'">
<el-date-picker v-if="n.queryType === 'daterange'"
v-model.trim="form[n.columnName]"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
class="item_width_daterange2"
size="small"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd">
</el-date-picker>
<el-date-picker v-else
v-model.trim="form[n.columnName]"
class="item_width_normal"
type="date"
size="small"
clearable
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</template>
<el-select v-else-if="n.itemType === 'select' || n.itemType === 'radio'"
v-model.trim="form[n.columnName]"
placeholder="请选择"
size="small"
clearable
class="item_width_normal"
:collapse-tags="n.multiSelect == 1 ? true : false"
:multiple="n.multiSelect == 1 ? true : false">
<el-option v-for="item in n.options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-cascader v-else-if="n.itemType === 'cascader'"
v-model.trim="form[n.columnName]"
:options="n.options"
:props="{ checkStrictly: true }"
clearable
size="small"
class="resi-cell-select">
</el-cascader>
<template v-else-if="n.itemType === 'checkbox'">
<el-checkbox-group v-model="form[n.columnName]">
<el-checkbox v-for="ns in n.options"
:key="ns.value"
:label="ns.value">{{ns.label}}</el-checkbox>
</el-checkbox-group>
</template>
<inputRange style="height:37px;" v-model="form[n.columnName]" :type="n.validType" @change="handleAgeChange" />
</template>
<template v-else-if="n.itemType === 'datepicker'">
<el-date-picker v-if="n.queryType === 'daterange'" v-model.trim="timer.startPickerTime"
:picker-options="startPickerOptions" type="date" align="right" unlink-panels placeholder="开始时间"
class="item_width_daterang" size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
</el-date-picker>
<el-date-picker v-if="n.queryType === 'daterange'" v-model.trim="timer.endPickerTime"
:picker-options="endPickerOptions" class="item_width_daterang data-tag" size="small" type="date"
value-format="yyyy-MM-dd" value="yyyy-MM-dd" placeholder="结束时间">
</el-date-picker>
<el-date-picker v-else v-model.trim="form[n.columnName]" class="resi-cell-input" type="inputRange"
size="small" clearable format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择日期">
</el-date-picker>
</template>
<el-select v-else-if="n.itemType === 'select' || n.itemType === 'radio'" v-model.trim="form[n.columnName]"
placeholder="请选择" size="small" clearable class="item_width_normal"
:collapse-tags="n.multiSelect == 1 ? true : false" :multiple="n.multiSelect == 1 ? true : false">
<el-option v-for="item in n.options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<el-cascader v-else-if="n.itemType === 'cascader'" v-model.trim="form[n.columnName]" :options="n.options"
:props="{ checkStrictly: true }" clearable size="small" class="resi-cell-select">
</el-cascader>
<template v-else-if="n.itemType === 'checkbox'">
<el-checkbox-group v-model="form[n.columnName]">
<el-checkbox v-for="ns in n.options" :key="ns.value" :label="ns.value">{{ ns.label }}</el-checkbox>
</el-checkbox-group>
</template>
</div>
</div>
</el-form-item>
<el-form-item label="所属组织"
prop="agencyIdArray">
<el-cascader class="item_width_normal"
ref="myCascader"
size="small"
v-model="agencyIdArray"
:options="orgOptions"
:props="orgOptionProps"
:show-all-levels="false"
@change="handleChangeAgency"></el-cascader>
<el-form-item label="所属组织" prop="agencyIdArray" :label-width="'100px'" >
<el-cascader class="item_width_normal" ref="myCascader" v-model="agencyIdArray" :options="orgOptions"
:props="orgOptionProps" :show-all-levels="false" @change="handleChangeAgency"></el-cascader>
</el-form-item>
<el-form-item label="所属房屋"
prop="VILLAGE_ID">
<el-select v-model.trim="form.VILLAGE_ID"
placeholder="请选择小区"
size="small"
filterable
clearable
class="item_width_communitycascader"
@clear="handleClearVillage"
@change="handleChangeV">
<el-option v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.BUILD_ID"
placeholder="楼号"
size="small"
filterable
clearable
style="margin-left:5px"
class="item_width_buildcascader"
:disabled="changeVDisabled"
@clear="handleClearBuild"
@change="handleChangeB">
<el-option v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.UNIT_ID"
:disabled="changeBDisabled"
placeholder="单元"
size="small"
filterable
clearable
style="margin-left:5px"
class="item_width_buildcascader"
@click="handleClearDan"
@change="handleChangeD">
<el-option v-for="item in optionsD"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.HOME_ID"
:disabled="changeDDisabled"
placeholder="房号"
size="small"
filterable
clearable
style="margin-left:5px"
class="item_width_buildcascader">
<el-option v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-form-item label="所属房屋" prop="VILLAGE_ID" :label-width="'100px'" >
<div class="resi-cell">
<div class="resi-cell-value">
<el-select v-model.trim="form.VILLAGE_ID" placeholder="请选择小区" size="small" filterable clearable
class="resi-cell-select" @clear="handleClearVillage" @change="handleChangeV">
<el-option v-for="item in optionsV" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.BUILD_ID" placeholder="楼号" size="small" filterable clearable
style="width: 120px;" class="resi-cell-select" :disabled="changeVDisabled" @clear="handleClearBuild"
@change="handleChangeB">
<el-option v-for="item in optionsB" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.UNIT_ID" :disabled="changeBDisabled" placeholder="单元" size="small"
filterable clearable style="width: 120px;" class="resi-cell-select" @click="handleClearDan"
@change="handleChangeD">
<el-option v-for="item in optionsD" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.HOME_ID" :disabled="changeDDisabled" placeholder="房号" size="small"
filterable clearable style="width: 120px;" class="resi-cell-select">
<el-option v-for="item in optionsH" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
</div>
</el-form-item>
</el-form>
</div>
<el-row v-if="showSmartSearchForm"
class="resi-row-more">
<el-row v-if="showSmartSearchForm" class="resi-row-more">
<el-col :span="24">
<el-button v-for="btnItem in btnList"
:key="btnItem.index"
size="small"
:class="selBtnIndex===btnItem.index?'diy-button--blue':'diy-button--gray'"
@click="handelSelSmartBtn(btnItem.index)">{{btnItem.name}}</el-button>
<el-button v-for="btnItem in btnList" :key="btnItem.index" size="small"
:class="selBtnIndex === btnItem.index ? 'diy-button--blue' : 'diy-button--gray'"
@click="handelSelSmartBtn(btnItem.index)">{{ btnItem.name }}</el-button>
</el-col>
<el-col>
<smart-search-rule ref="ref_rule"
:formType="formType"></smart-search-rule>
<smart-search-rule ref="ref_rule" :formType="formType"></smart-search-rule>
</el-col>
</el-row>
<el-row v-if="isArrow"
class="resi-search">
<el-row v-if="isArrow" class="resi-search">
<el-col :span="24">
<el-button size="small"
class="diy-button--blue"
@click="handleSmartSearch">智能查询</el-button>
<el-button style="margin-left:10px"
size="small"
class="diy-button--white"
@click="resetForm">重置</el-button>
<el-button class="diy-button--blue"
size="small"
@click="handleSearch">查询 </el-button>
<el-button style="margin-left:15px"
size="small"
class="div-table-button--blue"
type="text"
@click="boxHeight = !boxHeight">{{boxHeight?'收起':'展开'}}<i class="el-icon-arrow-down el-icon--right"></i></el-button>
<!-- <span class="font_color_blue"
style="cursor:pointer;"
@click="boxHeight = !boxHeight">{{boxHeight?'收起':'展开'}} <i :class="boxHeight?'el-icon-arrow-up':'el-icon-arrow-down'"></i></span> -->
<el-button type="primary" size="small" plain class="diy-button--blue"
@click="handleSmartSearch">智能查询</el-button>
<el-button style="margin-left:10px" size="small" class="diy-button--white" type="primary" plain
@click="resetForm">重置</el-button>
<el-button type="primary" size="small" class="diy-button--blue" @click="handleSearch" plain>查询 </el-button>
<el-button style="margin-left:15px" size="small" class="div-table-button--blue" type="text"
@click="boxHeight = !boxHeight">{{ boxHeight ? '收起' : '展开' }}<i
:class="boxHeight ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"></i></el-button>
</el-col>
</el-row>
@ -242,7 +144,7 @@ export default {
default: false
}
},
data () {
data() {
let initForm = (arr, columnName) => {
let _form = {}
// console.log('formInfo', obj)
@ -269,6 +171,8 @@ export default {
...item
}
})
let form = initForm(itemList, this.columnName)
let tempFormList = itemList.map(item => {
@ -292,9 +196,23 @@ export default {
children: 'subAgencyList',
checkStrictly: true
}
let endDisabledDate = (time) => {//datareturn
let nowData = Date.now()
if (this.updateStartDate) {
let startTime = new Date(this.updateStartDate)
return time.getTime() > nowData || time.getTime() < startTime || time.getTime() === startTime
} else {
return time.getTime() > nowData
}
}
let startDisabledDate = (time) => {//datareturn
let nowData = Date.now()
return time.getTime() > nowData
}
return {
boxHeight: false,
boxHeight: true,
pageLoading: false,
openSearch: false,
optionsV: [],
@ -306,6 +224,7 @@ export default {
orgOptionProps,
agencyIdArray: [],
value: '',
// 1
itemList,
fixedList: [],
fixedForm: {
@ -331,7 +250,7 @@ export default {
shortcuts: [
{
text: '最近一周',
onClick (picker) {
onClick(picker) {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
@ -340,7 +259,7 @@ export default {
},
{
text: '最近一个月',
onClick (picker) {
onClick(picker) {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
@ -349,7 +268,7 @@ export default {
},
{
text: '最近三个月',
onClick (picker) {
onClick(picker) {
const end = new Date()
const start = new Date()
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
@ -456,13 +375,23 @@ export default {
},
]
}
]
],
endPickerOptions: {
disabledDate: endDisabledDate
},
startPickerOptions: {
disabledDate: startDisabledDate
},
timer: {
startPickerTime: '',
endPickerTime: ''
}
}
},
computed: {
sliceList () {
sliceList() {
return function (data, count) {
//
if (data !== undefined) {
let index = 0
let arrTemp = []
@ -472,25 +401,25 @@ export default {
arrTemp.push([])
}
arrTemp[index].push(data[i])
// console.log(data[i],'zhi');
}
console.log(arrTemp);
return arrTemp
}
}
},
changeVDisabled () {
changeVDisabled() {
return !this.form.VILLAGE_ID
},
changeBDisabled () {
changeBDisabled() {
return !this.form.BUILD_ID
},
changeDDisabled () {
changeDDisabled() {
return !this.form.UNIT_ID
},
},
watch: {
form: {
handler (val, val2) {
handler(val, val2) {
// console.log('valpppp----', val, val2)
for (let n in val) {
if (this.constForm[n] !== val[n]) {
@ -501,9 +430,16 @@ export default {
this.constForm = { ...val }
},
deep: true
},
timer: {
handler(newVal) {
this.handelWatchStartDate(newVal)
},
deep: true,
immediate: true
}
},
created () {
created() {
// this.initForm()
// console.log('formcccc---', this.form)
this.getOrgTreeList()
@ -512,47 +448,51 @@ export default {
if (this.columnName) this.handleChangeForm(this.columnName)
},
methods: {
handleSmartSearch () {
handleSmartSearch() {
this.showSmartSearchForm = !this.showSmartSearchForm
},
handelSelSmartBtn (index) {
handelSelSmartBtn(index) {
this.selBtnIndex = index
},
initForm () {
handelWatchStartDate(val) {
return val
},
initForm() {
this.formList.forEach((item) => {
this.$set(this.form, item.columnName, '')
})
console.log('formcccc---', this.form)
},
computdSpan (len) {
computdSpan(len) {
return len == 1 ? 24 : 6
},
handleClearVillage () {
handleClearVillage() {
this.form.BUILD_ID = ''
this.form.HOME_ID = ''
},
handleClearBuild () {
handleClearBuild() {
this.form.BUILD_ID = ''
this.form.UNIT_ID = ''
this.form.HOME_ID = ''
},
handleClearDan () {
handleClearDan() {
this.form.UNIT_ID = ''
this.form.HOME_ID = ''
},
resetForm (formName) {
resetForm(formName) {
for (const n in this.form) {
if (n == 'age') {
this.form.age = {
start: '',
end: ''
}
} else if (n == 'BIRTHDAY') {
this.form.BIRTHDAY = []
this.timer.startPickerTime = null
this.timer.endPickerTime = null
} else if (typeof this.form[n] == 'object') this.form[n] = []
else this.form[n] = ''
}
this.agencyIdArray = []
// let arr3 = [...arr1, ...arr]
@ -560,21 +500,20 @@ export default {
// this.handleSearch()
// this.orgOptions = [];
},
handleSearch () {
handleSearch() {
if (this.showSmartSearchForm) {
let refObj = this.$refs['ref_rule']
refObj.getRule()
} else {
// debugger
// console.log('formmmmm---', this.form)
const itemTypes = ['daterange', 'timerange', 'checkbox']
let a = this.tempFormList.filter(item => item.itemType != 'inputRange')
let arr = a.filter((n) => n.isChange).map((item) => {
let arr = a.filter(n => n.isChange).map((item) => {
return {
queryType: item.queryType,
tableName: item.tableName,
columnName: item.columnName,
// columnValue: []
columnValue: this.form[item.columnName] &&
(itemTypes.includes(item.queryType) ||
itemTypes.includes(item.itemType) || item.multiSelect == 1
@ -590,24 +529,47 @@ export default {
...item
}
})
let arr3 = [...arr1, ...arr2]
var arr4 = []
var arr3 = [...arr1, ...arr2];
if (this.timer.startPickerTime && this.timer.endPickerTime) {
arr4 = [{
queryType: 'daterange',
tableName: 'ic_resi_user',
columnName: 'BIRTHDAY',
columnValue: [this.timer.startPickerTime || '', this.timer.endPickerTime || '']
}]
arr3 = [...arr1, ...arr2, ...arr4]
} else {
let i = arr3.findIndex(item => item.columnName == 'BIRTHDAY')
console.log(i, '标');
arr3 = arr3.splice(i,1)
console.log(arr3);
}
this.$emit('search', arr3)
arr3 = []
return arr3
}
},
handleOpenSearch () {
handleOpenSearch() {
this.openSearch = !this.openSearch
},
handleAgeChange (val) {
handleAgeChange(val) {
// debugger
console.log('val----age---', val)
if (val.end) {
const s = this.computedBirth(val.end)
const e = this.computedBirth(val.start)
this.form.BIRTHDAY = [s, e]
}
// console.log(v);
if(val.start){
const s = this.computedBirth1(val.start)
const e = this.computedBirth(val.start)
this.form.BIRTHDAY = [s, e]
}else {
this.form.BIRTHDAY = []
return
}
},
handleChangeAgency (val) {
handleChangeAgency(val) {
let obj = this.$refs["myCascader"].getCheckedNodes()[0].data
if (obj) {
if (obj.level === 'grid') {
@ -629,7 +591,7 @@ export default {
this.form.HOME_ID = ''
this.getValiheList()
},
handleChangeGrid (val) {
handleChangeGrid(val) {
console.log('val', val)
this.form.VILLAGE_ID = ''
this.form.BUILD_ID = ''
@ -637,28 +599,27 @@ export default {
this.form.HOME_ID = ''
this.getValiheList()
},
handleChangeV (val) {
handleChangeV(val) {
console.log('val', val)
this.form.BUILD_ID = ''
this.form.UNIT_ID = ''
this.form.HOME_ID = ''
this.getBuildList()
},
handleChangeB (val) {
handleChangeB(val) {
console.log('val', val)
this.form.UNIT_ID = ''
this.form.HOME_ID = ''
this.getUniList()
},
handleChangeD (val) {
handleChangeD(val) {
console.log('val', val)
this.form.HOME_ID = ''
this.getHouseList()
},
// form
handleChangeForm (val) {
handleChangeForm(val) {
for (let n in this.fixedForm) {
if (n === val) {
if (this.fixedList.length > 0) {
let _item = {}
@ -696,7 +657,7 @@ export default {
if (item.columnName === val) item.isChange = true
})
},
getOrgTreeList () {
getOrgTreeList() {
const { user } = this.$store.state
this.$http
.post('/gov/org/customeragency/agencygridtree', {})
@ -713,7 +674,7 @@ export default {
return this.$message.error('网络错误')
})
},
getGridList () {
getGridList() {
const { user } = this.$store.state
this.$http
.post('/gov/org/customergrid/gridoption', { agencyId: user.agencyId, purpose: 'query' })
@ -729,7 +690,7 @@ export default {
return this.$message.error('网络错误')
})
},
getValiheList () {
getValiheList() {
const { user } = this.$store.state
this.$http
.post('/gov/org/icneighborhood/neighborhoodoption', {
@ -749,7 +710,7 @@ export default {
return this.$message.error('网络错误')
})
},
getBuildList () {
getBuildList() {
this.$http
.post('/gov/org/icbuilding/buildingoption', {
neighborHoodId: this.form.VILLAGE_ID
@ -766,7 +727,7 @@ export default {
return this.$message.error('网络错误')
})
},
getUniList () {
getUniList() {
this.$http
.post('/gov/org/icbuildingunit/unitoption', {
buildingId: this.form.BUILD_ID
@ -783,7 +744,7 @@ export default {
return this.$message.error('网络错误')
})
},
getHouseList () {
getHouseList() {
this.$http
.post('/gov/org/ichouse/houseoption', { unitId: this.form.UNIT_ID })
.then(({ data: res }) => {
@ -798,7 +759,7 @@ export default {
return this.$message.error('网络错误')
})
},
computedBirth (age) {
computedBirth(age) {
let now = new Date();
let nowYear = now.getFullYear();
let nowMonth = now.getMonth() + 1;
@ -810,8 +771,21 @@ export default {
if (nowDay < 10) {
nowDay = '0' + nowDay
}
console.log(subYear + '-' + nowMonth + '-' + nowDay);
return subYear + '-' + nowMonth + '-' + nowDay
},
computedBirth1(age) {
let now = new Date();
let nowYear = now.getFullYear();
let nowMonth = now.getMonth() + 1;
let nowDay = now.getDate(); // daymonthmonthyearyear
let subYear = nowYear - age
if (nowMonth < 10) {
nowMonth = '0' + nowMonth
}
if (nowDay < 10) {
nowDay = '0' + nowDay
}
return subYear - 1 + '-' + nowMonth + '-' + nowDay
}
}
}
@ -820,6 +794,8 @@ export default {
<style lang="scss" scope>
@import "@/assets/scss/modules/management/list-main.scss";
@import "@/assets/scss/modules/visual/communityManage.scss";
.header_form_box {
display: flex;
flex-wrap: wrap;

123
src/views/modules/base/huji/immigration/detail.vue

@ -4,70 +4,69 @@
<div v-if="initLoading"
class="m-row">
<div class="m-info">
<div class="info-prop">
<span class="info-title-2">所属网格</span>
<span>{{ fmData.gridName }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">所属房屋</span>
<span>{{ fmData.allName?fmData.allName:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">姓名</span>
<span>{{ fmData.name}}</span>
</div>
<div class="info-prop">
<span class="info-title-2">手机号</span>
<span>{{ fmData.mobile?fmData.mobile:'--'}}</span>
</div>
<div class="info-prop">
<span class="info-title-2">证件号</span>
<span>{{ fmData.idCard?fmData.idCard:'--'}}</span>
</div>
<div class="info-prop">
<span class="info-title-2">性别</span>
<span>{{fmData.genderName?fmData.genderName:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">年龄</span>
<span>{{ fmData.age?fmData.age:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">迁入日期</span>
<span>{{ fmData.inTime?fmData.inTime:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">迁入原因</span>
<span>{{ fmData.inReason?fmData.inReason:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">来源地</span>
<span>{{ fmData.sourceAddress?fmData.sourceAddress:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">详细地址</span>
<span>{{ fmData.address? fmData.address:'--'}}</span>
</div>
<div class="info-prop">
<span class="info-title-2">迁移证号码</span>
<span>{{ fmData.moveNumber?fmData.moveNumber:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">户主姓名</span>
<span>{{ fmData.householderName? fmData.householderName:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">与户主关系</span>
<span>{{ fmData.householderRelationName? fmData.householderRelationName:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title info-title-100">所属网格</span>
<span>{{ fmData.gridName }}</span>
</div>
<div class="info-prop">
<span class="info-title info-title-100">所属房屋</span>
<span>{{ fmData.allName?fmData.allName:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title info-title-100">姓名</span>
<span>{{ fmData.name}}</span>
</div>
<div class="info-prop">
<span class="info-title info-title-100">手机号</span>
<span>{{ fmData.mobile?fmData.mobile:'--'}}</span>
</div>
<div class="info-prop">
<span class="info-title info-title-100">证件号</span>
<span>{{ fmData.idCard?fmData.idCard:'--'}}</span>
</div>
<div class="info-prop">
<span class="info-title info-title-100">性别</span>
<span>{{fmData.genderName?fmData.genderName:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title info-title-100">年龄</span>
<span>{{ fmData.age?fmData.age:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title info-title-100">迁入日期</span>
<span>{{ fmData.inTime?fmData.inTime:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title info-title-100">迁入原因</span>
<span>{{ fmData.inReason?fmData.inReason:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title info-title-100">来源地</span>
<span>{{ fmData.sourceAddress?fmData.sourceAddress:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title info-title-100">详细地址</span>
<span>{{ fmData.address? fmData.address:'--'}}</span>
</div>
<div class="info-prop">
<span class="info-title info-title-100">迁移证号码</span>
<span>{{ fmData.moveNumber?fmData.moveNumber:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title info-title-100">户主姓名</span>
<span>{{ fmData.householderName? fmData.householderName:'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title info-title-100">与户主关系</span>
<span>{{ fmData.householderRelationName? fmData.householderRelationName:'--' }}</span>
</div>
</div>
</div>

2
src/views/modules/base/huji/immigration/index.vue

@ -500,7 +500,7 @@ export default {
this.getValiheList()
this.getTableData()
this.searchH = this.$refs.searchForm.offsetHeight + 300
this.searchH = this.$refs.searchForm.offsetHeight + 290
console.log('searchH----', this.$refs.searchForm.offsetHeight)
},
methods: {

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

@ -505,6 +505,8 @@ export default {
}
await this.getSearchList();
// await this.getFormList()
await this.getTableHeader();
// console.log('this.$refs.resiSearch', this)
@ -707,7 +709,6 @@ export default {
// console.log('search-----refs', this.$refs[`resiSearch${item.itemGroupId}`])
});
console.log("search-----refs", this.$refs);
console.log("search-----arr", arr);
this.currentPage = 1;
this.conditions = arr;
@ -1156,15 +1157,32 @@ export default {
},
async getTableData () {
this.tableLoading = true;
// console.log(this.conditions);
// if(this.conditions.columnName){
// columnValue
// }
// var index = this.conditions.findIndex(item=>item.columnName === 'BIRTHDAY' )
// this.conditions.filter(item=>{
// if(item.columnName === "BIRTHDAY") {
// console.log(this.$refs.resiSearch.endPickerTime);
// item.columnValue = [this.$refs.resiSearch.endPickerTime,this.$refs.resiSearch.startPickerTime]
// }
// })
// console.log(this.conditions);
let timer = this.$refs.resiSearch.handelWatchStartDate()
console.log(timer,'派发');
let params = {
formCode: "resi_base_info",
pageNo: this.currentPage,
pageSize: this.pageSize,
conditions: this.conditions,
};
// debugger
await this.$http
.post("/epmetuser/icresiuser/listresi", params)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
@ -1183,7 +1201,9 @@ export default {
}
})
.catch(() => {
console.log(this.conditions);
return this.$message.error("网络错误");
});
this.tableLoading = false;
},
@ -1315,6 +1335,7 @@ export default {
});
});
this.searchList = res.data;
console.log( this.searchList);
}
})
.catch(() => {
@ -1337,6 +1358,7 @@ export default {
return arr;
},
async getFormList (type) {
// debugger
await this.$http
.post("/oper/customize/icform/getcustomerform", {
formCode: "resi_base_info",
@ -1346,6 +1368,7 @@ export default {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
console.log(res.data,'res.data');
console.log("获取详情成功getFormList");
let { itemList, groupList, formName } = res.data;
this.formName = formName;
@ -1488,11 +1511,6 @@ export default {
background: #ffffff;
border-color: #0055d7;
}
::v-deep .el-button--primary.is-plain:hover {
color: #fff;
background: #0055d7;
border-color: #0055d7;
}
.resi-container .resi-card-table {
::v-deep .el-table th {
color: #fff;
@ -1585,7 +1603,9 @@ export default {
width: calc(100% - 100px);
}
}
::v-deep .el-form-item--medium .el-form-item__label {
padding: 0px;
}
.resi-btns {
margin-top: 20px;
text-align: center;

62
src/views/modules/plugins/change/resichange.vue

@ -1,10 +1,10 @@
<template>
<div class="resi-container">
<div class="div_main">
<death-search v-if="searchList.length > 0"
ref="deathSearch"
:form-list="searchList"
:column-name="defaultCategotyKey"
@search="handleSearch" />
ref="deathSearch"
:form-list="searchList"
:column-name="defaultCategotyKey"
@search="handleSearch" />
<el-card class="resi-card-table">
<!-- <div class="resi-row-btn">
<el-button size="small"
@ -66,10 +66,9 @@
:label="item.label"
align="center"
:fixed="item.columnName == 'NAME' ? 'left' : false"
:show-overflow-tooltip="true"
>
<!-- :width="item.width || computedWidth(item.label, item.itemType)" -->
<!-- :width="item.itemType === 'radio' ? computedWidth(item.label) : 180" -->
:show-overflow-tooltip="true">
<!-- :width="item.width || computedWidth(item.label, item.itemType)" -->
<!-- :width="item.itemType === 'radio' ? computedWidth(item.label) : 180" -->
<template slot-scope="scope">
<a v-if="item.columnName == 'NAME'"
class="name-a"
@ -87,10 +86,10 @@
type="text"
size="small"
class="div-table-button--detail">迁出</el-button>
<!--<el-button @click="joinBlacklist(scope.row)"-->
<!--type="text"-->
<!--size="small"-->
<!--class="div-table-button&#45;&#45;detail">迁入死亡人口</el-button>-->
<!--<el-button @click="joinBlacklist(scope.row)"-->
<!--type="text"-->
<!--size="small"-->
<!--class="div-table-button&#45;&#45;detail">迁入死亡人口</el-button>-->
<!-- <el-button @click="handleLook(scope.row)"
type="text"
size="small"
@ -248,7 +247,7 @@
class="dialog-h"
@closed="diaClose">
<resi-change-transfer ref="ref_change_transfer"
@dialogCancle="transferClose"></resi-change-transfer>
@dialogCancle="transferClose"></resi-change-transfer>
</el-dialog>
<!-- 变更记录 -->
@ -265,14 +264,17 @@
:userId="lookInfo.userId"
:gridName="lookInfo.gridName"
@close="handleCancleLook" />
<el-dialog
title="迁入死亡人口的原因"
:visible.sync="blacklistVisible"
width="40%">
<textarea v-model="blacklistReason" placeholder="请输入迁入死亡人口的原因" class="blacklist-reason"></textarea>
<span slot="footer" class="dialog-footer">
<el-dialog title="迁入死亡人口的原因"
:visible.sync="blacklistVisible"
width="40%">
<textarea v-model="blacklistReason"
placeholder="请输入迁入死亡人口的原因"
class="blacklist-reason"></textarea>
<span slot="footer"
class="dialog-footer">
<el-button @click="blacklistVisible = false"> </el-button>
<el-button type="primary" @click="confirmJoinDeathlist"> </el-button>
<el-button type="primary"
@click="confirmJoinDeathlist"> </el-button>
</span>
</el-dialog>
</div>
@ -291,10 +293,10 @@ import peopleMore from "@/views/modules/shequ/cpts/people-more";
export default {
components: {
deathSearch,
deathSearch,
resiForm,
editResi,
resiChangeTransfer,
resiChangeTransfer,
resiChangeRecord,
peopleMore
},
@ -368,7 +370,7 @@ export default {
},
computed: {
...mapGetters(['clientHeight', 'iframeHeight']),
tableHeight() {
tableHeight () {
const h = this.clientHeight - this.searchH - 280 + this.iframeHeigh
const _h = this.clientHeight - 280 - this.searchH
return this.$store.state.inIframe ? h : _h
@ -404,13 +406,13 @@ export default {
},
methods: {
searchFilter (columnName) {
const filterName = [ 'NAME', 'MOBILE', 'ID_CARD' ]
const filterName = ['NAME', 'MOBILE', 'ID_CARD']
return filterName.some(item => {
return item == columnName
})
},
tableHeaderFilter (columnName) {
const filterName = [ 'NAME', 'GRID_ID', 'HOME_ID', 'MOBILE', 'ID_CARD', 'GENDER' ]
const filterName = ['NAME', 'GRID_ID', 'HOME_ID', 'MOBILE', 'ID_CARD', 'GENDER']
return filterName.some(item => {
return item == columnName
})
@ -430,7 +432,7 @@ export default {
userId: this.rowData.icResiUserId,
joinReason: this.blacklistReason
}
console.log('----------8----------')
console.log('----------8----------')
console.log(params)
this.$http.post('/epmetuser/rentDeath/save', params).then(({ data: res }) => {
if (res.code !== 0) {
@ -483,7 +485,7 @@ export default {
let wd = ''
if (type == 'input' || type == 'select') wd = 40 * label.length
else if(type == 'radio') wd = 20 * label.length
else if (type == 'radio') wd = 20 * label.length
console.log('type-----wd', wd)
return wd > 80 ? wd : 80
},
@ -775,7 +777,7 @@ export default {
// await this.getFormList('edit')
// this.getrowInfo(row.icResiUserId)
},
handleCancleLook() {
handleCancleLook () {
this.lookInfo.userId = ''
this.lookInfo.gridName = ''
this.showedPeopleMoreInfo = false;
@ -1234,6 +1236,8 @@ export default {
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/list-main.scss";
.tabs-other-info {
::v-deep .el-tabs__item {
// width: 50px;

561
src/views/modules/plugins/change/verify.vue

@ -1,152 +1,121 @@
<template>
<div class="resi-container">
<el-card ref="searchCard" class="search-card">
<el-form
ref="searchForm"
:inline="true"
:model="fmData"
:label-width="'100px'"
class="demo-form-inline"
>
<div>
<el-form-item prop="gridId" label="所属网格">
<div class="resi-cell-value">
<el-select
v-model.trim="fmData.gridId"
placeholder="请选择网格"
size="small"
clearable
class="resi-cell-select"
@change="handleChangeGrid"
>
<el-option
v-for="item in optionsG"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
</el-form-item>
<el-form-item label="所属房屋">
<div class="resi-cell-value">
<div class="resi-cell-col">
<el-form-item prop="villageId">
<el-select
v-model.trim="fmData.villageId"
placeholder="请选择小区"
<div class="div_main">
<div ref="searchForm"
class="div_search">
<el-form ref="searchForm"
:inline="true"
:model="fmData"
:label-width="'100px'">
<el-form-item prop="gridId"
label="所属网格">
<el-select v-model.trim="fmData.gridId"
placeholder="请选择网格"
size="small"
clearable
class="item_width_normal"
@change="handleChangeGrid">
<el-option v-for="item in optionsG"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="所属房屋">
<el-select v-model.trim="fmData.villageId"
placeholder="请选择小区"
size="small"
clearable
class="item_width_communitycascader"
@change="handleChangeV">
<el-option v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="fmData.buildId"
placeholder="楼号"
size="small"
clearable
:disabled="changeVDisabled"
class="item_width_buildcascader"
style="margin-left:5px"
@change="handleChangeB">
<el-option v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="fmData.unitId"
placeholder="单元"
size="small"
clearable
:disabled="changeBDisabled"
class="item_width_buildcascader"
style="margin-left:5px"
@change="handleChangeD">
<el-option v-for="item in optionsD"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="fmData.homeId"
placeholder="房号"
size="small"
clearable
:disabled="changeDDisabled"
class="item_width_buildcascader"
style="margin-left:5px">
<el-option v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="姓名"
prop="name">
<el-input v-model="fmData.name"
class="item_width_normal"
size="small"
clearable
class="resi-cell-select"
@change="handleChangeV"
>
<el-option
v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="buildId">
<el-select
v-model.trim="fmData.buildId"
placeholder="楼号"
placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="手机号"
prop="mobile">
<el-input v-model="fmData.mobile"
class="item_width_normal"
size="small"
clearable
:disabled="changeVDisabled"
class="resi-cell-select resi-cell-select-middle"
@change="handleChangeB"
>
<el-option
v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="unitId">
<el-select
v-model.trim="fmData.unitId"
placeholder="单元"
placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="证件号"
prop="idCard">
<el-input v-model="fmData.idCard"
class="item_width_normal"
size="small"
clearable
:disabled="changeBDisabled"
class="resi-cell-select resi-cell-select-middle"
@change="handleChangeD"
>
<el-option
v-for="item in optionsD"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="homeId">
<el-select
v-model.trim="fmData.homeId"
placeholder="房号"
size="small"
clearable
:disabled="changeDDisabled"
class="resi-cell-select resi-cell-select-middle"
>
<el-option
v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</div>
</div>
</el-form-item>
</div>
placeholder="请输入">
</el-input>
</el-form-item>
<div>
<el-form-item label="姓名" prop="name">
<el-input
v-model="fmData.name"
class="resi-cell-input"
size="small"
clearable
placeholder="请输入"
>
</el-input>
</el-form-item>
<el-form-item label="手机号" prop="mobile">
<el-input
v-model="fmData.mobile"
class="resi-cell-input"
size="small"
clearable
placeholder="请输入"
>
</el-input>
</el-form-item>
<el-form-item label="证件号" prop="idCard">
<el-input
v-model="fmData.idCard"
class="resi-cell-input"
size="small"
clearable
placeholder="请输入"
>
</el-input>
</el-form-item>
</div>
<div>
<!-- <el-form-item label="迁入时间" prop="startTime">
<!-- <el-form-item label="迁入时间" prop="startTime">
<el-date-picker
v-model="rangeTime"
type="daterange"
@ -158,104 +127,87 @@
</el-date-picker>
</el-form-item> -->
<el-form-item label="审核状态" prop="confirmResult">
<el-select
v-model.trim="fmData.confirmResult"
placeholder="审核状态"
size="small"
clearable
class="resi-cell-select"
>
<el-option
v-for="item in optionsWelfare"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
class="diy-button--search"
size="small"
@click="handleSearch"
>查询</el-button
>
<el-button
class="diy-button--reset"
size="small"
@click="resetForm('searchForm')"
>重置</el-button
>
</el-form-item>
<el-form-item label="审核状态"
prop="confirmResult">
<el-select v-model.trim="fmData.confirmResult"
placeholder="审核状态"
size="small"
clearable
class="item_width_normal">
<el-option v-for="item in optionsWelfare"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<div class="div_search_btn">
<el-button class="diy-button--white"
size="small"
@click="resetForm('searchForm')">重置</el-button>
<el-button style="margin-left:10px"
size="small"
class="diy-button--blue"
@click="handleSearch">查询</el-button>
</div>
</el-form>
</el-card>
</div>
<el-card class="resi-card-table">
<el-table
:data="tableData"
border
style="width: 100%"
class="resi-table"
:height="maxTableHeight"
>
<el-table-column
label="序号"
fixed="left"
type="index"
align="center"
width="50"
/>
<el-table-column
prop="name"
width="100"
fixed="left"
label="姓名"
align="center"
/>
<!-- <template slot-scope="scope">
<el-table :data="tableData"
border
style="width: 100%"
class="resi-table"
:height="maxTableHeight">
<el-table-column label="序号"
fixed="left"
type="index"
align="center"
width="50" />
<el-table-column prop="name"
width="100"
fixed="left"
label="姓名"
align="center" />
<!-- <template slot-scope="scope">
<a class="name-a" @click="handleWatch(scope.$index)">
{{ scope.row.name }}
</a>
</template>
</el-table-column> -->
<el-table-column prop="gender" align="center" width="60" label="性别">
<el-table-column prop="gender"
align="center"
width="60"
label="性别">
</el-table-column>
<el-table-column
prop="mobile"
width="140"
align="center"
label="手机号"
>
<el-table-column prop="mobile"
width="140"
align="center"
label="手机号">
</el-table-column>
<el-table-column
prop="idCard"
align="center"
width="180"
label="证件号"
>
<el-table-column prop="idCard"
align="center"
width="180"
label="证件号">
</el-table-column>
<el-table-column
prop="gridName"
align="center"
label="所属网格"
min-width="160"
:show-overflow-tooltip="true"
>
<el-table-column prop="gridName"
align="center"
label="所属网格"
min-width="160"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="homeName"
label="所属房屋"
align="center"
min-width="160"
:show-overflow-tooltip="true"
/>
<el-table-column prop="homeName"
label="所属房屋"
align="center"
min-width="160"
:show-overflow-tooltip="true" />
<!-- <el-table-column
prop="allName"
label="迁出类型"
@ -263,40 +215,31 @@
min-width="160"
:show-overflow-tooltip="true"
/> -->
<el-table-column
prop="newHomeName"
label="迁往房屋"
align="center"
min-width="160"
:show-overflow-tooltip="true"
/>
<el-table-column
prop="confirmResult"
label="审核状态"
align="center"
width="100"
/>
<el-table-column fixed="right" label="操作" align="center" width="120">
<el-table-column prop="newHomeName"
label="迁往房屋"
align="center"
min-width="160"
:show-overflow-tooltip="true" />
<el-table-column prop="confirmResult"
label="审核状态"
align="center"
width="100" />
<el-table-column fixed="right"
label="操作"
align="center"
width="120">
<template slot-scope="scope">
<el-button
@click="handleWatch(scope.row)"
type="text"
size="small"
>查看</el-button
>
<el-button @click="handleWatch(scope.row)"
type="text"
size="small">查看</el-button>
<template v-if="filterEdit(scope.row.agencyId)">
<el-button
v-if="scope.row.confirmResult == '未审核'"
@click="handleEdit(scope.row)"
type="text"
size="small"
class="div-table-button--edit"
>审核</el-button
>
<el-button v-if="scope.row.confirmResult == '未审核'"
@click="handleEdit(scope.row)"
type="text"
size="small"
class="div-table-button--edit">审核</el-button>
</template>
</template>
@ -304,35 +247,29 @@
</el-table>
<div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total"
:total="total"
>
<el-pagination @size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total"
:total="total">
</el-pagination>
</div>
</el-card>
<!-- 修改弹出框 -->
<el-dialog
:visible.sync="formShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="formTitle"
width="1000px"
top="5vh"
class="dialog-h"
@close="handleClose(false)"
>
<verify-form
v-if="formShow"
ref="eleEditForm"
@dialogCancle="handleClose"
></verify-form>
<el-dialog :visible.sync="formShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="formTitle"
width="1000px"
top="5vh"
class="dialog-h"
@close="handleClose(false)">
<verify-form v-if="formShow"
ref="eleEditForm"
@dialogCancle="handleClose"></verify-form>
</el-dialog>
</div>
</template>
@ -346,7 +283,7 @@ import axios from 'axios'
export default {
components: { verifyForm },
data() {
data () {
return {
openSearch: false,
@ -402,7 +339,7 @@ export default {
},
computed: {
...mapGetters(['clientHeight', 'iframeHeight']),
maxTableHeight() {
maxTableHeight () {
console.log('computed-searchH---', this.searchH)
const h = this.clientHeight - this.searchH - 440 + this.iframeHeight
const _h = this.clientHeight - this.searchH - 440
@ -411,13 +348,13 @@ export default {
},
changeVDisabled() {
changeVDisabled () {
return !this.fmData.villageId
},
changeBDisabled() {
changeBDisabled () {
return !this.fmData.buildId
},
changeDDisabled() {
changeDDisabled () {
return !this.fmData.unitId
}
},
@ -432,7 +369,7 @@ export default {
this.fmData.endTime = ''
}
},
searchH() {
searchH () {
const h = this.clientHeight - this.searchH + this.iframeHeight
const _h = this.clientHeight - this.searchH
console.log('computed-searchH---_h', _h)
@ -442,7 +379,7 @@ export default {
})
}
},
mounted() {
mounted () {
this.getGridList()
this.getValiheList()
this.getTableData()
@ -454,20 +391,20 @@ export default {
const { user } = this.$store.state
return id === user.agencyId
},
handleClearVillage() {
handleClearVillage () {
this.fmData.buildId = ''
this.fmData.homeId = ''
},
handleClearBuild() {
handleClearBuild () {
this.fmData.buildId = ''
this.fmData.unitId = ''
this.fmData.homeId = ''
},
handleClearDan() {
handleClearDan () {
this.fmData.unitId = ''
this.fmData.homeId = ''
},
handleChangeGrid(val) {
handleChangeGrid (val) {
console.log('val', val)
this.fmData.villageId = ''
this.fmData.buildId = ''
@ -475,26 +412,26 @@ export default {
this.fmData.homeId = ''
this.getValiheList()
},
handleChangeV(val) {
handleChangeV (val) {
console.log('val', val)
this.fmData.buildId = ''
this.fmData.unitId = ''
this.fmData.homeId = ''
this.getBuildList()
},
handleChangeB(val) {
handleChangeB (val) {
console.log('val', val)
this.fmData.unitId = ''
this.fmData.homeId = ''
this.getUniList()
},
handleChangeD(val) {
handleChangeD (val) {
console.log('val', val)
this.fmData.homeId = ''
this.getHouseList()
},
getGridList() {
getGridList () {
const { user } = this.$store.state
this.$http
.post('/gov/org/customergrid/gridoption', {
@ -513,7 +450,7 @@ export default {
return this.$message.error('网络错误')
})
},
getValiheList() {
getValiheList () {
const { user } = this.$store.state
this.$http
.post('/gov/org/icneighborhood/neighborhoodoption', {
@ -533,7 +470,7 @@ export default {
return this.$message.error('网络错误')
})
},
getBuildList() {
getBuildList () {
this.$http
.post('/gov/org/icbuilding/buildingoption', {
neighborHoodId: this.fmData.villageId
@ -550,7 +487,7 @@ export default {
return this.$message.error('网络错误')
})
},
getUniList() {
getUniList () {
this.$http
.post('/gov/org/icbuildingunit/unitoption', {
buildingId: this.fmData.buildId
@ -567,7 +504,7 @@ export default {
return this.$message.error('网络错误')
})
},
getHouseList() {
getHouseList () {
this.$http
.post('/gov/org/ichouse/houseoption', { unitId: this.fmData.unitId })
.then(({ data: res }) => {
@ -583,35 +520,35 @@ export default {
})
},
handleSizeChange(val) {
handleSizeChange (val) {
console.log(`每页 ${val}`)
this.pageSize = val
window.localStorage.setItem('pageSize', val)
this.getTableData()
},
handleCurrentChange(val) {
handleCurrentChange (val) {
console.log(`当前页: ${val}`)
this.pageNo = val
this.getTableData()
},
handleClose(val) {
handleClose (val) {
console.log('val-----', val)
if (val) {
this.handleEditSuccess()
}
this.formShow = false
},
handleSearch(val) {
handleSearch (val) {
console.log(this.fmData)
this.pageNo = 1
this.getTableData()
},
resetForm(formName) {
resetForm (formName) {
this.$refs[formName].resetFields()
this.handleSearch()
},
async handleAdd() {
async handleAdd () {
this.formShow = true
await nextTick()
console.log(this.$refs)
@ -619,23 +556,23 @@ export default {
},
async handleWatch(row) {
async handleWatch (row) {
this.formShow = true
await nextTick()
this.$refs.eleEditForm.getDatail('detail', row.id)
},
async handleEdit(row) {
async handleEdit (row) {
this.formShow = true
await nextTick()
this.$refs.eleEditForm.getDatail('edit', row.id)
},
handleEditSuccess() {
handleEditSuccess () {
// this.handleClose()
this.getTableData()
},
async handleDel(rowData, rowIndex) {
async handleDel (rowData, rowIndex) {
console.log(rowData, rowIndex)
const url =
'/heart/iccommunityselforganization/delcommunityselforganization'
@ -653,7 +590,7 @@ export default {
}
},
async getTableData() {
async getTableData () {
const url = '/epmetuser/myHome/confirmList'
const { pageSize, pageNo, fmData } = this
const { data, code, msg } = await requestPost(url, {
@ -666,8 +603,8 @@ export default {
this.total = data.total || 0
this.tableData = data.list
? data.list.map((item) => {
return item
})
return item
})
: []
} else {
}
@ -677,7 +614,7 @@ export default {
</script>
<style lang="scss" scoped>
@import '@/assets/scss/buttonstyle.scss';
@import "@/assets/scss/modules/management/list-main.scss";
.resi-container .resi-card-table {
::v-deep .el-table th {

Loading…
Cancel
Save