sim.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. <template>
  2. <view>
  3. <view class="status_bar"></view>
  4. <view class="" style="position: relative;top: 44px;">
  5. <view style="position: fixed;z-index: 100;width: 100%;">
  6. <uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回" title="sim卡详情"></uni-nav-bar>
  7. </view>
  8. <view class="sim_info">
  9. <view class="sim_info_loding" v-if="loding">
  10. <image src="../../static/images/cb/6286299.gif" mode="" class="img"></image>
  11. </view>
  12. <view class="sim_info_title">
  13. <image :src="'http://www.hnyfwlw.com:8006/bigdata_app'+'/image/cb/sim1.png'" mode=""></image>
  14. <p>sim卡查询{{"("+simnew+")"}}</p>
  15. </view>
  16. <view class="sim_info_text">
  17. <p>运营商:{{siminfo.data.carrier}}</p>
  18. <view class="sim_info_iccid" @click="copy(iccid)">
  19. <p>ICCID:{{iccid}}</p>
  20. <image src="../../static/images/ba167c2774bc7a63381dc3aaf1ef95c.png" mode="" class="tishi"></image>
  21. </view>
  22. <p>状态:{{state}}</p>
  23. <p>套餐:{{siminfo.data.data_plan || siminfo.data.totalDataVolume}}MB</p>
  24. <p v-if="simnew=='旧'">已用流量:{{siminfo.data.data_usage.toFixed(2)}}MB</p>
  25. <p v-if="simnew=='新'">已用流量:{{siminfo.data.usedDataVolume.toFixed(2)}}MB</p>
  26. <p v-if="simnew=='旧'">剩余流量:{{siminfo.data.data_balance.toFixed(2)}}MB</p>
  27. <p v-if="simnew=='新'">剩余流量:{{(siminfo.data.totalDataVolume-siminfo.data.usedDataVolume).toFixed(2)}}MB</p>
  28. <p v-if="simnew=='旧'">到期时间:{{siminfo.data.expiry_date|timeFormat()}}</p>
  29. <p v-if="simnew=='新'">到期时间:{{siminfo.data.expireDate}}</p>
  30. </view>
  31. </view>
  32. </view>
  33. </view>
  34. </template>
  35. <script>
  36. export default {
  37. data() {
  38. return {
  39. iccid: '',
  40. siminfo: {
  41. data: {
  42. carrier: "--",
  43. account_status: "--",
  44. data_plan: "--",
  45. data_usage: "--",
  46. data_balance: "--",
  47. outbound_date: ""
  48. }
  49. },
  50. state:"",
  51. id: '',
  52. simnew:"",
  53. loding:false
  54. }
  55. },
  56. methods: {
  57. async simid(data) { //获取sim卡号
  58. const res = await this.$myRequest({
  59. url: '/api/api_gateway?method=forecast.send_control.device_sim',
  60. data: {
  61. d_id: data,
  62. type: 'sim'
  63. }
  64. })
  65. if(res.length!=0){
  66. this.iccid = res[0].iccid
  67. this.simdata(this.iccid)
  68. }
  69. },
  70. async simdata(data) { //获取sim信息
  71. const res = await this.$myRequest({
  72. url: '/api/api_gateway?method=forecast.send_control.sim_query',
  73. data: {
  74. iccid: data
  75. }
  76. })
  77. if(res.code==1){//企鹏
  78. this.simnew = "新"
  79. switch (res.data.data.deviceStatus){
  80. case "TEST_READY_NAME":
  81. this.state = "可测试"
  82. break;
  83. case "INVENTORY_NAME":
  84. this.state = "库存"
  85. break;
  86. case "ACTIVATION_READY_NAME":
  87. this.state = "可激活"
  88. break;
  89. case "ACTIVATED_NAME":
  90. this.state = "已激活"
  91. break;
  92. case "DEACTIVATED_NAME":
  93. this.state = "已停卡"
  94. break;
  95. case "RETIRED_NAME":
  96. this.state = "已销卡"
  97. break;
  98. case "PURGED_NAME":
  99. this.state = "已清除"
  100. break;
  101. }
  102. }else if(res.code==2){//合宙
  103. var arr = ['未知', '测试期', '沉默期', '使用中', '停机', '停机保号', '预销号', '销号']
  104. this.state = arr[res.data.data.account_status]
  105. this.simnew = "旧"
  106. }
  107. this.siminfo = res.data
  108. this.loding = false
  109. console.log(this.siminfo.data)
  110. },
  111. clickLeft() {
  112. uni.navigateBack({
  113. delta: 1
  114. })
  115. },
  116. copy(item){
  117. uni.setClipboardData({
  118. data: item ,
  119. success: function () {
  120. console.log('success');
  121. }
  122. });
  123. },
  124. },
  125. onLoad(option) {
  126. console.log(option)
  127. this.id = option.id
  128. this.loding = true
  129. this.simid(this.id)
  130. }
  131. }
  132. </script>
  133. <style lang="scss">
  134. .sim_info {
  135. width: 90%;
  136. position: absolute;
  137. top: 54px;
  138. left: 5%;
  139. box-shadow: 0 0 10rpx #bcb9ca;
  140. padding: 30rpx 20rpx 50rpx;
  141. border-radius: 20rpx;
  142. box-sizing: border-box;
  143. .sim_info_loding{
  144. position: absolute;
  145. top: 0;
  146. left: 0;
  147. width: 100%;
  148. background-color: rgba(0,0,0,0.3);
  149. border-radius: 20rpx;
  150. height: 100%;
  151. display: flex;
  152. justify-content: space-around;
  153. align-items: center;
  154. .img{
  155. width: 200rpx;
  156. height: 175rpx;
  157. }
  158. }
  159. .sim_info_title {
  160. width: 100%;
  161. display: flex;
  162. image {
  163. width: 24rpx;
  164. height: 32rpx;
  165. margin: 6rpx 20rpx 0 0;
  166. }
  167. p {
  168. font-weight: 700;
  169. }
  170. }
  171. .sim_info_text {
  172. width: 100%;
  173. padding-left: 44rpx;
  174. p {
  175. height: 30rpx;
  176. margin-top: 20rpx;
  177. font-size: 26rpx;
  178. }
  179. .sim_info_iccid{
  180. display: flex;
  181. .tishi{
  182. width: 30rpx;
  183. height: 30rpx;
  184. margin: 26rpx 0 0 20rpx;
  185. color: #000;
  186. }
  187. }
  188. }
  189. }
  190. </style>