deviceCageSitePage.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. <!--设备管理和笼位管理页面-->
  2. <template>
  3. <view id="deviceCageSitePage">
  4. <!-- 设备管理 -->
  5. <web-view v-if="pageType==1&&openType" :src="'https://labcontrol.nwafu.edu.cn/ysms/h5/#/?userId='+userId"></web-view>
  6. <!-- 笼位管理 -->
  7. <web-view v-if="pageType==2&&openType" :src="'https://labcontrol.nwafu.edu.cn/cage/app/#/?ticket='+ticket"></web-view>
  8. <!-- 安全教育与考试 -->
  9. <web-view v-if="pageType==3&&openType" :src="'https://labcontrol.nwafu.edu.cn/studay/wx/#/zjznaiLogin?access_token='+access_token"></web-view>
  10. <!-- 安全责任 -->
  11. <web-view v-if="pageType==4&&openType" :src="'https://labcontrol.nwafu.edu.cn/duty/app/#/?userId='+userId"></web-view>
  12. <!-- 设施预约 -->
  13. <web-view v-if="pageType==5&&openType" :src="'https://labcontrol.nwafu.edu.cn/reserve/app/#/pages/login?token='+token"></web-view>
  14. </view>
  15. </template>
  16. <script>
  17. import {
  18. config
  19. } from '@/api/request/config.js'
  20. import {
  21. systemMineLinkGetEquipmentDetail,
  22. systemMineLinkGetCagePositionDetail,
  23. systemMineLinkGetEducationExamDetail,
  24. systemMineLinkGetExamH5,
  25. systemMineLinkGetSafetyDetail,
  26. menuLinkPost,
  27. } from '@/pages_basics/api/index.js'
  28. export default {
  29. name: "deviceCageSitePage",
  30. data() {
  31. return {
  32. baseUrl: config.base_url,
  33. pageType: 0, //1设备 2笼位
  34. userId: '',
  35. ticket: '',
  36. access_token:'',
  37. token:'',
  38. openType:false,
  39. }
  40. },
  41. onLoad(option) {
  42. let self = this;
  43. this.pageType = option.pageType;
  44. },
  45. mounted() {
  46. if(this.pageType==1){
  47. //设备管理
  48. this.userId=uni.getStorageSync('userId');
  49. this.$set(this,'openType',true);
  50. }else if(this.pageType==2){
  51. //笼位管理
  52. this.systemMineLinkGetCagePositionDetail()
  53. }else if(this.pageType==3){
  54. //安全教育与考试
  55. this.systemMineLinkGetEducationExamDetail();
  56. }else if(this.pageType==4){
  57. //安全责任
  58. this.userId=uni.getStorageSync('userId');
  59. this.$set(this,'openType',true);
  60. // this.systemMineLinkGetSafetyDetail();
  61. }else if(this.pageType==5){
  62. //设施预约
  63. // let item = {
  64. // reqApi:'labcontrol.nwafu.edu.cn/reserve/api/user/labLogin',
  65. // };
  66. // let obj = {
  67. // appId:'1962714012644597761',
  68. // secret:'c2789f8a360a4709a054a2e9f102d1b4',
  69. // timeStamp:Date.parse(new Date()),
  70. // userId:uni.getStorageSync('userId'),
  71. // };
  72. // this.menuLinkPost(item,obj);
  73. this.systemMineLinkGetExamH5();
  74. }
  75. },
  76. methods: {
  77. //设备资产管理
  78. async systemMineLinkGetEquipmentDetail() {
  79. const {
  80. data
  81. } = await systemMineLinkGetEquipmentDetail();
  82. if (data.code == 200) {
  83. this.getParams(data.data)
  84. }
  85. },
  86. //笼位管理
  87. async systemMineLinkGetCagePositionDetail() {
  88. const {
  89. data
  90. } = await systemMineLinkGetCagePositionDetail();
  91. if (data.code == 200) {
  92. this.getParams(data.data)
  93. }
  94. },
  95. //安全教育与考试
  96. async systemMineLinkGetEducationExamDetail() {
  97. const {
  98. data
  99. } = await systemMineLinkGetEducationExamDetail();
  100. if (data.code == 200) {
  101. this.getParams(data.data)
  102. }
  103. },
  104. //设施预约
  105. async systemMineLinkGetExamH5() {
  106. const {
  107. data
  108. } = await systemMineLinkGetExamH5();
  109. if (data.code == 200) {
  110. this.getParams(data.data)
  111. }
  112. },
  113. getParams(item) {
  114. let params = JSON.parse(item.params)
  115. let obj = {};
  116. params.requestArgument.forEach((item) => {
  117. if (item.type == 1) {
  118. //数据-键值对
  119. obj[item.key] = item.value;
  120. } else if (item.type == 2) {
  121. //读取cookie
  122. obj[item.value] = Cookies.get(item.key);
  123. } else if (item.type == 3) {
  124. //读取localStorage
  125. obj[item.value] = uni.getStorageSync('userId');
  126. } else if (item.type == 5) {
  127. //生成时间戳-区分13位或者10位
  128. if (item.num == '10') {
  129. obj[item.key] = Date.parse(new Date()) / 1000;
  130. formData.append(item.key, );
  131. } else if (item.num == '13') {
  132. obj[item.key] = Date.parse(new Date());
  133. }
  134. }
  135. })
  136. this.menuLinkPost(item,obj)
  137. },
  138. async menuLinkPost(item,obj){
  139. let self = this;
  140. menuLinkPost('https://'+item.reqApi,obj).then(response => {
  141. if(self.pageType==2||self.pageType==4){
  142. if(response.data.code==200){
  143. self.$set(self,'ticket',response.data.data.ticket);
  144. }
  145. }else if(self.pageType==3){
  146. self.$set(self,'access_token',response.data.data.access_token);
  147. }else if(self.pageType==5){
  148. self.$set(self,'token',response.data.data.access_token);
  149. }
  150. self.$set(self,'openType',true);
  151. })
  152. },
  153. },
  154. }
  155. </script>
  156. <style lang="stylus" scoped>
  157. #deviceCageSitePage {
  158. overflow scroll
  159. }
  160. </style>