index.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <template>
  2. <!-- 故障上报 -->
  3. <view>
  4. <!-- 上报表单 -->
  5. <view class="form-panel">
  6. <view class="form-title">
  7. 基本信息
  8. </view>
  9. <input class="form-input" placeholder="请输入设备ID" type="text" />
  10. <input class="form-input" placeholder="请输入设备名称" type="text" />
  11. <input class="form-input" placeholder="请输入联系人名称" type="text" />
  12. <input class="form-input" placeholder="请输入联系人电话" type="text" />
  13. <input class="form-input" placeholder="请输入联系人地址" type="text" />
  14. <view class="form-title" style="padding-top: 24rpx;">
  15. 故障信息
  16. </view>
  17. <textarea class="form-textarea" placeholder="请尽量详细描述您所反馈的意见(不少于10个文字)" />
  18. <view class="form-words">0/300</view>
  19. <view class="row-between form-title">
  20. 图片上传
  21. <text class="font-10">最多5张图片</text>
  22. </view>
  23. <!-- 上传图片 -->
  24. <view class="ui-upload" id="descripImg">
  25. <view class="ui-upload_file">
  26. <image src="@/static/demo/demo2.png" @click="previewImage()" class="ui-upload_img"
  27. mode="aspectFill">
  28. </image>
  29. </view>
  30. <view class="ui-upload_input" @click="uploadFile">
  31. <image src="@/static/img/upload.png" class="ui-upload_img" mode="aspectFill"></image>
  32. </view>
  33. </view>
  34. </view>
  35. <view class="form-submit">
  36. <button class="btn">提交</button>
  37. </view>
  38. </view>
  39. </template>
  40. <script>
  41. export default {
  42. data() {
  43. return {
  44. // 图片列表
  45. imgList: [],
  46. }
  47. },
  48. methods: {
  49. // 上传图片
  50. async uploadFile(e) {
  51. let res = await this.uploadImageSync();
  52. if (res.success) {
  53. }
  54. },
  55. uploadImageSync() {
  56. return new Promise((resolve, reject) => {
  57. uni.chooseImage({
  58. count: 1, // 默认9
  59. sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
  60. sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
  61. success(res) {
  62. const tempFilePaths = res.tempFilePaths;
  63. }
  64. })
  65. })
  66. }
  67. }
  68. }
  69. </script>
  70. <style lang="scss">
  71. .form-panel {
  72. padding: 24rpx;
  73. margin-top: 24rpx;
  74. background: #fff;
  75. border-radius: 12rpx;
  76. }
  77. .form-title {
  78. padding: 0 16rpx 16rpx;
  79. font-size: 32rpx;
  80. color: #272A2E;
  81. }
  82. .form-input,
  83. .form-textarea {
  84. margin-bottom: 24rpx;
  85. font-size: 28rpx;
  86. line-height: 40rpx;
  87. }
  88. .form-input {
  89. padding: 22rpx 28rpx;
  90. background: #F3F5F9;
  91. border-radius: 12rpx;
  92. }
  93. .form-textarea {
  94. width: calc(100% - 32rpx);
  95. padding: 15rpx 22rpx;
  96. margin: 0 16rpx;
  97. font-size: 24rpx;
  98. box-sizing: border-box;
  99. background: #F3F4F5;
  100. border-radius: 8rpx;
  101. }
  102. .form-words {
  103. margin: 10rpx 16rpx;
  104. font-size: 24rpx;
  105. color: #272A2E;
  106. text-align: right;
  107. }
  108. .form-submit {
  109. padding: 120rpx 24rpx;
  110. overflow: hidden;
  111. }
  112. </style>