|
@ -1,27 +1,29 @@ |
|
|
<template> |
|
|
<template> |
|
|
<div class="dialog-h-content scroll-h pd0"> |
|
|
<div class="dialog-h-content scroll-h pd0"> |
|
|
<div class="div-tip">本模块主要为添加非本社区居住党员,本社区居住党员建议到居民信息页面添加</div> |
|
|
<div class="div-tip"> |
|
|
<el-form label-width="120px" |
|
|
本模块主要为添加非本社区居住党员,本社区居住党员建议到居民信息页面添加 |
|
|
|
|
|
</div> |
|
|
|
|
|
<el-form |
|
|
|
|
|
label-width="120px" |
|
|
:model="form" |
|
|
:model="form" |
|
|
:inline="true" |
|
|
:inline="true" |
|
|
:disabled="disabled" |
|
|
:disabled="disabled" |
|
|
:rules="rules" |
|
|
:rules="rules" |
|
|
ref="ruleForm" |
|
|
ref="ruleForm" |
|
|
class="form-wr"> |
|
|
class="form-wr" |
|
|
|
|
|
> |
|
|
<div class="flex-div"> |
|
|
<div class="flex-div"> |
|
|
<el-form-item label="所属党组织" |
|
|
<el-form-item label="所属党组织" prop="sszb" class="wd50"> |
|
|
prop="sszb" |
|
|
<el-cascader |
|
|
class="wd50"> |
|
|
v-model="form.sszb" |
|
|
<el-cascader v-model="form.sszb" |
|
|
|
|
|
:options="partyList" |
|
|
:options="partyList" |
|
|
:props="partyProps" |
|
|
:props="partyProps" |
|
|
clearable |
|
|
clearable |
|
|
class="input-width" |
|
|
class="input-width" |
|
|
@change="handlePartyChange"></el-cascader> |
|
|
@change="handlePartyChange" |
|
|
|
|
|
></el-cascader> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="党员中心户" |
|
|
<el-form-item label="党员中心户" prop="isDyzxh" class="wd50"> |
|
|
prop="isDyzxh" |
|
|
|
|
|
class="wd50"> |
|
|
|
|
|
<el-radio-group v-model="form.isDyzxh"> |
|
|
<el-radio-group v-model="form.isDyzxh"> |
|
|
<el-radio label="1">是</el-radio> |
|
|
<el-radio label="1">是</el-radio> |
|
|
<el-radio label="0">否</el-radio> |
|
|
<el-radio label="0">否</el-radio> |
|
@ -29,18 +31,16 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</div> |
|
|
</div> |
|
|
<div class="flex-div"> |
|
|
<div class="flex-div"> |
|
|
<el-form-item label="姓名" |
|
|
<el-form-item label="姓名" prop="name" class="wd50"> |
|
|
prop="name" |
|
|
<el-input |
|
|
class="wd50"> |
|
|
v-model="form.name" |
|
|
<el-input v-model="form.name" |
|
|
|
|
|
placeholder="请输入" |
|
|
placeholder="请输入" |
|
|
:disabled="disabled" |
|
|
:disabled="disabled" |
|
|
class="input-width" |
|
|
class="input-width" |
|
|
clearable></el-input> |
|
|
clearable |
|
|
|
|
|
></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="免学习" |
|
|
<el-form-item label="免学习" prop="isMxx" class="wd50"> |
|
|
prop="isMxx" |
|
|
|
|
|
class="wd50"> |
|
|
|
|
|
<el-radio-group v-model="form.isMxx"> |
|
|
<el-radio-group v-model="form.isMxx"> |
|
|
<el-radio label="1">是</el-radio> |
|
|
<el-radio label="1">是</el-radio> |
|
|
<el-radio label="0">否</el-radio> |
|
|
<el-radio label="0">否</el-radio> |
|
@ -48,174 +48,208 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</div> |
|
|
</div> |
|
|
<div class="flex-div"> |
|
|
<div class="flex-div"> |
|
|
<el-form-item label="手机号" |
|
|
<el-form-item label="手机号" prop="mobile" class="wd50"> |
|
|
prop="mobile" |
|
|
<el-input |
|
|
class="wd50"> |
|
|
v-model="form.mobile" |
|
|
<el-input v-model="form.mobile" |
|
|
|
|
|
placeholder="请输入" |
|
|
placeholder="请输入" |
|
|
:disabled="disabled" |
|
|
:disabled="disabled" |
|
|
class="input-width" |
|
|
class="input-width" |
|
|
clearable /> |
|
|
clearable |
|
|
|
|
|
/> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="职务" |
|
|
<el-form-item label="职务" prop="partyZw" class="wd50"> |
|
|
prop="partyZw" |
|
|
<el-select |
|
|
class="wd50"> |
|
|
v-model="form.partyZw" |
|
|
<el-select v-model="form.partyZw" |
|
|
|
|
|
filterable |
|
|
filterable |
|
|
:disabled="disabled" |
|
|
:disabled="disabled" |
|
|
placeholder="请选择" |
|
|
placeholder="请选择" |
|
|
class="input-width" |
|
|
class="input-width" |
|
|
clearable> |
|
|
clearable |
|
|
<el-option v-for="item in zwList" |
|
|
> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in zwList" |
|
|
:key="item.value" |
|
|
:key="item.value" |
|
|
:label="item.label" |
|
|
:label="item.label" |
|
|
:value="item.value"> |
|
|
:value="item.value" |
|
|
|
|
|
> |
|
|
</el-option> |
|
|
</el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</div> |
|
|
</div> |
|
|
<div class="flex-div"> |
|
|
<div class="flex-div"> |
|
|
<el-form-item label="身份证" |
|
|
<el-form-item label="身份证" prop="idCard" class="wd50"> |
|
|
prop="idCard" |
|
|
<el-input |
|
|
class="wd50"> |
|
|
v-model="form.idCard" |
|
|
<el-input v-model="form.idCard" |
|
|
|
|
|
placeholder="请输入" |
|
|
placeholder="请输入" |
|
|
:disabled="disabled" |
|
|
:disabled="disabled" |
|
|
class="input-width" |
|
|
class="input-width" |
|
|
clearable |
|
|
clearable |
|
|
@blur="handleValidBlur" /> |
|
|
@blur="handleValidBlur" |
|
|
|
|
|
/> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="文化程度" |
|
|
<el-form-item label="文化程度" prop="culture" class="wd50"> |
|
|
prop="culture" |
|
|
<el-select |
|
|
class="wd50"> |
|
|
v-model="form.culture" |
|
|
<el-select v-model="form.culture" |
|
|
|
|
|
filterable |
|
|
filterable |
|
|
:disabled="disabled" |
|
|
:disabled="disabled" |
|
|
placeholder="请选择" |
|
|
placeholder="请选择" |
|
|
class="input-width" |
|
|
class="input-width" |
|
|
clearable> |
|
|
clearable |
|
|
<el-option v-for="item in eduList" |
|
|
> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in eduList" |
|
|
:key="item.value" |
|
|
:key="item.value" |
|
|
:label="item.label" |
|
|
:label="item.label" |
|
|
:value="item.value"> |
|
|
:value="item.value" |
|
|
|
|
|
> |
|
|
</el-option> |
|
|
</el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</div> |
|
|
</div> |
|
|
<div class="flex-div"> |
|
|
<div class="flex-div"> |
|
|
<el-form-item label="地址" |
|
|
<el-form-item label="地址" prop="address" class="wd50"> |
|
|
prop="address" |
|
|
<el-input |
|
|
class="wd50"> |
|
|
v-model="form.address" |
|
|
<el-input v-model="form.address" |
|
|
|
|
|
placeholder="请输入" |
|
|
placeholder="请输入" |
|
|
:disabled="disabled || isAuto" |
|
|
:disabled="disabled || isAuto" |
|
|
class="input-width" |
|
|
class="input-width" |
|
|
clearable></el-input> |
|
|
clearable |
|
|
|
|
|
></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="入党时间" |
|
|
<el-form-item label="入党时间" prop="rdsj" class="wd50"> |
|
|
prop="rdsj" |
|
|
<el-date-picker |
|
|
class="wd50"> |
|
|
v-model="form.rdsj" |
|
|
<el-date-picker v-model="form.rdsj" |
|
|
|
|
|
:disabled="disabled" |
|
|
:disabled="disabled" |
|
|
type="date" |
|
|
type="date" |
|
|
class="input-width" |
|
|
class="input-width" |
|
|
clearable |
|
|
clearable |
|
|
placeholder="选择日期" |
|
|
placeholder="选择日期" |
|
|
format="yyyy 年 MM 月 dd 日" |
|
|
format="yyyy 年 MM 月 dd 日" |
|
|
value-format="yyyy-MM-dd"> |
|
|
value-format="yyyy-MM-dd" |
|
|
|
|
|
> |
|
|
</el-date-picker> |
|
|
</el-date-picker> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</div> |
|
|
</div> |
|
|
<div class="flex-div"> |
|
|
<div class="flex-div"> |
|
|
<el-form-item label="流动党员" |
|
|
<el-form-item label="流动党员" prop="isLd" class="wd50"> |
|
|
prop="isLd" |
|
|
<el-radio-group v-model="form.isLd" class="input-width"> |
|
|
class="wd50"> |
|
|
|
|
|
<el-radio-group v-model="form.isLd" |
|
|
|
|
|
class="input-width"> |
|
|
|
|
|
<el-radio label="1">是</el-radio> |
|
|
<el-radio label="1">是</el-radio> |
|
|
<el-radio label="0">否</el-radio> |
|
|
<el-radio label="0">否</el-radio> |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="流动党员号" |
|
|
<el-form-item label="流动党员号" prop="ldzh" class="wd50"> |
|
|
prop="ldzh" |
|
|
<el-input |
|
|
class="wd50"> |
|
|
v-model="form.ldzh" |
|
|
<el-input v-model="form.ldzh" |
|
|
|
|
|
placeholder="请输入" |
|
|
placeholder="请输入" |
|
|
:disabled="disabled" |
|
|
:disabled="disabled" |
|
|
class="input-width" |
|
|
class="input-width" |
|
|
clearable></el-input> |
|
|
clearable |
|
|
|
|
|
></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</div> |
|
|
</div> |
|
|
<div class="flex-div"> |
|
|
<div class="flex-div"> |
|
|
<el-form-item label="入党时所在党支部" |
|
|
<el-form-item |
|
|
|
|
|
label="入党时所在党支部" |
|
|
prop="rdsszzb" |
|
|
prop="rdsszzb" |
|
|
class="wd50"> |
|
|
class="wd50" |
|
|
<el-input v-model="form.rdsszzb" |
|
|
> |
|
|
|
|
|
<el-input |
|
|
|
|
|
v-model="form.rdsszzb" |
|
|
placeholder="请输入" |
|
|
placeholder="请输入" |
|
|
:disabled="disabled" |
|
|
:disabled="disabled" |
|
|
class="input-width" |
|
|
class="input-width" |
|
|
clearable></el-input> |
|
|
clearable |
|
|
|
|
|
></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="组织关系转入社区时间" |
|
|
<el-form-item |
|
|
|
|
|
label="组织关系转入社区时间" |
|
|
prop="zzgxzrsqsj" |
|
|
prop="zzgxzrsqsj" |
|
|
class="wd50"> |
|
|
class="wd50" |
|
|
<el-date-picker v-model="form.zzgxzrsqsj" |
|
|
> |
|
|
|
|
|
<el-date-picker |
|
|
|
|
|
v-model="form.zzgxzrsqsj" |
|
|
:disabled="disabled" |
|
|
:disabled="disabled" |
|
|
type="date" |
|
|
type="date" |
|
|
class="input-width" |
|
|
class="input-width" |
|
|
clearable |
|
|
clearable |
|
|
placeholder="选择日期" |
|
|
placeholder="选择日期" |
|
|
format="yyyy 年 MM 月 dd 日" |
|
|
format="yyyy 年 MM 月 dd 日" |
|
|
value-format="yyyy-MM-dd"> |
|
|
value-format="yyyy-MM-dd" |
|
|
|
|
|
> |
|
|
</el-date-picker> |
|
|
</el-date-picker> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="flex-div"> |
|
|
<div class="flex-div"> |
|
|
<el-form-item label="是否请长假" |
|
|
<el-form-item label="是否请长假" prop="isQcj" class="wd50"> |
|
|
prop="isQcj" |
|
|
<el-radio-group v-model="form.isQcj" class="input-width"> |
|
|
class="wd50"> |
|
|
|
|
|
<el-radio-group v-model="form.isQcj" |
|
|
|
|
|
class="input-width"> |
|
|
|
|
|
<el-radio label="1">是</el-radio> |
|
|
<el-radio label="1">是</el-radio> |
|
|
<el-radio label="0">否</el-radio> |
|
|
<el-radio label="0">否</el-radio> |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="备注" |
|
|
<el-form-item label="备注" prop="remark" class="wd50"> |
|
|
prop="remark" |
|
|
<el-input |
|
|
class="wd50"> |
|
|
v-model="form.remark" |
|
|
<el-input v-model="form.remark" |
|
|
:autosize="{ minRows: 4, maxRows: 10 }" |
|
|
:autosize="{ minRows: 4, maxRows: 10}" |
|
|
|
|
|
:disabled="disabled" |
|
|
:disabled="disabled" |
|
|
type="textarea" |
|
|
type="textarea" |
|
|
clearable |
|
|
clearable |
|
|
class="input-width-textarea " |
|
|
class="input-width-textarea" |
|
|
placeholder="请输入内容"></el-input> |
|
|
placeholder="请输入内容" |
|
|
|
|
|
></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="flex-div"> |
|
|
|
|
|
<el-form-item label="头像" prop="headPhoto" label-width="120px"> |
|
|
|
|
|
<el-upload |
|
|
|
|
|
:headers="$getElUploadHeaders()" |
|
|
|
|
|
:class="[ |
|
|
|
|
|
'avatar-uploader', |
|
|
|
|
|
{ 'z-hide': headPhotoList.length > 0 }, |
|
|
|
|
|
]" |
|
|
|
|
|
ref="uploadPic" |
|
|
|
|
|
:action="uploadUlr" |
|
|
|
|
|
list-type="picture-card" |
|
|
|
|
|
:on-exceed="exceedPic" |
|
|
|
|
|
:on-remove="removePic" |
|
|
|
|
|
:file-list="headPhotoList" |
|
|
|
|
|
:on-change="handleEditChange" |
|
|
|
|
|
:on-success="handleSuccess" |
|
|
|
|
|
:multiple="false" |
|
|
|
|
|
:limit="1" |
|
|
|
|
|
> |
|
|
|
|
|
<i class="el-icon-plus avatar-uploader-icon"></i> |
|
|
|
|
|
</el-upload> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
<div> |
|
|
<div> |
|
|
<div style="margin-top: 20px; text-align: center;"> |
|
|
<div style="margin-top: 20px; text-align: center"> |
|
|
<el-button size="small" |
|
|
<el-button size="small" @click="handleCancle" |
|
|
@click="handleCancle">取消</el-button> |
|
|
>取消</el-button |
|
|
<el-button v-if="!disabled" |
|
|
> |
|
|
|
|
|
<el-button |
|
|
|
|
|
v-if="!disabled" |
|
|
type="primary" |
|
|
type="primary" |
|
|
size="small" |
|
|
size="small" |
|
|
@click="hadnleSubmitbase">提交</el-button> |
|
|
@click="hadnleSubmitbase" |
|
|
|
|
|
>提交</el-button |
|
|
|
|
|
> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
</el-form> |
|
|
</el-form> |
|
|
<div class="pdl40"> |
|
|
<div class="pdl40"> |
|
|
<el-tabs v-model="activesName"> |
|
|
<el-tabs v-model="activesName"> |
|
|
<el-tab-pane label="量化积分" |
|
|
<el-tab-pane label="量化积分" name="first"> |
|
|
name="first"> |
|
|
<pointsInfo |
|
|
<pointsInfo :partyId="partymenberid" |
|
|
:partyId="partymenberid" |
|
|
:disabled="disabled" |
|
|
:disabled="disabled" |
|
|
@save="handleSavePoints" /> |
|
|
@save="handleSavePoints" |
|
|
|
|
|
/> |
|
|
</el-tab-pane> |
|
|
</el-tab-pane> |
|
|
<el-tab-pane label="缴费记录" |
|
|
<el-tab-pane label="缴费记录" name="second"> |
|
|
name="second"> |
|
|
<record :partyId="partymenberid" :disabled="disabled" /> |
|
|
<record :partyId="partymenberid" |
|
|
|
|
|
:disabled="disabled" /> |
|
|
|
|
|
</el-tab-pane> |
|
|
</el-tab-pane> |
|
|
</el-tabs> |
|
|
</el-tabs> |
|
|
<!-- <el-button-group> |
|
|
<!-- <el-button-group> |
|
@ -238,306 +272,352 @@ |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
import { isCard, isMobile, isPhone } from '@/utils/validate' |
|
|
import { isCard, isMobile, isPhone } from "@/utils/validate"; |
|
|
import { computedCard } from '@/utils/index' |
|
|
import { computedCard } from "@/utils/index"; |
|
|
|
|
|
|
|
|
import pointsInfo from './cpts/points.vue' |
|
|
import pointsInfo from "./cpts/points.vue"; |
|
|
import record from './cpts/record.vue' |
|
|
import record from "./cpts/record.vue"; |
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
components: { |
|
|
components: { |
|
|
pointsInfo, |
|
|
pointsInfo, |
|
|
record |
|
|
record, |
|
|
}, |
|
|
}, |
|
|
props: { |
|
|
props: { |
|
|
partyList: { |
|
|
partyList: { |
|
|
type: Array, |
|
|
type: Array, |
|
|
default: () => [] |
|
|
default: () => [], |
|
|
}, |
|
|
}, |
|
|
info: { |
|
|
info: { |
|
|
type: Object, |
|
|
type: Object, |
|
|
default: () => { } |
|
|
default: () => {}, |
|
|
}, |
|
|
}, |
|
|
disabled: { |
|
|
disabled: { |
|
|
type: Boolean, |
|
|
type: Boolean, |
|
|
default: false |
|
|
default: false, |
|
|
} |
|
|
|
|
|
}, |
|
|
}, |
|
|
data () { |
|
|
}, |
|
|
|
|
|
data() { |
|
|
let checkMObile = (rule, value, callback) => { |
|
|
let checkMObile = (rule, value, callback) => { |
|
|
if (value === '') { |
|
|
if (value === "") { |
|
|
callback(new Error('请输入手机号')) |
|
|
callback(new Error("请输入手机号")); |
|
|
} else { |
|
|
} else { |
|
|
if (!isMobile(value) && !isPhone(value)) { |
|
|
if (!isMobile(value) && !isPhone(value)) { |
|
|
callback(new Error('手机号格式不正确')) |
|
|
callback(new Error("手机号格式不正确")); |
|
|
} |
|
|
|
|
|
callback() |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
callback(); |
|
|
} |
|
|
} |
|
|
|
|
|
}; |
|
|
let checkIdCard = (rule, value, callback) => { |
|
|
let checkIdCard = (rule, value, callback) => { |
|
|
if (value === '') { |
|
|
if (value === "") { |
|
|
callback(new Error('请输入身份证')) |
|
|
callback(new Error("请输入身份证")); |
|
|
} else { |
|
|
} else { |
|
|
if (!isCard(value)) { |
|
|
if (!isCard(value)) { |
|
|
callback(new Error('身份证号格式不正确')) |
|
|
callback(new Error("身份证号格式不正确")); |
|
|
} |
|
|
|
|
|
callback() |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
callback(); |
|
|
} |
|
|
} |
|
|
|
|
|
}; |
|
|
return { |
|
|
return { |
|
|
activesName: 'first', |
|
|
activesName: "first", |
|
|
isAuto: false, |
|
|
isAuto: false, |
|
|
formItemWd: '100%', |
|
|
formItemWd: "100%", |
|
|
partymenberid: '', |
|
|
partymenberid: "", |
|
|
partyProps: { |
|
|
partyProps: { |
|
|
label: 'partyOrgName', |
|
|
label: "partyOrgName", |
|
|
value: 'id', |
|
|
value: "id", |
|
|
emitPath: false |
|
|
emitPath: false, |
|
|
}, |
|
|
}, |
|
|
zwList: [ |
|
|
zwList: [ |
|
|
{ |
|
|
{ |
|
|
label: '普通党员', |
|
|
label: "普通党员", |
|
|
value: '0' |
|
|
value: "0", |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
label: '支部书记', |
|
|
label: "支部书记", |
|
|
value: '1' |
|
|
value: "1", |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
label: '支部委员', |
|
|
label: "支部委员", |
|
|
value: '2' |
|
|
value: "2", |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
label: '党委委员', |
|
|
label: "党委委员", |
|
|
value: '3' |
|
|
value: "3", |
|
|
}, |
|
|
}, |
|
|
], |
|
|
], |
|
|
form: { |
|
|
form: { |
|
|
icResiUser: '', |
|
|
icResiUser: "", |
|
|
name: '', |
|
|
name: "", |
|
|
mobile: '', |
|
|
mobile: "", |
|
|
idCard: '', |
|
|
idCard: "", |
|
|
address: '', |
|
|
address: "", |
|
|
rdsj: '', |
|
|
rdsj: "", |
|
|
sszb: '', |
|
|
sszb: "", |
|
|
isLd: '0', |
|
|
isLd: "0", |
|
|
ldzh: '', |
|
|
ldzh: "", |
|
|
partyZw: '0', |
|
|
partyZw: "0", |
|
|
isDyzxh: '0', |
|
|
isDyzxh: "0", |
|
|
isMxx: '0', |
|
|
isMxx: "0", |
|
|
culture: '', |
|
|
culture: "", |
|
|
rdsszzb: '', |
|
|
rdsszzb: "", |
|
|
zzgxzrsqsj: '', |
|
|
zzgxzrsqsj: "", |
|
|
isQcj: '0', |
|
|
isQcj: "0", |
|
|
remark: '' |
|
|
remark: "", |
|
|
|
|
|
headPhoto: "", |
|
|
}, |
|
|
}, |
|
|
eduList: [], |
|
|
eduList: [], |
|
|
rules: { |
|
|
rules: { |
|
|
sszb: [{ required: true, message: '所属党组织不能为空', trigger: 'blur' }], |
|
|
sszb: [ |
|
|
name: [{ required: true, message: '姓名不能为空', trigger: 'blur' }], |
|
|
{ |
|
|
mobile: [{ required: true, validator: checkMObile, trigger: 'blur' }], |
|
|
required: true, |
|
|
idCard: [{ required: true, validator: checkIdCard, trigger: 'blur' }], |
|
|
message: "所属党组织不能为空", |
|
|
|
|
|
trigger: "blur", |
|
|
}, |
|
|
}, |
|
|
partyOrgs: [] |
|
|
], |
|
|
} |
|
|
name: [ |
|
|
|
|
|
{ |
|
|
|
|
|
required: true, |
|
|
|
|
|
message: "姓名不能为空", |
|
|
|
|
|
trigger: "blur", |
|
|
|
|
|
}, |
|
|
|
|
|
], |
|
|
|
|
|
mobile: [ |
|
|
|
|
|
{ required: true, validator: checkMObile, trigger: "blur" }, |
|
|
|
|
|
], |
|
|
|
|
|
idCard: [ |
|
|
|
|
|
{ required: true, validator: checkIdCard, trigger: "blur" }, |
|
|
|
|
|
], |
|
|
|
|
|
}, |
|
|
|
|
|
partyOrgs: [], |
|
|
|
|
|
|
|
|
|
|
|
headPhotoList: [], |
|
|
|
|
|
uploadUlr: |
|
|
|
|
|
window.SITE_CONFIG["apiURL"] + "/oss/file/uploadvariedfile", |
|
|
|
|
|
}; |
|
|
}, |
|
|
}, |
|
|
watch: { |
|
|
watch: { |
|
|
info: { |
|
|
info: { |
|
|
handler (val) { |
|
|
handler(val) { |
|
|
if (Object.keys(val).length > 0) { |
|
|
if (Object.keys(val).length > 0) { |
|
|
this.form = { ...val } |
|
|
this.form = { ...val }; |
|
|
if (val.icResiUserId || val.icResiUser) this.isAuto = true |
|
|
if (val.icResiUserId || val.icResiUser) this.isAuto = true; |
|
|
console.log('val----------in', val) |
|
|
console.log("val----------in", val); |
|
|
console.log('isAuto----------in', this.isAuto) |
|
|
console.log("isAuto----------in", this.isAuto); |
|
|
this.partyOrgs = val.orgPids.split(':') |
|
|
this.partyOrgs = val.orgPids.split(":"); |
|
|
console.log('partyOrgs-----', this.partyOrgs) |
|
|
console.log("partyOrgs-----", this.partyOrgs); |
|
|
this.partymenberid = val.id |
|
|
this.partymenberid = val.id; |
|
|
|
|
|
|
|
|
|
|
|
if (val.headPhoto) { |
|
|
|
|
|
this.headPhotoList = [{ url: val.headPhoto }]; |
|
|
} |
|
|
} |
|
|
}, |
|
|
|
|
|
immediate: true |
|
|
|
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
created () { |
|
|
immediate: true, |
|
|
this.getEduList() |
|
|
|
|
|
console.log('partyList', this.partyList) |
|
|
|
|
|
}, |
|
|
}, |
|
|
mounted () { |
|
|
|
|
|
const w = document.getElementsByClassName('dialog-h-content')[0] |
|
|
|
|
|
this.formItemWd = w.clientWidth + 'px' |
|
|
|
|
|
}, |
|
|
}, |
|
|
destroyed () { |
|
|
created() { |
|
|
|
|
|
this.getEduList(); |
|
|
|
|
|
console.log("partyList", this.partyList); |
|
|
|
|
|
}, |
|
|
|
|
|
mounted() { |
|
|
|
|
|
const w = document.getElementsByClassName("dialog-h-content")[0]; |
|
|
|
|
|
this.formItemWd = w.clientWidth + "px"; |
|
|
|
|
|
}, |
|
|
|
|
|
destroyed() { |
|
|
// this.$refs['ruleForm'].resetFields() |
|
|
// this.$refs['ruleForm'].resetFields() |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
handleCancle () { |
|
|
removePic(file, fileList) { |
|
|
this.$refs['ruleForm'].resetFields() |
|
|
this.form.headPhoto = ""; |
|
|
this.$emit('cancle') |
|
|
this.headPhotoList = []; |
|
|
|
|
|
}, |
|
|
|
|
|
// 最多上传3张图,超过时隐藏上传按钮 |
|
|
|
|
|
handleEditChange(file, fileList) {}, |
|
|
|
|
|
exceedPic() { |
|
|
|
|
|
this.$message.warning("最多上传1张图片"); |
|
|
|
|
|
}, |
|
|
|
|
|
handleSuccess(response, file, fileList) { |
|
|
|
|
|
console.log(file); |
|
|
|
|
|
this.headPhotoList.push(file); |
|
|
|
|
|
this.form.headPhoto = response.data.url; |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
handleCancle() { |
|
|
|
|
|
this.$refs["ruleForm"].resetFields(); |
|
|
|
|
|
this.$emit("cancle"); |
|
|
}, |
|
|
}, |
|
|
handlePartyChange (val) { |
|
|
handlePartyChange(val) { |
|
|
console.log('val------pp', val) |
|
|
console.log("val------pp", val); |
|
|
// if (val.length > 0) { |
|
|
// if (val.length > 0) { |
|
|
// const i = val.length - 1 |
|
|
// const i = val.length - 1 |
|
|
// this.form.sszb = val[i] |
|
|
// this.form.sszb = val[i] |
|
|
// } else this.form.sszb = '' |
|
|
// } else this.form.sszb = '' |
|
|
}, |
|
|
}, |
|
|
handleValidBlur (n) { |
|
|
handleValidBlur(n) { |
|
|
if (!isCard(this.form.idCard)) return |
|
|
if (!isCard(this.form.idCard)) return; |
|
|
const { age } = computedCard(this.form.idCard) |
|
|
const { age } = computedCard(this.form.idCard); |
|
|
this.form.isMxx = age >= 70 ? '1' : '0' |
|
|
this.form.isMxx = age >= 70 ? "1" : "0"; |
|
|
this.validateResi() |
|
|
this.validateResi(); |
|
|
}, |
|
|
}, |
|
|
async getEduList () { |
|
|
async getEduList() { |
|
|
await this.$http |
|
|
await this.$http |
|
|
.post('/sys/dict/data/education') |
|
|
.post("/sys/dict/data/education") |
|
|
.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); |
|
|
} else { |
|
|
} else { |
|
|
this.eduList = res.data |
|
|
this.eduList = res.data; |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
.catch(err => { |
|
|
.catch((err) => { |
|
|
console.log('err', err) |
|
|
console.log("err", err); |
|
|
return this.$message.error('网络错误') |
|
|
return this.$message.error("网络错误"); |
|
|
}) |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
async validateResi () { |
|
|
async validateResi() { |
|
|
const params = { |
|
|
const params = { |
|
|
idCard: this.form.idCard, |
|
|
idCard: this.form.idCard, |
|
|
agencyId: this.$store.state.user.agencyId |
|
|
agencyId: this.$store.state.user.agencyId, |
|
|
} |
|
|
}; |
|
|
await this.$http |
|
|
await this.$http |
|
|
.post('/epmetuser/icresiuser/getUserByIdCard', params) |
|
|
.post("/epmetuser/icresiuser/getUserByIdCard", 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); |
|
|
} else { |
|
|
} else { |
|
|
const { address, icResiUserId } = res.data |
|
|
const { address, icResiUserId } = res.data; |
|
|
if (icResiUserId) { |
|
|
if (icResiUserId) { |
|
|
this.form.address = address |
|
|
this.form.address = address; |
|
|
this.isAuto = true |
|
|
this.isAuto = true; |
|
|
} else { |
|
|
} else { |
|
|
this.form.address = '' |
|
|
this.form.address = ""; |
|
|
this.isAuto = false |
|
|
this.isAuto = false; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
.catch(err => { |
|
|
.catch((err) => { |
|
|
console.log('err', err) |
|
|
console.log("err", err); |
|
|
return this.$message.error('网络错误') |
|
|
return this.$message.error("网络错误"); |
|
|
}) |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
hadnleSubmitbase () { |
|
|
hadnleSubmitbase() { |
|
|
this.$refs['ruleForm'].validate((valid) => { |
|
|
this.$refs["ruleForm"].validate((valid) => { |
|
|
if (valid) { |
|
|
if (valid) { |
|
|
if (Object.keys(this.info).length > 0) this.editBase() |
|
|
if (Object.keys(this.info).length > 0) this.editBase(); |
|
|
else this.saveBase() |
|
|
else this.saveBase(); |
|
|
} else { |
|
|
} else { |
|
|
console.log('error submit!!'); |
|
|
console.log("error submit!!"); |
|
|
return false; |
|
|
return false; |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
handleSavePoints (data) { |
|
|
handleSavePoints(data) { |
|
|
|
|
|
const _data = { ...data }; |
|
|
const _data = { ...data } |
|
|
|
|
|
const params = { |
|
|
const params = { |
|
|
..._data, |
|
|
..._data, |
|
|
baseOptions: data.baseOptions.length > 0 ? data.baseOptions.toString() : '', |
|
|
baseOptions: |
|
|
reviewOptions: data.reviewOptions.length > 0 ? data.reviewOptions.toString() : '', |
|
|
data.baseOptions.length > 0 |
|
|
inspireOptions: data.inspireOptions.length > 0 ? data.inspireOptions.toString() : '', |
|
|
? data.baseOptions.toString() |
|
|
warnOptions: data.warnOptions.length > 0 ? data.warnOptions.toString() : '' |
|
|
: "", |
|
|
} |
|
|
reviewOptions: |
|
|
this.savePoints(params) |
|
|
data.reviewOptions.length > 0 |
|
|
|
|
|
? data.reviewOptions.toString() |
|
|
|
|
|
: "", |
|
|
|
|
|
inspireOptions: |
|
|
|
|
|
data.inspireOptions.length > 0 |
|
|
|
|
|
? data.inspireOptions.toString() |
|
|
|
|
|
: "", |
|
|
|
|
|
warnOptions: |
|
|
|
|
|
data.warnOptions.length > 0 |
|
|
|
|
|
? data.warnOptions.toString() |
|
|
|
|
|
: "", |
|
|
|
|
|
}; |
|
|
|
|
|
this.savePoints(params); |
|
|
}, |
|
|
}, |
|
|
async saveBase () { |
|
|
async saveBase() { |
|
|
const params = { |
|
|
const params = { |
|
|
...this.form |
|
|
...this.form, |
|
|
} |
|
|
}; |
|
|
await this.$http |
|
|
await this.$http |
|
|
.post('/resi/partymember/icPartyMember/save', params) |
|
|
.post("/resi/partymember/icPartyMember/save", 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); |
|
|
} else { |
|
|
} else { |
|
|
this.$message.success('保存成功') |
|
|
this.$message.success("保存成功"); |
|
|
this.partymenberid = res.data |
|
|
this.partymenberid = res.data; |
|
|
this.$emit('saveBase', true) |
|
|
this.$emit("saveBase", true); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
.catch(err => { |
|
|
.catch((err) => { |
|
|
console.log('err', err) |
|
|
console.log("err", err); |
|
|
return this.$message.error('网络错误') |
|
|
return this.$message.error("网络错误"); |
|
|
}) |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
async editBase () { |
|
|
async editBase() { |
|
|
const params = { |
|
|
const params = { |
|
|
...this.form |
|
|
...this.form, |
|
|
} |
|
|
}; |
|
|
await this.$http |
|
|
await this.$http |
|
|
.post('/resi/partymember/icPartyMember/update', params) |
|
|
.post("/resi/partymember/icPartyMember/update", 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); |
|
|
} else { |
|
|
} else { |
|
|
this.$message.success('保存成功') |
|
|
this.$message.success("保存成功"); |
|
|
this.partymenberid = res.data |
|
|
this.partymenberid = res.data; |
|
|
this.$emit('saveBase', true) |
|
|
this.$emit("saveBase", true); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
.catch(err => { |
|
|
.catch((err) => { |
|
|
console.log('err', err) |
|
|
console.log("err", err); |
|
|
return this.$message.error('网络错误') |
|
|
return this.$message.error("网络错误"); |
|
|
}) |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
async savePoints (form) { |
|
|
async savePoints(form) { |
|
|
const params = { |
|
|
const params = { |
|
|
...form, |
|
|
...form, |
|
|
partyMemberId: this.partymenberid |
|
|
partyMemberId: this.partymenberid, |
|
|
} |
|
|
}; |
|
|
let url = '' |
|
|
let url = ""; |
|
|
if (form.id) url = '/resi/partymember/icPartyMemberPoint/update' |
|
|
if (form.id) url = "/resi/partymember/icPartyMemberPoint/update"; |
|
|
else url = '/resi/partymember/icPartyMemberPoint/save' |
|
|
else url = "/resi/partymember/icPartyMemberPoint/save"; |
|
|
await this.$http |
|
|
await this.$http |
|
|
.post(url, params) |
|
|
.post(url, 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); |
|
|
} else { |
|
|
} else { |
|
|
this.$message.success('保存成功') |
|
|
this.$message.success("保存成功"); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
.catch(err => { |
|
|
.catch((err) => { |
|
|
console.log('err', err) |
|
|
console.log("err", err); |
|
|
return this.$message.error('网络错误') |
|
|
return this.$message.error("网络错误"); |
|
|
}) |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
async saveRecord (form) { |
|
|
async saveRecord(form) { |
|
|
const params = { |
|
|
const params = { |
|
|
...form, |
|
|
...form, |
|
|
partyMemberId: this.partymenberid |
|
|
partyMemberId: this.partymenberid, |
|
|
} |
|
|
}; |
|
|
await this.$http |
|
|
await this.$http |
|
|
.post('/resi/partymember/icPartyMemberPoint/save', params) |
|
|
.post("/resi/partymember/icPartyMemberPoint/save", 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); |
|
|
} else { |
|
|
} else { |
|
|
this.$message.success('保存成功') |
|
|
this.$message.success("保存成功"); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
.catch(err => { |
|
|
.catch((err) => { |
|
|
console.log('err', err) |
|
|
console.log("err", err); |
|
|
return this.$message.error('网络错误') |
|
|
return this.$message.error("网络错误"); |
|
|
}) |
|
|
}); |
|
|
} |
|
|
}, |
|
|
} |
|
|
}, |
|
|
} |
|
|
}; |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
<style lang="scss" scoped> |
|
|