5 changed files with 1649 additions and 16 deletions
@ -0,0 +1,614 @@ |
|||
<template> |
|||
<el-dialog :visible="visible" |
|||
:title="'新增党员'" |
|||
:close-on-click-modal="false" |
|||
:close-on-press-escape="true" |
|||
@close="handleDlgClose"> |
|||
|
|||
<el-form class="form" |
|||
:model="dataForm" |
|||
:rules="dataRule" |
|||
ref="dataForm" |
|||
@keyup.enter.native="" |
|||
:label-width="'130px'"> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<el-form-item prop="partyOrgId" |
|||
label="所属党组织"> |
|||
<el-cascader |
|||
style="width: 300px" |
|||
v-model="dataForm.partyOrgId" |
|||
clearable |
|||
disabled |
|||
:show-all-levels="false" |
|||
@change="handlePartyOrgCascadarChange" |
|||
:props="partyOrgTreeCascadarProps" |
|||
:options="partyOrgTree"></el-cascader> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item prop="name" |
|||
label="党员姓名"> |
|||
<el-input |
|||
v-model="dataForm.name" |
|||
style="width: 300px" |
|||
clearable |
|||
disabled |
|||
placeholder="请输入党员姓名" |
|||
></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<el-form-item prop="mobile" |
|||
label="联系电话"> |
|||
<el-input |
|||
v-model="dataForm.mobile" |
|||
style="width: 300px" |
|||
clearable |
|||
disabled |
|||
placeholder="请输入联系电话" |
|||
></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item prop="idCard" |
|||
label="身份证号"> |
|||
<el-input |
|||
v-model="dataForm.idCard" |
|||
style="width: 300px" |
|||
clearable |
|||
disabled |
|||
placeholder="请输入身份证号" |
|||
></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<el-form-item prop="birthday" |
|||
label="出生日期"> |
|||
<el-date-picker |
|||
v-model="dataForm.birthday" |
|||
value-format="yyyy-MM-dd" |
|||
style="width: 300px" |
|||
type="date" |
|||
disabled |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<!--1男 2女 0未知--> |
|||
<el-form-item prop="gender" |
|||
label="性别"> |
|||
<el-select v-model="dataForm.gender" placeholder="性别" style="width: 300px" disabled> |
|||
<el-option |
|||
v-for="item in genderOptions" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<!--民族--> |
|||
<el-form-item prop="nation" label="民族"> |
|||
<el-select v-model="dataForm.nation" placeholder="请选择" style="width: 300px" disabled> |
|||
<el-option v-for="n in nationOptions" |
|||
:key="n.value" |
|||
:value="n.value" |
|||
:label="n.label"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<!--本地户籍--> |
|||
<el-form-item prop="localResidenceFlag" label="本地户籍"> |
|||
<el-select v-model="dataForm.localResidenceFlag" placeholder="请选择" style="width: 300px" disabled> |
|||
<el-option v-for="n in localResidenceFlagOptions" |
|||
:key="n.value" |
|||
:value="n.value" |
|||
:label="n.label"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="24"> |
|||
<!--户籍地址--> |
|||
<el-form-item prop="hjAddress" label="户籍地址"> |
|||
<el-input v-model="dataForm.hjAddress" style="width: 100%" disabled> |
|||
</el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="5"> |
|||
<el-col :span="24"> |
|||
<!--居住地址--> |
|||
<el-form-item prop="jzAddress" label="居住地址" style="width: 100%" > |
|||
<el-input v-model="dataForm.jzAddress" disabled> |
|||
</el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<!--文化程度--> |
|||
<el-form-item prop="cultureLevel" label="文化程度"> |
|||
<el-select v-model="dataForm.cultureLevel" placeholder="请选择" style="width: 300px" disabled> |
|||
<el-option v-for="e in cultureLevelOptions" |
|||
:key="e.value" |
|||
:value="e.value" |
|||
:label="e.label"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
<el-col :span="12"> |
|||
<!--党组织职务--> |
|||
<el-form-item prop="partyJob" label="党组织职务"> |
|||
<el-select v-model="dataForm.partyJob" placeholder="请选择" style="width: 300px" disabled> |
|||
<el-option v-for="e in partyJobOptions" |
|||
:key="e.value" |
|||
:value="e.value" |
|||
:label="e.label"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="24"> |
|||
<!--工作职责--> |
|||
<el-form-item prop="duty" label="工作职责" style="width: 100%"> |
|||
<el-input v-model="dataForm.duty" disabled> |
|||
</el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<!--入党日期--> |
|||
<el-form-item prop="joinTime" label="入党日期" style="width: 100%"> |
|||
<el-date-picker |
|||
v-model="dataForm.joinTime" |
|||
style="width: 300px" |
|||
value-format="yyyy-MM-dd" |
|||
type="date" |
|||
disabled |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
<el-col :span="12"> |
|||
<!--positiveTime--> |
|||
<el-form-item prop="positiveTime" label="转正日期" style="width: 100%"> |
|||
<el-date-picker |
|||
v-model="dataForm.positiveTime" |
|||
value-format="yyyy-MM-dd" |
|||
style="width: 300px" |
|||
type="date" |
|||
disabled |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<!--党员中心户--> |
|||
<el-form-item prop="centerFlag" label="党员中心户" style="width: 100%"> |
|||
<el-select v-model="dataForm.centerFlag" placeholder="请选择" style="width: 300px" disabled> |
|||
<el-option v-for="e in centerFlagOptions" |
|||
:key="e.value" |
|||
:value="e.value" |
|||
:label="e.label"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<!--流动党员--> |
|||
<el-form-item prop="flowFlag" label="流动党员"> |
|||
<el-select v-model="dataForm.flowFlag" placeholder="请选择" style="width: 300px" disabled> |
|||
<el-option v-for="e in flowFlagOptions" |
|||
:key="e.value" |
|||
:value="e.value" |
|||
:label="e.label"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
<el-col :span="12"> |
|||
<!--流动党员证号--> |
|||
<el-form-item prop="flowActNum" label="流动党员证号"> |
|||
<el-input v-model="dataForm.flowActNum" disabled></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<!--免学习--> |
|||
<el-form-item prop="studyNotNeed" label="免学习"> |
|||
<el-select v-model="dataForm.studyNotNeed" placeholder="请选择" style="width: 300px" disabled> |
|||
<el-option v-for="e in studyNotNeedOptions" |
|||
:key="e.value" |
|||
:value="e.value" |
|||
:label="e.label"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
<el-col :span="12"> |
|||
<!--是否退休--> |
|||
<el-form-item prop="retiredFlag" label="是否退休"> |
|||
<el-select v-model="dataForm.retiredFlag" placeholder="请选择" style="width: 300px" disabled> |
|||
<el-option v-for="e in retiredFlagOptions" |
|||
:key="e.value" |
|||
:value="e.value" |
|||
:label="e.label"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<!--入党时所在党支部--> |
|||
<el-form-item prop="joinBranchName" label="入党时所在党支部"> |
|||
<el-input v-model="dataForm.joinBranchName" disabled></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
<el-col :span="12"> |
|||
<!--组织关系转入社区时间--> |
|||
<el-form-item prop="joinCommunityTime" label="组织关系转入社区时间" style="width: 100%"> |
|||
<el-date-picker |
|||
v-model="dataForm.joinCommunityTime" |
|||
value-format="yyyy-MM-dd" |
|||
style="width: 300px" |
|||
type="date" |
|||
disabled |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="24"> |
|||
<!--备注--> |
|||
<el-form-item prop="remark" label="备注"> |
|||
<el-input v-model="dataForm.remark" disabled></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
<template slot="footer"> |
|||
<!--<el-button @click="handleDlgClose">取消</el-button>--> |
|||
<el-button type="primary" @click="handleSubmitCreate">确定</el-button> |
|||
<el-button type="primary" @click="handleDlgClose">取消</el-button> |
|||
</template> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import { requestGet, requestPost } from '@/js/dai/request' |
|||
import { EpmetResultResolver } from '@/js/epmet-result-resolver' |
|||
|
|||
export default { |
|||
data () { |
|||
return { |
|||
epmetResultResolver: null, |
|||
visible: false, |
|||
partyOrgTree: [], // 党组织数 |
|||
genderOptions: [{ 'label': '男', 'value': '1' }, { 'label': '女', 'value': '2' }, { 'label': '未知', 'value': '0' }], |
|||
nationOptions: [], // 民族 |
|||
localResidenceFlagOptions: [{ 'label': '是', 'value': 1 }, { 'label': '否', 'value': 0 }], // 是否本地户籍 |
|||
cultureLevelOptions: [], // 文化程度 |
|||
partyJobOptions: [], // 党组织职务 |
|||
centerFlagOptions: [{ 'label': '是', 'value': 1 }, { 'label': '否', 'value': 0 }], // 党员中心户 |
|||
flowFlagOptions: [{ 'label': '是', 'value': 1 }, { 'label': '否', 'value': 0 }], // 是否流动党员 |
|||
studyNotNeedOptions: [{ 'label': '是', 'value': 1 }, { 'label': '否', 'value': 0 }], // 免学习 |
|||
retiredFlagOptions: [{ 'label': '是', 'value': 1 }, { 'label': '否', 'value': 0 }], // 退休 |
|||
dataFormClear: null, |
|||
dataForm: { |
|||
partyOrgId: null, |
|||
name: null, |
|||
mobile: null, |
|||
idCard: null, |
|||
birthday: null, |
|||
gender: null, |
|||
nation: null, |
|||
localResidenceFlag: null, |
|||
hjAddress: null, |
|||
jzAddress: null, |
|||
cultureLevel: null, |
|||
partyJob: null, |
|||
duty: null, |
|||
joinTime: null, |
|||
positiveTime: null, |
|||
centerFlag: null, |
|||
flowFlag: null, |
|||
flowActNum: null, |
|||
studyNotNeed: null, |
|||
retiredFlag: null, |
|||
joinBranchName: null, |
|||
joinCommunityTime: null, |
|||
remark: null, |
|||
}, |
|||
|
|||
partyOrgTreeCascadarProps: { |
|||
lazy: true, |
|||
lazyLoad: ((node, resolve) => { |
|||
this.handleNextOrgTreeClick(node, resolve) |
|||
}), |
|||
value: 'id', |
|||
label: 'partyOrgName', |
|||
checkStrictly: true, |
|||
multiple: false |
|||
} |
|||
} |
|||
}, |
|||
mounted () { |
|||
this.epmetResultResolver = new EpmetResultResolver(this); |
|||
// 备份一下dataForm |
|||
// this.dataFormClear = Object.create(this.dataForm); |
|||
this.dataFormClear = JSON.parse(JSON.stringify(this.dataForm)); |
|||
}, |
|||
methods: { |
|||
|
|||
/** ● ====================事件列表====================== **/ |
|||
|
|||
/** |
|||
* 对话框关闭事件 |
|||
*/ |
|||
handleDlgClose () { |
|||
this.resetForm();// 重置表单 |
|||
this.visible = false; |
|||
}, |
|||
|
|||
/** |
|||
* 加载树根 |
|||
*/ |
|||
async handleLoadPartyOrgTreeRoot () { |
|||
let url = '/actual/base/party/org/listPartyOrgTreeRoot4Select' |
|||
|
|||
let rst = await requestGet(url, { depth: 8 }) |
|||
|
|||
this.epmetResultResolver.success((data) => { |
|||
this.setDisableStatus4TreeNode([data]); |
|||
this.partyOrgTree.length = 0; |
|||
this.partyOrgTree.push(data); |
|||
}).parse(rst) |
|||
}, |
|||
|
|||
/** |
|||
* 党组织树选中事件 |
|||
*/ |
|||
handlePartyOrgCascadarChange(selectedNode) { |
|||
this.dataForm.partyOrgId = selectedNode[selectedNode.length - 1]; |
|||
}, |
|||
|
|||
/** |
|||
* 组织树:加载下一级 |
|||
* @returns {Promise<void>} |
|||
*/ |
|||
async handleNextOrgTreeClick (node, resolve) { |
|||
|
|||
// if (node.level === 1) { |
|||
// // loadPartyOrgTreeRoot接口已经返回了1,2级,所以点击1级的时候不需要加载了 |
|||
// resolve(null) |
|||
// return |
|||
// } |
|||
|
|||
let url = '/actual/base/party/org/listNextLevelPartyOrgTreeNodesByPid' |
|||
|
|||
let rst = await requestGet(url, { |
|||
partyOrgPid: node.data.id |
|||
}) |
|||
|
|||
this.epmetResultResolver.success((data) => { |
|||
this.setDisableStatus4TreeNode([data]); |
|||
resolve(data) |
|||
}).parse(rst) |
|||
}, |
|||
|
|||
/** |
|||
* 提交创建动作 |
|||
*/ |
|||
async handleSubmitCreate () { |
|||
this.$refs.dataForm.validate(async (success) => { |
|||
if (success) { |
|||
let rst = await requestPost("/actual/base/party/member/create", this.dataForm); |
|||
this.epmetResultResolver.success((data) => { |
|||
this.$message.success('提交成功'); |
|||
this.handleDlgClose(); |
|||
}).parse(rst); |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
/** |
|||
* 对话框关闭 |
|||
* @returns {Promise<void>} |
|||
*/ |
|||
resetForm() { |
|||
this.dataForm = this.dataFormClear; |
|||
}, |
|||
|
|||
/** ● ==================方法列表===================== **/ |
|||
|
|||
/** |
|||
* 初始化方法 |
|||
*/ |
|||
init (partymemberId) { |
|||
this.visible = true |
|||
// 加载党组织树 |
|||
this.handleLoadPartyOrgTreeRoot() |
|||
|
|||
// 加载民族列表 |
|||
this.loadNations() |
|||
// 文化程度 |
|||
this.loadCultureLevelOptions() |
|||
// 党组织职务 |
|||
this.loadPartyJobOptions() |
|||
this.loadPartymemberDetail(partymemberId) |
|||
}, |
|||
|
|||
/** |
|||
* 加载民族列表 |
|||
*/ |
|||
async loadNations () { |
|||
let url = '/sys/dict/data/nation' |
|||
let rst = await requestPost(url, {}) |
|||
this.epmetResultResolver.success((data) => { |
|||
this.nationOptions = data |
|||
}).parse(rst) |
|||
}, |
|||
|
|||
/** |
|||
* 文化程度 |
|||
* @returns {Promise<void>} |
|||
*/ |
|||
async loadCultureLevelOptions () { |
|||
let url = '/sys/dict/data/education' |
|||
let rst = await requestPost(url, {}) |
|||
this.epmetResultResolver.success((data) => { |
|||
this.cultureLevelOptions = data |
|||
}).parse(rst) |
|||
}, |
|||
|
|||
// 党组织职务 |
|||
async loadPartyJobOptions () { |
|||
let url = '/sys/dict/data/dictlist' |
|||
let rst = await requestPost(url, { 'dictType': 'party_job' }) |
|||
this.epmetResultResolver.success((data) => { |
|||
this.partyJobOptions = data |
|||
}).parse(rst) |
|||
}, |
|||
|
|||
/** |
|||
* 为党组织树设置可选状态 |
|||
* @param treeArray |
|||
*/ |
|||
setDisableStatus4TreeNode(treeArray) { |
|||
for (let e of treeArray) { |
|||
if (e.partyOrgLevel === 5 || e.partyOrgLevel === 6) { |
|||
e.disabled = true; |
|||
} |
|||
|
|||
if (e.children && e.children.length > 0) { |
|||
this.setDisableStatus4TreeNode(e.children); |
|||
} |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 加载详情 |
|||
* @returns {Promise<void>} |
|||
*/ |
|||
async loadPartymemberDetail(partymemberId) { |
|||
let rst = await requestGet("/actual/base/party/member/detail/" + partymemberId, {}) |
|||
this.epmetResultResolver.success((detail) => { |
|||
this.dataForm = detail; |
|||
}).parse(rst); |
|||
} |
|||
}, |
|||
|
|||
computed: { |
|||
dataRule () { |
|||
return { |
|||
partyOrgId: [ |
|||
{ required: true, message: '请选择党组织', trigger: 'blur' }, |
|||
], |
|||
name: [ |
|||
{ required: true, message: '请输入党员姓名', trigger: 'blur' }, |
|||
], |
|||
mobile: [ |
|||
{ required: true, message: '请输入电话', trigger: 'blur' }, |
|||
], |
|||
idCard: [ |
|||
{ required: true, message: '请输入身份证号', trigger: 'blur' }, |
|||
], |
|||
} |
|||
}, |
|||
}, |
|||
props: { |
|||
// visible: { |
|||
// defult: false, |
|||
// type: Boolean |
|||
// } |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
@import "@/assets/scss/modules/visual/communityManageForm.scss"; |
|||
|
|||
.item_width_1 { |
|||
width: 560px; |
|||
|
|||
/deep/ .tox .tox-dialog { |
|||
z-index: 20000; |
|||
} |
|||
} |
|||
|
|||
.div_map { |
|||
position: relative; |
|||
} |
|||
|
|||
.div_searchmap { |
|||
z-index: 5000; |
|||
position: absolute; |
|||
top: 5px; |
|||
left: 5px; |
|||
} |
|||
|
|||
.tinymce_view { |
|||
height: 400px; |
|||
overflow: auto; |
|||
} |
|||
|
|||
.text_p { |
|||
margin: 0; |
|||
padding: 0 10px; |
|||
border: 1px solid #d9d9d9; |
|||
border-radius: 5px; |
|||
|
|||
> p { |
|||
margin: 0; |
|||
} |
|||
} |
|||
|
|||
|
|||
.el-row { |
|||
margin-bottom: 20px; |
|||
|
|||
&:last-child { |
|||
margin-bottom: 0; |
|||
} |
|||
} |
|||
|
|||
.el-col { |
|||
border-radius: 4px; |
|||
} |
|||
</style> |
@ -0,0 +1,606 @@ |
|||
<template> |
|||
<el-dialog :visible="visible" |
|||
:title="'新增党员'" |
|||
:close-on-click-modal="false" |
|||
:close-on-press-escape="true" |
|||
@close="handleDlgClose"> |
|||
|
|||
<el-form class="form" |
|||
:model="dataForm" |
|||
:rules="dataRule" |
|||
ref="dataForm" |
|||
@keyup.enter.native="" |
|||
:label-width="'130px'"> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<el-form-item prop="partyOrgId" |
|||
label="所属党组织"> |
|||
<el-cascader |
|||
style="width: 300px" |
|||
v-model="dataForm.partyOrgId" |
|||
clearable |
|||
@change="handlePartyOrgCascadarChange" |
|||
:props="partyOrgTreeCascadarProps" |
|||
:options="partyOrgTree"></el-cascader> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item prop="name" |
|||
label="党员姓名"> |
|||
<el-input |
|||
v-model="dataForm.name" |
|||
style="width: 300px" |
|||
clearable |
|||
placeholder="请输入党员姓名" |
|||
></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<el-form-item prop="mobile" |
|||
label="联系电话"> |
|||
<el-input |
|||
v-model="dataForm.mobile" |
|||
style="width: 300px" |
|||
clearable |
|||
placeholder="请输入联系电话" |
|||
></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item prop="idCard" |
|||
label="身份证号"> |
|||
<el-input |
|||
v-model="dataForm.idCard" |
|||
style="width: 300px" |
|||
clearable |
|||
placeholder="请输入身份证号" |
|||
></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<el-form-item prop="birthday" |
|||
label="出生日期"> |
|||
<el-date-picker |
|||
v-model="dataForm.birthday" |
|||
value-format="yyyy-MM-dd" |
|||
style="width: 300px" |
|||
type="date" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<!--1男 2女 0未知--> |
|||
<el-form-item prop="gender" |
|||
label="性别"> |
|||
<el-select v-model="dataForm.gender" placeholder="性别" style="width: 300px" > |
|||
<el-option |
|||
v-for="item in genderOptions" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<!--民族--> |
|||
<el-form-item prop="nation" label="民族"> |
|||
<el-select v-model="dataForm.nation" placeholder="请选择" style="width: 300px" > |
|||
<el-option v-for="n in nationOptions" |
|||
:key="n.value" |
|||
:value="n.value" |
|||
:label="n.label"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<!--本地户籍--> |
|||
<el-form-item prop="localResidenceFlag" label="本地户籍"> |
|||
<el-select v-model="dataForm.localResidenceFlag" placeholder="请选择" style="width: 300px" > |
|||
<el-option v-for="n in localResidenceFlagOptions" |
|||
:key="n.value" |
|||
:value="n.value" |
|||
:label="n.label"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="24"> |
|||
<!--户籍地址--> |
|||
<el-form-item prop="hjAddress" label="户籍地址"> |
|||
<el-input v-model="dataForm.hjAddress" style="width: 100%" > |
|||
</el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="5"> |
|||
<el-col :span="24"> |
|||
<!--居住地址--> |
|||
<el-form-item prop="jzAddress" label="居住地址" style="width: 100%" > |
|||
<el-input v-model="dataForm.jzAddress" > |
|||
</el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<!--文化程度--> |
|||
<el-form-item prop="cultureLevel" label="文化程度"> |
|||
<el-select v-model="dataForm.cultureLevel" placeholder="请选择" style="width: 300px" > |
|||
<el-option v-for="e in cultureLevelOptions" |
|||
:key="e.value" |
|||
:value="e.value" |
|||
:label="e.label"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
<el-col :span="12"> |
|||
<!--党组织职务--> |
|||
<el-form-item prop="partyJob" label="党组织职务"> |
|||
<el-select v-model="dataForm.partyJob" placeholder="请选择" style="width: 300px" > |
|||
<el-option v-for="e in partyJobOptions" |
|||
:key="e.value" |
|||
:value="e.value" |
|||
:label="e.label"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="24"> |
|||
<!--工作职责--> |
|||
<el-form-item prop="duty" label="工作职责" style="width: 100%"> |
|||
<el-input v-model="dataForm.duty" > |
|||
</el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<!--入党日期--> |
|||
<el-form-item prop="joinTime" label="入党日期" style="width: 100%"> |
|||
<el-date-picker |
|||
v-model="dataForm.joinTime" |
|||
style="width: 300px" |
|||
value-format="yyyy-MM-dd" |
|||
type="date" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
<el-col :span="12"> |
|||
<!--positiveTime--> |
|||
<el-form-item prop="positiveTime" label="转正日期" style="width: 100%"> |
|||
<el-date-picker |
|||
v-model="dataForm.positiveTime" |
|||
value-format="yyyy-MM-dd" |
|||
style="width: 300px" |
|||
type="date" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<!--党员中心户--> |
|||
<el-form-item prop="centerFlag" label="党员中心户" style="width: 100%"> |
|||
<el-select v-model="dataForm.centerFlag" placeholder="请选择" style="width: 300px" > |
|||
<el-option v-for="e in centerFlagOptions" |
|||
:key="e.value" |
|||
:value="e.value" |
|||
:label="e.label"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<!--流动党员--> |
|||
<el-form-item prop="flowFlag" label="流动党员"> |
|||
<el-select v-model="dataForm.flowFlag" placeholder="请选择" style="width: 300px" > |
|||
<el-option v-for="e in flowFlagOptions" |
|||
:key="e.value" |
|||
:value="e.value" |
|||
:label="e.label"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
<el-col :span="12"> |
|||
<!--流动党员证号--> |
|||
<el-form-item prop="flowActNum" label="流动党员证号"> |
|||
<el-input v-model="dataForm.flowActNum" ></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<!--免学习--> |
|||
<el-form-item prop="studyNotNeed" label="免学习"> |
|||
<el-select v-model="dataForm.studyNotNeed" placeholder="请选择" style="width: 300px" > |
|||
<el-option v-for="e in studyNotNeedOptions" |
|||
:key="e.value" |
|||
:value="e.value" |
|||
:label="e.label"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
<el-col :span="12"> |
|||
<!--是否退休--> |
|||
<el-form-item prop="retiredFlag" label="是否退休"> |
|||
<el-select v-model="dataForm.retiredFlag" placeholder="请选择" style="width: 300px" > |
|||
<el-option v-for="e in retiredFlagOptions" |
|||
:key="e.value" |
|||
:value="e.value" |
|||
:label="e.label"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="12"> |
|||
<!--入党时所在党支部--> |
|||
<el-form-item prop="joinBranchName" label="入党时所在党支部"> |
|||
<el-input v-model="dataForm.joinBranchName" ></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
<el-col :span="12"> |
|||
<!--组织关系转入社区时间--> |
|||
<el-form-item prop="joinCommunityTime" label="组织关系转入社区时间" style="width: 100%"> |
|||
<el-date-picker |
|||
v-model="dataForm.joinCommunityTime" |
|||
value-format="yyyy-MM-dd" |
|||
style="width: 300px" |
|||
type="date" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="5"> |
|||
<el-col :span="24"> |
|||
<!--备注--> |
|||
<el-form-item prop="remark" label="备注"> |
|||
<el-input v-model="dataForm.remark" ></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
<template slot="footer"> |
|||
<!--<el-button @click="handleDlgClose">取消</el-button>--> |
|||
<el-button type="primary" @click="handleSubmitUpdate">确定</el-button> |
|||
<el-button type="primary" @click="handleDlgClose">取消</el-button> |
|||
</template> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import { requestGet, requestPost } from '@/js/dai/request' |
|||
import { EpmetResultResolver } from '@/js/epmet-result-resolver' |
|||
|
|||
export default { |
|||
data () { |
|||
return { |
|||
epmetResultResolver: null, |
|||
visible: false, |
|||
partyOrgTree: [], // 党组织数 |
|||
genderOptions: [{ 'label': '男', 'value': '1' }, { 'label': '女', 'value': '2' }, { 'label': '未知', 'value': '0' }], |
|||
nationOptions: [], // 民族 |
|||
localResidenceFlagOptions: [{ 'label': '是', 'value': 1 }, { 'label': '否', 'value': 0 }], // 是否本地户籍 |
|||
cultureLevelOptions: [], // 文化程度 |
|||
partyJobOptions: [], // 党组织职务 |
|||
centerFlagOptions: [{ 'label': '是', 'value': 1 }, { 'label': '否', 'value': 0 }], // 党员中心户 |
|||
flowFlagOptions: [{ 'label': '是', 'value': 1 }, { 'label': '否', 'value': 0 }], // 是否流动党员 |
|||
studyNotNeedOptions: [{ 'label': '是', 'value': 1 }, { 'label': '否', 'value': 0 }], // 免学习 |
|||
retiredFlagOptions: [{ 'label': '是', 'value': 1 }, { 'label': '否', 'value': 0 }], // 退休 |
|||
dataFormClear: null, |
|||
dataForm: { |
|||
partyOrgId: null, |
|||
name: null, |
|||
mobile: null, |
|||
idCard: null, |
|||
birthday: null, |
|||
gender: null, |
|||
nation: null, |
|||
localResidenceFlag: null, |
|||
hjAddress: null, |
|||
jzAddress: null, |
|||
cultureLevel: null, |
|||
partyJob: null, |
|||
duty: null, |
|||
joinTime: null, |
|||
positiveTime: null, |
|||
centerFlag: null, |
|||
flowFlag: null, |
|||
flowActNum: null, |
|||
studyNotNeed: null, |
|||
retiredFlag: null, |
|||
joinBranchName: null, |
|||
joinCommunityTime: null, |
|||
remark: null, |
|||
}, |
|||
|
|||
partyOrgTreeCascadarProps: { |
|||
lazy: true, |
|||
lazyLoad: ((node, resolve) => { |
|||
this.handleNextOrgTreeClick(node, resolve) |
|||
}), |
|||
value: 'id', |
|||
label: 'partyOrgName', |
|||
checkStrictly: true, |
|||
multiple: false |
|||
} |
|||
} |
|||
}, |
|||
mounted () { |
|||
this.epmetResultResolver = new EpmetResultResolver(this); |
|||
// 备份一下dataForm |
|||
// this.dataFormClear = Object.create(this.dataForm); |
|||
this.dataFormClear = JSON.parse(JSON.stringify(this.dataForm)); |
|||
}, |
|||
methods: { |
|||
|
|||
/** ● ====================事件列表====================== **/ |
|||
|
|||
/** |
|||
* 对话框关闭事件 |
|||
*/ |
|||
handleDlgClose () { |
|||
this.resetForm();// 重置表单 |
|||
this.visible = false; |
|||
}, |
|||
|
|||
/** |
|||
* 加载树根 |
|||
*/ |
|||
async handleLoadPartyOrgTreeRoot () { |
|||
let url = '/actual/base/party/org/listPartyOrgTreeRoot4Select' |
|||
|
|||
let rst = await requestGet(url, { depth: 8 }) |
|||
|
|||
this.epmetResultResolver.success((data) => { |
|||
this.setDisableStatus4TreeNode([data]); |
|||
this.partyOrgTree.length = 0; |
|||
this.partyOrgTree.push(data); |
|||
}).parse(rst) |
|||
}, |
|||
|
|||
/** |
|||
* 党组织树选中事件 |
|||
*/ |
|||
handlePartyOrgCascadarChange(selectedNode) { |
|||
this.dataForm.partyOrgId = selectedNode[selectedNode.length - 1]; |
|||
}, |
|||
|
|||
/** |
|||
* 组织树:加载下一级 |
|||
* @returns {Promise<void>} |
|||
*/ |
|||
async handleNextOrgTreeClick (node, resolve) { |
|||
|
|||
// if (node.level === 1) { |
|||
// // loadPartyOrgTreeRoot接口已经返回了1,2级,所以点击1级的时候不需要加载了 |
|||
// resolve(null) |
|||
// return |
|||
// } |
|||
|
|||
let url = '/actual/base/party/org/listNextLevelPartyOrgTreeNodesByPid' |
|||
|
|||
let rst = await requestGet(url, { |
|||
partyOrgPid: node.data.id |
|||
}) |
|||
|
|||
this.epmetResultResolver.success((data) => { |
|||
this.setDisableStatus4TreeNode([data]); |
|||
resolve(data) |
|||
}).parse(rst) |
|||
}, |
|||
|
|||
/** |
|||
* 提交更新动作 |
|||
*/ |
|||
async handleSubmitUpdate () { |
|||
this.$refs.dataForm.validate(async (success) => { |
|||
if (success) { |
|||
let rst = await requestPost("/actual/base/party/member/update", this.dataForm); |
|||
this.epmetResultResolver.success((data) => { |
|||
this.$message.success('提交成功'); |
|||
this.handleDlgClose(); |
|||
this.$emit("finishUpdate"); |
|||
}).parse(rst); |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
/** |
|||
* 对话框关闭 |
|||
* @returns {Promise<void>} |
|||
*/ |
|||
resetForm() { |
|||
this.dataForm = this.dataFormClear; |
|||
}, |
|||
|
|||
/** ● ==================方法列表===================== **/ |
|||
|
|||
/** |
|||
* 初始化方法 |
|||
*/ |
|||
init (partymemberId) { |
|||
this.visible = true |
|||
// 加载党组织树 |
|||
this.handleLoadPartyOrgTreeRoot() |
|||
|
|||
// 加载民族列表 |
|||
this.loadNations() |
|||
// 文化程度 |
|||
this.loadCultureLevelOptions() |
|||
// 党组织职务 |
|||
this.loadPartyJobOptions() |
|||
this.loadPartymemberDetail(partymemberId) |
|||
}, |
|||
|
|||
/** |
|||
* 加载民族列表 |
|||
*/ |
|||
async loadNations () { |
|||
let url = '/sys/dict/data/nation' |
|||
let rst = await requestPost(url, {}) |
|||
this.epmetResultResolver.success((data) => { |
|||
this.nationOptions = data |
|||
}).parse(rst) |
|||
}, |
|||
|
|||
/** |
|||
* 文化程度 |
|||
* @returns {Promise<void>} |
|||
*/ |
|||
async loadCultureLevelOptions () { |
|||
let url = '/sys/dict/data/education' |
|||
let rst = await requestPost(url, {}) |
|||
this.epmetResultResolver.success((data) => { |
|||
this.cultureLevelOptions = data |
|||
}).parse(rst) |
|||
}, |
|||
|
|||
// 党组织职务 |
|||
async loadPartyJobOptions () { |
|||
let url = '/sys/dict/data/dictlist' |
|||
let rst = await requestPost(url, { 'dictType': 'party_job' }) |
|||
this.epmetResultResolver.success((data) => { |
|||
this.partyJobOptions = data |
|||
}).parse(rst) |
|||
}, |
|||
|
|||
/** |
|||
* 为党组织树设置可选状态 |
|||
* @param treeArray |
|||
*/ |
|||
setDisableStatus4TreeNode(treeArray) { |
|||
for (let e of treeArray) { |
|||
if (e.partyOrgLevel === 5 || e.partyOrgLevel === 6) { |
|||
e.disabled = true; |
|||
} |
|||
|
|||
if (e.children && e.children.length > 0) { |
|||
this.setDisableStatus4TreeNode(e.children); |
|||
} |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 加载详情 |
|||
* @returns {Promise<void>} |
|||
*/ |
|||
async loadPartymemberDetail(partymemberId) { |
|||
let rst = await requestGet("/actual/base/party/member/detail/" + partymemberId, {}) |
|||
this.epmetResultResolver.success((detail) => { |
|||
this.dataForm = detail; |
|||
}).parse(rst); |
|||
} |
|||
}, |
|||
|
|||
computed: { |
|||
dataRule () { |
|||
return { |
|||
partyOrgId: [ |
|||
{ required: true, message: '请选择党组织', trigger: 'blur' }, |
|||
], |
|||
name: [ |
|||
{ required: true, message: '请输入党员姓名', trigger: 'blur' }, |
|||
], |
|||
mobile: [ |
|||
{ required: true, message: '请输入电话', trigger: 'blur' }, |
|||
], |
|||
idCard: [ |
|||
{ required: true, message: '请输入身份证号', trigger: 'blur' }, |
|||
], |
|||
} |
|||
}, |
|||
}, |
|||
props: { |
|||
// visible: { |
|||
// defult: false, |
|||
// type: Boolean |
|||
// } |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
@import "@/assets/scss/modules/visual/communityManageForm.scss"; |
|||
|
|||
.item_width_1 { |
|||
width: 560px; |
|||
|
|||
/deep/ .tox .tox-dialog { |
|||
z-index: 20000; |
|||
} |
|||
} |
|||
|
|||
.div_map { |
|||
position: relative; |
|||
} |
|||
|
|||
.div_searchmap { |
|||
z-index: 5000; |
|||
position: absolute; |
|||
top: 5px; |
|||
left: 5px; |
|||
} |
|||
|
|||
.tinymce_view { |
|||
height: 400px; |
|||
overflow: auto; |
|||
} |
|||
|
|||
.text_p { |
|||
margin: 0; |
|||
padding: 0 10px; |
|||
border: 1px solid #d9d9d9; |
|||
border-radius: 5px; |
|||
|
|||
> p { |
|||
margin: 0; |
|||
} |
|||
} |
|||
|
|||
|
|||
.el-row { |
|||
margin-bottom: 20px; |
|||
|
|||
&:last-child { |
|||
margin-bottom: 0; |
|||
} |
|||
} |
|||
|
|||
.el-col { |
|||
border-radius: 4px; |
|||
} |
|||
</style> |
Loading…
Reference in new issue