|
|
@ -31,7 +31,7 @@
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="4">
|
|
|
|
<el-col :span="4">
|
|
|
|
<el-form-item label="年份:">
|
|
|
|
<el-form-item label="年份:" style="width: 260px;">
|
|
|
|
<div style="display: flex">
|
|
|
|
<div style="display: flex">
|
|
|
|
<el-date-picker
|
|
|
|
<el-date-picker
|
|
|
|
v-model="nrStart"
|
|
|
|
v-model="nrStart"
|
|
|
@ -109,7 +109,7 @@
|
|
|
|
import { getList, tj, save, upload } from "@/api/jhzx/xbjhWH";
|
|
|
|
import { getList, tj, save, upload } from "@/api/jhzx/xbjhWH";
|
|
|
|
import { getCzxx } from "@/api/jhzx/qfxq";
|
|
|
|
import { getCzxx } from "@/api/jhzx/qfxq";
|
|
|
|
export default {
|
|
|
|
export default {
|
|
|
|
name: "xbjhWH",
|
|
|
|
name: "xbjhCX",
|
|
|
|
data() {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
request: {
|
|
|
|
request: {
|
|
|
@ -151,8 +151,24 @@ export default {
|
|
|
|
this.getHeight();
|
|
|
|
this.getHeight();
|
|
|
|
},
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
methods: {
|
|
|
|
|
|
|
|
// 排序
|
|
|
|
|
|
|
|
compare(property) {
|
|
|
|
|
|
|
|
return function (object1, object2) {
|
|
|
|
|
|
|
|
let value1 = object1[property];
|
|
|
|
|
|
|
|
let value2 = object2[property];
|
|
|
|
|
|
|
|
// 升序
|
|
|
|
|
|
|
|
return value1 - value2;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
},
|
|
|
|
// 格式转换
|
|
|
|
// 格式转换
|
|
|
|
getTableList(data) {
|
|
|
|
getTableList(data) {
|
|
|
|
|
|
|
|
Object.keys(data).forEach((item, index) => {
|
|
|
|
|
|
|
|
data[item].sort(this.compare("nf"));
|
|
|
|
|
|
|
|
data[item].sort(this.compare("yf"));
|
|
|
|
|
|
|
|
data[item].forEach((em) => {
|
|
|
|
|
|
|
|
em.zl = em.zl ? em.zl : null;
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
this.tableData = data;
|
|
|
|
this.tableData = data;
|
|
|
|
this.leftColumn = []; //左侧列数据
|
|
|
|
this.leftColumn = []; //左侧列数据
|
|
|
|
this.topColumn = []; //顶部列数据
|
|
|
|
this.topColumn = []; //顶部列数据
|
|
|
@ -227,8 +243,11 @@ export default {
|
|
|
|
objeckList[i][
|
|
|
|
objeckList[i][
|
|
|
|
"cl" + this.tableData[i][v].nf + this.tableData[i][v].yf
|
|
|
|
"cl" + this.tableData[i][v].nf + this.tableData[i][v].yf
|
|
|
|
] = this.tableData[i][v].zl;
|
|
|
|
] = this.tableData[i][v].zl;
|
|
|
|
objeckList[i]["cltotal" + this.tableData[i][v].nf] =
|
|
|
|
objeckList[i]["cltotal" + this.tableData[i][v].nf] = sumArr[i][
|
|
|
|
sumArr[i][this.tableData[i][v].nf];
|
|
|
|
this.tableData[i][v].nf
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
? sumArr[i][this.tableData[i][v].nf]
|
|
|
|
|
|
|
|
: "";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.arrList = Object.values(objeckList); //data数据
|
|
|
|
this.arrList = Object.values(objeckList); //data数据
|
|
|
@ -329,7 +348,7 @@ export default {
|
|
|
|
if ($rowIndex == 0) {
|
|
|
|
if ($rowIndex == 0) {
|
|
|
|
return "row-gre-header";
|
|
|
|
return "row-gre-header";
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (column.field === "total1" || column.field === "total2") {
|
|
|
|
if (column.field.indexOf("cltotal") > -1) {
|
|
|
|
return "row-gre-total-header";
|
|
|
|
return "row-gre-total-header";
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
return "row-gre-header";
|
|
|
|
return "row-gre-header";
|
|
|
@ -338,8 +357,12 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// 指定列css
|
|
|
|
// 指定列css
|
|
|
|
cellClassName({ column }) {
|
|
|
|
cellClassName({ column }) {
|
|
|
|
if (column.field === "total1" || column.field === "total2") {
|
|
|
|
if (column.field) {
|
|
|
|
return "col-gre-total-col";
|
|
|
|
if (column.field.indexOf("cltotal") > -1) {
|
|
|
|
|
|
|
|
return "col-gre-total-col";
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return "col-gre-col";
|
|
|
|
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
return "col-gre-col";
|
|
|
|
return "col-gre-col";
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -354,7 +377,7 @@ export default {
|
|
|
|
async toolbarButtonClickEvent(code) {
|
|
|
|
async toolbarButtonClickEvent(code) {
|
|
|
|
switch (code) {
|
|
|
|
switch (code) {
|
|
|
|
case "submit":
|
|
|
|
case "submit":
|
|
|
|
if (!JSON.stringify(this.checkedList) =="{}") {
|
|
|
|
if (!JSON.stringify(this.checkedList) == "{}") {
|
|
|
|
this.$confirm("是否确认提交选择的数据?", "提示", {
|
|
|
|
this.$confirm("是否确认提交选择的数据?", "提示", {
|
|
|
|
confirmButtonText: "确定",
|
|
|
|
confirmButtonText: "确定",
|
|
|
|
cancelButtonText: "取消",
|
|
|
|
cancelButtonText: "取消",
|
|
|
@ -375,7 +398,7 @@ export default {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case "save":
|
|
|
|
case "save":
|
|
|
|
if (JSON.stringify(this.checkedList) =="{}") {
|
|
|
|
if (JSON.stringify(this.checkedList) == "{}") {
|
|
|
|
this.$confirm("是否确认保存选择的数据?", "提示", {
|
|
|
|
this.$confirm("是否确认保存选择的数据?", "提示", {
|
|
|
|
confirmButtonText: "确定",
|
|
|
|
confirmButtonText: "确定",
|
|
|
|
cancelButtonText: "取消",
|
|
|
|
cancelButtonText: "取消",
|
|
|
@ -406,7 +429,7 @@ export default {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
<style scoped lang="scss">
|
|
|
|
.first-col {
|
|
|
|
.first-col {
|
|
|
|
position: relative;
|
|
|
|
position: relative;
|
|
|
|
height: 20px;
|
|
|
|
height: 20px;
|
|
|
@ -478,23 +501,15 @@ export default {
|
|
|
|
border-bottom: 2px solid #000 !important;
|
|
|
|
border-bottom: 2px solid #000 !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/* border 颜色 */
|
|
|
|
/* border 颜色 */
|
|
|
|
::v-deep .vxe-table--render-default.border--full .vxe-body--column,
|
|
|
|
::v-deep.vxe-table--render-default.border--full .vxe-body--column{
|
|
|
|
.vxe-table--render-default.border--full .vxe-footer--column,
|
|
|
|
|
|
|
|
.vxe-table--render-default.border--full .vxe-header--column {
|
|
|
|
|
|
|
|
background-image: linear-gradient(#000, #000) !important;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
::v-deep.vxe-table--render-default.border--full .vxe-body--column,
|
|
|
|
|
|
|
|
.vxe-table--render-default.border--full .vxe-footer--column,
|
|
|
|
|
|
|
|
.vxe-table--render-default.border--full .vxe-header--column {
|
|
|
|
|
|
|
|
background-image: linear-gradient(#000, #000), linear-gradient(#000, #000) !important;
|
|
|
|
background-image: linear-gradient(#000, #000), linear-gradient(#000, #000) !important;
|
|
|
|
|
|
|
|
background-repeat: no-repeat !important;
|
|
|
|
|
|
|
|
background-size: 1px 100%,100% 1px !important;
|
|
|
|
|
|
|
|
background-position: 100% 0px,100% 99% !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
:v-deep.vxe-table--render-default.border--full .vxe-body--column,
|
|
|
|
::v-deep.vxe-table--render-default.border--full .vxe-footer--column{
|
|
|
|
.vxe-table--render-default.border--full .vxe-footer--column,
|
|
|
|
|
|
|
|
.vxe-table--render-default.border--full .vxe-header--column {
|
|
|
|
|
|
|
|
background-image: linear-gradient(#000, #000), linear-gradient(#000, #000) !important;
|
|
|
|
background-image: linear-gradient(#000, #000), linear-gradient(#000, #000) !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
::v-deep.vxe-table--render-default.border--full .vxe-body--column,
|
|
|
|
|
|
|
|
::v-deep.vxe-table--render-default.border--full .vxe-footer--column,
|
|
|
|
|
|
|
|
::v-deep.vxe-table--render-default.border--full .vxe-header--column {
|
|
|
|
::v-deep.vxe-table--render-default.border--full .vxe-header--column {
|
|
|
|
background-image: linear-gradient(#000, #000), linear-gradient(#000, #000) !important;
|
|
|
|
background-image: linear-gradient(#000, #000), linear-gradient(#000, #000) !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|