index.vue 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998
  1. <template>
  2. <div class="app-container">
  3. <el-form
  4. :model="queryParams"
  5. ref="queryForm"
  6. :inline="true"
  7. v-show="showSearch"
  8. label-width="68px"
  9. >
  10. <!-- <el-form-item label="车牌号" prop="vehiclenumber">
  11. <el-input
  12. v-model="queryParams.vehiclenumber"
  13. placeholder="请输入车牌号"
  14. clearable
  15. size="small"
  16. @keyup.enter.native="handleQuery"
  17. />
  18. </el-form-item>
  19. <el-form-item label="车辆型号" prop="vehiclemodel">
  20. <el-input
  21. v-model="queryParams.vehiclemodel"
  22. placeholder="请输入车辆型号"
  23. clearable
  24. size="small"
  25. @keyup.enter.native="handleQuery"
  26. />
  27. </el-form-item>
  28. <el-form-item label="车辆颜色" prop="vehiclecolor">
  29. <el-input
  30. v-model="queryParams.vehiclecolor"
  31. placeholder="请输入车辆颜色"
  32. clearable
  33. size="small"
  34. @keyup.enter.native="handleQuery"
  35. />
  36. </el-form-item>
  37. <el-form-item label="车位号" prop="parkingspacenumber">
  38. <el-input
  39. v-model="queryParams.parkingspacenumber"
  40. placeholder="请输入车位号"
  41. clearable
  42. size="small"
  43. @keyup.enter.native="handleQuery"
  44. />
  45. </el-form-item>
  46. <el-form-item label="联系方式" prop="contactnumber">
  47. <el-input
  48. v-model="queryParams.contactnumber"
  49. placeholder="请输入联系方式"
  50. clearable
  51. size="small"
  52. @keyup.enter.native="handleQuery"
  53. />
  54. </el-form-item>
  55. <el-form-item label="创建人ID" prop="adminId">
  56. <el-input
  57. v-model="queryParams.adminId"
  58. placeholder="请输入创建人ID"
  59. clearable
  60. size="small"
  61. @keyup.enter.native="handleQuery"
  62. />
  63. </el-form-item>
  64. <el-form-item label="创建时间" prop="createtime">
  65. <el-input
  66. v-model="queryParams.createtime"
  67. placeholder="请输入创建时间"
  68. clearable
  69. size="small"
  70. @keyup.enter.native="handleQuery"
  71. />
  72. </el-form-item>
  73. <el-form-item label="修改时间" prop="updatetime">
  74. <el-input
  75. v-model="queryParams.updatetime"
  76. placeholder="请输入修改时间"
  77. clearable
  78. size="small"
  79. @keyup.enter.native="handleQuery"
  80. />
  81. </el-form-item>
  82. <el-form-item label="车辆在位情况1:在位,2:值班,3:出车,4待修" prop="status">
  83. <el-select v-model="queryParams.status" placeholder="请选择车辆在位情况1:在位,2:值班,3:出车,4待修" clearable size="small">
  84. <el-option label="请选择字典生成" value="" />
  85. </el-select>
  86. </el-form-item>
  87. <el-form-item label="所属单位" prop="unitId">
  88. <el-input
  89. v-model="queryParams.unitId"
  90. placeholder="请输入所属单位"
  91. clearable
  92. size="small"
  93. @keyup.enter.native="handleQuery"
  94. />
  95. </el-form-item>
  96. <el-form-item label="车辆负责人" prop="peopleId">
  97. <el-input
  98. v-model="queryParams.peopleId"
  99. placeholder="请输入车辆负责人"
  100. clearable
  101. size="small"
  102. @keyup.enter.native="handleQuery"
  103. />
  104. </el-form-item>
  105. <el-form-item label="发动机号" prop="engineNumber">
  106. <el-input
  107. v-model="queryParams.engineNumber"
  108. placeholder="请输入发动机号"
  109. clearable
  110. size="small"
  111. @keyup.enter.native="handleQuery"
  112. />
  113. </el-form-item>
  114. <el-form-item label="车架号" prop="frameNumber">
  115. <el-input
  116. v-model="queryParams.frameNumber"
  117. placeholder="请输入车架号"
  118. clearable
  119. size="small"
  120. @keyup.enter.native="handleQuery"
  121. />
  122. </el-form-item>
  123. <el-form-item label="车辆来源" prop="source">
  124. <el-input
  125. v-model="queryParams.source"
  126. placeholder="请输入车辆来源"
  127. clearable
  128. size="small"
  129. @keyup.enter.native="handleQuery"
  130. />
  131. </el-form-item>
  132. <el-form-item label="出厂日期" prop="date1">
  133. <el-date-picker clearable size="small"
  134. v-model="queryParams.date1"
  135. type="date"
  136. value-format="yyyy-MM-dd"
  137. placeholder="选择出厂日期">
  138. </el-date-picker>
  139. </el-form-item>
  140. <el-form-item label="ETC品牌" prop="etcBrand">
  141. <el-input
  142. v-model="queryParams.etcBrand"
  143. placeholder="请输入ETC品牌"
  144. clearable
  145. size="small"
  146. @keyup.enter.native="handleQuery"
  147. />
  148. </el-form-item>
  149. <el-form-item label="ETC编码" prop="etcNumber">
  150. <el-input
  151. v-model="queryParams.etcNumber"
  152. placeholder="请输入ETC编码"
  153. clearable
  154. size="small"
  155. @keyup.enter.native="handleQuery"
  156. />
  157. </el-form-item>
  158. <el-form-item label="所在位置" prop="position">
  159. <el-input
  160. v-model="queryParams.position"
  161. placeholder="请输入所在位置"
  162. clearable
  163. size="small"
  164. @keyup.enter.native="handleQuery"
  165. />
  166. </el-form-item>
  167. <el-form-item label="是否上牌" prop="isListing">
  168. <el-input
  169. v-model="queryParams.isListing"
  170. placeholder="请输入是否上牌"
  171. clearable
  172. size="small"
  173. @keyup.enter.native="handleQuery"
  174. />
  175. </el-form-item>
  176. <el-form-item label="固定座位数" prop="seatCount">
  177. <el-input
  178. v-model="queryParams.seatCount"
  179. placeholder="请输入固定座位数"
  180. clearable
  181. size="small"
  182. @keyup.enter.native="handleQuery"
  183. />
  184. </el-form-item> -->
  185. <el-form-item prop="unitName">
  186. <el-input
  187. v-model="queryParams.unitName"
  188. placeholder="请输入所属单位"
  189. clearable
  190. size="small"
  191. @input="handleQuery"
  192. />
  193. </el-form-item>
  194. <el-form-item>
  195. <!-- <el-button
  196. type="primary"
  197. icon="el-icon-search"
  198. size="mini"
  199. @click="handleQuery"
  200. >搜索</el-button
  201. > -->
  202. <el-button size="btr" @click="resetQuery">重置</el-button>
  203. </el-form-item>
  204. </el-form>
  205. <el-row :gutter="10" class="mb8">
  206. <el-col :span="1.5">
  207. <el-button
  208. type="primary"
  209. plain
  210. icon="el-icon-plus"
  211. size="mini"
  212. @click="handleAdd"
  213. v-hasPermi="['militaryvehicleManagement:thebus:add']"
  214. >新增</el-button
  215. >
  216. </el-col>
  217. <el-col :span="1.5">
  218. <el-button
  219. type="success"
  220. plain
  221. icon="el-icon-edit"
  222. size="mini"
  223. :disabled="single"
  224. @click="handleUpdate"
  225. v-hasPermi="['militaryvehicleManagement:thebus:edit']"
  226. >修改</el-button
  227. >
  228. </el-col>
  229. <el-col :span="1.5">
  230. <el-button
  231. type="danger"
  232. plain
  233. icon="el-icon-delete"
  234. size="mini"
  235. :disabled="multiple"
  236. @click="handleDelete"
  237. v-hasPermi="['militaryvehicleManagement:thebus:remove']"
  238. >删除</el-button
  239. >
  240. </el-col>
  241. <el-col :span="1.5">
  242. <el-button
  243. class="box"
  244. type="warning"
  245. plain
  246. icon="el-icon-download"
  247. size="mini"
  248. :loading="exportLoading"
  249. @click="handleExport"
  250. v-hasPermi="['medicalhealth:bdgldurgarchives:export']"
  251. >导出</el-button
  252. >
  253. </el-col>
  254. <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->
  255. </el-row>
  256. <el-table
  257. v-loading="loading"
  258. :data="thebusList"
  259. @selection-change="handleSelectionChange"
  260. :header-cell-style="{ background: '#003C69', color: 'white' }"
  261. >
  262. <el-table-column type="selection" width="55" align="center" />
  263. <el-table-column label="序号" align="center" prop="id">
  264. <template scope="scope">
  265. <span>{{
  266. (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
  267. }}</span>
  268. </template>
  269. </el-table-column>
  270. <el-table-column
  271. label="车牌号"
  272. align="center"
  273. prop="vehiclenumber"
  274. width="100"
  275. />
  276. <el-table-column
  277. label="车辆型号"
  278. align="center"
  279. prop="vehiclemodel"
  280. :formatter="vehicleModel"
  281. />
  282. <el-table-column
  283. label="车辆负责人"
  284. align="center"
  285. prop="peopleNames"
  286. width="120"
  287. />
  288. <el-table-column label="所属单位" align="center" prop="unitName" />
  289. <el-table-column
  290. label="联系方式"
  291. align="center"
  292. prop="contactnumber"
  293. width="120"
  294. />
  295. <el-table-column label="发动机号" align="center" prop="engineNumber" />
  296. <el-table-column label="车架号" align="center" prop="frameNumber" />
  297. <el-table-column label="车辆来源" align="center" prop="source" />
  298. <el-table-column label="车辆颜色" align="center" prop="vehiclecolor" />
  299. <el-table-column label="出厂日期" align="center" prop="date1" width="100">
  300. <template slot-scope="scope">
  301. <span>{{ parseTime(scope.row.date1, "{y}-{m}-{d}") }}</span>
  302. </template>
  303. <!-- :formatter="vehiclePresence" -->
  304. </el-table-column>
  305. <!-- 车辆在位情况1:在位,2:值班,3:出车,4待修 -->
  306. <el-table-column
  307. label="车辆在位情况"
  308. align="center"
  309. prop="status"
  310. width="100"
  311. >
  312. <template slot-scope="scope">
  313. <span v-if="scope.row.status == 1" style="color: #13ce66">在位</span>
  314. <span v-if="scope.row.status == 2" style="colo: #00eaff">值班</span>
  315. <span v-if="scope.row.status == 3" style="color: #ff4949">出车</span>
  316. <span v-if="scope.row.status == 4" style="color: #ffba00">待修</span>
  317. </template>
  318. </el-table-column>
  319. <el-table-column label="所在位置" align="center" prop="position" />
  320. <el-table-column
  321. label="是否上牌"
  322. align="center"
  323. prop="isListing"
  324. :formatter="licensePlate"
  325. />
  326. <el-table-column
  327. label="固定座位数"
  328. align="center"
  329. prop="seatCount"
  330. width="120"
  331. />
  332. <!-- <el-table-column label="创建时间" align="center" prop="createtime" /> -->
  333. <!-- <el-table-column
  334. label="车位号"
  335. align="center"
  336. prop="parkingspacenumber"
  337. />
  338. <el-table-column label="备注" align="center" prop="remarks" />
  339. <el-table-column label="创建人ID" align="center" prop="adminId" />
  340. <el-table-column label="修改时间" align="center" prop="updatetime" />
  341. <el-table-column label="所属单位" align="center" prop="unitId" />
  342. <el-table-column label="ETC品牌" align="center" prop="etcBrand" />
  343. <el-table-column label="ETC编码" align="center" prop="etcNumber" /> -->
  344. <el-table-column
  345. label="操作"
  346. align="center"
  347. class-name="small-padding fixed-width"
  348. width="200"
  349. fixed="right"
  350. >
  351. <template slot-scope="scope">
  352. <el-button
  353. size="btu"
  354. type="text"
  355. @click="handleUpdate(scope.row)"
  356. v-hasPermi="['militaryvehicleManagement:thebus:edit']"
  357. >修改</el-button
  358. >
  359. <el-button
  360. size="btd"
  361. type="text"
  362. @click="handleDelete(scope.row)"
  363. v-hasPermi="['militaryvehicleManagement:thebus:remove']"
  364. >删除</el-button
  365. >
  366. </template>
  367. </el-table-column>
  368. </el-table>
  369. <pagination
  370. v-show="total > 0"
  371. :total="total"
  372. :page.sync="queryParams.pageNum"
  373. :limit.sync="queryParams.pageSize"
  374. @pagination="getList"
  375. />
  376. <!-- 添加或修改军车管理对话框 -->
  377. <el-dialog
  378. :title="title"
  379. :visible.sync="open"
  380. width="500px"
  381. append-to-body
  382. :close-on-click-modal="false"
  383. >
  384. <el-form
  385. ref="form"
  386. :model="form"
  387. :rules="rules"
  388. label-width="80px"
  389. inline
  390. >
  391. <el-form-item label="车属单位" prop="unitId">
  392. <treeselect
  393. v-model="form.unitId"
  394. :options="treeList"
  395. placeholder="选择单位"
  396. @select="selectPeo"
  397. />
  398. </el-form-item>
  399. <el-form-item label="车辆负责人" prop="peopleId">
  400. <el-select
  401. v-model="form.peopleId"
  402. placeholder="请输入负责人"
  403. filterable
  404. >
  405. <el-option
  406. v-for="(item, i) in renYuan"
  407. :key="i"
  408. :label="item.name"
  409. :value="item.id"
  410. @click.native="cheRen(item)"
  411. class="input_xiala"
  412. >
  413. </el-option>
  414. </el-select>
  415. </el-form-item>
  416. <el-form-item label="联系方式" prop="contactnumber">
  417. <el-input
  418. v-model="form.contactnumber"
  419. placeholder="请输入联系方式"
  420. readonly
  421. />
  422. </el-form-item>
  423. <el-form-item label="车牌型号" prop="vehiclemodel">
  424. <el-select v-model="form.vehiclemodel" placeholder="请输入车牌型号">
  425. <el-option
  426. v-for="(item, i) in brand"
  427. :key="i"
  428. :label="item.dictLabel"
  429. :value="item.dictValue"
  430. class="input_xiala"
  431. >
  432. </el-option>
  433. </el-select>
  434. </el-form-item>
  435. <el-form-item label="车辆颜色" prop="vehiclecolor">
  436. <el-input v-model="form.vehiclecolor" placeholder="请输入车辆颜色" />
  437. </el-form-item>
  438. <el-form-item label="车位号" prop="parkingspacenumber">
  439. <el-input
  440. v-model="form.parkingspacenumber"
  441. placeholder="请输入车位号"
  442. />
  443. </el-form-item>
  444. <el-form-item label="发动机号" prop="engineNumber">
  445. <el-input v-model="form.engineNumber" placeholder="请输入发动机号" />
  446. </el-form-item>
  447. <el-form-item label="车架号" prop="frameNumber">
  448. <el-input v-model="form.frameNumber" placeholder="请输入车架号" />
  449. </el-form-item>
  450. <el-form-item label="车辆来源" prop="source">
  451. <el-input v-model="form.source" placeholder="请输入车辆来源" />
  452. </el-form-item>
  453. <el-form-item label="出厂日期" prop="date1">
  454. <el-date-picker
  455. clearable
  456. size="small"
  457. v-model="form.date1"
  458. type="date"
  459. value-format="yyyy-MM-dd"
  460. placeholder="选择出厂日期"
  461. >
  462. </el-date-picker>
  463. </el-form-item>
  464. <el-form-item label="ETC品牌" prop="etcBrand">
  465. <el-input v-model="form.etcBrand" placeholder="请输入ETC品牌" />
  466. </el-form-item>
  467. <el-form-item label="ETC编码" prop="etcNumber">
  468. <el-input v-model="form.etcNumber" placeholder="请输入ETC编码" />
  469. </el-form-item>
  470. <el-form-item label="所在位置" prop="position">
  471. <el-input v-model="form.position" placeholder="请输入所在位置" />
  472. </el-form-item>
  473. <el-form-item label="是否上牌" prop="isListing">
  474. <el-select v-model="form.isListing" placeholder="请输入是否上牌">
  475. <el-option
  476. v-for="(item, i) in license"
  477. :key="i"
  478. :label="item.dictLabel"
  479. :value="item.dictValue"
  480. class="input_xiala"
  481. >
  482. </el-option>
  483. </el-select>
  484. </el-form-item>
  485. <el-form-item label="车牌号" prop="vehiclenumber">
  486. <el-input v-model="form.vehiclenumber" placeholder="请输入号码" />
  487. </el-form-item>
  488. <el-form-item label="固定座位数" prop="seatCount">
  489. <el-input v-model="form.seatCount" placeholder="请输入固定座位数" />
  490. </el-form-item>
  491. <el-form-item label="车辆类别" prop="chelaingleibie">
  492. <el-input
  493. v-model="form.chelaingleibie"
  494. placeholder="请输入车辆类别"
  495. />
  496. </el-form-item>
  497. <el-form-item label="审查结果" prop="shenhejieguo">
  498. <el-input v-model="form.shenhejieguo" placeholder="请输入审查结果" />
  499. </el-form-item>
  500. <el-form-item label="状态" prop="status">
  501. <el-select v-model="form.status" placeholder="请输入是否在位">
  502. <el-option
  503. v-for="(item, i) in military"
  504. :key="i"
  505. :label="item.dictLabel"
  506. :value="item.dictValue"
  507. class="input_xiala"
  508. >
  509. </el-option>
  510. </el-select>
  511. </el-form-item>
  512. <div class="jiben">备注</div>
  513. <el-form-item prop="remarks">
  514. <el-input
  515. v-model="form.remarks"
  516. type="textarea"
  517. placeholder="请输入内容"
  518. />
  519. </el-form-item>
  520. </el-form>
  521. <div slot="footer" class="dialog-footer">
  522. <el-button type="primary" @click="submitForm">确 定</el-button>
  523. <el-button @click="cancel" size="btn">取 消</el-button>
  524. </div>
  525. </el-dialog>
  526. </div>
  527. </template>
  528. <script>
  529. import {
  530. listThebus,
  531. getThebus,
  532. delThebus,
  533. addThebus,
  534. updateThebus,
  535. exportThebus,
  536. getDept,
  537. getZhuChiRen,
  538. } from "@/api/militaryvehicleManagement/thebus";
  539. // 导入树形结构
  540. import Treeselect from "@riophae/vue-treeselect";
  541. import "@riophae/vue-treeselect/dist/vue-treeselect.css";
  542. // 查询字典
  543. import { getDicts } from "@/api/system/dict/data";
  544. export default {
  545. name: "Thebus",
  546. components: {
  547. Treeselect,
  548. },
  549. data() {
  550. return {
  551. // 遮罩层
  552. loading: true,
  553. // 导出遮罩层
  554. exportLoading: false,
  555. // 选中数组
  556. ids: [],
  557. // 非单个禁用
  558. single: true,
  559. // 非多个禁用
  560. multiple: true,
  561. // 显示搜索条件
  562. showSearch: true,
  563. // 总条数
  564. total: 0,
  565. // 军车管理表格数据
  566. thebusList: [],
  567. // 弹出层标题
  568. title: "",
  569. // 是否显示弹出层
  570. open: false,
  571. // 查询参数
  572. queryParams: {
  573. pageNum: 1,
  574. pageSize: 10,
  575. vehiclenumber: null,
  576. vehiclemodel: null,
  577. vehiclecolor: null,
  578. parkingspacenumber: null,
  579. contactnumber: null,
  580. remarks: null,
  581. adminId: null,
  582. createtime: null,
  583. updatetime: null,
  584. status: null,
  585. unitId: null,
  586. peopleId: null,
  587. engineNumber: null,
  588. frameNumber: null,
  589. source: null,
  590. date1: null,
  591. etcBrand: null,
  592. etcNumber: null,
  593. position: null,
  594. isListing: null,
  595. seatCount: null,
  596. unitName: null,
  597. },
  598. // 表单参数
  599. form: {},
  600. // 表单校验
  601. rules: {
  602. adminId: [
  603. { required: true, message: "创建人ID不能为空", trigger: "blur" },
  604. ],
  605. },
  606. // 树形列表
  607. treeList: [],
  608. // 人员列表
  609. renYuan: [],
  610. // 是否上牌
  611. license: [],
  612. // 车辆状态
  613. military: [],
  614. // 车牌型号
  615. brand: [],
  616. };
  617. },
  618. created() {
  619. this.getList();
  620. this.getCatPai();
  621. getDicts("license").then((response) => {
  622. this.license = response.data;
  623. });
  624. getDicts("military").then((response) => {
  625. this.military = response.data;
  626. });
  627. },
  628. methods: {
  629. // 厂牌型号
  630. getCatPai() {
  631. getDicts("brand").then((response) => {
  632. this.brand = response.data;
  633. // console.log(this.brand);
  634. });
  635. },
  636. // 重置人员
  637. ChongZhi() {
  638. (this.form.peopleId = null), (this.form.contactnumber = null);
  639. },
  640. // 翻译车辆型号
  641. vehicleModel(row, column) {
  642. var vehiclemodel = "";
  643. this.brand.map((item) => {
  644. if (item.dictValue == row.vehiclemodel) {
  645. vehiclemodel = item.dictLabel;
  646. }
  647. });
  648. return vehiclemodel;
  649. },
  650. // 翻译车辆在位情况
  651. vehiclePresence(row, column) {
  652. var status = "";
  653. this.military.map((item) => {
  654. if (item.dictValue == row.status) {
  655. status = item.dictLabel;
  656. }
  657. });
  658. return status;
  659. },
  660. // 翻译是否上牌
  661. licensePlate(row) {
  662. var isListing = "";
  663. this.license.map((item) => {
  664. if (item.dictValue == row.isListing) {
  665. isListing = item.dictLabel;
  666. }
  667. });
  668. return isListing;
  669. },
  670. // 选择车辆人员触发
  671. cheRen(item) {
  672. this.form.contactnumber = item.phone;
  673. this.form.peopleNames = item.name;
  674. },
  675. // 选择部门单位触发
  676. selectPeo(data) {
  677. this.form.unitName = data.label;
  678. this.ChongZhi();
  679. this.getRen(data.id);
  680. },
  681. // 获取人员列表
  682. getRen(id) {
  683. getZhuChiRen(id).then((res) => {
  684. this.renYuan = res.data;
  685. });
  686. },
  687. // 获取单位列表
  688. getTreeList() {
  689. getDept().then((res) => {
  690. this.treeList = res.data;
  691. });
  692. },
  693. /** 查询军车管理列表 */
  694. getList() {
  695. this.loading = true;
  696. listThebus(this.queryParams).then((response) => {
  697. this.thebusList = response.rows;
  698. this.total = response.total;
  699. this.loading = false;
  700. });
  701. },
  702. // 取消按钮
  703. cancel() {
  704. this.open = false;
  705. this.reset();
  706. },
  707. // 表单重置
  708. reset() {
  709. this.form = {
  710. id: null,
  711. vehiclenumber: null,
  712. vehiclemodel: null,
  713. vehiclecolor: null,
  714. parkingspacenumber: null,
  715. contactnumber: null,
  716. remarks: null,
  717. adminId: null,
  718. createtime: null,
  719. updatetime: null,
  720. status: null,
  721. unitId: null,
  722. peopleId: null,
  723. engineNumber: null,
  724. frameNumber: null,
  725. source: null,
  726. date1: null,
  727. etcBrand: null,
  728. etcNumber: null,
  729. position: null,
  730. isListing: null,
  731. seatCount: null,
  732. unitName: null,
  733. };
  734. this.resetForm("form");
  735. },
  736. /** 搜索按钮操作 */
  737. handleQuery() {
  738. this.queryParams.pageNum = 1;
  739. this.getList();
  740. },
  741. /** 重置按钮操作 */
  742. resetQuery() {
  743. this.resetForm("queryForm");
  744. this.handleQuery();
  745. },
  746. // 多选框选中数据
  747. handleSelectionChange(selection) {
  748. this.ids = selection.map((item) => item.id);
  749. this.single = selection.length !== 1;
  750. this.multiple = !selection.length;
  751. },
  752. /** 新增按钮操作 */
  753. handleAdd() {
  754. this.reset();
  755. this.getTreeList();
  756. this.renYuan = [];
  757. this.open = true;
  758. this.title = "添加军车管理";
  759. },
  760. /** 修改按钮操作 */
  761. handleUpdate(row) {
  762. this.reset();
  763. this.getTreeList();
  764. const id = row.id || this.ids;
  765. getThebus(id).then((response) => {
  766. this.form = response.data;
  767. this.getRen(this.form.unitId);
  768. this.open = true;
  769. this.title = "修改军车管理";
  770. });
  771. },
  772. /** 提交按钮 */
  773. submitForm() {
  774. this.$refs["form"].validate((valid) => {
  775. if (valid) {
  776. if (this.form.id != null) {
  777. updateThebus(this.form).then((response) => {
  778. this.$modal.msgSuccess("修改成功");
  779. this.open = false;
  780. this.getList();
  781. });
  782. } else {
  783. addThebus(this.form).then((response) => {
  784. this.$modal.msgSuccess("新增成功");
  785. this.open = false;
  786. this.getList();
  787. });
  788. }
  789. }
  790. });
  791. },
  792. /** 删除按钮操作 */
  793. handleDelete(row) {
  794. const ids = row.id || this.ids;
  795. this.$modal
  796. .confirm("是否确认删除军车管理的数据项?")
  797. .then(function () {
  798. return delThebus(ids);
  799. })
  800. .then(() => {
  801. this.getList();
  802. this.$modal.msgSuccess("删除成功");
  803. })
  804. .catch(() => {});
  805. },
  806. /** 导出按钮操作 */
  807. handleExport() {
  808. const queryParams = this.queryParams;
  809. this.$modal
  810. .confirm("是否确认导出所有军车管理数据项?")
  811. .then(() => {
  812. this.exportLoading = true;
  813. return exportThebus(queryParams);
  814. })
  815. .then((response) => {
  816. this.$download.name(response.msg);
  817. this.exportLoading = false;
  818. })
  819. .catch(() => {});
  820. },
  821. },
  822. };
  823. </script>
  824. <style scoped>
  825. /* 对话框背景颜色 */
  826. ::v-deep .el-dialog {
  827. background: #004d86 !important;
  828. width: 800px !important;
  829. }
  830. ::v-deep .el-textarea__inner {
  831. width: 920px;
  832. height: 104px;
  833. margin: auto;
  834. }
  835. ::v-deep .el-dialog__header {
  836. border-bottom: 1px solid #718a9d;
  837. }
  838. ::v-deep .el-dialog__title {
  839. color: #fff;
  840. font: 18px;
  841. }
  842. ::v-deep .el-dialog__headerbtn .el-dialog__close {
  843. color: #fff;
  844. }
  845. ::v-deep .el-form-item__label {
  846. font: 16px;
  847. color: #fff;
  848. width: 100px !important;
  849. }
  850. ::v-deep .el-input__inner {
  851. /* width: 200px !important;
  852. height: 36px; */
  853. background: transparent;
  854. color: #fff;
  855. border: 1px solid white !important;
  856. }
  857. /* 单位框背景颜色 */
  858. ::v-deep .vue-treeselect__control {
  859. background: #004d86 !important;
  860. }
  861. /* 基本信息背景 */
  862. .jiben {
  863. width: 920px;
  864. height: 32px;
  865. background-image: url(../../../images/小标题底.png);
  866. margin-bottom: 25px;
  867. color: #fff;
  868. padding-left: 16px;
  869. line-height: 32px;
  870. }
  871. /*调整表单间距 */
  872. ::v-deep .el-form-item__content {
  873. width: 200px;
  874. }
  875. ::v-deep .el-input__inner {
  876. cursor: pointer !important;
  877. }
  878. /* 底部确定取消按钮 */
  879. ::v-deep .el-dialog__footer {
  880. padding: 30px 50px;
  881. }
  882. ::v-deep .el-dialog__body {
  883. margin: 10px 24px 20px 34px;
  884. padding-top: 20px !important;
  885. box-sizing: border-box;
  886. /* padding: 30px 12px 30px 28px; */
  887. }
  888. .contents {
  889. padding: 0px 40px !important;
  890. }
  891. /* 下拉菜单 */
  892. .el-dropdown-link {
  893. cursor: pointer;
  894. color: #409eff;
  895. }
  896. .el-icon-arrow-down {
  897. font-size: 12px;
  898. }
  899. /* 下拉菜单字体/背景颜色 */
  900. .el-select-dropdown__item.hover,
  901. .el-select-dropdown__item:hover {
  902. background-color: #004d86;
  903. color: #fff;
  904. }
  905. .el-select-dropdown__item {
  906. color: #fff;
  907. }
  908. /* 时间选择 */
  909. ::v-deep .el-input--small .el-input__inner {
  910. width: 200px;
  911. height: 36px;
  912. line-height: 36px;
  913. }
  914. .el-date-editor.el-input {
  915. width: 200px;
  916. height: 36px;
  917. line-height: 36px;
  918. }
  919. ::v-deep .el-date-editor.el-input .el-input__inner {
  920. height: 36px;
  921. line-height: 36px;
  922. }
  923. /* 单位框背景颜色 */
  924. ::v-deep .vue-treeselect__control {
  925. background: #004d86 !important;
  926. color: #fff;
  927. }
  928. /* 单位下拉菜单选中字体颜色 */
  929. ::v-deep .vue-treeselect__single-value {
  930. color: #fff !important;
  931. }
  932. /* 分页按钮 */
  933. ::v-deep .el-pagination.is-background .el-pager li {
  934. background-color: #004d86;
  935. color: #fff;
  936. }
  937. ::v-deep .el-pagination.is-background .btn-next {
  938. background-color: #004d86;
  939. color: #fff;
  940. }
  941. /* 底部确定取消按钮 */
  942. ::v-deep .el-dialog__footer {
  943. padding: 18px 50px;
  944. margin-right: 22px;
  945. }
  946. /* 增加按钮弹框 */
  947. ::v-deep .el-dialog {
  948. width: 1060px !important;
  949. }
  950. ::v-deep .el-dialog__body {
  951. padding: 30px 35px;
  952. }
  953. /* 小手样式 */
  954. ::v-deep .el-table__cell {
  955. cursor: pointer;
  956. }
  957. .el-button--mini {
  958. width: 80px !important;
  959. border: 1px solid transparent;
  960. padding: 3px 8px;
  961. font-size: 14px;
  962. line-height: 1.5;
  963. border-radius: 3px;
  964. color: #fff;
  965. background-color: #1890ff;
  966. }
  967. /* 调整输入框提示文字颜色 */
  968. ::v-deep .vue-treeselect__placeholder {
  969. color: #bdbdbd4f !important;
  970. }
  971. ::v-deep input::-webkit-input-placeholder {
  972. color: #bdbdbd4f !important;
  973. }
  974. ::v-deep input:-moz-placeholder {
  975. color: #bdbdbd4f !important;
  976. }
  977. ::v-deep .el-table .el-table__body .el-table__row.hover-row td {
  978. background-color: #004d86;
  979. }
  980. /* 文本域提示文字颜色 */
  981. ::v-deep ::-webkit-input-placeholder {
  982. color: #bdbdbd4f !important;
  983. }
  984. ::v-deep .el-input__inner {
  985. border: 1px solid white !important;
  986. }
  987. .box {
  988. background-color: #ffba00 !important;
  989. }
  990. </style>