autoSettlementList.vue 65 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944
  1. //汽运结算报表
  2. <template>
  3. <div class="container">
  4. <el-scrollbar style="height: 100%">
  5. <el-row>
  6. <el-col style="padding-left: 15px" :span="12">
  7. <ws-button :type="searchType == 1 ? 'primary' : ''" @click="handlestatus(1)">待审核</ws-button>
  8. <ws-button :type="searchType == 2 ? 'primary' : ''" @click="handlestatus(2)">待结算</ws-button>
  9. <ws-button :type="searchType == 3 ? 'primary' : ''" @click="handlestatus(3)">已结算</ws-button>
  10. <ws-button :type="searchType == '' ? 'primary' : ''" @click="handlestatus('')">全部</ws-button>
  11. <ws-button type="primary" v-hasPermission="`report.transportationReport.view`" @click="handlepass()">请款
  12. </ws-button>
  13. <!-- <ws-button type="primary" v-hasPermission="`report.transportationReport.view`" @click="handlereject()">驳回
  14. </ws-button> -->
  15. <ws-button type="primary" v-hasPermission="`report.transportationReport.payment`" @click="handlepayment">付款
  16. </ws-button>
  17. <ws-button type="primary" v-hasPermission="`report.transportationReport.draw`" @click="handleninvoice">开发票
  18. </ws-button>
  19. <ws-button type="primary" @click="editRecord">记录</ws-button>
  20. <!-- v-hasPermission="`report.transportationReport.payment`" -->
  21. </el-col>
  22. <el-col style="text-align: right; line-height: 60px; padding-right: 10px" :span="12">
  23. <el-select v-model="contractNo" placeholder="请选择合同" clearable filterable @change="contractchange"
  24. maxlength="500" type="input" class="findValue">
  25. <el-option v-for="item in options" :key="item.id"
  26. :label="item.reportStatus?(item.contractNo + '(' + item.reportStatus + ')'):item.contractNo" :value="item.contractNo" />
  27. <!-- <el-option v-if="!item.reportStatus" v-for="item in options" :key="item.constKey" :label="item.contractNo"
  28. :value="item.contractNo" /> -->
  29. </el-select>
  30. <el-select v-model="warehouseName" filterable placeholder="" @change="warehouseNameChange" >
  31. <el-option key="全部仓库" label="全部仓库" value="" style="color: #8890b1" />
  32. <el-option v-for="item in warehouseList1" :key="item.id" :label="item.warehouseName" :value="item.warehouseName" style="color: #8890b1" />
  33. </el-select>
  34. <el-select v-model="carType" filterable placeholder="" @change="carTypeChange" >
  35. <el-option key="全部" label="全部" value="" style="color: #8890b1" />
  36. <el-option key="未卸车" label="未卸车" value="1" style="color: #8890b1" />
  37. <el-option key="已卸车" label="已卸车" value="2" style="color: #8890b1" />
  38. </el-select>
  39. <!-- <el-input v-model="startAddress" placeholder="可按照发货地进行查找" clearable maxlength="500" type="input"
  40. class="findValue" @keyup.enter.native="find()"></el-input>
  41. <ws-button class="find" type="primary" @click="find()"><img width="16" height="16" style="
  42. vertical-align: text-top;
  43. position: relative;
  44. top: 0px;
  45. left: -8px;
  46. " src="../../../public/img/sousuo.png" alt="" /></ws-button> -->
  47. </el-col>
  48. </el-row>
  49. <el-row>
  50. <div style="display:flex;align-items:center;justify-content: flex-start;" v-if="contractNo!='全部合同'&&warehouseList.records.length>0"><div style="width:100px;">粮食单价:</div> <div v-if="grainPricetext=='编辑'">{{grainPrice}}</div><el-input style="margin:0;" v-else v-model="grainPrice"></el-input><el-button style="margin:0 0 0 5px;" type="primary" @click="editgrainPrice">{{grainPricetext}}</el-button></div>
  51. </el-row>
  52. <el-row>
  53. <div style="color:red">注:审核时,同一运输阶段勾选任意复选框,当前运输阶段下所有条目都通过审核!</div>
  54. </el-row>
  55. <div v-if="modification.length>0">合计 装车净重(吨):{{totalList.loadingWeight}} 卸车净重(吨):{{totalList.unloadingWeight}} 公司承担运损:{{totalList.transportDamage}}
  56. 损耗:{{totalList.lossWeight}} 实际损耗:{{totalList.actualLoss}} 预计单价:{{totalList.transportPrice}} 结算单价:{{totalList.settlementPrice}}
  57. 结算重量:{{totalList.settlementWeight}} 货损:{{totalList.cargoDamage}} 扣款:{{totalList.deductionAmount}} 服务费:{{totalList.serviceCharge}}
  58. 实付金额(元):{{totalList.amountActuallyPaid}} 合计应付(元):{{totalList.totalPayable}} 已付金额(元):{{totalList.amountEdPayable}}
  59. 未付金额(元):{{totalList.amountNotPayable}} 已开发票(元):{{totalList.alreadyInvoice}}
  60. </div>
  61. <el-table class="wenzi" :data="warehouseList.records" style="width: 100%; margin-top: 20px" ref="warehouseList" @row-click="handleRowClick"
  62. @selection-change="handleSelectionChange">
  63. <el-table-column :selectable="selectInit" type="selection" width="55"></el-table-column>
  64. <el-table-column type="index" label="序号" width="50"></el-table-column>
  65. <el-table-column class="table_td" prop="contractNo" width="120" label="合同编号"></el-table-column>
  66. <el-table-column class="table_td" prop="startAddress" width="120" label="发货库"></el-table-column>
  67. <el-table-column class="table_td" prop="createDate" width="120" label="发货时间"></el-table-column>
  68. <!-- <el-table-column width="120" class="table_td" prop="processNo" label="运输阶段"></el-table-column>
  69. <el-table-column width="60" class="table_td" prop="name" label="姓名"></el-table-column>
  70. <el-table-column width="120" class="table_td" prop="phone" label="电话"></el-table-column> -->
  71. <el-table-column class="table_td" prop="carNo" label="车牌号" width="140"><template slot-scope="scope">
  72. {{ scope.row.carNo }}({{ scope.row.tranCarNo }})
  73. </template></el-table-column>
  74. <el-table-column width="100" class="table_td" prop="loadingWeight" label="装车净重(吨)"><template slot-scope="scope">
  75. <div style="
  76. display: inline-block;
  77. color: #5878e8;
  78. padding: 0 4px !important;
  79. position: relative;
  80. font-size: 14px;
  81. " @click="lookloadingImg(scope.row)">
  82. <span>{{ scope.row.loadingWeight }}</span>
  83. </div>
  84. </template>
  85. </el-table-column>
  86. <el-table-column width="100" class="table_td" prop="unloadingWeight" label="卸车净重(吨)"><template
  87. slot-scope="scope">
  88. <span v-if="scope.row.unloadingWeight == null">未卸车</span>
  89. <div style="
  90. display: inline-block;
  91. color: #5878e8;
  92. padding: 0 4px !important;
  93. position: relative;
  94. font-size: 14px;
  95. " @click="lookunloadingImg(scope.row)">
  96. <span>{{ scope.row.unloadingWeight }}</span>
  97. </div>
  98. </template>
  99. </el-table-column>
  100. <el-table-column width="120" class="table_td" prop="transportDamage" label="公司承担运损">
  101. </el-table-column>
  102. <el-table-column width="100" class="table_td" prop="lossWeight" label="损耗(吨)"><template slot-scope="scope">
  103. <span v-if="scope.row.unloadingWeight == null">--</span>
  104. <span v-else-if="
  105. scope.row.lossWeight > 0 &&
  106. scope.row.lossWeight > scope.row.loadingWeight
  107. " style="color: #f10404; font-weight: 600">{{ scope.row.lossWeight }}</span>
  108. <span v-else style="font-weight: 600">{{ scope.row.lossWeight }}</span>
  109. </template>
  110. </el-table-column>
  111. <el-table-column width="120" class="table_td" prop="actualLoss" label="实际损耗">
  112. <template
  113. slot-scope="scope">
  114. <span v-if="
  115. !scope.row.actualLosschange && scope.row.actualLoss
  116. ">{{ scope.row.actualLoss }}</span>
  117. <input v-if="scope.row.actualLosschange" style="width: 60px" v-model="actualLoss" type="text" />
  118. <i @click="changeactualLoss(scope.row)" v-if="
  119. (scope.row.actualLosschange &&
  120. scope.row.status == '待请款') ||
  121. (scope.row.actualLosschange &&
  122. scope.row.status == '已驳回')
  123. " class="iconfont icon-dui"></i>
  124. <img v-if="(!scope.row.actualLosschange &&
  125. scope.row.status == '待请款') ||
  126. (!scope.row.actualLosschange &&
  127. scope.row.status == '已驳回')
  128. " width="17" height="18" style="vertical-align: text-top; position: relative; top: -1px"
  129. src="../../../public/img/edit.png" @click="editactualLoss(scope.row)" alt="" />
  130. </template>
  131. </el-table-column>
  132. <el-table-column width="120" class="table_td" prop="transportPrice" label="预计单价(元/吨)"></el-table-column>
  133. <el-table-column width="120" class="table_td" prop="settlementPrice" label="结算单价(元/吨)">
  134. <template slot-scope="scope">
  135. <span v-if="
  136. !scope.row.settlementPricechange && scope.row.settlementPrice
  137. ">{{ scope.row.settlementPrice }}</span>
  138. <input v-if="scope.row.settlementPricechange" style="width: 60px" v-model="settlementPrice" type="text" />
  139. <i @click="changesettlementPrice(scope.row)" v-if="
  140. (scope.row.settlementPricechange &&
  141. scope.row.status == '待请款') ||
  142. (scope.row.settlementPricechange &&
  143. scope.row.status == '已驳回')
  144. " class="iconfont icon-dui"></i>
  145. <img v-if="
  146. (!scope.row.settlementPricechange &&
  147. scope.row.settlementWeight &&
  148. scope.row.status == '待请款') ||
  149. (!scope.row.settlementPricechange &&
  150. scope.row.settlementWeight &&
  151. scope.row.status == '已驳回')
  152. " width="17" height="18" style="vertical-align: text-top; position: relative; top: -1px"
  153. src="../../../public/img/edit.png" @click="editsettlementPrice(scope.row)" alt="" />
  154. </template>
  155. </el-table-column>
  156. <el-table-column width="120" class="table_td" prop="settlementWeight" label="结算重量(吨)"><template
  157. slot-scope="scope">
  158. <span v-if="scope.row.unloadingWeight == '未卸车'">{{ scope.row.loadingWeight }}}</span>
  159. <span v-if="
  160. !scope.row.settlementWeightchange && scope.row.settlementWeight
  161. ">{{ scope.row.settlementWeight }}</span>
  162. <input v-if="scope.row.settlementWeightchange" style="width: 60px" v-model="settlementWeight" type="text" />
  163. <!--改结算重量-->
  164. <i @click="changesettlementWeight(scope.row)" v-if="
  165. (scope.row.settlementWeightchange &&
  166. scope.row.status == '待请款') ||
  167. (scope.row.settlementWeightchange &&
  168. scope.row.status == '已驳回')
  169. " class="iconfont icon-dui"></i>
  170. <img v-if="
  171. (!scope.row.settlementWeightchange &&
  172. scope.row.settlementWeight &&
  173. scope.row.status == '待请款') ||
  174. (!scope.row.settlementWeightchange &&
  175. scope.row.settlementWeight &&
  176. scope.row.status == '已驳回')
  177. " width="17" height="18" style="vertical-align: text-top; position: relative; top: -1px"
  178. src="../../../public/img/edit.png" @click="editsettlementWeight(scope.row)" alt="" />
  179. </template></el-table-column>
  180. <el-table-column width="120" class="table_td" prop="cargoDamage" label="货损">
  181. </el-table-column>
  182. <el-table-column width="120" class="table_td" prop="deductionAmount" label="扣款(元)"><template slot-scope="scope">
  183. <span v-if="
  184. !scope.row.deductionAmountchange && scope.row.deductionAmount
  185. ">{{ scope.row.deductionAmount }}</span>
  186. <input v-if="scope.row.deductionAmountchange" style="width: 60px" v-model="deductionAmount" type="text" />
  187. <!--改扣款-->
  188. <i @click="changedeductionAmount(scope.row)" v-if="
  189. (scope.row.deductionAmountchange &&
  190. scope.row.status == '待请款') ||
  191. (scope.row.deductionAmountchange &&
  192. scope.row.status == '已驳回')
  193. " class="iconfont icon-dui"></i>
  194. <img v-if="
  195. (!scope.row.deductionAmountchange &&
  196. scope.row.status == '待请款') ||
  197. (!scope.row.deductionAmountchange &&
  198. scope.row.status == '已驳回')
  199. " width="17" height="18" style="vertical-align: text-top; position: relative; top: -1px"
  200. src="../../../public/img/edit.png" @click="editdeductionAmount(scope.row)" alt="" />
  201. </template></el-table-column>
  202. <el-table-column width="100" class="table_td" label="服务费(元)" prop="serviceCharge">
  203. <template slot-scope="scope">
  204. <span v-if="
  205. !scope.row.serviceChargechange && scope.row.serviceCharge
  206. ">{{ scope.row.serviceCharge }}</span>
  207. <input v-if="scope.row.serviceChargechange" style="width: 60px" v-model="serviceCharge" type="text" />
  208. <!--改服务费-->
  209. <i @click="changeserviceCharge(scope.row)" v-if="
  210. (scope.row.serviceChargechange &&
  211. scope.row.status == '待请款') ||
  212. (scope.row.serviceChargechange &&
  213. scope.row.status == '已驳回')
  214. " class="iconfont icon-dui"></i>
  215. <img v-if="
  216. (!scope.row.serviceChargechange &&
  217. scope.row.status == '待请款') ||
  218. (!scope.row.serviceChargechange &&
  219. scope.row.status == '已驳回')
  220. " width="17" height="18" style="vertical-align: text-top; position: relative; top: -1px"
  221. src="../../../public/img/edit.png" @click="editserviceCharge(scope.row)" alt="" />
  222. </template>
  223. </el-table-column>
  224. <el-table-column width="100" class="table_td" label="实付金额(元)" prop="amountActuallyPaid"></el-table-column>
  225. <el-table-column width="100" class="table_td" label="税点(元)" prop="taxPoint"></el-table-column>
  226. <!-- <el-table-column width="100" class="table_td" label="应付金额(元)" prop="amountIngPayable"></el-table-column> -->
  227. <el-table-column width="100" class="table_td" label="合计应付(元)" prop="totalPayable"></el-table-column>
  228. <el-table-column width="100" class="table_td" label="已付金额(元)" prop="amountEdPayable"><template
  229. slot-scope="scope">
  230. <div style="
  231. display: inline-block;
  232. color: #5878e8;
  233. padding: 0 4px !important;
  234. position: relative;
  235. font-size: 14px;
  236. " @click="lookpaymentScreenshot(scope.row)">
  237. <span>{{ scope.row.amountEdPayable }}</span>
  238. </div>
  239. </template>
  240. </el-table-column>
  241. <el-table-column width="100" class="table_td" label="未付金额(元)" prop="amountNotPayable"></el-table-column>
  242. <el-table-column width="100" class="table_td" label="已开发票(元)" prop="alreadyInvoice"><template
  243. slot-scope="scope">
  244. {{ scope.row.alreadyInvoice }}
  245. <img v-if="scope.row.amountEdPayable > 0" width="17" height="18"
  246. style="vertical-align: text-top; position: relative; top: -1px" src="../../../public/img/edit.png"
  247. @click="editClickInvoice(scope.row)" alt="" />
  248. </template>
  249. </el-table-column>
  250. <el-table-column width="150" class="table_td" label="付款日期" prop="paymentDate"></el-table-column>
  251. <el-table-column width="150" class="table_td" label="司机/车队" prop="name">
  252. <template
  253. slot-scope="scope">
  254. {{ scope.row.name }}
  255. <span v-if="scope.row.fleetFlag==1">(队)</span>
  256. </template>
  257. </el-table-column>
  258. <!-- <el-table-column class="table_td" label="账户" prop="">
  259. <template slot-scope="scope">
  260. <div style="
  261. display: inline-block;
  262. color: #5878e8;
  263. padding: 0 4px !important;
  264. position: relative;
  265. font-size: 14px;
  266. " @click="look(scope.row)">
  267. 查看
  268. </div>
  269. </template>
  270. </el-table-column> -->
  271. <el-table-column label="状态" prop="status" width="100px">
  272. <template slot-scope="scope">
  273. <span v-if="scope.row.approveStatus != null">{{
  274. scope.row.approveStatus
  275. }}</span>
  276. <span v-else>{{ scope.row.status }}</span>
  277. </template>
  278. </el-table-column>
  279. </el-table>
  280. <!-- 页数 -->
  281. <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
  282. :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal"></el-pagination>
  283. </el-scrollbar>
  284. <!-- 修改结算重量记录 -->
  285. <el-dialog width="40%" title="结算重量修改记录" :visible.sync="dialogFormVisible16" :append-to-body="true">
  286. <el-table :data="tranPriceApproveList">
  287. <el-table-column prop="result" label="车牌号"> </el-table-column>
  288. <el-table-column prop="tranPrice" label="单价(元)">
  289. </el-table-column>
  290. <el-table-column prop="beforeModification" label="修改前重量(吨)"> </el-table-column>
  291. <el-table-column prop="afterModification" label="修改后重量(吨)"> </el-table-column>
  292. <el-table-column prop="reviewer" label="修改人"> </el-table-column>
  293. <el-table-column prop="createDate" label="修改日期" width="200px"> </el-table-column>
  294. </el-table>
  295. </el-dialog>
  296. <!-- 付款 -->
  297. <el-dialog width="25%" title="付款" :visible.sync="dialogFormVisible1" :append-to-body="true">
  298. <el-form :model="form">
  299. <el-form-item label="未付金额(元)" :label-width="formLabelWidth">
  300. <template>
  301. <span>{{ amountNotPayable }}</span>
  302. </template>
  303. </el-form-item>
  304. <el-form-item label="本次付款金额" :label-width="formLabelWidth">
  305. <el-input type='number' v-model="money" autocomplete="off" placeholder="请输入本次付款金额" class="deal"></el-input>
  306. </el-form-item>
  307. <el-form-item label="付款日期" prop="paymentDate" :label-width="formLabelWidth" class="deal">
  308. <el-date-picker v-model="paymentDate" type="date" placeholder="请选择付款日期" value-format="yyyy-MM-dd"
  309. class="deal" />
  310. </el-form-item>
  311. <el-form-item label="上传付款截图" :label-width="formLabelWidth">
  312. <!-- <el-upload :action="global.uploadPath" list-type="picture-card"
  313. :on-success="handlePictureCardPreview" :on-remove="handleRemove" class="photo2">
  314. <i class="el-icon-plus"></i>
  315. </el-upload> -->
  316. <ws-upload ref="upload" accept=".jpg, .jpeg, .png, .pdf, .doc, .docx, .xls, .xlsx" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :size-limit="size"
  317. @onChange="onChange"
  318. />
  319. </el-form-item>
  320. </el-form>
  321. <div slot="footer" class="dialog-footer">
  322. <el-button @click="dialogFormVisible1 = false">取 消</el-button>
  323. <el-button type="primary" @click="submitMoney()">提 交</el-button>
  324. </div>
  325. </el-dialog>
  326. <!-- 批量开发票 -->
  327. <el-dialog width="30%" title="批量开发票" :visible.sync="dialogFormVisible2" :append-to-body="true">
  328. <el-form :model="form">
  329. <el-form-item label="发票金额(元)" :label-width="formLabelWidth">
  330. <span> {{ amountEdPayable }}</span>
  331. </el-form-item>
  332. </el-form>
  333. <div slot="footer" class="dialog-footer">
  334. <el-button @click="dialogFormVisible2 = false">取 消</el-button>
  335. <el-button type="primary" @click="submitBatchInvoice()">提 交</el-button>
  336. </div>
  337. </el-dialog>
  338. <!-- 开发票 -->
  339. <el-dialog width="30%" title="开发票" :visible.sync="dialogFormVisible3" :append-to-body="true">
  340. <el-form :model="form">
  341. <el-form-item label="可开发票金额(元)" :label-width="formLabelWidth1">
  342. {{ amountEdPayable }}
  343. </el-form-item>
  344. <el-form-item label="实际发票金额(元)" :label-width="formLabelWidth1">
  345. <el-input type='number' v-model="alreadyInvoice" autocomplete="off" class="deal"></el-input>
  346. </el-form-item>
  347. </el-form>
  348. <div slot="footer" class="dialog-footer">
  349. <el-button @click="dialogFormVisible3 = false">取 消</el-button>
  350. <el-button type="primary" @click="submitInvoice()">提 交</el-button>
  351. </div>
  352. </el-dialog>
  353. <!--账户-->
  354. <el-dialog width="30%" title="账户信息" :visible.sync="dialogFormVisible8" :append-to-body="true">
  355. <h3 style="margin-left: 30px">{{ driverPayeeList.payeeName }}的账户</h3>
  356. <div v-for="(item, index) in driverPayeeList" :key="index">
  357. <h4 style="margin-left: 30px">账户-{{ index + 1 }}</h4>
  358. <div class="anniu">
  359. <el-radio-group @change="bankCard(item, id)" v-model="item.radio">
  360. <el-radio label="1">本次收款账户</el-radio>
  361. </el-radio-group>
  362. </div>
  363. <el-form class="customer" :model="form">
  364. <el-form-item label="账户类型" :label-width="formLabelWidth">
  365. {{ item.accountType }}
  366. </el-form-item>
  367. <el-form-item label="银行卡号" :label-width="formLabelWidth">
  368. {{ item.bankCard }}
  369. </el-form-item>
  370. <el-form-item label="开户行" :label-width="formLabelWidth">
  371. {{ item.bankDeposit }}
  372. </el-form-item>
  373. <el-form-item label="开户支行" :label-width="formLabelWidth">
  374. {{ item.bankDepositBranch }}
  375. </el-form-item>
  376. <el-form-item label="收款人姓名" :label-width="formLabelWidth" v-if="item.accountTypeFlag == 1">
  377. {{ item.payeeName }}
  378. </el-form-item>
  379. <el-form-item label="收款人身份证号" :label-width="formLabelWidth" v-if="item.accountTypeFlag == 1">
  380. {{ item.payeeNumberCard }}
  381. </el-form-item>
  382. <el-form-item v-if="item.accountTypeFlag == 2" label="企业名称" :label-width="formLabelWidth">
  383. {{ item.compName }}
  384. </el-form-item>
  385. </el-form>
  386. </div>
  387. <div slot="footer" class="dialog-footer">
  388. <el-button @click="dialogFormVisible8 = false">取 消</el-button>
  389. </div>
  390. </el-dialog>
  391. <!--磅单 -->
  392. <WinseaContentModal v-model="accessoryTFs" title="磅单信息" @on-cancel="handleClose">
  393. <p>查看装车磅单</p>
  394. <img width="100" height="100" :src="loadingImg1" alt="" />
  395. </WinseaContentModal>
  396. <WinseaContentModal v-model="accesscard" title="磅单信息" @on-cancel="handleClose1">
  397. <p>查看卸车磅单</p>
  398. <img width="100" height="100" :src="unloadingImg1" alt="" />
  399. </WinseaContentModal>
  400. <!--付款截图 -->
  401. <WinseaContentModal v-model="paymentImg" title="付款截图信息" @on-cancel="handleClose2">
  402. <p>查看付款截图</p>
  403. <ws-upload :editable='false' ref="upload" accept=".jpg, .jpeg, .png, .pdf, .doc, .docx, .xls, .xlsx" :comp-id="compId" :appendix-ids="paymentScreenshot1" :size-limit="size"
  404. />
  405. <!-- <div v-for="item in paymentScreenshot1">
  406. <img style="width: 100px; height: 100px" :src="item" alt="" />
  407. </div> -->
  408. </WinseaContentModal>
  409. </div>
  410. <!-- </div> -->
  411. </template>
  412. <script>
  413. import {
  414. autoList,
  415. editauto,
  416. autocontract,
  417. autopaymoney,
  418. openinvoicelist,
  419. submitlogistics,
  420. editgrainprice
  421. // postaudit,
  422. // getselectctcontractno,
  423. } from '@/model/statisticalReport/index'
  424. import {
  425. selectWarehouseSelf,
  426. } from '@/model/outboundManagement/index'
  427. import {
  428. workflowcontent
  429. } from '@/model/houseSelfCollect/index'
  430. import {
  431. posthandle
  432. } from '@/model/purchasingManagement/index'
  433. import {
  434. downloadFile
  435. } from '@/utils/batchDown'
  436. import Pagination from '@/components/Pagination'
  437. import WsUpload from '@/components/WsUpload'
  438. import {
  439. EventBus
  440. } from 'base-core-lib'
  441. export default {
  442. name: 'viewSpareMoney',
  443. components: {
  444. WsUpload,
  445. Pagination,
  446. },
  447. watch: {
  448. vesselId(val) {
  449. this.getList()
  450. },
  451. isShow(val) {
  452. this.showType = val
  453. },
  454. },
  455. data() {
  456. return {
  457. alreadyInvoice: '',
  458. needReapply: true,
  459. totalList:[],
  460. dialogFormVisible1: false,
  461. dialogFormVisible2: false,
  462. dialogFormVisible3: false,
  463. dialogFormVisible4: false,
  464. dialogFormVisible5: false,
  465. dialogFormVisible6: false,
  466. dialogFormVisible7: false,
  467. dialogFormVisible8: false,
  468. dialogFormVisible11: false,
  469. dialogFormVisible16: false,
  470. dialogVisible: false,
  471. grainPrice:'',
  472. grainPricetext:'编辑',
  473. form: {
  474. transactionPrice: '',
  475. transactionsNumber: '',
  476. basis: '',
  477. },
  478. warehouseList:[],
  479. warehouseName:'',
  480. currect: true,
  481. formLabelWidth: '120px',
  482. formLabelWidth1: '140px',
  483. isTaped: false,
  484. isHover: false,
  485. settlementWeightchange: false,
  486. deductionAmountchange: false,
  487. serviceChargechange: false,
  488. isShow: !this.autohide,
  489. //弹出框
  490. dialogViewSpareMoney: false,
  491. contractNoList: [],
  492. // 是否显示
  493. showType: true,
  494. // 年
  495. year: '',
  496. options: [],
  497. id: '',
  498. value2: '',
  499. deptBudgetTotal: 0,
  500. currentPage: 1,
  501. pageSize: 10,
  502. searchType: '',
  503. manualFlag: '',
  504. searchKeyWord: '',
  505. startAddress:'',
  506. driverPayeeList: {
  507. radio: '1',
  508. },
  509. contractType: 2,
  510. accessoryTFs: false,
  511. accesscard: false,
  512. paymentImg: false,
  513. enter: {
  514. closePositionList: [],
  515. },
  516. // 提交类型
  517. submitType: true,
  518. size: 10,
  519. spanArr: [],
  520. contractNo: '全部合同',
  521. inOutTaskNo: '',
  522. compId: localStorage.getItem('ws-pf_compId'),
  523. roleId: localStorage.getItem('ws-pf_roleId'),
  524. deptCircularPage: {},
  525. warehouseList: [],
  526. orderList: {},
  527. tranPriceApproveList: [],
  528. deptBudgetList: {},
  529. id: '',
  530. pcFlag: 1,
  531. carryoverlist: {},
  532. modification: [],
  533. loadingImg1: [],
  534. unloadingImg1: [],
  535. paymentScreenshot1: [],
  536. amendlist: {},
  537. roleFlag: 1,
  538. warehouseList1:[],
  539. alreadyInvoice1: 0,
  540. money: '',
  541. paymentDate: '',
  542. tranSettlementReportList: [],
  543. autoSettlementReport: {
  544. tranSettlementReportList: [],
  545. money: '',
  546. amountNotPayable: 0,
  547. amountEdPayable: 0,
  548. paymentDate: '',
  549. paymentScreenshot: '',
  550. id: '',
  551. },
  552. carType:'',
  553. settlementPrice:0,
  554. amountNotPayable: 0,
  555. amountEdPayable: 0,
  556. actualLoss:0,
  557. paymentScreenshotUrls: [],
  558. carryovercontractnolist: [],
  559. historyList: [],
  560. pickerBeginDateBefore: {
  561. disabledDate: (time) => {
  562. return time.getTime() > Date.now()
  563. },
  564. },
  565. }
  566. },
  567. activated() {
  568. console.log(11111111)
  569. selectWarehouseSelf({
  570. compId: localStorage.getItem('ws-pf_compId'),
  571. })
  572. .toPromise()
  573. .then((response) => {
  574. this.warehouseList1=response
  575. })
  576. this.getList()
  577. this.showType = this.isShow
  578. },
  579. methods: {
  580. editgrainPrice(){
  581. if(this.grainPricetext=='编辑'){
  582. this.grainPricetext='提交'
  583. }else{
  584. editgrainprice({id:this.warehouseList.records[0].id,flag:7,grainPrice:this.grainPrice}).toPromise().then((response) => {
  585. this.$message.success('提交粮食单价成功')
  586. this.grainPrice=''
  587. this.grainPricetext='编辑'
  588. this.getList()
  589. })
  590. }
  591. },
  592. warehouseNameChange(){
  593. this.getList()
  594. },
  595. carTypeChange(){
  596. this.getList()
  597. },
  598. countTotal(data) {
  599. var sums={
  600. loadingWeight:0,
  601. unloadingWeight:0,
  602. transportDamage:0,
  603. lossWeight:0,
  604. actualLoss:0,
  605. transportPrice:0,
  606. settlementPrice:0,
  607. settlementWeight:0,
  608. cargoDamage:0,
  609. deductionAmount:0,
  610. serviceCharge:0,
  611. amountActuallyPaid:0,
  612. totalPayable:0,
  613. amountEdPayable:0,
  614. amountNotPayable:0,
  615. alreadyInvoice:0
  616. }
  617. for (let i = 0; i < data.length; i++) {
  618. if(!isNaN(data[i].loadingWeight)){
  619. sums.loadingWeight+=Number(data[i].loadingWeight)
  620. }
  621. if(!isNaN(data[i].unloadingWeight)){
  622. sums.unloadingWeight+=Number(data[i].unloadingWeight)
  623. }
  624. if(!isNaN(data[i].transportDamage)){
  625. sums.transportDamage+=Number(data[i].transportDamage)
  626. }
  627. if(!isNaN(data[i].lossWeight)){
  628. sums.lossWeight+=Number(data[i].lossWeight)
  629. }
  630. if(!isNaN(data[i].actualLoss)){
  631. sums.actualLoss+=Number(data[i].actualLoss)
  632. }
  633. if(!isNaN(data[i].transportPrice)){
  634. sums.transportPrice+=Number(data[i].transportPrice)
  635. }
  636. if(!isNaN(data[i].settlementPrice)){
  637. sums.settlementPrice+=Number(data[i].settlementPrice)
  638. }
  639. if(!isNaN(data[i].settlementWeight)){
  640. sums.settlementWeight+=Number(data[i].settlementWeight)
  641. }
  642. if(!isNaN(data[i].cargoDamage)){
  643. sums.cargoDamage+=Number(data[i].cargoDamage)
  644. }
  645. if(!isNaN(data[i].deductionAmount)){
  646. sums.deductionAmount+=Number(data[i].deductionAmount)
  647. }
  648. if(!isNaN(data[i].serviceCharge)){
  649. sums.serviceCharge+=Number(data[i].serviceCharge)
  650. }
  651. if(!isNaN(data[i].amountActuallyPaid)){
  652. sums.amountActuallyPaid+=Number(data[i].amountActuallyPaid)
  653. }
  654. if(!isNaN(data[i].totalPayable)){
  655. sums.totalPayable+=Number(data[i].totalPayable)
  656. }
  657. if(!isNaN(data[i].amountEdPayable)){
  658. sums.amountEdPayable+=Number(data[i].amountEdPayable)
  659. }
  660. if(!isNaN(data[i].amountNotPayable)){
  661. sums.amountNotPayable+=Number(data[i].amountNotPayable)
  662. }
  663. if(!isNaN(data[i].alreadyInvoice)){
  664. sums.alreadyInvoice+=Number(data[i].alreadyInvoice)
  665. }
  666. }
  667. sums.loadingWeight=sums.loadingWeight.toFixed(2)
  668. sums.unloadingWeight= sums.unloadingWeight.toFixed(2)
  669. sums.transportDamage=sums.transportDamage.toFixed(2)
  670. sums.lossWeight=sums.lossWeight.toFixed(2)
  671. sums.actualLoss=sums.actualLoss.toFixed(2)
  672. sums.transportPrice=sums.transportPrice.toFixed(2)
  673. sums.settlementPrice=sums.settlementPrice.toFixed(2)
  674. sums.settlementWeight=sums.settlementWeight.toFixed(2)
  675. sums.cargoDamage=sums.cargoDamage.toFixed(2)
  676. sums.deductionAmount=sums.deductionAmount.toFixed(2)
  677. sums.serviceCharge=sums.serviceCharge.toFixed(2)
  678. sums.amountActuallyPaid=sums.amountActuallyPaid.toFixed(2)
  679. sums.totalPayable=sums.totalPayable.toFixed(2)
  680. sums.amountEdPayable=sums.amountEdPayable.toFixed(2)
  681. sums.amountNotPayable=sums.amountNotPayable.toFixed(2)
  682. sums.alreadyInvoice=sums.alreadyInvoice.toFixed(2)
  683. return sums;
  684. },
  685. onChange() {
  686. this.$refs.upload
  687. .handleSaveBill()
  688. .then(async response => {
  689. this.deptBudgetList.addressUrl = response
  690. })
  691. .catch(res => {
  692. EventBus.$emit('error', (JSON.parse(res) || {}).message)
  693. this.$refs.upload.clearFiles()
  694. })
  695. },
  696. find(){
  697. this.getList()
  698. },
  699. cur(status) {
  700. if (status == 0) {
  701. this.currect = true
  702. } else {
  703. var that = this
  704. this.currect = false
  705. getselectctcontractno({
  706. customerName: this.modification[0].customerName,
  707. contractNo: this.modification[0].contractNo,
  708. })
  709. .toPromise()
  710. .then((response) => {
  711. that.carryovercontractnolist = response
  712. for (var i = 0; i < that.carryovercontractnolist.length; i++) {
  713. if (that.carryovercontractnolist[i].amountNotPayable > 0) {
  714. that.carryovercontractnolist[i].closeaccountstatus = '待结算'
  715. } else {
  716. that.carryovercontractnolist[i].closeaccountstatus = '已结算'
  717. }
  718. }
  719. })
  720. .catch((response) => {
  721. console.log(response)
  722. EventBus.$emit('error', response.message)
  723. })
  724. }
  725. },
  726. handleRowClick(row) {
  727. if (row.approveStatus == null) {
  728. this.$refs.warehouseList.toggleRowSelection(row)
  729. return true
  730. } else if (row.approveStatus != null) {
  731. if (row.taskId == null) {
  732. return false
  733. } else {
  734. this.$refs.warehouseList.toggleRowSelection(row)
  735. return true
  736. }
  737. }
  738. },
  739. date() {
  740. var date = new Date();
  741. var y = date.getFullYear();
  742. var m = date.getMonth() + 1;
  743. var d = date.getDate();
  744. m = m < 10 ? '0' + m : m;
  745. d = d < 10 ? '0' + d : d;
  746. return y + '-' + m + '-' + d;
  747. },
  748. selectInit(row) {
  749. //在这里一定要记得类型匹配的上。
  750. if (row.approveStatus == null) {
  751. return true
  752. } else if (row.approveStatus != null) {
  753. if (row.taskId == null) {
  754. return false
  755. } else {
  756. return true
  757. }
  758. }
  759. },
  760. handleClose() {
  761. this.accessoryTFs = false
  762. },
  763. handleClose1() {
  764. this.accesscard = false
  765. },
  766. handleClose2() {
  767. this.paymentImg = false
  768. },
  769. //账户
  770. look(item) {
  771. this.dialogFormVisible8 = true
  772. if (item.driverPayeeInfoList) {
  773. this.driverPayeeList = item.driverPayeeInfoList
  774. this.driverPayeeList.payeeName = item.driverPayeeInfoList[0].payeeName
  775. for (var i = 0; i < item.driverPayeeInfoList.length; i++) {
  776. if (item.driverPayeeInfoList[i].bankCard == item.cardNo) {
  777. this.driverPayeeList[i].radio = '1'
  778. } else {
  779. this.driverPayeeList[i].radio = '2'
  780. }
  781. console.log(this.driverPayeeList[i].radio)
  782. }
  783. this.id = item.id
  784. }
  785. },
  786. //付款
  787. handlepayment() {
  788. this.amountNotPayable = 0
  789. // this.money = this.money
  790. this.tranSettlementReportList = this.warehouseList.records[0].tranSettlementReportList
  791. this.amountEdPayable = this.warehouseList.records[0].amountEdPayable
  792. this.paymentDate = this.date()
  793. if (this.modification.length == 0) {
  794. this.$message.warning('请选择一条要付款的条目')
  795. } else {
  796. for (var i = 0; i < this.modification.length; i++) {
  797. if (
  798. this.modification[i].status != '已通过' &&
  799. this.modification[i].status != '部分付款'
  800. ) {
  801. this.$message.warning('只有已通过或部分付款的条目才可进行付款操作')
  802. return
  803. }
  804. this.amountNotPayable += Number(this.modification[i].amountNotPayable)
  805. }
  806. var arr=this.modification.filter((item,index)=>{
  807. return this.modification.indexOf(item.contractNo)===index
  808. })
  809. if(arr.length>1){
  810. this.$message.warning('付款只能同时付一个合同编号的数据')
  811. return
  812. }
  813. this.amountNotPayable = this.amountNotPayable.toFixed(2)
  814. this.money=this.amountNotPayable
  815. this.dialogFormVisible1 = true
  816. }
  817. },
  818. submitMoney() {
  819. this.autoSettlementReport.money = this.money
  820. this.autoSettlementReport.paymentDate = this.paymentDate
  821. if (this.modification.length == 0) {
  822. this.$message.warning('请选择一条要付款的条目')
  823. } else {
  824. if (
  825. this.money < 0 ||
  826. (String(this.money).indexOf('.') != -1 &&
  827. String(this.money).length - (String(this.money).indexOf('.') + 1) >
  828. 2)
  829. ) {
  830. this.$message({
  831. message: '付款金额输入错误',
  832. type: 'warning',
  833. })
  834. return
  835. }
  836. if (this.money) {
  837. if (isNaN(this.money)) {
  838. this.$message({
  839. message: '付款金额非数字!',
  840. type: 'warning',
  841. })
  842. return
  843. }
  844. }
  845. if (!this.money) {
  846. this.$message({
  847. message: '付款金额不能为空!',
  848. type: 'warning',
  849. })
  850. return
  851. }
  852. if (Number(this.money) > Number(this.amountNotPayable)) {
  853. this.$message({
  854. message: '付款金额不能大于未付金额!',
  855. type: 'warning',
  856. })
  857. return
  858. }
  859. if(!this.deptBudgetList.addressUrl){
  860. // var arr=this.deptBudgetList.addressUrl.split(',')
  861. // if(arr.length==0){
  862. this.$message({
  863. message: '请上传付款截图!',
  864. type: 'warning',
  865. })
  866. return
  867. // }
  868. }
  869. this.$confirm(`确定提交付款信息?`, {
  870. cancelButtonText: '取消',
  871. confirmButtonText: '确定',
  872. type: 'warning',
  873. }).then(() => {
  874. autopaymoney({
  875. tranSettlementReportList: this.modification,
  876. // amountEdPayable: this.modification[0].amountEdPayable,
  877. // amountNotPayable: this.modification[0].amountNotPayable,
  878. money: this.money,
  879. paymentDate: this.paymentDate,
  880. paymentScreenshot: this.deptBudgetList.addressUrl,
  881. })
  882. .toPromise()
  883. .then((response) => {
  884. this.$notify.success({
  885. title: '成功',
  886. message: '付款成功',
  887. })
  888. this.tranSettlementReportList = {}
  889. this.money = ''
  890. this.paymentDate = ''
  891. this.dialogFormVisible1 = false
  892. this.getList()
  893. })
  894. .catch((response) => {
  895. console.log(response)
  896. EventBus.$emit('error', response.message)
  897. })
  898. })
  899. }
  900. },
  901. //开发票
  902. editClickInvoice(row) {
  903. this.id = row.id
  904. this.alreadyInvoice1 = row.alreadyInvoice
  905. this.amountEdPayable = row.amountEdPayable
  906. this.amountNotPayable = row.amountNotPayable
  907. this.dialogFormVisible3 = 'true'
  908. },
  909. submitInvoice() {
  910. if (this.amountEdPayable < 0) {
  911. this.$message.warning('请选择一条已付款的条目')
  912. } else {
  913. if (
  914. this.alreadyInvoice < 0 ||
  915. this.alreadyInvoice > this.amountEdPayable - this.alreadyInvoice1 ||
  916. (String(this.alreadyInvoice).indexOf('.') != -1 &&
  917. String(this.alreadyInvoice).length -
  918. (String(this.alreadyInvoice).indexOf('.') + 1) >
  919. 2)
  920. ) {
  921. this.$message({
  922. message: '金额输入错误',
  923. type: 'warning',
  924. })
  925. return
  926. }
  927. if (this.alreadyInvoice) {
  928. if (isNaN(this.alreadyInvoice)) {
  929. this.$message({
  930. message: '金额非数字!',
  931. type: 'warning',
  932. })
  933. return
  934. }
  935. }
  936. if (!this.alreadyInvoice) {
  937. this.$message({
  938. message: '金额不能为空!',
  939. type: 'warning',
  940. })
  941. return
  942. }
  943. this.$confirm(`确定提交发票信息?`, {
  944. cancelButtonText: '取消',
  945. confirmButtonText: '确定',
  946. type: 'warning',
  947. }).then(() => {
  948. editauto({
  949. id: this.id,
  950. flag: 2,
  951. alreadyInvoice: this.alreadyInvoice,
  952. amountEdPayable: this.amountEdPayable,
  953. amountNotPayable: this.amountNotPayable,
  954. })
  955. .toPromise()
  956. .then((response) => {
  957. this.$notify.success({
  958. title: '成功',
  959. message: '提交成功',
  960. })
  961. this.dialogFormVisible3 = false
  962. this.getList()
  963. })
  964. .catch((response) => {
  965. console.log(response)
  966. EventBus.$emit('error', response.message)
  967. })
  968. })
  969. }
  970. },
  971. //批量开发票
  972. handleninvoice() {
  973. this.amountEdPayable = 0
  974. this.tranSettlementReportList = this.warehouseList.records[0].tranSettlementReportList
  975. for (var i = 0; i < this.modification.length; i++) {
  976. this.amountEdPayable += this.modification[i].amountEdPayable
  977. }
  978. this.alreadyInvoice=this.amountEdPayable
  979. this.dialogFormVisible2 = true
  980. },
  981. submitBatchInvoice() {
  982. if (this.modification.length == 0) {
  983. this.$message.warning('请选择一条要开发票的条目')
  984. } else if (this.modification[0].amountEdPayable < 0) {
  985. this.$message.warning('请选择一条已付款的条目')
  986. } else {
  987. this.$confirm(`确定提交发票信息?`, {
  988. cancelButtonText: '取消',
  989. confirmButtonText: '确定',
  990. type: 'warning',
  991. }).then(() => {
  992. openinvoicelist({
  993. tranSettlementReportList: this.modification,
  994. })
  995. .toPromise()
  996. .then((response) => {
  997. this.$notify.success({
  998. title: '成功',
  999. message: '提交成功',
  1000. })
  1001. this.dialogFormVisible2 = false
  1002. this.getList()
  1003. })
  1004. .catch((response) => {
  1005. console.log(response)
  1006. EventBus.$emit('error', response.message)
  1007. })
  1008. })
  1009. }
  1010. },
  1011. //修改结算重量
  1012. changesettlementWeight(item) {
  1013. if (!this.settlementWeight) {
  1014. this.$message({
  1015. message: '结算重量不能为空!',
  1016. type: 'warning',
  1017. })
  1018. return
  1019. }
  1020. if (
  1021. (this.settlementWeight &&
  1022. String(this.settlementWeight).indexOf('.') != -1 &&
  1023. String(this.settlementWeight).length -
  1024. (String(this.settlementWeight).indexOf('.') + 1) >
  1025. 2) ||
  1026. (this.settlementWeight && this.settlementWeight > 100) ||
  1027. (this.settlementWeight && this.settlementWeight < 1)
  1028. ) {
  1029. this.$message({
  1030. message: '结算重量输入错误',
  1031. type: 'warning',
  1032. })
  1033. return
  1034. }
  1035. this.reviewer = localStorage.getItem('ws-pf_roleName') + localStorage.getItem('ws-pf_staffName')
  1036. editauto({
  1037. settlementWeight: Math.abs(this.settlementWeight),
  1038. id: item.id,
  1039. reviewer: this.reviewer,
  1040. flag: 0,
  1041. })
  1042. .toPromise()
  1043. .then((response) => {
  1044. this.$message.success('修改结算重量成功')
  1045. this.getList()
  1046. })
  1047. .catch((req) => {
  1048. this.$message.warning('修改结算重量失败')
  1049. })
  1050. },
  1051. changeactualLoss(item) {
  1052. if (!this.actualLoss) {
  1053. this.$message({
  1054. message: '实际损耗不能为空!',
  1055. type: 'warning',
  1056. })
  1057. return
  1058. }
  1059. if (
  1060. (this.actualLoss &&
  1061. String(this.actualLoss).indexOf('.') != -1 &&
  1062. String(this.actualLoss).length -
  1063. (String(this.actualLoss).indexOf('.') + 1) >
  1064. 2) ) {
  1065. this.$message({
  1066. message: '实际损耗输入错误',
  1067. type: 'warning',
  1068. })
  1069. return
  1070. }
  1071. this.reviewer = localStorage.getItem('ws-pf_roleName') + localStorage.getItem('ws-pf_staffName')
  1072. editauto({
  1073. actualLoss: Math.abs(this.actualLoss),
  1074. id: item.id,
  1075. reviewer: this.reviewer,
  1076. flag: 5,
  1077. })
  1078. .toPromise()
  1079. .then((response) => {
  1080. this.$message.success('修改实际损耗成功')
  1081. this.getList()
  1082. })
  1083. .catch((req) => {
  1084. this.$message.warning('修改实际损耗失败')
  1085. })
  1086. },
  1087. changesettlementPrice(item) {
  1088. if (!this.settlementPrice) {
  1089. this.$message({
  1090. message: '结算单价不能为空!',
  1091. type: 'warning',
  1092. })
  1093. return
  1094. }
  1095. if (
  1096. (this.settlementPrice &&
  1097. String(this.settlementPrice).indexOf('.') != -1 &&
  1098. String(this.settlementPrice).length -
  1099. (String(this.settlementPrice).indexOf('.') + 1) >
  1100. 2) ) {
  1101. this.$message({
  1102. message: '结算单价输入错误',
  1103. type: 'warning',
  1104. })
  1105. return
  1106. }
  1107. this.reviewer = localStorage.getItem('ws-pf_roleName') + localStorage.getItem('ws-pf_staffName')
  1108. editauto({
  1109. settlementPrice: Math.abs(this.settlementPrice),
  1110. id: item.id,
  1111. reviewer: this.reviewer,
  1112. flag: 6,
  1113. })
  1114. .toPromise()
  1115. .then((response) => {
  1116. this.$message.success('修改结算单价成功')
  1117. this.getList()
  1118. })
  1119. .catch((req) => {
  1120. this.$message.warning('修改结算单价失败')
  1121. })
  1122. },
  1123. //设置本次账户
  1124. bankCard(item, id) {
  1125. editauto({
  1126. cardNo: item.bankCard,
  1127. id: id,
  1128. flag: 3,
  1129. })
  1130. .toPromise()
  1131. .then((response) => {
  1132. this.$message.success('成功')
  1133. this.dialogFormVisible8 = false
  1134. this.getList()
  1135. })
  1136. .catch((req) => {
  1137. this.$message.warning('失败')
  1138. })
  1139. },
  1140. editsettlementWeight(item) {
  1141. this.settlementWeight = item.settlementWeight
  1142. item.settlementWeightchange = true
  1143. },
  1144. editsettlementPrice(item) {
  1145. this.settlementPrice = item.settlementPrice
  1146. item.settlementPricechange = true
  1147. },
  1148. editactualLoss(item) {
  1149. this.actualLoss = item.actualLoss
  1150. item.actualLosschange = true
  1151. },
  1152. //修改扣款
  1153. changedeductionAmount(item) {
  1154. if (!this.deductionAmount) {
  1155. this.$message({
  1156. message: '扣款金额不能为空!',
  1157. type: 'warning',
  1158. })
  1159. return
  1160. }
  1161. if (
  1162. (this.deductionAmount &&
  1163. String(this.deductionAmount).indexOf('.') != -1 &&
  1164. String(this.deductionAmount).length -
  1165. (String(this.deductionAmount).indexOf('.') + 1) >
  1166. 2) ||
  1167. (this.deductionAmount && this.deductionAmount > 100000) ||
  1168. (this.deductionAmount && this.deductionAmount < -100000)
  1169. ) {
  1170. this.$message({
  1171. message: '扣款金额输入错误',
  1172. type: 'warning',
  1173. })
  1174. return
  1175. }
  1176. editauto({
  1177. deductionAmount: this.deductionAmount,
  1178. id: item.id,
  1179. flag: 1,
  1180. })
  1181. .toPromise()
  1182. .then((response) => {
  1183. this.$message.success('修改扣款成功')
  1184. this.getList()
  1185. })
  1186. .catch((req) => {
  1187. this.$message.warning('修改扣款失败')
  1188. })
  1189. },
  1190. editdeductionAmount(item) {
  1191. this.deductionAmount = item.deductionAmount
  1192. item.deductionAmountchange = true
  1193. },
  1194. //修改服务费
  1195. changeserviceCharge(item) {
  1196. if (!this.serviceCharge) {
  1197. this.$message({
  1198. message: '服务费金额不能为空!',
  1199. type: 'warning',
  1200. })
  1201. return
  1202. }
  1203. if (
  1204. (this.serviceCharge &&
  1205. String(this.serviceCharge).indexOf('.') != -1 &&
  1206. String(this.serviceCharge).length -
  1207. (String(this.serviceCharge).indexOf('.') + 1) >
  1208. 2) ||
  1209. (this.serviceCharge && this.serviceCharge > 100000) ||
  1210. (this.serviceCharge && this.serviceCharge < -100000)
  1211. ) {
  1212. this.$message({
  1213. message: '服务费输入错误',
  1214. type: 'warning',
  1215. })
  1216. return
  1217. }
  1218. editauto({
  1219. serviceCharge: this.serviceCharge,
  1220. id: item.id,
  1221. flag: 4,
  1222. })
  1223. .toPromise()
  1224. .then((response) => {
  1225. this.$message.success('修改服务费成功')
  1226. this.getList()
  1227. })
  1228. .catch((req) => {
  1229. this.$message.warning('修改服务费失败')
  1230. })
  1231. },
  1232. editserviceCharge(item) {
  1233. this.serviceCharge = item.serviceCharge
  1234. item.serviceChargechange = true
  1235. },
  1236. //装车磅单
  1237. lookloadingImg(row) {
  1238. if (row.loadingImg == null || row.loadingImg == '') {
  1239. EventBus.$emit(
  1240. this.$message.warning('暂无磅单信息')
  1241. )
  1242. } else {
  1243. this.accessoryTFs = true
  1244. }
  1245. this.loadingImg1 = row.loadingImg
  1246. },
  1247. //卸车磅单
  1248. lookunloadingImg(row) {
  1249. if (row.unloadingImg === null || row.unloadingImg === '') {
  1250. EventBus.$emit(
  1251. this.$message.warning('暂无磅单信息')
  1252. )
  1253. } else {
  1254. this.accesscard = true
  1255. }
  1256. this.unloadingImg1 = row.unloadingImg
  1257. },
  1258. //付款截图
  1259. lookpaymentScreenshot(row) {
  1260. if (row.paymentScreenshot == null || row.paymentScreenshot == '') {
  1261. EventBus.$emit(
  1262. this.$message.warning('暂无付款截图信息')
  1263. )
  1264. } else {
  1265. this.paymentImg = true
  1266. }
  1267. this.paymentScreenshot1 = row.paymentScreenshot
  1268. },
  1269. //审核
  1270. audit(item, index, status, status2, reason) {
  1271. if (index < this.modification.length) {
  1272. posthandle({
  1273. taskId: item.taskId,
  1274. approved: status,
  1275. auditMind: reason != undefined ? '已驳回' : '34',
  1276. needReapply: status2 != undefined ? true : false,
  1277. })
  1278. .toPromise()
  1279. .then((response) => {
  1280. if (index == 0) {
  1281. workflowcontent({
  1282. workflowId: item.workflowId,
  1283. businessKey: item.id,
  1284. type: '汽运结算报表'
  1285. }).toPromise()
  1286. .then((response1) => {
  1287. console.log(response1)
  1288. // this.$message.success('审核成功')
  1289. // this.$router.push({ path: 'tranManagementWarehouseInOuttask' })
  1290. })
  1291. }
  1292. this.audit(this.modification[index + 1], index + 1, status)
  1293. })
  1294. .catch((req) => {
  1295. this.$message.warning(req.message)
  1296. })
  1297. } else {
  1298. if (status == true) {
  1299. this.$message.success('通过成功')
  1300. this.getList()
  1301. } else if (status == false) {
  1302. this.$message.success('驳回成功')
  1303. this.getList()
  1304. }
  1305. }
  1306. },
  1307. handlereject(status) {
  1308. var that = this
  1309. if (this.modification.length == 0) {
  1310. this.$message.warning('请选择要驳回的条目')
  1311. } else {
  1312. this.$confirm(`是否确定驳回?`, {
  1313. cancelButtonText: '取消',
  1314. confirmButtonText: '确定',
  1315. type: 'warning',
  1316. }).then(() => {
  1317. that.audit(this.modification[0], 0, false, true, '已驳回')
  1318. })
  1319. }
  1320. },
  1321. dataFilter(val) {
  1322. // console.log(val,"名")
  1323. this.contractNo = val
  1324. if (val) {
  1325. //val存在
  1326. this.options = this.contractNoList.filter((item) => {
  1327. if (
  1328. !!~item.contractNo.indexOf(val) ||
  1329. !!~item.contractNo.toUpperCase().indexOf(val.toUpperCase())
  1330. ) {
  1331. return true
  1332. }
  1333. })
  1334. } else {
  1335. //val为空时,还原数组
  1336. this.options = this.contractNoList
  1337. }
  1338. },
  1339. //查看修改结算重量记录
  1340. editRecord() {
  1341. this.dialogFormVisible16 = true
  1342. },
  1343. ArrSet(Arr, id) {
  1344. var obj = {};
  1345. const arrays = Arr.reduce((setArr, item) => {
  1346. obj[item[id]] ? '' : obj[item[id]] = true && setArr.push(item);
  1347. return setArr;
  1348. }, []);
  1349. return arrays;
  1350. },
  1351. handlepass() {
  1352. var that = this
  1353. if (this.modification.length == 0) {
  1354. this.$message.warning('请选择要通过的条目')
  1355. } else {
  1356. for (let i = 0; i < this.modification.length; i++) {
  1357. if(this.modification[i].status=='待请款'&&this.modification[i].approveStatus||this.modification[i].status!='待请款'&&this.modification[i].status!='已驳回'){
  1358. this.$message.warning('请选择待请款的条目')
  1359. return
  1360. }
  1361. if(!this.modification[i].unloadingWeight){
  1362. this.$message.warning('请选择已卸车的车辆')
  1363. return
  1364. }
  1365. }
  1366. var arr=this.ArrSet(this.modification,this.contractNo)
  1367. this.$confirm(`是否确定请款?`, {
  1368. cancelButtonText: '取消',
  1369. confirmButtonText: '确定',
  1370. type: 'warning',
  1371. }).then(() => {
  1372. submitlogistics({tranSettlementReportList:this.modification}).toPromise()
  1373. .then((response) => {
  1374. this.$message.success('请款成功')
  1375. this.getList()
  1376. })
  1377. //批次通过 选中列表中 数据一个batchId, 选中列表去重
  1378. // var obj = {};
  1379. // that.modification = that.modification.reduce(function (item, next) {
  1380. // obj[next.batchId] ? '' : obj[next.batchId] = true && item.push(next);
  1381. // return item;
  1382. // }, []);
  1383. // console.log('去重后提交数据', that.modification);
  1384. // that.audit(this.modification[0], 0, true, 2)
  1385. })
  1386. }
  1387. },
  1388. handleSelectionChange(val) {
  1389. if (val.length !== 0) {
  1390. this.totalList = this.countTotal(val)
  1391. }
  1392. this.modification = val
  1393. },
  1394. handlestatus(status) {
  1395. this.searchType = status
  1396. this.getList()
  1397. },
  1398. contractchange(e) {
  1399. this.contractNo = e
  1400. this.getList()
  1401. },
  1402. updated() {
  1403. this.$nextTick(() => {
  1404. this.$refs.warehouseList.doLayout()
  1405. })
  1406. },
  1407. //合计
  1408. getSummaries(param) {
  1409. const {
  1410. columns,
  1411. data
  1412. } = param
  1413. const sums = []
  1414. columns.forEach((column, index) => {
  1415. if (index === 0) {
  1416. sums[index] = '合计'
  1417. } else if (
  1418. index === 7 ||
  1419. index === 8 ||
  1420. index === 11 ||
  1421. index === 13 ||
  1422. index === 14 ||
  1423. index === 15 ||
  1424. index === 16
  1425. ) {
  1426. const values = data.map((item) => Number(item[column.property]))
  1427. if (!values.every((value) => isNaN(value))) {
  1428. sums[index] = values.reduce((prev, curr) => {
  1429. const value = Number(curr)
  1430. if (!isNaN(value)) {
  1431. return prev + curr
  1432. } else {
  1433. return prev
  1434. }
  1435. }, 0)
  1436. } else {
  1437. sums[index] = '元'
  1438. }
  1439. } else {
  1440. sums[index] = '--'
  1441. }
  1442. })
  1443. sums[sums.length - 4] = sums[sums.length - 4].toFixed(2)
  1444. sums[sums.length - 5] = sums[sums.length - 5].toFixed(2)
  1445. sums[sums.length - 6] = sums[sums.length - 6].toFixed(2)
  1446. sums[sums.length - 7] = sums[sums.length - 7].toFixed(2)
  1447. sums[sums.length - 9] = sums[sums.length - 9].toFixed(2)
  1448. sums[sums.length - 12] = sums[sums.length - 12].toFixed(2)
  1449. sums[sums.length - 13] = sums[sums.length - 13].toFixed(2)
  1450. return sums
  1451. },
  1452. //列表
  1453. getList() {
  1454. console.log(this.contractNo, 'this.contractNo值')
  1455. autoList({
  1456. compId: localStorage.getItem('ws-pf_compId'),
  1457. tranTypeKey: 1,
  1458. currentPage: this.currentPage,
  1459. pageSize: this.pageSize,
  1460. startAddress:this.warehouseName,
  1461. searchType: this.searchType,
  1462. contractNo: this.contractNo,
  1463. manualFlag: this.manualFlag,
  1464. carType:this.carType
  1465. })
  1466. .toPromise()
  1467. .then((response) => {
  1468. for (var i = 0; i < response.records.length; i++) {
  1469. response.records[i].settlementWeightchange = false
  1470. response.records[i].actualLosschange = false
  1471. response.records[i].settlementPricechange = false
  1472. response.records[i].deductionAmountchange = false
  1473. response.records[i].amountIngPayable = response.records[i].amountIngPayable.toFixed(2)
  1474. response.records[i].amountEdPayable = response.records[i].amountEdPayable.toFixed(2)
  1475. response.records[i].amountNotPayable = (response.records[i].totalPayable - response.records[i]
  1476. .amountEdPayable).toFixed(2)
  1477. if (response.records[i].tranPriceApproveList) {
  1478. for (var j = 0; j < response.records[i].tranPriceApproveList.length; j++) {
  1479. this.tranPriceApproveList.push(response.records[i].tranPriceApproveList[j])
  1480. }
  1481. }
  1482. }
  1483. this.deptBudgetTotal = response.total
  1484. this.warehouseList = response
  1485. if(this.warehouseList.records.length>0&&this.contractNo!='全部合同'){
  1486. this.grainPrice=this.warehouseList.records[0].grainPrice
  1487. }
  1488. })
  1489. autocontract({
  1490. compId: localStorage.getItem('ws-pf_compId'),
  1491. currentPage: this.currentPage,
  1492. pageSize: this.pageSize,
  1493. // roleFlag: this.roleFlag,
  1494. })
  1495. .toPromise()
  1496. .then((response) => {
  1497. this.contractNoList = response
  1498. this.contractNoList.unshift({
  1499. contractNo: '全部合同'
  1500. })
  1501. this.options = this.contractNoList
  1502. })
  1503. },
  1504. handleRemove(file) {
  1505. console.log(file)
  1506. },
  1507. handlePictureCardPreview(file) {
  1508. this.paymentScreenshot = file.url
  1509. this.dialogVisible = true
  1510. },
  1511. handleDownload(file) {
  1512. console.log(file)
  1513. },
  1514. getSpanArr(data) {
  1515. let that = this
  1516. //页面展示的数据,不一定是全部的数据,所以每次都清空之前存储的 保证遍历的数据是最新的数据。以免造成数据渲染混乱
  1517. that.spanArr = []
  1518. that.pos = 0
  1519. // //遍历数据
  1520. data.forEach((item, index) => {
  1521. //判断是否是第一项
  1522. if (index === 0) {
  1523. this.spanArr.push(1)
  1524. this.pos = 0
  1525. } else {
  1526. //不是第一项时,就根据标识去存储
  1527. if (data[index].warehouseNumViewList.length > 1) {
  1528. 查找到符合条件的数据时每次要把之前存储的数据 + 1
  1529. this.spanArr[this.pos] = data[index].warehouseNumViewList.length
  1530. this.spanArr.push(0)
  1531. } else {
  1532. // 没有符合的数据时,要记住当前的index
  1533. this.spanArr.push(1)
  1534. this.pos = index
  1535. }
  1536. }
  1537. })
  1538. },
  1539. dateFormat(fmt, date) {
  1540. let ret
  1541. const opt = {
  1542. 'Y+': date.getFullYear().toString(), // 年
  1543. 'm+': (date.getMonth() + 1).toString(), // 月
  1544. 'd+': date.getDate().toString(), // 日
  1545. 'H+': date.getHours().toString(), // 时
  1546. // "M+": date.getMinutes().toString(), // 分
  1547. // "S+": date.getSeconds().toString() // 秒
  1548. // 有其他格式化字符需求可以继续添加,必须转化成字符串
  1549. }
  1550. for (let k in opt) {
  1551. ret = new RegExp('(' + k + ')').exec(fmt)
  1552. if (ret) {
  1553. fmt = fmt.replace(
  1554. ret[1],
  1555. ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
  1556. )
  1557. }
  1558. }
  1559. return fmt
  1560. },
  1561. handleSizeChange(val) {
  1562. console.log(`每页 ${val} 条`)
  1563. this.pageSize = val
  1564. this.getList()
  1565. },
  1566. handleCurrentChange(val) {
  1567. this.currentPage = val
  1568. console.log(`当前页: ${val}`)
  1569. this.getList()
  1570. },
  1571. // 关闭 dialog时 处理文件url 初始化upload组件
  1572. handleCloe() {
  1573. this.dialogViewSpareMoney = false
  1574. },
  1575. history(row) {
  1576. billoperatehis({
  1577. id: row.id
  1578. })
  1579. .toPromise()
  1580. .then((response) => {
  1581. this.historyList = response
  1582. })
  1583. },
  1584. async exportlist() {
  1585. const {
  1586. data
  1587. } = await export1({
  1588. compId: localStorage.getItem('ws-pf_compId'),
  1589. contractType: this.contractType,
  1590. currentPage: this.currentPage,
  1591. pageSize: this.pageSize,
  1592. searchType: this.searchType,
  1593. searchKeyWord: this.searchKeyWord,
  1594. startDate: this.startDate,
  1595. endDate: this.endDate,
  1596. }, {}, {
  1597. responseType: 'blob'
  1598. }).toPromise()
  1599. downloadFile({
  1600. res: data,
  1601. fileName: `${this.date.year + (this.date.month ? `-${this.date.month}` : '')
  1602. }_采购合同`,
  1603. type: 'xls',
  1604. })
  1605. },
  1606. total() { },
  1607. },
  1608. }
  1609. </script>
  1610. <style lang="scss" scoped>
  1611. .connert {
  1612. width: 90%;
  1613. margin: 0 auto;
  1614. }
  1615. .vertical-text-left {
  1616. width: 62px;
  1617. text-align: right;
  1618. }
  1619. //分页
  1620. .el-pagination {
  1621. padding: 10px 15px;
  1622. margin-bottom: 0;
  1623. text-align: center;
  1624. }
  1625. /deep/.el-pager li.active {
  1626. color: #5878e8;
  1627. cursor: default;
  1628. }
  1629. /deep/.el-pager li:hover {
  1630. color: #5878e8;
  1631. cursor: default;
  1632. }
  1633. .el-button--default {
  1634. color: #8890b1;
  1635. border-color: #e8eaf1;
  1636. }
  1637. /deep/.base_header_layout .grid-content.right .find.el-button--primary {
  1638. width: 30px;
  1639. margin-left: 0;
  1640. border-top-left-radius: 0px;
  1641. border-bottom-left-radius: 0px;
  1642. }
  1643. /deep/.findValue .el-input__inner {
  1644. border-top-right-radius: 0px;
  1645. border-bottom-right-radius: 0px;
  1646. width: 385px;
  1647. }
  1648. .completed.el-button--default {
  1649. border-color: #5878e8;
  1650. background-color: #f6f7fc;
  1651. color: #5878e8;
  1652. }
  1653. .putstorage.el-button--default,
  1654. .deliverystorage.el-button--default {
  1655. border-color: #8890b1;
  1656. background-color: #fff;
  1657. color: #8890b1;
  1658. }
  1659. /deep/.el-table td,
  1660. /deep/.el-table th.is-leaf {
  1661. border-right: 1px solid #e9ecf7;
  1662. text-align: center;
  1663. }
  1664. /deep/.el-table tr td:first-child,
  1665. /deep/.el-table tr th.is-leaf:first-child {
  1666. border-left: 1px solid #e9ecf7;
  1667. }
  1668. .record,
  1669. .adjustment {
  1670. display: inline-block;
  1671. color: #5878e8;
  1672. padding: 0 4px !important;
  1673. position: relative;
  1674. }
  1675. .record:after {
  1676. position: absolute;
  1677. content: '';
  1678. display: block;
  1679. top: 5px;
  1680. right: -2px;
  1681. width: 1px;
  1682. height: 12px;
  1683. background: #e9ecf7;
  1684. }
  1685. .anniu {
  1686. margin-left: 40%;
  1687. margin-top: -7%;
  1688. margin-bottom: 6%;
  1689. }
  1690. // .el-row{
  1691. // height: 150px;
  1692. // }
  1693. .base_header_layout .grid-content {
  1694. margin-top: 80px;
  1695. }
  1696. .el-input--small .el-input__inner {
  1697. margin-left: 20px;
  1698. }
  1699. .el-range-editor--small.el-input__inner {
  1700. height: 32px;
  1701. margin-left: -20%;
  1702. }
  1703. //执行样式
  1704. .executory,
  1705. .inExecution,
  1706. .done {
  1707. width: 6px;
  1708. height: 6px;
  1709. display: inline-block;
  1710. border-radius: 50%;
  1711. position: relative;
  1712. top: -1px;
  1713. font-size: 14px;
  1714. }
  1715. .executory {
  1716. background: #ff9f24;
  1717. }
  1718. .inExecution {
  1719. background: #5878e8;
  1720. }
  1721. .done {
  1722. background: #50cad4;
  1723. }
  1724. .record,
  1725. .adjustment {
  1726. display: inline-block;
  1727. color: #5878e8;
  1728. padding: 0 4px !important;
  1729. position: relative;
  1730. font-size: 14px;
  1731. }
  1732. .container {
  1733. overflow: scroll;
  1734. height: 93vh;
  1735. }
  1736. .button-container {
  1737. display: flex;
  1738. flex-wrap: nowrap;
  1739. justify-content: space-between;
  1740. align-items: center;
  1741. background-color: #fff;
  1742. width: 100%;
  1743. height: 50px;
  1744. padding: 0 10px;
  1745. &>div {
  1746. margin-left: 10px;
  1747. display: flex;
  1748. flex-wrap: nowrap;
  1749. flex-direction: row;
  1750. &>span {
  1751. line-height: 50px;
  1752. }
  1753. }
  1754. /deep/.auditFlow-box {
  1755. position: unset;
  1756. margin-left: 10px;
  1757. &/deep/.auditFlow-icon {
  1758. width: auto;
  1759. padding-right: 30px;
  1760. }
  1761. &/deep/.auditFlow-main {
  1762. position: absolute;
  1763. }
  1764. }
  1765. }
  1766. .bg-left {
  1767. padding-left: 30px;
  1768. }
  1769. .title {
  1770. position: relative;
  1771. }
  1772. .title::before {
  1773. content: '';
  1774. display: inline-block;
  1775. width: 5px;
  1776. height: 30px;
  1777. background: #5473e8;
  1778. position: absolute;
  1779. left: 0;
  1780. }
  1781. .el-button--primary {
  1782. background-color: #5878e8;
  1783. border-color: #5878e8;
  1784. // margin-left: 85%;
  1785. margin-top: 13px;
  1786. }
  1787. //导航条样式
  1788. .el-col-12 {
  1789. width: 50%;
  1790. height: 60px;
  1791. // background: #f6f7fc;
  1792. border-radius: 4px 4px 1px 1px;
  1793. }
  1794. .el-input--small .el-input__inner {
  1795. height: 32px;
  1796. line-height: 32px;
  1797. width: 385px;
  1798. margin-top: 10px;
  1799. }
  1800. .bg-bottom {
  1801. margin-left: 85%;
  1802. }
  1803. .but {
  1804. margin-left: 30%;
  1805. /* margin-top: -32px; */
  1806. overflow: auto;
  1807. /* float: left; */
  1808. /* margin-left: 1px; */
  1809. margin-left: -10px;
  1810. }
  1811. .look .el-form-item {
  1812. border-bottom: 1px solid #ccc;
  1813. }
  1814. .el-input--small {
  1815. font-size: 13px;
  1816. width: 390px;
  1817. margin-left: 74%;
  1818. }
  1819. /deep/.el-table .el-table__header .cell,
  1820. .el-table .el-table__body .cell {
  1821. text-align: center;
  1822. }
  1823. .el-scrollbar__wrap {
  1824. overflow-y: hidden;
  1825. }
  1826. /deep/.deal {
  1827. margin-left: 0%;
  1828. width: 64%;
  1829. }
  1830. .photo {
  1831. padding: 0% 34%;
  1832. }
  1833. .photo1 {
  1834. padding: 0 10%;
  1835. }
  1836. .photo2 {
  1837. padding: 0 12%;
  1838. }
  1839. /deep/.el-form-item--small .el-form-item__label,
  1840. .el-form-item--small .el-form-item__content {
  1841. text-align: center;
  1842. }
  1843. hr {
  1844. width: 91%;
  1845. }
  1846. /deep/.deaal {
  1847. width: 66%;
  1848. margin-left: 9%;
  1849. }
  1850. .el-date-editor.el-input,
  1851. .el-date-editor.el-input__inner,
  1852. .el-input-number--small {
  1853. width: 123% !important;
  1854. }
  1855. /deep/.el-table td,
  1856. .el-table th.is-leaf {
  1857. border-right: 1px solid #e9ecf7;
  1858. text-align: center;
  1859. height: 40px;
  1860. }
  1861. /deep/.base_header_layout .grid-content.right .find.el-button--primary {
  1862. width: 30px;
  1863. margin-left: -10px;
  1864. border-top-left-radius: 0px;
  1865. border-bottom-left-radius: 0px;
  1866. }
  1867. .el-button--primary {
  1868. background-color: #5878e8;
  1869. border-color: #5878e8;
  1870. }
  1871. .el-button--default {
  1872. border: 1px solid #5473e8;
  1873. color: #5473e8;
  1874. }
  1875. </style>