index.vue 35 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105
  1. <template>
  2. <div class="app-container">
  3. <el-form
  4. :model="queryParams_s"
  5. ref="TWareHouseFees"
  6. :inline="true"
  7. v-show="showSearch"
  8. label-width="68px"
  9. >
  10. <el-form-item label="货权方" prop="fCorpid">
  11. <el-select
  12. v-model="queryParams_s.fCorpid"
  13. placeholder="请输入客户名称"
  14. clearable
  15. size="small"
  16. @keyup.enter.native="handleQuery"
  17. :remote-method="corpsRemoteMethod"
  18. >
  19. <el-option
  20. v-for="(dict, index) in fMblnoOptions"
  21. :key="index.fId"
  22. :label="dict.fName"
  23. :value="dict.fId"
  24. ></el-option>
  25. </el-select>
  26. </el-form-item>
  27. <el-form-item label="结算单位" prop="fCorpid">
  28. <el-select
  29. v-model="queryParams_s.fCorpid"
  30. placeholder="请选择结算单位"
  31. filterable
  32. remote
  33. clearable
  34. style="width: 200px"
  35. @keyup.enter.native="handleQuery"
  36. :remote-method="corpsRemoteMethod"
  37. >
  38. <el-option
  39. v-for="(dict, index) in fMblnoOptions"
  40. :key="index.fId"
  41. :label="dict.fName"
  42. :value="dict.fId"
  43. ></el-option>
  44. </el-select>
  45. </el-form-item>
  46. <el-form-item label="录入人" prop="createBy">
  47. <el-input
  48. v-model="TWareHouseFees.createBy"
  49. :disabled="true"
  50. placeholder="默认录入人"
  51. clearable
  52. size="small"
  53. />
  54. </el-form-item>
  55. <!-- <el-form-item label="提单号" prop="tMblno">
  56. <el-input
  57. v-model="queryParams.tMblno"
  58. placeholder="请输入提单号"
  59. clearable
  60. size="small"
  61. @keyup.enter.native="handleQuery"
  62. />
  63. </el-form-item>-->
  64. <!-- <el-form-item label="应收合计" prop="fAmtdr">
  65. <el-input
  66. v-model="queryParams.fAmtdr"
  67. placeholder="请输入应收合计"
  68. clearable
  69. size="small"
  70. @keyup.enter.native="handleQuery"
  71. />
  72. </el-form-item> -->
  73. <!-- <el-form-item label="应付合计" prop="fAmtcr">
  74. <el-input
  75. v-model="queryParams.fAmtcr"
  76. placeholder="请输入应付合计"
  77. clearable
  78. size="small"
  79. @keyup.enter.native="handleQuery"
  80. />
  81. </el-form-item> -->
  82. <!-- <el-form-item label="单据类型" prop="fBilltype">
  83. <el-select v-model="queryParams.fBilltype" placeholder="请选择单据类型" clearable size="small">
  84. <el-option label="请选择字典生成" value="" />
  85. </el-select>
  86. </el-form-item> -->
  87. <el-form-item label="对账日期" prop="fAccbilldate">
  88. <el-date-picker
  89. v-model="dateRange"
  90. size="small"
  91. style="width: 240px"
  92. value-format="yyyy-MM-dd"
  93. type="daterange"
  94. range-separator="-"
  95. start-placeholder="开始日期"
  96. end-placeholder="结束日期"
  97. ></el-date-picker>
  98. </el-form-item>
  99. <el-form-item label="状态" prop="fBillstatus">
  100. <el-select v-model="queryParams_s.fBillstatus" placeholder="请选择">
  101. <el-option
  102. v-for="item in options"
  103. :key="item.value"
  104. :label="item.dictLabel"
  105. :value="item.dictValue"
  106. >
  107. </el-option>
  108. </el-select>
  109. </el-form-item>
  110. <!-- <el-form-item label="备注" prop="fRemarks">
  111. <el-input
  112. v-model="queryParams.fRemarks"
  113. placeholder="请输入备注"
  114. clearable
  115. size="small"
  116. @keyup.enter.native="handleQuery"
  117. />
  118. </el-form-item>-->
  119. <el-form-item label="系统编号" prop="fBillno">
  120. <el-input
  121. v-model="queryParams_s.fBillno"
  122. placeholder="请输入系统编号"
  123. clearable
  124. size="small"
  125. @keyup.enter.native="handleQuery"
  126. />
  127. </el-form-item>
  128. <!-- <el-form-item label="制单部门" prop="fDeptid">
  129. <el-input label="请选择字典生成" value="" v-model="queryParams.fDeptid" placeholder="请选择制单部门" clearable size="small"/>
  130. </el-form-item> -->
  131. <el-form-item>
  132. <el-button
  133. type="cyan"
  134. icon="el-icon-search"
  135. size="mini"
  136. @click="handleQuery"
  137. >搜索</el-button
  138. >
  139. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
  140. >重置</el-button
  141. >
  142. </el-form-item>
  143. </el-form>
  144. <el-row :gutter="10" class="mb8">
  145. <el-col :span="1.5">
  146. <el-button
  147. type="primary"
  148. icon="el-icon-plus"
  149. size="mini"
  150. @click="handleAdd"
  151. v-hasPermi="['finance:contrast:add']"
  152. >新增</el-button
  153. >
  154. </el-col>
  155. <el-col :span="1.5">
  156. <el-button
  157. type="success"
  158. icon="el-icon-edit"
  159. size="mini"
  160. :disabled="single"
  161. @click="handleUpdate"
  162. v-hasPermi="['warehouse:fee:edit']"
  163. >修改</el-button
  164. >
  165. </el-col>
  166. <el-col :span="1.5">
  167. <el-button
  168. type="danger"
  169. icon="el-icon-delete"
  170. size="mini"
  171. :disabled="multiple"
  172. @click="handleDelete"
  173. v-hasPermi="['finance:contrast:remove']"
  174. >删除</el-button
  175. >
  176. </el-col>
  177. <el-col :span="1.5">
  178. <el-button
  179. type="warning"
  180. icon="el-icon-download"
  181. size="mini"
  182. @click="handleExport"
  183. v-hasPermi="['finance:contrast:export']"
  184. >导出</el-button
  185. >
  186. </el-col>
  187. <right-toolbar
  188. :showSearch.sync="showSearch"
  189. @queryTable="getList"
  190. ></right-toolbar>
  191. </el-row>
  192. <el-table
  193. v-loading="loading"
  194. :data="contrastList"
  195. @selection-change="handleSelectionChange"
  196. >
  197. <el-table-column width="55" align="center" type="selection" />
  198. <!-- <el-table-column label="制单部门" align="center" prop="fId" /> -->
  199. <el-table-column label="行号" align="center" type="index" width="55" />
  200. <el-table-column label="系统编号" align="center" prop="fBillno" />
  201. <el-table-column label="货权方" align="center" prop="fCtrlcorpid" />
  202. <el-table-column label="结算单位" align="center" prop="fCorpid" />
  203. <el-table-column label="账单日期" align="center" prop="createTime">
  204. <template slot-scope="scope">
  205. <span>{{ parseTime(scope.row.fAccbilldate, "{y}-{m}-{d}") }}</span>
  206. </template>
  207. </el-table-column>
  208. <el-table-column label="提单号" align="center" prop="fMblno" />
  209. <el-table-column label="应收合计" align="center" prop="fAmtdr" />
  210. <el-table-column label="应付合计" align="center" prop="fAmtcr" />
  211. <!-- <el-table-column label="单据类型" align="center" prop="fBilltype" />-->
  212. <el-table-column label="备注" align="center" prop="fRemarks" />
  213. <el-table-column label="状态" align="center" prop="fBillstatus" />
  214. <!-- <el-table-column label="制单部门" align="center" prop="fDeptid" /> -->
  215. <el-table-column
  216. label="操作"
  217. align="center"
  218. class-name="small-padding fixed-width"
  219. >
  220. <template slot-scope="scope">
  221. <el-button
  222. size="mini"
  223. type="text"
  224. icon="el-icon-edit"
  225. @click="handleUpdate(scope.row)"
  226. v-hasPermi="['finance:contrast:edit']"
  227. >修改</el-button
  228. >
  229. <el-button
  230. size="mini"
  231. type="text"
  232. icon="el-icon-delete"
  233. @click="handleDelete(scope.row)"
  234. v-hasPermi="['finance:contrast:remove']"
  235. >删除</el-button
  236. >
  237. </template>
  238. </el-table-column>
  239. </el-table>
  240. <pagination
  241. v-show="total > 0"
  242. :total="total"
  243. :page.sync="queryParams.pageNum"
  244. :limit.sync="queryParams.pageSize"
  245. @pagination="getList"
  246. />
  247. <!-- 对账表 -->
  248. <el-dialog
  249. :visible.sync="open"
  250. width="70%"
  251. append-to-body
  252. :close-on-click-modal="false"
  253. >
  254. <el-form
  255. ref="ruless"
  256. :model="queryParams"
  257. :rules="ruless"
  258. label-width="68px"
  259. :inline="true"
  260. v-show="showSearch"
  261. >
  262. <el-form-item label="货权方" prop="fCtrlcorpid">
  263. <el-input
  264. v-model="queryParams.fCtrlcorpid"
  265. clearable
  266. size="small"
  267. @keyup.enter.native="handleQuery"
  268. placeholder="请输入客户名称"
  269. />
  270. </el-form-item>
  271. <el-form-item label="结算单位" label-width="78px" prop="fCorpid">
  272. <el-select
  273. v-model="queryParams.fCorpid"
  274. placeholder="请选择结算单位"
  275. filterable
  276. remote
  277. clearable
  278. style="width: 200px"
  279. @keyup.enter.native="handleQuery"
  280. :remote-method="corpsRemoteMethod"
  281. >
  282. <el-option
  283. v-for="(dict, index) in fMblnoOptions"
  284. :key="index.fId"
  285. :label="dict.fName"
  286. :value="dict.fId"
  287. ></el-option>
  288. </el-select>
  289. </el-form-item>
  290. <!-- <el-form-item label="提单号" prop="tMblno">
  291. <el-input v-model="TWareHouseFees.tMblno" placeholder="" :disabled="true"/>
  292. </el-form-item> -->
  293. <el-form-item label="对账日期" prop="fAccbilldate">
  294. <el-date-picker
  295. v-model="queryParams.fAccbilldate"
  296. size="small"
  297. style="width: 200px"
  298. value-format="yyyy-MM-dd"
  299. type="date"
  300. placeholder="选择账单日期"
  301. >
  302. </el-date-picker>
  303. </el-form-item>
  304. <!-- <el-form-item label="单据日期">
  305. <el-date-picker
  306. v-model="value4"
  307. size="small"
  308. style="width: 240px"
  309. value-format="yyyy-MM-dd"
  310. type="date">
  311. </el-date-picker>
  312. </el-form-item> -->
  313. <el-form-item label="系统编号" prop="fBillno">
  314. <el-input
  315. v-model="queryParams.fBillno"
  316. placeholder=""
  317. clearable
  318. size="small"
  319. :disabled="true"
  320. @keyup.enter.native="handleQuery"
  321. />
  322. </el-form-item>
  323. <el-form-item label="录入人" prop="createBy">
  324. <el-input v-model="queryParams.createBy" />
  325. </el-form-item>
  326. <div style="width: 100%">
  327. <el-button type="warning" size="small" @click="innerVisible = true"
  328. >对账</el-button
  329. >
  330. <el-button type="primary" size="small">确认对账</el-button>
  331. <el-button type="success" size="small">导出</el-button>
  332. <el-button type="info" size="small">打印</el-button>
  333. <el-button type="danger" size="small">删除</el-button>
  334. </div>
  335. <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->
  336. </el-form>
  337. <el-table
  338. v-loading="loading"
  339. :data="DzfeeList"
  340. @selection-change="handleSelectionChange_s"
  341. >
  342. <el-table-column type="selection" width="55" align="center" />
  343. <!-- <el-table-column label="制单部门" align="center" prop="fId" /> -->
  344. <el-table-column label="行号" align="center" type="index" />
  345. <el-table-column label="提单号" align="center" prop="fMblno" />
  346. <el-table-column label="业务日期" align="center" prop="fBsdate" />
  347. <el-table-column label="费用名称" align="center" prop="fFeeid" />
  348. <el-table-column label="收/付" align="center" prop="fSrcdc">
  349. <template slot-scope="scope">
  350. <span v-if="scope.row.fSrcdc == 'D'">收</span>
  351. <span v-else-if="scope.row.fSrcdc == 'C'">付</span>
  352. </template>
  353. </el-table-column>
  354. <el-table-column label="金额" align="center" prop="fAmt" />
  355. <el-table-column label="业务类型" align="center" prop="fBilltype">
  356. <template slot-scope="scope">
  357. <span v-if="scope.row.fBilltype == 'SJRK'">入库</span>
  358. <span v-else-if="scope.row.fBilltype == 'SJCK'">出库</span>
  359. <span v-else-if="scope.row.fBilltype == 'CKDB'">调拨</span>
  360. <span v-else-if="scope.row.fBilltype == 'HQZY'">货权转移</span>
  361. </template>
  362. </el-table-column>
  363. <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
  364. <template slot-scope="scope">
  365. <el-button
  366. size="mini"
  367. type="text"
  368. icon="el-icon-delete"
  369. @click.native.prevent="deleteRow(scope.$index, increase_s)"
  370. >删除
  371. </el-button>
  372. </template>
  373. </el-table-column>
  374. </el-table>
  375. <div slot="footer" class="dialog-footer">
  376. <el-button type="primary" @click="submitForm">确 定</el-button>
  377. <el-button @click="cancel">取 消</el-button>
  378. </div>
  379. <!-- 添加或修改财务数据主对话框 -->
  380. <el-dialog
  381. :close-on-click-modal="false"
  382. width="70%"
  383. :title="title"
  384. :visible.sync="innerVisible"
  385. append-to-body
  386. >
  387. <el-form
  388. :model="TWareHouseFees"
  389. ref="feeListRules"
  390. :rules="feeListRules"
  391. label-width="80px"
  392. :inline="true"
  393. >
  394. <!-- <el-form-item label="业务编号" prop="fBillno">
  395. <el-input v-model="form.fBillno" placeholder="请输入业务编号" />
  396. </el-form-item> -->
  397. <el-form-item
  398. class="el-form-item__label"
  399. label="货权方"
  400. prop="fCorpid"
  401. >
  402. <el-select
  403. v-model="TWareHouseFees.fCorpid"
  404. filterable
  405. remote
  406. clearable
  407. style="width: 200px"
  408. @keyup.enter.native="handleQuery"
  409. :remote-method="corpsRemoteMethod"
  410. placeholder="请输入客户名称"
  411. >
  412. <el-option
  413. v-for="(dict, index) in fMblnoOptions"
  414. :key="index.fId"
  415. :label="dict.fName"
  416. :value="dict.fId"
  417. ></el-option>
  418. </el-select>
  419. </el-form-item>
  420. <el-form-item label="结算单位" prop="fToCorpid">
  421. <el-select
  422. v-model="TWareHouseFees.fToCorpid"
  423. placeholder="请选择结算单位"
  424. filterable
  425. remote
  426. clearable
  427. style="width: 200px"
  428. @keyup.enter.native="handleQuery"
  429. :remote-method="corpsRemoteMethod"
  430. >
  431. <el-option
  432. v-for="(dict, index) in fMblnoOptions"
  433. :key="index.fId"
  434. :label="dict.fName"
  435. :value="dict.fId"
  436. ></el-option>
  437. </el-select>
  438. </el-form-item>
  439. <el-form-item label="提单号" prop="fMblno">
  440. <el-input
  441. v-model="TWareHouseFees.fMblno"
  442. placeholder="请输入提单号"
  443. style="width: 200px"
  444. />
  445. </el-form-item>
  446. <el-form-item label="收付" prop="fDc">
  447. <el-col :span="8">
  448. <el-select v-model="TWareHouseFees.fDc" style="width: 200px">
  449. <el-option label="收" value="D" />
  450. <el-option label="付" value="C" />
  451. </el-select>
  452. </el-col>
  453. </el-form-item>
  454. <el-form-item label="是否对账" prop="fReconciliation">
  455. <el-col :span="8">
  456. <el-select
  457. v-model="TWareHouseFees.fReconciliation"
  458. style="width: 200px"
  459. >
  460. <el-option label="是" value="1" />
  461. <el-option label="否" value="0" />
  462. </el-select>
  463. </el-col>
  464. </el-form-item>
  465. <el-form-item label="费用名称" prop="fFeeid">
  466. <template>
  467. <el-select
  468. v-model="TWareHouseFees.fFeeid"
  469. filterable
  470. :disabled="browseStatus"
  471. remote
  472. :remote-method="fWRemoteMethod"
  473. placeholder="费用名称"
  474. multiple
  475. >
  476. <el-option
  477. v-for="item in fWbuOptions"
  478. :key="item.fId"
  479. :label="item.fName"
  480. :value="item.fId"
  481. >
  482. </el-option>
  483. </el-select>
  484. </template>
  485. </el-form-item>
  486. <el-form-item label="审核日期" prop="timeExamine">
  487. <el-date-picker
  488. style="width: 200px"
  489. size="small"
  490. v-model="TWareHouseFees.timeExamine"
  491. type="daterange"
  492. start-placeholder="开始日期"
  493. end-placeholder="结束日期"
  494. value-format="yyyy-MM-dd"
  495. :default-time="['00:00:00', '23:59:59']"
  496. >
  497. </el-date-picker>
  498. </el-form-item>
  499. <el-form-item label="对账日期" label-width="85px" prop="timeReconci">
  500. <el-date-picker
  501. v-model="TWareHouseFees.timeReconci"
  502. size="small"
  503. style="width: 200px"
  504. value-format="yyyy-MM-dd"
  505. type="daterange"
  506. start-placeholder="开始日期"
  507. end-placeholder="结束日期"
  508. :default-time="['00:00:00', '23:59:59']"
  509. ></el-date-picker>
  510. </el-form-item>
  511. <el-form-item>
  512. <!-- <el-button class="btnColor" type="info" size="mini">导入</el-button> -->
  513. <el-button
  514. class="btnColor"
  515. type="cyan"
  516. size="mini"
  517. @click="searchFee"
  518. >搜索</el-button
  519. >
  520. <el-button
  521. class="btnColor"
  522. type="info"
  523. size="mini"
  524. @click="resetQuery_s"
  525. >重置</el-button
  526. >
  527. </el-form-item>
  528. <el-table
  529. v-loading="loading"
  530. :data="feeList"
  531. show-summary
  532. :summary-method="getSummaries"
  533. @selection-change="handleSelectionChange_s"
  534. >
  535. <el-table-column type="selection" width="55" align="center" />
  536. <!-- <el-table-column label="制单部门" align="center" prop="fId" /> -->
  537. <el-table-column label="行号" align="center" type="index" />
  538. <el-table-column label="货权方" align="center" prop="fName" />
  539. <el-table-column label="结算单位" align="center" prop="fFeesName" />
  540. <!-- <el-table-column label="账单日期" align="center" prop="fAccbilldate"/> -->
  541. <el-table-column label="提单号" align="center" prop="fMblno" />
  542. <el-table-column label="品名" align="center" prop="fProductName" />
  543. <el-table-column label="业务日期" align="center" prop="fBsdate" />
  544. <el-table-column label="业务类型" align="center" prop="fBilltype">
  545. <template slot-scope="scope">
  546. <span v-if="scope.row.fBilltype == 'SJRK'">入库</span>
  547. <span v-else-if="scope.row.fBilltype == 'SJCK'">出库</span>
  548. <span v-else-if="scope.row.fBilltype == 'CKDB'">调拨</span>
  549. <span v-else-if="scope.row.fBilltype == 'HQZY'">货权转移</span>
  550. </template>
  551. </el-table-column>
  552. <!-- <el-table-column label="单据类型" align="center" prop="fBilltype" />-->
  553. <el-table-column
  554. label="审核日期"
  555. align="center"
  556. prop="fReviewDate"
  557. />
  558. <el-table-column label="金额" align="center" prop="fAmtdr" />
  559. <el-table-column label="本次金额" align="center" prop="fAmt">
  560. <template slot-scope="scope">
  561. <el-input
  562. v-model="scope.row.fAmt"
  563. placeholder="请输入本次金额"
  564. clearable
  565. size="small"
  566. oninput="value=value.replace(/[^\d]/g,'')"
  567. @input="imgChange1(scope.row.fAmtdr, scope.row.fAmt)"
  568. />
  569. </template>
  570. </el-table-column>
  571. <el-table-column label="费用名称" align="center" prop="fFeeName" />
  572. <el-table-column label="备注" align="center" prop="f_remarks">
  573. <el-input placeholder="请输入内容"></el-input>
  574. </el-table-column>
  575. </el-table>
  576. <!-- <el-form-item label="应收合计" prop="fAmtdr">
  577. <el-input v-model="form.fAmtdr" placeholder="请输入应收合计" />
  578. </el-form-item>
  579. <el-form-item label="应付合计" prop="fAmtcr">
  580. <el-input v-model="form.fAmtcr" placeholder="请输入应付合计" />
  581. </el-form-item>
  582. <el-form-item label="单据类型" prop="fBilltype">
  583. <el-select v-model="form.fBilltype" placeholder="请选择单据类型">
  584. <el-option label="请选择字典生成" value="" />
  585. </el-select>
  586. </el-form-item>
  587. <el-form-item label="状态">
  588. <el-radio-group v-model="form.fBillstatus">
  589. <el-radio label="1">请选择字典生成</el-radio>
  590. </el-radio-group>
  591. </el-form-item>
  592. <el-form-item label="备注" prop="fRemarks">
  593. <el-input v-model="form.fRemarks" placeholder="请输入备注" />
  594. </el-form-item>
  595. <el-form-item label="账单日期" prop="fAccbilldate">
  596. <el-date-picker clearable size="small" style="width: 200px"
  597. v-model="form.fAccbilldate"
  598. type="date"
  599. value-format="yyyy-MM-dd"
  600. placeholder="选择账单日期">
  601. </el-date-picker>
  602. </el-form-item>
  603. <el-form-item label="删除状态" prop="delFlag">
  604. <el-input v-model="form.delFlag" placeholder="请输入删除状态" />
  605. </el-form-item>
  606. <el-form-item label="制单部门" prop="fDeptid">
  607. <el-select v-model="form.fDeptid" placeholder="请选择制单部门">
  608. <el-option label="请选择字典生成" value="" />
  609. </el-select>
  610. </el-form-item> -->
  611. </el-form>
  612. <div slot="footer" class="dialog-footer">
  613. <el-button type="primary" @click="confirmImport">确 定</el-button>
  614. <el-button @click="innerVisible = false">取 消</el-button>
  615. </div>
  616. </el-dialog>
  617. </el-dialog>
  618. </div>
  619. </template>
  620. <script>
  621. import { listFee, getFee, delFee, addFee, updateFee, exportFee, importFee} from "@/api/finance/contrast";
  622. import { listCorps } from '@/api/basicdata/corps'
  623. import { listFees } from '@/api/basicdata/fees'
  624. import { queryUserVal } from '@/api/warehouseBusiness/agreement'
  625. import moment from 'moment'
  626. export default {
  627. name: "Fee",
  628. components: {
  629. },
  630. data() {
  631. return {
  632. browseStatus:false,
  633. options:'',
  634. value1:"",
  635. value2:"",
  636. value3:"",
  637. value4:"",
  638. dateRange:"",
  639. // 遮罩层
  640. loading: true,
  641. fAccbilldate: '',
  642. // 选中数组
  643. ids: [],
  644. // 非单个禁用
  645. single: true,
  646. // 非多个禁用
  647. multiple: true,
  648. // 显示搜索条件
  649. showSearch: true,
  650. // 总条数
  651. total: 0,
  652. // 财务数据主表格数据
  653. feeList: [],
  654. // 客户(客户数据)
  655. fMblnoOptions: [],
  656. fFeeunitidOptions: [],
  657. fWbuOptions: [],
  658. KHblnoOptions: [],
  659. //打开内部弹窗
  660. innerVisible: false,
  661. selection: '',
  662. // 弹出层标题
  663. title: "",
  664. // // 录入人
  665. // createBy:response.user.userName,
  666. // 是否显示弹出层
  667. open: false,
  668. dialogVisible: false,
  669. // 财务对账表格
  670. DzfeeList: [],
  671. // 财务主页面表格
  672. contrastList: [],
  673. // 传值对象
  674. TWareHouseFees:{
  675. fCorpid:'',
  676. fToCorpid:'',
  677. fMblno:'',
  678. fStatementNo:'',
  679. fFeeid :'',
  680. timeExamine:'',
  681. timeInterval:'',
  682. fDc:'',
  683. fReconciliation:'',
  684. timeReconci: '',
  685. },
  686. // 查询参数
  687. queryParams: {
  688. pageNum: 1,
  689. pageSize: 10,
  690. fBillno: null,
  691. fCtrlcorpid: null,
  692. fCorpid: null,
  693. tMblno: null,
  694. fAmtdr: null,
  695. fAmtcr: null,
  696. fBilltype: null,
  697. fBillstatus: null,
  698. fRemarks: null,
  699. fAccbilldate: null,
  700. fDeptid: null,
  701. createBy: null,
  702. },
  703. // 主表查询参数
  704. queryParams_s: {
  705. pageNum: 1,
  706. pageSize: 10,
  707. fBillno: null,
  708. fCtrlcorpid: null,
  709. fCorpid: null,
  710. tMblno: null,
  711. fAmtdr: null,
  712. fAmtcr: null,
  713. fBilltype: null,
  714. fBillstatus: null,
  715. fRemarks: null,
  716. fAccbilldate: null,
  717. fDeptid: null
  718. },
  719. // 表单参数
  720. form: {},
  721. // 表单校验
  722. ruless:{
  723. fCtrlcorpid: [
  724. { required: true, message: '货权方不能为空', trigger: 'blur' }
  725. ],
  726. fCorpid: [
  727. { required: true, message: '结算单位不能为空', trigger: 'blur' }
  728. ],
  729. fAccbilldate: [
  730. { required: true, message: '对账日期不能为空', trigger: 'blur' }
  731. ]
  732. },
  733. feeListRules: {
  734. // fCtrlcorpid: [
  735. // { required:true, message: '不能为空', trigger: 'blur'}
  736. // ],
  737. fDc: [
  738. { required:true,message: '不能为空', trigger:'blur' }
  739. ],
  740. fToCorpid: [
  741. { required:true,message:'不能为空', trigger:'blur'}
  742. ],
  743. fReconciliation: [
  744. { required:true,message:'不能为空', trigger:'blur'}
  745. ],
  746. // timeExamine: [
  747. // { required:true,message:'不能为空', tigger:'blur'}
  748. // ]
  749. // fBilltype: [
  750. // { required: true, message: "单据类型(对账单 收费 付费 付费申请 收费申请,发票申请 销项发票 进项发票)不能为空", trigger: "change" }
  751. // ],
  752. // fBillstatus: [
  753. // { required: true, message: "状态不能为空", trigger: "blur" }
  754. // ]
  755. // fDeptid: [
  756. // { required: true, message: "制单部门不能为空", trigger: "change" }
  757. // ],
  758. }
  759. };
  760. },
  761. created() {
  762. this.getList();
  763. // this.register()
  764. },
  765. methods: {
  766. // 金额筛选
  767. imgChange1(fAmtdr,fAmt){
  768. if (fAmt <= fAmtdr){
  769. console.log("小了!")
  770. this.state_s = true
  771. }else if(fAmt > fAmtdr){
  772. console.log("大了!")
  773. this.$message.error('本次金额不能大于原定金额');
  774. this.state_s = false
  775. }
  776. },
  777. // 默认录入人
  778. // register() {
  779. // queryUserVal().then((response)=>{
  780. // this.contrastList.createBy = response.user.userName
  781. // })
  782. // },
  783. getSummaries(param) {
  784. const { columns, data } = param;
  785. const sums = [];
  786. columns.forEach((column, index) => {
  787. const values = data.map(item => Number(item[column.property]));
  788. if (!values.every(value => isNaN(value))) {
  789. sums[index] = values.reduce((prev, curr) => {
  790. const value = Number(curr);
  791. if (!isNaN(value)) {
  792. return prev + curr;
  793. } else {
  794. return prev;
  795. }
  796. }, 0);
  797. sums[0] = '合计';
  798. } else {
  799. sums[4] = '';
  800. }
  801. })
  802. return sums;
  803. },
  804. // 导入搜索
  805. searchFee() {
  806. console.log(this.TWareHouseFees)
  807. // this.feeList = []
  808. this.$refs['feeListRules'].validate(valid => {
  809. console.log(valid)
  810. if (valid){
  811. importFee(this.TWareHouseFees).then(response =>{
  812. console.log(response)
  813. this.feeList = response.rows
  814. })
  815. }
  816. })
  817. },
  818. /** 打开导入表弹窗 */
  819. openImportTable() {
  820. this.$refs.import.show();
  821. },
  822. /** 查询财务数据主列表 */
  823. getList() {
  824. console.log(this)
  825. this.loading = true;
  826. this.getDicts("approval_process").then(response => {
  827. // this.feeList = response.rows;
  828. this.options = response.data
  829. });
  830. listFee(this.queryParams_s).then(response => {
  831. console.log(response)
  832. this.contrastList = response.rows
  833. this.total = response.total
  834. this.loading = false
  835. })
  836. },
  837. // 取消按钮
  838. cancel() {
  839. this.open = false;
  840. this.feeList = []
  841. this.reset();
  842. },
  843. // 表单重置
  844. reset() {
  845. this.form = {
  846. fId: null,
  847. fBillno: null,
  848. fCtrlcorpid: null,
  849. fCorpid: null,
  850. tMblno: null,
  851. fAmtdr: null,
  852. fAmtcr: null,
  853. fBilltype: null,
  854. fBillstatus: "0",
  855. fRemarks: null,
  856. fAccbilldate: null,
  857. delFlag: null,
  858. createBy: null,
  859. fDeptid: null,
  860. createTime: null,
  861. updateBy: null,
  862. updateTime: null
  863. };
  864. // this.resetForm("form");
  865. },
  866. /** 搜索按钮操作 */
  867. handleQuery() {
  868. this.queryParams.pageNum = 1;
  869. this.getList();
  870. this.searchFee()
  871. },
  872. /** 重置按钮操作 */
  873. resetQuery() {
  874. this.resetForm("queryForm");
  875. this.handleQuery();
  876. this.TWareHouseFees={
  877. fCorpid:'',
  878. fToCorpid:'',
  879. fMblno:'',
  880. fStatementNo:'',
  881. fFeeid :'',
  882. timeExamine:'',
  883. timeInterval:'',
  884. fSrcdc:'',
  885. fReconciliation:''
  886. }
  887. },
  888. //导入重置按钮
  889. resetQuery_s() {
  890. this.TWareHouseFees = {
  891. fCorpid: '',
  892. fToCorpid: '',
  893. fMblno: '',
  894. fStatementNo: '',
  895. fFeeid: '',
  896. timeExamine: '',
  897. timeInterval: ''
  898. }
  899. },
  900. // 多选框选中数据
  901. handleSelectionChange(selection) {
  902. this.ids = selection.map(item => item.fId)
  903. this.single = selection.length!==1
  904. this.multiple = !selection.length
  905. },
  906. /** 新增按钮操作 */
  907. handleAdd() {
  908. this.reset();
  909. this.DzfeeList = []
  910. this.open = true;
  911. this.title = "添加财务数据主";
  912. },
  913. /** 修改按钮操作 */
  914. handleUpdate(row) {
  915. this.reset();
  916. const fId = row.fId || this.ids
  917. getFee(fId).then(response => {
  918. this.DzfeeList = response.data.tFeeDoList
  919. this.TWareHouseFees = response.data.tFee
  920. this.fWbuOptions = response.data.feesList
  921. this.open = true;
  922. this.title = "修改财务数据主";
  923. });
  924. },
  925. /** 远程模糊查询用户 */
  926. corpsRemoteMethod(name) {
  927. if (name == null || name === "") {
  928. return false;
  929. }
  930. let queryParams = { pageNum: 1, pageSize: 10, fName: name, type: 1 };
  931. listCorps(queryParams).then((response) => {
  932. this.fMblnoOptions = response.rows;
  933. this.KHblnoOptions = response.rows;
  934. });
  935. },
  936. /** 提交按钮 */
  937. submitForm() {
  938. this.$refs["rules"].validate(valid => {
  939. if (valid) {
  940. if (this.form.fId != null) {
  941. let formDate = new window.FormData()
  942. formDate.append('tFee',JSON.stringify(this.TWareHouseFees))
  943. formDate.append("tFeeDo", JSON.stringify(this.feeList))
  944. updateFee(formDate).then(response => {
  945. this.msgSuccess("修改成功");
  946. this.open = false;
  947. this.getList();
  948. });
  949. } else {
  950. let formDate = new window.FormData()
  951. formDate.append('tFee',JSON.stringify(this.queryParams))
  952. formDate.append("tFeeDo", JSON.stringify(this.DzfeeList))
  953. addFee(formDate).then(response => {
  954. this.msgSuccess("新增成功");
  955. this.DzfeeList = []
  956. this.open = false;
  957. this.getList();
  958. });
  959. for (let item in this.selection){
  960. console.log(this.selection[item])
  961. }
  962. }
  963. }
  964. });
  965. },
  966. // 导入多选框
  967. handleSelectionChange_s(selection) {
  968. this.selection = selection
  969. },
  970. // 多选框选中数据
  971. handleSelectionChange(selection) {
  972. this.ids = selection.map(item => item.fId)
  973. this.single = selection.length !== 1
  974. this.multiple = !selection.length
  975. },
  976. /* 添加财务数据主 导入*/
  977. confirmImport(){
  978. if (this.selection.length == '0') {
  979. console.log('未选择')//写入提示
  980. } else {
  981. console.log(this.selection[0].fMblno)
  982. for (let item in this.selection){
  983. console.log(this.selection[item])
  984. console.log(this.selection[item].fMblno)
  985. if(item > 1){
  986. this.fMblno = this.selection[item].fMblno + "..."
  987. }else if(item == 0){
  988. this.fMblno = this.selection[item].fMblno
  989. }
  990. }
  991. this.DzfeeList = this.selection
  992. this.innerVisible = false
  993. this.feeList = []
  994. // this.feeList = this.DzfeeList
  995. this.TWareHouseFees = {
  996. fCorpid:'',
  997. fToCorpid:'',
  998. fMblno:'',
  999. fStatementNo:'',
  1000. fFeeid :'',
  1001. timeExamine:'',
  1002. timeInterval:'',
  1003. fSrcdc:'',
  1004. fReconciliation:'',
  1005. timeReconci: ''
  1006. }
  1007. }
  1008. },
  1009. /** 删除按钮操作 */
  1010. handleDelete(row) {
  1011. const fIds = row.fId || this.ids;
  1012. this.$confirm('是否确认删除财务数据主编号为"' + fIds + '"的数据项?', "警告", {
  1013. confirmButtonText: "确定",
  1014. cancelButtonText: "取消",
  1015. type: "warning"
  1016. }).then(function() {
  1017. return delFee(fIds);
  1018. }).then(() => {
  1019. this.getList();
  1020. this.msgSuccess("删除成功");
  1021. })
  1022. },
  1023. // 远程模糊查询费用名称
  1024. fWRemoteMethod(name) {
  1025. this.fWbuOptions = []
  1026. if (name == null || name === "") {
  1027. return false;
  1028. }
  1029. let queryParams = { pageNum: 1, pageSize: 10, fName: name };
  1030. listFees(queryParams).then((response) => {
  1031. console.log(response)
  1032. console.log("1111")
  1033. this.fWbuOptions = response.rows
  1034. console.log(this.fWbuOptions)
  1035. });
  1036. },
  1037. /** 导出按钮操作 */
  1038. handleExport() {
  1039. const queryParams = this.queryParams;
  1040. this.$confirm('是否确认导出所有财务数据主数据项?', "警告", {
  1041. confirmButtonText: "确定",
  1042. cancelButtonText: "取消",
  1043. type: "warning"
  1044. }).then(function() {
  1045. return exportFee(queryParams);
  1046. }).then(response => {
  1047. this.download(response.msg);
  1048. })
  1049. },
  1050. //清空一行
  1051. deleteRow(index, rows) {
  1052. rows.splice(index, 1);
  1053. },
  1054. }
  1055. };
  1056. </script>
  1057. <style lang="scss" scoped>
  1058. .btnColor {
  1059. border: 1px solid #0f5dee;
  1060. }
  1061. .btnColor:hover {
  1062. color: #0f5dee;
  1063. }
  1064. </style>