wxz 3 years ago
parent
commit
f235a9042e
  1. 2
      .env.production.sit
  2. 1088
      src/js/util.js
  3. 2
      src/views/components/editResi.vue
  4. 12
      src/views/components/resiForm.vue
  5. 211
      src/views/components/resiInfo.vue
  6. 12
      src/views/dataBoard/cpts/map/popup.vue
  7. 9
      src/views/dataBoard/renfang/cpts/fwgl.vue
  8. 6
      src/views/dataBoard/renfang/cpts/jmgl.vue
  9. 2
      src/views/dataBoard/renfang/cpts/rkfx.vue
  10. 2
      src/views/dataBoard/renfang/cpts/rkfxPieOption.js
  11. 26
      src/views/dataBoard/renfang/cpts/rkyj.vue
  12. 47
      src/views/dataBoard/renfang/index.vue
  13. 4
      src/views/dataBoard/renfang/resi/analyze.vue
  14. 16
      src/views/dataBoard/renfang/resi/class.vue
  15. 4
      src/views/dataBoard/renfang/resi/list.vue
  16. 4
      src/views/dataBoard/renfang/warn/resi.vue
  17. 303
      src/views/main.vue
  18. 1946
      src/views/modules/base/community/community.vue
  19. 1629
      src/views/modules/base/community/communityExportInfo.vue
  20. 2
      src/views/modules/base/community/communityForm.vue
  21. 2507
      src/views/modules/base/community/communityTable.vue
  22. 4
      src/views/modules/base/community/roomForm.vue
  23. 2
      src/views/modules/base/community/roomTable.vue
  24. 6
      src/views/modules/base/huji/chusheng/cpts/edit.vue
  25. 4
      src/views/modules/base/huji/immigration/edit.vue
  26. 2004
      src/views/modules/base/huji/immigration/index.vue
  27. 3553
      src/views/modules/base/resi.vue
  28. 4
      src/views/modules/base/roomForm.vue
  29. 928
      src/views/modules/base/smartImport.vue
  30. 4
      src/views/modules/cabaseinfo/carental-add-or-update.vue
  31. 4
      src/views/modules/cabaseinfo/caresident-add-or-update.vue
  32. 6
      src/views/modules/cabaseinfo/caresident.vue
  33. 4
      src/views/modules/cabaseinfo/carotators-add-or-update.vue
  34. 4
      src/views/modules/cabaseinfo/carotators-binding-house.vue
  35. 6
      src/views/modules/cabaseinfo/carotators.vue
  36. 2
      src/views/modules/communityParty/heart/heartAudit.vue
  37. 2
      src/views/modules/communityParty/heart/heartPerson.vue
  38. 6
      src/views/modules/communityParty/members/crateForm.vue
  39. 2
      src/views/modules/communityParty/members/detailForm.vue
  40. 4
      src/views/modules/communityParty/members/index.vue
  41. 6
      src/views/modules/communityParty/members/points.vue
  42. 85
      src/views/modules/communityService/commonDemand/index.vue
  43. 590
      src/views/modules/communityService/labelConfig/addForm.vue
  44. 236
      src/views/modules/communityService/labelConfig/index.vue
  45. 6
      src/views/modules/communityService/measure/points.vue
  46. 6
      src/views/modules/communityService/policy/personListItem.vue
  47. 4
      src/views/modules/demo/demo-add-or-update.vue
  48. 4
      src/views/modules/demo/demo.vue
  49. 2
      src/views/modules/home/index.vue
  50. 1
      src/views/modules/home/notice.vue
  51. 6
      src/views/modules/partymember/icpartymemberpayrecorddetail.vue
  52. 6
      src/views/modules/partymember/icpartymemberpoint.vue
  53. 4
      src/views/modules/partymember/lookMember.vue
  54. 2
      src/views/modules/plugins/power/kernelhouseholdAddMember.vue
  55. 2
      src/views/modules/plugins/power/kernelhouseholdTable.vue
  56. 4
      src/views/modules/plugins/rent/renthouse-add-or-update.vue
  57. 2
      src/views/modules/plugins/rent/renthouse.vue
  58. 6
      src/views/modules/plugins/rent/renthouseForm.vue
  59. 4
      src/views/modules/shequ/chaxun.vue
  60. 4
      src/views/modules/shequ/index.vue
  61. 16
      src/views/modules/shequzhili/event/cpts/add.vue
  62. 2
      src/views/modules/shequzhili/event/cpts/event-detail.vue
  63. 16
      src/views/modules/shequzhili/issue/cpts/add.vue
  64. 2
      src/views/modules/shequzhili/issue/cpts/eventDetail.vue
  65. 2
      src/views/modules/shequzhili/issue/cptsAudit/eventDetail.vue
  66. 4
      src/views/modules/shequzhili/tuceng/zhonghe/base.vue
  67. 1654
      src/views/modules/shequzhili/tuceng/zhonghe/baseTotal.vue
  68. 4
      src/views/modules/shequzhili/xiangmu/cpts/edit.vue
  69. 2
      src/views/modules/sys/icvaccineprarmeter-check.vue
  70. 4
      src/views/modules/sys/roomForm.vue
  71. 2
      src/views/modules/visual/basicinfo/peopleList copy.vue
  72. 2
      src/views/modules/visual/basicinfo/peopleList.vue
  73. 4
      src/views/modules/visual/command/cpts/popup.vue
  74. 2
      src/views/modules/visual/communityGovern/duoyuanfuwu/duoyuanfuwufenxi.vue
  75. 4
      src/views/modules/visual/communityGovern/fivelayers/mapIndex copy 2.vue
  76. 4
      src/views/modules/visual/communityGovern/fivelayers/mapIndex copy.vue
  77. 4
      src/views/modules/visual/communityGovern/fivelayers/mapIndex-baidu.vue
  78. 4
      src/views/modules/visual/communityGovern/fivelayers/mapIndex.vue
  79. 2
      src/views/modules/visual/communityGovern/shijianchuli/event-info.vue
  80. 6
      src/views/modules/visual/communityParty/crateForm.vue
  81. 2
      src/views/modules/visual/communityParty/gridParty.vue
  82. 2
      src/views/modules/visual/measure/volunteer.vue
  83. 2
      src/views/modules/visual/plugin/power/components/house-dialog.vue
  84. 2
      src/views/modules/visual/shundeju/controlCount.vue
  85. 2
      src/views/modules/visual/warning/components/screen-table/people-list.vue
  86. 2
      src/views/modules/warning/components/screen-table/people-list.vue

2
.env.production.sit

@ -2,6 +2,6 @@ NODE_ENV=production
# VUE_APP_API_SERVER = https://epmet-test.elinkservice.cn/api
# VUE_APP_API_SERVER = http://192.168.1.140/api
VUE_APP_API_SERVER = http://219.146.91.110:30801/api
VUE_APP_BIPASS_API_SERVER = http://bipaas.elinkservice.cn/linkdata/linkdata-gateway/route
VUE_APP_BIPASS_API_SERVER = http://bipaas.elinkservice.com:30801/linkdata/linkdata-gateway/route
VUE_APP_NODE_ENV=prod:sit
VUE_APP_PUBLIC_PATH=epmet-oper

1088
src/js/util.js

File diff suppressed because it is too large

2
src/views/components/editResi.vue

@ -392,7 +392,7 @@ export default {
callback(new Error('请输入证件号'))
} else {
if (!isCard(value)) {
callback(new Error('请输入正确的身份证号或护照号'))
callback(new Error('请输入正确的证号或护照号'))
}
callback()
}

12
src/views/components/resiForm.vue

