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