Browse Source

Merge branch 'refs/heads/milestone-20250711-金币前端二期' into lihui/feature-20250711103624-金币二期

# Conflicts:
#	.env.development
zhangrenyuan/feature-20250714163943-金币前端二期
lihui 4 weeks ago
parent
commit
93d5b1aef0
  1. 2
      .env.development
  2. 77
      src/views/permissions/permission.vue

2
.env.development

@ -1,4 +1,4 @@
VITE_API_BASE='https://hwjb.homilychart.com/dev/admin' VITE_API_BASE='https://hwjb.homilychart.com/dev/admin'
# VITE_API_BASE='http://192.168.9.52:8081/'
# VITE_API_BASE='http://192.168.9.28:8081/'
VITE_UPLOAD_URL=http://39.101.133.168:8828/hljw/api/aws/upload VITE_UPLOAD_URL=http://39.101.133.168:8828/hljw/api/aws/upload

77
src/views/permissions/permission.vue

@ -81,7 +81,22 @@ const getAdminData = async function () {
console.log('请求失败', error) console.log('请求失败', error)
} }
} }
<<<<<<< HEAD
const viewRole =ref([])
const getRolePermission = async function(){
const result = await request({
url: '/menu/tree',
data: {
"id":adminData.value.roleId
}
})
viewRole.value = collectIds(result.data)
console.log('result111',viewRole.value);
}
=======
>>>>>>> zhangrenyuan/feature-20250714163943-金币前端二期
// //
const permissionEditObj = ref({ const permissionEditObj = ref({
checkedKeys: [], checkedKeys: [],
@ -391,16 +406,15 @@ const getRoles = async function () {
// //
const openUserEditVisible = function () { const openUserEditVisible = function () {
getRoles()
userEditVisible.value = true userEditVisible.value = true
} }
// //
const closeUserEditVisible = function () { const closeUserEditVisible = function () {
userEditVisible.value = false userEditVisible.value = false
data.value = []
} }
// //
const permissionEditInit = async function (row) { const permissionEditInit = async function (row) {
getRoles()
console.log('row', row) console.log('row', row)
permissionEditObj.value = {} permissionEditObj.value = {}
permissionEditObj.value.id = row.id permissionEditObj.value.id = row.id
@ -428,10 +442,7 @@ const permissionEditInit = async function (row) {
permissionEditObj.value.parentId = result.data?.fatherId permissionEditObj.value.parentId = result.data?.fatherId
permissionEditObj.value.parentName = result.data?.fatherName permissionEditObj.value.parentName = result.data?.fatherName
console.log('get前', permissionEditObj.value.roleId); console.log('get前', permissionEditObj.value.roleId);
permissionEditObj.value.roleName = row.roleName
if(permissionEditObj.value.roleId==0){
permissionEditObj.value.roleId = ''
}
getUserLists(row.roleId) getUserLists(row.roleId)
let machineIdsRef = await request({ let machineIdsRef = await request({
@ -453,6 +464,7 @@ const permissionEditInit = async function (row) {
permissionEditObj.value.machineId = permissionEditObj.value.machineIds[0] permissionEditObj.value.machineId = permissionEditObj.value.machineIds[0]
//permissionEditObj.value.permission = row.permission //permissionEditObj.value.permission = row.permission
permissionEditObj.value.roleName = row.roleName
console.log('编辑用户权限', permissionEditObj.value) console.log('编辑用户权限', permissionEditObj.value)
console.log('11111111111111', permissionEditObj.value.machineId) console.log('11111111111111', permissionEditObj.value.machineId)
openUserEditVisible() openUserEditVisible()
@ -704,6 +716,8 @@ const handleRoleCurrentChange = (val) => {
const data = ref([]) const data = ref([])
const getLists = async function () { const getLists = async function () {
try { try {
console.log('addRole.value.roleId',addRole.value.roleId);
let roleId = addRole.value.parentId let roleId = addRole.value.parentId
if (addRole.value.parentId === null || addRole.value.parentId === undefined) { if (addRole.value.parentId === null || addRole.value.parentId === undefined) {
roleId = 2 roleId = 2
@ -713,7 +727,9 @@ const getLists = async function () {
data: { id: roleId } data: { id: roleId }
}) })
data.value = res.data data.value = res.data
if (addRole.value.parentId != 2) {
if(addRole.value.roleId ==null ||addRole.value.roleId ==undefined){
data.value = data.value
}else if (addRole.value.parentId != 2) {
data.value = data.value.filter(item => item.id !== 9); data.value = data.value.filter(item => item.id !== 9);
} }
console.log('看看data', data.value) console.log('看看data', data.value)
@ -870,7 +886,7 @@ const resetPassword = function (row) {
// //
const confirmResetPassword = async function () { const confirmResetPassword = async function () {
console.log('重置密码markets1', adminData.value.markets)
console.log('adminData', adminData.value)
// markets // markets
if (typeof adminData.value.markets === 'string' && adminData.value.markets) { if (typeof adminData.value.markets === 'string' && adminData.value.markets) {
adminData.value.markets = adminData.value.markets.split(','); adminData.value.markets = adminData.value.markets.split(',');
@ -937,6 +953,21 @@ const permissionEditRoleObj = ref({
// //
const permissionEditRoleVisible = ref(false); const permissionEditRoleVisible = ref(false);
const collectIds2 = (tree) => {
let ids = [];
tree.forEach((node) => {
// children children
if (!node.children || node.children.length === 0) {
ids.push(node.id);
} else {
// children
ids = ids.concat(collectIds2(node.children));
}
});
return ids;
};
// //
const permissionEditRoleInit = async function (row) { const permissionEditRoleInit = async function (row) {
console.log('row', row); console.log('row', row);
@ -951,7 +982,7 @@ const permissionEditRoleInit = async function (row) {
// // 使 // // 使
// if (row.tree && row.tree.length > 0) { // if (row.tree && row.tree.length > 0) {
// // id // // id
// permissionEditRoleObj.value.checkedKeys = collectIds(row.tree);
// permissionEditRoleObj.value.checkedKeys = collectIds2(row.tree);
// // el-tree // // el-tree
// data.value = row.tree; // data.value = row.tree;
// } else { // } else {
@ -960,8 +991,11 @@ const permissionEditRoleInit = async function (row) {
// } // }
try { try {
let roleId = permissionEditRoleObj.value.parentId; let roleId = permissionEditRoleObj.value.parentId;
// 2
// id
if (permissionEditRoleObj.value.parentId === null || permissionEditRoleObj.value.parentId === undefined) { if (permissionEditRoleObj.value.parentId === null || permissionEditRoleObj.value.parentId === undefined) {
roleId = 2; roleId = 2;
} }
@ -974,7 +1008,7 @@ const permissionEditRoleInit = async function (row) {
// id // id
if (row.tree && row.tree.length > 0) { if (row.tree && row.tree.length > 0) {
permissionEditRoleObj.value.checkedKeys = collectIds(row.tree);
permissionEditRoleObj.value.checkedKeys = collectIds2(row.tree);
} else { } else {
permissionEditRoleObj.value.checkedKeys = []; permissionEditRoleObj.value.checkedKeys = [];
} }
@ -1069,7 +1103,7 @@ onMounted(async function () {
await getArea() await getArea()
await getStore() await getStore()
await getRoleList() await getRoleList()
await getRolePermission()
}) })
@ -1081,7 +1115,7 @@ onMounted(async function () {
<el-button :type="checkTab === 'admin' ? 'primary' : 'default'" @click="checkTab = 'admin'"> <el-button :type="checkTab === 'admin' ? 'primary' : 'default'" @click="checkTab = 'admin'">
用户管理 用户管理
</el-button> </el-button>
<el-button :type="checkTab === 'role' ? 'primary' : 'default'" @click="checkTab = 'role'">
<el-button v-if="viewRole.includes(30)" :type="checkTab === 'role' ? 'primary' : 'default'" @click="checkTab = 'role'">
角色管理 角色管理
</el-button> </el-button>
</el-button-group> </el-button-group>
@ -1353,7 +1387,7 @@ onMounted(async function () {
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="parentName" label="上级角色:"> <el-form-item prop="parentName" label="上级角色:">
<el-select v-model="permissionEditObj.parentId" :placeholder="permissionEditObj.parentName ||'无上级角色'" :disabled="!!parentRoleTip"
<el-select v-model="permissionEditObj.parentId" placeholder="无上级角色" :disabled="!!parentRoleTip"
style="width: 220px"> style="width: 220px">
<el-option v-if="parentRoleTip" :key="0" :label="parentRoleTip" :value="null" disabled /> <el-option v-if="parentRoleTip" :key="0" :label="parentRoleTip" :value="null" disabled />
<el-option v-else v-for="item in permissionList" :key="item.value" :label="item.label" disabled <el-option v-else v-for="item in permissionList" :key="item.value" :label="item.label" disabled
@ -1361,12 +1395,9 @@ onMounted(async function () {
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="permissionSelect" label="权限列表:"> <el-form-item prop="permissionSelect" label="权限列表:">
<el-tree v-if="data.length>0" :data="data" :disabled="true" show-checkbox node-key="id"
<el-tree :data="data" :disabled="true" show-checkbox node-key="id"
:props="{ label: 'menuName', children: 'children' }" :default-checked-keys="permissionEditObj.checkedKeys"> :props="{ label: 'menuName', children: 'children' }" :default-checked-keys="permissionEditObj.checkedKeys">
</el-tree> </el-tree>
<div v-else style="display: flex; align-items: center; gap: 8px;">
<span style="color: #999;">暂未分配权限</span>
</div>
</el-form-item> </el-form-item>
<el-form-item prop="machineIds" label="机器码:"> <el-form-item prop="machineIds" label="机器码:">
<div style="display: flex; align-items: center; flex-wrap: wrap; gap: 10px;"> <div style="display: flex; align-items: center; flex-wrap: wrap; gap: 10px;">
@ -1399,17 +1430,17 @@ onMounted(async function () {
<el-form-item prop="roleName" label="角色名称:" required> <el-form-item prop="roleName" label="角色名称:" required>
<el-input v-model="addRole.roleName" placeholder="请输入用户名" style="width: 220px" /> <el-input v-model="addRole.roleName" placeholder="请输入用户名" style="width: 220px" />
</el-form-item> </el-form-item>
<el-form-item prop="market" label="所属地区:" required>
<el-select v-model="addRole.market" placeholder="请选择所属地区" style="width: 240px" clearable>
<el-option v-for="item in addRoleMarket" :key="item" :label="item" :value="item" />
</el-select>
</el-form-item>
<el-form-item prop="parentName" label="上级角色:"> <el-form-item prop="parentName" label="上级角色:">
<el-select v-model="addRole.parentId" placeholder="请选择上级角色" style="width: 220px" @change="getLists" clearable> <el-select v-model="addRole.parentId" placeholder="请选择上级角色" style="width: 220px" @change="getLists" clearable>
<el-option v-for="item in permissionList" :key="item.value" :label="item.label" <el-option v-for="item in permissionList" :key="item.value" :label="item.label"
:value="item.value"></el-option> :value="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="market" label="所属地区:" required>
<el-select v-model="addRole.market" placeholder="请选择所属地区" style="width: 240px" clearable>
<el-option v-for="item in addRoleMarket" :key="item" :label="item" :value="item" />
</el-select>
</el-form-item>
<el-form-item prop="checkedKeys" label="权限列表:" required> <el-form-item prop="checkedKeys" label="权限列表:" required>
<el-tree v-if="data.length > 0" :data="data" show-checkbox node-key="id" <el-tree v-if="data.length > 0" :data="data" show-checkbox node-key="id"
:props="{ label: 'menuName', children: 'children' }" :checked-keys="addRole.checkedKeys" :props="{ label: 'menuName', children: 'children' }" :checked-keys="addRole.checkedKeys"

Loading…
Cancel
Save