detail.vue 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <template>
  2. <xn-form-container
  3. :title="'过磅记录详情'"
  4. :width="1200"
  5. v-model:open="open"
  6. :destroy-on-close="true"
  7. @close="onClose"
  8. >
  9. <a-descriptions>
  10. <a-descriptions-item span="3" label="车次编码">{{ formData.carNumber }}</a-descriptions-item>
  11. <a-descriptions-item label="车牌号码">{{ formData.licensePlate }}</a-descriptions-item>
  12. <a-descriptions-item span="2" label="车牌颜色">{{ formData.plateColor }}</a-descriptions-item>
  13. <!-- <a-descriptions-item label="发货单位">{{ formData.shippingCompany }}</a-descriptions-item>
  14. <a-descriptions-item label="收货单位">{{ formData.receiptCompany }}</a-descriptions-item>
  15. <a-descriptions-item label="运输单位">{{ formData.transportCompany }}</a-descriptions-item>-->
  16. <!-- <a-descriptions-item label="运输路线">{{ formData.transportRoute }}</a-descriptions-item> -->
  17. <a-descriptions-item label="货品名称">{{ formData.goodsName }}</a-descriptions-item>
  18. <a-descriptions-item label="货品规格">{{ formData.goodsModel }}</a-descriptions-item>
  19. <a-descriptions-item label="司机姓名">{{ formData.driverName }}</a-descriptions-item>
  20. <a-descriptions-item label="订单名称">{{ formData.orderName }}</a-descriptions-item>
  21. <a-descriptions-item label="订单编号">{{ formData.orderNumber }}</a-descriptions-item>
  22. <a-descriptions-item label="客户名称">{{ formData.customerName }}</a-descriptions-item>
  23. <a-descriptions-item label="司机电话">{{ formData.driverMobile }}</a-descriptions-item>
  24. <!-- <a-descriptions-item label="过磅人">{{ formData.extKey1 }}</a-descriptions-item>
  25. <a-descriptions-item label="打印时间">{{ formData.extKey2 }}</a-descriptions-item>-->
  26. </a-descriptions>
  27. <a-divider></a-divider>
  28. <a-descriptions>
  29. <a-descriptions-item label="毛重"
  30. ><a-tag color="blue">{{ formData.grossWeight }} 吨</a-tag></a-descriptions-item
  31. >
  32. <a-descriptions-item label="皮重"
  33. ><a-tag color="orange">{{ formData.tareWeight }} 吨</a-tag></a-descriptions-item
  34. >
  35. <a-descriptions-item label="净重"
  36. ><a-tag color="green">{{ formData.netWeight }} 吨</a-tag></a-descriptions-item
  37. >
  38. </a-descriptions>
  39. <a-divider></a-divider>
  40. <a-descriptions title="过毛">
  41. <a-descriptions-item label="过磅时间">{{ formData.grossTime }}</a-descriptions-item>
  42. </a-descriptions>
  43. <a-space>
  44. <a-image :width="200" :src="formData.grossPlateName" />
  45. <a-image :width="200" :src="formData.grossLicenseName" />
  46. </a-space>
  47. <a-space style="margin-top: 15px; margin-left: 10px">
  48. <a-image v-if="formData.grossCaptureHead != null" :width="200" :src="formData.grossCaptureHead" />
  49. <a-image v-if="formData.grossCaptureTail != null" :width="200" :src="formData.grossCaptureTail" />
  50. <a-image v-if="formData.grossCaptureBody != null" :width="200" :src="formData.grossCaptureBody" />
  51. </a-space>
  52. <a-space style="margin-top: 15px; margin-left: 10px">
  53. <a-image v-if="formData.grossCaptureWare != null" :width="200" :src="formData.grossCaptureWare" />
  54. <a-image v-if="formData.grossCapturePoundRoom != null" :width="200" :src="formData.grossCapturePoundRoom" />
  55. </a-space>
  56. <a-divider></a-divider>
  57. <a-descriptions title="过皮" style="margin-top: 15px">
  58. <a-descriptions-item label="过磅时间">{{ formData.tareTime }}</a-descriptions-item>
  59. </a-descriptions>
  60. <a-space>
  61. <a-image :width="200" :src="formData.tarePlateName" />
  62. <a-image :width="200" :src="formData.tareLicenseName" />
  63. </a-space>
  64. <a-space style="margin-top: 15px; margin-left: 10px">
  65. <a-image v-if="formData.tareCaptureHead != null" :width="200" :src="formData.tareCaptureHead" />
  66. <a-image v-if="formData.tareCaptureTail != null" :width="200" :src="formData.tareCaptureTail" />
  67. <a-image v-if="formData.tareCaptureBody != null" :width="200" :src="formData.tareCaptureBody" />
  68. </a-space>
  69. <a-space style="margin-top: 15px; margin-left: 10px">
  70. <a-image v-if="formData.tareCaptureWare != null" :width="200" :src="formData.tareCaptureWare" />
  71. <a-image v-if="formData.tareCapturePoundRoom != null" :width="200" :src="formData.tareCapturePoundRoom" />
  72. </a-space>
  73. <a-divider></a-divider>
  74. <a-descriptions title="司机确认" style="margin-top: 15px">
  75. </a-descriptions>
  76. <a-space>
  77. <a-image :width="200" :src="formData.driverSign" />
  78. </a-space>
  79. <a-divider></a-divider>
  80. <a-descriptions title="司机回签" style="margin-top: 15px">
  81. <a-descriptions-item label="卸货重量"><a-tag color="green">{{ formData.unloadWeight }} 吨</a-tag></a-descriptions-item>
  82. </a-descriptions>
  83. <a-space>
  84. <div v-for="(item,index) in fileList " :key="item.value">
  85. <a-image :width="200" :src="item.url" />
  86. </div>
  87. </a-space>
  88. <a-divider></a-divider>
  89. <a-descriptions title="签收审核" style="margin-top: 15px">
  90. </a-descriptions>
  91. <a-space>
  92. <a-image :width="200" :src="formData.auditSign" />
  93. </a-space>
  94. <template #footer>
  95. <a-button style="margin-right: 8px" @click="onClose">关闭</a-button>
  96. </template>
  97. </xn-form-container>
  98. </template>
  99. <script setup name="bizRecordForm">
  100. import tool from '@/utils/tool'
  101. import { cloneDeep } from 'lodash-es'
  102. import bizRecordApi from '@/api/biz/bizRecordApi'
  103. import sysConfig from '@/config/index'
  104. // 抽屉状态
  105. const open = ref(false)
  106. const emit = defineEmits({ successful: null })
  107. // const formRef = ref()
  108. // 表单数据
  109. const formData = ref({})
  110. // const submitLoading = ref(false)
  111. const tareTypeOptions = ref([])
  112. const fileList = ref([])
  113. // 打开抽屉
  114. const onOpen = (record) => {
  115. open.value = true
  116. tareTypeOptions.value = tool.dictList('TARE_TYPE')
  117. if (record) {
  118. /*const param = {
  119. id: record.id
  120. }
  121. bizRecordApi.bizRecordDetail(param).then((data) => {
  122. formData.value = Object.assign({}, data)
  123. })*/
  124. let recordData = cloneDeep(record)
  125. formData.value = Object.assign({}, recordData)
  126. fileList.value = []
  127. if(formData.value.unloadImg!=null){
  128. for (var i=0;i<formData.value.unloadImg.split(',').length;i++){
  129. fileList.value.push({
  130. name: formData.value.unloadName.split(',')[i],
  131. url:sysConfig.PREVIEW_PATH + formData.value.unloadImg.split(',')[i]
  132. })
  133. }
  134. }
  135. if(formData.value.grossPlateName.includes("http://218.2.6.74:8065")){
  136. console.log("str:"+formData.value.grossPlateName.indexOf("preview/"))
  137. formData.value.grossPlateName = formData.value.grossPlateName.replace("http://218.2.6.74:8065/preview/",sysConfig.PREVIEW_PATH)
  138. }
  139. if(formData.value.grossLicenseName.includes("http://218.2.6.74:8065")){
  140. formData.value.grossLicenseName = formData.value.grossLicenseName.replace("http://218.2.6.74:8065/preview/",sysConfig.PREVIEW_PATH)
  141. }
  142. if(formData.value.grossCaptureHead.includes("http://218.2.6.74:8065")){
  143. formData.value.grossCaptureHead = formData.value.grossCaptureHead.replace("http://218.2.6.74:8065/preview/",sysConfig.PREVIEW_PATH)
  144. }
  145. if(formData.value.grossCaptureTail.includes("http://218.2.6.74:8065")){
  146. formData.value.grossCaptureTail = formData.value.grossCaptureTail.replace("http://218.2.6.74:8065/preview/",sysConfig.PREVIEW_PATH)
  147. }
  148. if(formData.value.grossCaptureBody.includes("http://218.2.6.74:8065")){
  149. formData.value.grossCaptureBody = formData.value.grossCaptureBody.replace("http://218.2.6.74:8065/preview/",sysConfig.PREVIEW_PATH)
  150. }
  151. if(formData.value.grossCaptureWare.includes("http://218.2.6.74:8065")){
  152. formData.value.grossCaptureWare = formData.value.grossCaptureWare.replace("http://218.2.6.74:8065/preview/",sysConfig.PREVIEW_PATH)
  153. }
  154. if(formData.value.grossCapturePoundRoom.includes("http://218.2.6.74:8065")){
  155. formData.value.grossCapturePoundRoom = formData.value.grossCapturePoundRoom.replace("http://218.2.6.74:8065/preview/",sysConfig.PREVIEW_PATH)
  156. }
  157. if(formData.value.tarePlateName.includes("http://218.2.6.74:8065")){
  158. formData.value.tarePlateName = formData.value.tarePlateName.replace("http://218.2.6.74:8065/preview/",sysConfig.PREVIEW_PATH)
  159. }
  160. if(formData.value.tareLicenseName.includes("http://218.2.6.74:8065")){
  161. formData.value.tareLicenseName = formData.value.tareLicenseName.replace("http://218.2.6.74:8065/preview/",sysConfig.PREVIEW_PATH)
  162. }
  163. if(formData.value.tareCaptureHead.includes("http://218.2.6.74:8065")){
  164. formData.value.tareCaptureHead = formData.value.tareCaptureHead.replace("http://218.2.6.74:8065/preview/",sysConfig.PREVIEW_PATH)
  165. }
  166. if(formData.value.tareCaptureTail.includes("http://218.2.6.74:8065")){
  167. formData.value.tareCaptureTail = formData.value.tareCaptureTail.replace("http://218.2.6.74:8065/preview/",sysConfig.PREVIEW_PATH)
  168. }
  169. if(formData.value.tareCaptureBody.includes("http://218.2.6.74:8065")){
  170. formData.value.tareCaptureBody = formData.value.tareCaptureBody.replace("http://218.2.6.74:8065/preview/",sysConfig.PREVIEW_PATH)
  171. }
  172. if(formData.value.tareCaptureWare.includes("http://218.2.6.74:8065")){
  173. formData.value.tareCaptureWare = formData.value.tareCaptureWare.replace("http://218.2.6.74:8065/preview/",sysConfig.PREVIEW_PATH)
  174. }
  175. if(formData.value.tareCapturePoundRoom.includes("http://218.2.6.74:8065")){
  176. formData.value.tareCapturePoundRoom = formData.value.tareCapturePoundRoom.replace("http://218.2.6.74:8065/preview/",sysConfig.PREVIEW_PATH)
  177. }
  178. }
  179. }
  180. // 关闭抽屉
  181. const onClose = () => {
  182. // formRef.value.resetFields()
  183. formData.value = {}
  184. open.value = false
  185. }
  186. // 抛出函数
  187. defineExpose({
  188. onOpen
  189. })
  190. </script>