明树Git Lab

Commit 733ec51e authored by yangyajing's avatar yangyajing

加和计算精度

parent 92bff4ca
Pipeline #104427 passed with stage
in 13 seconds
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
"@element-plus/icons-vue": "^2.3.2", "@element-plus/icons-vue": "^2.3.2",
"@kjgl77/datav-vue3": "^1.7.4", "@kjgl77/datav-vue3": "^1.7.4",
"axios": "^1.13.2", "axios": "^1.13.2",
"decimal.js": "^10.6.0",
"echarts": "^6.0.0", "echarts": "^6.0.0",
"echarts-map": "^3.0.1", "echarts-map": "^3.0.1",
"element-plus": "^2.11.8", "element-plus": "^2.11.8",
...@@ -538,6 +539,12 @@ ...@@ -538,6 +539,12 @@
"version": "1.11.19", "version": "1.11.19",
"license": "MIT" "license": "MIT"
}, },
"node_modules/decimal.js": {
"version": "10.6.0",
"resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.6.0.tgz",
"integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==",
"license": "MIT"
},
"node_modules/delayed-stream": { "node_modules/delayed-stream": {
"version": "1.0.0", "version": "1.0.0",
"license": "MIT", "license": "MIT",
......
...@@ -462,7 +462,7 @@ ...@@ -462,7 +462,7 @@
<div class="" v-for="(value, key) in gdxxSums" :key="key"> <div class="" v-for="(value, key) in gdxxSums" :key="key">
{{value.cgbl}}% {{value.cgbl}}%
</div> </div>
<div>{{ _.sum(Object.entries(gdxxSums).map(([key, item]) => item.cgbl)) }}%</div> <div>{{ getObjSums(gdxxSums, "cgbl") }}%</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -477,7 +477,7 @@ ...@@ -477,7 +477,7 @@
<div class="" v-for="(value, key) in gdxxSums" :key="key"> <div class="" v-for="(value, key) in gdxxSums" :key="key">
{{value.cze}}万元 {{value.cze}}万元
</div> </div>
<div>{{ _.sum(Object.entries(gdxxSums).map(([key, item]) => item.cze)) }}万元</div> <div>{{ getObjSums(gdxxSums, "cze") }}万元</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -492,7 +492,7 @@ ...@@ -492,7 +492,7 @@
<div class="" v-for="(value, key) in gdxxSums" :key="key"> <div class="" v-for="(value, key) in gdxxSums" :key="key">
{{value.yjzczb}}万元 {{value.yjzczb}}万元
</div> </div>
<div>{{ _.sum(Object.entries(gdxxSums).map(([key, item]) => item.yjzczb)) }}万元</div> <div>{{ getObjSums(gdxxSums, "yjzczb") }}万元</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -507,7 +507,7 @@ ...@@ -507,7 +507,7 @@
<div class="" v-for="(value, key) in gdxxSums" :key="key"> <div class="" v-for="(value, key) in gdxxSums" :key="key">
{{value.ycxmzbj}}万元 {{value.ycxmzbj}}万元
</div> </div>
<div>{{ _.sum(Object.entries(gdxxSums).map(([key, item]) => item.ycxmzbj)) }}万元</div> <div>{{ getObjSums(gdxxSums, "ycxmzbj") }}万元</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -1491,7 +1491,7 @@ ...@@ -1491,7 +1491,7 @@
<div class="" v-for="(value, key) in jcgdxxSums" :key="key"> <div class="" v-for="(value, key) in jcgdxxSums" :key="key">
{{value.mycgbl}}% {{value.mycgbl}}%
</div> </div>
<div>{{ _.sum(Object.entries(jcgdxxSums).map(([key, item]) => item.mycgbl)) }}%</div> <div>{{ getObjSums(jcgdxxSums, "mycgbl") }}%</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -1506,7 +1506,7 @@ ...@@ -1506,7 +1506,7 @@
<div class="" v-for="(value, key) in jcgdxxSums" :key="key"> <div class="" v-for="(value, key) in jcgdxxSums" :key="key">
{{value.cgbl}}% {{value.cgbl}}%
</div> </div>
<div>{{ _.sum(Object.entries(jcgdxxSums).map(([key, item]) => item.cgbl)) }}%</div> <div>{{ getObjSums(jcgdxxSums, "cgbl") }}%</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -1521,7 +1521,7 @@ ...@@ -1521,7 +1521,7 @@
<div class="" v-for="(value, key) in jcgdxxSums" :key="key"> <div class="" v-for="(value, key) in jcgdxxSums" :key="key">
{{value.lrfpbl}}% {{value.lrfpbl}}%
</div> </div>
<div>{{ _.sum(Object.entries(jcgdxxSums).map(([key, item]) => item.lrfpbl)) }}%</div> <div>{{ getObjSums(jcgdxxSums, "lrfpbl") }}%</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -1536,7 +1536,7 @@ ...@@ -1536,7 +1536,7 @@
<div class="" v-for="(value, key) in jcgdxxSums" :key="key"> <div class="" v-for="(value, key) in jcgdxxSums" :key="key">
{{value.cze}}万元 {{value.cze}}万元
</div> </div>
<div>{{ _.sum(Object.entries(jcgdxxSums).map(([key, item]) => item.cze)) }}万元</div> <div>{{ getObjSums(jcgdxxSums, "cze") }}万元</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -1561,7 +1561,7 @@ ...@@ -1561,7 +1561,7 @@
<div class="" v-for="(value, key) in jcgdxxSums" :key="key"> <div class="" v-for="(value, key) in jcgdxxSums" :key="key">
{{value.yjzczb}}万元 {{value.yjzczb}}万元
</div> </div>
<div>{{ _.sum(Object.entries(jcgdxxSums).map(([key, item]) => item.yjzczb)) }}万元</div> <div>{{ getObjSums(jcgdxxSums, "yjzczb") }}万元</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -1576,7 +1576,7 @@ ...@@ -1576,7 +1576,7 @@
<div class="" v-for="(value, key) in jcgdxxSums" :key="key"> <div class="" v-for="(value, key) in jcgdxxSums" :key="key">
{{value.ycxmzbj}}万元 {{value.ycxmzbj}}万元
</div> </div>
<div>{{ _.sum(Object.entries(jcgdxxSums).map(([key, item]) => item.ycxmzbj)) }}万元</div> <div>{{ getObjSums(jcgdxxSums, "ycxmzbj") }}万元</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -2413,6 +2413,7 @@ ...@@ -2413,6 +2413,7 @@
import { useRouter, useRoute } from "vue-router"; import { useRouter, useRoute } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import _ from "lodash"; import _ from "lodash";
import Decimal from 'decimal.js';
const router = useRouter(); const router = useRouter();
const route = useRoute(); const route = useRoute();
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
...@@ -2456,19 +2457,25 @@ ...@@ -2456,19 +2457,25 @@
let obj = {}; let obj = {};
gdxxData.forEach((item, index) => { gdxxData.forEach((item, index) => {
if (index < gdxxData.length - 1) { if (index < gdxxData.length - 1) {
if (!obj[item.gdlx]) { if (item.gdlx) {
obj[item.gdlx] = { if (!obj[item.gdlx]) {
name: gdlxList.filter(gdlx => gdlx.id === item.gdlx)[0].value obj[item.gdlx] = {
}; name: gdlxList.filter(gdlx => gdlx.id === item.gdlx)[0].value
};
}
obj[item.gdlx].cgbl = _.add((obj[item.gdlx].cgbl || 0), item.cgbl)
obj[item.gdlx].cze = _.add((obj[item.gdlx].cze || 0), item.cze)
obj[item.gdlx].yjzczb = _.add((obj[item.gdlx].yjzczb || 0), item.yjzczb)
obj[item.gdlx].ycxmzbj = _.add((obj[item.gdlx].ycxmzbj || 0), item.ycxmzbj)
} }
obj[item.gdlx].cgbl = _.add((obj[item.gdlx].cgbl || 0), item.cgbl)
obj[item.gdlx].cze = _.add((obj[item.gdlx].cze || 0), item.cze)
obj[item.gdlx].yjzczb = _.add((obj[item.gdlx].yjzczb || 0), item.yjzczb)
obj[item.gdlx].ycxmzbj = _.add((obj[item.gdlx].ycxmzbj || 0), item.ycxmzbj)
} }
}) })
gdxxSums.value = obj; gdxxSums.value = obj;
} }
// 计算对象总和
const getObjSums = (obj, objkey) => {
return Object.entries(obj).reduce((acc, [key, item]) => acc.plus(new Decimal(item[objkey] ||0)), new Decimal(0));
}
// 支撑材料 // 支撑材料
let zcclData = ref([]); let zcclData = ref([]);
const addZcclFile = (res, file) => { const addZcclFile = (res, file) => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment