item-search.vue 6.6 KB

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