deposit_list-detail.vue 33 KB

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