diff --git a/src/components.d.ts b/src/components.d.ts
index b39b99c..90f2dde 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -63,6 +63,5 @@
SystemInfo: typeof import('./components/SystemInfo/index.vue')['default']
TableContainer: typeof import('./components/TableContainer/index.vue')['default']
Trend: typeof import('./components/Trend/index.vue')['default']
- UploadMultiFiles: typeof import('./components/uploadMultiFiles/uploadMultiFiles.vue')['default']
}
}
diff --git a/src/components.d.ts b/src/components.d.ts
index b39b99c..90f2dde 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -63,6 +63,5 @@
SystemInfo: typeof import('./components/SystemInfo/index.vue')['default']
TableContainer: typeof import('./components/TableContainer/index.vue')['default']
Trend: typeof import('./components/Trend/index.vue')['default']
- UploadMultiFiles: typeof import('./components/uploadMultiFiles/uploadMultiFiles.vue')['default']
}
}
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 088cb52..733efc3 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -6,7 +6,7 @@
import lodash from 'lodash'
import type { technologyJobType } from '../person-interface'
import userListDialog from './userListDialog.vue'
-import { getUserList } from '@/api/system/user'
+import { getUserList, roleAssign } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
@@ -14,6 +14,7 @@
import { getDictByCode } from '@/api/system/dict'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
import { getPhotoUrl } from '@/api/system/tool'
+import { getRoleTreeListByUser } from '@/api/system/role'
// import showPhoto from '@/views/system/tool/showPhoto.vue'
const $route = useRoute()
const $router = useRouter()
@@ -161,8 +162,11 @@
const selectPerson = () => {
userListRef.value.initDialog()
}
+const userInfoData = ref()
// 保存选择人员信息
const confirmPerson = (row: userType) => {
+ userInfoData.value = row
+ console.log(row, '选择的人员信息')
ruleForm.value.name = row.name
ruleForm.value.account = row.account
ruleForm.value.deptId = row.deptId
@@ -506,10 +510,41 @@
? getStaffAdd({ ...ruleForm.value, certificateList: changeList.value[0].data, birthday: `${ruleForm.value.idCard.substring(6, 10)}-${ruleForm.value.idCard.substring(10, 12)}-${ruleForm.value.idCard.substring(12, 14)}` })
: getStaffupdate({ ...ruleForm.value, certificateList: changeList.value[0].data, birthday: `${ruleForm.value.idCard.substring(6, 10)}-${ruleForm.value.idCard.substring(10, 12)}-${ruleForm.value.idCard.substring(12, 14)}` })).then((res) => {
if (res.code == 200) {
- formEl?.resetFields()
- ElMessage.success('提交成功')
- resetFormData()
- $router.go(-1)
+ // formEl?.resetFields()
+ // ElMessage.success('提交成功')
+ // resetFormData()
+ // $router.go(-1)
+ // 获取当前用户角色
+ getRoleTreeListByUser(userInfoData.value.id).then((res) => {
+ console.log(res.data, '角色列表')
+ // 当前用户 角色 id
+ const roleIds: string[] = []
+ // 挑选 计量人员 角色id
+ let metering = ''
+ const data = res.data
+ data.forEach((item: any) => {
+ // 当前用户角色
+ if (item.checked) {
+ roleIds.push(item.id)
+ }
+ // 计量人员角色
+ if (item.name === '计量人员') {
+ metering = item.id
+ }
+ })
+ // 判断当前用户是否 计量人员角色
+ if (roleIds.every(item => item !== metering)) {
+ roleIds.push(metering)
+ }
+ // 设置当前用户角色
+ roleAssign(userInfoData.value.id, roleIds).then((res) => {
+ console.log('分配计量人员角色成功')
+ formEl?.resetFields()
+ ElMessage.success('提交成功')
+ resetFormData()
+ $router.go(-1)
+ })
+ })
}
})
}
diff --git a/src/components.d.ts b/src/components.d.ts
index b39b99c..90f2dde 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -63,6 +63,5 @@
SystemInfo: typeof import('./components/SystemInfo/index.vue')['default']
TableContainer: typeof import('./components/TableContainer/index.vue')['default']
Trend: typeof import('./components/Trend/index.vue')['default']
- UploadMultiFiles: typeof import('./components/uploadMultiFiles/uploadMultiFiles.vue')['default']
}
}
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 088cb52..733efc3 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -6,7 +6,7 @@
import lodash from 'lodash'
import type { technologyJobType } from '../person-interface'
import userListDialog from './userListDialog.vue'
-import { getUserList } from '@/api/system/user'
+import { getUserList, roleAssign } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
@@ -14,6 +14,7 @@
import { getDictByCode } from '@/api/system/dict'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
import { getPhotoUrl } from '@/api/system/tool'
+import { getRoleTreeListByUser } from '@/api/system/role'
// import showPhoto from '@/views/system/tool/showPhoto.vue'
const $route = useRoute()
const $router = useRouter()
@@ -161,8 +162,11 @@
const selectPerson = () => {
userListRef.value.initDialog()
}
+const userInfoData = ref()
// 保存选择人员信息
const confirmPerson = (row: userType) => {
+ userInfoData.value = row
+ console.log(row, '选择的人员信息')
ruleForm.value.name = row.name
ruleForm.value.account = row.account
ruleForm.value.deptId = row.deptId
@@ -506,10 +510,41 @@
? getStaffAdd({ ...ruleForm.value, certificateList: changeList.value[0].data, birthday: `${ruleForm.value.idCard.substring(6, 10)}-${ruleForm.value.idCard.substring(10, 12)}-${ruleForm.value.idCard.substring(12, 14)}` })
: getStaffupdate({ ...ruleForm.value, certificateList: changeList.value[0].data, birthday: `${ruleForm.value.idCard.substring(6, 10)}-${ruleForm.value.idCard.substring(10, 12)}-${ruleForm.value.idCard.substring(12, 14)}` })).then((res) => {
if (res.code == 200) {
- formEl?.resetFields()
- ElMessage.success('提交成功')
- resetFormData()
- $router.go(-1)
+ // formEl?.resetFields()
+ // ElMessage.success('提交成功')
+ // resetFormData()
+ // $router.go(-1)
+ // 获取当前用户角色
+ getRoleTreeListByUser(userInfoData.value.id).then((res) => {
+ console.log(res.data, '角色列表')
+ // 当前用户 角色 id
+ const roleIds: string[] = []
+ // 挑选 计量人员 角色id
+ let metering = ''
+ const data = res.data
+ data.forEach((item: any) => {
+ // 当前用户角色
+ if (item.checked) {
+ roleIds.push(item.id)
+ }
+ // 计量人员角色
+ if (item.name === '计量人员') {
+ metering = item.id
+ }
+ })
+ // 判断当前用户是否 计量人员角色
+ if (roleIds.every(item => item !== metering)) {
+ roleIds.push(metering)
+ }
+ // 设置当前用户角色
+ roleAssign(userInfoData.value.id, roleIds).then((res) => {
+ console.log('分配计量人员角色成功')
+ formEl?.resetFields()
+ ElMessage.success('提交成功')
+ resetFormData()
+ $router.go(-1)
+ })
+ })
}
})
}
diff --git a/src/views/measure/person/list.vue b/src/views/measure/person/list.vue
index 79c8659..ecda4cf 100644
--- a/src/views/measure/person/list.vue
+++ b/src/views/measure/person/list.vue
@@ -3,6 +3,8 @@
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus'
import type { StaffListType, StaffType } from './person-interface'
import { exportList, getStaffDelete, getStaffList, uploadList } from '@/api/measure/person'
+import { getRoleTreeListByUser } from '@/api/system/role'
+import { roleAssign } from '@/api/system/user'
// import { uploadApi } from '@/api/system/notice'
import { printJSON } from '@/utils/printUtils'
import { getDeptTreeList } from '@/api/system/dept'
@@ -104,6 +106,8 @@
// 删除
const remove = (row: StaffType) => {
+ // 当前用户id
+ const userId = row.userId as string
ElMessageBox.confirm(
`确认删除${row.name}吗?`,
'提示',
@@ -116,11 +120,41 @@
.then(() => {
getStaffDelete({ id: row.id as string }).then((res) => {
if (res.code === 200) {
- ElMessage({
- type: 'success',
- message: '删除成功',
+ // ElMessage({
+ // type: 'success',
+ // message: '删除成功',
+ // })
+ // getList()
+ // 删除用户的 计量人员 角色
+ // 获取当前用户角色
+ getRoleTreeListByUser(userId).then((res) => {
+ console.log(res.data, '角色列表')
+ // 当前用户 角色 id
+ let roleIds: string[] = []
+ // 挑选 计量人员 角色id
+ let metering = ''
+ const data = res.data
+ data.forEach((item: any) => {
+ // 当前用户角色
+ if (item.checked) {
+ roleIds.push(item.id)
+ }
+ // 计量人员角色
+ if (item.name === '计量人员') {
+ metering = item.id
+ }
+ })
+ roleIds = roleIds.filter(item => item !== metering)
+ // 设置当前用户角色
+ roleAssign(userId, roleIds).then((res) => {
+ console.log('删除计量人员角色成功')
+ ElMessage({
+ type: 'success',
+ message: '删除成功',
+ })
+ getList()
+ })
})
- getList()
}
})
})
@@ -308,7 +342,7 @@
详情
-
+
删除
diff --git a/src/components.d.ts b/src/components.d.ts
index b39b99c..90f2dde 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -63,6 +63,5 @@
SystemInfo: typeof import('./components/SystemInfo/index.vue')['default']
TableContainer: typeof import('./components/TableContainer/index.vue')['default']
Trend: typeof import('./components/Trend/index.vue')['default']
- UploadMultiFiles: typeof import('./components/uploadMultiFiles/uploadMultiFiles.vue')['default']
}
}
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 088cb52..733efc3 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -6,7 +6,7 @@
import lodash from 'lodash'
import type { technologyJobType } from '../person-interface'
import userListDialog from './userListDialog.vue'
-import { getUserList } from '@/api/system/user'
+import { getUserList, roleAssign } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
@@ -14,6 +14,7 @@
import { getDictByCode } from '@/api/system/dict'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
import { getPhotoUrl } from '@/api/system/tool'
+import { getRoleTreeListByUser } from '@/api/system/role'
// import showPhoto from '@/views/system/tool/showPhoto.vue'
const $route = useRoute()
const $router = useRouter()
@@ -161,8 +162,11 @@
const selectPerson = () => {
userListRef.value.initDialog()
}
+const userInfoData = ref()
// 保存选择人员信息
const confirmPerson = (row: userType) => {
+ userInfoData.value = row
+ console.log(row, '选择的人员信息')
ruleForm.value.name = row.name
ruleForm.value.account = row.account
ruleForm.value.deptId = row.deptId
@@ -506,10 +510,41 @@
? getStaffAdd({ ...ruleForm.value, certificateList: changeList.value[0].data, birthday: `${ruleForm.value.idCard.substring(6, 10)}-${ruleForm.value.idCard.substring(10, 12)}-${ruleForm.value.idCard.substring(12, 14)}` })
: getStaffupdate({ ...ruleForm.value, certificateList: changeList.value[0].data, birthday: `${ruleForm.value.idCard.substring(6, 10)}-${ruleForm.value.idCard.substring(10, 12)}-${ruleForm.value.idCard.substring(12, 14)}` })).then((res) => {
if (res.code == 200) {
- formEl?.resetFields()
- ElMessage.success('提交成功')
- resetFormData()
- $router.go(-1)
+ // formEl?.resetFields()
+ // ElMessage.success('提交成功')
+ // resetFormData()
+ // $router.go(-1)
+ // 获取当前用户角色
+ getRoleTreeListByUser(userInfoData.value.id).then((res) => {
+ console.log(res.data, '角色列表')
+ // 当前用户 角色 id
+ const roleIds: string[] = []
+ // 挑选 计量人员 角色id
+ let metering = ''
+ const data = res.data
+ data.forEach((item: any) => {
+ // 当前用户角色
+ if (item.checked) {
+ roleIds.push(item.id)
+ }
+ // 计量人员角色
+ if (item.name === '计量人员') {
+ metering = item.id
+ }
+ })
+ // 判断当前用户是否 计量人员角色
+ if (roleIds.every(item => item !== metering)) {
+ roleIds.push(metering)
+ }
+ // 设置当前用户角色
+ roleAssign(userInfoData.value.id, roleIds).then((res) => {
+ console.log('分配计量人员角色成功')
+ formEl?.resetFields()
+ ElMessage.success('提交成功')
+ resetFormData()
+ $router.go(-1)
+ })
+ })
}
})
}
diff --git a/src/views/measure/person/list.vue b/src/views/measure/person/list.vue
index 79c8659..ecda4cf 100644
--- a/src/views/measure/person/list.vue
+++ b/src/views/measure/person/list.vue
@@ -3,6 +3,8 @@
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus'
import type { StaffListType, StaffType } from './person-interface'
import { exportList, getStaffDelete, getStaffList, uploadList } from '@/api/measure/person'
+import { getRoleTreeListByUser } from '@/api/system/role'
+import { roleAssign } from '@/api/system/user'
// import { uploadApi } from '@/api/system/notice'
import { printJSON } from '@/utils/printUtils'
import { getDeptTreeList } from '@/api/system/dept'
@@ -104,6 +106,8 @@
// 删除
const remove = (row: StaffType) => {
+ // 当前用户id
+ const userId = row.userId as string
ElMessageBox.confirm(
`确认删除${row.name}吗?`,
'提示',
@@ -116,11 +120,41 @@
.then(() => {
getStaffDelete({ id: row.id as string }).then((res) => {
if (res.code === 200) {
- ElMessage({
- type: 'success',
- message: '删除成功',
+ // ElMessage({
+ // type: 'success',
+ // message: '删除成功',
+ // })
+ // getList()
+ // 删除用户的 计量人员 角色
+ // 获取当前用户角色
+ getRoleTreeListByUser(userId).then((res) => {
+ console.log(res.data, '角色列表')
+ // 当前用户 角色 id
+ let roleIds: string[] = []
+ // 挑选 计量人员 角色id
+ let metering = ''
+ const data = res.data
+ data.forEach((item: any) => {
+ // 当前用户角色
+ if (item.checked) {
+ roleIds.push(item.id)
+ }
+ // 计量人员角色
+ if (item.name === '计量人员') {
+ metering = item.id
+ }
+ })
+ roleIds = roleIds.filter(item => item !== metering)
+ // 设置当前用户角色
+ roleAssign(userId, roleIds).then((res) => {
+ console.log('删除计量人员角色成功')
+ ElMessage({
+ type: 'success',
+ message: '删除成功',
+ })
+ getList()
+ })
})
- getList()
}
})
})
@@ -308,7 +342,7 @@
详情
-
+
删除
diff --git a/src/views/measure/person/person-interface.ts b/src/views/measure/person/person-interface.ts
index 1b92963..54caa66 100644
--- a/src/views/measure/person/person-interface.ts
+++ b/src/views/measure/person/person-interface.ts
@@ -1,4 +1,4 @@
-// 计量人员列表查询参数类型
+// 计量人员列表查询参数类型string
export interface StaffListType {
staffNo: string // 人员编号
name: string // 姓名
@@ -14,6 +14,7 @@
}
// 计量人员类型
export interface StaffType {
+ userId?: string
account: string
administrationJob: string
birthday: string
diff --git a/src/components.d.ts b/src/components.d.ts
index b39b99c..90f2dde 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -63,6 +63,5 @@
SystemInfo: typeof import('./components/SystemInfo/index.vue')['default']
TableContainer: typeof import('./components/TableContainer/index.vue')['default']
Trend: typeof import('./components/Trend/index.vue')['default']
- UploadMultiFiles: typeof import('./components/uploadMultiFiles/uploadMultiFiles.vue')['default']
}
}
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 088cb52..733efc3 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -6,7 +6,7 @@
import lodash from 'lodash'
import type { technologyJobType } from '../person-interface'
import userListDialog from './userListDialog.vue'
-import { getUserList } from '@/api/system/user'
+import { getUserList, roleAssign } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
@@ -14,6 +14,7 @@
import { getDictByCode } from '@/api/system/dict'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
import { getPhotoUrl } from '@/api/system/tool'
+import { getRoleTreeListByUser } from '@/api/system/role'
// import showPhoto from '@/views/system/tool/showPhoto.vue'
const $route = useRoute()
const $router = useRouter()
@@ -161,8 +162,11 @@
const selectPerson = () => {
userListRef.value.initDialog()
}
+const userInfoData = ref()
// 保存选择人员信息
const confirmPerson = (row: userType) => {
+ userInfoData.value = row
+ console.log(row, '选择的人员信息')
ruleForm.value.name = row.name
ruleForm.value.account = row.account
ruleForm.value.deptId = row.deptId
@@ -506,10 +510,41 @@
? getStaffAdd({ ...ruleForm.value, certificateList: changeList.value[0].data, birthday: `${ruleForm.value.idCard.substring(6, 10)}-${ruleForm.value.idCard.substring(10, 12)}-${ruleForm.value.idCard.substring(12, 14)}` })
: getStaffupdate({ ...ruleForm.value, certificateList: changeList.value[0].data, birthday: `${ruleForm.value.idCard.substring(6, 10)}-${ruleForm.value.idCard.substring(10, 12)}-${ruleForm.value.idCard.substring(12, 14)}` })).then((res) => {
if (res.code == 200) {
- formEl?.resetFields()
- ElMessage.success('提交成功')
- resetFormData()
- $router.go(-1)
+ // formEl?.resetFields()
+ // ElMessage.success('提交成功')
+ // resetFormData()
+ // $router.go(-1)
+ // 获取当前用户角色
+ getRoleTreeListByUser(userInfoData.value.id).then((res) => {
+ console.log(res.data, '角色列表')
+ // 当前用户 角色 id
+ const roleIds: string[] = []
+ // 挑选 计量人员 角色id
+ let metering = ''
+ const data = res.data
+ data.forEach((item: any) => {
+ // 当前用户角色
+ if (item.checked) {
+ roleIds.push(item.id)
+ }
+ // 计量人员角色
+ if (item.name === '计量人员') {
+ metering = item.id
+ }
+ })
+ // 判断当前用户是否 计量人员角色
+ if (roleIds.every(item => item !== metering)) {
+ roleIds.push(metering)
+ }
+ // 设置当前用户角色
+ roleAssign(userInfoData.value.id, roleIds).then((res) => {
+ console.log('分配计量人员角色成功')
+ formEl?.resetFields()
+ ElMessage.success('提交成功')
+ resetFormData()
+ $router.go(-1)
+ })
+ })
}
})
}
diff --git a/src/views/measure/person/list.vue b/src/views/measure/person/list.vue
index 79c8659..ecda4cf 100644
--- a/src/views/measure/person/list.vue
+++ b/src/views/measure/person/list.vue
@@ -3,6 +3,8 @@
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus'
import type { StaffListType, StaffType } from './person-interface'
import { exportList, getStaffDelete, getStaffList, uploadList } from '@/api/measure/person'
+import { getRoleTreeListByUser } from '@/api/system/role'
+import { roleAssign } from '@/api/system/user'
// import { uploadApi } from '@/api/system/notice'
import { printJSON } from '@/utils/printUtils'
import { getDeptTreeList } from '@/api/system/dept'
@@ -104,6 +106,8 @@
// 删除
const remove = (row: StaffType) => {
+ // 当前用户id
+ const userId = row.userId as string
ElMessageBox.confirm(
`确认删除${row.name}吗?`,
'提示',
@@ -116,11 +120,41 @@
.then(() => {
getStaffDelete({ id: row.id as string }).then((res) => {
if (res.code === 200) {
- ElMessage({
- type: 'success',
- message: '删除成功',
+ // ElMessage({
+ // type: 'success',
+ // message: '删除成功',
+ // })
+ // getList()
+ // 删除用户的 计量人员 角色
+ // 获取当前用户角色
+ getRoleTreeListByUser(userId).then((res) => {
+ console.log(res.data, '角色列表')
+ // 当前用户 角色 id
+ let roleIds: string[] = []
+ // 挑选 计量人员 角色id
+ let metering = ''
+ const data = res.data
+ data.forEach((item: any) => {
+ // 当前用户角色
+ if (item.checked) {
+ roleIds.push(item.id)
+ }
+ // 计量人员角色
+ if (item.name === '计量人员') {
+ metering = item.id
+ }
+ })
+ roleIds = roleIds.filter(item => item !== metering)
+ // 设置当前用户角色
+ roleAssign(userId, roleIds).then((res) => {
+ console.log('删除计量人员角色成功')
+ ElMessage({
+ type: 'success',
+ message: '删除成功',
+ })
+ getList()
+ })
})
- getList()
}
})
})
@@ -308,7 +342,7 @@
详情
-
+
删除
diff --git a/src/views/measure/person/person-interface.ts b/src/views/measure/person/person-interface.ts
index 1b92963..54caa66 100644
--- a/src/views/measure/person/person-interface.ts
+++ b/src/views/measure/person/person-interface.ts
@@ -1,4 +1,4 @@
-// 计量人员列表查询参数类型
+// 计量人员列表查询参数类型string
export interface StaffListType {
staffNo: string // 人员编号
name: string // 姓名
@@ -14,6 +14,7 @@
}
// 计量人员类型
export interface StaffType {
+ userId?: string
account: string
administrationJob: string
birthday: string
diff --git a/src/views/system/user/roleAssignment.vue b/src/views/system/user/roleAssignment.vue
index be67b63..f262b91 100644
--- a/src/views/system/user/roleAssignment.vue
+++ b/src/views/system/user/roleAssignment.vue
@@ -32,6 +32,8 @@
// 获取角色列表
const fetchRoleTree = () => {
getRoleTreeListByUser(userId.value).then((response) => {
+ // 过滤掉计量人员角色
+ response.data = response.data.filter((item: any) => item.name !== '计量人员')
if (response.data) {
roleTreeList.value = toTreeList(response.data)
// 获取展开项和选中项
diff --git a/src/components.d.ts b/src/components.d.ts
index b39b99c..90f2dde 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -63,6 +63,5 @@
SystemInfo: typeof import('./components/SystemInfo/index.vue')['default']
TableContainer: typeof import('./components/TableContainer/index.vue')['default']
Trend: typeof import('./components/Trend/index.vue')['default']
- UploadMultiFiles: typeof import('./components/uploadMultiFiles/uploadMultiFiles.vue')['default']
}
}
diff --git a/src/views/measure/person/components/addPerson.vue b/src/views/measure/person/components/addPerson.vue
index 088cb52..733efc3 100644
--- a/src/views/measure/person/components/addPerson.vue
+++ b/src/views/measure/person/components/addPerson.vue
@@ -6,7 +6,7 @@
import lodash from 'lodash'
import type { technologyJobType } from '../person-interface'
import userListDialog from './userListDialog.vue'
-import { getUserList } from '@/api/system/user'
+import { getUserList, roleAssign } from '@/api/system/user'
import { getDeptTreeList } from '@/api/system/dept'
import { UploadFile } from '@/api/measure/file'
import { toTreeList } from '@/utils/structure'
@@ -14,6 +14,7 @@
import { getDictByCode } from '@/api/system/dict'
import { getStaffAdd, getStaffDetail, getStaffupdate } from '@/api/measure/person'
import { getPhotoUrl } from '@/api/system/tool'
+import { getRoleTreeListByUser } from '@/api/system/role'
// import showPhoto from '@/views/system/tool/showPhoto.vue'
const $route = useRoute()
const $router = useRouter()
@@ -161,8 +162,11 @@
const selectPerson = () => {
userListRef.value.initDialog()
}
+const userInfoData = ref()
// 保存选择人员信息
const confirmPerson = (row: userType) => {
+ userInfoData.value = row
+ console.log(row, '选择的人员信息')
ruleForm.value.name = row.name
ruleForm.value.account = row.account
ruleForm.value.deptId = row.deptId
@@ -506,10 +510,41 @@
? getStaffAdd({ ...ruleForm.value, certificateList: changeList.value[0].data, birthday: `${ruleForm.value.idCard.substring(6, 10)}-${ruleForm.value.idCard.substring(10, 12)}-${ruleForm.value.idCard.substring(12, 14)}` })
: getStaffupdate({ ...ruleForm.value, certificateList: changeList.value[0].data, birthday: `${ruleForm.value.idCard.substring(6, 10)}-${ruleForm.value.idCard.substring(10, 12)}-${ruleForm.value.idCard.substring(12, 14)}` })).then((res) => {
if (res.code == 200) {
- formEl?.resetFields()
- ElMessage.success('提交成功')
- resetFormData()
- $router.go(-1)
+ // formEl?.resetFields()
+ // ElMessage.success('提交成功')
+ // resetFormData()
+ // $router.go(-1)
+ // 获取当前用户角色
+ getRoleTreeListByUser(userInfoData.value.id).then((res) => {
+ console.log(res.data, '角色列表')
+ // 当前用户 角色 id
+ const roleIds: string[] = []
+ // 挑选 计量人员 角色id
+ let metering = ''
+ const data = res.data
+ data.forEach((item: any) => {
+ // 当前用户角色
+ if (item.checked) {
+ roleIds.push(item.id)
+ }
+ // 计量人员角色
+ if (item.name === '计量人员') {
+ metering = item.id
+ }
+ })
+ // 判断当前用户是否 计量人员角色
+ if (roleIds.every(item => item !== metering)) {
+ roleIds.push(metering)
+ }
+ // 设置当前用户角色
+ roleAssign(userInfoData.value.id, roleIds).then((res) => {
+ console.log('分配计量人员角色成功')
+ formEl?.resetFields()
+ ElMessage.success('提交成功')
+ resetFormData()
+ $router.go(-1)
+ })
+ })
}
})
}
diff --git a/src/views/measure/person/list.vue b/src/views/measure/person/list.vue
index 79c8659..ecda4cf 100644
--- a/src/views/measure/person/list.vue
+++ b/src/views/measure/person/list.vue
@@ -3,6 +3,8 @@
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus'
import type { StaffListType, StaffType } from './person-interface'
import { exportList, getStaffDelete, getStaffList, uploadList } from '@/api/measure/person'
+import { getRoleTreeListByUser } from '@/api/system/role'
+import { roleAssign } from '@/api/system/user'
// import { uploadApi } from '@/api/system/notice'
import { printJSON } from '@/utils/printUtils'
import { getDeptTreeList } from '@/api/system/dept'
@@ -104,6 +106,8 @@
// 删除
const remove = (row: StaffType) => {
+ // 当前用户id
+ const userId = row.userId as string
ElMessageBox.confirm(
`确认删除${row.name}吗?`,
'提示',
@@ -116,11 +120,41 @@
.then(() => {
getStaffDelete({ id: row.id as string }).then((res) => {
if (res.code === 200) {
- ElMessage({
- type: 'success',
- message: '删除成功',
+ // ElMessage({
+ // type: 'success',
+ // message: '删除成功',
+ // })
+ // getList()
+ // 删除用户的 计量人员 角色
+ // 获取当前用户角色
+ getRoleTreeListByUser(userId).then((res) => {
+ console.log(res.data, '角色列表')
+ // 当前用户 角色 id
+ let roleIds: string[] = []
+ // 挑选 计量人员 角色id
+ let metering = ''
+ const data = res.data
+ data.forEach((item: any) => {
+ // 当前用户角色
+ if (item.checked) {
+ roleIds.push(item.id)
+ }
+ // 计量人员角色
+ if (item.name === '计量人员') {
+ metering = item.id
+ }
+ })
+ roleIds = roleIds.filter(item => item !== metering)
+ // 设置当前用户角色
+ roleAssign(userId, roleIds).then((res) => {
+ console.log('删除计量人员角色成功')
+ ElMessage({
+ type: 'success',
+ message: '删除成功',
+ })
+ getList()
+ })
})
- getList()
}
})
})
@@ -308,7 +342,7 @@
详情
-
+
删除
diff --git a/src/views/measure/person/person-interface.ts b/src/views/measure/person/person-interface.ts
index 1b92963..54caa66 100644
--- a/src/views/measure/person/person-interface.ts
+++ b/src/views/measure/person/person-interface.ts
@@ -1,4 +1,4 @@
-// 计量人员列表查询参数类型
+// 计量人员列表查询参数类型string
export interface StaffListType {
staffNo: string // 人员编号
name: string // 姓名
@@ -14,6 +14,7 @@
}
// 计量人员类型
export interface StaffType {
+ userId?: string
account: string
administrationJob: string
birthday: string
diff --git a/src/views/system/user/roleAssignment.vue b/src/views/system/user/roleAssignment.vue
index be67b63..f262b91 100644
--- a/src/views/system/user/roleAssignment.vue
+++ b/src/views/system/user/roleAssignment.vue
@@ -32,6 +32,8 @@
// 获取角色列表
const fetchRoleTree = () => {
getRoleTreeListByUser(userId.value).then((response) => {
+ // 过滤掉计量人员角色
+ response.data = response.data.filter((item: any) => item.name !== '计量人员')
if (response.data) {
roleTreeList.value = toTreeList(response.data)
// 获取展开项和选中项
diff --git a/src/views/system/user/userAdd.vue b/src/views/system/user/userAdd.vue
index 2e314c9..5387580 100644
--- a/src/views/system/user/userAdd.vue
+++ b/src/views/system/user/userAdd.vue
@@ -78,6 +78,8 @@
// 加载角色树形下拉菜单
const fetchRoleTree = () => {
getRoleTreeList().then((res) => {
+ // 过滤掉计量人员角色
+ res.data.list = res.data.list.filter((item: any) => item.name !== '计量人员')
if (res.data.list) { // 将列表转树结构
roleTreeList.value = toTreeList(res.data.list, '0', true)
}