deposit_list.vue 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000
  1. <template>
  2. <div class="app-container">
  3. <div v-if="showPage == 1">
  4. <!-- 筛选条件 -->
  5. <div>
  6. <Collapse :screen-form="screenForm">
  7. <template #right_btn>
  8. <el-button size="mini" @click="resetScreenForm">清空</el-button>
  9. <el-button size="mini" type="primary" @click="submitScreenForm">搜索</el-button>
  10. </template>
  11. <template #left_btn>
  12. <el-radio-group v-model="deduction" size="mini" @change="handleRadio">
  13. <el-radio-button label="全部" />
  14. <el-radio-button label="已退押" />
  15. </el-radio-group>
  16. </template>
  17. <template #search>
  18. <el-form ref="screenForm" :model="screenForm" label-width="140px" size="mini" label-position="left">
  19. <el-row :gutter="20">
  20. <el-col :xs="24" :sm="12" :lg="6">
  21. <el-form-item label="工程登录编号" prop="refEnginRecordNo">
  22. <el-input v-model="screenForm.refEnginRecordNo" placeholder="请输入" />
  23. </el-form-item>
  24. </el-col>
  25. <el-col :xs="24" :sm="12" :lg="6">
  26. <el-form-item label="经销商编码/名称" prop="customerKeyword">
  27. <el-input v-model="screenForm.customerKeyword" placeholder="请输入" />
  28. </el-form-item>
  29. </el-col>
  30. <!-- <el-col :xs="24" :sm="12" :lg="6">
  31. <el-form-item label="经销商名称" prop="customerKeyword">
  32. <el-input
  33. v-model="screenForm.customerKeyword"
  34. placeholder="请输入"
  35. ></el-input>
  36. </el-form-item>
  37. </el-col> -->
  38. <el-col :xs="24" :sm="12" :lg="6">
  39. <el-form-item label="行业类别" prop="refTradeCategory">
  40. <el-input v-model="screenForm.refTradeCategory" placeholder="请输入" />
  41. </el-form-item>
  42. </el-col>
  43. <el-col :xs="24" :sm="12" :lg="6">
  44. <el-form-item label="使用单位" prop="refUseUnit">
  45. <el-input v-model="screenForm.refUseUnit" placeholder="请输入使用单位" />
  46. </el-form-item>
  47. </el-col>
  48. <el-col :xs="24" :sm="12" :lg="6">
  49. <el-form-item label="开始申请日期" prop="startSubmitTime">
  50. <el-date-picker
  51. v-model="screenForm.startSubmitTime"
  52. value-format="yyyy-MM-dd HH:mm:ss"
  53. class="dateStyle"
  54. type="datetime"
  55. placeholder="选择日期"
  56. />
  57. </el-form-item>
  58. </el-col>
  59. <el-col :xs="24" :sm="12" :lg="6">
  60. <el-form-item label="结束申请日期" prop="endSubmitTime">
  61. <el-date-picker
  62. v-model="screenForm.endSubmitTime"
  63. value-format="yyyy-MM-dd HH:mm:ss"
  64. class="dateStyle"
  65. type="datetime"
  66. placeholder="选择日期"
  67. />
  68. </el-form-item>
  69. </el-col>
  70. <el-col :xs="24" :sm="12" :lg="6">
  71. <el-form-item label="开始受理日期" prop="startConfirmTime">
  72. <el-date-picker
  73. v-model="screenForm.startConfirmTime"
  74. value-format="yyyy-MM-dd HH:mm:ss"
  75. class="dateStyle"
  76. type="datetime"
  77. placeholder="选择日期"
  78. />
  79. </el-form-item>
  80. </el-col>
  81. <el-col :xs="24" :sm="12" :lg="6">
  82. <el-form-item label="结束受理日期" prop="endConfirmTime">
  83. <el-date-picker
  84. v-model="screenForm.endConfirmTime"
  85. value-format="yyyy-MM-dd HH:mm:ss"
  86. class="dateStyle"
  87. type="datetime"
  88. placeholder="选择日期"
  89. />
  90. </el-form-item>
  91. </el-col>
  92. <el-col :xs="24" :sm="12" :lg="6">
  93. <el-form-item label="是否退押 " prop="isRefundDeposit">
  94. <el-select
  95. v-model="screenForm.isRefundDeposit"
  96. style="width: 100%"
  97. clearable
  98. placeholder="请选择是否退押 "
  99. >
  100. <el-option
  101. v-for="item in refundDepositArr"
  102. :key="item.value"
  103. :label="item.label"
  104. :value="item.value"
  105. />
  106. </el-select>
  107. </el-form-item>
  108. </el-col>
  109. <el-col :xs="24" :sm="12" :lg="6">
  110. <el-form-item label="状态 " prop="examineStatus">
  111. <el-select
  112. v-model="screenForm.examineStatus"
  113. style="width: 100%"
  114. clearable
  115. placeholder="请选择状态 "
  116. >
  117. <el-option
  118. v-for="item in examineStatusArr"
  119. :key="item.value"
  120. :label="item.label"
  121. :value="item.value"
  122. />
  123. </el-select>
  124. </el-form-item>
  125. </el-col>
  126. <!-- <el-col :xs="24" :sm="12" :lg="6">
  127. <el-form-item label="产品名称" prop="">
  128. <el-input placeholder="请输入"></el-input>
  129. </el-form-item>
  130. </el-col>
  131. <el-col :xs="24" :sm="12" :lg="6">
  132. <el-form-item label="规格型号" prop="">
  133. <el-input placeholder="请输入"></el-input>
  134. </el-form-item>
  135. </el-col> -->
  136. <template v-if="!isCustomer">
  137. <el-col :xs="24" :sm="12" :lg="6">
  138. <el-form-item label="审核人" prop="confirmName">
  139. <el-input v-model="screenForm.confirmName" placeholder="请输入审核人" />
  140. </el-form-item>
  141. </el-col>
  142. <el-col :xs="24" :sm="12" :lg="6">
  143. <el-form-item label="区域" prop="refRegionWork">
  144. <el-input v-model="screenForm.refRegionWork" placeholder="请输入区域" />
  145. </el-form-item>
  146. </el-col>
  147. <el-col :xs="24" :sm="12" :lg="6">
  148. <el-form-item label="安装日期" style="margin-bottom: 0">
  149. <div class="fanwei">
  150. <el-form-item prop="startInstallTime">
  151. <el-date-picker
  152. v-model="screenForm.startInstallTime"
  153. value-format="yyyy-MM-dd HH:mm:ss"
  154. class="dateStyle"
  155. type="datetime"
  156. placeholder="选择日期"
  157. />
  158. </el-form-item>
  159. <span>-</span>
  160. <el-form-item prop="endInstallTime">
  161. <el-date-picker
  162. v-model="screenForm.endInstallTime"
  163. value-format="yyyy-MM-dd HH:mm:ss"
  164. class="dateStyle"
  165. type="datetime"
  166. placeholder="选择日期"
  167. />
  168. </el-form-item>
  169. </div>
  170. </el-form-item>
  171. </el-col>
  172. <el-col :xs="24" :sm="12" :lg="6">
  173. <el-form-item label="规格型号" prop="specification">
  174. <el-input v-model="screenForm.specification" placeholder="请输入规格型号" />
  175. </el-form-item>
  176. </el-col>
  177. <el-col v-if="!isCustomer" :xs="24" :sm="12" :lg="6">
  178. <el-form-item label="特价编号" prop="specialNo">
  179. <el-input v-model="screenForm.specialNo" placeholder="请输入特价编号" />
  180. </el-form-item>
  181. </el-col>
  182. <el-col :xs="24" :sm="12" :lg="6">
  183. <el-form-item label="跨区厂编号" prop="refFactoryNo">
  184. <el-input v-model="screenForm.refFactoryNo" placeholder="请输入跨区厂编号" />
  185. </el-form-item>
  186. </el-col>
  187. <el-col v-if="!isCustomer" :xs="24" :sm="12" :lg="6">
  188. <el-form-item label="格力内部备注" prop="geLiInerNote">
  189. <el-input v-model="screenForm.geLiInerNote" placeholder="请输入格力内部备注" />
  190. </el-form-item>
  191. </el-col>
  192. <!-- <el-col v-if="!isCustomer" :xs="24" :sm="12" :lg="6">
  193. <el-form-item label="厂编号" prop="factoryNo">
  194. <el-input v-model="screenForm.factoryNo" placeholder="请输入厂编号"></el-input>
  195. </el-form-item>
  196. </el-col> -->
  197. <el-col v-if="!isCustomer" :xs="24" :sm="12" :lg="6">
  198. <el-form-item label="厂编号" style="margin-bottom: 0">
  199. <div class="fanwei">
  200. <el-form-item prop="startFactoryNo">
  201. <el-input v-model="screenForm.startFactoryNo" placeholder="厂编号开始" />
  202. </el-form-item>
  203. <span>-</span>
  204. <el-form-item prop="endFactoryNo">
  205. <el-input v-model="screenForm.endFactoryNo" placeholder="厂编号结束" />
  206. </el-form-item>
  207. </div>
  208. </el-form-item>
  209. </el-col>
  210. <el-col :xs="24" :sm="12" :lg="6">
  211. <el-form-item label="资料审核开始日期" prop="startAcceptTime">
  212. <el-date-picker
  213. v-model="screenForm.startAcceptTime"
  214. value-format="yyyy-MM-dd HH:mm:ss"
  215. class="dateStyle"
  216. type="datetime"
  217. placeholder="选择日期"
  218. />
  219. </el-form-item>
  220. </el-col>
  221. <el-col :xs="24" :sm="12" :lg="6">
  222. <el-form-item label="资料审核结束日期" prop="endAcceptTime">
  223. <el-date-picker
  224. v-model="screenForm.endAcceptTime"
  225. value-format="yyyy-MM-dd HH:mm:ss"
  226. class="dateStyle"
  227. type="datetime"
  228. placeholder="选择日期"
  229. />
  230. </el-form-item>
  231. </el-col>
  232. <el-col v-if="!isCustomer" :xs="24" :sm="12" :lg="6">
  233. <el-form-item label="特价编号" style="margin-bottom: 0">
  234. <div class="fanwei">
  235. <el-form-item prop="startSpecialNo">
  236. <el-input v-model="screenForm.startSpecialNo" placeholder="开始" />
  237. </el-form-item>
  238. <span>-</span>
  239. <el-form-item prop="endSpecialNo">
  240. <el-input v-model="screenForm.endSpecialNo" placeholder="结束" />
  241. </el-form-item>
  242. </div>
  243. </el-form-item>
  244. </el-col>
  245. <el-col v-if="!isCustomer" :xs="24" :sm="12" :lg="6">
  246. <el-form-item label="交单编号" style="margin-bottom: 0">
  247. <div class="fanwei">
  248. <el-form-item prop="startBillNo">
  249. <el-input v-model="screenForm.startBillNo" placeholder="开始" />
  250. </el-form-item>
  251. <span>-</span>
  252. <el-form-item prop="endBillNo">
  253. <el-input v-model="screenForm.endBillNo" placeholder="结束" />
  254. </el-form-item>
  255. </div>
  256. </el-form-item>
  257. </el-col>
  258. <el-col :xs="24" :sm="12" :lg="6">
  259. <el-form-item label="寄厂日期" style="margin-bottom: 0">
  260. <div class="fanwei">
  261. <el-form-item prop="startInstallTime">
  262. <el-date-picker
  263. v-model="screenForm.startInstallTime"
  264. value-format="yyyy-MM-dd HH:mm:ss"
  265. class="dateStyle"
  266. type="datetime"
  267. placeholder="选择日期"
  268. />
  269. </el-form-item>
  270. <span>-</span>
  271. <el-form-item prop="endInstallTime">
  272. <el-date-picker
  273. v-model="screenForm.endInstallTime"
  274. value-format="yyyy-MM-dd HH:mm:ss"
  275. class="dateStyle"
  276. type="datetime"
  277. placeholder="选择日期"
  278. />
  279. </el-form-item>
  280. </div>
  281. </el-form-item>
  282. </el-col>
  283. <el-col :xs="24" :sm="12" :lg="6">
  284. <el-form-item label="寄厂年度" prop="mailFactoryYear">
  285. <el-input v-model="screenForm.mailFactoryYear" placeholder="请输入寄厂年度" />
  286. </el-form-item>
  287. </el-col>
  288. <el-col :xs="24" :sm="12" :lg="6">
  289. <el-form-item label="确认日期" style="margin-bottom: 0">
  290. <div class="fanwei">
  291. <el-form-item prop="startConfirmDate">
  292. <el-date-picker
  293. v-model="screenForm.startConfirmDate"
  294. value-format="yyyy-MM-dd HH:mm:ss"
  295. class="dateStyle"
  296. type="datetime"
  297. placeholder="选择日期"
  298. />
  299. </el-form-item>
  300. <span>-</span>
  301. <el-form-item prop="endConfirmDate">
  302. <el-date-picker
  303. v-model="screenForm.endConfirmDate"
  304. value-format="yyyy-MM-dd HH:mm:ss"
  305. class="dateStyle"
  306. type="datetime"
  307. placeholder="选择日期"
  308. />
  309. </el-form-item>
  310. </div>
  311. </el-form-item>
  312. </el-col>
  313. <el-col v-if="!isCustomer" :xs="24" :sm="12" :lg="6">
  314. <el-form-item label="结算编号" style="margin-bottom: 0">
  315. <div class="fanwei">
  316. <el-form-item prop="startSettlementNo">
  317. <el-input v-model="screenForm.startSettlementNo" placeholder="开始" />
  318. </el-form-item>
  319. <span>-</span>
  320. <el-form-item prop="endSettlementNo">
  321. <el-input v-model="screenForm.endSettlementNo" placeholder="结束" />
  322. </el-form-item>
  323. </div>
  324. </el-form-item>
  325. </el-col>
  326. <el-col :xs="24" :sm="12" :lg="6">
  327. <el-form-item label="结算日期" style="margin-bottom: 0">
  328. <div class="fanwei">
  329. <el-form-item prop="startSettlementDate">
  330. <el-date-picker
  331. v-model="screenForm.startSettlementDate"
  332. value-format="yyyy-MM-dd HH:mm:ss"
  333. class="dateStyle"
  334. type="datetime"
  335. placeholder="选择日期"
  336. />
  337. </el-form-item>
  338. <span>-</span>
  339. <el-form-item prop="endSettlementDate">
  340. <el-date-picker
  341. v-model="screenForm.endSettlementDate"
  342. value-format="yyyy-MM-dd HH:mm:ss"
  343. class="dateStyle"
  344. type="datetime"
  345. placeholder="选择日期"
  346. />
  347. </el-form-item>
  348. </div>
  349. </el-form-item>
  350. </el-col>
  351. <el-col :xs="24" :sm="12" :lg="6">
  352. <el-form-item label="入厂日期" style="margin-bottom: 0">
  353. <div class="fanwei">
  354. <el-form-item prop="startInFactoryDate">
  355. <el-date-picker
  356. v-model="screenForm.startInFactoryDate"
  357. value-format="yyyy-MM-dd HH:mm:ss"
  358. class="dateStyle"
  359. type="datetime"
  360. placeholder="选择日期"
  361. />
  362. </el-form-item>
  363. <span>-</span>
  364. <el-form-item prop="endInFactoryDate">
  365. <el-date-picker
  366. v-model="screenForm.endInFactoryDate"
  367. value-format="yyyy-MM-dd HH:mm:ss"
  368. class="dateStyle"
  369. type="datetime"
  370. placeholder="选择日期"
  371. />
  372. </el-form-item>
  373. </div>
  374. </el-form-item>
  375. </el-col>
  376. <el-col :xs="24" :sm="12" :lg="6">
  377. <el-form-item label="入厂类型" prop="inFactoryType">
  378. <el-input v-model="screenForm.inFactoryType" placeholder="请输入入厂类型" />
  379. </el-form-item>
  380. </el-col>
  381. </template>
  382. </el-row>
  383. </el-form>
  384. </template>
  385. </Collapse>
  386. </div>
  387. <!-- 按钮 -->
  388. <div class="btn-group clearfix" style="display: flex">
  389. <el-button type="primary" size="mini" @click="hanleDownloadFiles">导出</el-button>
  390. <!-- -->
  391. <el-upload
  392. class="import-btn"
  393. v-if="!isCustomer"
  394. :action="baseURL + 'student/import'"
  395. :http-request="handleImport"
  396. :file-list="importFileList"
  397. :show-file-list="false"
  398. >
  399. <el-button size="mini" type="primary">导入</el-button>
  400. </el-upload>
  401. </div>
  402. <!-- 列表 -->
  403. <div class="mymain-container">
  404. <div class="table">
  405. <el-table
  406. v-loading="listLoading"
  407. :data="dataList"
  408. element-loading-text="Loading"
  409. border
  410. fit
  411. highlight-current-row
  412. stripe
  413. show-summary
  414. :summary-method="$getSummaries"
  415. @select-all="handleSelectionAllChange"
  416. @selection-change="handleSelectionAllChange"
  417. >
  418. <el-table-column align="left" type="selection" width="55" />
  419. <el-table-column
  420. align="left"
  421. label="工程登录编号"
  422. prop="refEnginRecordNo"
  423. min-width="160"
  424. show-overflow-tooltip
  425. />
  426. <el-table-column v-if="!isCustomer" align="right" label="跨区厂编号" min-width="160" show-overflow-tooltip>
  427. <template slot-scope="scope">
  428. <CopyButton :copy-text="scope.row.refFactoryNo" />
  429. <span>{{ scope.row.refFactoryNo }}</span>
  430. </template>
  431. </el-table-column>
  432. <el-table-column
  433. v-if="!isCustomer"
  434. align="right"
  435. label="特价项目编号"
  436. prop="specialItemNo"
  437. min-width="160"
  438. show-overflow-tooltip
  439. />
  440. <el-table-column
  441. v-if="!isCustomer"
  442. align="right"
  443. label="特价编号"
  444. prop="specialNo"
  445. min-width="160"
  446. show-overflow-tooltip
  447. />
  448. <el-table-column
  449. v-if="!isCustomer"
  450. align="right"
  451. label="交单编号"
  452. prop="billNo"
  453. min-width="160"
  454. show-overflow-tooltip
  455. />
  456. <el-table-column
  457. v-if="!isCustomer"
  458. align="right"
  459. label="安装日期"
  460. prop="installDate"
  461. min-width="160"
  462. show-overflow-tooltip
  463. />
  464. <el-table-column
  465. v-if="!isCustomer"
  466. align="right"
  467. label="厂编号"
  468. prop="factoryNo"
  469. min-width="160"
  470. show-overflow-tooltip
  471. />
  472. <!-- <el-table-column-->
  473. <!-- v-if="!isCustomer"-->
  474. <!-- align="right"-->
  475. <!-- label="特价编号"-->
  476. <!-- prop="specialNo"-->
  477. <!-- min-width="160"-->
  478. <!-- show-overflow-tooltip-->
  479. <!-- />-->
  480. <el-table-column
  481. align="left"
  482. label="行业类别"
  483. prop="refTradeCategory"
  484. min-width="160"
  485. show-overflow-tooltip
  486. >
  487. <template slot-scope="scope">
  488. <CopyButton :copy-text="scope.row.refTradeCategory" />
  489. <span>{{ scope.row.refTradeCategory }}</span>
  490. </template>
  491. </el-table-column>
  492. <el-table-column align="left" label="使用单位" prop="refUseUnit" min-width="160" show-overflow-tooltip />
  493. <el-table-column align="left" label="区域" prop="refRegionWork" min-width="160" show-overflow-tooltip>
  494. <template slot-scope="scope">
  495. <CopyButton :copy-text="scope.row.refRegionWork" />
  496. <span>{{ scope.row.refRegionWork }}</span>
  497. </template>
  498. </el-table-column>
  499. <el-table-column align="left" label="申请日期" prop="submitTime" min-width="160" show-overflow-tooltip />
  500. <el-table-column align="left" label="受理日期" prop="checkDate" min-width="160" show-overflow-tooltip />
  501. <el-table-column
  502. align="left"
  503. label="经销商编码"
  504. prop="customerNumber"
  505. min-width="160"
  506. show-overflow-tooltip
  507. >
  508. <template slot-scope="scope">
  509. <CopyButton :copy-text="scope.row.customerNumber" />
  510. <span>{{ scope.row.customerNumber }}</span>
  511. </template>
  512. </el-table-column>
  513. <el-table-column
  514. v-if="!isCustomer"
  515. align="left"
  516. label="寄厂日期"
  517. prop="mailFactoryDate"
  518. min-width="160"
  519. show-overflow-tooltip
  520. />
  521. <el-table-column
  522. v-if="!isCustomer"
  523. align="left"
  524. label="寄厂年度"
  525. prop="mailFactoryYear"
  526. min-width="160"
  527. show-overflow-tooltip
  528. />
  529. <el-table-column
  530. align="left"
  531. v-if="!isCustomer"
  532. label="确认日期"
  533. prop="confirmDate"
  534. min-width="160"
  535. show-overflow-tooltip
  536. />
  537. <el-table-column
  538. align="left"
  539. v-if="!isCustomer"
  540. label="结算编号"
  541. prop="settlementNo"
  542. min-width="160"
  543. show-overflow-tooltip
  544. />
  545. <el-table-column
  546. v-if="!isCustomer"
  547. align="left"
  548. label="结算日期"
  549. prop="settlementDate"
  550. min-width="160"
  551. show-overflow-tooltip
  552. />
  553. <el-table-column
  554. align="left"
  555. v-if="!isCustomer"
  556. label="入厂日期"
  557. prop="inFactoryDate"
  558. min-width="160"
  559. show-overflow-tooltip
  560. />
  561. <el-table-column
  562. align="left"
  563. label="入厂类型"
  564. v-if="!isCustomer"
  565. prop="inFactoryType"
  566. min-width="160"
  567. show-overflow-tooltip
  568. />
  569. <el-table-column align="left" label="经销商名称" prop="customerName" min-width="300" show-overflow-tooltip>
  570. <template slot-scope="scope">
  571. <CopyButton :copy-text="scope.row.customerName" />
  572. <span>{{ scope.row.customerName }}</span>
  573. </template>
  574. </el-table-column>
  575. <el-table-column
  576. v-if="!isCustomer"
  577. align="left"
  578. label="格力内部备注"
  579. prop="geLiInerNote"
  580. min-width="160"
  581. show-overflow-tooltip
  582. >
  583. <template slot-scope="scope">
  584. <span>{{ scope.row.geLiInerNote }}</span>
  585. </template>
  586. </el-table-column>
  587. <el-table-column align="left" label="规格型号" prop="specification" min-width="300" show-overflow-tooltip>
  588. <template slot-scope="scope">
  589. <CopyButton :copy-text="scope.row.specification" />
  590. <span>{{ scope.row.specification }}</span>
  591. </template>
  592. </el-table-column>
  593. <el-table-column
  594. align="left"
  595. label="实装规格型号"
  596. prop="realSpecification"
  597. min-width="300"
  598. show-overflow-tooltip
  599. >
  600. <template slot-scope="scope">
  601. <div :style="scope.row.realSpecification != scope.row.specification ? { color: 'blue' } : ''">
  602. {{ scope.row.realSpecification }}
  603. </div>
  604. </template>
  605. </el-table-column>
  606. <el-table-column
  607. align="left"
  608. label="实装物料编号"
  609. prop="realMaterialNumber"
  610. min-width="150"
  611. show-overflow-tooltip
  612. >
  613. <template slot-scope="scope">
  614. <div :style="scope.row.realMaterialNumber != scope.row.materialNumber ? { color: 'blue' } : ''">
  615. {{ scope.row.realMaterialNumber }}
  616. </div>
  617. </template>
  618. </el-table-column>
  619. <el-table-column
  620. align="left"
  621. label="实装厂产品编码"
  622. prop="realMaterialOldNumber"
  623. min-width="200"
  624. show-overflow-tooltip
  625. >
  626. <template slot-scope="scope">
  627. <div :style="scope.row.realMaterialOldNumber != scope.row.materialOldNumber ? { color: 'blue' } : ''">
  628. {{ scope.row.realMaterialOldNumber }}
  629. </div>
  630. </template>
  631. </el-table-column>
  632. <el-table-column align="left" label="是否退押" prop="isRefundDeposit" min-width="160" show-overflow-tooltip>
  633. <template slot-scope="scope">
  634. <el-tag v-if="scope.row.isRefundDeposit" type="success" size="small">是</el-tag>
  635. <el-tag v-else type="warning" size="small">否</el-tag>
  636. </template>
  637. </el-table-column>
  638. <!-- <el-table-column
  639. align="left"
  640. label="押金比例"
  641. prop=""
  642. min-width="160"
  643. show-overflow-tooltip
  644. ></el-table-column> -->
  645. <el-table-column
  646. align="right"
  647. label="押金金额"
  648. prop="itemDepositAmount"
  649. min-width="160"
  650. show-overflow-tooltip
  651. >
  652. <template slot-scope="scope">
  653. {{ scope.row.itemDepositAmount | numToFixed }}
  654. </template>
  655. </el-table-column>
  656. <el-table-column align="left" label="状态" prop="examineStatus" min-width="160" show-overflow-tooltip>
  657. <template slot-scope="scope">
  658. <el-tag v-if="scope.row.examineStatus == 'SAVE'" type="success" size="small">保存</el-tag>
  659. <el-tag v-if="scope.row.examineStatus == 'WAIT'" type="warning" size="small">待审核</el-tag>
  660. <el-tag v-if="scope.row.examineStatus == 'OK'" type="warning" size="mini">通过</el-tag>
  661. <el-tag v-if="scope.row.examineStatus == 'FAIL'" type="warning" size="small">不通过</el-tag>
  662. <el-tag v-if="scope.row.examineStatus == 'CLOSE'" type="warning" size="small">关闭</el-tag>
  663. </template>
  664. </el-table-column>
  665. <el-table-column align="right" label="订单数量" prop="itemQty" min-width="160" show-overflow-tooltip />
  666. <!-- <el-table-column
  667. align="right"
  668. label="合同数量"
  669. prop="itemContractQty"
  670. min-width="160"
  671. show-overflow-tooltip
  672. >
  673. <template slot-scope="scope">
  674. {{ scope.row.itemContractQty || 0}}
  675. </template>
  676. </el-table-column>
  677. <el-table-column
  678. align="right"
  679. label="合同单价"
  680. prop="itemContractPrice"
  681. min-width="160"
  682. show-overflow-tooltip
  683. >
  684. <template slot-scope="scope">
  685. {{ scope.row.itemContractPrice | numToFixed }}
  686. </template>
  687. </el-table-column>
  688. <el-table-column
  689. align="right"
  690. label="合同金额"
  691. prop="itemContractAmount"
  692. min-width="160"
  693. show-overflow-tooltip
  694. >
  695. <template slot-scope="scope">
  696. {{ scope.row.itemContractAmount | numToFixed }}
  697. </template>
  698. </el-table-column> -->
  699. <el-table-column
  700. align="left"
  701. label="资料审核日期"
  702. prop="refDatumAcceptDate"
  703. min-width="160"
  704. show-overflow-tooltip
  705. />
  706. <el-table-column align="right" label="金额" prop="totalPrice" min-width="160" show-overflow-tooltip>
  707. <template slot-scope="scope">
  708. {{ scope.row.totalPrice | numToFixed }}
  709. </template>
  710. </el-table-column>
  711. <el-table-column
  712. align="right"
  713. label="发货数量"
  714. prop="orderHasSendQty"
  715. min-width="160"
  716. show-overflow-tooltip
  717. />
  718. <el-table-column align="right" label="上交资料" prop="itemDataQty" min-width="160" show-overflow-tooltip />
  719. <el-table-column align="center" label="操作" min-width="160" fixed="right" show-overflow-tooltip>
  720. <template slot-scope="scope">
  721. <el-button type="text" class="textColor" size="mini" @click="detailFn(scope.row)">详情</el-button>
  722. <el-button
  723. v-if="scope.row.examineStatus == 'SAVE' && $checkBtnRole('apply', $route.meta.roles)"
  724. type="text"
  725. class="textColor"
  726. @click="surrenderFn(scope.row)"
  727. >申请退押
  728. </el-button>
  729. <!-- <el-button type="text" class="textColor" slot="reference"
  730. >免扣退押</el-button
  731. > -->
  732. </template>
  733. </el-table-column>
  734. </el-table>
  735. </div>
  736. <!-- 分页 -->
  737. <div class="fr">
  738. <el-pagination
  739. :current-page="currentPage"
  740. :page-sizes="[10, 50, 100, 500]"
  741. :page-size="10"
  742. layout="total, sizes, prev, pager, next, jumper"
  743. :total="listTotal"
  744. @size-change="handleSizeChange"
  745. @current-change="handleCurrentChange"
  746. />
  747. </div>
  748. </div>
  749. </div>
  750. <DepositListDetail v-else-if="showPage == 2" />
  751. <DepositApplyDeduction v-else-if="showPage == 3" />
  752. <DepositApplySurrender v-else-if="showPage == 4" />
  753. </div>
  754. </template>
  755. <script>
  756. import DepositListDetail from './components/deposit_list-detail'
  757. import { getDepositManageDate } from '@/api/engin_deposit/refund_list'
  758. import DepositApplyDeduction from './components/deposit-apply-deduction.vue'
  759. import DepositApplySurrender from './components/deposit-apply-surrender.vue'
  760. import { downloadFiles, handleImport } from '@/utils/util'
  761. import { getList } from '@/api/engin_deposit.js'
  762. import Mixin from '@/mixin'
  763. export default {
  764. components: {
  765. DepositListDetail,
  766. DepositApplyDeduction,
  767. DepositApplySurrender
  768. },
  769. mixins: [Mixin],
  770. data() {
  771. return {
  772. currentPage: 1, // 当前页码
  773. pageSize: 10, // 每页数量
  774. listTotal: 0, // 列表总数
  775. dataList: [], // 列表数据
  776. screenForm: {
  777. confirmName: '', // 审核人
  778. createName: '', // 创建人
  779. customerKeyword: '', // 客户编码/客户名称
  780. endDeliverTime: '', // 发货申请日期-结束
  781. enginOrderNo: '', // 工程订单编号
  782. enginOrderType: 'HOME', // 工程订单类型
  783. examineStatus: '', // 状态
  784. refEnginRecordNo: '', // 登录单号
  785. refProjectName: '', // 项目名称
  786. refTradeCategory: '',
  787. refUseUnit: '', // 使用单位
  788. startDeliverTime: '', // 发货申请日期-开始
  789. startSubmitTime: '',
  790. startConfirmTime: '',
  791. isRefundDeposit: null,
  792. endConfirmTime: '',
  793. startInstallTime: '',
  794. endInstallTime: '',
  795. specification: '',
  796. refFactoryNo: '',
  797. factoryNo: '',
  798. specialNo: '',
  799. refRegionWork: '',
  800. endSubmitTime: '',
  801. startAcceptTime: '',
  802. endAcceptTime: '',
  803. geLiInerNote: '',
  804. startFactoryNo: '',
  805. endFactoryNo: '',
  806. startSpecialNo: '',
  807. endSpecialNo: '',
  808. startBillNo: '',
  809. endBillNo: '',
  810. mailFactoryYear: '',
  811. startConfirmDate: [],
  812. endConfirmDate: [],
  813. settlementNo: '',
  814. startSettlementDate: [],
  815. endSettlementDate: [],
  816. startInFactoryDate: [],
  817. endInFactoryDate: [],
  818. startSettlementNo: [],
  819. endSettlementNo: [],
  820. inFactoryType: ''
  821. }, // 搜索表单
  822. listLoading: false, // 列表加载loading
  823. deduction: '全部',
  824. showPage: 1,
  825. importFileList: [],
  826. selectData: [],
  827. baseURL: '',
  828. isCollapse: true,
  829. refundDepositArr: [
  830. {
  831. label: '是',
  832. value: true
  833. },
  834. {
  835. label: '否',
  836. value: false
  837. }
  838. ],
  839. examineStatusArr: [
  840. {
  841. label: '保存',
  842. value: 'SAVE'
  843. },
  844. {
  845. label: '待审核',
  846. value: 'WAIT'
  847. },
  848. {
  849. label: '通过',
  850. value: 'OK'
  851. },
  852. {
  853. label: '关闭',
  854. value: 'CLOSE'
  855. }
  856. ]
  857. }
  858. },
  859. computed: {
  860. isCustomer() {
  861. return this.$store.getters.customerId && this.$store.getters.customerNumber
  862. }
  863. },
  864. methods: {
  865. // 同步资料日期
  866. async syncDateFn() {
  867. await getDepositManageDate()
  868. this.$message.success('同步资料日期成功')
  869. },
  870. // 免扣申请
  871. deductionFn() {
  872. this.showPage = 3
  873. },
  874. // 申请退押
  875. surrenderFn(row) {
  876. this.depositManageId = row.depositManageId
  877. this.showPage = 4
  878. },
  879. detailFn(row) {
  880. this.depositManageId = row.depositManageId
  881. this.refEnginRecordNo = row.refEnginRecordNo
  882. this.showPage = 2
  883. },
  884. getList() {
  885. this.listLoading = true
  886. const params = {
  887. pageSize: this.pageSize,
  888. pageNum: this.currentPage,
  889. isRefundDeposit: '',
  890. ...this.screenForm
  891. }
  892. params.isRefundDeposit = this.deduction === '已退押' ? true : ''
  893. if (this.screenForm.isRefundDeposit == true || this.screenForm.isRefundDeposit == false) {
  894. params.isRefundDeposit = this.screenForm.isRefundDeposit
  895. }
  896. getList(params).then(res => {
  897. this.dataList = res.data.records
  898. res.data.records.forEach(item => {
  899. item.totalPrice = item.itemPrice * item.itemQty
  900. // item.number = (item.qty*100 - item.directTransferQty*100 - item.retiredQty*100) / 100;
  901. item.sums1 = ['qty', 'orderHasSendQty', 'itemDataQty', 'itemContractQty']
  902. item.sums2 = [
  903. 'itemDepositAmount',
  904. 'diffAmount',
  905. 'price',
  906. 'totalAmount',
  907. 'depositAmount',
  908. 'totalPrice',
  909. 'itemContractPrice',
  910. 'itemContractAmount'
  911. ]
  912. })
  913. this.listLoading = false
  914. this.listTotal = res.data.total
  915. })
  916. },
  917. handleRadio() {
  918. this.getList()
  919. },
  920. hanleDownloadFiles() {
  921. let isRefundDeposit = this.deduction === '已退押' ? true : ''
  922. if (this.screenForm.isRefundDeposit == true || this.screenForm.isRefundDeposit == false) {
  923. isRefundDeposit = this.screenForm.isRefundDeposit
  924. }
  925. downloadFiles('deposit-manage/export', {
  926. ...this.screenForm,
  927. isRefundDeposit,
  928. orderType: 'HOME'
  929. })
  930. },
  931. // 导入
  932. async handleImport(param) {
  933. this.importLoading = true
  934. const file = param.file
  935. const formData = new FormData()
  936. formData.append('file', file)
  937. // formData.append("policyId", this.screenForm.code);
  938. const result = await handleImport('deposit-manage/import', formData)
  939. this.importLoading = false
  940. this.importFileList = []
  941. if (result.code == 200) {
  942. this.$alert(result.message, '导入成功', {
  943. confirmButtonText: '确定'
  944. })
  945. this.getList()
  946. } else {
  947. this.$alert(result.message, '导入失败', {
  948. confirmButtonText: '确定'
  949. })
  950. }
  951. },
  952. handleSelectionAllChange(e) {
  953. this.selectData = e
  954. }
  955. }
  956. }
  957. </script>
  958. <style lang="scss" scoped>
  959. .app-container {
  960. padding: 40px 20px;
  961. }
  962. .fanwei {
  963. display: flex;
  964. span {
  965. margin: 0 20px;
  966. }
  967. div {
  968. width: 100%;
  969. }
  970. }
  971. .dateStyle {
  972. width: 100%;
  973. }
  974. .import-btn {
  975. margin-left: 10px;
  976. }
  977. span {
  978. line-height: 28px;
  979. }
  980. </style>