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,21 +313,28 @@ ...@@ -313,21 +313,28 @@
</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 }} <p class="filedp"
</el-tag> :key="index">
<!-- {{ scope.row.zgName}}
<el-button <el-button
@click="handleClickXZ(scope.row.zgFileId, scope.row.zgName)" size="small"
type="primary"
class="btn-search"
@click="downloadObjectStr(item)"
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>
</el-tooltip>
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="情况说明" prop="zgqkFileId" width="400"> <el-table-column label="情况说明" prop="zgqkFileId" width="400">
...@@ -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});
if( this.blobType==''){
this.blobType=row.suffix 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:row.contentType})) let URL = window.URL.createObjectURL(new Blob(binaryData, { type:row.contentType}))
this.iframeUrl = URL+'#view=FitH,top' if(this.iframeUrl ==''){
console.log(this.blobType,'文件类型') this.iframeUrl = URL+'#view=FitH,top' }
if(this.blobType=='docx'){ 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,6 +614,7 @@ export default { ...@@ -609,6 +614,7 @@ 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({ this.$router.push({
path: "/assesszc/Compliancefz", path: "/assesszc/Compliancefz",
query: { query: {
...@@ -616,6 +622,8 @@ export default { ...@@ -616,6 +622,8 @@ export default {
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-input <el-select
v-model="ruleForm.projectLeader" v-model="ruleFormZJ.constructionForm"
placeholder="请输入" placeholder="请选择"
clearable clearable
></el-input> >
<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>
<!-- <el-form-item label="部门:" prop="department" class="fromItem"> <el-form-item label="合同编码:" prop="contractNumber" class="fromItem">
<el-input <el-input
v-model="ruleForm.department" v-model="ruleFormZJ.contractNumber"
placeholder="请输入" placeholder="请输入"
clearable clearable
></el-input> ></el-input>
</el-form-item> --> </el-form-item>
<!-- <el-form-item label="项目内容:" prop="projectInfo" class="fromItem"> <el-form-item label="合同名称:" prop="contractName" class="fromItem">
<el-input <el-input
v-model="ruleFormZJ.projectInfo" v-model="ruleFormZJ.contractName"
placeholder="请输入" placeholder="请输入"
clearable clearable
></el-input> ></el-input>
</el-form-item> --> </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)
); );
}); });
......
...@@ -37,8 +37,8 @@ ...@@ -37,8 +37,8 @@
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-upload>
<el-button size="small" type="primary" class="btn-search" <el-button size="small" type="primary" class="btn-search"
>上传</el-button @click="uploadFiles(scope.row)">上传</el-button
> >
</el-upload>
<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>
......
...@@ -226,3 +226,24 @@ export default { ...@@ -226,3 +226,24 @@ export default {
} }
} }
</style> </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>
\ 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!