diff --git a/src/pages.json b/src/pages.json index 23cf4a7..13048ac 100644 --- a/src/pages.json +++ b/src/pages.json @@ -221,12 +221,18 @@ } }, { - "path": "pages/index/timing_list", + "path": "pages/timing/timing_list", "style" : { "navigationBarTitleText": "定时列表" } }, { + "path": "pages/timing/timing_setting", + "style" : { + "navigationBarTitleText": "定时设置" + } + }, + { "path": "pages/switch_manage/switch_manage", "style" : { "navigationBarTitleText": "管理" diff --git a/src/subpackage/device/components/store_name/store_name.vue b/src/subpackage/device/components/store_name/store_name.vue index 1624b6d..4dfc364 100644 --- a/src/subpackage/device/components/store_name/store_name.vue +++ b/src/subpackage/device/components/store_name/store_name.vue @@ -23,7 +23,7 @@ export default { return ()=> {return (this.theme=='light')?'#FFFFFF':'#1a1a1a';} }, getThemeBg(){ - return ()=> {return (this.theme=='light')?'none':'#FFFFFF';} + return ()=> {return (this.theme=='light')?'none':'none';} // }, }, props: ["theme"],//定义主题字段,定制组件展示效果 "light":亮色 diff --git a/src/subpackage/device/js/device_api.js b/src/subpackage/device/js/device_api.js index d6512ff..a0c3758 100644 --- a/src/subpackage/device/js/device_api.js +++ b/src/subpackage/device/js/device_api.js @@ -48,7 +48,7 @@ export const DEVICE_API = { //2021/0713 acUpdate:`${ORIGIN}/ouxuanac/getDescribeDevice`, //中控在线状态查询 - delInfoAC:`${ORIGIN}/ouxuanac/getDescribeDevice`, //删除状态 + // delInfoAC:`${ORIGIN}/ouxuanac/getDescribeDevice`, //删除状态 } export default DEVICE_API; \ No newline at end of file diff --git a/src/subpackage/device/js/ouxuanac.md b/src/subpackage/device/js/ouxuanac.md index 6c9ba2c..78b4066 100644 --- a/src/subpackage/device/js/ouxuanac.md +++ b/src/subpackage/device/js/ouxuanac.md @@ -328,20 +328,39 @@ https://test.ouxuanzhineng.cn/ouxuanac/tts/textToVoice.wav?text=试试看&voice_ ### 更新定时列表 sendPacket ``` 请求参数 -let _data = { - "device": this.curStoreInfo.device_name, - "data": { - "name": "audio-player", - "value": { - "url": _url - } - }, - // "token": "f0d5c19b-b87e-11eb-bc7d-5254005df464" +{ + "device": "00-10-7a-0f-6d-7a", + "data": { + "name": "get-time-select", + "value": {} + } } 返回: {"code":0,"data":[{"date_slice":[{"end":"","start":""}],"day_of_month":null,"day_of_week":[0,1,2,3,5,4,6],"expand_tags":null,"expand_value":{"main":{"name":"set-rpio","title":"测试中控照明8","value":{"id":"8","status":"low"}}},"extension":null,"group":"RPIO","time_arrow_id":"7d56981c-8dd4-11eb-9aad-4e965989bbce","times_on_day":["10:12:00-10:12:10"],"type":"DAY_OF_WEEK","weights":0},{"date_slice":[{"end":"","start":""}],"day_of_month":null,"day_of_week":[0,1,2,3,6,5,4],"expand_tags":null,"expand_value":{"main":{"name":"set-rpio","title":"测试中控照明9","value":{"id":"9","status":"low"}}},"extension":null,"group":"RPIO","time_arrow_id":"862813af-8dd4-11eb-9aad-4e965989bbce","times_on_day":["10:12:00-10:12:10"],"type":"DAY_OF_WEEK","weights":0},{"date_slice":[{"end":"","start":""}],"day_of_month":null,"day_of_week":[0,4,1,5,2,6,3],"expand_tags":null,"expand_value":{"main":{"name":"set-rpio","title":"测试中控照明10","value":{"id":"10","status":"low"}}},"extension":null,"group":"RPIO","time_arrow_id":"8def57e1-8dd4-11eb-9aad-4e965989bbce","times_on_day":["10:12:00-10:12:10"],"type":"DAY_OF_WEEK","weights":0},{"date_slice":[{"end":"","start":""}],"day_of_month":null,"day_of_week":[0,1,2,3,6,5,4],"expand_tags":null,"expand_value":{"main":{"name":"set-rpio","title":"测试中控照明8","value":{"id":"8","status":"high"}}},"extension":null,"group":"RPIO","time_arrow_id":"be5eb915-8dd4-11eb-9aad-4e965989bbce","times_on_day":["10:13:00-10:13:10"],"type":"DAY_OF_WEEK","weights":0},{"date_slice":[{"end":"","start":""}],"day_of_month":null,"day_of_week":[0,1,2,3,6,5,4],"expand_tags":null,"expand_value":{"main":{"name":"set-rpio","title":"测试中控照明9","value":{"id":"9","status":"high"}}},"extension":null,"group":"RPIO","time_arrow_id":"c8c39f5c-8dd4-11eb-9aad-4e965989bbce","times_on_day":["10:13:00-10:13:10"],"type":"DAY_OF_WEEK","weights":0}],"message":""} ``` +### 删除定时任务 sendPacket +``` +请求参数 +{ + "device": "00-10-7a-0f-6d-7a", + "delay": 1, + "data": { + "name": "delete-time-select", + "value": { + "uuid": "d185c9f8-8dd4-11eb-9aad-4e965989bbce" + } + } +} + + devicePlatform + ios + deviceIdentifier + 00008027-000D452836E8002E + audo-0714-01 + iPad-Pro3-12.9-inch1 + +``` diff --git a/src/subpackage/device/pages/index/index.vue b/src/subpackage/device/pages/index/index.vue index 794b5d4..33ce34a 100644 --- a/src/subpackage/device/pages/index/index.vue +++ b/src/subpackage/device/pages/index/index.vue @@ -50,8 +50,12 @@ const tabArr = [ {id: 11, name: '水阀', path: `/pages/switch_manage/switch_manage`}, {id: 12, name: '互动设备', path: `/pages/switch_manage/switch_manage`}, {id: 13, name: '监控', path: ``}, - {id: 14, name: '音响', path: `/pages/audio_manage/audio_manage`}, + {id: 14, name: '音响', path: `/pages/audio_manage/audio_manage`}, //audio_manage {id: 15, name: '机器人', path: ``}, + {id: 16, name: '租球机', path: ``}, + {id: 17, name: '窗帘', path: ``}, + {id: 18, name: '路由器', path: ``}, + {id: 19, name: '物联卡', path: ``}, ]; import { mapState } from 'vuex' export default { @@ -118,7 +122,7 @@ export default { }) }, goTimingList(){ - let timing_list = "/subpackage/device/pages/index/timing_list" + let timing_list = "/subpackage/device/pages/timing/timing_list" util.routeTo(`${timing_list}`, 'nT'); }, getImgPath(id){ diff --git a/src/subpackage/device/pages/switch_manage/switch_manage.vue b/src/subpackage/device/pages/switch_manage/switch_manage.vue index 283cc1d..347a4fa 100644 --- a/src/subpackage/device/pages/switch_manage/switch_manage.vue +++ b/src/subpackage/device/pages/switch_manage/switch_manage.vue @@ -2,8 +2,9 @@ {{pageInfo.name || '-'}} + - + @@ -19,14 +20,22 @@ - + {{pageInfo.openName || '-'}} - + {{pageInfo.closeName || '-'}} + + + {{pageInfo.longOpenName || '-'}} + + + + {{pageInfo.timingName || '-'}} + @@ -42,52 +51,52 @@ import deviceServer from '../../js/device_server'; import deviceApi from '../../js/device_api'; const showArr = { 's1': { - id: 1, name: '照明管理', isOpen: true, isClose: true, - openIcon: '/subpackage/device/static/images/open.png', - closeIcon: '/subpackage/device/static/images/close.png', - openName: '开', closeName: '关', hardware_type: 'Light' + id: 1, name: '照明管理', isOpen: true, isClose: true, isLongOpen:true, isTiming:true, + openIcon: '/subpackage/device/static/images/open.png',closeIcon: '/subpackage/device/static/images/close.png', + longOpenIcon: '/subpackage/device/static/images/longOpen.png',timingIcon: '/subpackage/device/static/images/timing.png', + openName: '开', closeName: '关', longOpenName: '长按', timingName: '定时', hardware_type: 'Light',iconNum:4 }, 's2': { id: 2, name: '空调管理', isOpen: true, isClose: true, openIcon: '/subpackage/device/static/images/open.png', closeIcon: '/subpackage/device/static/images/close.png', - openName: '开', closeName: '关', hardware_type: 'Air' + openName: '开', closeName: '关', hardware_type: 'Air',iconNum:2 }, 's3': { id: 3, name: '风扇管理', isOpen: true, isClose: true, openIcon: '/subpackage/device/static/images/open.png', closeIcon: '/subpackage/device/static/images/close.png', - openName: '开', closeName: '关', hardware_type: 'Fan' + openName: '开', closeName: '关', hardware_type: 'Fan',iconNum:2 }, 's4': { id: 4, name: '门禁管理', isOpen: true, isClose: false, openIcon: '/subpackage/device/static/images/open.png', closeIcon: '/subpackage/device/static/images/close.png', - openName: '开', closeName: '关', hardware_type: 'AccessControl' + openName: '开', closeName: '关', hardware_type: 'AccessControl',iconNum:2 }, 's5': { id: 5, name: '门闸管理', isOpen: true, isClose: true, openIcon: '/subpackage/device/static/images/in.png', closeIcon: '/subpackage/device/static/images/out.png', - openName: '进', closeName: '出', hardware_type: 'GateControl' + openName: '进', closeName: '出', hardware_type: 'GateControl',iconNum:2 }, 's6': { id: 6, name: '平板管理', isOpen: false, isClose: false, openIcon: '/subpackage/device/static/images/open.png', closeIcon: '/subpackage/device/static/images/close.png', - openName: '开', closeName: '关', hardware_type: '' + openName: '开', closeName: '关', hardware_type: '',iconNum:2 }, 's11': { id: 11, name: '水阀管理', isOpen: true, isClose: true, openIcon: '/subpackage/device/static/images/open.png', closeIcon: '/subpackage/device/static/images/close.png', - openName: '开', closeName: '关', hardware_type: 'WaterValve' + openName: '开', closeName: '关', hardware_type: 'WaterValve',iconNum:2 }, 's12': { id: 12, name: '互动设备管理', isOpen: true, isClose: true, openIcon: '/subpackage/device/static/images/open.png', closeIcon: '/subpackage/device/static/images/close.png', - openName: '开', closeName: '关', hardware_type: '' + openName: '开', closeName: '关', hardware_type: '',iconNum:2 }, } @@ -101,7 +110,12 @@ export default { computed: { ...mapState({ curStoreInfo: state => state.device.curStoreInfo, - }) + }), + getIconWidth(){//计算操作icon的宽度 + return ()=>{ + return 100/this.pageInfo.iconNum+'%' + } + } }, watch: { curStoreInfo(newVal, oldVal){ @@ -156,9 +170,16 @@ export default { .catch(util.hideLoad) }, - // 按钮操作, status 0 -> 关(左), 1 -> 开(右) + // 按钮操作, status 0 -> 关(左), 1 -> 开(右) ,2 -> 长开 ,3 -> 定时 operateBtn: util.debounce(function({ switchInfo, status }){ - + console.log("icon tap status: ",status,switchInfo) + if(status == 2) return util.showNone("未对接,前端等待接口中...") + if(status == 3) return (()=>{ + let timing_setting = `/subpackage/device/pages/timing/timing_setting?opts=1` + util.routeTo(`${timing_setting}`, 'nT'); + })() + //todo 配置page.json ,写新的setting 页 + let _data = this.getOperateReqData({ switchInfo, status }) //针对门禁没有关按钮发两条命令->开&关 20201224 后端: 直接发两条 关的那条这里填5 然后你那边不用管返回 if(switchInfo.hardware_type === 'AccessControl'&&status == 1){ diff --git a/src/subpackage/device/pages/index/timing_list.vue b/src/subpackage/device/pages/timing/timing_list.vue similarity index 94% rename from src/subpackage/device/pages/index/timing_list.vue rename to src/subpackage/device/pages/timing/timing_list.vue index 5aef1fb..ff3541d 100644 --- a/src/subpackage/device/pages/index/timing_list.vue +++ b/src/subpackage/device/pages/timing/timing_list.vue @@ -197,10 +197,6 @@ delta: 1 }) }, - goTimingList() { - let timing_list = "/subpackage/device/pages/index/timing_list" - util.routeTo(`${timing_list}`, 'nT'); - }, // 操作接口请求 operateReq({ data, diff --git a/src/subpackage/device/pages/timing/timing_setting.vue b/src/subpackage/device/pages/timing/timing_setting.vue new file mode 100644 index 0000000..101fa5f --- /dev/null +++ b/src/subpackage/device/pages/timing/timing_setting.vue @@ -0,0 +1,347 @@ + + + + + diff --git a/src/subpackage/device/static/images/longOpen.png b/src/subpackage/device/static/images/longOpen.png new file mode 100644 index 0000000..7e292bb Binary files /dev/null and b/src/subpackage/device/static/images/longOpen.png differ diff --git a/src/subpackage/device/static/images/timing.png b/src/subpackage/device/static/images/timing.png new file mode 100644 index 0000000..0cbdfeb Binary files /dev/null and b/src/subpackage/device/static/images/timing.png differ