alarmClockList.vue 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. <template>
  2. <view>
  3. <view class="head">
  4. <view class="left-top">
  5. <p class="left-top-p">闹钟</p>
  6. </view>
  7. <view class="right-top">
  8. <p class="right-top-p" @click="addAlarmClockItem()">+</p>
  9. </view>
  10. </view>
  11. <view class="body">
  12. <uni-collapse :accordion="true">
  13. <uni-list>
  14. <view v-for="(alarmClock,index) in alarmClockList" :key="index">
  15. <uni-list-item :title="alarmClock.hour" :note="alarmClock.week+'---'+alarmClock.type"
  16. :rightText="alarmClock.status" clickable @click="onClick(alarmClock.id)" />
  17. </view>
  18. </uni-list>
  19. </uni-collapse>
  20. </view>
  21. </view>
  22. </template>
  23. <script>
  24. import {
  25. mapState,
  26. mapActions,
  27. mapMutations
  28. } from 'vuex';
  29. import uniCollapse from '@/components/uni-collapse/uni-collapse.vue';
  30. import uniCollapseItem from '@/components/uni-collapse-item/uni-collapse-item.vue';
  31. import uniList from '../../uni_modules/uni-list/components/uni-list/uni-list.vue';
  32. import uniListItem from '../../uni_modules/uni-list/components/uni-list-item/uni-list-item.vue';
  33. import uniIcons from '../../uni_modules/uni-icons/components/uni-icons/uni-icons.vue';
  34. // import {
  35. // dateUtils
  36. // } from '@/common/util.js';
  37. export default {
  38. components: {
  39. uniCollapse,
  40. uniCollapseItem,
  41. uniList,
  42. uniListItem,
  43. uniIcons
  44. },
  45. data() {
  46. return {
  47. globalUser: null,
  48. alarmClockList: [],
  49. }
  50. },
  51. onShow() {
  52. var token = uni.getStorageSync("token");
  53. if (token.length > 1) {
  54. this.getAlarmClockList();
  55. } else {
  56. uni.reLaunch({
  57. url: '../../../pages/Login/Login',
  58. });
  59. }
  60. },
  61. methods: {
  62. getAlarmClockList() {
  63. var token = uni.getStorageSync("token");
  64. var adminId = uni.getStorageSync("globalUser").id;
  65. uni.request({
  66. url: this.serverurl + '/TAlarmClock/list',
  67. data: {
  68. "adminId": adminId
  69. },
  70. header: {
  71. 'token': token
  72. },
  73. method: "GET",
  74. success: (res) => {
  75. if (res.data.code) {
  76. var alarmClockList = [];
  77. var alarmClocks = res.data.data;
  78. // console.log("list");
  79. for (var i = 0; i < alarmClocks.length; i++) {
  80. var alarmClock = alarmClocks[i];
  81. var status = alarmClock.status;
  82. if (status == '0') {
  83. alarmClock.status = "已关闭"
  84. }
  85. if (status == '1') {
  86. alarmClock.status = "已启用"
  87. }
  88. var week = alarmClock.week;
  89. if (week != null || week != '') {
  90. var zhou = '';
  91. var w = week.split(",").sort();
  92. for (var j = 0; j < w.length; j++) {
  93. var t = w[j];
  94. switch (t) {
  95. case "1":
  96. zhou = zhou + "周一,"
  97. break;
  98. case "2":
  99. zhou = zhou + "周二,"
  100. break;
  101. case "3":
  102. zhou = zhou + "周三,"
  103. break;
  104. case "4":
  105. zhou = zhou + "周四,"
  106. break;
  107. case "5":
  108. zhou = zhou + "周五,"
  109. break;
  110. case "6":
  111. zhou = zhou + "周六,"
  112. break;
  113. case "7":
  114. zhou = zhou + "周日"
  115. break;
  116. default:
  117. }
  118. }
  119. alarmClock.week = zhou;
  120. var type = alarmClock.type;
  121. switch (type) { //0:炉头开启,1:炉头关闭,2:开始休眠,3:结束休眠
  122. case "0":
  123. type = "炉头开启"
  124. break;
  125. case "1":
  126. type = "炉头关闭"
  127. break;
  128. case "2":
  129. type = "开始休眠"
  130. break;
  131. case "3":
  132. type = "结束休眠"
  133. break;
  134. default:
  135. }
  136. alarmClock.type = type;
  137. }
  138. alarmClockList.push(alarmClock);
  139. }
  140. this.alarmClockList = alarmClockList;
  141. } else {
  142. uni.showToast({
  143. title: res.data.message,
  144. duration: 2000
  145. });
  146. }
  147. },
  148. });
  149. },
  150. onClick(id) {
  151. // console.log("id==" + id);
  152. uni.setStorageSync("clock", id);
  153. uni.navigateTo({
  154. url: 'alarmClockItem'
  155. });
  156. },
  157. addAlarmClockItem() {
  158. // console.log("addAlarmClockItem");
  159. uni.setStorageSync("clock", "add");
  160. uni.navigateTo({
  161. url: 'alarmClockItem'
  162. });
  163. }
  164. }
  165. }
  166. </script>
  167. <style>
  168. .head {
  169. height: 100upx;
  170. display: flex;
  171. flex-direction: row;
  172. justify-content: flex-start;
  173. background: #F8F8F8;
  174. }
  175. .left-top {
  176. height: 100upx;
  177. width: 50%;
  178. text-align: left;
  179. }
  180. .left-top-p {
  181. height: 100upx;
  182. padding-left: 8upx;
  183. color: #363D44;
  184. font-size: 25px;
  185. font-family: "PingFang-SC-Bold";
  186. }
  187. .right-top {
  188. height: 100upx;
  189. width: 50%;
  190. text-align: right;
  191. /* 垂直居中 */
  192. /* position: relative;
  193. top: 50%; /*偏移*/
  194. /* transform: translateY(-50%); */
  195. }
  196. .right-top-p {
  197. height: 100upx;
  198. padding-right: 12upx;
  199. color: #3496FB;
  200. font-size: 35px;
  201. font-family: "PingFang-SC-Bold";
  202. /* 垂直居中 */
  203. position: relative;
  204. top: 25%;
  205. /*偏移*/
  206. transform: translateY(-50%);
  207. }
  208. .body {
  209. background: #F8F8F8;
  210. }
  211. </style>