Commit 61c79e19 authored by tianhongyang's avatar tianhongyang

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys...

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司
parents 192f5803 cbff7dc7
...@@ -61,32 +61,32 @@ public interface CbProjectConstants { ...@@ -61,32 +61,32 @@ public interface CbProjectConstants {
/** /**
* 成本类型:直接费成本 * 成本类型:直接费成本
*/ */
Integer CB_TYPE_DIRECT_EXPENSE = 0; int CB_TYPE_DIRECT_EXPENSE = 0;
String CB_TYPE_DIRECT_EXPENSE_NAME = "直接费成本"; String CB_TYPE_DIRECT_EXPENSE_NAME = "直接费成本";
/** /**
* 成本类型:工料汇总 * 成本类型:工料汇总
*/ */
Integer CB_TYPE_QUANTITY_SUMMARY = 1; int CB_TYPE_QUANTITY_SUMMARY = 1;
String CB_TYPE_QUANTITY_SUMMARY_NAME = "工料汇总"; String CB_TYPE_QUANTITY_SUMMARY_NAME = "工料汇总";
/** /**
* 成本类型:措施项目 * 成本类型:措施项目
*/ */
Integer CB_TYPE_MEASURE_PROJECT = 2; int CB_TYPE_MEASURE_PROJECT = 2;
String CB_TYPE_MEASURE_PROJECT_NAME = "措施项目"; String CB_TYPE_MEASURE_PROJECT_NAME = "措施项目";
/** /**
* 成本类型:其他项目 * 成本类型:其他项目
*/ */
Integer CB_TYPE_OTHER_PROJECT = 3; int CB_TYPE_OTHER_PROJECT = 3;
String CB_TYPE_OTHER_PROJECT_NAME = "其他项目"; String CB_TYPE_OTHER_PROJECT_NAME = "其他项目";
/** /**
* 成本类型:现场经费 * 成本类型:现场经费
*/ */
Integer CB_TYPE_SCENE_EXPENSE = 4; int CB_TYPE_SCENE_EXPENSE = 4;
String CB_TYPE_SCENE_EXPENSE_NAME = "现场经费"; String CB_TYPE_SCENE_EXPENSE_NAME = "现场经费";
/** /**
* 成本类型:成本汇总 * 成本类型:成本汇总
*/ */
Integer CB_TYPE_SUMMARY = 5; int CB_TYPE_SUMMARY = 5;
String CB_TYPE_SUMMARY_NAME = "成本汇总"; String CB_TYPE_SUMMARY_NAME = "成本汇总";
} }
...@@ -8,6 +8,7 @@ import com.dsk.common.core.page.TableDataInfo; ...@@ -8,6 +8,7 @@ import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.CbProjectRecord; import com.dsk.cscec.domain.CbProjectRecord;
import com.dsk.cscec.domain.bo.*; import com.dsk.cscec.domain.bo.*;
import com.dsk.cscec.domain.vo.CbProjectCbStageNotDraftVo; import com.dsk.cscec.domain.vo.CbProjectCbStageNotDraftVo;
import com.dsk.cscec.domain.vo.CbProjectInfoVo;
import com.dsk.cscec.domain.vo.CbProjectRecordSearchVo; import com.dsk.cscec.domain.vo.CbProjectRecordSearchVo;
import com.dsk.cscec.service.CbProjectRecordService; import com.dsk.cscec.service.CbProjectRecordService;
import com.dsk.cscec.service.IDProjectService; import com.dsk.cscec.service.IDProjectService;
...@@ -76,7 +77,7 @@ public class CbProjectRecordController extends BaseController { ...@@ -76,7 +77,7 @@ public class CbProjectRecordController extends BaseController {
* 获取项目历史阶段信息(懒加载) * 获取项目历史阶段信息(懒加载)
*/ */
@GetMapping("/getProjectHistoryInfo") @GetMapping("/getProjectHistoryInfo")
public R<List<CbProjectRecord>> getProjectHistoryInfo(@RequestBody CbProjectHistorySearchBo searchBo) { public R<List<CbProjectRecord>> getProjectHistoryInfo(CbProjectHistorySearchBo searchBo) {
return R.ok(baseService.getProjectHistoryInfo(searchBo)); return R.ok(baseService.getProjectHistoryInfo(searchBo));
} }
...@@ -136,5 +137,13 @@ public class CbProjectRecordController extends BaseController { ...@@ -136,5 +137,13 @@ public class CbProjectRecordController extends BaseController {
public R<Void> deleteDraft(@NotNull(message = "项目ID不能为空") @PathVariable Long projectId) { public R<Void> deleteDraft(@NotNull(message = "项目ID不能为空") @PathVariable Long projectId) {
return toAjax(baseService.deleteDraft(projectId)); return toAjax(baseService.deleteDraft(projectId));
} }
/**
* 获取工程项目信息
*/
@GetMapping("/getCbProjectInfo/{projectId}")
public R<CbProjectInfoVo> getCbProjectInfo(@NotNull(message = "项目ID不能为空") @PathVariable Long projectId) {
return R.ok(dProjectService.getCbProjectInfo(projectId));
}
} }
...@@ -33,7 +33,6 @@ public class DProject implements Serializable { ...@@ -33,7 +33,6 @@ public class DProject implements Serializable {
/** /**
* IPM项目名称 * IPM项目名称
*/ */
private String projectName; private String projectName;
/** /**
...@@ -49,7 +48,6 @@ public class DProject implements Serializable { ...@@ -49,7 +48,6 @@ public class DProject implements Serializable {
/** /**
* 项目简称 * 项目简称
*/ */
private String projectShortName; private String projectShortName;
/** /**
......
package com.dsk.cscec.domain.vo;
import lombok.Data;
import java.util.Date;
/**
* @author sxk
* @date 2024.02.28
* @time 14:24
*/
@Data
public class CbProjectInfoVo {
//项目基本情况↓
/**
* 工程名称
*/
private String projectName;
/**
* 区域名称(工程所在地)
*/
private String areaName;
/**
* 城市名称(工程所在地)
*/
private String cityName;
/**
* 县市(工程所在地)
*/
private String districtName;
/**
* 项目地址(工程详细地址)
*/
private String projectAddress;
//业态
/**
* 工程类型上级名称(工程类型)
*/
private String projectType1;
//计价模式(清单/定额)
//承包形式(EPC/DB/EP/PC)
//合同类型
//建设单位
/**
* 设计单位
*/
private String designOrgName;
//勘察单位
/**
* 监理单位
*/
private String supervisorOrgName;
//代理公司(或工料测量师)
//招标形式
//承包方式
//预计合同额(万元)
/**
* 资金来源名称(资金来源)
*/
private String moneySource;
//分包标准费用项价格库
//材料机械标准费用价格库
//专业类别
//平台项目名称
//核定总人数
//折算收入不含税系数(应纳税率)
//收入清单增值税率
//项目特征信息↓
//地上建筑面积
//地下建筑面积
//坑底面积
//占地面积
//结构类型
//基础类型
//单体个数
/**
* 地上层数
*/
private String noOfOverfloor;
/**
* 地下层数
*/
private String noOfUnderfloor;
/**
* 建筑高度(m)
*/
private String constructHeight;
//地下深度
//首层(m)
//标准层(m)
//其他说明
//项目投标时的要点↓
//建筑工程
//机电工程
//专业工程暂估
//装饰工程
//配套工程
//指定分包
//报价方式/合同形式
//指定供应
//电子标
/**
* 计划开工日期
*/
private Date planStartDate;
/**
* 计划竣工日期
*/
private Date planEndDate;
/**
* 合同总工期(总工期)
*/
private String contractWorkDays;
//缺陷责任
//质量标准
//品牌要求
//质量要求
//报价中需要注意的其他问题/风险
//评标办法↓
//评标程序
//评标原则
//招标控制价(如有)
//专家组成
//定标原则
//报价上限(如有)
//投标各时间节点↓
//标前会议(或者领取投标文件的时间)
//投标人提出疑问的截止时间
//招标人答复疑问的截止时间
//现场踏勤时间
//招标控制价(如有)
//报价上限(如有)
//时间
//开标时的要求
//地点
//投标有效期
}
...@@ -7,6 +7,7 @@ import com.dsk.cscec.domain.DProject; ...@@ -7,6 +7,7 @@ import com.dsk.cscec.domain.DProject;
import com.dsk.cscec.domain.bo.CooperateProjectDetailSearchBo; import com.dsk.cscec.domain.bo.CooperateProjectDetailSearchBo;
import com.dsk.cscec.domain.bo.ProjectDetailBo; import com.dsk.cscec.domain.bo.ProjectDetailBo;
import com.dsk.cscec.domain.bo.ProjectSearchBo; import com.dsk.cscec.domain.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.CbProjectInfoVo;
import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo; import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo;
import com.dsk.cscec.domain.vo.ProjectDetailVo; import com.dsk.cscec.domain.vo.ProjectDetailVo;
import com.dsk.cscec.domain.vo.ProjectSearchVo; import com.dsk.cscec.domain.vo.ProjectSearchVo;
...@@ -60,5 +61,12 @@ public interface IDProjectService extends IService<DProject> { ...@@ -60,5 +61,12 @@ public interface IDProjectService extends IService<DProject> {
* @return 校验结果 * @return 校验结果
*/ */
Boolean checkProjectCodeExist(String projectCode); Boolean checkProjectCodeExist(String projectCode);
/**
* 获取工程项目信息
* @param projectId 项目ID
* @return 工程项目信息
*/
CbProjectInfoVo getCbProjectInfo(Long projectId);
} }
...@@ -72,6 +72,7 @@ public class CbProjectExpenseSummaryServiceImpl extends ServiceImpl<CbProjectExp ...@@ -72,6 +72,7 @@ public class CbProjectExpenseSummaryServiceImpl extends ServiceImpl<CbProjectExp
InputStream inputStream = ossService.downFileIO(projectFile.getFileOssId()); InputStream inputStream = ossService.downFileIO(projectFile.getFileOssId());
if (ObjectUtil.isNull(inputStream)) { if (ObjectUtil.isNull(inputStream)) {
projectFile.setFileParseStatus(CbProjectConstants.PROJECT_FILE_STATUS_PARSE_FAIL); projectFile.setFileParseStatus(CbProjectConstants.PROJECT_FILE_STATUS_PARSE_FAIL);
log.error("FileId:" + projectFile.getId() + ",文件数据不存在");
projectFile.setFailRemark("文件数据不存在"); projectFile.setFailRemark("文件数据不存在");
projectFileMapper.updateById(projectFile); projectFileMapper.updateById(projectFile);
continue; continue;
...@@ -80,6 +81,7 @@ public class CbProjectExpenseSummaryServiceImpl extends ServiceImpl<CbProjectExp ...@@ -80,6 +81,7 @@ public class CbProjectExpenseSummaryServiceImpl extends ServiceImpl<CbProjectExp
List<CbProjectExpenseSummary> importList = new ExcelUtils<>(CbProjectExpenseSummary.class).importExcelAllSheet(inputStream, 0); List<CbProjectExpenseSummary> importList = new ExcelUtils<>(CbProjectExpenseSummary.class).importExcelAllSheet(inputStream, 0);
if (importList.isEmpty()) { if (importList.isEmpty()) {
projectFile.setFileParseStatus(CbProjectConstants.PROJECT_FILE_STATUS_PARSE_FAIL); projectFile.setFileParseStatus(CbProjectConstants.PROJECT_FILE_STATUS_PARSE_FAIL);
log.error("FileId:" + projectFile.getId() + ",表格中不存在待导入数据");
projectFile.setFailRemark("表格中不存在待导入数据!"); projectFile.setFailRemark("表格中不存在待导入数据!");
projectFileMapper.updateById(projectFile); projectFileMapper.updateById(projectFile);
continue; continue;
...@@ -100,7 +102,8 @@ public class CbProjectExpenseSummaryServiceImpl extends ServiceImpl<CbProjectExp ...@@ -100,7 +102,8 @@ public class CbProjectExpenseSummaryServiceImpl extends ServiceImpl<CbProjectExp
.collect(Collectors.toList()); .collect(Collectors.toList());
if (summaryList.size() != importList.size()) { if (summaryList.size() != importList.size()) {
projectFile.setFileParseStatus(CbProjectConstants.PROJECT_FILE_STATUS_PARSE_FAIL); projectFile.setFileParseStatus(CbProjectConstants.PROJECT_FILE_STATUS_PARSE_FAIL);
projectFile.setFailRemark("表格中存在\"名称\"列为空数据!"); log.error("FileId:" + projectFile.getId() + ",表格中存在\"名称\"列为空数据!");
projectFile.setFailRemark("表格中存在\"名称\"列为空数据");
projectFileMapper.updateById(projectFile); projectFileMapper.updateById(projectFile);
continue; continue;
} }
......
...@@ -181,7 +181,7 @@ public class CbProjectOtherServiceImpl extends ServiceImpl<CbProjectOtherMapper, ...@@ -181,7 +181,7 @@ public class CbProjectOtherServiceImpl extends ServiceImpl<CbProjectOtherMapper,
file.setFileParseStatus(3); file.setFileParseStatus(3);
file.setFailRemark("文件数据不存在"); file.setFailRemark("文件数据不存在");
projectFileService.updateById(file); projectFileService.updateById(file);
break; continue;
} }
// 文件名称 // 文件名称
...@@ -191,7 +191,7 @@ public class CbProjectOtherServiceImpl extends ServiceImpl<CbProjectOtherMapper, ...@@ -191,7 +191,7 @@ public class CbProjectOtherServiceImpl extends ServiceImpl<CbProjectOtherMapper,
Long fileId = file.getId(); Long fileId = file.getId();
if ("其他费".equals(name)) { if ("其他费".equals(name)) {
totalDataAnalysis(inputStream, name, file, projectId, cbStage); totalDataAnalysis(inputStream, name, file, projectId, cbStage);
break; continue;
} }
//解析数据 //解析数据
ExcelResult<CbProjectOtherImportVo> importVoExcelResult = ExcelResult<CbProjectOtherImportVo> importVoExcelResult =
...@@ -204,7 +204,7 @@ public class CbProjectOtherServiceImpl extends ServiceImpl<CbProjectOtherMapper, ...@@ -204,7 +204,7 @@ public class CbProjectOtherServiceImpl extends ServiceImpl<CbProjectOtherMapper,
file.setFileParseStatus(3); file.setFileParseStatus(3);
file.setFailRemark("表格中不存在待导入数据!"); file.setFailRemark("表格中不存在待导入数据!");
projectFileService.updateById(file); projectFileService.updateById(file);
break; continue;
} }
log.debug(">>>>" + importVoList.size()); log.debug(">>>>" + importVoList.size());
CbProjectOther rootProjectOther = new CbProjectOther(); CbProjectOther rootProjectOther = new CbProjectOther();
......
...@@ -113,6 +113,7 @@ public class CbSceneExpenseChildrenServiceImpl extends ServiceImpl<CbSceneExpens ...@@ -113,6 +113,7 @@ public class CbSceneExpenseChildrenServiceImpl extends ServiceImpl<CbSceneExpens
InputStream inputStream = ossService.downFileIO(projectFile.getFileOssId()); InputStream inputStream = ossService.downFileIO(projectFile.getFileOssId());
if (ObjectUtil.isNull(inputStream)) { if (ObjectUtil.isNull(inputStream)) {
projectFile.setFileParseStatus(CbProjectConstants.PROJECT_FILE_STATUS_PARSE_FAIL); projectFile.setFileParseStatus(CbProjectConstants.PROJECT_FILE_STATUS_PARSE_FAIL);
log.error("FileId:" + projectFile.getId() + ",文件数据不存在");
projectFile.setFailRemark("文件数据不存在"); projectFile.setFailRemark("文件数据不存在");
projectFileMapper.updateById(projectFile); projectFileMapper.updateById(projectFile);
continue; continue;
...@@ -121,6 +122,7 @@ public class CbSceneExpenseChildrenServiceImpl extends ServiceImpl<CbSceneExpens ...@@ -121,6 +122,7 @@ public class CbSceneExpenseChildrenServiceImpl extends ServiceImpl<CbSceneExpens
List<CbSceneExpenseChildrenImportBo> importList = new ExcelUtils<>(CbSceneExpenseChildrenImportBo.class).importExcelAllSheet(inputStream, 0); List<CbSceneExpenseChildrenImportBo> importList = new ExcelUtils<>(CbSceneExpenseChildrenImportBo.class).importExcelAllSheet(inputStream, 0);
if (importList.isEmpty()) { if (importList.isEmpty()) {
projectFile.setFileParseStatus(CbProjectConstants.PROJECT_FILE_STATUS_PARSE_FAIL); projectFile.setFileParseStatus(CbProjectConstants.PROJECT_FILE_STATUS_PARSE_FAIL);
log.error("FileId:" + projectFile.getId() + ",表格中不存在待导入数据");
projectFile.setFailRemark("表格中不存在待导入数据"); projectFile.setFailRemark("表格中不存在待导入数据");
projectFileMapper.updateById(projectFile); projectFileMapper.updateById(projectFile);
continue; continue;
...@@ -154,7 +156,8 @@ public class CbSceneExpenseChildrenServiceImpl extends ServiceImpl<CbSceneExpens ...@@ -154,7 +156,8 @@ public class CbSceneExpenseChildrenServiceImpl extends ServiceImpl<CbSceneExpens
.collect(Collectors.toList()); .collect(Collectors.toList());
if (summaryList.size() != importList.size()) { if (summaryList.size() != importList.size()) {
projectFile.setFileParseStatus(CbProjectConstants.PROJECT_FILE_STATUS_PARSE_FAIL); projectFile.setFileParseStatus(CbProjectConstants.PROJECT_FILE_STATUS_PARSE_FAIL);
projectFile.setFailRemark("表格中存在\"名称\"列为空数据!"); log.error("FileId:" + projectFile.getId() + ",表格中存在\"名称\"列为空数据");
projectFile.setFailRemark("表格中存在\"名称\"列为空数据");
projectFileMapper.updateById(projectFile); projectFileMapper.updateById(projectFile);
continue; continue;
} }
......
...@@ -3,6 +3,7 @@ package com.dsk.cscec.service.impl; ...@@ -3,6 +3,7 @@ package com.dsk.cscec.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -15,15 +16,18 @@ import com.dsk.common.utils.StringUtils; ...@@ -15,15 +16,18 @@ import com.dsk.common.utils.StringUtils;
import com.dsk.cscec.constant.AdvisoryBodyManageQueryConstants; import com.dsk.cscec.constant.AdvisoryBodyManageQueryConstants;
import com.dsk.cscec.domain.AdvisoryBody; import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.AdvisoryBodyProject; import com.dsk.cscec.domain.AdvisoryBodyProject;
import com.dsk.cscec.domain.CbProjectRecord;
import com.dsk.cscec.domain.DProject; import com.dsk.cscec.domain.DProject;
import com.dsk.cscec.domain.bo.CooperateProjectDetailSearchBo; import com.dsk.cscec.domain.bo.CooperateProjectDetailSearchBo;
import com.dsk.cscec.domain.bo.ProjectDetailBo; import com.dsk.cscec.domain.bo.ProjectDetailBo;
import com.dsk.cscec.domain.bo.ProjectSearchBo; import com.dsk.cscec.domain.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.CbProjectInfoVo;
import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo; import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo;
import com.dsk.cscec.domain.vo.ProjectDetailVo; import com.dsk.cscec.domain.vo.ProjectDetailVo;
import com.dsk.cscec.domain.vo.ProjectSearchVo; import com.dsk.cscec.domain.vo.ProjectSearchVo;
import com.dsk.cscec.mapper.AdvisoryBodyMapper; import com.dsk.cscec.mapper.AdvisoryBodyMapper;
import com.dsk.cscec.mapper.AdvisoryBodyProjectMapper; import com.dsk.cscec.mapper.AdvisoryBodyProjectMapper;
import com.dsk.cscec.mapper.CbProjectRecordMapper;
import com.dsk.cscec.mapper.DProjectMapper; import com.dsk.cscec.mapper.DProjectMapper;
import com.dsk.cscec.service.IDProjectService; import com.dsk.cscec.service.IDProjectService;
import com.dsk.jsk.domain.EnterpriseInfoHeaderBody; import com.dsk.jsk.domain.EnterpriseInfoHeaderBody;
...@@ -52,6 +56,8 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -52,6 +56,8 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
private AdvisoryBodyProjectMapper advisoryBodyProjectMapper; private AdvisoryBodyProjectMapper advisoryBodyProjectMapper;
@Resource @Resource
private DskOpenApiUtil dskOpenApiUtil; private DskOpenApiUtil dskOpenApiUtil;
@Resource
private CbProjectRecordMapper projectRecordMapper;
/** /**
* 获取所有项目列表数据 * 获取所有项目列表数据
...@@ -258,5 +264,19 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -258,5 +264,19 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
return baseMapper.exists(new LambdaQueryWrapper<DProject>() return baseMapper.exists(new LambdaQueryWrapper<DProject>()
.eq(DProject::getProjectCode, projectCode)); .eq(DProject::getProjectCode, projectCode));
} }
/**
* 获取工程项目信息
*
* @param projectId 项目ID
* @return 工程项目信息
*/
@Override
public CbProjectInfoVo getCbProjectInfo(Long projectId) {
CbProjectRecord projectRecord = projectRecordMapper.selectById(projectId);
Assert.isTrue(projectRecord.getIsGetProjectDetail(), "请先通过IPM项目编码获取数据,或IPM项目编码无效");
return BeanUtil.toBean(baseMapper.selectOne(new LambdaQueryWrapper<DProject>()
.eq(DProject::getProjectCode, projectRecord.getIpmProjectNo())), CbProjectInfoVo.class);
}
} }
...@@ -172,6 +172,15 @@ export function projectVolume(data) { ...@@ -172,6 +172,15 @@ export function projectVolume(data) {
}); });
} }
//措施费-获取实际成本月份列表
export function actualMonths(params) {
return request({
url: '/cb/cost/measures/actual/months',
method: 'GET',
params
});
}
// 工料汇总 // 工料汇总
...@@ -204,8 +213,8 @@ export const getFeedSummaryMonthListApi = (params = {}) => request({ ...@@ -204,8 +213,8 @@ export const getFeedSummaryMonthListApi = (params = {}) => request({
* recordDate : string; * recordDate : string;
* projectId : number; * projectId : number;
* cbStage : number * cbStage : number
* }} params * }} params
* @returns * @returns
*/ */
export const getFeedSummaryListApi = (params = {}) => request({ export const getFeedSummaryListApi = (params = {}) => request({
url: "/cb/quantity/summary/subjectList", url: "/cb/quantity/summary/subjectList",
......
...@@ -11,12 +11,21 @@ ...@@ -11,12 +11,21 @@
</div> </div>
<div class="profitloss"> <div class="profitloss">
<div class="search"> <div class="search">
<el-date-picker size="small" style="width: 140px" <!--<el-date-picker size="small" style="width: 140px"-->
v-model="expenseDate" <!--v-model="expenseDate"-->
type="month" <!--type="month"-->
placeholder="选择月" @change="changetime" <!--placeholder="选择月" @change="changetime"-->
:picker-options="pickerOptions"> <!--value-format="yyyy-MM"-->
</el-date-picker> <!--:picker-options="pickerOptions">-->
<!--</el-date-picker>-->
<el-select v-model="expenseDate">
<el-option
v-for="item in dateoptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-button v-if="!isall" type="primary" size="small" @click="addcost">添加实际成本</el-button> <el-button v-if="!isall" type="primary" size="small" @click="addcost">添加实际成本</el-button>
</div> </div>
<!--汇总--> <!--汇总-->
...@@ -183,7 +192,7 @@ ...@@ -183,7 +192,7 @@
getMeasureslist, getMeasureslist,
getSummarydata, getSummarydata,
projectVolume, projectVolume,
pushProjectvolume pushProjectvolume,actualMonths
} from '@/api/projectCostLedger' } from '@/api/projectCostLedger'
export default { export default {
...@@ -247,14 +256,15 @@ ...@@ -247,14 +256,15 @@
isall:true,//是否汇总 isall:true,//是否汇总
dialogVisible:false, dialogVisible:false,
queryParam:{},//推送工程量数据 queryParam:{},//推送工程量数据
dateoptions:[],
}; };
}, },
//可访问data属性 //可访问data属性
created() { created() {
let month = new Date().getMonth() +1 // let month = new Date().getMonth() +1
let year = new Date().getFullYear() // let year = new Date().getFullYear()
this.expenseDate = year + '-' + (month>= 9? month:'0'+ month) // this.expenseDate = year + (month>= 9? month:'0'+ month)
this.getactualMonths()
}, },
//计算集 //计算集
computed: { computed: {
...@@ -262,13 +272,29 @@ ...@@ -262,13 +272,29 @@
}, },
//方法集 //方法集
methods: { methods: {
getactualMonths(){
const formDatas = new FormData();
formDatas.append("projectId", this.projectId);
formDatas.append("id", this.id);
console.log(formDatas.get('projectId'))
console.log(formDatas.get('id'))
actualMonths(formDatas).then(res=>{
let data = res.data
data.forEach(item=>{
item.value = item
item.label = item.substring(1,4)+'-'+item.substring(5,6)
})
if(data&&data.length>0)
this.expenseDate = data[0].value
})
},
select(menuPath){ select(menuPath){
this.id = menuPath this.id = menuPath
let month = this.expenseDate.replace('-', ""); // let month = this.expenseDate.replace('-', "");
let param = { let param = {
projectId:this.projectId, projectId:this.projectId,
id:this.id, id:this.id,
month:month month:this.expenseDate
} }
if(menuPath == 0){//费用汇总 if(menuPath == 0){//费用汇总
this.isall = true this.isall = true
...@@ -283,6 +309,7 @@ ...@@ -283,6 +309,7 @@
this.tableData = res.data this.tableData = res.data
}) })
} }
this.getactualMonths()
}, },
async init(detail = '') { async init(detail = '') {
try { try {
...@@ -318,9 +345,6 @@ ...@@ -318,9 +345,6 @@
} }
}, },
changetime(val){ changetime(val){
let month = val.getMonth() +1
let year = val.getFullYear()
this.expenseDate = year + '-' + (month>= 9? month:'0'+ month)
this.select(this.id) this.select(this.id)
}, },
//推送工作量 //推送工作量
...@@ -336,6 +360,7 @@ ...@@ -336,6 +360,7 @@
projectVolume(row.id).then(res=>{ projectVolume(row.id).then(res=>{
if(res.data){ if(res.data){
let datas = res.data let datas = res.data
this.queryParam.currentProjectVolume = datas.currentProjectVolume
this.queryParam.ipmProjectCode = datas.ipmProjectCode this.queryParam.ipmProjectCode = datas.ipmProjectCode
this.queryParam.ipmContractCode = datas.ipmContractCode this.queryParam.ipmContractCode = datas.ipmContractCode
this.queryParam.ipmBizCode = datas.ipmBizCode this.queryParam.ipmBizCode = datas.ipmBizCode
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
v-model="expenseDate" v-model="expenseDate"
type="month" type="month"
placeholder="选择月" @change="changetime" placeholder="选择月" @change="changetime"
value-format="yyyy-MM"
> >
</el-date-picker> </el-date-picker>
</div> </div>
...@@ -254,10 +255,6 @@ ...@@ -254,10 +255,6 @@
} }
}, },
changetime(val){ changetime(val){
console.log(val)
// let month = val.getMonth() +1
// let year = val.getFullYear()
// this.expenseDate = year + '-' + (month>= 9? month:'0'+ month)
this.select(this.id) this.select(this.id)
}, },
}, },
......
...@@ -283,6 +283,7 @@ ...@@ -283,6 +283,7 @@
uploadtype:0,//上传的版块类型 uploadtype:0,//上传的版块类型
visible:false, visible:false,
issub:false,//已填完数据可以开始解析 issub:false,//已填完数据可以开始解析
isclick:true,
} }
}, },
created() { created() {
...@@ -327,7 +328,7 @@ ...@@ -327,7 +328,7 @@
}) })
}, },
uplpro(type){ uplpro(type){
if(!this.prodetail){ if(!this.prodetail && this.isclick){
this.uploadtype = type this.uploadtype = type
this.$refs.uploadpro.$el.querySelector('input').click() this.$refs.uploadpro.$el.querySelector('input').click()
} }
...@@ -359,6 +360,7 @@ ...@@ -359,6 +360,7 @@
}); });
}, },
handleFileListChange(file, fileList) { handleFileListChange(file, fileList) {
this.isclick = false
var testmsg = file.name.substring(file.name.lastIndexOf(".") + 1); var testmsg = file.name.substring(file.name.lastIndexOf(".") + 1);
const extension = testmsg === "xlsx"; const extension = testmsg === "xlsx";
const extension1 = testmsg === "xls"; const extension1 = testmsg === "xls";
...@@ -408,6 +410,7 @@ ...@@ -408,6 +410,7 @@
default: default:
break break
} }
this.isclick = true
} }
}) })
}, },
......
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