|
|
@ -30,7 +30,12 @@ |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="12" :offset="0"> |
|
|
|
<el-col :span="12" :offset="0"> |
|
|
|
<el-form-item label="负责人" prop="leaderUserId"> |
|
|
|
<el-form-item label="负责人" prop="leaderUserId"> |
|
|
|
<el-select v-model="formData.leaderUserId" clearable placeholder="请输入负责人"> |
|
|
|
<el-select |
|
|
|
|
|
|
|
v-model="formData.leaderUserId" |
|
|
|
|
|
|
|
clearable |
|
|
|
|
|
|
|
filterable |
|
|
|
|
|
|
|
placeholder="请输入负责人" |
|
|
|
|
|
|
|
> |
|
|
|
<el-option |
|
|
|
<el-option |
|
|
|
v-for="item in employeeOptions" |
|
|
|
v-for="item in employeeOptions" |
|
|
|
:key="item.id" |
|
|
|
:key="item.id" |
|
|
@ -56,6 +61,24 @@ |
|
|
|
<el-input-number v-model="formData.sort" :min="0" /> |
|
|
|
<el-input-number v-model="formData.sort" :min="0" /> |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-col> |
|
|
|
|
|
|
|
<el-col :span="12" :offset="0"> |
|
|
|
|
|
|
|
<el-form-item label="业务系统" prop="instanceId"> |
|
|
|
|
|
|
|
<el-select |
|
|
|
|
|
|
|
v-model="formData.instanceId" |
|
|
|
|
|
|
|
placeholder="选择主业务系统" |
|
|
|
|
|
|
|
clearable |
|
|
|
|
|
|
|
filterable |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
<el-option |
|
|
|
|
|
|
|
v-for="item in instanceIdOptions" |
|
|
|
|
|
|
|
:key="item.instanceId" |
|
|
|
|
|
|
|
:label="item.instanceName" |
|
|
|
|
|
|
|
:disabled="item.status == 1" |
|
|
|
|
|
|
|
:value="item.instanceId" |
|
|
|
|
|
|
|
/> |
|
|
|
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="24" :offset="0"> |
|
|
|
<el-col :span="24" :offset="0"> |
|
|
@ -76,6 +99,7 @@ import { defaultProps, handleTree } from '@/utils/tree' |
|
|
|
import * as DeptApi from '@/api/system/dept' |
|
|
|
import * as DeptApi from '@/api/system/dept' |
|
|
|
import { getEmployeeSimpleList } from '@/api/pers/employee' |
|
|
|
import { getEmployeeSimpleList } from '@/api/pers/employee' |
|
|
|
import { CommonStatusEnum } from '@/utils/constants' |
|
|
|
import { CommonStatusEnum } from '@/utils/constants' |
|
|
|
|
|
|
|
import { getSimpleAppList } from '@/api/system/app' |
|
|
|
|
|
|
|
|
|
|
|
const { t } = useI18n() // 国际化 |
|
|
|
const { t } = useI18n() // 国际化 |
|
|
|
const message = useMessage() // 消息弹窗 |
|
|
|
const message = useMessage() // 消息弹窗 |
|
|
@ -84,15 +108,7 @@ const dialogVisible = ref(false) // 弹窗的是否展示 |
|
|
|
const dialogTitle = ref('') // 弹窗的标题 |
|
|
|
const dialogTitle = ref('') // 弹窗的标题 |
|
|
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 |
|
|
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 |
|
|
|
const formType = ref('') // 表单的类型:create - 新增;update - 修改 |
|
|
|
const formType = ref('') // 表单的类型:create - 新增;update - 修改 |
|
|
|
const formData = ref({ |
|
|
|
const formData = ref<any>({}) |
|
|
|
id: undefined, |
|
|
|
|
|
|
|
parentId: undefined, |
|
|
|
|
|
|
|
name: undefined, |
|
|
|
|
|
|
|
sort: 1, |
|
|
|
|
|
|
|
leaderUserId: undefined, |
|
|
|
|
|
|
|
status: CommonStatusEnum.ENABLE, |
|
|
|
|
|
|
|
remark: undefined |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
const formRules = reactive<any>({ |
|
|
|
const formRules = reactive<any>({ |
|
|
|
parentId: [{ required: true, message: '上级部门不能为空', trigger: 'blur' }], |
|
|
|
parentId: [{ required: true, message: '上级部门不能为空', trigger: 'blur' }], |
|
|
|
name: [{ required: true, message: '部门名称不能为空', trigger: 'blur' }], |
|
|
|
name: [{ required: true, message: '部门名称不能为空', trigger: 'blur' }], |
|
|
@ -106,6 +122,7 @@ const formRules = reactive<any>({ |
|
|
|
const formRef = ref() // 表单 Ref |
|
|
|
const formRef = ref() // 表单 Ref |
|
|
|
const deptTree = ref() // 树形结构 |
|
|
|
const deptTree = ref() // 树形结构 |
|
|
|
const employeeOptions = ref<any>([]) // 用户列表 |
|
|
|
const employeeOptions = ref<any>([]) // 用户列表 |
|
|
|
|
|
|
|
const instanceIdOptions = ref<any>([]) // 实例ids |
|
|
|
|
|
|
|
|
|
|
|
/** 打开弹窗 */ |
|
|
|
/** 打开弹窗 */ |
|
|
|
const open = async (type: string, id?: number) => { |
|
|
|
const open = async (type: string, id?: number) => { |
|
|
@ -118,6 +135,7 @@ const open = async (type: string, id?: number) => { |
|
|
|
formLoading.value = true |
|
|
|
formLoading.value = true |
|
|
|
try { |
|
|
|
try { |
|
|
|
formData.value = await DeptApi.getDept(id) |
|
|
|
formData.value = await DeptApi.getDept(id) |
|
|
|
|
|
|
|
formData.value.remark = formData.value.remark || '' |
|
|
|
} finally { |
|
|
|
} finally { |
|
|
|
formLoading.value = false |
|
|
|
formLoading.value = false |
|
|
|
} |
|
|
|
} |
|
|
@ -126,6 +144,10 @@ const open = async (type: string, id?: number) => { |
|
|
|
getEmployeeSimpleList().then((data) => { |
|
|
|
getEmployeeSimpleList().then((data) => { |
|
|
|
employeeOptions.value = data |
|
|
|
employeeOptions.value = data |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
//实例 |
|
|
|
|
|
|
|
getSimpleAppList().then((data) => { |
|
|
|
|
|
|
|
instanceIdOptions.value = data |
|
|
|
|
|
|
|
}) |
|
|
|
// 获得部门树 |
|
|
|
// 获得部门树 |
|
|
|
await getTree() |
|
|
|
await getTree() |
|
|
|
} |
|
|
|
} |
|
|
@ -166,7 +188,8 @@ const resetForm = () => { |
|
|
|
sort: 1, |
|
|
|
sort: 1, |
|
|
|
leaderUserId: undefined, |
|
|
|
leaderUserId: undefined, |
|
|
|
status: CommonStatusEnum.ENABLE, |
|
|
|
status: CommonStatusEnum.ENABLE, |
|
|
|
remark: undefined |
|
|
|
remark: undefined, |
|
|
|
|
|
|
|
instanceId: undefined |
|
|
|
} |
|
|
|
} |
|
|
|
formRef.value?.resetFields() |
|
|
|
formRef.value?.resetFields() |
|
|
|
} |
|
|
|
} |
|
|
@ -174,7 +197,7 @@ const resetForm = () => { |
|
|
|
/** 获得部门树 */ |
|
|
|
/** 获得部门树 */ |
|
|
|
const getTree = async () => { |
|
|
|
const getTree = async () => { |
|
|
|
deptTree.value = [] |
|
|
|
deptTree.value = [] |
|
|
|
const data = await DeptApi.getSimpleDeptList() |
|
|
|
const data = await DeptApi.getSimpleDeptList({ allFlag: false }) |
|
|
|
let dept: Tree = { id: 0, name: '顶级部门', children: [] } |
|
|
|
let dept: Tree = { id: 0, name: '顶级部门', children: [] } |
|
|
|
dept.children = handleTree(data) |
|
|
|
dept.children = handleTree(data) |
|
|
|
deptTree.value.push(dept) |
|
|
|
deptTree.value.push(dept) |
|
|
|