Commit 98ff95ba by liangzhen

替换自查页面

1 parent 2e2326a4
...@@ -357,4 +357,7 @@ export default { ...@@ -357,4 +357,7 @@ export default {
} }
} }
} }
// /deep/ .el-icon-close:before{
// font-size:17px !important;
// }
</style> </style>
...@@ -142,6 +142,10 @@ export function constructionFormText(type) { ...@@ -142,6 +142,10 @@ export function constructionFormText(type) {
case "3": case "3":
return '自建' return '自建'
break; break;
case "4":
return '统推'
break;
} }
} }
export function ruleType(msg){ export function ruleType(msg){
......
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
placeholder="请选择" placeholder="请选择"
clearable clearable
> >
<el-option label="材料未上传" value="0"></el-option> <!-- <el-option label="材料未上传" value="0"></el-option> -->
<el-option label="待评估" value="1"></el-option> <el-option label="待评估" value="1"></el-option>
<el-option label="需整改" value="2"></el-option> <el-option label="需整改" value="2"></el-option>
<el-option label="已整改" value="3"></el-option> <el-option label="已整改" value="3"></el-option>
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
<el-table-column prop="batchName" label="后评估批次名称"> <el-table-column prop="batchName" label="后评估批次名称">
</el-table-column> </el-table-column>
<el-table-column prop="expertName" label="评审专家"> </el-table-column> <el-table-column prop="expertName" label="评审专家"> </el-table-column>
<el-table-column prop="projectId" label="项目编码" width="140"> </el-table-column> <el-table-column prop="projectCode" label="项目编码" width="140"> </el-table-column>
<el-table-column <el-table-column
prop="projectName" prop="projectName"
...@@ -134,17 +134,29 @@ ...@@ -134,17 +134,29 @@
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column prop="projectYear" label="项目年度" width="120"> <el-table-column prop="issueYear" label="项目年度" width="120">
<template slot-scope="scope"> <template slot-scope="scope" >
{{ scope.row.projectYear }} <span v-show="scope.row.issueYear"> {{ scope.row.issueYear }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="projectCategory" label="建设形式" width="120"> <el-table-column prop="constructionForm" label="建设形式" width="120">
</el-table-column> </el-table-column>
<el-table-column prop="postEvalStateText" label="项目审核状态" width="120"> <el-table-column prop="postEvalStateText" label="项目审核状态" width="120">
</el-table-column> </el-table-column>
<el-table-column
prop="contractNumber"
label="合同编号"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="contractName"
label="合同名称"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="planReviewDate" label="计划评估日期"> <el-table-column prop="planReviewDate" label="计划评估日期">
</el-table-column> </el-table-column>
<el-table-column prop="lastUpdateTime" label="实际评估日期"> <el-table-column prop="lastUpdateTime" label="实际评估日期">
...@@ -179,13 +191,13 @@ ...@@ -179,13 +191,13 @@
<div> <div>
<p class="title"><span></span>项目基本信息</p> <p class="title"><span></span>项目基本信息</p>
<div class="content"> <div class="content">
<p><label>项目编号:</label>{{ listData.projectId }}</p> <p><label>项目编号:</label>{{ listData.projectCode }}</p>
<p><label>项目年度:</label>{{ listData.projectYear }}年</p> <p><label>项目年度:</label>{{ listData.issueYear }}年</p>
<p> <p>
<label>项目名称:</label> <label>项目名称:</label>
<span>{{ listData.projectName }}</span> <span>{{ listData.projectName }}</span>
</p> </p>
<p><label>建设形式:</label>{{ listData.projectCategory }}</p> <p><label>建设形式:</label>{{ listData.constructionForm }}</p>
<p> <p>
<label>总投资计划(万元)-成本金:</label <label>总投资计划(万元)-成本金:</label
>{{ listData.costAmountTotal }} >{{ listData.costAmountTotal }}
...@@ -346,7 +358,7 @@ import { ...@@ -346,7 +358,7 @@ import {
downloadObject, downloadObject,
downloadObjectAll downloadObjectAll
} from "@/api/index"; } from "@/api/index";
import { generateYearOptions, projectCategoryText } from "@/utils/cache"; import { generateYearOptions, constructionFormText } from "@/utils/cache";
export default { export default {
data() { data() {
return { return {
...@@ -386,7 +398,7 @@ export default { ...@@ -386,7 +398,7 @@ export default {
}, },
mounted() { mounted() {
this.ruleForm.batchName = this.$route.query.batchName; this.ruleForm.batchName = this.$route.query.batchName;
this.ruleForm.projectId = this.$route.query.projCode; this.ruleForm.projectCode = this.$route.query.projCode;
this.submitForm(); this.submitForm();
}, },
...@@ -414,9 +426,9 @@ export default { ...@@ -414,9 +426,9 @@ export default {
this.tableData = res.data.records; this.tableData = res.data.records;
this.tableData.forEach((item) => { this.tableData.forEach((item) => {
if (item.postEvalState == "" || item.postEvalState == null) { if (item.postEvalState == "" || item.postEvalState == null) {
this.$set(item, "postEvalStateText", "材料未上传"); // this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == "0") { } else if (item.postEvalState == "0") {
this.$set(item, "postEvalStateText", "材料未上传"); // this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == 1) { } else if (item.postEvalState == 1) {
this.$set(item, "postEvalStateText", "待评估"); this.$set(item, "postEvalStateText", "待评估");
} else if (item.postEvalState == 2) { } else if (item.postEvalState == 2) {
...@@ -428,8 +440,8 @@ export default { ...@@ -428,8 +440,8 @@ export default {
} }
this.$set( this.$set(
item, item,
"projectCategory", "constructionForm",
projectCategoryText(item.projectCategory) constructionFormText(item.constructionForm)
); );
}); });
this.total = res.data.total * 1; this.total = res.data.total * 1;
...@@ -453,12 +465,12 @@ export default { ...@@ -453,12 +465,12 @@ export default {
this.dialog = true; this.dialog = true;
let params = { let params = {
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId, projectId: this.checkedList[0].projectCode,
}; };
Promise.all([fzcxXqselect(params), clqdselect(params)]).then((res) => { Promise.all([fzcxXqselect(params), clqdselect(params)]).then((res) => {
this.listData = res[0].data.records[0]; this.listData = res[0].data.records[0];
this.listData.projectCategory = projectCategoryText( this.listData.constructionForm = constructionFormText(
this.listData.projectCategory this.listData.constructionForm
); );
this.qdtableData = JSON.parse(JSON.stringify(this.tableDataNew)); this.qdtableData = JSON.parse(JSON.stringify(this.tableDataNew));
if (res[1].data.records.length > 0) { if (res[1].data.records.length > 0) {
...@@ -523,7 +535,7 @@ export default { ...@@ -523,7 +535,7 @@ export default {
if (this.activeName == "second") { if (this.activeName == "second") {
let params = { let params = {
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId, projectId: this.checkedList[0].projectCode,
}; };
this.xxtableData = []; this.xxtableData = [];
let res = await wtqdqselect(params); let res = await wtqdqselect(params);
...@@ -582,7 +594,7 @@ export default { ...@@ -582,7 +594,7 @@ export default {
} else if (this.activeName == "third") { } else if (this.activeName == "third") {
let params = { let params = {
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId, projectId: this.checkedList[0].projectCode,
}; };
let res = await selLcb(params); let res = await selLcb(params);
if (res.code == "200") { if (res.code == "200") {
...@@ -641,7 +653,7 @@ export default { ...@@ -641,7 +653,7 @@ export default {
return; return;
} }
let response = await downloadObjectAll({ let response = await downloadObjectAll({
prjId:this.checkedList[0].projectId, prjId:this.checkedList[0].projectCode,
bathId: this.checkedList[0].batchId, bathId: this.checkedList[0].batchId,
}); });
let blob = new Blob([response], { type: 'application/zip' }) let blob = new Blob([response], { type: 'application/zip' })
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
placeholder="请选择" placeholder="请选择"
clearable clearable
> >
<el-option label="材料未上传" value="0"></el-option> <!-- <el-option label="材料未上传" value="0"></el-option> -->
<el-option label="待评估" value="1"></el-option> <el-option label="待评估" value="1"></el-option>
<el-option label="需整改" value="2"></el-option> <el-option label="需整改" value="2"></el-option>
<el-option label="已整改" value="3"></el-option> <el-option label="已整改" value="3"></el-option>
...@@ -132,7 +132,7 @@ ...@@ -132,7 +132,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="expertName" label="评审专家"> </el-table-column> <el-table-column prop="expertName" label="评审专家"> </el-table-column>
<el-table-column prop="projectId" label="项目编码" width="120"> <el-table-column prop="projectCode" label="项目编码" width="120">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="projectName" prop="projectName"
...@@ -140,19 +140,42 @@ ...@@ -140,19 +140,42 @@
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column prop="projectYear" label="项目年度" width="120"> <el-table-column prop="issueYear" label="项目年度" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.projectYear }} <span v-show="scope.row.issueYear">
{{ scope.row.issueYear }}</span
>
</template>
</el-table-column>
<el-table-column prop="projectType" label="项目类型" width="120">
<template slot-scope="scope">
<span v-show="scope.row.projectType">
{{ scope.row.projectType | proType }}</span
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="projectCategory" label="建设形式" width="120"> <el-table-column prop="constructionForm" label="建设形式" width="120">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="postEvalStateText" prop="postEvalStateText"
label="项目审核状态 " label="项目审核状态 "
width="120" width="120"
> >
</el-table-column> </el-table-column>
<el-table-column
prop="contractNumber"
label="合同编号"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="contractName"
label="合同名称"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<!-- <el-table-column prop="reviewStatusText" label="项目审核状态" width="120"> <!-- <el-table-column prop="reviewStatusText" label="项目审核状态" width="120">
</el-table-column> --> </el-table-column> -->
<el-table-column prop="planReviewDate" label="计划评估日期"> <el-table-column prop="planReviewDate" label="计划评估日期">
...@@ -257,7 +280,7 @@ ...@@ -257,7 +280,7 @@
slot-scope="scope" slot-scope="scope"
v-if="scope.row.confirmStatus == '1' && scope.row.fileId" v-if="scope.row.confirmStatus == '1' && scope.row.fileId"
> >
<el-tag <el-tag
v-if="scope.row.fileName" v-if="scope.row.fileName"
size="small" size="small"
@click="handleClickXZ(scope.row.fileId, scope.row.fileName)" @click="handleClickXZ(scope.row.fileId, scope.row.fileName)"
...@@ -292,21 +315,38 @@ ...@@ -292,21 +315,38 @@
</el-select> </el-select>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column label="上传整改材料" width="400"> <el-table-column
<template slot-scope="scope" v-if="scope.row.zgFileId"> label="整改材料"
<el-tag width="600"
size="small" show-overflow-tooltip
v-for="(tag, index) in scope.row.tags" >
:key="index" <template slot-scope="scope" v-if="scope.row.filed">
@click="handleClickXZ(scope.row.tagId[index], tag)" <div v-for="(item, index) in scope.row.filed" :key="index">
> <el-tooltip
{{ tag }} class="item"
</el-tag> effect="dark"
<!-- {{ scope.row.zgName}} :content="`${item.names}:${item.values}`"
<el-button placement="top-start"
@click="handleClickXZ(scope.row.zgFileId, scope.row.zgName)" >
>下载</el-button <div class="filedp">
> --> <p>
<span class="tips">{{ item.names }}:</span
><span>{{ item.values }}</span>
</p>
<el-button
size="small"
type="primary"
class="btn-search btnTop"
@click="downloadObjectStr(item)"
v-if="
scope.row.prob.indexOf(scope.row.projectStage) !=
-1
"
>下载</el-button
>
</div>
</el-tooltip>
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="情况说明" prop="zgqkFileId" width="400"> <el-table-column label="情况说明" prop="zgqkFileId" width="400">
...@@ -370,12 +410,15 @@ import { ...@@ -370,12 +410,15 @@ import {
wtssSelectificationVerification, wtssSelectificationVerification,
bcrectificationVerification, bcrectificationVerification,
downloadObject, downloadObject,
tjrectificationVerification tjrectificationVerification,
MaterialWarehous,
downloadObjectStr,
} from "@/api/index"; } from "@/api/index";
import { generateYearOptions, projectCategoryText } from "@/utils/cache"; import { generateYearOptions, constructionFormText } from "@/utils/cache";
export default { export default {
data() { data() {
return { return {
dialogFullScreen: false,
yearsList: generateYearOptions(), yearsList: generateYearOptions(),
showButton: true, showButton: true,
ruleForm: { ruleForm: {
...@@ -426,7 +469,38 @@ export default { ...@@ -426,7 +469,38 @@ export default {
this.ruleForm.batchName = this.$route.query.batchName; this.ruleForm.batchName = this.$route.query.batchName;
this.submitForm(); this.submitForm();
}, },
filters: {
proType(val) {
if (val == 1) {
return "咨询设计类";
} else if (val == 2) {
return "开发实施类";
} else if (val == 3) {
return "业务运营类";
} else if (val == 4) {
return "数据工程类";
} else if (val == 5) {
return "产品购置类";
}
},
},
methods: { methods: {
async downloadObjectStr(row) {
let params = {
fileIdStr: row.fullId,
fullNameStr: row.values,
fullUrlStr: row.fullUrl,
materialName: row.names,
};
let response = await downloadObjectStr(params);
let blob = new Blob([response], { type: "application/zip" });
let url = window.URL.createObjectURL(blob);
const link = document.createElement("a"); // 创建a标签
link.href = url;
link.download = row.names + "压缩文件"; // 重命名文件
link.click();
URL.revokeObjectURL(url); // 释放内存
},
//整改复核 //整改复核
async rectificationReview() { async rectificationReview() {
this.mergingPos = 0; this.mergingPos = 0;
...@@ -437,35 +511,75 @@ export default { ...@@ -437,35 +511,75 @@ export default {
} }
this.dialogQR = true; this.dialogQR = true;
let params = { let params = {
projectId: this.checkedList[0].projectId, projectId: this.checkedList[0].projectCode,
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
}; };
let res = await wtssSelectificationVerification(params); let res = await wtssSelectificationVerification(params);
if (res.code == "200") { if (res.code == "200") {
let paramsMat = {
proType: this.checkedList[0].projectType,
contractNumber: this.checkedList[0].contractNumber,
prjId: this.checkedList[0].projectCode,
};
let resMat = await MaterialWarehous(paramsMat);
this.tableDataQR = res.data.records; this.tableDataQR = res.data.records;
let arrs = [];
this.tableDataQR.forEach((item) => { this.tableDataQR.forEach((item) => {
if (!item.confirmStatus) { if (!item.confirmStatus) {
this.$set(item, "confirmStatus", "2"); this.$set(item, "confirmStatus", "2");
} }
if (item.evalQues) {
arrs.push(item.projectStage);
}
switch (item.projectStage) { switch (item.projectStage) {
case "1": case "1":
this.$set(item, "projectStagetext", "1.可研"); this.$set(item, "projectStagetext", "1.可研");
this.$set(
item,
"filed",
this.filtersTable(1, resMat.data.records)
);
break; break;
case "2": case "2":
this.$set(item, "projectStagetext", "2.计划"); this.$set(item, "projectStagetext", "2.计划");
this.$set(
item,
"filed",
this.filtersTable(2, resMat.data.records)
);
break; break;
case "3": case "3":
this.$set(item, "projectStagetext", "3.采购"); this.$set(item, "projectStagetext", "3.采购");
this.$set(
item,
"filed",
this.filtersTable(3, resMat.data.records)
);
break; break;
case "4": case "4":
this.$set(item, "projectStagetext", "4.合同"); this.$set(item, "projectStagetext", "4.合同");
this.$set(
item,
"filed",
this.filtersTable(4, resMat.data.records)
);
break; break;
case "5": case "5":
this.$set(item, "projectStagetext", "5.执行"); this.$set(item, "projectStagetext", "5.执行");
this.$set(
item,
"filed",
this.filtersTable(5, resMat.data.records)
);
break; break;
case "6": case "6":
this.$set(item, "projectStagetext", "6.结决算及转资"); this.$set(item, "projectStagetext", "6.结决算及转资");
this.$set(
item,
"filed",
this.filtersTable(6, resMat.data.records)
);
break; break;
} }
let arr = []; let arr = [];
...@@ -477,10 +591,31 @@ export default { ...@@ -477,10 +591,31 @@ export default {
this.$set(item, "tagId", arrID); this.$set(item, "tagId", arrID);
} }
}); });
this.tableDataQR.forEach((val) => {
this.$set(val, "prob", Array.from(new Set(arrs)));
});
this.dataPretreatment(); this.dataPretreatment();
} }
}, },
filtersTable() {
let newArr = arguments[1].filter((items) => {
return items.projectStage == arguments[0];
});
let msg = [];
newArr.forEach((item) => {
if (item.fullName) {
msg.push({
names: item.materialName,
values: item.fullName,
mid: item.mid,
fullId: item.fullId,
fullUrl: item.fullUrl,
});
// msg=msg.concat(item.materialName+':'+item.fullName+"<br>");
}
});
return msg;
},
dataPretreatment() { dataPretreatment() {
for (let i = 0; i < this.tableDataQR.length; i++) { for (let i = 0; i < this.tableDataQR.length; i++) {
// tabledata 表格数据源 // tabledata 表格数据源
...@@ -507,7 +642,7 @@ export default { ...@@ -507,7 +642,7 @@ export default {
this.handleSelectionChange(); this.handleSelectionChange();
}, },
arraySpanMethod({ row, column, rowIndex, columnIndex }) { arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) { if (columnIndex === 0 || columnIndex === 8) {
//第一列 //第一列
const _row = this.mergingRows[rowIndex]; const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0; const _col = _row > 0 ? 1 : 0;
...@@ -536,21 +671,24 @@ export default { ...@@ -536,21 +671,24 @@ export default {
} }
}, },
async savetj() { async savetj() {
this.$confirm("若所有整改复核状态均为整改完成即为完成归档, 是否继续?", "提示", { this.$confirm(
confirmButtonText: "确定", "若所有整改复核状态均为整改完成即为完成归档, 是否继续?",
cancelButtonText: "取消", "提示",
type: "warning", {
}) confirmButtonText: "确定",
.then(async () => { cancelButtonText: "取消",
let res = await tjrectificationVerification(this.tableDataQR); type: "warning",
if (res.code == "200") { }
this.dialogQR = false; ).then(async () => {
this.$message("提交成功"); let res = await tjrectificationVerification(this.tableDataQR);
this.resetForm(); if (res.code == "200") {
} else { this.dialogQR = false;
this.$message("提交失败"); this.$message("提交成功");
} this.resetForm();
}) } else {
this.$message("提交失败");
}
});
}, },
async submitForm() { async submitForm() {
let params = { let params = {
...@@ -566,9 +704,9 @@ export default { ...@@ -566,9 +704,9 @@ export default {
this.tableData = res.data.records; this.tableData = res.data.records;
this.tableData.forEach((item) => { this.tableData.forEach((item) => {
if (item.postEvalState == "" || item.postEvalState == null) { if (item.postEvalState == "" || item.postEvalState == null) {
this.$set(item, "postEvalStateText", "材料未上传"); // this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == "0") { } else if (item.postEvalState == "0") {
this.$set(item, "postEvalStateText", "材料未上传"); // this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == 1) { } else if (item.postEvalState == 1) {
this.$set(item, "postEvalStateText", "待评估"); this.$set(item, "postEvalStateText", "待评估");
} else if (item.postEvalState == 2) { } else if (item.postEvalState == 2) {
...@@ -586,8 +724,8 @@ export default { ...@@ -586,8 +724,8 @@ export default {
this.$set( this.$set(
item, item,
"projectCategory", "constructionForm",
projectCategoryText(item.projectCategory) constructionFormText(item.constructionForm)
); );
}); });
this.total = res.data.total * 1; this.total = res.data.total * 1;
...@@ -609,15 +747,16 @@ export default { ...@@ -609,15 +747,16 @@ export default {
return; return;
} }
let params = { let params = {
projectId: this.checkedList[0].projectId,
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectCode,
contractNumber: this.checkedList[0].contractNumber,
proType: this.checkedList[0].projectType,
}; };
this.$router.push({ this.$router.push({
path: "/mainLayout/Compliance", path: "/mainLayout/Compliance",
query: { query: {
clqparams: JSON.stringify(params), clqparams: JSON.stringify(params),
projectName:this.checkedList[0].projectName projectName: this.checkedList[0].projectName,
}, },
}); });
}, },
...@@ -628,7 +767,7 @@ export default { ...@@ -628,7 +767,7 @@ export default {
return; return;
} }
let params = { let params = {
projectId: this.checkedList[0].projectId, projectId: this.checkedList[0].projectCode,
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
}; };
this.$router.push({ this.$router.push({
...@@ -654,10 +793,9 @@ export default { ...@@ -654,10 +793,9 @@ export default {
return; return;
} }
console.log("222");
// this.dialog = true; // this.dialog = true;
let params = { let params = {
projectId: this.checkedList[0].projectId, projectId: this.checkedList[0].projectCode,
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
}; };
this.$router.push({ this.$router.push({
...@@ -680,7 +818,7 @@ export default { ...@@ -680,7 +818,7 @@ export default {
let params = { let params = {
current: this.currentPage, current: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
projectId: this.checkedList[0].projectId, projectId: this.checkedList[0].projectCode,
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
}; };
let res = await chpostEvalQuesInfo(params); let res = await chpostEvalQuesInfo(params);
...@@ -696,7 +834,6 @@ export default { ...@@ -696,7 +834,6 @@ export default {
return ""; return "";
}, },
async handleClickXZ(fileId, fileName) { async handleClickXZ(fileId, fileName) {
let response = await downloadObject({ let response = await downloadObject({
fileId: fileId * 1, fileId: fileId * 1,
}); });
...@@ -731,15 +868,12 @@ export default { ...@@ -731,15 +868,12 @@ export default {
} }
} }
this.ruleFormdialog = this.checkedList[0]; this.ruleFormdialog = this.checkedList[0];
}, },
handleSizeChange(val) { handleSizeChange(val) {
this.pageSize = val; this.pageSize = val;
this.submitForm(); this.submitForm();
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
this.currentPage = val; this.currentPage = val;
this.submitForm(); this.submitForm();
}, },
...@@ -751,7 +885,6 @@ export default { ...@@ -751,7 +885,6 @@ export default {
this.dialogQR = false; this.dialogQR = false;
}, },
closeDialog() { closeDialog() {
this.showButton = true; this.showButton = true;
}, },
}, },
...@@ -767,7 +900,7 @@ export default { ...@@ -767,7 +900,7 @@ export default {
} }
.el-form { .el-form {
display: flex; display: flex;
width:99%; width: 99%;
flex-wrap: wrap; flex-wrap: wrap;
border-top: 2px solid #23c6c8; border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7; border-left: 1px solid #dee5e7;
...@@ -1048,4 +1181,35 @@ h3 { ...@@ -1048,4 +1181,35 @@ h3 {
.noclick { .noclick {
opacity: 0.5; opacity: 0.5;
} }
.filedp {
text-align: left;
width: 600px;
p {
display: inline-block;
width: 88%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
height: 30px;
margin-top: 5px;
}
.tips {
font-weight: 600;
}
span {
// margin-right: 8px;
display: inline-block;
width: 50%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
.btn-search{
vertical-align: top;
}
::v-deep.el-table::before {
display: none !important;
}
</style> </style>
\ No newline at end of file
...@@ -140,6 +140,7 @@ ...@@ -140,6 +140,7 @@
width="90%" width="90%"
:modal-append-to-body="false" :modal-append-to-body="false"
:append-to-body="false" :append-to-body="false"
@close="resetForm()"
> >
<div class="dialog"> <div class="dialog">
<el-form <el-form
...@@ -461,6 +462,30 @@ ...@@ -461,6 +462,30 @@
<el-option label="中级" value="3"></el-option> <el-option label="中级" value="3"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="专业领域:" prop="expertFields" class="fromItem">
<el-select
v-model="ruleFormZJ.expertFields"
placeholder="请选择"
clearable
>
<el-option label="2024年" value="2024"></el-option>
<el-option label="2023年" value="2023"></el-option>
<el-option label="2022年" value="2022"></el-option>
<el-option label="2021年" value="2021"></el-option>
</el-select>
</el-form-item> -->
<!-- <el-form-item label="专家状态:" prop="status" class="fromItem">
<el-select
v-model="ruleFormZJ.status"
placeholder="请选择"
clearable
>
<el-option label="2024年" value="2024"></el-option>
<el-option label="2023年" value="2023"></el-option>
<el-option label="2022年" value="2022"></el-option>
<el-option label="2021年" value="2021"></el-option>
</el-select>
</el-form-item> -->
<el-form-item class="cxItem"> <el-form-item class="cxItem">
<span class="zjquery" @click="xzExperts('dj')"> 查询 </span> <span class="zjquery" @click="xzExperts('dj')"> 查询 </span>
</el-form-item> </el-form-item>
...@@ -562,6 +587,7 @@ ...@@ -562,6 +587,7 @@
width="90%" width="90%"
:modal-append-to-body="false" :modal-append-to-body="false"
:append-to-body="false" :append-to-body="false"
@close="resetForm()"
> >
<div class="dialog"> <div class="dialog">
<el-form <el-form
...@@ -882,7 +908,7 @@ export default { ...@@ -882,7 +908,7 @@ export default {
let params = { let params = {
current: this.currentPage, current: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
module: 0, module:0,
}; };
Object.assign(params, this.ruleForm); Object.assign(params, this.ruleForm);
...@@ -1076,7 +1102,7 @@ export default { ...@@ -1076,7 +1102,7 @@ export default {
expertStr: expertStr, expertStr: expertStr,
creator: sessionStorage.getItem("author"), creator: sessionStorage.getItem("author"),
createTime: getCurrentDate(), createTime: getCurrentDate(),
module: 0, module:0,
}; };
Object.assign(params, this.ruleFormdialogAdd); Object.assign(params, this.ruleFormdialogAdd);
this.xfParams = JSON.parse(JSON.stringify(params)); this.xfParams = JSON.parse(JSON.stringify(params));
......
...@@ -23,8 +23,20 @@ ...@@ -23,8 +23,20 @@
:label="item.typeText" :label="item.typeText"
:name="item.typeCode" :name="item.typeCode"
> >
<div class="opt" v-show="options.length>0">
<el-select v-model="valuesel" clearable placeholder="请选择" @change="(val)=>changexm(val,item.typeCode)">
<el-option
v-for="(item,index) in options"
:key="item.name"
:label="item.name"
:value="index">
</el-option>
</el-select>
</div>
<iframe <iframe
v-if="blobType=='pdf'" v-if="blobType=='pdf'&&options.length>0"
:key="iframeUrl"
:src="iframeUrl" :src="iframeUrl"
frameborder="0" frameborder="0"
style="width: 80%; height: 60vh; margin: auto; display: block" style="width: 80%; height: 60vh; margin: auto; display: block"
...@@ -32,10 +44,10 @@ ...@@ -32,10 +44,10 @@
<div v-else-if="blobType=='png'||blobType=='jpg'" class="blobImg"> <div v-else-if="blobType=='png'||blobType=='jpg'" class="blobImg">
<img :src="iframeUrl" alt=""> <img :src="iframeUrl" alt="">
</div> </div>
<div class="docDiv" v-else-if="blobType=='docx'"> <div class="docDiv" v-else-if="blobType=='docx'||blobType=='doc'&&options.length>0">
<div ref="word" id="preview" > <div :ref="`word`" :id="`word${item.typeCode}`" >
</div>
</div> </div>
</div>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
...@@ -202,11 +214,14 @@ import { ...@@ -202,11 +214,14 @@ import {
bcevalQuesInfo, bcevalQuesInfo,
ossupload, ossupload,
presignedUrl, presignedUrl,
selFileList
} from "@/api/index"; } from "@/api/index";
import { MaterialsListKY } from "@/utils/cache"; import { MaterialsListKY } from "@/utils/cache";
export default { export default {
data() { data() {
return { return {
valuesel:'',
options:[],
dialogImageUrl: "", dialogImageUrl: "",
fileList: [], fileList: [],
evalList: [ evalList: [
...@@ -223,7 +238,7 @@ export default { ...@@ -223,7 +238,7 @@ export default {
{ label: "执行", id: 4 }, { label: "执行", id: 4 },
{ label: "结决算及转资", id: 5 }, { label: "结决算及转资", id: 5 },
], ],
tabListKY: MaterialsListKY(1), tabListKY:[],
active: 0, active: 0,
activeName: "0", activeName: "0",
clqparams: {}, clqparams: {},
...@@ -238,7 +253,8 @@ export default { ...@@ -238,7 +253,8 @@ export default {
disabled: false, disabled: false,
oldQuestionList: [], //对比列表 oldQuestionList: [], //对比列表
blobType:'pdf',//bolb类型 blobType:'pdf',//bolb类型
projectName:'', projectName:"",
valuesel:""
}; };
}, },
mounted() { mounted() {
...@@ -256,14 +272,8 @@ export default { ...@@ -256,14 +272,8 @@ export default {
type: "warning", type: "warning",
}) })
.then(() => { .then(() => {
this.save(); this.save(2);
this.$router.push({
path: "/mainLayout/Compliancefz",
query: {
clqparams: JSON.stringify(this.clqparams),
projectName:this.projectName
},
});
}) })
.catch((action) => { .catch((action) => {
...@@ -338,6 +348,10 @@ export default { ...@@ -338,6 +348,10 @@ export default {
handleExceed() { handleExceed() {
this.$message.warning(`只能选择一张图片`); this.$message.warning(`只能选择一张图片`);
}, },
changexm(row,typeCode){
this.downloadObject(this.options[row],typeCode)
console.log(row,'换文件')
},
async init(type) { async init(type) {
let params = { let params = {
projectStage: this.active * 1 + 1, projectStage: this.active * 1 + 1,
...@@ -345,8 +359,25 @@ export default { ...@@ -345,8 +359,25 @@ export default {
...type, ...type,
}; };
Promise.all([selFile(params), selWtqdFZ(params)]).then(async (res) => { Promise.all([selFile(params), selWtqdFZ(params)]).then(async (res) => {
this.tabListKY=[]
this.urlList = res[0].data; this.urlList = res[0].data;
if(this.urlList.length>0){
this.urlList.forEach(item=>{
this.tabListKY.push({typeText:item.materialName,typeCode:item.mid})
})
this.activeName=this.tabListKY[0].typeCode
let resList= await selFileList({ ...params,typeCode:this.tabListKY[0].typeCode });
this.options= resList.data
if(this.options.length>0){
this.valuesel=this.options[0].name
this. downloadObject(this.options[0],this.tabListKY[0].typeCode)
}else{
this.blobType='png'
this.iframeUrl = "/nopdf.png";
}
}else{
// this.iframeUrl = "/nopdf.png";
}
if (res[1].data) { if (res[1].data) {
this.questionList = res[1].data.records; this.questionList = res[1].data.records;
let counterNum = 0; let counterNum = 0;
...@@ -397,7 +428,7 @@ export default { ...@@ -397,7 +428,7 @@ export default {
if (item.checkDesc&&item.type==0) { if (item.checkDesc&&item.type==0) {
item.checkDesc = item.checkDesc.replace(/\n/g, "<br>"); item.checkDesc = item.checkDesc.replace(/\n/g, "<br>");
} }
return item.type == 0; return item.checkDesc&&item.type==0;
}); });
this.$set(item, "znfxList", [...znfxList]); this.$set(item, "znfxList", [...znfxList]);
let resfxList = responfx.data.records.filter((item) => { let resfxList = responfx.data.records.filter((item) => {
...@@ -421,54 +452,52 @@ export default { ...@@ -421,54 +452,52 @@ export default {
} }
}) })
} }
console.log(this.questionList,'2')
if (this.urlList.length <= 0) { });
this.iframeUrl = "/nopdf.png"; },
} else { async downloadObject(row,code){
this.iframeUrl=""
let resUrl = await downloadObject({fileId: this.urlList[0].id}); this.blobType=''
this.blobType=this.urlList[0].fileType let resUrl = await downloadObject({fileId:row.id});
const binaryData = [] if( this.blobType==''){
binaryData.push(resUrl) this.blobType=row.suffix
let URL = window.URL.createObjectURL(new Blob(binaryData, { type: this.urlList[0].contentType})) }
this.iframeUrl = URL console.log(this.blobType,'文件类型')
if(this.blobType=='docx'){ const binaryData = []
binaryData.push(resUrl)
let URL = window.URL.createObjectURL(new Blob(binaryData, { type:row.contentType}))
if(this.iframeUrl ==''){
this.iframeUrl = URL+'#view=FitH,top' }
if(this.blobType=='docx'||this.blobType=='doc'){
let docx = require("docx-preview"); let docx = require("docx-preview");
window.JSZip = require("jszip");
this.$nextTick(()=>{ this.$nextTick(()=>{
docx.renderAsync(resUrl,document.getElementById("preview")) // 渲染到页面预览 docx.renderAsync(resUrl,document.getElementById(`word${code}`)) // 渲染到页面预览
}) })
} }
}
});
}, },
async handleClick(tab) { async handleClick(tab) {
console.log("切换", tab.name, this.urlList); let params = {
this.urlList.forEach(async (item) => { projectStage: this.active * 1 + 1,
if (item.typeCode == tab.name) { hgx:"hgx",
let resUrl = await downloadObject({fileId:item.id}); ...this.clqparams,
this.blobType=item.fileType };
const binaryData = [] this.options=[]
binaryData.push(resUrl) this.valuesel=''
let URL = window.URL.createObjectURL(new Blob(binaryData, { type:item.contentType})) this.iframeUrl =""
this.iframeUrl = URL; console.log("切换", tab.index,);
if(this.blobType=='docx'){ let resList= await selFileList({ ...params,typeCode:this.tabListKY[tab.index].typeCode });
let docx = require("docx-preview"); this.options= resList.data
window.JSZip = require("jszip"); if(this.options.length>0){
this.$nextTick(()=>{ this.valuesel=this.options[0].name
docx.renderAsync(resUrl,document.getElementById("preview")) // 渲染到页面预览 this.downloadObject(this.options[0],this.tabListKY[tab.index].typeCode )
}) }else{
} this.blobType='png'
} else {
// this.iframeUrl =""
this.iframeUrl = "/nopdf.png"; this.iframeUrl = "/nopdf.png";
} }
});
console.log(this.iframeUrl, "this.iframeUrl");
}, },
change(id) { change(id) {
console.log(this.questionList, this.oldQuestionList, "相同么");
console.log( console.log(
JSON.stringify(this.questionList) == JSON.stringify(this.questionList) ==
JSON.stringify(this.oldQuestionList), JSON.stringify(this.oldQuestionList),
...@@ -480,7 +509,7 @@ export default { ...@@ -480,7 +509,7 @@ export default {
JSON.stringify(this.oldQuestionList) JSON.stringify(this.oldQuestionList)
) { ) {
this.active = id * 1; this.active = id * 1;
this.tabListKY = MaterialsListKY(id * 1 + 1); // this.tabListKY = MaterialsListKY(id * 1 + 1);
this.init(this.clqparams); this.init(this.clqparams);
return; return;
} }
...@@ -493,14 +522,14 @@ export default { ...@@ -493,14 +522,14 @@ export default {
.then(() => { .then(() => {
this.save(); this.save();
this.active = id * 1; this.active = id * 1;
this.tabListKY = MaterialsListKY(id * 1 + 1); // this.tabListKY = MaterialsListKY(id * 1 + 1);
this.init(this.clqparams); this.init(this.clqparams);
}) })
.catch((action) => { .catch((action) => {
console.log(action, "actionaction"); console.log(action, "actionaction");
if (action === "cancel") { if (action === "cancel") {
this.active = id * 1; this.active = id * 1;
this.tabListKY = MaterialsListKY(id * 1 + 1); // this.tabListKY = MaterialsListKY(id * 1 + 1);
this.init(this.clqparams); this.init(this.clqparams);
} else { } else {
} }
...@@ -559,13 +588,11 @@ export default { ...@@ -559,13 +588,11 @@ export default {
} }
}, },
cancel() { cancel() {
console.log("电击取消");
// this.$router.go(-1);
this.$router.push({ this.$router.push({
path: "/mainLayout/auxiliaryInspection", path: "/mainLayout/auxiliaryInspection",
}); });
}, },
async save() { async save(type) {
this.questionList.forEach((item) => { this.questionList.forEach((item) => {
let evals = ""; let evals = "";
item.evalList.forEach((childItem) => { item.evalList.forEach((childItem) => {
...@@ -587,6 +614,16 @@ export default { ...@@ -587,6 +614,16 @@ export default {
let res = await bcevalQuesInfo(params); let res = await bcevalQuesInfo(params);
if (res.code == "200") { if (res.code == "200") {
this.$message("保存成功"); this.$message("保存成功");
if(type&&type==2){
this.$router.push({
path: "/mainLayout/Compliancefz",
query: {
clqparams: JSON.stringify(this.clqparams),
projectName:this.projectName
},
});
}
} else { } else {
this.$message("保存失败"); this.$message("保存失败");
} }
...@@ -794,7 +831,7 @@ export default { ...@@ -794,7 +831,7 @@ export default {
justify-content: space-between; justify-content: space-between;
} }
.Btn { .Btn {
width: calc(100% - 270px); width: calc(100% - 276px) !important;
position: fixed; position: fixed;
height: 80px; height: 80px;
bottom: -15px; bottom: -15px;
...@@ -802,6 +839,7 @@ export default { ...@@ -802,6 +839,7 @@ export default {
z-index: 100; z-index: 100;
background-color: #f5f5f6; background-color: #f5f5f6;
line-height: 80px; line-height: 80px;
box-sizing: border-box;
span { span {
display: inline-block; display: inline-block;
width: 89px; width: 89px;
...@@ -848,12 +886,22 @@ export default { ...@@ -848,12 +886,22 @@ export default {
.blobImg{ .blobImg{
width: 100%; width: 100%;
img{ img{
width: 100%; text-align: center;
width:80%;
} }
} }
.docDiv{ .docDiv{
width: 100%; width: 100%;
height:600px; height:600px;
overflow-y: auto; overflow: auto;
}
.opt{
height: 40px;
width: 100%;
text-align: left;
padding-left: 10px;
/deep/ .el-input__inner{
width:600px;
}
} }
</style> </style>
\ No newline at end of file
...@@ -75,7 +75,7 @@ export default { ...@@ -75,7 +75,7 @@ export default {
mergingPos: 0, mergingPos: 0,
clqparams: {}, clqparams: {},
ishow: true, ishow: true,
projectName:'' projectName:""
}; };
}, },
...@@ -236,7 +236,7 @@ export default { ...@@ -236,7 +236,7 @@ export default {
box-sizing: border-box; box-sizing: border-box;
overflow-x: hidden; overflow-x: hidden;
.Btn { .Btn {
width: calc(100% - 246px); width: calc(100% - 270px);
position: fixed; position: fixed;
height: 80px; height: 80px;
bottom: -15px; bottom: -15px;
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<el-option label="已完成" value="5"></el-option> <el-option label="已完成" value="5"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间:" prop="batchName" class="fromItem"> <el-form-item label="发起时间:" prop="batchName" class="fromItem">
<el-date-picker <el-date-picker
@change="timeChange" @change="timeChange"
v-model="ruleForm.dates" v-model="ruleForm.dates"
...@@ -205,10 +205,10 @@ ...@@ -205,10 +205,10 @@
<el-table-column type="selection"> </el-table-column> <el-table-column type="selection"> </el-table-column>
<el-table-column label="序号" width="55" type="index"> <el-table-column label="序号" width="55" type="index">
</el-table-column> </el-table-column>
<el-table-column prop="department" label="部门" width="150"> <!-- <el-table-column prop="department" label="部门" width="150">
</el-table-column> </el-table-column> -->
<el-table-column label="项目编码" width="150" prop="projectId"> <el-table-column label="项目编码" width="150" prop="projectCode">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -219,41 +219,49 @@ ...@@ -219,41 +219,49 @@
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="projectCategory" prop="constructionForm"
label="建设形式" label="建设形式"
width="100" width="100"
> >
</el-table-column> </el-table-column>
<el-table-column prop="projectYear" label="项目年度" width="100"> <el-table-column prop="issueYear" label="项目年度" width="140">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.projectYear }} {{ scope.row.issueYear}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="总投资计划(万元)" width="200"> <el-table-column prop="startupStatus" label="启动日期" width="90">
<el-table-column </el-table-column>
prop="costAmountTotal" <el-table-column prop="accountingStatus" label="入账状态" width="90">
label="成本金" </el-table-column>
width="100" <el-table-column
> prop="accountingProportion"
</el-table-column> label="累计入账占比"
<el-table-column width="90"
prop="capitalAmountTotal" >
label="资本金" <template slot-scope="scope">
width="100" {{ scope.row.accountingProportion }}%
> </template>
</el-table-column> </el-table-column>
</el-table-column> <el-table-column prop="entryAmount" label="入账金额(万)" width="120">
<!-- <el-table-column prop="department" label="承建单位" width="150"> </el-table-column>
</el-table-column> --> <el-table-column prop="currentProgress" label="当前进度" width="120">
<el-table-column prop="personCharge" label="负责人" width="110"> </el-table-column>
</el-table-column> <el-table-column
<el-table-column prop="contractNumber"
prop="projectInfo" label="合同编号"
label="项目内容" width="220"
show-overflow-tooltip >
> </el-table-column>
</el-table-column> <el-table-column
prop="contractName"
label="合同名称"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="projectLeader" label="负责人" width="110">
</el-table-column>
</el-table> </el-table>
</div> </div>
<el-pagination <el-pagination
...@@ -336,10 +344,8 @@ ...@@ -336,10 +344,8 @@
<el-table-column type="selection"> </el-table-column> <el-table-column type="selection"> </el-table-column>
<el-table-column label="序号" width="55" type="index"> <el-table-column label="序号" width="55" type="index">
</el-table-column> </el-table-column>
<el-table-column prop="department" label="部门" width="150">
</el-table-column> <el-table-column label="项目编码" width="150" prop="projectCode">
<el-table-column label="项目编码" width="150" prop="projectId">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -350,41 +356,49 @@ ...@@ -350,41 +356,49 @@
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="projectCategory" prop="constructionForm"
label="建设形式" label="建设形式"
width="100" width="100"
> >
</el-table-column> </el-table-column>
<el-table-column prop="projectYear" label="项目年度" width="100"> <el-table-column prop="issueYear" label="项目年度" width="140">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.projectYear }} {{ scope.row.issueYear}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="总投资计划(万元)" width="200"> <el-table-column prop="startupStatus" label="启动日期" width="90">
<el-table-column </el-table-column>
prop="costAmountTotal" <el-table-column prop="accountingStatus" label="入账状态" width="90">
label="成本金" </el-table-column>
width="100" <el-table-column
> prop="accountingProportion"
</el-table-column> label="累计入账占比"
<el-table-column width="90"
prop="capitalAmountTotal" >
label="资本金" <template slot-scope="scope">
width="100" {{ scope.row.accountingProportion }}%
> </template>
</el-table-column> </el-table-column>
</el-table-column> <el-table-column prop="entryAmount" label="入账金额(万)" width="120">
<!-- <el-table-column prop="department" label="承建单位" width="150"> </el-table-column>
</el-table-column> --> <el-table-column prop="currentProgress" label="当前进度" width="120">
<el-table-column prop="personCharge" label="负责人" width="110"> </el-table-column>
</el-table-column> <el-table-column
<el-table-column prop="contractNumber"
prop="projectInfo" label="合同编号"
label="项目内容" width="220"
show-overflow-tooltip >
> </el-table-column>
</el-table-column> <el-table-column
prop="contractName"
label="合同名称"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="projectLeader" label="负责人" width="110">
</el-table-column>
<el-table-column label="操作" width="130"> <el-table-column label="操作" width="130">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -426,67 +440,55 @@ ...@@ -426,67 +440,55 @@
> >
<div class="adzjdialog"> <div class="adzjdialog">
<el-form :model="ruleFormZJ" label-width="100px" class="demo-ruleForm"> <el-form :model="ruleFormZJ" label-width="100px" class="demo-ruleForm">
<el-form-item label="部门:" prop="department" class="fromItem"> <el-form-item label="项目编码:" prop="projectCode" class="fromItem">
<el-input <el-input
v-model="ruleFormZJ.department" v-model="ruleFormZJ.projectCode"
placeholder="请输入" placeholder="请输入"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目编码:" prop="projectId" class="fromItem"> <el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input <el-input
v-model="ruleFormZJ.projectId" v-model="ruleFormZJ.projectName"
placeholder="请输入" placeholder="请输入"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem"> <el-form-item label="项目年度:" prop="issueYear" class="fromItem">
<el-input <el-select v-model="ruleFormZJ.issueYear" placeholder="请选择" clearable>
v-model="ruleFormZJ.projectName" <el-option
placeholder="请输入" v-for="(item, index) in yearsList"
clearable :key="index"
></el-input> :label="item + '年'"
</el-form-item> :value="item"
<el-form-item label="项目年度:" prop="projectYearStr" class="fromItem"> />
<el-select </el-select>
v-model="ruleFormZJ.projectYearStr" </el-form-item>
placeholder="请选择" <el-form-item label="建设形式:" prop="constructionForm" class="fromItem">
clearable <el-select
multiple v-model="ruleFormZJ.constructionForm"
> placeholder="请选择"
<el-option clearable
v-for="(item, index) in yearsList" >
:key="index" <el-option label="独立建设" value="1"></el-option>
:label="item + '年'" <el-option label="统推" value="2"></el-option>
:value="item" <el-option label="自建" value="3"></el-option>
/> </el-select>
</el-select> </el-form-item>
</el-form-item> <el-form-item label="合同编码:" prop="contractNumber" class="fromItem">
<el-form-item label="建设形式:" prop="projectCategory" class="fromItem"> <el-input
<el-select v-model="ruleFormZJ.contractNumber"
v-model="ruleFormZJ.projectCategory" placeholder="请输入"
placeholder="请选择" clearable
clearable ></el-input>
> </el-form-item>
<el-option label="统推" value="1"></el-option> <el-form-item label="合同名称:" prop="contractName" class="fromItem">
<el-option label="自建" value="2"></el-option> <el-input
<el-option label="独立建设" value="3"></el-option> v-model="ruleFormZJ.contractName"
</el-select> placeholder="请输入"
</el-form-item> clearable
<el-form-item label="负责人:" prop="personCharge" class="fromItem"> ></el-input>
<el-input </el-form-item>
v-model="ruleFormZJ.personCharge"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<!-- <el-form-item label="项目内容:" prop="projectInfo" class="fromItem">
<el-input
v-model="ruleFormZJ.projectInfo"
placeholder="请输入"
clearable
></el-input>
</el-form-item> -->
<el-form-item class="cxItem"> <el-form-item class="cxItem">
<span class="zjquery" @click="xzExperts()"> 查询 </span> <span class="zjquery" @click="xzExperts()"> 查询 </span>
</el-form-item> </el-form-item>
...@@ -506,10 +508,10 @@ ...@@ -506,10 +508,10 @@
<el-table-column type="selection"> </el-table-column> <el-table-column type="selection"> </el-table-column>
<el-table-column label="序号" width="55" type="index"> <el-table-column label="序号" width="55" type="index">
</el-table-column> </el-table-column>
<el-table-column prop="department" label="部门" width="150"> <!-- <el-table-column prop="department" label="部门" width="150">
</el-table-column> </el-table-column> -->
<el-table-column label="项目编码" width="150" prop="projectId"> <el-table-column label="项目编码" width="150" prop="projectCode">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -520,41 +522,50 @@ ...@@ -520,41 +522,50 @@
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="projectCategory" prop="constructionForm"
label="建设形式" label="建设形式"
width="100" width="100"
> >
</el-table-column> </el-table-column>
<el-table-column prop="projectYear" label="项目年度" width="100"> <el-table-column prop="issueYear" label="项目年度" width="140">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.projectYear }} {{ scope.row.issueYear}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="总投资计划(万元)" width="200"> <el-table-column prop="startupStatus" label="启动日期" width="90">
<el-table-column </el-table-column>
prop="costAmountTotal" <el-table-column prop="accountingStatus" label="入账状态" width="90">
label="成本金" </el-table-column>
width="100" <el-table-column
> prop="accountingProportion"
</el-table-column> label="累计入账占比"
<el-table-column width="90"
prop="capitalAmountTotal" >
label="资本金" <template slot-scope="scope">
width="100" {{ scope.row.accountingProportion }}%
> </template>
</el-table-column> </el-table-column>
</el-table-column> <el-table-column prop="entryAmount" label="入账金额(万)" width="120">
<!-- <el-table-column prop="department" label="承建单位" width="150"> </el-table-column>
</el-table-column> --> <el-table-column prop="currentProgress" label="当前进度" width="120">
<el-table-column prop="personCharge" label="负责人" width="110"> </el-table-column>
</el-table-column> <el-table-column
<el-table-column prop="contractNumber"
prop="projectInfo" label="合同编号"
label="项目内容" width="220"
show-overflow-tooltip >
> </el-table-column>
</el-table-column> <el-table-column
prop="contractName"
label="合同名称"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="projectLeader" label="负责人" width="110">
</el-table-column>
</el-table> </el-table>
</div> </div>
...@@ -585,11 +596,11 @@ import { ...@@ -585,11 +596,11 @@ import {
fbProjectInfo, fbProjectInfo,
delProjectInfo, delProjectInfo,
joinProjectInfo, joinProjectInfo,
getProjectInfo, pmProInitiation,
chProjectInfo, chProjectInfo,
bcProjectInfo bcProjectInfo
} from "@/api/index"; } from "@/api/index";
import { generateYearOptions, projectCategoryText } from "@/utils/cache"; import { generateYearOptions,constructionFormText } from "@/utils/cache";
export default { export default {
data() { data() {
return { return {
...@@ -743,8 +754,8 @@ export default { ...@@ -743,8 +754,8 @@ export default {
this.addtableData.forEach((item) => { this.addtableData.forEach((item) => {
this.$set( this.$set(
item, item,
"projectCategory", "constructionForm",
projectCategoryText(item.projectCategory) constructionFormText(item.constructionForm)
); );
}); });
this.addtotal = res.data.total * 1; this.addtotal = res.data.total * 1;
...@@ -778,8 +789,8 @@ export default { ...@@ -778,8 +789,8 @@ export default {
this.addtableData.forEach((item) => { this.addtableData.forEach((item) => {
this.$set( this.$set(
item, item,
"projectCategory", "constructionForm",
projectCategoryText(item.projectCategory) constructionFormText(item.constructionForm)
); );
}); });
this.addtotal = res.data.total * 1; this.addtotal = res.data.total * 1;
...@@ -860,12 +871,9 @@ export default { ...@@ -860,12 +871,9 @@ export default {
this.addtableData = [...this.addtableData, ...this.addZJList]; this.addtableData = [...this.addtableData, ...this.addZJList];
this.addtableData = this.addtableData.filter((obj, index, self) => { this.addtableData = this.addtableData.filter((obj, index, self) => {
return index == self.findIndex((t) => t.projectId == obj.projectId); return index == self.findIndex((t) => t.projectCode == obj.projectCode);
}); });
console.log(this.addtableData, "addtableData");
this.addtotal = this.addtableData.length; this.addtotal = this.addtableData.length;
// this.handleCurrentChangeZJ(1);
// this.handleSizeChangeAdd(5);
this.dialogAddzj = false; this.dialogAddzj = false;
}, },
cancelZJ() { cancelZJ() {
...@@ -880,14 +888,14 @@ export default { ...@@ -880,14 +888,14 @@ export default {
prjStr: this.oldid, prjStr: this.oldid,
}; };
Object.assign(params, this.ruleFormZJ); Object.assign(params, this.ruleFormZJ);
let res = await getProjectInfo(params); let res = await pmProInitiation(params);
console.log(res.data.records, "res.data.recordsres.data.records"); console.log(res.data.records, "res.data.recordsres.data.records");
this.zjtableData = res.data.records; this.zjtableData = res.data.records;
this.zjtableData.forEach((item) => { this.zjtableData.forEach((item) => {
this.$set( this.$set(
item, item,
"projectCategory", "constructionForm",
projectCategoryText(item.projectCategory) constructionFormText(item.constructionForm)
); );
}); });
this.zjtotal = res.data.total * 1; this.zjtotal = res.data.total * 1;
...@@ -903,7 +911,7 @@ export default { ...@@ -903,7 +911,7 @@ export default {
let expertIdList = ""; let expertIdList = "";
if (this.addtableData.length > 0) { if (this.addtableData.length > 0) {
this.addtableData.forEach((item) => { this.addtableData.forEach((item) => {
expertIdList = expertIdList.concat(item.projectId + ","); expertIdList = expertIdList.concat(item.projectCode + ",");
}); });
} }
...@@ -931,7 +939,7 @@ export default { ...@@ -931,7 +939,7 @@ export default {
let expertIdList = ""; let expertIdList = "";
if (this.addtableData.length > 0) { if (this.addtableData.length > 0) {
this.addtableData.forEach((item) => { this.addtableData.forEach((item) => {
expertIdList = expertIdList.concat(item.projectId + ","); expertIdList = expertIdList.concat(item.projectCode + ",");
}); });
} }
...@@ -961,7 +969,7 @@ export default { ...@@ -961,7 +969,7 @@ export default {
//点击删除 //点击删除
async handleClick(row, index, rows) { async handleClick(row, index, rows) {
let params = { let params = {
projectId: row.projectId, projectId: row.projectCode,
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
}; };
this.$confirm("此操作将删除该项目, 是否继续?", "提示", { this.$confirm("此操作将删除该项目, 是否继续?", "提示", {
......
...@@ -64,17 +64,13 @@ ...@@ -64,17 +64,13 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="项目审核状态:" prop="postEvalState" class="fromItem">
label="项目审核状态:" <el-select
prop="postEvalState"
class="fromItem"
>
<el-select
v-model="ruleForm.postEvalState" v-model="ruleForm.postEvalState"
placeholder="请选择" placeholder="请选择"
clearable clearable
> >
<el-option label="材料未上传" value="0"></el-option> <!-- <el-option label="材料未上传" value="0"></el-option> -->
<el-option label="待评估" value="1"></el-option> <el-option label="待评估" value="1"></el-option>
<el-option label="需整改" value="2"></el-option> <el-option label="需整改" value="2"></el-option>
<el-option label="已整改" value="3"></el-option> <el-option label="已整改" value="3"></el-option>
...@@ -108,7 +104,11 @@ ...@@ -108,7 +104,11 @@
<!-- <el-button @click="submitNexts()" :disabled="subdisabled" :class="subdisabled?'noclick':''" <!-- <el-button @click="submitNexts()" :disabled="subdisabled" :class="subdisabled?'noclick':''"
><i class="el-icon-finished"></i> 提交评估材料</el-button ><i class="el-icon-finished"></i> 提交评估材料</el-button
> --> > -->
<el-button @click="confirm()" :disabled="confirmdisabled" :class="confirmdisabled?'noclick':''"> <el-button
@click="confirm()"
:disabled="confirmdisabled"
:class="confirmdisabled ? 'noclick' : ''"
>
<i class="el-icon-chat-dot-square"></i <i class="el-icon-chat-dot-square"></i
>&nbsp;&nbsp;&nbsp;问题整改</el-button >&nbsp;&nbsp;&nbsp;问题整改</el-button
> >
...@@ -129,32 +129,45 @@ ...@@ -129,32 +129,45 @@
<el-table-column label="序号" width="55" type="index"> <el-table-column label="序号" width="55" type="index">
</el-table-column> </el-table-column>
<el-table-column type="selection"> </el-table-column> <el-table-column type="selection"> </el-table-column>
<el-table-column label="批次年度" prop="batchYear" width="120"> <el-table-column label="批次年度" prop="batchYear" width="120">
<template slot-scope="scope"> {{ scope.row.batchYear }}</template> <template slot-scope="scope"> {{ scope.row.batchYear }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="batchName" label="后评估批次名称"> <el-table-column prop="batchName" label="后评估批次名称">
</el-table-column> </el-table-column>
<el-table-column prop="expertName" label="评审专家"> </el-table-column> <el-table-column prop="expertName" label="评审专家"> </el-table-column>
<el-table-column prop="projectId" label="项目编码"> </el-table-column> <el-table-column prop="projectCode" label="项目编码"> </el-table-column>
<el-table-column <el-table-column
prop="projectName" prop="projectName"
label="项目名称" label="项目名称"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column prop="projectYear" label="项目年度" width="120"> <el-table-column prop="issueYear" label="项目年度" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.projectYear }} <span v-show="scope.row.issueYear">
{{ scope.row.issueYear }}</span
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="projectCategory" label="建设形式" width="120"> <el-table-column prop="projectType" label="项目类型" width="120">
<template slot-scope="scope">
<span v-show="scope.row.projectType">
{{ scope.row.projectType | proType }}</span
>
</template>
</el-table-column> </el-table-column>
<el-table-column prop="postEvalStateText" label="项目审核状态" width="120"> <el-table-column prop="constructionForm" label="建设形式" width="120">
</el-table-column>
<el-table-column
prop="postEvalStateText"
label="项目审核状态"
width="120"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="contractNumber" prop="contractNumber"
label="合同编号" label="合同编号"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -180,8 +193,8 @@ ...@@ -180,8 +193,8 @@
> >
</el-pagination> </el-pagination>
<el-dialog <el-dialog
title="评估项目详情" title="评估材料详情"
:visible.sync="dialog" :visible.sync="dialogXQ"
width="90%" width="90%"
:modal-append-to-body="false" :modal-append-to-body="false"
:append-to-body="false" :append-to-body="false"
...@@ -191,6 +204,7 @@ ...@@ -191,6 +204,7 @@
<p class="xqtitle"><span></span>批次详情</p> <p class="xqtitle"><span></span>批次详情</p>
<el-form <el-form
:model="ruleFormdialog" :model="ruleFormdialog"
ref="ruleFormdialog"
label-width="100px" label-width="100px"
class="demo-ruleForm" class="demo-ruleForm"
> >
...@@ -216,7 +230,7 @@ ...@@ -216,7 +230,7 @@
<el-form-item label="工作组织情况:" class="textarea"> <el-form-item label="工作组织情况:" class="textarea">
<el-input <el-input
type="textarea" type="textarea"
v-model="ruleFormdialog.description" v-model="ruleFormdialog.desc"
disabled disabled
></el-input> ></el-input>
</el-form-item> </el-form-item>
...@@ -236,121 +250,41 @@ ...@@ -236,121 +250,41 @@
> >
<el-table-column label="序号" width="55" type="index"> <el-table-column label="序号" width="55" type="index">
</el-table-column> </el-table-column>
<el-table-column label="材料类别" prop="batchtype">
<el-table-column label="材料类别" prop="projectStagetext">
</el-table-column> </el-table-column>
<el-table-column prop="typeText" label="资料类型"> <el-table-column label="资料类型" prop="materialName">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="fileName" prop="fullName"
label="资料名称" label="资料名称"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column prop="projectCategory" label="操作"> <!-- <el-table-column prop="fullName" label="资料名称">
<template slot-scope="scope"> <template slot-scope="scope" v-if="scope.row.fullName">
<input {{ scope.row.fullName }}&nbsp;&nbsp;<el-button
type="file"
@change="handleFileUpload($event, scope.row)"
/>
</template>
</el-table-column>
</el-table>
</div>
<p class="Btn">
<span @click="cancel()">取消</span>
<span @click="preserve()">保存</span>
<span @click="save()">确认上传</span>
</p>
</div>
</el-dialog>
<el-dialog
title="提交评估材料"
:visible.sync="dialogXQ"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
@close="closeDialog"
>
<div class="dialogFrom">
<p class="xqtitle"><span></span>批次详情</p>
<el-form
:model="ruleFormdialog"
ref="ruleFormdialog"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
</el-form-item>
<el-form-item label="后评估名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleFormdialog.batchName" disabled></el-input>
</el-form-item>
<el-form-item
label="计划评估日期:"
prop="planReviewDate"
class="fromItem"
>
<el-input
v-model="ruleFormdialog.planReviewDate"
disabled
></el-input>
</el-form-item>
<el-form-item label="后评估专家:" prop="expertName" class="fromItem">
<el-input v-model="ruleFormdialog.expertName" disabled></el-input>
</el-form-item>
<el-form-item label="工作组织情况:" class="textarea">
<el-input
type="textarea"
v-model="ruleFormdialog.description"
disabled
></el-input>
</el-form-item>
</el-form>
<p class="xqtitle"><span></span>本项目材料清单</p>
<div class="setscrolldialog">
<el-table
@selection-change="handleSelectionChange"
:data="tableDataQD"
tooltip-effect="dark myTooltips"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="材料类别" prop="batchtype">
</el-table-column>
<el-table-column prop="typeText" label="资料类型">
</el-table-column>
<el-table-column prop="fileName" label="资料名称">
<template slot-scope="scope" v-if="scope.row.fileName">
{{ scope.row.fileName }}&nbsp;&nbsp;<el-button
@click="handleClickXZ(scope.row)" @click="handleClickXZ(scope.row)"
>下载</el-button >下载</el-button
> >
</template> </template>
</el-table-column> </el-table-column> -->
</el-table> </el-table>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
<!-- 问题整改 --> <!-- 问题整改 -->
<el-dialog <el-dialog
title="问题整改" title="问题整改"
:visible.sync="dialogQR" :visible.sync="dialogQR"
width="79%" width="79%"
:modal-append-to-body="false" :modal-append-to-body="false"
:append-to-body="false" :append-to-body="false"
@close="closed" @close="closed"
> >
<div class="dialog"> <div class="dialog">
<h3 v-if="checkedList[0]&&checkedList[0].projectName"> <h3 v-if="checkedList[0] && checkedList[0].projectName">
项目名称:{{checkedList[0].projectName}} 项目名称:{{ checkedList[0].projectName }}
</h3> </h3>
<div class="continer"> <div class="continer">
<p class="xqtitle"><span></span>问题清单</p> <p class="xqtitle"><span></span>问题清单</p>
...@@ -395,70 +329,97 @@ ...@@ -395,70 +329,97 @@
> >
</el-table-column> </el-table-column>
<el-table-column label="问题确认" width="auto"> <el-table-column label="问题确认" width="auto">
<template slot-scope="scope" > <template slot-scope="scope">
<el-switch <el-switch
v-if="scope.row.evalQues" v-if="scope.row.evalQues"
v-model="scope.row.confirmStatus" v-model="scope.row.confirmStatus"
active-color="#C0C0C0" active-color="#C0C0C0"
inactive-color="#13ce66" inactive-color="#13ce66"
active-value="2" active-value="2"
inactive-value="1" inactive-value="1"
active-text="无异议" active-text="无异议"
inactive-text="有异议" inactive-text="有异议"
@change="controlSwitch($event, scope.row)" @change="controlSwitch($event, scope.row)"
> >
<template v-slot:active> <template v-slot:active>
<span>开启</span> <span>开启</span>
</template> </template>
<template v-slot:inactive> <template v-slot:inactive>
<span>关闭</span> <span>关闭</span>
</template> </template>
</el-switch> </el-switch>
</template>
</el-table-column>
<el-table-column label="解释批注">
<template slot-scope="scope">
<el-input
v-model="scope.row.feedback"
v-if="scope.row.confirmStatus == '1'"
></el-input>
</template>
</el-table-column>
<el-table-column label="附加解释材料" prop="fileId" width="400">
<template slot-scope="scope" v-if="scope.row.evalQues&&scope.row.confirmStatus == '1'">
<input
type="file"
@change="handleFileUploadZG($event, scope.row, 'fileId')"
/>
</template>
</el-table-column>
<el-table-column label="上传整改材料类型" prop="typeText" width="auto">
<template slot-scope="scope" v-if="scope.row.evalQues">
<el-select v-model="scope.row.typeText" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in MaterialsList"
:key="index"
:label="item.typeText"
:value="item.typeCode"
/>
</el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="上传整改材料" prop="zgFileId" width="auto"> <el-table-column label="解释批注">
<template slot-scope="scope" v-if="scope.row.evalQues"> <template slot-scope="scope">
<el-input
v-model="scope.row.feedback"
v-if="scope.row.confirmStatus == '1'"
></el-input>
</template>
</el-table-column>
<el-table-column label="附加解释材料" prop="fileId" width="auto">
<template
slot-scope="scope"
v-if="scope.row.evalQues && scope.row.confirmStatus == '1'"
>
<input <input
type="file" type="file"
multiple @change="handleFileUploadZG($event, scope.row, 'fileId')"
@change="handleFileUploadmul($event, scope.row, 'zgFileId')"
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="情况说明" prop="zgqkFileId" width="400" >
<el-table-column label="材料整改" prop="filed" width="600">
<template slot-scope="scope" v-if="scope.row.filed">
<div v-for="(item, index) in scope.row.filed" :key="index">
<el-tooltip
class="item"
effect="dark"
:content="`${item.names}:${item.values}`"
placement="top-start"
>
<div
class="filedp"
>
<p> <span class="tips">{{ item.names }}:</span
><span>{{ item.values }}</span></p> <el-upload
v-if="scope.row.prob.indexOf(scope.row.projectStage)!=-1"
class="upload_box"
ref="upload"
:multiple="true"
:http-request="
(res) => {
return fileupdate(item, res);
}
"
:with-credentials="true"
:auto-upload="true"
:file-list="scope.row.fileList"
action=""
:on-success="handleSuccess"
>
<el-button
size="small"
type="primary"
class="btn-search"
>上传</el-button
>
</el-upload>
</div>
</el-tooltip>
</div>
</template>
</el-table-column>
<el-table-column label="情况说明" prop="zgqkFileId" width="400">
<template slot-scope="scope" v-if="scope.row.evalQues"> <template slot-scope="scope" v-if="scope.row.evalQues">
<input <input
type="file" type="file"
@change="handleFileUploadZG($event, scope.row, 'zgqkFileId')" @change="
handleFileUploadZG($event, scope.row, 'zgqkFileId')
"
/> />
</template> </template>
</el-table-column> </el-table-column>
...@@ -485,9 +446,10 @@ import { ...@@ -485,9 +446,10 @@ import {
qrProblemAssistedFeedback, qrProblemAssistedFeedback,
wtssSelProblemRectification, wtssSelProblemRectification,
wtzgxfProblemRectification, wtzgxfProblemRectification,
ossuploadStr ossuploadStr,
MaterialWarehous,
} from "@/api/index"; } from "@/api/index";
import { generateYearOptions, projectCategoryText } from "@/utils/cache"; import { generateYearOptions, constructionFormText } from "@/utils/cache";
export default { export default {
data() { data() {
return { return {
...@@ -510,7 +472,7 @@ export default { ...@@ -510,7 +472,7 @@ export default {
fullName: "", fullName: "",
}, },
tableData: [], tableData: [],
MaterialsList:JSON.parse(JSON.stringify(MaterialsList())), MaterialsList: JSON.parse(JSON.stringify(MaterialsList())),
tableDataNew: MaterialsList(), tableDataNew: MaterialsList(),
tableDataQD: [], tableDataQD: [],
checkedList: [], checkedList: [],
...@@ -524,11 +486,26 @@ export default { ...@@ -524,11 +486,26 @@ export default {
mergingPos: 0, mergingPos: 0,
mergingRows: [], mergingRows: [],
tableDataQR: [], tableDataQR: [],
fileList:[], fileList: [],
subdisabled:false, subdisabled: false,
confirmdisabled:false, confirmdisabled: false,
}; };
}, },
filters: {
proType(val) {
if (val == 1) {
return "咨询设计类";
} else if (val == 2) {
return "开发实施类";
} else if (val == 3) {
return "业务运营类";
} else if (val == 4) {
return "数据工程类";
} else if (val == 5) {
return "产品购置类";
}
},
},
watch: { watch: {
// 监听路由对象中的参数部分 // 监听路由对象中的参数部分
"$route.params": { "$route.params": {
...@@ -547,10 +524,10 @@ export default { ...@@ -547,10 +524,10 @@ export default {
//给后端的参数 //给后端的参数
this.ruleForm.planStartTime = time[0]; this.ruleForm.planStartTime = time[0];
this.ruleForm.planEndTime = time[1]; this.ruleForm.planEndTime = time[1];
}else{ } else {
//给后端的参数 //给后端的参数
this.ruleForm.planStartTime =""; this.ruleForm.planStartTime = "";
this.ruleForm.planEndTime = ""; this.ruleForm.planEndTime = "";
} }
}, },
//问题整改 //问题整改
...@@ -571,47 +548,147 @@ export default { ...@@ -571,47 +548,147 @@ export default {
} }
this.dialogQR = true; this.dialogQR = true;
let params = { let params = {
projectId: this.checkedList[0].projectId, projectId: this.checkedList[0].projectCode,
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
}; };
let res = await wtssSelProblemRectification(params); let res = await wtssSelProblemRectification(params);
if (res.code == "200") { if (res.code == "200") {
let paramsMat = {
proType: this.checkedList[0].projectType,
contractNumber: this.checkedList[0].contractNumber,
prjId: this.checkedList[0].projectCode,
};
let resMat = await MaterialWarehous(paramsMat);
this.tableDataQR = res.data.records; this.tableDataQR = res.data.records;
let arr=[]
this.tableDataQR.forEach((item) => { this.tableDataQR.forEach((item) => {
if (!item.confirmStatus) { if (!item.confirmStatus) {
this.$set(item, "confirmStatus", "2"); this.$set(item, "confirmStatus", "2");
} }
if (item.evalQues) {
arr.push(item.projectStage)
}
switch (item.projectStage) { switch (item.projectStage) {
case "1": case "1":
this.$set(
item,
"filed",
this.filtersTable(1, resMat.data.records)
);
this.$set(item, "projectStagetext", "1.可研"); this.$set(item, "projectStagetext", "1.可研");
break; break;
case "2": case "2":
this.$set(
item,
"filed",
this.filtersTable(2, resMat.data.records)
);
this.$set(item, "projectStagetext", "2.计划"); this.$set(item, "projectStagetext", "2.计划");
break; break;
case "3": case "3":
this.$set(
item,
"filed",
this.filtersTable(3, resMat.data.records)
);
this.$set(item, "projectStagetext", "3.采购"); this.$set(item, "projectStagetext", "3.采购");
break; break;
case "4": case "4":
this.$set(
item,
"filed",
this.filtersTable(4, resMat.data.records)
);
this.$set(item, "projectStagetext", "4.合同"); this.$set(item, "projectStagetext", "4.合同");
break; break;
case "5": case "5":
this.$set(
item,
"filed",
this.filtersTable(5, resMat.data.records)
);
this.$set(item, "projectStagetext", "5.执行"); this.$set(item, "projectStagetext", "5.执行");
break; break;
case "6": case "6":
this.$set(
item,
"filed",
this.filtersTable(6, resMat.data.records)
);
this.$set(item, "projectStagetext", "6.结决算及转资"); this.$set(item, "projectStagetext", "6.结决算及转资");
break; break;
} }
}); });
this.$nextTick(() => { this.tableDataQR.forEach(val=>{
// console.log('表格错位',this.$refs.myTable.doLayout) this.$set(val,'prob',Array.from(new Set(arr) ))
})
// this.$refs.myTable.doLayout(); // 解决表格错位
});
this.dataPretreatment(); this.dataPretreatment();
}
},
fileupdate(items, list) {
console.log(items, list, "list");
this.fileList.push(list.file);
this.debounce(this.submitFile, 500, items);
},
debounce(fn, waits, items) {
if (this.timer) {
clearTimeout(this.timer);
this.timer = null;
}
this.timer = setTimeout(() => {
fn.apply(this, arguments); // 把参数传进去
}, waits);
},
submitFile() {
console.log(arguments[2], "arguments");
if (this.fileList.length === 0) {
this.$message.success("请上传文件");
return;
} }
this.uploadLoading = true;
let formData = new FormData(); // 用FormData存放上传文件
this.fileList.forEach((file) => {
formData.append("file", file); // file.raw
});
formData.append("typeCode", arguments[2].mid);
formData.append("prjId", this.checkedList[0].projectCode);
formData.append("bathId", this.checkedList[0].contractNumber);
ossuploadStr(formData)
.then((response) => {
if (response.code == "200") {
this.fileList = [];
this.confirm();
// this.MaterialWarehous(this.upprojectType);
console.log(this.$refs.upload, "this.$refs.upload");
this.$refs.upload.clearFiles();
this.$message("上传成功");
} else {
this.$message("上传失败");
}
})
.catch((error) => {});
},
filtersTable() {
let newArr = arguments[1].filter((items) => {
return items.projectStage == arguments[0];
});
let msg = [];
newArr.forEach((item) => {
if (item.fullName) {
msg.push({
names: item.materialName,
values: item.fullName,
mid: item.mid,
});
// msg=msg.concat(item.materialName+':'+item.fullName+"<br>");
}
});
return msg;
}, },
dataPretreatment() { dataPretreatment() {
for (let i = 0; i < this.tableDataQR.length; i++) { for (let i = 0; i < this.tableDataQR.length; i++) {
...@@ -633,7 +710,6 @@ export default { ...@@ -633,7 +710,6 @@ export default {
} }
} }
} }
}, },
closed() { closed() {
console.log("关闭"); console.log("关闭");
...@@ -642,15 +718,16 @@ export default { ...@@ -642,15 +718,16 @@ export default {
async saveSS() { async saveSS() {
let res = await qrProblemAssistedFeedback(this.tableDataQR); let res = await qrProblemAssistedFeedback(this.tableDataQR);
if (res.code == "200") { if (res.code == "200") {
this.$message('保存成功') this.$message("保存成功");
// this.dialogQR = false; // this.dialogQR = false;
// this.resetForm(); // this.resetForm();
}else{ } else {
this.$message('保存失败') this.$message("保存失败");
} }
}, },
async saveSubmit() { async saveSubmit() {
let res = await wtzgxfProblemRectification(this.tableDataQR); let res = await wtzgxfProblemRectification(this.tableDataQR);
this.$refs.myTable.doLayout(); // 解决表格错位
if (res.code == "200") { if (res.code == "200") {
this.$message("提交成功"); this.$message("提交成功");
this.dialogQR = false; this.dialogQR = false;
...@@ -663,7 +740,7 @@ export default { ...@@ -663,7 +740,7 @@ export default {
this.dialogQR = false; this.dialogQR = false;
}, },
arraySpanMethod({ row, column, rowIndex, columnIndex }) { arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) { if (columnIndex === 0 || columnIndex === 8) {
//第一列 //第一列
const _row = this.mergingRows[rowIndex]; const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0; const _col = _row > 0 ? 1 : 0;
...@@ -672,11 +749,6 @@ export default { ...@@ -672,11 +749,6 @@ export default {
colspan: _col, colspan: _col,
}; };
} }
// this.$nextTick(() => {
// console.log('表格错位',this.$refs.myTable.doLayout)
// this.$refs.myTable.doLayout(); // 解决表格错位
// });
}, },
//问题确认开关 //问题确认开关
controlSwitch(val, row) { controlSwitch(val, row) {
...@@ -697,27 +769,22 @@ export default { ...@@ -697,27 +769,22 @@ export default {
this.tableData = res.data.records; this.tableData = res.data.records;
this.tableData.forEach((item) => { this.tableData.forEach((item) => {
if (item.postEvalState == "" || item.postEvalState == null) { if (item.postEvalState == "" || item.postEvalState == null) {
this.$set(item, "postEvalStateText", "材料未上传"); // this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == "0") { } else if (item.postEvalState == "0") {
this.$set(item, "postEvalStateText", "材料未上传"); // this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == 1) { } else if (item.postEvalState == 1) {
this.$set(item, "postEvalStateText", "待评估"); this.$set(item, "postEvalStateText", "待评估");
} else if (item.postEvalState == 2) { } else if (item.postEvalState == 2) {
this.$set(item, "postEvalStateText", "需整改"); this.$set(item, "postEvalStateText", "需整改");
}else if (item.postEvalState == 3) { } else if (item.postEvalState == 3) {
this.$set(item, "postEvalStateText", "已整改"); this.$set(item, "postEvalStateText", "已整改");
}else if (item.postEvalState == 4) { } else if (item.postEvalState == 4) {
this.$set(item, "postEvalStateText", "已归档"); this.$set(item, "postEvalStateText", "已归档");
} }
// if (item.batchState == "3") {
// this.$set(item, "batchStateText", "执行中");
// } else if (item.batchState == "5") {
// this.$set(item, "batchStateText", "已完成");
// }
this.$set( this.$set(
item, item,
"projectCategory", "constructionForm",
projectCategoryText(item.projectCategory) constructionFormText(item.constructionForm)
); );
}); });
this.total = res.data.total * 1; this.total = res.data.total * 1;
...@@ -727,9 +794,9 @@ export default { ...@@ -727,9 +794,9 @@ export default {
this.$refs.formName.resetFields(); this.$refs.formName.resetFields();
this.currentPage = 1; this.currentPage = 1;
this.pageSize = 10; this.pageSize = 10;
this.ruleForm.planStartTime =""; this.ruleForm.planStartTime = "";
this.ruleForm.planEndTime = ""; this.ruleForm.planEndTime = "";
this.ruleForm.dates=[] this.ruleForm.dates = [];
this.submitForm(); this.submitForm();
}, },
//提交评估材料 //提交评估材料
...@@ -738,16 +805,11 @@ export default { ...@@ -738,16 +805,11 @@ export default {
this.$message("请选择"); this.$message("请选择");
return; return;
} }
// if (this.checkedList[0].postEvalStateText == "已上传") {
// this.$message("已上传评估材料");
// return;
// }
console.log("222");
this.dialog = true; this.dialog = true;
let params = { let params = {
current: this.currentPage, current: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
projectId: this.checkedList[0].projectId, projectId: this.checkedList[0].projectCode,
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
}; };
let res = await clqdevaluationMaterials(params); let res = await clqdevaluationMaterials(params);
...@@ -767,11 +829,6 @@ export default { ...@@ -767,11 +829,6 @@ export default {
} }
return accumulator; return accumulator;
}, []); }, []);
console.log(this.tableDataQD, " mergedArray mergedArray mergedArray");
// this.tableDataQD.forEach((item) => {
// // this.$set(item, "batchtype", "开发、实施类");
// });
} }
}, },
//详情 //详情
...@@ -780,15 +837,15 @@ export default { ...@@ -780,15 +837,15 @@ export default {
this.$message("请选择"); this.$message("请选择");
return; return;
} }
let params = { let params = {
proType: this.checkedList[0]. projectType, proType: this.checkedList[0].projectType,
contractNumber: this.checkedList[0].contractNumber, contractNumber: this.checkedList[0].contractNumber,
prjId: this.checkedList[0].projectCode, prjId: this.checkedList[0].projectCode,
}; };
let res = await MaterialWarehous(params); let res = await MaterialWarehous(params);
this.tableDataQD = res.data.records; this.tableDataQD = res.data.records;
this.dialog = true; this.dialogXQ = true;
this.tableDataQD.forEach((item) => { this.tableDataQD.forEach((item) => {
switch (item.projectStage) { switch (item.projectStage) {
case "1": case "1":
...@@ -821,23 +878,19 @@ export default { ...@@ -821,23 +878,19 @@ export default {
}, },
//主列表选中行信息 //主列表选中行信息
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.confirmdisabled=false this.confirmdisabled = false;
this.subdisabled=false this.subdisabled = false;
if (Array.isArray(selection) && selection.length > 1) { if (Array.isArray(selection) && selection.length > 1) {
this.$refs.multipleTable.toggleRowSelection(selection[0], false); this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true); this.$refs.multipleTable.toggleRowSelection(selection[1], true);
} }
this.checkedList = this.$refs.multipleTable.selection; this.checkedList = this.$refs.multipleTable.selection;
if(this.checkedList[0]){ if (this.checkedList[0]) {
this.ruleFormdialog = this.checkedList[0]; this.ruleFormdialog = this.checkedList[0];
if(this.checkedList[0].postEvalStateText!='需整改'){ if (this.checkedList[0].postEvalStateText != "需整改") {
this.confirmdisabled=true this.confirmdisabled = true;
}
if(this.checkedList[0].postEvalStateText!='材料未上传'){
this.subdisabled=true
} }
} }
console.log(this.checkedList, "2222");
}, },
handleSizeChange(val) { handleSizeChange(val) {
console.log(`每页 ${val} 条`); console.log(`每页 ${val} 条`);
...@@ -872,24 +925,12 @@ export default { ...@@ -872,24 +925,12 @@ export default {
async save(type) { async save(type) {
this.dialog = false; this.dialog = false;
let params = { let params = {
projectId: this.checkedList[0].projectId, projectId: this.checkedList[0].projectCode,
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
}; };
let res = await qrscevaluationMaterials(params); let res = await qrscevaluationMaterials(params);
this.resetForm(); this.resetForm();
}, },
handleFileUpload(event, row) {
// ||this.file.type=='application/vnd.openxmlformats-officedocument.wordprocessingml.document'
this.file = event.target.files[0];
console.log("来了么",this.file);
if(this.file.type=='application/pdf'||this.file.type=='image/png'||this.file.type=='image/jpeg'){
this.submitFile(row);
}else{
console.log( event,' row row row')
this.$message('只能上传格式为png、jpeg、pdf文件或图片')
event.target.value =''
}
},
handleFileUploadZG(event, row, id) { handleFileUploadZG(event, row, id) {
console.log("来了么"); console.log("来了么");
this.file = event.target.files[0]; this.file = event.target.files[0];
...@@ -899,31 +940,26 @@ export default { ...@@ -899,31 +940,26 @@ export default {
this.fileList = event.target.files; this.fileList = event.target.files;
this.submitFileStr(row, id); this.submitFileStr(row, id);
}, },
submitFileStr(row, type){ submitFileStr(row, type) {
if (this.fileList) { if (this.fileList) {
const formData = new FormData(); const formData = new FormData();
let fileDom=this.fileList let fileDom = this.fileList;
for(var i=0;i<fileDom.length; i++){ for (var i = 0; i < fileDom.length; i++) {
formData.append("file",fileDom[i]); formData.append("file", fileDom[i]);
} }
formData.append("typeCode",row.typeText); formData.append("typeCode", row.typeText);
formData.append("prjId",this.checkedList[0].projectId); formData.append("prjId", this.checkedList[0].projectCode);
formData.append("bathId",this.checkedList[0].batchId); formData.append("bathId", this.checkedList[0].batchId);
ossuploadStr(formData) ossuploadStr(formData)
.then((response) => { .then((response) => {
console.log(response,'试试'); console.log(response, "试试");
this.fileList = []; this.fileList = [];
let fileId = ""; let fileId = "";
response.data.list.forEach((item) => { response.data.list.forEach((item) => {
fileId = fileId.concat(item.fileId + ","); fileId = fileId.concat(item.fileId + ",");
}); });
// if(fileId.charAt(str.length-1)==','){
// newStr = str.substring(0, str.length - 1);
// }
fileId = fileId.substring(0, fileId.length - 1); fileId = fileId.substring(0, fileId.length - 1);
this.$set(row, type,fileId); this.$set(row, type, fileId);
console.log(this.tableDataQR,type,'tableDataQR')
}) })
.catch((error) => { .catch((error) => {
console.error(error); console.error(error);
...@@ -951,30 +987,9 @@ export default { ...@@ -951,30 +987,9 @@ export default {
this.$message("请先选择文件"); this.$message("请先选择文件");
} }
}, },
submitFile(row) { handleSuccess(response, file, fileList) {
console.log(row); // 提交保存成功后清空已上传的文件
if (this.file) { this.$refs.upload.clearFiles();
const formData = new FormData();
formData.append("file", this.file);
formData.append("prjId", this.checkedList[0].projectId);
formData.append("typeCode", row.typeCode);
formData.append("bathId", this.checkedList[0].batchId);
ossupload(formData)
.then((response) => {
console.log(response);
if (response.code == "200") {
this.$message("上传成功");
this.$set(row, "fileName", response.data.fileName);
} else {
this.$message("上传失败");
}
})
.catch((error) => {
console.error(error);
this.$message("上传失败");
});
}
}, },
async handleClickXZ(scope) { async handleClickXZ(scope) {
console.log(scope.fileId); console.log(scope.fileId);
...@@ -993,6 +1008,13 @@ export default { ...@@ -993,6 +1008,13 @@ export default {
document.body.removeChild(elink); document.body.removeChild(elink);
} }
}, },
handleMouseEnter(msg) {
console.log(this.$refs[msg], "this.$refs[msg].style");
// this.$refs[msg].style.whiteSpace = 'normal';
},
handleMouseLeave(msg) {
// this.$refs[msg].style.whiteSpace = 'nowrap';
},
}, },
}; };
</script> </script>
...@@ -1007,7 +1029,7 @@ export default { ...@@ -1007,7 +1029,7 @@ export default {
} }
.el-form { .el-form {
display: flex; display: flex;
width:98%; width: 100%;
flex-wrap: wrap; flex-wrap: wrap;
border-top: 2px solid #23c6c8; border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7; border-left: 1px solid #dee5e7;
...@@ -1059,6 +1081,8 @@ export default { ...@@ -1059,6 +1081,8 @@ export default {
} }
.eltable { .eltable {
width: 100%; width: 100%;
// height: 650px;
// overflow-y: auto;
box-sizing: border-box; box-sizing: border-box;
} }
/deep/ .el-table .warning-row { /deep/ .el-table .warning-row {
...@@ -1195,6 +1219,10 @@ export default { ...@@ -1195,6 +1219,10 @@ export default {
/deep/ .el-dialog__headerbtn .el-dialog__close { /deep/ .el-dialog__headerbtn .el-dialog__close {
color: #fff; color: #fff;
} }
// /deep/.el-table th.el-table__cell.is-leaf,
// .el-table td.el-table__cell {
// text-align: center;
// }
/deep/ .el-table__cell { /deep/ .el-table__cell {
text-align: center; text-align: center;
} }
...@@ -1207,8 +1235,7 @@ export default { ...@@ -1207,8 +1235,7 @@ export default {
.setscrolldialog { .setscrolldialog {
width: 100%; width: 100%;
height: 290px; height: 290px;
overflow-x: auto; overflow: auto;
overflow-y: hidden;
box-sizing: border-box; box-sizing: border-box;
/deep/ .el-table { /deep/ .el-table {
width: 96% !important; width: 96% !important;
...@@ -1303,7 +1330,6 @@ h3 { ...@@ -1303,7 +1330,6 @@ h3 {
background-color: #fff; background-color: #fff;
color: grey; color: grey;
} }
} }
.setTable { .setTable {
height: 560px; height: 560px;
...@@ -1314,8 +1340,8 @@ h3 { ...@@ -1314,8 +1340,8 @@ h3 {
.eltable { .eltable {
box-sizing: border-box; box-sizing: border-box;
text-align: center; text-align: center;
width: 190%; width: 250%;
min-width: 190%; min-width: 250%;
} }
/deep/.el-table--scrollable-x .el-table__body-wrapper { /deep/.el-table--scrollable-x .el-table__body-wrapper {
overflow-x: hidden !important; overflow-x: hidden !important;
...@@ -1326,14 +1352,60 @@ h3 { ...@@ -1326,14 +1352,60 @@ h3 {
} }
// /deep/ .el-table .cell{ // /deep/ .el-table .cell{
// padding-right: 0; // padding-right: 0;
// } // }
.noclick{ .noclick {
opacity: 0.5; opacity: 0.5;
} }
.xqtitle{ .xqtitle {
text-align: left; text-align: left;
font-size: 18px; font-size: 18px;
border-bottom: 1px solid gainsboro; border-bottom: 1px solid gainsboro;
padding-bottom: 10px; padding-bottom: 10px;
} }
.filedp {
text-align: left;
width:600px;
p{
display: inline-block;
width: 88%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
height: 30px;
margin-top: 5px;
}
.tips{
font-weight: 600;
}
span {
// margin-right: 8px;
display: inline-block;
width: 50%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
.upload-demo {
display: inline-block;
vertical-align: top;
}
.upload_box{
vertical-align: top;
}
.rightBtn {
width: 100%;
text-align: right;
}
.upload_box {
display: inline-block;
margin-right: 10px;
}
/deep/.el-upload-list__item-name {
display: none;
}
</style> </style>
\ No newline at end of file
<template>
<div class="dialogFrom">
<p class="xqtitle"><span></span>批次详情</p>
<el-form
:model="ruleFormdialog"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
</el-form-item>
<el-form-item label="后评估名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleFormdialog.batchName" disabled></el-input>
</el-form-item>
<el-form-item
label="计划评估日期:"
prop="planReviewDate"
class="fromItem"
>
<el-input
v-model="ruleFormdialog.planReviewDate"
disabled
></el-input>
</el-form-item>
<el-form-item label="后评估专家:" prop="expertName" class="fromItem">
<el-input v-model="ruleFormdialog.expertName" disabled></el-input>
</el-form-item>
<el-form-item label="工作组织情况:" class="textarea">
<el-input
type="textarea"
v-model="ruleFormdialog.description"
disabled
></el-input>
</el-form-item>
</el-form>
<p class="xqtitle"><span></span>本项目材料清单</p>
<div class="setscrolldialog">
<el-table
@selection-change="handleSelectionChange"
:data="tableDataQD"
tooltip-effect="dark myTooltips"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="材料类别" prop="batchtype">
</el-table-column>
<el-table-column prop="typeText" label="资料类型">
</el-table-column>
<el-table-column
prop="fileName"
label="资料名称"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="projectCategory" label="操作">
<template slot-scope="scope">
<input
type="file"
@change="handleFileUpload($event, scope.row)"
/>
</template>
</el-table-column>
</el-table>
</div>
<p class="Btn">
<span @click="cancel()">取消</span>
<span @click="preserve()">保存</span>
<span @click="save()">确认上传</span>
</p>
</div>
</template>
<script>
export default {
}
</script>
<style>
</style>
\ No newline at end of file
...@@ -141,19 +141,21 @@ ...@@ -141,19 +141,21 @@
> >
</el-table-column> </el-table-column>
<el-table-column prop="issueYear" label="项目年度" width="120"> <el-table-column prop="issueYear" label="项目年度" width="120">
<template slot-scope="scope" > <template slot-scope="scope">
<span v-show="scope.row.issueYear"> {{ scope.row.issueYear }}</span> <span v-show="scope.row.issueYear">
{{ scope.row.issueYear }}</span
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="projectType" label="项目类型" width="120"> <el-table-column prop="projectType" label="项目类型" width="120">
<template slot-scope="scope" > <template slot-scope="scope">
<span v-show="scope.row.projectType"> {{ scope.row.projectType|proType }}</span> <span v-show="scope.row.projectType">
{{ scope.row.projectType | proType }}</span
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="constructionForm" label="建设形式" width="120"> <el-table-column prop="constructionForm" label="建设形式" width="120">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="postEvalStateText" prop="postEvalStateText"
...@@ -164,7 +166,7 @@ ...@@ -164,7 +166,7 @@
<el-table-column <el-table-column
prop="contractNumber" prop="contractNumber"
label="合同编号" label="合同编号"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -278,7 +280,7 @@ ...@@ -278,7 +280,7 @@
slot-scope="scope" slot-scope="scope"
v-if="scope.row.confirmStatus == '1' && scope.row.fileId" v-if="scope.row.confirmStatus == '1' && scope.row.fileId"
> >
<el-tag <el-tag
v-if="scope.row.fileName" v-if="scope.row.fileName"
size="small" size="small"
@click="handleClickXZ(scope.row.fileId, scope.row.fileName)" @click="handleClickXZ(scope.row.fileId, scope.row.fileName)"
...@@ -313,7 +315,11 @@ ...@@ -313,7 +315,11 @@
</el-select> </el-select>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column label="整改材料" width="auto" show-overflow-tooltip> <el-table-column
label="整改材料"
width="600"
show-overflow-tooltip
>
<template slot-scope="scope" v-if="scope.row.filed"> <template slot-scope="scope" v-if="scope.row.filed">
<div v-for="(item, index) in scope.row.filed" :key="index"> <div v-for="(item, index) in scope.row.filed" :key="index">
<el-tooltip <el-tooltip
...@@ -322,20 +328,26 @@ ...@@ -322,20 +328,26 @@
:content="`${item.names}:${item.values}`" :content="`${item.names}:${item.values}`"
placement="top-start" placement="top-start"
> >
<p class="filedp" <div class="filedp">
:key="index"> <p>
<el-button <span class="tips">{{ item.names }}:</span
size="small" ><span>{{ item.values }}</span>
type="primary" </p>
class="btn-search" <el-button
@click="downloadObjectStr(item)" size="small"
v-if="scope.row.prob.indexOf(scope.row.projectStage)!=-1" type="primary"
>下载</el-button class="btn-search btnTop"
> <span class="tips">{{ item.names }}:</span><span>{{ item.values }}</span> @click="downloadObjectStr(item)"
</p> v-if="
</el-tooltip> scope.row.prob.indexOf(scope.row.projectStage) !=
</div> -1
</template> "
>下载</el-button
>
</div>
</el-tooltip>
</div>
</template>
</el-table-column> </el-table-column>
<el-table-column label="情况说明" prop="zgqkFileId" width="400"> <el-table-column label="情况说明" prop="zgqkFileId" width="400">
<template slot-scope="scope" v-if="scope.row.zgqkFileId"> <template slot-scope="scope" v-if="scope.row.zgqkFileId">
...@@ -406,7 +418,7 @@ import { generateYearOptions, constructionFormText } from "@/utils/cache"; ...@@ -406,7 +418,7 @@ import { generateYearOptions, constructionFormText } from "@/utils/cache";
export default { export default {
data() { data() {
return { return {
dialogFullScreen:false, dialogFullScreen: false,
yearsList: generateYearOptions(), yearsList: generateYearOptions(),
showButton: true, showButton: true,
ruleForm: { ruleForm: {
...@@ -461,13 +473,13 @@ export default { ...@@ -461,13 +473,13 @@ export default {
proType(val) { proType(val) {
if (val == 1) { if (val == 1) {
return "咨询设计类"; return "咨询设计类";
} else if (val == 2) { } else if (val == 2) {
return "开发实施类"; return "开发实施类";
}else if (val == 3){ } else if (val == 3) {
return "业务运营类"; return "业务运营类";
}else if (val == 4){ } else if (val == 4) {
return "数据工程类"; return "数据工程类";
}else if (val == 5){ } else if (val == 5) {
return "产品购置类"; return "产品购置类";
} }
}, },
...@@ -512,14 +524,14 @@ export default { ...@@ -512,14 +524,14 @@ export default {
}; };
let resMat = await MaterialWarehous(paramsMat); let resMat = await MaterialWarehous(paramsMat);
this.tableDataQR = res.data.records; this.tableDataQR = res.data.records;
let arrs=[] let arrs = [];
this.tableDataQR.forEach((item) => { this.tableDataQR.forEach((item) => {
if (!item.confirmStatus) { if (!item.confirmStatus) {
this.$set(item, "confirmStatus", "2"); this.$set(item, "confirmStatus", "2");
} }
if (item.evalQues) { if (item.evalQues) {
arrs.push(item.projectStage) arrs.push(item.projectStage);
} }
switch (item.projectStage) { switch (item.projectStage) {
case "1": case "1":
this.$set(item, "projectStagetext", "1.可研"); this.$set(item, "projectStagetext", "1.可研");
...@@ -579,9 +591,9 @@ export default { ...@@ -579,9 +591,9 @@ export default {
this.$set(item, "tagId", arrID); this.$set(item, "tagId", arrID);
} }
}); });
this.tableDataQR.forEach(val=>{ this.tableDataQR.forEach((val) => {
this.$set(val,'prob',Array.from(new Set(arrs) )) this.$set(val, "prob", Array.from(new Set(arrs)));
}) });
this.dataPretreatment(); this.dataPretreatment();
} }
}, },
...@@ -596,9 +608,8 @@ export default { ...@@ -596,9 +608,8 @@ export default {
names: item.materialName, names: item.materialName,
values: item.fullName, values: item.fullName,
mid: item.mid, mid: item.mid,
fullId:item.fullId, fullId: item.fullId,
fullUrl:item.fullUrl fullUrl: item.fullUrl,
}); });
// msg=msg.concat(item.materialName+':'+item.fullName+"<br>"); // msg=msg.concat(item.materialName+':'+item.fullName+"<br>");
} }
...@@ -631,7 +642,7 @@ export default { ...@@ -631,7 +642,7 @@ export default {
this.handleSelectionChange(); this.handleSelectionChange();
}, },
arraySpanMethod({ row, column, rowIndex, columnIndex }) { arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0|| columnIndex === 8) { if (columnIndex === 0 || columnIndex === 8) {
//第一列 //第一列
const _row = this.mergingRows[rowIndex]; const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0; const _col = _row > 0 ? 1 : 0;
...@@ -660,27 +671,30 @@ export default { ...@@ -660,27 +671,30 @@ export default {
} }
}, },
async savetj() { async savetj() {
this.$confirm("若所有整改复核状态均为整改完成即为完成归档, 是否继续?", "提示", { this.$confirm(
confirmButtonText: "确定", "若所有整改复核状态均为整改完成即为完成归档, 是否继续?",
cancelButtonText: "取消", "提示",
type: "warning", {
}) confirmButtonText: "确定",
.then(async () => { cancelButtonText: "取消",
let res = await tjrectificationVerification(this.tableDataQR); type: "warning",
if (res.code == "200") { }
this.dialogQR = false; ).then(async () => {
this.$message("提交成功"); let res = await tjrectificationVerification(this.tableDataQR);
this.resetForm(); if (res.code == "200") {
} else { this.dialogQR = false;
this.$message("提交失败"); this.$message("提交成功");
} this.resetForm();
}) } else {
this.$message("提交失败");
}
});
}, },
async submitForm() { async submitForm() {
let params = { let params = {
current: this.currentPage, current: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
module:1 module: 1,
}; };
Object.assign(params, this.ruleForm); Object.assign(params, this.ruleForm);
console.log(params); console.log(params);
...@@ -736,13 +750,13 @@ export default { ...@@ -736,13 +750,13 @@ export default {
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectCode, projectId: this.checkedList[0].projectCode,
contractNumber: this.checkedList[0].contractNumber, contractNumber: this.checkedList[0].contractNumber,
proType:this.checkedList[0].projectType proType: this.checkedList[0].projectType,
}; };
this.$router.push({ this.$router.push({
path: "/assesszc/Compliance", path: "/assesszc/Compliance",
query: { query: {
clqparams: JSON.stringify(params), clqparams: JSON.stringify(params),
projectName:this.checkedList[0].projectName projectName: this.checkedList[0].projectName,
}, },
}); });
}, },
...@@ -820,7 +834,6 @@ export default { ...@@ -820,7 +834,6 @@ export default {
return ""; return "";
}, },
async handleClickXZ(fileId, fileName) { async handleClickXZ(fileId, fileName) {
let response = await downloadObject({ let response = await downloadObject({
fileId: fileId * 1, fileId: fileId * 1,
}); });
...@@ -855,15 +868,12 @@ export default { ...@@ -855,15 +868,12 @@ export default {
} }
} }
this.ruleFormdialog = this.checkedList[0]; this.ruleFormdialog = this.checkedList[0];
}, },
handleSizeChange(val) { handleSizeChange(val) {
this.pageSize = val; this.pageSize = val;
this.submitForm(); this.submitForm();
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
this.currentPage = val; this.currentPage = val;
this.submitForm(); this.submitForm();
}, },
...@@ -875,7 +885,6 @@ export default { ...@@ -875,7 +885,6 @@ export default {
this.dialogQR = false; this.dialogQR = false;
}, },
closeDialog() { closeDialog() {
this.showButton = true; this.showButton = true;
}, },
}, },
...@@ -891,7 +900,7 @@ export default { ...@@ -891,7 +900,7 @@ export default {
} }
.el-form { .el-form {
display: flex; display: flex;
width:99%; width: 99%;
flex-wrap: wrap; flex-wrap: wrap;
border-top: 2px solid #23c6c8; border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7; border-left: 1px solid #dee5e7;
...@@ -1172,4 +1181,35 @@ h3 { ...@@ -1172,4 +1181,35 @@ h3 {
.noclick { .noclick {
opacity: 0.5; opacity: 0.5;
} }
.filedp {
text-align: left;
width: 600px;
p {
display: inline-block;
width: 88%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
height: 30px;
margin-top: 5px;
}
.tips {
font-weight: 600;
}
span {
// margin-right: 8px;
display: inline-block;
width: 50%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
.btn-search{
vertical-align: top;
}
::v-deep.el-table::before {
display: none !important;
}
</style> </style>
\ No newline at end of file
...@@ -370,7 +370,7 @@ ...@@ -370,7 +370,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="材料整改" prop="filed" width="400"> <el-table-column label="材料整改" prop="filed" width="600">
<template slot-scope="scope" v-if="scope.row.filed"> <template slot-scope="scope" v-if="scope.row.filed">
<div v-for="(item, index) in scope.row.filed" :key="index"> <div v-for="(item, index) in scope.row.filed" :key="index">
<el-tooltip <el-tooltip
...@@ -379,10 +379,12 @@ ...@@ -379,10 +379,12 @@
:content="`${item.names}:${item.values}`" :content="`${item.names}:${item.values}`"
placement="top-start" placement="top-start"
> >
<p <div
class="filedp" class="filedp"
> >
<el-upload
<p> <span class="tips">{{ item.names }}:</span
><span>{{ item.values }}</span></p> <el-upload
v-if="scope.row.prob.indexOf(scope.row.projectStage)!=-1" v-if="scope.row.prob.indexOf(scope.row.projectStage)!=-1"
class="upload_box" class="upload_box"
ref="upload" ref="upload"
...@@ -404,10 +406,8 @@ ...@@ -404,10 +406,8 @@
class="btn-search" class="btn-search"
>上传</el-button >上传</el-button
> >
</el-upload> </el-upload>
<span class="tips">{{ item.names }}:</span </div>
><span>{{ item.values }}</span>
</p>
</el-tooltip> </el-tooltip>
</div> </div>
</template> </template>
...@@ -1364,17 +1364,37 @@ h3 { ...@@ -1364,17 +1364,37 @@ h3 {
} }
.filedp { .filedp {
text-align: left; text-align: left;
width: 400px; width:600px;
white-space: nowrap;
overflow: hidden; p{
text-overflow: ellipsis; display: inline-block;
.tips { width: 88%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
height: 30px;
margin-top: 5px;
}
.tips{
font-weight: 600; font-weight: 600;
margin-right: 8px;
} }
span {
// margin-right: 8px;
display: inline-block;
width: 50%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
} }
.upload-demo { .upload-demo {
display: inline-block; display: inline-block;
vertical-align: top;
}
.upload_box{
vertical-align: top;
} }
.rightBtn { .rightBtn {
......
...@@ -115,7 +115,7 @@ ...@@ -115,7 +115,7 @@
> >
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="constructionForm" label="建设形式" width="90"> <el-table-column prop="constructionFormText" label="建设形式" width="90">
</el-table-column> </el-table-column>
<el-table-column prop="startupStatus" label="启动日期" width="90"> <el-table-column prop="startupStatus" label="启动日期" width="90">
</el-table-column> </el-table-column>
...@@ -183,7 +183,8 @@ ...@@ -183,7 +183,8 @@
> --> > -->
<el-dialog <el-dialog
:visible.sync="dialog" :visible.sync="dialog"
:fullscreen="dialogFullScreen" :modal-append-to-body="false"
:append-to-body="false"
:class="[dialogFullScreen ? 'fullscreen' : 'no_fullscreen']" :class="[dialogFullScreen ? 'fullscreen' : 'no_fullscreen']"
> >
<template slot="title"> <template slot="title">
...@@ -227,7 +228,7 @@ ...@@ -227,7 +228,7 @@
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column prop="constructionForm" label="操作" width="350"> <el-table-column prop="caozuo" label="操作" width="350">
<template slot-scope="scope"> <template slot-scope="scope">
<el-upload <el-upload
class="upload_box" class="upload_box"
...@@ -277,7 +278,7 @@ ...@@ -277,7 +278,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="constructionForm" prop="lishi"
label="历史版本" label="历史版本"
width="100" width="100"
> >
...@@ -293,18 +294,17 @@ ...@@ -293,18 +294,17 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<p class="Btn"> <!-- <p class="Btn">
<span @click="cancel()">取消</span> <span @click="cancel()">取消</span>
<!-- <span @click="preserve()">保存</span> </p> -->
<span @click="save()">确认上传</span> -->
</p>
</div> </div>
<el-dialog <el-dialog
class="innerVisible" class="innerVisible"
width="60%" width="60%"
title="历史版本" title="历史版本"
:modal-append-to-body="false"
append-to-body
:visible.sync="innerVisible" :visible.sync="innerVisible"
append-to-body
> >
<el-table <el-table
:data="tableHistory" :data="tableHistory"
...@@ -636,7 +636,7 @@ export default { ...@@ -636,7 +636,7 @@ export default {
this.tableData.forEach((item) => { this.tableData.forEach((item) => {
this.$set( this.$set(
item, item,
"constructionForm", "constructionFormText",
constructionFormText(item.constructionForm) constructionFormText(item.constructionForm)
); );
}); });
...@@ -1140,11 +1140,16 @@ export default { ...@@ -1140,11 +1140,16 @@ export default {
.fullscreen { .fullscreen {
/deep/ .el-dialog { /deep/ .el-dialog {
width: 100%; width: 100%;
// height: 100%;
margin-top: 0px !important;
margin-left: 0px !important;
} }
} }
.no_fullscreen { .no_fullscreen {
/deep/ .el-dialog { /deep/ .el-dialog {
width: 90%; width: 70%;
margin-top: 3vh !important;
margin-left: 3vw !important;
} }
} }
/deep/ .custom_dialog_header { /deep/ .custom_dialog_header {
...@@ -1160,5 +1165,17 @@ export default { ...@@ -1160,5 +1165,17 @@ export default {
} }
/deep/ .el-icon-full-screen { /deep/ .el-icon-full-screen {
cursor: pointer; cursor: pointer;
color: #fff !important;
margin-right: 10px;
}
.el_dialog_title{
color: #f0ffff;
font-size: 18px;
}
/deep/ .custom_dialog_menu{
padding: 2px 20px 0 30px;
}
/deep/ .el-icon-close:before{
font-size:20px !important;
} }
</style> </style>
\ No newline at end of file
...@@ -10,8 +10,8 @@ ...@@ -10,8 +10,8 @@
:default-active="activeIndex" :default-active="activeIndex"
ref="kzMenu" ref="kzMenu"
> >
<el-menu-item index="/mainLayout/mianHome" class="classmain">首页</el-menu-item> <el-menu-item index="/mainLayout/mianHome" class="classmain"><span class=""></span>首页</el-menu-item>
<el-menu-item index="/assesszc/projectView" class="classmain">项目档案库</el-menu-item> <el-menu-item index="/assesszc/projectView" class="classmain"><span></span>项目档案库</el-menu-item>
<el-submenu <el-submenu
v-for="(item, index) in menuList" v-for="(item, index) in menuList"
:key="index" :key="index"
...@@ -171,7 +171,7 @@ export default { ...@@ -171,7 +171,7 @@ export default {
"获取父元素的local数据", "获取父元素的local数据",
JSON.parse(localStorage.getItem("user")) JSON.parse(localStorage.getItem("user"))
); );
this.handleOpen(0, ["0"]); // this.handleOpen(0, ["0"]);
if ( if (
this.$route.path == "/mainLayout/Compliancefz" || this.$route.path == "/mainLayout/Compliancefz" ||
this.$route.path == "/mainLayout/Compliance" this.$route.path == "/mainLayout/Compliance"
...@@ -371,5 +371,16 @@ export default { ...@@ -371,5 +371,16 @@ export default {
font-size: 16px; font-size: 16px;
font-weight: bold; font-weight: bold;
color: #fff; color: #fff;
text-align: left;
span{
display: inline-block;
width: 5px;
height: 5px;
border-radius: 5px;
background: #fff;
margin-right: 25px;
margin-left: 4px;
vertical-align: middle;
}
} }
</style> </style>
\ No newline at end of file
...@@ -246,4 +246,8 @@ export default { ...@@ -246,4 +246,8 @@ export default {
.el-tooltip__popper.is-dark { .el-tooltip__popper.is-dark {
color: black; color: black;
} }
.el-icon-close:before{
color: #fff;
font-size:17px;
}
</style> </style>
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!