8 changed files with 1188 additions and 415 deletions
@ -0,0 +1,404 @@ |
|||||
|
<template> |
||||
|
<div class="p-wr"> |
||||
|
|
||||
|
<el-form label-width="140px" |
||||
|
:model="dateForm" |
||||
|
:inline="true" |
||||
|
:disabled="disabled" |
||||
|
:rules="rules" |
||||
|
ref="ruleForm" |
||||
|
class="form-wr"> |
||||
|
<div> |
||||
|
<el-form-item label="评分周期" |
||||
|
prop="year"> |
||||
|
<div class="flex-div"> |
||||
|
<!-- <div class="mr10">评分周期</div> --> |
||||
|
<div class="mr10"> |
||||
|
<el-date-picker v-model="dateForm.year" |
||||
|
type="year" |
||||
|
value-format="yyyy" |
||||
|
placeholder="选择年" |
||||
|
@change="handleYearChange"> |
||||
|
</el-date-picker> |
||||
|
</div> |
||||
|
<div class="mr10"> |
||||
|
<el-form-item prop="quarter"> |
||||
|
<el-select v-model="dateForm.quarter" |
||||
|
placeholder="请选择" |
||||
|
class="input-width" |
||||
|
clearable |
||||
|
@change="handleQuaterChange"> |
||||
|
<el-option v-for="item in quarterList" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</el-form-item> |
||||
|
</div> |
||||
|
|
||||
|
</el-form> |
||||
|
|
||||
|
<div class="m-row"> |
||||
|
<div class="m-row-2"> |
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-3">基础积分分值:</span> |
||||
|
<span>{{ dateForm.basePoint===0||dateForm.basePoint? dateForm.basePoint:'--'}}</span> |
||||
|
</div> |
||||
|
|
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-3">基础积分选项:</span> |
||||
|
<span>{{ dateForm.baseOptionsShow }}</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="m-row-2"> |
||||
|
|
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-3">民主评议积分分值:</span> |
||||
|
<span>{{ dateForm.reviewPoint===0||dateForm.reviewPoint? dateForm.reviewPoint:'--'}}</span> |
||||
|
</div> |
||||
|
|
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-3">民主评议积分选项:</span> |
||||
|
<span>{{dateForm.reviewOptionsShow}}</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="m-row-2"> |
||||
|
|
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-3">激励积分分值:</span> |
||||
|
<span>{{ dateForm.inspirePoint===0||dateForm.inspirePoint? dateForm.inspirePoint:'--'}}</span> |
||||
|
</div> |
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-3">激励积分选项:</span> |
||||
|
<span>{{dateForm.inspireOptionsShow }}</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="m-row-2"> |
||||
|
|
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-3">警示扣分分值:</span> |
||||
|
<span>{{ dateForm.warnPoint===0||dateForm.warnPoint? dateForm.warnPoint:'--'}}</span> |
||||
|
</div> |
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-3">警示扣分选项:</span> |
||||
|
<span>{{ dateForm.warnOptionsShow }}</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
props: { |
||||
|
partyId: { |
||||
|
type: String, |
||||
|
default: '' |
||||
|
}, |
||||
|
disabled: { |
||||
|
type: Boolean, |
||||
|
default: false |
||||
|
} |
||||
|
}, |
||||
|
data () { |
||||
|
return { |
||||
|
btnDisabled: false, |
||||
|
year: '', |
||||
|
quarter: '', |
||||
|
dateForm: { |
||||
|
partyMemberId: '', |
||||
|
year: '', |
||||
|
quarter: '', |
||||
|
basePoint: '', |
||||
|
baseOptions: [], |
||||
|
reviewPoint: '', |
||||
|
reviewOptions: [], |
||||
|
inspirePoint: '', |
||||
|
inspireOptions: [], |
||||
|
warnPoint: '', |
||||
|
warnOptions: [], |
||||
|
baseOptionsShow: '--', |
||||
|
reviewOptionsShow: '--', |
||||
|
inspireOptionsShow: '--', |
||||
|
warnOptionsShow: '--' |
||||
|
}, |
||||
|
rules: { |
||||
|
year: [{ required: true, message: '年度不能为空', trigger: 'blur' }], |
||||
|
quarter: [{ required: true, message: '季度不能为空', trigger: 'blur' }] |
||||
|
}, |
||||
|
formItemWd: '500px', |
||||
|
quarterList: [ |
||||
|
{ |
||||
|
label: '第一季度', |
||||
|
value: '1' |
||||
|
}, |
||||
|
{ |
||||
|
label: '第二季度', |
||||
|
value: '2' |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
label: '第三季度', |
||||
|
value: '3' |
||||
|
}, |
||||
|
{ |
||||
|
label: '第四季度', |
||||
|
value: '4' |
||||
|
} |
||||
|
], |
||||
|
baseOptions: [ |
||||
|
{ |
||||
|
label: '参加三会一课', |
||||
|
value: '1' |
||||
|
}, |
||||
|
{ |
||||
|
label: '参加主题党日', |
||||
|
value: '2' |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
label: '足额缴纳党费', |
||||
|
value: 3 |
||||
|
}, |
||||
|
{ |
||||
|
label: '积极参加学习培训', |
||||
|
value: '4' |
||||
|
}, |
||||
|
{ |
||||
|
label: '自觉执行党组织会议', |
||||
|
value: '5' |
||||
|
}, |
||||
|
{ |
||||
|
label: '严守党的政治纪律和政治规矩', |
||||
|
value: '6' |
||||
|
}, |
||||
|
], |
||||
|
jiliOptions: [ |
||||
|
{ |
||||
|
label: '发挥先锋模范作用', |
||||
|
value: '1' |
||||
|
}, |
||||
|
{ |
||||
|
label: '维护社会和谐稳定', |
||||
|
value: '2' |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
label: '参与社会治理', |
||||
|
value: '3' |
||||
|
}, |
||||
|
{ |
||||
|
label: '联系服务群众', |
||||
|
value: '4' |
||||
|
} |
||||
|
], |
||||
|
jinshiOptions: [ |
||||
|
{ |
||||
|
label: '不服从党组织安排', |
||||
|
value: '1' |
||||
|
}, |
||||
|
{ |
||||
|
label: '不按时足额缴纳党费', |
||||
|
value: '2' |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
label: '无故长期脱离组织管理', |
||||
|
value: '3' |
||||
|
}, |
||||
|
{ |
||||
|
label: '在工作中出现不良影响', |
||||
|
value: '4' |
||||
|
}, |
||||
|
{ |
||||
|
label: '违反党的纪律', |
||||
|
value: '5' |
||||
|
} |
||||
|
], |
||||
|
pyiOptions: [ |
||||
|
{ |
||||
|
label: '个人自评', |
||||
|
value: '1' |
||||
|
}, |
||||
|
{ |
||||
|
label: '党员互评', |
||||
|
value: '2' |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
label: '民主测评', |
||||
|
value: '3' |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
partyId: { |
||||
|
handler (val) { |
||||
|
console.log('val------points', val) |
||||
|
if (val.length > 0) this.btnDisabled = false |
||||
|
else this.btnDisabled = true |
||||
|
}, |
||||
|
immediate: true |
||||
|
} |
||||
|
}, |
||||
|
mounted () { |
||||
|
const w = document.getElementsByClassName('p-wr')[0] |
||||
|
this.formItemWd = w.clientWidth - 360 + 'px' |
||||
|
console.log('www----', w) |
||||
|
}, |
||||
|
methods: { |
||||
|
handleQuaterChange (val) { |
||||
|
if (this.dateForm.year) { |
||||
|
this.getInfo() |
||||
|
} |
||||
|
this.quarter = val |
||||
|
}, |
||||
|
handleYearChange (val) { |
||||
|
this.year = val |
||||
|
}, |
||||
|
|
||||
|
async getInfo () { |
||||
|
const params = { |
||||
|
year: this.dateForm.year, |
||||
|
quarter: this.dateForm.quarter, |
||||
|
partyMemberId: this.partyId |
||||
|
} |
||||
|
await this.$http |
||||
|
.post('/resi/partymember/icPartyMemberPoint/echoPartyMemberPoint', params) |
||||
|
.then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg) |
||||
|
} else { |
||||
|
this.dateForm.baseOptionsShow = '--' |
||||
|
this.dateForm.reviewOptionsShow = '--' |
||||
|
this.dateForm.inspireOptionsShow = '--' |
||||
|
this.dateForm.warnOptionsShow = '--' |
||||
|
|
||||
|
if (res.data.length > 0) { |
||||
|
let _info = res.data[0] |
||||
|
const info = { |
||||
|
..._info, |
||||
|
baseOptions: _info.baseOptions.length > 0 ? _info.baseOptions.split(',') : [], |
||||
|
reviewOptions: _info.reviewOptions.length > 0 ? _info.reviewOptions.split(',') : [], |
||||
|
inspireOptions: _info.inspireOptions.length > 0 ? _info.inspireOptions.split(',') : [], |
||||
|
warnOptions: _info.warnOptions.length > 0 ? _info.warnOptions.split(',') : [] |
||||
|
} |
||||
|
for (const n in info) { |
||||
|
this.dateForm[n] = info[n] |
||||
|
} |
||||
|
console.log('dateForm', this.dateForm) |
||||
|
|
||||
|
if (this.dateForm.baseOptions.length > 0) { |
||||
|
let array = [] |
||||
|
this.baseOptions.forEach(element => { |
||||
|
if (this.dateForm.baseOptions.indexOf(element.value) > -1) { |
||||
|
array.push(element.label) |
||||
|
} |
||||
|
|
||||
|
}); |
||||
|
this.dateForm.baseOptionsShow = array.join(',') |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
if (this.dateForm.reviewOptions.length > 0) { |
||||
|
let array = [] |
||||
|
this.pyiOptions.forEach(element => { |
||||
|
if (this.dateForm.reviewOptions.indexOf(element.value) > -1) { |
||||
|
array.push(element.label) |
||||
|
} |
||||
|
|
||||
|
}); |
||||
|
this.dateForm.reviewOptionsShow = array.join(',') |
||||
|
|
||||
|
} |
||||
|
|
||||
|
if (this.dateForm.inspireOptions.length > 0) { |
||||
|
let array = [] |
||||
|
this.jiliOptions.forEach(element => { |
||||
|
if (this.dateForm.inspireOptions.indexOf(element.value) > -1) { |
||||
|
array.push(element.label) |
||||
|
} |
||||
|
|
||||
|
}); |
||||
|
this.dateForm.inspireOptionsShow = array.join(',') |
||||
|
|
||||
|
} |
||||
|
|
||||
|
if (this.dateForm.warnOptions.length > 0) { |
||||
|
let array = [] |
||||
|
this.jinshiOptions.forEach(element => { |
||||
|
if (this.dateForm.warnOptions.indexOf(element.value) > -1) { |
||||
|
array.push(element.label) |
||||
|
} |
||||
|
|
||||
|
}); |
||||
|
this.dateForm.warnOptionsShow = array.join(',') |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} else { |
||||
|
this.$refs['ruleForm'].resetFields() |
||||
|
this.dateForm.quarter = this.quarter |
||||
|
this.dateForm.year = this.year |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
.catch(err => { |
||||
|
console.log('err', err) |
||||
|
return this.$message.error('网络错误') |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
|
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style lang="scss" scoped > |
||||
|
@import "@/assets/scss/modules/management/detail-main.scss"; |
||||
|
</style> |
||||
|
<style lang="scss" scoped> |
||||
|
.flex-div { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
} |
||||
|
.mb20 { |
||||
|
margin-bottom: 20px; |
||||
|
} |
||||
|
.mr10 { |
||||
|
margin-right: 10px; |
||||
|
} |
||||
|
.pdl74 { |
||||
|
padding-left: 74px; |
||||
|
} |
||||
|
.wd-wr { |
||||
|
/deep/ .el-form-item__content { |
||||
|
width: calc(100% - 140px); |
||||
|
} |
||||
|
|
||||
|
/deep/ .el-checkbox { |
||||
|
margin-right: 10px; |
||||
|
font-weight: 400; |
||||
|
// line-height: 20px; |
||||
|
.el-checkbox__label { |
||||
|
padding-left: 5px; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.input-width { |
||||
|
width: 160px; |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,242 @@ |
|||||
|
<template> |
||||
|
<div class="dialog-h-content scroll-h pd0"> |
||||
|
<div class="div-tip">本模块主要为添加非本社区居住党员,本社区居住党员建议到居民信息页面添加</div> |
||||
|
|
||||
|
<div class="m-row"> |
||||
|
<div class="m-row-2"> |
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">所属党组织:</span> |
||||
|
<span>{{ info.sszb }}</span> |
||||
|
</div> |
||||
|
|
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">党员中心户:</span> |
||||
|
<span>{{ info.isDyzxh==='1'?'是':'否' }}</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="m-row-2"> |
||||
|
|
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">姓名:</span> |
||||
|
<span>{{ info.name}}</span> |
||||
|
</div> |
||||
|
|
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">免学习:</span> |
||||
|
<span>{{info.isMxx==='1'?'是':'否'}}</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="m-row-2"> |
||||
|
|
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">手机号:</span> |
||||
|
<span>{{ info.mobile?info.mobile:'--'}}</span> |
||||
|
</div> |
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">职务:</span> |
||||
|
<span>{{info.partyZw?info.partyZw:'--' }}</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="m-row-2"> |
||||
|
|
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">身份证:</span> |
||||
|
<span>{{ info.idCard?info.idCard:'--' }}</span> |
||||
|
</div> |
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">文化程度:</span> |
||||
|
<span>{{ info.cultureName?info.cultureName:'--' }}</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="m-row-2"> |
||||
|
|
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">地址:</span> |
||||
|
<span>{{ info.address?info.address:'--' }}</span> |
||||
|
</div> |
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">入党时间:</span> |
||||
|
<span>{{ info.rdsj?info.rdsj:'--' }}</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="m-row-2"> |
||||
|
|
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">流动党员:</span> |
||||
|
<span>{{ info.isLd==='1'?'是':'否'}}</span> |
||||
|
</div> |
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">流动党员号:</span> |
||||
|
<span>{{ info.ldzh?info.ldzh:'--' }}</span> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<div class="m-row-2"> |
||||
|
|
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">备注:</span> |
||||
|
<span>{{ info.remark? info.remark:'--' }}</span> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="pdl40"> |
||||
|
<el-tabs v-model="activesName"> |
||||
|
<el-tab-pane label="量化积分" |
||||
|
name="first"> |
||||
|
<pointsDetail :partyId="partymenberid" /> |
||||
|
</el-tab-pane> |
||||
|
<el-tab-pane label="缴费记录" |
||||
|
name="second"> |
||||
|
<record :partyId="partymenberid" |
||||
|
:disabled="disabled" /> |
||||
|
</el-tab-pane> |
||||
|
</el-tabs> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
|
||||
|
import pointsDetail from './cpts/pointsDetail.vue' |
||||
|
import record from './cpts/record.vue' |
||||
|
|
||||
|
export default { |
||||
|
components: { |
||||
|
pointsDetail, |
||||
|
record |
||||
|
}, |
||||
|
props: { |
||||
|
partyList: { |
||||
|
type: Array, |
||||
|
default: () => [] |
||||
|
}, |
||||
|
info: { |
||||
|
type: Object, |
||||
|
default: () => { } |
||||
|
}, |
||||
|
disabled: { |
||||
|
type: Boolean, |
||||
|
default: false |
||||
|
} |
||||
|
}, |
||||
|
data () { |
||||
|
|
||||
|
return { |
||||
|
activesName: 'first', |
||||
|
isAuto: false, |
||||
|
formItemWd: '100%', |
||||
|
partymenberid: '', |
||||
|
|
||||
|
|
||||
|
form: { |
||||
|
icResiUser: '', |
||||
|
name: '', |
||||
|
mobile: '', |
||||
|
idCard: '', |
||||
|
address: '', |
||||
|
rdsj: '', |
||||
|
sszb: '', |
||||
|
isLd: '0', |
||||
|
ldzh: '', |
||||
|
partyZw: '0', |
||||
|
isDyzxh: '0', |
||||
|
isMxx: '0', |
||||
|
culture: '', |
||||
|
remark: '' |
||||
|
}, |
||||
|
|
||||
|
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 () { |
||||
|
|
||||
|
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: { |
||||
|
|
||||
|
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 > |
||||
|
@import "@/assets/scss/modules/management/detail-main.scss"; |
||||
|
</style> |
||||
|
<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; |
||||
|
} |
||||
|
.div-tip { |
||||
|
margin-left: 40px; |
||||
|
color: #f56c6c; |
||||
|
padding: 10px 0 5px; |
||||
|
} |
||||
|
</style> |
||||
Loading…
Reference in new issue