首页tongji

master
lion 4 months ago
parent 02fe6bf922
commit 9d001f79c2

@ -61,7 +61,11 @@ export default {
isShow: false, isShow: false,
id: "", id: "",
type: "", type: "",
pickerOptions: {
disabledDate(time) {
return time.getTime() < new Date(new Date().getFullYear(), new Date().getMonth(), 1).getTime();
}
},
itemTable: [ itemTable: [
{ {
prop: "paid_money", prop: "paid_money",
@ -78,6 +82,7 @@ export default {
v-model={row.paid_money} v-model={row.paid_money}
size="small" size="small"
clearable={true} clearable={true}
on={{ on={{
['change']:e => { ['change']:e => {
if (row.id) { if (row.id) {
@ -104,6 +109,7 @@ export default {
v-model={row.paid_plan_date} v-model={row.paid_plan_date}
size="mini" size="mini"
clearable={true} clearable={true}
pickerOptions={this.pickerOptions}
on={{ on={{
['change']:e => { ['change']:e => {
if (row.id) { if (row.id) {

@ -92,7 +92,8 @@
<template v-slot:btns> <template v-slot:btns>
<el-table-column header-align="center" align="left" :width="150" label="操作" > <el-table-column header-align="center" align="left" :width="150" label="操作" >
<template #default="{ row }"> <template #default="{ row }">
<Button v-if="row.pid != 0" size="small" type="primary" @click="$refs['payPlan'].rowName = row.name,$refs['payPlan'].setId(row.id),$refs['payPlan'].show();"></Button> <Button v-if="row.pid != 0" size="small" type="primary" @click="$refs['payPlan'].rowName = row.name,$refs['payPlan'].setId(row.id),$refs['payPlan'].show();">
预算执行计划填报</Button>
<Button <Button
v-if="row.pid == 0" v-if="row.pid == 0"
class="slot-btns-item" class="slot-btns-item"

@ -116,10 +116,10 @@
bottom: '3%', bottom: '3%',
data:chartdata.legendArr data:chartdata.legendArr
}, },
tooltip: { tooltip: chartdata.tooltip?chartdata.tooltip:{
trigger: 'axis' trigger: 'axis'
}, },
backgroundColor:"#fff", backgroundColor:"#fff",
grid: { grid: {
top: '3%', top: '3%',
left: '2%', left: '2%',

@ -594,21 +594,33 @@ export default {
let curPlan = res?.map(i => { let curPlan = res?.map(i => {
const { use_money_total,paid_plan_total,money_total_2,money_total_1 } = i const { use_money_total,paid_plan_total,money_total_2,money_total_1 } = i
let curPlan_total = Math.round(Number(paid_plan_total||0)) + Math.round(Number(use_money_total||0)) let curPlan_total = Math.round(Number(paid_plan_total||0)) + Math.round(Number(use_money_total||0))
return Number(money_total_2) ? ((( curPlan_total / Number(money_total_2 ||0)) * 10000) / 100).toFixed(2) : return {
((( curPlan_total / Number(money_total_1 ||0)) * 10000) / 100).toFixed(2) value:Number(money_total_2) ? ((( curPlan_total / Number(money_total_2 ||0)) * 10000) / 100).toFixed(2) :
((( curPlan_total / Number(money_total_1 ||0)) * 10000) / 100).toFixed(2),
money:paid_plan_total
}
}); });
let curAct = res?.map(i => { let curAct = res?.map(i => {
const { use_money_total,money_total_2,money_total_1 } = i const { use_money_total,money_total_2,money_total_1 } = i
return Number(money_total_2) ? (Math.round((Number(use_money_total||0) / Number(money_total_2||0)) * 10000) / 100).toFixed(2) : return {
(Math.round((Number(use_money_total||0) / Number(money_total_1||0)) * 10000) / 100).toFixed(2); value:Number(money_total_2) ? (Math.round((Number(use_money_total||0) / Number(money_total_2||0)) * 10000) / 100).toFixed(2) :
(Math.round((Number(use_money_total||0) / Number(money_total_1||0)) * 10000) / 100).toFixed(2),
money:use_money_total
}
}); });
let nextPlan = res?.map(i => { let nextPlan = res?.map(i => {
const { use_money_total,use_money_total_next,paid_plan_total_next,money_total_2,money_total_1 } = i const { use_money_total,use_money_total_next,paid_plan_total_next,money_total_2,money_total_1 } = i
if(Number(paid_plan_total_next)===0){
return 0
}
let nextPlan_total = Math.round(Number(paid_plan_total_next||0)) + Math.round(Number(use_money_total||0)) let nextPlan_total = Math.round(Number(paid_plan_total_next||0)) + Math.round(Number(use_money_total||0))
return Number(money_total_2) ? (((nextPlan_total / Number(money_total_2||0)) * 10000) / 100).toFixed(2) : return {
(((nextPlan_total / Number(money_total_1||0)) * 10000) / 100).toFixed(2); value:Number(money_total_2) ? (((nextPlan_total / Number(money_total_2||0)) * 10000) / 100).toFixed(2) :
(((nextPlan_total / Number(money_total_1||0)) * 10000) / 100).toFixed(2),
money:paid_plan_total_next
}
}); });
let barWidth = 23; let barWidth = 23;
@ -626,6 +638,7 @@ export default {
let colorArr1 = ["#345A8B", "#387ABD", "#398ac4"]; let colorArr1 = ["#345A8B", "#387ABD", "#398ac4"];
let colorArr2 = ["#51C0DB", "#42D9D6", "#45F5F1"]; let colorArr2 = ["#51C0DB", "#42D9D6", "#45F5F1"];
let colorArr3 = ['#559372','#7ab798','#9edebc'] let colorArr3 = ['#559372','#7ab798','#9edebc']
let spanColor = ["#345A8B","#51C0DB",'#559372']
let color1 = setColor(colorArr1) let color1 = setColor(colorArr1)
let color2 = setColor(colorArr2) let color2 = setColor(colorArr2)
@ -634,6 +647,28 @@ export default {
this.lineChartData = { this.lineChartData = {
rotate: 54, rotate: 54,
xArr: res?.map(i => i.plan_department?.name), xArr: res?.map(i => i.plan_department?.name),
tooltip: {
show:true,
trigger: 'axis', //
formatter: function (params) {
//
let result = `<div style=" padding: 10px;">`;
//
const departmentName = params[0].name;
result += `<div style="font-weight: bold; margin-bottom: 5px;">${departmentName}</div>`;
//
params.forEach((param,index) => {
// z147
result += `<div style="margin: 3px 0;">
<span style="display: inline-block; width: 10px; height: 10px; background-color: ${spanColor[index]}; margin-right: 5px;"></span>
<span>${param.seriesName}: ${param.value}%-${param.data.money?param.data.money+'元':0+'元'}</span>
</div>`;
});
result += `</div>`;
return result
}
},
series: [ series: [
{ {
z: 1, z: 1,
@ -654,7 +689,7 @@ export default {
color: '#4d8bdc', color: '#4d8bdc',
}, },
formatter: params => `${params.value}%` formatter: params => `${params.value}%`
} },
}, },
{ {
z: 2, z: 2,
@ -704,11 +739,12 @@ export default {
}, },
data: curAct, data: curAct,
label: { label: {
offset:[0,-15],
show: true, show: true,
position: 'top', position: 'top',
textStyle: {// textStyle: {//
fontSize: 12, fontSize: 12,
color: '#4d8bdc', // color: 'red',
}, },
formatter: params => `${params.value}%` formatter: params => `${params.value}%`
} }

@ -26,7 +26,9 @@ module.exports = {
* Detail: https://cli.vuejs.org/config/#publicpath * Detail: https://cli.vuejs.org/config/#publicpath
*/ */
publicPath: process.env.ENV === 'staging' ? '/admin_test' : '/admin', publicPath: process.env.ENV === 'staging' ? '/admin_test' : '/admin',
outputDir: '/Users/mac/Documents/朗业/2025/s-苏州环境监测中心/hjjc-hdcontract/public/admin', // outputDir: '/Users/mac/Documents/朗业/2025/s-苏州环境监测中心/hjjc-hdcontract/public/admin',
outputDir: '/Users/mac/Documents/朗业/2025/s-苏州环境监测中心/hetong/public/admin',
// /Users/mac/Documents/朗业/2025/s-苏州环境监测中心/hetong/public
assetsDir: 'static', assetsDir: 'static',
lintOnSave: false, lintOnSave: false,
productionSourceMap: false, productionSourceMap: false,

Loading…
Cancel
Save