purchaseReceiptStatisticsList.vue 46 KB

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