From 425152d436e73d4ef93e2e809998b5c837f7cd96 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Fri, 13 May 2022 08:48:04 +0800
Subject: [PATCH] 农资管理
---
src/views/land/land.vue | 431 ++++++++++++++++++++++++++++++++++-------------------
1 files changed, 275 insertions(+), 156 deletions(-)
diff --git a/src/views/land/land.vue b/src/views/land/land.vue
index 984b378..64824a6 100644
--- a/src/views/land/land.vue
+++ b/src/views/land/land.vue
@@ -27,7 +27,7 @@
icon="el-icon-delete"
v-if="permission.rail_delete"
@click="handleDelete"
- >删 除
+ >删 除
</el-button>
</template>
<!-- 地图插入 -->
@@ -43,10 +43,11 @@
</template>
<script>
-import { getList, add, update, remove, getRailTree } from "@/api/land/land";
+import {getList, add, update, remove,getDetail} from "@/api/land/land";
import getMapDataInThere from "./getMapDataInThere.vue";
-import { mapGetters } from "vuex";
+import {mapGetters} from "vuex";
+
export default {
components: {
getMapDataInThere
@@ -105,6 +106,7 @@
{
label: "地块面积",
span: 6,
+ addDisplay: false,
disabled: true,
gutter: 20,
tip: '绘制轮廓后自动计算',
@@ -124,7 +126,7 @@
// }]
// },
{
- label: "单位",
+ label: "面积单位",
prop: "landUnit",
type: "select",
dicUrl: "/api/blade-system/dict-biz/dictionary?code=landunit",
@@ -133,7 +135,7 @@
value: "dictKey"
},
dataType: "number",
- span: 5,
+ span: 6,
},
{
label: "路线展示",
@@ -155,14 +157,14 @@
},
computed: {
...mapGetters(["userInfo", "permission", "polygons"]),
- // permissionList() {
- // return {
- // addBtn: this.vaildData(this.permission.rail_add, true),
- // viewBtn: this.vaildData(this.permission.rail_view, false),
- // delBtn: this.vaildData(this.permission.rail_delete, false),
- // editBtn: this.vaildData(this.permission.rail_edit, false)
- // };
- // },
+ permissionList() {
+ return {
+ addBtn: this.vaildData(this.permission.land_add, false),
+ viewBtn: this.vaildData(this.permission.land_view, false),
+ delBtn: this.vaildData(this.permission.land_delete, false),
+ editBtn: this.vaildData(this.permission.land_edit, false)
+ };
+ },
ids() {
let ids = [];
this.selectionList.forEach(ele => {
@@ -174,151 +176,58 @@
mounted() {
},
methods: {
- beforeOpen(done, type) {
- if (type == "edit") {
- // this.$refs.getMapData.doThat(this.polygons);
- done();
- } else if (type == "add") {
- this.$store.commit("setpolygon", []); //用vuex传最终数据
- done();
- }
- },
- setMapData(val) {
- this.LineData = val[0];
- this.PointData = val[1];
- },
- //dom获取、
- checkDom(name, fn) {
- // 声明定时器
- let that = this;
- var timer = null;
- // 检查dom是否执行完成
- function checkDom() {
- let dom = that.$refs[name];
- if (dom) {
- // 执行dom加载完成后的操作
- // 清除定时器
- if (!timer) {
- clearTimeout(timer);
- }
- if (fn) {
- //回调函数
- fn(dom);
- return;
- } else {
- return dom;
- }
- } else {
- // 自我调用
- timer = setTimeout(checkDom, 100);
- }
- }
- // 首次执行
- checkDom();
- },
- sizeChange(val) {
- this.page1.currentPage = 1;
- this.page1.pageSize = val;
- this.onLoad(this.page, this.query);
- },
- currentChange(val) {
- this.page1.currentPage = val;
- // this.getData();
- this.onLoad(this.page, this.query);
- },
- rowSave(form, done, loading) {
+ rowSave(row, done, loading) {
if (this.polygons.length == 0) {
//没有面的数据
this.$refs.getMapData.isCheck = true;
loading();
- return;
- }
- let pol = this.polygons;
- // console.log(pol);
- let polLength = this.polygons.length - 1;
- let usePolygons = "";
- for (let k in pol) {
- usePolygons += pol[k].lng + "," + pol[k].lat;
- if (k != polLength) {
- usePolygons += ";";
+ } else {
+ //如果有值,空间坐标转换
+ let pol = this.polygons;
+ let polLength = this.polygons.length - 1;
+ let usePolygons = "";
+ for (let k in pol) {
+ usePolygons += pol[k].lng + "," + pol[k].lat;
+ if (k != polLength) {
+ usePolygons += ";";
+ }
}
+ //设置坐标点
+ row.userId = this.userInfo.user_id;
+ row.landRange = usePolygons;
}
- // console.log(form);
- let data = {
- name: form.name,
- type: form.type,
- companyId: form.companyId,
- coordinate: usePolygons
- };
- // return;
- add(data).then(res => {
- if (res.data.success) {
- this.$message({
- message: "操作成功",
- type: "success"
- });
- this.refreshChange();
- done();
- } else {
- this.$message({
- message: "操作失败",
- type: "warning"
- });
- done();
- }
+ add(row).then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ });
+ done();
+ }, error => {
+ loading();
+ window.console.log(error);
});
},
- searchChange(params, done) {
- this.query = params;
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done();
- },
- searchReset() {
- this.query = {};
- this.onLoad(this.page);
- },
rowUpdate(row, index, done, loading) {
- if (this.polygons.length == 0) {
- //没有面的数据
- this.$refs.getMapData.isCheck = true;
+ update(row).then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ });
+ done();
+ }, error => {
loading();
- return;
- }
- let pol = this.polygons;
- // console.log(pol);
- let polLength = this.polygons.length - 1;
- let usePolygons = "";
- for (let k in pol) {
- usePolygons += pol[k].lng + "," + pol[k].lat;
- if (k != polLength) {
- usePolygons += ";";
- }
- }
- row.coordinate = usePolygons;
- update(row).then(
- () => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- },
- error => {
- window.console.log(error);
- loading();
- }
- );
+ console.log(error);
+ });
},
rowDel(row) {
- this.$confirm("确定删除当前合同信息数据?", {
+ this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
- console.log(row);
return remove(row.id);
})
.then(() => {
@@ -329,23 +238,18 @@
});
});
},
- selectionChange(list) {
- this.selectionList = list;
- },
handleDelete() {
if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据");
return;
}
- this.$confirm("确定批量将选择数据删除?", {
+ this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
- return remove(this.ids).then(res => {
- this.refreshChange();
- });
+ return remove(this.ids);
})
.then(() => {
this.onLoad(this.page);
@@ -353,27 +257,242 @@
type: "success",
message: "操作成功!"
});
- this.$refs.crudrec.toggleSelection();
- })
- .catch(res => {});
+ this.$refs.crud.toggleSelection();
+ });
+ },
+ beforeOpen(done, type) {
+ if (["edit", "view"].includes(type)) {
+ // getDetail(this.form.id).then(res => {
+ // this.form = res.data.data;
+ // });
+ getDetail(this.form.id).then((res) => {
+ if (res.data.code == 200) {
+ this.form = res.data.data;
+ let usePolygons = this.form.landRange
+ .split("POLYGON((")[1]
+ .split("))")[0]
+ .split(",");
+ for (let k in usePolygons) {
+ usePolygons[k] = {
+ lng: +usePolygons[k].split(" ")[0],
+ lat: +usePolygons[k].split(" ")[1],
+ };
+ }
+ this.$refs.getMapData.draw(usePolygons);
+ }
+ });
+ }
+ done();
+ },
+ searchReset() {
+ this.query = {};
+ this.onLoad(this.page);
+ },
+ searchChange(params, done) {
+ this.query = params;
+ this.page.currentPage = 1;
+ this.onLoad(this.page, params);
+ done();
+ },
+ selectionChange(list) {
+ this.selectionList = list;
+ },
+ selectionClear() {
+ this.selectionList = [];
+ this.$refs.crud.toggleSelection();
+ },
+ currentChange(currentPage) {
+ this.page.currentPage = currentPage;
+ },
+ sizeChange(pageSize) {
+ this.page.pageSize = pageSize;
},
refreshChange() {
this.onLoad(this.page, this.query);
},
onLoad(page, params = {}) {
this.loading = true;
- getList(
- page.currentPage,
- page.pageSize,
- Object.assign(params, this.query)
- ).then(res => {
+ getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
const data = res.data.data;
this.page.total = data.total;
this.data = data.records;
this.loading = false;
+ this.selectionClear();
});
}
}
+ // methods: {
+ // sizeChange(val) {
+ // this.page1.currentPage = 1;
+ // this.page1.pageSize = val;
+ // this.onLoad(this.page, this.query);
+ // },
+ // currentChange(val) {
+ // this.page1.currentPage = val;
+ // // this.getData();
+ // this.onLoad(this.page, this.query);
+ // },
+ // rowSave(row, done, loading) {
+ // if (this.polygons.length == 0) {
+ // //没有面的数据
+ // this.$refs.getMapData.isCheck = true;
+ // loading();
+ // } else {
+ // //如果有值,空间坐标转换
+ // let pol = this.polygons;
+ // let polLength = this.polygons.length - 1;
+ // let usePolygons = "";
+ // for (let k in pol) {
+ // usePolygons += pol[k].lng + "," + pol[k].lat;
+ // if (k != polLength) {
+ // usePolygons += ";";
+ // }
+ // }
+ // //设置坐标点
+ // row.userId=this.userInfo.user_id;
+ // row.landRange = usePolygons;
+ // }
+ // // return;
+ // add(row).then(res => {
+ // if (res.data.success) {
+ // this.$message({
+ // message: "操作成功",
+ // type: "success"
+ // });
+ // this.refreshChange();
+ // done();
+ // } else {
+ // this.$message({
+ // message: "操作失败",
+ // type: "warning"
+ // });
+ // done();
+ // }
+ // });
+ // },
+ // searchChange(params, done) {
+ // this.query = params;
+ // this.page.currentPage = 1;
+ // this.onLoad(this.page, params);
+ // done();
+ // },
+ // beforeOpen(done, type) {
+ // if (["edit", "view"].includes(type)) {
+ // getDetail(this.form.id).then(res => {
+ // this.form = res.data.data;
+ // });
+ // }
+ // if (type == "add") {
+ // this.$store.commit("setpolygon", []); //用vuex传最终数据
+ // done();
+ // }
+ // done();
+ // },
+ // setMapData(val) {
+ // this.LineData = val[0];
+ // this.PointData = val[1];
+ // },
+ // searchReset() {
+ // this.query = {};
+ // this.onLoad(this.page);
+ // },
+ // rowUpdate(row, index, done, loading) {
+ // if (this.polygons.length == 0) {
+ // //没有面的数据
+ // this.$refs.getMapData.isCheck = true;
+ // loading();
+ // return;
+ // }
+ // let pol = this.polygons;
+ // // console.log(pol);
+ // let polLength = this.polygons.length - 1;
+ // let usePolygons = "";
+ // for (let k in pol) {
+ // usePolygons += pol[k].lng + "," + pol[k].lat;
+ // if (k != polLength) {
+ // usePolygons += ";";
+ // }
+ // }
+ // row.coordinate = usePolygons;
+ // update(row).then(
+ // () => {
+ // this.onLoad(this.page);
+ // this.$message({
+ // type: "success",
+ // message: "操作成功!"
+ // });
+ // done();
+ // },
+ // error => {
+ // window.console.log(error);
+ // loading();
+ // }
+ // );
+ // },
+ // rowDel(row) {
+ // this.$confirm("确定删除当前合同信息数据?", {
+ // confirmButtonText: "确定",
+ // cancelButtonText: "取消",
+ // type: "warning"
+ // })
+ // .then(() => {
+ // console.log(row);
+ // return remove(row.id);
+ // })
+ // .then(() => {
+ // this.onLoad(this.page);
+ // this.$message({
+ // type: "success",
+ // message: "操作成功!"
+ // });
+ // });
+ // },
+ // selectionChange(list) {
+ // this.selectionList = list;
+ // },
+ // handleDelete() {
+ // if (this.selectionList.length === 0) {
+ // this.$message.warning("请选择至少一条数据");
+ // return;
+ // }
+ // this.$confirm("确定批量将选择数据删除?", {
+ // confirmButtonText: "确定",
+ // cancelButtonText: "取消",
+ // type: "warning"
+ // })
+ // .then(() => {
+ // return remove(this.ids).then(res => {
+ // this.refreshChange();
+ // });
+ // })
+ // .then(() => {
+ // this.onLoad(this.page);
+ // this.$message({
+ // type: "success",
+ // message: "操作成功!"
+ // });
+ // this.$refs.crudrec.toggleSelection();
+ // })
+ // .catch(res => {
+ // });
+ // },
+ // refreshChange() {
+ // this.onLoad(this.page, this.query);
+ // },
+ // onLoad(page, params = {}) {
+ // this.loading = true;
+ // getList(
+ // page.currentPage,
+ // page.pageSize,
+ // Object.assign(params, this.query)
+ // ).then(res => {
+ // const data = res.data.data;
+ // this.page.total = data.total;
+ // this.data = data.records;
+ // this.loading = false;
+ // });
+ // }
+ // }
};
</script>
--
Gitblit v1.9.3