deposit_list.vue 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038
  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="startMailFactoryDate">
  262. <el-date-picker
  263. v-model="screenForm.startMailFactoryDate"
  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="endMailFactoryDate">
  272. <el-date-picker
  273. v-model="screenForm.endMailFactoryDate"
  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. <el-col :xs="24" :sm="12" :lg="6">
  382. <el-form-item label="结算日期 " prop="settlementStatus">
  383. <el-select style="width: 100%" v-model="screenForm.settlementStatus" clearable placeholder="请选择">
  384. <el-option label="为空" :value="1"></el-option>
  385. <el-option label="不为空" :value="0"></el-option>
  386. </el-select>
  387. </el-form-item>
  388. </el-col>
  389. <el-col :xs="24" :sm="12" :lg="6">
  390. <el-form-item label="寄厂日期 " prop="mailFactoryStatus">
  391. <el-select style="width: 100%" v-model="screenForm.mailFactoryStatus" clearable placeholder="请选择">
  392. <el-option label="为空" :value="1"></el-option>
  393. <el-option label="不为空" :value="0"></el-option>
  394. </el-select>
  395. </el-form-item>
  396. </el-col>
  397. </template>
  398. </el-row>
  399. </el-form>
  400. </template>
  401. </Collapse>
  402. </div>
  403. <!-- 按钮 -->
  404. <div class="btn-group clearfix" style="display: flex">
  405. <el-button type="primary" size="mini" @click="hanleDownloadFiles">导出</el-button>
  406. <!-- -->
  407. <el-upload
  408. class="import-btn"
  409. v-if="!isCustomer"
  410. :action="baseURL + 'student/import'"
  411. :http-request="handleImport"
  412. :file-list="importFileList"
  413. :show-file-list="false"
  414. >
  415. <el-button size="mini" type="primary">导入</el-button>
  416. </el-upload>
  417. </div>
  418. <!-- 列表 -->
  419. <div class="mymain-container">
  420. <div class="table">
  421. <el-table
  422. v-loading="listLoading"
  423. :data="dataList"
  424. element-loading-text="Loading"
  425. border
  426. fit
  427. highlight-current-row
  428. stripe
  429. show-summary
  430. :summary-method="$getSummaries"
  431. @select-all="handleSelectionAllChange"
  432. @selection-change="handleSelectionAllChange"
  433. >
  434. <el-table-column align="left" type="selection" width="55" />
  435. <el-table-column
  436. align="left"
  437. label="工程登录编号"
  438. prop="refEnginRecordNo"
  439. min-width="160"
  440. show-overflow-tooltip
  441. />
  442. <el-table-column v-if="!isCustomer" align="right" label="跨区厂编号" min-width="160" show-overflow-tooltip>
  443. <template slot-scope="scope">
  444. <CopyButton :copy-text="scope.row.refFactoryNo" />
  445. <span>{{ scope.row.refFactoryNo }}</span>
  446. </template>
  447. </el-table-column>
  448. <el-table-column
  449. v-if="!isCustomer"
  450. align="right"
  451. label="特价项目编号"
  452. prop="specialItemNo"
  453. min-width="160"
  454. show-overflow-tooltip
  455. />
  456. <el-table-column
  457. v-if="!isCustomer"
  458. align="right"
  459. label="特价编号"
  460. prop="specialNo"
  461. min-width="160"
  462. show-overflow-tooltip
  463. />
  464. <el-table-column
  465. v-if="!isCustomer"
  466. align="right"
  467. label="交单编号"
  468. prop="billNo"
  469. min-width="160"
  470. show-overflow-tooltip
  471. />
  472. <el-table-column
  473. v-if="!isCustomer"
  474. align="right"
  475. label="安装日期"
  476. prop="installDate"
  477. min-width="160"
  478. show-overflow-tooltip
  479. />
  480. <el-table-column
  481. v-if="!isCustomer"
  482. align="right"
  483. label="厂编号"
  484. prop="factoryNo"
  485. min-width="160"
  486. show-overflow-tooltip
  487. />
  488. <!-- <el-table-column-->
  489. <!-- v-if="!isCustomer"-->
  490. <!-- align="right"-->
  491. <!-- label="特价编号"-->
  492. <!-- prop="specialNo"-->
  493. <!-- min-width="160"-->
  494. <!-- show-overflow-tooltip-->
  495. <!-- />-->
  496. <el-table-column
  497. align="left"
  498. label="行业类别"
  499. prop="refTradeCategory"
  500. min-width="160"
  501. show-overflow-tooltip
  502. >
  503. <template slot-scope="scope">
  504. <CopyButton :copy-text="scope.row.refTradeCategory" />
  505. <span>{{ scope.row.refTradeCategory }}</span>
  506. </template>
  507. </el-table-column>
  508. <el-table-column align="left" label="使用单位" prop="refUseUnit" min-width="160" show-overflow-tooltip />
  509. <el-table-column align="left" label="区域" prop="refRegionWork" min-width="160" show-overflow-tooltip>
  510. <template slot-scope="scope">
  511. <CopyButton :copy-text="scope.row.refRegionWork" />
  512. <span>{{ scope.row.refRegionWork }}</span>
  513. </template>
  514. </el-table-column>
  515. <el-table-column align="left" label="申请日期" prop="submitTime" min-width="160" show-overflow-tooltip />
  516. <el-table-column align="left" label="受理日期" prop="checkDate" min-width="160" show-overflow-tooltip />
  517. <el-table-column
  518. align="left"
  519. label="经销商编码"
  520. prop="customerNumber"
  521. min-width="160"
  522. show-overflow-tooltip
  523. >
  524. <template slot-scope="scope">
  525. <CopyButton :copy-text="scope.row.customerNumber" />
  526. <span>{{ scope.row.customerNumber }}</span>
  527. </template>
  528. </el-table-column>
  529. <el-table-column
  530. v-if="!isCustomer"
  531. align="left"
  532. label="寄厂日期"
  533. prop="mailFactoryDate"
  534. min-width="160"
  535. show-overflow-tooltip
  536. />
  537. <el-table-column
  538. v-if="!isCustomer"
  539. align="left"
  540. label="寄厂年度"
  541. prop="mailFactoryYear"
  542. min-width="160"
  543. show-overflow-tooltip
  544. />
  545. <el-table-column
  546. align="left"
  547. v-if="!isCustomer"
  548. label="确认日期"
  549. prop="confirmDate"
  550. min-width="160"
  551. show-overflow-tooltip
  552. />
  553. <el-table-column
  554. align="left"
  555. v-if="!isCustomer"
  556. label="结算编号"
  557. prop="settlementNo"
  558. min-width="160"
  559. show-overflow-tooltip
  560. />
  561. <el-table-column
  562. v-if="!isCustomer"
  563. align="left"
  564. label="结算日期"
  565. prop="settlementDate"
  566. min-width="160"
  567. show-overflow-tooltip
  568. />
  569. <el-table-column
  570. align="left"
  571. v-if="!isCustomer"
  572. label="入厂日期"
  573. prop="inFactoryDate"
  574. min-width="160"
  575. show-overflow-tooltip
  576. />
  577. <el-table-column
  578. align="left"
  579. label="入厂类型"
  580. v-if="!isCustomer"
  581. prop="inFactoryType"
  582. min-width="160"
  583. show-overflow-tooltip
  584. />
  585. <el-table-column align="left" label="经销商名称" prop="customerName" min-width="300" show-overflow-tooltip>
  586. <template slot-scope="scope">
  587. <CopyButton :copy-text="scope.row.customerName" />
  588. <span>{{ scope.row.customerName }}</span>
  589. </template>
  590. </el-table-column>
  591. <el-table-column
  592. v-if="!isCustomer"
  593. align="left"
  594. label="格力内部备注"
  595. prop="geLiInerNote"
  596. min-width="160"
  597. show-overflow-tooltip
  598. >
  599. <template slot-scope="scope">
  600. <span>{{ scope.row.geLiInerNote }}</span>
  601. </template>
  602. </el-table-column>
  603. <el-table-column align="left" label="规格型号" prop="specification" min-width="300" show-overflow-tooltip>
  604. <template slot-scope="scope">
  605. <CopyButton :copy-text="scope.row.specification" />
  606. <span>{{ scope.row.specification }}</span>
  607. </template>
  608. </el-table-column>
  609. <el-table-column
  610. align="left"
  611. label="实装规格型号"
  612. prop="realSpecification"
  613. min-width="300"
  614. show-overflow-tooltip
  615. >
  616. <template slot-scope="scope">
  617. <div :style="scope.row.realSpecification != scope.row.specification ? { color: 'blue' } : ''">
  618. {{ scope.row.realSpecification }}
  619. </div>
  620. </template>
  621. </el-table-column>
  622. <el-table-column
  623. align="left"
  624. label="实装物料编号"
  625. prop="realMaterialNumber"
  626. min-width="150"
  627. show-overflow-tooltip
  628. >
  629. <template slot-scope="scope">
  630. <div :style="scope.row.realMaterialNumber != scope.row.materialNumber ? { color: 'blue' } : ''">
  631. {{ scope.row.realMaterialNumber }}
  632. </div>
  633. </template>
  634. </el-table-column>
  635. <el-table-column
  636. align="left"
  637. label="实装厂产品编码"
  638. prop="realMaterialOldNumber"
  639. min-width="200"
  640. show-overflow-tooltip
  641. >
  642. <template slot-scope="scope">
  643. <div :style="scope.row.realMaterialOldNumber != scope.row.materialOldNumber ? { color: 'blue' } : ''">
  644. {{ scope.row.realMaterialOldNumber }}
  645. </div>
  646. </template>
  647. </el-table-column>
  648. <el-table-column align="left" label="是否退押" prop="isRefundDeposit" min-width="160" show-overflow-tooltip>
  649. <template slot-scope="scope">
  650. <el-tag v-if="scope.row.isRefundDeposit" type="success" size="small">是</el-tag>
  651. <el-tag v-else type="warning" size="small">否</el-tag>
  652. </template>
  653. </el-table-column>
  654. <!-- <el-table-column
  655. align="left"
  656. label="押金比例"
  657. prop=""
  658. min-width="160"
  659. show-overflow-tooltip
  660. ></el-table-column> -->
  661. <el-table-column
  662. align="right"
  663. label="押金金额"
  664. prop="itemDepositAmount"
  665. min-width="160"
  666. show-overflow-tooltip
  667. >
  668. <template slot-scope="scope">
  669. {{ scope.row.itemDepositAmount | numToFixed }}
  670. </template>
  671. </el-table-column>
  672. <el-table-column align="left" label="状态" prop="examineStatus" min-width="160" show-overflow-tooltip>
  673. <template slot-scope="scope">
  674. <el-tag v-if="scope.row.examineStatus == 'SAVE'" type="success" size="small">保存</el-tag>
  675. <el-tag v-if="scope.row.examineStatus == 'WAIT'" type="warning" size="small">待审核</el-tag>
  676. <el-tag v-if="scope.row.examineStatus == 'OK'" type="warning" size="mini">通过</el-tag>
  677. <el-tag v-if="scope.row.examineStatus == 'FAIL'" type="warning" size="small">不通过</el-tag>
  678. <el-tag v-if="scope.row.examineStatus == 'CLOSE'" type="warning" size="small">关闭</el-tag>
  679. </template>
  680. </el-table-column>
  681. <el-table-column align="right" label="订单数量" prop="itemQty" min-width="160" show-overflow-tooltip />
  682. <!-- <el-table-column
  683. align="right"
  684. label="合同数量"
  685. prop="itemContractQty"
  686. min-width="160"
  687. show-overflow-tooltip
  688. >
  689. <template slot-scope="scope">
  690. {{ scope.row.itemContractQty || 0}}
  691. </template>
  692. </el-table-column>
  693. <el-table-column
  694. align="right"
  695. label="合同单价"
  696. prop="itemContractPrice"
  697. min-width="160"
  698. show-overflow-tooltip
  699. >
  700. <template slot-scope="scope">
  701. {{ scope.row.itemContractPrice | numToFixed }}
  702. </template>
  703. </el-table-column>
  704. <el-table-column
  705. align="right"
  706. label="合同金额"
  707. prop="itemContractAmount"
  708. min-width="160"
  709. show-overflow-tooltip
  710. >
  711. <template slot-scope="scope">
  712. {{ scope.row.itemContractAmount | numToFixed }}
  713. </template>
  714. </el-table-column> -->
  715. <el-table-column
  716. align="left"
  717. label="资料审核日期"
  718. prop="refDatumAcceptDate"
  719. min-width="160"
  720. show-overflow-tooltip
  721. />
  722. <el-table-column align="right" label="金额" prop="totalPrice" min-width="160" show-overflow-tooltip>
  723. <template slot-scope="scope">
  724. {{ scope.row.totalPrice | numToFixed }}
  725. </template>
  726. </el-table-column>
  727. <el-table-column
  728. align="right"
  729. label="发货数量"
  730. prop="orderHasSendQty"
  731. min-width="160"
  732. show-overflow-tooltip
  733. />
  734. <el-table-column align="right" label="上交资料" prop="itemDataQty" min-width="160" show-overflow-tooltip />
  735. <el-table-column align="center" label="操作" min-width="160" fixed="right" show-overflow-tooltip>
  736. <template slot-scope="scope">
  737. <el-button type="text" class="textColor" size="mini" @click="detailFn(scope.row)">详情</el-button>
  738. <el-button
  739. v-if="scope.row.examineStatus == 'SAVE' && $checkBtnRole('apply', $route.meta.roles)"
  740. type="text"
  741. class="textColor"
  742. @click="surrenderFn(scope.row)"
  743. >申请退押
  744. </el-button>
  745. <!-- <el-button type="text" class="textColor" slot="reference"
  746. >免扣退押</el-button
  747. > -->
  748. </template>
  749. </el-table-column>
  750. </el-table>
  751. </div>
  752. <!-- 分页 -->
  753. <div class="fr">
  754. <el-pagination
  755. :current-page="currentPage"
  756. :page-sizes="[10, 50, 100, 500]"
  757. :page-size="10"
  758. layout="total, sizes, prev, pager, next, jumper"
  759. :total="listTotal"
  760. @size-change="handleSizeChange"
  761. @current-change="handleCurrentChange"
  762. />
  763. </div>
  764. </div>
  765. </div>
  766. <DepositListDetail v-else-if="showPage == 2" />
  767. <DepositApplyDeduction v-else-if="showPage == 3" />
  768. <DepositApplySurrender v-else-if="showPage == 4" />
  769. <!-- <refund-replenish v-else-if="(showSurrender==2)" :detail-id="detailId" @updateList="updateList"/>
  770. <refund-reexamine v-else-if="(showSurrender==3)" :detail-id="detailId" @updateList="updateList"/> -->
  771. </div>
  772. </template>
  773. <script>
  774. import DepositListDetail from './components/deposit_list-detail'
  775. import { getDepositManageDate } from '@/api/engin_deposit/refund_list'
  776. import DepositApplyDeduction from './components/deposit-apply-deduction.vue'
  777. import DepositApplySurrender from './components/deposit-apply-surrender.vue'
  778. import { downloadFiles, handleImport } from '@/utils/util'
  779. import { getList } from '@/api/engin_deposit.js'
  780. import Mixin from '@/mixin'
  781. import refund_reexamine from './components/refund_reexamine.vue'
  782. import refund_replenish from './components/refund_replenish.vue'
  783. export default {
  784. components: {
  785. DepositListDetail,
  786. DepositApplyDeduction,
  787. DepositApplySurrender,
  788. refund_reexamine,
  789. refund_replenish
  790. },
  791. mixins: [Mixin],
  792. data() {
  793. return {
  794. currentPage: 1, // 当前页码
  795. pageSize: 10, // 每页数量
  796. listTotal: 0, // 列表总数
  797. dataList: [], // 列表数据
  798. screenForm: {
  799. confirmName: '', // 审核人
  800. createName: '', // 创建人
  801. customerKeyword: '', // 客户编码/客户名称
  802. endDeliverTime: '', // 发货申请日期-结束
  803. enginOrderNo: '', // 工程订单编号
  804. enginOrderType: 'HOME', // 工程订单类型
  805. examineStatus: '', // 状态
  806. refEnginRecordNo: '', // 登录单号
  807. refProjectName: '', // 项目名称
  808. refTradeCategory: '',
  809. refUseUnit: '', // 使用单位
  810. startDeliverTime: '', // 发货申请日期-开始
  811. startSubmitTime: '',
  812. startConfirmTime: '',
  813. isRefundDeposit: null,
  814. endConfirmTime: '',
  815. startInstallTime: '',
  816. endInstallTime: '',
  817. specification: '',
  818. refFactoryNo: '',
  819. factoryNo: '',
  820. specialNo: '',
  821. refRegionWork: '',
  822. endSubmitTime: '',
  823. startAcceptTime: '',
  824. endAcceptTime: '',
  825. geLiInerNote: '',
  826. startFactoryNo: '',
  827. endFactoryNo: '',
  828. startSpecialNo: '',
  829. endSpecialNo: '',
  830. startBillNo: '',
  831. endBillNo: '',
  832. mailFactoryYear: '',
  833. startConfirmDate: '',
  834. endConfirmDate: '',
  835. settlementNo: '',
  836. startSettlementDate: '',
  837. endSettlementDate: '',
  838. startInFactoryDate:'',
  839. endInFactoryDate: '',
  840. startSettlementNo: '',
  841. endSettlementNo:'',
  842. inFactoryType: '',
  843. endMailFactoryDate:'',startMailFactoryDate:'',
  844. settlementStatus:'',mailFactoryStatus:''
  845. }, // 搜索表单
  846. listLoading: false, // 列表加载loading
  847. deduction: '全部',
  848. showPage: 1,
  849. importFileList: [],
  850. selectData: [],
  851. baseURL: '',
  852. isCollapse: true,
  853. refundDepositArr: [
  854. {
  855. label: '是',
  856. value: true
  857. },
  858. {
  859. label: '否',
  860. value: false
  861. }
  862. ],
  863. mailFactoryStatus:'' ,
  864. settlementStatus:'',
  865. examineStatusArr: [
  866. {
  867. label: '保存',
  868. value: 'SAVE'
  869. },
  870. {
  871. label: '待审核',
  872. value: 'WAIT'
  873. },
  874. {
  875. label: '通过',
  876. value: 'OK'
  877. },
  878. {
  879. label: '关闭',
  880. value: 'CLOSE'
  881. }
  882. ]
  883. }
  884. },
  885. computed: {
  886. isCustomer() {
  887. return this.$store.getters.customerId && this.$store.getters.customerNumber
  888. }
  889. },
  890. methods: {
  891. replenishClick(id){
  892. this.detailId = id
  893. this.showSurrender = 2
  894. },
  895. reexamineClick(id){
  896. this.detailId = id
  897. this.showSurrender = 3
  898. },
  899. // 同步资料日期
  900. async syncDateFn() {
  901. await getDepositManageDate()
  902. this.$message.success('同步资料日期成功')
  903. },
  904. // 免扣申请
  905. deductionFn() {
  906. this.showPage = 3
  907. },
  908. // 申请退押
  909. surrenderFn(row) {
  910. this.depositManageId = row.depositManageId
  911. this.showPage = 4
  912. },
  913. detailFn(row) {
  914. this.depositManageId = row.depositManageId
  915. this.refEnginRecordNo = row.refEnginRecordNo
  916. this.showPage = 2
  917. },
  918. getList() {
  919. this.listLoading = true
  920. const params = {
  921. pageSize: this.pageSize,
  922. pageNum: this.currentPage,
  923. isRefundDeposit: '',
  924. ...this.screenForm
  925. }
  926. params.isRefundDeposit = this.deduction === '已退押' ? true : ''
  927. if (this.screenForm.isRefundDeposit == true || this.screenForm.isRefundDeposit == false) {
  928. params.isRefundDeposit = this.screenForm.isRefundDeposit
  929. }
  930. getList(params).then(res => {
  931. this.dataList = res.data.records
  932. res.data.records.forEach(item => {
  933. item.totalPrice = item.itemPrice * item.itemQty
  934. // item.number = (item.qty*100 - item.directTransferQty*100 - item.retiredQty*100) / 100;
  935. item.sums1 = ['qty', 'orderHasSendQty', 'itemDataQty', 'itemContractQty']
  936. item.sums2 = [
  937. 'itemDepositAmount',
  938. 'diffAmount',
  939. 'price',
  940. 'totalAmount',
  941. 'depositAmount',
  942. 'totalPrice',
  943. 'itemContractPrice',
  944. 'itemContractAmount'
  945. ]
  946. })
  947. this.listLoading = false
  948. this.listTotal = res.data.total
  949. })
  950. },
  951. handleRadio() {
  952. this.getList()
  953. },
  954. hanleDownloadFiles() {
  955. let isRefundDeposit = this.deduction === '已退押' ? true : ''
  956. if (this.screenForm.isRefundDeposit == true || this.screenForm.isRefundDeposit == false) {
  957. isRefundDeposit = this.screenForm.isRefundDeposit
  958. }
  959. downloadFiles('deposit-manage/export', {
  960. ...this.screenForm,
  961. isRefundDeposit,
  962. orderType: 'HOME'
  963. })
  964. },
  965. // 导入
  966. async handleImport(param) {
  967. this.importLoading = true
  968. const file = param.file
  969. const formData = new FormData()
  970. formData.append('file', file)
  971. // formData.append("policyId", this.screenForm.code);
  972. const result = await handleImport('deposit-manage/import', formData)
  973. this.importLoading = false
  974. this.importFileList = []
  975. if (result.code == 200) {
  976. this.$alert(result.message, '导入成功', {
  977. confirmButtonText: '确定'
  978. })
  979. this.getList()
  980. } else {
  981. this.$alert(result.message, '导入失败', {
  982. confirmButtonText: '确定'
  983. })
  984. }
  985. },
  986. handleSelectionAllChange(e) {
  987. this.selectData = e
  988. }
  989. }
  990. }
  991. </script>
  992. <style lang="scss" scoped>
  993. .app-container {
  994. padding: 40px 20px;
  995. }
  996. .fanwei {
  997. display: flex;
  998. span {
  999. margin: 0 20px;
  1000. line-height: 28px;
  1001. }
  1002. div {
  1003. width: 100%;
  1004. }
  1005. }
  1006. .dateStyle {
  1007. width: 100%;
  1008. }
  1009. .import-btn {
  1010. margin-left: 10px;
  1011. }
  1012. span {
  1013. line-height: 28px;
  1014. }
  1015. </style>