deviceCageSitePage.vue 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <!--设备管理和笼位管理页面-->
  2. <template>
  3. <view id="deviceCageSitePage">
  4. <!-- 设备管理 -->
  5. <web-view v-if="pageType==1&&openType" :src="'https://lab.zjznai.com/ysms/h5/#/?userId='+userId"></web-view>
  6. <!-- 笼位管理 -->
  7. <web-view v-if="pageType==2&&openType" :src="'https://lab.zjznai.com/cage/app/#/?ticket='+ticket"></web-view>
  8. <!-- 安全教育与考试 -->
  9. <web-view v-if="pageType==3&&openType" :src="'https://lab.zjznai.com/studay/wx/#/zjznaiLogin?access_token='+access_token"></web-view>
  10. <!-- 安全责任 -->
  11. <web-view v-if="pageType==4&&openType" :src="'https://lab.zjznai.com/duty/app/#/?userId='+userId"></web-view>
  12. <!-- 设施预约 -->
  13. <web-view v-if="pageType==5&&openType" :src="'https://lab.zjznai.com/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. this.systemMineLinkGetExamH5();
  64. }
  65. },
  66. methods: {
  67. //设备资产管理
  68. async systemMineLinkGetEquipmentDetail() {
  69. const {
  70. data
  71. } = await systemMineLinkGetEquipmentDetail();
  72. if (data.code == 200) {
  73. this.getParams(data.data)
  74. }
  75. },
  76. //笼位管理
  77. async systemMineLinkGetCagePositionDetail() {
  78. const {
  79. data
  80. } = await systemMineLinkGetCagePositionDetail();
  81. if (data.code == 200) {
  82. this.getParams(data.data)
  83. }
  84. },
  85. //安全教育与考试
  86. async systemMineLinkGetEducationExamDetail() {
  87. const {
  88. data
  89. } = await systemMineLinkGetEducationExamDetail();
  90. if (data.code == 200) {
  91. this.getParams(data.data)
  92. }
  93. },
  94. //设施预约
  95. async systemMineLinkGetExamH5() {
  96. const {
  97. data
  98. } = await systemMineLinkGetExamH5();
  99. if (data.code == 200) {
  100. this.getParams(data.data)
  101. }
  102. },
  103. getParams(item) {
  104. let params = JSON.parse(item.params)
  105. let obj = {};
  106. params.requestArgument.forEach((item) => {
  107. if (item.type == 1) {
  108. //数据-键值对
  109. obj[item.key] = item.value;
  110. } else if (item.type == 2) {
  111. //读取cookie
  112. obj[item.value] = Cookies.get(item.key);
  113. } else if (item.type == 3) {
  114. //读取localStorage
  115. obj[item.value] = uni.getStorageSync('userId');
  116. } else if (item.type == 5) {
  117. //生成时间戳-区分13位或者10位
  118. if (item.num == '10') {
  119. obj[item.key] = Date.parse(new Date()) / 1000;
  120. formData.append(item.key, );
  121. } else if (item.num == '13') {
  122. obj[item.key] = Date.parse(new Date());
  123. }
  124. }
  125. })
  126. this.menuLinkPost(item,obj)
  127. },
  128. async menuLinkPost(item,obj){
  129. let self = this;
  130. menuLinkPost('https://'+item.reqApi,obj).then(response => {
  131. if(self.pageType==2||self.pageType==4){
  132. if(response.data.code==200){
  133. self.$set(self,'ticket',response.data.data.ticket);
  134. }
  135. }else if(self.pageType==3){
  136. self.$set(self,'access_token',response.data.data.access_token);
  137. }else if(self.pageType==5){
  138. self.$set(self,'token',response.data.data.access_token);
  139. }
  140. self.$set(self,'openType',true);
  141. })
  142. },
  143. },
  144. }
  145. </script>
  146. <style lang="stylus" scoped>
  147. #deviceCageSitePage {
  148. overflow scroll
  149. }
  150. </style>