index.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <template>
  2. <div class="wrap app-container">
  3. <div class="tools">
  4. <span class="text-df">结转日期:</span>
  5. <el-date-picker
  6. :clearable="false"
  7. v-model="date"
  8. size="mini"
  9. type="datetimerange"
  10. value-format="yyyy-MM-dd HH:mm:ss"
  11. :default-time="['00:00:00', '23:59:59']"
  12. range-separator="至"
  13. start-placeholder="开始日期"
  14. end-placeholder="结束日期">
  15. </el-date-picker>
  16. <el-button icon="el-icon-search" size="mini" type="primary" @click="search()">搜索</el-button>
  17. <el-button icon="el-icon-refresh" size="mini" @click="clear()">清空</el-button>
  18. <el-button size="mini" type="primary" @click="exportExcel">导出</el-button>
  19. <!--<el-button size="mini" type="primary" @click="print">打印</el-button>-->
  20. </div>
  21. <div class="content">
  22. <el-table :data="tableData" class="exptable" size="mini" style="width: 100%" :row-class-name="tableRowClassName">
  23. <el-table-column label="出入库方式" prop="name"></el-table-column>
  24. <el-table-column label="饮片">
  25. <el-table-column label="进价金额" prop="ypurchasePrice"></el-table-column>
  26. <el-table-column label="零售金额" prop="yretailPrice"></el-table-column>
  27. </el-table-column>
  28. <el-table-column label="颗粒剂">
  29. <el-table-column label="进价金额" prop="kpurchasePrice"></el-table-column>
  30. <el-table-column label="零售金额" prop="kretailPrice"></el-table-column>
  31. </el-table-column>
  32. <el-table-column label="膏方">
  33. <el-table-column label="进价金额" prop="gpurchasePrice"></el-table-column>
  34. <el-table-column label="零售金额" prop="gretailPrice"></el-table-column>
  35. </el-table-column>
  36. <el-table-column label="合计">
  37. <el-table-column label="进价金额" prop="countp"></el-table-column>
  38. <el-table-column label="零售金额" prop="countr"></el-table-column>
  39. </el-table-column>
  40. </el-table>
  41. <!-- <div class="page">
  42. <el-pagination
  43. @current-change="handleCurrentChange"
  44. :current-page="currentPage"
  45. :page-size="10"
  46. layout="total, prev, pager, next, jumper"
  47. :total="total">
  48. </el-pagination>
  49. </div> -->
  50. </div>
  51. </div>
  52. </template>
  53. <script>
  54. import { getReport, reportExport } from '@/api/inventory/inventory'
  55. import dayjs from 'dayjs'
  56. export default {
  57. data() {
  58. return {
  59. date: [],
  60. page: 1,
  61. currentPage: 1,
  62. total: 0,
  63. tableData: []
  64. }
  65. },
  66. mounted() {
  67. this.clear()
  68. },
  69. methods: {
  70. tableRowClassName({row, rowIndex}) {
  71. if (rowIndex === this.tableData.length - 1) {
  72. return 'warning-row';
  73. }
  74. return '';
  75. },
  76. getDataList () {
  77. if (!this.date || !this.date.length) {
  78. return this.$message.warning('请选择结转日期')
  79. }
  80. var form = {
  81. pharmacyId: localStorage.getItem('pharmacyId'),
  82. pageNum: this.page,
  83. pageSize: 10
  84. }
  85. if (this.date && this.date.length) {
  86. form.startTime = this.date[0]
  87. form.endTime = this.date[1]
  88. }
  89. getReport(form).then(res => {
  90. if (res.code == 200) {
  91. this.tableData = res.data
  92. }
  93. })
  94. },
  95. search () {
  96. this.page = 1
  97. this.getDataList()
  98. },
  99. clear() {
  100. this.date = [
  101. dayjs().startOf('month').format('YYYY-MM-DD HH:mm:ss'),
  102. dayjs().endOf('day').format('YYYY-MM-DD HH:mm:ss')
  103. ];
  104. this.search();
  105. },
  106. exportExcel () {
  107. if (!this.date || !this.date.length) {
  108. return this.$message.warning('请选择结转日期')
  109. }
  110. var startTime = ''
  111. var endTime = ''
  112. if (this.date && this.date.length) {
  113. startTime = this.date[0]
  114. endTime = this.date[1]
  115. }
  116. reportExport({
  117. pharmacyId: localStorage.getItem('pharmacyId'),
  118. startTime: startTime,
  119. endTime : endTime
  120. }).then(res => {
  121. this.$message.success(`导出 ${res.name} 成功`);
  122. })
  123. },
  124. handleCurrentChange(val) {
  125. this.page = val
  126. this.getDataList()
  127. },
  128. print () {}
  129. },
  130. };
  131. </script>
  132. <style>
  133. .exptable .warning-row {
  134. background: #F5F7FA;
  135. }
  136. </style>
  137. <style scoped lang="scss">
  138. .wrap {
  139. .text-df {
  140. font-size: 14px;
  141. }
  142. .content {
  143. padding-top: 0;
  144. }
  145. .page {
  146. text-align: center;
  147. margin-top: 20px;
  148. }
  149. .tools {
  150. margin-bottom: 20px;
  151. .el-date-editor {
  152. width: 320px;
  153. margin-right: 10px;
  154. }
  155. }
  156. }
  157. </style>