inventoryDetails.vue 7.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. <template>
  2. <div>
  3. <div style="display: flex;align-items: center;justify-content: space-between;margin-bottom:10px;">
  4. <div>
  5. <!-- 耗材类别:
  6. <el-select v-model="value" size="small" placeholder="请选择">
  7. <el-option
  8. v-for="item in options"
  9. :key="item.value"
  10. :label="item.label"
  11. :value="item.value">
  12. </el-option>
  13. </el-select> -->
  14. <!-- 停用状态:
  15. <el-select v-model="value" size="small" placeholder="请选择">
  16. <el-option
  17. v-for="item in options"
  18. :key="item.value"
  19. :label="item.label"
  20. :value="item.value">
  21. </el-option>
  22. </el-select> -->
  23. <el-input
  24. size="small"
  25. style="width: 200px;margin-left:10px;"
  26. class="filter-item"
  27. v-model.trim="searchKey"
  28. placeholder=""
  29. />
  30. <el-button
  31. size="small"
  32. class="filter-item"
  33. type="primary"
  34. icon="el-icon-search"
  35. @click="search"
  36. >搜索</el-button
  37. >
  38. </div>
  39. <div>
  40. <el-button size="small" type="primary" @click="print">打印</el-button>
  41. <el-button size="small" type="primary" @click="exportList">导出</el-button>
  42. </div>
  43. </div>
  44. <el-table :data="tableData" border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }" @selection-change="changePrice">
  45. <el-table-column type="selection" width="55" align="center"> </el-table-column>
  46. <el-table-column prop="date" label="耗材名称" width="100" align="center">
  47. <template slot-scope="scope">
  48. {{scope.row.good_name}}
  49. </template>
  50. </el-table-column>
  51. <!-- <el-table-column prop="date" label="类别" width="100">
  52. </el-table-column> -->
  53. <el-table-column prop="name" label="规格" width="100" align="center">
  54. <template slot-scope="scope">
  55. {{scope.row.specification_name}}
  56. </template>
  57. </el-table-column>
  58. <el-table-column prop="name" label="单位" width="100" align="center">
  59. <template slot-scope="scope">
  60. {{scope.row.warehousing_unit}}
  61. </template>
  62. </el-table-column>
  63. <el-table-column prop="name" label="库存数量" width="100" align="center">
  64. <template slot-scope="scope">
  65. {{scope.row.total}}
  66. </template>
  67. </el-table-column>
  68. <el-table-column prop="name" label="进价" width="100" align="center">
  69. <template slot-scope="scope">
  70. {{scope.row.buy_price}}
  71. </template>
  72. </el-table-column>
  73. <el-table-column prop="name" label="零售价" width="100" align="center">
  74. <template slot-scope="scope">
  75. {{scope.row.packing_price}}
  76. </template>
  77. </el-table-column>
  78. <el-table-column prop="name" label="零售总价" width="100" align="center">
  79. <template slot-scope="scope">
  80. {{scope.row.total * scope.row.packing_price}}
  81. </template>
  82. </el-table-column>
  83. <!-- <el-table-column prop="name" label="产地" width="100">
  84. {{scope.row.now_g}}
  85. </el-table-column> -->
  86. <el-table-column prop="name" label="生产厂商" width="100" align="center">
  87. <template slot-scope="scope">
  88. {{scope.row.manufacturer}}
  89. </template>
  90. </el-table-column>
  91. <el-table-column prop="name" label="实盘点" width="100" align="center">
  92. <template slot-scope="scope">
  93. {{scope.row.count}}
  94. </template>
  95. </el-table-column>
  96. <el-table-column prop="name" label="亏损价格" width="100" align="center">
  97. </el-table-column>
  98. <el-table-column prop="name" label="生产日期" width="100" align="center">
  99. </el-table-column>
  100. <el-table-column prop="name" label="有效日期" width="100" align="center">
  101. </el-table-column>
  102. </el-table>
  103. <el-pagination
  104. @size-change="handleSizeChange"
  105. @current-change="handleCurrentChange"
  106. :page-sizes="[10, 20, 40, 100]"
  107. :page-size="10"
  108. background
  109. style="margin-top:20px;text-align: right"
  110. layout="total, sizes, prev, pager, next, jumper"
  111. :total="total"
  112. >
  113. </el-pagination>
  114. </div>
  115. </template>
  116. <script>
  117. import { getInventoryDetailList } from "@/api/stock"
  118. export default {
  119. name: "inventory",
  120. data() {
  121. return{
  122. searchKey:'',
  123. value1:'',
  124. value2:'',
  125. tableData: [],
  126. dialogVisible:false,
  127. form: {
  128. name: '',
  129. },
  130. total: 0,
  131. limit:10,
  132. page:1,
  133. ids:"",
  134. }
  135. },
  136. methods:{
  137. search(){
  138. },
  139. print(){
  140. if(this.ids == ""){
  141. this.$message.error("请勾选打印数据")
  142. return false
  143. }
  144. this.$router.push({path:'/stock/inventoryDetailPrint?ids='+this.ids})
  145. },
  146. handleSizeChange(){},
  147. handleCurrentChange(){},
  148. getlist(){
  149. var params = {
  150. keyword:this.searchKey,
  151. limit:this.limit,
  152. page:this.page,
  153. }
  154. getInventoryDetailList(params).then(response=>{
  155. if(response.data.state == 1){
  156. var list = response.data.data.list
  157. this.tableData = list
  158. this.total = response.data.data.total
  159. }
  160. })
  161. },
  162. changePrice(val){
  163. console.log("val2323323322323",val)
  164. var arr = []
  165. for(let i=0;i<val.length;i++){
  166. arr.push(val[i].id)
  167. }
  168. var str = arr.join(",")
  169. console.log("str",str)
  170. this.ids = str
  171. },
  172. exportList(){
  173. import('@/vendor/Export2Excel').then(excel => {
  174. const tHeader = ['耗材名称', '规格', '单位','零售价','当前库存','盘点数','亏损金额']
  175. const filterVal = ['good_name', 'specification_name', 'warehousing_unit','packing_price','total','count','']
  176. const data = this.formatJson(filterVal, this.tableData)
  177. excel.export_json_to_excel({
  178. header: tHeader,
  179. data,
  180. filename: '耗材盘点明细'
  181. })
  182. this.downloadLoading = false
  183. })
  184. },
  185. formatJson(filterVal, jsonData) {
  186. return jsonData.map(v => filterVal.map(j => v[j]));
  187. },
  188. },
  189. created(){
  190. this.getlist()
  191. },
  192. mounted() {
  193. },
  194. };
  195. </script>