diff --git a/src/components/ConfigManager/SiteManagement.vue b/src/components/ConfigManager/SiteManagement.vue index f5013a7..22a2509 100644 --- a/src/components/ConfigManager/SiteManagement.vue +++ b/src/components/ConfigManager/SiteManagement.vue @@ -306,9 +306,9 @@ { label: "站点名称", value: "stName", minWidth: 120, tooltip: true }, { label: "站点类型", value: "stationTypeName", width: 120 }, { label: "站点安装时间", value: "createTime", minWidth: 120, tooltip: true }, - { label: "安装人", value: "person", width: 120 }, + { label: "安装人", value: "person", width: 100 }, { label: "关联设备", value: "equips", width: 100, type: "slot" }, - { label: "首次数据接入时间", value: "tt", minWidth: 120, tooltip: true }, + { label: "首次数据接入时间", value: "tt", minWidth: 150, tooltip: true }, ], handle: { fixed: "right", @@ -643,6 +643,7 @@ this.$refs[formName].resetFields(); }, visiblechange(visible) { + let that = this; if (visible) { this.timer = setInterval(() => { NodeList.prototype.forEach = Array.prototype.forEach; @@ -651,6 +652,9 @@ if (this.previousElementSibling) this.previousElementSibling.click(); }; + el.ondblclick = function() { + that.$refs.cascader.dropDownVisible = false; + }; }); }, 1000); } else { diff --git a/src/components/ConfigManager/SiteManagement.vue b/src/components/ConfigManager/SiteManagement.vue index f5013a7..22a2509 100644 --- a/src/components/ConfigManager/SiteManagement.vue +++ b/src/components/ConfigManager/SiteManagement.vue @@ -306,9 +306,9 @@ { label: "站点名称", value: "stName", minWidth: 120, tooltip: true }, { label: "站点类型", value: "stationTypeName", width: 120 }, { label: "站点安装时间", value: "createTime", minWidth: 120, tooltip: true }, - { label: "安装人", value: "person", width: 120 }, + { label: "安装人", value: "person", width: 100 }, { label: "关联设备", value: "equips", width: 100, type: "slot" }, - { label: "首次数据接入时间", value: "tt", minWidth: 120, tooltip: true }, + { label: "首次数据接入时间", value: "tt", minWidth: 150, tooltip: true }, ], handle: { fixed: "right", @@ -643,6 +643,7 @@ this.$refs[formName].resetFields(); }, visiblechange(visible) { + let that = this; if (visible) { this.timer = setInterval(() => { NodeList.prototype.forEach = Array.prototype.forEach; @@ -651,6 +652,9 @@ if (this.previousElementSibling) this.previousElementSibling.click(); }; + el.ondblclick = function() { + that.$refs.cascader.dropDownVisible = false; + }; }); }, 1000); } else { diff --git a/src/components/ConfigManager/device.vue b/src/components/ConfigManager/device.vue index eba3a4f..46fbd61 100644 --- a/src/components/ConfigManager/device.vue +++ b/src/components/ConfigManager/device.vue @@ -206,7 +206,7 @@ { label: "厂家简称", value: "equipFactoryAbb", type: "input", required: true }, { label: "联系人", value: "contactName", type: "input", required: true }, { label: "电话", value: "contactMobile", type: "input", required: true, validator: checkPhone }, - { label: "站点编号", value: "siteCode", type: "select", list: "siteList", filterable:true, required: true }, + { label: "所属站点", value: "siteCode", type: "select", list: "siteList", filterable:true, required: true }, ], rules: {}, }, diff --git a/src/components/ConfigManager/SiteManagement.vue b/src/components/ConfigManager/SiteManagement.vue index f5013a7..22a2509 100644 --- a/src/components/ConfigManager/SiteManagement.vue +++ b/src/components/ConfigManager/SiteManagement.vue @@ -306,9 +306,9 @@ { label: "站点名称", value: "stName", minWidth: 120, tooltip: true }, { label: "站点类型", value: "stationTypeName", width: 120 }, { label: "站点安装时间", value: "createTime", minWidth: 120, tooltip: true }, - { label: "安装人", value: "person", width: 120 }, + { label: "安装人", value: "person", width: 100 }, { label: "关联设备", value: "equips", width: 100, type: "slot" }, - { label: "首次数据接入时间", value: "tt", minWidth: 120, tooltip: true }, + { label: "首次数据接入时间", value: "tt", minWidth: 150, tooltip: true }, ], handle: { fixed: "right", @@ -643,6 +643,7 @@ this.$refs[formName].resetFields(); }, visiblechange(visible) { + let that = this; if (visible) { this.timer = setInterval(() => { NodeList.prototype.forEach = Array.prototype.forEach; @@ -651,6 +652,9 @@ if (this.previousElementSibling) this.previousElementSibling.click(); }; + el.ondblclick = function() { + that.$refs.cascader.dropDownVisible = false; + }; }); }, 1000); } else { diff --git a/src/components/ConfigManager/device.vue b/src/components/ConfigManager/device.vue index eba3a4f..46fbd61 100644 --- a/src/components/ConfigManager/device.vue +++ b/src/components/ConfigManager/device.vue @@ -206,7 +206,7 @@ { label: "厂家简称", value: "equipFactoryAbb", type: "input", required: true }, { label: "联系人", value: "contactName", type: "input", required: true }, { label: "电话", value: "contactMobile", type: "input", required: true, validator: checkPhone }, - { label: "站点编号", value: "siteCode", type: "select", list: "siteList", filterable:true, required: true }, + { label: "所属站点", value: "siteCode", type: "select", list: "siteList", filterable:true, required: true }, ], rules: {}, }, diff --git a/src/components/ConfigManager/project.vue b/src/components/ConfigManager/project.vue index 6e87663..0f34fa7 100644 --- a/src/components/ConfigManager/project.vue +++ b/src/components/ConfigManager/project.vue @@ -126,6 +126,7 @@ :label-width="projectFormInfo.labelWidth" :need-clear-nodes="projectFormInfo.needClearNodes" :cascader-options="projectFormInfo.cascaderOptions" + @currentAreaJwd="currentAreaJwd" @handleClick="handleClick" /> @@ -636,7 +637,6 @@ this.dialogInfo.visible = true; this.projectFormInfo.needClearNodes = false; this.projectFormInfo.cascaderOptions = this.removeEmptyChild(this.allCity); - console.log(8888,this.removeEmptyChild(this.allCity)); for (let key in data) { if (key in this.projectFormInfo.data) { this.projectFormInfo.data[key] = data[key]; @@ -652,7 +652,6 @@ case "submit": let submitType = this.dialogInfo.type; let submitApi, submitParams; - this.getCurrentCityJwd(this.projectFormInfo.data.area,this.projectFormInfo.cascaderOptions); const { lat, lon } = this.currentCity; this.projectFormInfo.data.longitude = lon; this.projectFormInfo.data.latitude = lat; @@ -994,17 +993,9 @@ }); return arr; }, - //遍历城市数组取得选中城市的经纬度,arr城市数组,id当前所选城市id - getCurrentCityJwd(id, arr) { - arr.forEach(item => { - if (item.id === id) { - this.currentCity = {...item}; - }else{ - if (item.children && item.children.length) { - this.getCurrentCityJwd(id, item.children); - } - } - }); + //获取子组件传来的所选城市节点 + currentAreaJwd(data) { + this.currentCity = data.data; } } }; diff --git a/src/components/ConfigManager/SiteManagement.vue b/src/components/ConfigManager/SiteManagement.vue index f5013a7..22a2509 100644 --- a/src/components/ConfigManager/SiteManagement.vue +++ b/src/components/ConfigManager/SiteManagement.vue @@ -306,9 +306,9 @@ { label: "站点名称", value: "stName", minWidth: 120, tooltip: true }, { label: "站点类型", value: "stationTypeName", width: 120 }, { label: "站点安装时间", value: "createTime", minWidth: 120, tooltip: true }, - { label: "安装人", value: "person", width: 120 }, + { label: "安装人", value: "person", width: 100 }, { label: "关联设备", value: "equips", width: 100, type: "slot" }, - { label: "首次数据接入时间", value: "tt", minWidth: 120, tooltip: true }, + { label: "首次数据接入时间", value: "tt", minWidth: 150, tooltip: true }, ], handle: { fixed: "right", @@ -643,6 +643,7 @@ this.$refs[formName].resetFields(); }, visiblechange(visible) { + let that = this; if (visible) { this.timer = setInterval(() => { NodeList.prototype.forEach = Array.prototype.forEach; @@ -651,6 +652,9 @@ if (this.previousElementSibling) this.previousElementSibling.click(); }; + el.ondblclick = function() { + that.$refs.cascader.dropDownVisible = false; + }; }); }, 1000); } else { diff --git a/src/components/ConfigManager/device.vue b/src/components/ConfigManager/device.vue index eba3a4f..46fbd61 100644 --- a/src/components/ConfigManager/device.vue +++ b/src/components/ConfigManager/device.vue @@ -206,7 +206,7 @@ { label: "厂家简称", value: "equipFactoryAbb", type: "input", required: true }, { label: "联系人", value: "contactName", type: "input", required: true }, { label: "电话", value: "contactMobile", type: "input", required: true, validator: checkPhone }, - { label: "站点编号", value: "siteCode", type: "select", list: "siteList", filterable:true, required: true }, + { label: "所属站点", value: "siteCode", type: "select", list: "siteList", filterable:true, required: true }, ], rules: {}, }, diff --git a/src/components/ConfigManager/project.vue b/src/components/ConfigManager/project.vue index 6e87663..0f34fa7 100644 --- a/src/components/ConfigManager/project.vue +++ b/src/components/ConfigManager/project.vue @@ -126,6 +126,7 @@ :label-width="projectFormInfo.labelWidth" :need-clear-nodes="projectFormInfo.needClearNodes" :cascader-options="projectFormInfo.cascaderOptions" + @currentAreaJwd="currentAreaJwd" @handleClick="handleClick" /> @@ -636,7 +637,6 @@ this.dialogInfo.visible = true; this.projectFormInfo.needClearNodes = false; this.projectFormInfo.cascaderOptions = this.removeEmptyChild(this.allCity); - console.log(8888,this.removeEmptyChild(this.allCity)); for (let key in data) { if (key in this.projectFormInfo.data) { this.projectFormInfo.data[key] = data[key]; @@ -652,7 +652,6 @@ case "submit": let submitType = this.dialogInfo.type; let submitApi, submitParams; - this.getCurrentCityJwd(this.projectFormInfo.data.area,this.projectFormInfo.cascaderOptions); const { lat, lon } = this.currentCity; this.projectFormInfo.data.longitude = lon; this.projectFormInfo.data.latitude = lat; @@ -994,17 +993,9 @@ }); return arr; }, - //遍历城市数组取得选中城市的经纬度,arr城市数组,id当前所选城市id - getCurrentCityJwd(id, arr) { - arr.forEach(item => { - if (item.id === id) { - this.currentCity = {...item}; - }else{ - if (item.children && item.children.length) { - this.getCurrentCityJwd(id, item.children); - } - } - }); + //获取子组件传来的所选城市节点 + currentAreaJwd(data) { + this.currentCity = data.data; } } }; diff --git a/src/components/common/PageForm/index.vue b/src/components/common/PageForm/index.vue index 253d1b2..9fbe98e 100644 --- a/src/components/common/PageForm/index.vue +++ b/src/components/common/PageForm/index.vue @@ -59,11 +59,7 @@ @visible-change="handleVisibleChange" :show-all-levels="true" v-model="data[item.value]" - > - - + /> { NodeList.prototype.forEach = Array.prototype.forEach; @@ -651,6 +652,9 @@ if (this.previousElementSibling) this.previousElementSibling.click(); }; + el.ondblclick = function() { + that.$refs.cascader.dropDownVisible = false; + }; }); }, 1000); } else { diff --git a/src/components/ConfigManager/device.vue b/src/components/ConfigManager/device.vue index eba3a4f..46fbd61 100644 --- a/src/components/ConfigManager/device.vue +++ b/src/components/ConfigManager/device.vue @@ -206,7 +206,7 @@ { label: "厂家简称", value: "equipFactoryAbb", type: "input", required: true }, { label: "联系人", value: "contactName", type: "input", required: true }, { label: "电话", value: "contactMobile", type: "input", required: true, validator: checkPhone }, - { label: "站点编号", value: "siteCode", type: "select", list: "siteList", filterable:true, required: true }, + { label: "所属站点", value: "siteCode", type: "select", list: "siteList", filterable:true, required: true }, ], rules: {}, }, diff --git a/src/components/ConfigManager/project.vue b/src/components/ConfigManager/project.vue index 6e87663..0f34fa7 100644 --- a/src/components/ConfigManager/project.vue +++ b/src/components/ConfigManager/project.vue @@ -126,6 +126,7 @@ :label-width="projectFormInfo.labelWidth" :need-clear-nodes="projectFormInfo.needClearNodes" :cascader-options="projectFormInfo.cascaderOptions" + @currentAreaJwd="currentAreaJwd" @handleClick="handleClick" /> @@ -636,7 +637,6 @@ this.dialogInfo.visible = true; this.projectFormInfo.needClearNodes = false; this.projectFormInfo.cascaderOptions = this.removeEmptyChild(this.allCity); - console.log(8888,this.removeEmptyChild(this.allCity)); for (let key in data) { if (key in this.projectFormInfo.data) { this.projectFormInfo.data[key] = data[key]; @@ -652,7 +652,6 @@ case "submit": let submitType = this.dialogInfo.type; let submitApi, submitParams; - this.getCurrentCityJwd(this.projectFormInfo.data.area,this.projectFormInfo.cascaderOptions); const { lat, lon } = this.currentCity; this.projectFormInfo.data.longitude = lon; this.projectFormInfo.data.latitude = lat; @@ -994,17 +993,9 @@ }); return arr; }, - //遍历城市数组取得选中城市的经纬度,arr城市数组,id当前所选城市id - getCurrentCityJwd(id, arr) { - arr.forEach(item => { - if (item.id === id) { - this.currentCity = {...item}; - }else{ - if (item.children && item.children.length) { - this.getCurrentCityJwd(id, item.children); - } - } - }); + //获取子组件传来的所选城市节点 + currentAreaJwd(data) { + this.currentCity = data.data; } } }; diff --git a/src/components/common/PageForm/index.vue b/src/components/common/PageForm/index.vue index 253d1b2..9fbe98e 100644 --- a/src/components/common/PageForm/index.vue +++ b/src/components/common/PageForm/index.vue @@ -59,11 +59,7 @@ @visible-change="handleVisibleChange" :show-all-levels="true" v-model="data[item.value]" - > - - + />