You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

211 lines
9.7 KiB

​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
  1. <template>
  2. <div class="mod-config">
  3. <el-form :inline="true" label-position="top">
  4. <el-form-item label="工厂编码">
  5. <el-input v-model="site" style="width: 100px" disabled></el-input>
  6. </el-form-item>
  7. <el-form-item label="入库状态">
  8. <el-select v-model="queryHeaderData.inStockFlag" placeholder="请选择" style="width: 120px;">
  9. <el-option label="全部" value=""></el-option>
  10. <el-option label="未入库" value="X"></el-option>
  11. <el-option label="已出库" value="N"></el-option>
  12. <el-option label="在库" value="Y"></el-option>
  13. </el-select>
  14. </el-form-item>
  15. <el-form-item label="本期盘点">
  16. <el-select v-model="queryHeaderData.countFlag" placeholder="请选择" style="width: 120px;">
  17. <el-option label="全部(ALL)" value=""></el-option>
  18. <el-option label="Y" value="Y"></el-option>
  19. <el-option label="N" value="N"></el-option>
  20. </el-select>
  21. </el-form-item>
  22. <el-form-item label="物料编号(手动加%)">
  23. <el-input style="width: 120px;" v-model="queryHeaderData.partNo" @keyup.enter.native="getDataList()"></el-input>
  24. </el-form-item>
  25. <el-form-item label="批次号">
  26. <el-input style="width: 120px;" v-model="queryHeaderData.batchNo" @keyup.enter.native="getDataList()"></el-input>
  27. </el-form-item>
  28. <el-form-item label="库位">
  29. <el-input style="width: 120px;" v-model="queryHeaderData.locationId" @keyup.enter.native="getDataList()"></el-input>
  30. </el-form-item>
  31. <el-form-item label="标签ID">
  32. <el-input style="width: 120px;" v-model="queryHeaderData.unitId" @keyup.enter.native="getDataList()"></el-input>
  33. </el-form-item>
  34. <el-form-item label="物料描述">
  35. <el-input style="width: 120px;" v-model="queryHeaderData.partDesc" @keyup.enter.native="getDataList()"></el-input>
  36. </el-form-item>
  37. <el-form-item label="所在栈板">
  38. <el-input style="width: 120px;" v-model="queryHeaderData.palletId" @keyup.enter.native="getDataList()"></el-input>
  39. </el-form-item>
  40. <el-form-item label="栈板所在区域">
  41. <el-input style="width: 120px;" v-model="queryHeaderData.stationArea" @keyup.enter.native="getDataList()"></el-input>
  42. </el-form-item>
  43. <el-form-item style="margin-top: 20px;">
  44. <el-button @click="getDataList()" type="primary">{{ $t('warehouse.common.search') }}</el-button>
  45. <el-button @click="resetQuery()">{{ $t('warehouse.common.reset') }}</el-button>
  46. </el-form-item>
  47. </el-form>
  48. <el-table
  49. :height="height"
  50. :data="dataList"
  51. border
  52. v-loading="dataListLoading"
  53. style="width: 100%; margin-bottom: 15px;">
  54. <el-table-column prop="unitId" label="标签ID" min-width="150" header-align="center" align="center"></el-table-column>
  55. <el-table-column prop="site" label="工厂" min-width="80" header-align="center" align="center"></el-table-column>
  56. <el-table-column prop="partNo" label="物料编号" min-width="120" header-align="center" align="center"></el-table-column>
  57. <el-table-column prop="qty" label="数量" min-width="80" header-align="center" align="right"></el-table-column>
  58. <el-table-column prop="palletId" label="所在栈板" min-width="90" header-align="center" align="center"></el-table-column>
  59. <el-table-column prop="callingFlag" label="是否调用" min-width="80" header-align="center" align="center"></el-table-column>
  60. <el-table-column prop="remark" label="最近一次调用备注" min-width="180" header-align="center" align="left" show-overflow-tooltip></el-table-column>
  61. <el-table-column prop="position" label="位置" min-width="70" header-align="center" align="center"></el-table-column>
  62. <el-table-column prop="layer" label="层数" min-width="70" header-align="center" align="center"></el-table-column>
  63. <el-table-column prop="stationId" label="站点" min-width="80" header-align="center" align="center"></el-table-column>
  64. <el-table-column prop="stationArea" label="区域" min-width="90" header-align="center" align="center"></el-table-column>
  65. <el-table-column prop="asrsFloor" label="立库楼层" min-width="80" header-align="center" align="center"></el-table-column>
  66. <el-table-column prop="batchNo" label="批次号" min-width="120" header-align="center" align="center"></el-table-column>
  67. <el-table-column prop="locationId" label="库位" min-width="100" header-align="center" align="center"></el-table-column>
  68. <el-table-column prop="warehouseId" label="仓库" min-width="100" header-align="center" align="center"></el-table-column>
  69. <el-table-column prop="partDesc" label="物料描述" min-width="150" header-align="center" align="center" show-overflow-tooltip></el-table-column>
  70. <el-table-column prop="height" label="高度(mm)" min-width="100" header-align="center" align="right"></el-table-column>
  71. <el-table-column prop="reserveFlag" label="是否预留" min-width="80" header-align="center" align="center">
  72. <template slot-scope="scope">{{ scope.row.reserveFlag === 'Y' ? '是' : '否' }}</template>
  73. </el-table-column>
  74. <el-table-column prop="reserveOrderRef1" label="预留单号1" min-width="120" header-align="center" align="center"></el-table-column>
  75. <el-table-column prop="reserveOrderRef2" label="预留单号2" min-width="120" header-align="center" align="center"></el-table-column>
  76. <el-table-column prop="reserveOrderRef3" label="预留单号3" min-width="120" header-align="center" align="center"></el-table-column>
  77. <el-table-column prop="wdr" label="WDR" min-width="80" header-align="center" align="center"></el-table-column>
  78. <el-table-column prop="engChgLevel" label="版本号" min-width="80" header-align="center" align="center"></el-table-column>
  79. <el-table-column prop="expiredDate" label="失效日期" min-width="120" header-align="center" align="center"></el-table-column>
  80. <el-table-column prop="receiveDate" label="接收日期" min-width="120" header-align="center" align="center"></el-table-column>
  81. <el-table-column prop="countFlag" label="本期盘点" min-width="90" header-align="center" align="center"></el-table-column>
  82. <el-table-column prop="lastCountDate" label="最后盘点日期" min-width="150" header-align="center" align="center">
  83. <template slot-scope="scope">{{ formatDate(scope.row.lastCountDate) }}</template>
  84. </el-table-column>
  85. </el-table>
  86. <el-pagination
  87. @size-change="sizeChangeHandle"
  88. @current-change="currentChangeHandle"
  89. :current-page="pageIndex"
  90. :page-sizes="[20, 50, 100]"
  91. :page-size="pageSize"
  92. :total="totalPage"
  93. layout="total, sizes, prev, pager, next, jumper">
  94. </el-pagination>
  95. </div>
  96. </template>
  97. <script>
  98. import { haiAnGetHandlingUnitLabelListLocation } from '@/api/haianWarehouse/labelQueryLocation'
  99. export default {
  100. name: 'labelQueryLocation54',
  101. data() {
  102. return {
  103. site: this.$store.state.user.site,
  104. dataList: [],
  105. pageIndex: 1,
  106. pageSize: 50,
  107. totalPage: 0,
  108. dataListLoading: false,
  109. height: 500,
  110. queryHeaderData: {
  111. inStockFlag: 'Y',
  112. countFlag: '',
  113. partNo: '',
  114. batchNo: '',
  115. locationId: '',
  116. unitId: '',
  117. partDesc: '',
  118. stationArea: '',
  119. palletId: ''
  120. }
  121. }
  122. },
  123. activated() {
  124. this.getDataList()
  125. this.getHeight()
  126. },
  127. mounted() {
  128. this.getDataList()
  129. this.getHeight()
  130. },
  131. methods: {
  132. // 标签查询沿用旧handling_unit,但后端会通过haian_pallet_detail关联海安托盘位置信息 - rqrq
  133. getDataList() {
  134. this.dataListLoading = true
  135. this.site = this.$store.state.user.site
  136. const params = {
  137. page: this.pageIndex,
  138. size: this.pageSize,
  139. site: this.site,
  140. ...this.queryHeaderData
  141. }
  142. haiAnGetHandlingUnitLabelListLocation(params).then(({ data }) => {
  143. if (data && data.code === 0) {
  144. this.dataList = data.page.list || []
  145. this.totalPage = data.page.totalCount || 0
  146. } else {
  147. this.dataList = []
  148. this.totalPage = 0
  149. this.$alert(data.msg || this.$t('warehouse.message.queryFailed'), this.$t('warehouse.common.error'), { confirmButtonText: this.$t('warehouse.common.confirm') })
  150. }
  151. }).catch(() => {
  152. this.dataList = []
  153. this.totalPage = 0
  154. this.$alert('查询失败,请稍后重试', this.$t('warehouse.common.error'), { confirmButtonText: this.$t('warehouse.common.confirm') })
  155. }).finally(() => {
  156. this.dataListLoading = false
  157. })
  158. },
  159. resetQuery() {
  160. this.queryHeaderData = {
  161. inStockFlag: 'Y',
  162. countFlag: '',
  163. partNo: '',
  164. batchNo: '',
  165. locationId: '',
  166. unitId: '',
  167. partDesc: '',
  168. stationArea: '',
  169. palletId: ''
  170. }
  171. this.pageIndex = 1
  172. this.getDataList()
  173. },
  174. sizeChangeHandle(val) {
  175. this.pageSize = val
  176. this.pageIndex = 1
  177. this.getDataList()
  178. },
  179. currentChangeHandle(val) {
  180. this.pageIndex = val
  181. this.getDataList()
  182. },
  183. formatDate(date) {
  184. if (!date) return ''
  185. const d = new Date(date)
  186. const year = d.getFullYear()
  187. const month = String(d.getMonth() + 1).padStart(2, '0')
  188. const day = String(d.getDate()).padStart(2, '0')
  189. const hours = String(d.getHours()).padStart(2, '0')
  190. const minutes = String(d.getMinutes()).padStart(2, '0')
  191. const seconds = String(d.getSeconds()).padStart(2, '0')
  192. return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
  193. },
  194. getHeight() {
  195. this.$nextTick(() => {
  196. this.height = window.innerHeight - 220
  197. })
  198. }
  199. }
  200. }
  201. </script>
  202. <style scoped>
  203. .mod-config .el-form-item {
  204. margin-bottom: 15px;
  205. }
  206. </style>