Commit 98ff95ba by liangzhen

替换自查页面

1 parent 2e2326a4
...@@ -357,4 +357,7 @@ export default { ...@@ -357,4 +357,7 @@ export default {
} }
} }
} }
// /deep/ .el-icon-close:before{
// font-size:17px !important;
// }
</style> </style>
...@@ -142,6 +142,10 @@ export function constructionFormText(type) { ...@@ -142,6 +142,10 @@ export function constructionFormText(type) {
case "3": case "3":
return '自建' return '自建'
break; break;
case "4":
return '统推'
break;
} }
} }
export function ruleType(msg){ export function ruleType(msg){
......
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
placeholder="请选择" placeholder="请选择"
clearable clearable
> >
<el-option label="材料未上传" value="0"></el-option> <!-- <el-option label="材料未上传" value="0"></el-option> -->
<el-option label="待评估" value="1"></el-option> <el-option label="待评估" value="1"></el-option>
<el-option label="需整改" value="2"></el-option> <el-option label="需整改" value="2"></el-option>
<el-option label="已整改" value="3"></el-option> <el-option label="已整改" value="3"></el-option>
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
<el-table-column prop="batchName" label="后评估批次名称"> <el-table-column prop="batchName" label="后评估批次名称">
</el-table-column> </el-table-column>
<el-table-column prop="expertName" label="评审专家"> </el-table-column> <el-table-column prop="expertName" label="评审专家"> </el-table-column>
<el-table-column prop="projectId" label="项目编码" width="140"> </el-table-column> <el-table-column prop="projectCode" label="项目编码" width="140"> </el-table-column>
<el-table-column <el-table-column
prop="projectName" prop="projectName"
...@@ -134,17 +134,29 @@ ...@@ -134,17 +134,29 @@
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column prop="projectYear" label="项目年度" width="120"> <el-table-column prop="issueYear" label="项目年度" width="120">
<template slot-scope="scope"> <template slot-scope="scope" >
{{ scope.row.projectYear }} <span v-show="scope.row.issueYear"> {{ scope.row.issueYear }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="projectCategory" label="建设形式" width="120"> <el-table-column prop="constructionForm" label="建设形式" width="120">
</el-table-column> </el-table-column>
<el-table-column prop="postEvalStateText" label="项目审核状态" width="120"> <el-table-column prop="postEvalStateText" label="项目审核状态" width="120">
</el-table-column> </el-table-column>
<el-table-column
prop="contractNumber"
label="合同编号"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="contractName"
label="合同名称"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="planReviewDate" label="计划评估日期"> <el-table-column prop="planReviewDate" label="计划评估日期">
</el-table-column> </el-table-column>
<el-table-column prop="lastUpdateTime" label="实际评估日期"> <el-table-column prop="lastUpdateTime" label="实际评估日期">
...@@ -179,13 +191,13 @@ ...@@ -179,13 +191,13 @@
<div> <div>
<p class="title"><span></span>项目基本信息</p> <p class="title"><span></span>项目基本信息</p>
<div class="content"> <div class="content">
<p><label>项目编号:</label>{{ listData.projectId }}</p> <p><label>项目编号:</label>{{ listData.projectCode }}</p>
<p><label>项目年度:</label>{{ listData.projectYear }}年</p> <p><label>项目年度:</label>{{ listData.issueYear }}年</p>
<p> <p>
<label>项目名称:</label> <label>项目名称:</label>
<span>{{ listData.projectName }}</span> <span>{{ listData.projectName }}</span>
</p> </p>
<p><label>建设形式:</label>{{ listData.projectCategory }}</p> <p><label>建设形式:</label>{{ listData.constructionForm }}</p>
<p> <p>
<label>总投资计划(万元)-成本金:</label <label>总投资计划(万元)-成本金:</label
>{{ listData.costAmountTotal }} >{{ listData.costAmountTotal }}
...@@ -346,7 +358,7 @@ import { ...@@ -346,7 +358,7 @@ import {
downloadObject, downloadObject,
downloadObjectAll downloadObjectAll
} from "@/api/index"; } from "@/api/index";
import { generateYearOptions, projectCategoryText } from "@/utils/cache"; import { generateYearOptions, constructionFormText } from "@/utils/cache";
export default { export default {
data() { data() {
return { return {
...@@ -386,7 +398,7 @@ export default { ...@@ -386,7 +398,7 @@ export default {
}, },
mounted() { mounted() {
this.ruleForm.batchName = this.$route.query.batchName; this.ruleForm.batchName = this.$route.query.batchName;
this.ruleForm.projectId = this.$route.query.projCode; this.ruleForm.projectCode = this.$route.query.projCode;
this.submitForm(); this.submitForm();
}, },
...@@ -414,9 +426,9 @@ export default { ...@@ -414,9 +426,9 @@ export default {
this.tableData = res.data.records; this.tableData = res.data.records;
this.tableData.forEach((item) => { this.tableData.forEach((item) => {
if (item.postEvalState == "" || item.postEvalState == null) { if (item.postEvalState == "" || item.postEvalState == null) {
this.$set(item, "postEvalStateText", "材料未上传"); // this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == "0") { } else if (item.postEvalState == "0") {
this.$set(item, "postEvalStateText", "材料未上传"); // this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == 1) { } else if (item.postEvalState == 1) {
this.$set(item, "postEvalStateText", "待评估"); this.$set(item, "postEvalStateText", "待评估");
} else if (item.postEvalState == 2) { } else if (item.postEvalState == 2) {
...@@ -428,8 +440,8 @@ export default { ...@@ -428,8 +440,8 @@ export default {
} }
this.$set( this.$set(
item, item,
"projectCategory", "constructionForm",
projectCategoryText(item.projectCategory) constructionFormText(item.constructionForm)
); );
}); });
this.total = res.data.total * 1; this.total = res.data.total * 1;
...@@ -453,12 +465,12 @@ export default { ...@@ -453,12 +465,12 @@ export default {
this.dialog = true; this.dialog = true;
let params = { let params = {
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId, projectId: this.checkedList[0].projectCode,
}; };
Promise.all([fzcxXqselect(params), clqdselect(params)]).then((res) => { Promise.all([fzcxXqselect(params), clqdselect(params)]).then((res) => {
this.listData = res[0].data.records[0]; this.listData = res[0].data.records[0];
this.listData.projectCategory = projectCategoryText( this.listData.constructionForm = constructionFormText(
this.listData.projectCategory this.listData.constructionForm
); );
this.qdtableData = JSON.parse(JSON.stringify(this.tableDataNew)); this.qdtableData = JSON.parse(JSON.stringify(this.tableDataNew));
if (res[1].data.records.length > 0) { if (res[1].data.records.length > 0) {
...@@ -523,7 +535,7 @@ export default { ...@@ -523,7 +535,7 @@ export default {
if (this.activeName == "second") { if (this.activeName == "second") {
let params = { let params = {
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId, projectId: this.checkedList[0].projectCode,
}; };
this.xxtableData = []; this.xxtableData = [];
let res = await wtqdqselect(params); let res = await wtqdqselect(params);
...@@ -582,7 +594,7 @@ export default { ...@@ -582,7 +594,7 @@ export default {
} else if (this.activeName == "third") { } else if (this.activeName == "third") {
let params = { let params = {
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId, projectId: this.checkedList[0].projectCode,
}; };
let res = await selLcb(params); let res = await selLcb(params);
if (res.code == "200") { if (res.code == "200") {
...@@ -641,7 +653,7 @@ export default { ...@@ -641,7 +653,7 @@ export default {
return; return;
} }
let response = await downloadObjectAll({ let response = await downloadObjectAll({
prjId:this.checkedList[0].projectId, prjId:this.checkedList[0].projectCode,
bathId: this.checkedList[0].batchId, bathId: this.checkedList[0].batchId,
}); });
let blob = new Blob([response], { type: 'application/zip' }) let blob = new Blob([response], { type: 'application/zip' })
......
...@@ -140,6 +140,7 @@ ...@@ -140,6 +140,7 @@
width="90%" width="90%"
:modal-append-to-body="false" :modal-append-to-body="false"
:append-to-body="false" :append-to-body="false"
@close="resetForm()"
> >
<div class="dialog"> <div class="dialog">
<el-form <el-form
...@@ -461,6 +462,30 @@ ...@@ -461,6 +462,30 @@
<el-option label="中级" value="3"></el-option> <el-option label="中级" value="3"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="专业领域:" prop="expertFields" class="fromItem">
<el-select
v-model="ruleFormZJ.expertFields"
placeholder="请选择"
clearable
>
<el-option label="2024年" value="2024"></el-option>
<el-option label="2023年" value="2023"></el-option>
<el-option label="2022年" value="2022"></el-option>
<el-option label="2021年" value="2021"></el-option>
</el-select>
</el-form-item> -->
<!-- <el-form-item label="专家状态:" prop="status" class="fromItem">
<el-select
v-model="ruleFormZJ.status"
placeholder="请选择"
clearable
>
<el-option label="2024年" value="2024"></el-option>
<el-option label="2023年" value="2023"></el-option>
<el-option label="2022年" value="2022"></el-option>
<el-option label="2021年" value="2021"></el-option>
</el-select>
</el-form-item> -->
<el-form-item class="cxItem"> <el-form-item class="cxItem">
<span class="zjquery" @click="xzExperts('dj')"> 查询 </span> <span class="zjquery" @click="xzExperts('dj')"> 查询 </span>
</el-form-item> </el-form-item>
...@@ -562,6 +587,7 @@ ...@@ -562,6 +587,7 @@
width="90%" width="90%"
:modal-append-to-body="false" :modal-append-to-body="false"
:append-to-body="false" :append-to-body="false"
@close="resetForm()"
> >
<div class="dialog"> <div class="dialog">
<el-form <el-form
...@@ -882,7 +908,7 @@ export default { ...@@ -882,7 +908,7 @@ export default {
let params = { let params = {
current: this.currentPage, current: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
module: 0, module:0,
}; };
Object.assign(params, this.ruleForm); Object.assign(params, this.ruleForm);
...@@ -1076,7 +1102,7 @@ export default { ...@@ -1076,7 +1102,7 @@ export default {
expertStr: expertStr, expertStr: expertStr,
creator: sessionStorage.getItem("author"), creator: sessionStorage.getItem("author"),
createTime: getCurrentDate(), createTime: getCurrentDate(),
module: 0, module:0,
}; };
Object.assign(params, this.ruleFormdialogAdd); Object.assign(params, this.ruleFormdialogAdd);
this.xfParams = JSON.parse(JSON.stringify(params)); this.xfParams = JSON.parse(JSON.stringify(params));
......
...@@ -23,8 +23,20 @@ ...@@ -23,8 +23,20 @@
:label="item.typeText" :label="item.typeText"
:name="item.typeCode" :name="item.typeCode"
> >
<div class="opt" v-show="options.length>0">
<el-select v-model="valuesel" clearable placeholder="请选择" @change="(val)=>changexm(val,item.typeCode)">
<el-option
v-for="(item,index) in options"
:key="item.name"
:label="item.name"
:value="index">
</el-option>
</el-select>
</div>
<iframe <iframe
v-if="blobType=='pdf'" v-if="blobType=='pdf'&&options.length>0"
:key="iframeUrl"
:src="iframeUrl" :src="iframeUrl"
frameborder="0" frameborder="0"
style="width: 80%; height: 60vh; margin: auto; display: block" style="width: 80%; height: 60vh; margin: auto; display: block"
...@@ -32,8 +44,8 @@ ...@@ -32,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'"> <div class="docDiv" v-else-if="blobType=='docx'||blobType=='doc'&&options.length>0">
<div ref="word" id="preview" > <div :ref="`word`" :id="`word${item.typeCode}`" >
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -202,11 +214,14 @@ import { ...@@ -202,11 +214,14 @@ import {
bcevalQuesInfo, bcevalQuesInfo,
ossupload, ossupload,
presignedUrl, presignedUrl,
selFileList
} from "@/api/index"; } from "@/api/index";
import { MaterialsListKY } from "@/utils/cache"; import { MaterialsListKY } from "@/utils/cache";
export default { export default {
data() { data() {
return { return {
valuesel:'',
options:[],
dialogImageUrl: "", dialogImageUrl: "",
fileList: [], fileList: [],
evalList: [ evalList: [
...@@ -223,7 +238,7 @@ export default { ...@@ -223,7 +238,7 @@ export default {
{ label: "执行", id: 4 }, { label: "执行", id: 4 },
{ label: "结决算及转资", id: 5 }, { label: "结决算及转资", id: 5 },
], ],
tabListKY: MaterialsListKY(1), tabListKY:[],
active: 0, active: 0,
activeName: "0", activeName: "0",
clqparams: {}, clqparams: {},
...@@ -238,7 +253,8 @@ export default { ...@@ -238,7 +253,8 @@ export default {
disabled: false, disabled: false,
oldQuestionList: [], //对比列表 oldQuestionList: [], //对比列表
blobType:'pdf',//bolb类型 blobType:'pdf',//bolb类型
projectName:'', projectName:"",
valuesel:""
}; };
}, },
mounted() { mounted() {
...@@ -256,14 +272,8 @@ export default { ...@@ -256,14 +272,8 @@ export default {
type: "warning", type: "warning",
}) })
.then(() => { .then(() => {
this.save(); this.save(2);
this.$router.push({
path: "/mainLayout/Compliancefz",
query: {
clqparams: JSON.stringify(this.clqparams),
projectName:this.projectName
},
});
}) })
.catch((action) => { .catch((action) => {
...@@ -338,6 +348,10 @@ export default { ...@@ -338,6 +348,10 @@ export default {
handleExceed() { handleExceed() {
this.$message.warning(`只能选择一张图片`); this.$message.warning(`只能选择一张图片`);
}, },
changexm(row,typeCode){
this.downloadObject(this.options[row],typeCode)
console.log(row,'换文件')
},
async init(type) { async init(type) {
let params = { let params = {
projectStage: this.active * 1 + 1, projectStage: this.active * 1 + 1,
...@@ -345,8 +359,25 @@ export default { ...@@ -345,8 +359,25 @@ export default {
...type, ...type,
}; };
Promise.all([selFile(params), selWtqdFZ(params)]).then(async (res) => { Promise.all([selFile(params), selWtqdFZ(params)]).then(async (res) => {
this.tabListKY=[]
this.urlList = res[0].data; this.urlList = res[0].data;
if(this.urlList.length>0){
this.urlList.forEach(item=>{
this.tabListKY.push({typeText:item.materialName,typeCode:item.mid})
})
this.activeName=this.tabListKY[0].typeCode
let resList= await selFileList({ ...params,typeCode:this.tabListKY[0].typeCode });
this.options= resList.data
if(this.options.length>0){
this.valuesel=this.options[0].name
this. downloadObject(this.options[0],this.tabListKY[0].typeCode)
}else{
this.blobType='png'
this.iframeUrl = "/nopdf.png";
}
}else{
// this.iframeUrl = "/nopdf.png";
}
if (res[1].data) { if (res[1].data) {
this.questionList = res[1].data.records; this.questionList = res[1].data.records;
let counterNum = 0; let counterNum = 0;
...@@ -397,7 +428,7 @@ export default { ...@@ -397,7 +428,7 @@ export default {
if (item.checkDesc&&item.type==0) { if (item.checkDesc&&item.type==0) {
item.checkDesc = item.checkDesc.replace(/\n/g, "<br>"); item.checkDesc = item.checkDesc.replace(/\n/g, "<br>");
} }
return item.type == 0; return item.checkDesc&&item.type==0;
}); });
this.$set(item, "znfxList", [...znfxList]); this.$set(item, "znfxList", [...znfxList]);
let resfxList = responfx.data.records.filter((item) => { let resfxList = responfx.data.records.filter((item) => {
...@@ -421,54 +452,52 @@ export default { ...@@ -421,54 +452,52 @@ export default {
} }
}) })
} }
console.log(this.questionList,'2')
if (this.urlList.length <= 0) {
this.iframeUrl = "/nopdf.png";
} else {
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'){
let docx = require("docx-preview");
window.JSZip = require("jszip");
this.$nextTick(()=>{
docx.renderAsync(resUrl,document.getElementById("preview")) // 渲染到页面预览
})
}
}
}); });
}, },
async handleClick(tab) { async downloadObject(row,code){
console.log("切换", tab.name, this.urlList); this.iframeUrl=""
this.urlList.forEach(async (item) => { this.blobType=''
if (item.typeCode == tab.name) { let resUrl = await downloadObject({fileId:row.id});
let resUrl = await downloadObject({fileId:item.id}); if( this.blobType==''){
this.blobType=item.fileType this.blobType=row.suffix
}
console.log(this.blobType,'文件类型')
const binaryData = [] const binaryData = []
binaryData.push(resUrl) binaryData.push(resUrl)
let URL = window.URL.createObjectURL(new Blob(binaryData, { type:item.contentType})) let URL = window.URL.createObjectURL(new Blob(binaryData, { type:row.contentType}))
this.iframeUrl = URL; if(this.iframeUrl ==''){
if(this.blobType=='docx'){ this.iframeUrl = URL+'#view=FitH,top' }
if(this.blobType=='docx'||this.blobType=='doc'){
let docx = require("docx-preview"); let docx = require("docx-preview");
window.JSZip = require("jszip");
this.$nextTick(()=>{ this.$nextTick(()=>{
docx.renderAsync(resUrl,document.getElementById("preview")) // 渲染到页面预览 docx.renderAsync(resUrl,document.getElementById(`word${code}`)) // 渲染到页面预览
}) })
} }
} else {
// this.iframeUrl ="" },
async handleClick(tab) {
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"; this.iframeUrl = "/nopdf.png";
} }
});
console.log(this.iframeUrl, "this.iframeUrl");
}, },
change(id) { change(id) {
console.log(this.questionList, this.oldQuestionList, "相同么");
console.log( console.log(
JSON.stringify(this.questionList) == JSON.stringify(this.questionList) ==
JSON.stringify(this.oldQuestionList), JSON.stringify(this.oldQuestionList),
...@@ -480,7 +509,7 @@ export default { ...@@ -480,7 +509,7 @@ export default {
JSON.stringify(this.oldQuestionList) JSON.stringify(this.oldQuestionList)
) { ) {
this.active = id * 1; this.active = id * 1;
this.tabListKY = MaterialsListKY(id * 1 + 1); // this.tabListKY = MaterialsListKY(id * 1 + 1);
this.init(this.clqparams); this.init(this.clqparams);
return; return;
} }
...@@ -493,14 +522,14 @@ export default { ...@@ -493,14 +522,14 @@ export default {
.then(() => { .then(() => {
this.save(); this.save();
this.active = id * 1; this.active = id * 1;
this.tabListKY = MaterialsListKY(id * 1 + 1); // this.tabListKY = MaterialsListKY(id * 1 + 1);
this.init(this.clqparams); this.init(this.clqparams);
}) })
.catch((action) => { .catch((action) => {
console.log(action, "actionaction"); console.log(action, "actionaction");
if (action === "cancel") { if (action === "cancel") {
this.active = id * 1; this.active = id * 1;
this.tabListKY = MaterialsListKY(id * 1 + 1); // this.tabListKY = MaterialsListKY(id * 1 + 1);
this.init(this.clqparams); this.init(this.clqparams);
} else { } else {
} }
...@@ -559,13 +588,11 @@ export default { ...@@ -559,13 +588,11 @@ export default {
} }
}, },
cancel() { cancel() {
console.log("电击取消");
// this.$router.go(-1);
this.$router.push({ this.$router.push({
path: "/mainLayout/auxiliaryInspection", path: "/mainLayout/auxiliaryInspection",
}); });
}, },
async save() { async save(type) {
this.questionList.forEach((item) => { this.questionList.forEach((item) => {
let evals = ""; let evals = "";
item.evalList.forEach((childItem) => { item.evalList.forEach((childItem) => {
...@@ -587,6 +614,16 @@ export default { ...@@ -587,6 +614,16 @@ export default {
let res = await bcevalQuesInfo(params); let res = await bcevalQuesInfo(params);
if (res.code == "200") { if (res.code == "200") {
this.$message("保存成功"); this.$message("保存成功");
if(type&&type==2){
this.$router.push({
path: "/mainLayout/Compliancefz",
query: {
clqparams: JSON.stringify(this.clqparams),
projectName:this.projectName
},
});
}
} else { } else {
this.$message("保存失败"); this.$message("保存失败");
} }
...@@ -794,7 +831,7 @@ export default { ...@@ -794,7 +831,7 @@ export default {
justify-content: space-between; justify-content: space-between;
} }
.Btn { .Btn {
width: calc(100% - 270px); width: calc(100% - 276px) !important;
position: fixed; position: fixed;
height: 80px; height: 80px;
bottom: -15px; bottom: -15px;
...@@ -802,6 +839,7 @@ export default { ...@@ -802,6 +839,7 @@ export default {
z-index: 100; z-index: 100;
background-color: #f5f5f6; background-color: #f5f5f6;
line-height: 80px; line-height: 80px;
box-sizing: border-box;
span { span {
display: inline-block; display: inline-block;
width: 89px; width: 89px;
...@@ -848,12 +886,22 @@ export default { ...@@ -848,12 +886,22 @@ export default {
.blobImg{ .blobImg{
width: 100%; width: 100%;
img{ img{
width: 100%; text-align: center;
width:80%;
} }
} }
.docDiv{ .docDiv{
width: 100%; width: 100%;
height:600px; height:600px;
overflow-y: auto; overflow: auto;
}
.opt{
height: 40px;
width: 100%;
text-align: left;
padding-left: 10px;
/deep/ .el-input__inner{
width:600px;
}
} }
</style> </style>
\ No newline at end of file
...@@ -75,7 +75,7 @@ export default { ...@@ -75,7 +75,7 @@ export default {
mergingPos: 0, mergingPos: 0,
clqparams: {}, clqparams: {},
ishow: true, ishow: true,
projectName:'' projectName:""
}; };
}, },
...@@ -236,7 +236,7 @@ export default { ...@@ -236,7 +236,7 @@ export default {
box-sizing: border-box; box-sizing: border-box;
overflow-x: hidden; overflow-x: hidden;
.Btn { .Btn {
width: calc(100% - 246px); width: calc(100% - 270px);
position: fixed; position: fixed;
height: 80px; height: 80px;
bottom: -15px; bottom: -15px;
......
<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,20 +141,22 @@ ...@@ -141,20 +141,22 @@
> >
</el-table-column> </el-table-column>
<el-table-column prop="issueYear" label="项目年度" width="120"> <el-table-column prop="issueYear" label="项目年度" width="120">
<template slot-scope="scope" > <template slot-scope="scope">
<span v-show="scope.row.issueYear"> {{ scope.row.issueYear }}</span> <span v-show="scope.row.issueYear">
{{ scope.row.issueYear }}</span
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="projectType" label="项目类型" width="120"> <el-table-column prop="projectType" label="项目类型" width="120">
<template slot-scope="scope" > <template slot-scope="scope">
<span v-show="scope.row.projectType"> {{ scope.row.projectType|proType }}</span> <span v-show="scope.row.projectType">
{{ scope.row.projectType | proType }}</span
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="constructionForm" label="建设形式" width="120"> <el-table-column prop="constructionForm" label="建设形式" width="120">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="postEvalStateText" prop="postEvalStateText"
label="项目审核状态 " label="项目审核状态 "
...@@ -313,7 +315,11 @@ ...@@ -313,7 +315,11 @@
</el-select> </el-select>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column label="整改材料" width="auto" show-overflow-tooltip> <el-table-column
label="整改材料"
width="600"
show-overflow-tooltip
>
<template slot-scope="scope" v-if="scope.row.filed"> <template slot-scope="scope" v-if="scope.row.filed">
<div v-for="(item, index) in scope.row.filed" :key="index"> <div v-for="(item, index) in scope.row.filed" :key="index">
<el-tooltip <el-tooltip
...@@ -322,17 +328,23 @@ ...@@ -322,17 +328,23 @@
:content="`${item.names}:${item.values}`" :content="`${item.names}:${item.values}`"
placement="top-start" placement="top-start"
> >
<p class="filedp" <div class="filedp">
:key="index"> <p>
<span class="tips">{{ item.names }}:</span
><span>{{ item.values }}</span>
</p>
<el-button <el-button
size="small" size="small"
type="primary" type="primary"
class="btn-search" class="btn-search btnTop"
@click="downloadObjectStr(item)" @click="downloadObjectStr(item)"
v-if="scope.row.prob.indexOf(scope.row.projectStage)!=-1" v-if="
scope.row.prob.indexOf(scope.row.projectStage) !=
-1
"
>下载</el-button >下载</el-button
> <span class="tips">{{ item.names }}:</span><span>{{ item.values }}</span> >
</p> </div>
</el-tooltip> </el-tooltip>
</div> </div>
</template> </template>
...@@ -406,7 +418,7 @@ import { generateYearOptions, constructionFormText } from "@/utils/cache"; ...@@ -406,7 +418,7 @@ import { generateYearOptions, constructionFormText } from "@/utils/cache";
export default { export default {
data() { data() {
return { return {
dialogFullScreen:false, dialogFullScreen: false,
yearsList: generateYearOptions(), yearsList: generateYearOptions(),
showButton: true, showButton: true,
ruleForm: { ruleForm: {
...@@ -463,11 +475,11 @@ export default { ...@@ -463,11 +475,11 @@ export default {
return "咨询设计类"; return "咨询设计类";
} else if (val == 2) { } else if (val == 2) {
return "开发实施类"; return "开发实施类";
}else if (val == 3){ } else if (val == 3) {
return "业务运营类"; return "业务运营类";
}else if (val == 4){ } else if (val == 4) {
return "数据工程类"; return "数据工程类";
}else if (val == 5){ } else if (val == 5) {
return "产品购置类"; return "产品购置类";
} }
}, },
...@@ -512,13 +524,13 @@ export default { ...@@ -512,13 +524,13 @@ export default {
}; };
let resMat = await MaterialWarehous(paramsMat); let resMat = await MaterialWarehous(paramsMat);
this.tableDataQR = res.data.records; this.tableDataQR = res.data.records;
let arrs=[] let arrs = [];
this.tableDataQR.forEach((item) => { this.tableDataQR.forEach((item) => {
if (!item.confirmStatus) { if (!item.confirmStatus) {
this.$set(item, "confirmStatus", "2"); this.$set(item, "confirmStatus", "2");
} }
if (item.evalQues) { if (item.evalQues) {
arrs.push(item.projectStage) arrs.push(item.projectStage);
} }
switch (item.projectStage) { switch (item.projectStage) {
case "1": case "1":
...@@ -579,9 +591,9 @@ export default { ...@@ -579,9 +591,9 @@ export default {
this.$set(item, "tagId", arrID); this.$set(item, "tagId", arrID);
} }
}); });
this.tableDataQR.forEach(val=>{ this.tableDataQR.forEach((val) => {
this.$set(val,'prob',Array.from(new Set(arrs) )) this.$set(val, "prob", Array.from(new Set(arrs)));
}) });
this.dataPretreatment(); this.dataPretreatment();
} }
}, },
...@@ -596,9 +608,8 @@ export default { ...@@ -596,9 +608,8 @@ export default {
names: item.materialName, names: item.materialName,
values: item.fullName, values: item.fullName,
mid: item.mid, mid: item.mid,
fullId:item.fullId, fullId: item.fullId,
fullUrl:item.fullUrl fullUrl: item.fullUrl,
}); });
// msg=msg.concat(item.materialName+':'+item.fullName+"<br>"); // msg=msg.concat(item.materialName+':'+item.fullName+"<br>");
} }
...@@ -631,7 +642,7 @@ export default { ...@@ -631,7 +642,7 @@ export default {
this.handleSelectionChange(); this.handleSelectionChange();
}, },
arraySpanMethod({ row, column, rowIndex, columnIndex }) { arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0|| columnIndex === 8) { if (columnIndex === 0 || columnIndex === 8) {
//第一列 //第一列
const _row = this.mergingRows[rowIndex]; const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0; const _col = _row > 0 ? 1 : 0;
...@@ -660,12 +671,15 @@ export default { ...@@ -660,12 +671,15 @@ export default {
} }
}, },
async savetj() { async savetj() {
this.$confirm("若所有整改复核状态均为整改完成即为完成归档, 是否继续?", "提示", { this.$confirm(
"若所有整改复核状态均为整改完成即为完成归档, 是否继续?",
"提示",
{
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning",
}) }
.then(async () => { ).then(async () => {
let res = await tjrectificationVerification(this.tableDataQR); let res = await tjrectificationVerification(this.tableDataQR);
if (res.code == "200") { if (res.code == "200") {
this.dialogQR = false; this.dialogQR = false;
...@@ -674,13 +688,13 @@ export default { ...@@ -674,13 +688,13 @@ export default {
} else { } else {
this.$message("提交失败"); this.$message("提交失败");
} }
}) });
}, },
async submitForm() { async submitForm() {
let params = { let params = {
current: this.currentPage, current: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
module:1 module: 1,
}; };
Object.assign(params, this.ruleForm); Object.assign(params, this.ruleForm);
console.log(params); console.log(params);
...@@ -736,13 +750,13 @@ export default { ...@@ -736,13 +750,13 @@ export default {
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectCode, projectId: this.checkedList[0].projectCode,
contractNumber: this.checkedList[0].contractNumber, contractNumber: this.checkedList[0].contractNumber,
proType:this.checkedList[0].projectType proType: this.checkedList[0].projectType,
}; };
this.$router.push({ this.$router.push({
path: "/assesszc/Compliance", path: "/assesszc/Compliance",
query: { query: {
clqparams: JSON.stringify(params), clqparams: JSON.stringify(params),
projectName:this.checkedList[0].projectName projectName: this.checkedList[0].projectName,
}, },
}); });
}, },
...@@ -820,7 +834,6 @@ export default { ...@@ -820,7 +834,6 @@ export default {
return ""; return "";
}, },
async handleClickXZ(fileId, fileName) { async handleClickXZ(fileId, fileName) {
let response = await downloadObject({ let response = await downloadObject({
fileId: fileId * 1, fileId: fileId * 1,
}); });
...@@ -855,15 +868,12 @@ export default { ...@@ -855,15 +868,12 @@ export default {
} }
} }
this.ruleFormdialog = this.checkedList[0]; this.ruleFormdialog = this.checkedList[0];
}, },
handleSizeChange(val) { handleSizeChange(val) {
this.pageSize = val; this.pageSize = val;
this.submitForm(); this.submitForm();
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
this.currentPage = val; this.currentPage = val;
this.submitForm(); this.submitForm();
}, },
...@@ -875,7 +885,6 @@ export default { ...@@ -875,7 +885,6 @@ export default {
this.dialogQR = false; this.dialogQR = false;
}, },
closeDialog() { closeDialog() {
this.showButton = true; this.showButton = true;
}, },
}, },
...@@ -891,7 +900,7 @@ export default { ...@@ -891,7 +900,7 @@ export default {
} }
.el-form { .el-form {
display: flex; display: flex;
width:99%; width: 99%;
flex-wrap: wrap; flex-wrap: wrap;
border-top: 2px solid #23c6c8; border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7; border-left: 1px solid #dee5e7;
...@@ -1172,4 +1181,35 @@ h3 { ...@@ -1172,4 +1181,35 @@ h3 {
.noclick { .noclick {
opacity: 0.5; opacity: 0.5;
} }
.filedp {
text-align: left;
width: 600px;
p {
display: inline-block;
width: 88%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
height: 30px;
margin-top: 5px;
}
.tips {
font-weight: 600;
}
span {
// margin-right: 8px;
display: inline-block;
width: 50%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
.btn-search{
vertical-align: top;
}
::v-deep.el-table::before {
display: none !important;
}
</style> </style>
\ No newline at end of file
...@@ -370,7 +370,7 @@ ...@@ -370,7 +370,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="材料整改" prop="filed" width="400"> <el-table-column label="材料整改" prop="filed" width="600">
<template slot-scope="scope" v-if="scope.row.filed"> <template slot-scope="scope" v-if="scope.row.filed">
<div v-for="(item, index) in scope.row.filed" :key="index"> <div v-for="(item, index) in scope.row.filed" :key="index">
<el-tooltip <el-tooltip
...@@ -379,10 +379,12 @@ ...@@ -379,10 +379,12 @@
:content="`${item.names}:${item.values}`" :content="`${item.names}:${item.values}`"
placement="top-start" placement="top-start"
> >
<p <div
class="filedp" class="filedp"
> >
<el-upload
<p> <span class="tips">{{ item.names }}:</span
><span>{{ item.values }}</span></p> <el-upload
v-if="scope.row.prob.indexOf(scope.row.projectStage)!=-1" v-if="scope.row.prob.indexOf(scope.row.projectStage)!=-1"
class="upload_box" class="upload_box"
ref="upload" ref="upload"
...@@ -405,9 +407,7 @@ ...@@ -405,9 +407,7 @@
>上传</el-button >上传</el-button
> >
</el-upload> </el-upload>
<span class="tips">{{ item.names }}:</span </div>
><span>{{ item.values }}</span>
</p>
</el-tooltip> </el-tooltip>
</div> </div>
</template> </template>
...@@ -1364,17 +1364,37 @@ h3 { ...@@ -1364,17 +1364,37 @@ h3 {
} }
.filedp { .filedp {
text-align: left; text-align: left;
width: 400px; width:600px;
p{
display: inline-block;
width: 88%;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
.tips { height: 30px;
margin-top: 5px;
}
.tips{
font-weight: 600; font-weight: 600;
margin-right: 8px;
} }
span {
// margin-right: 8px;
display: inline-block;
width: 50%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
} }
.upload-demo { .upload-demo {
display: inline-block; display: inline-block;
vertical-align: top;
}
.upload_box{
vertical-align: top;
} }
.rightBtn { .rightBtn {
......
...@@ -115,7 +115,7 @@ ...@@ -115,7 +115,7 @@
> >
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="constructionForm" label="建设形式" width="90"> <el-table-column prop="constructionFormText" label="建设形式" width="90">
</el-table-column> </el-table-column>
<el-table-column prop="startupStatus" label="启动日期" width="90"> <el-table-column prop="startupStatus" label="启动日期" width="90">
</el-table-column> </el-table-column>
...@@ -183,7 +183,8 @@ ...@@ -183,7 +183,8 @@
> --> > -->
<el-dialog <el-dialog
:visible.sync="dialog" :visible.sync="dialog"
:fullscreen="dialogFullScreen" :modal-append-to-body="false"
:append-to-body="false"
:class="[dialogFullScreen ? 'fullscreen' : 'no_fullscreen']" :class="[dialogFullScreen ? 'fullscreen' : 'no_fullscreen']"
> >
<template slot="title"> <template slot="title">
...@@ -227,7 +228,7 @@ ...@@ -227,7 +228,7 @@
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column prop="constructionForm" label="操作" width="350"> <el-table-column prop="caozuo" label="操作" width="350">
<template slot-scope="scope"> <template slot-scope="scope">
<el-upload <el-upload
class="upload_box" class="upload_box"
...@@ -277,7 +278,7 @@ ...@@ -277,7 +278,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="constructionForm" prop="lishi"
label="历史版本" label="历史版本"
width="100" width="100"
> >
...@@ -293,18 +294,17 @@ ...@@ -293,18 +294,17 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<p class="Btn"> <!-- <p class="Btn">
<span @click="cancel()">取消</span> <span @click="cancel()">取消</span>
<!-- <span @click="preserve()">保存</span> </p> -->
<span @click="save()">确认上传</span> -->
</p>
</div> </div>
<el-dialog <el-dialog
class="innerVisible" class="innerVisible"
width="60%" width="60%"
title="历史版本" title="历史版本"
:visible.sync="innerVisible" :modal-append-to-body="false"
append-to-body append-to-body
:visible.sync="innerVisible"
> >
<el-table <el-table
:data="tableHistory" :data="tableHistory"
...@@ -636,7 +636,7 @@ export default { ...@@ -636,7 +636,7 @@ export default {
this.tableData.forEach((item) => { this.tableData.forEach((item) => {
this.$set( this.$set(
item, item,
"constructionForm", "constructionFormText",
constructionFormText(item.constructionForm) constructionFormText(item.constructionForm)
); );
}); });
...@@ -1140,11 +1140,16 @@ export default { ...@@ -1140,11 +1140,16 @@ export default {
.fullscreen { .fullscreen {
/deep/ .el-dialog { /deep/ .el-dialog {
width: 100%; width: 100%;
// height: 100%;
margin-top: 0px !important;
margin-left: 0px !important;
} }
} }
.no_fullscreen { .no_fullscreen {
/deep/ .el-dialog { /deep/ .el-dialog {
width: 90%; width: 70%;
margin-top: 3vh !important;
margin-left: 3vw !important;
} }
} }
/deep/ .custom_dialog_header { /deep/ .custom_dialog_header {
...@@ -1160,5 +1165,17 @@ export default { ...@@ -1160,5 +1165,17 @@ export default {
} }
/deep/ .el-icon-full-screen { /deep/ .el-icon-full-screen {
cursor: pointer; cursor: pointer;
color: #fff !important;
margin-right: 10px;
}
.el_dialog_title{
color: #f0ffff;
font-size: 18px;
}
/deep/ .custom_dialog_menu{
padding: 2px 20px 0 30px;
}
/deep/ .el-icon-close:before{
font-size:20px !important;
} }
</style> </style>
\ No newline at end of file
...@@ -10,8 +10,8 @@ ...@@ -10,8 +10,8 @@
:default-active="activeIndex" :default-active="activeIndex"
ref="kzMenu" ref="kzMenu"
> >
<el-menu-item index="/mainLayout/mianHome" class="classmain">首页</el-menu-item> <el-menu-item index="/mainLayout/mianHome" class="classmain"><span class=""></span>首页</el-menu-item>
<el-menu-item index="/assesszc/projectView" class="classmain">项目档案库</el-menu-item> <el-menu-item index="/assesszc/projectView" class="classmain"><span></span>项目档案库</el-menu-item>
<el-submenu <el-submenu
v-for="(item, index) in menuList" v-for="(item, index) in menuList"
:key="index" :key="index"
...@@ -171,7 +171,7 @@ export default { ...@@ -171,7 +171,7 @@ export default {
"获取父元素的local数据", "获取父元素的local数据",
JSON.parse(localStorage.getItem("user")) JSON.parse(localStorage.getItem("user"))
); );
this.handleOpen(0, ["0"]); // this.handleOpen(0, ["0"]);
if ( if (
this.$route.path == "/mainLayout/Compliancefz" || this.$route.path == "/mainLayout/Compliancefz" ||
this.$route.path == "/mainLayout/Compliance" this.$route.path == "/mainLayout/Compliance"
...@@ -371,5 +371,16 @@ export default { ...@@ -371,5 +371,16 @@ export default {
font-size: 16px; font-size: 16px;
font-weight: bold; font-weight: bold;
color: #fff; color: #fff;
text-align: left;
span{
display: inline-block;
width: 5px;
height: 5px;
border-radius: 5px;
background: #fff;
margin-right: 25px;
margin-left: 4px;
vertical-align: middle;
}
} }
</style> </style>
\ No newline at end of file
...@@ -246,4 +246,8 @@ export default { ...@@ -246,4 +246,8 @@ export default {
.el-tooltip__popper.is-dark { .el-tooltip__popper.is-dark {
color: black; color: black;
} }
.el-icon-close:before{
color: #fff;
font-size:17px;
}
</style> </style>
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!