watch 监听
watch: { '$route.query.uuid': { handler(val) { this.uuid = val this.expertId = this.$route.query.expertId; this.getArgumentsDetail(); }, deep: true, //深度监听 immediate: true //是否立即执行 } }, watch: { '$route.query.uuid': function(val){ this.uuid = val this.expertId = this.$route.query.expertId; this.getArgumentsDetail(); }, deep: true, immediate: true },
elmenetui table 表单错位展示 方法1
this.$nextTick(()=>{
this.$refs.table.doLayout()
})
activated() { this.$refs['el-table1'].doLayout() },
npm run build 打包卡住不动
npm 源 超时的问题,改成淘宝镜像就好了
npm config set registry http://registry.cnpmjs.orgd
地区下拉树选择器
<el-col class="right-nav"> <el-form-item label="地区:" class="poptip-formItem" label-width="130px"> <Poptip placement="bottom-start" @on-popper-show="handleTree" style="width:200px;position:relative;"> <div class="tree-select-style" style="color: #515a6e" v-if="choosedName" > {{ choosedName }} </div> <div class="tree-select-style" v-else>请选择地区</div> <div slot="content"> <Tree :data="areaData" show-checkbox filterable @on-check-change="treeChange" ></Tree> </div> </Poptip> </el-form-item> </el-col>
choosedName: "",
//获取到地区列表 getBaseTreeData() { getBaseTreeData(this.areaType, this.areaCode).then((response) => { let treeData = []; switch (this.areaType) { case "ALL": case "PROVINCE": treeData = response.provinceList; break; case "CITY": treeData = response.cityList; break; case "COUNTY": treeData = response.countyList; break; default: treeData = response.provinceList; } this.areaData = this.walkData(treeData); }); }, walkData(data) { const treeData = []; data.forEach((item) => { switch (item.type) { case "PROVINCE": item.value = item.provinceId; break; case "CITY": item.value = item.cityId; break; case "COUNTY": item.value = item.countyId; break; case "STREET": item.value = item.streetId; break; default: item.value = item.uuid; item.title = item.programName; item.type = "PROGRAM"; break; } item.label = item.title; let obj = { label: item.label, value: item.value, title: item.title, type: item.type, id: item.id, countyId: item.countyId, }; if (item.children && item.children.length > 0) { if (item.type == this.areaType) { obj.children = this.walkData(item.children); } else { obj.children = []; } } treeData.push(obj); }); return treeData; },
//点击pop 弹窗 handleTree() { let areaData = JSON.parse(JSON.stringify(this.areaData)); let self = this; let walkData = (data) => { const treeData = []; data.forEach((item) => { item.label = item.title; const arrs = []; for (let s of self.selectedArr) { arrs.push(s.areaCode); } if (arrs.includes(item.value)) { item.checked = true; } else { item.checked = false; } const obj = { label: item.label, value: item.value, expand: true, checked: item.checked, title: item.title, type: item.type, id: item.id, countyId: item.countyId, }; if (item.children && item.children.length > 0) { obj.children = walkData(item.children); } treeData.push(obj); }); return treeData; }; let treeDataNew = walkData(areaData); this.areaData = treeDataNew; // this.getSelectNode(this.areaData) },
//改变地区选择 treeChange(arr, value) { console.log(arr, value, "选择的地区", this.areaData); this.selectedArr = []; if (arr && arr.length > 0) { this.choosedName = arr.map((itme) => itme.label).join(","); // this.selectedArr = arr.map(itme=>itme.countyId) for (let item of arr) { this.selectedArr.push({ areaCode: item.value, areaType: item.type, }); } console.log(selectedArr, "选择的地区", this.selectedArr); } else { this.choosedName = ""; this.selectedArr = []; } },