Merge branch 'dev-scheduling' of http://42.192.7.176:3000/suojin/jonhon-mes-web into dev-scheduling

dev-scheduling
ysn 1 month ago
commit f5c4e327cd
  1. 17
      src/api/costManagement/costStatistics.js
  2. 1
      src/views/basicData/jobTransferManagement.vue
  3. 101
      src/views/costStatistics/index.vue

@ -46,4 +46,19 @@ export const getDetail = (params) =>
url: '/api/blade-desk/subjectFeeDetail/findList',
method: 'get',
params
});
});
// 导出材料费用
export const exportMaterial = (params) => {
return exportBlob('/api/blade-desk/costStatistics/exportMaterialCost', params);
};
// 导出作业中心材料费用
export const exportWorkCenterMaterial = (params) => {
return exportBlob('/api/blade-desk/costStatistics/exportWorkCenterMaterialCost', params);
};
// 导出辅助人员材料费用
export const exportAuxiliaryPersonMaterial = (params) => {
return exportBlob('/api/blade-desk/costStatistics/exportAssistantMaterialCost', params);
};

@ -111,7 +111,6 @@
search-key="id"
:debounce-time="500"
@change="changeTeacher"
/>
</el-form-item>
</el-form>

@ -18,6 +18,8 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@cell-click="cellClick"
:cell-class-name="tableCellClassName"
>
<template #menu-left>
<el-button type="primary" @click="handleCost">成本计算</el-button>
@ -72,8 +74,7 @@
</template>
<script>
import {getList,deleteTable,verifyTable,calculateTable,exportData,getDetail} from "@/api/costManagement/costStatistics"
import { tr } from 'element-plus/es/locales.mjs'
import {getList,deleteTable,verifyTable,calculateTable,exportData,getDetail,exportMaterial,exportWorkCenterMaterial,exportAuxiliaryPersonMaterial} from "@/api/costManagement/costStatistics"
export default {
data(){
return{
@ -307,6 +308,92 @@ export default {
},
methods:{
cellClick(row, column, cell, event){
console.log('row----------',row)
console.log('column----------',column)
if(column.property == 'materialCost'){
this.$confirm('是否导出数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
// this.loading = true;
exportMaterial({ month: row.month,workCenterId:row.workCenterId }).then(res => {
const blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
const url = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = `${row.month}${row.workCenterName}材料费用.xlsx`;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
window.URL.revokeObjectURL(url);
this.$message.success('导出成功');
this.loading = false;
}).catch(() => {
this.loading = false;
});
});
}else if(column.property == 'workCenterMaterialCost'){
this.$confirm('是否导出数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
exportWorkCenterMaterial({ month: row.month,workCenterId:row.workCenterId }).then(res => {
const blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
const url = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = `${row.month}${row.workCenterName}作业中心材料费用.xlsx`;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
window.URL.revokeObjectURL(url);
this.$message.success('导出成功');
this.loading = false;
}).catch(() => {
this.loading = false;
});
})
}else if(column.property == 'assistantMaterialCost'){
this.$confirm('是否导出数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
exportAuxiliaryPersonMaterial({ month: row.month }).then(res => {
const blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
const url = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = `${row.month}月辅助人员材料费用.xlsx`;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
window.URL.revokeObjectURL(url);
this.$message.success('导出成功');
this.loading = false;
}).catch(() => {
this.loading = false;
});
})
}else{
return
}
},
tableCellClassName({ row, column, rowIndex, columnIndex }){
const monthProps = [
'materialCost',
'workCenterMaterialCost',
"assistantMaterialCost"
];
if(monthProps.includes(column.property)){
return "high_row"
}
return ''
},
handleCurrentRowChange(row){
if (!row) {
this.detailData = [];
@ -538,4 +625,14 @@ export default {
::v-deep .el-table__row.current-row td {
background-color: yellow !important;
}
//
::v-deep .high_row {
cursor: pointer !important;
// 线
&:hover {
text-decoration: underline;
color: #284c89 !important; /* Element UI 主题蓝,你可以改为 blue 或其他颜色 */
}
}
</style>
Loading…
Cancel
Save