Browse Source

Merge branch 'dev' into preview

feature
wxz 2 years ago
parent
commit
a42b7bc1e6
  1. BIN
      src/assets/images/index/house.png
  2. BIN
      src/assets/images/index/i-more.png
  3. BIN
      src/assets/images/index/nan.png
  4. BIN
      src/assets/images/index/nv.png
  5. BIN
      src/assets/images/index/resi.png
  6. BIN
      src/assets/images/index/title-icon-jfjl.png
  7. BIN
      src/assets/images/index/title-icon-jtgx.png
  8. BIN
      src/assets/images/index/title-icon-xsfw.png
  9. BIN
      src/assets/images/index/title-icon-ywjl.png
  10. 86
      src/assets/scss/pages/huaxiang.scss
  11. 2
      src/js/store/index.js
  12. 20
      src/js/store/modules/huaXiang.js
  13. 14
      src/router/index.js
  14. 21
      src/utils/validate.js
  15. 95
      src/views/components/resiForm.vue
  16. 1
      src/views/dataBoard/cpts/personnel/modules/MatterDetails.vue
  17. 317
      src/views/modules/base/huji/immigration/edit.vue
  18. 3
      src/views/modules/base/residentManagement/housingNature/housingNature.vue
  19. 2
      src/views/modules/base/residentManagement/oldPeople/oldPeople.vue
  20. 10
      src/views/modules/base/residentManagement/publicWelfarePost/addForm.vue
  21. 3
      src/views/modules/base/residentManagement/tefu/tefuList.vue
  22. 2
      src/views/modules/communityParty/regionalParty/activitys.vue
  23. 2
      src/views/modules/communityService/labelConfig/addForm.vue
  24. 4
      src/views/modules/communityService/measure/index.vue
  25. 99
      src/views/modules/jumin/cpts/leftBto.vue
  26. 71
      src/views/modules/jumin/cpts/leftTop.vue
  27. 96
      src/views/modules/jumin/huaxiang.vue
  28. 4
      src/views/modules/satisfaction/satisfactionProvince/index.vue
  29. 29
      src/views/modules/shequ/chaxun.vue
  30. 2
      src/views/modules/shequzhili/event/cpts/add.vue
  31. 2
      src/views/modules/shequzhili/event/cpts/event-detail.vue
  32. 13
      src/views/modules/shequzhili/event/cpts/event-info.vue
  33. 4
      src/views/modules/shequzhili/event/cpts/myCascader.vue
  34. 11
      src/views/modules/shequzhili/event/cpts/process-form-designate.vue
  35. 19
      src/views/modules/shequzhili/event/cpts/process-form-replay-end.vue
  36. 6
      src/views/modules/shequzhili/event/cpts/process-form-replay.vue
  37. 21
      src/views/modules/shequzhili/event/eventList.vue

BIN
src/assets/images/index/house.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
src/assets/images/index/i-more.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 575 B

BIN
src/assets/images/index/nan.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
src/assets/images/index/nv.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
src/assets/images/index/resi.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
src/assets/images/index/title-icon-jfjl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
src/assets/images/index/title-icon-jtgx.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/assets/images/index/title-icon-xsfw.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
src/assets/images/index/title-icon-ywjl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

86
src/assets/scss/pages/huaxiang.scss

@ -0,0 +1,86 @@
.g-main{
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
padding:25px 16px;
box-sizing: border-box;
.top{
display: flex;
height: calc(50vh - 104px);
.left{
width: 320px;
height: 100%;
margin-right:16px;
overflow-y: scroll;
}
.right{
flex: 1;
overflow-y: scroll;
}
}
.bottom{
height: calc(50vh - 104px);
margin-top: 16px;
display: flex;
.left{
width: 320px;
height: 100%;
margin-right:16px;
overflow-y: scroll;
}
.right{
flex: 1;
overflow-y: scroll;
}
}
}
.card{
background-color: #fff;
padding: 10px 16px 16px;
overflow: hidden;
height: 100%;
display: flex;
flex-direction: column;
.title{
font-family: PingFang SC;
font-weight: bold;
color: #333333;
display: flex;
align-items: center;
justify-content: space-between;
img{
width: 24px;
height: 24px;
}
}
.bgC{
flex: 1;
background-color: #f5f7fa;
border-radius: 2px;
overflow-y: scroll;
display: flex;
flex-direction: column;
padding: 0 16px;
.item{
margin-top: 19px;
.value{
color: #333333;
font-family: PingFang SC;
font-weight: 400;
}
}
}
}
.gray{
color: #000000;
opacity: 0.65;
}
.bgf{
background-color: #fff ;
margin-top: 0 !important;
}

2
src/js/store/index.js

