deposit_list-detail.vue 30 KB

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