角色&预算填报bug

This commit is contained in:
2026-05-07 10:46:16 +08:00
parent 31f23d1d77
commit c2b64d5e22
7 changed files with 8 additions and 101 deletions

View File

@@ -10,11 +10,11 @@ VUE_APP_TITLE = 洛玻集团驾驶舱
# VUE_APP_BASE_API = 'http://172.16.33.83:7070' # VUE_APP_BASE_API = 'http://172.16.33.83:7070'
# 杨姗姗 # 杨姗姗
# VUE_APP_BASE_API = 'http://172.16.20.218:7070' VUE_APP_BASE_API = 'http://172.16.20.218:8080'
# 小田 # 小田
# VUE_APP_BASE_API = 'http://172.16.19.232:7070' # VUE_APP_BASE_API = 'http://172.16.19.232:7070'
# 测试 # 测试
VUE_APP_BASE_API = 'http://192.168.0.35:8080' # VUE_APP_BASE_API = 'http://192.168.0.35:8080'
# 闫阳 # 闫阳
# VUE_APP_BASE_API = 'http://172.16.19.131:7070' # VUE_APP_BASE_API = 'http://172.16.19.131:7070'

View File

@@ -312,6 +312,8 @@ export default {
return this.updateData(this.tableData) return this.updateData(this.tableData)
}).then(() => { }).then(() => {
this.isDetail = false; this.isDetail = false;
this.allDownBtn = false;
this.allUpBtn = false;
// 重置表格配置 // 重置表格配置
this.initTableProps(this.isDetail); this.initTableProps(this.isDetail);
// 清空并重新请求数据,恢复原始状态 // 清空并重新请求数据,恢复原始状态

View File

@@ -92,16 +92,6 @@ export default {
backgroundColor: '#6a7985' backgroundColor: '#6a7985'
} }
}, },
// formatter: (params) => {
// let html = `${params[0].axisValue}<br/>`;
// params.forEach(item => {
// const unit = item.seriesName === '完成率' ? '%' : (
// ['产量', '销量'].includes(this.$parent.selectedProfit) ? '片' : '万元'
// );
// html += `${item.marker} ${item.seriesName}: ${item.value}${unit}<br/>`;
// });
// return html;
// }
}, },
grid: { grid: {
top: 30, top: 30,
@@ -149,26 +139,6 @@ export default {
axisLine: { lineStyle: { color: 'rgba(0, 0, 0, 0.15)' } }, axisLine: { lineStyle: { color: 'rgba(0, 0, 0, 0.15)' } },
splitNumber: 4 splitNumber: 4
}, },
// 右侧Y轴利润占比百分比
// {
// type: 'value',
// nameTextStyle: {
// color: 'rgba(0, 0, 0, 0.45)',
// fontSize: 12,
// align: 'left'
// },
// min: 0,
// max: 100,
// axisTick: { show: false },
// axisLabel: {
// color: 'rgba(0, 0, 0, 0.45)',
// fontSize: 12,
// formatter: '{value}%'
// },
// splitLine: { show: false },
// axisLine: { lineStyle: { color: 'rgba(0, 0, 0, 0.15)' } },
// splitNumber: 4
// }
], ],
series: chartSeries // 直接使用父组件传递的 series series: chartSeries // 直接使用父组件传递的 series
}; };

View File

@@ -105,9 +105,6 @@ export default {
factory: baseIndex, factory: baseIndex,
dateData: this.dateData dateData: this.dateData
} }
// 若仍需用base作为参数
// base: itemName,
// params: { baseIndex: baseIndex }
}); });
}); });

View File

