From 48b391a208344eba163525851e6c0d045a84ab9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A3=B7=E5=8F=B6?= <14103883+leaf-phos@user.noreply.gitee.com> Date: Sat, 4 Jan 2025 18:05:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/ss/billEleRecord.js | 44 +++ src/utils/filter.js | 10 + src/utils/mixins.js | 2 +- src/views/ss/billEleRecord/index.vue | 363 ++++++++++++++++++ .../device/components/DeviceActions.vue | 55 +++ .../device/components/DeviceInfoCard.vue | 67 ++++ .../device/components/DeviceOverview.vue | 101 +++++ .../device/components/DeviceOwnerCard.vue | 88 +++++ .../device/components/DeviceStatusCard.vue | 73 ++++ src/views/system/recharge/detail.vue | 6 +- 10 files changed, 807 insertions(+), 2 deletions(-) create mode 100644 src/api/ss/billEleRecord.js create mode 100644 src/views/ss/billEleRecord/index.vue create mode 100644 src/views/system/device/components/DeviceActions.vue create mode 100644 src/views/system/device/components/DeviceInfoCard.vue create mode 100644 src/views/system/device/components/DeviceOverview.vue create mode 100644 src/views/system/device/components/DeviceOwnerCard.vue create mode 100644 src/views/system/device/components/DeviceStatusCard.vue diff --git a/src/api/ss/billEleRecord.js b/src/api/ss/billEleRecord.js new file mode 100644 index 0000000..4943fff --- /dev/null +++ b/src/api/ss/billEleRecord.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询订单电量记录列表 +export function listBillEleRecord(query) { + return request({ + url: '/ss/billEleRecord/list', + method: 'get', + params: query + }) +} + +// 查询订单电量记录详细 +export function getBillEleRecord(id) { + return request({ + url: '/ss/billEleRecord/' + id, + method: 'get' + }) +} + +// 新增订单电量记录 +export function addBillEleRecord(data) { + return request({ + url: '/ss/billEleRecord', + method: 'post', + data: data + }) +} + +// 修改订单电量记录 +export function updateBillEleRecord(data) { + return request({ + url: '/ss/billEleRecord', + method: 'put', + data: data + }) +} + +// 删除订单电量记录 +export function delBillEleRecord(id) { + return request({ + url: '/ss/billEleRecord/' + id, + method: 'delete' + }) +} diff --git a/src/utils/filter.js b/src/utils/filter.js index 27d63b7..092d6f4 100644 --- a/src/utils/filter.js +++ b/src/utils/filter.js @@ -12,9 +12,19 @@ const filters = { } return num.toFixed(3); }, + fix2(num) { + if (num == null) { + return num; + } + return num.toFixed(2); + }, // 缺省值 defaultValue(data) { return data == null ? '--' : data; + }, + // 缺省值 + dv(data) { + return filters.defaultValue(data); } } export default (vm) => { diff --git a/src/utils/mixins.js b/src/utils/mixins.js index a699b1b..7f7048e 100644 --- a/src/utils/mixins.js +++ b/src/utils/mixins.js @@ -184,7 +184,7 @@ export const $recharge = { }, canRefund() { return (row) => { - return row.status === '2'; + return ['2', '3'].includes(row.status); } }, canClose() { diff --git a/src/views/ss/billEleRecord/index.vue b/src/views/ss/billEleRecord/index.vue new file mode 100644 index 0000000..e8beb8f --- /dev/null +++ b/src/views/ss/billEleRecord/index.vue @@ -0,0 +1,363 @@ + + + + + + + + 搜索 + 重置 + + + + + + + 导出 + + + + + + + + + + + {{d.row[column.key]}} + + + {{d.row[column.key] | fix2 | dv}} 度 + + + {{d.row[column.key] | fix2 | dv}} 元 + + + 起始:{{d.row.timeStart | dv}} + 结束:{{d.row.timeEnd | dv}} + + + {{d.row[column.key]}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/system/device/components/DeviceActions.vue b/src/views/system/device/components/DeviceActions.vue new file mode 100644 index 0000000..483e680 --- /dev/null +++ b/src/views/system/device/components/DeviceActions.vue @@ -0,0 +1,55 @@ + + + + + 增加时长 + + + 增加电量 + + + + + + 更多操作 + + + 时长归零 + 电量归零 + + {{isOpen ? '强制关闭' : '强制开启'}} + + 刷新设备 + 设备二维码 + + + + + + + + \ No newline at end of file diff --git a/src/views/system/device/components/DeviceInfoCard.vue b/src/views/system/device/components/DeviceInfoCard.vue new file mode 100644 index 0000000..1d8971d --- /dev/null +++ b/src/views/system/device/components/DeviceInfoCard.vue @@ -0,0 +1,67 @@ + + + + + 设备信息 + + + + + + {{device.mac | defaultValue}} + + + + + + {{device.mac2 | defaultValue}} + + + + + + + {{device.model | defaultValue}} + + + {{device.productId | defaultValue}} + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/device/components/DeviceOverview.vue b/src/views/system/device/components/DeviceOverview.vue new file mode 100644 index 0000000..68ccb18 --- /dev/null +++ b/src/views/system/device/components/DeviceOverview.vue @@ -0,0 +1,101 @@ + + + + + + + {{device.deviceName || device.deviceNo || '未命名设备'}} + + {{isOpen ? '运行中' : '已关闭'}} + + + + + + + SN: {{device.deviceNo}} + + + + MAC: {{device.mac}} + + + + 最后在线: {{device.lastOnlineTime | defaultValue}} + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/device/components/DeviceOwnerCard.vue b/src/views/system/device/components/DeviceOwnerCard.vue new file mode 100644 index 0000000..15a4dfb --- /dev/null +++ b/src/views/system/device/components/DeviceOwnerCard.vue @@ -0,0 +1,88 @@ + + + + + 归属信息 + + + + 解绑代理商 + + + + + + + 解绑商户 + + + + + + + + + + {{device.deviceName | defaultValue}} + + + + + + + + + + + + + + + {{device.monthFee | money | defaultValue}} 元/月 + (到期时间:{{device.rentTime | defaultValue}}) + + + + + + + + \ No newline at end of file diff --git a/src/views/system/device/components/DeviceStatusCard.vue b/src/views/system/device/components/DeviceStatusCard.vue new file mode 100644 index 0000000..c044e66 --- /dev/null +++ b/src/views/system/device/components/DeviceStatusCard.vue @@ -0,0 +1,73 @@ + + + + + 实时状态 + {{updateTime}} + + + + + {{item.label}} + {{item.value}} + + + + + + + + \ No newline at end of file diff --git a/src/views/system/recharge/detail.vue b/src/views/system/recharge/detail.vue index 6a3784d..256c09a 100644 --- a/src/views/system/recharge/detail.vue +++ b/src/views/system/recharge/detail.vue @@ -178,6 +178,9 @@ + + + @@ -210,11 +213,12 @@ import RefundDialog from '@/views/system/recharge/components/RefundDialog.vue' import { toDescriptionFromSecond } from '@/utils/date' import BooleanTag from '@/components/BooleanTag/index.vue' import SuitTimePrice from '@/views/ss/suit/component/SuitTimePrice.vue' +import BillEleRecord from '@/views/ss/billEleRecord/index.vue' export default { name: 'Recharge/:billId', mixins: [$recharge], - components: { SuitTimePrice, BooleanTag, RefundDialog, Bonus, PayBill, UserLink, DeviceLink, Refund }, + components: { SuitTimePrice, BooleanTag, RefundDialog, Bonus, PayBill, UserLink, DeviceLink, Refund, BillEleRecord }, dicts: [ 'channel_type', 'sm_transaction_bill_status',