t-p-zaoquan.vue 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
  1. <template>
  2. <view>
  3. <view class="top">
  4. <image src="./icon/top.gif" mode="widthFix"></image>
  5. </view>
  6. <view class="content" v-if="nav.length > 0">
  7. <view class="segmented-control-x">
  8. <view class="segmented">
  9. <view class="title" :class="active==index?'active':''" v-for="(item,index) in nav" :key="index"
  10. @click="change_active(index)">
  11. {{item.title}}
  12. </view>
  13. </view>
  14. <view class="segmented-inner">
  15. <view class="nav" v-for="(item,index) in nav[active].list" :key="index" @click="navigator(item)">
  16. <view class="icon">
  17. <image :src="item.icon" mode=""></image>
  18. </view>
  19. <view class="name">{{item.name}}</view>
  20. </view>
  21. </view>
  22. </view>
  23. </view>
  24. </view>
  25. </template>
  26. <script>
  27. export default {
  28. name: "t-p-zaoquan",
  29. data() {
  30. return {
  31. mine: "640181B0011010037723",
  32. org_num: "1014",
  33. mine_code: "zaoquan",
  34. active: 0,
  35. nav:[]
  36. // nav: [{
  37. // title: "",
  38. // list: [{
  39. // icon: '',
  40. // module: "",
  41. // name: "",
  42. // sys_code: ""
  43. // }]
  44. // }],
  45. };
  46. },
  47. mounted() {
  48. this.get_nav()
  49. },
  50. methods: {
  51. get_nav() {
  52. uni.request({
  53. url: "http://zq.oa.nxmy.com:8011/api.php?m=openDcsApi&a=dcs_door&openkey=d9302364e2a2d9fdcab2707a46fbab5a",
  54. method: "POST",
  55. }).then((res) => {
  56. this.nav = res[1].data.nav
  57. })
  58. },
  59. change_active(index) {
  60. this.active = index
  61. uni.pageScrollTo({
  62. scrollTop: 0,
  63. duration: 150
  64. });
  65. },
  66. navigator(item) {
  67. uni.showLoading({
  68. mask: true,
  69. title: "载入中..."
  70. })
  71. // 老后台权限
  72. // this.$p_api.product_data_query_power({
  73. // staff_num: uni.getStorageSync('user').staff_num,
  74. // data_module: item.module
  75. // }).then((res) => {
  76. // uni.hideLoading()
  77. // if (res.data.content.status) {
  78. // // 具备权限进入对应系统
  79. // this.navigator_handler(item)
  80. // } else {
  81. // uni.showToast({
  82. // icon: "none",
  83. // title: "没有查看权限!"
  84. // })
  85. // }
  86. // })
  87. // oa权限
  88. uni.request({
  89. url: "http://zq.oa.nxmy.com:8011/api.php?m=openDcsApi&a=dcs_auth_check&openkey=d9302364e2a2d9fdcab2707a46fbab5a",
  90. method: "GET",
  91. data: {
  92. staff_num: uni.getStorageSync('user').staff_num,
  93. sys_id: item.id
  94. }
  95. }).then((res) => {
  96. uni.hideLoading()
  97. if (res[1].data.code == '200') {
  98. // 具备权限进入对应系统
  99. console.log(item)
  100. this.navigator_handler(item)
  101. } else {
  102. uni.showToast({
  103. icon: "none",
  104. title: res[1].data.msg
  105. })
  106. }
  107. })
  108. },
  109. navigator_handler(item) {
  110. // 智能监测
  111. if (item.module == 'znjc') {
  112. if (item.sys_code == 'rydw') {
  113. uni.navigateTo({
  114. url: "../../production/personnel_orientation/personnel_orientation?mine=" + this.mine
  115. })
  116. }
  117. if (item.sys_code == 'aqjc') {
  118. uni.navigateTo({
  119. url: "../../production/safety_monitoring/safety_monitoring?mine=" + this.mine
  120. })
  121. }
  122. if (item.sys_code == 'spjk') {
  123. uni.navigateTo({
  124. url: "../../production/video_monitor/video_monitor?mine_code=" + this.mine_code
  125. })
  126. }
  127. if (item.sys_code == 'scbb') {
  128. uni.navigateTo({
  129. url: "../../production/production_report/production_report?mine=" + this.mine +
  130. "&org_num=" + this.org_num,
  131. })
  132. }
  133. if (item.sys_code == 'kjscl') {
  134. uni.navigateTo({
  135. url: "../../production/zaoquan/mine_water_treatment/mine_water_treatment?mine_code=" +
  136. this
  137. .mine_code
  138. })
  139. }
  140. }
  141. // 智能采煤
  142. if (item.module == 'zncm') {
  143. if (item.sys_code == '') {
  144. uni.navigateTo({
  145. url: "../../production/zaoquan/control_platform/coal_mining/coal_mining"
  146. })
  147. }
  148. if (item.sys_code == 'ruhuabeng') {
  149. uni.navigateTo({
  150. url: "../../production/zaoquan/control_platform/coal_mining/emulsion_pump/emulsion_pump"
  151. })
  152. }
  153. if (item.sys_code == 'caimeiji') {
  154. uni.navigateTo({
  155. url: "../../production/zaoquan/control_platform/coal_mining/shearer/shearer"
  156. })
  157. }
  158. if (item.sys_code == 'yeyazhijia') {
  159. uni.navigateTo({
  160. url: "../../production/unified_automation_system/support/support?title=液压支架&sys_code=main"
  161. })
  162. }
  163. if (item.sys_code == 'sanji') {
  164. uni.navigateTo({
  165. url: "../../production/zaoquan/control_platform/coal_mining/sanji/sanji"
  166. })
  167. }
  168. }
  169. // 智能综掘
  170. if (item.module == 'znjj') {
  171. uni.navigateTo({
  172. url: "../../production/zaoquan/control_platform/driving/driving"
  173. })
  174. }
  175. // 压风制氮
  176. if (item.module == 'yfzd') {
  177. uni.navigateTo({
  178. url: "../../production/zaoquan/control_platform/air_nitrogen/air_nitrogen?title=" + item
  179. .name + "&sys_code=" + item.sys_code
  180. })
  181. }
  182. // 供配电
  183. if (item.module == 'zngd') {
  184. uni.navigateTo({
  185. url: "../../production/zaoquan/control_platform/substation/detail/detail?title=" + item
  186. .name + "&type=" + item.sys_code
  187. })
  188. }
  189. // 供排水
  190. if (item.module == 'znps') {
  191. if (item.sys_code == 'znps') {
  192. uni.navigateTo({
  193. url: "../../production/zaoquan/control_platform/drainage/drainage"
  194. })
  195. } else if (item.sys_code == '5000f') {
  196. uni.navigateTo({
  197. url: "../../production/zaoquan/control_platform/drainage/pool/pool?title=" + item
  198. .name + "&sys_code=" + item.sys_code
  199. })
  200. } else {
  201. uni.navigateTo({
  202. url: "../../production/zaoquan/control_platform/drainage/pump_house/pump_house?title=" +
  203. item.name + "&sys_code=" + item.sys_code
  204. })
  205. }
  206. }
  207. // 智能通风
  208. if (item.module == 'zntf') {
  209. if (item.sys_code == '') {
  210. uni.navigateTo({
  211. url: "../../production/zaoquan/control_platform/ventilate/ventilate"
  212. })
  213. } else {
  214. let zhutongfeng = ["east", "west", "1314", "5fq"]
  215. if (zhutongfeng.includes(item.sys_code)) {
  216. uni.navigateTo({
  217. url: "../../production/zaoquan/control_platform/ventilate/main_ventilation/main_ventilation" +
  218. "?title=" + item.name + "&sys_code=" + item.sys_code
  219. })
  220. } else {
  221. uni.navigateTo({
  222. url: "../../production/zaoquan/control_platform/ventilate/local_ventilation/local_ventilation" +
  223. "?title=" + item.name + "&sys_code=" + item.sys_code
  224. })
  225. }
  226. }
  227. }
  228. // 智能园区
  229. if (item.module == 'zhyq') {
  230. if (item.sys_code == 'zncs_dm') {
  231. uni.navigateTo({
  232. url: "../../production/zaoquan/vehicle_monitoring/speed_alarm/speed_alarm"
  233. })
  234. }
  235. if (item.sys_code == 'zncs_jx') {
  236. uni.navigateTo({
  237. url: "../../production/zaoquan/vehicle_monitoring/vehicle_monitoring"
  238. })
  239. }
  240. // 扬尘监测
  241. if (item.sys_code == 'ycjc') {
  242. uni.navigateTo({
  243. url: "../../production/zaoquan/control_platform/dust_emission/dust_emission"
  244. })
  245. }
  246. // 智能充电桩
  247. if (item.sys_code == 'zncdz') {
  248. uni.navigateTo({
  249. url: "../../production/zaoquan/control_platform/charging_station/charging_station"
  250. })
  251. }
  252. }
  253. // 智能园区
  254. if (item.module == 'ysxt') {
  255. // 主运输
  256. if (item.sys_code == 'zys') {
  257. uni.navigateTo({
  258. url: "../../production/zaoquan/control_platform/transport/transport"
  259. })
  260. }
  261. // 动井架空乘人器
  262. if (item.sys_code == 'djjk') {
  263. uni.navigateTo({
  264. url: "../../production/zaoquan/control_platform/aerial/aerial"
  265. })
  266. }
  267. }
  268. // 灾害监测
  269. if (item.module == 'zaihai') {
  270. if (item.sys_code == 'sw') {
  271. uni.navigateTo({
  272. url: "../../production/zaoquan/control_platform/hydrology/hydrology"
  273. })
  274. } else if (item.sys_code == 'kyjc') {
  275. uni.navigateTo({
  276. url: "../../production/zaoquan/control_platform/mineral_pressure/mineral_pressure"
  277. })
  278. } else if (item.sys_code == 'yjgb') {
  279. uni.navigateTo({
  280. url: "../../production/zaoquan/control_platform/emergency_broadcasting/emergency_broadcasting"
  281. })
  282. }
  283. }
  284. }
  285. }
  286. }
  287. </script>
  288. <style lang="scss">
  289. page {
  290. background: linear-gradient(to bottom, #E4F8FF, #F3F5F9);
  291. background-color: #F3F5F9;
  292. }
  293. .top {
  294. image {
  295. width: 750rpx;
  296. }
  297. }
  298. .content {
  299. padding-bottom: 60rpx;
  300. background-color: #F3F5F9;
  301. .segmented-control-x {
  302. display: flex;
  303. justify-content: space-between;
  304. .segmented {
  305. margin-right: 20rpx;
  306. flex: 1.2;
  307. background-color: #FFF;
  308. border-radius: 0 20rpx 20rpx 0;
  309. overflow: hidden;
  310. .title {
  311. padding: 30rpx;
  312. font-size: 34rpx;
  313. font-weight: 700;
  314. text-align: center;
  315. line-height: 1.5;
  316. color: #999;
  317. }
  318. .active {
  319. background-color: #F3F5F9;
  320. color: #000;
  321. }
  322. }
  323. .segmented-inner {
  324. background-color: #FFF;
  325. flex: 2;
  326. border-radius: 20rpx 0 0 20rpx;
  327. overflow: hidden;
  328. box-sizing: border-box;
  329. padding: 40rpx 20rpx;
  330. display: grid;
  331. grid-template-columns: repeat(2, 1fr);
  332. grid-auto-rows: 200rpx;
  333. gap: 20rpx;
  334. .nav {
  335. text-align: center;
  336. .icon {
  337. margin-bottom: 10rpx;
  338. image {
  339. width: 80rpx;
  340. height: 80rpx;
  341. }
  342. }
  343. .name {
  344. display: -webkit-box;
  345. -webkit-box-orient: vertical;
  346. -webkit-line-clamp: 2;
  347. overflow: hidden;
  348. text-overflow: ellipsis;
  349. font-weight: 700;
  350. line-height: 1.5;
  351. font-size: 28rpx;
  352. }
  353. }
  354. }
  355. }
  356. }
  357. </style>