deviceCageSitePage.vue 3.7 KB

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