This commit is contained in:
曹辉 2023-05-17 16:44:14 +08:00
parent 5a3c5f8b3d
commit f3ace8e13e
2 changed files with 108 additions and 108 deletions

View File

@ -77,3 +77,11 @@ export function updateRemoteSigns(id, remoteSigns) {
method: 'POST' method: 'POST'
}) })
} }
//同步百度地图
export function getAreaList(keyword, areaLevel, parentCode, parentId) {
return request({
url: `/system/area/getAreaList?keyword=${keyword}&areaLevel=${areaLevel}&parentCode=${parentCode}&parentId=${parentId}`,
method: 'get'
})
}

View File

@ -49,16 +49,14 @@
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button type="primary" icon="el-icon-search" size="mini" @click="resethandleQuery">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
icon="el-icon-search" </el-form-item>
size="mini" <el-form-item style="float: right;" v-if="getbaidulist.areaName">
@click="resethandleQuery" <el-button icon="el-icon-loading" size="mini" @click="getbaiduArea" type="info">
>搜索</el-button 点击同步百度地图区域信息
> <span>({{getbaidulist.areaName=='区域列表'?'全国':getbaidulist.areaName}})</span>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" </el-button>
>重置</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
<!-- <el-row :gutter="10" class="mb8"> <!-- <el-row :gutter="10" class="mb8">
@ -112,12 +110,8 @@
:showSearch.sync="showSearch" :showSearch.sync="showSearch"
@queryTable="getList" @queryTable="getList"
></right-toolbar> ></right-toolbar>
</el-row> --> </el-row>-->
<el-table <el-table v-loading="loading" :data="areaList" @selection-change="handleSelectionChange">
v-loading="loading"
:data="areaList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="父级id" align="center" prop="parentId" /> --> <!-- <el-table-column label="父级id" align="center" prop="parentId" /> -->
<el-table-column label="区域名称" align="center" prop="areaName" /> <el-table-column label="区域名称" align="center" prop="areaName" />
@ -129,17 +123,11 @@
active-color="#13ce66" active-color="#13ce66"
inactive-color="#ff4949" inactive-color="#ff4949"
@change="updateRemoteSigns(scope.row)" @change="updateRemoteSigns(scope.row)"
> ></el-switch>
</el-switch>
<!-- {{ scope.row.remoteSigns == 0 ? "否" : "是" }} --> <!-- {{ scope.row.remoteSigns == 0 ? "否" : "是" }} -->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -147,16 +135,14 @@
icon="el-icon-circle-plus-outline" icon="el-icon-circle-plus-outline"
@click="handleadd(scope.row)" @click="handleadd(scope.row)"
v-hasPermi="['system:area:add']" v-hasPermi="['system:area:add']"
>新增</el-button >新增</el-button>
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['system:area:edit']" v-hasPermi="['system:area:edit']"
>修改</el-button >修改</el-button>
>
<!-- <el-button <!-- <el-button
size="mini" size="mini"
type="text" type="text"
@ -164,7 +150,7 @@
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['system:area:remove']" v-hasPermi="['system:area:remove']"
>删除</el-button >删除</el-button
> --> >-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -177,33 +163,14 @@
/> />
</el-col> </el-col>
</el-row> </el-row>
<!-- 添加或修改区域对话框 --> <!-- 添加或修改区域对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="130px"> <el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-form-item <el-form-item label="父级区域名称" prop="parentName" :required="true" v-if="form.parentName">
label="父级区域名称" <el-input v-model="form.parentName" placeholder="请输入父级区域名称" disabled />
prop="parentName"
:required="true"
v-if="form.parentName"
>
<el-input
v-model="form.parentName"
placeholder="请输入父级区域名称"
disabled
/>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="父级区域编码" prop="parentCode" :required="true" v-if="form.parentCode">
label="父级区域编码" <el-input v-model="form.parentCode" placeholder="请输入父级区域编码" disabled />
prop="parentCode"
:required="true"
v-if="form.parentCode"
>
<el-input
v-model="form.parentCode"
placeholder="请输入父级区域编码"
disabled
/>
</el-form-item> </el-form-item>
<el-form-item label="区域名称" prop="areaName"> <el-form-item label="区域名称" prop="areaName">
<el-input v-model="form.areaName" placeholder="请输入区域名称" /> <el-input v-model="form.areaName" placeholder="请输入区域名称" />
@ -213,12 +180,12 @@
</el-form-item> </el-form-item>
<!-- <el-form-item label="区域级别" prop="areaLevel"> <!-- <el-form-item label="区域级别" prop="areaLevel">
<el-input v-model="form.areaLevel" placeholder="请输入区域级别" /> <el-input v-model="form.areaLevel" placeholder="请输入区域级别" />
</el-form-item> --> </el-form-item>-->
<el-form-item label="偏远地区" prop="remoteSigns"> <el-form-item label="偏远地区" prop="remoteSigns">
<el-radio v-model="form.remoteSigns" label="0"></el-radio> <el-radio v-model="form.remoteSigns" label="0"></el-radio>
<el-radio v-model="form.remoteSigns" label="1"></el-radio> <el-radio v-model="form.remoteSigns" label="1"></el-radio>
</el-form-item> </el-form-item>
<el-form-item label="排序" prop=""> <el-form-item label="排序" prop>
<el-input <el-input
v-model.number="form.sort" v-model.number="form.sort"
placeholder="请输入排序(只能输入数字)" placeholder="请输入排序(只能输入数字)"
@ -245,6 +212,7 @@ import {
selectAreaListinfo, selectAreaListinfo,
selectAreaListquery, selectAreaListquery,
updateRemoteSigns, updateRemoteSigns,
getAreaList
} from "@/api/system/area"; } from "@/api/system/area";
export default { export default {
@ -255,7 +223,7 @@ export default {
deptOptions: undefined, deptOptions: undefined,
defaultProps: { defaultProps: {
children: "children", children: "children",
label: "areaName", label: "areaName"
}, },
areaName: "", areaName: "",
// //
@ -287,27 +255,28 @@ export default {
sort: null, sort: null,
areaType: null, areaType: null,
parentCode: null, parentCode: null,
remoteSigns: null, remoteSigns: null
}, },
// //
form: { form: {
remoteSigns: "0", remoteSigns: "0"
}, },
// //
rules: { rules: {
areaCode: [ areaCode: [
{ required: true, message: "请输入区域编码", trigger: "blur" }, { required: true, message: "请输入区域编码", trigger: "blur" }
], ],
areaName: [ areaName: [
{ required: true, message: "请输入区域名称", trigger: "blur" }, { required: true, message: "请输入区域名称", trigger: "blur" }
], ],
areaLevel: [ areaLevel: [
{ required: true, message: "请输入区域级别", trigger: "blur" }, { required: true, message: "请输入区域级别", trigger: "blur" }
], ],
remoteSigns: [ remoteSigns: [
{ required: true, message: "请选择是否是偏远地区", trigger: "blur" }, { required: true, message: "请选择是否是偏远地区", trigger: "blur" }
], ]
}, },
getbaidulist: {}
}; };
}, },
created() { created() {
@ -321,7 +290,7 @@ export default {
this.areaName = ""; this.areaName = "";
return; return;
} else { } else {
selectAreaListquery(val).then((res) => { selectAreaListquery(val).then(res => {
this.deptOptions = res.data; this.deptOptions = res.data;
}); });
} }
@ -331,16 +300,34 @@ export default {
this.selectAreaListin(); this.selectAreaListin();
} }
} }
}, }
}, },
methods: { methods: {
//
getbaiduArea() {
console.log(this.getbaidulist)
if (this.getbaidulist.areaName == "区域列表") {
getAreaList("", 1, "", "").then(res => {
this.handleNodeClick(this.getbaidulist);
});
} else {
getAreaList(
this.getbaidulist.areaName,
"",
this.getbaidulist.areaCode,
this.getbaidulist.id
).then(res => {
this.handleNodeClick(this.getbaidulist);
});
}
},
// //
updateRemoteSigns(row) { updateRemoteSigns(row) {
if (row.remoteSigns) { if (row.remoteSigns) {
this.$confirm('确定修改"' + row.areaName + '"为偏远地区吗?', { this.$confirm('确定修改"' + row.areaName + '"为偏远地区吗?', {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning"
}) })
.then(() => { .then(() => {
var remoteSigns = null; var remoteSigns = null;
@ -349,11 +336,11 @@ export default {
} else { } else {
remoteSigns = 0; remoteSigns = 0;
} }
updateRemoteSigns(row.id, remoteSigns).then((res) => { updateRemoteSigns(row.id, remoteSigns).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.$message({ this.$message({
type: "success", type: "success",
message: "修改为偏远地区!", message: "修改为偏远地区!"
}); });
} }
}); });
@ -362,14 +349,14 @@ export default {
row.remoteSigns = false; row.remoteSigns = false;
this.$message({ this.$message({
type: "info", type: "info",
message: "取消修改", message: "取消修改"
}); });
}); });
} else { } else {
this.$confirm('确定修改"' + row.areaName + '"为非偏远地区吗吗?', { this.$confirm('确定修改"' + row.areaName + '"为非偏远地区吗吗?', {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning"
}) })
.then(() => { .then(() => {
var remoteSigns = null; var remoteSigns = null;
@ -378,11 +365,11 @@ export default {
} else { } else {
remoteSigns = 0; remoteSigns = 0;
} }
updateRemoteSigns(row.id, remoteSigns).then((res) => { updateRemoteSigns(row.id, remoteSigns).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.$message({ this.$message({
type: "success", type: "success",
message: "修改为非偏远地区!", message: "修改为非偏远地区!"
}); });
} }
}); });
@ -391,25 +378,26 @@ export default {
row.remoteSigns = true; row.remoteSigns = true;
this.$message({ this.$message({
type: "info", type: "info",
message: "取消修改", message: "取消修改"
}); });
}); });
} }
}, },
// //
handleNodeClick(data) { handleNodeClick(data) {
this.getbaidulist = data;
this.queryParams.areaLevel = null; this.queryParams.areaLevel = null;
this.loading = true; this.loading = true;
this.queryParams.parentCode = data.areaCode; this.queryParams.parentCode = data.areaCode;
if (data.areaCode != 1) { if (data.areaCode != 1) {
this.handleQuery(); this.handleQuery();
selectAreaList("", data.areaCode).then((res) => { selectAreaList("", data.areaCode).then(res => {
if (res.data.length > 0) { if (res.data.length > 0) {
res.data.forEach((e) => { res.data.forEach(e => {
e.children = [ e.children = [
{ {
areaName: "", areaName: ""
}, }
]; ];
}); });
} else { } else {
@ -422,13 +410,13 @@ export default {
this.queryParams.parentCode = null; this.queryParams.parentCode = null;
this.queryParams.areaLevel = 1; this.queryParams.areaLevel = 1;
this.handleQuery(); this.handleQuery();
selectAreaListinfo(1).then((res) => { selectAreaListinfo(1).then(res => {
if (res.data.length > 0) { if (res.data.length > 0) {
res.data.forEach((e) => { res.data.forEach(e => {
e.children = [ e.children = [
{ {
areaName: "", areaName: ""
}, }
]; ];
}); });
} else { } else {
@ -441,20 +429,20 @@ export default {
}, },
selectAreaListin() { selectAreaListin() {
this.loading = true; this.loading = true;
selectAreaListinfo(1).then((res) => { selectAreaListinfo(1).then(res => {
res.data.forEach((e) => { res.data.forEach(e => {
e.children = [ e.children = [
{ {
areaName: "", areaName: ""
}, }
]; ];
}); });
var obj = [ var obj = [
{ {
areaName: "区域列表", areaName: "区域列表",
children: res.data, children: res.data,
areaCode: 1, areaCode: 1
}, }
]; ];
this.deptOptions = obj; this.deptOptions = obj;
this.loading = false; this.loading = false;
@ -462,11 +450,11 @@ export default {
}, },
info() { info() {
this.loading = true; this.loading = true;
selectAreaList(this.areaName).then((res) => { selectAreaList(this.areaName).then(res => {
this.loading = false; this.loading = false;
var obj = { var obj = {
areaName: "区域列表", areaName: "区域列表",
children: res.data, children: res.data
}; };
this.deptOptions = obj; this.deptOptions = obj;
}); });
@ -474,8 +462,8 @@ export default {
/** 查询区域列表 */ /** 查询区域列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listArea(this.queryParams).then((response) => { listArea(this.queryParams).then(response => {
response.rows.forEach((e) => { response.rows.forEach(e => {
if (e.remoteSigns == 1) { if (e.remoteSigns == 1) {
e.remoteSigns = true; e.remoteSigns = true;
} else { } else {
@ -508,7 +496,7 @@ export default {
updateTime: null, updateTime: null,
areaType: null, areaType: null,
parentCode: null, parentCode: null,
remoteSigns: "0", remoteSigns: "0"
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -529,11 +517,15 @@ export default {
this.resetForm("queryForm"); this.resetForm("queryForm");
this.queryParams.parentCode = null; this.queryParams.parentCode = null;
this.queryParams.areaLevel = 1; this.queryParams.areaLevel = 1;
this.getbaidulist = {
areaName: "区域列表",
areaLevel: 1
};
this.handleQuery(); this.handleQuery();
}, },
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id); this.ids = selection.map(item => item.id);
this.single = selection.length !== 1; this.single = selection.length !== 1;
this.multiple = !selection.length; this.multiple = !selection.length;
}, },
@ -551,7 +543,7 @@ export default {
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
const id = row.id || this.ids; const id = row.id || this.ids;
getArea(id).then((response) => { getArea(id).then(response => {
response.data.remoteSigns = String(response.data.remoteSigns); response.data.remoteSigns = String(response.data.remoteSigns);
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
@ -560,10 +552,10 @@ export default {
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate((valid) => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
updateArea(this.form).then((response) => { updateArea(this.form).then(response => {
if (response.code == 200) { if (response.code == 200) {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
@ -571,7 +563,7 @@ export default {
} }
}); });
} else { } else {
addArea(this.form).then((response) => { addArea(this.form).then(response => {
if (response.code == 200) { if (response.code == 200) {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
@ -589,7 +581,7 @@ export default {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$modal this.$modal
.confirm('是否确认删除区域名称为"' + row.areaName + '"的数据项吗?') .confirm('是否确认删除区域名称为"' + row.areaName + '"的数据项吗?')
.then(function () { .then(function() {
return delArea(ids); return delArea(ids);
}) })
.then(() => { .then(() => {
@ -603,11 +595,11 @@ export default {
this.download( this.download(
"system/area/export", "system/area/export",
{ {
...this.queryParams, ...this.queryParams
}, },
`area_${new Date().getTime()}.xlsx` `area_${new Date().getTime()}.xlsx`
); );
}, }
}, }
}; };
</script> </script>