混凝土运输管理微信小程序、替班
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

318 lines
7.0 KiB

1 week ago
  1. <template>
  2. <view>
  3. <view class="head flex-sb">
  4. <view class="items">
  5. <view class="item-tab flex">
  6. <view @click="clickTabOne">施工前</view>
  7. <view @click="clickTabTwo">施工中</view>
  8. <view @click="clickTabThr">施工后</view>
  9. </view>
  10. <view class="item-active" :style="{'--step': step + 'rpx'}"></view>
  11. </view>
  12. </view>
  13. <view class="content">
  14. <view class="cr mt40" v-if="status===1">
  15. <view class="re-card-p32">
  16. <view class="flex-sb">
  17. <view class="re-from-label">仪表盘照片</view>
  18. </view>
  19. <image :src="froma.a" height="456"></image>
  20. </view>
  21. <view class="re-card-p32">
  22. <view class="flex-sb">
  23. <view class="re-from-label">车身前后左右</view>
  24. </view>
  25. <image :url="froma.b" height="456"/>
  26. <image :url="froma.c" height="456"/>
  27. <image :url="froma.d" height="456"/>
  28. <image :url="froma.e" height="456"/>
  29. </view>
  30. <view class="re-card-p32">
  31. <view class="flex-sb">
  32. <view class="re-from-label">当前工作环境</view>
  33. </view>
  34. <image :url="froma.f" height="456"/>
  35. </view>
  36. <view class="re-card-p32">
  37. <view class="flex-sb">
  38. <view class="re-from-label">水槽照片</view>
  39. </view>
  40. <image :url="froma.g" height="456"/>
  41. </view>
  42. <view class="re-card-p32">
  43. <view class="flex-sb">
  44. <view class="re-from-label">水槽照片</view>
  45. </view>
  46. <image :url="froma.h" height="456"/>
  47. </view>
  48. <view class="re-card-p32">
  49. <view class="flex-sb">
  50. <view class="re-from-label">现场视频</view>
  51. </view>
  52. <video :url="froma.i" height="456"/>
  53. </view>
  54. <view class="re-card-p32">
  55. <view class="re-from-label">备注</view>
  56. <textarea v-model="froma.remark" class="re-card-textarea inpit" placeholder=" 请在此处备注您的疑问或者特殊情况。"/>
  57. </view>
  58. </view>
  59. <view class="cr mt40" v-if="status===2">
  60. <view class="re-card-p32">
  61. <view class="flex-sb">
  62. <view class="re-from-label">当前工作环境</view>
  63. </view>
  64. <image :src="fromb.a" />
  65. </view>
  66. <view class="re-card-p32">
  67. <view class="flex-sb">
  68. <view class="re-from-label">支腿照片</view>
  69. </view>
  70. <image :src="fromb.b" />
  71. <image :src="fromb.c" />
  72. <image :src="fromb.d" />
  73. <image :src="fromb.e" />
  74. </view>
  75. <view class="re-card-p32">
  76. <view class="flex-sb">
  77. <view class="re-from-label">水槽照片</view>
  78. </view>
  79. <image :src="fromb.f" />
  80. </view>
  81. <view class="re-card-p32">
  82. <view class="flex-sb">
  83. <view class="re-from-label">冷却箱</view>
  84. </view>
  85. <image :src="fromb.g" />
  86. </view>
  87. <view class="re-card-p32">
  88. <view class="flex-sb">
  89. <view class="re-from-label">液压油位</view>
  90. </view>
  91. <image :src="fromb.h" />
  92. </view>
  93. <view class="re-card-p32">
  94. <view class="flex-sb">
  95. <view class="re-from-label">计时开始照片</view>
  96. </view>
  97. <image :src="fromb.i" />
  98. </view>
  99. <view class="re-card-p32">
  100. <view class="re-from-label">备注</view>
  101. <textarea v-model="fromb.remark" class="re-card-textarea inpit" placeholder=" 请在此处备注您的疑问或者特殊情况。"/>
  102. </view>
  103. </view>
  104. <view class="cr mt40" v-if="status===3">
  105. <view class="re-card-p32">
  106. <view class="flex-sb">
  107. <view class="re-from-label">计时结束照片</view>
  108. </view>
  109. <image :src="fromc.a" />
  110. </view>
  111. <view class="re-card-p32">
  112. <view class="flex-sb">
  113. <view class="re-from-label">抖料清洗照片</view>
  114. </view>
  115. <image :src="fromc.b" />
  116. </view>
  117. <view class="re-card-p32">
  118. <view class="flex-sb">
  119. <view class="re-from-label">车身照片</view>
  120. </view>
  121. <image :src="fromc.c" />
  122. </view>
  123. <view class="re-card-p32">
  124. <view class="flex-sb">
  125. <view class="re-from-label">仪表盘照片</view>
  126. </view>
  127. <image :src="fromc.d" />
  128. </view>
  129. <view class="re-card-p32">
  130. <view class="flex-sb">
  131. <view class="re-from-label">签单照片</view>
  132. </view>
  133. <image :src="fromc.e" />
  134. </view>
  135. <view class="re-card-p32">
  136. <view class="flex-sb">
  137. <view class="re-from-label">补方小票照片</view>
  138. </view>
  139. <image :src="fromc.f" />
  140. </view>
  141. <view class="re-card-p32">
  142. <view class="flex-sb">
  143. <view class="re-from-label">车辆入库交车照片</view>
  144. </view>
  145. <image :src="fromc.g" />
  146. </view>
  147. <view class="re-card-p32">
  148. <view class="re-from-label">备注</view>
  149. <textarea v-model="fromc.remark" class="re-card-textarea inpit" placeholder=" 请在此处备注您的疑问或者特殊情况。"/>
  150. </view>
  151. </view>
  152. </view>
  153. </view>
  154. </template>
  155. <script>
  156. export default {
  157. data() {
  158. return {
  159. show: false,
  160. url: "",
  161. orderId: "",
  162. step: 8,
  163. status: 0,
  164. froma: {
  165. a:"",
  166. remark: ""
  167. },
  168. fromb: {
  169. a:"",
  170. remark: ""
  171. },
  172. fromc: {
  173. a:"",
  174. remark: ""
  175. },
  176. }
  177. },
  178. onLoad(opn) {
  179. this.orderId = opn.id
  180. },
  181. onShow() {
  182. this.clickTabOne()
  183. },
  184. methods: {
  185. clickTabOne(){
  186. this.step=8
  187. this.status = 1
  188. this.loadList()
  189. },
  190. clickTabTwo(){
  191. this.step=221
  192. this.status = 2
  193. this.loadList()
  194. },
  195. clickTabThr(){
  196. this.step=432
  197. this.status = 3
  198. this.loadList()
  199. },
  200. loadList(){
  201. const _this = this;
  202. const params = {orderId: this.orderId, step: this.status}
  203. this.$httpGet("/api/order/get/step", params, function(res) {
  204. if(res.data){
  205. if(_this.status===1){
  206. _this.froma = res.data
  207. } else if(_this.status===2){
  208. _this.fromb = res.data
  209. } else if(_this.status===3){
  210. _this.fromc = res.data
  211. }
  212. }
  213. })
  214. }
  215. }
  216. }
  217. </script>
  218. <style>
  219. page {
  220. background-color: #F5F5F5;
  221. }
  222. .cr {
  223. min-height: calc(88vh);
  224. }
  225. /deep/ uni-radio .uni-radio-input{
  226. background-color: #F40000 !important;
  227. border-color: #F40000 !important;
  228. }
  229. /deep/ uni-radio .uni-radio-input:empty{
  230. background-color: #ffffff !important;
  231. border-color: #d1d1d1 !important;
  232. }
  233. .re-from-car{
  234. width: 72rpx;
  235. height: 60rpx;
  236. margin: 0 16rpx -20rpx 0;
  237. }
  238. .head{
  239. height: 68rpx;
  240. padding: 10rpx 40rpx;
  241. background-color: #fff;
  242. }
  243. .items{
  244. width: 687rpx;
  245. height: 52rpx;
  246. padding: 8rpx 8rpx;
  247. border-radius: 34rpx;
  248. background-color: #f2f4f9;
  249. position: relative;
  250. }
  251. .item-tab{
  252. line-height: 52rpx;
  253. background-color: transparent;
  254. }
  255. .item-tab view{
  256. width: 33%;
  257. text-align: center;
  258. font-size: 26rpx;
  259. font-weight: normal;
  260. text-align: center;
  261. letter-spacing: -0.16px;
  262. color: #152748;
  263. background-color: transparent;
  264. z-index: 1;
  265. }
  266. .item-active{
  267. width: 229rpx;
  268. height: 52rpx;
  269. border-radius: 26rpx;
  270. background-color: #ffffff;
  271. position: absolute;
  272. left: var(--step);
  273. top: 8rpx;
  274. transition: .3s ease-in;
  275. z-index: 0;
  276. }
  277. </style>