deposit_list-detail.vue 33 KB

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