deposit_list-detail.vue 29 KB

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