[fix 83977] 所属单位改下拉菜单

This commit is contained in:
danshihao
2024-04-25 11:27:37 +08:00
parent 3133590be9
commit ec6282dfd8
2 changed files with 59 additions and 12 deletions
@@ -116,11 +116,11 @@
</a-col>
<a-col :span="12">
<a-form-item label="所属单位">
<j-select-depart
placeholder="请选择所属单位"
v-decorator="['selecteddeparts', validatorRules.selecteddeparts]"
:backDepart="true"
:treeOpera="true"></j-select-depart>
<a-select v-decorator="['selecteddeparts', validatorRules.selecteddeparts]" allowClear
placeholder="请选择所属单位">
<a-icon slot="suffixIcon" type="caret-down" class="select-arrow" />
<a-select-option v-for="item in departList" :key="item.id" :value="item.id">{{ item.departName }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span="12">
@@ -185,6 +185,7 @@ import { dataAcquisitionCycle, dataAcquisitionProtocol, msgType, userType } from
import { getRSAPublicKey } from '@/utils/encryption'
import { JSEncrypt } from 'jsencrypt'
import UserInfoModal from '@views/systemOverview/systemSettings/modules/UserInfoModal'
import { queryDepartTreeList } from '@api/api'
export default {
name: 'SystemSettings',
components: { UserInfoModal, CommonCard },
@@ -377,13 +378,35 @@ export default {
password: '123456',
confirmpassword: '123456',
userIdentity: '1'
}
},
departList: [] // 所属单位下拉
}
},
created () {
this.loadPage()
this.loadDepartList()
},
methods: {
// 获取部门下拉
loadDepartList () {
const flattenTree = (tree) => {
const result = []
function flatten (node) {
result.push(node)
if (Array.isArray(node.children) && node.children.length) {
node.children.forEach(child => flatten(child))
}
}
tree.forEach((node) => flatten(node))
return result
}
return queryDepartTreeList().then(res => {
if (res.success) {
const tree = res.result || []
this.departList = flattenTree(tree)
}
})
},
// 是否是默认管理员账号,不可删除
isDefaultAdmin ({ username }) {
const usernameArr = ['admin', 'admin2', 'admin3']
@@ -40,11 +40,11 @@
</a-col>
<a-col :span="12">
<a-form-model-item label="所属单位">
<j-select-depart
placeholder="请选择所属单位"
v-decorator="['selecteddeparts', validatorRules.selecteddeparts]"
:backDepart="true"
:treeOpera="true"></j-select-depart>
<a-select v-decorator="['selecteddeparts', validatorRules.selecteddeparts]" allowClear
placeholder="请选择所属单位">
<a-icon slot="suffixIcon" type="caret-down" class="select-arrow" />
<a-select-option v-for="item in departList" :key="item.id" :value="item.id">{{ item.departName }}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="12">
@@ -63,6 +63,7 @@
<script>
import { editUserInfo } from '@api/systemOverview'
import { getAction } from '@api/manage'
import { queryDepartTreeList } from '@api/api'
export default {
name: 'UserInfoModal',
data () {
@@ -78,11 +79,13 @@ export default {
userType: { rules: [{ required: true, message: '请选择用户类别' }], validateTrigger: 'change' },
selecteddeparts: { rules: [{ required: true, message: '请选择所属单位' }], validateTrigger: 'change' },
phone: { rules: [{ required: true, message: '请输入联系方式' }, { validator: this.validateMobile }], validateTrigger: 'blur' }
}
},
departList: [] // 所属单位下拉
}
},
methods: {
add () {
this.loadDepartList()
this.edit(this.modelDefault)
},
edit (record) {
@@ -91,6 +94,7 @@ export default {
this.$nextTick(() => {
this.form.setFieldsValue(this.model)
})
this.loadDepartList()
this.getUserDeparts(record.id)
},
close () {
@@ -123,6 +127,26 @@ export default {
handleCancel () {
this.close()
},
// 获取部门下拉
loadDepartList () {
const flattenTree = (tree) => {
const result = []
function flatten (node) {
result.push(node)
if (Array.isArray(node.children) && node.children.length) {
node.children.forEach(child => flatten(child))
}
}
tree.forEach((node) => flatten(node))
return result
}
return queryDepartTreeList().then(res => {
if (res.success) {
const tree = res.result || []
this.departList = flattenTree(tree)
}
})
},
// 获取用户部门
getUserDeparts (userid) {
const that = this