purchaseReceiptStatisticsList.vue 47 KB

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