deposit_list-detail.vue 37 KB

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