|
|
@ -11,6 +11,32 @@ |
|
|
|
:rules="dataRule" |
|
|
|
class="div_form" |
|
|
|
> |
|
|
|
<el-row> |
|
|
|
<el-col :span="24"> |
|
|
|
<div class="info-prop" |
|
|
|
v-if="formType == 'detail'"> |
|
|
|
<span class="info-title-2">所属组织: </span> |
|
|
|
<span>{{ formData.agencyName || "--" }}</span> |
|
|
|
</div> |
|
|
|
<el-form-item v-else |
|
|
|
label="所属组织" |
|
|
|
label-width="100px" |
|
|
|
prop="agencyId"> |
|
|
|
<el-cascader v-if="formType == 'add'" |
|
|
|
ref="ref_cascader_agency" |
|
|
|
class="width-two" |
|
|
|
v-model=" selGridId" |
|
|
|
:options="optionsA" |
|
|
|
@change="handleChangeAngency" |
|
|
|
:props="{ checkStrictly: true, emitPath: false,children:'subAgencyList',label:'agencyName',value:'agencyId'}" |
|
|
|
clearable /> |
|
|
|
|
|
|
|
<span v-else>{{ formData.agencyName || "--" }}</span> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
</el-row> |
|
|
|
<el-row> |
|
|
|
<el-col :span="12"> |
|
|
|
<div class="info-prop" v-if="formType == 'detail'"> |
|
|
@ -589,6 +615,8 @@ export default { |
|
|
|
}; |
|
|
|
return { |
|
|
|
btnDisable: false, |
|
|
|
selGridId: [], |
|
|
|
optionsA: [], |
|
|
|
|
|
|
|
formData: { |
|
|
|
name: "", |
|
|
@ -616,6 +644,7 @@ export default { |
|
|
|
pubWelfareJobFlag: null, |
|
|
|
workUnit: "", |
|
|
|
remark: "", |
|
|
|
agencyId:"" |
|
|
|
}, |
|
|
|
endPickerOptionsJoinWar: { |
|
|
|
disabledDate: (time) => endDisabledDate(time, "joinWarStartTime"), |
|
|
@ -633,6 +662,7 @@ export default { |
|
|
|
idType: [ |
|
|
|
{ required: true, message: "证件类型不能为空", trigger: "bulr" }, |
|
|
|
], |
|
|
|
agencyId: [{ required: true, message: "所属组织不能为空", trigger: "bulr" }], |
|
|
|
}, |
|
|
|
scopeId: "", |
|
|
|
|
|
|
@ -650,6 +680,7 @@ export default { |
|
|
|
components: {}, |
|
|
|
async created() { |
|
|
|
await this.getDicts(); |
|
|
|
await this.getGridList() |
|
|
|
}, |
|
|
|
async mounted() { |
|
|
|
this.startLoading(); |
|
|
@ -757,7 +788,59 @@ export default { |
|
|
|
this.resetData(); |
|
|
|
this.$emit("handleClose"); |
|
|
|
}, |
|
|
|
handleChangeAngency (val) { |
|
|
|
|
|
|
|
let obj = this.$refs["ref_cascader_agency"].getCheckedNodes()[0].data; |
|
|
|
console.log('改变组织', obj) |
|
|
|
if (obj) { |
|
|
|
if (obj.level !== 'community') { |
|
|
|
this.$message.info('请选择社区') |
|
|
|
this.formData.agencyId = '' |
|
|
|
this.selGridId = [] |
|
|
|
return false |
|
|
|
} else { |
|
|
|
this.formData.agencyId = val |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
getGridList () { |
|
|
|
const { user } = this.$store.state |
|
|
|
this.dataListLoading = true |
|
|
|
const params = { |
|
|
|
agencyId: user.agencyId, |
|
|
|
client: 'gov' |
|
|
|
} |
|
|
|
this.$http |
|
|
|
// .post('/gov/org/userhouse/service/serviceScopeTree') |
|
|
|
// .post('/data/aggregator/org/agencytree', params) |
|
|
|
.post('/gov/org/customeragency/staffinagencylist') |
|
|
|
.then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} else { |
|
|
|
|
|
|
|
let { agencyList, subAgencyList } = res.data |
|
|
|
|
|
|
|
const _arr = [{ ...agencyList, subAgencyList: [...subAgencyList] }] |
|
|
|
this.optionsA = this.deepTree(_arr) |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(() => { |
|
|
|
this.dataListLoading = false |
|
|
|
return this.$message.error('网络错误') |
|
|
|
}) |
|
|
|
this.dataListLoading = false |
|
|
|
}, |
|
|
|
deepTree (arr) { |
|
|
|
if (Array.isArray(arr)) { |
|
|
|
return arr.map(item => { |
|
|
|
return { |
|
|
|
...item, |
|
|
|
subAgencyList: item.subAgencyList.length > 0 && this.deepTree(item.subAgencyList) || null |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
resetData() { |
|
|
|
this.formData = {}; |
|
|
|
}, |
|
|
@ -811,6 +894,9 @@ export default { |
|
|
|
padding-right: 10px; |
|
|
|
} |
|
|
|
} |
|
|
|
.width-two { |
|
|
|
width: 553px; |
|
|
|
} |
|
|
|
</style> |
|
|
|
|
|
|
|
|
|
|
|