deposit_list-detail.vue 33 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052
  1. <template>
  2. <div>
  3. <div class="sty">
  4. <el-page-header content="详情" @back="goBack" />
  5. </div>
  6. <el-divider />
  7. <el-radio-group v-model="engineering" size="mini" @change="handleRadio">
  8. <el-radio-button label="工程押金信息" />
  9. <el-radio-button label="工程订单信息" />
  10. <el-radio-button label="工程发货信息" />
  11. <!-- <el-radio-button label="直调发货" /> -->
  12. <el-radio-button label="历史记录" />
  13. </el-radio-group>
  14. <br><br>
  15. <div v-show="engineering == '工程押金信息'">
  16. <div class="diy-table-1">
  17. <el-form ref="form" :model="details">
  18. <el-row :gutter="0">
  19. <el-col :xs="12" :sm="8" :lg="8" class="item">
  20. <div class="label">工程登录编号</div>
  21. <div class="value">{{ details.refEnginRecordNo }}</div>
  22. </el-col>
  23. <el-col :xs="12" :sm="8" :lg="8" class="item">
  24. <div class="label">项目类别</div>
  25. <div class="value">{{ details.refProjectName }}</div>
  26. </el-col>
  27. <el-col :xs="12" :sm="8" :lg="8" class="item">
  28. <div class="label">工程编号</div>
  29. <div class="value">{{ details.refProjectNo }}</div>
  30. </el-col>
  31. <el-col :xs="24" :sm="24" :lg="16" class="item">
  32. <div class="label">经销商名称</div>
  33. <div class="value">{{ details.customerName }}</div>
  34. </el-col>
  35. <el-col :xs="24" :sm="24" :lg="8" class="item">
  36. <div class="label">经销商编码</div>
  37. <div class="value">{{ details.customerNumber }}</div>
  38. </el-col>
  39. <el-col :xs="24" :sm="24" :lg="8" class="item">
  40. <div class="label">工程登录类型</div>
  41. <div class="value">{{ details.refPromiseStatus }}</div>
  42. </el-col>
  43. <el-col :xs="24" :sm="24" :lg="8" class="item">
  44. <div class="label">联系人</div>
  45. <div class="value">{{ details.refLinkman }}</div>
  46. </el-col>
  47. <el-col :xs="24" :sm="24" :lg="8" class="item">
  48. <div class="label">固定电话</div>
  49. <div class="value">{{ details.refTel }}</div>
  50. </el-col>
  51. <!-- <el-col :xs="24" :sm="24" :lg="16" class="item">-->
  52. <!-- <div class="label">厂工程编码</div>-->
  53. <!-- <div class="value">-->
  54. <!-- <el-form-item prop="refFactoryNo">-->
  55. <!-- <el-input-->
  56. <!-- v-model="details.refFactoryNo"-->
  57. <!-- placeholder="厂工程编码"-->
  58. <!-- size="small"-->
  59. <!-- />-->
  60. <!-- </el-form-item>-->
  61. <!-- </div>-->
  62. <!-- </el-col>-->
  63. <el-col :xs="24" :sm="24" :lg="8" class="item">
  64. <div class="label">移动电话</div>
  65. <div class="value">{{ details.refPhone }}</div>
  66. </el-col>
  67. <el-col :xs="24" :sm="24" :lg="8" class="item">
  68. <div class="label">押金总额</div>
  69. <div class="value">{{ details.depositAmount }}</div>
  70. </el-col>
  71. <el-col :xs="24" :sm="24" :lg="8" class="item">
  72. <div class="label">工程差价总额</div>
  73. <div class="value">{{ details.depositDiffAmount }}</div>
  74. </el-col>
  75. <el-col :xs="24" :sm="24" :lg="24" class="item" v-if="!isCustomer">
  76. <div class="label">格力内部备注</div>
  77. <div class="value">
  78. <el-input v-model=" details.geLiInerNote" placeholder="格力内部备注" ></el-input>
  79. </div>
  80. </el-col>
  81. <el-col :xs="24" :sm="24" :lg="12" class="item">
  82. <div class="label">使用单位</div>
  83. <div class="value">{{ details.refUseUnit }}</div>
  84. </el-col>
  85. <el-col :xs="24" :sm="24" :lg="12" class="item">
  86. <div class="label">跨区厂编号</div>
  87. <div class="value">{{ details.refFactoryNo }}</div>
  88. </el-col>
  89. <el-col :xs="24" :sm="24" :lg="24" class="item">
  90. <div class="label">安装时间</div>
  91. <div class="value" style="padding: 0">
  92. <el-form-item prop="installDate">
  93. <el-date-picker
  94. v-model="details.installDate"
  95. type="datetime"
  96. placeholder="安装时间"
  97. default-time="00:00:00"
  98. value-format="yyyy-MM-dd HH:mm:ss"
  99. />
  100. </el-form-item>
  101. </div>
  102. </el-col>
  103. <el-col :xs="24" :sm="24" :lg="24" class="item">
  104. <div class="label">安装地址</div>
  105. <div class="value">
  106. {{details.refInstallAddress}}
  107. </div>
  108. </el-col>
  109. <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">-->
  110. <!-- <div class="label">寄厂日期</div>-->
  111. <!-- <div class="value" style="padding: 0">-->
  112. <!-- <el-form-item prop="sendFactoryDate">-->
  113. <!-- <el-date-picker-->
  114. <!-- v-model="details.sendFactoryDate"-->
  115. <!-- type="datetime"-->
  116. <!-- placeholder="寄厂日期"-->
  117. <!-- default-time="00:00:00"-->
  118. <!-- value-format="yyyy-MM-dd HH:mm:ss"-->
  119. <!-- >-->
  120. <!-- </el-date-picker>-->
  121. <!-- </el-form-item>-->
  122. <!-- </div>-->
  123. <!-- </el-col>-->
  124. </el-row>
  125. </el-form>
  126. </div>
  127. <h3>货品信息</h3>
  128. <el-divider />
  129. <!-- 列表 -->
  130. <div class="mymain-container">
  131. <div class="table">
  132. <el-table
  133. v-loading="listLoading"
  134. :data="details.items"
  135. element-loading-text="Loading"
  136. border
  137. fit
  138. highlight-current-row
  139. stripe
  140. show-summary
  141. :summary-method="$getSummaries"
  142. >
  143. <el-table-column
  144. v-if="!isCustomer"
  145. align="left"
  146. label="厂编号"
  147. prop="factoryNo"
  148. min-width="160"
  149. show-overflow-tooltip
  150. >
  151. <template slot-scope="scope">
  152. <CopyButton :copyText="scope.row.factoryNo" />
  153. <span>{{scope.row.factoryNo}}</span>
  154. </template>
  155. </el-table-column>
  156. <el-table-column
  157. v-if="!isCustomer"
  158. align="left"
  159. label="特价编号"
  160. prop="specialNo"
  161. min-width="160"
  162. show-overflow-tooltip
  163. >
  164. <template slot-scope="scope">
  165. <CopyButton :copyText="scope.row.specialNo" />
  166. <span>{{scope.row.specialNo}}</span>
  167. </template>
  168. </el-table-column>
  169. <el-table-column
  170. align="left"
  171. label="物料编码"
  172. prop="materialNumber"
  173. min-width="160"
  174. show-overflow-tooltip
  175. >
  176. <template slot-scope="scope">
  177. <CopyButton :copyText="scope.row.materialNumber" />
  178. <span>{{scope.row.materialNumber}}</span>
  179. </template>
  180. </el-table-column>
  181. <el-table-column
  182. align="left"
  183. label="产品编码"
  184. prop="materialOldNumber"
  185. min-width="160"
  186. show-overflow-tooltip
  187. >
  188. <template slot-scope="scope">
  189. <CopyButton :copyText="scope.row.materialOldNumber" />
  190. <span>{{scope.row.materialOldNumber}}</span>
  191. </template>
  192. </el-table-column>
  193. <el-table-column
  194. align="left"
  195. label="产品名称"
  196. prop="materialName"
  197. min-width="160"
  198. show-overflow-tooltip
  199. >
  200. <template slot-scope="scope">
  201. <CopyButton :copyText="scope.row.materialName" />
  202. <span>{{scope.row.materialName}}</span>
  203. </template>
  204. </el-table-column>
  205. <el-table-column
  206. align="left"
  207. label="规格型号"
  208. prop="specification"
  209. min-width="160"
  210. show-overflow-tooltip
  211. >
  212. <template slot-scope="scope">
  213. <CopyButton :copyText="scope.row.specification" />
  214. <span>{{scope.row.specification}}</span>
  215. </template>
  216. </el-table-column>
  217. <el-table-column
  218. align="right"
  219. label="单价"
  220. prop="price"
  221. min-width="160"
  222. show-overflow-tooltip
  223. >
  224. <template slot-scope="scope">
  225. {{ scope.row.price | numToFixed}}
  226. </template>
  227. </el-table-column>
  228. <el-table-column
  229. align="right"
  230. label="数量"
  231. prop="qty"
  232. min-width="160"
  233. show-overflow-tooltip
  234. />
  235. <el-table-column
  236. align="right"
  237. label="金额"
  238. prop="totalAmount"
  239. min-width="160"
  240. show-overflow-tooltip
  241. >
  242. <template slot-scope="scope">
  243. {{ scope.row.totalAmount | numToFixed}}
  244. </template>
  245. </el-table-column>
  246. <el-table-column
  247. align="right"
  248. label="发货数量"
  249. prop="hasSendQty"
  250. min-width="160"
  251. show-overflow-tooltip
  252. />
  253. <el-table-column
  254. align="right"
  255. label="押金金额"
  256. prop="depositAmount"
  257. min-width="160"
  258. show-overflow-tooltip
  259. >
  260. <template slot-scope="scope">
  261. {{ scope.row.depositAmount | numToFixed}}
  262. </template>
  263. </el-table-column>
  264. <el-table-column
  265. align="right"
  266. label="上交资料"
  267. prop="dataQty"
  268. min-width="160"
  269. show-overflow-tooltip
  270. />
  271. <el-table-column
  272. align="right"
  273. label="收差全额"
  274. prop="diffAmount"
  275. min-width="160"
  276. show-overflow-tooltip
  277. >
  278. <template slot-scope="scope">
  279. {{ scope.row.diffAmount | numToFixed}}
  280. </template>
  281. </el-table-column>
  282. </el-table>
  283. </div>
  284. </div>
  285. <h3 class="gdzl">工程资料</h3>
  286. <el-button
  287. :disabled="isDis"
  288. class="batchDownload"
  289. type="primary"
  290. size="small"
  291. @click="batchDownloadFn"
  292. >批量下载</el-button>
  293. <el-divider />
  294. <!-- 列表 -->
  295. <div class="mymain-container" >
  296. <div class="table">
  297. <el-table
  298. v-loading="listLoading"
  299. :data="details.dataList"
  300. element-loading-text="Loading"
  301. border
  302. fit
  303. highlight-current-row
  304. stripe
  305. >
  306. <el-table-column
  307. align="left"
  308. label="资料描述"
  309. prop="dataDescribe"
  310. min-width="160"
  311. show-overflow-tooltip
  312. />
  313. <el-table-column
  314. align="left"
  315. label="原文件名"
  316. prop="fileName"
  317. min-width="160"
  318. show-overflow-tooltip
  319. />
  320. <el-table-column
  321. align="left"
  322. label="缩略图"
  323. prop="fileUrl"
  324. min-width="160"
  325. show-overflow-tooltip
  326. >
  327. <template slot-scope="scope">
  328. <el-image
  329. v-if="checkFileType(scope.row.fileUrl) == 'image'"
  330. ref="img"
  331. :src="imageURL + scope.row.fileUrl"
  332. style="width: 120px; height: 120px"
  333. fit="cover"
  334. :preview-src-list="[imageURL + scope.row.fileUrl]"
  335. />
  336. <img
  337. v-if="checkFileType(scope.row.fileUrl) == 'word'"
  338. class="file"
  339. src="@/assets/common/word.png"
  340. >
  341. <img
  342. v-if="checkFileType(scope.row.fileUrl) == 'excel'"
  343. class="file"
  344. src="@/assets/common/excel.png"
  345. >
  346. <img
  347. v-if="checkFileType(scope.row.fileUrl) == 'ppt'"
  348. class="file"
  349. src="@/assets/common/ppt.png"
  350. >
  351. <img
  352. v-if="checkFileType(scope.row.fileUrl) == 'pdf'"
  353. class="file"
  354. style="cursor: pointer;"
  355. src="@/assets/common/pdf.png"
  356. @click="openPdf(scope.row.fileUrl)"
  357. >
  358. <img
  359. v-if="checkFileType(scope.row.fileUrl) == 'file'"
  360. class="file aaa"
  361. src="@/assets/common/zip.jpeg"
  362. >
  363. </template>
  364. </el-table-column>
  365. <el-table-column
  366. align="left"
  367. label="下载文件名称"
  368. prop="fileName"
  369. min-width="160"
  370. show-overflow-tooltip
  371. >
  372. <template slot-scope="scope">
  373. {{ "资料_" + scope.row.fileName }}
  374. </template>
  375. </el-table-column>
  376. <el-table-column
  377. align="center"
  378. label="操作"
  379. min-width="160"
  380. show-overflow-tooltip
  381. >
  382. <template slot-scope="scope">
  383. <el-button
  384. type="text"
  385. class="textColor"
  386. @click="downLoadFn(scope.row.fileUrl,scope.row.fileName)"
  387. >下载</el-button>
  388. <!-- <el-button-->
  389. <!-- v-if="checkFileType(scope.row.fileUrl) == 'pdf'"-->
  390. <!-- type="text"-->
  391. <!-- class="textColor"-->
  392. <!-- @click="openPdf(scope.row.fileUrl)"-->
  393. <!-- >-->
  394. <!-- 查看-->
  395. <!-- </el-button>-->
  396. </template>
  397. </el-table-column>
  398. </el-table>
  399. </div>
  400. </div>
  401. <div class="diy-table-1">
  402. <el-row :gutter="0">
  403. <el-col :xs="12" :sm="12" :lg="12" class="item">
  404. <div class="label">申请人</div>
  405. <div class="value">{{ details.createBy }}</div>
  406. </el-col>
  407. <el-col :xs="12" :sm="12" :lg="12" class="item">
  408. <div class="label">申请日期</div>
  409. <div class="value">{{ details.createTime }}</div>
  410. </el-col>
  411. <el-col :xs="24" :sm="24" :lg="24" class="item">
  412. <div class="label">申请退押金</div>
  413. <div class="value">{{ details.applyNote }}</div>
  414. </el-col>
  415. </el-row>
  416. </div>
  417. <div style="margin-top: 25px">审批</div>
  418. <el-divider />
  419. <div class="diy-table-1">
  420. <el-row :gutter="0">
  421. <el-col :xs="12" :sm="12" :lg="12" class="item">
  422. <div class="label">验收人</div>
  423. <div class="value">{{ details.checkBy }}</div>
  424. </el-col>
  425. <el-col :xs="12" :sm="12" :lg="12" class="item">
  426. <div class="label">受理日期</div>
  427. <div class="value">{{ details.checkDate }}</div>
  428. </el-col>
  429. <el-col :xs="12" :sm="12" :lg="12" class="item">
  430. <div class="label">是否退押</div>
  431. <div class="value">
  432. <template
  433. v-if="
  434. !(
  435. details.examineStatus == 'WAIT' ||
  436. details.examineStatus == 'SAVE' ||
  437. details.examineStatus == 'CLOSE'
  438. )
  439. "
  440. >
  441. {{ details.isRefundDeposit == true ? "是" : "否" }}
  442. </template>
  443. </div>
  444. </el-col>
  445. <el-col :xs="12" :sm="12" :lg="12" class="item">
  446. <div class="label">审批结果</div>
  447. <div v-if="details.examineStatus == 'Ok'" class="value">通过</div>
  448. <div
  449. v-if="details.confirmName && details.examineStatus == 'SAVE'"
  450. class="value"
  451. >
  452. 驳回
  453. </div>
  454. </el-col>
  455. <el-col :xs="24" :sm="24" :lg="24" class="item">
  456. <div class="label">验收说明</div>
  457. <div class="value">{{ details.checkNote }}</div>
  458. </el-col>
  459. <el-col v-if="details.confirmName" :xs="24" :sm="24" :lg="24" class="item">
  460. <div class="label">驳回说明</div>
  461. <div class="value">{{ details.confirmName }}</div>
  462. </el-col>
  463. </el-row>
  464. </div>
  465. <div style="margin: 20px 0">
  466. <el-button
  467. type="primary"
  468. size="small"
  469. @click="handleSvse"
  470. >保存</el-button>
  471. <el-button
  472. type="primary"
  473. size="small"
  474. @click="handleReset"
  475. >重置</el-button>
  476. </div>
  477. </div>
  478. <div v-show="engineering == '工程订单信息'">
  479. <h3>工程订单信息</h3>
  480. <el-divider />
  481. <!-- 列表 -->
  482. <div class="mymain-container">
  483. <div class="table">
  484. <el-table
  485. v-loading="listLoading"
  486. :data="dataList"
  487. element-loading-text="Loading"
  488. border
  489. fit
  490. highlight-current-row
  491. stripe
  492. >
  493. <el-table-column
  494. align="left"
  495. label="工程订单号"
  496. prop="enginOrderNo"
  497. min-width="160"
  498. show-overflow-tooltip
  499. >
  500. <template slot-scope="scope">
  501. <CopyButton :copyText="scope.row.enginOrderNo" />
  502. <span>{{scope.row.enginOrderNo}}</span>
  503. </template>
  504. </el-table-column>
  505. <el-table-column
  506. align="left"
  507. label="订单日期"
  508. prop="orderDate"
  509. min-width="160"
  510. show-overflow-tooltip
  511. />
  512. <el-table-column
  513. align="left"
  514. label="产品名称"
  515. prop="materialName"
  516. min-width="160"
  517. show-overflow-tooltip
  518. >
  519. <template slot-scope="scope">
  520. <CopyButton :copyText="scope.row.materialName" />
  521. <span>{{scope.row.materialName}}</span>
  522. </template>
  523. </el-table-column>
  524. <el-table-column
  525. align="left"
  526. label="规格型号"
  527. prop="specification"
  528. min-width="160"
  529. show-overflow-tooltip
  530. >
  531. <template slot-scope="scope">
  532. <CopyButton :copyText="scope.row.specification" />
  533. <span>{{scope.row.specification}}</span>
  534. </template>
  535. </el-table-column>
  536. <el-table-column
  537. align="right"
  538. label="单价"
  539. prop="price"
  540. min-width="160"
  541. show-overflow-tooltip
  542. >
  543. <template slot-scope="scope">
  544. {{ scope.row.price | numToFixed}}
  545. </template>
  546. </el-table-column>
  547. <el-table-column
  548. align="right"
  549. label="数量"
  550. prop="qty"
  551. min-width="160"
  552. show-overflow-tooltip
  553. />
  554. <el-table-column
  555. align="right"
  556. label="押金金额"
  557. prop="totalDepositAmount"
  558. min-width="160"
  559. show-overflow-tooltip
  560. >
  561. <template slot-scope="scope">
  562. {{ scope.row.totalDepositAmount | numToFixed}}
  563. </template>
  564. </el-table-column>
  565. </el-table>
  566. </div>
  567. </div>
  568. </div>
  569. <div v-show="engineering == '工程发货信息'">
  570. <h3>工程发货信息</h3>
  571. <el-divider />
  572. <!-- 列表 -->
  573. <div class="mymain-container">
  574. <div class="table">
  575. <el-table
  576. v-loading="listLoading"
  577. :data="projectList"
  578. element-loading-text="Loading"
  579. border
  580. fit
  581. highlight-current-row
  582. stripe
  583. >
  584. <el-table-column
  585. align="left"
  586. label="发货单"
  587. prop="id"
  588. min-width="160"
  589. show-overflow-tooltip
  590. >
  591. <template slot-scope="scope">
  592. <CopyButton :copyText="scope.row.id" />
  593. <span>{{scope.row.id}}</span>
  594. </template>
  595. </el-table-column>
  596. <el-table-column
  597. align="left"
  598. label="发货申请日期"
  599. prop="theTime"
  600. min-width="160"
  601. show-overflow-tooltip
  602. />
  603. <el-table-column
  604. align="left"
  605. label="产品名称"
  606. prop="materialName"
  607. min-width="160"
  608. show-overflow-tooltip
  609. >
  610. <template slot-scope="scope">
  611. <CopyButton :copyText="scope.row.materialName" />
  612. <span>{{scope.row.materialName}}</span>
  613. </template>
  614. </el-table-column>
  615. <el-table-column
  616. align="left"
  617. label="规格型号"
  618. prop="specification"
  619. min-width="160"
  620. show-overflow-tooltip
  621. >
  622. <template slot-scope="scope">
  623. <CopyButton :copyText="scope.row.specification" />
  624. <span>{{scope.row.specification}}</span>
  625. </template>
  626. </el-table-column>
  627. <el-table-column
  628. align="right"
  629. label="单价"
  630. prop="price"
  631. min-width="160"
  632. show-overflow-tooltip
  633. >
  634. <template slot-scope="scope">
  635. {{ scope.row.price | numToFixed}}
  636. </template>
  637. </el-table-column>
  638. <el-table-column
  639. align="right"
  640. label="数量"
  641. prop="refundableQty"
  642. min-width="160"
  643. show-overflow-tooltip
  644. />
  645. <el-table-column
  646. align="right"
  647. label="押金金额"
  648. prop="totalDepositAmount"
  649. min-width="160"
  650. show-overflow-tooltip
  651. >
  652. <template slot-scope="scope">
  653. {{
  654. (scope.row.refundableQty || 0) *
  655. (scope.row.singleDepositAmount || 0) | numToFixed
  656. }}
  657. </template>
  658. </el-table-column>
  659. </el-table>
  660. </div>
  661. </div>
  662. </div>
  663. <div v-show="engineering == '直调发货'" class="zd">
  664. <div class="table" style="margin-top: 20px">
  665. <el-table
  666. :data="goodsList"
  667. element-loading-text="Loading"
  668. border
  669. fit
  670. highlight-current-row
  671. stripe
  672. >
  673. <el-table-column
  674. align="left"
  675. label="发货单"
  676. prop="id"
  677. min-width="160"
  678. show-overflow-tooltip
  679. >
  680. <template slot-scope="scope">
  681. <CopyButton :copyText="scope.row.id" />
  682. <span>{{scope.row.id}}</span>
  683. </template>
  684. </el-table-column>
  685. <el-table-column
  686. align="left"
  687. label="发货申请日期"
  688. prop="orderTime"
  689. min-width="160"
  690. show-overflow-tooltip
  691. />
  692. <el-table-column
  693. align="left"
  694. label="产品名称"
  695. prop="materialName"
  696. min-width="160"
  697. show-overflow-tooltip
  698. >
  699. <template slot-scope="scope">
  700. <CopyButton :copyText="scope.row.materialName" />
  701. <span>{{scope.row.materialName}}</span>
  702. </template>
  703. </el-table-column>
  704. <el-table-column
  705. align="left"
  706. label="规格型号"
  707. prop="specification"
  708. min-width="160"
  709. show-overflow-tooltip
  710. >
  711. <template slot-scope="scope">
  712. <CopyButton :copyText="scope.row.specification" />
  713. <span>{{scope.row.specification}}</span>
  714. </template>
  715. </el-table-column>
  716. <el-table-column
  717. align="rihgt"
  718. label="单价"
  719. prop="price"
  720. min-width="160"
  721. show-overflow-tooltip
  722. >
  723. <template slot-scope="scope">
  724. {{ scope.row.price | numToFixed}}
  725. </template>
  726. </el-table-column>
  727. <el-table-column
  728. align="right"
  729. label="数量"
  730. prop="refundableQty"
  731. min-width="160"
  732. show-overflow-tooltip
  733. />
  734. <el-table-column
  735. align="right"
  736. label="押金金额"
  737. prop="totalDepositAmount"
  738. min-width="160"
  739. show-overflow-tooltip
  740. >
  741. <template slot-scope="scope">
  742. {{
  743. (scope.row.qty || 0) *
  744. (scope.row.singleDepositAmount || 0) | numToFixed
  745. }}
  746. </template>
  747. </el-table-column>
  748. </el-table>
  749. </div>
  750. </div>
  751. <div v-show="engineering == '历史记录'">
  752. <h3>历史记录</h3>
  753. <el-divider />
  754. <!-- 列表 -->
  755. <div class="mymain-container">
  756. <div class="table">
  757. <el-table
  758. v-loading="listLoading"
  759. :data="details.checkRecordItems"
  760. element-loading-text="Loading"
  761. border
  762. fit
  763. highlight-current-row
  764. stripe
  765. >
  766. <el-table-column
  767. align="left"
  768. label="受理日期"
  769. prop="checkDate"
  770. min-width="160"
  771. show-overflow-tooltip
  772. >
  773. </el-table-column>
  774. <el-table-column
  775. align="left"
  776. label="验收人"
  777. prop="checkBy"
  778. min-width="160"
  779. show-overflow-tooltip
  780. >
  781. </el-table-column>
  782. <el-table-column
  783. align="left"
  784. label="申请退押金备注
  785. "
  786. prop="applyNote"
  787. min-width="160"
  788. show-overflow-tooltip
  789. >
  790. </el-table-column>
  791. <el-table-column
  792. align="left"
  793. label="验收说明
  794. "
  795. prop="checkNote"
  796. min-width="160"
  797. show-overflow-tooltip
  798. >
  799. </el-table-column>
  800. <el-table-column
  801. align="left"
  802. label="是否退押
  803. "
  804. prop="checkNote"
  805. min-width="160"
  806. show-overflow-tooltip
  807. >
  808. <template slot-scope="scope">
  809. {{scope.row.checkNote?'是':'否'}}
  810. </template>
  811. </el-table-column>
  812. <el-table-column
  813. align="left"
  814. label="提交人
  815. "
  816. prop="submitBy"
  817. min-width="160"
  818. show-overflow-tooltip
  819. >
  820. </el-table-column>
  821. <el-table-column
  822. align="left"
  823. label="提交时间
  824. "
  825. prop="submitTime"
  826. min-width="160"
  827. show-overflow-tooltip
  828. >
  829. </el-table-column>
  830. </el-table>
  831. </div>
  832. </div>
  833. </div>
  834. </div>
  835. </template>
  836. <script>
  837. import { editInfo, geDetail, geOrderInfo, getListProject } from '@/api/engin_deposit.js'
  838. import { getList } from '@/api/supply/adjust'
  839. import { downloadFiles, downloadPdf } from '@/utils/util'
  840. import { getFileUrl } from '@/api/common'
  841. export default {
  842. data() {
  843. return {
  844. isDis: true,
  845. listLoading: false,
  846. engineering: '工程押金信息',
  847. dataList: [],
  848. projectList: [],
  849. details: {},
  850. goodsList: [],
  851. warehouseList: [],
  852. positionList: [],
  853. imageURL: this.$imageUrl,
  854. deliverForm: {
  855. date: '',
  856. warehouse: '',
  857. position: ''
  858. },
  859. deliverFormRules: {
  860. date: [
  861. { required: true, message: '请选择发货日期', trigger: 'change' }
  862. ],
  863. warehouse: [
  864. { required: true, message: '请选择发货仓库', trigger: 'change' }
  865. ],
  866. position: [
  867. { required: true, message: '请选择仓位', trigger: 'change' }
  868. ]
  869. },
  870. orderType: {
  871. TRADE: '商用',
  872. HOME: '家用',
  873. RETAIL: '零售单',
  874. RETAIL_POLICY: '销售政策单'
  875. }
  876. }
  877. },
  878. created() {
  879. this.getDetail()
  880. },
  881. computed:{
  882. isCustomer(){
  883. return this.$store.getters.customerId && this.$store.getters.customerNumber
  884. }
  885. },
  886. methods: {
  887. getDetail() {
  888. if (this.engineering == '工程押金信息') {
  889. geDetail({ id: this.$parent.depositManageId }).then((res) => {
  890. this.details = res.data
  891. if (res.data.dataList.length == 0) {
  892. this.isDis = true
  893. } else {
  894. this.isDis = false
  895. }
  896. res.data.items.forEach((item) => {
  897. // item.number = (item.qty*100 - item.directTransferQty*100 - item.retiredQty*100) / 100;
  898. item.sums1 = ['hasSendQty', 'dataQty', 'qty']
  899. item.sums2 = ['totalAmount', 'diffAmount', 'price']
  900. })
  901. })
  902. } else if (this.engineering == '工程订单信息') {
  903. geOrderInfo({
  904. refEnginRecordNo: this.$parent.refEnginRecordNo,
  905. examineStatus: 'OK'
  906. }).then((res) => {
  907. this.dataList = res.data
  908. })
  909. } else if (this.engineering == '直调发货') {
  910. getListProject({
  911. pageSize: -1,
  912. pageNum: 1,
  913. type:3,
  914. refEnginRecordNo: this.$parent.refEnginRecordNo,
  915. }).then((res) => {
  916. this.goodsList = res.data.records
  917. })
  918. } else {
  919. getListProject({
  920. pageSize: -1,
  921. pageNum: 1,
  922. refEnginRecordNo: this.$parent.refEnginRecordNo,
  923. }).then((res) => {
  924. this.projectList= res.data.records
  925. })
  926. }
  927. },
  928. // 批量下载
  929. async batchDownloadFn() {
  930. downloadFiles('/deposit-manage/downZip', { parentId: this.$parent.depositManageId })
  931. },
  932. // 下载
  933. downLoadFn(v, fileName) {
  934. if (this.checkFileType(v) === 'pdf') {
  935. downloadPdf(this.$imageUrl + v, fileName)
  936. return
  937. }
  938.   downloadFiles("/common/file/getStream", { key: v, fileName:fileName});
  939. // getFileUrl({ key: v }).then((res) => {
  940. // window.open(res.data)
  941. // })
  942. },
  943. openPdf(pdfUrl) {
  944. window.open(this.$imageUrl + pdfUrl)
  945. },
  946. // 检查文件类型
  947. checkFileType(url) {
  948. if (!url) return ''
  949. const fileSuffix = url.substring(url.lastIndexOf('.') + 1)
  950. if (['jpg', 'jpeg', 'png'].includes(fileSuffix)) {
  951. return 'image'
  952. } else if (['doc', 'docx', 'dot', 'wps', 'wpt'].includes(fileSuffix)) {
  953. return 'word'
  954. } else if (['xls', 'xlsx', 'xlt', 'et', 'ett'].includes(fileSuffix)) {
  955. return 'excel'
  956. } else if (
  957. ['ppt', 'pptx', 'dps', 'dpt', 'pot', 'pps'].includes(fileSuffix)
  958. ) {
  959. return 'ppt'
  960. } else if (['pdf'].includes(fileSuffix)) {
  961. return 'pdf'
  962. } else if (['zip', 'rar', 'gz', 'apk'].includes(fileSuffix)) {
  963. return 'file'
  964. } else {
  965. return ''
  966. }
  967. },
  968. goBack() {
  969. this.$parent.showPage = 1
  970. },
  971. handleRadio(e) {
  972. this.getDetail()
  973. },
  974. handleSvse() {
  975. this.details.isRefundDeposit =
  976. this.details.isRefundDeposit == true
  977. editInfo(this.details).then((res) => {
  978. this.$successMsg('编辑成功')
  979. this.$parent.showPage = 1
  980. })
  981. },
  982. handleReset() {
  983. this.$refs.form.resetFields()
  984. }
  985. }
  986. }
  987. </script>
  988. <style scoped lang="scss">
  989. .aaa {
  990. height: 64px;
  991. width: 64px;
  992. }
  993. .gdzl {
  994. display: inline-block;
  995. }
  996. .batchDownload {
  997. float: right;
  998. margin-top: 9px;
  999. }
  1000. ::v-deep .el-input__prefix {
  1001. display: none;
  1002. left: 65px !important;
  1003. -webkit-transition: all 0.3s;
  1004. transition: all 0.3s;
  1005. }
  1006. ::v-deep .el-date-editor.el-input {
  1007. width: 100%;
  1008. box-sizing: border-box;
  1009. padding-left: 10px;
  1010. }
  1011. .diy-table-1 {
  1012. ::v-deep .el-form-item {
  1013. margin: 0;
  1014. }
  1015. }
  1016. .zd {
  1017. ::v-deep .el-input__suffix {
  1018. right: 0;
  1019. -webkit-transition: all 0.3s;
  1020. transition: all 0.3s;
  1021. }
  1022. }
  1023. ::v-deep .el-input__suffix {
  1024. right: -15px;
  1025. -webkit-transition: all 0.3s;
  1026. transition: all 0.3s;
  1027. }
  1028. </style>