stock-order.vue 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <template>
  2. <div class="stock-order">
  3. <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
  4. <el-form-item label="出入库类型">
  5. <el-select v-model="dataForm.recordType" placeholder="请选择">
  6. <el-option
  7. v-for="item in recordTypeOptions"
  8. :key="item.value"
  9. :label="item.label"
  10. :value="item.value">
  11. </el-option>
  12. </el-select>
  13. </el-form-item>
  14. <el-form-item label="申请人姓名">
  15. <user-component v-model="dataForm.userId"/>
  16. </el-form-item>
  17. <el-form-item label="申请日期">
  18. <el-date-picker
  19. v-model="dataForm.date"
  20. value-format="yyyy-MM-dd"
  21. type="daterange"
  22. range-separator="至"
  23. start-placeholder="开始日期"
  24. end-placeholder="结束日期">
  25. </el-date-picker>
  26. </el-form-item>
  27. <el-form-item>
  28. <el-button @click="getDataList()">查询</el-button>
  29. <el-button v-if="isAuth('wh:in-out-bound-ctl:inbound')" type="primary" @click="inBound()">入库申请</el-button>
  30. <el-button v-if="isAuth('wh:in-out-bound-ctl:outbound')" type="primary" @click="outBound()">出库申请</el-button>
  31. <!-- <el-button v-if="isAuth('sys:user:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>-->
  32. <!-- <el-button v-if="isAuth('sys:user:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>-->
  33. </el-form-item>
  34. </el-form>
  35. <el-table
  36. :data="dataList"
  37. border
  38. v-loading="dataListLoading"
  39. @selection-change="selectionChangeHandle"
  40. style="width: 100%;">
  41. <el-table-column
  42. type="selection"
  43. header-align="center"
  44. align="center"
  45. width="50">
  46. </el-table-column>
  47. <el-table-column
  48. label="序号"
  49. type="index"
  50. width="50"
  51. align="center">
  52. </el-table-column>
  53. <el-table-column
  54. prop="-"
  55. header-align="center"
  56. align="center"
  57. label="编码">
  58. </el-table-column>
  59. <el-table-column
  60. prop="recordType"
  61. header-align="center"
  62. align="center"
  63. label="申请单类别">
  64. </el-table-column>
  65. <el-table-column
  66. prop="state"
  67. header-align="center"
  68. align="center"
  69. label="申请状态">
  70. </el-table-column>
  71. <el-table-column
  72. prop="approver"
  73. header-align="center"
  74. align="center"
  75. label="当前审批员">
  76. </el-table-column>
  77. <el-table-column
  78. prop="-"
  79. header-align="center"
  80. align="center"
  81. label="申请时间">
  82. </el-table-column>
  83. <el-table-column
  84. prop="recordTime"
  85. header-align="center"
  86. align="center"
  87. label="入库时间">
  88. </el-table-column>
  89. <el-table-column
  90. prop="-"
  91. header-align="center"
  92. align="center"
  93. label="申请人">
  94. </el-table-column>
  95. <el-table-column
  96. fixed="right"
  97. header-align="center"
  98. align="center"
  99. width="150"
  100. label="操作">
  101. <template slot-scope="scope">
  102. <el-button v-if="isAuth('wh:inbound-record-ctl:info')" type="text" size="small" @click="details(scope.row.id)">查看</el-button>
  103. <el-button type="text" size="small" @click="exportItem(scope.row.id)">导出</el-button>
  104. <el-button type="text" size="small" @click="cancelItem(scope.row.id)">撤回</el-button>
  105. </template>
  106. </el-table-column>
  107. </el-table>
  108. <el-pagination
  109. @size-change="sizeChangeHandle"
  110. @current-change="currentChangeHandle"
  111. :current-page="pageIndex"
  112. :page-sizes="[10, 20, 50, 100]"
  113. :page-size="pageSize"
  114. :total="totalPage"
  115. layout="total, sizes, prev, pager, next, jumper">
  116. </el-pagination>
  117. <!-- 入库-->
  118. <stock-order-inbound v-if="inboundVisible" ref="inbound" @refreshDataList="getDataList"></stock-order-inbound>
  119. </div>
  120. </template>
  121. <script>
  122. import UserComponent from '../common/user-component'
  123. import StockOrderInbound from './stock-order-inbound'
  124. export default {
  125. name: 'stock-order',
  126. components: {StockOrderInbound, UserComponent},
  127. data () {
  128. return {
  129. inboundVisible: false,
  130. dataForm: {
  131. userId: '',
  132. date: '',
  133. recordType: null
  134. },
  135. recordTypeOptions: [
  136. {
  137. value: null,
  138. label: '请选择'
  139. },
  140. {
  141. value: '0',
  142. label: '入库'
  143. },
  144. {
  145. value: '1',
  146. label: '出库'
  147. }
  148. ],
  149. dataList: [],
  150. pageIndex: 1,
  151. pageSize: 10,
  152. totalPage: 0,
  153. dataListLoading: false,
  154. dataListSelections: []
  155. }
  156. },
  157. methods: {
  158. // 获取数据列表
  159. getDataList () {
  160. this.dataListLoading = true
  161. this.$http({
  162. url: this.$http.adornUrl('/biz-service/inbound-record-ctl/list'),
  163. method: 'get',
  164. params: this.$http.adornParams({
  165. 'current': this.pageIndex,
  166. 'size': this.pageSize,
  167. 'userId': this.dataForm.userId,
  168. 'beginTime': this.dataForm.date[0],
  169. 'endTime': this.dataForm.date[1],
  170. 'recordType': this.dataForm.recordType
  171. })
  172. }).then(({data}) => {
  173. if (data && data.code === '200') {
  174. this.dataList = data.data.records
  175. this.totalPage = Number(data.data.total)
  176. } else {
  177. this.dataList = []
  178. this.totalPage = 0
  179. }
  180. this.dataListLoading = false
  181. })
  182. },
  183. // 每页数
  184. sizeChangeHandle (val) {
  185. this.pageSize = val
  186. this.pageIndex = 1
  187. this.getDataList()
  188. },
  189. // 当前页
  190. currentChangeHandle (val) {
  191. this.pageIndex = val
  192. this.getDataList()
  193. },
  194. // 多选
  195. selectionChangeHandle (val) {
  196. this.dataListSelections = val
  197. },
  198. // 入库申请
  199. inBound () {
  200. this.inboundVisible = true
  201. this.$nextTick(() => {
  202. this.$refs.inbound.init()
  203. })
  204. }
  205. }
  206. }
  207. </script>
  208. <style scoped>
  209. </style>