@ -232,9 +232,11 @@
size="small"
v-model="form[itemj.id][itemk.formName]">
<el-checkbox v-for="items in itemk.opction"
:label="items.label != itemk.label ? items.label :''"
:label="items.value"
:style="{'margin-right':items.label != itemk.label? '' :'19px'}"
:key="items.label"></el-checkbox>
:key="items.value"
:value="items.value"
>{{items.label}}</el-checkbox>
</el-checkbox-group>
</template>
<template v-else-if="itemk.itemType == 'datepicker1'">
@ -255,7 +257,9 @@
:options="itemk.opction"
clearable
size="small"
:label="itemk.opction.label"
:value="itemk.opction.value"
@change="handleCateSlect"
></el-cascader>
</template>
<template v-else-if="itemk.itemType == 'number'">
@ -1598,7 +1602,7 @@ export default {
return this.$message.error('网络错误')
})
},
//
//
handleValidBlur (item) {
console.log('n---', item)
if (item.formName !== 'idNum') return

211
src/views/components/resiInfo.vue

@ -444,68 +444,7 @@
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="迁出" v-if="qcShowStatus">
<el-row>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">迁出日期 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.outOfTime?residentMoveOutRecordObj.outOfTime.substr(0,10):'--':'--'}}</span>
</div>
</el-col>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">迁出类型 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.type ?residentMoveOutRecordObj.type :'--':'--'}}</span>
</div>
</el-col>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">迁出原因 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.reason ?residentMoveOutRecordObj.reason:'--':'--'}}</span>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">迁出至组织 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.deptId?residentMoveOutRecordObj.deptId:'--':'--'}}</span>
</div>
</el-col>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">小区 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.villageName ?residentMoveOutRecordObj.villageName :'--':'--'}}</span>
</div>
</el-col>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">楼号 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.buildName ?residentMoveOutRecordObj.buildName:'--':'--'}}</span>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">单元 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.unitName ?residentMoveOutRecordObj.unitName :'--':'--'}}</span>
</div>
</el-col>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">房屋 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.homeName ?residentMoveOutRecordObj.homeName :'--':'--'}}</span>
</div>
</el-col>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">外迁地址 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.address ?residentMoveOutRecordObj.address:'--':'--'}}</span>
</div>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="更新记录">
<el-table
class="m-table-item"
@ -538,6 +477,7 @@
</el-table>
</el-tab-pane>
<el-tab-pane label="党员" v-if="dyShowStatus">
<el-row>
<el-col :span="8">
@ -826,7 +766,8 @@
--
</span>
</section>
</el-tab-pane> <el-tab-pane label="" v-if="resiDetailObj.deathFlag">
</el-tab-pane>
<el-tab-pane label="死亡人员" v-if="resiDetailObj.deathFlag">
<el-row>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
@ -856,6 +797,68 @@
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="迁出" v-if="qcShowStatus">
<el-row>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">迁出日期 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.outOfTime?residentMoveOutRecordObj.outOfTime.substr(0,10):'--':'--'}}</span>
</div>
</el-col>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">迁出类型 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.type ?residentMoveOutRecordObj.type :'--':'--'}}</span>
</div>
</el-col>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">迁出原因 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.reason ?residentMoveOutRecordObj.reason:'--':'--'}}</span>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">迁出至组织 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.deptId?residentMoveOutRecordObj.deptId:'--':'--'}}</span>
</div>
</el-col>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">小区 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.villageName ?residentMoveOutRecordObj.villageName :'--':'--'}}</span>
</div>
</el-col>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">楼号 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.buildName ?residentMoveOutRecordObj.buildName:'--':'--'}}</span>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">单元 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.unitName ?residentMoveOutRecordObj.unitName :'--':'--'}}</span>
</div>
</el-col>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">房屋 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.homeName ?residentMoveOutRecordObj.homeName :'--':'--'}}</span>
</div>
</el-col>
<el-col :span="8">
<div class="f-flex f-bto16 f-top24">
<div class="f-labels">外迁地址 :</div>
<span class="f-left8 f-font-color">{{residentMoveOutRecordObj?residentMoveOutRecordObj.address ?residentMoveOutRecordObj.address:'--':'--'}}</span>
</div>
</el-col>
</el-row>
</el-tab-pane>
</el-tabs>
</div>
@ -908,6 +911,8 @@ export default {
residentMoveOutRecordObj:{},//
// 线
educationDictonArr:[],
hobbyArr:[],
volunteerArr:[],
disability_levelArr:[],
illnessArr:[],
householdArr:[],
@ -923,7 +928,7 @@ export default {
}
},
computed: {
gridName(){
gridName(){
let arr = []
if(this.resiDetailObj.houseInfo&&this.resiDetailObj.houseInfo.gridName){
arr = this.resiDetailObj.houseInfo.gridName
@ -931,8 +936,8 @@ export default {
arr = '--'
}
return arr
},
homeName(item){
},
homeName(item){
let arr = []
if(this.resiDetailObj.houseInfo&&this.resiDetailObj.houseInfo.homeName){
arr = this.resiDetailObj.houseInfo.homeName
@ -940,8 +945,8 @@ export default {
arr = '--'
}
return arr
},
educationText(){
},
educationText(){
let text = '--'
this.educationDictonArr.forEach(item=>{
if(item.value == this.eduInfoDto.cultureLevel){
@ -954,7 +959,14 @@ export default {
hobbyCodeArr(){
let arr = []
if(this.hobbyInfoObj.hobbyCode){
arr = this.hobbyInfoObj.hobbyCode.split(',')
let test = this.hobbyInfoObj.hobbyCode.split(',')
for(let i of this.hobbyArr){
for(let j of test){
if(i.value == j){
arr.push(i.label)
}
}
}
}else{
arr = []
}
@ -1103,7 +1115,14 @@ export default {
volunteerCategoryArr(){
let arr = []
if(this.residentVolunteerObj.volunteerCategory){
arr = this.residentVolunteerObj.volunteerCategory.split(',')
let test = this.residentVolunteerObj.volunteerCategory.split(',')
for(let i of this.volunteerArr){
for(let j of test){
if(i.value == j){
arr.push(i.label)
}
}
}
}else{
arr = []
}
@ -1128,6 +1147,7 @@ export default {
},
dyShowStatus(){
let flag = false
console.log(this.resiDetailObj);
if(this.resiDetailObj.categoryInfo){
if(this.resiDetailObj.categoryInfo.partyFlag==1){
flag = true
@ -1139,19 +1159,7 @@ export default {
}
return flag
},
qcShowStatus(){
let flag = false
if(this.resiDetailObj.houseInfo.moveOutFlag){
if(this.resiDetailObj.houseInfo.moveOutFlag==1){
flag = true
}else{
flag = false
}
}else{
flag = false
}
return flag
},
bzfShowStatus(){
let flag = false
if(this.resiDetailObj.categoryInfo){
@ -1242,7 +1250,21 @@ export default {
flag = false
}
return flag
}
},
qcShowStatus(){
let flag = false
console.log(this.resiDetailObj);
if(this.resiDetailObj.houseInfo){
if(this.resiDetailObj.houseInfo.moveOutFlag==1){
flag = true
}else{
flag = false
}
}else{
flag = false
}
return flag
},
},
watch: {
@ -1271,12 +1293,22 @@ export default {
}
return _val || row[item.columnName];
},
async getVolunteerNation(){
try {
const { data } = await this.$http.post('sys/dict/data/dictlist', {'dictType':'VOLUNTEER_CATEGORY'})
this.volunteerArr = data.data
} catch (error) {
console.log(error,'获取志愿者字典');
}
},
handleClick(tab){
if(tab._props.label=="教育"){
this.getEducation()
this.getEduInfoDtoObj()
}else if(tab._props.label == "兴趣爱好"){
this.gethobbyNation()
this.getResidentHobbyInfoObj()
}
else if(tab._props.label == "宗教信仰"){
@ -1312,6 +1344,7 @@ export default {
}else if(tab._props.label == "统战人员"){
this.getResidentUnitedFront()
}else if(tab._props.label == "志愿者"){
this.getVolunteerNation()
this.getVolunteerDetailById()
}else if(tab._props.label == "老年人"){
this.getOldPeopleDetailById()
@ -1365,6 +1398,16 @@ export default {
console.log(error);
}
},
async gethobbyNation(){
try {
const { data } = await this.$http.post('sys/dict/data/dictlist', {'dictType':'SPECIAL_SKILL'})
this.hobbyArr= data.data
} catch (error) {
console.log(error,'获取兴趣爱好字典');
}
},
//
async getResidentReligionObj(){
try {

12
src/views/dataBoard/cpts/map/popup.vue

@ -37,7 +37,7 @@
<span>{{ info.genderShow || "--" }}</span>
</div>
<div class="item">
<span class="field">身份证号</span>
<span class="field"></span>
<span>{{ info.idcard || "--" }}</span>
</div>
@ -54,7 +54,7 @@
<span>{{ info.classtype || "--" }}</span>
</div>
<div class="operate">
<div class="operate" v-if="false">
<div
@click="handleClickBtn('create-demand')"
v-if="info.agencyId == $store.state.user.agencyId"
@ -154,6 +154,10 @@
<span class="field">楼长电话</span>
<span>{{ info.hm_phone || "--" }}</span>
</div>
<div class="item">
<span class="field">详细地址</span>
<span>{{ info.location || "--" }}</span>
</div>
</div>
<div v-if="type === '4'">
@ -198,6 +202,10 @@
<span class="field">房主身份证</span>
<span>{{ info.holder_idcard || "--" }}</span>
</div>
<div class="item">
<span class="field">备注</span>
<span>{{ info.remark || "--" }}</span>
</div>
</div>
</div>
</div>

9
src/views/dataBoard/renfang/cpts/fwgl.vue

@ -42,7 +42,7 @@
<div
class="row-item marginleft10"
@click="toListPage('self_dwelling', '自住房屋')"
@click="toListPage('self_dwelling', '自住')"
>
<div class="item-one">
<img
@ -62,7 +62,7 @@
</div>
<div
class="right-row margintop18"
@click="toListPage('lease', '出租房屋')"
@click="toListPage('lease', '出租')"
>
<div class="row-item">
<div class="item-one">
@ -81,7 +81,7 @@
<div
class="row-item marginleft10"
@click="toListPage('unused', '闲置房屋')"
@click="toListPage('unused', '闲置')"
>
<div class="item-one">
<img
@ -306,7 +306,7 @@ export default {
url,
{
queryParam: {
org_id: this.org_id,
org_id: this.orgId,
},
},
{
@ -417,6 +417,7 @@ export default {
.row-item {
flex: 0 0 100px;
cursor: pointer;
.item-one {
display: flex;
.img {

6
src/views/dataBoard/renfang/cpts/jmgl.vue

@ -283,7 +283,7 @@ export default {
url,
{
queryParam: {
org_id: this.org_id,
org_id: this.orgId,
},
},
{
@ -292,7 +292,7 @@ export default {
);
if (code === 0) {
if (data && Array.isArray(data) && data.length > 0) {
if (data && Array.isArray(data)) {
let xaxis = [];
let series = [{ data: [] }, { data: [] }];
for (const {
@ -358,6 +358,8 @@ export default {
.row-item {
flex: 0 0 100px;
cursor: pointer;
.item-one {
display: flex;
.img {

2
src/views/dataBoard/renfang/cpts/rkfx.vue

@ -126,7 +126,7 @@ export default {
handleClickItem(item) {
const { type, name } = item;
this.$router.push({
path: "/dataBoard/renfang/resi-list",
path: "/dataBoard/renfang/resi-analyze",
query: {
org_id: this.orgId,
type,

2
src/views/dataBoard/renfang/cpts/rkfxPieOption.js

@ -43,7 +43,7 @@ export function pieOption() {
emphasis: {
label: {
show: true,
fontSize: 36,
// fontSize: 36,
fontWeight: "bold",
},
},

26
src/views/dataBoard/renfang/cpts/rkyj.vue

@ -72,6 +72,10 @@
</div>
</div>
</div>
<div class="empty" v-if="list.length == 0">
<img src="~@/assets/images/shuju/renfang/index/empty.png" />
</div>
</div>
</template>
@ -137,7 +141,7 @@ export default {
);
if (code === 0) {
if (data && Array.isArray(data) && data.length > 0) {
if (data && Array.isArray(data)) {
this.list = data;
}
} else {
@ -241,6 +245,7 @@ export default {
.item-num {
width: 33%;
text-align: center;
cursor: pointer;
.img {
display: inline-block;
width: 32px;
@ -253,5 +258,24 @@ export default {
background: rgba(26, 149, 255, 0.15);
}
}
.empty {
> img {
display: block;
width: 120px;
margin: 0 auto;
margin-top: 80px;
}
> span {
margin-top: 8px;
display: block;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(255, 255, 255, 0.65);
line-height: 20px;
text-align: center;
}
}
}
</style>

47
src/views/dataBoard/renfang/index.vue

@ -1,6 +1,10 @@
<template>
<div>
<cpt-bread v-if="true" @tap="clickBreadItem" :bread-list="breadList" />
<cpt-bread
@tap="clickBreadItem"
v-if="breadList.length > 1"
:bread-list="breadList"
/>
<div class="g-row">
<div class="g-left">
<div class="m-box">
@ -147,7 +151,7 @@
<input
type="text"
placeholder="输入关键词搜索"
placeholder="搜索本组织及下级的居民、小区、楼栋、房屋"
@keyup.enter="handleSearch"
v-model="searchModule.keyword"
/>
@ -246,10 +250,10 @@
class="box-title-bg"
/>
<div class="box-title-txt" v-if="!displayedForecast">
居民分类分析
居民分类统计
</div>
<div class="box-title-txt" v-else>
居民分类分析-智能预测
居民分类统计-智能预测
</div>
<div
@ -261,9 +265,15 @@
src="~@/assets/images/shuju/renfang/index/znyc.png"
/>
<span>智能预测</span>
<img
src="~@/assets/images/shuju/renfang/index/i-hint.png"
/>
<el-tooltip placement="top">
<div slot="content">
根据智能分类设置规则预测来年育龄妇女老年人空巢老人独居老人分别有多少人
</div>
<img
src="~@/assets/images/shuju/renfang/index/i-hint.png"
/>
</el-tooltip>
</div>
<div
@ -322,6 +332,7 @@
v-if="resiCategoryForecastData.length > 0"
>
<div
@click="toResiClassPage(item.code, item.name)"
class="item"
:key="item.code + index"
v-for="(
@ -452,6 +463,17 @@ import { requestPostBi } from "@/js/dai/request-bipass";
import { requestPost } from "@/js/dai/request";
import getQueryPara from "dai-js/modules/getQueryPara";
function iniGetPerInfo() {
return {
unemployed_ratio: "--",
crowd_ratio: "--",
volunteer_ratio: "--",
month_update_ratio: "--",
aged_ratio: "--",
teenagers_ratio: "--",
};
}
export default {
name: "renfang",
@ -502,14 +524,7 @@ export default {
],
},
perInfo: {
unemployed_ratio: "--",
crowd_ratio: "--",
volunteer_ratio: "--",
month_update_ratio: "--",
aged_ratio: "--",
teenagers_ratio: "--",
},
perInfo: iniGetPerInfo(),
displayedResiId: "",
displayedHouseId: "",
@ -688,7 +703,7 @@ export default {
if (code === 0) {
this.perInfo = {
...this.perInfo,
...iniGetPerInfo(),
...data[0],
};
} else {

4
src/views/dataBoard/renfang/resi/analyze.vue

@ -128,8 +128,8 @@ export default {
"姓名",
"所属网格",
"所属房屋",
"手机",
"身份证",
"联系电话",
"证件号",
"性别",
"出生日期",
"操作",

16
src/views/dataBoard/renfang/resi/class.vue

@ -16,7 +16,7 @@
<div class="tip_title">{{ tableTitle }}</div>
<div class="title_line"></div>
<div class="second-select" v-if="type_id == '6'">
<div class="second-select" v-if="type_id == 'special_popu'">
<el-select
v-model="subclassId"
:popper-append-to-body="false"
@ -146,8 +146,8 @@ export default {
"姓名",
"所属网格",
"所属房屋",
"手机",
"身份证",
"联系电话",
"证件号",
"性别",
"出生日期",
"操作",
@ -170,7 +170,7 @@ export default {
this.pageNo = 1;
this.getList();
this.getCount();
if (this.type_id == "6") {
if (this.type_id == "special_popu") {
this.getSubclass();
}
},
@ -213,7 +213,7 @@ export default {
const { org_id, type_id } = this;
this.loading = true;
const url = "resident_analyze_list";
const url = "special_type_list";
const { data, code, msg } = await requestPostBi(
url,
@ -253,8 +253,7 @@ export default {
{
queryParam: {
org_id,
type_id,
subclassId,
type_id: subclassId || type_id,
pageNo,
pageSize,
},
@ -299,8 +298,7 @@ export default {
{
queryParam: {
org_id,
type_id,
subclassId,
type_id: subclassId || type_id,
pageNo,
pageSize,
},

4
src/views/dataBoard/renfang/resi/list.vue

@ -128,8 +128,8 @@ export default {
"姓名",
"所属网格",
"所属房屋",
"手机",
"身份证",
"联系电话",
"证件号",
"性别",
"出生日期",
"操作",

4
src/views/dataBoard/renfang/warn/resi.vue

@ -116,8 +116,8 @@ export default {
"姓名",
"所属网格",
"所属房屋",
"手机",
"身份证",
"联系电话",
"证件号",
"性别",
"出生日期",
"操作",

303
src/views/main.vue

@ -1,33 +1,33 @@
<template>
<div
v-loading.fullscreen.lock="loading"
:element-loading-text="$t('loading')"
:class="[
'aui-wrapper',
{
'aui-sidebar--fold':
$store.state.sidebarActiveSubMenuList.length == 0 ||
$store.state.sidebarFold,
},
{
'aui-sidebar--noside': $store.state.inIframe,
},
{ 'z-iframe': $store.state.inIframe },
]"
>
<template v-if="!loading">
<main-navbar ref="ref_navbar" v-if="!$store.state.inIframe" />
<main-sidebar v-if="!$store.state.inIframe" />
<div class="aui-content__wrapper">
<main-content
v-if="!$store.state.contentIsNeedRefresh"
@changeCustomerName="changeCustomerName"
/>
</div>
<div
v-loading.fullscreen.lock="loading"
:element-loading-text="$t('loading')"
:class="[
'aui-wrapper',
{
'aui-sidebar--fold':
$store.state.sidebarActiveSubMenuList.length == 0 ||
$store.state.sidebarFold,
},
{
'aui-sidebar--noside': $store.state.inIframe,
},
{ 'z-iframe': $store.state.inIframe },
]"
>
<template v-if="!loading">
<main-navbar ref="ref_navbar" v-if="!$store.state.inIframe" />
<main-sidebar v-if="!$store.state.inIframe" />
<div class="aui-content__wrapper">
<main-content
v-if="!$store.state.contentIsNeedRefresh"
@changeCustomerName="changeCustomerName"
/>
</div>
<!-- <secretary-log-notice v-if="!$store.state.inIframe" /> -->
</template>
</div>
<!-- <secretary-log-notice v-if="!$store.state.inIframe" /> -->
</template>
</div>
</template>
<script>
@ -39,128 +39,139 @@ import debounce from "lodash/debounce";
import { mapGetters } from "vuex";
import nextTick from "dai-js/tools/nextTick";
import { requestPost } from "@/js/dai/request";
import { clearLoginInfo } from "@/utils";
export default {
provide() {
return {
//
refresh() {
this.$store.state.contentIsNeedRefresh = true;
this.$nextTick(() => {
this.$store.state.contentIsNeedRefresh = false;
});
},
};
},
data() {
return {
loading: true,
userType: localStorage.getItem("userType"),
};
},
components: {
MainNavbar,
MainSidebar,
MainContent,
SecretaryLogNotice,
},
provide() {
return {
//
refresh() {
this.$store.state.contentIsNeedRefresh = true;
this.$nextTick(() => {
this.$store.state.contentIsNeedRefresh = false;
});
},
};
},
data() {
return {
loading: true,
userType: localStorage.getItem("userType"),
};
},
components: {
MainNavbar,
MainSidebar,
MainContent,
SecretaryLogNotice,
},
watch: {
$route: "routeHandle",
},
async created() {
this.$store.state.sidebarMenuList = window.SITE_CONFIG["menuList"];
console.log(this.$store.state.sidebarMenuList);
watch: {
$route: "routeHandle",
},
async created() {
this.$store.state.sidebarMenuList = window.SITE_CONFIG["menuList"];
console.log(this.$store.state.sidebarMenuList);
// this.windowResizeHandle();
this.routeHandle(this.$route);
Promise.all([this.getWorkUserInfo()]).then(() => {
this.loading = false;
});
},
computed: {},
methods: {
changeCustomerName(customerName) {
this.$refs["ref_navbar"].changeCustomerName(customerName);
},
//
windowResizeHandle() {
this.$store.state.sidebarFold =
document.documentElement["clientWidth"] <= 992 || false;
window.addEventListener(
"resize",
debounce(() => {
this.$store.state.sidebarFold =
document.documentElement["clientWidth"] <= 992 || false;
}, 150)
);
},
// ,
routeHandle(route) {
if (!route.meta.isTab) {
return false;
}
var tab = this.$store.state.contentTabs.filter(
(item) => item.name === route.name
)[0];
if (!tab) {
tab = {
...window.SITE_CONFIG["contentTabDefault"],
...route.meta,
name: route.name,
params: { ...route.params },
query: { ...route.query },
};
this.$store.state.contentTabs =
this.$store.state.contentTabs.concat(tab);
}
// this.windowResizeHandle();
this.routeHandle(this.$route);
Promise.all([this.getWorkUserInfo()]).then(() => {
this.loading = false;
});
},
computed: {},
methods: {
changeCustomerName(customerName) {
this.$refs["ref_navbar"].changeCustomerName(customerName);
},
//
windowResizeHandle() {
this.$store.state.sidebarFold =
document.documentElement["clientWidth"] <= 992 || false;
window.addEventListener(
"resize",
debounce(() => {
this.$store.state.sidebarFold =
document.documentElement["clientWidth"] <= 992 || false;
}, 150)
);
},
// ,
routeHandle(route) {
if (!route.meta.isTab) {
return false;
}
var tab = this.$store.state.contentTabs.filter(
(item) => item.name === route.name
)[0];
if (!tab) {
tab = {
...window.SITE_CONFIG["contentTabDefault"],
...route.meta,
name: route.name,
params: { ...route.params },
query: { ...route.query },
};
this.$store.state.contentTabs =
this.$store.state.contentTabs.concat(tab);
}
this.$store.state.sidebarMenuActiveName = tab.menuId;
this.$store.state.contentTabsActiveName = tab.name;
this.syncLevelOneMenuActive(tab.menuId);
},
async syncLevelOneMenuActive(menuId) {
await nextTick();
console.log(
"*******************************",
menuId,
this.$store.state.sidebarMenuList
);
const fn = (item) => {
if (item.id == menuId) {
return true;
} else if (item.children.length > 0) {
return item.children.findIndex(fn) !== -1;
} else {
return false;
}
};
let idx = this.$store.state.sidebarMenuList.findIndex(fn);
this.$store.state.LevelOneMenuActiveName =
idx !== -1 ? this.$store.state.sidebarMenuList[idx].id : "";
this.$store.state.sidebarActiveSubMenuList =
idx !== -1 ? this.$store.state.sidebarMenuList[idx].children : [];
},
//
async getWorkUserInfo() {
const url = "/epmetuser/customerstaff/staffbasicinfo";
let params = {};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$store.state.user = { ...data };
console.log("user---hahha", this.$store.state.user);
localStorage.setItem("roleList", data.roleList);
localStorage.setItem("customerId", data.customerId);
localStorage.setItem("staffId", data.id);
localStorage.setItem("agencyId", data.agencyId);
localStorage.setItem("level", data.level);
if (!localStorage.getItem("customerName")) {
localStorage.setItem("customerName", data.customerName || "");
}
} else {
this.$message.error(msg);
}
},
},
this.$store.state.sidebarMenuActiveName = tab.menuId;
this.$store.state.contentTabsActiveName = tab.name;
this.syncLevelOneMenuActive(tab.menuId);
},
async syncLevelOneMenuActive(menuId) {
await nextTick();
console.log(
"*******************************",
menuId,
this.$store.state.sidebarMenuList
);
const fn = (item) => {
if (item.id == menuId) {
return true;
} else if (item.children.length > 0) {
return item.children.findIndex(fn) !== -1;
} else {
return false;
}
};
let idx = this.$store.state.sidebarMenuList.findIndex(fn);
this.$store.state.LevelOneMenuActiveName =
idx !== -1 ? this.$store.state.sidebarMenuList[idx].id : "";
this.$store.state.sidebarActiveSubMenuList =
idx !== -1
? this.$store.state.sidebarMenuList[idx].children
: [];
},
//
async getWorkUserInfo() {
const url = "/epmetuser/customerstaff/staffbasicinfo";
let params = {};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
if (data) {
this.$store.state.user = { ...data };
console.log("user---hahha", this.$store.state.user);
localStorage.setItem("roleList", data.roleList);
localStorage.setItem("customerId", data.customerId);
localStorage.setItem("staffId", data.id);
localStorage.setItem("agencyId", data.agencyId);
localStorage.setItem("level", data.level);
if (!localStorage.getItem("customerName")) {
localStorage.setItem(
"customerName",
data.customerName || ""
);
}
} else {
clearLoginInfo();
this.$router.push({ name: "login" });
}
} else {
this.$message.error(msg);
}
},
},
};
</script>

1946
src/views/modules/base/community/community.vue

File diff suppressed because it is too large

1629
src/views/modules/base/community/communityExportInfo.vue

File diff suppressed because it is too large

2
src/views/modules/base/community/communityForm.vue

@ -474,7 +474,7 @@ export default {
this.resetData()
this.$emit('dialogOk')
this.btnDisable = false
} else {
} else if (code>=8000){
this.btnDisable = false
this.$message.error(msg)
}

2507
src/views/modules/base/community/communityTable.vue

File diff suppressed because it is too large

4
src/views/modules/base/community/roomForm.vue

@ -337,12 +337,12 @@ export default {
},
async addRoom () {
const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X
const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X
if (this.dataForm.ownerIdCard && regCard.test(this.dataForm.ownerIdCard) === false) {
this.btnDisable = false
this.$message({
type: 'warning',
message: '请输入正确的身份证号码'
message: '请输入正确的证号码'
})
return false;
}

2
src/views/modules/base/community/roomTable.vue

@ -186,7 +186,7 @@
width="110">
</el-table-column>
<el-table-column prop="ownerIdCard"
label="身份证"
label="证件号"
header-align="left"
align="left"
width="170">

6
src/views/modules/base/huji/chusheng/cpts/edit.vue

@ -131,7 +131,7 @@
style="display: block">
<el-input class="u-edit-width-normal"
maxlength="30"
placeholder="请输入身份证号或护照号"
placeholder="请输入证号或护照号"
v-model="fmData.idCard"
@blur="handleBlurId"
:disabled="formType === 'edit'"></el-input>
@ -345,7 +345,7 @@ export default {
callback(new Error("请输入证件号"));
} else {
if (!isCard(value)) {
callback(new Error("请输入正确的身份证号或护照号"));
callback(new Error("请输入正确的证号或护照号"));
}
callback();
}
@ -360,7 +360,7 @@ export default {
],
name: [{ required: true, message: "姓名不能为空", trigger: "blur" }],
idCard: [
{ required: true, message: "身份证号不能为空", trigger: "blur" },
{ required: true, message: "证号不能为空", trigger: "blur" },
{ required: true, validator: checkIdCard, trigger: "blur" },
],
birthplace: [

4
src/views/modules/base/huji/immigration/edit.vue

@ -141,7 +141,7 @@
prop="idCard"
style="display: block">
<el-input class="u-edit-width-normal"
placeholder="请输入身份证号或护照号"
placeholder="请输入证号或护照号"
v-model="fmData.idCard"
:disabled="formType === 'edit'"
@blur="handleBlurId"></el-input>
@ -341,7 +341,7 @@ export default {
callback(new Error('请输入证件号'))
} else {
if (!isCard(value)) {
callback(new Error('请输入正确的身份证号或护照号'))
callback(new Error('请输入正确的证号或护照号'))
}
callback()
}

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

File diff suppressed because it is too large

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

File diff suppressed because it is too large

4
src/views/modules/base/roomForm.vue

@ -293,12 +293,12 @@ export default {
},
async addRoom () {
const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X
const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X
if (this.dataForm.ownerIdCard && regCard.test(this.dataForm.ownerIdCard) === false) {
this.btnDisable = false
this.$message({
type: 'warning',
message: '请输入正确的身份证号码'
message: '请输入正确的证号码'
})
return false;
}

928
src/views/modules/base/smartImport.vue

@ -1,472 +1,490 @@
<template>
<div class="g-main">
<div class="m-table">
<div class="u-table-btn1">
<el-upload :headers="$getElUploadHeaders()"
ref="upload"
class="upload-btn"
action="uploadUlr"
:limit="1"
:accept="'.xls,.xlsx'"
:with-credentials="true"
:show-file-list="false"
:auto-upload="true"
:on-progress="handleProgress"
:on-success="handleExcelSuccess"
:before-upload="beforeExcelUpload"
:http-request="uploadHttpRequest">
<el-button size="small"
class="diy-button--white"
:loading="importLoading">表格导入</el-button>
</el-upload>
<el-button class="diy-button--white"
size="small"
style="margin-left:10px"
@click="handleExportModule()">下载模板</el-button>
</div>
<el-table ref="ref_table"
:data="dataList"
border
:height="tableHeight"
class="m-table-item"
v-loading="dataListLoading"
style="width: 100%">
<el-table-column label="序号"
header-align="center"
align="center"
type="index"
width="100"></el-table-column>
<el-table-column prop="deptName"
header-align="center"
align="center"
label="表格信息"
min-width="100">
</el-table-column>
<el-table-column prop="dataName"
header-align="center"
align="center"
label="平台对应信息"
min-width="110">
<template slot-scope="scope">
<el-select class="item_width_sel"
v-model="scope.row.itemGroupId"
size="small"
placeholder="请选择">
<el-option v-for="item in groupList"
@click.native="handleSelGroup(scope.$index,item)"
:key="item.id"
:label="item.label"
:value="item.id">
</el-option>
</el-select>
<el-select class="item_width_sel"
v-model="scope.row.itemId"
size="small"
style="margin-left:10px"
placeholder="请选择">
<el-option v-for="item in scope.row.itemList"
:key="item.itemId"
:label="item.label"
:value="item.itemId">
</el-option>
</el-select>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="pageSize"
layout="sizes, prev, pager, next, total"
:total="total">
</el-pagination>
</div>
<div ref="divEditBtn"
class="m-edit-btn">
<el-button type="primary"
size="small"
class="diy-button--blue"
@click="handleComfirm"> </el-button>
</div>
</div>
<!-- 修改弹出框 -->
<el-dialog :visible.sync="formShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'数据更新配置'"
width="850px"
top="5vh"
class="dialog-h"
@closed="diaClose">
<div class="div_form">
<el-form ref="ref_form"
:inline="true"
:model="formData">
<el-form-item label="适用范围"
label-width="150px"
style="display: block">
</el-form-item>
</el-form>
</div>
<div class="div-btn">
<el-button size="small"
@click="diaClose"> </el-button>
<el-button size="small"
type="primary"
@click="editDiaOK"> </el-button>
</div>
</el-dialog>
</div>
<div class="g-main">
<div class="m-table">
<div class="u-table-btn1">
<el-upload
:headers="$getElUploadHeaders()"
ref="upload"
class="upload-btn"
action="uploadUlr"
:limit="1"
:accept="'.xls,.xlsx'"
:with-credentials="true"
:show-file-list="false"
:auto-upload="true"
:on-progress="handleProgress"
:on-success="handleExcelSuccess"
:before-upload="beforeExcelUpload"
:http-request="uploadHttpRequest"
>
<el-button
size="small"
class="diy-button--white"
:loading="importLoading"
>表格导入</el-button
>
</el-upload>
<el-button
class="diy-button--white"
size="small"
style="margin-left: 10px"
@click="handleExportModule()"
>下载模板</el-button
>
</div>
<div v-if="dataList.length > 0">
<el-table
ref="ref_table"
:data="dataList"
border
:height="tableHeight"
class="m-table-item"
v-loading="dataListLoading"
style="width: 100%"
>
<el-table-column
label="序号"
header-align="center"
align="center"
type="index"
width="100"
></el-table-column>
<el-table-column
prop="srcField"
header-align="center"
align="center"
label="表格信息"
min-width="100"
>
</el-table-column>
<el-table-column
prop="field"
header-align="center"
align="center"
label="平台对应信息"
min-width="110"
>
<template slot-scope="scope">
<span v-if="scope.row.exist">{{
scope.row.field
}}</span>
<div v-else>
<el-select
class="item_width_sel"
v-model="scope.row.itemGroupId"
size="small"
placeholder="请选择"
>
<el-option
v-for="item in groupList"
@click.native="
handleSelGroup(scope.$index, item)
"
:key="item.id"
:label="item.label"
:value="item.id"
>
</el-option>
</el-select>
<el-select
class="item_width_sel"
v-model="scope.row.field"
size="small"
style="margin-left: 10px"
placeholder="请选择"
>
<el-option
v-for="item in scope.row.itemList"
:key="item.itemId"
:label="item.label"
:value="item.label"
>
</el-option>
</el-select>
</div>
</template>
</el-table-column>
</el-table>
<div ref="divEditBtn" class="m-edit-btn">
<el-button
type="primary"
size="small"
class="diy-button--blue"
@click="handleComfirm"
> </el-button
>
</div>
</div>
<div class="m-hint" v-else>请先导入表格</div>
</div>
</div>
</template>
<script>
import { requestPost } from "@/js/dai/request";
import { mapGetters } from "vuex";
import { requestPost } from '@/js/dai/request'
import { mapGetters } from 'vuex'
export default {
data () {
return {
customerId: '', // id
customerName: '', //
tableParams: {
customerId: ''
},
// tableHeight: 500,
search: '',
dataList: [],
dataListLoading: false,
total: 0,
pageSize: 20,
pageNo: 0,
formShow: false,
formData: {},
scopeList: [],
dataSyncConfigId: '',
importLoading: false,
groupList: [],
sHeight: 0,
}
},
computed: {
tableHeight () {
const h = this.clientHeight - this.sHeight + this.iframeHeigh
const _h = this.clientHeight - this.sHeight
return this.$store.state.inIframe ? h : _h
},
...mapGetters(['clientHeight', 'iframeHeight'])
},
components: {
},
created () {
},
async mounted () {
await this.loadData()
await this.loadPersonGroup()
this.sHeight = this.$refs.divEditBtn.offsetHeight + 300
},
methods: {
diaClose () {
this.formShow = false
},
async loadPersonGroup () {
const url = '/oper/customize/icformitemgroup/list'
// const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/isServiceProject/service/serviceScopeTree'
let params = {
formCode: 'resi_base_info',
policyFlag: '1'
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.groupList = data
} else {
this.$message.error(msg)
}
},
//
async handleSelGroup (index, item, isSet) {
const url = '/oper/customize/icformitem/getItemListV2'
// const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/isServiceProject/service/serviceScopeTree'
let params = {
policyFlag: '1',
groupId: item.id,
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
let oneData = this.dataList[index]
oneData.itemList = data
this.$set(this.dataList, index, oneData)
} else {
this.$message.error(msg)
}
},
//
async loadData () {
this.dataListLoading = true
// const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/dataSyncConfig/list'
const url = '/epmetuser/dataSyncConfig/list'
this.tableParams = {
pageSize: this.pageSize,
pageNo: this.pageNo
}
const { data, code, msg } = await requestPost(url, this.tableParams)
this.dataListLoading = false
if (code === 0) {
this.total = data.total
this.dataList = data.list
this.dataList.forEach(element => {
element.stateShow = element.switchStatus === 'open' ? true : false
})
} else {
// this.$message.error(msg )
}
},
handleChangeScope (value) {
// console.log('value', value)
this.orgIdArray = value
this.scopeList = []
let selArray = this.$refs["myCascader"].getCheckedNodes()
// console.log('selArray', selArray)
selArray.forEach((element, index) => {
let obj = {
orgId: element.data.agencyId,
orgType: element.data.level,
orgIdPath: element.path.join(':'),
}
this.scopeList.push(obj)
});
console.log('this.scopeList', this.scopeList)
},
handleComfirm () {
console.log(this.dataList)
},
async editDiaOK () {
// const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/dataSyncConfig/scopeSave'
const url = '/epmetuser/dataSyncConfig/scopeSave'
let params = {
dataSyncConfigId: this.dataSyncConfigId,
scopeList: this.scopeList
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.formShow = false
this.loadData()
} else {
// this.$message.error(msg )
}
},
async handleExportModule () {
let url = "/heart/iccommunityselforganization/import-template-download";
let params = {};
await this.$http({
method: "POST",
url,
responseType: "blob",
data: params,
})
.then((res) => {
// this.download(res.data, title + '.xls')
if (res.headers["content-disposition"]) {
let fileName = window.decodeURI(
res.headers["content-disposition"].split(";")[1].split("=")[1]
);
console.log("filename", fileName);
let blob = new Blob([res.data], {
type: "application/vnd.ms-excel",
});
var url = window.URL.createObjectURL(blob);
var aLink = document.createElement("a");
aLink.style.display = "none";
aLink.href = url;
aLink.setAttribute("download", fileName);
document.body.appendChild(aLink);
aLink.click();
document.body.removeChild(aLink); //
window.URL.revokeObjectURL(url); //blob
} else this.$message.error("下载失败");
})
.catch((err) => {
console.log("err", err);
return this.$message.error("网络错误");
});
},
//
handleExcelSuccess (res, file) {
if (res.code === 0 && res.msg === "success") {
console.log("resss---ppp", res);
} else {
this.$message.error(res.msg);
}
},
handleProgress (event, file, fileList) {
console.log("percentage", file.percentage);
},
beforeExcelUpload (file) {
console.log("file", file);
const isType = file.type === "application/vnd.ms-excel";
const isTypeComputer =
file.type ===
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
const fileType = isType || isTypeComputer;
const isLt1M = file.size / 1024 / 1024 < 10;
if (!fileType) {
this.$message.error("上传文件只能是xls/xlsx格式!");
}
if (!isLt1M) {
this.$message.error("上传文件大小不能超过 10MB!");
}
return fileType && isLt1M;
},
async uploadHttpRequest (file) {
this.importLoading = true;
this.importBtnTitle = "正在上传中...";
this.$message({
showClose: true,
message: "导入中,请到系统管理-导入记录中查看进度",
duration: 0,
});
const formData = new FormData(); //FormDataappend('key', value)
formData.append("file", file.file); //
await this.$http
.post(
"/heart/iccommunityselforganization/importcommunityselforganization",
formData
)
.then((res) => {
console.log("res-up", res);
if (res.data.code == 0 && res.data.msg == "success") {
// this.$message.success('')
this.getTableData();
} else this.$message.error(res.data.msg);
})
.catch((err) => {
console.log("失败", err);
file.onError(); //
// this.$message.error('')
});
// axios({
// url:
// window.SITE_CONFIG["apiURL"] +
// "/heart/iccommunityselforganization/importcommunityselforganization",
// method: "post",
// data: formData,
// // responseType: "blob",
// })
// .then((res) => {
// this.importLoading = false;
// this.importBtnTitle = "";
// console.log("resresresresresresres", res);
// this.getTableData();
// if (res.data.code == 0) {
// return this.$message.success(res.data.data || "");
// } else {
// return this.$message.error(res.data.msg);
// }
// })
// .catch((err) => {
// console.log("", err);
// });
this.importLoading = false;
this.importBtnTitle = "导入";
this.$refs.upload.clearFiles();
},
handleSizeChange (val) {
this.pageSize = val
this.pageNo = 1
this.loadData()
},
handleCurrentChange (val) {
this.pageNo = val
this.loadData()
},
//
diaCancel () {
this.$emit('cancleBack')
},
}
}
data() {
return {
customerId: "", // id
customerName: "", //
tableParams: {
customerId: "",
},
// tableHeight: 500,
search: "",
dataList: [],
dataListLoading: false,
total: 0,
pageSize: 20,
pageNo: 0,
formShow: false,
formData: {},
scopeList: [],
dataSyncConfigId: "",
importLoading: false,
groupList: [],
sHeight: 0,
importCode: "",
importOption: { exist: {}, notExist: {} },
fileData: null,
};
},
computed: {
tableHeight() {
const h = this.clientHeight - this.sHeight + this.iframeHeigh;
const _h = this.clientHeight - this.sHeight;
return this.$store.state.inIframe ? h : _h;
},
...mapGetters(["clientHeight", "iframeHeight"]),
},
components: {},
created() {},
async mounted() {
// await this.loadData();
await this.loadPersonGroup();
this.sHeight = this.$refs.divEditBtn.offsetHeight + 300;
},
methods: {
diaClose() {
this.formShow = false;
},
async loadPersonGroup() {
const url = "/oper/customize/icformitemgroup/list";
// const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/isServiceProject/service/serviceScopeTree'
let params = {
formCode: "resi_base_info",
policyFlag: "1",
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.groupList = data;
} else {
this.$message.error(msg);
}
},
//
async handleSelGroup(index, item, isSet) {
const url = "/oper/customize/icformitem/getItemListV2";
// const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/isServiceProject/service/serviceScopeTree'
let params = {
policyFlag: "1",
groupId: item.id,
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
let oneData = this.dataList[index];
oneData.itemList = data;
this.$set(this.dataList, index, oneData);
} else {
this.$message.error(msg);
}
},
//
async loadData() {
this.dataListLoading = true;
// const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/dataSyncConfig/list'
const url = "/epmetuser/dataSyncConfig/list";
this.tableParams = {
pageSize: this.pageSize,
pageNo: this.pageNo,
};
const { data, code, msg } = await requestPost(
url,
this.tableParams
);
this.dataListLoading = false;
if (code === 0) {
this.total = data.total;
this.dataList = data.list;
this.dataList.forEach((element) => {
element.stateShow =
element.switchStatus === "open" ? true : false;
});
} else {
// this.$message.error(msg )
}
},
handleChangeScope(value) {
// console.log('value', value)
this.orgIdArray = value;
this.scopeList = [];
let selArray = this.$refs["myCascader"].getCheckedNodes();
// console.log('selArray', selArray)
selArray.forEach((element, index) => {
let obj = {
orgId: element.data.agencyId,
orgType: element.data.level,
orgIdPath: element.path.join(":"),
};
this.scopeList.push(obj);
});
console.log("this.scopeList", this.scopeList);
},
async handleExportModule() {
let url = "/epmetuser/icresiuser/import/download-template";
let params = {};
await this.$http({
method: "POST",
url,
responseType: "blob",
data: params,
})
.then((res) => {
// this.download(res.data, title + '.xls')
if (res.headers["content-disposition"]) {
let fileName = window.decodeURI(
res.headers["content-disposition"]
.split(";")[1]
.split("=")[1]
);
console.log("filename", fileName);
let blob = new Blob([res.data], {
type: "application/vnd.ms-excel",
});
var url = window.URL.createObjectURL(blob);
var aLink = document.createElement("a");
aLink.style.display = "none";
aLink.href = url;
aLink.setAttribute("download", fileName);
document.body.appendChild(aLink);
aLink.click();
document.body.removeChild(aLink); //
window.URL.revokeObjectURL(url); //blob
} else this.$message.error("下载失败");
})
.catch((err) => {
console.log("err", err);
return this.$message.error("网络错误");
});
},
//
handleExcelSuccess(res, file) {
if (res.code === 0 && res.msg === "success") {
console.log("resss---ppp", res);
} else {
this.$message.error(res.msg);
}
},
handleProgress(event, file, fileList) {
console.log("percentage", file.percentage);
},
beforeExcelUpload(file) {
console.log("file", file);
const isType = file.type === "application/vnd.ms-excel";
const isTypeComputer =
file.type ===
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
const fileType = isType || isTypeComputer;
const isLt1M = file.size / 1024 / 1024 < 10;
if (!fileType) {
this.$message.error("上传文件只能是xls/xlsx格式!");
}
if (!isLt1M) {
this.$message.error("上传文件大小不能超过 10MB!");
}
return fileType && isLt1M;
},
async uploadHttpRequest(file) {
this.importLoading = true;
this.importBtnTitle = "正在上传中...";
const formData = new FormData(); //FormDataappend('key', value)
formData.append("file", file.file); //
formData.append("code", ""); //
await this.$http
.post("/actual/base/residentBaseInfo/importExcel", formData)
.then((res) => {
console.log("res-up", res);
if (res.data.code == 0 && res.data.msg == "success") {
console.log(res.data.data);
const data = res.data.data;
this.dataList = [
...Object.keys(data.option.exist).map((k) => {
return {
index: k,
srcField: data.option.exist[k],
exist: true,
field: data.option.exist[k],
};
}),
...Object.keys(data.option.notExist).map((k) => {
return {
index: k,
srcField: data.option.notExist[k],
exist: false,
field: "",
};
}),
];
this.importOption = data.option;
this.importCode = data.code;
this.fileData = file;
} else this.$message.error(res.data.msg);
})
.catch((err) => {
console.log("失败", err);
file.onError(); //
// this.$message.error('')
});
this.importLoading = false;
this.importBtnTitle = "导入";
this.$refs.upload.clearFiles();
},
async handleComfirm() {
this.importLoading = true;
this.importBtnTitle = "正在上传中...";
const { importOption, importCode, dataList } = this;
dataList.forEach((item) => {
if (!item.exist) {
importOption.notExist[item.index] = item.field;
}
});
await this.$http
.post("/actual/base/residentBaseInfo/import/header", {
code: importCode,
option: {
exist: importOption.exist,
notExist: importOption.notExist,
},
})
.then((res) => {
console.log("res-up", res);
if (res.data.code == 0 && res.data.msg == "success") {
this.upload2(this.fileData, this.importCode);
} else this.$message.error(res.data.msg);
})
.catch((err) => {
console.log("失败", err);
file.onError(); //
// this.$message.error('')
});
this.importLoading = false;
this.importBtnTitle = "导入";
},
async upload2(file, code) {
this.importLoading = true;
this.importBtnTitle = "正在上次中...";
const formData = new FormData(); //FormDataappend('key', value)
formData.append("file", file.file); //
formData.append("code", code); //
await this.$http
.post("/actual/base/residentBaseInfo/importExcel", formData)
.then((res) => {
console.log("res-up", res);
if (res.data.code == 0 && res.data.msg == "success") {
this.afterSuccess();
} else this.$message.error(res.data.msg);
})
.catch((err) => {
console.log("失败", err);
file.onError(); //
// this.$message.error('')
});
this.importLoading = false;
this.importBtnTitle = "导入";
this.$refs.upload.clearFiles();
},
afterSuccess() {
this.$message({
showClose: true,
message: "导入成功,请到系统管理-导入记录中查看进度",
duration: 0,
});
this.dataList = [];
this.importOption = {};
this.importCode = "";
this.fileData = null;
},
//
diaCancel() {
this.$emit("cancleBack");
},
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/list-main.scss";
.m-edit-btn {
display: flex;
margin-top: 20px;
margin-right: 16px;
justify-content: flex-end;
text-align: center;
display: flex;
margin-top: 20px;
margin-right: 16px;
justify-content: flex-end;
text-align: center;
}
.item_width_sel {
width: 200px;
width: 200px;
}
.m-hint {
font-size: 50px;
line-height: 300px;
text-align: center;
color: #aaaaaa;
}
</style>

4
src/views/modules/cabaseinfo/carental-add-or-update.vue

@ -34,8 +34,8 @@
<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 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>

4
src/views/modules/cabaseinfo/caresident-add-or-update.vue

@ -10,8 +10,8 @@
<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 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>

6
src/views/modules/cabaseinfo/caresident.vue

@ -12,8 +12,8 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="dataForm.idCard" placeholder="身份证号" clearable></el-input>
<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
@ -84,7 +84,7 @@
</el-table-column>
<el-table-column
prop="idCard"
label="证件号码(公民身份证号)"
label="证件号码(公民证号)"
header-align="center"
align="center"
></el-table-column>

4
src/views/modules/cabaseinfo/carotators-add-or-update.vue

@ -1,8 +1,8 @@
<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 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>

4
src/views/modules/cabaseinfo/carotators-binding-house.vue

@ -92,7 +92,7 @@
</el-table-column>
<el-table-column
prop="ownerIdCard"
label="身份证"
label="证件号"
width="170"
>
</el-table-column>
@ -225,7 +225,7 @@ export default {
},
typePlaceholder: {
jumin: "请输入姓名或电话或身份证号",
jumin: "请输入姓名或电话或证号",
fangwu: "请输入“小区名称,楼号”,如:亿联小区,1号楼",
xuqiu: "请输入需求人或需求内容或服务方",
},

6
src/views/modules/cabaseinfo/carotators.vue

@ -12,8 +12,8 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="dataForm.idCard" placeholder="身份证号" clearable></el-input>
<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
@ -84,7 +84,7 @@
</el-table-column>
<el-table-column
prop="idCard"
label="公民身份证号"
label="公民证号"
header-align="center"
align="center"
></el-table-column>

2
src/views/modules/communityParty/heart/heartAudit.vue

@ -46,7 +46,7 @@
<el-table-column prop="idNum"
header-align="center"
align="center"
label="身份证"
label="证件号"
width="180">
</el-table-column>

2
src/views/modules/communityParty/heart/heartPerson.vue

@ -36,7 +36,7 @@
<el-table-column prop="idNum"
header-align="center"
align="center"
label="身份证"
label="证件号"
width="180">
</el-table-column>

6
src/views/modules/communityParty/members/crateForm.vue

@ -75,7 +75,7 @@
</el-form-item>
</div>
<div class="flex-div">
<el-form-item label="身份证"
<el-form-item label="证件号"
prop="idCard"
class="wd50">
<el-input v-model="form.idCard"
@ -276,10 +276,10 @@ export default {
}
let checkIdCard = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入身份证'))
callback(new Error('请输入证件号'))
} else {
if (!isCard(value)) {
callback(new Error('身份证号格式不正确'))
callback(new Error('证号格式不正确'))
}
callback()
}

2
src/views/modules/communityParty/members/detailForm.vue

@ -45,7 +45,7 @@
<div class="m-detail-main-2">
<div class="m-info-prop">
<span class="u-info-title-2">身份</span>
<span class="u-info-title-2">件号</span>
<span>{{ info.idCard?info.idCard:'--' }}</span>
</div>
<div class="m-info-prop">

4
src/views/modules/communityParty/members/index.vue

@ -41,7 +41,7 @@
class="input-width"
clearable></el-input>
</el-form-item>
<el-form-item label="身份证"
<el-form-item label="证件号"
prop="idCard">
<el-input v-model="searchForm.idCard"
placeholder="请输入"
@ -226,7 +226,7 @@
align="center"
width="100" />
<el-table-column prop="idCard"
label="身份证号"
label="证号"
align="center"
min-width="180" />
<el-table-column prop="mobile"

6
src/views/modules/communityParty/members/points.vue

@ -18,7 +18,7 @@
<el-form-item label="手机号" prop="mobile">
<el-input v-model="searchForm.mobile" placeholder="请输入" class="input-width" clearable></el-input>
</el-form-item>
<el-form-item label="身份证" prop="idCard">
<el-form-item label="证件号" prop="idCard">
<el-input v-model="searchForm.idCard" placeholder="请输入" class="input-width" clearable></el-input>
</el-form-item>
<el-form-item label="审核状态" prop="status">
@ -89,7 +89,7 @@
/>
<el-table-column
prop="idCard"
label="身份证号"
label="证号"
align="center"
min-width="180"
/>
@ -235,7 +235,7 @@
<el-form-item label="手机号:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.mobile}}</div>
</el-form-item>
<el-form-item label="身份证:" :label-width="'100px'">
<el-form-item label="证件号:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.idCard}}</div>
</el-form-item>
</div>

85
src/views/modules/communityService/commonDemand/index.vue

@ -1,20 +1,15 @@
<template>
<div class="div_main">
<div class="g-main">
<div>
<div class="div_search">
<div class="m-search">
<el-form :inline="true"
:model="formData"
ref="ref_searchform"
:label-width="'80px'">
<div>
<el-form-item label="服务类别"
prop="serviceType">
<div class="f-flex">
:label-width="'100px'">
<el-form-item prop="serviceType"
class="u-item-width-communitycascader f-bto0">
<el-select class="cell-width-1"
label="服务类别"
>
<el-select class="u-item-width-normal"
v-model.trim="formData.serviceTypeLevel1Id"
placeholder="请选择"
clearable>
@ -26,9 +21,8 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="serviceType"
class="u-item-width-communitycascader f-bto0">
<el-select class="cell-width-1"
<el-form-item prop="serviceType">
<el-select class="u-item-width-normal"
v-model.trim="formData.serviceTypeLevel2Id"
placeholder="请选择"
clearable>
@ -40,24 +34,22 @@
</el-option>
</el-select>
</el-form-item>
</div>
</el-form-item>
<el-form-item label="服务时间"
prop="serviceTimeStart">
<el-date-picker v-model="formData.serviceTimeStart"
:picker-options="startPickerOptions"
class="item_width_2"
class="u-item-width-daterange"
size="small"
type="date"
value-format="yyyy-MM-dd"
value="yyyy-MM-dd"
placeholder="开始时间">
</el-date-picker>
<span class="data-tag"></span>
<span class="u-data-tag"></span>
<el-date-picker v-model="formData.serviceTimeEnd"
:picker-options="endPickerOptions"
class="item_width_2 data-tag"
class="u-item-width-daterange u-data-tag"
size="small"
type="date"
value-format="yyyy-MM-dd"
@ -70,7 +62,7 @@
<el-form-item label="服务事项"
prop="serviceName">
<el-input v-model="formData.serviceName"
class="item_width_1"
class="u-item-width-normal"
size="small"
clearable
placeholder="请输入">
@ -80,7 +72,7 @@
<el-form-item label="服务组织"
prop="serviceOrgType">
<el-select v-model="formData.serviceOrgType"
class="input-width-small"
class="u-item-width-normal"
placeholder="请选择"
clearable
@change="handleServiceChange('add', $event)">
@ -90,9 +82,8 @@
:value="item.value">
</el-option>
</el-select>
-
<el-select v-model="formData.serviceOrgId"
class="input-width-middle"
class="u-item-width-normal u-data-tag"
filterable
placeholder="请选择"
clearable>
@ -108,7 +99,7 @@
<el-form-item label="服务状态"
prop="serviceStatus">
<el-select class="item_width_2"
<el-select class="u-item-width-normal"
v-model="formData.serviceStatus"
placeholder="全部"
size="small"
@ -123,7 +114,7 @@
</el-form-item>
<el-form-item label="满意度"
prop="satisfaction">
<el-select class="item_width_2"
<el-select class="u-item-width-normal"
v-model="formData.satisfaction"
placeholder="全部"
size="small"
@ -136,25 +127,31 @@
</el-select>
</el-form-item>
<el-row type="flex" >
<el-col :span="24" align="right">
<el-button style="margin-left:30px"
size="small"
class="diy-button--search"
type="primary "
@click="handleSearch">查询</el-button>
<el-button style="margin-left:10px"
type="primary"
size="small"
class="diy-button--reset"
@click="resetSearch">重置</el-button>
</div>
</el-col>
</el-row>
</el-form>
</div>
<div class="div_table">
<div class="m-table">
<div class="div_btn">
<el-button class="diy-button--add"
<div class="div_btn_left">
<el-button
size="small"
@click="handleAdd">发起服务</el-button>
@click="handleAdd"
type="primary"
>发起服务</el-button>
</div>
<!-- <el-button @click="handleExport"
class="diy-button--reset"
size="small">导出</el-button> -->
@ -163,8 +160,7 @@
<el-table :data="tableData"
border
v-loading="tableLoading"
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}"
class="table"
class="m-table-item"
style="width: 100%"
:height="maxTableHeight">
<el-table-column label="序号"
@ -222,27 +218,27 @@
<el-button @click="handleDetail(scope.row)"
type="text"
size="small"
class="div-table-button--detail">查看</el-button>
>查看</el-button>
<el-button v-if="scope.row.serviceStatus==='in_service'"
@click="handleEdit(scope.row)"
type="text"
size="small"
class="div-table-button--edit">编辑</el-button>
>编辑</el-button>
<el-button v-if="scope.row.serviceStatus==='in_service'"
@click="handleFeedback(scope.row)"
type="text"
size="small"
class="div-table-button--edit">反馈</el-button>
>反馈</el-button>
<el-button v-if="scope.row.policyId"
@click="handlePersonList(scope.row)"
type="text"
size="small"
class="div-table-button--edit">人员名单</el-button>
>人员名单</el-button>
<el-button v-if="scope.row.serviceStatus==='in_service'"
@click="handleDel(scope.row)"
type="text"
size="small"
class="div-table-button--delete">取消</el-button>
>取消</el-button>
</template>
</el-table-column>
@ -380,7 +376,7 @@
tableLoading: false,
user: {},
agencyId: '',
searchH:170,
tableData: [],
statusArray: [
@ -452,9 +448,10 @@
},
computed: {
maxTableHeight () {
return this.$store.state.inIframe
? this.clientHeight - 410 + this.iframeHeigh
: this.clientHeight - 410;
const h =
this.clientHeight - this.searchH - 275 + this.iframeHeight;
const _h = this.clientHeight - 275 - this.searchH;
return this.$store.state.inIframe ? h : _h;
},
...mapGetters(["clientHeight", "iframeHeight"]),
},

590
src/views/modules/communityService/labelConfig/addForm.vue

@ -0,0 +1,590 @@
<template>
<div>
<el-form
ref="label_form"
:inline="true"
:model="formData"
class="div_form"
:rules="rules"
>
<el-form-item
label="标签名称"
label-width="100px"
prop="tagName"
>
<el-input v-model="formData.tagName" placeholder="请输入内容" clearable ></el-input>
</el-form-item>
</el-form>
<p style="margin-left: 15px;"> <b style="color:#F56C6C">*</b> 匹配数据</p>
<el-table
border
:data="tableData"
style="width: 100%"
height="200"
>
<el-table-column label="选择数据源" align="center" width="120">
<template slot-scope="scope">
<el-select
v-model="scope.row.dataSource"
placeholder="请选择"
@change="handleChangeSource(scope.row,scope.$index)"
clearable
>
<el-option
v-for="item in dataSourceOpction"
:label="item.label"
:value="item.value"
:key="item.value"
>
</el-option>
</el-select>
</template>
</el-table-column>
<!-- || scope.$index == scope._self._data.tableData.length-1 -->
<el-table-column label="字段类别" align="center" width="120">
<template slot-scope="scope" v-if="scope.row.dataSource=='resi'">
<el-select
v-model="scope.row.itemGroupId"
placeholder="请选择"
clearable
@change="handleChangeFieldsType(scope.row,scope.$index)"
>
<el-option
v-for="item in scope.row.itemGroupIdOpction"
:label="item.label"
:value="item.id"
:key="item.id"
>
</el-option>
</el-select>
</template>
<!-- <template v-else>
<el-select
:placeholder="scope.row.dataSource=='house'?'房屋信息':'统计信息'"
:disabled="true"
>
</el-select>
</template> -->
</el-table-column>
<el-table-column label="字段名称" align="center" width="120">
<template slot-scope="scope">
<el-select
v-model="scope.row.itemId"
placeholder="请选择"
@change="handleChangeFieldsName(scope.row,scope.$index)"
@clear="handleClearItemId(scope.row,scope.$index)"
clearable
>
<el-option
v-for="item in scope.row.itemIdOpction"
:label="item.label"
:value="scope.row.dataSource=='resi'?item.itemId:item.colKey"
:key="scope.row.dataSource=='resi'?item.itemId:item.colKey"
>
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="比较符" align="center" width="120">
<template slot-scope="scope">
<el-select
v-model="scope.row.queryType"
placeholder="请选择"
clearable
>
<el-option
v-for="item in queryTypeOpction"
:label="item.label"
:value="item.value"
:key="item.value"
>
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="对应值" align="center" width="155">
<template slot-scope="scope" >
<template v-for="item in scope.row.correspondingOpction" >
<el-select
v-if="item.itemType == 'select'||item.itemType == 'radio'||item.itemType =='checkbox'"
v-model="scope.row.colVal"
placeholder="请选择"
clearable
>
<el-option
v-for="items in item.options"
:label="items.label"
:value="items.value"
:key="items.label"
>
</el-option>
</el-select>
<el-input
v-else-if="item.itemType === 'input'||item.itemType === 'textarea'"
v-model="scope.row.colVal"
placeholder="请输入"
clearable
>
</el-input>
<el-input-number v-else-if="item.itemType==='inputNum'"
class="item_width_2"
v-model="scope.row.colVal"
:min="0"
size="mini"
label="请输入"></el-input-number>
<el-date-picker v-else-if="item.itemType==='datepicker'||item.itemType==='date'"
v-model="scope.row.colVal"
class="item_width_2"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
value="yyyy-MM-dd HH:mm:ss"
placeholder="开始时间">
</el-date-picker>
<el-input v-else
class="item_width_2"
size="mini"
placeholder="请输入"
v-model="personItem.colVal">
</el-input>
</template>
</template>
</el-table-column>
<el-table-column label="条件关系" align="center" width="120">
<template slot-scope="scope" v-if="scope.$index!=tableData.length-1">
<el-select
v-model="scope.row.nextLogicalRel"
placeholder="请选择"
clearable
>
<el-option
v-for="item in nextLogicalRelOpction"
:label="item.label"
:value="item.value"
:key="item.value"
>
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="120">
<template slot-scope="scope">
<img src="@/assets/img/icon-del.png"
v-show="scope.$index!=tableData.length-1"
@click="handleClickDelete(scope.$index)"
class="imgBtn"
>
<img src="@/assets/img/icon-add.png"
@click="handleClickAddRow"
v-show="scope.$index==tableData.length-1"
class="imgBtn">
<!-- <el-button
size="small"
type="text"
>增加</el-button
>
<el-button
size="small"
type="text"
@click="handleClickDelete(scope.$index)"
>删除</el-button
> -->
</template>
</el-table-column>
</el-table>
<div class="div_btn">
<el-button size="small" @click="handleCancle"> </el-button>
<el-button
size="small"
type="primary"
@click="handleComfirm"
> </el-button
>
</div>
</div>
</template>
<script>
import { requestPost,requestGet } from "@/js/dai/request";
export default {
data() {
return {
formData:{
tagName:"",
},
FormType:"",
rules:{
tagName:[{ required: true, message: '请输入标签名称', trigger: 'change' }]
},
tableData:[{
dataSource:"",//
itemGroupId:"",//
itemId:"",//
queryType:"",//
colVal:"",//
nextLogicalRel:"",//,
tableName:"",//
colKey:"",
itemIdOpction:[],
itemGroupIdOpction:[],
correspondingOpction:[]
}],
formType:'',
dataSourceOpction:[{label:'人员信息',value:'resi'},{label:'房屋信息',value:'house'},{label:'统计信息',value:'stat'}],
queryTypeOpction:[{}],
nextLogicalRelOpction:[{label:'并且',value:'and'},{label:'或者',value:'or'}],
};
},
created() {},
methods: {
async initForm(type,row) {
console.log(type);
this.FormType = type
await this.getFormEdit(row.tagId)
this.tagId = row.tagId
console.log( this.tableData);
this.formType = type
for(let i in this.tableData){
this.handleChangeSource(this.tableData[i],[i],type)
this.handleChangeFieldsType(this.tableData[i],[i],type)
setTimeout(() => {
this.handleChangeFieldsName(this.tableData[i],[i],type)
}, 300);
}
this.formData.tagName = row.tagName
},
//
async handleChangeSource(row,index,type){
console.log(row);
if(row.dataSource == 'resi'){
let url = "/oper/customize/icformitemgroup/list"
let params={
formCode: "resi_base_info",
policyFlag: "1"
}
let {data,code,msg} = await requestPost(url,params)
if(code == 0){
this.$set(this.tableData[index],'itemGroupIdOpction',data)
console.log(this.tableData[index].itemGroupIdOpction);
}else {
this.$message.error(msg)
}
this.hadeleClearForm(this.tableData[index],index)
if(!type){
this.tableData[index].itemGroupId = ""
this.tableData[index].itemId = ""
this.tableData[index].colKey = ""
this.tableData[index].colVal = ""
this.tableData[index].nextLogicalRel = ""
this.tableData[index].queryType = ""
this.tableData[index].itemIdOpction = []
}
}else if( row.dataSource == 'house') {
let url = "/governance/policy/item-list/house"
let params={}
let {data,code,msg} = await requestPost(url,params)
if(code == 0){
this.tableData[index].itemIdOpction = data
}else{
this.$message.error(msg)
}
this.hadeleClearForm(this.tableData[index],index)
if(!type){
this.tableData[index].itemGroupId = ""
this.tableData[index].itemId = ""
this.tableData[index].colKey = ""
this.tableData[index].colVal = ""
this.tableData[index].nextLogicalRel = ""
this.tableData[index].queryType = ""
}
} else if(row.dataSource == "stat"){
let url = "/governance/policy/item-list/stat"
let params={}
let {data,code,msg} = await requestPost(url,params)
if(code == 0){
this.tableData[index].itemIdOpction = data
}else{
this.$message.error(msg)
}
this.hadeleClearForm(this.tableData[index],index)
if(!type){
this.tableData[index].itemGroupId = ""
this.tableData[index].itemId = ""
this.tableData[index].colKey = ""
this.tableData[index].colVal = ""
this.tableData[index].nextLogicalRel = ""
this.tableData[index].queryType = ""
}
}else{
this.hadeleClearForm(this.tableData[index],index)
this.tableData[index].itemGroupId = ""
this.tableData[index].itemId = ""
this.tableData[index].colKey = ""
this.tableData[index].colVal = ""
this.tableData[index].nextLogicalRel = ""
this.tableData[index].queryType = ""
this.tableData[index].itemIdOpction = []
}
this.getCompareList()
},
//
async handleChangeFieldsType(row,index,type){
console.log(row,index,'字段类别row');
if(row.dataSource != "resi") return
const url = "/oper/customize/icformitem/getItemListV2"
let params={
groupId: row.itemGroupId,
policyFlag: "1"
}
this.hadeleClearForm(this.tableData[index],index)
if(!type){
this.tableData[index].itemId = ""
this.tableData[index].colKey = ""
this.tableData[index].colVal = ""
this.tableData[index].nextLogicalRel = ""
this.tableData[index].queryType = ""
this.tableData[index].itemIdOpction = []
}
let {data,code,msg} = await requestPost(url,params)
if(code == 0){
this.$set(this.tableData[index],'itemIdOpction',data)
console.log(this.tableData[index].itemIdOpction ,'see');
}else {
this.$message.error(msg)
}
},
//
async handleChangeFieldsName(row,index,type){
console.log(row,'字段名称row');
var arr = []
// colKeycolumnName
if(row.dataSource == 'house' || row.dataSource == 'stat'){
arr = row.itemIdOpction.filter(item=>item.colKey == row.itemId)
this.tableData[index].tableName = arr[0].tableName
this.tableData[index].colKey = arr[0].colKey
if(!type){
this.tableData[index].colVal = ""
this.tableData[index].nextLogicalRel = ""
this.tableData[index].queryType = ""
}
// this.tableData[index].colVal = ''
// this.tableData[index].queryType = ''
}else if(row.dataSource == 'resi'&&row.itemId!=""){
arr = row.itemIdOpction.filter(item=>item.itemId == row.itemId)
this.tableData[index].tableName = arr[0].tableName
this.tableData[index].colKey = arr[0].columnName
if(!type){
this.tableData[index].colVal = ""
this.tableData[index].nextLogicalRel = ""
this.tableData[index].queryType = ""
}
// this.tableData[index].colVal = ''
// this.tableData[index].queryType = ''
}
console.log(arr,'arr是筛选出来的');
if(row.itemId=="")return
// optionoptionSourceType
console.log(arr[0].optionSourceType);
if(arr[0].optionSourceType== "remote"){
let url = ""
let params = {}
if(row.dataSource == 'house'){
url = arr[0].optionSourceUrl
params = JSON.parse(arr[0].optionSourceParam)
}else{
url = arr[0].optionSourceValue
}
const { data, code, msg } = await requestPost(url, params)
if(code == 0 ){
arr[0].options = data
this.$set( this.tableData[index],'correspondingOpction',arr)
}else{
this.$message.error(msg)
}
}else{
this.$set( this.tableData[index],'correspondingOpction',arr)
}
console.log( this.tableData);
},
async getCompareList(){
const url = "/sys/dict/data/dictlist"
let params = {
dictType: "sql_query_type"
}
let {data,code,msg} = await requestPost(url,params)
if(code == 0){
this.queryTypeOpction = data
}else if(code>=8000){
this.$message.error(msg)
}
},
//
hadeleClearForm(row,index){
let obj = {}
obj = {
dataSource:row.dataSource?row.dataSource:'',
itemId:row.itemId?row.itemId:'',
queryType:row.queryType?row.queryType:'',
colVal:row.colVal?row.colVal:'',
colKey:row.colKey?row.colKey:'',
nextLogicalRel:row.nextLogicalRel?row.nextLogicalRel:'',
tableName:row.tableName?row.tableName:'',
itemGroupId:row.itemGroupId?row.itemGroupId:'',
itemIdOpction:row.itemIdOpction?row.itemIdOpction:[],
itemGroupIdOpction:row.itemGroupIdOpction?row.itemGroupIdOpction:[]
}
this.$set(this.tableData,index,obj)
},
async getFormEdit(id){
const url = `/governance/resiSearchTag/listResiSearchRulesByTagId?tagId=${id}`
let {code,msg,data} = await requestGet(url)
if(code == 0){
console.log(data,'获取到的详情信息');
this.tableData = data
}else if(code>=8000){
this.$message.error(msg)
}
},
async handleComfirm(){
this.$refs.label_form.validate((flag)=>{
if(flag){
let messageObj = {}
messageObj = this.validateRule(this.tableData)
console.log(messageObj);
if(messageObj){
this.$message.error(messageObj)
return
}
for(let i in this.tableData){
for(let j in this.tableData[i]){
if(typeof this.tableData[i][j] != "string"&&typeof this.tableData[i][j] != "number"){
this.$delete(this.tableData[i],j)
}
}
}
this.addSubmit()
}else{
return false
}
})
},
async addSubmit(){
let url = ""
let params = {
}
if(this.FormType == "edit"){
url = "/governance/resiSearchTag/updateResiSearchTag"
params = {
tagName:this.formData.tagName,
rules: this.tableData,
tagId:this.tagId
}
}else {
url = "/governance/resiSearchTag/addResiSearchTag"
params = {
tagName:this.formData.tagName,
rules: this.tableData,
}
}
let {data,msg,code} = await requestPost(url,params)
if(code==0){
this.$message.success('新增成功')
this.$emit('dialogOk')
}else if(code>=8000){
this.$message.error(msg)
}
},
handleCancle(){
this.$emit('dialogCancle')
},
validateRule(tabList){
console.log(tabList);
let message = ""
tabList.forEach((item,index)=>{
if (item.itemGroupId === '' && item.dataSource=='resi'||
item.itemId === '' ||
item.queryType === '' ||
item.colKey === ''
) {
message = `匹配规则${item.dataSource=='resi'?'人员':item.dataSource=='house'?'房屋':item.dataSource=='stat'?'统计':''}信息不完整,请填写完整 !`
return message
}
if ((index != this.tableData.length - 1) && item.nextLogicalRel === '') {
message = `匹配规则${item.dataSource=='resi'?'人员':item.dataSource=='house'?'房屋':item.dataSource=='stat'?'统计':''}信息不完整,请填写完整 !`
console.log(item);
return message
}
if ((item.queryType !== 'is_null' && item.queryType !== 'is_not_null') && item.colVal === '') {
message = `匹配规则${item.dataSource=='resi'?'人员':item.dataSource=='house'?'房屋':item.dataSource=='stat'?'统计':''}信息不完整,请填写完整 !`
return message
}
})
return message
},
handleClickAddRow(){
if(this.tableData == undefined){
this.tableData = []
}
let obj = {}
obj.dataSource="";
obj.itemGroupId="";
obj.itemId="";
obj.queryType="";
obj.colVal="";
obj.nextLogicalRel=""
obj.itemIdOpction = []
this.tableData.push(obj)
},
//
handleClickDelete(index){
this.tableData.splice(index,1)
},
handleClearItemId(row,index){
this.tableData[index].colVal = ''
this.tableData[index].queryType = ''
},
},
props:{},
computed:{},
watch: {},
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/list-main.scss";
.imgBtn {
width: 25px;
height: 25px;
margin-top: 3px;
cursor: pointer;
}
.div_btn{
display: flex;
justify-content: right;
margin-right: 16px;
margin-top: 10px;
}
</style>

236
src/views/modules/communityService/labelConfig/index.vue

@ -0,0 +1,236 @@
<template>
<div class="g-main">
<div class="m-search">
<el-form :inline="true"
:model="formData"
ref="ref_searchform"
:label-width="'120px'">
<el-form-item label="标签名称"
prop="tagName">
<el-input v-model="formData.tagName"
size="small"
class="u-item-width-normal"
clearable
placeholder="请输入">
</el-input>
</el-form-item>
<el-row type="flex" >
<el-col :span="24" align="right">
<el-button style="margin-left:30px"
size="small"
type="primary "
@click="handleSearchFrom">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
<div class="m-table">
<div class="div_btn">
<el-button
style="height:32px;"
size="small"
@click="handleAdd({},'add')"
type="primary"
icon="el-icon-plus"
>
新增</el-button
>
</div>
<el-table
ref="config_table"
border
:data="tableData"
v-loading="tableLoading"
style="width: 100%"
:height="tableHeight"
>
<el-table-column
label="标签名称"
prop="tagName"
fixed="left"
align="center"
key="tagName"
/>
<el-table-column fixed="right" label="操作" align="center" width="200">
<template slot-scope="scope">
<el-button
style="margin-right: 10px"
@click="handleAdd(scope.row,'edit')"
size="small"
type="text"
>修改</el-button
>
<!-- 按钮权限-->
<template >
<el-popconfirm
title="删除之后无法回复,确认删除?"
@onConfirm="handleDel(scope.row)"
>
<el-button
size="small"
type="text"
slot="reference"
>删除</el-button
>
</el-popconfirm>
</template>
</template>
</el-table-column>
</el-table>
<div class="div-flex">
<div class="m-page">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="pageSize"
layout="sizes, prev, pager, next, total"
:total="total"
>
</el-pagination>
</div>
</div>
</div>
<el-dialog :visible.sync="formShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="formTitle"
destroy-on-close
width="900px"
top="5vh"
class="dialog-h"
@closed="diaClose"
>
<add-form
v-if="formShow"
ref="Config_form"
:row-obj="rowObj"
@dialogCancle="addFormCancle"
@dialogOk="addFormOk"></add-form>
</el-dialog>
</div>
</template>
<script>
import { requestPost } from "@/js/dai/request";
import { mapGetters } from "vuex";
import addForm from "./addForm.vue"
import nextTick from "dai-js/tools/nextTick";
export default {
name:"labelConfig",
data(){
return{
formData:{
tagName:""
},
tableData:[],
pageNo:1,
pageSize:20,
tableLoading:true,
total:0,
searchH:100,
formShow:false,
formTitle:"",
rowObj:{}
}
},
created(){
},
components:{addForm},
methods:{
async getlabelConfigList(){
const url = "/governance/resiSearchTag/listResiSearchTags"
let params = {
pageNo:this.pageNo,
pageSize:this.pageSize,
tagName:this.formData.tagName
}
let {data,msg,code} = await requestPost(url,params)
this.tableLoading = false
if(code == 0 ){
this.tableData = data.list
this.total = data.total
}else{
this.$message.error(msg)
}
},
addFormCancle () {
this.formShow = false
},
addFormOk () {
this.formShow = false
this.getlabelConfigList()
},
handleAdd (row,type) {
if(type=="add"){
this.formTitle = '新增标签'
this.formShow = true
// this.$nextTick(() => {
// this.$refs.Config_form.initForm(type, row)
// })
}else {
this.formTitle = '修改标签'
this.formShow = true
console.log(row);
this.rowObj = row
this.$nextTick(() => {
this.$refs.Config_form.initForm(type, row)
})
}
},
handleSizeChange(val) {
console.log(`每页 ${val}`);
this.pageSize = val;
this.getlabelConfigList()
},
async handleDel(row){
const url = `/governance/resiSearchTag/deleteResiSearchTag/${row.tagId}`
let {code,msg} = await requestPost(url)
if(code == 0 ){
this.$message.success('删除成功')
}else {
this.$message.error(msg)
}
this.getlabelConfigList()
},
handleSearchFrom(){
this.getlabelConfigList()
},
handleCurrentChange(val) {
this.pageNo = val;
this.getlabelConfigList();
},
diaClose () {
this.formShow = false
},
},
async mounted(){
this.getlabelConfigList()
},
computed:{
...mapGetters(["clientHeight", "iframeHeight"]),
tableHeight() {
const h = this.clientHeight - this.searchH - 275 + this.iframeHeight;
const _h = this.clientHeight - 275 - this.searchH;
return this.$store.state.inIframe ? h : _h;
},
},
watch:{}
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/list-main.scss";
.div_btn{
margin-bottom: 12px;
}
</style>

6
src/views/modules/communityService/measure/points.vue

@ -18,7 +18,7 @@
<el-form-item label="手机号" prop="mobile">
<el-input v-model="searchForm.mobile" placeholder="请输入" class="input-width" clearable></el-input>
</el-form-item>
<el-form-item label="身份证" prop="idCard">
<el-form-item label="证件号" prop="idCard">
<el-input v-model="searchForm.idCard" placeholder="请输入" class="input-width" clearable></el-input>
</el-form-item>
<el-form-item label="审核状态" prop="status">
@ -89,7 +89,7 @@
/>
<el-table-column
prop="idCard"
label="身份证号"
label="证号"
align="center"
min-width="180"
/>
@ -235,7 +235,7 @@
<el-form-item label="手机号:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.mobile}}</div>
</el-form-item>
<el-form-item label="身份证:" :label-width="'100px'">
<el-form-item label="证件号:" :label-width="'100px'">
<div class="input-width1">{{detailInfo.idCard}}</div>
</el-form-item>
</div>

6
src/views/modules/communityService/policy/personListItem.vue

@ -104,13 +104,13 @@
</el-form-item>
<el-form-item label="身份证"
<el-form-item label="证件号"
prop="mobile">
<el-input v-model="formData.idCard"
size="small"
class="item_width_2"
clearable
placeholder="请输入身份证">
placeholder="请输入证件号">
</el-input>
</el-form-item>
@ -162,7 +162,7 @@
<el-table-column prop="idCard"
header-align="center"
align="center"
label="身份证"
label="证件号"
width="170">
</el-table-column>
<el-table-column prop="neighborHoodName"

4
src/views/modules/demo/demo-add-or-update.vue

@ -7,8 +7,8 @@
<el-form-item label="手机号" prop="mobile">
<el-input v-model="dataForm.mobile" placeholder="手机号"></el-input>
</el-form-item>
<el-form-item label="身份证号" prop="identityNo">
<el-input v-model="dataForm.identityNo" placeholder="身份证号"></el-input>
<el-form-item label="证号" prop="identityNo">
<el-input v-model="dataForm.identityNo" placeholder="证号"></el-input>
</el-form-item>
</el-form>
<template slot="footer">

4
src/views/modules/demo/demo.vue

@ -17,7 +17,7 @@
</el-form-item>
<el-form-item>
<el-input v-model="dataForm.identityNo"
placeholder="身份证号"
placeholder="证号"
clearable></el-input>
</el-form-item>
<el-form-item>
@ -59,7 +59,7 @@
header-align="center"
align="center"></el-table-column>
<el-table-column prop="identityNo"
label="身份证号"
label="证号"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="registFlag"

2
src/views/modules/home/index.vue

@ -298,7 +298,7 @@ export default {
},
typePlaceholder: {
jumin: "请输入姓名或电话或身份证号",
jumin: "请输入姓名或电话或证号",
fangwu: "请输入“小区名称,楼号”,如:亿联小区,1号楼",
xuqiu: "请输入需求人或需求内容或服务方",
},

1
src/views/modules/home/notice.vue

@ -102,6 +102,7 @@ export default {
if (item.id) {
params.id = item.id;
url += "?id=" + item.id;
}
const { data, code, msg } = await requestPost(url, params);

6
src/views/modules/partymember/icpartymemberpayrecorddetail.vue

@ -36,13 +36,13 @@
placeholder="请输入姓名">
</el-input>
</el-form-item>
<el-form-item label="身份证"
<el-form-item label="证件号"
prop="idCard">
<el-input v-model="dataForm.idCard"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入身份证">
placeholder="请输入证件号">
</el-input>
</el-form-item>
<el-form-item label="手机"
@ -98,7 +98,7 @@
</el-table-column>
<el-table-column prop="orgName" label="所属党组织" header-align="center" align="center"></el-table-column>
<el-table-column prop="name" label="姓名" header-align="center" align="center"></el-table-column>
<el-table-column prop="idCard" label="身份证" header-align="center" align="center"></el-table-column>
<el-table-column prop="idCard" label="证件号" header-align="center" align="center"></el-table-column>
<el-table-column prop="mobile" label="手机号" header-align="center" align="center"></el-table-column>
<el-table-column prop="times" label="缴费次数" header-align="center" align="center"></el-table-column>
<el-table-column prop="money" label="缴费金额" header-align="center" align="center"></el-table-column>

6
src/views/modules/partymember/icpartymemberpoint.vue

@ -45,13 +45,13 @@
>
</el-input>
</el-form-item>
<el-form-item label="身份证" prop="idCard">
<el-form-item label="证件号" prop="idCard">
<el-input
v-model="dataForm.idCard"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入身份证"
placeholder="请输入证件号"
>
</el-input>
</el-form-item>
@ -123,7 +123,7 @@
></el-table-column>
<el-table-column
prop="idCard"
label="身份证"
label="证件号"
header-align="center"
align="center"
></el-table-column>

4
src/views/modules/partymember/lookMember.vue

@ -43,7 +43,7 @@
class="input-width"
clearable></el-input>
</el-form-item>
<el-form-item label="身份证"
<el-form-item label="证件号"
prop="idCard">
<el-input v-model="searchForm.idCard"
placeholder="请输入"
@ -164,7 +164,7 @@
align="center"
width="100" />
<el-table-column prop="idCard"
label="身份证号"
label="证号"
align="center"
min-width="180" />
<el-table-column prop="mobile"

2
src/views/modules/plugins/power/kernelhouseholdAddMember.vue

@ -22,7 +22,7 @@
label="联系方式">
</el-table-column>
<el-table-column prop="idCard"
label="身份证号">
label="证号">
</el-table-column>
</el-table>
</div>

2
src/views/modules/plugins/power/kernelhouseholdTable.vue

@ -47,7 +47,7 @@
width="150">
</el-table-column>
<el-table-column prop="ownerIdCard"
label="身份证"
label="证件号"
width="150">
</el-table-column>
<el-table-column label="操作"

4
src/views/modules/plugins/rent/renthouse-add-or-update.vue

@ -25,8 +25,8 @@
<el-form-item label="房主电话" prop="ownerPhone">
<el-input v-model="dataForm.ownerPhone" placeholder="房主电话"></el-input>
</el-form-item>
<el-form-item label="房主证件号" prop="ownerIdCard">
<el-input v-model="dataForm.ownerIdCard" placeholder="房主证件号"></el-input>
<el-form-item label="房主身份证" prop="ownerIdCard">
<el-input v-model="dataForm.ownerIdCard" placeholder="房主身份证"></el-input>
</el-form-item>
<el-form-item label="网格" prop="gridName">
<el-input v-model="dataForm.gridName" placeholder="网格"></el-input>

2
src/views/modules/plugins/rent/renthouse.vue

@ -221,7 +221,7 @@
</el-table-column>
<el-table-column prop="ownerName" label="房主姓名" header-align="center" align="center" min-width="70" show-overflow-tooltip></el-table-column>
<el-table-column prop="ownerPhone" label="房主电话" header-align="center" align="center"></el-table-column>
<el-table-column prop="ownerIdCard" label="房主证件号" header-align="center" align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="ownerIdCard" label="房主身份证" header-align="center" align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="purchaseDate" label="购房日期" header-align="center" align="center" min-width="100" show-overflow-tooltip></el-table-column>
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
<template slot-scope="scope">

6
src/views/modules/plugins/rent/renthouseForm.vue

@ -144,12 +144,12 @@
v-model="dataForm.ownerPhone">
</el-input>
</el-form-item>
<el-form-item label="房主证件号"
<el-form-item label="房主身份证"
prop="ownerIdCard"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
placeholder="请输入房主证件号"
placeholder="请输入房主身份证"
v-model="dataForm.ownerIdCard">
</el-input>
</el-form-item>
@ -519,7 +519,7 @@ export default {
},
async addRoom () {
const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X
const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X
const regPassport = /^[a-zA-Z]{2}\d{7}$|^[a-zA-Z]{1}\d{8}$/; //1827
if (this.dataForm.ownerIdCard && regCard.test(this.dataForm.ownerIdCard) === false && regPassport.test(this.dataForm.ownerIdCard) === false) {
this.btnDisable = false

4
src/views/modules/shequ/chaxun.vue

@ -156,7 +156,7 @@
</el-table-column>
<el-table-column prop="ownerPhone" label="房主电话" width="110">
</el-table-column>
<el-table-column prop="ownerIdCard" label="身份证" width="170">
<el-table-column prop="ownerIdCard" label="证件号" width="170">
</el-table-column>
<el-table-column
label="操作"
@ -240,7 +240,7 @@ export default {
},
typePlaceholder: {
jumin: "请输入姓名或电话或身份证号",
jumin: "请输入姓名或电话或证号",
fangwu: "请输入“小区名称,楼号”,如:亿联小区,1号楼",
xuqiu: "请输入需求人或需求内容或服务方",
},

4
src/views/modules/shequ/index.vue

@ -170,7 +170,7 @@
</el-table-column>
<el-table-column
prop="ownerIdCard"
label="身份证"
label="证件号"
width="170"
>
</el-table-column>
@ -605,7 +605,7 @@ export default {
},
typePlaceholder: {
jumin: "请输入姓名或电话或身份证号",
jumin: "请输入姓名或电话或证号",
fangwu: "请输入“小区名称,楼号”,如:亿联小区,1号楼",
xuqiu: "请输入需求人或需求内容或服务方",
},

16
src/views/modules/shequzhili/event/cpts/add.vue

@ -50,13 +50,13 @@
</el-input>
</el-form-item>
<el-form-item label="身份证号"
<el-form-item label="证号"
prop="idCard"
label-width="150px"
style="display: block">
<el-input class="cell-width-1"
maxlength="30"
placeholder="请输入身份证号"
placeholder="请输入证号"
v-model="formData.idCard"></el-input>
</el-form-item>
@ -243,7 +243,7 @@ function iniFmData () {
reportUserId: "", // ID
name: "", //
mobile: "", //
idCard: "", //
idCard: "", //
sourceType: "", //
happenTime: "", //
eventContent: "", //
@ -322,10 +322,10 @@ export default {
dataRule () {
let checkIdCard = (rule, value, callback) => {
if (value === "") {
callback(new Error("请输入身份证"));
callback(new Error("请输入证件号"));
} else {
if (!isCard(value)) {
callback(new Error("身份证号格式不正确"));
callback(new Error("证号格式不正确"));
}
callback();
}
@ -340,7 +340,7 @@ export default {
{ required: true, message: "手机号不能为空", trigger: "blur" },
],
// idCard: [
// { required: true, message: "", trigger: "blur" },
// { required: true, message: "", trigger: "blur" },
// { required: true, validator: checkIdCard, trigger: "blur" },
// ],
sourceType: [
@ -521,14 +521,14 @@ export default {
return false;
}
const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X
const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X
if (
this.formData.idCard &&
regCard.test(this.formData.idCard) === false
) {
this.$message({
type: "warning",
message: "请输入正确的身份证号码",
message: "请输入正确的证号码",
});
return false;
}

2
src/views/modules/shequzhili/event/cpts/event-detail.vue

@ -56,7 +56,7 @@
<span>{{ info.mobile }}</span>
</div>
<div :class="['m-info-prop',{'m-info-prop-vis':source==='visiual'}]">
<span class="u-info-title-2">身份证号</span>
<span class="u-info-title-2"></span>
<span>{{ info.idCard?info.idCard:'--' }}</span>
</div>
<div :class="['m-info-prop',{'m-info-prop-vis':source==='visiual'}]">

16
src/views/modules/shequzhili/issue/cpts/add.vue

@ -70,7 +70,7 @@
</el-form-item>
<el-form-item
label="身份证号"
label="证号"
prop="idCard"
label-width="150px"
style="display: block"
@ -78,7 +78,7 @@
<el-input
class="cell-width-1"
maxlength="30"
placeholder="请输入身份证号"
placeholder="请输入证号"
v-model="formData.idCard"
></el-input>
</el-form-item>
@ -304,7 +304,7 @@ function iniFmData() {
reportUserId: "", // ID
name: "", //
mobile: "", //
idCard: "", //
idCard: "", //
sourceType: "", //
happenTime: "", //
eventContent: "", //
@ -379,10 +379,10 @@ export default {
dataRule() {
let checkIdCard = (rule, value, callback) => {
if (value === "") {
callback(new Error("请输入身份证"));
callback(new Error("请输入证件号"));
} else {
if (!isCard(value)) {
callback(new Error("身份证号格式不正确"));
callback(new Error("证号格式不正确"));
}
callback();
}
@ -397,7 +397,7 @@ export default {
{ required: true, message: "手机号不能为空", trigger: "blur" },
],
// idCard: [
// { required: true, message: "", trigger: "blur" },
// { required: true, message: "", trigger: "blur" },
// { required: true, validator: checkIdCard, trigger: "blur" },
// ],
sourceType: [
@ -574,14 +574,14 @@ export default {
return false;
}
const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X
const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X
if (
this.formData.idCard &&
regCard.test(this.formData.idCard) === false
) {
this.$message({
type: "warning",
message: "请输入正确的身份证号码",
message: "请输入正确的证号码",
});
return false;
}

2
src/views/modules/shequzhili/issue/cpts/eventDetail.vue

@ -63,7 +63,7 @@
<span>{{ eventDetailData.mobile||'--' }}</span>
</div>
<div class="m-info-prop">
<span class="u-info-title-2">身份证号</span>
<span class="u-info-title-2"></span>
<span>{{ eventDetailData.idCard||'--' }}</span>
</div>
<div class="m-info-prop">

2
src/views/modules/shequzhili/issue/cptsAudit/eventDetail.vue

@ -63,7 +63,7 @@
<span>{{ eventDetailData.mobile||'--' }}</span>
</div>
<div class="m-info-prop">
<span class="u-info-title-2">身份证号</span>
<span class="u-info-title-2"></span>
<span>{{ eventDetailData.idCard||'--' }}</span>
</div>
<div class="m-info-prop">

4
src/views/modules/shequzhili/tuceng/zhonghe/base.vue

@ -147,7 +147,7 @@
</el-input>
</el-form-item>
<el-form-item label="身份证号" prop="idCard">
<el-form-item label="证号" prop="idCard">
<el-input
v-model="fmData.idCard"
class="resi-cell-input"
@ -237,7 +237,7 @@
prop="ID_CARD"
align="center"
min-width="160"
label="身份证号"
label="证号"
:show-overflow-tooltip="true"
>
</el-table-column>

1654
src/views/modules/shequzhili/tuceng/zhonghe/baseTotal.vue

File diff suppressed because it is too large

4
src/views/modules/shequzhili/xiangmu/cpts/edit.vue

@ -178,7 +178,7 @@
<el-input
class="item_width_1"
maxlength="30"
placeholder="请输入身份证号或证件号"
placeholder="请输入证号或证件号"
v-model="fmData.idCard"
@blur="handleBlurId"
:disabled="formType === 'edit'"
@ -447,7 +447,7 @@ export default {
callback(new Error("请输入证件号"));
} else {
if (!isCard(value)) {
callback(new Error("请输入正确的身份证号或护照号"));
callback(new Error("请输入正确的证号或护照号"));
}
callback();
}

2
src/views/modules/sys/icvaccineprarmeter-check.vue

@ -102,7 +102,7 @@
</el-input>
</el-form-item>
<el-form-item label="身份证号"
<el-form-item label="证号"
prop="idCard"
label-width="150px"
style="display: block">

4
src/views/modules/sys/roomForm.vue

@ -327,12 +327,12 @@ export default {
},
async addRoom () {
const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X
const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X
if (this.dataForm.ownerIdCard && regCard.test(this.dataForm.ownerIdCard) === false) {
this.btnDisable = false
this.$message({
type: 'warning',
message: '请输入正确的身份证号码'
message: '请输入正确的证号码'
})
return false;
}

2
src/views/modules/visual/basicinfo/peopleList copy.vue

@ -28,7 +28,7 @@
<div class="td td3">所属网格</div>
<div class="td td3">所属房屋</div>
<div class="td td2">手机</div>
<div class="td td3">身份</div>
<div class="td td3">件号</div>
<div class="td td1">性别</div>
<div class="td td2">出生日期</div>
<div class="td td1">操作</div>

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

@ -127,7 +127,7 @@ export default {
"所属网格",
"所属房屋",
"手机",
"身份证",
"证件号",
"性别",
"出生日期",
"操作",

4
src/views/modules/visual/command/cpts/popup.vue

@ -36,7 +36,7 @@
<span>{{ info.genderShow || "--" }}</span>
</div>
<div class="item">
身份证号
<span>{{ info.idCard || "--" }}</span>
</div>
@ -255,7 +255,7 @@
<span>{{ info.mobile || "--" }}</span>
</div>
<!-- <div class="item">
身份证号
<span>{{ info.idCard || "--" }}</span>
</div> -->

2
src/views/modules/visual/communityGovern/duoyuanfuwu/duoyuanfuwufenxi.vue

@ -618,7 +618,7 @@ export default {
// <div style='font-size:12px; color:#FFFFFF;margin-top:5px'>
// <span>`+ data.genderShow + `</span>
// </div>
// <div style='font-size:12px; color:#FFFFFF;margin-top:5px'>
// <div style='font-size:12px; color:#FFFFFF;margin-top:5px'>
// <span>`+ data.idCard + `</span>
// </div>
// <div style='font-size:12px; color:#FFFFFF;margin-top:5px'>

4
src/views/modules/visual/communityGovern/fivelayers/mapIndex copy 2.vue

@ -137,7 +137,7 @@
<div class="popContentTitle">性别
<span>{{ selInfo.genderShow }}</span>
</div>
<div class="popContentTitle">身份证号
<div class="popContentTitle">
<span>{{ selInfo.idCard }}</span>
</div>
@ -248,7 +248,7 @@
<div class="popContentTitle">手机号
<span>{{ selInfo.mobile || "--" }}</span>
</div>
<div class="popContentTitle">身份证号
<div class="popContentTitle">
<span>{{ selInfo.idCard || "--" }}</span>
</div>

4
src/views/modules/visual/communityGovern/fivelayers/mapIndex copy.vue

@ -136,7 +136,7 @@
<div class="popContentTitle">性别
<span>{{ selInfo.genderShow }}</span>
</div>
<div class="popContentTitle">身份证号
<div class="popContentTitle">
<span>{{ selInfo.idCard }}</span>
</div>
@ -247,7 +247,7 @@
<div class="popContentTitle">手机号
<span>{{ selInfo.mobile || "--" }}</span>
</div>
<div class="popContentTitle">身份证号
<div class="popContentTitle">
<span>{{ selInfo.idCard || "--" }}</span>
</div>

4
src/views/modules/visual/communityGovern/fivelayers/mapIndex-baidu.vue

@ -137,7 +137,7 @@
<div class="popContentTitle">性别
<span>{{ selInfo.genderShow }}</span>
</div>
<div class="popContentTitle">身份证号
<div class="popContentTitle">
<span>{{ selInfo.idCard }}</span>
</div>
@ -248,7 +248,7 @@
<div class="popContentTitle">手机号
<span>{{ selInfo.mobile || "--" }}</span>
</div>
<div class="popContentTitle">身份证号
<div class="popContentTitle">
<span>{{ selInfo.idCard || "--" }}</span>
</div>

4
src/views/modules/visual/communityGovern/fivelayers/mapIndex.vue

@ -134,7 +134,7 @@
<div class="popContentTitle">性别
<span>{{ selInfo.genderShow }}</span>
</div>
<div class="popContentTitle">身份证号
<div class="popContentTitle">
<span>{{ selInfo.idCard }}</span>
</div>
@ -245,7 +245,7 @@
<div class="popContentTitle">手机号
<span>{{ selInfo.mobile || "--" }}</span>
</div>
<div class="popContentTitle">身份证号
<div class="popContentTitle">
<span>{{ selInfo.idCard || "--" }}</span>
</div>

2
src/views/modules/visual/communityGovern/shijianchuli/event-info.vue

@ -71,7 +71,7 @@
<span>{{ eventInfo.mobile || "--" }}</span>
</div>
<!-- <div class="m-info-prop">
<span>身份证号</span>
<span></span>
<span>{{ eventInfo.idCard || "--" }}</span>
</div> -->

6
src/views/modules/visual/communityParty/crateForm.vue

@ -29,7 +29,7 @@
<span>{{ form.showMobile }}</span>
</div>
<div class="m-info-prop">
<span>身份</span>
<span>件号</span>
<span>{{ form.showIdCard }}</span>
</div>
<div class="m-info-prop">
@ -136,10 +136,10 @@ export default {
}
let checkIdCard = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入身份证'))
callback(new Error('请输入证件号'))
} else {
if (!isCard(value)) {
callback(new Error('身份证号格式不正确'))
callback(new Error('证号格式不正确'))
}
callback()
}

2
src/views/modules/visual/communityParty/gridParty.vue

@ -578,7 +578,7 @@ export default {
<div style='font-size:12px; color:#FFFFFF;margin-top:5px'>手机号
<span>`+ mobile + `</span>
</div>
<div style='font-size:12px; color:#FFFFFF;margin-top:5px'>身份证号
<div style='font-size:12px; color:#FFFFFF;margin-top:5px'>
<span>`+ idCard + `</span>
</div>
<div style='font-size:12px; color:#FFFFFF;margin-top:5px'>工作单位

2
src/views/modules/visual/measure/volunteer.vue

@ -582,7 +582,7 @@ export default {
<div style='font-size:12px; color:#FFFFFF;margin-top:5px'>性别
<span>`+ data.genderShow + `</span>
</div>
<div style='font-size:12px; color:#FFFFFF;margin-top:5px'>身份证号
<div style='font-size:12px; color:#FFFFFF;margin-top:5px'>
<span>`+ data.idCard + `</span>
</div>
<div style='font-size:12px; color:#FFFFFF;margin-top:5px'>出生日期

2
src/views/modules/visual/plugin/power/components/house-dialog.vue

@ -54,7 +54,7 @@ export default {
{ title: "与户主关系", coulmn: 'yhzgx' },
{ title: "性别", coulmn: 'gender' },
{ title: "是否党员", coulmn: 'isParty' },
{ title: "身份证号", coulmn: 'idCard' },
{ title: "证号", coulmn: 'idCard' },
{ title: "手机号", coulmn: 'mobile' }
],
headerStyle: [

2
src/views/modules/visual/shundeju/controlCount.vue

@ -132,7 +132,7 @@ export default {
headerList: [
{ title: "姓名", coulmn: 'name' },
{ title: "人脸", coulmn: 'faceImg' },
{ title: "身份证", coulmn: 'idCard' },
{ title: "证件号", coulmn: 'idCard' },
// { title: "", coulmn: 'gender' },
{ title: "手机号", coulmn: 'mobile' },
// { title: "", coulmn: 'type' },

2
src/views/modules/visual/warning/components/screen-table/people-list.vue

@ -113,7 +113,7 @@ export default {
width: "10%",
},
],
header: ["序号", "姓名", "单元", "门牌号", "手机", "身份证", "操作"],
header: ["序号", "姓名", "单元", "门牌号", "手机", "证件号", "操作"],
loading: false,
pageNo: 0,

2
src/views/modules/warning/components/screen-table/people-list.vue

@ -29,7 +29,7 @@
<el-table-column prop="doorName" label="门牌号" width="80">
</el-table-column>
<el-table-column prop="mobile" label="手机"> </el-table-column>
<el-table-column prop="idCard" label="身份证"> </el-table-column>
<el-table-column prop="idCard" label="证件号"> </el-table-column>
<el-table-column
fixed="right"
label="操作"

Loading…
Cancel
Save