tranManagementVehicleDispatching.vue 47 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336
  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()"><img width="6" height="10"
  10. style="vertical-align: bottom; margin-right: 3px" src="../../../public/img/lujing.png" alt="" />返回
  11. </el-button>
  12. </el-col>
  13. </el-row>
  14. <div class="center">
  15. <el-form ref="deptBudgetList" :model="deptBudgetList" label-width="110px">
  16. <div class="basicInformation">
  17. <div class="small-title" style="font-size: 16px">任务详情</div>
  18. <el-row>
  19. <el-col :span="8">
  20. <el-form-item label="任务编号" span="1" prop="processNo">
  21. <el-input type="text" class="row-item" v-model="deptBudgetList.processNo" disabled></el-input>
  22. </el-form-item>
  23. </el-col>
  24. <el-col :span="8">
  25. <el-form-item label="货名" span="1">
  26. <el-input type="text" class="row-item" v-model="deptBudgetList.goodsName" disabled></el-input>
  27. </el-form-item>
  28. </el-col>
  29. <el-col :span="8">
  30. <el-form-item label="重量(吨)" span="1" prop="tare" class="readonly">
  31. <el-input type="text" class="row-item" v-model="deptBudgetList.weight" disabled></el-input>
  32. </el-form-item>
  33. </el-col>
  34. <el-col :span="8">
  35. <el-form-item label="发货地址" span="1" prop="netWeight">
  36. <el-input type="text" class="row-item" v-model="fhaddress" disabled></el-input>
  37. </el-form-item>
  38. </el-col>
  39. <el-col :span="8">
  40. <el-form-item label="发货人" span="1" prop="agent">
  41. <el-input type="text" class="row-item" v-model="deptBudgetList.sender" disabled></el-input>
  42. </el-form-item>
  43. </el-col>
  44. <el-col :span="8">
  45. <el-form-item label="发货人电话" span="1" prop="agent">
  46. <el-input type="text" class="row-item" v-model="deptBudgetList.senderPhone" disabled></el-input>
  47. </el-form-item>
  48. </el-col>
  49. <el-col :span="8">
  50. <el-form-item label="收货地址" span="1" prop="netWeight">
  51. <el-input type="text" class="row-item" v-model="shaddress" disabled></el-input>
  52. </el-form-item>
  53. </el-col>
  54. <el-col :span="8">
  55. <el-form-item label="收货人电话" span="1" prop="receiverPhone">
  56. <el-input type="text" class="row-item" v-model="deptBudgetList.receiverPhone" disabled></el-input>
  57. </el-form-item>
  58. </el-col>
  59. <el-col :span="8">
  60. <el-form-item label="发货日期" span="1" prop="inOutDate" class="deliverydate">
  61. <el-input type="text" class="row-item" v-model="deptBudgetList.deliveryDateStart" disabled></el-input>
  62. </el-form-item>
  63. </el-col>
  64. <el-col :span="8">
  65. <el-form-item label="最晚到货日期" span="1" prop="inOutDate" class="deliverydate">
  66. <el-input type="text" class="row-item" v-model="deptBudgetList.deliveryDateEnd" disabled></el-input>
  67. </el-form-item>
  68. </el-col>
  69. <el-col :span="8">
  70. <el-form-item v-if="deptBudgetList.taskType=='移库'" label="移库编号" span="1" prop="contractNo">
  71. <el-input type="text" class="row-item" v-model="deptBudgetList.contractNo" disabled></el-input>
  72. </el-form-item>
  73. <el-form-item v-else label="合同编号" span="1" prop="contractNo">
  74. <el-input type="text" class="row-item" v-model="deptBudgetList.contractNo" disabled></el-input>
  75. </el-form-item>
  76. </el-col>
  77. <el-col :span="8">
  78. <el-form-item label="关联合同" v-if="deptBudgetList.relatedContract" span="1" prop="inOutDate"
  79. class="relatedContract">
  80. <el-input type="text" class="row-item" v-model="deptBudgetList.relatedContract" disabled></el-input>
  81. </el-form-item>
  82. </el-col>
  83. </el-row>
  84. <div class="small-title" style="font-size: 16px">派车
  85. <el-radio-group @change='pricetypechange' v-model="pricetype">
  86. <el-radio label="1">元/吨计费</el-radio>
  87. <el-radio label="2">元/车计费</el-radio>
  88. </el-radio-group>
  89. </div>
  90. <div class="myTest">
  91. <el-form-item v-if='pricetype==1' label="当前运输单价(元/吨):" prop="tranPrice" label-width="150px" class="input-item-margin">
  92. <el-input v-model="deptBudgetList.tranPrice" maxlength="70" disabled />
  93. </el-form-item>
  94. <el-form-item v-else label="当前运输单价(元/车):" prop="tranPrice" label-width="150px" class="input-item-margin">
  95. <el-input v-model="deptBudgetList.tranPriceCar" maxlength="70" disabled />
  96. </el-form-item>
  97. <el-form-item v-if='pricetype==1' label="审核中的运输总价(元/吨):" prop="tranPriceIng" label-width="180px" class="input-item-margin">
  98. <el-input v-if="deptBudgetList.priceStatus=='审核中'" :disabled="readonly"
  99. v-model="deptBudgetList.tranPriceIng" maxlength="70" />
  100. <el-input v-else v-model="deptBudgetList.tranPriceIng" maxlength="70" />
  101. </el-form-item>
  102. <el-form-item v-else label="审核中的运输总价(元/车):" prop="tranPriceIng" label-width="180px" class="input-item-margin">
  103. <el-input v-if="deptBudgetList.priceStatusCar=='审核中'" :disabled="readonly"
  104. v-model="deptBudgetList.tranPriceIngCar" maxlength="70" />
  105. <el-input v-else v-model="deptBudgetList.tranPriceIngCar" maxlength="70" />
  106. </el-form-item>
  107. <div class="input-item-margin">
  108. <div v-if="deptBudgetList.priceStatus=='审核中'&&pricetype==1">
  109. <el-button type="primary" v-hasPermission="`tranManager.vehicleDispatching.reprice`" size="small"
  110. @click="examine(1)">审核中
  111. </el-button>
  112. </div>
  113. <el-button v-if="deptBudgetList.priceStatus!='审核中'&&pricetype==1" type="primary" @click="priceSubmit(1)">提交</el-button>
  114. <el-button v-else-if="deptBudgetList.priceStatus=='审核中'&&pricetype==1" type="primary">{{deptBudgetList.approveStatus}}</el-button>
  115. <div v-if="deptBudgetList.priceStatusCar=='审核中'&&pricetype==2">
  116. <el-button type="primary" v-hasPermission="`tranManager.vehicleDispatching.reprice`" size="small"
  117. @click="examine(2)">审核中
  118. </el-button>
  119. </div>
  120. <el-button v-if="deptBudgetList.priceStatusCar!='审核中'&&pricetype==2" type="primary" @click="priceSubmit(2)">提交</el-button>
  121. <el-button v-else-if="deptBudgetList.priceStatus=='审核中'&&pricetype==2" type="primary">{{deptBudgetList.approveStatus}}</el-button>
  122. </div>
  123. </div>
  124. <div class="content3" v-for="(item, index) in driverlist" :key="index">
  125. <div class="content3-item1">
  126. <div class="">
  127. <span style="margin-left: 30px;font-weight: 600;">司机-{{ index + 1 }}</span>
  128. <span class="noservice" v-show="item.status == '未装车'">{{
  129. item.status
  130. }}</span>
  131. <span class="service" v-show="item.status == '已装车'">{{
  132. item.status
  133. }}</span>
  134. <span class="serviced" v-show="item.status == '已送达'">{{
  135. item.status
  136. }}</span>
  137. </div>
  138. <el-col :span="8">
  139. <el-form-item label="姓名:" span="1" prop="driverName" label-width="125px">
  140. <el-select ref="driverSelect" v-show="!item.temporaryDriverFlag" @visible-change="clearBlur"
  141. v-model="item.driver" filterable clearable placeholder="请选择司机" class="row-item" @change="
  142. (val) => {
  143. carchange(val, item.tranCarIndex)
  144. }
  145. ">
  146. <el-option v-for="(items, index) in carList" :key="index" :label="items.driverName"
  147. :value="items.driverName" />
  148. </el-select>
  149. <span v-show="
  150. item.temporaryDriverFlag == 0 ||
  151. item.temporaryDriverFlag == 1
  152. ">{{ item.driver }}</span>
  153. </el-form-item>
  154. </el-col>
  155. <el-col :span="8">
  156. <el-form-item label="司机电话:" span="1" prop="impurity" label-width="125px">
  157. <el-select v-show="!item.temporaryDriverFlag" v-model="item.driverPhone" placeholder="请选择司机电话"
  158. filterable clearable class="row-item" @change="
  159. (val) => {
  160. phonechange(val, item.tranCarIndex)
  161. }
  162. ">
  163. <el-option v-for="(items, index) in carList" :key="index" :label="items.driverPhone"
  164. :value="items.driverPhone" />
  165. </el-select>
  166. <span v-show="
  167. item.temporaryDriverFlag == 0 ||
  168. item.temporaryDriverFlag == 1
  169. ">{{ item.driverPhone }}</span>
  170. </el-form-item>
  171. </el-col>
  172. <el-col :span="8">
  173. <el-form-item label="车牌号:" span="1" prop="carNo" label-width="125px">
  174. <el-select :disabled="item.id?true:false" v-model="item.carNo" placeholder="请选择车牌号"
  175. filterable clearable @clear="clear" class="row-item" @change="
  176. (val) => {
  177. carNochange(val, item.tranCarIndex)
  178. }
  179. ">
  180. <el-option v-for="(items, index) in carNoList" :key="index" :label="items.carNumber"
  181. :value="items.carNumber" />
  182. </el-select>
  183. <!-- <el-input :disabled="readonly" v-model="item.carNo" placeholder="" maxlength="120" size="small" /> -->
  184. </el-form-item>
  185. </el-col>
  186. <el-col :span="8">
  187. <el-form-item label="派车编号:" span="1" prop="carModel" label-width="125px">
  188. <el-input :disabled="readonly" v-model="item.tranCarNo" maxlength="120" size="small" />
  189. </el-form-item>
  190. </el-col>
  191. <el-col :span="8">
  192. <el-form-item label="箱号:" span="1" prop="carModel" label-width="125px">
  193. <el-input v-if="item.status == '已装车'||item.status == '已送达'" :disabled="readonly" v-model="item.caseNo"
  194. maxlength="120" size="small" />
  195. <el-input v-else v-model="item.caseNo" placeholder="请输入箱号" maxlength="120" size="small" />
  196. </el-form-item>
  197. </el-col>
  198. <el-col :span="8">
  199. <el-form-item label="封号:" span="1" prop="carModel" label-width="125px">
  200. <el-input v-if="item.status == '已装车'||item.status == '已送达'" v-model="item.titleNo" placeholder=""
  201. :disabled="readonly" maxlength="120" size="small" />
  202. <el-input v-model="item.titleNo" placeholder="请输入封号" v-else maxlength="120" size="small" />
  203. </el-form-item>
  204. </el-col>
  205. <el-col :span="8">
  206. <el-form-item label="车型:" span="1" prop="carModel" label-width="125px">
  207. <el-input :disabled="readonly" v-model="item.carModel" placeholder="" maxlength="120" size="small" />
  208. </el-form-item>
  209. </el-col>
  210. <el-col :span="8">
  211. <el-form-item label="车长:" span="1" prop="carLength" label-width="125px">
  212. <el-input :disabled="readonly" v-model="item.carLength" placeholder="" maxlength="120" size="small" />
  213. </el-form-item>
  214. </el-col>
  215. <el-col :span="8">
  216. <el-form-item label="载重(吨):" span="1" prop="loadWeight" label-width="125px">
  217. <el-input :disabled="readonly" v-model="item.loadWeight" placeholder="" maxlength="120"
  218. size="small" />
  219. </el-form-item>
  220. </el-col>
  221. <el-col :span="8">
  222. <el-form-item v-if='item.billingMethod==1' label="运输单价(元/吨):" span="1" prop="carModel" label-width="125px">
  223. <el-input :disabled="readonly" v-model="item.tranPrice" size="small" />
  224. </el-form-item>
  225. <el-form-item v-else label="运输单价(元/车):" span="1" prop="carModel" label-width="125px">
  226. <el-input :disabled="readonly" v-model="item.tranPrice" size="small" />
  227. </el-form-item>
  228. </el-col>
  229. <span v-if="item.status == '未装车'||item.temporaryDriverFlag!=0" width="22" height="22" class="del"
  230. @click="del(index, item,0)" src="../../../public/img/del.png" alt="">×</span>
  231. </div>
  232. </div>
  233. <div class="contentitem" v-for="(item, index) in teamlist" :key="'team'+index">
  234. <div class="content3-item1">
  235. <el-col :span="8">
  236. <!-- <span style="margin-left: 30px;font-weight: 600;">车队-{{ index + 1 }}</span> -->
  237. <el-form-item :label="'车队-'+(index + 1 )" span="1" prop="carModel" label-width="125px">
  238. <el-input :disabled="item.id?true:false" v-model="item.fleetName" size="small" />
  239. </el-form-item>
  240. </el-col>
  241. <el-col :span="8">
  242. <el-form-item v-if='item.billingMethod==1' label="运输单价(元/吨):" span="1" prop="carModel" label-width="125px">
  243. <el-input :disabled="readonly" v-model="item.tranPrice" size="small" />
  244. </el-form-item>
  245. <el-form-item v-else label="运输单价(元/车):" span="1" prop="carModel" label-width="125px">
  246. <el-input :disabled="readonly" v-model="item.tranPrice" size="small" />
  247. </el-form-item>
  248. </el-col>
  249. <span v-if="!item.id" width="22" height="22" class="del"
  250. @click="del(index, item,1)" src="../../../public/img/del.png" alt="">×</span>
  251. </div>
  252. </div>
  253. <div style="text-align: right; color: #8890b1; font-size: 16px">
  254. 共{{ total }}/{{ deptBudgetList.weight }}
  255. </div>
  256. <el-button class="add" type="primary" size="small" @click="add()">
  257. <!-- <img width="22" height="22" src="../../../public/img/add.png" alt="" /> -->
  258. <div class="spans">添加司机</div>
  259. </el-button>
  260. <el-button class="add" type="primary" size="small" @click="addteam()">
  261. <div class="spans">添加车队</div>
  262. </el-button>
  263. <div style="text-align: right; padding: 10px">
  264. <el-button class="bg-bottom-up" type="primary" size="small" @click="submit()">提交</el-button>
  265. </div>
  266. </div>
  267. </el-form>
  268. </div>
  269. </div>
  270. </template>
  271. <script>
  272. import Pagination from '@/components/Pagination'
  273. import WsUpload from '@/components/WsUpload'
  274. import {
  275. seeCat,
  276. nameXiala,
  277. arrange,
  278. dispatchCat,
  279. delhaulagestage,
  280. setUpTranPrice,
  281. setUpTranPriceCar,
  282. getcarNumber,
  283. getdriverinfo
  284. } from '@/model/transport/index'
  285. // import { dayjs, fmoney, EventBus } from 'base-core-lib'
  286. import {
  287. dayjs,
  288. EventBus
  289. } from 'base-core-lib'
  290. export default {
  291. name: 'viewSpareMoney',
  292. components: {
  293. WsUpload,
  294. Pagination,
  295. },
  296. watch: {
  297. // vesselId(val) {
  298. // this.getList()
  299. // },
  300. isShow(val) {
  301. this.showType = val
  302. },
  303. },
  304. data() {
  305. return {
  306. fhaddress: '',
  307. shaddress: '',
  308. // 是否显示
  309. showType: true,
  310. deptBudgetTotal: 0,
  311. currentPage: 1,
  312. pageSize: 10,
  313. pricetype:'1',
  314. searchType: 1,
  315. startDate: null,
  316. endDate: null,
  317. carList: [],
  318. carNoList:[],
  319. // 提交类型
  320. readonly: true,
  321. tranPriceApprove: {},
  322. carList1:[],
  323. size: 10,
  324. compId: localStorage.getItem('ws-pf_compId'),
  325. date: {
  326. year: dayjs().format('YYYY'),
  327. month: dayjs().format('MM'),
  328. },
  329. deptBudgetList: {
  330. tranCarInfoList: [],
  331. },
  332. pickerBeginDateBefore: {
  333. disabledDate: (time) => {
  334. return time.getTime() > Date.now()
  335. },
  336. },
  337. accessoryTFs: false,
  338. index: 0,
  339. }
  340. },
  341. activated() {
  342. this.getList()
  343. },
  344. computed: {
  345. total: function() {
  346. if (this.deptBudgetList.tranCarInfoList.length > 0) {
  347. var maxStorage = 0
  348. for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
  349. if(this.deptBudgetList.tranCarInfoList[i].loadWeight){
  350. maxStorage += Number(
  351. this.deptBudgetList.tranCarInfoList[i].loadWeight
  352. )
  353. }
  354. }
  355. return maxStorage
  356. }
  357. },
  358. teamlist: function() {
  359. if (this.deptBudgetList.tranCarInfoList.length > 0) {
  360. var arr = []
  361. for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
  362. if(this.deptBudgetList.tranCarInfoList[i].fleetFlag==1){
  363. this.deptBudgetList.tranCarInfoList[i].tranCarIndex=i
  364. arr.push(this.deptBudgetList.tranCarInfoList[i])
  365. }
  366. }
  367. return arr
  368. }
  369. },
  370. driverlist: function() {
  371. if (this.deptBudgetList.tranCarInfoList.length > 0) {
  372. var arr = []
  373. for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
  374. if(this.deptBudgetList.tranCarInfoList[i].fleetFlag==0){
  375. this.deptBudgetList.tranCarInfoList[i].tranCarIndex=i
  376. arr.push(this.deptBudgetList.tranCarInfoList[i])
  377. }
  378. }
  379. return arr
  380. }
  381. },
  382. },
  383. methods: {
  384. pricetypechange(e){
  385. console.log(e)
  386. this.deptBudgetList.billingMethod=e
  387. if (this.deptBudgetList.tranCarInfoList.length > 0) {
  388. for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
  389. if(!this.deptBudgetList.tranCarInfoList[i].id){
  390. this.deptBudgetList.tranCarInfoList[i].billingMethod=e
  391. if(e==1){
  392. this.deptBudgetList.tranCarInfoList[i].tranPrice=this.deptBudgetList.tranPrice
  393. }else{
  394. this.deptBudgetList.tranCarInfoList[i].tranPrice=this.deptBudgetList.tranPriceCar
  395. }
  396. }
  397. }
  398. }
  399. },
  400. clearBlur(e) {
  401. let k = this.$refs.driverSelect
  402. if (!e) {
  403. for (let i = 0; i < k.length; i++) {
  404. k[i].blur()
  405. }
  406. }
  407. },
  408. //返回按钮
  409. revert() {
  410. this.$router.go(-1)
  411. },
  412. del(index, row,status) {
  413. if (row.status == null) {
  414. if(status==1){
  415. if (this.deptBudgetList.tranCarInfoList.length > 1) {
  416. for (let i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
  417. console.log(this.deptBudgetList.tranCarInfoList[i])
  418. if(this.deptBudgetList.tranCarInfoList[i].index){
  419. if(this.deptBudgetList.tranCarInfoList[i].index==row.index){
  420. this.deptBudgetList.tranCarInfoList.splice(i, 1)
  421. }
  422. }
  423. }
  424. }
  425. }else{
  426. if (this.deptBudgetList.tranCarInfoList.length > 1) {
  427. this.deptBudgetList.tranCarInfoList.splice(index, 1)
  428. for (let i = index; i < this.deptBudgetList.tranCarInfoList.length; i++) {
  429. let number = Number(this.deptBudgetList.tranCarInfoList[i].tranCarNo.split('C')[1]) - 1
  430. if (number < 10) {
  431. this.deptBudgetList.tranCarInfoList[i].tranCarNo = 'C00' + number
  432. } else if (number < 100) {
  433. this.deptBudgetList.tranCarInfoList[i].tranCarNo = 'C0' + number
  434. } else {
  435. this.deptBudgetList.tranCarInfoList[i].tranCarNo = 'C' + number
  436. }
  437. }
  438. }
  439. }
  440. } else {
  441. this.$confirm('派车信息删除后不可恢复,是否确定删除?', '提示', {
  442. confirmButtonText: '确定',
  443. cancelButtonText: '取消',
  444. type: 'warning',
  445. }).then(() => {
  446. delhaulagestage({
  447. id: row.id
  448. })
  449. .toPromise()
  450. .then((response) => {
  451. this.$message.success('删除成功')
  452. if (this.deptBudgetList.tranCarInfoList.length > 1) {
  453. this.deptBudgetList.tranCarInfoList.splice(index, 1)
  454. }
  455. this.getList()
  456. })
  457. })
  458. }
  459. },
  460. addteam(){
  461. if(this.pricetype==1){
  462. if (!this.deptBudgetList.tranPrice) {
  463. this.$message({
  464. message: '请设置运输单价(元/吨)!',
  465. type: 'warning',
  466. })
  467. } else {
  468. this.deptBudgetList.tranCarInfoList.push({
  469. fleetName:'',
  470. fleetFlag:1,
  471. index:this.deptBudgetList.tranCarInfoList.length,
  472. billingMethod:this.pricetype,
  473. tranPrice:this.deptBudgetList.tranPrice,
  474. tranType: '1',
  475. })
  476. }
  477. }else{
  478. if (!this.deptBudgetList.tranPriceCar) {
  479. this.$message({
  480. message: '请设置运输单价(元/车)!',
  481. type: 'warning',
  482. })
  483. } else {
  484. this.deptBudgetList.tranCarInfoList.push({
  485. fleetName:'',
  486. fleetFlag:1,
  487. index:this.deptBudgetList.tranCarInfoList.length,
  488. billingMethod:this.pricetype,
  489. tranPrice:this.deptBudgetList.tranPriceCar,
  490. tranType: '1',
  491. })
  492. }
  493. }
  494. },
  495. add() {
  496. if(this.pricetype==1){
  497. if (!this.deptBudgetList.tranPrice) {
  498. this.$message({
  499. message: '请设置运输单价(元/吨)!',
  500. type: 'warning',
  501. })
  502. } else {
  503. var tmp1 = 'C00'
  504. this.deptBudgetList.count++
  505. if (this.deptBudgetList.tranCarInfoList.length < 10) {
  506. this.deptBudgetList.tranCarInfoList.push({
  507. driverName: '',
  508. driverPhone: '',
  509. carLength: 0,
  510. carLengthKey: '',
  511. loadWeight: null,
  512. carModel: '',
  513. carModelKey: '',
  514. carNumber: '',
  515. disabled: false,
  516. tranType: '1',
  517. fleetFlag:0,
  518. tranPriceCar:this.deptBudgetList.tranPriceCar,
  519. billingMethod:this.pricetype,
  520. // tranCarNo: tmp1+(this.deptBudgetList.count),
  521. tranCarNo: 'C00' + (this.deptBudgetList.tranCarInfoList.length + 1),
  522. tranPrice: this.deptBudgetList.tranPrice
  523. })
  524. } else if (this.deptBudgetList.tranCarInfoList.length < 100 && this.deptBudgetList.tranCarInfoList.length >=
  525. 10) {
  526. tmp1 = 'C0'
  527. this.deptBudgetList.count++
  528. this.deptBudgetList.tranCarInfoList.push({
  529. driverName: '',
  530. driverPhone: '',
  531. carLength: 0,
  532. carLengthKey: '',
  533. loadWeight: null,
  534. carModel: '',
  535. carModelKey: '',
  536. carNumber: '',
  537. disabled: false,
  538. fleetFlag:0,
  539. tranType: '1',
  540. tranPriceCar:this.deptBudgetList.tranPriceCar,
  541. billingMethod:this.pricetype,
  542. // tranCarNo: tmp1+(this.deptBudgetList.count),
  543. tranCarNo: 'C0' + (this.deptBudgetList.tranCarInfoList.length + 1),
  544. tranPrice: this.deptBudgetList.tranPrice
  545. })
  546. } else if (this.deptBudgetList.tranCarInfoList.length < 1000 && this.deptBudgetList.tranCarInfoList.length >=
  547. 100) {
  548. tmp1 = 'C'
  549. this.deptBudgetList.count++
  550. this.deptBudgetList.tranCarInfoList.push({
  551. driverName: '',
  552. driverPhone: '',
  553. carLength: 0,
  554. carLengthKey: '',
  555. loadWeight: null,
  556. carModel: '',
  557. carModelKey: '',
  558. carNumber: '',
  559. disabled: false,
  560. fleetFlag:0,
  561. tranType: '1',
  562. billingMethod:this.pricetype,
  563. tranPriceCar:this.deptBudgetList.tranPriceCar,
  564. // tranCarNo: tmp1+(this.deptBudgetList.count),
  565. tranCarNo: 'C' + (this.deptBudgetList.tranCarInfoList.length + 1),
  566. tranPrice: this.deptBudgetList.tranPrice
  567. })
  568. }
  569. }
  570. }else{
  571. if (!this.deptBudgetList.tranPriceCar) {
  572. this.$message({
  573. message: '请设置运输单价(元/车)!',
  574. type: 'warning',
  575. })
  576. } else {
  577. var tmp1 = 'C00'
  578. this.deptBudgetList.count++
  579. if (this.deptBudgetList.tranCarInfoList.length < 10) {
  580. this.deptBudgetList.tranCarInfoList.push({
  581. driverName: '',
  582. driverPhone: '',
  583. carLength: 0,
  584. carLengthKey: '',
  585. loadWeight: null,
  586. carModel: '',
  587. carModelKey: '',
  588. carNumber: '',
  589. disabled: false,
  590. tranType: '1',
  591. fleetFlag:0,
  592. tranPriceCar:this.deptBudgetList.tranPriceCar,
  593. billingMethod:this.pricetype,
  594. // tranCarNo: tmp1+(this.deptBudgetList.count),
  595. tranCarNo: 'C00' + (this.deptBudgetList.tranCarInfoList.length + 1),
  596. tranPrice: this.deptBudgetList.tranPrice
  597. })
  598. } else if (this.deptBudgetList.tranCarInfoList.length < 100 && this.deptBudgetList.tranCarInfoList.length >=
  599. 10) {
  600. tmp1 = 'C0'
  601. this.deptBudgetList.count++
  602. this.deptBudgetList.tranCarInfoList.push({
  603. driverName: '',
  604. driverPhone: '',
  605. carLength: 0,
  606. carLengthKey: '',
  607. loadWeight: null,
  608. carModel: '',
  609. carModelKey: '',
  610. carNumber: '',
  611. disabled: false,
  612. fleetFlag:0,
  613. tranType: '1',
  614. tranPriceCar:this.deptBudgetList.tranPriceCar,
  615. billingMethod:this.pricetype,
  616. // tranCarNo: tmp1+(this.deptBudgetList.count),
  617. tranCarNo: 'C0' + (this.deptBudgetList.tranCarInfoList.length + 1),
  618. tranPrice: this.deptBudgetList.tranPrice
  619. })
  620. } else if (this.deptBudgetList.tranCarInfoList.length < 1000 && this.deptBudgetList.tranCarInfoList.length >=
  621. 100) {
  622. tmp1 = 'C'
  623. this.deptBudgetList.count++
  624. this.deptBudgetList.tranCarInfoList.push({
  625. driverName: '',
  626. driverPhone: '',
  627. carLength: 0,
  628. carLengthKey: '',
  629. loadWeight: null,
  630. carModel: '',
  631. carModelKey: '',
  632. carNumber: '',
  633. disabled: false,
  634. fleetFlag:0,
  635. tranType: '1',
  636. billingMethod:this.pricetype,
  637. tranPriceCar:this.deptBudgetList.tranPriceCar,
  638. // tranCarNo: tmp1+(this.deptBudgetList.count),
  639. tranCarNo: 'C' + (this.deptBudgetList.tranCarInfoList.length + 1),
  640. tranPrice: this.deptBudgetList.tranPrice
  641. })
  642. }
  643. }
  644. }
  645. },
  646. //审核
  647. examine(status) {
  648. this.$prompt('运输单价审核', {
  649. cancelButtonText: '取消',
  650. confirmButtonText: '确定',
  651. inputValue: status==1?this.deptBudgetList.tranPriceIng:this.deptBudgetList.tranPriceIngCar
  652. }).then(({
  653. value
  654. }) => {
  655. var tranProcessInfo = {}
  656. tranProcessInfo.reviewer = localStorage.getItem('ws-pf_roleName') +
  657. localStorage.getItem('ws-pf_staffName')
  658. tranProcessInfo.id = this.deptBudgetList.id
  659. tranProcessInfo.flag = '2'
  660. tranProcessInfo.tranTypeKey = 1
  661. tranProcessInfo.billingMethod= this.deptBudgetList.billingMethod
  662. if(this.deptBudgetList.billingMethod==2){
  663. tranProcessInfo.tranPriceIngCar=value
  664. setUpTranPriceCar(tranProcessInfo)
  665. .toPromise()
  666. .then((response) => {
  667. this.$message.success('提交成功')
  668. this.getList()
  669. })
  670. }else{
  671. tranProcessInfo.tranPriceIng = value
  672. setUpTranPrice(tranProcessInfo)
  673. .toPromise()
  674. .then((response) => {
  675. this.$message.success('审核成功')
  676. this.getList()
  677. });
  678. }
  679. }).catch(() => {
  680. this.$message.warning(
  681. '取消审核'
  682. );
  683. });
  684. },
  685. priceSubmit(status) {
  686. if(status==1&&!this.deptBudgetList.tranPriceIng){
  687. this.$message({
  688. message: '请输入运输单价元/吨!',
  689. type: 'warning',
  690. })
  691. return
  692. }
  693. if(status==2&&!this.deptBudgetList.tranPriceIngCar){
  694. this.$message({
  695. message: '请输入运输单价元/车!',
  696. type: 'warning',
  697. })
  698. return
  699. }
  700. this.$confirm(`运输单价将发送给决策人审核,确定提交?`, {
  701. cancelButtonText: '取消',
  702. confirmButtonText: '确定',
  703. type: 'warning',
  704. })
  705. .then(() => {
  706. var tranProcessInfo = {}
  707. tranProcessInfo.id = this.deptBudgetList.id
  708. tranProcessInfo.flag = '1'
  709. tranProcessInfo.tranTypeKey = 1
  710. tranProcessInfo.tranPriceIng = this.deptBudgetList.tranPriceIng
  711. if(!this.deptBudgetList.billingMethod) this.deptBudgetList.billingMethod=1
  712. tranProcessInfo.billingMethod= this.deptBudgetList.billingMethod
  713. tranProcessInfo.tranPriceIngCar = this.deptBudgetList.tranPriceIngCar
  714. if(status==2){
  715. setUpTranPriceCar(tranProcessInfo)
  716. .toPromise()
  717. .then((response) => {
  718. this.$message.success('提交成功')
  719. this.getList()
  720. })
  721. }else{
  722. setUpTranPrice(tranProcessInfo)
  723. .toPromise()
  724. .then((response) => {
  725. this.$message.success('提交成功')
  726. this.getList()
  727. })
  728. }
  729. })
  730. .catch(() => {
  731. return false
  732. })
  733. },
  734. //提交按钮
  735. submit() {
  736. if (!this.deptBudgetList.tranPrice&&this.deptBudgetList.tranPrice!= 0 && this.pricetype==1) {
  737. this.$message({
  738. message: '请设置运输单价!',
  739. type: 'warning',
  740. })
  741. return
  742. } else if(!this.deptBudgetList.tranPriceCar&&this.deptBudgetList.tranPriceCar!= 0 && this.pricetype!=1){
  743. this.$message({
  744. message: '请设置运输单价!',
  745. type: 'warning',
  746. })
  747. return
  748. } else {
  749. for (var i = this.index; i < this.deptBudgetList.tranCarInfoList.length; i++) {
  750. if (!this.deptBudgetList.tranCarInfoList[i].driver&&this.deptBudgetList.tranCarInfoList[i].fleetFlag==0) {
  751. this.$message({
  752. message: '姓名不能为空!',
  753. type: 'warning',
  754. })
  755. return
  756. }
  757. if (!this.deptBudgetList.tranCarInfoList[i].fleetName&&this.deptBudgetList.tranCarInfoList[i].fleetFlag==1) {
  758. this.$message({
  759. message: '车队名称不能为空!',
  760. type: 'warning',
  761. })
  762. return
  763. }
  764. if (this.deptBudgetList.tranCarInfoList[i].fleetName&&this.deptBudgetList.tranCarInfoList[i].fleetName.length<1&&this.deptBudgetList.tranCarInfoList[i].fleetFlag==1||this.deptBudgetList.tranCarInfoList[i].fleetName&&this.deptBudgetList.tranCarInfoList[i].fleetName.length>10&&this.deptBudgetList.tranCarInfoList[i].fleetFlag==1) {
  765. this.$message({
  766. message: '车队名称1-10个字!',
  767. type: 'warning',
  768. })
  769. return
  770. }
  771. for (var j = 0; j < this.carList.length; j++) {
  772. if (this.carList[j].driverName == this.deptBudgetList.tranCarInfoList[i].driver && this.carList[j]
  773. .disableStatusFlag == 1) {
  774. this.$message({
  775. message: this.deptBudgetList.tranCarInfoList[i].driver + '该司机已被禁用!',
  776. type: 'warning',
  777. })
  778. return
  779. }
  780. }
  781. }
  782. this.$confirm(`确定提交派车信息?`, {
  783. cancelButtonText: '取消',
  784. confirmButtonText: '确定',
  785. type: 'warning',
  786. })
  787. .then(() => {
  788. this.$refs.deptBudgetList.validate((valid) => {
  789. if (valid) {
  790. var tranCarInfo = {}
  791. tranCarInfo.id = this.deptBudgetList.id
  792. tranCarInfo.processNo = this.deptBudgetList.processNo
  793. tranCarInfo.tranPrice = this.deptBudgetList.tranPrice
  794. tranCarInfo.infoId = this.deptBudgetList.infoId
  795. tranCarInfo.billingMethod=this.pricetype
  796. tranCarInfo.tranCarInfoList = this.deptBudgetList.tranCarInfoList
  797. dispatchCat(tranCarInfo)
  798. .toPromise()
  799. .then((response) => {
  800. this.$message.success('提交成功')
  801. this.$router.go(-1)
  802. })
  803. } else {
  804. EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
  805. return false
  806. }
  807. })
  808. })
  809. .catch(() => {
  810. return false
  811. })
  812. }
  813. },
  814. handleClose() {
  815. this.accessoryTFs = false
  816. },
  817. getList() {
  818. seeCat({
  819. id: this.$route.query.id
  820. })
  821. .toPromise()
  822. .then((response) => {
  823. if (response.tranCarInfoList.length > 0) {
  824. this.index = response.tranCarInfoList.length
  825. for (var i = 0; i < response.tranCarInfoList.length; i++) {
  826. if (response.tranCarInfoList[i].id) {
  827. response.tranCarInfoList[i].disabled = true
  828. }
  829. }
  830. }
  831. if(response.billingMethod){
  832. this.pricetype=response.billingMethod
  833. }
  834. this.deptBudgetList = response
  835. this.fhaddress = response.sendPrivate + response.sendCity + response.sendArea + response
  836. .sendDetailedAddress
  837. this.shaddress = response.receivePrivate + response.receiveCity + response.receiveArea + response
  838. .receiveDetailedAddress
  839. if (this.deptBudgetList.tranPriceIng == 0) {
  840. this.deptBudgetList.tranPriceIng = ''
  841. }
  842. if (this.deptBudgetList.tranCarInfoList.length == 0) {
  843. this.deptBudgetList.tranCarInfoList = [{
  844. driverName: '',
  845. driverPhone: '',
  846. carLength: 0,
  847. carLengthKey: '',
  848. loadWeight: null,
  849. carModel: '',
  850. carModelKey: '',
  851. carNumber: '',
  852. disabled: false,
  853. fleetFlag:0,
  854. tranType: '1',
  855. tranCarNo: 'C001',
  856. billingMethod:1,
  857. tranPrice: this.deptBudgetList.tranPrice
  858. }, ]
  859. }
  860. })
  861. nameXiala({
  862. compId: this.compId
  863. })
  864. .toPromise()
  865. .then((response) => {
  866. this.carList = response
  867. this.carList1 = response
  868. })
  869. getcarNumber({
  870. compId: this.compId
  871. })
  872. .toPromise()
  873. .then((response) => {
  874. this.carNoList = response
  875. })
  876. },
  877. carchange(val, index) {
  878. for (var i = 0; i < this.carList.length; i++) {
  879. if (this.carList[i].driverName == val) {
  880. this.deptBudgetList.tranCarInfoList[index].driverPhone =
  881. this.carList[i].driverPhone
  882. arrange({
  883. id: this.carList[i].id
  884. })
  885. .toPromise()
  886. .then((response) => {
  887. console.log(index,this.deptBudgetList.tranCarInfoList)
  888. this.deptBudgetList.tranCarInfoList[index].carNo =
  889. response.carNumber
  890. if (response.carLoad != null) {
  891. this.deptBudgetList.tranCarInfoList[index].loadWeight =
  892. response.carLoad
  893. } else {
  894. this.deptBudgetList.tranCarInfoList[index].loadWeight = 0
  895. }
  896. this.deptBudgetList.tranCarInfoList[index].carModel =
  897. response.carModel
  898. this.deptBudgetList.tranCarInfoList[index].carLength =
  899. response.carLength
  900. this.deptBudgetList.tranCarInfoList[index].carLengthKey =
  901. response.carLengthKey
  902. this.deptBudgetList.tranCarInfoList[index].carModelKey =
  903. response.carModelKey
  904. this.$forceUpdate()
  905. })
  906. }
  907. }
  908. },
  909. clear(){
  910. this.carList=this.carList1
  911. },
  912. carNochange(val,index){
  913. for (var i = 0; i < this.carNoList.length; i++) {
  914. if (this.carNoList[i].carNumber == val) {
  915. console.log(this.carNoList[i])
  916. if (this.carNoList[i].carLoad != null) {
  917. this.deptBudgetList.tranCarInfoList[index].loadWeight =
  918. this.carNoList[i].carLoad
  919. } else {
  920. this.deptBudgetList.tranCarInfoList[index].loadWeight = 0
  921. }
  922. this.deptBudgetList.tranCarInfoList[index].carModel =
  923. this.carNoList[i].carModel
  924. this.deptBudgetList.tranCarInfoList[index].carLength =
  925. this.carNoList[i].carLength
  926. this.deptBudgetList.tranCarInfoList[index].carLengthKey =
  927. this.carNoList[i].carLengthKey
  928. this.deptBudgetList.tranCarInfoList[index].carModelKey =
  929. this.carNoList[i].carModelKey
  930. getdriverinfo({
  931. carNumber: this.carNoList[i].carNumber
  932. })
  933. .toPromise()
  934. .then((response) => {
  935. this.carList=response
  936. })
  937. }
  938. }
  939. },
  940. phonechange(val, index) {
  941. for (var i = 0; i < this.carList.length; i++) {
  942. if (this.carList[i].driverPhone == val) {
  943. this.deptBudgetList.tranCarInfoList[index].driver =
  944. this.carList[i].driverName
  945. arrange({
  946. id: this.carList[i].id
  947. })
  948. .toPromise()
  949. .then((response) => {
  950. console.log(this, response)
  951. this.deptBudgetList.tranCarInfoList[index].carNo =
  952. response.carNumber
  953. if (response.carLoad != null) {
  954. this.deptBudgetList.tranCarInfoList[index].loadWeight =
  955. response.carLoad
  956. } else {
  957. this.deptBudgetList.tranCarInfoList[index].loadWeight = 0
  958. }
  959. this.deptBudgetList.tranCarInfoList[index].carModel =
  960. response.carModel
  961. this.deptBudgetList.tranCarInfoList[index].carLength =
  962. response.carLength
  963. this.deptBudgetList.tranCarInfoList[index].carLengthKey =
  964. response.carLengthKey
  965. this.deptBudgetList.tranCarInfoList[index].carModelKey =
  966. response.carModelKey
  967. })
  968. }
  969. }
  970. },
  971. },
  972. }
  973. </script>
  974. <style lang="scss" scoped>
  975. // /deep/.basicInformation {
  976. // .ws-info-table {
  977. // border: none;
  978. // }
  979. // .myTest {
  980. // width: 800px;
  981. // display: flex;
  982. // height: 40px;
  983. // }
  984. // .el-form-item {
  985. // width: 33.3333%;
  986. // border: none;
  987. // height: 50px;
  988. // .el-form-item__label {
  989. // background: transparent;
  990. // border: none;
  991. // }
  992. // .el-form-item__content {
  993. // border: none;
  994. // }
  995. // }
  996. // }
  997. // .title {
  998. // position: relative;
  999. // padding-left: 10px;
  1000. // }
  1001. // .title::before {
  1002. // content: '';
  1003. // display: inline-block;
  1004. // width: 5px;
  1005. // height: 30px;
  1006. // background: #5473e8;
  1007. // position: absolute;
  1008. // left: 0;
  1009. // }
  1010. // .el-form {
  1011. // padding: 0 10%;
  1012. // }
  1013. // .el-button--primary {
  1014. // background-color: #5878e8;
  1015. // border-color: #5878e8;
  1016. // }
  1017. // .el-col {
  1018. // background: #f6f7fc;
  1019. // }
  1020. // .bg-right {
  1021. // text-align: right;
  1022. // padding: 16px 20px;
  1023. // }
  1024. // .center {
  1025. // margin: 0 auto;
  1026. // width: 70%;
  1027. // }
  1028. //表格文字
  1029. // /deep/.ws-info-table .el-form-item .el-form-item__label {
  1030. // text-align: center;
  1031. // font-size: 14px;
  1032. // font-weight: 400;
  1033. // color: #8890b1;
  1034. // line-height: 16px;
  1035. // }
  1036. // //蓝标
  1037. // .small-title {
  1038. // position: relative;
  1039. // padding: 10px;
  1040. // font-weight: 600;
  1041. // }
  1042. // .small-title::before {
  1043. // position: absolute;
  1044. // content: '';
  1045. // display: block;
  1046. // background: #5473e8;
  1047. // width: 4px;
  1048. // height: 14px;
  1049. // left: 0px;
  1050. // top: 13px;
  1051. // padding: 4px 2px;
  1052. // }
  1053. // .position {
  1054. // position: relative;
  1055. // }
  1056. // .position .zaizhong {
  1057. // width: 16%;
  1058. // }
  1059. // //减号
  1060. // .del {
  1061. // position: absolute;
  1062. // // right: -38px;
  1063. // top: 9px;
  1064. // cursor: pointer;
  1065. // right: 0;
  1066. // display: inline-block;
  1067. // font-size: 20px;
  1068. // width: 20px;
  1069. // height: 10px;
  1070. // line-height: 0px;
  1071. // }
  1072. // .driver .el-form-item {
  1073. // width: 16.63%;
  1074. // }
  1075. // /deep/.ws-info-table .el-form-item .el-form-item__content {
  1076. // background: #f5f7fa;
  1077. // border-radius: 4px;
  1078. // color: #8890b1;
  1079. // font-size: 14px;
  1080. // padding: 0 25px;
  1081. // }
  1082. // /deep/.driver .ws-info-table .el-form-item .el-form-item__label {
  1083. // width: 72px;
  1084. // }
  1085. // /deep/.liaison .ws-info-table .el-form-item {
  1086. // width: 220px;
  1087. // color: #8890b1;
  1088. // font-size: 14px;
  1089. // }
  1090. // /deep/.ws-info-table .el-form-item {
  1091. // border: none;
  1092. // height: 50px;
  1093. // }
  1094. // /deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
  1095. // width: 50%;
  1096. // border: 0px solid #d8dce6;
  1097. // background: #f5f7fa;
  1098. // text-align: center;
  1099. // }
  1100. // /deep/.liaison {
  1101. // background: #f5f7fa;
  1102. // border-radius: 4px;
  1103. // border: 0px solid #d8dce6;
  1104. // }
  1105. // /deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
  1106. // border: none;
  1107. // background: #f5f7fa;
  1108. // padding: 0px;
  1109. // }
  1110. // .catNos {
  1111. // width: 100%;
  1112. // height: 30px;
  1113. // margin-top: 10px;
  1114. // margin-left: 20px;
  1115. // font-size: 14px;
  1116. // }
  1117. // /deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
  1118. // border-radius: 0px;
  1119. // border-left: none;
  1120. // border-bottom: none;
  1121. // border-top: none;
  1122. // }
  1123. // /deep/.liaison .ws-info-table {
  1124. // background: #f6f7fc;
  1125. // border-radius: 4px;
  1126. // border: 1px solid #d8dce6;
  1127. // margin-top: 20px;
  1128. // }
  1129. //送达/未送达
  1130. // .noservice,
  1131. // .service {
  1132. // display: inline-block;
  1133. // border-radius: 4px;
  1134. // border: 1px solid #d8dce6;
  1135. // padding: 2px;
  1136. // font-size: 12px;
  1137. // }
  1138. // .noservice {
  1139. // background: #c4cada;
  1140. // color: #ffffff;
  1141. // }
  1142. // .service {
  1143. // background: #e5f1f7;
  1144. // color: #50cad4;
  1145. // }
  1146. // .serviced {
  1147. // display: inline-block;
  1148. // border-radius: 4px;
  1149. // border: 1px solid #d8dce6;
  1150. // padding: 2px;
  1151. // font-size: 12px;
  1152. // background: #e5f1f7;
  1153. // color: #2c81cf;
  1154. // }
  1155. // //添加司机
  1156. // .add {
  1157. // width: 100px;
  1158. // height: 34px;
  1159. // background: #f6f7fb;
  1160. // border-radius: 17px;
  1161. // color: #5473e8;
  1162. // font-size: 14px;
  1163. // border: none;
  1164. // }
  1165. // .add img {
  1166. // display: inline-block;
  1167. // margin-top: 3px;
  1168. // margin-left: -12px;
  1169. // }
  1170. // .add .spans {
  1171. // display: table-caption;
  1172. // width: 56px;
  1173. // height: 20px;
  1174. // line-height: 18px;
  1175. // }
  1176. /deep/.el-form-item--small.el-form-item {
  1177. margin-bottom: 0px
  1178. }
  1179. .input-item-margin {
  1180. margin-right: 20px;
  1181. }
  1182. .row-item {
  1183. width: 100%;
  1184. }
  1185. .bg-right {
  1186. text-align: right;
  1187. padding: 16px 20px;
  1188. }
  1189. .center {
  1190. margin: 0 auto;
  1191. width: 70%;
  1192. }
  1193. //蓝标
  1194. .small-title {
  1195. position: relative;
  1196. padding: 10px;
  1197. font-weight: 600;
  1198. }
  1199. //小标题文字
  1200. .small-title::before {
  1201. position: absolute;
  1202. content: '';
  1203. display: block;
  1204. background: #5473e8;
  1205. width: 4px;
  1206. height: 14px;
  1207. left: 0px;
  1208. top: 16px;
  1209. padding: 4px 2px;
  1210. }
  1211. .bg-left {
  1212. padding-left: 30px;
  1213. }
  1214. .title::before {
  1215. content: '';
  1216. display: inline-block;
  1217. width: 5px;
  1218. height: 30px;
  1219. background: #5473e8;
  1220. position: absolute;
  1221. left: 0;
  1222. }
  1223. .myTest {
  1224. display: flex;
  1225. margin-bottom: 20px;
  1226. // background: green;
  1227. padding-left: 20px;
  1228. align-items: center;
  1229. width: 800px;
  1230. }
  1231. .myTest .el-form-item {
  1232. width: 33.333%;
  1233. }
  1234. .content3 ,.contentitem{
  1235. width: calc(100% + 20px);
  1236. .content3-item1 {
  1237. position: relative;
  1238. background: #F5F7FA;
  1239. border: 1px solid #E4E7ED;
  1240. border-radius: 5px;
  1241. height: 200px;
  1242. width: 100%;
  1243. padding: 10px 20px 0 0;
  1244. margin-top: 20px;
  1245. }
  1246. }
  1247. .contentitem{
  1248. .content3-item1 {
  1249. height: 90px;
  1250. }
  1251. }
  1252. .content4 {
  1253. background: #F5F7FA;
  1254. display: flex;
  1255. margin: 10px 0;
  1256. border: 1px solid #E4E7ED;
  1257. border-radius: 5px;
  1258. position: relative;
  1259. }
  1260. .del {
  1261. position: absolute;
  1262. right: 4px;
  1263. top: 0px;
  1264. cursor: pointer;
  1265. font-size: 20px;
  1266. width: 16px;
  1267. height: 10px;
  1268. }
  1269. </style>