shippingList.vue 50 KB

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