|
|
|
@ -1,9 +1,9 @@ |
|
|
|
<template> |
|
|
|
<el-dialog :visible.sync="visible" |
|
|
|
<el-dialog :visible="visible" |
|
|
|
:title="'新增党组织'" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:close-on-press-escape="false" |
|
|
|
:close="handleDlgClose"> |
|
|
|
:close-on-press-escape="true" |
|
|
|
@close="handleDlgClose"> |
|
|
|
<el-form class="form" |
|
|
|
:model="dataForm" |
|
|
|
:rules="dataRule" |
|
|
|
@ -14,7 +14,8 @@ |
|
|
|
<el-form-item prop="partyOrgLevel" |
|
|
|
label="党组织类型"> |
|
|
|
<el-select v-model="dataForm.partyOrgLevel" |
|
|
|
@change="handlePartyOrgLevelSelected" |
|
|
|
@change="handlePartyOrgLevelSelected" |
|
|
|
clearable |
|
|
|
placeholder="请选择"> |
|
|
|
<el-option |
|
|
|
v-for="level in partyOrgLevels" |
|
|
|
@ -29,6 +30,7 @@ |
|
|
|
label="上级党组织"> |
|
|
|
<el-select v-model="dataForm.partyOrgPid" |
|
|
|
@change="handleParentPartyOrgSelected" |
|
|
|
clearable |
|
|
|
placeholder="请选择"> |
|
|
|
<el-option |
|
|
|
v-for="org in parentPartyOrgs" |
|
|
|
@ -40,9 +42,11 @@ |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item prop="orgId" |
|
|
|
label="行政组织" v-if="orgSelectorShow"> |
|
|
|
label="行政组织"> |
|
|
|
<el-select v-model="dataForm.orgId" |
|
|
|
@change="" |
|
|
|
@change="handleXingzhengOrgSelected" |
|
|
|
:disabled="xingzhengSelectorDisabled" |
|
|
|
clearable |
|
|
|
placeholder="请选择"> |
|
|
|
<el-option |
|
|
|
v-for="org in xingzhengOrgs" |
|
|
|
@ -53,6 +57,21 @@ |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item prop="principalId" |
|
|
|
label="负责人"> |
|
|
|
<el-select v-model="dataForm.principalId" |
|
|
|
@change="" |
|
|
|
clearable |
|
|
|
placeholder="请选择"> |
|
|
|
<el-option |
|
|
|
v-for="principal in principals" |
|
|
|
:key="principal.principalId" |
|
|
|
:label="principal.principalName" |
|
|
|
:value="principal.principalId"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item prop="partyOrgName" |
|
|
|
label="党组织名称"> |
|
|
|
<el-input v-model="dataForm.partyOrgName" |
|
|
|
@ -95,7 +114,7 @@ |
|
|
|
|
|
|
|
</el-form> |
|
|
|
<template slot="footer"> |
|
|
|
<el-button @click="">取消</el-button> |
|
|
|
<el-button @click="handleDlgClose">取消</el-button> |
|
|
|
<el-button type="primary" @click="handleSubmitCreate">确定</el-button> |
|
|
|
</template> |
|
|
|
</el-dialog> |
|
|
|
@ -120,6 +139,7 @@ export default { |
|
|
|
partyOrgPid: null, |
|
|
|
partyOrgName: null, |
|
|
|
partyOrgLevel: null, |
|
|
|
principalId: null, |
|
|
|
orgId: null, // 行政组织id |
|
|
|
description: null, |
|
|
|
longitude: null, |
|
|
|
@ -133,7 +153,8 @@ export default { |
|
|
|
|
|
|
|
// 行政组织列表 |
|
|
|
xingzhengOrgs: [], |
|
|
|
orgSelectorShow: true, // 行政组织是否显示 |
|
|
|
principals: [], // 负责人列表 |
|
|
|
xingzhengSelectorDisabled: false, // 行政组织是否可用 |
|
|
|
|
|
|
|
// 地图 |
|
|
|
searchOptions: [], //用于展示的地图搜索结果列表 |
|
|
|
@ -141,6 +162,7 @@ export default { |
|
|
|
mapLoading: false, // 地图加载 |
|
|
|
mapSearchResultList: [], // 地图搜索结果列表 |
|
|
|
epmetResultResolver: null, // epmet请求结果解析器 |
|
|
|
visible: false, |
|
|
|
} |
|
|
|
}, |
|
|
|
mounted () { |
|
|
|
@ -169,6 +191,8 @@ export default { |
|
|
|
|
|
|
|
// 初始化地图 |
|
|
|
initMap (latitude, longitude) { |
|
|
|
let d = document.getElementById("partyOrgMap"); |
|
|
|
console.log("地图div:" + d); |
|
|
|
map = new daiMap( |
|
|
|
document.getElementById("partyOrgMap"), |
|
|
|
{ latitude, longitude }, |
|
|
|
@ -188,6 +212,27 @@ export default { |
|
|
|
map.setCenter(latitude, longitude); |
|
|
|
map.setMarker(latitude, longitude); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* 重置 |
|
|
|
*/ |
|
|
|
resetForm() { |
|
|
|
this.dataForm = { |
|
|
|
partyOrgPid: null, |
|
|
|
partyOrgName: null, |
|
|
|
partyOrgLevel: null, |
|
|
|
orgId: null, // 行政组织id |
|
|
|
description: null, |
|
|
|
longitude: null, |
|
|
|
latitude: null, |
|
|
|
address: null |
|
|
|
}; |
|
|
|
|
|
|
|
this.partyOrgLevels = []; |
|
|
|
this.parentPartyOrgs = []; |
|
|
|
this.principals = []; |
|
|
|
this.xingzhengOrgs = []; |
|
|
|
}, |
|
|
|
|
|
|
|
// 加载党组织类型下拉框 |
|
|
|
async loadPartyOrgLevels() { |
|
|
|
@ -199,10 +244,6 @@ export default { |
|
|
|
this.partyOrgLevels = data; |
|
|
|
}) |
|
|
|
.parse(rst); |
|
|
|
|
|
|
|
// processEpmetResult((data) => { |
|
|
|
// this.partyOrgLevels = data; |
|
|
|
// }, null, rst); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
@ -216,28 +257,24 @@ export default { |
|
|
|
partyOrgLevel: this.dataForm.partyOrgLevel |
|
|
|
}) |
|
|
|
|
|
|
|
this.parentPartyOrgs = []; |
|
|
|
this.principals = []; |
|
|
|
this.xingzhengOrgs = []; |
|
|
|
|
|
|
|
this.dataForm.partyOrgPid = null; |
|
|
|
this.dataForm.principalId = null; |
|
|
|
this.dataForm.orgId = null; |
|
|
|
|
|
|
|
this.epmetResultResolver.success((data) => { |
|
|
|
debugger |
|
|
|
this.parentPartyOrgs = data; |
|
|
|
this.dataForm.partyOrgPid = null; |
|
|
|
|
|
|
|
// 控制行政组织组件是否显示 |
|
|
|
// orgSelectorShows |
|
|
|
if (this.dataForm.partyOrgLevel >= 6) { |
|
|
|
this.orgSelectorShow = false; |
|
|
|
} |
|
|
|
// if (this.dataForm.partyOrgLevel >= 6) { |
|
|
|
// this.xingzhengSelectorDisabled = true; |
|
|
|
// } else { |
|
|
|
// this.xingzhengSelectorDisabled = false; |
|
|
|
// } |
|
|
|
}) |
|
|
|
.parse(rst); |
|
|
|
|
|
|
|
// processEpmetResult((data) => { |
|
|
|
// this.parentPartyOrgs = data; |
|
|
|
// this.dataForm.partyOrgPid = null; |
|
|
|
// |
|
|
|
// // 控制行政组织组件是否显示 |
|
|
|
// // orgSelectorShows |
|
|
|
// if (this.dataForm.partyOrgLevel >= 6) { |
|
|
|
// this.orgSelectorShow = false; |
|
|
|
// } |
|
|
|
// }, null, rst); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
@ -248,7 +285,8 @@ export default { |
|
|
|
async handleParentPartyOrgSelected() { |
|
|
|
let url = "/actual/base/party/org/listXingZhengOrgs"; |
|
|
|
let rst = await requestGet(url, { |
|
|
|
partyOrgPid: this.dataForm.partyOrgPid |
|
|
|
partyOrgPid: this.dataForm.partyOrgPid, |
|
|
|
partyOrgLevel: this.dataForm.partyOrgLevel |
|
|
|
}); |
|
|
|
|
|
|
|
this.epmetResultResolver |
|
|
|
@ -256,11 +294,24 @@ export default { |
|
|
|
this.xingzhengOrgs = data; |
|
|
|
}) |
|
|
|
.parse(rst); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* 加载候选人选项列表 |
|
|
|
* @returns {Promise<void>} |
|
|
|
*/ |
|
|
|
async handleXingzhengOrgSelected() { |
|
|
|
let url = "/actual/base/party/org/listPrincipal"; |
|
|
|
let rst = await requestGet(url, { |
|
|
|
orgId: this.dataForm.orgId, |
|
|
|
partyOrgLevel: this.dataForm.partyOrgLevel |
|
|
|
}); |
|
|
|
|
|
|
|
// processEpmetResult((data) => { |
|
|
|
// this.xingzhengOrgs = data; |
|
|
|
// console.log(this.xingzhengOrgs) |
|
|
|
// }, null, rst); |
|
|
|
this.epmetResultResolver |
|
|
|
.success((data) => { |
|
|
|
this.principals = data; |
|
|
|
}) |
|
|
|
.parse(rst); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
@ -269,30 +320,43 @@ export default { |
|
|
|
*/ |
|
|
|
async handleDlgClose() { |
|
|
|
this.visible = false; |
|
|
|
this.$emit("update:visiable", false); |
|
|
|
this.resetForm(); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* 提交表单 |
|
|
|
* 提交表单事件 |
|
|
|
* @returns {Promise<void>} |
|
|
|
*/ |
|
|
|
async handleSubmitCreate() { |
|
|
|
let url = "/actual/base/party/org/create"; |
|
|
|
|
|
|
|
this.$refs.dataForm.validate((success) => { |
|
|
|
if (success) { |
|
|
|
this.submitCreatePartyOrg(); |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* 执行提交 |
|
|
|
* @returns {Promise<void>} |
|
|
|
*/ |
|
|
|
async submitCreatePartyOrg() { |
|
|
|
let url = "/actual/base/party/org/create"; |
|
|
|
|
|
|
|
let params = { |
|
|
|
...this.dataForm |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
let rst = await requestPost(url, params) |
|
|
|
|
|
|
|
|
|
|
|
this.epmetResultResolver |
|
|
|
.success((data) => { |
|
|
|
this.$message.success("提交成功"); |
|
|
|
this.handleDlgClose(); // 关闭对话框 |
|
|
|
this.$emit("refreshTree") |
|
|
|
}) |
|
|
|
.parse(rst); |
|
|
|
|
|
|
|
// processEpmetResult((data) => { |
|
|
|
// this.$message.success("提交成功"); |
|
|
|
// }, null, rst) |
|
|
|
}, |
|
|
|
|
|
|
|
// 地图搜索 |
|
|
|
@ -373,23 +437,17 @@ export default { |
|
|
|
orgId: [ |
|
|
|
{ required: true, message: '行政组织不能为空', trigger: 'blur' }, |
|
|
|
], |
|
|
|
mySelectOrg: [ |
|
|
|
{ required: true, message: '上级党组织不能为空', trigger: 'blur' }, |
|
|
|
], |
|
|
|
partyOrgType: [ |
|
|
|
{ required: true, message: '党组织类型不能为空', trigger: 'blur' }, |
|
|
|
], |
|
|
|
agencyId: [ |
|
|
|
{ required: true, message: '行政组织不能为空', trigger: 'blur' }, |
|
|
|
longitude: [ |
|
|
|
{ required: true, message: '请选择地图位置', trigger: 'blur' }, |
|
|
|
], |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
props: { |
|
|
|
visible: { |
|
|
|
defult: false, |
|
|
|
type: Boolean |
|
|
|
} |
|
|
|
// visible: { |
|
|
|
// defult: false, |
|
|
|
// type: Boolean |
|
|
|
// } |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
|