item-search.vue 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  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="batchNo">
  93. <el-input
  94. clearable
  95. v-model="params.batchNo"
  96. placeholder="请输入"
  97. ></el-input>
  98. </el-form-item>
  99. </el-col>
  100. <!-- <el-col :span="6">
  101. <el-form-item label="颜色:" prop="color">
  102. <el-input
  103. clearable
  104. v-model="params.color"
  105. placeholder="请输入"
  106. ></el-input>
  107. </el-form-item>
  108. </el-col> -->
  109. <!-- <el-col :span="6">-->
  110. <!-- <el-form-item label="组织机构:">-->
  111. <!-- <auth-selection-->
  112. <!-- v-model="params.deptIds"-->
  113. <!-- style="width: 100%"-->
  114. <!-- ></auth-selection>-->
  115. <!-- </el-form-item>-->
  116. <!-- </el-col>-->
  117. <el-col :span="6">
  118. <el-form-item label="所属工厂:" prop="factoryId">
  119. <el-select
  120. filterable
  121. placeholder="请选择"
  122. v-model="params.factoryId"
  123. clearable
  124. class="w100"
  125. >
  126. <el-option
  127. v-for="item in factoryList"
  128. :key="item.id"
  129. :label="item.name"
  130. :value="item.id"
  131. ></el-option>
  132. </el-select> </el-form-item
  133. ></el-col>
  134. <el-col :span="6">
  135. <el-form-item label="颜色:" prop="colorKey">
  136. <el-input
  137. clearable
  138. v-model="params.colorKey"
  139. placeholder="请输入"
  140. ></el-input>
  141. </el-form-item>
  142. </el-col>
  143. <el-col :span="6" v-if="params.dimension == 2">
  144. <el-form-item label="系统批次:" prop="systemBatchNo">
  145. <el-input
  146. clearable
  147. v-model.trim="params.systemBatchNo"
  148. placeholder="请输入完整系统内部批次号"
  149. ></el-input>
  150. </el-form-item>
  151. </el-col>
  152. <el-col :span="6">
  153. <el-form-item label="关键字:" prop="keyWord">
  154. <el-input
  155. clearable
  156. v-model="params.keyWord"
  157. placeholder="请输入"
  158. ></el-input>
  159. </el-form-item>
  160. </el-col>
  161. <el-col :span="18">
  162. <div class="ele-form-actions">
  163. <el-button
  164. type="primary"
  165. icon="el-icon-search"
  166. class="ele-btn-icon"
  167. @click="search"
  168. size="small"
  169. >
  170. 查询
  171. </el-button>
  172. <el-button
  173. @click="reset"
  174. icon="el-icon-refresh-left"
  175. size="small"
  176. type="primary"
  177. >重置</el-button
  178. >
  179. </div>
  180. </el-col>
  181. </el-row>
  182. </el-form>
  183. </div>
  184. </template>
  185. <script>
  186. import { getFactoryarea } from '@/api/main';
  187. import { getWarehouseList } from '@/api/wms';
  188. export default {
  189. data() {
  190. // 默认表单数据
  191. const defaultParams = {
  192. batchNo: '',
  193. systemBatchNo: '',
  194. informationName: '',
  195. warehouseId: '',
  196. manualBatchNo: '',
  197. barcodes: '',
  198. engrave: '',
  199. clientCode: '',
  200. modelType: '',
  201. specification: '',
  202. code: '',
  203. categoryCode: '',
  204. categoryModel: '',
  205. assetName: '',
  206. qualityResult: '',
  207. factoryId: '',
  208. dimension: '2',
  209. keyWord: '',
  210. colorKey: '',
  211. factoryId: '',
  212. color: ''
  213. };
  214. return {
  215. defaultParams,
  216. // 表单数据
  217. params: { ...defaultParams },
  218. qualityResultOption: [
  219. {
  220. value: 0,
  221. label: '合格'
  222. },
  223. {
  224. value: 1,
  225. label: '不合格'
  226. }
  227. ],
  228. qualityStatusOption: [
  229. {
  230. value: 1,
  231. label: '已质检'
  232. },
  233. {
  234. value: 0,
  235. label: '未质检'
  236. }
  237. ],
  238. warehouseList: [],
  239. dimension: '1',
  240. factoryList: []
  241. };
  242. },
  243. props: {
  244. type: {
  245. type: String,
  246. default: ''
  247. }
  248. },
  249. watch: {
  250. type(val) {
  251. if (val === 'warehouse') {
  252. this.dimension = '3';
  253. } else {
  254. this.dimension = '1';
  255. }
  256. }
  257. },
  258. computed: {
  259. // 是否开启响应式布局
  260. styleResponsive() {
  261. return this.$store.state.theme.styleResponsive;
  262. }
  263. },
  264. created() {
  265. this.getArguInfo();
  266. this.getFactoryList();
  267. },
  268. methods: {
  269. //获取工厂列表
  270. async getFactoryList() {
  271. const res = await getFactoryarea({
  272. pageNum: 1,
  273. size: 9999,
  274. type: 1
  275. });
  276. this.factoryList = res.list;
  277. },
  278. //搜索数据源
  279. async getArguInfo() {
  280. const { data } = await getWarehouseList();
  281. this.warehouseList = data;
  282. },
  283. /* 搜索 */
  284. search() {
  285. console.log(this.current);
  286. this.$emit('search', {
  287. ...this.params
  288. });
  289. },
  290. /* 重置 */
  291. reset() {
  292. this.params = { ...this.defaultParams };
  293. this.search();
  294. }
  295. }
  296. };
  297. </script>
  298. <style lang="scss" scoped>
  299. ::v-deep .el-row {
  300. display: flex;
  301. flex-wrap: wrap;
  302. }
  303. .ele-form-actions {
  304. float: right;
  305. }
  306. </style>