{"remainingRequest":"/Users/admin/projects/dms/src/dealer_admin/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/admin/projects/dms/src/dealer_admin/src/views/components/DealerSearch.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/admin/projects/dms/src/dealer_admin/src/views/components/DealerSearch.vue","mtime":1713161556000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport * as API from \"@/api/dealer.js\";\nexport default {\n  name: \"Dealer\",\n  components: {},\n  directives: {},\n  data() {\n    return {\n      searchTimer: null,\n      searchQuery:'',\n      selfChange:false,\n    };\n  },\n  props:[\"value\"],\n  model: {\n    prop: 'value',\n    event: 'selectDealer'\n  },\n  created() {\n    this.$forceUpdate();\n    this.init();\n  },\n  watch: {\n      value: {\n          handler(newValue, oldValue) {//只能写handler才能生效\n            if(this.selfChange){\n              this.selfChange = false;\n              return;\n            }\n            this.init();\n          },\n          // deep: true,//深度监听\n          // immediate: true//immediate设为true后，则监听的这个对象会立即输出，也就是说一刷新页面就会在控制台输出，\n      }\n  },\n  mounted(){\n\n  },\n  methods: {\n    async init(){\n      this.searchQuery = \"\";\n      if(this.value && this.value != undefined){\n        let res = await API.getSimpleDetail(this.value);\n        let {__error,result} = res;\n        if(__error == 0){\n          if(result.detail){\n            let detail = result.detail;\n            this.$emit(\"selectDealer\",detail._id);\n            this.$emit(\"choiceDealer\",{\n              \"value\":detail._id,\n              \"name\":detail.china_name\n            });\n            this.searchQuery = detail.china_name;\n          }\n        }\n      }\n    },\n    querySearchAsync(queryString, cb) {\n      if(this.searchTimer) {\n        window.clearTimeout(this.searchTimer);\n        this.searchTimer = null;\n      }\n\n      this.searchTimer = window.setTimeout(() => {\n        this.getList(queryString, cb);\n      },1000);\n    },\n    async getList(queryString,cb) {\n      this.listLoading = true;\n      let query = {\n        search: queryString,\n        page: 1,\n        limit: 5\n      }\n      const res = await API.getSimpleList(query);\n      let {list} = res.result;\n      let searchList = [];\n      list.map((v) => {\n        searchList.push({\n          \"value\":v._id,\n          \"name\":v.china_name\n        })\n      })\n      cb(searchList);\n    },\n    handleSelect(item) {\n      this.searchQuery = item.name;\n      this.$emit(\"selectDealer\",item.value);\n      this.$emit(\"choiceDealer\",item);\n      this.selfChange = true;\n    },\n    handleClear(){\n      this.$emit(\"selectDealer\",null);\n      this.$emit(\"choiceDealer\",null);\n    }\n  }\n};\n",null]}