@@ -83,24 +83,6 @@ export default {
sortChange(value) { sortChange(value) {
this.$emit('sort-change', value); this.$emit('sort-change', value);
}, },
/**
* 判断rate对应的flag值<1为0>1为1
* @param {number} rate 处理后的rate值已*100
* @returns {0|1} flag值
*/
getRateFlag(rate, real, target) {
if (isNaN(rate) || rate === null || rate === undefined) return 0;
// 1. 完成率 >= 100 => 达标
if (rate >= 100) return 1;
// 2. 完成率 = 0 且 (目标值=0 或 实际值=目标值=0) => 达标
if (rate === 0 && target === 0) return 1;
// 其他情况 => 未达标
return 0;
},
/** /**
* 核心处理函数:在所有数据都准备好后,才组装 chartData * 核心处理函数:在所有数据都准备好后,才组装 chartData
*/ */

View File

@@ -26,26 +26,15 @@
grid-template-columns: 1624px; grid-template-columns: 1624px;
"> ">
<operatingLineChartCumulative :dateData="dateData" :ytdData="ytdData" /> <operatingLineChartCumulative :dateData="dateData" :ytdData="ytdData" />
<!-- <keyWork /> -->
</div> </div>
</div> </div>
</div> </div>
<!-- <div class="centerImg" style="
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1; /* 确保在 backp 之上、内容之下 */
"></div> -->
</div> </div>
</template> </template>
<script> <script>
import ReportHeader from "../components/noRouterHeader.vue"; import ReportHeader from "../components/noRouterHeader.vue";
import { Sidebar } from "../../../layout/components"; import { Sidebar } from "../../../layout/components";
import screenfull from "screenfull"; import screenfull from "screenfull";
// import operatingSalesRevenue from "./operatingComponents/operatingSalesRevenue";
// import premProdStatus from "./components/premProdStatus.vue";
import { mapState } from "vuex"; import { mapState } from "vuex";
import operatingLineChart from "../operatingComponents/operatingLineChart"; import operatingLineChart from "../operatingComponents/operatingLineChart";
import operatingLineChartCumulative from "../operatingComponents/operatingLineChartCumulative.vue"; import operatingLineChartCumulative from "../operatingComponents/operatingLineChartCumulative.vue";
@@ -58,7 +47,6 @@ export default {
ReportHeader, ReportHeader,
operatingLineChartCumulative, operatingLineChartCumulative,
operatingLineChart, operatingLineChart,
// premProdStatus,
Sidebar, Sidebar,
}, },
data() { data() {
@@ -106,7 +94,6 @@ export default {
return { return {
transform: `scale(${v})`, transform: `scale(${v})`,
transformOrigin: "left top", transformOrigin: "left top",
// overflow: hidden;
}; };
}, },
}, },
@@ -141,10 +128,6 @@ export default {
this.dateData = this.$route.query.dateData ? this.$route.query.dateData : undefined this.dateData = this.$route.query.dateData ? this.$route.query.dateData : undefined
}, },
methods: { methods: {
// sortChange(value) {
// this.sort = value
// this.getData()
// },
getData() { getData() {
getSalesRevenueGroupData({ getSalesRevenueGroupData({
startTime: this.dateData.startTime, startTime: this.dateData.startTime,
@@ -152,17 +135,10 @@ export default {
sort: this.sort, sort: this.sort,
index: undefined, index: undefined,
factory: undefined factory: undefined
// timeDim: obj.mode
}).then((res) => { }).then((res) => {
console.log(res); console.log(res);
this.monthData= res.data.month this.monthData= res.data.month
this.ytdData = res.data.ytd this.ytdData = res.data.ytd
// this.saleData = res.data.SaleData
// this.premiumProduct = res.data.premiumProduct
// this.salesTrendMap = res.data.salesTrendMap
// this.grossMarginTrendMap = res.data.grossMarginTrendMap
// this.salesProportion = res.data.salesProportion ? res.data.salesProportion : {}
}) })
}, },
handleTimeChange(obj) { handleTimeChange(obj) {
@@ -212,28 +188,7 @@ export default {
return false; return false;
} }
screenfull.toggle(this.$refs.dayReportB); screenfull.toggle(this.$refs.dayReportB);
}, }
// 导出
// exportPDF() {
// this.$message.success('正在导出,请稍等!')
// const element = document.getElementById('dayRepDom')
// element.style.display = 'block'
// const fileName = '株洲碲化镉生产日报' + moment().format('yyMMDD') + '.pdf'
// html2canvas(element, {
// dpi: 300, // Set to 300 DPI
// scale: 3 // Adjusts your resolution
// }).then(function(canvas) {
// const imgWidth = 595.28
// const imgHeight = 841.89
// const pageData = canvas.toDataURL('image/jpeg', 1.0)
// const PDF = new JsPDF('', 'pt', [imgWidth, imgHeight])
// PDF.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight)
// setTimeout(() => {
// PDF.save(fileName) // 导出文件名
// }, 1000)
// })
// element.style.display = 'none'
// }
}, },
}; };
</script> </script>

View File

@@ -99,7 +99,7 @@
<el-input v-model="form.code" placeholder="请输入角色标识" /> <el-input v-model="form.code" placeholder="请输入角色标识" />
</el-form-item> </el-form-item>
<el-form-item label="角色顺序" prop="sort"> <el-form-item label="角色顺序" prop="sort">
<el-input-number v-model="form.sort" controls-position="right" :min="0" /> <el-input-number v-model="form.sort" controls-position="right" :min="0"/>
</el-form-item> </el-form-item>
<el-form-item label="备注"> <el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input> <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
@@ -327,7 +327,8 @@ export default {
dataScope: undefined, dataScope: undefined,
deptCheckStrictly: false, deptCheckStrictly: false,
menuCheckStrictly: true, menuCheckStrictly: true,
remark: undefined remark: undefined,
status: "0"
}; };
this.resetForm("form"); this.resetForm("form");
}, },