diff --git a/src/components/kv_line.vue b/src/components/kv_line.vue
index dd1cdc5..19c2dc8 100644
--- a/src/components/kv_line.vue
+++ b/src/components/kv_line.vue
@@ -1,8 +1,10 @@
{{ label || '' }}
- value
-
+
+
+
+
@@ -32,5 +34,9 @@ export default {
@include flcw(28upx, 48upx, #1A1A1A);
@include tHide;
}
+ .kl-right{
+ flex-grow: 1;
+ flex-shrink: 0;
+ }
}
\ No newline at end of file
diff --git a/src/pages.json b/src/pages.json
index 1486b78..522ff4b 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -910,6 +910,18 @@
"style" : {
"navigationBarTitleText": "使用记录"
}
+ },
+ {
+ "path": "pages/device/use_record",
+ "style" : {
+ "navigationBarTitleText": "水阀使用记录"
+ }
+ },
+ {
+ "path": "pages/device/use_detail",
+ "style" : {
+ "navigationBarTitleText": "水阀使用详情"
+ }
}
]
}
diff --git a/src/subpackage/shower/components/number_edit.vue b/src/subpackage/shower/components/number_edit.vue
new file mode 100644
index 0000000..edcc564
--- /dev/null
+++ b/src/subpackage/shower/components/number_edit.vue
@@ -0,0 +1,90 @@
+
+
+
+ *{{ label || '' }}
+
+
+
+
+
+ {{ unit || '' }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/subpackage/shower/components/popup/deduction.vue b/src/subpackage/shower/components/popup/deduction.vue
new file mode 100644
index 0000000..6e84e0e
--- /dev/null
+++ b/src/subpackage/shower/components/popup/deduction.vue
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/subpackage/shower/components/popup/recharge.vue b/src/subpackage/shower/components/popup/recharge.vue
new file mode 100644
index 0000000..1554ea5
--- /dev/null
+++ b/src/subpackage/shower/components/popup/recharge.vue
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/subpackage/shower/components/popup/template.vue b/src/subpackage/shower/components/popup/template.vue
new file mode 100644
index 0000000..791596b
--- /dev/null
+++ b/src/subpackage/shower/components/popup/template.vue
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/subpackage/shower/js/api.js b/src/subpackage/shower/js/api.js
new file mode 100644
index 0000000..5886ee0
--- /dev/null
+++ b/src/subpackage/shower/js/api.js
@@ -0,0 +1,12 @@
+import { ORIGIN } from '../../../js/api';
+
+export const SHOWER_API = {
+ CardList:`${ORIGIN}/admin/stadiumWaterCard/list`, // 后台-水卡-列表
+ CardDetails:`${ORIGIN}/admin/stadiumWaterCard/details`, // 后台-水卡-详情
+ CardRecharge:`${ORIGIN}/admin/stadiumWaterCard/recharge`, // 后台-水卡-充值
+ CardFeeDeduction:`${ORIGIN}/admin/stadiumWaterCard/feeDeduction`, // 后台-水卡-扣费
+ // CardList:`${ORIGIN}/admin/stadiumWaterCardUseRecord/list`, // 后台-水卡使用记录-列表
+ // CardListOfCard:`${ORIGIN}/admin/stadiumWaterCardUseRecord/listOfCard`, // 后台-水卡使用记录-(某张水卡的)列表
+}
+
+export default SHOWER_API;
\ No newline at end of file
diff --git a/src/subpackage/shower/js/server.js b/src/subpackage/shower/js/server.js
new file mode 100644
index 0000000..9245726
--- /dev/null
+++ b/src/subpackage/shower/js/server.js
@@ -0,0 +1,10 @@
+import { Server } from '../../../js/server';
+
+class DeviceServer extends Server {
+ constructor(props){
+ super(props)
+ }
+}
+
+
+export default new DeviceServer();
\ No newline at end of file
diff --git a/src/subpackage/shower/pages/card/detail.vue b/src/subpackage/shower/pages/card/detail.vue
index 500f30d..5bc0f2c 100644
--- a/src/subpackage/shower/pages/card/detail.vue
+++ b/src/subpackage/shower/pages/card/detail.vue
@@ -25,15 +25,56 @@
小程序
+
+
+
diff --git a/src/subpackage/shower/pages/card/manage.vue b/src/subpackage/shower/pages/card/manage.vue
index 15f4058..99c70fd 100644
--- a/src/subpackage/shower/pages/card/manage.vue
+++ b/src/subpackage/shower/pages/card/manage.vue
@@ -2,23 +2,24 @@
-
+
- 欧轩智能羽毛球馆(永泰店)
- 使用中
+ {{ e.stadium_name || '-' }}
+ {{ e.status_text || '' }}
- 智能浴室用水卡
- 20195171564566
- 18316553478
- yiming
- 100分00秒
+ {{ e.water_card_no || '-' }}
+ {{ e.water_card_name || '-' }}
+ {{ e.mobile || '-' }}
+ {{ e.nick_name || '-' }}
+ {{ e.valid_duration_text || '-' }}
@@ -36,6 +37,9 @@ import periodModal from "@/components/filter/period_modal.vue";
import filterModal from "@/components/filter/filter_modal.vue";
import kv_line from "@/components/kv_line.vue";
+import { SHOWER_API } from "../../js/api";
+import server from "../../js/server";
+import { routeTo, showLoad, hideLoad, showNone, formatDate } from "@/utils/util";
export default {
components: {
'order-filter': orderFilter,
@@ -43,18 +47,56 @@ export default {
'filter-modal': filterModal,
'kv-line': kv_line
},
+ watch: {
+ condition: {
+ handler(nVal, oVal){
+ this.cardOrderList = [];
+ this.page = 1;
+ let { brand_id } = this;
+ this.getCardList({
+ brand_id: brand_id || '',
+ ...nVal,
+ })
+ },
+ deep: true
+ }
+ },
data(){
return {
+ brand_id: '',
condition: {
- start_time: '2024-08-20',
- end_time: '2024-08-20',
- }
+ stadium_id: '', // 场馆id
+ start_time: '2020-08-20',
+ end_time: '2025-08-20',
+ status: '', // 0: 未激活 1: 已激活
+ },
+ cardOrderList: [],
+ page: 1
}
},
+ onReachBottom(){
+ let { brand_id, condition, page } = this;
+ this.getCardList({ brand_id, page: ++page, ...condition });
+ },
onLoad(options){
- this.$refs.orderFilter.initStadiumSelect(options?.brand_id);
+ let _bid = options?.brand_id || '';
+ this.brand_id = _bid;
+ this.$refs.orderFilter.initStadiumSelect(_bid);
+ // this.getCardList({ brand_id: _bid });
+ this.initDate(); // watch 监听触发
},
methods: {
+ toDetail(e){
+ routeTo(`/subpackage/shower/pages/card/detail?id=${e?.id || ''}`, 'nT')
+ },
+ // 默认显示三个月内的水阀卡数据
+ initDate(){
+ let _Date = new Date();
+ let _timeStamp = _Date.getTime();
+ let _start = _timeStamp - 90 * 24 * 60 * 60 * 1000;
+ this.condition.start_time = formatDate({ date: _start });
+ this.condition.end_time = formatDate({ date: _timeStamp });
+ },
showPeriodModal(){
let { start_time, end_time } = this.condition;
this.$refs.periodModal.init({
@@ -67,8 +109,48 @@ export default {
});
},
showFilterModal(){
- this.$refs.filterModal.show();
- }
+ this.$refs.filterModal.init({
+ title: '订单状态',
+ list: [
+ { label: '全部', value: '' },
+ { label: '使用中', value: '1' },
+ { label: '待激活', value: '0' },
+ ],
+ curValue: this.condition.status,
+ success: res=>{
+ this.condition.status = res.value;
+ }
+ });
+ },
+ /**
+ * @param {String} number 卡号或者手机号
+ * */
+ getCardList({
+ brand_id = '', stadium_id = '',
+ start_time = '', end_time = '', number = '', status = '',
+ page = 1, page_size = 10
+ }){
+ showLoad();
+ return server.get({
+ url: SHOWER_API.CardList,
+ data: { brand_id, stadium_id, start_time, end_time, number, status, page, page_size },
+ failMsg: '获取用水卡列表失败'
+ })
+ .then(res => {
+ hideLoad();
+ let _ls = res?.list || [];
+ if(page === 1)return this.cardOrderList = _ls;
+ if(!_ls.length)return showNone('没有更多!');
+ this.page = page;
+ return this.cardOrderList = [...this.cardOrderList, ..._ls];
+
+ })
+ .catch(err => {
+ hideLoad();
+ console.warn('manage getCardList err --->', err);
+ // return Promise.reject(err);
+ })
+ },
}
}
diff --git a/src/subpackage/shower/pages/card/use_record.vue b/src/subpackage/shower/pages/card/use_record.vue
index 970076b..08170ef 100644
--- a/src/subpackage/shower/pages/card/use_record.vue
+++ b/src/subpackage/shower/pages/card/use_record.vue
@@ -2,22 +2,111 @@
- 9989
+
+
+ 消费时长
+ 充值时长
+
+ 正在计时
+
+ -{{ e.deduction_duration || '-' }}
+ +{{ e.recharge_duration || '-' }}分钟
+ 剩余:{{ e.total_duration_text || '-' }}
+
+
+
+
+ {{ e.stadium_name || '-' }}
+ {{ e.start_time || '-' }}
+
+ {{ e.hardware_name || '-' }}
+ {{ e.end_time || '-' }}
+ {{ e.settle_duration_text || '-' }}
+
+
+
+
\ No newline at end of file
diff --git a/src/subpackage/shower/pages/device/use_detail.vue b/src/subpackage/shower/pages/device/use_detail.vue
new file mode 100644
index 0000000..74d609f
--- /dev/null
+++ b/src/subpackage/shower/pages/device/use_detail.vue
@@ -0,0 +1,106 @@
+
+
+
+
+
+ 欧轩智能羽毛球馆(永泰店)
+
+
+
+ 2019-05-17 11:12:58
+
+ 已完成
+
+
+ 18656456895
+ yiming
+ 小程序(欧轩智能场馆)
+
+
+
+
+
+ 1号水阀
+ 2020-01-10 15:02:24
+ 2020-01-10 17:20:24
+ 35分9秒(免费时长:15分00秒)
+ 15分00秒
+
+
+ 扣减时长:20分钟00秒
+
+ 结束计时
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/subpackage/shower/pages/device/use_record.vue b/src/subpackage/shower/pages/device/use_record.vue
new file mode 100644
index 0000000..e1d732c
--- /dev/null
+++ b/src/subpackage/shower/pages/device/use_record.vue
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+ 欧轩智能羽毛球馆(永泰店)
+
+
+
+ 1号水阀
+ 1小时58分46秒
+ 18656456895
+ 2019-08-17 18:02:58
+
+
+ 扣减时长:20分钟00秒
+
+ 结束计时
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/subpackage/shower/static/images/arrow.png b/src/subpackage/shower/static/images/arrow.png
new file mode 100644
index 0000000..0d85a53
Binary files /dev/null and b/src/subpackage/shower/static/images/arrow.png differ
diff --git a/src/subpackage/shower/static/images/close.png b/src/subpackage/shower/static/images/close.png
new file mode 100644
index 0000000..20f26c8
Binary files /dev/null and b/src/subpackage/shower/static/images/close.png differ