diff --git a/src/components/autocomplete/index.vue b/src/components/autocomplete/index.vue new file mode 100644 index 0000000..2fa6af3 --- /dev/null +++ b/src/components/autocomplete/index.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/src/views/product/components/add.vue b/src/views/product/components/add.vue index da4dc77..2e08e6f 100644 --- a/src/views/product/components/add.vue +++ b/src/views/product/components/add.vue @@ -27,14 +27,16 @@ - - - + + + import serve from "api/product.js"; -import refineryServe from "api/refineryInfo.js"; +import refineryInfoServe from "api/refineryInfo.js"; + +import autocomplete from "components/autocomplete/index.vue"; export default { + components: { + autocomplete, + }, props: { controlWindows: Object, }, data() { + let validatorRefineryId = (rule, value, callback) => { + if (this.form.refineryId) callback(); + else callback("请选择炼厂"); + }; return { form: {}, refineryList: [], + configAutocomplete: { + serveTarget: refineryInfoServe.findByEntity, + autocomplateKey: "refineryName", + valueKey: "refineryName", + placeholder: "炼厂名称", + querykey: "refineryId", + }, productTypeList: [ { label: "0#柴", @@ -123,7 +141,7 @@ export default { { required: true, message: "请选择产品类型", trigger: "change" }, ], refineryId: [ - { required: true, message: "请选择炼厂", trigger: "change" }, + { required: true, validator: validatorRefineryId, trigger: "change" }, ], belongLibrary: [ { required: true, message: "请输入所属炼厂库名", trigger: "blur" }, @@ -146,9 +164,6 @@ export default { }, }; }, - created() { - this.findByEntity(); - }, methods: { openDrawer() { let { id } = this.controlWindows.addInfo; @@ -159,6 +174,7 @@ export default { } }, submit() { + console.log("this.form", this.form); this.$refs["form"].validate((valid) => { if (valid) { this.judgeInterface(this.form).then((res) => { @@ -176,11 +192,26 @@ export default { else return serve.save(form); }, //炼厂list - findByEntity() { - refineryServe.findByEntity().then((res) => { - this.refineryList = res.data; - }); - }, + // findByEntity() { + // refineryServe.findByEntity().then((res) => { + // this.refineryList = res.data; + // }); + // }, + // 远程搜索 + // querySearchAsync(queryString, cb) { + // if (queryString) { + // refineryServe + // .findByEntity({ refineryName: queryString }) + // .then((res) => { + // let timeInstance = setTimeout(() => { + // clearTimeout(timeInstance); + // if (res.data.length) { + // cb(res.data); + // } else cb([]); + // }, 1000 * Math.random()); + // }); + // } else cb([]); + // }, closeWindow() { this.$emit("closeWindow"); this.form = {}; @@ -199,7 +230,8 @@ export default { padding: 20px; .el-input, .el-select, - .el-textarea { + .el-textarea, + .el-autocomplete { width: 300px; } } diff --git a/src/views/product/components/create.vue b/src/views/product/components/create.vue index 3a60235..e86c4d8 100644 --- a/src/views/product/components/create.vue +++ b/src/views/product/components/create.vue @@ -17,14 +17,16 @@ > - - - + + + @@ -70,16 +72,32 @@