equipment.vue 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534
  1. <template>
  2. <view class="equipment">
  3. <commons-header :isBack="false"></commons-header>
  4. <!-- <view v-if="!isJinbian" class="search-warp">
  5. <view class="left-select" @click="openSelectQd(2)">
  6. <span class="icon">&#xe6c4;</span>
  7. <span style="margin:0 10rpx">1号生产线</span>
  8. <span class="icon">&#xe6b9;</span>
  9. </view>
  10. <view class="right-select" @click="openSelectQd(1)">
  11. <span class="icon">&#xe6c3;</span>
  12. <span style="margin: 0 10rpx;">{{$t('equipment.stat')}}</span>
  13. <span class="icon">&#xe6b9;</span>
  14. </view>
  15. </view> -->
  16. <view class="content" style="margin-top:128rpx">
  17. <ul>
  18. <li v-for="i in listData" :key="i.id">
  19. <view class="list-warp" @click="toDtl" v-if="i.type == 1">
  20. <view class="list-main-info">
  21. <view class="img">
  22. <image src="../../static/images/icon_bzj@2x.png" mode=""></image>
  23. </view>
  24. <view class="text">
  25. <view class="list-main-title">
  26. 注塑机
  27. <span class="commons-close">{{offLine}}</span>
  28. </view>
  29. <view class="list-main-model">
  30. {{$t('equipment.model')}}:{{i.equipmentNo}}
  31. </view>
  32. </view>
  33. <view class="more">
  34. <span class="iconfont">&#xe6bb;</span>
  35. </view>
  36. </view>
  37. <view class="tag">
  38. <view class="tag-box">
  39. 自动模式
  40. </view>
  41. <!-- <view class="tag-box">
  42. 检测系统
  43. </view> -->
  44. </view>
  45. </view>
  46. <!-- <view class="list-warp" @click="toDtl3">
  47. <view class="list-main-info">
  48. <view class="img">
  49. <image src="../../static/images/icon_bzj@2x.png" mode=""></image>
  50. </view>
  51. <view class="text">
  52. <view class="list-main-title">
  53. 注塑机
  54. <span class="standby commons-close">{{offLine}}</span>
  55. </view>
  56. <view class="list-main-model">
  57. {{$t('equipment.model')}}:SMT-1029
  58. </view>
  59. </view>
  60. <view class="more">
  61. <i class="iconfont">&#xe6bb;</i>
  62. </view>
  63. </view>
  64. <view class="list-title">
  65. {{$t('equipment.auxiliaryMachine')}}
  66. </view>
  67. <view class="auxiliary-warp">
  68. <view class="auxiliary-list-box">
  69. <view class="auxiliary-img">
  70. <image src="../../static/images/icon_xlj@2x.png" mode=""></image>
  71. </view>
  72. <view class="auxiliary-text">
  73. <view class="auxiliary-text-title">
  74. 下料机
  75. </view>
  76. <view class="model">
  77. {{$t('equipment.model')}}:SMT-2071
  78. </view>
  79. </view>
  80. <view class="auxiliary-before commons-close">
  81. {{offLine}}
  82. </view>
  83. </view>
  84. </view>
  85. </view> -->
  86. </li>
  87. <li @click="toDtl5" v-for="i in listData" :key="i.id" v-if="i.type === 8">
  88. <view class="list-warp">
  89. <view class="list-main-info">
  90. <view class="img">
  91. <image src="../../static/images/icon_bzj@2x.png" mode=""></image>
  92. </view>
  93. <view class="text">
  94. <view class="list-main-title">
  95. 包装机
  96. <span class="commons-close">{{offLine}}</span>
  97. </view>
  98. <view class="list-main-model">
  99. {{$t('equipment.model')}}:{{i.equipmentNo}}
  100. <span style="margin-left: 30rpx;">{{$t('equipment.yield')}}:200 pcs/min</span>
  101. </view>
  102. </view>
  103. <view class="more">
  104. <span class="iconfont">&#xe6bb;</span>
  105. </view>
  106. </view>
  107. </view>
  108. </li>
  109. <li @click="toDtl2" v-for="i in listData" :key="i.id" v-if="i.type == 9">
  110. <view class="list-warp">
  111. <view class="list-main-info">
  112. <view class="img">
  113. <image src="~@/static/images/icon_mjg@2x.png" mode=""></image>
  114. </view>
  115. <view class="text">
  116. <view class="list-main-title">
  117. 灭菌柜
  118. <span>{{running}}</span>
  119. </view>
  120. <view class="list-main-model">
  121. {{$t('equipment.model')}}:{{i.equipmentNo}}
  122. </view>
  123. </view>
  124. <view class="more">
  125. <span class="iconfont">&#xe6bb;</span>
  126. </view>
  127. </view>
  128. <view class="tag">
  129. <view class="tag-box">
  130. {{$t('equipment.temperature')}}:67.5℃
  131. </view>
  132. <view class="tag-box">
  133. {{$t('equipment.humidity')}}:67.5%RH
  134. </view>
  135. </view>
  136. </view>
  137. </li>
  138. </ul>
  139. </view>
  140. <uni-popup v-if="!isJinbian" ref="popup2" type="bottom">
  141. <view class="search-box">
  142. <ul>
  143. <li @click="selectMaterialList()">
  144. 一号生产线
  145. </li>
  146. </ul>
  147. </view>
  148. </uni-popup>
  149. <uni-popup v-if="!isJinbian" ref="popup1" type="bottom">
  150. <view class="search-box">
  151. <ul>
  152. <li @click="selectMaterialList()">
  153. {{running}}
  154. </li>
  155. <li @click="selectMaterialList()">
  156. {{standby}}
  157. </li>
  158. <li @click="selectMaterialList()">
  159. {{offLine}}
  160. </li>
  161. </ul>
  162. </view>
  163. </uni-popup>
  164. <ul class="jinbian-list">
  165. <li class="jinbian-list-box" v-for="i in listData" :key="i.id" v-if="i.type == 6">
  166. <!-- <view class="list-title">
  167. 分组1 <i class="iconfont">&#xe71b;</i>
  168. </view> -->
  169. <view class="list-content">
  170. <view class="equ-list" @click="toDtl4()">
  171. <view class="state" style="background:#999">
  172. {{offLine}}
  173. </view>
  174. <view class="img-or-text">
  175. <image src="../../static/jinbian/icon_jbj.png" mode=""></image>
  176. <view class="text">
  177. <h3>设备1</h3>
  178. <p>{{$t('equipment.model')}}:{{i.equipmentNo}} <span>{{$t('equipment.yield')}}:200</span></p>
  179. </view>
  180. </view>
  181. <view class="tags">
  182. <view class="tag-box">
  183. <view class="tag-icon-box">
  184. <i class="iconfont">&#xe735;</i>
  185. </view>
  186. EBC
  187. </view>
  188. <view class="tag-box">
  189. <view class="tag-icon-box">
  190. <i class="iconfont">&#xe733;</i>
  191. </view>
  192. 贾卡
  193. </view>
  194. <view class="tag-box">
  195. <view class="tag-icon-box">
  196. <i class="iconfont">&#xe734;</i>
  197. </view>
  198. 横移
  199. </view>
  200. </view>
  201. </view>
  202. </view>
  203. </li>
  204. </ul>
  205. </view>
  206. </template>
  207. <script>
  208. import {
  209. getInfo
  210. } from "@/util/api.js";
  211. import Vue from 'vue'
  212. import commonsHeader from '../../components/commons-header/index.vue'
  213. export default {
  214. components:{
  215. commonsHeader
  216. },
  217. data() {
  218. return {
  219. offLine:this.$t('equipment.offLine'),
  220. standby:this.$t('equipment.standby'),
  221. running:this.$t('equipment.running'),
  222. userInfoData: [],
  223. notificationData:[],
  224. isJinbian:false,//控制是否是经编
  225. listData:[],
  226. }
  227. },
  228. onLoad() {
  229. const v = this
  230. v.$post('/api/syringe-production/factoryProduct/list',{}).then(res => {
  231. v.listData = res.data
  232. console.log(v.listData )
  233. })
  234. },
  235. methods: {
  236. selectMaterialList(){
  237. this.$refs.popup1.close()
  238. this.$refs.popup2.close()
  239. },
  240. openSelectQd(_type){
  241. if(_type == 1){
  242. this.$refs.popup1.open('top')
  243. }else{
  244. this.$refs.popup2.open('top')
  245. }
  246. },
  247. toDtl3(){
  248. uni.showToast({
  249. icon:"none",
  250. title: '该设备待机中,暂无数据!'
  251. })
  252. },
  253. toDtl5(){
  254. uni.navigateTo({
  255. url: '/pages/equipment/packingMachine'
  256. })
  257. },
  258. toDtl4(){
  259. console.log(123123)
  260. uni.navigateTo({
  261. url: '/pages/equipment/warpKnitting'
  262. })
  263. },
  264. toDtl2(){
  265. uni.navigateTo({
  266. url: '/pages/equipment/sterilization'
  267. })
  268. },
  269. toDtl(){
  270. uni.navigateTo({
  271. url: '/pages/equipment/injectionMolding'
  272. })
  273. },
  274. toRouter(j) {
  275. console.log(j)
  276. uni.navigateTo({
  277. url: '/pages/' + j.menuKey + '/' + j.menuKey
  278. })
  279. },
  280. },
  281. }
  282. </script>
  283. <style lang="less">
  284. .jinbian-list{
  285. .jinbian-list-box{
  286. margin-bottom: 24rpx;
  287. background-color: #fff;
  288. .list-title{
  289. height: 100rpx;
  290. line-height: 100rpx;
  291. display: flex;
  292. justify-content: space-between;
  293. padding: 0 24rpx;
  294. border-bottom: 2rpx solid #DDDDDD;
  295. span{
  296. color: #999;
  297. line-height: 100rpx;
  298. }
  299. }
  300. .list-content{
  301. padding: 16rpx 24rpx 40rpx;
  302. .equ-list{
  303. margin-top: 24rpx;
  304. background-color: #F1F1F1;
  305. border-radius: 10rpx;
  306. padding: 40rpx 24rpx;
  307. position: relative;
  308. .state{
  309. position: absolute;
  310. top: 0;
  311. right: 0;
  312. width: 120rpx;
  313. height: 40rpx;
  314. color: #fff;
  315. background: #FF655B;
  316. font-size: 24rpx;
  317. border-top-right-radius: 10rpx;
  318. border-bottom-left-radius: 10rpx;
  319. text-align: center;
  320. }
  321. .tags{
  322. display: flex;
  323. margin-top: 20rpx;
  324. .tag-box{
  325. background-color: #fff;
  326. height: 64rpx;
  327. width: 31%;
  328. margin: 1.1%;
  329. color: #333333;
  330. line-height: 64rpx;
  331. text-align: center;
  332. font-size: 24rpx;
  333. border-radius: 8rpx;
  334. display:flex;
  335. justify-content: center;
  336. .tag-icon-box{
  337. height: 40rpx;
  338. width: 40rpx;
  339. background-color: #84C418;
  340. line-height: 40rpx;
  341. text-align: center;
  342. margin-top: 12rpx;
  343. margin-right: 16rpx;
  344. border-radius: 8rpx;
  345. i{
  346. line-height: 40rpx;
  347. font-size: 22rpx;
  348. color: #fff;
  349. }
  350. }
  351. }
  352. }
  353. .img-or-text{
  354. display: flex;
  355. line-height: 40rpx;
  356. .text{
  357. padding: 10rpx 24rpx;
  358. }
  359. h3{
  360. color: #333333;
  361. font-size: 32rpx;
  362. }
  363. p{
  364. color: #666;
  365. font-size: 24rpx;
  366. span{
  367. margin-left: 40rpx;
  368. }
  369. }
  370. image{
  371. width: 100rpx;
  372. height: 100rpx;
  373. }
  374. }
  375. }
  376. }
  377. }
  378. }
  379. .search-box{
  380. background-color: #fff;
  381. padding-top: 100rpx;
  382. ul{
  383. li{
  384. padding: 25rpx 30rpx;
  385. border-bottom: 1rpx solid #dcdcdc;
  386. }
  387. }
  388. }
  389. .equipment{
  390. background-color: #f0f0f0;
  391. min-height: 100vh;
  392. .search-warp{
  393. height: 90rpx;
  394. line-height: 90rpx;
  395. background-color: #fff;
  396. display: flex;
  397. justify-content: space-between;
  398. padding: 0 24rpx;
  399. margin-bottom: 24rpx;
  400. margin-top: 128rpx;
  401. }
  402. .content{
  403. ul{
  404. li{
  405. box-shadow: 0px 3rpx 20rpx 0px rgba(0,0,0,0.10);
  406. background-color: #ffffff;
  407. margin-bottom:24rpx;
  408. padding: 0rpx 24rpx;
  409. .list-warp{
  410. padding: 24rpx 0;
  411. border-bottom: 14rpx solid #f0f0f0;
  412. }
  413. .list-warp:last-child{
  414. border:none;
  415. }
  416. .auxiliary-warp{
  417. display: flex;
  418. justify-content: space-between;
  419. flex-wrap: wrap;
  420. .auxiliary-list-box{
  421. width: 342rpx;
  422. padding: 24rpx 20rpx;
  423. border-radius: 10rpx;
  424. border: 1rpx solid #ddd;
  425. background-color: #fff;
  426. display: flex;
  427. position: relative;
  428. box-sizing: border-box;
  429. font-size: 24rpx;
  430. margin-top: 24rpx;
  431. .auxiliary-before{
  432. position: absolute;
  433. right: 0;
  434. top: 0;
  435. width: 120rpx;
  436. height: 40rpx;
  437. line-height: 40rpx;
  438. text-align: center;
  439. border-radius: 2px 2px 2px 10px;
  440. }
  441. .auxiliary-img{
  442. width: 60rpx;
  443. height: 60rpx;
  444. margin-right: 10rpx;
  445. image{
  446. width: 100%;
  447. height: 100%;
  448. }
  449. }
  450. }
  451. }
  452. .list-title{
  453. margin-top: 30rpx;
  454. color: #333;
  455. font-size: 28rpx;
  456. }
  457. .tag{
  458. margin-top: 32rpx;
  459. .tag-box{
  460. height: 48rpx;
  461. line-height: 48rpx;
  462. text-align: center;
  463. padding: 0 22rpx;
  464. display: inline-block;
  465. background-color: #F1F1F1;
  466. font-size: 24rpx;
  467. color: #666666;
  468. margin-left: 20rpx;
  469. }
  470. }
  471. .list-main-info{
  472. display: flex;
  473. justify-content: space-between;
  474. .img{
  475. width: 100rpx;
  476. height: 100rpx;
  477. image{
  478. width: 100rpx;
  479. height: 100rpx;
  480. }
  481. }
  482. .text{
  483. width: calc(~ '100% - 140rpx');
  484. margin-top: 10rpx;
  485. padding: 0 24rpx;
  486. .list-main-title{
  487. font-size: 28rpx;
  488. color: #333333;
  489. span{
  490. background: rgba(63,191,49,0.20);
  491. padding: 3rpx 24rpx;
  492. color: #34C724;
  493. border-radius: 40rpx;
  494. margin-left: 24rpx;
  495. }
  496. .standby{
  497. background-color: rgba(153, 153, 153, 0.20);
  498. color:#FF8800;
  499. }
  500. }
  501. .list-main-model{
  502. margin-top: 10rpx;
  503. font-size: 24rpx;
  504. color: #333333;
  505. }
  506. }
  507. }
  508. }
  509. }
  510. }
  511. }
  512. </style>