tranManagementDriverAdd.vue 26 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016
  1. //添加司机
  2. <template>
  3. <div class="container">
  4. <el-row>
  5. <el-col :span="12">
  6. <h2 class="bg-left title">添加新司机</h2>
  7. </el-col>
  8. <el-col :span="12" class="bg-right">
  9. <el-button
  10. class="bg-bottom"
  11. type="primary"
  12. size="small"
  13. @click="returnsales()"
  14. ><img
  15. width="6"
  16. height="10"
  17. style="vertical-align: bottom; margin-right: 3px"
  18. src="../../../public/img/lujing.png"
  19. alt=""
  20. />返回</el-button
  21. >
  22. </el-col>
  23. </el-row>
  24. <ws-form
  25. ref="deptBudgetList"
  26. :rules="mainReportAdd"
  27. :model="deptBudgetList"
  28. >
  29. <div class="flex">
  30. <div class="driver">司机信息</div>
  31. <ws-info-table>
  32. <!--司机姓名-->
  33. <ws-form-item
  34. label="姓名"
  35. span="1"
  36. prop="contractNo"
  37. class="readonly bg-right"
  38. >
  39. <ws-input
  40. v-model="deptBudgetList.driverName"
  41. placeholder="请输入司机姓名"
  42. maxlength="20"
  43. size="small"
  44. />
  45. </ws-form-item>
  46. <!--手机号-->
  47. <ws-form-item
  48. label="手机号"
  49. span="1"
  50. prop="driverPhone"
  51. class="readonly"
  52. >
  53. <ws-input
  54. v-model="deptBudgetList.driverPhone"
  55. placeholder="请输入手机号"
  56. maxlength="100"
  57. size="small"
  58. />
  59. </ws-form-item>
  60. <!--常驻城市-->
  61. <ws-form-item label="常驻城市" span="1" prop="acceptanceMethod">
  62. <el-cascader
  63. :options="options_"
  64. v-model="selectedOptions"
  65. clearable
  66. size="large"
  67. placeholder="请选择常驻城市"
  68. style="width: 200%"
  69. class="el-cascader"
  70. @change="handleChange"
  71. />
  72. </ws-form-item>
  73. <!--身份证号-->
  74. <ws-form-item
  75. label="身份证号"
  76. span="1"
  77. prop="driverNo"
  78. class="readonly"
  79. >
  80. <ws-input
  81. @input="cardchange"
  82. v-model="deptBudgetList.numberCard"
  83. placeholder="请输入身份证号"
  84. maxlength="100"
  85. size="small"
  86. />
  87. </ws-form-item>
  88. </ws-info-table>
  89. {{ age }}岁
  90. </div>
  91. </ws-form>
  92. <ws-form
  93. ref="deptBudgetList"
  94. :rules="mainReportAdd"
  95. :model="deptBudgetList"
  96. >
  97. <div
  98. style="width: 100%"
  99. class="flex position"
  100. v-for="(item, index) in freightspace"
  101. >
  102. <div class="flex">
  103. <div class="driver">货车信息-{{ index + 1 }}</div>
  104. <ws-info-table class="el-table">
  105. <!--车牌号-->
  106. <ws-form-item
  107. label="车牌号"
  108. span="1"
  109. prop="carNumber"
  110. class="forlist"
  111. width="400px"
  112. >
  113. <ws-input
  114. v-model="item.carNumber"
  115. placeholder="请输入车牌号"
  116. maxlength="20"
  117. size="small"
  118. />
  119. </ws-form-item>
  120. <!--车型-->
  121. <ws-form-item label="车型" span="1" prop="carModel" class="forlist">
  122. <ws-select
  123. v-model="item.carModel"
  124. placeholder=""
  125. class="typeselect"
  126. @change="selectcarModel"
  127. >
  128. <ws-option
  129. v-for="item in carModelList"
  130. :key="item.constKey"
  131. :label="item.constValue"
  132. :value="item.constValue"
  133. />
  134. </ws-select>
  135. </ws-form-item>
  136. <!--车长-->
  137. <ws-form-item
  138. label="不含车头车长(米)"
  139. span="1"
  140. prop="carLength"
  141. class="forlist"
  142. >
  143. <ws-select
  144. v-model="item.carLength"
  145. placeholder=""
  146. class="typeselect"
  147. @change="selectcarLength"
  148. >
  149. <ws-option
  150. v-for="item in carLengthList"
  151. :key="item.constKey"
  152. :label="item.constValue"
  153. :value="item.constValue"
  154. />
  155. </ws-select>
  156. </ws-form-item>
  157. <!--载重-->
  158. <ws-form-item label="载重" span="1" prop="carLoad" class="forlist">
  159. <ws-input
  160. v-model="item.carLoad"
  161. placeholder="请输入载重"
  162. maxlength="100"
  163. size="small"
  164. />
  165. </ws-form-item>
  166. <!--出厂年份-->
  167. <ws-form-item
  168. label="出厂年份"
  169. span="1"
  170. prop="yearManufacture"
  171. class="forlist"
  172. >
  173. <ws-input
  174. v-model="item.yearManufacture"
  175. placeholder="请输入年份"
  176. maxlength="100"
  177. size="small"
  178. />
  179. </ws-form-item>
  180. </ws-info-table>
  181. <img
  182. width="22"
  183. height="22"
  184. class="add"
  185. @click="add"
  186. src="../../../public/img/add.png"
  187. alt=""
  188. />
  189. <img
  190. width="22"
  191. height="22"
  192. class="del"
  193. @click="del(index)"
  194. src="../../../public/img/del.png"
  195. alt=""
  196. />
  197. </div>
  198. </div>
  199. </ws-form>
  200. <ws-form
  201. ref="deptBudgetList"
  202. :rules="mainReportAdd"
  203. :model="deptBudgetList"
  204. >
  205. <div
  206. style="width: 100%"
  207. class="flex position"
  208. v-for="(item, index) in freightspace1"
  209. >
  210. <div class="flex">
  211. <div class="driver">收款人账户信息-{{ index + 1 }}</div>
  212. <ws-info-table class="el-table">
  213. <!--账户类型-->
  214. <ws-form-item
  215. label="账户类型"
  216. span="1"
  217. prop="contractNo"
  218. class="el-car bg-right"
  219. >
  220. <el-radio v-model="item.accountTypeFlag" label="1"
  221. >私人账号</el-radio
  222. >
  223. <el-radio v-model="item.accountTypeFlag" label="2"
  224. >企业账户</el-radio
  225. >
  226. </ws-form-item>
  227. <!--账号-->
  228. <ws-form-item label="账号" span="1" prop="bankCard" class="el-car">
  229. <ws-input
  230. v-model="item.bankCard"
  231. placeholder="请输入账号"
  232. maxlength="100"
  233. size="small"
  234. />
  235. <el-upload
  236. action="https://www.zthymaoyi.com/upload/admin"
  237. :show-file-list="false"
  238. :on-success="
  239. (res, file) => {
  240. uploadSuccessHandle1(index, res, file)
  241. }
  242. "
  243. class="avatar-uploader"
  244. accept=".jpg, .jpeg, .png, .gif"
  245. ><img
  246. width="18"
  247. height="20"
  248. style="
  249. vertical-align: text-top;
  250. position: relative;
  251. top: -1px;
  252. "
  253. src="../../../public/img/fujian.png"
  254. alt=""
  255. />
  256. </el-upload>
  257. </ws-form-item>
  258. <!--开户行-->
  259. <ws-form-item
  260. label="开户行"
  261. span="1"
  262. prop="bankDeposit"
  263. class="el-car"
  264. >
  265. <ws-input
  266. v-model="item.bankDeposit"
  267. placeholder="请输入开户行"
  268. maxlength="100"
  269. size="small"
  270. />
  271. </ws-form-item>
  272. <!--姓名-->
  273. <ws-form-item
  274. label="姓名"
  275. v-if="item.accountTypeFlag == 1"
  276. span="1"
  277. prop="payeeName"
  278. class="el-car"
  279. width="150px"
  280. >
  281. <ws-input
  282. v-model="item.payeeName"
  283. placeholder="请输入姓名"
  284. maxlength="100"
  285. size="small"
  286. />
  287. </ws-form-item>
  288. <!--企业名称-->
  289. <ws-form-item
  290. label="企业名称"
  291. v-else
  292. span="1"
  293. prop="compName"
  294. class="el-car"
  295. width="150px"
  296. >
  297. <ws-input
  298. v-model="item.compName"
  299. placeholder="请输入企业名称"
  300. maxlength="100"
  301. size="small"
  302. />
  303. </ws-form-item>
  304. <!--身份证号-->
  305. <ws-form-item
  306. label="身份证号"
  307. v-if="item.accountTypeFlag == 1"
  308. span="1"
  309. prop="payeeNumberCard"
  310. class="el-car"
  311. >
  312. <ws-input
  313. v-model="item.payeeNumberCard"
  314. placeholder="请输入身份证号"
  315. maxlength="100"
  316. size="small"
  317. />
  318. <el-upload
  319. action="https://www.zthymaoyi.com/upload/admin"
  320. :show-file-list="false"
  321. :on-success="
  322. (res, file) => {
  323. uploadSuccessHandle(index, res, file)
  324. }
  325. "
  326. class="avatar-uploader"
  327. accept=".jpg, .jpeg, .png, .gif"
  328. ><img
  329. width="18"
  330. height="20"
  331. style="
  332. vertical-align: text-top;
  333. position: relative;
  334. top: -1px;
  335. "
  336. src="../../../public/img/fujian.png"
  337. alt=""
  338. />
  339. </el-upload>
  340. </ws-form-item>
  341. <ws-form-item label="开户支行" span="1" prop="bankDepositBranch">
  342. <ws-select
  343. v-model="item.bankDepositBranch"
  344. placeholder=""
  345. class="typeselect"
  346. @change="
  347. (value) => {
  348. selectbankDepositBranch(value, index)
  349. }
  350. "
  351. >
  352. <ws-option
  353. v-for="(items, index) in item.bankDepositBranchList"
  354. :key="index"
  355. :label="items"
  356. :value="items"
  357. />
  358. </ws-select>
  359. </ws-form-item>
  360. </ws-info-table>
  361. <img
  362. width="22"
  363. height="22"
  364. class="add"
  365. @click="add1"
  366. src="../../../public/img/add.png"
  367. alt=""
  368. />
  369. <img
  370. width="22"
  371. height="22"
  372. class="del"
  373. @click="del1(index)"
  374. src="../../../public/img/del.png"
  375. alt=""
  376. />
  377. </div>
  378. </div>
  379. </ws-form>
  380. <ws-form
  381. ref="deptBudgetList"
  382. :rules="mainReportAdd"
  383. :model="deptBudgetList"
  384. >
  385. <div class="flex">
  386. <div>
  387. <el-upload
  388. action="https://www.zthymaoyi.com/upload/admin"
  389. :show-file-list="false"
  390. :on-success="uploadSuccessHandletravel"
  391. class="avatar-uploader"
  392. accept=".jpg, .jpeg, .png, .gif"
  393. ><el-button class="upload" size="small" type="primary"
  394. >行驶证</el-button
  395. >
  396. </el-upload>
  397. <img
  398. v-show="addressUrls.travel"
  399. width="100"
  400. height="100"
  401. :src="addressUrls.travel"
  402. alt=""
  403. />
  404. </div>
  405. <div>
  406. <el-upload
  407. action="https://www.zthymaoyi.com/upload/admin"
  408. :show-file-list="false"
  409. :on-success="uploadSuccessHandledrive"
  410. class="avatar-uploader"
  411. accept=".jpg, .jpeg, .png, .gif"
  412. ><el-button class="upload" size="small" type="primary"
  413. >驾驶证</el-button
  414. >
  415. </el-upload>
  416. <img
  417. v-if="addressUrls.drive"
  418. width="100"
  419. height="100"
  420. :src="addressUrls.drive"
  421. alt=""
  422. />
  423. </div>
  424. <div>
  425. <el-upload
  426. action="https://www.zthymaoyi.com/upload/admin"
  427. :show-file-list="false"
  428. :on-success="uploadSuccessHandleway"
  429. class="avatar-uploader"
  430. accept=".jpg, .jpeg, .png, .gif"
  431. ><el-button class="upload" size="small" type="primary"
  432. >道路运营证</el-button
  433. >
  434. </el-upload>
  435. <img
  436. v-if="addressUrls.way"
  437. width="100"
  438. height="100"
  439. :src="addressUrls.way"
  440. alt=""
  441. />
  442. </div>
  443. <div>
  444. <el-upload
  445. action="https://www.zthymaoyi.com/upload/admin"
  446. :show-file-list="false"
  447. :on-success="uploadSuccessHandlequalification"
  448. class="avatar-uploader"
  449. accept=".jpg, .jpeg, .png, .gif"
  450. ><el-button class="upload" size="small" type="primary"
  451. >从业资格证</el-button
  452. >
  453. </el-upload>
  454. <img
  455. v-if="addressUrls.qualification"
  456. width="100"
  457. height="100"
  458. :src="addressUrls.qualification"
  459. alt=""
  460. />
  461. </div>
  462. <div>
  463. <el-upload
  464. action="https://www.zthymaoyi.com/upload/admin"
  465. :show-file-list="false"
  466. :on-success="uploadSuccessHandleidentityjust"
  467. class="avatar-uploader"
  468. accept=".jpg, .jpeg, .png, .gif"
  469. ><el-button class="upload" size="small" type="primary"
  470. >身份证正面</el-button
  471. >
  472. </el-upload>
  473. <img
  474. v-if="addressUrls.identityjust"
  475. width="100"
  476. height="100"
  477. :src="addressUrls.identityjust"
  478. alt=""
  479. />
  480. </div>
  481. <div>
  482. <el-upload
  483. action="https://www.zthymaoyi.com/upload/admin"
  484. :show-file-list="false"
  485. :on-success="uploadSuccessHandleidentityagainst"
  486. class="avatar-uploader"
  487. accept=".jpg, .jpeg, .png, .gif"
  488. ><el-button class="upload" size="small" type="primary"
  489. >身份证反面</el-button
  490. >
  491. </el-upload>
  492. <img
  493. v-if="addressUrls.identityagainst"
  494. width="100"
  495. height="100"
  496. :src="addressUrls.identityagainst"
  497. alt=""
  498. />
  499. </div>
  500. </div>
  501. </ws-form>
  502. <!-- 提交 -->
  503. <div style="text-align: right; padding: 10px" class="center">
  504. <el-button
  505. class="bg-bottom"
  506. type="primary"
  507. size="small"
  508. @click="submit(deptBudgetList)"
  509. >提交</el-button
  510. >
  511. </div>
  512. </div>
  513. </template>
  514. <script>
  515. import { provinceAndCityData, CodeToText } from 'element-china-area-data'
  516. import { packList } from '@/model/contarct/index'
  517. import { getidentity, getbank, addDriver } from '@/model/transport/index'
  518. import WsUpload from '@/components/WsUpload'
  519. import mapDrag from '@/components/mapdrag/mapdrag'
  520. export default {
  521. name: 'viewSpareMoney',
  522. components: {
  523. WsUpload,
  524. mapDrag,
  525. },
  526. watch: {
  527. vesselId(val) {
  528. this.getVesselData()
  529. },
  530. isShow(val) {
  531. this.showType = val
  532. },
  533. },
  534. data() {
  535. let self = this
  536. return {
  537. deptBudgetList: {
  538. totalStorage: 0,
  539. drivercarInfo: {
  540. goodsName: '',
  541. },
  542. driverPayeeInfo: {},
  543. },
  544. radio: '1',
  545. carModelList: [],
  546. carLengthList: [],
  547. options_: provinceAndCityData,
  548. heightData: '600px',
  549. zoom: 7,
  550. selectedOptions: [],
  551. center: [116.244694, 39.517344],
  552. window: '',
  553. district: null,
  554. listDate: { country: '中国', level: 'country', city: '' },
  555. citylist: [],
  556. compId: sessionStorage.getItem('ws-pf_compId'),
  557. mainReportAdd: {},
  558. size: 10,
  559. value1: '',
  560. unitList: [],
  561. accessoryBankTFs: false,
  562. addressUrls: {},
  563. freightspace: [
  564. {
  565. carNumber: '',
  566. carModel: '高栏',
  567. carModelKey: '1',
  568. carLength: '13',
  569. carLengthKey: '1',
  570. carLoad: '',
  571. yearManufacture: '',
  572. },
  573. ],
  574. freightspace1: [
  575. {
  576. accountTypeFlag: '1',
  577. payeeName: '',
  578. payeeNumberCard: '',
  579. compName: '',
  580. bankDeposit: '',
  581. addressUrlArray: [],
  582. bankCard: '',
  583. },
  584. ],
  585. name: '',
  586. age: '',
  587. }
  588. },
  589. activated() {
  590. this.loaddata()
  591. this.showType = this.isShow
  592. },
  593. computed: {},
  594. methods: {
  595. cardchange(e) {
  596. if (e.length == 15 || e.length == 18) {
  597. this.IdCard(e)
  598. }
  599. },
  600. IdCard(UUserCard) {
  601. //获取年龄
  602. var myDate = new Date()
  603. var month = myDate.getMonth() + 1
  604. var day = myDate.getDate()
  605. var age = myDate.getFullYear() - UUserCard.substring(6, 10) - 1
  606. if (
  607. UUserCard.substring(10, 12) < month ||
  608. (UUserCard.substring(10, 12) == month &&
  609. UUserCard.substring(12, 14) <= day)
  610. ) {
  611. age++
  612. }
  613. this.age = age
  614. },
  615. bankcardfujian(item) {
  616. this.accessoryBankTFs = true
  617. },
  618. loaddata() {
  619. // 车型
  620. packList({ constId: 'TRAN1' })
  621. .toPromise()
  622. .then((response) => {
  623. this.carModelList = response
  624. })
  625. // 车长
  626. packList({ constId: 'TRAN2' })
  627. .toPromise()
  628. .then((response) => {
  629. this.carLengthList = response
  630. })
  631. },
  632. confirmPositioncity() {
  633. this.listDate.level = 'city'
  634. this.listDate.country = this.name
  635. },
  636. uploadSuccessHandle(index, e, fileList) {
  637. console.log(index, e, fileList)
  638. const that = this
  639. getidentity({ personImg: e.url })
  640. .toPromise()
  641. .then((response) => {
  642. for (var i = 0; i < this.freightspace1.length; i++) {
  643. if (i == index) {
  644. this.freightspace1[i].cardAddressUrl = e.url
  645. this.freightspace1[i].payeeName = response.recPerson
  646. this.freightspace1[i].payeeNumberCard = response.recPersonNo
  647. }
  648. }
  649. })
  650. },
  651. uploadSuccessHandle1(index, e, fileList) {
  652. console.log(index, e, fileList)
  653. const that = this
  654. // this.deptBudgetList.cardAddressUrl = e.url
  655. getbank({ bankImg: e.url })
  656. .toPromise()
  657. .then((response) => {
  658. for (var i = 0; i < this.freightspace1.length; i++) {
  659. if (i == index) {
  660. this.freightspace1[i].payeeAddressUrl = e.url
  661. this.freightspace1[i].bankCard = response.bankNo
  662. this.freightspace1[i].bankDeposit = response.bankName
  663. this.freightspace1[i].bankDepositBranchList =
  664. response.bankNameZhihang
  665. }
  666. }
  667. })
  668. },
  669. uploadSuccessHandletravel(e) {
  670. this.$set(this.addressUrls, 'travel', e.url)
  671. },
  672. uploadSuccessHandledrive(e) {
  673. this.$set(this.addressUrls, 'drive', e.url)
  674. },
  675. uploadSuccessHandleway(e) {
  676. this.$set(this.addressUrls, 'way', e.url)
  677. this.addressUrls.way = e.url
  678. },
  679. uploadSuccessHandlequalification(e) {
  680. this.$set(this.addressUrls, 'qualification', e.url)
  681. },
  682. uploadSuccessHandleidentityjust(e) {
  683. this.$set(this.addressUrls, 'identityjust', e.url)
  684. },
  685. uploadSuccessHandleidentityagainst(e) {
  686. this.$set(this.addressUrls, 'identityagainst', e.url)
  687. },
  688. selectbankDepositBranch(e, index) {
  689. this.freightspace1[index].bankDepositBranch = e
  690. },
  691. // 关闭 dialog时 处理文件url 初始化upload组件
  692. handleClose() {
  693. this.dialogViewSpareMoney = false
  694. },
  695. add() {
  696. this.freightspace.push({
  697. carNumber: '',
  698. carModel: '高栏',
  699. carModelKey: '1',
  700. carLength: '13',
  701. carLengthKey: '1',
  702. carLoad: '',
  703. yearManufacture: '',
  704. })
  705. },
  706. del(index) {
  707. if (this.freightspace.length > 1) {
  708. this.freightspace.splice(index, 1)
  709. }
  710. },
  711. add1() {
  712. this.freightspace1.push({
  713. accountTypeFlag: '1',
  714. payeeName: '',
  715. payeeNumberCard: '',
  716. compName: '',
  717. bankDeposit: '',
  718. bankCard: '',
  719. addressUrlArray: [],
  720. })
  721. },
  722. del1(index) {
  723. if (this.freightspace1.length > 1) {
  724. this.freightspace1.splice(index, 1)
  725. }
  726. },
  727. identitycardfujian(item) {},
  728. handleChange(value) {
  729. this.selectedOptions = value
  730. },
  731. returnsales() {
  732. this.$router.push({ path: 'tranManagementDriver' })
  733. },
  734. // confirmPosition() {
  735. // this.draggable = false
  736. // },
  737. // 上传附件
  738. uploadSuccess(data, files, url) {
  739. console.log(data, files, url)
  740. // this.deptBudgetList.
  741. // this.formData.append('files', files)
  742. // this.feedbackObj.uploadNameAttachment = data.appendixName
  743. // this.feedbackObj.pathUploadAttachment = data.appendixPath
  744. // // this.newAppendixs = files
  745. // this.onChangeFlag = true
  746. },
  747. selectcarModel(e) {
  748. for (var i = 0; i < this.carModelList.length; i++) {
  749. if (this.carModelList[i].constValue == e) {
  750. this.deptBudgetList.carModelKey = this.carModelList[i].constKey
  751. }
  752. }
  753. },
  754. selectcarLength(e) {
  755. for (var i = 0; i < this.carLengthList.length; i++) {
  756. if (this.carLengthList[i].constValue == e) {
  757. this.deptBudgetList.carLengthKey = this.carLengthList[i].constKey
  758. }
  759. }
  760. },
  761. onChange(files) {
  762. this.fileNum = files
  763. this.$refs.upload.handleSaveBill().then((res) => {
  764. console.log(files)
  765. })
  766. },
  767. submit() {
  768. var arr = []
  769. for (let key in this.addressUrls) {
  770. arr.push(this.addressUrls[key])
  771. }
  772. this.$refs.deptBudgetList.validate((valid) => {
  773. if (valid) {
  774. this.deptBudgetList.compId = sessionStorage.getItem('ws-pf_compId')
  775. this.deptBudgetList.residentCityProvincial =
  776. CodeToText[this.selectedOptions[0]]
  777. this.deptBudgetList.residentCityMunicipal =
  778. CodeToText[this.selectedOptions[1]]
  779. this.deptBudgetList.addressUrl = arr.toString()
  780. this.deptBudgetList.driverCarInfoList = this.freightspace
  781. this.deptBudgetList.driverPayeeInfoList = this.freightspace1
  782. console.log(this.deptBudgetList)
  783. addDriver(this.deptBudgetList)
  784. .toPromise()
  785. .then((response) => {
  786. this.$message.success('添加成功')
  787. this.deptBudgetList = {}
  788. this.$router.push({ path: 'tranManagementDriver' })
  789. })
  790. } else {
  791. EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
  792. return false
  793. }
  794. })
  795. },
  796. resetForm(deptBudgetList) {
  797. this.$refs[deptBudgetList].resetFields()
  798. },
  799. },
  800. }
  801. </script>
  802. <style lang="scss" scoped>
  803. .position {
  804. position: relative;
  805. }
  806. .add,
  807. .del {
  808. position: absolute;
  809. right: -38px;
  810. top: 9px;
  811. cursor: pointer;
  812. }
  813. .del {
  814. right: -70px;
  815. }
  816. .amap-page-container {
  817. width: 300px;
  818. height: 300px;
  819. }
  820. .el-form {
  821. padding: 0 10%;
  822. }
  823. /deep/.ws-info-table .el-form-item {
  824. border-right: 1px solid #cdd2dc;
  825. border-bottom: 1px solid #cdd2dc;
  826. }
  827. .readonly {
  828. position: relative;
  829. }
  830. .title {
  831. position: relative;
  832. }
  833. .el-car {
  834. width: 413px;
  835. }
  836. .title::before {
  837. content: '';
  838. display: inline-block;
  839. width: 5px;
  840. height: 30px;
  841. background: #5473e8;
  842. position: absolute;
  843. left: 0;
  844. }
  845. .el-col {
  846. background: #f6f7fc;
  847. }
  848. /deep/.ws-info-table .el-form-item .el-form-item__content {
  849. padding: 0 25px;
  850. border-left: 1px solid #cdd2dc;
  851. background: #fafbfc;
  852. }
  853. /deep/.ws-info-table .el-form-item .el-form-item__label {
  854. width: 140px;
  855. text-align: center;
  856. background: #f0f2f6;
  857. // border: 1px solid #cdd2dc;
  858. }
  859. .button-container {
  860. display: flex;
  861. flex-wrap: nowrap;
  862. justify-content: space-between;
  863. align-items: center;
  864. background-color: #fff;
  865. width: 100%;
  866. height: 50px;
  867. padding: 0 10px;
  868. & > div {
  869. margin-left: 10px;
  870. display: flex;
  871. flex-wrap: nowrap;
  872. flex-direction: row;
  873. & > span {
  874. line-height: 50px;
  875. }
  876. }
  877. /deep/.auditFlow-box {
  878. position: unset;
  879. margin-left: 10px;
  880. &/deep/.auditFlow-icon {
  881. width: auto;
  882. padding-right: 30px;
  883. }
  884. &/deep/.auditFlow-main {
  885. position: absolute;
  886. }
  887. }
  888. }
  889. .box-app {
  890. display: inline-block;
  891. float: left;
  892. margin-left: 30px;
  893. line-height: 50px;
  894. }
  895. /deep/.el-dialog {
  896. .el-form-item {
  897. margin-bottom: 0 !important;
  898. .el-input--medium {
  899. textarea {
  900. min-height: 100px !important;
  901. }
  902. }
  903. }
  904. }
  905. .avatar-uploader {
  906. margin: 0 5px;
  907. }
  908. .collapse-bottom {
  909. margin-bottom: 20px;
  910. }
  911. .input-main .textarea .el-textarea__inner {
  912. width: 100%;
  913. z-index: 1;
  914. }
  915. .bg-left {
  916. padding-left: 30px;
  917. }
  918. .bg-right {
  919. padding-right: 10px;
  920. text-align: right;
  921. }
  922. .bg-bottom {
  923. margin: 15px 0px;
  924. }
  925. .wenzi {
  926. width: 900px;
  927. margin: 0 auto;
  928. }
  929. .wenzi h3 {
  930. display: inline-block;
  931. left: 10px;
  932. }
  933. .wenzi p {
  934. display: inline-block;
  935. }
  936. .center {
  937. width: 900px;
  938. margin: 0 auto;
  939. }
  940. .el-form-item__label {
  941. text-align: center;
  942. }
  943. .el-table {
  944. width: 1240px;
  945. }
  946. .ce {
  947. width: 900px;
  948. margin: 0 auto;
  949. }
  950. .driver {
  951. width: 120px;
  952. margin-top: 10px;
  953. font-weight: bold;
  954. }
  955. // 控制select为只读的时候显示样式
  956. /deep/.ws-class-table-col {
  957. height: auto;
  958. padding: 0px 2px;
  959. /deep/.el-input__inner {
  960. padding: 0px 2px;
  961. }
  962. }
  963. .winseaview-view {
  964. padding: 0 0 20px;
  965. }
  966. .container {
  967. overflow: scroll;
  968. height: 93vh;
  969. }
  970. /deep/.ws-info-table .el-form-item .el-form-item__label {
  971. width: 80px;
  972. }
  973. /deep/.ws-info-table .el-form-item {
  974. width: 25%;
  975. }
  976. .el-textarea__inner {
  977. display: none;
  978. }
  979. .el-form {
  980. margin-top: 50px;
  981. }
  982. .readonly {
  983. width: 16%;
  984. }
  985. .el-cascader {
  986. width: 145px;
  987. }
  988. .forlist {
  989. width: 20%;
  990. }
  991. .el-form-item.forlist.is-success.el-form-item--small {
  992. width: 20%;
  993. }
  994. .el-form-item.forlist.el-form-item--small {
  995. width: 20%;
  996. }
  997. .el-form-item.readonly.is-success.el-form-item--small.showLableToopTip {
  998. width: 20%;
  999. }
  1000. .el-form-item.el-car.el-form-item--small {
  1001. width: 33.3%;
  1002. }
  1003. </style>