detail.vue 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868
  1. <template>
  2. <div>
  3. <el-card>
  4. <el-button size="mini" plain @click="useBack">返回</el-button>
  5. <el-divider></el-divider>
  6. <el-form
  7. size="mini"
  8. :model="form"
  9. label-width="auto"
  10. >
  11. <el-row :gutter="10">
  12. <el-col :span="1.5">
  13. <el-form-item label="编码" prop="code">
  14. <el-input
  15. placeholder="自动生成"
  16. readonly
  17. v-model="form.code"
  18. style="width: 200px"
  19. clearable
  20. />
  21. </el-form-item>
  22. </el-col>
  23. <el-col :span="1.5">
  24. <el-form-item label="月份" prop="month">
  25. <el-date-picker
  26. :readonly="this.openMode == 'edit' || this.openMode == 'see'"
  27. v-model="form.month"
  28. value-format="yyyy-MM"
  29. type="month"
  30. clearable
  31. >
  32. </el-date-picker>
  33. </el-form-item>
  34. </el-col>
  35. <el-col :span="1.5">
  36. <el-form-item label="客户" prop="customer">
  37. <el-input
  38. placeholder="自动生成"
  39. readonly
  40. v-model="form.customerName"
  41. style="width: 200px"
  42. clearable
  43. />
  44. </el-form-item>
  45. </el-col>
  46. <el-col :span="1.5">
  47. <el-form-item label="创建日期" prop="createTime">
  48. <el-input
  49. v-model="form.createTime"
  50. style="width: 200px"
  51. clearable
  52. readonly
  53. />
  54. </el-form-item>
  55. </el-col>
  56. <el-col :span="1.5">
  57. <el-form-item label="创建人" prop="createByName">
  58. <el-input
  59. v-model="form.createByName"
  60. style="width: 200px"
  61. clearable
  62. readonly
  63. />
  64. </el-form-item>
  65. </el-col>
  66. <el-col :span="1.5">
  67. <el-form-item label="部门" prop="deptName">
  68. <el-input
  69. v-model="form.deptName"
  70. style="width: 200px"
  71. clearable
  72. readonly
  73. />
  74. </el-form-item>
  75. </el-col>
  76. </el-row>
  77. </el-form>
  78. </el-card>
  79. <el-card style="height: 750px">
  80. <div style="position: relative">
  81. <el-tabs v-model="activeName" @tab-click="useSwitchTab">
  82. <el-tab-pane label="明细" name="item">
  83. <el-table :data="items" height="600px" size="size" v-loading="loading">
  84. <el-table-column
  85. label="序号"
  86. type="index"
  87. width="50"
  88. align="center"
  89. fixed
  90. />
  91. <el-table-column
  92. show-overflow-tooltip
  93. label="一级品类"
  94. align="center"
  95. width="150"
  96. prop="oneClassName"
  97. />
  98. <el-table-column
  99. show-overflow-tooltip
  100. label="二级品类"
  101. align="center"
  102. width="150"
  103. prop="twoClassName"
  104. />
  105. <el-table-column
  106. show-overflow-tooltip
  107. label="物料编号"
  108. align="center"
  109. width="150"
  110. prop="materialCode"
  111. />
  112. <el-table-column
  113. show-overflow-tooltip
  114. label="物料名称"
  115. align="center"
  116. width="150"
  117. prop="materialName"
  118. />
  119. <el-table-column
  120. show-overflow-tooltip
  121. label="单位"
  122. align="center"
  123. width="100"
  124. prop="unitName"
  125. />
  126. <el-table-column
  127. show-overflow-tooltip
  128. label="价格(元)"
  129. align="center"
  130. width="100"
  131. prop="price"
  132. />
  133. <el-table-column
  134. show-overflow-tooltip
  135. label="日 销 售 数 据 填 报"
  136. align="center"
  137. >
  138. <el-table-column
  139. show-overflow-tooltip
  140. label="1"
  141. align="center"
  142. width="100"
  143. prop="first"
  144. >
  145. <template slot-scope="scope">
  146. <el-input
  147. size="mini"
  148. v-model.number="scope.row.first"
  149. class="input-view"
  150. oninput="value=value.replace(/[^0-9]/g,'')"
  151. />
  152. </template>
  153. </el-table-column>
  154. <el-table-column
  155. show-overflow-tooltip
  156. label="2"
  157. align="center"
  158. width="100"
  159. prop="second"
  160. >
  161. <template slot-scope="scope">
  162. <el-input
  163. size="mini"
  164. v-model.number="scope.row.second"
  165. class="input-view"
  166. oninput="value=value.replace(/[^0-9]/g,'')"
  167. />
  168. </template>
  169. </el-table-column>
  170. <el-table-column
  171. show-overflow-tooltip
  172. label="3"
  173. align="center"
  174. width="100"
  175. prop="third"
  176. >
  177. <template slot-scope="scope">
  178. <el-input
  179. size="mini"
  180. v-model.number="scope.row.third"
  181. class="input-view"
  182. oninput="value=value.replace(/[^0-9]/g,'')"
  183. />
  184. </template>
  185. </el-table-column>
  186. <el-table-column
  187. show-overflow-tooltip
  188. label="4"
  189. align="center"
  190. width="100"
  191. prop="fourth"
  192. >
  193. <template slot-scope="scope">
  194. <el-input
  195. size="mini"
  196. v-model.number="scope.row.fourth"
  197. class="input-view"
  198. oninput="value=value.replace(/[^0-9]/g,'')"
  199. />
  200. </template>
  201. </el-table-column>
  202. <el-table-column
  203. show-overflow-tooltip
  204. label="5"
  205. align="center"
  206. width="100"
  207. prop="fifth"
  208. >
  209. <template slot-scope="scope">
  210. <el-input
  211. size="mini"
  212. v-model.number="scope.row.fifth"
  213. class="input-view"
  214. oninput="value=value.replace(/[^0-9]/g,'')"
  215. />
  216. </template>
  217. </el-table-column>
  218. <el-table-column
  219. show-overflow-tooltip
  220. label="6"
  221. align="center"
  222. width="100"
  223. prop="sixth"
  224. >
  225. <template slot-scope="scope">
  226. <el-input
  227. size="mini"
  228. v-model.number="scope.row.sixth"
  229. class="input-view"
  230. oninput="value=value.replace(/[^0-9]/g,'')"
  231. />
  232. </template>
  233. </el-table-column>
  234. <el-table-column
  235. show-overflow-tooltip
  236. label="7"
  237. align="center"
  238. width="100"
  239. prop="seventh"
  240. >
  241. <template slot-scope="scope">
  242. <el-input
  243. size="mini"
  244. v-model.number="scope.row.seventh"
  245. class="input-view"
  246. oninput="value=value.replace(/[^0-9]/g,'')"
  247. />
  248. </template>
  249. </el-table-column>
  250. <el-table-column
  251. show-overflow-tooltip
  252. label="8"
  253. align="center"
  254. width="100"
  255. prop="eighth"
  256. >
  257. <template slot-scope="scope">
  258. <el-input
  259. size="mini"
  260. v-model.number="scope.row.eighth"
  261. class="input-view"
  262. oninput="value=value.replace(/[^0-9]/g,'')"
  263. />
  264. </template>
  265. </el-table-column>
  266. <el-table-column
  267. show-overflow-tooltip
  268. label="9"
  269. align="center"
  270. width="100"
  271. prop="ninth"
  272. >
  273. <template slot-scope="scope">
  274. <el-input
  275. size="mini"
  276. v-model.number="scope.row.ninth"
  277. class="input-view"
  278. oninput="value=value.replace(/[^0-9]/g,'')"
  279. />
  280. </template>
  281. </el-table-column>
  282. <el-table-column
  283. show-overflow-tooltip
  284. label="10"
  285. align="center"
  286. width="100"
  287. prop="tenth"
  288. >
  289. <template slot-scope="scope">
  290. <el-input
  291. size="mini"
  292. v-model.number="scope.row.tenth"
  293. class="input-view"
  294. oninput="value=value.replace(/[^0-9]/g,'')"
  295. />
  296. </template>
  297. </el-table-column>
  298. <el-table-column
  299. show-overflow-tooltip
  300. label="11"
  301. align="center"
  302. width="100"
  303. prop="eleventh"
  304. >
  305. <template slot-scope="scope">
  306. <el-input
  307. size="mini"
  308. v-model.number="scope.row.eleventh"
  309. class="input-view"
  310. oninput="value=value.replace(/[^0-9]/g,'')"
  311. />
  312. </template>
  313. </el-table-column>
  314. <el-table-column
  315. show-overflow-tooltip
  316. label="12"
  317. align="center"
  318. width="100"
  319. prop="twelfth"
  320. >
  321. <template slot-scope="scope">
  322. <el-input
  323. size="mini"
  324. v-model.number="scope.row.twelfth"
  325. class="input-view"
  326. oninput="value=value.replace(/[^0-9]/g,'')"
  327. />
  328. </template>
  329. </el-table-column>
  330. <el-table-column
  331. show-overflow-tooltip
  332. label="13"
  333. align="center"
  334. width="100"
  335. prop="thirteenth"
  336. >
  337. <template slot-scope="scope">
  338. <el-input
  339. size="mini"
  340. v-model.number="scope.row.thirteenth"
  341. class="input-view"
  342. oninput="value=value.replace(/[^0-9]/g,'')"
  343. />
  344. </template>
  345. </el-table-column>
  346. <el-table-column
  347. show-overflow-tooltip
  348. label="14"
  349. align="center"
  350. width="100"
  351. prop="fourteenth"
  352. >
  353. <template slot-scope="scope">
  354. <el-input
  355. size="mini"
  356. v-model.number="scope.row.fourteenth"
  357. class="input-view"
  358. oninput="value=value.replace(/[^0-9]/g,'')"
  359. />
  360. </template>
  361. </el-table-column>
  362. <el-table-column
  363. show-overflow-tooltip
  364. label="15"
  365. align="center"
  366. width="100"
  367. prop="fifteenth"
  368. >
  369. <template slot-scope="scope">
  370. <el-input
  371. size="mini"
  372. v-model.number="scope.row.fifteenth"
  373. class="input-view"
  374. oninput="value=value.replace(/[^0-9]/g,'')"
  375. />
  376. </template>
  377. </el-table-column>
  378. <el-table-column
  379. show-overflow-tooltip
  380. label="16"
  381. align="center"
  382. width="100"
  383. prop="sixteenth"
  384. >
  385. <template slot-scope="scope">
  386. <el-input
  387. size="mini"
  388. v-model.number="scope.row.sixteenth"
  389. class="input-view"
  390. oninput="value=value.replace(/[^0-9]/g,'')"
  391. />
  392. </template>
  393. </el-table-column>
  394. <el-table-column
  395. show-overflow-tooltip
  396. label="17"
  397. align="center"
  398. width="100"
  399. prop="seventeenth"
  400. >
  401. <template slot-scope="scope">
  402. <el-input
  403. size="mini"
  404. v-model.number="scope.row.seventeenth"
  405. class="input-view"
  406. oninput="value=value.replace(/[^0-9]/g,'')"
  407. />
  408. </template>
  409. </el-table-column>
  410. <el-table-column
  411. show-overflow-tooltip
  412. label="18"
  413. align="center"
  414. width="100"
  415. prop="eighteenth"
  416. >
  417. <template slot-scope="scope">
  418. <el-input
  419. size="mini"
  420. v-model.number="scope.row.eighteenth"
  421. class="input-view"
  422. oninput="value=value.replace(/[^0-9]/g,'')"
  423. />
  424. </template>
  425. </el-table-column>
  426. <el-table-column
  427. show-overflow-tooltip
  428. label="19"
  429. align="center"
  430. width="100"
  431. prop="nineteenth"
  432. >
  433. <template slot-scope="scope">
  434. <el-input
  435. size="mini"
  436. v-model.number="scope.row.nineteenth"
  437. class="input-view"
  438. oninput="value=value.replace(/[^0-9]/g,'')"
  439. />
  440. </template>
  441. </el-table-column>
  442. <el-table-column
  443. show-overflow-tooltip
  444. label="20"
  445. align="center"
  446. width="100"
  447. prop="twentieth"
  448. >
  449. <template slot-scope="scope">
  450. <el-input
  451. size="mini"
  452. v-model.number="scope.row.twentieth"
  453. class="input-view"
  454. oninput="value=value.replace(/[^0-9]/g,'')"
  455. />
  456. </template>
  457. </el-table-column>
  458. <el-table-column
  459. show-overflow-tooltip
  460. label="21"
  461. align="center"
  462. width="100"
  463. prop="twentyFirst"
  464. >
  465. <template slot-scope="scope">
  466. <el-input
  467. size="mini"
  468. v-model.number="scope.row.twentyFirst"
  469. class="input-view"
  470. oninput="value=value.replace(/[^0-9]/g,'')"
  471. />
  472. </template>
  473. </el-table-column>
  474. <el-table-column
  475. show-overflow-tooltip
  476. label="22"
  477. align="center"
  478. width="100"
  479. prop="twentySecond"
  480. >
  481. <template slot-scope="scope">
  482. <el-input
  483. size="mini"
  484. v-model.number="scope.row.twentySecond"
  485. class="input-view"
  486. oninput="value=value.replace(/[^0-9]/g,'')"
  487. />
  488. </template>
  489. </el-table-column>
  490. <el-table-column
  491. show-overflow-tooltip
  492. label="23"
  493. align="center"
  494. width="100"
  495. prop="twentyThird"
  496. >
  497. <template slot-scope="scope">
  498. <el-input
  499. size="mini"
  500. v-model.number="scope.row.twentyThird"
  501. class="input-view"
  502. oninput="value=value.replace(/[^0-9]/g,'')"
  503. />
  504. </template>
  505. </el-table-column>
  506. <el-table-column
  507. show-overflow-tooltip
  508. label="24"
  509. align="center"
  510. width="100"
  511. prop="twentyFourth"
  512. >
  513. <template slot-scope="scope">
  514. <el-input
  515. size="mini"
  516. v-model.number="scope.row.twentyFourth"
  517. class="input-view"
  518. oninput="value=value.replace(/[^0-9]/g,'')"
  519. />
  520. </template>
  521. </el-table-column>
  522. <el-table-column
  523. show-overflow-tooltip
  524. label="25"
  525. align="center"
  526. width="100"
  527. prop="twentyFifth"
  528. >
  529. <template slot-scope="scope">
  530. <el-input
  531. size="mini"
  532. v-model.number="scope.row.twentyFifth"
  533. class="input-view"
  534. oninput="value=value.replace(/[^0-9]/g,'')"
  535. />
  536. </template>
  537. </el-table-column>
  538. <el-table-column
  539. show-overflow-tooltip
  540. label="26"
  541. align="center"
  542. width="100"
  543. prop="twentySixth"
  544. >
  545. <template slot-scope="scope">
  546. <el-input
  547. size="mini"
  548. v-model.number="scope.row.twentySixth"
  549. class="input-view"
  550. oninput="value=value.replace(/[^0-9]/g,'')"
  551. />
  552. </template>
  553. </el-table-column>
  554. <el-table-column
  555. show-overflow-tooltip
  556. label="27"
  557. align="center"
  558. width="100"
  559. prop="twentySeventh"
  560. >
  561. <template slot-scope="scope">
  562. <el-input
  563. size="mini"
  564. v-model.number="scope.row.twentySeventh"
  565. class="input-view"
  566. oninput="value=value.replace(/[^0-9]/g,'')"
  567. />
  568. </template>
  569. </el-table-column>
  570. <el-table-column
  571. show-overflow-tooltip
  572. label="28"
  573. align="center"
  574. width="100"
  575. prop="twentyEighth"
  576. v-if="numDay > '27'"
  577. >
  578. <template slot-scope="scope">
  579. <el-input
  580. size="mini"
  581. v-model.number="scope.row.twentyEighth"
  582. class="input-view"
  583. oninput="value=value.replace(/[^0-9]/g,'')"
  584. />
  585. </template>
  586. </el-table-column>
  587. <el-table-column
  588. show-overflow-tooltip
  589. label="29"
  590. align="center"
  591. width="100"
  592. prop="twentyNinth"
  593. v-if="numDay > '28'"
  594. >
  595. <template slot-scope="scope">
  596. <el-input
  597. size="mini"
  598. v-model.number="scope.row.twentyNinth"
  599. class="input-view"
  600. oninput="value=value.replace(/[^0-9]/g,'')"
  601. />
  602. </template>
  603. </el-table-column>
  604. <el-table-column
  605. show-overflow-tooltip
  606. label="30"
  607. align="center"
  608. width="100"
  609. prop="thirtieth"
  610. v-if="numDay > '29'"
  611. >
  612. <template slot-scope="scope">
  613. <el-input
  614. size="mini"
  615. v-model.number="scope.row.thirtieth"
  616. class="input-view"
  617. oninput="value=value.replace(/[^0-9]/g,'')"
  618. />
  619. </template>
  620. </el-table-column>
  621. <el-table-column
  622. show-overflow-tooltip
  623. label="31"
  624. align="center"
  625. width="100"
  626. prop="thirtyFirst"
  627. v-if="numDay > '30'"
  628. >
  629. <template slot-scope="scope">
  630. <el-input
  631. size="mini"
  632. v-model.number="scope.row.thirtyFirst"
  633. class="input-view"
  634. oninput="value=value.replace(/[^0-9]/g,'')"
  635. />
  636. </template>
  637. </el-table-column>
  638. <el-table-column
  639. show-overflow-tooltip
  640. label="合计数量"
  641. align="center"
  642. width="100"
  643. prop="amount"
  644. />
  645. <el-table-column
  646. show-overflow-tooltip
  647. label="合计金额"
  648. align="center"
  649. width="100"
  650. prop="money"
  651. />
  652. </el-table-column>
  653. <el-table-column
  654. fixed="right"
  655. label="操作"
  656. align="center"
  657. width="50"
  658. >
  659. <template slot-scope="scope">
  660. <el-button
  661. type="text"
  662. size="mini"
  663. @click="useRowRemove(scope.row)"
  664. >删行</el-button
  665. >
  666. </template>
  667. </el-table-column>
  668. </el-table>
  669. </el-tab-pane>
  670. </el-tabs>
  671. <el-pagination
  672. background
  673. @size-change="useChangePageSize"
  674. @current-change="useCurrentChange"
  675. :current-page="queryParams.pageNum"
  676. :page-sizes="[10, 15, 20]"
  677. :page-size="100"
  678. layout="total, sizes, prev, pager, next, jumper"
  679. :total=total>
  680. </el-pagination>
  681. <div style="position: absolute; right: 10px; top: 5px; display: flex">
  682. <Choosematerial @useReset="useReset" :form="form"></Choosematerial>
  683. <Addmaterial @useReset="useReset" :form="form"></Addmaterial>
  684. </div>
  685. </div>
  686. </el-card>
  687. <el-card>
  688. <div class="btn_group">
  689. <el-col :span="1.5">
  690. <el-button size="mini" plain @click="useBack">取消</el-button>
  691. </el-col>
  692. <el-col :span="1.5" style="margin: 0 10px">
  693. <el-button type="primary" size="mini" plain @click="useSave"
  694. >保存</el-button
  695. >
  696. </el-col>
  697. </div>
  698. </el-card>
  699. </div>
  700. </template>
  701. <script>
  702. import { getAssess } from "@/api/business/spd/fillin/dailysale_quantity_assess";
  703. import { listItem,saveItems,delItems } from "@/api/business/spd/fillin/dailysale_quantity_assess_item";
  704. import Addmaterial from "./addmaterial";
  705. import Choosematerial from "./choosematerial";
  706. export default {
  707. name: "dailysaleQuantityAssessDetail",
  708. components: { Addmaterial, Choosematerial },
  709. props: ["openMode", "row"],
  710. data() {
  711. return {
  712. loading: false,
  713. //主表
  714. form: {},
  715. //所选月份天数
  716. numDay:31,
  717. //明细
  718. items:[],
  719. //明细查询条件
  720. queryParams:{
  721. dailysaleQuantityAssessId: null,
  722. pageNum:1,
  723. pageSize:10,
  724. },
  725. //总条数
  726. total: 0,
  727. activeName: "item",
  728. };
  729. },
  730. async created() {
  731. switch (this.openMode) {
  732. case "edit":
  733. await this.fetchAssess(this.row.id);
  734. await this.fetchItem(this.row.id);
  735. break;
  736. case "see":
  737. await this.fetchAssess(this.row.id);
  738. await this.fetchItem(this.row.id);
  739. break;
  740. }
  741. let arr = this.form.month.split('-');
  742. this.numDay = this.getDays(arr[0],arr[1]);
  743. },
  744. methods: {
  745. //保存
  746. async useSave() {
  747. this.loading = true;
  748. try {
  749. let res = null;
  750. if (this.openMode === "edit") {
  751. res = await saveItems(this.items);
  752. }
  753. if (res.code === 200) {
  754. this.$modal.msgSuccess("保存成功");
  755. this.useBack();
  756. }
  757. } catch (err) {
  758. console.error(err);
  759. } finally {
  760. this.loading = false;
  761. };
  762. },
  763. //查询详情
  764. async fetchAssess(id) {
  765. try {
  766. // try
  767. this.loading = true;
  768. const { code, data } = await getAssess(id);
  769. if (code === 200) {
  770. this.form = data;
  771. return true;
  772. } else {
  773. return false;
  774. }
  775. } catch (err) {
  776. // catch
  777. console.error(err);
  778. } finally {
  779. // finally
  780. this.loading = false;
  781. }
  782. },
  783. //查询明细
  784. async fetchItem(pid){
  785. this.loading = true;
  786. this.queryParams.dailysaleQuantityAssessId = pid;
  787. await listItem(this.queryParams).then(res => {
  788. if (res.code === 200) {
  789. this.items = res.rows
  790. this.total = res.total
  791. this.aggregate();
  792. }
  793. this.loading = false;
  794. })
  795. },
  796. //删行
  797. async useRowRemove(row) {
  798. let arr = [row.id];
  799. delItems(arr).then(res => {
  800. if (res.code === 200) {
  801. this.fetchItem(this.form.id);
  802. }
  803. })
  804. },
  805. //切换多页签
  806. useSwitchTab() {},
  807. //返回
  808. useBack() {
  809. this.$parent.useOpenDetail();
  810. this.$parent.useSearch();
  811. },
  812. //获取当前月份天数
  813. getDays(year, month){
  814. return new Date(year, month, 0).getDate()
  815. },
  816. //计算合计
  817. aggregate(){
  818. let num = ["first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth"
  819. ,"twentyFirst","seventeenth","eighteenth","nineteenth","twentieth","twentyFirst","twentySecond","twentyThird","twentyFourth","twentyFifth","twentySixth","twentySeventh","twentyEighth","twentyNinth","thirtieth","thirtyFirst"];
  820. for(let i in this.items){
  821. let c = 0;
  822. for(let j in num){
  823. c = (this.items[i][num[j]] || 0) - 0 + c;
  824. }
  825. this.items[i].amount = c;
  826. this.items[i].money = c * (this.items[i].price || 0);
  827. }
  828. console.log('this.items222',this.items);
  829. },
  830. //改变一页显示条数
  831. async useChangePageSize(val){
  832. this.queryParams.pageSize = val
  833. await saveItems(this.items);
  834. await this.fetchItem(this.form.id);
  835. },
  836. //翻页
  837. async useCurrentChange(val){
  838. this.queryParams.pageNum = val
  839. await saveItems(this.items);
  840. await this.fetchItem(this.form.id);
  841. },
  842. //重置
  843. useReset(){
  844. this.queryParams = {
  845. pageNum: 1,
  846. pageSize: 10,
  847. }
  848. this.fetchItem(this.form.id);
  849. this.aggregate();
  850. },
  851. },
  852. };
  853. </script>
  854. <style scoped lang="scss">
  855. .btn_group {
  856. width: 100%;
  857. margin: 20px 0;
  858. display: flex;
  859. justify-content: right;
  860. }
  861. .el-pagination {
  862. margin-top: 10px;
  863. text-align: right;
  864. }
  865. </style>