Browse Source

这是加入了权限管理的

master
donghaolin 4 months ago
parent
commit
b7f408e598
  1. 2
      vue/gold-system/src/router/index.js
  2. 7
      vue/gold-system/src/views/index.vue
  3. 2
      vue/gold-system/src/views/login.vue
  4. 416
      vue/gold-system/src/views/permissions/index.vue

2
vue/gold-system/src/router/index.js

@ -38,6 +38,8 @@ const router=createRouter({
{path:'/usergold',component:()=>import("../views/usergold/index.vue")}, {path:'/usergold',component:()=>import("../views/usergold/index.vue")},
// 客户金币余额 // 客户金币余额
{path:'/usergoldInfo',component:()=>import("../views/usergoldInfo/index.vue")}, {path:'/usergoldInfo',component:()=>import("../views/usergoldInfo/index.vue")},
// 权限管理
{path:'/permission',component:()=>import("../views/permissions/index.vue")},
] ]
}, },

7
vue/gold-system/src/views/index.vue

@ -152,6 +152,13 @@ onMounted(async function () {
</el-icon> </el-icon>
客户金币余额 客户金币余额
</el-menu-item> </el-menu-item>
<el-menu-item index="/permission">
<el-icon>
<Folder />
</el-icon>
权限管理
</el-menu-item>
</el-menu> </el-menu>
</el-aside> </el-aside>
<el-container> <el-container>

2
vue/gold-system/src/views/login.vue

@ -68,7 +68,7 @@ const login = async function () {
</el-form-item> </el-form-item>
<el-form-item class="flex"> </el-form-item> <el-form-item class="flex"> </el-form-item>
<!-- 登录按钮 --> <!-- 登录按钮 -->
<el-form-item>
<el-form-item @keyup.enter="login()">
<el-button <el-button
class="button" class="button"
type="primary" type="primary"

416
vue/gold-system/src/views/permissions/index.vue

@ -0,0 +1,416 @@
<script setup>
import { ref, onMounted, reactive, computed } from "vue";
import ElementPlus from "element-plus";
import { ElMessage, ElMessageBox } from "element-plus";
import axios from "axios";
import moment from "moment";
import { ta } from "element-plus/es/locales.mjs";
import API from "../../api/index.js";
//
const tableData = ref([]);
//
const tableAllData = ref([]);
//
const rechargeCoin = ref(0);
const freeCoin = ref(0);
const taskCoin = ref(0);
// ===========================================
//
const total = ref(100);
//
const getTime = ref([]);
// detailY
const detailY = ref({});
//
const getAllObj = ref({});
//
const getObj = ref({
pageNum: 1,
pageSize: 50,
});
const permissionAdd = ref(false);
//
const area = [
{
value: "马来西亚",
label: "马来西亚",
},
{
value: "新加坡",
label: "新加坡",
},
{
value: "香港",
label: "香港",
},
{
value: "泰国",
label: "泰国",
},
{
value: "加拿大",
label: "加拿大",
},
{
value: "越南HCM",
label: "越南HCM",
},
];
//
const depart = [
{
value: "0",
label: "总部",
},
{
value: "1",
label: "客服",
},
{
value: "2",
label: "财务",
},
];
//
const get = async function (val) {
try {
//
if (typeof val === "number") {
getObj.value.pageNum = val;
}
//
if (getTime.value != null) {
if (getTime.value.startDate != "" && getTime.value.endDate != "") {
detailY.value.startDate = getTime.value[0];
detailY.value.endDate = getTime.value[1];
}
} else {
detailY.value.startDate = "";
detailY.value.endDate = "";
}
console.log("搜索参数", getObj.value);
// POST
const result = await API.post("http://192.168.8.93:10010/detailY/select", {
...getObj.value,
detailYgold: { ...detailY.value },
});
tableData.value = result.data.list;
total.value = result.data.total;
} catch (error) {}
};
//
const search = function () {
getObj.value.pageNum = 1;
get();
};
//
const reset = function () {
detailY.value = {};
};
//
const checkNumber = function () {
if (typeof parseInt(getObj.value.pageNum) === "number") {
console.log(
"总共有多少页" + Math.ceil(total.value / getObj.value.pageSize)
);
if (
getObj.value.pageNum > 0 &&
getObj.value.pageNum <= Math.ceil(total.value / getObj.value.pageSize)
) {
getObj.value.pageNum = parseInt(getObj.value.pageNum);
console.log("输入的数字合法");
get();
} else {
//
ElMessage({
type: "error",
message: "请检查输入内容",
});
}
} else {
//
ElMessage({
type: "error",
message: "请检查输入内容",
});
}
};
//
const permissionAddInfo = ref({});
//
onMounted(async function () {
await get();
});
</script>
<template>
<el-row>
<el-col>
<el-card style="margin-bottom: 20px">
<div class="head-card">
<div class="head-card-element">
<el-text class="mx-1" size="large">精网号</el-text>
<el-input
v-model="detailY.jwcode"
style="width: 240px"
placeholder="请输入精网号"
clearable
/>
</div>
<div class="head-card-element" style="margin-left: 50px">
<el-text class="mx-1" size="large">所属地区</el-text>
<el-select
v-model="detailY.area"
placeholder="请选择所属地区"
style="width: 240px"
clearable
>
<el-option
v-for="item in area"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
<div class="head-card-element" style="margin-left: 50px">
<el-text class="mx-1" size="large">所属部门</el-text>
<el-select
v-model="detailY.area"
placeholder="请选择部门"
style="width: 240px"
clearable
>
<el-option
v-for="item in depart"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
<div class="head-card-btn">
<el-button @click="reset()">重置</el-button>
<el-button type="primary" @click="search()">查询</el-button>
</div>
</div>
</el-card>
</el-col>
</el-row>
<el-row>
<el-col>
<el-card>
<!-- 添加 -->
<div class="add-item">
<el-button
style="color: #048efb; border: 1px solid #048efb"
@click="permissionAdd = true"
>新增用户</el-button
>
</div>
<div>
<el-table :data="tableData" :height="tableHeight" style="width: 100%">
<el-table-column
type="index"
label="序号"
width="100px"
fixed="left"
>
<template #default="scope">
<span>{{
scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize
}}</span>
</template>
</el-table-column>
<el-table-column prop="jwcode" label="精网号" width="170" />
<el-table-column prop="name" label="姓名" width="200" />
<el-table-column prop="area" label="所属地区" width="200" />
<el-table-column prop="rcoin" label="部门权限" width="150">
<template> </template>
</el-table-column>
<el-table-column prop="rcoin" label="地区权限" width="150" />
<el-table-column
fixed="right"
prop="operation"
label="操作"
width="200px"
>
<template #default="scope">
<el-button type="primary" text @click="del(scope.row)">
修改权限
</el-button>
<el-popconfirm
title="确定将此条活动删除吗?"
@confirm="delConfirm"
>
<template #reference>
<el-button type="primary" text @click="del(scope.row)">
删除
</el-button>
</template>
<template #actions="{ confirm, cancel }">
<el-button size="small" @click="cancel">取消</el-button>
<el-button type="primary" size="small" @click="confirm">
确定
</el-button>
</template>
</el-popconfirm>
</template>
</el-table-column>
</el-table>
</div>
<!-- 分页 -->
<!-- 分页 -->
<div class="pagination" style="margin-top: 20px">
<el-pagination
background
:page-size="getObj.pageSize"
layout="slot"
:total="total"
>
<div>{{ total }},每页</div>
<el-select
v-model="getObj.pageSize"
class="page-size"
@change="get()"
style="width: 80px"
>
<el-option
v-for="item in [5, 10, 20, 50, 100]"
:key="item"
:label="item"
:value="item"
></el-option>
</el-select>
<div></div>
</el-pagination>
<el-pagination
background
layout="prev, pager, next,slot"
:page-size="getObj.pageSize"
:total="total"
:current-page="getObj.pageNum"
@current-change="get"
>
<div>跳至</div>
<el-input
v-model="getObj.pageNum"
style="width: 40px"
@change="checkNumber"
/>
<div></div>
</el-pagination>
</div>
</el-card>
</el-col>
</el-row>
<!-- 这是添加弹窗 -->
<el-dialog
v-model="permissionAdd"
title="新增用户"
width="500"
:close-on-click-modal="false"
>
<!-- <template #footer>
<el-form
ref="Ref"
style="max-width: 600px"
:model="rateAdd"
:rules="rules"
label-width="auto"
class="demo-ruleForm"
:size="formSize"
status-icon
>
<el-form-item prop="currency" label="货币名称:">
<el-select
v-model.number="rateAdd.currency"
placeholder="请选择"
style="width: 240px"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item prop="exchangeRate" label="汇率:">
<el-input
v-model="rateAdd.exchangeRate"
@update:modelValue="handleInput"
style="width: 120px"
/>
<p class="unit">:1</p>
<p>
(提示当前规则每 {{ rateAdd.exchangeRate }}
{{ rateAdd.currency }}可兑换 1 新币)
</p>
</el-form-item>
<el-form-item prop="adminId" label="提交人:">
<el-input :value="adminData.name" disabled style="width: 240px" />
</el-form-item>
<el-form-item prop="startTime" label="开始时间:">
<el-date-picker
v-model="rateAdd.startTime"
type="date"
placeholder="请选择时间"
:default-value="new Date()"
@change="handleStartTimeChange"
value-format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item prop="endTime" label="结束时间:">
<el-date-picker
v-model="rateAdd.endTime"
type="date"
placeholder="请选择时间"
:default-value="new Date()"
value-format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item>
<div class="dialog-footer">
<el-button type="primary" @click="throttledAdd">添加</el-button>
<el-button @click="regeAdd = false">取消</el-button>
</div>
</el-form-item>
</el-form>
</template> -->
</el-dialog>
</template>
<style scoped>
.pagination {
display: flex;
}
.status {
display: flex;
}
.head-card {
display: flex;
}
.head-card-element {
margin-right: 20px;
}
.head-card-btn {
margin-left: auto;
}
</style>
Loading…
Cancel
Save