tranManagementReceivingloading.vue 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877
  1. // 汽车卸车
  2. <template>
  3. <div class="container">
  4. <el-row>
  5. <el-col :span="20">
  6. <h2 class="bg-left title">汽运卸车反馈</h2>
  7. </el-col>
  8. <el-col :span="4" class="bg-right">
  9. <el-button class="bg-bottom" type="primary" size="small" @click="revert()">
  10. <img
  11. width="6"
  12. height="10"
  13. style="vertical-align: bottom; margin-right: 3px"
  14. src="../../../public/img/lujing.png"
  15. alt
  16. />返回
  17. </el-button>
  18. </el-col>
  19. </el-row>
  20. <div class="center">
  21. <ws-form ref="deptBudgetList" :model="deptBudgetList" :rules="rules">
  22. <div class="basicInformation">
  23. <div class="small-title" style="font-size: 16px">任务详情</div>
  24. <ws-info-table>
  25. <!-- 任务编号 -->
  26. <ws-form-item label="任务编号" span="1" prop="processNo">{{ deptBudgetList.processNo }}</ws-form-item>
  27. <!-- 货名 -->
  28. <ws-form-item label="货名" span="1">{{ deptBudgetList.goodsName }}</ws-form-item>
  29. <!--重量(吨)-->
  30. <ws-form-item
  31. label="重量(吨)"
  32. span="1"
  33. prop="tare"
  34. class="readonly"
  35. >{{ deptBudgetList.weight }}</ws-form-item>
  36. <!--发货地址-->
  37. <ws-form-item label="发货地址" span="1" prop="netWeight">
  38. {{ deptBudgetList.sendPrivate }}{{ deptBudgetList.sendCity
  39. }}{{ deptBudgetList.sendArea
  40. }}{{ deptBudgetList.sendDetailedAddress }}
  41. </ws-form-item>
  42. <!--发货人-->
  43. <ws-form-item label="发货人" span="1" prop="agent">{{ deptBudgetList.sender }}</ws-form-item>
  44. <!--发货人电话-->
  45. <ws-form-item label="发货人电话" span="1" prop="agent">{{ deptBudgetList.senderPhone }}</ws-form-item>
  46. <!--收货地址-->
  47. <ws-form-item label="收货地址" span="1" prop="netWeight">
  48. {{ deptBudgetList.receivePrivate }}{{ deptBudgetList.receiveCity
  49. }}{{ deptBudgetList.receiveArea
  50. }}{{ deptBudgetList.receiveDetailedAddress }}
  51. </ws-form-item>
  52. <!--收货人-->
  53. <ws-form-item label="收货人" span="1" prop="receiver">{{ deptBudgetList.receiver }}</ws-form-item>
  54. <!--收货人电话-->
  55. <ws-form-item
  56. label="收货人电话"
  57. span="1"
  58. prop="receiverPhone"
  59. >{{ deptBudgetList.receiverPhone }}</ws-form-item>
  60. <!--发货日期-->
  61. <ws-form-item
  62. label="发货日期"
  63. span="1"
  64. prop="inOutDate"
  65. class="deliverydate"
  66. >{{ deptBudgetList.deliveryDateStart }}</ws-form-item>
  67. <!--最晚发货日期-->
  68. <ws-form-item
  69. label="最晚发货日期"
  70. span="1"
  71. prop="inOutDate"
  72. class="deliverydate"
  73. >{{ deptBudgetList.deliveryDateEnd }}</ws-form-item>
  74. <!--合同编号-->
  75. <ws-form-item label="合同编号" span="1" prop="contractNo">{{ deptBudgetList.contractNo }}</ws-form-item>
  76. <ws-form-item label="运输方式" span="1" prop="contractNo">{{ deptBudgetList.tranType }}</ws-form-item>
  77. </ws-info-table>
  78. <div class="small-title" style="font-size: 16px;width: 50%;float: left;">卸车详情</div>
  79. <!-- 导入 -->
  80. <div style="font-size: 16px; width: 100%;text-align: right;">
  81. <!-- <el-upload style="margin-left: 8px;"
  82. class=""
  83. action="https://www.zthymaoyi.com/upload/admin"
  84. :show-file-list="false"
  85. :on-success="
  86. (res, file) => {
  87. uploadSuccessHandle(res)
  88. }
  89. "
  90. accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
  91. >
  92. <el-button type="primary">导入</el-button>
  93. </el-upload> -->
  94. <el-upload style="margin-left: 8px;"
  95. class="upload-demo inline-block margin-right-10"
  96. action=""
  97. :on-change="handleChange"
  98. :show-file-list="false"
  99. accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
  100. :auto-upload="false">
  101. <el-button type="primary">导入</el-button>
  102. </el-upload>
  103. </div>
  104. <div
  105. class="driver position liaison"
  106. v-for="(item, index) in deptBudgetList.tranCarInfoList"
  107. :key="index"
  108. >
  109. <ws-info-table>
  110. <div class="catNos" v-show="item.temporaryDriverFlag == 0">司机-{{index+1}}
  111. <span class="noservice" v-show="item.status == '未装车'">{{
  112. item.status
  113. }}</span>
  114. <span class="service" v-show="item.status == '已装车'">
  115. 未卸车
  116. </span>
  117. <span class="serviced" v-show="item.status == '已送达'">
  118. 已卸车
  119. </span>
  120. </div>
  121. <div class="catNos catNosCor" v-show="item.temporaryDriverFlag != 0">司机-{{index+1}}(临)</div>
  122. <!--姓名-->
  123. <ws-form-item
  124. label="姓名:"
  125. span="1"
  126. prop="driver"
  127. v-show="item.temporaryDriverFlag == 0"
  128. >
  129. <span v-show="item.temporaryDriverFlag == 0">{{ item.driver }}</span>
  130. </ws-form-item>
  131. <!-- 姓名 -->
  132. <ws-form-item
  133. label="姓名:"
  134. span="1"
  135. prop="driver"
  136. v-show="item.temporaryDriverFlag != 0"
  137. >
  138. <span v-show="item.temporaryDriverFlag != 0">{{item.driver}}</span>
  139. </ws-form-item>
  140. <!-- 电话 -->
  141. <ws-form-item label="司机电话:" span="1" prop="driverPhone" style="width:200px">
  142. <span v-show="item.temporaryDriverFlag != 0">{{ item.driverPhone }}</span>
  143. <span v-show="item.temporaryDriverFlag == 0">{{ item.driverPhone }}</span>
  144. </ws-form-item>
  145. <!--车牌号-->
  146. <ws-form-item label="车牌号:" span="1" prop="carNo">
  147. <span v-show="item.temporaryDriverFlag != 0">{{ item.carNo }}</span>
  148. <span v-show="item.temporaryDriverFlag == 0">{{ item.carNo }}</span>
  149. </ws-form-item>
  150. <!--装车净重-->
  151. <ws-form-item label="装车(吨):" span="1" prop="loadNetWeight" style="width:150px">{{item.loadNetWeight}}</ws-form-item>
  152. <!--卸车净重(吨)-->
  153. <ws-form-item label="卸车净重(吨):" span="1" prop="unloadNetWeight">
  154. <ws-input
  155. v-if="item.status == '已送达'||item.status == '未装车'"
  156. v-model="item.unloadNetWeight"
  157. placeholder="请输入卸车净重"
  158. maxlength="20"
  159. :disabled="readonly"
  160. size="small"
  161. />
  162. <ws-input
  163. v-else
  164. v-model="item.unloadNetWeight"
  165. placeholder="请输入卸车净重"
  166. maxlength="20"
  167. size="small"
  168. />
  169. </ws-form-item>
  170. <!--卸车日期-->
  171. <ws-form-item label="卸车日期:" span="1" prop="receiveDateEnd" style="width:275px">
  172. <ws-date-picker
  173. v-model="item.receiveDateEnd"
  174. v-if="item.status == '已送达'||item.status == '未装车'"
  175. :disabled="readonly"
  176. type="date"
  177. value-format="yyyy-MM-dd"
  178. />
  179. <ws-date-picker
  180. v-model="item.receiveDateEnd"
  181. v-else
  182. type="date"
  183. placeholder="请选择日期"
  184. value-format="yyyy-MM-dd"
  185. />
  186. </ws-form-item>
  187. <!--磅单-->
  188. <ws-form-item label="磅单:" span="1" prop="unloadPoundImg">
  189. <template >
  190. <el-upload
  191. action="https://www.zthymaoyi.com/upload/admin"
  192. :show-file-list="false"
  193. :on-success="
  194. (res) => {
  195. uploadSuccessHandle1(res,index)
  196. }
  197. "
  198. class="avatar-uploader"
  199. accept=".jpg, .jpeg, .png, .gif"
  200. >
  201. <img
  202. width="18"
  203. height="20"
  204. style="
  205. vertical-align: text-top;
  206. position: relative;
  207. "
  208. src="../../../public/img/fujian.png"
  209. alt
  210. />
  211. </el-upload>
  212. <span v-if="deptBudgetList.tranCarInfoList[index].unloadPoundImg != null " >1</span>
  213. <span
  214. v-if="
  215. deptBudgetList.tranCarInfoList[index].unloadPoundImg == null
  216. "
  217. >未上传</span>
  218. </template>
  219. </ws-form-item>
  220. <!--箱号-->
  221. <ws-form-item label="箱号:" span="1" prop="caseNo">
  222. <span>{{ item.caseNo }}</span>
  223. </ws-form-item>
  224. <!--封号-->
  225. <ws-form-item label="封号:" span="1" prop="titleNo">
  226. <span>{{ item.titleNo }}</span>
  227. </ws-form-item>
  228. <div v-show="item.temporaryDriverFlag == 0 && item.signStatus == '未签合同'" class="signStatus">
  229. {{ item.signStatus }}
  230. </div>
  231. <div v-show="item.temporaryDriverFlag == 0 && item.signStatus == '已签合同'" class="signStatus1">
  232. {{ item.signStatus }}
  233. </div>
  234. </ws-info-table>
  235. </div>
  236. </div>
  237. <div
  238. style="text-align: right; color: #8890b1; font-size: 16px"
  239. >合计{{ total }}/{{ deptBudgetList.weight }}
  240. <!--阶段状态-->
  241. <span class="noservice" v-show="deptBudgetList.receivingStatus=='执行中'">
  242. 未完货
  243. </span>
  244. <span class="service" v-show="deptBudgetList.receivingStatus=='已完货'">{{
  245. deptBudgetList.receivingStatus
  246. }}</span></div>
  247. <div style="text-align: right; padding: 10px">
  248. <el-button class="bg-bottom-up" type="primary" size="small" @click="submit()">提交</el-button>
  249. <el-button
  250. class="bg-bottom"
  251. type="primary"
  252. size="small"
  253. @click="finished (deptBudgetList)"
  254. >完货</el-button
  255. >
  256. </div>
  257. </ws-form>
  258. </div>
  259. </div>
  260. </template>
  261. <script>
  262. import Pagination from '@/components/Pagination'
  263. import WsUpload from '@/components/WsUpload'
  264. import { seeCat, packList, feedback, getbank,stateRec } from '@/model/transport/index'
  265. // import { dayjs, fmoney, EventBus } from 'base-core-lib'
  266. import { dayjs, EventBus } from 'base-core-lib'
  267. export default {
  268. name: 'viewSpareMoney',
  269. components: {
  270. WsUpload,
  271. Pagination
  272. },
  273. watch: {
  274. isShow(val) {
  275. this.showType = val
  276. }
  277. },
  278. data() {
  279. return {
  280. // 是否显示
  281. showType: true,
  282. deptBudgetTotal: 0,
  283. currentPage: 1,
  284. pageSize: 10,
  285. searchType: 1,
  286. startDate: null,
  287. endDate: null,
  288. carList: [],
  289. // 提交类型
  290. readonly: true,
  291. appendixIdsAdd: '',
  292. onChange: {},
  293. gradeList: [],
  294. rules: {
  295. netWeight: [
  296. {
  297. required: true,
  298. type: 'number',
  299. message: '请输入活动名称',
  300. trigger: 'blur'
  301. }
  302. ]
  303. },
  304. size: 10,
  305. compId: sessionStorage.getItem('ws-pf_compId'),
  306. deptCircularPage: {},
  307. packtypeList: {},
  308. date: {
  309. year: dayjs().format('YYYY'),
  310. month: dayjs().format('MM')
  311. },
  312. contractList: [],
  313. deptBudgetList: {
  314. tranCarInfoList: [
  315. {
  316. unloadPoundImg:'',
  317. }
  318. ]
  319. },
  320. historyList: [],
  321. pickerBeginDateBefore: {
  322. disabledDate: time => {
  323. return time.getTime() > Date.now()
  324. }
  325. },
  326. accessoryTFs: false
  327. }
  328. },
  329. activated() {
  330. this.deptBudgetList.id = this.$route.query.id
  331. this.getList()
  332. },
  333. computed: {
  334. total: function() {
  335. var maxStorage = 0
  336. for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
  337. maxStorage += Number(
  338. this.deptBudgetList.tranCarInfoList[i].unloadNetWeight
  339. )
  340. }
  341. return maxStorage
  342. }
  343. },
  344. mounted() {
  345. this.deptBudgetList.id = this.$route.query.id
  346. this.getList()
  347. },
  348. methods: {
  349. handleChange(file, fileList) {
  350. this.fileTemp = file.raw
  351. let fileName = file.raw.name
  352. let fileType = fileName.substring(fileName.lastIndexOf('.') + 1);
  353. // 判断上传文件格式
  354. if (this.fileTemp) {
  355. if ((fileType == 'xlsx') || (fileType == 'xls')) {
  356. this.importf(this.fileTemp)
  357. } else {
  358. this.$message({
  359. type: 'warning',
  360. message: '附件格式错误,请删除后重新上传!'
  361. })
  362. }
  363. } else {
  364. this.$message({
  365. type: 'warning',
  366. message: '请上传附件!'
  367. })
  368. }
  369. },
  370. importf(obj) {
  371. this.dialogVisible = true;
  372. let _this = this;
  373. let inputDOM = this.$refs.inputer; // 通过DOM取文件数据
  374. this.file = event.currentTarget.files[0];
  375. var rABS = false; //是否将文件读取为二进制字符串
  376. var f = this.file;
  377. var reader = new FileReader();
  378. //if (!FileReader.prototype.readAsBinaryString) {
  379. FileReader.prototype.readAsBinaryString = function (f) {
  380. var binary = "";
  381. var rABS = false; //是否将文件读取为二进制字符串
  382. var pt = this;
  383. var wb; //读取完成的数据
  384. var outdata;
  385. var reader = new FileReader();
  386. reader.onload = function (e) {
  387. var bytes = new Uint8Array(reader.result);
  388. var length = bytes.byteLength;
  389. for (var i = 0; i < length; i++) {
  390. binary += String.fromCharCode(bytes[i]);
  391. }
  392. var XLSX = require('xlsx');
  393. if (rABS) {
  394. wb = XLSX.read(btoa(fixdata(binary)), { //手动转化
  395. type: 'base64'
  396. });
  397. } else {
  398. wb = XLSX.read(binary, {
  399. type: 'binary'
  400. });
  401. }
  402. // outdata就是你想要的东西 excel导入的数据
  403. outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);
  404. // excel 数据再处理
  405. let arr = []
  406. outdata.map(v => {
  407. // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
  408. let jsonString = JSON.stringify(v).replace(/\//g, '').replace(/\s/ig,'');
  409. console.log(jsonString);
  410. v = JSON.parse(jsonString);
  411. let obj = {}
  412. //xxx代表列名
  413. obj.temporaryDriverFlag = v.临时司机标识
  414. obj.caseNo= v.箱号
  415. obj.titleNo= v.封号
  416. obj.driverPhone = v.司机电话
  417. obj.driver=v.司机姓名
  418. obj.loadNetWeight = v.装车净重
  419. obj.loadingDate = toString(v.装车日期)
  420. obj.status= v.状态
  421. obj.carNo = v.车牌号
  422. obj.unloadPoundImg = v.磅单
  423. console.log(obj)
  424. _this.freightspace.push(obj)
  425. })
  426. // _this.freightspace.concat(arr)
  427. console.log(arr,_this.freightspace)
  428. }
  429. reader.readAsArrayBuffer(f);
  430. }
  431. if (rABS) {
  432. reader.readAsArrayBuffer(f);
  433. } else {
  434. reader.readAsBinaryString(f);
  435. }
  436. console.log(reader)
  437. },
  438. //返回按钮
  439. revert() {
  440. this.$router.push({ path: 'tranManagementReceivingFeedback' })
  441. },
  442. del(index) {
  443. if (this.deptBudgetList.tranCarInfoList.length > 1) {
  444. this.deptBudgetList.tranCarInfoList.splice(index, 1)
  445. }
  446. },
  447. uploadSuccessHandle1(e,index) {
  448. this.deptBudgetList.tranCarInfoList[index].unloadPoundImg = e.url
  449. },
  450. selectwaterContent() {},
  451. //提交按钮
  452. submit() {
  453. for (var i = 0; i < this.freightspace.length; i++) {
  454. if (this.freightspace[i].unloadNetWeight == null) {
  455. this.$message({
  456. message: '卸重不能为空!',
  457. type: 'warning'
  458. })
  459. return
  460. }
  461. }
  462. this.$confirm(
  463. `所有车辆完成卸车任务后,请及时修改任务状态,确定提交卸车信息?`,
  464. {
  465. cancelButtonText: '取消',
  466. confirmButtonText: '确定',
  467. type: 'warning'
  468. }
  469. )
  470. .then(() => {
  471. this.$refs.deptBudgetList.validate(valid => {
  472. if (valid) {
  473. // this.tranCarInfoList = this.freightspace
  474. this.tranCarInfoList = this.deptBudgetList.tranCarInfoList
  475. this.tranCarInfoList.driver = this.deptBudgetList.driver
  476. this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
  477. this.tranCarInfoList.carNo = this.deptBudgetList.carNo
  478. this.tranCarInfoList.loadNetWeight = this.deptBudgetList.loadNetWeight
  479. this.tranCarInfoList.tranType = this.tranType
  480. // this.tranCarInfoList.unloadPoundImg = this.deptBudgetList.tranCarInfoList.unloadPoundImg
  481. console.log( this.deptBudgetList.tranCarInfoList[0].unloadPoundImg,'图片')
  482. this.tranCarInfoList.unloadNetWeight = this.deptBudgetList.unloadNetWeight
  483. for (var i = 0; i < this.tranCarInfoList.length; i++) {
  484. this.tranCarInfoList[i].id = this.freightspace[i].id
  485. if (this.tranCarInfoList[i].temporaryDriverFlag != 0) {
  486. this.tranCarInfoList[i].temporaryDriverFlag = 1
  487. this.tranCarInfoList[i].tranType = this.tranType
  488. }
  489. }
  490. console.log(this.tranCarInfoList,'12121212')
  491. var tranProcessInfo = {}
  492. tranProcessInfo.id = this.deptBudgetList.id
  493. tranProcessInfo.infoId = this.deptBudgetList.infoId
  494. tranProcessInfo.tranCarInfoList = this.tranCarInfoList
  495. feedback(tranProcessInfo)
  496. .toPromise()
  497. .then(response => {
  498. this.$message.success('提交成功')
  499. this.deptBudgetList = {}
  500. this.freightspace = {}
  501. this.selectedOptions = ''
  502. this.$router.push({
  503. path: 'tranManagementReceivingFeedback'
  504. })
  505. })
  506. } else {
  507. // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
  508. return false
  509. }
  510. })
  511. })
  512. .catch(() => {
  513. return false
  514. })
  515. },
  516. //导入
  517. import(){
  518. },
  519. finished(){
  520. this.$confirm(`完货操作后,卸车信息不可修改,是否确定完货?`, {
  521. confirmButtonText: '确定',
  522. cancelButtonText: '取消',
  523. type: 'warning',
  524. })
  525. .then(() => {
  526. this.$refs.deptBudgetList.validate((valid) => {
  527. if (valid) {
  528. var tranProcessInfo = {}
  529. tranProcessInfo.id = this.deptBudgetList.id
  530. stateRec(tranProcessInfo)
  531. .toPromise()
  532. .then((response) => {
  533. this.$message.success('完货成功')
  534. this.deptBudgetList = {}
  535. this.freightspace = {}
  536. this.selectedOptions = ''
  537. this.$router.push({
  538. path: 'tranManagementReceivingFeedback',
  539. })
  540. })
  541. } else {
  542. return false
  543. }
  544. })
  545. })
  546. .catch(() => {
  547. return false
  548. })
  549. },
  550. handleClose() {
  551. this.accessoryTFs = false
  552. },
  553. getList() {
  554. seeCat({ id: this.deptBudgetList.id })
  555. .toPromise()
  556. .then(response => {
  557. this.deptBudgetList = response
  558.   if(response.tranCarInfoList){
  559.             this.freightspace = response.tranCarInfoList
  560.           }
  561. for (var i = 0; i < this.freightspace.length; i++) {
  562. if (!this.freightspace[i].loadNetWeight) {
  563. this.freightspace[i].loadNetWeight = 0
  564. }
  565. }
  566. })
  567. },
  568. carchange(val, index) {
  569. for (var i = 0; i < this.carList.length; i++) {
  570. if (this.carList[i].driverName == val) {
  571. this.deptBudgetList.tranCarInfoList[index].driverPhone = this.carList[
  572. i
  573. ].driverPhone
  574. arrange({ id: this.carList[i].id })
  575. .toPromise()
  576. .then(response => {
  577. this.deptBudgetList.tranCarInfoList[index].carNo =
  578. response.carNumber
  579. if (response.carLoad != null) {
  580. this.deptBudgetList.tranCarInfoList[index].loadWeight =
  581. response.carLoad
  582. } else {
  583. this.deptBudgetList.tranCarInfoList[index].loadWeight = 0
  584. }
  585. this.deptBudgetList.tranCarInfoList[index].carModel =
  586. response.carModel
  587. this.deptBudgetList.tranCarInfoList[index].carLength =
  588. response.carLength
  589. this.deptBudgetList.tranCarInfoList[index].carLengthKey =
  590. response.carLengthKey
  591. this.deptBudgetList.tranCarInfoList[index].carModelKey =
  592. response.carModelKey
  593. })
  594. }
  595. }
  596. }
  597. },
  598. phonechange(val, index) {
  599. for (var i = 0; i < this.carList.length; i++) {
  600. if (this.carList[i].driverPhone == val) {
  601. this.deptBudgetList.tranCarInfoList[index].driver = this.carList[
  602. i
  603. ].driver
  604. arrange({ id: this.carList[i].id })
  605. .toPromise()
  606. .then(response => {
  607. this.deptBudgetList.tranCarInfoList[index].carNo =
  608. response.carNumber
  609. if (response.carLoad != null) {
  610. this.deptBudgetList.tranCarInfoList[index].loadWeight =
  611. response.carLoad
  612. } else {
  613. this.deptBudgetList.tranCarInfoList[index].loadWeight = 0
  614. }
  615. this.deptBudgetList.tranCarInfoList[index].carModel =
  616. response.carModel
  617. this.deptBudgetList.tranCarInfoList[index].carLength =
  618. response.carLength
  619. this.deptBudgetList.tranCarInfoList[index].carLengthKey =
  620. response.carLengthKey
  621. this.deptBudgetList.tranCarInfoList[index].carModelKey =
  622. response.carModelKey
  623. })
  624. }
  625. }
  626. },
  627. selecttaskType(e) {
  628. for (var i = 0; i < this.taskTypeList.length; i++) {
  629. if (this.taskTypeList[i].value == e) {
  630. this.searchType = this.taskTypeList[i].type
  631. }
  632. }
  633. },
  634. }
  635. </script>
  636. <style lang="scss" scoped>
  637. /deep/.basicInformation {
  638. .ws-info-table {
  639. border: none;
  640. }
  641. .el-form-item {
  642. width: 33.3333%;
  643. border: none;
  644. height: 50px;
  645. .el-form-item__label {
  646. background: transparent;
  647. border: none;
  648. }
  649. .el-form-item__content {
  650. border: none;
  651. }
  652. }
  653. }
  654. .title {
  655. position: relative;
  656. padding-left: 10px;
  657. }
  658. .title::before {
  659. content: '';
  660. display: inline-block;
  661. width: 5px;
  662. height: 30px;
  663. background: #5473e8;
  664. position: absolute;
  665. left: 0;
  666. }
  667. .el-form {
  668. padding: 0 10%;
  669. }
  670. .el-button--primary {
  671. background-color: #5878e8;
  672. border-color: #5878e8;
  673. }
  674. .el-col {
  675. background: #f6f7fc;
  676. }
  677. .bg-right {
  678. text-align: right;
  679. padding: 16px 20px;
  680. }
  681. .center {
  682. width: 90%;
  683. margin: 0 auto;
  684. }
  685. //表格文字
  686. /deep/.ws-info-table .el-form-item .el-form-item__label {
  687. text-align: left;
  688. font-size: 13px;
  689. font-weight: 400;
  690. color: #8890b1;
  691. line-height: 16px;
  692. }
  693. //蓝标
  694. .small-title {
  695. position: relative;
  696. padding: 10px;
  697. font-weight: 600;
  698. }
  699. .small-title::before {
  700. position: absolute;
  701. content: '';
  702. display: block;
  703. background: #5473e8;
  704. width: 4px;
  705. height: 14px;
  706. left: 0px;
  707. top: 13px;
  708. padding: 4px 2px;
  709. }
  710. .position {
  711. position: relative;
  712. }
  713. .position .zaizhong {
  714. width: 16%;
  715. }
  716. //减号
  717. .del {
  718. position: absolute;
  719. // right: -38px;
  720. top: 9px;
  721. cursor: pointer;
  722. right: 0;
  723. display: inline-block;
  724. font-size: 20px;
  725. width: 20px;
  726. height: 10px;
  727. line-height: 0px;
  728. }
  729. .driver .el-form-item {
  730. width: 16.63%;
  731. }
  732. /deep/.ws-info-table .el-form-item .el-form-item__content {
  733. background: #f5f7fa;
  734. border-radius: 4px;
  735. color: #8890b1;
  736. font-size: 14px;
  737. font-weight: 400;
  738. }
  739. /deep/.driver .ws-info-table .el-form-item .el-form-item__label {
  740. width: 72px;
  741. }
  742. /deep/.liaison .ws-info-table .el-form-item {
  743. width: 15.66%;
  744. color: #8890b1;
  745. font-size: 14px;
  746. }
  747. /deep/.ws-info-table .el-form-item {
  748. border: none;
  749. height: 50px;
  750. }
  751. /deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
  752. width: 53.46%;
  753. border: 0px solid #d8dce6;
  754. background: #f5f7fa;
  755. text-align: center;
  756. }
  757. /deep/.liaison {
  758. background: #f5f7fa;
  759. border-radius: 4px;
  760. border: 0px solid #d8dce6;
  761. }
  762. /deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
  763. border: none;
  764. background: #f5f7fa;
  765. }
  766. .catNos {
  767. width: 100%;
  768. height: 30px;
  769. margin-top: 10px;
  770. margin-left: 20px;
  771. font-size: 14px;
  772. }
  773. /deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
  774. // border: 0px solid #d8dce6;
  775. border-radius: 0px;
  776. border-left: none;
  777. border-bottom: none;
  778. border-top: none;
  779. }
  780. /deep/.liaison .ws-info-table {
  781. background: #f6f7fc;
  782. border-radius: 4px;
  783. border: 1px solid #d8dce6;
  784. margin-top: 20px;
  785. }
  786. //送达/未送达
  787. .noservice,
  788. .service {
  789. display: inline-block;
  790. border-radius: 4px;
  791. border: 1px solid #d8dce6;
  792. padding: 2px;
  793. font-size: 12px;
  794. }
  795. .noservice {
  796. background: #c4cada;
  797. color: #ffffff;
  798. }
  799. .serviced {
  800. background: #e5f1f7;
  801. color: #50cad4;
  802. }
  803. //添加司机
  804. .add {
  805. width: 100px;
  806. height: 34px;
  807. background: #f6f7fb;
  808. border-radius: 17px;
  809. color: #5473e8;
  810. font-size: 14px;
  811. border: none;
  812. }
  813. .add img {
  814. display: inline-block;
  815. margin-top: 3px;
  816. margin-left: -12px;
  817. }
  818. .add .spans {
  819. display: table-caption;
  820. width: 56px;
  821. height: 20px;
  822. line-height: 18px;
  823. }
  824. .container {
  825. overflow: scroll;
  826. height: 93vh;
  827. }
  828. .line {
  829. height: 26px;
  830. margin-top: 6px;
  831. left: 2px;
  832. margin: 0 auto;
  833. }
  834. .signStatus {
  835. height: 25px;
  836. border-radius: 3px;
  837. border: 1px solid #5473e8;
  838. padding: 0 3px;
  839. margin-left: 30px;
  840. color: #ffffff;
  841. background: #c4cada;
  842. line-height: 24px;
  843. }
  844. .signStatus1 {
  845. height: 25px;
  846. background: #e6ebff;
  847. border-radius: 3px;
  848. border: 1px solid #5473e8;
  849. padding: 0 3px;
  850. margin-left: 30px;
  851. color: #5473e8;
  852. line-height: 24px;
  853. }
  854. /deep/.ws-info-table.el-form-item .el-form-item__label {
  855. // background-color: #eee;
  856. // padding-right: 8px;
  857. // padding-left: 8px;
  858. font-size: 13px;
  859. font-weight: bold;
  860. // color: #333;
  861. // overflow: hidden;
  862. // height: 40px;
  863. /* text-overflow: ellipsis; */
  864. // white-space: nowrap;
  865. // width: 120px;
  866. // line-height: 40px;
  867. }
  868. </style>