@ -5,6 +5,7 @@ import user from "./modules/user";
import app from "./modules/app"; import app from "./modules/app";
import tagsView from "./modules/tagsView"; import tagsView from "./modules/tagsView";
import chooseArea from "./modules/chooseArea"; import chooseArea from "./modules/chooseArea";
import huaXiang from "./modules/huaXiang";
import categoryStr from "./modules/categoryStr"; import categoryStr from "./modules/categoryStr";
import { requestPost } from "@/js/dai/request"; import { requestPost } from "@/js/dai/request";
import { dateFormats } from "@/utils/index"; import { dateFormats } from "@/utils/index";
@ -49,6 +50,7 @@ export default new Vuex.Store({
tagsView, tagsView,
categoryStr, categoryStr,
chooseArea, chooseArea,
huaXiang
}, },
mutations: { mutations: {
// 重置vuex本地储存状态 // 重置vuex本地储存状态

20
src/js/store/modules/huaXiang.js

@ -0,0 +1,20 @@
const huaXiang ={
state: {
userInfo:null || JSON.parse(localStorage.getItem('huaX'))
},
mutations: {
setData(state, payload) {
state.userInfo = payload;
}
},
actions: {
saveData({ commit }, payload) {
console.log(payload,'vueX接参');
commit('setData', payload);
localStorage.setItem('huaX', JSON.stringify(payload));
}
}
};
export default huaXiang;

14
src/router/index.js

@ -108,6 +108,16 @@ export const moduleRoutes = {
title: "社区查询", title: "社区查询",
}, },
}, },
{
path: "jumin-huaxiang",
props: true,
name: "jumin-huaxiang",
component: () => import("@/views/modules/jumin/huaxiang"),
meta: {
isTab: true,
title: "",
},
}
], ],
}; };
// pc端菜单的 如果没有配置 默认的 或者配置了默认的 但没有权限 默认选中第一 // pc端菜单的 如果没有配置 默认的 或者配置了默认的 但没有权限 默认选中第一
@ -696,6 +706,10 @@ router.beforeEach((to, from, next) => {
if (to.name === "caiji") { if (to.name === "caiji") {
return next(); return next();
} }
if(to.name === 'jumin-huaxiang'){
to.meta.title = store.state.huaXiang.userInfo.name
return next();
}
if (window.SITE_CONFIG["dynamicMenuRoutesHasAdded"] || fnCurrentRouteIsPageRoute(to, pageRoutes)) { if (window.SITE_CONFIG["dynamicMenuRoutesHasAdded"] || fnCurrentRouteIsPageRoute(to, pageRoutes)) {
return next(); return next();
} }

21
src/utils/validate.js

@ -49,3 +49,24 @@ export function isPassport(s) {
return reg.test(s); return reg.test(s);
} }
/**
* 港澳身份证
* @param {*} s
*/
export function isHKPassport(s) {
return /^([A-Z]\d{6,10}(\(\w{1}\))?)$/.test(s);;
}
/**
* 台湾身份证
* @param {*} s
*/
export function isTwPassport(s) {
return /^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$/.test(s);;
}
/**
* 军官证
* @param {*} s
*/
export function isSoldier(s) {
return /^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$/.test(s);;
}

95
src/views/components/resiForm.vue

@ -128,8 +128,10 @@
:placeholder="`请选择${item.label}`" :placeholder="`请选择${item.label}`"
size="small" size="small"
clearable clearable
class="u-item-width-normal"> class="u-item-width-normal"
<el-option v-for="items in item.opction " @change="handleChangSelect(item.formName)"
>
<el-option v-for="items in item.opction"
:key="items.value" :key="items.value"
:label="items.label" :label="items.label"
:value="items.value"> :value="items.value">
@ -401,7 +403,7 @@
</template> </template>
<script> <script>
import { isCard, isPassport, isMobile, isPhone } from '@/utils/validate' import { isCard, isPassport, isMobile, isPhone,isHKPassport,isTwPassport,isSoldier } from '@/utils/validate'
import { computedCard } from '@/utils/index' import { computedCard } from '@/utils/index'
import { idTypeList } from "@/js/columns/constants"; import { idTypeList } from "@/js/columns/constants";
import {requestGet} from "@/js/dai/request"; import {requestGet} from "@/js/dai/request";
@ -495,17 +497,7 @@ export default {
label: "证件号", label: "证件号",
itemType: "input", itemType: "input",
formName: "idNum", formName: "idNum",
rules: [{ required: true, message: '证件号不能为空' }, rules: [{ required: true, message: '证件号不能为空' },],
{
validator: (rule, value, callback) => {
if (!/^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/.test(value)) {
return callback(new Error('证件格式不符合'));
}
callback()
}, trigger: 'change' | blur
}
],
opction: [], opction: [],
}, },
{ {
@ -1583,6 +1575,7 @@ export default {
} }
}, },
computed: { computed: {
}, },
watch: { watch: {
form: { form: {
@ -2130,6 +2123,80 @@ export default {
if (this.supportAdd) newForm = this.handlerMuscForm() if (this.supportAdd) newForm = this.handlerMuscForm()
return newForm return newForm
}, },
//
handleChangSelect(formName){
if(formName != 'idType') return
this.basicInformation.forEach(item=>{
if(item.formName == 'idNum'){
item.rules.length = 1
if(this.form.idType == 4){
let obj = {
validator: (rule, value, callback) => {
if (!/^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$/.test(value)) {
return callback(new Error('军人证格式不符合'));
}
callback()
}, trigger: 'change' | blur
}
item.rules.push(obj)
} else if(this.form.idType == 3){
let obj = {
validator: (rule, value, callback) => {
if (!/^([A-Z]\d{6,10}(\(\w{1}\))?)$/.test(value)) {
return callback(new Error('港澳通行证格式不符合'));
}
callback()
}, trigger: 'change' | blur
}
item.rules.push(obj)
}else if(this.form.idType == 5){
let obj = {
validator: (rule, value, callback) => {
if (!/^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$/.test(value)) {
return callback(new Error('台胞证不符合'));
}
callback()
}, trigger: 'change' | blur
}
item.rules.push(obj)
}else if(this.form.idType == 1 ){
let obj = {
validator: (rule, value, callback) => {
if (!/^(\d{15}$)|(^\d{17}([0-9]|X)$)|^[a-zA-Z0-9]{8,9}$/.test(value)) {
return callback(new Error('身份证不符合'));
}
callback()
}, trigger: 'change' | blur
}
item.rules.push(obj)
}else if(this.form.idType == 2 ){
let obj = {
validator: (rule, value, callback) => {
if (!/(^[EeKkGgDdSsPpHh]\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\d{7}$)/.test(value)) {
return callback(new Error('护照不符合'));
}
callback()
}, trigger: 'change' | blur
}
item.rules.push(obj)
}else if(this.form.idType == 0 ){
let obj = {
validator: (rule, value, callback) => {
callback()
}, trigger: 'change' | blur
}
item.rules.push(obj)
}
}
})
},
// //
handleChangeH (val) { handleChangeH (val) {
let item = this.optionsH.find(item => item.value === val); let item = this.optionsH.find(item => item.value === val);

1
src/views/dataBoard/cpts/personnel/modules/MatterDetails.vue

@ -1,3 +1,4 @@
<template> <template>
<div class="matter-details"> <div class="matter-details">
<div class="user-img"> <div class="user-img">

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

@ -1,107 +1,52 @@
<template> <template>
<div> <div>
<div class="dialog-h-content scroll-h"> <div class="dialog-h-content scroll-h">
<el-form ref="ref_form" <el-form ref="ref_form" :inline="true" :model="fmData" :rules="dataRule" label-width="150px"
:inline="true"
:model="fmData"
:rules="dataRule"
label-width="150px"
class="g-edit-form"> class="g-edit-form">
<el-form-item label="所属网格 " <el-form-item label="所属网格 " prop="gridId" style="display: block">
prop="gridId" <el-select v-model.trim="fmData.gridId" placeholder="请选择" size="small" clearable
style="display: block"> class="u-edit-width-normal" :disabled="formType === 'edit'" @change="handleChangeGrid">
<el-select v-model.trim="fmData.gridId" <el-option v-for="item in optionsG" :key="item.value" :label="item.label" :value="item.value">
placeholder="请选择"
size="small"
clearable
class="u-edit-width-normal"
:disabled="formType === 'edit'"
@change="handleChangeGrid">
<el-option v-for="item in optionsG"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="所属房屋 " <el-form-item label="所属房屋 " prop="homeId" style="display: block">
prop="homeId"
style="display: block">
<div> <div>
<el-select v-model.trim="fmData.villageId" <el-select v-model.trim="fmData.villageId" placeholder="请选择小区" size="small" clearable
placeholder="请选择小区" class="u-edit-width-normal" @clear="handleClearVillage" @change="handleChangeV"
size="small"
clearable
class="u-edit-width-normal"
@clear="handleClearVillage"
@change="handleChangeV"
:disabled="formType === 'edit'"> :disabled="formType === 'edit'">
<el-option v-for="item in optionsV" <el-option v-for="item in optionsV" :key="item.value" :label="item.label" :value="item.value">
:key="item.value"
:label="item.label"
:value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
<div> <div>
<el-select v-model.trim="fmData.buildId" <el-select v-model.trim="fmData.buildId" placeholder="楼号" size="small" clearable
placeholder="楼号" class="u-edit-width-build" :disabled="changeVDisabled || formType === 'edit'"
size="small" @clear="handleClearBuild" @change="handleChangeB">
clearable <el-option v-for="item in optionsB" :key="item.value" :label="item.label" :value="item.value">
class="u-edit-width-build"
:disabled="changeVDisabled || formType === 'edit'"
@clear="handleClearBuild"
@change="handleChangeB">
<el-option v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option> </el-option>
</el-select> </el-select>
<el-select v-model.trim="fmData.unitId" <el-select v-model.trim="fmData.unitId" :disabled="changeBDisabled || formType === 'edit'"
:disabled="changeBDisabled || formType === 'edit'" placeholder="单元" size="small" clearable style="margin-left: 10px;" class="u-edit-width-build"
placeholder="单元" @click="handleClearDan" @change="handleChangeD">
size="small" <el-option v-for="item in optionsD" :key="item.value" :label="item.label" :value="item.value">
clearable
style="margin-left: 10px;"
class="u-edit-width-build"
@click="handleClearDan"
@change="handleChangeD">
<el-option v-for="item in optionsD"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option> </el-option>
</el-select> </el-select>
<el-select v-model.trim="fmData.homeId" <el-select v-model.trim="fmData.homeId" :disabled="changeDDisabled || formType === 'edit'"
:disabled="changeDDisabled || formType === 'edit'" placeholder="房号" size="small" clearable @change="handleChangeH" style="margin-left: 10px;"
placeholder="房号"
size="small"
clearable
@change="handleChangeH"
style="margin-left: 10px;"
class="u-edit-width-build"> class="u-edit-width-build">
<el-option v-for="item in optionsH" <el-option v-for="item in optionsH" :key="item.value" :label="item.label" :value="item.value">
:key="item.value"
:label="item.label"
:value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="姓名" <el-form-item label="姓名" prop="name" style="display: block">
prop="name" <el-input class="u-edit-width-normal" style="margin-right: 20px" placeholder="请输入姓名 "
style="display: block"> v-model="fmData.name" :disabled="formType === 'edit'" maxlength="30">
<el-input class="u-edit-width-normal"
style="margin-right: 20px"
placeholder="请输入姓名 "
v-model="fmData.name"
:disabled="formType === 'edit'"
maxlength="30">
</el-input> </el-input>
<div> <div>
<!-- <el-checkbox v-model="fmData.isWelfare" <!-- <el-checkbox v-model="fmData.isWelfare"
@ -109,143 +54,74 @@
false-label="0">享受福利</el-checkbox> --> false-label="0">享受福利</el-checkbox> -->
<template v-if="formType === 'edit'"> <template v-if="formType === 'edit'">
<el-checkbox v-model="fmData.isCheck" <el-checkbox v-model="fmData.isCheck" true-label="1" false-label="0" :disabled="initCheck == 1"
true-label="1"
false-label="0"
:disabled="initCheck == 1"
@change="checkResiAvailable">补充居民信息</el-checkbox> @change="checkResiAvailable">补充居民信息</el-checkbox>
</template> </template>
<el-checkbox v-else <el-checkbox v-else v-model="fmData.isCheck" true-label="1" false-label="0"
v-model="fmData.isCheck"
true-label="1"
false-label="0"
@change="checkResiAvailable">补充居民信息</el-checkbox> @change="checkResiAvailable">补充居民信息</el-checkbox>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="联系电话" <el-form-item label="联系电话" prop="mobile" style="display: block">
prop="mobile" <el-input class="u-edit-width-normal" type="number" maxlength="11" show-word-limit
style="display: block"> placeholder="请输入联系电话 " :disabled="formType === 'edit'" v-model="fmData.mobile">
<el-input class="u-edit-width-normal"
type="number"
maxlength="11"
show-word-limit
placeholder="请输入联系电话 "
:disabled="formType === 'edit'"
v-model="fmData.mobile">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="证件号" <el-form-item label="证件号" prop="idCard" style="display: block">
prop="idCard" <el-input class="u-edit-width-normal" placeholder="请输入证件号或护照号" v-model="fmData.idCard"
style="display: block"> :disabled="formType === 'edit'" @blur="handleBlurId"></el-input>
<el-input class="u-edit-width-normal"
placeholder="请输入证件号或护照号"
v-model="fmData.idCard"
:disabled="formType === 'edit'"
@blur="handleBlurId"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="性别" <el-form-item label="性别" prop="principalName" style="display: block">
prop="principalName" <el-select v-model.trim="fmData.gender" placeholder="性别" size="small" clearable
style="display: block"> class="u-edit-width-normal" :disabled="true">
<el-select v-model.trim="fmData.gender" <el-option v-for="item in optionsGender" :key="item.value" :label="item.label" :value="item.value">
placeholder="性别"
size="small"
clearable
class="u-edit-width-normal"
:disabled="true">
<el-option v-for="item in optionsGender"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="年龄" <el-form-item label="年龄" prop="age" style="display: block">
prop="age" <el-input class="u-edit-width-normal" type="number" show-word-limit placeholder="请输入"
style="display: block"> v-model="fmData.age" :disabled="true">
<el-input class="u-edit-width-normal"
type="number"
show-word-limit
placeholder="请输入"
v-model="fmData.age"
:disabled="true">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="迁入日期" <el-form-item label="迁入日期" prop="inTime" style="display: block">
prop="inTime" <el-date-picker v-model="fmData.inTime" type="date" placeholder="迁入时间" value-format="yyyy-MM-dd"
style="display: block"> class="u-edit-width-normal" :disabled="formType === 'edit'">
<el-date-picker v-model="fmData.inTime"
type="date"
placeholder="迁入时间"
value-format="yyyy-MM-dd"
class="u-edit-width-normal"
:disabled="formType === 'edit'">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="迁入原因" <el-form-item label="迁入原因" prop="inReason" style="display: block">
prop="inReason" <el-input type="textarea" class="u-edit-width-normal" placeholder="请输入迁入原因" v-model="fmData.inReason">
style="display: block">
<el-input type="textarea"
class="u-edit-width-normal"
placeholder="请输入迁入原因"
v-model="fmData.inReason">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="来源地" <el-form-item label="来源地" prop="sourceAddress" style="display: block">
prop="sourceAddress"
style="display: block">
<el-cascader ref="nowArea" <el-cascader ref="nowArea" class="u-edit-width-normal" :props="areaProps" v-model="nowAllCode" clearable
class="u-edit-width-normal"
:props="areaProps"
v-model="nowAllCode"
clearable
@change="handleNowArea"></el-cascader> @change="handleNowArea"></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="详细地址" <el-form-item label="详细地址" prop="address" style="display: block">
prop="address" <el-input class="u-edit-width-normal" placeholder="请输入详细地址" v-model="fmData.address">
style="display: block">
<el-input class="u-edit-width-normal"
placeholder="请输入详细地址"
v-model="fmData.address">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="迁移证号码" <el-form-item label="迁移证号码" prop="moveNumber" style="display: block">
prop="moveNumber" <el-input class="u-edit-width-normal" placeholder="请输入迁移证号码" v-model="fmData.moveNumber">
style="display: block">
<el-input class="u-edit-width-normal"
placeholder="请输入迁移证号码"
v-model="fmData.moveNumber">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="户主姓名" <el-form-item label="户主姓名" prop="householderName" style="display: block">
prop="householderName" <el-input class="u-edit-width-normal" placeholder="请输入户主姓名" v-model="fmData.householderName">
style="display: block">
<el-input class="u-edit-width-normal"
placeholder="请输入户主姓名"
v-model="fmData.householderName">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="与户主关系" <el-form-item label="与户主关系" prop="householderRelation" style="display: block">
prop="householderRelation" <el-select v-model.trim="fmData.householderRelation" placeholder="与户主关系" size="small" clearable
style="display: block">
<el-select v-model.trim="fmData.householderRelation"
placeholder="与户主关系"
size="small"
clearable
class="u-edit-width-normal"> class="u-edit-width-normal">
<el-option v-for="item in optionsRelation" <el-option v-for="item in optionsRelation" :key="item.value" :label="item.label"
:key="item.value"
:label="item.label"
:value="item.value"> :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
@ -253,13 +129,9 @@
</el-form> </el-form>
</div> </div>
<div class="m-edit-btn"> <div class="m-edit-btn">
<el-button size="small" <el-button size="small" @click="handleCancle"> </el-button>
@click="handleCancle"> </el-button> <el-button type="primary" size="small" class="diy-button--blue" :disabled="btnDisable" @click="handleComfirm">
<el-button type="primary" </el-button>
size="small"
class="diy-button--blue"
:disabled="btnDisable"
@click="handleComfirm"> </el-button>
</div> </div>
</div> </div>
</template> </template>
@ -270,7 +142,7 @@ import formVltHelper from 'dai-js/tools/formVltHelper'
import { computedCard } from '@/utils/index' import { computedCard } from '@/utils/index'
import { isCard, isMobile } from '@/utils/validate' import { isCard, isMobile } from '@/utils/validate'
function iniFmData () { function iniFmData() {
return { return {
gridId: '', gridId: '',
villageId: '', villageId: '',
@ -299,7 +171,7 @@ function iniFmData () {
} }
export default { export default {
data () { data() {
return { return {
formType: 'add', // addeditdetail formType: 'add', // addeditdetail
@ -335,7 +207,7 @@ export default {
}, },
components: {}, components: {},
computed: { computed: {
dataRule () { dataRule() {
let checkIdCard = (rule, value, callback) => { let checkIdCard = (rule, value, callback) => {
if (value === '') { if (value === '') {
callback(new Error('请输入证件号')) callback(new Error('请输入证件号'))
@ -374,20 +246,20 @@ export default {
} }
}, },
changeVDisabled () { changeVDisabled() {
return !this.fmData.villageId return !this.fmData.villageId
}, },
changeBDisabled () { changeBDisabled() {
return !this.fmData.buildId return !this.fmData.buildId
}, },
changeDDisabled () { changeDDisabled() {
return !this.fmData.unitId return !this.fmData.unitId
} }
}, },
props: {}, props: {},
watch: {}, watch: {},
async mounted () { async mounted() {
console.log('mounted-----我执行了') console.log('mounted-----我执行了')
await this.getGridList() await this.getGridList()
@ -395,21 +267,21 @@ export default {
}, },
methods: { methods: {
lzayLoadArea (node, resolve) { lzayLoadArea(node, resolve) {
// this.getArea(node, resolve) // this.getArea(node, resolve)
setTimeout(() => { setTimeout(() => {
this.getArea(node, resolve) this.getArea(node, resolve)
}, 200) }, 200)
}, },
async checkResiAvailable () { async checkResiAvailable() {
const { const {
fmData: { idCard, isResiUser } fmData: { idCard, isResiUser }
} = this } = this
if (isCard(idCard)) { if (isCard(idCard)) {
const { data, code, msg } = await requestPost( const { data, code, msg } = await requestPost(
'/epmetuser/icresiuser/checkuser', '/actual/base/residentBaseInfo/getresicount',
{ {
idCard, idNum: idCard,
agencyId: this.$store.state.user.agencyId agencyId: this.$store.state.user.agencyId
} }
) )
@ -427,7 +299,7 @@ export default {
} }
} }
}, },
handleNowArea (val) { handleNowArea(val) {
console.log('val-----', val) console.log('val-----', val)
console.log('label-----', this.$refs.nowArea.getCheckedNodes()) console.log('label-----', this.$refs.nowArea.getCheckedNodes())
if (val.length > 0) { if (val.length > 0) {
@ -443,7 +315,7 @@ export default {
this.fmData.sourceAddressPathCode = '' this.fmData.sourceAddressPathCode = ''
} }
}, },
handleBlurId (val) { handleBlurId(val) {
const { sex, age } = computedCard(this.fmData.idCard) const { sex, age } = computedCard(this.fmData.idCard)
if (val) { if (val) {
this.fmData.age = age this.fmData.age = age
@ -452,20 +324,20 @@ export default {
} }
}, },
handleClearVillage () { handleClearVillage() {
this.fmData.buildId = '' this.fmData.buildId = ''
this.fmData.homeId = '' this.fmData.homeId = ''
}, },
handleClearBuild () { handleClearBuild() {
this.fmData.buildId = '' this.fmData.buildId = ''
this.fmData.unitId = '' this.fmData.unitId = ''
this.fmData.homeId = '' this.fmData.homeId = ''
}, },
handleClearDan () { handleClearDan() {
this.fmData.unitId = '' this.fmData.unitId = ''
this.fmData.homeId = '' this.fmData.homeId = ''
}, },
handleChangeGrid (val) { handleChangeGrid(val) {
console.log('val', val) console.log('val', val)
this.fmData.villageId = '' this.fmData.villageId = ''
this.fmData.buildId = '' this.fmData.buildId = ''
@ -475,7 +347,7 @@ export default {
this.fmData.householderRelation = '' this.fmData.householderRelation = ''
this.getValiheList() this.getValiheList()
}, },
handleChangeV (val) { handleChangeV(val) {
console.log('val', val) console.log('val', val)
this.fmData.buildId = '' this.fmData.buildId = ''
this.fmData.unitId = '' this.fmData.unitId = ''
@ -484,7 +356,7 @@ export default {
this.fmData.householderRelation = '' this.fmData.householderRelation = ''
this.getBuildList() this.getBuildList()
}, },
handleChangeB (val) { handleChangeB(val) {
console.log('val', val) console.log('val', val)
this.fmData.unitId = '' this.fmData.unitId = ''
this.fmData.homeId = '' this.fmData.homeId = ''
@ -492,18 +364,18 @@ export default {
this.fmData.householderRelation = '' this.fmData.householderRelation = ''
this.getUniList() this.getUniList()
}, },
handleChangeD (val) { handleChangeD(val) {
console.log('val', val) console.log('val', val)
this.fmData.homeId = '' this.fmData.homeId = ''
this.fmData.householderName = '' this.fmData.householderName = ''
this.fmData.householderRelation = '' this.fmData.householderRelation = ''
this.getHouseList() this.getHouseList()
}, },
handleChangeH (val) { handleChangeH(val) {
console.log('val', val) console.log('val', val)
this.getHouseMaster() this.getHouseMaster()
}, },
async getArea (node, resolve) { async getArea(node, resolve) {
const url = "/commonservice/areacode/nextarea" const url = "/commonservice/areacode/nextarea"
let params = { let params = {
@ -528,7 +400,7 @@ export default {
} }
}, },
getRelationList () { getRelationList() {
const { user } = this.$store.state const { user } = this.$store.state
this.$http this.$http
.post('/sys/dict/data/relationship', { .post('/sys/dict/data/relationship', {
@ -547,7 +419,7 @@ export default {
}) })
}, },
getGridList () { getGridList() {
const { user } = this.$store.state const { user } = this.$store.state
this.$http this.$http
.post('/gov/org/customergrid/gridoption', { .post('/gov/org/customergrid/gridoption', {
@ -566,7 +438,7 @@ export default {
return this.$message.error('网络错误') return this.$message.error('网络错误')
}) })
}, },
getValiheList () { getValiheList() {
const { user } = this.$store.state const { user } = this.$store.state
this.$http this.$http
.post('/actual/base/communityQuarters/listQuartersOptions', { .post('/actual/base/communityQuarters/listQuartersOptions', {
@ -586,7 +458,7 @@ export default {
return this.$message.error('网络错误') return this.$message.error('网络错误')
}) })
}, },
getBuildList () { getBuildList() {
this.$http this.$http
.post('/actual/base/communityBuilding/buildingoption', { .post('/actual/base/communityBuilding/buildingoption', {
quartersId: this.fmData.villageId quartersId: this.fmData.villageId
@ -603,7 +475,7 @@ export default {
return this.$message.error('网络错误') return this.$message.error('网络错误')
}) })
}, },
getUniList () { getUniList() {
this.$http this.$http
.post('/actual/base/communityBuildingUnit/unitoption', { .post('/actual/base/communityBuildingUnit/unitoption', {
buildingId: this.fmData.buildId buildingId: this.fmData.buildId
@ -620,7 +492,7 @@ export default {
return this.$message.error('网络错误') return this.$message.error('网络错误')
}) })
}, },
getHouseList () { getHouseList() {
this.$http this.$http
.post('/actual/base/communityHouse/houseoption', { unitId: this.fmData.unitId }) .post('/actual/base/communityHouse/houseoption', { unitId: this.fmData.unitId })
.then(({ data: res }) => { .then(({ data: res }) => {
@ -636,12 +508,13 @@ export default {
}) })
}, },
getHouseMaster () { //
getHouseMaster() {
const { homeId } = this.fmData const { homeId } = this.fmData
if (!homeId) return (this.alreadyHaveMaster = false) if (!homeId) return (this.alreadyHaveMaster = false)
const params = this.fmData
this.$http this.$http
.post('/epmetuser/icresiuser/queryhousehold/' + homeId, {}) .post('/actual/base/residentBaseInfo/getResiUserInfoListByHouseInfo' , params)
.then(({ data: res }) => { .then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
@ -662,7 +535,7 @@ export default {
}) })
}, },
async initForm (type, id) { async initForm(type, id) {
this.$refs.ref_form.resetFields() this.$refs.ref_form.resetFields()
this.formType = type this.formType = type
@ -677,7 +550,7 @@ export default {
this.getHouseList() this.getHouseList()
} }
}, },
async getDatail (moveInId) { async getDatail(moveInId) {
let url = '/actual/base/residentMoveInRecord/detail' let url = '/actual/base/residentMoveInRecord/detail'
const params = { const params = {
@ -691,7 +564,7 @@ export default {
} else this.$message.error(msg) } else this.$message.error(msg)
}, },
async handleComfirm () { async handleComfirm() {
// setTimeout(() => { // setTimeout(() => {
// this.btnDisable = false // this.btnDisable = false
@ -733,7 +606,7 @@ export default {
}) })
}, },
async submit () { async submit() {
let url = '' let url = ''
if (this.formType === 'add') { if (this.formType === 'add') {
@ -760,11 +633,11 @@ export default {
} }
}, },
handleCancle () { handleCancle() {
this.resetData() this.resetData()
this.$emit('dialogCancle') this.$emit('dialogCancle')
}, },
resetData () { resetData() {
this.orgId = '' this.orgId = ''
this.nowAllCode = [] this.nowAllCode = []
this.btnDisable = false this.btnDisable = false

3
src/views/modules/base/residentManagement/housingNature/housingNature.vue

@ -442,7 +442,7 @@ export default {
}, },
// //
async handleExport() { async handleExport() {
const url = "/actual/base/resiHousingNature/export"; const url = "/actual/base/resiCategorized/ensureHouse/export";
const { pageSize, pageNo, formData } = this; const { pageSize, pageNo, formData } = this;
axios({ axios({
url: window.SITE_CONFIG["apiURL"] + url, url: window.SITE_CONFIG["apiURL"] + url,
@ -573,4 +573,3 @@ export default {
} }
</style> </style>

2
src/views/modules/base/residentManagement/oldPeople/oldPeople.vue

@ -718,7 +718,7 @@
// //
async handleExport() { async handleExport() {
const url = "/actual/base/resiCategorized/oldpeople/export"; const url = "/actual/base/resiCategorized/oldPeople/export";
const { pageSize, pageNo, formData } = this; const { pageSize, pageNo, formData } = this;
axios({ axios({
url: window.SITE_CONFIG["apiURL"] + url, url: window.SITE_CONFIG["apiURL"] + url,

10
src/views/modules/base/residentManagement/publicWelfarePost/addForm.vue

@ -165,10 +165,10 @@
<el-col :span="12"> <el-col :span="12">
<div class="info-prop" v-if="formType == 'detail'"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">入职时间: </span> <span class="info-title-2">入职时间: </span>
<span>{{ formData.hireDate || '--' }}</span> <span>{{ formData.hireData || '--' }}</span>
</div> </div>
<el-form-item label-width="100px" label="入职时间" v-else> <el-form-item label-width="100px" label="入职时间" v-else>
<el-date-picker v-model="formData.hireDate" type="date" value-format="yyyy-MM-dd HH:mm:ss" <el-date-picker v-model="formData.hireData" type="date" value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期" style="width: 202px" clearable> placeholder="选择日期" style="width: 202px" clearable>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -235,7 +235,7 @@
<el-col :span="24"> <el-col :span="24">
<div class="info-prop" v-if="formType == 'detail'"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">管理范围: </span> <span class="info-title-2">管理范围: </span>
<span>{{ formData.manageScopesName || "--" }}</span> <span>{{ manageScopesName || "--" }}</span>
</div> </div>
<el-form-item label="管理范围" prop="agencyId" label-width="100px" v-else> <el-form-item label="管理范围" prop="agencyId" label-width="100px" v-else>
<el-cascader class="u-item-width-normal" ref="myCascader" v-model="formData.manageScopes" <el-cascader class="u-item-width-normal" ref="myCascader" v-model="formData.manageScopes"
@ -300,7 +300,7 @@ export default {
remark: "", remark: "",
postTypes: [], postTypes: [],
manageScopes: [], manageScopes: [],
hireDate: '', hireData: '',
isParty: null isParty: null
}, },
agencyIdTemp: [], agencyIdTemp: [],
@ -349,7 +349,6 @@ export default {
this.startLoading(); this.startLoading();
await this.endLoading(); await this.endLoading();
}, },
methods: { methods: {
async initForm(type, row) { async initForm(type, row) {
this.formType = type; this.formType = type;
@ -361,6 +360,7 @@ export default {
const { data, code, msg } = await requestGet(url); const { data, code, msg } = await requestGet(url);
if (code === 0) { if (code === 0) {
this.formData = { ...data }; this.formData = { ...data };
this.manageScopesName = data.manageScopes.map(item => item.scopeName).join(', ');
this.formData.manageScopes = data.manageScopes[0].scopeId this.formData.manageScopes = data.manageScopes[0].scopeId
await this.setAgencyIdFromLastLayerId(data.agencyId) await this.setAgencyIdFromLastLayerId(data.agencyId)
console.log(this.agencyIdTemp); console.log(this.agencyIdTemp);

3
src/views/modules/base/residentManagement/tefu/tefuList.vue

@ -792,7 +792,7 @@ export default {
}, },
// //
async handleExport () { async handleExport () {
const url = "/actual/base/resiHousingNature/export"; const url = "/actual/base/resiCategorized/specialSupport/export";
const { pageSize, pageNo, formData } = this; const { pageSize, pageNo, formData } = this;
axios({ axios({
url: window.SITE_CONFIG["apiURL"] + url, url: window.SITE_CONFIG["apiURL"] + url,
@ -922,4 +922,3 @@ export default {
} }
</style> </style>

2
src/views/modules/communityParty/regionalParty/activitys.vue

@ -365,7 +365,7 @@ export default {
}, },
async loadUnit () { async loadUnit () {
const url = "/heart/icpartyunit/option" const url = "/actual/base/icpartyunit/option"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/option" // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/option"
let params = { let params = {

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

@ -355,7 +355,7 @@ export default {
if (row.dataSource == "resi") { if (row.dataSource == "resi") {
let url = "/oper/customize/icformitemgroup/list"; let url = "/oper/customize/icformitemgroup/list";
let params = { let params = {
formCode: "resi_base_info", formCode: "resident_base_info",
policyFlag: "1", policyFlag: "1",
}; };
let { data, code, msg } = await requestPost(url, params); let { data, code, msg } = await requestPost(url, params);

4
src/views/modules/communityService/measure/index.vue

@ -154,7 +154,7 @@
@click="resetForm('searchForm')" @click="resetForm('searchForm')"
>重置</el-button >重置</el-button
> >
<el-button <!-- <el-button
style="margin:0 6px 0 10px" style="margin:0 6px 0 10px"
size="small" size="small"
class="div-table-button--blue" class="div-table-button--blue"
@ -164,7 +164,7 @@
}}<i }}<i
:class="boxHeight ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" :class="boxHeight ? 'el-icon-arrow-down' : 'el-icon-arrow-up'"
></i ></i
></el-button> ></el-button> -->
</el-col> </el-col>
</el-row> </el-row>
</div> </div>

99
src/views/modules/jumin/cpts/leftBto.vue

@ -0,0 +1,99 @@
<template>
<div class="">
<div v-for="(item, index) in familyList" :key="index" class="familylist">
<div :class="['item', {'bgf':index== 0 }] ">
<div>
<img v-if="index == 0 && userInfo.gender == '1'" src="../../../../assets/images/index/nan.png" alt=""
width="56px">
<img v-if="index == 0 && userInfo.gender == '2'" src="../../../../assets/images/index/nv.png" alt=""
width="56px">
<span class="name">{{ item.name }}</span>{{ item.houseHolderRel == "本人" ? "户主" : item.houseHolderRel ? item.houseHolderRel : '--'
}}
</div>
<div>
<span>人户状况</span>{{item.householdSituation||'--'}}
</div>
<div>
<span>居民分类</span>{{item.resiCategory||'--'}}
</div>
</div>
</div>
</div>
</template>
<script>
import { requestPost, requestGet } from '@/js/dai/request'
export default {
//
data() {
return {
familyList: []
};
},
//
created() {
},
mounted() {
console.log(this.userInfo);
this.getFamilyRelationshipList()
},
props: {
userInfo: {
type: Object,
default: () => { }
}
},
//
methods: {
async getFamilyRelationshipList() {
let url = `/actual/base/peopleRoomOverview/getFamilyRelationshipList?type=0&resid=` + this.userInfo.resiId
let { code, data, msg } = await requestPost(url)
if (code == 0) {
//
const index = data.findIndex(item => item.name == this.userInfo.name);
//
if (index !== -1) {
//
const [item] = data.splice(index, 1);
data.unshift(item);
}
for(let i in data){
if(data[i].classificationOfInhabitantsList){
data[i].resiCategory = data[i].classificationOfInhabitantsList.join(',')
}
}
this.familyList = data
} else {
this.$message.error(msg)
}
}
},
//
components: {},
//
computed: {},
//
watch: {},
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/pages/huaxiang";
@import "@/assets/scss/modules/management/list-main.scss";
.item{
padding: 0 15px;
&>div{
margin-top: 18px;
.name{
font-family: PingFang SC;
font-weight: bold;
color: #000000;
}
}
}
.bgf>:nth-child(1){
margin: 0!important;
padding-top: 16px;
box-sizing: border-box;
}
</style>

71
src/views/modules/jumin/cpts/leftTop.vue

@ -0,0 +1,71 @@
<template>
<div class=''>
<div class="item f-font14">
<span class="label gray">居住地址</span><span class="value">{{ resiInfo.fullName||"--" }}</span>
</div>
<div class="item f-font14">
<span class="label gray">联系电话</span><span class="value">{{ resiInfo.mobile||"--" }}</span>
</div>
<div class="item f-font14">
<span class="label gray">所属网格</span><span class="value">{{ resiInfo.gridName||"--" }}</span>
</div>
<div class="item f-font14">
<span class="label gray">入户状况</span><span class="value">{{ resiInfo.householdSituation||"--" }}</span>
</div>
<div class="item f-font14">
<!-- 居住类型,与子女同住,空巢,独居,其他 字段没有返回-->
<span class="label gray">居住类型</span><span class="value">{{ resiInfo.resideSituation || "--" }}</span>
</div>
<div class="item f-font14">
<span class="label gray">家庭预警</span>
<span class="value">{{resiInfo.riskyFlag === '1' ? '满意度风险家庭' : '--'}}</span>
</div>
</div>
</template>
<script>
import { requestPost, requestGet } from '@/js/dai/request'
export default {
//
data() {
return {
resiInfo: {}
};
},
//
created() {
},
mounted() {
this.getPersonalFile()
},
props: {
resiId: {
type: String,
default: ''
},
},
//
methods: {
async getPersonalFile() {
let url = `/actual/base/peopleRoomOverview/getPersonalFile?resid=` + this.resiId
let { code, data, msg } = await requestPost(url)
if (code == 0) {
this.resiInfo = data
} else {
this.$message.error(msg)
}
}
},
//
components: {},
//
computed: {},
//
watch: {},
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/pages/huaxiang";
@import "@/assets/scss/modules/management/list-main.scss";
</style>

96
src/views/modules/jumin/huaxiang.vue

@ -0,0 +1,96 @@
<template>
<div class='g-main'>
<div class="top">
<div class="left">
<div class="card">
<div class="title">
<div><img src="../../../assets/images/index/title-icon-sqzl.png" alt="">居民档案</div>
<span class="title f-font14 gray" style="cursor: pointer;" @click="handlerUserInfo">详情 ></span>
</div>
<div class="f-top12">
<img src="../../../assets/images/index/resi.png" alt="" width="56px"> {{userInfo.name}}
</div>
<section class="bgC">
<left-top :resiId="userInfo.resiId"></left-top>
</section>
</div>
</div>
<div class="right">
<div class="card">
<div class="title"></div>
</div>
</div>
</div>
<div class="bottom">
<div class="left">
<div class="card">
<div class="title">
<div><img src="../../../assets/images/index/title-icon-jtgx.png" alt="">家庭关系</div>
</div>
<section class="bgC" style="padding: 0;">
<left-bto :userInfo="userInfo" ></left-bto>
</section>
</div>
</div>
<div class="right">
<div class="card">
<div class="title"></div>
</div>
</div>
</div>
<resi-info
v-if="showedResiInfo && userInfo.resiId"
:resi-id="userInfo.resiId"
@close="showedResiInfo = false"
/>
</div>
</template>
<script>
import { requestPost, requestGet } from '@/js/dai/request'
import leftTop from "./cpts/leftTop";
import leftBto from "./cpts/leftBto";
import resiInfo from "@/views/modules/cpts/resi/info";
import nextTick from "dai-js/tools/nextTick";
export default {
//
data() {
return {
userInfo:{},
showedResiInfo: false,
};
},
//
created() {
this.getFamilyRelationshipList()
this.userInfo = this.$store.state.huaXiang.userInfo
},
//
methods: {
async getFamilyRelationshipList() {
let url = `/actual/base/peopleRoomOverview/getFamilyRelationshipList?type=0&resid=` + this.userInfo.resiId
let {code,data,msg} = await requestPost(url)
if(code == 0){
this.familyList = data
}else{
this.$message.error(msg)
}
},
async handlerUserInfo(){
await nextTick();
this.showedResiInfo = true;
},
},
//
components: {leftTop,leftBto,resiInfo},
//
computed: {},
//
watch: {},
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/pages/huaxiang";
@import "@/assets/scss/modules/management/list-main.scss";
</style>

4
src/views/modules/satisfaction/satisfactionProvince/index.vue

@ -31,8 +31,8 @@
</div> </div>
<el-radio-group v-model="formData.orgCategoryCode" @change="handelChangeCategory" style="margin: 20px 0 0;"> <el-radio-group v-model="formData.orgCategoryCode" @change="handelChangeCategory" style="margin: 20px 0 0;">
<el-radio-button label="province">省满意度调查</el-radio-button> <el-radio-button label="province">省满意度调查</el-radio-button>
<el-radio-button label="city">满意度调查</el-radio-button> <el-radio-button label="city">满意度调查</el-radio-button>
<el-radio-button label="district">满意度调查</el-radio-button> <el-radio-button label="district">满意度调查</el-radio-button>
</el-radio-group> </el-radio-group>
<div class="m-table-item" :style="{ height: maxTableHeight + 'px', width: '100%' }"> <div class="m-table-item" :style="{ height: maxTableHeight + 'px', width: '100%' }">
<div id="myCharts"></div> <div id="myCharts"></div>

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

@ -339,6 +339,8 @@ import resiInfo from "@/views/modules/cpts/resi/info";
import houseInfo from "@/views/modules/cpts/house/info"; import houseInfo from "@/views/modules/cpts/house/info";
import smatrRules from "./cpts/smatr-rules.vue"; import smatrRules from "./cpts/smatr-rules.vue";
import { requestGet } from "../../../js/dai/request"; import { requestGet } from "../../../js/dai/request";
import { addDynamicRoute } from '@/router'
export default { export default {
components: { components: {
resiInfo, resiInfo,
@ -572,10 +574,20 @@ export default {
this.getSearchJumin(); this.getSearchJumin();
}, },
async handleWatchSearchJumin(rowIndex) { async handleWatchSearchJumin(rowIndex) {
let item = this.searchJumin.list[rowIndex]; // let item = this.searchJumin.list[rowIndex];
this.currentResiId = item.resiId; // this.currentResiId = item.resiId;
await nextTick(); // await nextTick();
this.showedResiInfo = true; // this.showedResiInfo = true;
let { agencyId, gridId, gridName, gender, homeId, homeName, name, resiId } = this.searchJumin.list[rowIndex]
console.log(this.searchJumin.list[rowIndex]);
this.$store.dispatch('saveData', { agencyId, gridId, gridName, gender, homeId, homeName, name, resiId });
this.$router.push({ name: 'jumin-huaxiang' });
this.$store.state.contentTabs = this.$store.state.contentTabs.map(item => {
if (item.name === "jumin-huaxiang") {
return {...item, title: name };
}
return item;
});
}, },
handleSizeChangeSearchFangwu(val) { handleSizeChangeSearchFangwu(val) {
@ -591,10 +603,11 @@ export default {
}, },
async handleWatchSearchFangwu(rowIndex) { async handleWatchSearchFangwu(rowIndex) {
let item = this.searchFangwu.list[rowIndex]; // let item = this.searchFangwu.list[rowIndex];
this.currentHouseId = item.id; // this.currentHouseId = item.id;
await nextTick(); // await nextTick();
this.showedHouseInfo = true; // this.showedHouseInfo = true;
console.log(this.searchFangwu.list[rowIndex]);
}, },
getApiData() {}, getApiData() {},

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

@ -18,7 +18,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="工单号" prop="workOrderNum" label-width="150px" style="display: block"> <el-form-item label="工单号" prop="workOrderNum" label-width="150px" style="display: block">
<el-input class="cell-width-1" maxlength="10" placeholder="请输入工单号" v-model="formData.workOrderNum" /> <el-input class="cell-width-1" maxlength="30" placeholder="请输入工单号" v-model="formData.workOrderNum" />
</el-form-item> </el-form-item>
<el-form-item label="接收时间" prop="happenTime" label-width="150px" style="display: block"> <el-form-item label="接收时间" prop="happenTime" label-width="150px" style="display: block">
<el-date-picker v-model="formData.happenTime" class="cell-width-1" type="datetime" <el-date-picker v-model="formData.happenTime" class="cell-width-1" type="datetime"

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

@ -85,7 +85,7 @@
<el-radio-group :class="{ 'form-item': source === 'visiual' }" v-model="satisfyLevel" <el-radio-group :class="{ 'form-item': source === 'visiual' }" v-model="satisfyLevel"
@change="clickSatisfy"> @change="clickSatisfy">
<el-radio label="good">满意</el-radio> <el-radio label="good">满意</el-radio>
<el-radio label="perfect">基本满意</el-radio> <el-radio label="perfect">非常满意</el-radio>
<el-radio label="bad">不满意</el-radio> <el-radio label="bad">不满意</el-radio>
</el-radio-group> </el-radio-group>
</div> </div>

13
src/views/modules/shequzhili/event/cpts/event-info.vue

@ -372,37 +372,32 @@ export default {
} else { } else {
return false; return false;
} }
this.project = {};
this.demand = {};
this.$refs.ref_processinfo_add.getProcessInfo(); this.$refs.ref_processinfo_add.getProcessInfo();
this.formData.operationType = this.$refs.ref_processinfo_add.operationType; this.formData.operationType = this.$refs.ref_processinfo_add.operationType;
this.eventInfoData.operationType = this.$refs.ref_processinfo_add.operationType; this.eventInfoData.operationType = this.$refs.ref_processinfo_add.operationType;
if (this.formData.operationType === '0' || this.formData.operationType === '6') { if (this.formData.operationType === '0' || this.formData.operationType === '6') {
this.project = {};
this.demand = {};
this.replayInfo = this.$refs.ref_processinfo_add.replayInfo; this.replayInfo = this.$refs.ref_processinfo_add.replayInfo;
console.log(this.replayInfo);
// //
this.eventInfoData.content = this.replayInfo.content; this.eventInfoData.content = this.replayInfo.content;
this.eventInfoData.status = this.replayInfo.status; this.eventInfoData.status = this.replayInfo.status;
this.eventInfoData.timeLimit = this.replayInfo.timeLimit;
if (this.replayInfo.categoryId) { if (this.replayInfo.categoryId) {
this.eventInfoData.categoryList = []; this.eventInfoData.categoryList = [];
this.eventInfoData.categoryList.push(this.replayInfo.categoryId); this.eventInfoData.categoryList.push(this.replayInfo.categoryId);
} }
} else if (this.formData.operationType === '5') { } else if (this.formData.operationType === '5') {
this.project = {};
this.demand = {};
console.log(this.$refs.ref_process_form_designate.replayInfo);
this.replayInfo = this.$refs.ref_process_form_designate.replayInfo; this.replayInfo = this.$refs.ref_process_form_designate.replayInfo;
console.log(this.replayInfo);
// //
this.eventInfoData.content = this.replayInfo.content; this.eventInfoData.content = this.replayInfo.content;
this.eventInfoData.status = this.replayInfo.status; this.eventInfoData.status = this.replayInfo.status;
this.eventInfoData.timeLimit = this.replayInfo.timeLimit;
if (this.replayInfo.categoryId) { if (this.replayInfo.categoryId) {
this.eventInfoData.categoryList = []; this.eventInfoData.categoryList = [];
this.eventInfoData.categoryList.push(this.replayInfo.categoryId); this.eventInfoData.categoryList.push(this.replayInfo.categoryId);
} }
} else if (this.formData.operationType === '4') { } else if (this.formData.operationType === '4') {
this.project = {};
this.demand = {};
this.replayInfo = {}; this.replayInfo = {};
} }
this.formData = { this.formData = {

4
src/views/modules/shequzhili/event/cpts/myCascader.vue

@ -18,8 +18,9 @@ export default {
selCategoryArray: {} selCategoryArray: {}
}, },
selCateObj: {}, selCateObj: {},
iscascaderShow: 0 iscascaderShow: 0,
}; };
}, },
props: { props: {
casOptions: { casOptions: {
@ -39,7 +40,6 @@ export default {
} else { } else {
this.selCateObj = {} this.selCateObj = {}
} }
this.$emit('handleChangeCate', this.selCateObj) this.$emit('handleChangeCate', this.selCateObj)
} }
}, },

11
src/views/modules/shequzhili/event/cpts/process-form-designate.vue

@ -102,6 +102,9 @@ export default {
], ],
timeLimit: [ timeLimit: [
{ required: true, message: "办结时限不能为空", trigger: "blur" }, { required: true, message: "办结时限不能为空", trigger: "blur" },
],
categoryList: [
{ required: true, message: '事件分类不能为空', trigger: 'blur' },
] ]
}, },
selCateObj: { selCateObj: {
@ -140,9 +143,9 @@ export default {
this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData)); this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData));
// eventDetailCopy // eventDetailCopy
if (this.eventDetailCopy.parentCategoryId && this.eventDetailCopy.categoryId) { if (this.eventDetailCopy.parentCategoryId && this.eventDetailCopy.categoryId) {
this.selCateObj.id = this.eventDetailCopy.categoryId this.selCategoryArray = this.eventDetailCopy.parentCategoryId.split(",");
this.formData.categoryId = this.eventDetailCopy.categoryId this.selCategoryArray.push(this.eventDetailCopy.categoryId);
this.selCategoryArray.push(this.eventDetailCopy.parentCategoryId, this.eventDetailCopy.categoryId) this.handleChangeCate(this.selCategoryArray)
} }
} }
}, },
@ -189,8 +192,8 @@ export default {
handleChangeCate() { handleChangeCate() {
if (this.selCateObj = this.$refs["myCascader"].getCheckedNodes()[0]) { if (this.selCateObj = this.$refs["myCascader"].getCheckedNodes()[0]) {
this.selCateObj = this.$refs["myCascader"].getCheckedNodes()[0].data this.selCateObj = this.$refs["myCascader"].getCheckedNodes()[0].data
this.formData.categoryList = this.selCateObj
this.formData.categoryId = this.selCateObj.id this.formData.categoryId = this.selCateObj.id
console.log(this.formData.categoryId, 'this.formData.categoryId');
} else { } else {
this.selCateObj = {} this.selCateObj = {}
} }

19
src/views/modules/shequzhili/event/cpts/process-form-replay-end.vue

@ -73,7 +73,7 @@ export default {
{ required: true, message: '回复内容不能为空', trigger: 'blur' }, { required: true, message: '回复内容不能为空', trigger: 'blur' },
], ],
categoryList: [ categoryList: [
// { required: true, message: '', trigger: 'blur' }, { required: true, message: '事件分类不能为空', trigger: 'blur' },
] ]
} }
}; };
@ -107,8 +107,9 @@ export default {
this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData)); this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData));
// eventDetailCopy // eventDetailCopy
if (this.eventDetailCopy.parentCategoryId && this.eventDetailCopy.categoryId) { if (this.eventDetailCopy.parentCategoryId && this.eventDetailCopy.categoryId) {
this.formData.categoryId = this.eventDetailCopy.categoryId this.selCategoryArray = this.eventDetailCopy.parentCategoryId.split(",");
this.selCategoryArray.push(this.eventDetailCopy.parentCategoryId, this.eventDetailCopy.categoryId) this.selCategoryArray.push(this.eventDetailCopy.categoryId);
this.handleChangeCate(this.selCategoryArray)
} }
} }
}, },
@ -128,9 +129,19 @@ export default {
this.$message.error(msg); this.$message.error(msg);
} }
}, },
buildTree(nodes, treeId) {
nodes.forEach(item => {
if (treeId === item.id) {
return item;
} else {
this.buildTree(item.children, treeId)
}
})
},
handleChangeCate() { handleChangeCate() {
if (this.selCateObj = this.$refs['myCascader'].getCheckedNodes()[0]) { if (this.selCateObj = this.$refs['myCascader'].getCheckedNodes()[0]) {
this.selCateObj = this.$refs['myCascader'].getCheckedNodes()[0].data this.selCateObj = this.$refs['myCascader'].getCheckedNodes()[0].data
this.formData.categoryList = this.selCateObj
} else { } else {
this.selCateObj = {} this.selCateObj = {}
} }
@ -165,7 +176,7 @@ export default {
if (!this.formData.categoryId) { if (!this.formData.categoryId) {
this.formData.categoryId = this.selCateObj.id; this.formData.categoryId = this.selCateObj.id;
} }
if(this.fileList){ if (this.fileList) {
this.formData.files = this.fileList this.formData.files = this.fileList
} }
this.formData.categoryList = []; this.formData.categoryList = [];

6
src/views/modules/shequzhili/event/cpts/process-form-replay.vue

@ -62,7 +62,7 @@ export default {
{ required: true, message: '回复内容不能为空', trigger: 'blur' }, { required: true, message: '回复内容不能为空', trigger: 'blur' },
], ],
categoryList: [ categoryList: [
// { required: true, message: '', trigger: 'blur' }, { required: true, message: '事件分类不能为空', trigger: 'blur' },
], ],
timeLimit: [ timeLimit: [
{ required: true, message: "办结时限不能为空", trigger: "blur" }, { required: true, message: "办结时限不能为空", trigger: "blur" },
@ -101,7 +101,6 @@ export default {
this.getCategoryList(); this.getCategoryList();
if (this.eventId) { if (this.eventId) {
this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData)); this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData));
console.log('this.eventDetailCopy', this.eventDetailCopy);
let value = this.eventDetailCopy.parentCategoryId.split(","); let value = this.eventDetailCopy.parentCategoryId.split(",");
value.push(this.eventDetailCopy.categoryId); value.push(this.eventDetailCopy.categoryId);
this.handleChangeCate(value) this.handleChangeCate(value)
@ -131,7 +130,6 @@ export default {
}); });
let node = this.buildTree(this.casOptions, this.eventDetailCopy.categoryId); let node = this.buildTree(this.casOptions, this.eventDetailCopy.categoryId);
this.selCategoryArray.push(node); this.selCategoryArray.push(node);
console.log(this.selCategoryArray);
} }
}, },
buildTree(nodes, treeId) { buildTree(nodes, treeId) {
@ -146,6 +144,7 @@ export default {
handleChangeCate(value) { handleChangeCate(value) {
if (this.selCateObj = this.$refs['myCascader'].getCheckedNodes()[0]) { if (this.selCateObj = this.$refs['myCascader'].getCheckedNodes()[0]) {
this.selCateObj = this.$refs['myCascader'].getCheckedNodes()[0].data this.selCateObj = this.$refs['myCascader'].getCheckedNodes()[0].data
this.formData.categoryList = this.selCateObj
} else { } else {
this.selCateObj = {} this.selCateObj = {}
} }
@ -181,6 +180,7 @@ export default {
} }
this.formData.categoryList = []; this.formData.categoryList = [];
this.formData.categoryList.push(this.selCateObj); this.formData.categoryList.push(this.selCateObj);
this.formData.categoryId = this.selCateObj.id
this.okflag = true; this.okflag = true;
} }
}); });

21
src/views/modules/shequzhili/event/eventList.vue

@ -270,26 +270,10 @@ export default {
}, },
], ],
qudaoArray: [ qudaoArray: [
// {
// value: "0",
// label: "/",
// },
// {
// value: "1",
// label: "",
// },
// {
// value: "2",
// label: "",
// },
{ {
value: "3", value: "3",
label: "12345", label: "12345",
}, }
// {
// value: "4",
// label: "",
// },
], ],
formData: { formData: {
@ -654,6 +638,9 @@ export default {
}, },
async getTableData() { async getTableData() {
const url = "/governance/icEvent/list"; const url = "/governance/icEvent/list";
if (this.eventTypeCheck) {
this.formData.secondIdList = this.eventTypeCheck
}
const { pageSize, pageNo, formData } = this; const { pageSize, pageNo, formData } = this;
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
pageSize, pageSize,

Loading…
Cancel
Save