item-search.vue 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. <!-- 搜索表单 -->
  2. <template>
  3. <div class="itemSearch">
  4. <el-form
  5. label-width="80px"
  6. label-position="left"
  7. class="ele-form-search"
  8. @keyup.enter.native="search"
  9. @submit.native.prevent
  10. >
  11. <el-row :gutter="15">
  12. <el-col :span="6">
  13. <el-form-item label="仓库:" prop="warehouseId">
  14. <template>
  15. <el-select
  16. clearable
  17. style="width: 100%"
  18. v-model="params.warehouseId"
  19. placeholder="请选择"
  20. >
  21. <el-option
  22. v-for="item in warehouseList"
  23. :label="item.name"
  24. :value="item.id"
  25. :key="item.id"
  26. >
  27. </el-option>
  28. </el-select>
  29. </template>
  30. </el-form-item>
  31. </el-col>
  32. <el-col :span="6" style="height: 43px">
  33. <el-form-item label="列表维度:" prop="dimension">
  34. <template>
  35. <el-select
  36. style="width: 100%"
  37. @change="search"
  38. v-model="params.dimension"
  39. placeholder="请选择"
  40. >
  41. <el-option label="批次维度" value="2"></el-option>
  42. <el-option label="物品维度" value="1"></el-option>
  43. </el-select>
  44. </template>
  45. </el-form-item>
  46. </el-col>
  47. <!-- <el-col :span="6">
  48. <el-form-item label="物品编码:" prop="categoryCode">
  49. <el-input
  50. clearable
  51. placeholder="请输入"
  52. v-model.trim="params.categoryCode"
  53. disabled
  54. ></el-input>
  55. </el-form-item>
  56. </el-col> -->
  57. <el-col :span="6">
  58. <el-form-item label="物品名称:" prop="categoryName">
  59. <el-input
  60. clearable
  61. v-model="params.categoryName"
  62. placeholder="请输入"
  63. ></el-input>
  64. </el-form-item>
  65. </el-col>
  66. <el-col :span="6">
  67. <el-form-item label="型号:" prop="categoryModel">
  68. <el-input
  69. clearable
  70. v-model="params.categoryModel"
  71. placeholder="请输入"
  72. ></el-input>
  73. </el-form-item>
  74. </el-col>
  75. <el-col :span="6">
  76. <el-form-item label="规格:" prop="specification">
  77. <el-input
  78. clearable
  79. v-model="params.specification"
  80. placeholder="请输入"
  81. ></el-input>
  82. </el-form-item>
  83. </el-col>
  84. <!-- <el-col :span="6">-->
  85. <!-- <el-form-item label="组织机构:">-->
  86. <!-- <auth-selection-->
  87. <!-- v-model="params.deptIds"-->
  88. <!-- style="width: 100%"-->
  89. <!-- ></auth-selection>-->
  90. <!-- </el-form-item>-->
  91. <!-- </el-col>-->
  92. <el-col :span="6">
  93. <el-form-item label="所属工厂" prop="factoryId">
  94. <el-select
  95. filterable
  96. placeholder="请选择"
  97. v-model="params.factoryId"
  98. clearable
  99. class="w100"
  100. >
  101. <el-option
  102. v-for="item in factoryList"
  103. :key="item.id"
  104. :label="item.name"
  105. :value="item.id"
  106. ></el-option>
  107. </el-select> </el-form-item
  108. ></el-col>
  109. <el-col :span="6">
  110. <div class="ele-form-actions">
  111. <el-button
  112. type="primary"
  113. icon="el-icon-search"
  114. class="ele-btn-icon"
  115. @click="search"
  116. size="small"
  117. >
  118. 查询
  119. </el-button>
  120. <el-button
  121. @click="reset"
  122. icon="el-icon-refresh-left"
  123. size="small"
  124. type="primary"
  125. >重置</el-button
  126. >
  127. </div>
  128. </el-col>
  129. </el-row>
  130. </el-form>
  131. </div>
  132. </template>
  133. <script>
  134. import { getFactoryarea } from '@/api/main';
  135. import { getWarehouseList } from '@/api/wms';
  136. export default {
  137. data() {
  138. // 默认表单数据
  139. const defaultParams = {
  140. batchNo: '',
  141. informationName: '',
  142. warehouseId: '',
  143. manualBatchNo: '',
  144. barcodes: '',
  145. engrave: '',
  146. clientCode: '',
  147. modelType: '',
  148. specification: '',
  149. code: '',
  150. categoryCode: '',
  151. assetName: '',
  152. qualityResult: '',
  153. factoryId: '',
  154. dimension: '2'
  155. };
  156. return {
  157. // 表单数据
  158. params: { ...defaultParams },
  159. qualityResultOption: [
  160. {
  161. value: 0,
  162. label: '合格'
  163. },
  164. {
  165. value: 1,
  166. label: '不合格'
  167. }
  168. ],
  169. qualityStatusOption: [
  170. {
  171. value: 1,
  172. label: '已质检'
  173. },
  174. {
  175. value: 0,
  176. label: '未质检'
  177. }
  178. ],
  179. warehouseList: [],
  180. dimension: '1',
  181. factoryList: []
  182. };
  183. },
  184. props: {
  185. type: {
  186. type: String,
  187. default: ''
  188. }
  189. },
  190. watch: {
  191. type(val) {
  192. if (val === 'warehouse') {
  193. this.dimension = '3';
  194. } else {
  195. this.dimension = '1';
  196. }
  197. }
  198. },
  199. computed: {
  200. // 是否开启响应式布局
  201. styleResponsive() {
  202. return this.$store.state.theme.styleResponsive;
  203. }
  204. },
  205. created() {
  206. this.getArguInfo();
  207. this.getFactoryList();
  208. },
  209. methods: {
  210. //获取工厂列表
  211. async getFactoryList() {
  212. const res = await getFactoryarea({
  213. pageNum: 1,
  214. size: 9999,
  215. type: 1
  216. });
  217. this.factoryList = res.list;
  218. },
  219. //搜索数据源
  220. async getArguInfo() {
  221. const { data } = await getWarehouseList();
  222. this.warehouseList = data;
  223. },
  224. /* 搜索 */
  225. search() {
  226. console.log(this.current);
  227. this.$emit('search', {
  228. ...this.params
  229. });
  230. },
  231. /* 重置 */
  232. reset() {
  233. this.params = { ...this.defaultParams };
  234. this.search();
  235. }
  236. }
  237. };
  238. </script>
  239. <style lang="scss" scoped>
  240. ::v-deep .el-row {
  241. display: flex;
  242. flex-wrap: wrap;
  243. }
  244. .ele-form-actions {
  245. float: right;
  246. }
  247. </style>