Browse Source

表单写完了

lihuilin/feature-20250623164044-金币前端
lihuilin 1 week ago
parent
commit
107e5dae83
  1. 3
      .env.development
  2. 325
      src/views/audit/rechargeAudit.vue
  3. 34
      src/views/audit/refundAudit.vue
  4. 691
      src/views/permissions/index.vue
  5. 1
      src/views/recharge/coinRecharge.vue
  6. 2
      src/views/workspace/index.vue

3
.env.development

@ -1,5 +1,4 @@
# VITE_API_BASE='http://54.251.137.151:10704/'
# VITE_API_BASE='http://192.168.8.94:8080/'
# VITE_API_BASE='https://hwjb.homilychart.com/gold_htms_dev'
# VITE_API_BASE='http://54.251.137.151:10704/'
VITE_API_BASE='http://192.168.8.225:8080/'
VITE_API_BASE='http://192.168.8.94:8080/'

325
src/views/audit/rechargeAudit.vue

@ -7,12 +7,12 @@ import axios from 'axios'
import request from '@/util/http'
import moment from 'moment'
//
const adminData = ref({})
const Ref = ref(null)
const getAdminData = async function () {
try {
const result = await request({
url: '/admin/userinfo',
url: '',
data: {}
})
adminData.value = result
@ -21,25 +21,15 @@ const getAdminData = async function () {
console.log('请求失败', error)
}
}
//
const tableData = ref([])
// ======================================
const rechargeVo = ref({
rechargeWay: '客服充值'
})
//
const getObj = ref({
pageNum: 1,
pageSize: 50
})
//
const total = ref(100)
//
const getTime = ref([])
//
const activity = ref([])
//
const area = ref([])
//
const rejectVisible = ref(false)
@ -47,154 +37,18 @@ const rejectVisible = ref(false)
const rejectObj = ref({})
//
const passObj = ref({})
//
const activeName = ref('wait')
//
const payWay = [
{
value: '微信',
label: '微信'
},
{
value: '支付宝',
label: '支付宝'
},
{
value: '银联',
label: '银联'
},
{
value: '信用卡',
label: '信用卡'
},
{
value: '借记卡',
label: '借记卡'
},{
value:'.....................................'//
}
]
// ref
const Ref = ref(null)
//
//
const trueGold = ref(0)
const trueCount = ref(0)
const trueRGold = ref(0)
const trueFGold = ref(0)
//
const formattedTrueGold = computed(() => trueGold.value.toFixed(2))
const formattedTrueRGold = computed(() => trueRGold.value.toFixed(2))
const formattedTrueFGold = computed(() => trueFGold.value.toFixed(2))
//
const pendingCount = ref(0)
//
const pendingGold = ref(0)
const pendingRGold = ref(0)
const pendingFGold = ref(0)
//
const approvedCount = ref(0)
//
const approvedGold = ref(0)
const approvedRGold = ref(0)
const approvedFGold = ref(0)
//
const rejectedCount = ref(0)
//
const rejectedGold = ref(0)
const rejectedRGold = ref(0)
const rejectedFGold = ref(0)
//
const get = async function (val) {
try {
//
if (adminData.value.area === '泰国') {
rechargeVo.value.areas = ['泰国', '越南']
}
//
if (typeof val === 'number') {
getObj.value.pageNum = val
}
//
if (getTime.value != null) {
if (getTime.value.startDate != '' && getTime.value.endDate != '') {
rechargeVo.value.startDate = getTime.value[0]
rechargeVo.value.endDate = getTime.value[1]
}
} else {
rechargeVo.value.startDate = ''
rechargeVo.value.endDate = ''
}
rechargeVo.value.sortField = sortField.value
rechargeVo.value.sortOrder = sortOrder.value
console.log('搜索参数', getObj.value)
const result = await request({
url: '/recharge/recharge',
data: {
pageNum: getObj.value.pageNum,
pageSize: getObj.value.pageSize,
rechargeVo: { ...rechargeVo.value }
}
})
//
// rechargeVo.value
const rechargeVo1 = { ...rechargeVo.value }
delete rechargeVo1.sortField
delete rechargeVo1.sortOrder
delete rechargeVo1.status
const result2 = await request({
url: '/recharge/recharge/RechargeA',
data: rechargeVo1
})
//
if (result2.data) {
result2.data.forEach((item) => {
switch (item.auditStatus) {
case '待审核':
// item.raudit 0
pendingCount.value = item.raudit || 0
// item.sumRaudit 0
pendingGold.value = item.sumRaudit || 0
pendingRGold.value = item.sumRaudit1 || 0
pendingFGold.value = item.sumRaudit2 || 0
break
case '已通过':
approvedCount.value = item.raudit || 0
approvedGold.value = item.sumRaudit || 0
approvedRGold.value = item.sumRaudit1 || 0
approvedFGold.value = item.sumRaudit2 || 0
break
case '已驳回':
rejectedCount.value = item.raudit || 0
rejectedGold.value = item.sumRaudit || 0
rejectedRGold.value = item.sumRaudit1 || 0
rejectedFGold.value = item.sumRaudit2 || 0
break
}
})
}
trueGold.value = pendingGold.value + approvedGold.value + rejectedGold.value
trueCount.value = pendingCount.value + approvedCount.value + rejectedCount.value
trueRGold.value = pendingRGold.value + approvedRGold.value + rejectedRGold.value
trueFGold.value = pendingFGold.value + approvedFGold.value + rejectedFGold.value
console.log('搜索对象', getObj.value)
//
tableData.value = result.data.list
console.log('tableData', tableData.value)
//
total.value = result.data.total
console.log('total', total.value)
} catch (error) {
console.log('请求失败', error)
}
}
//
const search = function () {
trimJwCode();
getObj.value.pageNum = 1
get()
}
//
const reset = function () {
delete rechargeVo.value.activityId
@ -257,41 +111,8 @@ const get7Days = function () {
console.log('getTime', getTime.value)
get()
}
//
const adminWait = async function () {
rechargeVo.value.status = 0
getObj.value.pageNum = 1
await get()
console.log('adminWait')
trueCount.value = pendingCount.value
trueGold.value = pendingGold.value
trueRGold.value = pendingRGold.value
trueFGold.value = pendingFGold.value
}
//
const adminPass = async function () {
rechargeVo.value.status = 1
getObj.value.pageNum = 1
await get()
console.log('adminPass')
trueCount.value = approvedCount.value
trueGold.value = approvedGold.value
trueRGold.value = approvedRGold.value
trueFGold.value = approvedFGold.value
}
//
const adminReject = async function () {
rechargeVo.value.status = 2
getObj.value.pageNum = 1
await get()
console.log('adminReject')
trueCount.value = rejectedCount.value
trueGold.value = rejectedGold.value
trueRGold.value = rejectedRGold.value
trueFGold.value = rejectedFGold.value
}
const handleClick = function (tab, event) {
const handleClick = function (tab) {
if (tab.props.name === 'wait') {
adminWait()
} else if (tab.props.name === 'pass') {
@ -304,7 +125,7 @@ const handleClick = function (tab, event) {
const getActivity = async function () {
try {
const result = await request({
url: '/recharge/activity/select',
url: '',
data: {}
})
activity.value = result.data
@ -317,7 +138,7 @@ const getActivity = async function () {
const getArea = async function () {
try {
const result = await request({
url: '/recharge/user/search',
url: '',
data: {}
})
area.value = result.data
@ -334,106 +155,16 @@ const handleCurrentChange = function (val) {
getObj.value.pageNum = val
get()
}
// ====================================
//
const pass = function (row) {
//
passObj.value = row
passObj.value.adminId = adminData.value.adminId
passObj.value.auditId = row.auditId
// passObj.value.status = 1
passObj.value.rechargeId = row.rechargeId
passObj.value.detailId = row.detailId
passObj.value.jwcode = row.jwcode
passObj.value.paidGold = row.paidGold
passObj.value.freeGold = row.freeGold
passObj.value.adminName = adminData.value.adminName
console.log('通过对象', passObj.value)
}
//
const passConfirm = async function () {
try {
//
passObj.value.status = 1
console.log('通过对象', passObj.value)
// POST
// passObj.value.flag = 0;
const result = await request({
url: '/audit/audit/goldedit',
data: passObj.value
})
console.log('请求成功', result)
get()
//
ElMessage({
type: 'success',
message: '通过成功!'
})
} catch (error) {
console.error('请求失败', error);
ElMessage({
type: 'error',
message: '出错了,不知道咋回事'
});
}
}
//
const openRejectVisible = function () {
const openRej = function () {
rejectVisible.value = true
}
//
const closeRejectVisible = function () {
const closeRej = function () {
rejectVisible.value = false
}
//
const reject = function (row) {
//
rejectObj.value.adminId = adminData.value.adminId
rejectObj.value.auditId = row.auditId
rejectObj.value.status = 2
rejectObj.value.reson = ''
rejectObj.value.rechargeId = row.rechargeId
rejectObj.value.detailId = row.detailId
console.log('驳回对象', rejectObj.value)
openRejectVisible()
}
//
const rejectConfirm = async function () {
Ref.value.validate(async (valid) => {
if (valid) {
try {
console.log('驳回对象', rejectObj.value)
// POST
const result = await request({
url: '/audit/audit/goldedit',
data: rejectObj.value
})
console.log('请求成功', result)
get()
closeRejectVisible()//
ElMessage({
type: 'success',
message: '驳回成功!'
})
} catch (error) {
console.log('请求失败', error)
}
} else {
ElMessage({
type: 'error',
message: '请检查输入内容'
})
}
})
}
//
const rules = reactive({
reson: [{ required: true, message: '请输入驳回理由', trigger: 'blur' }]
})
//
onMounted(async function () {
@ -449,18 +180,8 @@ const sortOrder = ref('')
const handleSortChange = (column) => {
console.log('排序字段:', column.prop)
console.log('排序方式:', column.order)
if (column.prop === 'rechargeGold') {
sortField.value = 'recharge_gold'
} else if (column.prop === 'freeGold') {
sortField.value = 'free_gold'
} else if (column.prop === 'rechargeTime') {
sortField.value = 'recharge_time'
} else if (column.prop === 'createTime') {
sortField.value = 'create_time'
} else if (column.prop === 'paidGold') {
sortField.value = 'paid_gold'
} else if (column.prop === 'auditTime') {
sortField.value = 'audit_time'
if (column.prop === '待补充') {
sortField.value = ''
}
sortOrder.value = column.order === 'ascending' ? 'ASC' : 'DESC'
get()
@ -511,16 +232,16 @@ const trimJwCode = () => {
<el-text size="large">添加时间</el-text>
<el-date-picker v-model="getTime" type="datetimerange" range-separator="" start-placeholder="起始时间"
end-placeholder="结束时间" style="width: 400px" />
<el-button @click="getToday()" style="margin-left: 10px"> </el-button>
<el-button @click="getYesterday()" style="margin-left: 10px"> </el-button>
<el-button @click="get7Days()" style="margin-left: 10px"> 近7天 </el-button>
<el-button @click="getToday()" style="margin-left: 10px"></el-button>
<el-button @click="getYesterday()" style="margin-left: 10px"></el-button>
<el-button @click="get7Days()" style="margin-left: 10px">近7天</el-button>
</div>
</div>
</el-col>
<el-col :span="8">
<el-button @click="reset()" type="success">重置</el-button>
<el-button type="primary" @click="search()">查询</el-button>
<el-button type="primary" @click="get()">查询</el-button>
</el-col>
</el-row>
</el-card>
@ -577,10 +298,8 @@ const trimJwCode = () => {
<div class="operation">
<el-popconfirm title="确定要通过此条记录吗?" @confirm="passConfirm">
<template #reference>
<el-button :disabled="scope.row.status === 1 || scope.row.status === 2
? true
: false
" type="primary" text @click="pass(scope.row)">
<el-button :disabled="scope.row.status === 1 || scope.row.status === 2 ? true : false"
type="primary" text @click="pass(scope.row)">
通过
</el-button>
</template>
@ -589,10 +308,8 @@ const trimJwCode = () => {
<el-button type="primary" size="small" @click="confirm">确定</el-button>
</template>
</el-popconfirm>
<el-button :disabled="scope.row.status === 1 || scope.row.status === 2
? true
: false
" type="primary" text @click="reject(scope.row)">
<el-button :disabled="scope.row.status === 1 || scope.row.status === 2 ? true : false"
type="primary" text @click="reject(scope.row)">
驳回
</el-button>
</div>
@ -610,7 +327,7 @@ const trimJwCode = () => {
</el-col>
</el-row>
<el-dialog v-model="rejectVisible" title="驳回理由" width="500" :before-close="closeRejectVisible">
<el-dialog v-model="rejectVisible" title="驳回理由" width="500" :before-close="closeRej">
<template #footer>
<el-form :model="rejectObj" ref="Ref" :rules="rules" label-width="auto" style="max-width: 600px">
<el-form-item prop="reson" label="驳回理由:">
@ -620,7 +337,7 @@ const trimJwCode = () => {
</el-form>
<div class="dialog-footer">
<el-button @click="closeRejectVisible()">取消</el-button>
<el-button @click="closeRej()">取消</el-button>
<el-button type="primary" @click="rejectConfirm()"> 确定 </el-button>
</div>
</template>

34
src/views/audit/refundAudit.vue

@ -150,7 +150,7 @@ const pagination = ref({
})
const tableData = ref([])
const productOptions = ref([])
const product = ref([])
const areaOptions = ref([])
const adminInfo = ref({})
const stats = ref({
@ -165,9 +165,9 @@ const rejectDialog = ref(false) // 驳回对话框
const rejectForm = ref({ reason: '' })
const currentRecord = ref(null)
//
const fetchAdminInfo = async () => {
const getAdminInfo = async () => {
try {
const res = await request({ url: '/admin/userinfo' })
const res = await request({ url: '' })
adminInfo.value = res
if (res.area !== '总部') {
searchForm.value.area = res.area
@ -178,19 +178,19 @@ const fetchAdminInfo = async () => {
}
//
const fetchProducts = async () => {
const getProducts = async () => {
try {
const res = await request({ url: '/product' })
productOptions.value = res.data || []
const res = await request({ url: '' })
product.value = res.data || []
} catch (error) {
console.error('获取商品列表失败', error)
}
}
//
const fetchAreas = async () => {
const getAreas = async () => {
try {
const result = await request({ url: '/recharge/user/search' })
const result = await request({ url: '' })
areaOptions.value = result.data || []
} catch (error) {
console.error('获取地区列表失败', error)
@ -215,24 +215,24 @@ const get = async () => {
}
const res = await request({
url: '/audit/audit/refund',
url: '',
data: params
})
tableData.value = res.data?.list || []
pagination.value.total = res.data?.total || 0
fetchStats()
getStats()
} catch (error) {
console.error('获取数据失败', error)
}
}
const fetchStats = async () => {
const getStats = async () => {
try {
const params = { ...searchForm.value, status: getCurrentStatus() }
const res = await request({
url: '/refund/RefundA',
url: '',
data: params
})
@ -342,7 +342,7 @@ const approveRefund = async () => {
}
await request({
url: '/audit/audit/edit',
url: '',
data: params
})
@ -370,7 +370,7 @@ const rejectRefund = async () => {
}
await request({
url: '/audit/audit/edit',
url: '',
data: params
})
@ -384,10 +384,10 @@ const rejectRefund = async () => {
}
onMounted(async () => {
await fetchAdminInfo()//
await getAdminInfo()//
await fetchProducts()
await fetchAreas()
await getProducts()
await getAreas()
get()
})
</script>

691
src/views/permissions/index.vue

@ -9,214 +9,103 @@ import { UserFilled } from '@element-plus/icons-vue'
import _ from 'lodash'
import request from '@/util/http'
//
const tableData = ref([])
// ===========================================
//
const total = ref(100)
// detailY
const admin = ref({})
//
const getObj = ref({
pageNum: 1,
pageSize: 10
})
//
const permissionAddVisible = ref(false)
//
const permissionEditVisible = ref(false)
//
//
const addVisible = ref(false)
//
const editVisible = ref(false)
const area = ref([])
//
const store = ref([])
//
const permissionAddObj = ref({})
//
const addAdmin = ref({})
//
const permissionEditObj = ref({})
//
const store = ref([])//
//
const addInit = ref({})
//
const addObj = ref({})
//
const editObj = ref({})
//
const delObj = ref({})
//
const get = async function (val) {
try {
//
if (admin.value.jwcode) {
admin.value.jwcode = admin.value.jwcode.replace(/\s/g, '');
}
if (typeof val === 'number') {
getObj.value.pageNum = val
} else {
getObj.value.pageNum = 1
}
console.log('搜索参数', getObj.value)
// POST
const result = await request({
url: '/admin/search',
url: '',//
data: {
...getObj.value,
admin: { ...admin.value }
}
})
tableData.value = result.data.list
console.log('tableData', tableData.value)
total.value = result.data.total
} catch (error) {
console.log('请求失败', error)
}
}
//
const trimJwCode = () => {
if (admin.value.jwcode) {
admin.value.jwcode = admin.value.jwcode.replace(/\s/g, '');
}
}
//
const search = function () {
trimJwCode();
getObj.value.pageNum = 1
get()
}
//
const reset = function () {
admin.value = {}
}
//
const getArea = async function () {
try {
const result = await request({
url: '/admin/area',
url: '',
data: {}
})
area.value = result.data
} catch (error) {
console.log('请求失败', error)
//
}
}
//
const getStore = async function () {
try {
const result = await request({
url: '/admin/store',
url: '',
data: {}
})
store.value = result.data
} catch (error) {
console.log('请求失败', error)
//
}
}
//
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 openPermissionAddVisible = function () {
permissionAddVisible.value = true
const openaddVisible = function () {
addVisible.value = true
}
//
const closePermissionAddVisible = function () {
permissionAddVisible.value = false
const closeaddVisible = function () {
addVisible.value = false
}
//
const permissionAddInit = function () {
permissionAddObj.value = {}
openPermissionAddVisible()
}
//
const getAdminByJwcodeWithoutPermission = async function () {
try {
const result = await request({
url: '/admin/selectNo',
data: permissionAddObj.value
})
if (result.code == 200) {
permissionAddObj.value = result.data[0]
ElMessage.success('精网号查询成功')
} else {
ElMessage.error(result.msg)
}
console.log('精网号查询没有权限的用户', permissionAddObj.value)
} catch (error) {
console.log('请求失败', error)
//
}
addInit.value = {}
openaddVisible()
}
//
// const permissionAdd = async function () {
// try {
// if (
// permissionAddObj.value.jwcode == "" ||
// permissionAddObj.value.jwcode == null ||
// permissionAddObj.value.name == "" ||
// permissionAddObj.value.name == null
// ) {
// ElMessage.error("");
// return;
// }
// if (
// permissionAddObj.value.permisson == "" ||
// permissionAddObj.value.permission == null
// ) {
// ElMessage.error("");
// return;
// }
// console.log("", permissionAddObj.value);
// const result = await request(
// {
// url: "/admin/update",
// data: permissionAddObj.value}
// );
// //
// console.log("", result);
// ElMessage.success("");
// get();
// closePermissionAddVisible();
// } catch (error) {
// console.log("", error);
// //
// ElMessage.error("");
// closePermissionAddVisible();
// }
// };
const permissionAdd = async function () {
Ref.value.validate(async (valid) => {
console.log('valid', valid)
if (valid) {
try {
addAdmin.value.adminFlag = 1
addAdmin.value.status1 = 1
addObj.value.adminFlag = 1
addObj.value.status1 = 1
const result = await request({
url: '/admin/add',
data: addAdmin.value
url: '',
data: addObj.value
})
if (result.code == 200) {
@ -224,29 +113,24 @@ const permissionAdd = async function () {
} else {
ElMessage.error(result.msg)
}
addAdmin.value = {}
addObj.value = {}
closeaddVisible()
get()
closePermissionAddVisible()
} catch (error) {
console.log('新增用户权限失败', error)
//
ElMessage.error('新增用户权限失败')
closePermissionAddVisible()
closeaddVisible()
}
} else {
//
ElMessage({
type: 'error',
message: '请检查输入内容'
})
}
})
}
//
const rules = reactive({
} // if-else
const rules = reactive({//
jwcode: [{ required: true, message: '请输入精网号', trigger: 'blur' }],
name: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
store: [{ required: true, message: '请输入职称', trigger: 'blur' }],
@ -254,95 +138,72 @@ const rules = reactive({
area: [{ required: true, message: '请选择所属地区', trigger: 'blur' }],
permission: [{ required: true, message: '请选择权限', trigger: 'blur' }]
})
//
// ref
const Ref = ref(null)
// 使 _.throttle trailing false
// 使 _.throttle trailing false ?
const throttledPermissionAdd = _.throttle(permissionAdd, 5000, {
trailing: false
})
//
const permissionList = [
const list = [
{
label: '总部',
value: '1'
},
{
label: '地区经理',
value: '5'
},
{
label: '财务',
value: '3'
},
{
label: '客服',
value: '2'
label: '',
value: ''
}
]
//
//
//
const areaList = ref([])
const getAreas = async function () {
try {
// POST
const result = await request({
url: '/recharge/user/search',
url: '',
data: {}
})
//
console.log('请求成功', result)
//
console.log('result', result)
areaList.value = result.data
console.log('地区', area.value)
} catch (error) {
console.log('请求失败', error)
//
}
}
getAreas()
//
const openPermissionEditVisible = function () {
permissionEditVisible.value = true
const openVisable = function () {
editVisible.value = true
}
//
const closePermissionEditVisible = function () {
permissionEditVisible.value = false
const closeEdit = function () {
editVisible.value = false
}
//
const permissionEditInit = function (row) {
permissionEditObj.value = {}
permissionEditObj.value.jwcode = row.jwcode
permissionEditObj.value.name = row.name
permissionEditObj.value.area = row.area
permissionEditObj.value.store = row.store
permissionEditObj.value.permission = row.permission
console.log('编辑用户权限', permissionEditObj.value)
openPermissionEditVisible()
const editInit = function (row) {
editObj.value = {}
editObj.value.jwcode = row.jwcode
editObj.value.name = row.name
editObj.value.area = row.area
editObj.value.store = row.store
editObj.value.permission = row.permission
console.log('编辑用户权限', editObj.value)
openVisable()
}
//
const permissionEdit = async function () {
try {
const result = await request({
url: '/admin/update',
data: permissionEditObj.value
url: '',
data: editObj.value
})
//
console.log('请求成功', result)
ElMessage.success('编辑用户权限成功')
closeEdit()
get()
closePermissionEditVisible()
} catch (error) {
console.log('编辑用户权限失败', error)
//
ElMessage.error('编辑用户权限失败')
closePermissionEditVisible()
closeEdit()
}
}
const throttledPermissionEdit = _.throttle(permissionEdit, 5000, {
@ -361,20 +222,18 @@ const delConfirm = async function () {
console.log(delObj.value)
const result = await request({
url: '/admin/update',
url: '',
data: delObj.value
})
//
console.log('请求成功', result)
ElMessage.success('删除权限成功')
delObj.value = {}
get()
} catch (error) {
console.log('删除权限失败', error)
//
ElMessage.error('删除权限失败')
get()
}
}
//
@ -382,28 +241,25 @@ const editStatus = async function (row) {
try {
console.log(row)
permissionEditObj.value = {}
permissionEditObj.value.jwcode = row.jwcode
permissionEditObj.value.status1 = row.status1
editObj.value = {}
editObj.value.jwcode = row.jwcode
editObj.value.status1 = row.status1
console.log('修改用户权限状态', permissionEditObj.value)
console.log('修改用户权限状态', editObj.value)
const result = await request({
url: '/admin/update',
data: permissionEditObj.value
url: '',
data: editObj.value
})
//
console.log('请求成功', result)
ElMessage.success(
permissionEditObj.value.status1 == 1 ? '启用成功' : '禁用成功'
editObj.value.status1 == 1 ? '启用成功' : '禁用成功'
)
permissionEditObj.value = {}
editObj.value = {}
get()
} catch (error) {
console.log('修改用户权限失败', error)
//
}
}
@ -427,53 +283,26 @@ const handleCurrentChange = function (val) {
<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="admin.jwcode"
style="width: 240px"
placeholder="请输入精网号"
clearable
/>
<div style="display:flex">
<div>
<el-text size="large">OA号</el-text>
<el-input v-model="admin.jwcode" style="width: 240px" placeholder="请输入OA号" clearable />
</div>
<div class="head-card-element" style="margin-left: 50px">
<el-text class="mx-1" size="large">所属地区</el-text>
<el-select
v-model="admin.area"
placeholder="请选择所属地区"
style="width: 240px"
clearable
>
<el-option
v-for="item in area"
:key="item"
:label="item"
:value="item"
/>
<div style="margin-left: 50px">
<el-text size="large">所属地区</el-text>
<el-select v-model="admin.area" placeholder="请选择所属地区" style="width: 240px" clearable>
<el-option v-for="item in area" :key="item" :label="item" :value="item" />
</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="admin.store"
placeholder="请选择职位名称"
style="width: 240px"
clearable
>
<el-option
v-for="item in store"
:key="item"
:label="item"
:value="item"
/>
<div style="margin-left: 50px">
<el-text size="large">职位名称</el-text>
<el-select v-model="admin.store" placeholder="请选择职位名称" style="width: 240px" clearable>
<el-option v-for="item in store" :key="item" :label="item" :value="item" />
</el-select>
</div>
<div class="head-card-btn">
<div style="margin-left:20px">
<el-button type="success" @click="reset()">重置</el-button>
<el-button type="primary" @click="search()">查询</el-button>
<el-button type="primary" @click="get()">查询</el-button>
</div>
</div>
</el-card>
@ -482,393 +311,167 @@ const handleCurrentChange = function (val) {
<el-row>
<el-col>
<el-card>
<!-- 添加 -->
<div class="add-item">
<el-button
style="color: #048efb; border: 1px solid #048efb"
@click="permissionAddInit()"
>新增用户</el-button
>
<el-button style="color: #048efb; border: 1px solid #048efb" @click="permissionAddInit()">新增用户</el-button>
</div>
<div>
<el-table :data="tableData" style="width: 100%">
<el-table-column
type="index"
label="序号"
width="100px"
fixed="left"
>
<el-table-column type="index" label="序号" width="100px" fixed="left"><!-- 序号始终固定在左边 -->
<template #default="scope">
<span>{{
scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize
}}</span>
<!-- index下标从0开始计算时要+1后面算页数(num页码数-1) * 每页记录数加起来是总条数 -->
<span>{{ scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize }}</span>
</template>
</el-table-column>
<el-table-column prop="jwcode" label="精网号" />
<el-table-column prop="name" label="姓名" />
<el-table-column prop="area" label="所属地区" />
<el-table-column prop="store" label="职位" />
<el-table-column prop="permission" label="部门权限">
<el-table-column prop="jwcode" label="精网号" width="120px" />
<el-table-column prop="name" label="姓名" width="120px" />
<el-table-column prop="area" label="所属地区" width="120px" />
<el-table-column prop="store" label="职位" width="120px" />
<el-table-column prop="permission" label="部门权限" width="120px">
<template #default="scope">
<span v-if="scope.row.permission === '1'"> 总部管理员 </span>
<span v-if="scope.row.permission === '2'"> 分部财务 </span>
<span v-if="scope.row.permission === '3'"> 分部客服 </span>
<span v-if="scope.row.permission === '5'"> 分部经理 </span>
<span v-if="scope.row.permission === '1'">总部管理员</span>
待补充..................................................................................................
</template>
</el-table-column>
<el-table-column prop="remark" label="备注" />
<el-table-column prop="remark" label="备注" width="200px" show-overflow-tooltip />
<el-table-column prop="operation" label="操作" width="200px">
<template #default="scope">
<el-button
type="warning"
text
@click="permissionEditInit(scope.row)"
:disabled="scope.row.status1 === 0"
>
修改权限
</el-button>
<el-popconfirm
title="确定将此用户删除吗?"
@confirm="delConfirm"
>
<el-button type="warning" @click="editInit(scope.row)"
:disabled="scope.row.status1 === 0">修改权限</el-button>
<el-popconfirm title="确定将此用户删除吗?" @confirm="delConfirm">
<template #reference>
<el-button
type="danger"
text
@click="del(scope.row)"
:disabled="scope.row.status1 === 0"
>
删除
</el-button>
<el-button type="danger" @click="del(scope.row)" :disabled="scope.row.status1 === 0">删除</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>
<el-button type="primary" size="small" @click="confirm">确定</el-button>
</template>
</el-popconfirm>
</template>
</el-table-column>
<el-table-column prop="status1" label="状态">
<el-table-column prop="status1" label="状态" width="200px">
<template #default="scope">
<el-switch
v-model="scope.row.status1"
:active-value="1"
:inactive-value="0"
size="large"
@change="editStatus(scope.row)"
style="
<el-switch v-model="scope.row.status1" :active-value="1" :inactive-value="0" size="large"
@change="editStatus(scope.row)" style="
--el-switch-on-color: #13ce66;
--el-switch-off-color: #ff4949;
"
active-text="启用"
inactive-text="禁用"
inline-prompt
/>
--el-switch-off-color: #ff4949;" active-text="启用" inactive-text="禁用" />
</template>
</el-table-column>
</el-table>
</div>
<!-- 分页 -->
<div class="pagination" style="margin-top: 20px">
<el-pagination
background
:page-size="getObj.pageSize"
:page-sizes="[5, 10, 20, 50, 100]"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
@size-change="handlePageSizeChange"
@current-change="handleCurrentChange"
></el-pagination>
<el-pagination background :page-size="getObj.pageSize" :page-sizes="[5, 10, 20, 50, 100]"
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handlePageSizeChange"
@current-change="handleCurrentChange">
</el-pagination>
</div>
</el-card>
</el-col>
</el-row>
<!-- 新增用户权限 -->
<el-dialog
v-model="permissionAddVisible"
title="新增用户权限"
width="800px"
:close-on-click-modal="false"
>
<el-dialog v-model="addVisible" title="新增用户权限" :close-on-click-modal="false">
<template #footer>
<!-- 居中显示 -->
<el-form
ref="Ref"
:rules="rules"
:model="addAdmin"
label-width="auto"
style="max-width: 600px; align-items: center"
>
<el-form ref="Ref" :rules="rules" :model="addObj" label-width="auto" style="align-items: center" >
<el-form-item prop="jwcode" label="精网号:">
<el-input
v-model="addAdmin.jwcode"
placeholder="请输入精网号"
style="width: 220px"
/>
<el-input v-model="addObj.jwcode" placeholder="请输入精网号" style="width: 220px" />
</el-form-item>
<el-form-item prop="name" label="用户名:">
<el-input
v-model="addAdmin.name"
placeholder="请输入用户名"
style="width: 220px"
/>
<el-input v-model="addObj.name" placeholder="请输入用户名" style="width: 220px" />
</el-form-item>
<el-form-item prop="area" label="所属地区:">
<el-select
v-model="addAdmin.area"
placeholder="请选择所属地区"
style="width: 220px"
@change="() => Ref.value.validateField('area')"
>
<el-option
v-for="item in areaList"
:key="item"
:label="item"
:value="item"
></el-option>
<el-select v-model="addObj.area" placeholder="请选择所属地区" style="width: 220px"
@change="() => Ref.value.validateField('area')">
<el-option v-for="item in areaList" :key="item" :label="item" :value="item"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="permission" label="权限类别:">
<el-select
v-model="addAdmin.permission"
placeholder="请选择权限"
style="width: 220px"
@change="() => Ref.value.validateField('permission')"
>
<el-option
v-for="item in permissionList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
<el-select v-model="addObj.permission" placeholder="请选择权限" style="width: 220px"
@change="() => Ref.value.validateField('permission')">
<el-option v-for="item in list" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="store" label="职位:">
<el-input
v-model="addAdmin.store"
placeholder="请输入职称"
style="width: 220px"
/>
<el-input v-model="addObj.store" placeholder="请输入职称" style="width: 220px" />
</el-form-item>
<el-form-item prop="machineId" label="机器码:">
<el-input
v-model="addAdmin.machineId"
placeholder="请输入机器码"
style="width: 220px"
/>
<el-input v-model="addObj.machineId" placeholder="请输入机器码" style="width: 220px" />
</el-form-item>
<el-form-item prop="remark" label="备注">
<el-input
v-model="addAdmin.remark"
style="width: 300px"
:rows="2"
maxlength="100"
show-word-limit
type="textarea"
/>
<el-input v-model="addObj.remark" style="width: 300px" :rows="2" maxlength="100" show-word-limit
type="textarea" />
</el-form-item>
</el-form>
<div>
<el-button @click="closePermissionAddVisible()">取消</el-button>
<el-button @click="closeaddVisible()">取消</el-button>
<el-button type="primary" @click="throttledPermissionAdd()">
提交
</el-button>
</div>
</template>
</el-dialog>
<!-- 这是新增用户权限弹窗
<el-dialog
v-model="permissionAddVisible"
title="新增用户权限"
width="800px"
:close-on-click-modal="false"
>
<div style="display: flex; margin: 20px 0px 20px 0px">
<span class="permissionVisible" style="margin-right: 10px">精网号:</span>
<el-input
placeholder="请输入精网号"
v-model="permissionAddObj.jwcode"
style="width: 240px; margin-right: 10px"
clearable
></el-input>
<el-button type="primary" @click="getAdminByJwcodeWithoutPermission()"
>查询</el-button
>
</div>
<el-descriptions
class="margin-top"
:column="2"
:size="size"
border
label-width="200px"
>
<el-descriptions-item>
<template #label>
<div class="permissionVisible">
<el-icon>
<UserFilled />
</el-icon>
员工精网号
</div>
</template>
{{ permissionAddObj.jwcode }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="permissionVisible">
<el-icon>
<User />
</el-icon>
员工姓名
</div>
</template>
{{ permissionAddObj.name }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="permissionVisible">
<el-icon :style="iconStyle">
<location />
</el-icon>
所属地区
</div>
</template>
{{ permissionAddObj.area }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="permissionVisible">
<el-icon>
<OfficeBuilding />
</el-icon>
部门
</div>
</template>
{{ permissionAddObj.store }}
</el-descriptions-item>
</el-descriptions>
<el-divider>
<el-icon><star-filled /></el-icon>
</el-divider>
<div>
<span class="permissionVisible" style="margin-right: 20px"
>权限设置:</span
>
<el-radio-group v-model="permissionAddObj.permission">
<el-radio value="1" border>总部管理员</el-radio>
<el-radio value="5" border>分部经理</el-radio>
<el-radio value="2" border>分部财务</el-radio>
<el-radio value="3" border>分部客服</el-radio>
</el-radio-group>
</div>
<template #footer>
<div>
<el-button @click="closePermissionAddVisible()">取消</el-button>
<el-button type="primary" @click="throttledPermissionAdd()">
提交
</el-button>
</div>
</template>
</el-dialog> -->
<!-- 这是编辑用户权限弹窗 -->
<el-dialog
v-model="permissionEditVisible"
title="编辑用户权限"
width="800px"
:close-on-click-modal="false"
>
<el-descriptions
class="margin-top"
:column="2"
:size="size"
border
label-width="200px"
>
<el-dialog v-model="editVisible" title="编辑用户权限" width="800px" :close-on-click-modal="false">
<el-descriptions :column="2" :size="size" border label-width="200px">
<el-descriptions-item>
<template #label>
<div class="permissionVisible">
<el-icon>
<UserFilled />
</el-icon>
<el-icon><UserFilled /></el-icon>
员工精网号
</div>
</template>
{{ permissionEditObj.jwcode }}
{{ editObj.jwcode }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="permissionVisible">
<el-icon>
<User />
</el-icon>
<el-icon><User /></el-icon>
员工姓名
</div>
</template>
{{ permissionEditObj.name }}
{{ editObj.name }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="permissionVisible">
<el-icon :style="iconStyle">
<location />
</el-icon>
<el-icon><location /></el-icon>
所属地区
</div>
</template>
{{ permissionEditObj.area }}
{{ editObj.area }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="permissionVisible">
<el-icon>
<OfficeBuilding />
</el-icon>
<el-icon><OfficeBuilding /></el-icon>
部门
</div>
</template>
{{ permissionEditObj.store }}
{{ editObj.store }}
</el-descriptions-item>
</el-descriptions>
<el-divider>
<el-icon><star-filled /></el-icon>
</el-divider>
<div>
<span class="permissionVisible" style="margin-right: 20px"
>权限设置:</span
>
<el-radio-group v-model="permissionEditObj.permission">
<span class="permissionVisible" style="margin-right: 20px">权限设置:</span>
<el-radio-group v-model="editObj.permission">
<el-radio value="1" border>总部管理员</el-radio>
<el-radio value="5" border>分部经理</el-radio>
<el-radio value="2" border>分部财务</el-radio>
<el-radio value="3" border>分部客服</el-radio>
..............................................................................待补充
</el-radio-group>
</div>
<template #footer>
<div>
<el-button @click="closePermissionEditVisible()">取消</el-button>
<el-button type="primary" @click="throttledPermissionEdit()">
提交
</el-button>
<el-button @click="closeEdit()">取消</el-button>
<el-button type="primary" @click="throttledPermissionEdit()">提交</el-button>
</div>
</template>
</el-dialog>
</template>
<style scoped>
.permissionVisible {
font-size: 16px;
font-weight: bold;
@ -878,22 +481,10 @@ const handleCurrentChange = function (val) {
display: flex;
}
.status {
display: flex;
}
.head-card {
display: flex;
}
.head-card-element {
margin-right: 20px;
}
.head-card-btn {
margin-left: auto;
}
/* 新增样式让弹窗内容居中 */
.el-dialog__body {
display: flex;

1
src/views/recharge/coinRecharge.vue

@ -1227,7 +1227,6 @@ onMounted(async function () {
type="primary"
@click="getUser(addRecharge.jwcode)"
style="margin-left: 20px"
>查询</el-button
>
</el-form-item>

2
src/views/workspace/index.vue

@ -82,7 +82,7 @@
style="width: 200px"
@change="handleDateRangeChange"
/>
<el-button style="margin-left: 5px" @click="loadChart">查询</el-button>
<el-button type="primary" style="margin-left: 5px" @click="loadChart">查询</el-button>
</el-col>
</el-row>

Loading…
Cancel
Save