部署
This commit is contained in:
parent
df991b6721
commit
d721c27ea0
44
src/api/ss/refund.js
Normal file
44
src/api/ss/refund.js
Normal file
|
@ -0,0 +1,44 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 查询退款订单列表
|
||||
export function listRefund(query) {
|
||||
return request({
|
||||
url: '/ss/refund/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询退款订单详细
|
||||
export function getRefund(refundId) {
|
||||
return request({
|
||||
url: '/ss/refund/' + refundId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增退款订单
|
||||
export function addRefund(data) {
|
||||
return request({
|
||||
url: '/ss/refund',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改退款订单
|
||||
export function updateRefund(data) {
|
||||
return request({
|
||||
url: '/ss/refund',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除退款订单
|
||||
export function delRefund(refundId) {
|
||||
return request({
|
||||
url: '/ss/refund/' + refundId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
|
@ -67,3 +67,15 @@ export function rechargeDevice(id) {
|
|||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
// 订单退款
|
||||
export function refundBill(billId, refundAmount) {
|
||||
return request({
|
||||
url: '/system/bill/refund',
|
||||
method: 'put',
|
||||
data: {
|
||||
billId,
|
||||
refundAmount
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -60,11 +60,3 @@ export function delSmUser(userId) {
|
|||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 逻辑删除普通用户信息
|
||||
export function logicDelSmUser(userId) {
|
||||
return request({
|
||||
url: '/system/smUser/logic/' + userId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
|
1
src/assets/icons/svg/refund.svg
Normal file
1
src/assets/icons/svg/refund.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg t="1720592165595" class="icon" viewBox="0 0 1105 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4339" width="64" height="64"><path d="M395.815385 303.419077 490.692923 303.419077C495.655385 319.409231 501.720615 331.539692 517.159385 357.454769L598.803692 497.585231 680.487385 358.006154C695.926154 332.091077 702.542769 318.306462 706.953846 303.419077L802.382769 303.419077C795.214769 312.792615 773.159385 344.221538 763.234462 360.211692L687.104 481.595077 717.981538 481.595077C742.793846 481.595077 757.720615 480.492308 775.916308 477.184L775.916308 540.081231C757.169231 536.772923 742.242462 535.670154 717.981538 535.670154L653.430154 535.670154 635.234462 564.342154 635.234462 580.332308 716.878769 580.332308C741.691077 580.332308 755.515077 579.229538 774.813538 575.921231L774.813538 638.818462C756.066462 635.510154 741.139692 634.407385 716.878769 634.407385L635.234462 634.407385 635.234462 671.940923C635.234462 703.369846 636.337231 720.462769 639.645538 742.557538L558.001231 742.557538C560.758154 721.014154 562.412308 698.958769 562.412308 671.940923L562.412308 634.407385 479.113846 634.407385C454.301538 634.407385 439.926154 635.510154 421.179077 638.818462L421.179077 575.921231C440.477538 579.229538 453.750154 580.332308 479.113846 580.332308L562.412308 580.332308 562.412308 563.790769 544.216615 535.670154 480.216615 535.670154C454.852923 535.670154 441.028923 536.772923 422.281846 540.081231L422.281846 477.184C440.477538 480.492308 454.852923 481.595077 480.216615 481.595077L511.094154 481.595077 434.412308 360.211692C418.422154 335.399385 404.086154 313.895385 395.815385 303.419077ZM591.990154 1024C440.162462 1024 304.167385 957.518769 210.432 852.558769L272.699077 804.076308C351.901538 890.643692 465.447385 945.230769 591.990154 945.230769 831.251692 945.230769 1025.220923 751.261538 1025.220923 512 1025.220923 272.738462 831.251692 78.769231 591.990154 78.769231 396.8 78.769231 232.172308 208.029538 178.057846 385.536L243.436308 316.534154C257.378462 301.843692 279.630769 301.489231 293.139692 315.746462 306.609231 330.003692 306.254769 353.476923 292.312615 368.167385L166.124308 501.326769C156.396308 511.606154 142.651077 514.402462 130.638769 510.582154 116.224 513.654154 101.021538 507.313231 93.262769 493.016615L5.12 330.948923C-4.608 313.028923 1.142154 290.146462 18.038154 279.788308 34.894769 269.469538 56.438154 275.613538 66.166154 293.494154L102.872615 360.999385C167.345231 151.985231 361.826462 0 591.990154 0 874.771692 0 1103.990154 229.218462 1103.990154 512 1103.990154 794.781538 874.771692 1024 591.990154 1024Z" p-id="4340"></path></svg>
|
After Width: | Height: | Size: 2.6 KiB |
297
src/views/ss/refund/index.vue
Normal file
297
src/views/ss/refund/index.vue
Normal file
|
@ -0,0 +1,297 @@
|
|||
<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="refundNo">
|
||||
<el-input
|
||||
v-model="queryParams.refundNo"
|
||||
placeholder="请输入退款订单编号"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="退款状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择退款订单状态" clearable>
|
||||
<el-option
|
||||
v-for="dict in dict.type.refund_status"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</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="['ss:refund: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="['ss:refund: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="['ss:refund: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="['ss: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="退款ID" align="center" prop="refundId" width="80"/>
|
||||
<el-table-column label="退款订单编号" align="center" prop="refundNo" />
|
||||
<el-table-column label="原订单编号" align="center" prop="billNo" />
|
||||
<el-table-column label="退款金额" align="center" prop="amount" >
|
||||
<template slot-scope="d">
|
||||
{{d.row.amount | money}} 元
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="退款原因" align="center" prop="reason" />
|
||||
<el-table-column label="退款订单状态" align="center" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.refund_status" :value="scope.row.status"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="申请时间" align="center" prop="createTime" width="180"/>
|
||||
<!-- <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="['ss:refund:edit']"-->
|
||||
<!-- >修改</el-button>-->
|
||||
<!-- <el-button-->
|
||||
<!-- size="mini"-->
|
||||
<!-- type="text"-->
|
||||
<!-- icon="el-icon-delete"-->
|
||||
<!-- @click="handleDelete(scope.row)"-->
|
||||
<!-- v-hasPermi="['ss:refund: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="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="退款订单编号" prop="refundNo">
|
||||
<el-input v-model="form.refundNo" placeholder="请输入退款订单编号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="原订单ID" prop="billId">
|
||||
<el-input v-model="form.billId" placeholder="请输入原订单ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="退款金额" prop="amount">
|
||||
<el-input v-model="form.amount" placeholder="请输入退款金额" />
|
||||
</el-form-item>
|
||||
<el-form-item label="退款状态" prop="status">
|
||||
<el-radio-group v-model="form.status">
|
||||
<el-radio
|
||||
v-for="dict in dict.type.refund_status"
|
||||
:key="dict.value"
|
||||
:label="dict.value"
|
||||
>{{dict.label}}</el-radio>
|
||||
</el-radio-group>
|
||||
</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 { listRefund, getRefund, delRefund, addRefund, updateRefund } from "@/api/ss/refund";
|
||||
|
||||
export default {
|
||||
name: "Refund",
|
||||
dicts: ['refund_status'],
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 退款订单表格数据
|
||||
refundList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
refundId: null,
|
||||
refundNo: null,
|
||||
billId: null,
|
||||
status: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
refundNo: [
|
||||
{ required: true, message: "退款订单编号不能为空", trigger: "blur" }
|
||||
],
|
||||
status: [
|
||||
{ required: true, message: "退款订单状态不能为空", trigger: "change" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询退款订单列表 */
|
||||
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 = {
|
||||
refundId: null,
|
||||
refundNo: null,
|
||||
billId: null,
|
||||
amount: null,
|
||||
createTime: null,
|
||||
status: 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.refundId)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加退款订单";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const refundId = row.refundId || this.ids
|
||||
getRefund(refundId).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改退款订单";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.refundId != 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 refundIds = row.refundId || this.ids;
|
||||
this.$modal.confirm('是否确认删除退款订单编号为"' + refundIds + '"的数据项?').then(function() {
|
||||
return delRefund(refundIds);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('ss/refund/export', {
|
||||
...this.queryParams
|
||||
}, `refund_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
|
@ -123,14 +123,14 @@
|
|||
|
||||
<el-table v-loading="loading" :data="deviceList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="ID" align="center" prop="deviceId" />
|
||||
<el-table-column label="设备ID" align="center" prop="deviceId" width="100"/>
|
||||
<el-table-column label="图片" align="center" prop="picture" width="100">
|
||||
<template slot-scope="scope">
|
||||
<image-preview v-if="isEmpty(scope.row.customPicture)" :src="scope.row.picture" :width="50" :height="50"/>
|
||||
<image-preview v-else :src="scope.row.customPicture" :width="50" :height="50"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="设备二维码" align="center">
|
||||
<el-table-column label="二维码" align="center" width="80">
|
||||
<template slot-scope="d">
|
||||
<el-popover
|
||||
placement="top"
|
||||
|
@ -153,23 +153,19 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="设备名称" align="center" prop="deviceName" />
|
||||
<el-table-column label="型号" align="center" prop="model" />
|
||||
<el-table-column label="在线状态" align="center" prop="onlineStatus">
|
||||
<el-table-column label="在线状态" align="center" prop="onlineStatus" width="80">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sm_device_online_status" :value="scope.row.onlineStatus"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" align="center" prop="status">
|
||||
<el-table-column label="状态" align="center" prop="status" width="80">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sm_device_status" :value="scope.row.status"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="商户" align="center" prop="userName" />
|
||||
<el-table-column label="店铺名称" align="center" prop="storeName" />
|
||||
<el-table-column label="服务费费率" align="center" prop="serviceRate" width="150" >
|
||||
<template slot-scope="d">
|
||||
{{d.row.serviceRate == null ? '未设置' : d.row.serviceRate + '%'}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="所属用户" align="center" prop="userName" />
|
||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180"/>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
|
@ -178,7 +174,7 @@
|
|||
icon="el-icon-view"
|
||||
@click="handleSee(scope.row)"
|
||||
v-hasPermi="['system:device:detail']"
|
||||
>详细信息</el-button>
|
||||
>详情</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
|
|
|
@ -17,14 +17,6 @@
|
|||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="识别码" prop="idCode">
|
||||
<el-input
|
||||
v-model="queryParams.idCode"
|
||||
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>
|
||||
|
@ -79,28 +71,19 @@
|
|||
|
||||
<el-table v-loading="loading" :data="modelList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="型号id" align="center" prop="modelId" />
|
||||
<el-table-column label="型号id" align="center" prop="modelId" width="100"/>
|
||||
<el-table-column label="型号名称" align="center" prop="modelName" />
|
||||
<el-table-column label="型号" align="center" prop="model" />
|
||||
<el-table-column label="型号标签" align="center" prop="tags">
|
||||
<dict-tag slot-scope="d" :value="d.row.tags" :options="dict.type.sm_model_tag"/>
|
||||
</el-table-column>
|
||||
<el-table-column label="累计激活" align="center" prop="activationCount" />
|
||||
<el-table-column label="图片" align="center" prop="picture" width="100">
|
||||
<template slot-scope="scope">
|
||||
<image-preview :src="scope.row.picture" :width="50" :height="50"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="识别码" align="center" prop="idCode" />
|
||||
<el-table-column label="硬件版本" align="center" prop="versionId" />
|
||||
<el-table-column label="产品介绍" align="center" prop="introduce" />
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column label="在线率" align="center" >
|
||||
<template slot-scope="d">
|
||||
<template v-if="d.row.activationCount">{{(d.row.onlineCount / d.row.activationCount * 100).toFixed(2)}} % </template>
|
||||
<template v-else>0.00 %</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
|
@ -136,10 +119,10 @@
|
|||
<el-input v-model="form.modelName" placeholder="请输入型号名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="型号" prop="model">
|
||||
<el-input v-model="form.model" placeholder="请输入型号" :disabled="isEdit" />
|
||||
<el-input v-model="form.model" placeholder="请输入型号"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="型号标签" prop="tags">
|
||||
<el-select v-model="form.tags" placeholder="请选择型号标签" style="width: 100%" :disabled="isEdit" multiple>
|
||||
<el-select v-model="form.tags" placeholder="请选择型号标签" style="width: 100%" multiple>
|
||||
<el-option
|
||||
v-for="option of dict.type.sm_model_tag"
|
||||
:label="option.label"
|
||||
|
@ -151,12 +134,6 @@
|
|||
<el-form-item label="图片" prop="picture">
|
||||
<image-upload v-model="form.picture"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="识别码" prop="idCode">
|
||||
<el-input v-model="form.idCode" placeholder="请输入识别码" :disabled="isEdit"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="硬件版本" prop="versionId">
|
||||
<el-input v-model="form.versionId" placeholder="请输入硬件版本" :disabled="isEdit"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="产品介绍" prop="introduce">
|
||||
<el-input v-model="form.introduce" type="textarea" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="商户(到账用户)" label-width="120" prop="landlordId">
|
||||
<el-form-item label="商户(到账用户)" label-width="120" prop="mchName">
|
||||
<el-input
|
||||
v-model="queryParams.landlordName"
|
||||
v-model="queryParams.mchName"
|
||||
placeholder="请输入商户"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
|
@ -106,6 +106,13 @@
|
|||
@click="rechargeDevice(d.row.billId)"
|
||||
v-if="canRechargeDevice(d.row)"
|
||||
>手动设备充值</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
icon="el-icon-refresh"
|
||||
@click="handleRefund(d.row.billId)"
|
||||
v-has-permi="['system:bill:refund']"
|
||||
v-show="canRefund(d.row)"
|
||||
>订单退款</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -127,11 +134,35 @@
|
|||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 添加或修改充值记录对话框 -->
|
||||
<el-dialog :visible.sync="showRefund" title="退款">
|
||||
<el-form :model="refundForm" :rules="refundRules">
|
||||
<el-form-item label="退款金额" prop="refundAmount">
|
||||
<el-input-number v-model="refundForm.refundAmount" placeholder="请输入退款金额" /> 元
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitRefund">确 定</el-button>
|
||||
<el-button @click="this.showRefund = false">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {listBill, getBill, delBill, addBill, updateBill, refreshPayResult, rechargeDevice} from "@/api/system/recharge";
|
||||
import {
|
||||
listBill,
|
||||
getBill,
|
||||
delBill,
|
||||
addBill,
|
||||
updateBill,
|
||||
refreshPayResult,
|
||||
rechargeDevice,
|
||||
refundBill
|
||||
} from '@/api/system/recharge'
|
||||
|
||||
export default {
|
||||
name: "Bill",
|
||||
|
@ -169,7 +200,15 @@ export default {
|
|||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
}
|
||||
},
|
||||
refundRules: {
|
||||
refundAmount: [
|
||||
{ required: true, message: "退款金额不能为空", trigger: "blur" }
|
||||
]
|
||||
},
|
||||
showRefund: false,
|
||||
refundForm: {},
|
||||
refundLoading: false,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
|
@ -183,11 +222,33 @@ export default {
|
|||
return row.status === '2' && row.deviceRechargeStatus !== '1';
|
||||
}
|
||||
},
|
||||
canRefund() {
|
||||
return (row) => {
|
||||
return row.status === '2';
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
submitRefund() {
|
||||
this.refundLoading = true;
|
||||
refundBill(this.refundForm.billId, this.refundForm.refundAmount).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.$message.success("操作成功");
|
||||
}
|
||||
}).finally(() => {
|
||||
refundLoading
|
||||
})
|
||||
},
|
||||
handleRefund(id) {
|
||||
this.refundForm = {
|
||||
billId: id,
|
||||
refundAmount: null,
|
||||
}
|
||||
this.showRefund = true;
|
||||
},
|
||||
rechargeDevice(id) {
|
||||
rechargeDevice(id).then(res => {
|
||||
if (res.code === 200) {
|
||||
|
|
|
@ -117,6 +117,7 @@
|
|||
<dict-tag :options="dict.type.sm_user_status" :value="scope.row.status"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="设备数量" align="center" prop="deviceCount" />
|
||||
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
|
@ -125,7 +126,6 @@
|
|||
icon="el-icon-view"
|
||||
@click="handleSee(scope.row)"
|
||||
v-hasPermi="['system:smUser:detail']"
|
||||
v-if="scope.row.isMch === true"
|
||||
>查看详情</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
|
@ -194,7 +194,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { listSmUser, getSmUser, addSmUser, updateSmUser, logicDelSmUser } from '@/api/system/smUser'
|
||||
import { listSmUser, getSmUser, addSmUser, updateSmUser, delSmUser } from '@/api/system/smUser'
|
||||
import ServiceRateForm from '@/views/system/smUser/components/serviceRateForm.vue'
|
||||
|
||||
export default {
|
||||
|
@ -390,7 +390,7 @@ export default {
|
|||
handleDelete(row) {
|
||||
const userIds = row.userId || this.ids;
|
||||
this.$modal.confirm('是否确认删除普通用户信息编号为"' + userIds + '"的数据项?').then(function() {
|
||||
return logicDelSmUser(userIds);
|
||||
return delSmUser(userIds);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['system:smUser:add']"
|
||||
>添加租户</el-button>
|
||||
>添加用户</el-button>
|
||||
</el-col>
|
||||
<!-- <el-col :span="1.5">-->
|
||||
<!-- <el-button-->
|
||||
|
@ -136,8 +136,16 @@
|
|||
<dict-tag :options="dict.type.sm_user_status" :value="scope.row.status"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="设备数量" align="center" prop="deviceCount" />
|
||||
<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-view"
|
||||
@click="handleSee(scope.row)"
|
||||
v-hasPermi="['system:smUser:detail']"
|
||||
>查看详情</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
|
@ -206,7 +214,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import {listSmUser, getSmUser, addSmUser, updateSmUser, logicDelSmUser} from "@/api/system/smUser";
|
||||
import { listSmUser, getSmUser, addSmUser, updateSmUser, delSmUser } from '@/api/system/smUser'
|
||||
import ServiceRateForm from '@/views/system/smUser/components/serviceRateForm.vue'
|
||||
|
||||
export default {
|
||||
|
@ -291,6 +299,10 @@ export default {
|
|||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查看按钮操作 */
|
||||
handleSee(row) {
|
||||
this.$router.push({path: '/mch/detail', query: {userId: row.userId}})
|
||||
},
|
||||
handleUpdateServiceRate(row) {
|
||||
this.openServiceRate = true;
|
||||
},
|
||||
|
@ -401,7 +413,7 @@ export default {
|
|||
handleDelete(row) {
|
||||
const userIds = row.userId || this.ids;
|
||||
this.$modal.confirm('是否确认删除普通用户信息编号为"' + userIds + '"的数据项?').then(function() {
|
||||
return logicDelSmUser(userIds);
|
||||
return delSmUser(userIds);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
|
|
Loading…
Reference in New Issue
Block a user