tranManagementVehicleDispatching.vue 47 KB

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