detailDialog.vue 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. <template>
  2. <ele-modal
  3. custom-class="ele-dialog-form long-dialog-form"
  4. :centered="true"
  5. :visible.sync="detailDialogFlag"
  6. :title="title"
  7. :close-on-click-modal="false"
  8. width="60%"
  9. :before-close="cancel"
  10. :maxable="true"
  11. :resizable="true"
  12. >
  13. <el-form ref="form" :model="form" class="el-form-box" label-width="120px">
  14. <headerTitle title="基本信息"></headerTitle>
  15. <el-row >
  16. <el-col :span="12">
  17. <el-form-item
  18. label="车牌号:"
  19. prop="trakNumber"
  20. >
  21. <el-input v-model="form.trakNumber" disabled />
  22. </el-form-item>
  23. </el-col>
  24. <el-col :span="12">
  25. <el-form-item
  26. label="车型:"
  27. prop="type"
  28. >
  29. <el-input v-model="form.type" disabled />
  30. </el-form-item>
  31. </el-col>
  32. </el-row>
  33. <el-row >
  34. <el-col :span="12">
  35. <el-form-item
  36. label="最大体积:"
  37. prop="maxVolume"
  38. >
  39. <el-input v-model="form.maxVolume" disabled >
  40. <template slot="append">m³</template>
  41. </el-input>
  42. </el-form-item>
  43. </el-col>
  44. <el-col :span="12">
  45. <el-form-item
  46. label="载重:"
  47. prop="loadWeight"
  48. >
  49. <el-input v-model="form.loadWeight" disabled >
  50. <template slot="append">KG</template>
  51. </el-input>
  52. </el-form-item>
  53. </el-col>
  54. </el-row>
  55. <el-row >
  56. <el-col :span="12">
  57. <el-form-item
  58. label="载人数:"
  59. prop="loadPersonNum"
  60. >
  61. <el-input v-model="form.loadPersonNum" disabled >
  62. </el-input>
  63. </el-form-item>
  64. </el-col>
  65. <el-col :span="12">
  66. <el-form-item
  67. label="空车重量:"
  68. prop="freeWeight"
  69. >
  70. <el-input v-model="form.freeWeight" disabled >
  71. <template slot="append">KG</template>
  72. </el-input>
  73. </el-form-item>
  74. </el-col>
  75. </el-row>
  76. <el-row >
  77. <el-col :span="12">
  78. <el-form-item
  79. label="行驶证:"
  80. prop="drivingLicenseFile"
  81. >
  82. <fileMain v-model="form.drivingLicenseFile" type="view"></fileMain>
  83. <!-- <el-link-->
  84. <!-- v-if="form.drivingLicenseFile.length"-->
  85. <!-- v-for="item in form.drivingLicenseFile"-->
  86. <!-- type="primary"-->
  87. <!-- :underline="false"-->
  88. <!-- @click="downloadFile(item)"-->
  89. <!-- >-->
  90. <!-- {{ item.name }}-->
  91. <!-- </el-link>-->
  92. </el-form-item>
  93. </el-col>
  94. <el-col :span="12">
  95. <el-form-item
  96. label="运输证:"
  97. prop="transportLicenseFile"
  98. >
  99. <fileMain v-model="form.transportLicenseFile" type="view"></fileMain>
  100. <!-- <el-link-->
  101. <!-- v-if="form.transportLicenseFile.length"-->
  102. <!-- v-for="item in form.transportLicenseFile"-->
  103. <!-- type="primary"-->
  104. <!-- :underline="false"-->
  105. <!-- @click="downloadFile(item)"-->
  106. <!-- >-->
  107. <!-- {{ item.name }}-->
  108. <!-- </el-link>-->
  109. </el-form-item>
  110. </el-col>
  111. </el-row>
  112. <el-row >
  113. <el-col :span="12">
  114. <el-form-item
  115. label="默认司机:"
  116. prop="defaultDriver"
  117. >
  118. <el-input v-model="form.defaultDriver" disabled >
  119. </el-input>
  120. </el-form-item>
  121. </el-col>
  122. <el-col :span="12">
  123. <el-form-item
  124. label="联系电话:"
  125. prop="phone"
  126. >
  127. <el-input v-model="form.phone" disabled >
  128. </el-input>
  129. </el-form-item>
  130. </el-col>
  131. </el-row>
  132. <el-row >
  133. <el-col :span="12">
  134. <el-form-item
  135. label="运输证有效期:"
  136. prop="transportLicenxeValidityDate"
  137. >
  138. <el-input :value="form.transportLicenxeValidityStart ? form.transportLicenxeValidityStart + '至' + form.transportLicenxeValidityEnd : ''" disabled ></el-input>
  139. </el-form-item>
  140. </el-col>
  141. <el-col :span="12">
  142. <el-form-item
  143. label="承保公司:"
  144. prop="insuranceCompany"
  145. >
  146. <el-input v-model="form.insuranceCompany" disabled >
  147. </el-input>
  148. </el-form-item>
  149. </el-col>
  150. </el-row>
  151. <el-row >
  152. <el-col :span="12">
  153. <el-form-item
  154. label="交强险有效期:"
  155. prop="trafficInsuranceValidityDate"
  156. >
  157. <el-input :value="form.trafficInsuranceValidityStart? form.trafficInsuranceValidityStart + '至' + form.trafficInsuranceValidityEnd :''" disabled ></el-input>
  158. </el-form-item>
  159. </el-col>
  160. <el-col :span="12">
  161. <el-form-item
  162. label="商业险有效期:"
  163. prop="businessInsuranceValidityDate"
  164. >
  165. <el-input :value="form.trafficInsuranceValidityStart? form.businessInsuranceValidityStart + '至' + form.businessInsuranceValidityEnd:''" disabled ></el-input>
  166. </el-form-item>
  167. </el-col>
  168. </el-row>
  169. <el-row >
  170. <el-col :span="12">
  171. <el-form-item
  172. label="保养标准:"
  173. prop="maintenanceStandards"
  174. >
  175. <el-input v-model="form.maintenanceStandards" disabled >
  176. </el-input>
  177. </el-form-item>
  178. </el-col>
  179. <el-col :span="12">
  180. <el-form-item
  181. label="区域:"
  182. >
  183. <el-input :value="form.addressName?form.addressName +','+ form.addressDetail:''" disabled >
  184. </el-input>
  185. </el-form-item>
  186. </el-col>
  187. </el-row>
  188. <el-row >
  189. <el-col :span="12">
  190. <el-form-item
  191. label="gps:"
  192. prop="gps"
  193. >
  194. <el-input v-model="form.gps" disabled >
  195. </el-input>
  196. </el-form-item>
  197. </el-col>
  198. <el-col :span="12">
  199. <el-form-item
  200. label="备注:"
  201. prop="remark"
  202. >
  203. <el-input type="textarea" v-model="form.remark" disabled >
  204. </el-input>
  205. </el-form-item>
  206. </el-col>
  207. </el-row>
  208. </el-form>
  209. <div slot="footer" class="footer">
  210. <el-button @click="cancel">返回</el-button>
  211. </div>
  212. </ele-modal>
  213. </template>
  214. <script>
  215. import {getFile} from '@/api/system/file';
  216. import dictMixins from '@/mixins/dictMixins';
  217. import fileUpload from "@/components/upload/fileUpload.vue";
  218. import RegionsSelect from "@/components/RegionsSelect/index.vue";
  219. import {carInfoAPI} from "@/api/transportManager/carBook";
  220. // import fileMain from "@/components/addDoc/index.vue";
  221. export default {
  222. mixins: [dictMixins],
  223. props: ['detailDialogFlag'],
  224. components: {
  225. // fileMain,
  226. RegionsSelect,
  227. fileUpload,
  228. },
  229. data() {
  230. return {
  231. title: '详情',
  232. dialogType: '',
  233. city: null,
  234. transportLicenxeValidityDate: [],
  235. trafficInsuranceValidityDate: [],
  236. businessInsuranceValidityDate: [],
  237. form: {},
  238. };
  239. },
  240. methods: {
  241. //初始化
  242. async init(row = {}, type) {
  243. this.title = '详情'
  244. this.dialogType = type
  245. await this.getInfo(row.id)
  246. },
  247. //获取详情
  248. async getInfo(id) {
  249. this.form = await carInfoAPI(id)
  250. this.city = this.form.addressId ? this.form.addressId.split(',') : null;
  251. this.transportLicenxeValidityDate = [this.form.transportLicenxeValidityStart, this.form.transportLicenxeValidityEnd]
  252. this.trafficInsuranceValidityDate = [this.form.trafficInsuranceValidityStart, this.form.trafficInsuranceValidityEnd]
  253. this.businessInsuranceValidityDate = [this.form.businessInsuranceValidityStart, this.form.businessInsuranceValidityEnd]
  254. },
  255. downloadFile(file) {
  256. getFile({objectName: file.storePath}, file.name);
  257. },
  258. cancel() {
  259. this.$emit('update:detailDialogFlag', false)
  260. }
  261. }
  262. };
  263. </script>
  264. <style scoped lang="scss">
  265. .ele-dialog-form {
  266. .el-form-item {
  267. margin-bottom: 10px;
  268. }
  269. }
  270. .headbox {
  271. display: flex;
  272. justify-content: flex-start;
  273. align-items: center;
  274. .amount {
  275. font-size: 14px;
  276. font-weight: bold;
  277. margin-right: 20px;
  278. }
  279. }
  280. </style>