地址管理
退款列表
This commit is contained in:
parent
bd636f5d65
commit
b42fdf3e86
44
src/api/system/address.js
Normal file
44
src/api/system/address.js
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询用户地址列表
|
||||||
|
export function listAddress(query) {
|
||||||
|
return request({
|
||||||
|
url: '/system/address/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询用户地址详细
|
||||||
|
export function getAddress(id) {
|
||||||
|
return request({
|
||||||
|
url: '/system/address/' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增用户地址
|
||||||
|
export function addAddress(data) {
|
||||||
|
return request({
|
||||||
|
url: '/system/address',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改用户地址
|
||||||
|
export function updateAddress(data) {
|
||||||
|
return request({
|
||||||
|
url: '/system/address',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除用户地址
|
||||||
|
export function delAddress(id) {
|
||||||
|
return request({
|
||||||
|
url: '/system/address/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
||||||
44
src/api/system/refund.js
Normal file
44
src/api/system/refund.js
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询退款订单列表
|
||||||
|
export function listRefund(query) {
|
||||||
|
return request({
|
||||||
|
url: '/system/refund/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询退款订单详细
|
||||||
|
export function getRefund(id) {
|
||||||
|
return request({
|
||||||
|
url: '/system/refund/' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增退款订单
|
||||||
|
export function addRefund(data) {
|
||||||
|
return request({
|
||||||
|
url: '/system/refund',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改退款订单
|
||||||
|
export function updateRefund(data) {
|
||||||
|
return request({
|
||||||
|
url: '/system/refund',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除退款订单
|
||||||
|
export function delRefund(id) {
|
||||||
|
return request({
|
||||||
|
url: '/system/refund/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -4,7 +4,7 @@ import { parseStrEmpty } from "@/utils/ruoyi";
|
||||||
// 查询用户列表
|
// 查询用户列表
|
||||||
export function listUser(query) {
|
export function listUser(query) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/user/list',
|
url: '/user/user/list',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: query
|
params: query
|
||||||
})
|
})
|
||||||
|
|
@ -13,7 +13,7 @@ export function listUser(query) {
|
||||||
// 查询用户详细
|
// 查询用户详细
|
||||||
export function getUser(userId) {
|
export function getUser(userId) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/user/' + parseStrEmpty(userId),
|
url: '/user/user/' + parseStrEmpty(userId),
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
@ -21,7 +21,7 @@ export function getUser(userId) {
|
||||||
// 新增用户
|
// 新增用户
|
||||||
export function addUser(data) {
|
export function addUser(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/user',
|
url: '/user/user',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
|
|
@ -30,7 +30,7 @@ export function addUser(data) {
|
||||||
// 修改用户
|
// 修改用户
|
||||||
export function updateUser(data) {
|
export function updateUser(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/user',
|
url: '/user/user',
|
||||||
method: 'put',
|
method: 'put',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
|
|
@ -39,7 +39,7 @@ export function updateUser(data) {
|
||||||
// 删除用户
|
// 删除用户
|
||||||
export function delUser(userId) {
|
export function delUser(userId) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/user/' + userId,
|
url: '/user/user/' + userId,
|
||||||
method: 'delete'
|
method: 'delete'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
@ -51,7 +51,7 @@ export function resetUserPwd(userId, password) {
|
||||||
password
|
password
|
||||||
}
|
}
|
||||||
return request({
|
return request({
|
||||||
url: '/system/user/resetPwd',
|
url: '/user/user/resetPwd',
|
||||||
method: 'put',
|
method: 'put',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
|
|
@ -64,7 +64,7 @@ export function changeUserStatus(userId, status) {
|
||||||
status
|
status
|
||||||
}
|
}
|
||||||
return request({
|
return request({
|
||||||
url: '/system/user/changeStatus',
|
url: '/user/user/changeStatus',
|
||||||
method: 'put',
|
method: 'put',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
|
|
@ -73,7 +73,7 @@ export function changeUserStatus(userId, status) {
|
||||||
// 查询用户个人信息
|
// 查询用户个人信息
|
||||||
export function getUserProfile() {
|
export function getUserProfile() {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/user/profile',
|
url: '/user/user/profile',
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
@ -81,7 +81,7 @@ export function getUserProfile() {
|
||||||
// 修改用户个人信息
|
// 修改用户个人信息
|
||||||
export function updateUserProfile(data) {
|
export function updateUserProfile(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/user/profile',
|
url: '/user/user/profile',
|
||||||
method: 'put',
|
method: 'put',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
|
|
@ -94,7 +94,7 @@ export function updateUserPwd(oldPassword, newPassword) {
|
||||||
newPassword
|
newPassword
|
||||||
}
|
}
|
||||||
return request({
|
return request({
|
||||||
url: '/system/user/profile/updatePwd',
|
url: '/user/user/profile/updatePwd',
|
||||||
method: 'put',
|
method: 'put',
|
||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
|
|
@ -103,7 +103,7 @@ export function updateUserPwd(oldPassword, newPassword) {
|
||||||
// 用户头像上传
|
// 用户头像上传
|
||||||
export function uploadAvatar(data) {
|
export function uploadAvatar(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/user/profile/avatar',
|
url: '/user/user/profile/avatar',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
||||||
data: data
|
data: data
|
||||||
|
|
@ -113,7 +113,7 @@ export function uploadAvatar(data) {
|
||||||
// 查询授权角色
|
// 查询授权角色
|
||||||
export function getAuthRole(userId) {
|
export function getAuthRole(userId) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/user/authRole/' + userId,
|
url: '/user/user/authRole/' + userId,
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
@ -121,7 +121,7 @@ export function getAuthRole(userId) {
|
||||||
// 保存授权角色
|
// 保存授权角色
|
||||||
export function updateAuthRole(data) {
|
export function updateAuthRole(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/user/authRole',
|
url: '/user/user/authRole',
|
||||||
method: 'put',
|
method: 'put',
|
||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
|
|
@ -130,7 +130,7 @@ export function updateAuthRole(data) {
|
||||||
// 查询部门下拉树结构
|
// 查询部门下拉树结构
|
||||||
export function deptTreeSelect() {
|
export function deptTreeSelect() {
|
||||||
return request({
|
return request({
|
||||||
url: '/system/user/deptTree',
|
url: '/user/user/deptTree',
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -79,8 +79,8 @@
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-switch
|
<el-switch
|
||||||
v-model="scope.row.status"
|
v-model="scope.row.status"
|
||||||
active-value="1"
|
active-value="0"
|
||||||
inactive-value="0"
|
inactive-value="1"
|
||||||
@change="handleStatusChange(scope.row)"
|
@change="handleStatusChange(scope.row)"
|
||||||
></el-switch>
|
></el-switch>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
373
src/views/system/address/index.vue
Normal file
373
src/views/system/address/index.vue
Normal file
|
|
@ -0,0 +1,373 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
|
<el-form-item label="用户" prop="userName">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.userName"
|
||||||
|
placeholder="请输入用户"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="收货人" prop="realName">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.realName"
|
||||||
|
placeholder="请输入收货人姓名"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label-width="90" label="收货人电话" prop="phone">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.phone"
|
||||||
|
placeholder="请输入收货人电话"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label-width="90" label="收货人地址" prop="detail">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.detail"
|
||||||
|
placeholder="请输入收货人地址"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
icon="el-icon-plus"
|
||||||
|
size="mini"
|
||||||
|
@click="handleAdd"
|
||||||
|
v-hasPermi="['system:address:add']"
|
||||||
|
>新增</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="success"
|
||||||
|
plain
|
||||||
|
icon="el-icon-edit"
|
||||||
|
size="mini"
|
||||||
|
:disabled="single"
|
||||||
|
@click="handleUpdate"
|
||||||
|
v-hasPermi="['system:address:edit']"
|
||||||
|
>修改</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
icon="el-icon-delete"
|
||||||
|
size="mini"
|
||||||
|
:disabled="multiple"
|
||||||
|
@click="handleDelete"
|
||||||
|
v-hasPermi="['system:address:remove']"
|
||||||
|
>删除</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
@click="handleExport"
|
||||||
|
v-hasPermi="['system:address:export']"
|
||||||
|
>导出</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="addressList" @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
|
<!-- <el-table-column label="用户地址id" align="center" prop="id" />-->
|
||||||
|
<el-table-column label="用户" align="center" prop="userName" />
|
||||||
|
<el-table-column label="收货人姓名" align="center" prop="realName" />
|
||||||
|
<el-table-column label="收货人电话" align="center" prop="phone" />
|
||||||
|
<el-table-column label="收货人所在省" align="center" prop="province" />
|
||||||
|
<el-table-column label="收货人所在市" align="center" prop="city" />
|
||||||
|
<!-- <el-table-column label="城市id" align="center" prop="cityId" />-->
|
||||||
|
<el-table-column label="收货人所在区" align="center" prop="district" />
|
||||||
|
<el-table-column label="收货人详细地址" align="center" prop="detail" />
|
||||||
|
<el-table-column label="邮编" align="center" prop="postCode" />
|
||||||
|
<el-table-column label="位置" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<a
|
||||||
|
:href="`https://uri.amap.com/marker?position=${scope.row.longitude},${scope.row.latitude}`"
|
||||||
|
target="_blank"
|
||||||
|
class="link-type">
|
||||||
|
{{ scope.row.longitude }}, {{ scope.row.latitude }}
|
||||||
|
</a>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="是否默认" align="center" prop="isDefault" />
|
||||||
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
@click="handleUpdate(scope.row)"
|
||||||
|
v-hasPermi="['system:address:edit']"
|
||||||
|
>修改</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-delete"
|
||||||
|
@click="handleDelete(scope.row)"
|
||||||
|
v-hasPermi="['system:address:remove']"
|
||||||
|
>删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total>0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNum"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!-- 添加或修改用户地址对话框 -->
|
||||||
|
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="90px">
|
||||||
|
<el-form-item label="用户" prop="userName">
|
||||||
|
<el-input v-model="form.userName" placeholder="请输入用户" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="收货人姓名" prop="realName">
|
||||||
|
<el-input v-model="form.realName" placeholder="请输入收货人姓名" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="收货人电话" prop="phone">
|
||||||
|
<el-input v-model="form.phone" placeholder="请输入收货人电话" />
|
||||||
|
</el-form-item>
|
||||||
|
<!-- <el-form-item label="收货人所在省" prop="province">-->
|
||||||
|
<!-- <el-input v-model="form.province" placeholder="请输入收货人所在省" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- <el-form-item label="收货人所在市" prop="city">-->
|
||||||
|
<!-- <el-input v-model="form.city" placeholder="请输入收货人所在市" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- <el-form-item label="城市id" prop="cityId">-->
|
||||||
|
<!-- <el-input v-model="form.cityId" placeholder="请输入城市id" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- <el-form-item label="收货人所在区" prop="district">-->
|
||||||
|
<!-- <el-input v-model="form.district" placeholder="请输入收货人所在区" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<el-form-item label="收货人详细地址" prop="detail">
|
||||||
|
<el-input v-model="form.detail" placeholder="请输入收货人详细地址" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="邮编" prop="postCode">
|
||||||
|
<el-input v-model="form.postCode" placeholder="请输入邮编" />
|
||||||
|
</el-form-item>
|
||||||
|
<!-- <el-form-item label="经度" prop="longitude">-->
|
||||||
|
<!-- <el-input v-model="form.longitude" placeholder="请输入经度" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- <el-form-item label="纬度" prop="latitude">-->
|
||||||
|
<!-- <el-input v-model="form.latitude" placeholder="请输入纬度" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<el-form-item label="是否默认" prop="isDefault">
|
||||||
|
<template>
|
||||||
|
<el-radio v-model="form.isDefault" label="1">是</el-radio>
|
||||||
|
<el-radio v-model="form.isDefault" label="0">否</el-radio>
|
||||||
|
</template>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { listAddress, getAddress, delAddress, addAddress, updateAddress } from "@/api/system/address";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "Address",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 用户地址表格数据
|
||||||
|
addressList: [],
|
||||||
|
// 弹出层标题
|
||||||
|
title: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
open: false,
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
uid: null,
|
||||||
|
realName: null,
|
||||||
|
phone: null,
|
||||||
|
province: null,
|
||||||
|
city: null,
|
||||||
|
cityId: null,
|
||||||
|
district: null,
|
||||||
|
detail: null,
|
||||||
|
postCode: null,
|
||||||
|
longitude: null,
|
||||||
|
latitude: null,
|
||||||
|
isDefault: null,
|
||||||
|
},
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
// 表单校验
|
||||||
|
rules: {
|
||||||
|
uid: [
|
||||||
|
{ required: true, message: "用户id不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
province: [
|
||||||
|
{ required: true, message: "收货人所在省不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
city: [
|
||||||
|
{ required: true, message: "收货人所在市不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
district: [
|
||||||
|
{ required: true, message: "收货人所在区不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
detail: [
|
||||||
|
{ required: true, message: "收货人详细地址不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
postCode: [
|
||||||
|
{ required: true, message: "邮编不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
isDefault: [
|
||||||
|
{ required: true, message: "是否默认不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
isDel: [
|
||||||
|
{ required: true, message: "是否删除不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 查询用户地址列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
listAddress(this.queryParams).then(response => {
|
||||||
|
this.addressList = response.rows;
|
||||||
|
this.total = response.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 取消按钮
|
||||||
|
cancel() {
|
||||||
|
this.open = false;
|
||||||
|
this.reset();
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
id: null,
|
||||||
|
uid: null,
|
||||||
|
realName: null,
|
||||||
|
phone: null,
|
||||||
|
province: null,
|
||||||
|
city: null,
|
||||||
|
cityId: null,
|
||||||
|
district: null,
|
||||||
|
detail: null,
|
||||||
|
postCode: null,
|
||||||
|
longitude: null,
|
||||||
|
latitude: null,
|
||||||
|
isDefault: "1",
|
||||||
|
isDel: null,
|
||||||
|
createTime: null,
|
||||||
|
updateTime: null
|
||||||
|
};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.ids = selection.map(item => item.id)
|
||||||
|
this.single = selection.length!==1
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
/** 新增按钮操作 */
|
||||||
|
handleAdd() {
|
||||||
|
this.reset();
|
||||||
|
this.open = true;
|
||||||
|
this.title = "添加用户地址";
|
||||||
|
},
|
||||||
|
/** 修改按钮操作 */
|
||||||
|
handleUpdate(row) {
|
||||||
|
this.reset();
|
||||||
|
const id = row.id || this.ids
|
||||||
|
getAddress(id).then(response => {
|
||||||
|
this.form = response.data;
|
||||||
|
this.open = true;
|
||||||
|
this.title = "修改用户地址";
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
submitForm() {
|
||||||
|
this.$refs["form"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.form.id != null) {
|
||||||
|
updateAddress(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
addAddress(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("新增成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 删除按钮操作 */
|
||||||
|
handleDelete(row) {
|
||||||
|
const ids = row.id || this.ids;
|
||||||
|
this.$modal.confirm('是否确认删除用户地址编号为"' + ids + '"的数据项?').then(function() {
|
||||||
|
return delAddress(ids);
|
||||||
|
}).then(() => {
|
||||||
|
this.getList();
|
||||||
|
this.$modal.msgSuccess("删除成功");
|
||||||
|
}).catch(() => {});
|
||||||
|
},
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
handleExport() {
|
||||||
|
this.download('system/address/export', {
|
||||||
|
...this.queryParams
|
||||||
|
}, `address_${new Date().getTime()}.xlsx`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
@ -4,12 +4,13 @@
|
||||||
<el-form-item label="区域名称" prop="areaName">
|
<el-form-item label="区域名称" prop="areaName">
|
||||||
<el-input v-model="queryParams.areaName" placeholder="请输入区域名称" clearable @keyup.enter.native="handleQuery" />
|
<el-input v-model="queryParams.areaName" placeholder="请输入区域名称" clearable @keyup.enter.native="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="经度" prop="longitude">
|
|
||||||
<el-input v-model="queryParams.longitude" placeholder="请输入经度" clearable @keyup.enter.native="handleQuery" />
|
<!-- <el-form-item label="经度" prop="longitude">-->
|
||||||
</el-form-item>
|
<!-- <el-input v-model="queryParams.longitude" placeholder="请输入经度" clearable @keyup.enter.native="handleQuery" />-->
|
||||||
<el-form-item label="纬度" prop="latitude">
|
<!-- </el-form-item>-->
|
||||||
<el-input v-model="queryParams.latitude" placeholder="请输入纬度" clearable @keyup.enter.native="handleQuery" />
|
<!-- <el-form-item label="纬度" prop="latitude">-->
|
||||||
</el-form-item>
|
<!-- <el-input v-model="queryParams.latitude" placeholder="请输入纬度" clearable @keyup.enter.native="handleQuery" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
|
@ -44,13 +45,27 @@
|
||||||
<!-- <el-table-column label="边界值" align="center" prop="boundaryStr" />-->
|
<!-- <el-table-column label="边界值" align="center" prop="boundaryStr" />-->
|
||||||
<el-table-column label="经度" align="center" prop="longitude" />
|
<el-table-column label="经度" align="center" prop="longitude" />
|
||||||
<el-table-column label="纬度" align="center" prop="latitude" />
|
<el-table-column label="纬度" align="center" prop="latitude" />
|
||||||
<el-table-column label="状态" align="center" prop="status" />
|
<el-table-column label="状态" align="center" key="status">
|
||||||
<el-table-column label="运营时间" align="center" prop="areaTime" />
|
<template slot-scope="scope">
|
||||||
<el-table-column label="运营区域外断电" align="center" prop="areaOutOutage" />
|
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1"
|
||||||
|
@change="handleStatusChange(scope.row)"></el-switch>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="运营时间" align="center" prop="areaTime">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.et_operating_area_time" :value="scope.row.areaTime"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="运营区域外断电" align="center" prop="areaOutOutage" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.area_out_outage" :value="scope.row.areaOutOutage"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
<!-- <el-table-column label="电子围栏外还车调度:0-关闭;1-开启" align="center" prop="areaOutDispatch" />-->
|
<!-- <el-table-column label="电子围栏外还车调度:0-关闭;1-开启" align="center" prop="areaOutDispatch" />-->
|
||||||
<el-table-column label="安全协议" align="center" prop="agreement" />
|
<el-table-column label="安全协议" align="center" prop="agreement" />
|
||||||
<el-table-column label="运营开始时间" align="center" prop="areaTimeStart" />
|
<!-- <el-table-column label="运营开始时间" align="center" prop="areaTimeStart" />-->
|
||||||
<el-table-column label="运营结束时间" align="center" prop="areaTimeEnd" />
|
<!-- <el-table-column label="运营结束时间" align="center" prop="areaTimeEnd" />-->
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
|
|
@ -117,6 +132,7 @@ import { listArea, getArea, delArea, addArea, updateArea } from "@/api/system/ar
|
||||||
export default {
|
export default {
|
||||||
name: "Area",
|
name: "Area",
|
||||||
components: { AreaMap },
|
components: { AreaMap },
|
||||||
|
dicts: ['et_operating_area_time','area_out_outage'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
|
|
@ -175,6 +191,24 @@ export default {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleStatusChange(row) {
|
||||||
|
let text = row.status === "0" ? "启用" : "停用";
|
||||||
|
this.$modal.confirm('确认要"' + text + row.areaName + '"运营区吗?').then(function () {
|
||||||
|
let data = {
|
||||||
|
areaId: row.areaId,
|
||||||
|
status: row.status,
|
||||||
|
deptId: row.deptId
|
||||||
|
}
|
||||||
|
updateArea(data).then(response => {
|
||||||
|
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
}).then(() => {
|
||||||
|
this.$modal.msgSuccess(text + "成功");
|
||||||
|
}).catch(function () {
|
||||||
|
row.status = row.status === "0" ? "1" : "0";
|
||||||
|
});
|
||||||
|
},
|
||||||
/** 查询运营区列表 */
|
/** 查询运营区列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
|
|
||||||
|
|
@ -118,8 +118,15 @@
|
||||||
<el-form-item label="车型" prop="model">
|
<el-form-item label="车型" prop="model">
|
||||||
<el-input v-model="form.model" placeholder="请输入车型" />
|
<el-input v-model="form.model" placeholder="请输入车型" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="userName == 'admin'" label="品牌商" prop="brand">
|
<el-form-item label="品牌商" prop="brandId">
|
||||||
<treeselect v-model="form.brand" :options="deptOptions" :show-count="true" placeholder="选择上级品牌商" />
|
<el-select v-model="form.brandId" placeholder="请选择品牌商" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in brandList"
|
||||||
|
:key="item.brandId"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.brandId"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="满电电压(V)" label-width="90" prop="fullVoltage">
|
<el-form-item label="满电电压(V)" label-width="90" prop="fullVoltage">
|
||||||
<el-input style="width: 85%" v-model="form.fullVoltage" placeholder="请输入满电电压" />
|
<el-input style="width: 85%" v-model="form.fullVoltage" placeholder="请输入满电电压" />
|
||||||
|
|
@ -147,6 +154,7 @@ import { listModel, getModel, delModel, addModel, updateModel } from "@/api/syst
|
||||||
import Treeselect from "@riophae/vue-treeselect";
|
import Treeselect from "@riophae/vue-treeselect";
|
||||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||||
import { deptTreeSelect } from '@/api/system/user'
|
import { deptTreeSelect } from '@/api/system/user'
|
||||||
|
import {listBrand} from "@/api/system/brand";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Model",
|
name: "Model",
|
||||||
|
|
@ -170,6 +178,7 @@ export default {
|
||||||
total: 0,
|
total: 0,
|
||||||
// 车辆型号表格数据
|
// 车辆型号表格数据
|
||||||
modelList: [],
|
modelList: [],
|
||||||
|
brandList: [],
|
||||||
// 弹出层标题
|
// 弹出层标题
|
||||||
title: "",
|
title: "",
|
||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
|
|
@ -181,6 +190,10 @@ export default {
|
||||||
model: null,
|
model: null,
|
||||||
brand: null,
|
brand: null,
|
||||||
},
|
},
|
||||||
|
brandParams:{
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 999
|
||||||
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
|
|
@ -214,11 +227,16 @@ export default {
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getList();
|
this.getList();
|
||||||
// this.getBrandList();
|
this.getBrandList();
|
||||||
console.log("当前用户信息:",this.$store.state.user.name)
|
console.log("当前用户信息:",this.$store.state.user.name)
|
||||||
this.userName = this.$store.state.user.name;
|
this.userName = this.$store.state.user.name;
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getBrandList(){
|
||||||
|
listBrand(this.brandParams).then(response => {
|
||||||
|
this.brandList = response.rows;
|
||||||
|
});
|
||||||
|
},
|
||||||
/** 查询车辆型号列表 */
|
/** 查询车辆型号列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
|
|
||||||
|
|
@ -207,16 +207,16 @@
|
||||||
<!-- @keyup.enter.native="handleQuery"-->
|
<!-- @keyup.enter.native="handleQuery"-->
|
||||||
<!-- />-->
|
<!-- />-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="配送方式" prop="deliveryMethod">
|
<!-- <el-form-item label="配送方式" prop="deliveryMethod">-->
|
||||||
<el-select v-model="queryParams.deliveryMethod" placeholder="请选择配送方式" clearable>
|
<!-- <el-select v-model="queryParams.deliveryMethod" placeholder="请选择配送方式" clearable>-->
|
||||||
<el-option
|
<!-- <el-option-->
|
||||||
v-for="dict in dict.type.rl_distribution_mode"
|
<!-- v-for="dict in dict.type.rl_distribution_mode"-->
|
||||||
:key="dict.value"
|
<!-- :key="dict.value"-->
|
||||||
:label="dict.label"
|
<!-- :label="dict.label"-->
|
||||||
:value="dict.value"
|
<!-- :value="dict.value"-->
|
||||||
/>
|
<!-- />-->
|
||||||
</el-select>
|
<!-- </el-select>-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<!-- <el-form-item label="取车时间" prop="pickupTime">-->
|
<!-- <el-form-item label="取车时间" prop="pickupTime">-->
|
||||||
<!-- <el-date-picker clearable-->
|
<!-- <el-date-picker clearable-->
|
||||||
<!-- v-model="queryParams.pickupTime"-->
|
<!-- v-model="queryParams.pickupTime"-->
|
||||||
|
|
@ -225,14 +225,14 @@
|
||||||
<!-- placeholder="请选择取车时间">-->
|
<!-- placeholder="请选择取车时间">-->
|
||||||
<!-- </el-date-picker>-->
|
<!-- </el-date-picker>-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="代理商id" prop="agentId">
|
<!-- <el-form-item label="代理商id" prop="agentId">-->
|
||||||
<el-input
|
<!-- <el-input-->
|
||||||
v-model="queryParams.agentId"
|
<!-- v-model="queryParams.agentId"-->
|
||||||
placeholder="请输入代理商id"
|
<!-- placeholder="请输入代理商id"-->
|
||||||
clearable
|
<!-- clearable-->
|
||||||
@keyup.enter.native="handleQuery"
|
<!-- @keyup.enter.native="handleQuery"-->
|
||||||
/>
|
<!-- />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<!-- <el-form-item label="店铺id" prop="storeId">-->
|
<!-- <el-form-item label="店铺id" prop="storeId">-->
|
||||||
<!-- <el-input-->
|
<!-- <el-input-->
|
||||||
<!-- v-model="queryParams.storeId"-->
|
<!-- v-model="queryParams.storeId"-->
|
||||||
|
|
@ -303,7 +303,7 @@
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="orderList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="orderList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<el-table-column label="代理商" align="center" prop="agentName" />
|
<!-- <el-table-column label="代理商" align="center" prop="agentName" />-->
|
||||||
<el-table-column label="店铺" align="center" prop="storeName" />
|
<el-table-column label="店铺" align="center" prop="storeName" />
|
||||||
<!-- <el-table-column label="订单id" align="center" prop="orderId" />-->
|
<!-- <el-table-column label="订单id" align="center" prop="orderId" />-->
|
||||||
<el-table-column label="订单号" width="150" align="center" prop="orderNo" />
|
<el-table-column label="订单号" width="150" align="center" prop="orderNo" />
|
||||||
|
|
@ -362,11 +362,11 @@
|
||||||
<el-table-column label="服务费" align="center" prop="platformServiceFee" />
|
<el-table-column label="服务费" align="center" prop="platformServiceFee" />
|
||||||
<el-table-column label="运营商分账" align="center" prop="operatorDividend" />
|
<el-table-column label="运营商分账" align="center" prop="operatorDividend" />
|
||||||
<el-table-column label="支付渠道id" align="center" prop="payChannel" />
|
<el-table-column label="支付渠道id" align="center" prop="payChannel" />
|
||||||
<el-table-column label="配送方式" align="center" prop="deliveryMethod">
|
<!-- <el-table-column label="配送方式" align="center" prop="deliveryMethod">-->
|
||||||
<template slot-scope="scope">
|
<!-- <template slot-scope="scope">-->
|
||||||
<dict-tag :options="dict.type.rl_distribution_mode" :value="scope.row.deliveryMethod"/>
|
<!-- <dict-tag :options="dict.type.rl_distribution_mode" :value="scope.row.deliveryMethod"/>-->
|
||||||
</template>
|
<!-- </template>-->
|
||||||
</el-table-column>
|
<!-- </el-table-column>-->
|
||||||
<el-table-column label="取车时间" align="center" prop="pickupTime" width="180">
|
<el-table-column label="取车时间" align="center" prop="pickupTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{ parseTime(scope.row.pickupTime, '{y}-{m}-{d}') }}</span>
|
<span>{{ parseTime(scope.row.pickupTime, '{y}-{m}-{d}') }}</span>
|
||||||
|
|
@ -514,16 +514,16 @@
|
||||||
<el-form-item label="支付渠道id" prop="payChannel">
|
<el-form-item label="支付渠道id" prop="payChannel">
|
||||||
<el-input v-model="form.payChannel" placeholder="请输入支付渠道id" />
|
<el-input v-model="form.payChannel" placeholder="请输入支付渠道id" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="配送方式" prop="deliveryMethod">
|
<!-- <el-form-item label="配送方式" prop="deliveryMethod">-->
|
||||||
<el-select v-model="form.deliveryMethod" placeholder="请选择配送方式">
|
<!-- <el-select v-model="form.deliveryMethod" placeholder="请选择配送方式">-->
|
||||||
<el-option
|
<!-- <el-option-->
|
||||||
v-for="dict in dict.type.rl_distribution_mode"
|
<!-- v-for="dict in dict.type.rl_distribution_mode"-->
|
||||||
:key="dict.value"
|
<!-- :key="dict.value"-->
|
||||||
:label="dict.label"
|
<!-- :label="dict.label"-->
|
||||||
:value="parseInt(dict.value)"
|
<!-- :value="parseInt(dict.value)"-->
|
||||||
></el-option>
|
<!-- ></el-option>-->
|
||||||
</el-select>
|
<!-- </el-select>-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="取车时间" prop="pickupTime">
|
<el-form-item label="取车时间" prop="pickupTime">
|
||||||
<el-date-picker clearable
|
<el-date-picker clearable
|
||||||
v-model="form.pickupTime"
|
v-model="form.pickupTime"
|
||||||
|
|
@ -532,9 +532,9 @@
|
||||||
placeholder="请选择取车时间">
|
placeholder="请选择取车时间">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="代理商id" prop="agentId">
|
<!-- <el-form-item label="代理商id" prop="agentId">-->
|
||||||
<el-input v-model="form.agentId" placeholder="请输入代理商id" />
|
<!-- <el-input v-model="form.agentId" placeholder="请输入代理商id" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="店铺id" prop="storeId">
|
<el-form-item label="店铺id" prop="storeId">
|
||||||
<el-input v-model="form.storeId" placeholder="请输入店铺id" />
|
<el-input v-model="form.storeId" placeholder="请输入店铺id" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
|
||||||
307
src/views/system/refund/index.vue
Normal file
307
src/views/system/refund/index.vue
Normal file
|
|
@ -0,0 +1,307 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
|
<el-form-item label="代理商" prop="deptId" v-if="userName == 'admin' && !deptId">
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.deptId"
|
||||||
|
filterable
|
||||||
|
placeholder="选择代理商"
|
||||||
|
style="width: 120px"
|
||||||
|
clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in deptOptions"
|
||||||
|
:key="item.deptId"
|
||||||
|
:label="item.deptName"
|
||||||
|
:value="item.deptId"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="运营区" prop="areaId" v-if="userName == 'admin' && !deptId">
|
||||||
|
<el-select v-model="queryParams.areaId" filterable placeholder="请选择运营区" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in areaOptions"
|
||||||
|
:key="item.areaId"
|
||||||
|
:label="item.areaName"
|
||||||
|
:value="item.areaId"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="退款单号" prop="refundNo">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.refundNo"
|
||||||
|
placeholder="请输入退款单号"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="关联订单" prop="orderNo">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.orderNo"
|
||||||
|
placeholder="请输入关联订单"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="用户" prop="userName">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.userName"
|
||||||
|
placeholder="请输入用户"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="退款金额" prop="amount">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.amount"
|
||||||
|
placeholder="请输入退款金额"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="退款说明" prop="itemDesc">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.itemDesc"
|
||||||
|
placeholder="请输入退款项目说明"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
@click="handleExport"
|
||||||
|
v-hasPermi="['system:refund:export']"
|
||||||
|
>导出</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="refundList" @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
|
<el-table-column label="区域" align="center" prop="areaName" />
|
||||||
|
<el-table-column label="退款单号" align="center" prop="refundNo" />
|
||||||
|
<el-table-column label="关联订单" align="center" prop="orderNo" />
|
||||||
|
<el-table-column label="用户" align="center" prop="userName" />
|
||||||
|
<el-table-column label="退款金额" align="center" prop="amount" />
|
||||||
|
<el-table-column label="退款原因" align="center" prop="reason" />
|
||||||
|
<el-table-column label="退款时间" align="center" prop="createTime" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="退款项目说明" align="center" prop="itemDesc" />
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total>0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNum"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!-- 添加或修改退款订单对话框 -->
|
||||||
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { listRefund, getRefund, delRefund, addRefund, updateRefund } from "@/api/system/refund";
|
||||||
|
// import { optionselect as getAreaOptionselect } from '@/api/system/area'
|
||||||
|
// import { listDept2 } from '@/api/system/dept'
|
||||||
|
export default {
|
||||||
|
name: "Refund",
|
||||||
|
props: {
|
||||||
|
// 用户id
|
||||||
|
deptId: {
|
||||||
|
type: Number,
|
||||||
|
default: null,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
userName: undefined,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 退款订单表格数据
|
||||||
|
refundList: [],
|
||||||
|
areaOptions: [],
|
||||||
|
deptOptions:[],
|
||||||
|
// 弹出层标题
|
||||||
|
title: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
open: false,
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 20,
|
||||||
|
deptId: this.deptId,
|
||||||
|
refundNo: null,
|
||||||
|
orderNo: null,
|
||||||
|
userId: null,
|
||||||
|
amount: null,
|
||||||
|
itemDesc: null
|
||||||
|
},
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
// 表单校验
|
||||||
|
rules: {
|
||||||
|
orderNo: [
|
||||||
|
{ required: true, message: "关联订单不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
userId: [
|
||||||
|
{ required: true, message: "用户ID不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
console.log("当前用户信息:",this.$store.state.user.name)
|
||||||
|
this.userName = this.$store.state.user.name;
|
||||||
|
// this.getDeptList()
|
||||||
|
this.getList();
|
||||||
|
// this.getAreaList();
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// getDeptList() {
|
||||||
|
// listDept2({ status: "0", pageNum: 1, pageSize: 999 }).then((response) => {
|
||||||
|
// this.deptOptions = response.rows;
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
// /** 查运营区列表 */
|
||||||
|
// getAreaList() {
|
||||||
|
// getAreaOptionselect().then(response => {
|
||||||
|
// this.areaOptions = response.data;
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
/** 查询退款订单列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
listRefund(this.queryParams).then(response => {
|
||||||
|
this.refundList = response.rows;
|
||||||
|
this.total = response.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 取消按钮
|
||||||
|
cancel() {
|
||||||
|
this.open = false;
|
||||||
|
this.reset();
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
id: null,
|
||||||
|
refundNo: null,
|
||||||
|
orderNo: null,
|
||||||
|
userId: null,
|
||||||
|
amount: null,
|
||||||
|
dispatchFee: null,
|
||||||
|
manageFee: null,
|
||||||
|
ridingFee: null,
|
||||||
|
appointmentFee: null,
|
||||||
|
reason: null,
|
||||||
|
createTime: null,
|
||||||
|
itemDesc: null
|
||||||
|
};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.ids = selection.map(item => item.id)
|
||||||
|
this.single = selection.length!==1
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
/** 新增按钮操作 */
|
||||||
|
handleAdd() {
|
||||||
|
this.reset();
|
||||||
|
this.open = true;
|
||||||
|
this.title = "添加退款订单";
|
||||||
|
},
|
||||||
|
/** 修改按钮操作 */
|
||||||
|
handleUpdate(row) {
|
||||||
|
this.reset();
|
||||||
|
const id = row.id || this.ids
|
||||||
|
getRefund(id).then(response => {
|
||||||
|
this.form = response.data;
|
||||||
|
this.open = true;
|
||||||
|
this.title = "修改退款订单";
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
submitForm() {
|
||||||
|
this.$refs["form"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.form.id != null) {
|
||||||
|
updateRefund(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
addRefund(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("新增成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 删除按钮操作 */
|
||||||
|
handleDelete(row) {
|
||||||
|
const ids = row.id || this.ids;
|
||||||
|
this.$modal.confirm('是否确认删除退款订单编号为"' + ids + '"的数据项?').then(function() {
|
||||||
|
return delRefund(ids);
|
||||||
|
}).then(() => {
|
||||||
|
this.getList();
|
||||||
|
this.$modal.msgSuccess("删除成功");
|
||||||
|
}).catch(() => {});
|
||||||
|
},
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
handleExport() {
|
||||||
|
this.download('system/refund/export', {
|
||||||
|
...this.queryParams
|
||||||
|
}, `refund_${new Date().getTime()}.xlsx`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
@ -1,6 +1,16 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
|
<el-form-item label="代理商" prop="deptId" v-if="userName == 'admin'">
|
||||||
|
<el-select v-model="queryParams.deptId" filterable placeholder="请选择代理商" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in deptOptions"
|
||||||
|
:key="item.deptId"
|
||||||
|
:label="item.deptName"
|
||||||
|
:value="item.deptId"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="提现单号" prop="withdrawNo">
|
<el-form-item label="提现单号" prop="withdrawNo">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.withdrawNo"
|
v-model="queryParams.withdrawNo"
|
||||||
|
|
@ -9,80 +19,16 @@
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="提现金额" prop="amount">
|
<el-form-item label="申请状态" prop="status">
|
||||||
<el-input
|
<el-select v-model="queryParams.status" placeholder="请选择申请状态" clearable>
|
||||||
v-model="queryParams.amount"
|
|
||||||
placeholder="请输入提现金额"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="运营商id" prop="deptId">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.deptId"
|
|
||||||
placeholder="请输入运营商id"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="状态" prop="status">
|
|
||||||
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
|
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in dict.type.rl_withdraw_status"
|
v-for="dict in dict.type.et_withdraw_status"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="申请人" prop="ownerName">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.ownerName"
|
|
||||||
placeholder="请输入申请人"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="申请人id" prop="ownerId">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.ownerId"
|
|
||||||
placeholder="请输入申请人id"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="手机号" prop="ownerPhone">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.ownerPhone"
|
|
||||||
placeholder="请输入手机号"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="服务费" prop="serviceCharge">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.serviceCharge"
|
|
||||||
placeholder="请输入服务费"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="成本" prop="cost">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.cost"
|
|
||||||
placeholder="请输入成本"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="打款方式" prop="paymentMethod">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.paymentMethod"
|
|
||||||
placeholder="请输入打款方式"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
|
@ -90,7 +36,7 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5" v-if="userName != 'admin'">
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
|
|
@ -98,29 +44,17 @@
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-hasPermi="['system:withdraw:add']"
|
v-hasPermi="['system:withdraw:add']"
|
||||||
>新增</el-button>
|
>申请</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5" v-if="userName != 'admin' && user.appUserId == null" >
|
||||||
<el-button
|
<el-button
|
||||||
type="success"
|
type="success"
|
||||||
plain
|
plain
|
||||||
icon="el-icon-edit"
|
icon="el-icon-link"
|
||||||
size="mini"
|
size="mini"
|
||||||
:disabled="single"
|
@click="bandWxUser"
|
||||||
@click="handleUpdate"
|
v-hasPermi="['system:withdraw:add']"
|
||||||
v-hasPermi="['system:withdraw:edit']"
|
>绑定微信用户</el-button>
|
||||||
>修改</el-button>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="1.5">
|
|
||||||
<el-button
|
|
||||||
type="danger"
|
|
||||||
plain
|
|
||||||
icon="el-icon-delete"
|
|
||||||
size="mini"
|
|
||||||
:disabled="multiple"
|
|
||||||
@click="handleDelete"
|
|
||||||
v-hasPermi="['system:withdraw:remove']"
|
|
||||||
>删除</el-button>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
|
|
@ -137,23 +71,29 @@
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="withdrawList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="withdrawList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<!-- <el-table-column label="提现id" align="center" prop="id" />-->
|
<!-- <el-table-column label="提现id" align="center" prop="id" />-->
|
||||||
|
<el-table-column label="代理商" align="center" prop="deptName" v-if="userName == 'admin'"/>
|
||||||
<el-table-column label="提现单号" align="center" prop="withdrawNo" />
|
<el-table-column label="提现单号" align="center" prop="withdrawNo" />
|
||||||
<el-table-column label="提现金额" align="center" prop="amount" />
|
<el-table-column label="提现金额:元" align="center" prop="amount" />
|
||||||
<!-- <el-table-column label="运营商id" align="center" prop="deptId" />-->
|
<el-table-column label="申请状态" align="center" prop="status">
|
||||||
<el-table-column label="状态" align="center" prop="status">
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag :options="dict.type.rl_withdraw_status" :value="scope.row.status"/>
|
<dict-tag :options="dict.type.et_withdraw_status" :value="scope.row.status"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="申请人" align="center" prop="ownerName" />
|
<el-table-column label="申请人" align="center" prop="applicant" />
|
||||||
<el-table-column label="申请人id" align="center" prop="ownerId" />
|
<el-table-column label="微信openid" align="center" prop="wxopenid" />
|
||||||
<el-table-column label="手机号" align="center" prop="ownerPhone" />
|
|
||||||
<el-table-column label="服务费" align="center" prop="serviceCharge" />
|
|
||||||
<el-table-column label="成本" align="center" prop="cost" />
|
|
||||||
<el-table-column label="打款方式" align="center" prop="paymentMethod" />
|
|
||||||
<el-table-column label="驳回原因" align="center" prop="rejectReason" />
|
<el-table-column label="驳回原因" align="center" prop="rejectReason" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="回调状态" align="center" prop="callStatus">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.et_call_status" :value="scope.row.callStatus"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column v-if="userName == 'admin'" label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button v-if="scope.row.status == 0"
|
<el-button v-if="scope.row.status == 0"
|
||||||
size="mini"
|
size="mini"
|
||||||
|
|
@ -163,22 +103,6 @@
|
||||||
v-hasPermi="['system:fault:query']"
|
v-hasPermi="['system:fault:query']"
|
||||||
>审核</el-button>
|
>审核</el-button>
|
||||||
</template>
|
</template>
|
||||||
<!-- <template slot-scope="scope">-->
|
|
||||||
<!-- <el-button-->
|
|
||||||
<!-- size="mini"-->
|
|
||||||
<!-- type="text"-->
|
|
||||||
<!-- icon="el-icon-edit"-->
|
|
||||||
<!-- @click="handleUpdate(scope.row)"-->
|
|
||||||
<!-- v-hasPermi="['system:withdraw:edit']"-->
|
|
||||||
<!-- >修改</el-button>-->
|
|
||||||
<!-- <el-button-->
|
|
||||||
<!-- size="mini"-->
|
|
||||||
<!-- type="text"-->
|
|
||||||
<!-- icon="el-icon-delete"-->
|
|
||||||
<!-- @click="handleDelete(scope.row)"-->
|
|
||||||
<!-- v-hasPermi="['system:withdraw:remove']"-->
|
|
||||||
<!-- >删除</el-button>-->
|
|
||||||
<!-- </template>-->
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
|
|
@ -192,46 +116,17 @@
|
||||||
|
|
||||||
<!-- 添加或修改提现记录对话框 -->
|
<!-- 添加或修改提现记录对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||||
<el-form-item label="提现单号" prop="withdrawNo">
|
<el-form-item label="可用余额">
|
||||||
<el-input v-model="form.withdrawNo" placeholder="请输入提现单号" />
|
<span style="color: red;font-weight: 700">{{balance}}</span> 元
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="提现金额" prop="amount">
|
</el-form>
|
||||||
<el-input v-model="form.amount" placeholder="请输入提现金额" />
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||||
|
<el-form-item label="提现金额:" prop="amount">
|
||||||
|
<el-input style="width: 40%" v-model="form.amount" placeholder="请输入提现金额" /> 元
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="运营商id" prop="deptId">
|
<el-form-item v-if="form.amount" label="提示:" style="font-weight: 300;color: red">
|
||||||
<el-input v-model="form.deptId" placeholder="请输入运营商id" />
|
<span class="amoun-tips" >提现金额:{{form.amount}}元,手续费:{{formattedFee}} 元,实际到账:{{actualAmount}} 元</span>
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="状态" prop="status">
|
|
||||||
<el-select v-model="form.status" placeholder="请选择状态">
|
|
||||||
<el-option
|
|
||||||
v-for="dict in dict.type.rl_withdraw_status"
|
|
||||||
:key="dict.value"
|
|
||||||
:label="dict.label"
|
|
||||||
:value="dict.value"
|
|
||||||
></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="驳回原因" prop="rejectReason">
|
|
||||||
<el-input v-model="form.rejectReason" type="textarea" placeholder="请输入内容" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="申请人" prop="ownerName">
|
|
||||||
<el-input v-model="form.ownerName" placeholder="请输入申请人" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="申请人id" prop="ownerId">
|
|
||||||
<el-input v-model="form.ownerId" placeholder="请输入申请人id" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="手机号" prop="ownerPhone">
|
|
||||||
<el-input v-model="form.ownerPhone" placeholder="请输入手机号" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="服务费" prop="serviceCharge">
|
|
||||||
<el-input v-model="form.serviceCharge" placeholder="请输入服务费" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="成本" prop="cost">
|
|
||||||
<el-input v-model="form.cost" placeholder="请输入成本" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="打款方式" prop="paymentMethod">
|
|
||||||
<el-input v-model="form.paymentMethod" placeholder="请输入打款方式" />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
|
|
@ -239,23 +134,126 @@
|
||||||
<el-button @click="cancel">取 消</el-button>
|
<el-button @click="cancel">取 消</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- 添加或修改提现记录对话框 -->
|
||||||
|
<!-- <el-dialog :title="title2" :visible.sync="open2" width="500px" append-to-body>-->
|
||||||
|
<!-- <el-form ref="form2" :model="form2" :rules="rules2" label-width="120px">-->
|
||||||
|
<!-- <el-form-item label="手机号码" prop="phonenumber">-->
|
||||||
|
<!-- <el-select-->
|
||||||
|
<!-- ref="headerSearchSelect"-->
|
||||||
|
<!-- v-model="form2.phonenumber"-->
|
||||||
|
<!-- :remote-method="queryPhonenumber"-->
|
||||||
|
<!-- filterable-->
|
||||||
|
<!-- default-first-option-->
|
||||||
|
<!-- remote-->
|
||||||
|
<!-- :loading="loading2"-->
|
||||||
|
<!-- placeholder="输入手机号搜索"-->
|
||||||
|
<!-- class="header-search-select" >-->
|
||||||
|
<!-- <el-option-->
|
||||||
|
<!-- v-for="item in options"-->
|
||||||
|
<!-- :key="item.value"-->
|
||||||
|
<!-- :label="item.label+'---'+item.appName"-->
|
||||||
|
<!-- :value="item.value">-->
|
||||||
|
<!-- </el-option>-->
|
||||||
|
<!-- </el-select>-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- </el-form>-->
|
||||||
|
<!-- <div slot="footer" class="dialog-footer">-->
|
||||||
|
<!-- <el-button type="primary" @click="submitForm2">确 定</el-button>-->
|
||||||
|
<!-- <el-button @click="cancel">取 消</el-button>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </el-dialog>-->
|
||||||
|
|
||||||
|
<el-dialog title="提现详细" :visible.sync="open3" width="700px" append-to-body>
|
||||||
|
<el-form ref="form3" :model="form3" label-width="100px" size="mini">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="代理商:">{{ form3.deptName }}</el-form-item>
|
||||||
|
<el-form-item label="提现单号:">{{ form3.withdrawNo }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="提现金额:"><span style="color: red;font-weight: 700">{{ form3.amount }}</span> 元</el-form-item>
|
||||||
|
<el-form-item label="申请人:">{{ form3.applicant }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="申请时间:">{{ form3.createTime }}</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="状态:">
|
||||||
|
<dict-tag :options="dict.type.et_withdraw_status" :value="form3.status"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="驳回原因" prop="rejectReason">
|
||||||
|
<el-input v-model="form3.rejectReason" type="textarea" placeholder="请输入驳回原因"
|
||||||
|
:autosize="{minRows: 4, maxRows: 4}" :style="{width: '100%'}"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button v-show="view == true" @click="open3 = false">关 闭</el-button>
|
||||||
|
<el-button v-show="view == false" type="success" @click="pass">通 过</el-button>
|
||||||
|
<el-button v-show="view == false" type="danger" @click="reject">拒 绝</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listWithdraw, getWithdraw, delWithdraw, addWithdraw, updateWithdraw } from "@/api/system/withdraw";
|
import { listWithdraw, getWithdraw, delWithdraw, addWithdraw, updateWithdraw } from "@/api/system/withdraw";
|
||||||
|
// import { getDeptByToken, listDept } from '@/api/system/dept'
|
||||||
|
import { fastSearch } from '@/api/user/user'
|
||||||
|
import { getUser } from '@/api/system/user'
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Withdraw",
|
name: "Withdraw",
|
||||||
dicts: ['rl_withdraw_status'],
|
dicts: ['et_call_status', 'et_withdraw_status'],
|
||||||
|
computed: {
|
||||||
|
formattedFee() {
|
||||||
|
console.log("handlingCharge===========",this.handlingCharge)
|
||||||
|
// 将handlingCharge转换为浮点类型
|
||||||
|
let handlingCharge = parseFloat(this.handlingCharge)/1000;
|
||||||
|
console.log("handlingCharge1===========", handlingCharge);
|
||||||
|
console.log("this.form.amount===========", this.form.amount);
|
||||||
|
// 计算手续费
|
||||||
|
let fee = this.form.amount * handlingCharge;
|
||||||
|
// 保留两位小数,并确保四舍五入
|
||||||
|
fee = fee.toFixed(2);
|
||||||
|
|
||||||
|
// 判断手续费是否为0
|
||||||
|
if (fee === 0) {
|
||||||
|
return '0.00 (免手续费)';
|
||||||
|
} else {
|
||||||
|
return `${fee} `;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
actualAmount() {
|
||||||
|
let amount = this.form.amount;
|
||||||
|
let handlingCharge = parseFloat(this.handlingCharge)/1000;
|
||||||
|
let fee = this.form.amount * handlingCharge;
|
||||||
|
// 四舍五入到两位小数
|
||||||
|
fee = Math.round(fee * 100) / 100;
|
||||||
|
// 计算实际到账金额并四舍五入到两位小数
|
||||||
|
let actual = amount - fee;
|
||||||
|
actual = actual.toFixed(2);
|
||||||
|
return `${actual} `;
|
||||||
|
}
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
loading: true,
|
loading: true,
|
||||||
// 选中数组
|
// 选中数组
|
||||||
ids: [],
|
ids: [],
|
||||||
|
deptOptions: [],
|
||||||
|
search: '',
|
||||||
|
options: [],
|
||||||
|
fuse: undefined,
|
||||||
// 非单个禁用
|
// 非单个禁用
|
||||||
single: true,
|
single: true,
|
||||||
|
loading2: false,
|
||||||
// 非多个禁用
|
// 非多个禁用
|
||||||
multiple: true,
|
multiple: true,
|
||||||
// 显示搜索条件
|
// 显示搜索条件
|
||||||
|
|
@ -264,37 +262,143 @@ export default {
|
||||||
total: 0,
|
total: 0,
|
||||||
// 提现记录表格数据
|
// 提现记录表格数据
|
||||||
withdrawList: [],
|
withdrawList: [],
|
||||||
|
balance: null,
|
||||||
|
userName:null,
|
||||||
|
user: null,
|
||||||
|
view: false,
|
||||||
// 弹出层标题
|
// 弹出层标题
|
||||||
title: "",
|
title: "",
|
||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
open: false,
|
open: false,
|
||||||
|
title2: "",
|
||||||
|
// 弹出层标题
|
||||||
|
open2: false,
|
||||||
|
// 是否显示弹出层
|
||||||
|
open3: false,
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 20,
|
||||||
withdrawNo: null,
|
withdrawNo: null,
|
||||||
amount: null,
|
|
||||||
deptId: null,
|
deptId: null,
|
||||||
status: null,
|
status: null,
|
||||||
rejectReason: null,
|
applicant: null,
|
||||||
ownerName: null,
|
phonenumber: null
|
||||||
ownerId: null,
|
|
||||||
ownerPhone: null,
|
|
||||||
serviceCharge: null,
|
|
||||||
cost: null,
|
|
||||||
paymentMethod: null
|
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
|
// 表单参数
|
||||||
|
form2: {},
|
||||||
|
form3: {},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {
|
||||||
|
amount: [
|
||||||
|
{ required: true, message: "提现金额不能为空", trigger: "blur" },
|
||||||
|
{ pattern: /^\d+$/, message: '提现金额必须为正整数', trigger: 'blur' },
|
||||||
|
// 提现金额不能小于 1
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if (value < 1) {
|
||||||
|
callback(new Error('提现金额不能小于1'));
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
// 不能超过 balance 值
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if (value > this.balance) {
|
||||||
|
callback(new Error('提现金额不能超过可用余额'));
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
rules2: {
|
||||||
|
phonenumber: [
|
||||||
|
{ required: true, message: "手机号码不能为空", trigger: "blur" },
|
||||||
|
// { pattern: /^1[3-9]\d{9}$/, message: '手机号码格式不正确', trigger: 'blur' },
|
||||||
|
]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
console.log("当前用户信息:",this.$store.state.user.id)
|
||||||
|
this.userName = this.$store.state.user.name;
|
||||||
|
let userId = this.$store.state.user.id;
|
||||||
|
getUser(userId).then(response => {
|
||||||
|
this.user = response.data;
|
||||||
|
});
|
||||||
this.getList();
|
this.getList();
|
||||||
|
if(this.userName === 'admin'){
|
||||||
|
listDept({status: '0',pageNum:1,pageSize:999 }).then(response => {
|
||||||
|
this.deptOptions = response.data;
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
/** 审核 */
|
||||||
|
handleEdit(row) {
|
||||||
|
this.open3 = true;
|
||||||
|
this.form3 = row;
|
||||||
|
this.view = false;
|
||||||
|
},
|
||||||
|
/** 通过 */
|
||||||
|
pass(){
|
||||||
|
this.$refs["form3"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.form3.id != null) {
|
||||||
|
this.form3.status = "1";
|
||||||
|
console.log("---------"+JSON.stringify(this.form3))
|
||||||
|
updateWithdraw(this.form3).then(response => {
|
||||||
|
this.$modal.msgSuccess("操作成功");
|
||||||
|
this.open3 = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 拒绝 */
|
||||||
|
reject(){
|
||||||
|
// console.log("-===========",this.form3.rejectReason)
|
||||||
|
if(this.form3.rejectReason == undefined || this.form3.rejectReason == ''){
|
||||||
|
this.$modal.msgError("驳回原因不能为空");
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$refs["form3"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.form3.id != null) {
|
||||||
|
this.form3.status = "2";
|
||||||
|
updateWithdraw(this.form3).then(response => {
|
||||||
|
this.$modal.msgSuccess("操作成功");
|
||||||
|
this.open3 = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
queryPhonenumber(query) {
|
||||||
|
console.log("query:",query)
|
||||||
|
if (query !== '') {
|
||||||
|
this.loading2 = true;
|
||||||
|
setTimeout(() => {
|
||||||
|
this.loading2 = false;
|
||||||
|
fastSearch({"phonenumber":query}).then(response => {
|
||||||
|
this.options = response.data;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}, 200);
|
||||||
|
} else {
|
||||||
|
this.options = []
|
||||||
|
}
|
||||||
|
},
|
||||||
/** 查询提现记录列表 */
|
/** 查询提现记录列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
|
@ -307,6 +411,7 @@ export default {
|
||||||
// 取消按钮
|
// 取消按钮
|
||||||
cancel() {
|
cancel() {
|
||||||
this.open = false;
|
this.open = false;
|
||||||
|
this.open2 = false;
|
||||||
this.reset();
|
this.reset();
|
||||||
},
|
},
|
||||||
// 表单重置
|
// 表单重置
|
||||||
|
|
@ -317,16 +422,16 @@ export default {
|
||||||
amount: null,
|
amount: null,
|
||||||
deptId: null,
|
deptId: null,
|
||||||
status: null,
|
status: null,
|
||||||
|
applicant: null,
|
||||||
|
wxopenid: null,
|
||||||
createTime: null,
|
createTime: null,
|
||||||
rejectReason: null,
|
callStatus: null
|
||||||
ownerName: null,
|
};
|
||||||
ownerId: null,
|
this.form2 = {
|
||||||
ownerPhone: null,
|
appUserId: null,
|
||||||
serviceCharge: null,
|
|
||||||
cost: null,
|
|
||||||
paymentMethod: null
|
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
|
this.resetForm("form2");
|
||||||
},
|
},
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
|
|
@ -346,9 +451,19 @@ export default {
|
||||||
},
|
},
|
||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
handleAdd() {
|
handleAdd() {
|
||||||
|
// //查询余额
|
||||||
|
// getDeptByToken().then(response => {
|
||||||
|
// this.balance = response.data.balance;
|
||||||
|
// this.handlingCharge = response.data.handlingCharge;
|
||||||
|
// });
|
||||||
this.reset();
|
this.reset();
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.title = "添加提现记录";
|
this.title = "申请提现";
|
||||||
|
},
|
||||||
|
bandWxUser(){
|
||||||
|
this.reset();
|
||||||
|
this.open2 = true;
|
||||||
|
this.title2 = "绑定微信用户";
|
||||||
},
|
},
|
||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
handleUpdate(row) {
|
handleUpdate(row) {
|
||||||
|
|
@ -380,6 +495,21 @@ export default {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
// submitForm2: function() {
|
||||||
|
// let form2 = this.form2
|
||||||
|
// this.$refs['form2'].validate(valid => {
|
||||||
|
// if (valid) {
|
||||||
|
// this.$modal.confirm('是否确认绑定?').then(function() {
|
||||||
|
// return bandAppUser({appUserId:form2.phonenumber})
|
||||||
|
// }).then(() => {
|
||||||
|
// // 刷新页面
|
||||||
|
// location.reload()
|
||||||
|
// this.$modal.msgSuccess('操作成功')
|
||||||
|
// }).catch(() => {
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// },
|
||||||
/** 删除按钮操作 */
|
/** 删除按钮操作 */
|
||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
const ids = row.id || this.ids;
|
const ids = row.id || this.ids;
|
||||||
|
|
@ -399,3 +529,22 @@ export default {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.el-select {
|
||||||
|
.el-input__inner{
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.el-input{
|
||||||
|
.el-input__inner{
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.amoun-tips{
|
||||||
|
color: red;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user