Commit 98ff95ba by liangzhen

替换自查页面

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