fault-report.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <template>
  2. <view class="home">
  3. <view class="device-info">
  4. <i class="iconfont icon-shebei"></i>设备信息
  5. </view>
  6. <view class="info-area">
  7. <u--form
  8. labelPosition="left"
  9. :model="model1"
  10. ref="form1"
  11. :labelWidth="100"
  12. labelAlign="center"
  13. >
  14. <u-form-item
  15. label="设备名称"
  16. prop="deviceName"
  17. borderBottom
  18. ref="item1"
  19. >
  20. {{model1.deviceName}}
  21. </u-form-item>
  22. <u-form-item
  23. label="设备编码"
  24. prop="deviceNumber"
  25. borderBottom
  26. ref="item2"
  27. >
  28. {{model1.deviceNumber}}
  29. </u-form-item>
  30. </u--form>
  31. </view>
  32. <view class="type-head">
  33. <i class="iconfont icon-dingwei"></i>请填写故障现象
  34. </view>
  35. <view class="type-area">
  36. <u--textarea
  37. border="none"
  38. v-model="fault"
  39. placeholder="请输入故障现象"
  40. autoHeight
  41. maxlength="-1"></u--textarea>
  42. </view>
  43. <view class="btn-area">
  44. <u-button color="#000" size="small" @click="toReportFault">上报</u-button>
  45. </view>
  46. <u-toast ref="uToast"></u-toast>
  47. </view>
  48. </template>
  49. <script>
  50. import { searchAsset,reportFault } from "@/api/asset.js"
  51. import cache from '@/utils/storage.js'
  52. export default {
  53. data() {
  54. return {
  55. model1: {
  56. deviceName: '',
  57. deviceNumber: '',
  58. },
  59. fault:"",
  60. id:""
  61. };
  62. },
  63. methods:{
  64. initAssets(data){
  65. searchAsset({barCode: data}).then(res=>{
  66. if(res.barCode===null){
  67. this.model1.deviceName = ""
  68. this.model1.deviceNumber = this.id
  69. this.$refs.uToast.show({
  70. type: 'error',
  71. icon: false,
  72. message: "该设备不存在,即将返回上一页",
  73. duration:1500
  74. })
  75. setTimeout(()=>{
  76. uni.navigateBack({
  77. delta:1
  78. })
  79. },1000)
  80. }else{
  81. this.model1.deviceName = res.name
  82. this.model1.deviceNumber = res.barCode
  83. }
  84. })
  85. },
  86. toReportFault(){
  87. let data = {
  88. "assetBarCode": this.model1.deviceNumber,
  89. "faultPhenomenon": this.fault,
  90. "tel": cache.session.getJSON('phone')
  91. }
  92. reportFault(data).then(res=>{
  93. uni.showModal({
  94. title: '系统提示',
  95. content: '故障上报成功,是否返回上一页',
  96. success: function (res) {
  97. if (res.confirm) {
  98. uni.navigateBack({
  99. delta:1
  100. })
  101. } else if (res.cancel) {
  102. return;
  103. }
  104. }
  105. });
  106. })
  107. }
  108. },
  109. onLoad(option) {
  110. this.id = option.id
  111. this.initAssets(option.id)
  112. }
  113. }
  114. </script>
  115. <style lang="scss">
  116. page{
  117. background-color: #eae9e9;
  118. }
  119. .home{
  120. // padding: 20rpx 0;
  121. }
  122. .device-info,.type-head{
  123. display: flex;
  124. align-items: center;
  125. padding:20rpx;
  126. .iconfont{
  127. font-size: 40rpx;
  128. margin-right: 10rpx;
  129. }
  130. }
  131. .info-area,.type-area{
  132. background-color: #fff;
  133. }
  134. .type-area{
  135. padding: 0 20rpx;
  136. }
  137. .btn-area{
  138. padding: 20rpx 20rpx 20rpx 500rpx;
  139. }
  140. </style>