baoxiudj.wxml 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <view class="container4">
  2. <!-- 返回按钮 -->
  3. <view class="custom-nav">
  4. <view bindtap="goBack">
  5. <image src="/static_file/backcion.png" mode="aspectFit" class="back-icon"></image>
  6. </view>
  7. <view class="nav-title">{{isPreviewMode ? '报修详情' : '报修登记'}}</view>
  8. </view>
  9. <!-- 第一个卡片:地址、联系人、联系电话 -->
  10. <view class="bill-card first-card">
  11. <view class="bill-row">
  12. <text style="flex: 0 1 30%">地址<text class="required" wx:if="{{!isPreviewMode}}">*</text></text>
  13. <textarea auto-height='true' class="bill-row-address" value="{{address}}"
  14. bindinput="inputAddress" data-field="address" disabled="{{isPreviewMode}}">
  15. </textarea>
  16. </view>
  17. <view class="divider"></view>
  18. <view class="bill-row">
  19. <text>联系人<text class="required" wx:if="{{!isPreviewMode}}">*</text></text>
  20. <input class="input-right input-text" placeholder="请输入" placeholder-class="placeholder-style" bindinput="inputContact" value="{{contact}}" data-field="contact" disabled="{{isPreviewMode}}" />
  21. </view>
  22. <view class="divider"></view>
  23. <view class="bill-row">
  24. <text>联系电话<text class="required" wx:if="{{!isPreviewMode}}">*</text></text>
  25. <input class="input-right input-text" placeholder="请输入" placeholder-class="placeholder-style" bindinput="inputPhone" value="{{phone}}" type="number" maxlength="11" data-field="phone" disabled="{{isPreviewMode}}" />
  26. </view>
  27. </view>
  28. <!-- 第二个卡片:报修类型 -->
  29. <view class="bill-card" bindtap="{{!isPreviewMode ? 'showRepairTypeSelector' : ''}}">
  30. <view class="bill-row">
  31. <text>报修类型<text class="required" wx:if="{{!isPreviewMode}}">*</text></text>
  32. <view class="selector-value">
  33. <text class="{{repairType ? 'input-text' : 'placeholder-style'}}">{{repairType || '请选择'}}</text>
  34. <text class="arrow" wx:if="{{!isPreviewMode}}">></text>
  35. </view>
  36. </view>
  37. </view>
  38. <!-- 第三个卡片:故障说明 -->
  39. <view class="bill-card">
  40. <view class="card-title">故障说明<text class="required" wx:if="{{!isPreviewMode}}">*</text></view>
  41. <view class="solid-divider"></view>
  42. <textarea class="input-text" placeholder="请输入描述说明..." placeholder-class="placeholder-style" bindinput="inputDescription" value="{{description}}" data-field="description" disabled="{{isPreviewMode}}"></textarea>
  43. <view class="upload-section">
  44. <view class="upload-btn-container solid-border" wx:if="{{!isPreviewMode}}">
  45. <view class="upload-btn" bindtap="chooseImage">
  46. <view class="plus-icon">+</view>
  47. </view>
  48. </view>
  49. <view class="image-preview" wx:if="{{imageList.length > 0}}">
  50. <block wx:for="{{imageList}}" wx:key="index">
  51. <view class="image-item">
  52. <image src="{{item.tempFilePath || item}}" mode="aspectFill" bindtap="previewImage" data-index="{{index}}"></image>
  53. <view class="delete-icon" catchtap="deleteImage" data-index="{{index}}" wx:if="{{!isPreviewMode}}">×</view>
  54. </view>
  55. </block>
  56. </view>
  57. </view>
  58. <view class="upload-tip" wx:if="{{imageList.length < 10 && !isPreviewMode}}">
  59. 最多可上传10张图片,单张不超过10M
  60. </view>
  61. </view>
  62. <!-- 回复信息卡片,仅在预览模式下显示且有回复内容时 -->
  63. <view class="bill-card" wx:if="{{isPreviewMode && isReplied}}">
  64. <view class="bill-rownew">
  65. <text>处理时间</text>
  66. <view class="reply-timenew">{{replyTime}}</view>
  67. </view>
  68. <view class="solid-divider"></view>
  69. <view class="card-title">处理说明</view>
  70. <view class="solid-divider"></view>
  71. <view class="reply-content">{{replyContent}}</view>
  72. </view>
  73. <button class="submit-btn" bindtap="submitForm" wx:if="{{!isPreviewMode}}" disabled="{{isSubmitting}}">
  74. {{isSubmitting ? '提交中...' : '提交'}}
  75. </button>
  76. <!-- 报修须知弹窗,仅在非预览模式下显示 -->
  77. <view class="notification-modal" wx:if="{{showNotification && !isPreviewMode}}">
  78. <view class="notification-content">
  79. <view class="notification-title">报修须知</view>
  80. <view class="notification-divider"></view>
  81. <view class="notification-list">
  82. <view class="notification-item">1. 进水表前管线问题报修不涉及费用</view>
  83. <view class="notification-item">2. 进水表后管线问题属于用户管辖问题,若维修会产生费用。</view>
  84. <view class="notification-item">3. 更换水表和更换阀门等问题将收取服务费</view>
  85. </view>
  86. <view class="notification-btn {{countDown > 0 ? 'disabled-btn' : ''}}" bindtap="closeNotification">
  87. 知道了{{countDown > 0 ? '(' + countDown + 's)' : ''}}
  88. </view>
  89. </view>
  90. </view>
  91. <!-- 新增用canvas方法用于图片压缩 -->
  92. <canvas type="2d" id="compressCanvas" style="position:fixed; left:-9999px; width:300px; height:300px;"></canvas>
  93. </view>