deviceCageSitePage.vue 4.5 KB

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