2 changed files with 627 additions and 123 deletions
@ -0,0 +1,425 @@ |
|||
<template> |
|||
|
|||
<div class="m-pop"> |
|||
<div class="wrap"> |
|||
<cpt-card> |
|||
<div class="title"> |
|||
<img src="@/assets/img/shuju/title-tip.png" /> |
|||
<span>党员信息</span> |
|||
</div> |
|||
|
|||
<div class="btn-close" |
|||
@click="handleCancle"> |
|||
<img src="@/assets/img/shuju/people/close.png" /> |
|||
</div> |
|||
<div class="m-top"> |
|||
|
|||
<div class="m-info-left"> |
|||
<div class="m-info"> |
|||
<div class="info-prop"> |
|||
<span>所属党组织:</span> |
|||
<span>{{ form.orgName }}</span> |
|||
</div> |
|||
<div class="info-prop"> |
|||
<span>姓名:</span> |
|||
<span>{{ form.name }}</span> |
|||
</div> |
|||
<div class="info-prop"> |
|||
<span>手机号:</span> |
|||
<span>{{ form.mobile }}</span> |
|||
</div> |
|||
<div class="info-prop"> |
|||
<span>身份证:</span> |
|||
<span>{{ form.idCard }}</span> |
|||
</div> |
|||
<div class="info-prop"> |
|||
<span>地址:</span> |
|||
<span>{{ form.address|| "--" }}</span> |
|||
</div> |
|||
<div class="info-prop"> |
|||
<span>流动党员:</span> |
|||
<span>{{ form.isLd==='1'?'是':'否' }}</span> |
|||
</div> |
|||
|
|||
<div class="info-prop"> |
|||
<span>备注:</span> |
|||
<span>{{ form.remark || "--" }}</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="m-info-right"> |
|||
<div class="m-info"> |
|||
<div class="info-prop"> |
|||
<span>党员中心户:</span> |
|||
<span>{{ form.isDyzxh==='1'?'是':'否' }}</span> |
|||
</div> |
|||
<div class="info-prop"> |
|||
<span>免学习:</span> |
|||
<span>{{ form.isMxx==='1'?'是':'否' }}</span> |
|||
</div> |
|||
|
|||
<div class="info-prop"> |
|||
<span>职务:</span> |
|||
<span>{{ form.postName|| "--" }}</span> |
|||
</div> |
|||
|
|||
<div class="info-prop"> |
|||
<span>文化程度:</span> |
|||
<span>{{ form.cultureName || "--" }}</span> |
|||
</div> |
|||
<div class="info-prop"> |
|||
<span>入党时间:</span> |
|||
<span>{{ form.rdsj || "--" }}</span> |
|||
</div> |
|||
<div class="info-prop"> |
|||
<span>党员流动号:</span> |
|||
<span>{{ form.ldzh || "--" }}</span> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
|
|||
<div class="m-btn"> |
|||
<div style="margin-top: 20px; text-align: center;"> |
|||
<el-button size="small" |
|||
:disabled="false" |
|||
@click="handleCancle">取消</el-button> |
|||
<el-button v-if="form.icResiUser != null && form.icResiUser != ''" |
|||
type="primary" |
|||
:disabled="false" |
|||
size="small" |
|||
@click="jump(form.icResiUser)">查看更多</el-button> |
|||
</div> |
|||
</div> |
|||
|
|||
</cpt-card> |
|||
</div> |
|||
</div> |
|||
|
|||
</template> |
|||
|
|||
<script> |
|||
import { isCard, isMobile } from '@/utils/validate' |
|||
import { computedCard } from '@/utils/index' |
|||
import cptCard from "@/views/modules/visual/cpts/card"; |
|||
|
|||
export default { |
|||
components: { |
|||
cptCard |
|||
}, |
|||
props: { |
|||
partyList: { |
|||
type: Array, |
|||
default: () => [] |
|||
}, |
|||
info: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
disabled: { |
|||
type: Boolean, |
|||
default: false |
|||
} |
|||
}, |
|||
data () { |
|||
let checkMObile = (rule, value, callback) => { |
|||
if (value === '') { |
|||
callback(new Error('请输入手机号')) |
|||
} else { |
|||
if (!isMobile(value)) { |
|||
callback(new Error('手机号格式不正确')) |
|||
} |
|||
callback() |
|||
} |
|||
} |
|||
let checkIdCard = (rule, value, callback) => { |
|||
if (value === '') { |
|||
callback(new Error('请输入身份证')) |
|||
} else { |
|||
if (!isCard(value)) { |
|||
callback(new Error('身份证号格式不正确')) |
|||
} |
|||
callback() |
|||
} |
|||
} |
|||
return { |
|||
activesName: 'first', |
|||
isAuto: false, |
|||
formItemWd: '100%', |
|||
partymenberid: '', |
|||
partyProps: { |
|||
label: 'partyOrgName', |
|||
value: 'id', |
|||
emitPath: false |
|||
}, |
|||
zwList: [ |
|||
{ |
|||
label: '普通党员', |
|||
value: '0' |
|||
}, |
|||
{ |
|||
label: '支部书记', |
|||
value: '1' |
|||
}, |
|||
{ |
|||
label: '支部委员', |
|||
value: '2' |
|||
}, |
|||
{ |
|||
label: '党委委员', |
|||
value: '3' |
|||
}, |
|||
], |
|||
form: { |
|||
icResiUser: '', |
|||
name: '', |
|||
mobile: '', |
|||
idCard: '', |
|||
address: '', |
|||
rdsj: '', |
|||
sszb: '', |
|||
isLd: '0', |
|||
ldzh: '', |
|||
partyZw: '0', |
|||
isDyzxh: '0', |
|||
isMxx: '0', |
|||
culture: '', |
|||
remark: '' |
|||
}, |
|||
eduList: [], |
|||
rules: { |
|||
sszb: [{ required: true, message: '所属党组织不能为空', trigger: 'blur' }], |
|||
name: [{ required: true, message: '姓名不能为空', trigger: 'blur' }], |
|||
mobile: [{ required: true, validator: checkMObile, trigger: 'blur' }], |
|||
idCard: [{ required: true, validator: checkIdCard, trigger: 'blur' }], |
|||
}, |
|||
partyOrgs: [] |
|||
} |
|||
}, |
|||
watch: { |
|||
info: { |
|||
handler (val) { |
|||
if (Object.keys(val).length > 0) { |
|||
this.form = { ...val } |
|||
if (val.icResiUserId || val.icResiUser) this.isAuto = true |
|||
console.log('val----------in', val) |
|||
console.log('isAuto----------in', this.isAuto) |
|||
this.partyOrgs = val.orgPids.split(':') |
|||
console.log('partyOrgs-----', this.partyOrgs) |
|||
this.partymenberid = val.id |
|||
} |
|||
}, |
|||
immediate: true |
|||
} |
|||
}, |
|||
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() |
|||
}, |
|||
methods: { |
|||
|
|||
|
|||
handleCancle () { |
|||
// this.$refs['ruleForm'].resetFields() |
|||
this.$emit('cancle') |
|||
}, |
|||
|
|||
handleValidBlur (n) { |
|||
if (!isCard(this.form.idCard)) return |
|||
const { age } = computedCard(this.form.idCard) |
|||
this.form.isMxx = age >= 70 ? '1' : '0' |
|||
this.validateResi() |
|||
}, |
|||
async getEduList () { |
|||
await this.$http |
|||
.post('/sys/dict/data/education') |
|||
.then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} else { |
|||
this.eduList = res.data |
|||
} |
|||
}) |
|||
.catch(err => { |
|||
console.log('err', err) |
|||
return this.$message.error('网络错误') |
|||
}) |
|||
}, |
|||
async validateResi () { |
|||
const params = { |
|||
idCard: this.form.idCard, |
|||
agencyId: this.$store.state.user.agencyId |
|||
} |
|||
await this.$http |
|||
.post('/epmetuser/icresiuser/getUserByIdCard', params) |
|||
.then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} else { |
|||
const { address, icResiUserId } = res.data |
|||
if (icResiUserId) { |
|||
this.form.address = address |
|||
this.isAuto = true |
|||
} else { |
|||
this.form.address = '' |
|||
this.isAuto = false |
|||
} |
|||
|
|||
} |
|||
}) |
|||
.catch(err => { |
|||
console.log('err', err) |
|||
return this.$message.error('网络错误') |
|||
}) |
|||
}, |
|||
hadnleSubmitbase () { |
|||
this.$refs['ruleForm'].validate((valid) => { |
|||
if (valid) { |
|||
if (Object.keys(this.info).length > 0) this.editBase() |
|||
else this.saveBase() |
|||
} else { |
|||
console.log('error submit!!'); |
|||
return false; |
|||
} |
|||
}); |
|||
}, |
|||
handleSavePoints (data) { |
|||
|
|||
const _data = { ...data } |
|||
const params = { |
|||
..._data, |
|||
baseOptions: data.baseOptions.length > 0 ? data.baseOptions.toString() : '', |
|||
reviewOptions: 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 jump (icResiUserId) { |
|||
this.$emit('saveBase', icResiUserId) |
|||
}, |
|||
async saveBase () { |
|||
const params = { |
|||
...this.form |
|||
} |
|||
await this.$http |
|||
.post('/resi/partymember/icPartyMember/save', params) |
|||
.then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} else { |
|||
this.$message.success('保存成功') |
|||
this.partymenberid = res.data |
|||
this.$emit('saveBase', true) |
|||
|
|||
} |
|||
}) |
|||
.catch(err => { |
|||
console.log('err', err) |
|||
return this.$message.error('网络错误') |
|||
}) |
|||
}, |
|||
async editBase () { |
|||
const params = { |
|||
...this.form |
|||
} |
|||
await this.$http |
|||
.post('/resi/partymember/icPartyMember/update', params) |
|||
.then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} else { |
|||
this.$message.success('保存成功') |
|||
this.partymenberid = res.data |
|||
this.$emit('saveBase', true) |
|||
|
|||
} |
|||
}) |
|||
.catch(err => { |
|||
console.log('err', err) |
|||
return this.$message.error('网络错误') |
|||
}) |
|||
}, |
|||
async savePoints (form) { |
|||
const params = { |
|||
...form, |
|||
partyMemberId: this.partymenberid |
|||
} |
|||
let url = '' |
|||
if (form.id) url = '/resi/partymember/icPartyMemberPoint/update' |
|||
else url = '/resi/partymember/icPartyMemberPoint/save' |
|||
await this.$http |
|||
.post(url, params) |
|||
.then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} else { |
|||
this.$message.success('保存成功') |
|||
|
|||
} |
|||
}) |
|||
.catch(err => { |
|||
console.log('err', err) |
|||
return this.$message.error('网络错误') |
|||
}) |
|||
}, |
|||
async saveRecord (form) { |
|||
const params = { |
|||
...form, |
|||
partyMemberId: this.partymenberid |
|||
} |
|||
await this.$http |
|||
.post('/resi/partymember/icPartyMemberPoint/save', params) |
|||
.then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} else { |
|||
this.$message.success('保存成功') |
|||
|
|||
} |
|||
}) |
|||
.catch(err => { |
|||
console.log('err', err) |
|||
return this.$message.error('网络错误') |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.input-width-textarea { |
|||
width: 400px; |
|||
} |
|||
.input-width { |
|||
width: 220px; |
|||
} |
|||
.flex-div { |
|||
display: flex; |
|||
// justify-content: space-between; |
|||
} |
|||
.wd50 { |
|||
width: 50%; |
|||
} |
|||
.pdl40 { |
|||
padding-left: 40px; |
|||
} |
|||
.pd0 { |
|||
padding: 0 !important; |
|||
} |
|||
</style> |
|||
|
|||
<style |
|||
lang="scss" |
|||
src="@/assets/scss/modules/visual/incident-info.scss" |
|||
scoped |
|||
></style> |
Loading…
Reference in new issue