carManage.vue 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540
  1. <template>
  2. <div class="mod-carManage app-container">
  3. <!-- 卡片 视图区域-->
  4. <el-form
  5. :inline="true"
  6. :model="dataForm"
  7. @keyup.enter.native="getDataList()"
  8. >
  9. <el-form-item>
  10. <el-input
  11. v-model="dataForm.fleetCompanyId"
  12. placeholder="车队id"
  13. clearable
  14. ></el-input>
  15. </el-form-item>
  16. <el-form-item>
  17. <!-- 车辆管理添加驾驶员-->
  18. <!--车队可以加车辆-->
  19. <!-- 个人照片改成身份证-->
  20. <el-button @click="getDataList()">查询</el-button>
  21. <el-button type="primary" @click="addOrUpdateHandle()"
  22. >添加车辆</el-button
  23. >
  24. <!-- <el-button v-if="isAuth('fleet:carManage:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>-->
  25. </el-form-item>
  26. </el-form>
  27. <el-table
  28. :data="dataList"
  29. v-loading="dataListLoading"
  30. @selection-change="selectionChangeHandle"
  31. style="width: 100%"
  32. >
  33. <el-table-column
  34. type="selection"
  35. header-align="center"
  36. align="center"
  37. width="50"
  38. >
  39. </el-table-column>
  40. <el-table-column
  41. prop="fleetCompanyName"
  42. header-align="center"
  43. align="center"
  44. width="120"
  45. :show-overflow-tooltip="true"
  46. label="车队名称"
  47. >
  48. </el-table-column>
  49. <el-table-column
  50. prop="driverName"
  51. header-align="center"
  52. align="center"
  53. width="120"
  54. :show-overflow-tooltip="true"
  55. label="司机名称"
  56. >
  57. </el-table-column>
  58. <el-table-column
  59. prop="carNum"
  60. header-align="center"
  61. align="center"
  62. width="130"
  63. label="车牌号"
  64. >
  65. </el-table-column>
  66. <el-table-column
  67. prop="hangNum"
  68. header-align="center"
  69. align="center"
  70. label="挂号"
  71. >
  72. </el-table-column>
  73. <el-table-column
  74. prop="fuelType"
  75. header-align="center"
  76. align="center"
  77. width="130"
  78. label="燃油类型"
  79. >
  80. </el-table-column>
  81. <el-table-column
  82. prop="carType"
  83. header-align="center"
  84. align="center"
  85. width="130"
  86. label="车辆类型"
  87. >
  88. </el-table-column>
  89. <el-table-column
  90. prop="carName"
  91. header-align="center"
  92. align="center"
  93. width="130"
  94. label="车辆名称"
  95. >
  96. </el-table-column>
  97. <el-table-column
  98. prop="carBrand"
  99. header-align="center"
  100. align="center"
  101. width="130"
  102. label="车辆品牌"
  103. >
  104. </el-table-column>
  105. <!--<el-table-column
  106. prop="manufactureUnit"
  107. header-align="center"
  108. align="center"
  109. width="130"
  110. label="制造单位">
  111. </el-table-column>
  112. <el-table-column
  113. prop="officeOfCertificate"
  114. header-align="center"
  115. align="center"
  116. width="130"
  117. label="发证机关">
  118. </el-table-column>
  119. <el-table-column
  120. prop="buyCarDate"
  121. header-align="center"
  122. align="center"
  123. width="130"
  124. label="购车日期">
  125. </el-table-column>
  126. <el-table-column
  127. prop="drivingLicenseSrc"
  128. header-align="center"
  129. align="center"
  130. width="150"
  131. label="行驶证头图片">
  132. </el-table-column>
  133. <el-table-column
  134. prop="drivingPendantSrc"
  135. header-align="center"
  136. align="center"
  137. width="150"
  138. label="行驶证挂件图片">
  139. </el-table-column>
  140. <el-table-column
  141. prop="operationLicenseSrc"
  142. header-align="center"
  143. align="center"
  144. width="150"
  145. label="运营证头图片">
  146. </el-table-column>
  147. <el-table-column
  148. prop="technologySrc"
  149. header-align="center"
  150. align="center"
  151. width="150"
  152. label="技术评定证书图片">
  153. </el-table-column>
  154. <el-table-column
  155. prop="drivingLoadSrc"
  156. header-align="center"
  157. align="center"
  158. width="150"
  159. label="营运挂载图片">
  160. </el-table-column>
  161. <el-table-column
  162. prop="secondLvMaintainSrc"
  163. header-align="center"
  164. align="center"
  165. width="150"
  166. label="二级维护图片">
  167. </el-table-column>
  168. <el-table-column
  169. prop="tafficConstranintInsuranceSrc"
  170. header-align="center"
  171. align="center"
  172. width="150"
  173. label="交强险图片">
  174. </el-table-column>
  175. <el-table-column
  176. prop="businessInsuranceSrc"
  177. header-align="center"
  178. align="center"
  179. width="150"
  180. label="商业保险图片">
  181. </el-table-column>
  182. <el-table-column
  183. prop="accpetCarrageInsuranceSrc"
  184. header-align="center"
  185. align="center"
  186. width="150"
  187. label="承运人保险图片">
  188. </el-table-column>
  189. <el-table-column
  190. prop="pullCarType"
  191. header-align="center"
  192. align="center"
  193. width="150"
  194. label="牵引车辆型号">
  195. </el-table-column>
  196. <el-table-column
  197. prop="pullCarShelfNum"
  198. header-align="center"
  199. align="center"
  200. width="150"
  201. label="牵引车车架号">
  202. </el-table-column>-->
  203. <el-table-column
  204. prop="mountCarType"
  205. header-align="center"
  206. align="center"
  207. width="130"
  208. label="挂车型号"
  209. >
  210. </el-table-column>
  211. <el-table-column
  212. prop="mountCarNum"
  213. header-align="center"
  214. align="center"
  215. width="130"
  216. label="挂车车架号"
  217. >
  218. </el-table-column>
  219. <el-table-column
  220. prop="engine"
  221. header-align="center"
  222. align="center"
  223. width="130"
  224. label="发动机型号"
  225. >
  226. </el-table-column>
  227. <el-table-column
  228. prop="carLoadPersion"
  229. header-align="center"
  230. align="center"
  231. width="130"
  232. label="核载人数"
  233. >
  234. </el-table-column>
  235. <el-table-column
  236. prop="outerSize"
  237. header-align="center"
  238. align="center"
  239. width="130"
  240. label="外阔尺寸mm"
  241. >
  242. </el-table-column>
  243. <el-table-column
  244. prop="sumWeight"
  245. header-align="center"
  246. align="center"
  247. label="总重量kg"
  248. >
  249. </el-table-column>
  250. <el-table-column
  251. prop="vouchWeight"
  252. header-align="center"
  253. align="center"
  254. width="150"
  255. label="核定重量kg"
  256. >
  257. </el-table-column>
  258. <el-table-column
  259. prop="equipWeight"
  260. header-align="center"
  261. align="center"
  262. width="150"
  263. label="装备质量kg"
  264. >
  265. </el-table-column>
  266. <el-table-column
  267. prop="regiestDate"
  268. header-align="center"
  269. align="center"
  270. width="130"
  271. label="注册日期"
  272. >
  273. <template slot-scope="scope">
  274. <span v-if="!scope.row.regiestDate"></span>
  275. <span v-else>{{ scope.row.regiestDate.slice(0, 10) }}</span>
  276. </template>
  277. </el-table-column>
  278. <el-table-column
  279. prop="abandonDate"
  280. header-align="center"
  281. align="center"
  282. width="130"
  283. label="报废日期"
  284. >
  285. <template slot-scope="scope">
  286. <span v-if="!scope.row.abandonDate"></span>
  287. <span v-else>{{ scope.row.abandonDate.slice(0, 10) }}</span>
  288. </template>
  289. </el-table-column>
  290. <el-table-column
  291. prop="creatTime"
  292. header-align="center"
  293. align="center"
  294. width="130"
  295. label="添加时间"
  296. >
  297. <template slot-scope="scope">
  298. <span v-if="!scope.row.creatTime"></span>
  299. <span v-else>{{ scope.row.creatTime.slice(0, 10) }}</span>
  300. </template>
  301. </el-table-column>
  302. <el-table-column
  303. fixed="right"
  304. header-align="center"
  305. align="center"
  306. width="130"
  307. label="操作"
  308. >
  309. <!-- <template slot-scope="scope">-->
  310. <!-- <el-tooltip class="item" effect="dark" content="修改" :enterable="false" placement="top">-->
  311. <!-- <el-button-->
  312. <!-- v-hasPermi="['fleet:carManage:edit']"-->
  313. <!-- type="primary"-->
  314. <!-- icon="el-icon-edit"-->
  315. <!-- content="修改"-->
  316. <!-- size="mini"-->
  317. <!-- circle @click="addOrUpdateHandle(scope.row)"-->
  318. <!-- ></el-button>-->
  319. <!-- </el-tooltip>-->
  320. <!-- <el-tooltip class="item" effect="dark" content="删除" :enterable="false" placement="top">-->
  321. <!-- <el-button v-hasPermi="['fleet:carManage:delete']"-->
  322. <!-- icon="el-icon-delete"-->
  323. <!-- type="danger"-->
  324. <!-- circle-->
  325. <!-- size="mini" @click="deleteHandle(scope.row.Id)"-->
  326. <!-- ></el-button>-->
  327. <!-- </el-tooltip>-->
  328. <!-- </template>-->
  329. <template slot-scope="scope">
  330. <el-button
  331. size="mini"
  332. type="text"
  333. icon="el-icon-edit"
  334. @click="addOrUpdateHandle(scope.row)"
  335. >查看
  336. </el-button>
  337. <el-button
  338. size="mini"
  339. type="text"
  340. icon="el-icon-delete"
  341. @click="deleteHandle(scope.row.Id)"
  342. >删除
  343. </el-button>
  344. </template>
  345. </el-table-column>
  346. </el-table>
  347. <el-pagination
  348. @size-change="sizeChangeHandle"
  349. @current-change="currentChangeHandle"
  350. :current-page="dataForm.pageNum"
  351. :page-sizes="[10, 20, 50, 100]"
  352. :page-size="dataForm.pageSize"
  353. :total="totalPage"
  354. layout="total, sizes, prev, pager, next, jumper"
  355. >
  356. </el-pagination>
  357. <!-- 弹窗, 新增 / 修改 -->
  358. <add-or-update
  359. v-if="addOrUpdateVisible"
  360. ref="addOrUpdate"
  361. @refreshDataList="getDataList"
  362. :dataForm="editModel"
  363. ></add-or-update>
  364. </div>
  365. </template>
  366. <script>
  367. import { listFtmsorderbills, deleted } from "@/api/fleet/carManage";
  368. import AddOrUpdate from "./carManage-add-or-update";
  369. import { addSet, select, resetModule } from "@/api/system/set";
  370. import Cookies from "js-cookie";
  371. import draggable from "vuedraggable";
  372. export default {
  373. data() {
  374. return {
  375. dataForm: {
  376. pageNum: 1,
  377. pageSize: 10,
  378. },
  379. editModel: {},
  380. dataList: [],
  381. totalPage: 0,
  382. dataListLoading: false,
  383. dataListSelections: [],
  384. addOrUpdateVisible: false,
  385. };
  386. },
  387. components: {
  388. AddOrUpdate,
  389. },
  390. activated() {
  391. this.getDataList();
  392. },
  393. methods: {
  394. // 获取数据列表
  395. getDataList() {
  396. this.dataListLoading = false;
  397. listFtmsorderbills(this.dataForm).then((data) => {
  398. console.log(data);
  399. if (data && data.code === 200) {
  400. this.dataList = data.rows;
  401. this.totalPage = data.total;
  402. } else {
  403. this.dataList = [];
  404. this.totalPage = 0;
  405. }
  406. this.dataListLoading = false;
  407. });
  408. },
  409. // 每页数
  410. sizeChangeHandle(val) {
  411. this.dataForm.pageSize = val;
  412. console.log(val);
  413. this.pageIndex = 1;
  414. this.getDataList();
  415. },
  416. // 当前页
  417. currentChangeHandle(val) {
  418. console.log(val);
  419. this.dataForm.pageNum = val;
  420. this.getDataList();
  421. },
  422. // 多选
  423. selectionChangeHandle(val) {
  424. this.dataListSelections = val;
  425. },
  426. // 新增 / 修改
  427. addOrUpdateHandle(row) {
  428. this.addOrUpdateVisible = true;
  429. if (row) {
  430. this.editModel = row;
  431. } else {
  432. this.editModel = {
  433. id: null,
  434. fleetCompanyId: null,
  435. carNum: null,
  436. hangNum: null,
  437. fuelType: null,
  438. carType: null,
  439. carName: null,
  440. carBrand: null,
  441. manufactureUnit: null,
  442. officeOfCertificate: null,
  443. pullCarType: null,
  444. pullCarShelfNum: null,
  445. mountCarType: null,
  446. mountCarNum: null,
  447. engine: null,
  448. carLoadPersion: null,
  449. buyCarDate: null,
  450. regiestDate: null,
  451. abandonDate: null,
  452. outerSize: null,
  453. sumWeight: null,
  454. vouchWeight: null,
  455. equipWeight: null,
  456. drivingLicenseSrc: null,
  457. drivingPendantSrc: null,
  458. operationLicenseSrc: null,
  459. technologySrc: null,
  460. drivingLoadSrc: null,
  461. secondLvMaintainSrc: null,
  462. tafficConstranintInsuranceSrc: null,
  463. businessInsuranceSrc: null,
  464. accpetCarrageInsuranceSrc: null,
  465. creatTime: null,
  466. modificationTime: null,
  467. };
  468. }
  469. this.$nextTick(() => {
  470. this.$refs.addOrUpdate.init();
  471. });
  472. },
  473. // 删除
  474. deleteHandle(id) {
  475. let carManageIds = [
  476. id
  477. ? [id]
  478. : this.dataListSelections.map((item) => {
  479. return item.userId;
  480. }),
  481. ];
  482. this.$confirm(
  483. `确定对[id=${carManageIds.join(",")}]进行[${
  484. id ? "删除" : "批量删除"
  485. }]操作?`,
  486. "提示",
  487. {
  488. confirmButtonText: "确定",
  489. cancelButtonText: "取消",
  490. type: "warning",
  491. }
  492. )
  493. .then(() => {
  494. deleted(carManageIds).then((data) => {
  495. if (data && data.code === 200) {
  496. this.$message({
  497. message: "操作成功",
  498. type: "success",
  499. duration: 1500,
  500. onClose: () => {
  501. this.getDataList();
  502. },
  503. });
  504. } else {
  505. this.$message.error(data.msg);
  506. }
  507. });
  508. })
  509. .catch(() => {});
  510. },
  511. },
  512. };
  513. </script>
  514. <style lang="scss" scoped>
  515. .tabSetting {
  516. display: flex;
  517. justify-content: flex-end;
  518. }
  519. .listStyle {
  520. display: flex;
  521. border-top: 1px solid #dcdfe6;
  522. border-left: 1px solid #dcdfe6;
  523. border-right: 1px solid #dcdfe6;
  524. }
  525. .listStyle:last-child {
  526. border-bottom: 1px solid #dcdfe6;
  527. }
  528. .progress {
  529. display: flex;
  530. align-items: center;
  531. padding: 2px;
  532. background-color: rgba(0, 0, 0, 0.05);
  533. height: 100%;
  534. }
  535. </style>