|
|
@ -1,38 +1,70 @@ |
|
|
|
<template> |
|
|
|
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('update')" :close-on-click-modal="false" :close-on-press-escape="false"> |
|
|
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px"> |
|
|
|
<el-form-item prop="name" :label="$t('dept.name')"> |
|
|
|
<el-input v-model="dataForm.name" :placeholder="$t('dept.name')"></el-input> |
|
|
|
<el-dialog :visible.sync="visible" |
|
|
|
:title="!dataForm.id ? $t('add') : $t('update')" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:close-on-press-escape="false"> |
|
|
|
<el-form :model="dataForm" |
|
|
|
:rules="dataRule" |
|
|
|
ref="dataForm" |
|
|
|
@keyup.enter.native="dataFormSubmitHandle()" |
|
|
|
label-width="120px"> |
|
|
|
<el-form-item prop="name" |
|
|
|
:label="$t('dept.name')"> |
|
|
|
<el-input v-model="dataForm.name" |
|
|
|
:placeholder="$t('dept.name')"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="parentName" :label="$t('dept.parentName')" class="dept-list"> |
|
|
|
<el-popover v-model="deptListVisible" ref="deptListPopover" placement="bottom-start" trigger="click"> |
|
|
|
<el-tree |
|
|
|
:data="deptList" |
|
|
|
:props="{ label: 'name', children: 'children' }" |
|
|
|
node-key="id" |
|
|
|
ref="deptListTree" |
|
|
|
:highlight-current="true" |
|
|
|
:expand-on-click-node="false" |
|
|
|
accordion |
|
|
|
@current-change="deptListTreeCurrentChangeHandle"> |
|
|
|
<el-form-item prop="parentName" |
|
|
|
:label="$t('dept.parentName')" |
|
|
|
class="dept-list"> |
|
|
|
<el-popover v-model="deptListVisible" |
|
|
|
ref="deptListPopover" |
|
|
|
placement="bottom-start" |
|
|
|
trigger="click"> |
|
|
|
<el-tree :data="deptList" |
|
|
|
:props="{ label: 'name', children: 'children' }" |
|
|
|
node-key="id" |
|
|
|
ref="deptListTree" |
|
|
|
:highlight-current="true" |
|
|
|
:expand-on-click-node="false" |
|
|
|
accordion |
|
|
|
@current-change="deptListTreeCurrentChangeHandle"> |
|
|
|
</el-tree> |
|
|
|
</el-popover> |
|
|
|
<el-input v-model="dataForm.parentName" v-popover:deptListPopover :readonly="true" :placeholder="$t('dept.parentName')"> |
|
|
|
<i |
|
|
|
v-if="$store.state.user.superAdmin === 1 && dataForm.pid !== '0'" |
|
|
|
slot="suffix" |
|
|
|
@click.stop="deptListTreeSetDefaultHandle()" |
|
|
|
class="el-icon-circle-close el-input__icon"> |
|
|
|
<el-input v-model="dataForm.parentName" |
|
|
|
v-popover:deptListPopover |
|
|
|
:readonly="true" |
|
|
|
:placeholder="$t('dept.parentName')"> |
|
|
|
<i v-if="$store.state.user.superAdmin === 1 && dataForm.pid !== '0'" |
|
|
|
slot="suffix" |
|
|
|
@click.stop="deptListTreeSetDefaultHandle()" |
|
|
|
class="el-icon-circle-close el-input__icon"> |
|
|
|
</i> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="sort" :label="$t('dept.sort')"> |
|
|
|
<el-input-number v-model="dataForm.sort" controls-position="right" :min="0" :label="$t('dept.sort')"></el-input-number> |
|
|
|
<el-form-item label="机构类型" |
|
|
|
prop="streetId"> |
|
|
|
<el-select v-model="dataForm.typeKey" |
|
|
|
@change="changeOrgType" |
|
|
|
placeholder="街道类型"> |
|
|
|
<el-option v-for="item in secondOrgDictList" |
|
|
|
:key="item.dictValue" |
|
|
|
:label="item.dictName" |
|
|
|
:value="item.dictValue"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="sort" |
|
|
|
:label="$t('dept.sort')"> |
|
|
|
<el-input-number v-model="dataForm.sort" |
|
|
|
controls-position="right" |
|
|
|
:min="0" |
|
|
|
:label="$t('dept.sort')"></el-input-number> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<template slot="footer"> |
|
|
|
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> |
|
|
|
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> |
|
|
|
<el-button type="primary" |
|
|
|
@click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> |
|
|
|
</template> |
|
|
|
</el-dialog> |
|
|
|
</template> |
|
|
@ -50,8 +82,11 @@ export default { |
|
|
|
name: '', |
|
|
|
pid: '', |
|
|
|
parentName: '', |
|
|
|
sort: 0 |
|
|
|
} |
|
|
|
sort: 0, |
|
|
|
typeKey: '', |
|
|
|
typeName: '' |
|
|
|
}, |
|
|
|
secondOrgDictList: [] |
|
|
|
} |
|
|
|
}, |
|
|
|
computed: { |
|
|
@ -79,6 +114,11 @@ export default { |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
this.getSecondOrgDicList() |
|
|
|
}, |
|
|
|
// 改变机构类型 |
|
|
|
changeOrgType (item) { |
|
|
|
this.typeKey = item |
|
|
|
}, |
|
|
|
// 获取部门列表 |
|
|
|
getDeptList () { |
|
|
@ -87,7 +127,16 @@ export default { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} |
|
|
|
this.deptList = res.data |
|
|
|
}).catch(() => {}) |
|
|
|
}).catch(() => { }) |
|
|
|
}, |
|
|
|
// 获取二级党委字典列表 |
|
|
|
getSecondOrgDicList () { |
|
|
|
this.$http.get(`/sys/dict/listSimple/org_type`).then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} |
|
|
|
this.secondOrgDictList = res.data |
|
|
|
}).catch(() => { }) |
|
|
|
}, |
|
|
|
// 获取信息 |
|
|
|
getInfo () { |
|
|
@ -103,7 +152,7 @@ export default { |
|
|
|
return this.deptListTreeSetDefaultHandle() |
|
|
|
} |
|
|
|
this.$refs.deptListTree.setCurrentKey(this.dataForm.pid) |
|
|
|
}).catch(() => {}) |
|
|
|
}).catch(() => { }) |
|
|
|
}, |
|
|
|
// 上级部门树, 设置默认值 |
|
|
|
deptListTreeSetDefaultHandle () { |
|
|
@ -135,7 +184,7 @@ export default { |
|
|
|
this.$emit('refreshDataList') |
|
|
|
} |
|
|
|
}) |
|
|
|
}).catch(() => {}) |
|
|
|
}).catch(() => { }) |
|
|
|
}) |
|
|
|
}, 1000, { 'leading': true, 'trailing': false }) |
|
|
|
} |
|
|
|