Commit 2e2326a4 by liangzhen

改版

1 parent f5577dc1
...@@ -456,35 +456,11 @@ ...@@ -456,35 +456,11 @@
placeholder="请选择" placeholder="请选择"
clearable clearable
> >
<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-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>
......
...@@ -24,9 +24,9 @@ ...@@ -24,9 +24,9 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目编码:" prop="projectCode" class="fromItem"> <el-form-item label="项目编码:" prop="projectId" class="fromItem">
<el-input <el-input
v-model="ruleForm.projectCode" v-model="ruleForm.projectId"
placeholder="请输入" placeholder="请输入"
clearable clearable
></el-input> ></el-input>
...@@ -38,9 +38,9 @@ ...@@ -38,9 +38,9 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目年度:" prop="issueYear" class="fromItem"> <el-form-item label="项目年度:" prop="projectYear" class="fromItem">
<el-select <el-select
v-model="ruleForm.issueYear" v-model="ruleForm.projectYear"
placeholder="请选择" placeholder="请选择"
clearable clearable
> >
...@@ -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>
...@@ -373,7 +373,7 @@ export default { ...@@ -373,7 +373,7 @@ export default {
batchName: "", batchName: "",
postEvalState: "", postEvalState: "",
projectName: "", projectName: "",
projectCode: "", projectId: "",
}, },
ruleFormdialog: { ruleFormdialog: {
batchYear: "", batchYear: "",
...@@ -426,9 +426,9 @@ export default { ...@@ -426,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) {
...@@ -465,7 +465,7 @@ export default { ...@@ -465,7 +465,7 @@ export default {
this.dialog = true; this.dialog = true;
let params = { let params = {
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
projectCode: this.checkedList[0].projectCode, 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];
...@@ -535,7 +535,7 @@ export default { ...@@ -535,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,
projectCode: this.checkedList[0].projectCode, projectId: this.checkedList[0].projectCode,
}; };
this.xxtableData = []; this.xxtableData = [];
let res = await wtqdqselect(params); let res = await wtqdqselect(params);
...@@ -594,7 +594,7 @@ export default { ...@@ -594,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,
projectCode: this.checkedList[0].projectCode, projectId: this.checkedList[0].projectCode,
}; };
let res = await selLcb(params); let res = await selLcb(params);
if (res.code == "200") { if (res.code == "200") {
......
...@@ -24,9 +24,9 @@ ...@@ -24,9 +24,9 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目编码:" prop="projectCode" class="fromItem"> <el-form-item label="项目编码:" prop="projectId" class="fromItem">
<el-input <el-input
v-model="ruleForm.projectCode" v-model="ruleForm.projectId"
placeholder="请输入" placeholder="请输入"
clearable clearable
></el-input> ></el-input>
...@@ -38,9 +38,9 @@ ...@@ -38,9 +38,9 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目年度:" prop="issueYear" class="fromItem"> <el-form-item label="项目年度:" prop="projectYear" class="fromItem">
<el-select <el-select
v-model="ruleForm.issueYear" v-model="ruleForm.projectYear"
placeholder="请选择" placeholder="请选择"
clearable clearable
> >
...@@ -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>
...@@ -313,22 +313,29 @@ ...@@ -313,22 +313,29 @@
</el-select> </el-select>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column label="上传整改材料" width="400"> <el-table-column label="整改材料" width="auto" show-overflow-tooltip>
<template slot-scope="scope" v-if="scope.row.zgFileId"> <template slot-scope="scope" v-if="scope.row.filed">
<el-tag <div v-for="(item, index) in scope.row.filed" :key="index">
size="small" <el-tooltip
v-for="(tag, index) in scope.row.tags" class="item"
:key="index" effect="dark"
@click="handleClickXZ(scope.row.tagId[index], tag)" :content="`${item.names}:${item.values}`"
> placement="top-start"
{{ tag }} >
</el-tag> <p class="filedp"
<!-- {{ scope.row.zgName}} :key="index">
<el-button <el-button
@click="handleClickXZ(scope.row.zgFileId, scope.row.zgName)" size="small"
>下载</el-button type="primary"
> --> class="btn-search"
</template> @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>
</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">
...@@ -391,7 +398,9 @@ import { ...@@ -391,7 +398,9 @@ import {
wtssSelectificationVerification, wtssSelectificationVerification,
bcrectificationVerification, bcrectificationVerification,
downloadObject, downloadObject,
tjrectificationVerification tjrectificationVerification,
MaterialWarehous,
downloadObjectStr,
} from "@/api/index"; } from "@/api/index";
import { generateYearOptions, constructionFormText } from "@/utils/cache"; import { generateYearOptions, constructionFormText } from "@/utils/cache";
export default { export default {
...@@ -405,7 +414,7 @@ export default { ...@@ -405,7 +414,7 @@ export default {
batchName: "", batchName: "",
postEvalState: "", postEvalState: "",
projectName: "", projectName: "",
projectCode: "", projectId: "",
dates: [], dates: [],
}, },
ruleFormdialog: { ruleFormdialog: {
...@@ -464,6 +473,22 @@ export default { ...@@ -464,6 +473,22 @@ export default {
}, },
}, },
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;
...@@ -474,35 +499,75 @@ export default { ...@@ -474,35 +499,75 @@ export default {
} }
this.dialogQR = true; this.dialogQR = true;
let params = { let params = {
projectCode: this.checkedList[0].projectCode, 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 = [];
...@@ -514,10 +579,32 @@ export default { ...@@ -514,10 +579,32 @@ 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 表格数据源
...@@ -544,7 +631,7 @@ export default { ...@@ -544,7 +631,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;
...@@ -603,9 +690,9 @@ export default { ...@@ -603,9 +690,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) {
...@@ -692,7 +779,6 @@ export default { ...@@ -692,7 +779,6 @@ export default {
return; return;
} }
console.log("222");
// this.dialog = true; // this.dialog = true;
let params = { let params = {
projectId: this.checkedList[0].projectCode, projectId: this.checkedList[0].projectCode,
......
...@@ -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
...@@ -456,9 +457,9 @@ ...@@ -456,9 +457,9 @@
placeholder="请选择" placeholder="请选择"
clearable clearable
> >
<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-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="专业领域:" prop="expertFields" class="fromItem"> <!-- <el-form-item label="专业领域:" prop="expertFields" class="fromItem">
...@@ -586,6 +587,7 @@ ...@@ -586,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
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
:name="item.typeCode" :name="item.typeCode"
> >
<div class="opt" v-show="options.length>0"> <div class="opt" v-show="options.length>0">
<el-select v-model="valuesel" clearable placeholder="请选择" @change="changexm"> <el-select v-model="valuesel" clearable placeholder="请选择" @change="(val)=>changexm(val,item.typeCode)">
<el-option <el-option
v-for="(item,index) in options" v-for="(item,index) in options"
:key="item.name" :key="item.name"
...@@ -44,8 +44,8 @@ ...@@ -44,8 +44,8 @@
<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'&&options.length>0"> <div class="docDiv" v-else-if="blobType=='docx'||blobType=='doc'&&options.length>0">
<div :ref="`word${item.typeCode}`" :id="`word${item.typeCode}`" > <div :ref="`word`" :id="`word${item.typeCode}`" >
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -272,7 +272,7 @@ export default { ...@@ -272,7 +272,7 @@ export default {
type: "warning", type: "warning",
}) })
.then(() => { .then(() => {
this.save(); this.save(2);
}) })
...@@ -348,8 +348,8 @@ export default { ...@@ -348,8 +348,8 @@ export default {
handleExceed() { handleExceed() {
this.$message.warning(`只能选择一张图片`); this.$message.warning(`只能选择一张图片`);
}, },
changexm(row){ changexm(row,typeCode){
this.downloadObject(this.options[row]) this.downloadObject(this.options[row],typeCode)
console.log(row,'换文件') console.log(row,'换文件')
}, },
async init(type) { async init(type) {
...@@ -370,7 +370,7 @@ export default { ...@@ -370,7 +370,7 @@ export default {
this.options= resList.data this.options= resList.data
if(this.options.length>0){ if(this.options.length>0){
this.valuesel=this.options[0].name this.valuesel=this.options[0].name
this. downloadObject(this.options[0]) this. downloadObject(this.options[0],this.tabListKY[0].typeCode)
}else{ }else{
this.blobType='png' this.blobType='png'
this.iframeUrl = "/nopdf.png"; this.iframeUrl = "/nopdf.png";
...@@ -455,18 +455,23 @@ export default { ...@@ -455,18 +455,23 @@ export default {
}); });
}, },
async downloadObject(row){ async downloadObject(row,code){
this.iframeUrl=""
this.blobType=''
let resUrl = await downloadObject({fileId:row.id}); let resUrl = await downloadObject({fileId:row.id});
this.blobType=row.suffix if( this.blobType==''){
const binaryData = [] this.blobType=row.suffix
binaryData.push(resUrl) }
let URL = window.URL.createObjectURL(new Blob(binaryData, { type:row.contentType}))
this.iframeUrl = URL+'#view=FitH,top'
console.log(this.blobType,'文件类型') 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");
this.$nextTick(()=>{ this.$nextTick(()=>{
docx.renderAsync(resUrl,document.getElementById(`word${item.typeCode}`)) // 渲染到页面预览 docx.renderAsync(resUrl,document.getElementById(`word${code}`)) // 渲染到页面预览
}) })
} }
...@@ -485,7 +490,7 @@ export default { ...@@ -485,7 +490,7 @@ export default {
this.options= resList.data this.options= resList.data
if(this.options.length>0){ if(this.options.length>0){
this.valuesel=this.options[0].name this.valuesel=this.options[0].name
this.downloadObject(this.options[0]) this.downloadObject(this.options[0],this.tabListKY[tab.index].typeCode )
}else{ }else{
this.blobType='png' this.blobType='png'
this.iframeUrl = "/nopdf.png"; this.iframeUrl = "/nopdf.png";
...@@ -587,7 +592,7 @@ export default { ...@@ -587,7 +592,7 @@ export default {
path: "/assesszc/auxiliaryInspection", path: "/assesszc/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) => {
...@@ -609,13 +614,16 @@ export default { ...@@ -609,13 +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("保存成功");
this.$router.push({ if(type&&type==2){
this.$router.push({
path: "/assesszc/Compliancefz", path: "/assesszc/Compliancefz",
query: { query: {
clqparams: JSON.stringify(this.clqparams), clqparams: JSON.stringify(this.clqparams),
projectName:this.projectName projectName:this.projectName
}, },
}); });
}
} else { } else {
this.$message("保存失败"); this.$message("保存失败");
} }
...@@ -823,7 +831,7 @@ export default { ...@@ -823,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;
...@@ -831,6 +839,7 @@ export default { ...@@ -831,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;
......
...@@ -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"
...@@ -219,7 +219,7 @@ ...@@ -219,7 +219,7 @@
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="projectCategory" prop="constructionForm"
label="建设形式" label="建设形式"
width="100" width="100"
> >
...@@ -356,7 +356,7 @@ ...@@ -356,7 +356,7 @@
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="projectCategory" prop="constructionForm"
label="建设形式" label="建设形式"
width="100" width="100"
> >
...@@ -440,29 +440,22 @@ ...@@ -440,29 +440,22 @@
> >
<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-input
v-model="ruleFormZJ.department"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="项目编码:" prop="projectCode" class="fromItem"> <el-form-item label="项目编码:" prop="projectCode" class="fromItem">
<el-input <el-input
v-model="ruleForm.projectCode" v-model="ruleFormZJ.projectCode"
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="projectName" class="fromItem">
<el-input <el-input
v-model="ruleForm.projectName" v-model="ruleFormZJ.projectName"
placeholder="请输入" placeholder="请输入"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目年度:" prop="issueYear" class="fromItem"> <el-form-item label="项目年度:" prop="issueYear" class="fromItem">
<el-select v-model="ruleForm.issueYear" placeholder="请选择" clearable> <el-select v-model="ruleFormZJ.issueYear" placeholder="请选择" clearable>
<el-option <el-option
v-for="(item, index) in yearsList" v-for="(item, index) in yearsList"
:key="index" :key="index"
...@@ -471,27 +464,31 @@ ...@@ -471,27 +464,31 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="项目负责人:" prop="projectLeader" class="fromItem"> <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 <el-input
v-model="ruleForm.projectLeader" v-model="ruleFormZJ.contractNumber"
placeholder="请输入" placeholder="请输入"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="部门:" prop="department" class="fromItem"> <el-form-item label="合同名称:" prop="contractName" class="fromItem">
<el-input <el-input
v-model="ruleForm.department" v-model="ruleFormZJ.contractName"
placeholder="请输入" placeholder="请输入"
clearable clearable
></el-input> ></el-input>
</el-form-item> --> </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>
...@@ -525,7 +522,7 @@ ...@@ -525,7 +522,7 @@
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="projectCategory" prop="constructionForm"
label="建设形式" label="建设形式"
width="100" width="100"
> >
...@@ -603,7 +600,7 @@ import { ...@@ -603,7 +600,7 @@ import {
chProjectInfo, chProjectInfo,
bcProjectInfo bcProjectInfo
} from "@/api/index"; } from "@/api/index";
import { generateYearOptions, projectCategoryText,constructionFormText } from "@/utils/cache"; import { generateYearOptions,constructionFormText } from "@/utils/cache";
export default { export default {
data() { data() {
return { return {
...@@ -757,7 +754,7 @@ export default { ...@@ -757,7 +754,7 @@ export default {
this.addtableData.forEach((item) => { this.addtableData.forEach((item) => {
this.$set( this.$set(
item, item,
"projectCategory", "constructionForm",
constructionFormText(item.constructionForm) constructionFormText(item.constructionForm)
); );
}); });
...@@ -792,7 +789,7 @@ export default { ...@@ -792,7 +789,7 @@ export default {
this.addtableData.forEach((item) => { this.addtableData.forEach((item) => {
this.$set( this.$set(
item, item,
"projectCategory", "constructionForm",
constructionFormText(item.constructionForm) constructionFormText(item.constructionForm)
); );
}); });
...@@ -897,7 +894,7 @@ export default { ...@@ -897,7 +894,7 @@ export default {
this.zjtableData.forEach((item) => { this.zjtableData.forEach((item) => {
this.$set( this.$set(
item, item,
"projectCategory", "constructionForm",
constructionFormText(item.constructionForm) constructionFormText(item.constructionForm)
); );
}); });
......
...@@ -31,9 +31,9 @@ ...@@ -31,9 +31,9 @@
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item label="项目编码:" prop="projectCode" class="fromItem"> <el-form-item label="项目编码:" prop="projectId" class="fromItem">
<el-input <el-input
v-model="ruleForm.projectCode" v-model="ruleForm.projectId"
placeholder="请输入" placeholder="请输入"
clearable clearable
></el-input> ></el-input>
...@@ -50,9 +50,9 @@ ...@@ -50,9 +50,9 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目年度:" prop="issueYear" class="fromItem"> <el-form-item label="项目年度:" prop="projectYear" class="fromItem">
<el-select <el-select
v-model="ruleForm.issueYear" v-model="ruleForm.projectYear"
placeholder="请选择" placeholder="请选择"
clearable clearable
> >
...@@ -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,7 +129,7 @@ ...@@ -129,7 +129,7 @@
<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="后评估批次名称">
...@@ -143,25 +143,31 @@ ...@@ -143,25 +143,31 @@
> >
</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 prop="postEvalStateText" label="项目审核状态" width="120"> <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
...@@ -267,19 +273,18 @@ ...@@ -267,19 +273,18 @@
</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>
...@@ -324,70 +329,97 @@ ...@@ -324,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="400">
<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"
>
<p
class="filedp"
>
<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>
<span class="tips">{{ item.names }}:</span
><span>{{ item.values }}</span>
</p>
</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>
...@@ -415,7 +447,7 @@ import { ...@@ -415,7 +447,7 @@ import {
wtssSelProblemRectification, wtssSelProblemRectification,
wtzgxfProblemRectification, wtzgxfProblemRectification,
ossuploadStr, ossuploadStr,
MaterialWarehous MaterialWarehous,
} from "@/api/index"; } from "@/api/index";
import { generateYearOptions, constructionFormText } from "@/utils/cache"; import { generateYearOptions, constructionFormText } from "@/utils/cache";
export default { export default {
...@@ -430,7 +462,7 @@ export default { ...@@ -430,7 +462,7 @@ export default {
batchName: "", batchName: "",
postEvalState: "", postEvalState: "",
projectName: "", projectName: "",
projectCode: "", projectId: "",
dates: [], dates: [],
}, },
ruleFormdialog: { ruleFormdialog: {
...@@ -440,7 +472,7 @@ export default { ...@@ -440,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: [],
...@@ -454,22 +486,22 @@ export default { ...@@ -454,22 +486,22 @@ export default {
mergingPos: 0, mergingPos: 0,
mergingRows: [], mergingRows: [],
tableDataQR: [], tableDataQR: [],
fileList:[], fileList: [],
subdisabled:false, subdisabled: false,
confirmdisabled:false, confirmdisabled: false,
}; };
}, },
filters: { filters: {
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 "产品购置类";
} }
}, },
...@@ -492,10 +524,10 @@ export default { ...@@ -492,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 = "";
} }
}, },
//问题整改 //问题整改
...@@ -516,47 +548,147 @@ export default { ...@@ -516,47 +548,147 @@ export default {
} }
this.dialogQR = true; this.dialogQR = true;
let params = { let params = {
projectCode: this.checkedList[0].projectCode, 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++) {
...@@ -578,7 +710,6 @@ export default { ...@@ -578,7 +710,6 @@ export default {
} }
} }
} }
}, },
closed() { closed() {
console.log("关闭"); console.log("关闭");
...@@ -587,11 +718,11 @@ export default { ...@@ -587,11 +718,11 @@ 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() {
...@@ -609,7 +740,7 @@ export default { ...@@ -609,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;
...@@ -627,7 +758,7 @@ export default { ...@@ -627,7 +758,7 @@ export default {
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);
...@@ -638,16 +769,16 @@ export default { ...@@ -638,16 +769,16 @@ 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", "已归档");
} }
this.$set( this.$set(
...@@ -663,9 +794,9 @@ export default { ...@@ -663,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();
}, },
//提交评估材料 //提交评估材料
...@@ -674,16 +805,11 @@ export default { ...@@ -674,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,
projectCode: this.checkedList[0].projectCode, 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);
...@@ -703,8 +829,6 @@ export default { ...@@ -703,8 +829,6 @@ export default {
} }
return accumulator; return accumulator;
}, []); }, []);
} }
}, },
//详情 //详情
...@@ -713,9 +837,9 @@ export default { ...@@ -713,9 +837,9 @@ 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,
}; };
...@@ -754,23 +878,19 @@ export default { ...@@ -754,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} 条`);
...@@ -805,25 +925,12 @@ export default { ...@@ -805,25 +925,12 @@ export default {
async save(type) { async save(type) {
this.dialog = false; this.dialog = false;
let params = { let params = {
projectCode: this.checkedList[0].projectCode, 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);
this.submitFile(row);
// 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];
...@@ -833,27 +940,26 @@ export default { ...@@ -833,27 +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].projectCode); 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 + ",");
}); });
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);
...@@ -881,30 +987,9 @@ export default { ...@@ -881,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].projectCode);
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);
...@@ -923,6 +1008,13 @@ export default { ...@@ -923,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>
...@@ -1238,7 +1330,6 @@ h3 { ...@@ -1238,7 +1330,6 @@ h3 {
background-color: #fff; background-color: #fff;
color: grey; color: grey;
} }
} }
.setTable { .setTable {
height: 560px; height: 560px;
...@@ -1261,14 +1352,40 @@ h3 { ...@@ -1261,14 +1352,40 @@ 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: 400px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
.tips {
font-weight: 600;
margin-right: 8px;
}
}
.upload-demo {
display: inline-block;
}
.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
...@@ -36,9 +36,9 @@ ...@@ -36,9 +36,9 @@
placeholder="请选择" placeholder="请选择"
clearable clearable
> >
<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>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="合同编码:" prop="contractNumber" class="fromItem"> <el-form-item label="合同编码:" prop="contractNumber" class="fromItem">
...@@ -186,6 +186,17 @@ ...@@ -186,6 +186,17 @@
:fullscreen="dialogFullScreen" :fullscreen="dialogFullScreen"
:class="[dialogFullScreen ? 'fullscreen' : 'no_fullscreen']" :class="[dialogFullScreen ? 'fullscreen' : 'no_fullscreen']"
> >
<template slot="title">
<div class="custom_dialog_header">
<span class="el_dialog_title">项目文档</span>
<div
class="custom_dialog_menu"
@click="dialogFullScreen = !dialogFullScreen"
>
<i class="el-icon-full-screen"></i>
</div>
</div>
</template>
<div class="dialogFrom"> <div class="dialogFrom">
<p class="xqtitle"><span></span>{{ ruleFormdialog.projectName }}</p> <p class="xqtitle"><span></span>{{ ruleFormdialog.projectName }}</p>
<div class="setscrolldialog"> <div class="setscrolldialog">
...@@ -196,17 +207,19 @@ ...@@ -196,17 +207,19 @@
header-cell-class-name="custom-th-background" header-cell-class-name="custom-th-background"
class="eltable" class="eltable"
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
:span-method="arraySpanMethod"
border border
> >
<el-table-column label="序号" width="55" type="index"> <el-table-column
</el-table-column>
<el-table-column
label="材料类别" label="材料类别"
prop="projectStagetext" prop="projectStagetext"
width="100" width="100"
> >
</el-table-column> </el-table-column>
<el-table-column label="资料类型" prop="materialName"> <el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="资料类型" prop="materialName" width="300">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="fullName" prop="fullName"
...@@ -218,7 +231,7 @@ ...@@ -218,7 +231,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-upload <el-upload
class="upload_box" class="upload_box"
ref="upload" :ref="`upload${scope.row.mid}`"
:multiple="true" :multiple="true"
:http-request=" :http-request="
(res) => { (res) => {
...@@ -232,10 +245,11 @@ ...@@ -232,10 +245,11 @@
action="" action=""
:on-success="handleSuccess" :on-success="handleSuccess"
> >
<el-button size="small" type="primary" class="btn-search"
>上传</el-button
>
</el-upload> </el-upload>
<el-button size="small" type="primary" class="btn-search"
@click="uploadFiles(scope.row)">上传</el-button
>
<el-button <el-button
size="small" size="small"
type="primary" type="primary"
...@@ -292,17 +306,6 @@ ...@@ -292,17 +306,6 @@
:visible.sync="innerVisible" :visible.sync="innerVisible"
append-to-body append-to-body
> >
<template slot="title">
<div class="custom_dialog_header">
<span class="el_dialog_title">项目文档</span>
<div
class="custom_dialog_menu"
@click="dialogFullScreen = !dialogFullScreen"
>
<i class="el-icon-full-screen"></i>
</div>
</div>
</template>
<el-table <el-table
:data="tableHistory" :data="tableHistory"
tooltip-effect="dark myTooltips" tooltip-effect="dark myTooltips"
...@@ -315,6 +318,13 @@ ...@@ -315,6 +318,13 @@
</el-table-column> </el-table-column>
<el-table-column prop="fullTime" label="上传日期" width="200"> <el-table-column prop="fullTime" label="上传日期" width="200">
</el-table-column> </el-table-column>
<!-- <el-table-column
prop="materialName"
label="资料类型"
width="300"
show-overflow-tooltip
>
</el-table-column> -->
<el-table-column <el-table-column
prop="fullName" prop="fullName"
label="文件名称" label="文件名称"
...@@ -438,6 +448,8 @@ export default { ...@@ -438,6 +448,8 @@ export default {
iframeUrl: "", iframeUrl: "",
blobType: "", blobType: "",
inspectdisabled: false, inspectdisabled: false,
mergingPos: 0,
mergingRows: [],
}; };
}, },
filters: { filters: {
...@@ -483,6 +495,27 @@ export default { ...@@ -483,6 +495,27 @@ export default {
}) })
.catch(); .catch();
}, },
dataPretreatment() {
for (let i = 0; i < this.tableDataQR.length; i++) {
// tabledata 表格数据源
if (i === 0) {
this.mergingRows.push(1);
this.mergingPos = 0;
} else {
if (
this.tableDataQR[i].projectStage ===
this.tableDataQR[i - 1].projectStage
) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1;
this.mergingRows.push(0);
} else {
this.mergingRows.push(1);
this.mergingPos = i;
}
}
}
},
projectType() { projectType() {
console.log(this.form.projectType, "2222"); console.log(this.form.projectType, "2222");
this.chpmProInitiation(this.form.projectType); this.chpmProInitiation(this.form.projectType);
...@@ -506,6 +539,7 @@ export default { ...@@ -506,6 +539,7 @@ export default {
URL.revokeObjectURL(url); // 释放内存 URL.revokeObjectURL(url); // 释放内存
}, },
async delAll(row) { async delAll(row) {
console.log(row,'6666666666666')
this.$confirm("此操作将删除该文件, 是否继续?", "提示", { this.$confirm("此操作将删除该文件, 是否继续?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
...@@ -539,6 +573,9 @@ export default { ...@@ -539,6 +573,9 @@ export default {
let res = await chpmProInitiation(params); let res = await chpmProInitiation(params);
}, },
async MaterialWarehous(projectType) { async MaterialWarehous(projectType) {
this.mergingPos = 0;
this.mergingRows = [];
this.tableDataQR=[];
console.log("不调接口了"); console.log("不调接口了");
this.dialog = true; this.dialog = true;
let params = { let params = {
...@@ -571,7 +608,7 @@ export default { ...@@ -571,7 +608,7 @@ export default {
break; break;
} }
}); });
// this.dataPretreatment(); this.dataPretreatment();
}, },
resetForm() { resetForm() {
...@@ -684,7 +721,7 @@ export default { ...@@ -684,7 +721,7 @@ export default {
// this.fileList = fileList; // this.fileList = fileList;
}, },
fileupdate(items, list) { fileupdate(items, list) {
console.log(items, list, "list"); console.log(items, "list");
this.fileList.push(list.file); this.fileList.push(list.file);
this.debounce(this.submitFile, 500, items); this.debounce(this.submitFile, 500, items);
}, },
...@@ -708,7 +745,6 @@ export default { ...@@ -708,7 +745,6 @@ export default {
this.uploadLoading = true; this.uploadLoading = true;
let formData = new FormData(); // 用FormData存放上传文件 let formData = new FormData(); // 用FormData存放上传文件
this.fileList.forEach((file) => { this.fileList.forEach((file) => {
console.log(file, "2222222");
formData.append("file", file); // file.raw formData.append("file", file); // file.raw
}); });
formData.append("typeCode", arguments[2].mid); formData.append("typeCode", arguments[2].mid);
...@@ -716,12 +752,10 @@ export default { ...@@ -716,12 +752,10 @@ export default {
formData.append("bathId", this.ruleFormdialog.contractNumber); formData.append("bathId", this.ruleFormdialog.contractNumber);
ossuploadStr(formData) ossuploadStr(formData)
.then((response) => { .then((response) => {
// this.$refs.upload.clearQueue() ;
if (response.code == "200") { if (response.code == "200") {
this.fileList = []; this.fileList = [];
this.MaterialWarehous(this.upprojectType); this.MaterialWarehous(this.upprojectType);
console.log(this.$refs.upload, "this.$refs.upload"); this.$refs['upload'+arguments[2].mid].clearFiles();
this.$refs.upload.clearFiles();
this.$message("上传成功"); this.$message("上传成功");
} else { } else {
this.$message("上传失败"); this.$message("上传失败");
...@@ -734,7 +768,7 @@ export default { ...@@ -734,7 +768,7 @@ export default {
}, },
handleSuccess(response, file, fileList) { handleSuccess(response, file, fileList) {
// 提交保存成功后清空已上传的文件 // 提交保存成功后清空已上传的文件
this.$refs.upload.clearFiles(); // this.$refs.upload.clearFiles();
}, },
async preview(row) { async preview(row) {
this.tabListYL = []; this.tabListYL = [];
...@@ -797,6 +831,32 @@ export default { ...@@ -797,6 +831,32 @@ export default {
this.dialogVisible = true; this.dialogVisible = true;
}, },
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0 || columnIndex === 8) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
},
uploadFiles(row){
if(row.fullId){
this.$confirm("已有文件,本次上传将覆盖历史上传文件,是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then((res) => {
this.$refs['upload'+row.mid].$refs['upload-inner'].handleClick()
})
.catch();
}else{
this.$refs['upload'+row.mid].$refs['upload-inner'].handleClick()
}
}
}, },
}; };
</script> </script>
......
...@@ -225,4 +225,25 @@ export default { ...@@ -225,4 +225,25 @@ export default {
top: 5px; top: 5px;
} }
} }
</style>
<style>
.el-tooltip__popper{
max-width:400px;
line-height: 20px;
}
.el-tooltip__popper{
background-color: gainsboro !important;
color: black;
}
.popper__arrow {
border-top-color: gainsboro !important;
color: black;
}
.popper__arrow:after {
border-top-color: gainsboro !important;
color: black;
}
.el-tooltip__popper.is-dark {
color: black;
}
</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!