刘嘉炜
4 months ago
10 changed files with 492 additions and 318 deletions
-
4src/pages.json
-
6src/subpackage/device/js/device_api.js
-
34src/subpackage/device/pages/index/index.vue
-
180src/subpackage/device/pages/lighting_time/list.vue
-
66src/subpackage/device/pages/lighting_time/setting.vue
-
86src/subpackage/device/pages/lighting_timie/list.vue
-
8src/subpackage/device/pages/switch_manage/switch_manage.vue
-
BINsrc/subpackage/device/static/images/delete.png
-
4src/utils/util.js
@ -0,0 +1,180 @@ |
|||||
|
<template> |
||||
|
<view class="lt-list"> |
||||
|
<view class="ll-title">{{ optionsQuery.hardware_name || '-' }}</view> |
||||
|
<view class="ll-list"> |
||||
|
<view class="ll-item" v-for="(e, i) in timingLs" :key="i"> |
||||
|
<view class="li-line"> |
||||
|
<view class="ll-txt">指令:{{ getInstructTxt(e.operate) }}</view> |
||||
|
<image class="ll-icon" @click="deleteItem(e)" mode="aspectFit" src="/subpackage/device/static/images/delete.png"></image> |
||||
|
</view> |
||||
|
<view class="li-line"> |
||||
|
<view class="ll-txt">时间:{{ e.h_m_s || '-'}}</view> |
||||
|
</view> |
||||
|
<view class="li-line"> |
||||
|
<view class="ll-txt">日期:{{ e.day_of_week || '-' }}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="ll-fixed-space"></view> |
||||
|
<view class="ll-fixed"> |
||||
|
<view class="lf-btn" @click="addTask">添加定时任务</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import deviceServer from '../../js/device_server'; |
||||
|
import deviceApi from '../../js/device_api'; |
||||
|
import { showModal, showNone, showLoad, hideLoad, routeTo, jsonPar, jsonStr } from "@/utils/util"; |
||||
|
export default { |
||||
|
data(){ |
||||
|
return { |
||||
|
timingLs: [], |
||||
|
optionsQuery: {}, |
||||
|
} |
||||
|
}, |
||||
|
onLoad(options){ |
||||
|
options.hardware_name = jsonPar(options?.hardware_name); |
||||
|
this.optionsQuery = options; |
||||
|
}, |
||||
|
onShow(){ |
||||
|
let { optionsQuery } = this; |
||||
|
this.getTimingList({ |
||||
|
hardware_id: optionsQuery?.hardware_id || '' |
||||
|
}) |
||||
|
}, |
||||
|
methods: { |
||||
|
addTask(){ |
||||
|
let { hardware_id, hardware_name } = this.optionsQuery; |
||||
|
let _qryStr = `hardware_id=${hardware_id || ''}&hardware_name=${jsonStr(hardware_name || '')}` |
||||
|
routeTo(`/subpackage/device/pages/lighting_time/setting?${_qryStr}`, 'nT') |
||||
|
}, |
||||
|
deleteItem(e){ |
||||
|
showModal({ |
||||
|
title: '提示', |
||||
|
content: '是否删除该项?', |
||||
|
showCancel: true, |
||||
|
confirmText: '是', |
||||
|
cancelText: '否', |
||||
|
success: res =>{ |
||||
|
if(res?.confirm){ |
||||
|
this.cacScheduledTaskDelete(e?.id) |
||||
|
.then(res=>{ |
||||
|
if(res === 'SUCCESS')this.getTimingList({ hardware_id: e?.hardware_id }) |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
cacScheduledTaskDelete(id){ |
||||
|
showLoad(); |
||||
|
return deviceServer.post({ |
||||
|
url: deviceApi.cacScheduledTaskDelete, |
||||
|
data: { id }, |
||||
|
isDefaultGet: false, |
||||
|
}) |
||||
|
.then(res => { |
||||
|
hideLoad(); |
||||
|
let _data = res?.data || {}; |
||||
|
if(_data.code === 0){ |
||||
|
showModal({ |
||||
|
title: '提示', |
||||
|
content: _data.message || '操作成功!' |
||||
|
}) |
||||
|
return "SUCCESS" |
||||
|
}else{ |
||||
|
return Promise.reject(_data); |
||||
|
} |
||||
|
|
||||
|
}) |
||||
|
.catch(err => { |
||||
|
hideLoad(); |
||||
|
showModal({ |
||||
|
title: '提示', |
||||
|
content: err.message || '操作失败!' |
||||
|
}) |
||||
|
console.warn('setting cacScheduledTaskSave err', err); |
||||
|
}) |
||||
|
}, |
||||
|
getInstructTxt(operate){ |
||||
|
let _obj = { |
||||
|
'open': '开启', |
||||
|
'close': '关闭' |
||||
|
} |
||||
|
return _obj?.[operate] || operate || '未知' |
||||
|
}, |
||||
|
getTimingList({ |
||||
|
hardware_id = '', |
||||
|
}){ |
||||
|
showLoad(); |
||||
|
return deviceServer.get({ |
||||
|
url: deviceApi.cacScheduledTaskGet, |
||||
|
data: { |
||||
|
hardware_id, |
||||
|
}, |
||||
|
failMsg: '获取定时列表失败' |
||||
|
}) |
||||
|
.then(res => { |
||||
|
hideLoad(); |
||||
|
let _ls = res || []; |
||||
|
this.timingLs = _ls; |
||||
|
}) |
||||
|
.catch(err => { |
||||
|
hideLoad(); |
||||
|
console.warn('lighting_time list getTimingList err --->', err); |
||||
|
// return Promise.reject(err); |
||||
|
}) |
||||
|
}, |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.ll-title{ |
||||
|
padding: 46upx 40upx 60upx; |
||||
|
@include flcw(44upx, 60upx, #1a1a1a, 500); |
||||
|
@include tHide; |
||||
|
} |
||||
|
.ll-list{ |
||||
|
.ll-item{ |
||||
|
padding: 24upx 30upx; |
||||
|
background: #fff; |
||||
|
&+.ll-item{ |
||||
|
margin-top: 24upx; |
||||
|
} |
||||
|
.li-line{ |
||||
|
@include ctf(space-between); |
||||
|
align-items: baseline; |
||||
|
&+.li-line{ |
||||
|
margin-top: 16upx; |
||||
|
} |
||||
|
.ll-txt{ |
||||
|
@include flcw(28upx, 40upx, #1a1a1a); |
||||
|
} |
||||
|
.ll-icon { |
||||
|
flex-shrink: 0; |
||||
|
margin-left: 12upx; |
||||
|
width: 44upx; |
||||
|
height: 44upx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.ll-fixed-space{ |
||||
|
padding-bottom: 132upx; |
||||
|
@include isPd(132upx); |
||||
|
} |
||||
|
.ll-fixed{ |
||||
|
position: fixed; |
||||
|
bottom: 0; |
||||
|
padding: 10upx 24upx; |
||||
|
width: 100%; |
||||
|
@include isPd(10upx); |
||||
|
.lf-btn{ |
||||
|
text-align: center; |
||||
|
border-radius: 10upx; |
||||
|
background: $mColor; |
||||
|
@include flcw(32upx, 112upx, #fff, 500); |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -1,86 +0,0 @@ |
|||||
<template> |
|
||||
<view class="lt-list"> |
|
||||
<view class="ll-title">1号馆照明定时</view> |
|
||||
<view class="ll-list"> |
|
||||
<view class="ll-item" v-for="i in 12" :key="i"> |
|
||||
<view class="li-line"> |
|
||||
<view class="ll-txt">指令:关闭</view> |
|
||||
<image class="ll-icon"></image> |
|
||||
</view> |
|
||||
<view class="li-line"> |
|
||||
<view class="ll-txt">时间:08:00</view> |
|
||||
</view> |
|
||||
<view class="li-line"> |
|
||||
<view class="ll-txt">日期:周日、周一、周二、周三、周四、周五、周六</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="ll-fixed-space"></view> |
|
||||
<view class="ll-fixed"> |
|
||||
<view class="lf-btn">添加定时任务</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
export default { |
|
||||
data(){ |
|
||||
return { |
|
||||
condition: { |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss"> |
|
||||
.ll-title{ |
|
||||
padding: 46upx 40upx 60upx; |
|
||||
@include flcw(44upx, 60upx, #1a1a1a, 500); |
|
||||
@include tHide; |
|
||||
} |
|
||||
.ll-list{ |
|
||||
.ll-item{ |
|
||||
padding: 24upx 30upx; |
|
||||
background: #fff; |
|
||||
&+.ll-item{ |
|
||||
margin-top: 24upx; |
|
||||
} |
|
||||
.li-line{ |
|
||||
@include ctf(space-between); |
|
||||
align-items: baseline; |
|
||||
&+.li-line{ |
|
||||
margin-top: 16upx; |
|
||||
} |
|
||||
.ll-txt{ |
|
||||
@include flcw(28upx, 40upx, #1a1a1a); |
|
||||
} |
|
||||
.ll-icon { |
|
||||
flex-shrink: 0; |
|
||||
margin-left: 12upx; |
|
||||
width: 44upx; |
|
||||
height: 44upx; |
|
||||
background: skyblue; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.ll-fixed-space{ |
|
||||
padding-bottom: 132upx; |
|
||||
@include isPd(132upx); |
|
||||
} |
|
||||
.ll-fixed{ |
|
||||
position: fixed; |
|
||||
bottom: 0; |
|
||||
padding: 10upx 24upx; |
|
||||
width: 100%; |
|
||||
@include isPd(10upx); |
|
||||
.lf-btn{ |
|
||||
text-align: center; |
|
||||
border-radius: 10upx; |
|
||||
background: $mColor; |
|
||||
@include flcw(32upx, 112upx, #fff, 500); |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
After Width: 36 | Height: 36 | Size: 365 B |
Write
Preview
Loading…
Cancel
Save
Reference in new issue