dictionaryDevice.vue 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <template>
  2. <div>
  3. <el-form>
  4. <el-form-item :label="`数据字典${typeName}类型`">
  5. <el-select v-model="SubTypeName" multiple collapse-tags placeholder="全部" filterable @change="changeType">
  6. <el-option v-for="item in DynEquipList" :key="item" :label="item" :value="item"></el-option>
  7. </el-select>
  8. </el-form-item>
  9. </el-form>
  10. </div>
  11. </template>
  12. <script>
  13. import { dynamicDynEquipList } from "@/api/scan/request";
  14. import { mapGetters, mapActions } from "vuex";
  15. export default {
  16. data() {
  17. return {
  18. DynEquipList: [], //数据字典设备类型
  19. timer: null,
  20. SubTypeName: []
  21. };
  22. },
  23. props: {
  24. Related: {},
  25. typeName: {}
  26. },
  27. created() {
  28. this.init();
  29. },
  30. computed: {
  31. ...mapGetters("layout", ["projectId"])
  32. },
  33. methods: {
  34. init() {
  35. let param = { Related: this.Related, TypeName: this.typeName };
  36. //数据字典
  37. dynamicDynEquipList(param, res => {
  38. if (res.Result == "success") {
  39. this.DynEquipList = res.Content;
  40. }
  41. });
  42. },
  43. changeType(val) {
  44. clearTimeout(this.timer);
  45. this.timer = setTimeout(() => {
  46. this.$emit("change", val);
  47. }, 500);
  48. }
  49. },
  50. watch: {
  51. projectId(n, o) {
  52. this.init();
  53. }
  54. }
  55. };
  56. </script>
  57. <style lang="less" scoped>
  58. /deep/ .el-form-item{
  59. margin-right: 0;
  60. }
  61. </style>