deposit_list.vue 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747
  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. </template>
  233. </el-row>
  234. </el-form>
  235. </template>
  236. </Collapse>
  237. </div>
  238. <!-- 按钮 -->
  239. <div class="btn-group clearfix" style="display: flex">
  240. <el-button type="primary" size="mini" @click="hanleDownloadFiles">导出 </el-button>
  241. <el-upload
  242. v-if="$checkBtnRole('import', $route.meta.roles)"
  243. class="import-btn"
  244. :action="baseURL + 'student/import'"
  245. :http-request="handleImport"
  246. :file-list="importFileList"
  247. :show-file-list="false"
  248. >
  249. <el-button size="mini">导入</el-button>
  250. </el-upload>
  251. </div>
  252. <!-- 列表 -->
  253. <div class="mymain-container">
  254. <div class="table">
  255. <el-table
  256. v-loading="listLoading"
  257. :data="dataList"
  258. element-loading-text="Loading"
  259. border
  260. fit
  261. highlight-current-row
  262. stripe
  263. show-summary
  264. :summary-method="$getSummaries"
  265. @select-all="handleSelectionAllChange"
  266. @selection-change="handleSelectionAllChange"
  267. >
  268. <el-table-column align="left" type="selection" width="55" />
  269. <el-table-column
  270. align="left"
  271. label="工程登录编号"
  272. prop="refEnginRecordNo"
  273. min-width="160"
  274. show-overflow-tooltip
  275. />
  276. <el-table-column v-if="!isCustomer" align="right" label="跨区厂编号" min-width="160" show-overflow-tooltip>
  277. <template slot-scope="scope">
  278. <CopyButton :copy-text="scope.row.refFactoryNo" />
  279. <span>{{ scope.row.refFactoryNo }}</span>
  280. </template>
  281. </el-table-column>
  282. <el-table-column
  283. v-if="!isCustomer"
  284. align="right"
  285. label="安装日期"
  286. prop="installDate"
  287. min-width="160"
  288. show-overflow-tooltip
  289. />
  290. <el-table-column
  291. v-if="!isCustomer"
  292. align="right"
  293. label="厂编号"
  294. prop="factoryNo"
  295. min-width="160"
  296. show-overflow-tooltip
  297. />
  298. <el-table-column
  299. v-if="!isCustomer"
  300. align="right"
  301. label="特价编号"
  302. prop="specialNo"
  303. min-width="160"
  304. show-overflow-tooltip
  305. />
  306. <el-table-column
  307. align="left"
  308. label="行业类别"
  309. prop="refTradeCategory"
  310. min-width="160"
  311. show-overflow-tooltip
  312. >
  313. <template slot-scope="scope">
  314. <CopyButton :copy-text="scope.row.refTradeCategory" />
  315. <span>{{ scope.row.refTradeCategory }}</span>
  316. </template>
  317. </el-table-column>
  318. <el-table-column align="left" label="使用单位" prop="refUseUnit" min-width="160" show-overflow-tooltip />
  319. <el-table-column align="left" label="区域" prop="refRegionWork" min-width="160" show-overflow-tooltip>
  320. <template slot-scope="scope">
  321. <CopyButton :copy-text="scope.row.refRegionWork" />
  322. <span>{{ scope.row.refRegionWork }}</span>
  323. </template>
  324. </el-table-column>
  325. <el-table-column align="left" label="申请日期" prop="submitTime" min-width="160" show-overflow-tooltip />
  326. <el-table-column align="left" label="受理日期" prop="checkDate" min-width="160" show-overflow-tooltip />
  327. <el-table-column
  328. align="left"
  329. label="经销商编码"
  330. prop="customerNumber"
  331. min-width="160"
  332. show-overflow-tooltip
  333. >
  334. <template slot-scope="scope">
  335. <CopyButton :copy-text="scope.row.customerNumber" />
  336. <span>{{ scope.row.customerNumber }}</span>
  337. </template>
  338. </el-table-column>
  339. <el-table-column align="left" label="经销商名称" prop="customerName" min-width="300" show-overflow-tooltip>
  340. <template slot-scope="scope">
  341. <CopyButton :copy-text="scope.row.customerName" />
  342. <span>{{ scope.row.customerName }}</span>
  343. </template>
  344. </el-table-column>
  345. <el-table-column
  346. v-if="!isCustomer"
  347. align="left"
  348. label="格力内部备注"
  349. prop="geLiInerNote"
  350. min-width="160"
  351. show-overflow-tooltip
  352. >
  353. <template slot-scope="scope">
  354. <span>{{ scope.row.geLiInerNote }}</span>
  355. </template>
  356. </el-table-column>
  357. <el-table-column align="left" label="规格型号" prop="specification" min-width="300" show-overflow-tooltip>
  358. <template slot-scope="scope">
  359. <CopyButton :copy-text="scope.row.specification" />
  360. <span>{{ scope.row.specification }}</span>
  361. </template>
  362. </el-table-column>
  363. <el-table-column
  364. align="left"
  365. label="实装规格型号"
  366. prop="realSpecification"
  367. min-width="300"
  368. show-overflow-tooltip
  369. >
  370. <template slot-scope="scope">
  371. <div :style="scope.row.realSpecification != scope.row.specification ? { color: 'blue' } : ''">
  372. {{ scope.row.realSpecification }}
  373. </div>
  374. </template>
  375. </el-table-column>
  376. <el-table-column
  377. align="left"
  378. label="实装物料编号"
  379. prop="realMaterialNumber"
  380. min-width="150"
  381. show-overflow-tooltip
  382. >
  383. <template slot-scope="scope">
  384. <div :style="scope.row.realMaterialNumber != scope.row.materialNumber ? { color: 'blue' } : ''">
  385. {{ scope.row.realMaterialNumber }}
  386. </div>
  387. </template>
  388. </el-table-column>
  389. <el-table-column
  390. align="left"
  391. label="实装厂产品编码"
  392. prop="realMaterialOldNumber"
  393. min-width="200"
  394. show-overflow-tooltip
  395. >
  396. <template slot-scope="scope">
  397. <div :style="scope.row.realMaterialOldNumber != scope.row.materialOldNumber ? { color: 'blue' } : ''">
  398. {{ scope.row.realMaterialOldNumber }}
  399. </div>
  400. </template>
  401. </el-table-column>
  402. <el-table-column align="left" label="是否退押" prop="isRefundDeposit" min-width="160" show-overflow-tooltip>
  403. <template slot-scope="scope">
  404. <el-tag v-if="scope.row.isRefundDeposit" type="success" size="small">是 </el-tag>
  405. <el-tag v-else type="warning" size="small">否</el-tag>
  406. </template>
  407. </el-table-column>
  408. <!-- <el-table-column
  409. align="left"
  410. label="押金比例"
  411. prop=""
  412. min-width="160"
  413. show-overflow-tooltip
  414. ></el-table-column> -->
  415. <el-table-column
  416. align="right"
  417. label="押金金额"
  418. prop="itemDepositAmount"
  419. min-width="160"
  420. show-overflow-tooltip
  421. >
  422. <template slot-scope="scope">
  423. {{ scope.row.itemDepositAmount | numToFixed }}
  424. </template>
  425. </el-table-column>
  426. <el-table-column align="left" label="状态" prop="examineStatus" min-width="160" show-overflow-tooltip>
  427. <template slot-scope="scope">
  428. <el-tag v-if="scope.row.examineStatus == 'SAVE'" type="success" size="small">保存 </el-tag>
  429. <el-tag v-if="scope.row.examineStatus == 'WAIT'" type="warning" size="small">待审核 </el-tag>
  430. <el-tag v-if="scope.row.examineStatus == 'OK'" type="warning" size="mini">通过 </el-tag>
  431. <el-tag v-if="scope.row.examineStatus == 'FAIL'" type="warning" size="small">不通过 </el-tag>
  432. <el-tag v-if="scope.row.examineStatus == 'CLOSE'" type="warning" size="small">关闭 </el-tag>
  433. </template>
  434. </el-table-column>
  435. <el-table-column align="right" label="订单数量" prop="itemQty" min-width="160" show-overflow-tooltip />
  436. <!-- <el-table-column
  437. align="right"
  438. label="合同数量"
  439. prop="itemContractQty"
  440. min-width="160"
  441. show-overflow-tooltip
  442. >
  443. <template slot-scope="scope">
  444. {{ scope.row.itemContractQty || 0}}
  445. </template>
  446. </el-table-column>
  447. <el-table-column
  448. align="right"
  449. label="合同单价"
  450. prop="itemContractPrice"
  451. min-width="160"
  452. show-overflow-tooltip
  453. >
  454. <template slot-scope="scope">
  455. {{ scope.row.itemContractPrice | numToFixed }}
  456. </template>
  457. </el-table-column>
  458. <el-table-column
  459. align="right"
  460. label="合同金额"
  461. prop="itemContractAmount"
  462. min-width="160"
  463. show-overflow-tooltip
  464. >
  465. <template slot-scope="scope">
  466. {{ scope.row.itemContractAmount | numToFixed }}
  467. </template>
  468. </el-table-column> -->
  469. <el-table-column
  470. align="left"
  471. label="资料审核日期"
  472. prop="refDatumAcceptDate"
  473. min-width="160"
  474. show-overflow-tooltip
  475. />
  476. <el-table-column align="right" label="金额" prop="totalPrice" min-width="160" show-overflow-tooltip>
  477. <template slot-scope="scope">
  478. {{ scope.row.totalPrice | numToFixed }}
  479. </template>
  480. </el-table-column>
  481. <el-table-column
  482. align="right"
  483. label="发货数量"
  484. prop="orderHasSendQty"
  485. min-width="160"
  486. show-overflow-tooltip
  487. />
  488. <el-table-column align="right" label="上交资料" prop="itemDataQty" min-width="160" show-overflow-tooltip />
  489. <el-table-column align="center" label="操作" min-width="160" fixed="right" show-overflow-tooltip>
  490. <template slot-scope="scope">
  491. <el-button type="text" class="textColor" size="mini" @click="detailFn(scope.row)">详情 </el-button>
  492. <el-button
  493. v-if="scope.row.examineStatus == 'SAVE' && $checkBtnRole('apply', $route.meta.roles)"
  494. type="text"
  495. class="textColor"
  496. @click="surrenderFn(scope.row)"
  497. >申请退押
  498. </el-button>
  499. <!-- <el-button type="text" class="textColor" slot="reference"
  500. >免扣退押</el-button
  501. > -->
  502. </template>
  503. </el-table-column>
  504. </el-table>
  505. </div>
  506. <!-- 分页 -->
  507. <div class="fr">
  508. <el-pagination
  509. :current-page="currentPage"
  510. :page-sizes="[10, 50, 100, 500]"
  511. :page-size="10"
  512. layout="total, sizes, prev, pager, next, jumper"
  513. :total="listTotal"
  514. @size-change="handleSizeChange"
  515. @current-change="handleCurrentChange"
  516. />
  517. </div>
  518. </div>
  519. </div>
  520. <DepositListDetail v-else-if="showPage == 2" />
  521. <DepositApplyDeduction v-else-if="showPage == 3" />
  522. <DepositApplySurrender v-else-if="showPage == 4" />
  523. </div>
  524. </template>
  525. <script>
  526. import DepositListDetail from './components/deposit_list-detail'
  527. import { getDepositManageDate } from '@/api/engin_deposit/refund_list'
  528. import DepositApplyDeduction from './components/deposit-apply-deduction.vue'
  529. import DepositApplySurrender from './components/deposit-apply-surrender.vue'
  530. import { downloadFiles, handleImport } from '@/utils/util'
  531. import { getList } from '@/api/engin_deposit.js'
  532. import Mixin from '@/mixin'
  533. export default {
  534. components: {
  535. DepositListDetail,
  536. DepositApplyDeduction,
  537. DepositApplySurrender
  538. },
  539. mixins: [Mixin],
  540. data() {
  541. return {
  542. currentPage: 1, // 当前页码
  543. pageSize: 10, // 每页数量
  544. listTotal: 0, // 列表总数
  545. dataList: [], // 列表数据
  546. screenForm: {
  547. confirmName: '', // 审核人
  548. createName: '', // 创建人
  549. customerKeyword: '', // 客户编码/客户名称
  550. endDeliverTime: '', // 发货申请日期-结束
  551. enginOrderNo: '', // 工程订单编号
  552. enginOrderType: 'HOME', // 工程订单类型
  553. examineStatus: '', // 状态
  554. refEnginRecordNo: '', // 登录单号
  555. refProjectName: '', // 项目名称
  556. refTradeCategory: '',
  557. refUseUnit: '', // 使用单位
  558. startDeliverTime: '', // 发货申请日期-开始
  559. startSubmitTime: '',
  560. startConfirmTime: '',
  561. isRefundDeposit: null,
  562. endConfirmTime: '',
  563. startInstallTime: '',
  564. endInstallTime: '',
  565. specification: '',
  566. refFactoryNo: '',
  567. factoryNo: '',
  568. specialNo: '',
  569. refRegionWork: '',
  570. endSubmitTime: '',
  571. startAcceptTime: '',
  572. endAcceptTime: '',
  573. geLiInerNote: '',
  574. startFactoryNo: '',
  575. endFactoryNo: ''
  576. }, // 搜索表单
  577. listLoading: false, // 列表加载loading
  578. deduction: '全部',
  579. showPage: 1,
  580. importFileList: [],
  581. selectData: [],
  582. baseURL: '',
  583. isCollapse: true,
  584. refundDepositArr: [
  585. {
  586. label: '是',
  587. value: true
  588. },
  589. {
  590. label: '否',
  591. value: false
  592. }
  593. ],
  594. examineStatusArr: [
  595. {
  596. label: '保存',
  597. value: 'SAVE'
  598. },
  599. {
  600. label: '待审核',
  601. value: 'WAIT'
  602. },
  603. {
  604. label: '通过',
  605. value: 'OK'
  606. },
  607. {
  608. label: '关闭',
  609. value: 'CLOSE'
  610. }
  611. ]
  612. }
  613. },
  614. computed: {
  615. isCustomer() {
  616. return this.$store.getters.customerId && this.$store.getters.customerNumber
  617. }
  618. },
  619. methods: {
  620. // 同步资料日期
  621. async syncDateFn() {
  622. await getDepositManageDate()
  623. this.$message.success('同步资料日期成功')
  624. },
  625. // 免扣申请
  626. deductionFn() {
  627. this.showPage = 3
  628. },
  629. // 申请退押
  630. surrenderFn(row) {
  631. this.depositManageId = row.depositManageId
  632. this.showPage = 4
  633. },
  634. detailFn(row) {
  635. this.depositManageId = row.depositManageId
  636. this.refEnginRecordNo = row.refEnginRecordNo
  637. this.showPage = 2
  638. },
  639. getList() {
  640. this.listLoading = true
  641. const params = {
  642. pageSize: this.pageSize,
  643. pageNum: this.currentPage,
  644. isRefundDeposit: '',
  645. ...this.screenForm
  646. }
  647. params.isRefundDeposit = this.deduction === '已退押' ? true : ''
  648. if (this.screenForm.isRefundDeposit == true || this.screenForm.isRefundDeposit == false) {
  649. params.isRefundDeposit = this.screenForm.isRefundDeposit
  650. }
  651. getList(params).then(res => {
  652. this.dataList = res.data.records
  653. res.data.records.forEach(item => {
  654. item.totalPrice = item.itemPrice * item.itemQty
  655. // item.number = (item.qty*100 - item.directTransferQty*100 - item.retiredQty*100) / 100;
  656. item.sums1 = ['qty', 'orderHasSendQty', 'itemDataQty', 'itemContractQty']
  657. item.sums2 = [
  658. 'itemDepositAmount',
  659. 'diffAmount',
  660. 'price',
  661. 'totalAmount',
  662. 'depositAmount',
  663. 'totalPrice',
  664. 'itemContractPrice',
  665. 'itemContractAmount'
  666. ]
  667. })
  668. this.listLoading = false
  669. this.listTotal = res.data.total
  670. })
  671. },
  672. handleRadio() {
  673. this.getList()
  674. },
  675. hanleDownloadFiles() {
  676. let isRefundDeposit = this.deduction === '已退押' ? true : ''
  677. if (this.screenForm.isRefundDeposit == true || this.screenForm.isRefundDeposit == false) {
  678. isRefundDeposit = this.screenForm.isRefundDeposit
  679. }
  680. downloadFiles('deposit-manage/export', {
  681. ...this.screenForm,
  682. isRefundDeposit,
  683. orderType: 'HOME'
  684. })
  685. },
  686. // 导入
  687. async handleImport(param) {
  688. this.importLoading = true
  689. const file = param.file
  690. console.log(file, 123)
  691. const formData = new FormData()
  692. formData.append('file', file)
  693. // formData.append("policyId", this.screenForm.code);
  694. const result = await handleImport('deposit-manage/import', formData)
  695. this.importLoading = false
  696. this.importFileList = []
  697. if (result.code == 200) {
  698. this.$alert(result.message, '导入成功', {
  699. confirmButtonText: '确定'
  700. })
  701. this.handletwoList()
  702. } else {
  703. this.$alert(result.message, '导入失败', {
  704. confirmButtonText: '确定'
  705. })
  706. }
  707. },
  708. handleSelectionAllChange(e) {
  709. this.selectData = e
  710. }
  711. }
  712. }
  713. </script>
  714. <style lang="scss" scoped>
  715. .app-container {
  716. padding: 40px 20px;
  717. }
  718. .fanwei {
  719. display: flex;
  720. span {
  721. margin: 0 20px;
  722. }
  723. div {
  724. width: 100%;
  725. }
  726. }
  727. .dateStyle {
  728. width: 100%;
  729. }
  730. .import-btn {
  731. margin-left: 10px;
  732. }
  733. </style>