Commit c27578ff by 史敦盼

禁用修改

1 parent 0012e989
<!-- 评估材料获取 --> <!-- 评估材料获取 -->
<template> <template>
<div class="main"> <div class="main">
<el-form <el-form :model="ruleForm" ref="formName" label-width="100px" class="demo-ruleForm">
:model="ruleForm"
ref="formName"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem"> <el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable> <el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option <el-option
...@@ -18,11 +13,7 @@ ...@@ -18,11 +13,7 @@
</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-input <el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input>
v-model="ruleForm.batchName"
placeholder="请输入"
clearable
></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="后评估批次状态:" prop="batchState" class="fromItem"> <!-- <el-form-item label="后评估批次状态:" prop="batchState" class="fromItem">
<el-select v-model="ruleForm.batchState" placeholder="请选择" clearable> <el-select v-model="ruleForm.batchState" placeholder="请选择" clearable>
...@@ -32,30 +23,13 @@ ...@@ -32,30 +23,13 @@
</el-form-item> --> </el-form-item> -->
<el-form-item label="项目编码:" prop="projectId" class="fromItem"> <el-form-item label="项目编码:" prop="projectId" class="fromItem">
<el-input <el-input v-model="ruleForm.projectId" placeholder="请输入" clearable></el-input>
v-model="ruleForm.projectId"
placeholder="请输入"
clearable
></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="项目名称:" prop="projectName" class="fromItem" show-overflow-tooltip>
label="项目名称:" <el-input v-model="ruleForm.projectName" placeholder="请输入" clearable></el-input>
prop="projectName"
class="fromItem"
show-overflow-tooltip
>
<el-input
v-model="ruleForm.projectName"
placeholder="请输入"
clearable
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目年度:" prop="projectYear" class="fromItem"> <el-form-item label="项目年度:" prop="projectYear" class="fromItem">
<el-select <el-select v-model="ruleForm.projectYear" placeholder="请选择" clearable>
v-model="ruleForm.projectYear"
placeholder="请选择"
clearable
>
<el-option <el-option
v-for="(item, index) in yearsList" v-for="(item, index) in yearsList"
:key="index" :key="index"
...@@ -65,11 +39,7 @@ ...@@ -65,11 +39,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="项目审核状态:" prop="postEvalState" class="fromItem"> <el-form-item label="项目审核状态:" prop="postEvalState" class="fromItem">
<el-select <el-select v-model="ruleForm.postEvalState" placeholder="请选择" clearable>
v-model="ruleForm.postEvalState"
placeholder="请选择"
clearable
>
<!-- <el-option label="材料未上传" value="0"></el-option> --> <!-- <el-option label="材料未上传" value="0"></el-option> -->
<el-option label="待评估" value="1"></el-option> <el-option label="待评估" value="1"></el-option>
<el-option label="需整改" value="2"></el-option> <el-option label="需整改" value="2"></el-option>
...@@ -102,16 +72,17 @@ ...@@ -102,16 +72,17 @@
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button <img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
> >
<el-button <el-button
@click="confirm()" @click="confirm()"
:disabled="confirmdisabled" :disabled="confirmdisabled"
:class="confirmdisabled ? 'noclick' : ''" :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
> >
<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-form-item> </el-form-item>
...@@ -128,73 +99,46 @@ ...@@ -128,73 +99,46 @@
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
border border
> >
<el-table-column label="序号" width="55" type="index"> <el-table-column label="序号" width="55" type="index"> </el-table-column>
</el-table-column>
<el-table-column type="selection"> </el-table-column> <el-table-column type="selection"> </el-table-column>
<el-table-column label="批次年度" prop="batchYear" width="120"> <el-table-column label="批次年度" prop="batchYear" width="120">
<template slot-scope="scope"> {{ scope.row.batchYear }}</template> <template slot-scope="scope"> {{ scope.row.batchYear }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="batchName" label="后评估批次名称"> <el-table-column prop="batchName" label="后评估批次名称"> </el-table-column>
</el-table-column>
<el-table-column prop="expertName" label="评审专家"> </el-table-column> <el-table-column prop="expertName" label="评审专家"> </el-table-column>
<el-table-column prop="projectCode" label="项目编码"> </el-table-column> <el-table-column prop="projectCode" label="项目编码"> </el-table-column>
<el-table-column <el-table-column prop="projectName" label="项目名称" show-overflow-tooltip>
prop="projectName"
label="项目名称"
show-overflow-tooltip
>
</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"> <span v-show="scope.row.issueYear"> {{ scope.row.issueYear }}</span>
{{ 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"> <span v-show="scope.row.projectType"> {{ scope.row.projectType | proType }}</span>
{{ 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"
>
<template v-slot="scope"> <template v-slot="scope">
<router-link <router-link
v-if=" scope.row.postEvalStateText=='已退回'" v-if="scope.row.postEvalStateText == '已退回'"
:to="{ :to="{
path: '/assesszc/projectView', path: '/assesszc/projectView',
query: { projectId: scope.row.projectCode }, query: { projectId: scope.row.projectCode },
}" }"
> >
<el-button type="text" size="small">{{ <el-button type="text" size="small">{{ scope.row.postEvalStateText }}</el-button>
scope.row.postEvalStateText
}}</el-button>
</router-link> </router-link>
<span v-else>{{ scope.row.postEvalStateText }}</span> <span v-else>{{ scope.row.postEvalStateText }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="contractNumber" label="合同编号" show-overflow-tooltip>
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>
<el-table-column prop="planReviewDate" label="计划评估日期"> <el-table-column prop="contractName" label="合同名称" width="auto" show-overflow-tooltip>
</el-table-column> </el-table-column>
<el-table-column prop="planReviewDate" label="计划评估日期"> </el-table-column>
</el-table> </el-table>
</div> </div>
<el-pagination <el-pagination
...@@ -230,25 +174,14 @@ ...@@ -230,25 +174,14 @@
<el-form-item label="后评估名称:" prop="batchName" class="fromItem"> <el-form-item label="后评估名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleFormdialog.batchName" disabled></el-input> <el-input v-model="ruleFormdialog.batchName" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
label="计划评估日期:" <el-input v-model="ruleFormdialog.planReviewDate" disabled></el-input>
prop="planReviewDate"
class="fromItem"
>
<el-input
v-model="ruleFormdialog.planReviewDate"
disabled
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="后评估专家:" prop="expertName" class="fromItem"> <el-form-item label="后评估专家:" prop="expertName" class="fromItem">
<el-input v-model="ruleFormdialog.expertName" disabled></el-input> <el-input v-model="ruleFormdialog.expertName" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="工作组织情况:" class="textarea"> <el-form-item label="工作组织情况:" class="textarea">
<el-input <el-input type="textarea" v-model="ruleFormdialog.desc" disabled></el-input>
type="textarea"
v-model="ruleFormdialog.desc"
disabled
></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -264,18 +197,11 @@ ...@@ -264,18 +197,11 @@
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
border border
> >
<el-table-column label="序号" width="55" type="index"> <el-table-column label="序号" width="55" type="index"> </el-table-column>
</el-table-column>
<el-table-column label="材料类别" prop="projectStagetext"> <el-table-column label="材料类别" prop="projectStagetext"> </el-table-column>
</el-table-column> <el-table-column label="资料类型" prop="materialName"> </el-table-column>
<el-table-column label="资料类型" prop="materialName"> <el-table-column prop="fullName" label="资料名称" show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="fullName"
label="资料名称"
show-overflow-tooltip
>
</el-table-column> </el-table-column>
<!-- <el-table-column prop="fullName" label="资料名称"> <!-- <el-table-column prop="fullName" label="资料名称">
<template slot-scope="scope" v-if="scope.row.fullName"> <template slot-scope="scope" v-if="scope.row.fullName">
...@@ -317,32 +243,19 @@ ...@@ -317,32 +243,19 @@
ref="myTable" ref="myTable"
border border
> >
<el-table-column <el-table-column label="项目环节" prop="projectStagetext" width="110">
label="项目环节"
prop="projectStagetext"
width="110"
>
</el-table-column>
<el-table-column label="序号" width="50" type="index">
</el-table-column> </el-table-column>
<el-table-column label="序号" width="50" type="index"> </el-table-column>
<el-table-column <el-table-column label="问题检查项" prop="quesCheckItem" width="200">
label="问题检查项"
prop="quesCheckItem"
width="200"
>
</el-table-column> </el-table-column>
<el-table-column label="评估问题" prop="evalQues" show-overflow-tooltip>
<el-table-column
label="评估问题"
prop="evalQues"
show-overflow-tooltip
>
</el-table-column> </el-table-column>
<el-table-column label="问题响应" width="100"> <el-table-column label="问题响应" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch <el-switch
:disabled="scope.row.rectificationStatus == 2"
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"
...@@ -362,13 +275,22 @@ ...@@ -362,13 +275,22 @@
</el-switch> </el-switch>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="上传档案材料" prop="dacl" width="120">
label="上传档案材料"
prop="dacl"
width="120"
>
<template slot-scope="scope"> <template slot-scope="scope">
<router-link :to="{path:'/assesszc/projectView',query:{projectId:scope.row.projectId}}"> <el-button
disabled
v-if="scope.row.rectificationStatus == 2"
type="text"
size="small"
>上传材料</el-button
>
<router-link
v-else
:to="{
path: '/assesszc/projectView',
query: { projectId: scope.row.projectId },
}"
>
<el-button type="text" size="small">上传材料</el-button> <el-button type="text" size="small">上传材料</el-button>
</router-link> </router-link>
</template> </template>
...@@ -378,6 +300,7 @@ ...@@ -378,6 +300,7 @@
<el-input <el-input
v-model="scope.row.feedback" v-model="scope.row.feedback"
v-if="scope.row.confirmStatus == '1'" v-if="scope.row.confirmStatus == '1'"
:disabled="scope.row.rectificationStatus == 2"
type="textarea" type="textarea"
:rows="3" :rows="3"
></el-input> ></el-input>
...@@ -389,31 +312,19 @@ ...@@ -389,31 +312,19 @@
v-if="scope.row.evalQues && scope.row.confirmStatus == '1'" v-if="scope.row.evalQues && scope.row.confirmStatus == '1'"
> >
<input <input
:disabled="scope.row.rectificationStatus == 2"
type="file" type="file"
@change="handleFileUploadZG($event, scope.row, 'fileId')" @change="handleFileUploadZG($event, scope.row, 'fileId')"
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="检查说明" prop="checkDesc" show-overflow-tooltip>
label="检查说明"
prop="checkDesc"
show-overflow-tooltip
>
</el-table-column> </el-table-column>
<el-table-column label="复核情况说明" prop="zgqkFileId" width="auto" > <el-table-column label="复核情况说明" prop="zgqkFileId" width="auto">
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="整改复核状态" prop="checkDesc">
label="整改复核状态" <template slot-scope="scope">
prop="checkDesc" <el-select v-model="scope.row.rectificationStatus" placeholder="请选择" disabled>
>
<template slot-scope="scope" >
<el-select
v-model="scope.row.rectificationStatus"
placeholder="请选择"
disabled
>
<el-option label="待复核" :value="null"></el-option> <el-option label="待复核" :value="null"></el-option>
<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>
...@@ -464,7 +375,7 @@ ...@@ -464,7 +375,7 @@
</div> </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">
<template slot-scope="scope" v-if="scope.row.evalQues"> <template slot-scope="scope" v-if="scope.row.evalQues">
<input <input
...@@ -488,7 +399,7 @@ ...@@ -488,7 +399,7 @@
</template> </template>
<script> <script>
import { MaterialsList } from "@/utils/cache"; import { MaterialsList } from '@/utils/cache'
import { import {
evaluationMaterials, evaluationMaterials,
clqdevaluationMaterials, clqdevaluationMaterials,
...@@ -500,29 +411,29 @@ import { ...@@ -500,29 +411,29 @@ import {
wtzgxfProblemRectification, wtzgxfProblemRectification,
ossuploadStr, ossuploadStr,
MaterialWarehous, MaterialWarehous,
postEvalQuesInfocxtj postEvalQuesInfocxtj,
} from "@/api/index"; } from '@/api/index'
import { generateYearOptions, constructionFormText } from "@/utils/cache"; import { generateYearOptions, constructionFormText } from '@/utils/cache'
export default { export default {
data() { data() {
return { return {
yearsList: generateYearOptions(), yearsList: generateYearOptions(),
dialogXQ: false, dialogXQ: false,
file: "", file: '',
showButton: true, showButton: true,
ruleForm: { ruleForm: {
batchYear: "", batchYear: '',
batchName: "", batchName: '',
postEvalState: "", postEvalState: '',
projectName: "", projectName: '',
projectId: "", projectId: '',
dates: [], dates: [],
}, },
ruleFormdialog: { ruleFormdialog: {
batchYear: "", batchYear: '',
batchName: "", batchName: '',
planReviewDate: "", planReviewDate: '',
fullName: "", fullName: '',
}, },
tableData: [], tableData: [],
MaterialsList: JSON.parse(JSON.stringify(MaterialsList())), MaterialsList: JSON.parse(JSON.stringify(MaterialsList())),
...@@ -542,29 +453,29 @@ export default { ...@@ -542,29 +453,29 @@ export default {
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 '产品购置类'
} }
}, },
}, },
watch: { watch: {
// 监听路由对象中的参数部分 // 监听路由对象中的参数部分
"$route.params": { '$route.params': {
immediate: true, immediate: true,
handler(newParams, oldParams) { handler(newParams, oldParams) {
this.submitForm(); this.submitForm()
}, },
}, },
}, },
...@@ -575,499 +486,487 @@ export default { ...@@ -575,499 +486,487 @@ export default {
timeChange(time) { timeChange(time) {
if (time) { if (time) {
//给后端的参数 //给后端的参数
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 = ''
} }
}, },
//问题整改 //问题整改
async confirm() { async confirm() {
this.mergingPos = 0; this.mergingPos = 0
this.mergingRows = []; this.mergingRows = []
if (this.checkedList.length != 1) { if (this.checkedList.length != 1) {
this.$message("请选择一条数据进行整改"); this.$message('请选择一条数据进行整改')
return; return
} }
if (this.checkedList[0].postEvalStateText == "已申诉") { if (this.checkedList[0].postEvalStateText == '已申诉') {
this.$message("请选择未申诉的数据"); this.$message('请选择未申诉的数据')
return; return
} }
if (this.checkedList[0].reviewStatusText == "整改提交") { if (this.checkedList[0].reviewStatusText == '整改提交') {
this.$message("整改已经提交"); this.$message('整改已经提交')
return; return
} }
this.dialogQR = true; this.dialogQR = true
let params = { let params = {
projectId: 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 = { let paramsMat = {
proType: this.checkedList[0].projectType, proType: this.checkedList[0].projectType,
contractNumber: this.checkedList[0].contractNumber, contractNumber: this.checkedList[0].contractNumber,
prjId: this.checkedList[0].projectCode, prjId: this.checkedList[0].projectCode,
}; }
// let resMat = await MaterialWarehous(paramsMat); // let resMat = await MaterialWarehous(paramsMat);
this.tableDataQR = res.data.records; this.tableDataQR = res.data.records
let arr=[] 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) { if (item.evalQues) {
arr.push(item.projectStage) arr.push(item.projectStage)
} }
switch (item.projectStage) { switch (item.projectStage) {
case "1": case '1':
// this.$set( // this.$set(
// item, // item,
// "filed", // "filed",
// this.filtersTable(1, resMat.data.records) // this.filtersTable(1, resMat.data.records)
// ); // );
this.$set(item, "projectStagetext", "1.可研"); this.$set(item, 'projectStagetext', '1.可研')
break; break
case "2": case '2':
// this.$set( // this.$set(
// item, // item,
// "filed", // "filed",
// this.filtersTable(2, resMat.data.records) // this.filtersTable(2, resMat.data.records)
// ); // );
this.$set(item, "projectStagetext", "2.计划"); this.$set(item, 'projectStagetext', '2.计划')
break; break
case "3": case '3':
// this.$set( // this.$set(
// item, // item,
// "filed", // "filed",
// this.filtersTable(3, resMat.data.records) // this.filtersTable(3, resMat.data.records)
// ); // );
this.$set(item, "projectStagetext", "3.采购"); this.$set(item, 'projectStagetext', '3.采购')
break; break
case "4": case '4':
// this.$set( // this.$set(
// item, // item,
// "filed", // "filed",
// this.filtersTable(4, resMat.data.records) // this.filtersTable(4, resMat.data.records)
// ); // );
this.$set(item, "projectStagetext", "4.合同"); this.$set(item, 'projectStagetext', '4.合同')
break; break
case "5": case '5':
// this.$set( // this.$set(
// item, // item,
// "filed", // "filed",
// this.filtersTable(5, resMat.data.records) // this.filtersTable(5, resMat.data.records)
// ); // );
this.$set(item, "projectStagetext", "5.执行"); this.$set(item, 'projectStagetext', '5.执行')
break; break
case "6": case '6':
// this.$set( // this.$set(
// item, // item,
// "filed", // "filed",
// this.filtersTable(6, resMat.data.records) // this.filtersTable(6, resMat.data.records)
// ); // );
this.$set(item, "projectStagetext", "6.结决算及转资"); this.$set(item, 'projectStagetext', '6.结决算及转资')
break; break
} }
}); })
this.tableDataQR.forEach(val=>{ this.tableDataQR.forEach((val) => {
this.$set(val,'prob',Array.from(new Set(arr) )) this.$set(val, 'prob', Array.from(new Set(arr)))
}) })
this.dataPretreatment(); this.dataPretreatment()
} }
}, },
fileupdate(items, list) { fileupdate(items, list) {
console.log(items, list, "list"); console.log(items, list, 'list')
this.fileList.push(list.file); this.fileList.push(list.file)
this.debounce(this.submitFile, 500, items); this.debounce(this.submitFile, 500, items)
}, },
debounce(fn, waits, items) { debounce(fn, waits, items) {
if (this.timer) { if (this.timer) {
clearTimeout(this.timer); clearTimeout(this.timer)
this.timer = null; this.timer = null
} }
this.timer = setTimeout(() => { this.timer = setTimeout(() => {
fn.apply(this, arguments); // 把参数传进去 fn.apply(this, arguments) // 把参数传进去
}, waits); }, waits)
}, },
submitFile() { submitFile() {
console.log(arguments[2], "arguments"); console.log(arguments[2], 'arguments')
if (this.fileList.length === 0) { if (this.fileList.length === 0) {
this.$message.success("请上传文件"); this.$message.success('请上传文件')
return; return
} }
this.uploadLoading = true; this.uploadLoading = true
let formData = new FormData(); // 用FormData存放上传文件 let formData = new FormData() // 用FormData存放上传文件
this.fileList.forEach((file) => { this.fileList.forEach((file) => {
formData.append("file", file); // file.raw formData.append('file', file) // file.raw
}); })
formData.append("typeCode", arguments[2].mid); formData.append('typeCode', arguments[2].mid)
formData.append("prjId", this.checkedList[0].projectCode); formData.append('prjId', this.checkedList[0].projectCode)
formData.append("bathId", this.checkedList[0].contractNumber); formData.append('bathId', this.checkedList[0].contractNumber)
ossuploadStr(formData) ossuploadStr(formData)
.then((response) => { .then((response) => {
if (response.code == "200") { if (response.code == '200') {
this.fileList = []; this.fileList = []
this.confirm(); this.confirm()
// this.MaterialWarehous(this.upprojectType); // this.MaterialWarehous(this.upprojectType);
console.log(this.$refs.upload, "this.$refs.upload"); console.log(this.$refs.upload, 'this.$refs.upload')
this.$refs.upload.clearFiles(); this.$refs.upload.clearFiles()
this.$message("上传成功"); this.$message('上传成功')
} else { } else {
this.$message("上传失败"); this.$message('上传失败')
} }
}) })
.catch((error) => {}); .catch((error) => {})
}, },
filtersTable() { filtersTable() {
let newArr = arguments[1].filter((items) => { let newArr = arguments[1].filter((items) => {
return items.projectStage == arguments[0]; return items.projectStage == arguments[0]
}); })
let msg = []; let msg = []
newArr.forEach((item) => { newArr.forEach((item) => {
if (item.fullName) { if (item.fullName) {
msg.push({ msg.push({
names: item.materialName, names: item.materialName,
values: item.fullName, values: item.fullName,
mid: item.mid, mid: item.mid,
}); })
// msg=msg.concat(item.materialName+':'+item.fullName+"<br>"); // msg=msg.concat(item.materialName+':'+item.fullName+"<br>");
} }
}); })
return msg; return msg
}, },
dataPretreatment() { dataPretreatment() {
for (let i = 0; i < this.tableDataQR.length; i++) { for (let i = 0; i < this.tableDataQR.length; i++) {
// tabledata 表格数据源 // tabledata 表格数据源
if (i === 0) { if (i === 0) {
this.mergingRows.push(1); this.mergingRows.push(1)
this.mergingPos = 0; this.mergingPos = 0
} else { } else {
if ( if (this.tableDataQR[i].projectStage === this.tableDataQR[i - 1].projectStage) {
this.tableDataQR[i].projectStage ===
this.tableDataQR[i - 1].projectStage
) {
//哪些数据是要合并的 合并的条件是什么 //哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1; this.mergingRows[this.mergingPos] += 1
this.mergingRows.push(0); this.mergingRows.push(0)
} else { } else {
this.mergingRows.push(1); this.mergingRows.push(1)
this.mergingPos = i; this.mergingPos = i
} }
} }
} }
}, },
closed() { closed() {
console.log("关闭"); console.log('关闭')
this.handleSelectionChange(); this.handleSelectionChange()
}, },
async saveSS() { async saveSS() {
let res = await qrProblemAssistedFeedback(this.tableDataQR); let res = await qrProblemAssistedFeedback(this.tableDataQR)
if (res.code == "200") { if (res.code == '200') {
this.$message("保存成功"); this.$message('保存成功')
// this.dialogQR = false; // this.dialogQR = false;
// this.resetForm(); // this.resetForm();
} else { } else {
this.$message("保存失败"); this.$message('保存失败')
} }
}, },
async saveSubmit() { async saveSubmit() {
let res = await wtzgxfProblemRectification(this.tableDataQR); let res = await wtzgxfProblemRectification(this.tableDataQR)
this.$refs.myTable.doLayout(); // 解决表格错位 this.$refs.myTable.doLayout() // 解决表格错位
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('整改提交失败')
} }
}, },
cancelSS() { cancelSS() {
this.dialogQR = false; this.dialogQR = false
}, },
arraySpanMethod({ row, column, rowIndex, columnIndex }) { arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0 ) { if (columnIndex === 0) {
//第一列 //第一列
const _row = this.mergingRows[rowIndex]; const _row = this.mergingRows[rowIndex]
const _col = _row > 0 ? 1 : 0; const _col = _row > 0 ? 1 : 0
return { return {
rowspan: _row, rowspan: _row,
colspan: _col, colspan: _col,
}; }
} }
}, },
//问题确认开关 //问题确认开关
controlSwitch(val, row) { controlSwitch(val, row) {
console.log("333", val, row); console.log('333', val, row)
}, },
async submitForm() { async submitForm() {
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)
console.log(params); console.log(params)
let res = await evaluationMaterials(params); let res = await evaluationMaterials(params)
if (res.code == "200") { if (res.code == '200') {
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(item, 'constructionForm', constructionFormText(item.constructionForm))
item, })
"constructionForm", this.total = res.data.total * 1
constructionFormText(item.constructionForm)
);
});
this.total = res.data.total * 1;
} }
}, },
resetForm() { resetForm() {
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()
}, },
//提交评估材料 //提交评估材料
async submitNexts() { async submitNexts() {
if (this.checkedList.length != 1) { if (this.checkedList.length != 1) {
this.$message("请选择"); this.$message('请选择')
return; return
} }
this.$confirm( this.$confirm('材料是否材重新上传完成?', '提示', {
"材料是否材重新上传完成?", confirmButtonText: '是',
"提示", cancelButtonText: '否',
{ type: 'warning',
confirmButtonText: "是", }).then(async () => {
cancelButtonText: "否", let params = {
type: "warning", ...this.checkedList[0],
} }
).then(async () => { let res = await postEvalQuesInfocxtj(params)
let params={ if (res.code == '200') {
...this.checkedList[0] this.$message('重新上传成功')
} this.resetForm()
let res= await postEvalQuesInfocxtj(params)
if (res.code == "200") {
this.$message("重新上传成功");
this.resetForm();
} else { } else {
this.$message("重新上传失败"); this.$message('重新上传失败')
} }
}); })
}, },
//详情 //详情
async detailsForm() { async detailsForm() {
if (this.checkedList.length != 1) { if (this.checkedList.length != 1) {
this.$message("请选择"); this.$message('请选择')
return; return
} }
let params = { let params = {
proType: this.checkedList[0].projectType, proType: this.checkedList[0].projectType,
contractNumber: this.checkedList[0].contractNumber, contractNumber: this.checkedList[0].contractNumber,
prjId: this.checkedList[0].projectCode, prjId: this.checkedList[0].projectCode,
}; }
let res = await MaterialWarehous(params); let res = await MaterialWarehous(params)
this.tableDataQD = res.data.records; this.tableDataQD = res.data.records
this.dialogXQ = true; this.dialogXQ = true
this.tableDataQD.forEach((item) => { this.tableDataQD.forEach((item) => {
switch (item.projectStage) { switch (item.projectStage) {
case "1": case '1':
this.$set(item, "projectStagetext", "可研"); this.$set(item, 'projectStagetext', '可研')
break; break
case "2": case '2':
this.$set(item, "projectStagetext", "计划"); this.$set(item, 'projectStagetext', '计划')
break; break
case "3": case '3':
this.$set(item, "projectStagetext", "采购"); this.$set(item, 'projectStagetext', '采购')
break; break
case "4": case '4':
this.$set(item, "projectStagetext", "合同"); this.$set(item, 'projectStagetext', '合同')
break; break
case "5": case '5':
this.$set(item, "projectStagetext", "执行"); this.$set(item, 'projectStagetext', '执行')
break; break
case "6": case '6':
this.$set(item, "projectStagetext", "结决算及转资"); this.$set(item, 'projectStagetext', '结决算及转资')
break; break
} }
}); })
}, },
//表格颜色 //表格颜色
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
return "warning-row"; return 'warning-row'
} }
return ""; return ''
}, },
//主列表选中行信息 //主列表选中行信息
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 != "已退回") { if (this.checkedList[0].postEvalStateText != '已退回') {
this.subdisabled = true; this.subdisabled = true
} }
} }
}, },
handleSizeChange(val) { handleSizeChange(val) {
console.log(`每页 ${val} 条`); console.log(`每页 ${val} 条`)
this.pageSize = val; this.pageSize = val
this.submitForm(); this.submitForm()
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`)
this.currentPage = val; this.currentPage = val
this.submitForm(); this.submitForm()
}, },
handleSizeChangetjcl(val) { handleSizeChangetjcl(val) {
console.log(`每页 ${val} 条`); console.log(`每页 ${val} 条`)
this.pageSizetjcl = val; this.pageSizetjcl = val
}, },
handleCurrentChangetjcl(val) { handleCurrentChangetjcl(val) {
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`)
this.currentPagetjcl = val; this.currentPagetjcl = val
}, },
cancel() { cancel() {
this.dialog = false; this.dialog = false
// this.dialogXQ = false; // this.dialogXQ = false;
}, },
preserve() { preserve() {
this.dialog = false; this.dialog = false
// this.dialogXQ = false; // this.dialogXQ = false;
}, },
closeDialog() { closeDialog() {
console.log("guanbi"); console.log('guanbi')
this.showButton = true; this.showButton = true
}, },
async save(type) { async save(type) {
this.dialog = false; this.dialog = false
let params = { let params = {
projectId: 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()
}, },
handleFileUploadZG(event, row, id) { handleFileUploadZG(event, row, id) {
console.log("来了么"); console.log('来了么')
this.file = event.target.files[0]; this.file = event.target.files[0]
this.submitFileZG(row, id); this.submitFileZG(row, id)
}, },
handleFileUploadmul(event, row, id) { handleFileUploadmul(event, row, id) {
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)
}) })
.catch((error) => { .catch((error) => {
console.error(error); console.error(error)
}); })
} else { } else {
this.$message("请先选择文件"); this.$message('请先选择文件')
} }
}, },
submitFileZG(row, type) { submitFileZG(row, type) {
// return; // return;
console.log(row); console.log(row)
if (this.file) { if (this.file) {
const formData = new FormData(); const formData = new FormData()
formData.append("file", this.file); formData.append('file', this.file)
ossupload(formData) ossupload(formData)
.then((response) => { .then((response) => {
console.log(response); console.log(response)
this.file = []; this.file = []
this.$set(row, type, response.data.fileId); this.$set(row, type, response.data.fileId)
}) })
.catch((error) => { .catch((error) => {
console.error(error); console.error(error)
}); })
} else { } else {
this.$message("请先选择文件"); this.$message('请先选择文件')
} }
}, },
handleSuccess(response, file, fileList) { handleSuccess(response, file, fileList) {
// 提交保存成功后清空已上传的文件 // 提交保存成功后清空已上传的文件
this.$refs.upload.clearFiles(); this.$refs.upload.clearFiles()
}, },
async handleClickXZ(scope) { async handleClickXZ(scope) {
console.log(scope.fileId); console.log(scope.fileId)
let response = await downloadObject({ let response = await downloadObject({
fileId: scope.fileId * 1, fileId: scope.fileId * 1,
}); })
let blob = new Blob([response]); let blob = new Blob([response])
if ("download" in document.createElement("a")) { if ('download' in document.createElement('a')) {
let elink = document.createElement("a"); let elink = document.createElement('a')
elink.download = scope.fileName; elink.download = scope.fileName
elink.style.display = "none"; elink.style.display = 'none'
elink.href = URL.createObjectURL(blob); elink.href = URL.createObjectURL(blob)
document.body.appendChild(elink); document.body.appendChild(elink)
elink.click(); elink.click()
URL.revokeObjectURL(elink.href); // 释放URL 对象 URL.revokeObjectURL(elink.href) // 释放URL 对象
document.body.removeChild(elink); document.body.removeChild(elink)
} }
}, },
handleMouseEnter(msg) { handleMouseEnter(msg) {
console.log(this.$refs[msg], "this.$refs[msg].style"); console.log(this.$refs[msg], 'this.$refs[msg].style')
// this.$refs[msg].style.whiteSpace = 'normal'; // this.$refs[msg].style.whiteSpace = 'normal';
}, },
handleMouseLeave(msg) { handleMouseLeave(msg) {
// this.$refs[msg].style.whiteSpace = 'nowrap'; // this.$refs[msg].style.whiteSpace = 'nowrap';
}, },
}, },
}; }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.main { .main {
...@@ -1377,7 +1276,7 @@ h3 { ...@@ -1377,7 +1276,7 @@ h3 {
} }
} }
.setTable { .setTable {
height:490px; height: 490px;
overflow-y: auto; overflow-y: auto;
overflow-x: scroll; overflow-x: scroll;
position: relative; position: relative;
...@@ -1409,9 +1308,9 @@ h3 { ...@@ -1409,9 +1308,9 @@ h3 {
} }
.filedp { .filedp {
text-align: left; text-align: left;
width:600px; width: 600px;
p{ p {
display: inline-block; display: inline-block;
width: 88%; width: 88%;
white-space: nowrap; white-space: nowrap;
...@@ -1420,11 +1319,10 @@ h3 { ...@@ -1420,11 +1319,10 @@ h3 {
height: 30px; height: 30px;
margin-top: 5px; margin-top: 5px;
} }
.tips{ .tips {
font-weight: 600; font-weight: 600;
} }
span { span {
// margin-right: 8px; // margin-right: 8px;
display: inline-block; display: inline-block;
width: 50%; width: 50%;
...@@ -1432,13 +1330,12 @@ h3 { ...@@ -1432,13 +1330,12 @@ h3 {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
} }
.upload-demo { .upload-demo {
display: inline-block; display: inline-block;
vertical-align: top; vertical-align: top;
} }
.upload_box{ .upload_box {
vertical-align: top; vertical-align: top;
} }
......
<!-- 评估材料获取 --> <!-- 评估材料获取 -->
<template> <template>
<div class="main"> <div class="main">
<el-form <el-form :model="ruleForm" ref="formName" label-width="100px" class="demo-ruleForm">
:model="ruleForm"
ref="formName"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem"> <el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable> <el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option <el-option
...@@ -18,11 +13,7 @@ ...@@ -18,11 +13,7 @@
</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-input <el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input>
v-model="ruleForm.batchName"
placeholder="请输入"
clearable
></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="后评估批次状态:" prop="batchState" class="fromItem"> <!-- <el-form-item label="后评估批次状态:" prop="batchState" class="fromItem">
<el-select v-model="ruleForm.batchState" placeholder="请选择" clearable> <el-select v-model="ruleForm.batchState" placeholder="请选择" clearable>
...@@ -32,30 +23,13 @@ ...@@ -32,30 +23,13 @@
</el-form-item> --> </el-form-item> -->
<el-form-item label="项目编码:" prop="projectId" class="fromItem"> <el-form-item label="项目编码:" prop="projectId" class="fromItem">
<el-input <el-input v-model="ruleForm.projectId" placeholder="请输入" clearable></el-input>
v-model="ruleForm.projectId"
placeholder="请输入"
clearable
></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="项目名称:" prop="projectName" class="fromItem" show-overflow-tooltip>
label="项目名称:" <el-input v-model="ruleForm.projectName" placeholder="请输入" clearable></el-input>
prop="projectName"
class="fromItem"
show-overflow-tooltip
>
<el-input
v-model="ruleForm.projectName"
placeholder="请输入"
clearable
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目年度:" prop="projectYear" class="fromItem"> <el-form-item label="项目年度:" prop="projectYear" class="fromItem">
<el-select <el-select v-model="ruleForm.projectYear" placeholder="请选择" clearable>
v-model="ruleForm.projectYear"
placeholder="请选择"
clearable
>
<el-option <el-option
v-for="(item, index) in yearsList" v-for="(item, index) in yearsList"
:key="index" :key="index"
...@@ -65,11 +39,7 @@ ...@@ -65,11 +39,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="项目审核状态:" prop="postEvalState" class="fromItem"> <el-form-item label="项目审核状态:" prop="postEvalState" class="fromItem">
<el-select <el-select v-model="ruleForm.postEvalState" placeholder="请选择" clearable>
v-model="ruleForm.postEvalState"
placeholder="请选择"
clearable
>
<!-- <el-option label="材料未上传" value="0"></el-option> --> <!-- <el-option label="材料未上传" value="0"></el-option> -->
<el-option label="待评估" value="1"></el-option> <el-option label="待评估" value="1"></el-option>
<el-option label="需整改" value="2"></el-option> <el-option label="需整改" value="2"></el-option>
...@@ -102,16 +72,17 @@ ...@@ -102,16 +72,17 @@
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button <img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
> >
<el-button <el-button
@click="confirm()" @click="confirm()"
:disabled="confirmdisabled" :disabled="confirmdisabled"
:class="confirmdisabled ? 'noclick' : ''" :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
> >
<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-form-item> </el-form-item>
...@@ -128,73 +99,46 @@ ...@@ -128,73 +99,46 @@
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
border border
> >
<el-table-column label="序号" width="55" type="index"> <el-table-column label="序号" width="55" type="index"> </el-table-column>
</el-table-column>
<el-table-column type="selection"> </el-table-column> <el-table-column type="selection"> </el-table-column>
<el-table-column label="批次年度" prop="batchYear" width="120"> <el-table-column label="批次年度" prop="batchYear" width="120">
<template slot-scope="scope"> {{ scope.row.batchYear }}</template> <template slot-scope="scope"> {{ scope.row.batchYear }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="batchName" label="后评估批次名称"> <el-table-column prop="batchName" label="后评估批次名称"> </el-table-column>
</el-table-column>
<el-table-column prop="expertName" label="评审专家"> </el-table-column> <el-table-column prop="expertName" label="评审专家"> </el-table-column>
<el-table-column prop="projectCode" label="项目编码"> </el-table-column> <el-table-column prop="projectCode" label="项目编码"> </el-table-column>
<el-table-column <el-table-column prop="projectName" label="项目名称" show-overflow-tooltip>
prop="projectName"
label="项目名称"
show-overflow-tooltip
>
</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"> <span v-show="scope.row.issueYear"> {{ scope.row.issueYear }}</span>
{{ 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"> <span v-show="scope.row.projectType"> {{ scope.row.projectType | proType }}</span>
{{ 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"
>
<template v-slot="scope"> <template v-slot="scope">
<router-link <router-link
v-if=" scope.row.postEvalStateText=='已退回'" v-if="scope.row.postEvalStateText == '已退回'"
:to="{ :to="{
path: '/assesszc/projectView', path: '/assesszc/projectView',
query: { projectId: scope.row.projectCode }, query: { projectId: scope.row.projectCode },
}" }"
> >
<el-button type="text" size="small">{{ <el-button type="text" size="small">{{ scope.row.postEvalStateText }}</el-button>
scope.row.postEvalStateText
}}</el-button>
</router-link> </router-link>
<span v-else>{{ scope.row.postEvalStateText }}</span> <span v-else>{{ scope.row.postEvalStateText }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="contractNumber" label="合同编号" show-overflow-tooltip>
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>
<el-table-column prop="planReviewDate" label="计划评估日期"> <el-table-column prop="contractName" label="合同名称" width="auto" show-overflow-tooltip>
</el-table-column> </el-table-column>
<el-table-column prop="planReviewDate" label="计划评估日期"> </el-table-column>
</el-table> </el-table>
</div> </div>
<el-pagination <el-pagination
...@@ -230,25 +174,14 @@ ...@@ -230,25 +174,14 @@
<el-form-item label="后评估名称:" prop="batchName" class="fromItem"> <el-form-item label="后评估名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleFormdialog.batchName" disabled></el-input> <el-input v-model="ruleFormdialog.batchName" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
label="计划评估日期:" <el-input v-model="ruleFormdialog.planReviewDate" disabled></el-input>
prop="planReviewDate"
class="fromItem"
>
<el-input
v-model="ruleFormdialog.planReviewDate"
disabled
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="后评估专家:" prop="expertName" class="fromItem"> <el-form-item label="后评估专家:" prop="expertName" class="fromItem">
<el-input v-model="ruleFormdialog.expertName" disabled></el-input> <el-input v-model="ruleFormdialog.expertName" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="工作组织情况:" class="textarea"> <el-form-item label="工作组织情况:" class="textarea">
<el-input <el-input type="textarea" v-model="ruleFormdialog.desc" disabled></el-input>
type="textarea"
v-model="ruleFormdialog.desc"
disabled
></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -264,18 +197,11 @@ ...@@ -264,18 +197,11 @@
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
border border
> >
<el-table-column label="序号" width="55" type="index"> <el-table-column label="序号" width="55" type="index"> </el-table-column>
</el-table-column>
<el-table-column label="材料类别" prop="projectStagetext"> <el-table-column label="材料类别" prop="projectStagetext"> </el-table-column>
</el-table-column> <el-table-column label="资料类型" prop="materialName"> </el-table-column>
<el-table-column label="资料类型" prop="materialName"> <el-table-column prop="fullName" label="资料名称" show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="fullName"
label="资料名称"
show-overflow-tooltip
>
</el-table-column> </el-table-column>
<!-- <el-table-column prop="fullName" label="资料名称"> <!-- <el-table-column prop="fullName" label="资料名称">
<template slot-scope="scope" v-if="scope.row.fullName"> <template slot-scope="scope" v-if="scope.row.fullName">
...@@ -317,32 +243,19 @@ ...@@ -317,32 +243,19 @@
ref="myTable" ref="myTable"
border border
> >
<el-table-column <el-table-column label="项目环节" prop="projectStagetext" width="110">
label="项目环节"
prop="projectStagetext"
width="110"
>
</el-table-column>
<el-table-column label="序号" width="50" type="index">
</el-table-column> </el-table-column>
<el-table-column label="序号" width="50" type="index"> </el-table-column>
<el-table-column <el-table-column label="问题检查项" prop="quesCheckItem" width="200">
label="问题检查项"
prop="quesCheckItem"
width="200"
>
</el-table-column> </el-table-column>
<el-table-column label="评估问题" prop="evalQues" show-overflow-tooltip>
<el-table-column
label="评估问题"
prop="evalQues"
show-overflow-tooltip
>
</el-table-column> </el-table-column>
<el-table-column label="问题响应" width="100"> <el-table-column label="问题响应" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch <el-switch
:disabled="scope.row.rectificationStatus == 2"
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"
...@@ -362,13 +275,22 @@ ...@@ -362,13 +275,22 @@
</el-switch> </el-switch>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="上传档案材料" prop="dacl" width="120">
label="上传档案材料"
prop="dacl"
width="120"
>
<template slot-scope="scope"> <template slot-scope="scope">
<router-link :to="{path:'/assesszc/projectView',query:{projectId:scope.row.projectId}}"> <el-button
disabled
v-if="scope.row.rectificationStatus == 2"
type="text"
size="small"
>上传材料</el-button
>
<router-link
v-else
:to="{
path: '/assesszc/projectView',
query: { projectId: scope.row.projectId },
}"
>
<el-button type="text" size="small">上传材料</el-button> <el-button type="text" size="small">上传材料</el-button>
</router-link> </router-link>
</template> </template>
...@@ -379,6 +301,7 @@ ...@@ -379,6 +301,7 @@
v-model="scope.row.feedback" v-model="scope.row.feedback"
v-if="scope.row.confirmStatus == '1'" v-if="scope.row.confirmStatus == '1'"
type="textarea" type="textarea"
:disabled="scope.row.rectificationStatus == 2"
:rows="3" :rows="3"
></el-input> ></el-input>
</template> </template>
...@@ -389,31 +312,19 @@ ...@@ -389,31 +312,19 @@
v-if="scope.row.evalQues && scope.row.confirmStatus == '1'" v-if="scope.row.evalQues && scope.row.confirmStatus == '1'"
> >
<input <input
:disabled="scope.row.rectificationStatus == 2"
type="file" type="file"
@change="handleFileUploadZG($event, scope.row, 'fileId')" @change="handleFileUploadZG($event, scope.row, 'fileId')"
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="检查说明" prop="checkDesc" show-overflow-tooltip>
label="检查说明"
prop="checkDesc"
show-overflow-tooltip
>
</el-table-column> </el-table-column>
<el-table-column label="复核情况说明" prop="zgqkFileId" width="auto" > <el-table-column label="复核情况说明" prop="zgqkFileId" width="auto">
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="整改复核状态" prop="checkDesc">
label="整改复核状态" <template slot-scope="scope">
prop="checkDesc" <el-select v-model="scope.row.rectificationStatus" placeholder="请选择" disabled>
>
<template slot-scope="scope" >
<el-select
v-model="scope.row.rectificationStatus"
placeholder="请选择"
disabled
>
<el-option label="待复核" :value="null"></el-option> <el-option label="待复核" :value="null"></el-option>
<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>
...@@ -464,7 +375,7 @@ ...@@ -464,7 +375,7 @@
</div> </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">
<template slot-scope="scope" v-if="scope.row.evalQues"> <template slot-scope="scope" v-if="scope.row.evalQues">
<input <input
...@@ -488,7 +399,7 @@ ...@@ -488,7 +399,7 @@
</template> </template>
<script> <script>
import { MaterialsList } from "@/utils/cache"; import { MaterialsList } from '@/utils/cache'
import { import {
evaluationMaterials, evaluationMaterials,
clqdevaluationMaterials, clqdevaluationMaterials,
...@@ -500,29 +411,29 @@ import { ...@@ -500,29 +411,29 @@ import {
wtzgxfProblemRectification, wtzgxfProblemRectification,
ossuploadStr, ossuploadStr,
MaterialWarehous, MaterialWarehous,
postEvalQuesInfocxtj postEvalQuesInfocxtj,
} from "@/api/indexzc"; } from '@/api/indexzc'
import { generateYearOptions, constructionFormText } from "@/utils/cache"; import { generateYearOptions, constructionFormText } from '@/utils/cache'
export default { export default {
data() { data() {
return { return {
yearsList: generateYearOptions(), yearsList: generateYearOptions(),
dialogXQ: false, dialogXQ: false,
file: "", file: '',
showButton: true, showButton: true,
ruleForm: { ruleForm: {
batchYear: "", batchYear: '',
batchName: "", batchName: '',
postEvalState: "", postEvalState: '',
projectName: "", projectName: '',
projectId: "", projectId: '',
dates: [], dates: [],
}, },
ruleFormdialog: { ruleFormdialog: {
batchYear: "", batchYear: '',
batchName: "", batchName: '',
planReviewDate: "", planReviewDate: '',
fullName: "", fullName: '',
}, },
tableData: [], tableData: [],
MaterialsList: JSON.parse(JSON.stringify(MaterialsList())), MaterialsList: JSON.parse(JSON.stringify(MaterialsList())),
...@@ -542,29 +453,29 @@ export default { ...@@ -542,29 +453,29 @@ export default {
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 '产品购置类'
} }
}, },
}, },
watch: { watch: {
// 监听路由对象中的参数部分 // 监听路由对象中的参数部分
"$route.params": { '$route.params': {
immediate: true, immediate: true,
handler(newParams, oldParams) { handler(newParams, oldParams) {
this.submitForm(); this.submitForm()
}, },
}, },
}, },
...@@ -575,499 +486,487 @@ export default { ...@@ -575,499 +486,487 @@ export default {
timeChange(time) { timeChange(time) {
if (time) { if (time) {
//给后端的参数 //给后端的参数
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 = ''
} }
}, },
//问题整改 //问题整改
async confirm() { async confirm() {
this.mergingPos = 0; this.mergingPos = 0
this.mergingRows = []; this.mergingRows = []
if (this.checkedList.length != 1) { if (this.checkedList.length != 1) {
this.$message("请选择一条数据进行整改"); this.$message('请选择一条数据进行整改')
return; return
} }
if (this.checkedList[0].postEvalStateText == "已申诉") { if (this.checkedList[0].postEvalStateText == '已申诉') {
this.$message("请选择未申诉的数据"); this.$message('请选择未申诉的数据')
return; return
} }
if (this.checkedList[0].reviewStatusText == "整改提交") { if (this.checkedList[0].reviewStatusText == '整改提交') {
this.$message("整改已经提交"); this.$message('整改已经提交')
return; return
} }
this.dialogQR = true; this.dialogQR = true
let params = { let params = {
projectId: 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 = { let paramsMat = {
proType: this.checkedList[0].projectType, proType: this.checkedList[0].projectType,
contractNumber: this.checkedList[0].contractNumber, contractNumber: this.checkedList[0].contractNumber,
prjId: this.checkedList[0].projectCode, prjId: this.checkedList[0].projectCode,
}; }
// let resMat = await MaterialWarehous(paramsMat); // let resMat = await MaterialWarehous(paramsMat);
this.tableDataQR = res.data.records; this.tableDataQR = res.data.records
let arr=[] 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) { if (item.evalQues) {
arr.push(item.projectStage) arr.push(item.projectStage)
} }
switch (item.projectStage) { switch (item.projectStage) {
case "1": case '1':
// this.$set( // this.$set(
// item, // item,
// "filed", // "filed",
// this.filtersTable(1, resMat.data.records) // this.filtersTable(1, resMat.data.records)
// ); // );
this.$set(item, "projectStagetext", "1.可研"); this.$set(item, 'projectStagetext', '1.可研')
break; break
case "2": case '2':
// this.$set( // this.$set(
// item, // item,
// "filed", // "filed",
// this.filtersTable(2, resMat.data.records) // this.filtersTable(2, resMat.data.records)
// ); // );
this.$set(item, "projectStagetext", "2.计划"); this.$set(item, 'projectStagetext', '2.计划')
break; break
case "3": case '3':
// this.$set( // this.$set(
// item, // item,
// "filed", // "filed",
// this.filtersTable(3, resMat.data.records) // this.filtersTable(3, resMat.data.records)
// ); // );
this.$set(item, "projectStagetext", "3.采购"); this.$set(item, 'projectStagetext', '3.采购')
break; break
case "4": case '4':
// this.$set( // this.$set(
// item, // item,
// "filed", // "filed",
// this.filtersTable(4, resMat.data.records) // this.filtersTable(4, resMat.data.records)
// ); // );
this.$set(item, "projectStagetext", "4.合同"); this.$set(item, 'projectStagetext', '4.合同')
break; break
case "5": case '5':
// this.$set( // this.$set(
// item, // item,
// "filed", // "filed",
// this.filtersTable(5, resMat.data.records) // this.filtersTable(5, resMat.data.records)
// ); // );
this.$set(item, "projectStagetext", "5.执行"); this.$set(item, 'projectStagetext', '5.执行')
break; break
case "6": case '6':
// this.$set( // this.$set(
// item, // item,
// "filed", // "filed",
// this.filtersTable(6, resMat.data.records) // this.filtersTable(6, resMat.data.records)
// ); // );
this.$set(item, "projectStagetext", "6.结决算及转资"); this.$set(item, 'projectStagetext', '6.结决算及转资')
break; break
} }
}); })
this.tableDataQR.forEach(val=>{ this.tableDataQR.forEach((val) => {
this.$set(val,'prob',Array.from(new Set(arr) )) this.$set(val, 'prob', Array.from(new Set(arr)))
}) })
this.dataPretreatment(); this.dataPretreatment()
} }
}, },
fileupdate(items, list) { fileupdate(items, list) {
console.log(items, list, "list"); console.log(items, list, 'list')
this.fileList.push(list.file); this.fileList.push(list.file)
this.debounce(this.submitFile, 500, items); this.debounce(this.submitFile, 500, items)
}, },
debounce(fn, waits, items) { debounce(fn, waits, items) {
if (this.timer) { if (this.timer) {
clearTimeout(this.timer); clearTimeout(this.timer)
this.timer = null; this.timer = null
} }
this.timer = setTimeout(() => { this.timer = setTimeout(() => {
fn.apply(this, arguments); // 把参数传进去 fn.apply(this, arguments) // 把参数传进去
}, waits); }, waits)
}, },
submitFile() { submitFile() {
console.log(arguments[2], "arguments"); console.log(arguments[2], 'arguments')
if (this.fileList.length === 0) { if (this.fileList.length === 0) {
this.$message.success("请上传文件"); this.$message.success('请上传文件')
return; return
} }
this.uploadLoading = true; this.uploadLoading = true
let formData = new FormData(); // 用FormData存放上传文件 let formData = new FormData() // 用FormData存放上传文件
this.fileList.forEach((file) => { this.fileList.forEach((file) => {
formData.append("file", file); // file.raw formData.append('file', file) // file.raw
}); })
formData.append("typeCode", arguments[2].mid); formData.append('typeCode', arguments[2].mid)
formData.append("prjId", this.checkedList[0].projectCode); formData.append('prjId', this.checkedList[0].projectCode)
formData.append("bathId", this.checkedList[0].contractNumber); formData.append('bathId', this.checkedList[0].contractNumber)
ossuploadStr(formData) ossuploadStr(formData)
.then((response) => { .then((response) => {
if (response.code == "200") { if (response.code == '200') {
this.fileList = []; this.fileList = []
this.confirm(); this.confirm()
// this.MaterialWarehous(this.upprojectType); // this.MaterialWarehous(this.upprojectType);
console.log(this.$refs.upload, "this.$refs.upload"); console.log(this.$refs.upload, 'this.$refs.upload')
this.$refs.upload.clearFiles(); this.$refs.upload.clearFiles()
this.$message("上传成功"); this.$message('上传成功')
} else { } else {
this.$message("上传失败"); this.$message('上传失败')
} }
}) })
.catch((error) => {}); .catch((error) => {})
}, },
filtersTable() { filtersTable() {
let newArr = arguments[1].filter((items) => { let newArr = arguments[1].filter((items) => {
return items.projectStage == arguments[0]; return items.projectStage == arguments[0]
}); })
let msg = []; let msg = []
newArr.forEach((item) => { newArr.forEach((item) => {
if (item.fullName) { if (item.fullName) {
msg.push({ msg.push({
names: item.materialName, names: item.materialName,
values: item.fullName, values: item.fullName,
mid: item.mid, mid: item.mid,
}); })
// msg=msg.concat(item.materialName+':'+item.fullName+"<br>"); // msg=msg.concat(item.materialName+':'+item.fullName+"<br>");
} }
}); })
return msg; return msg
}, },
dataPretreatment() { dataPretreatment() {
for (let i = 0; i < this.tableDataQR.length; i++) { for (let i = 0; i < this.tableDataQR.length; i++) {
// tabledata 表格数据源 // tabledata 表格数据源
if (i === 0) { if (i === 0) {
this.mergingRows.push(1); this.mergingRows.push(1)
this.mergingPos = 0; this.mergingPos = 0
} else { } else {
if ( if (this.tableDataQR[i].projectStage === this.tableDataQR[i - 1].projectStage) {
this.tableDataQR[i].projectStage ===
this.tableDataQR[i - 1].projectStage
) {
//哪些数据是要合并的 合并的条件是什么 //哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1; this.mergingRows[this.mergingPos] += 1
this.mergingRows.push(0); this.mergingRows.push(0)
} else { } else {
this.mergingRows.push(1); this.mergingRows.push(1)
this.mergingPos = i; this.mergingPos = i
} }
} }
} }
}, },
closed() { closed() {
console.log("关闭"); console.log('关闭')
this.handleSelectionChange(); this.handleSelectionChange()
}, },
async saveSS() { async saveSS() {
let res = await qrProblemAssistedFeedback(this.tableDataQR); let res = await qrProblemAssistedFeedback(this.tableDataQR)
if (res.code == "200") { if (res.code == '200') {
this.$message("保存成功"); this.$message('保存成功')
// this.dialogQR = false; // this.dialogQR = false;
// this.resetForm(); // this.resetForm();
} else { } else {
this.$message("保存失败"); this.$message('保存失败')
} }
}, },
async saveSubmit() { async saveSubmit() {
let res = await wtzgxfProblemRectification(this.tableDataQR); let res = await wtzgxfProblemRectification(this.tableDataQR)
this.$refs.myTable.doLayout(); // 解决表格错位 this.$refs.myTable.doLayout() // 解决表格错位
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('整改提交失败')
} }
}, },
cancelSS() { cancelSS() {
this.dialogQR = false; this.dialogQR = false
}, },
arraySpanMethod({ row, column, rowIndex, columnIndex }) { arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0 ) { if (columnIndex === 0) {
//第一列 //第一列
const _row = this.mergingRows[rowIndex]; const _row = this.mergingRows[rowIndex]
const _col = _row > 0 ? 1 : 0; const _col = _row > 0 ? 1 : 0
return { return {
rowspan: _row, rowspan: _row,
colspan: _col, colspan: _col,
}; }
} }
}, },
//问题确认开关 //问题确认开关
controlSwitch(val, row) { controlSwitch(val, row) {
console.log("333", val, row); console.log('333', val, row)
}, },
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)
let res = await evaluationMaterials(params); let res = await evaluationMaterials(params)
if (res.code == "200") { if (res.code == '200') {
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(item, 'constructionForm', constructionFormText(item.constructionForm))
item, })
"constructionForm", this.total = res.data.total * 1
constructionFormText(item.constructionForm)
);
});
this.total = res.data.total * 1;
} }
}, },
resetForm() { resetForm() {
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()
}, },
//提交评估材料 //提交评估材料
async submitNexts() { async submitNexts() {
if (this.checkedList.length != 1) { if (this.checkedList.length != 1) {
this.$message("请选择"); this.$message('请选择')
return; return
} }
this.$confirm( this.$confirm('材料是否材重新上传完成?', '提示', {
"材料是否材重新上传完成?", confirmButtonText: '是',
"提示", cancelButtonText: '否',
{ type: 'warning',
confirmButtonText: "是", }).then(async () => {
cancelButtonText: "否", let params = {
type: "warning", ...this.checkedList[0],
} }
).then(async () => { let res = await postEvalQuesInfocxtj(params)
let params={ if (res.code == '200') {
...this.checkedList[0] this.$message('重新上传成功')
} this.resetForm()
let res= await postEvalQuesInfocxtj(params)
if (res.code == "200") {
this.$message("重新上传成功");
this.resetForm();
} else { } else {
this.$message("重新上传失败"); this.$message('重新上传失败')
} }
}); })
}, },
//详情 //详情
async detailsForm() { async detailsForm() {
if (this.checkedList.length != 1) { if (this.checkedList.length != 1) {
this.$message("请选择"); this.$message('请选择')
return; return
} }
let params = { let params = {
proType: this.checkedList[0].projectType, proType: this.checkedList[0].projectType,
contractNumber: this.checkedList[0].contractNumber, contractNumber: this.checkedList[0].contractNumber,
prjId: this.checkedList[0].projectCode, prjId: this.checkedList[0].projectCode,
}; }
let res = await MaterialWarehous(params); let res = await MaterialWarehous(params)
this.tableDataQD = res.data.records; this.tableDataQD = res.data.records
this.dialogXQ = true; this.dialogXQ = true
this.tableDataQD.forEach((item) => { this.tableDataQD.forEach((item) => {
switch (item.projectStage) { switch (item.projectStage) {
case "1": case '1':
this.$set(item, "projectStagetext", "可研"); this.$set(item, 'projectStagetext', '可研')
break; break
case "2": case '2':
this.$set(item, "projectStagetext", "计划"); this.$set(item, 'projectStagetext', '计划')
break; break
case "3": case '3':
this.$set(item, "projectStagetext", "采购"); this.$set(item, 'projectStagetext', '采购')
break; break
case "4": case '4':
this.$set(item, "projectStagetext", "合同"); this.$set(item, 'projectStagetext', '合同')
break; break
case "5": case '5':
this.$set(item, "projectStagetext", "执行"); this.$set(item, 'projectStagetext', '执行')
break; break
case "6": case '6':
this.$set(item, "projectStagetext", "结决算及转资"); this.$set(item, 'projectStagetext', '结决算及转资')
break; break
} }
}); })
}, },
//表格颜色 //表格颜色
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
return "warning-row"; return 'warning-row'
} }
return ""; return ''
}, },
//主列表选中行信息 //主列表选中行信息
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 != "已退回") { if (this.checkedList[0].postEvalStateText != '已退回') {
this.subdisabled = true; this.subdisabled = true
} }
} }
}, },
handleSizeChange(val) { handleSizeChange(val) {
console.log(`每页 ${val} 条`); console.log(`每页 ${val} 条`)
this.pageSize = val; this.pageSize = val
this.submitForm(); this.submitForm()
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`)
this.currentPage = val; this.currentPage = val
this.submitForm(); this.submitForm()
}, },
handleSizeChangetjcl(val) { handleSizeChangetjcl(val) {
console.log(`每页 ${val} 条`); console.log(`每页 ${val} 条`)
this.pageSizetjcl = val; this.pageSizetjcl = val
}, },
handleCurrentChangetjcl(val) { handleCurrentChangetjcl(val) {
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`)
this.currentPagetjcl = val; this.currentPagetjcl = val
}, },
cancel() { cancel() {
this.dialog = false; this.dialog = false
// this.dialogXQ = false; // this.dialogXQ = false;
}, },
preserve() { preserve() {
this.dialog = false; this.dialog = false
// this.dialogXQ = false; // this.dialogXQ = false;
}, },
closeDialog() { closeDialog() {
console.log("guanbi"); console.log('guanbi')
this.showButton = true; this.showButton = true
}, },
async save(type) { async save(type) {
this.dialog = false; this.dialog = false
let params = { let params = {
projectId: 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()
}, },
handleFileUploadZG(event, row, id) { handleFileUploadZG(event, row, id) {
console.log("来了么"); console.log('来了么')
this.file = event.target.files[0]; this.file = event.target.files[0]
this.submitFileZG(row, id); this.submitFileZG(row, id)
}, },
handleFileUploadmul(event, row, id) { handleFileUploadmul(event, row, id) {
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)
}) })
.catch((error) => { .catch((error) => {
console.error(error); console.error(error)
}); })
} else { } else {
this.$message("请先选择文件"); this.$message('请先选择文件')
} }
}, },
submitFileZG(row, type) { submitFileZG(row, type) {
// return; // return;
console.log(row); console.log(row)
if (this.file) { if (this.file) {
const formData = new FormData(); const formData = new FormData()
formData.append("file", this.file); formData.append('file', this.file)
ossupload(formData) ossupload(formData)
.then((response) => { .then((response) => {
console.log(response); console.log(response)
this.file = []; this.file = []
this.$set(row, type, response.data.fileId); this.$set(row, type, response.data.fileId)
}) })
.catch((error) => { .catch((error) => {
console.error(error); console.error(error)
}); })
} else { } else {
this.$message("请先选择文件"); this.$message('请先选择文件')
} }
}, },
handleSuccess(response, file, fileList) { handleSuccess(response, file, fileList) {
// 提交保存成功后清空已上传的文件 // 提交保存成功后清空已上传的文件
this.$refs.upload.clearFiles(); this.$refs.upload.clearFiles()
}, },
async handleClickXZ(scope) { async handleClickXZ(scope) {
console.log(scope.fileId); console.log(scope.fileId)
let response = await downloadObject({ let response = await downloadObject({
fileId: scope.fileId * 1, fileId: scope.fileId * 1,
}); })
let blob = new Blob([response]); let blob = new Blob([response])
if ("download" in document.createElement("a")) { if ('download' in document.createElement('a')) {
let elink = document.createElement("a"); let elink = document.createElement('a')
elink.download = scope.fileName; elink.download = scope.fileName
elink.style.display = "none"; elink.style.display = 'none'
elink.href = URL.createObjectURL(blob); elink.href = URL.createObjectURL(blob)
document.body.appendChild(elink); document.body.appendChild(elink)
elink.click(); elink.click()
URL.revokeObjectURL(elink.href); // 释放URL 对象 URL.revokeObjectURL(elink.href) // 释放URL 对象
document.body.removeChild(elink); document.body.removeChild(elink)
} }
}, },
handleMouseEnter(msg) { handleMouseEnter(msg) {
console.log(this.$refs[msg], "this.$refs[msg].style"); console.log(this.$refs[msg], 'this.$refs[msg].style')
// this.$refs[msg].style.whiteSpace = 'normal'; // this.$refs[msg].style.whiteSpace = 'normal';
}, },
handleMouseLeave(msg) { handleMouseLeave(msg) {
// this.$refs[msg].style.whiteSpace = 'nowrap'; // this.$refs[msg].style.whiteSpace = 'nowrap';
}, },
}, },
}; }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.main { .main {
...@@ -1410,9 +1309,9 @@ h3 { ...@@ -1410,9 +1309,9 @@ h3 {
} }
.filedp { .filedp {
text-align: left; text-align: left;
width:600px; width: 600px;
p{ p {
display: inline-block; display: inline-block;
width: 88%; width: 88%;
white-space: nowrap; white-space: nowrap;
...@@ -1421,11 +1320,10 @@ h3 { ...@@ -1421,11 +1320,10 @@ h3 {
height: 30px; height: 30px;
margin-top: 5px; margin-top: 5px;
} }
.tips{ .tips {
font-weight: 600; font-weight: 600;
} }
span { span {
// margin-right: 8px; // margin-right: 8px;
display: inline-block; display: inline-block;
width: 50%; width: 50%;
...@@ -1433,13 +1331,12 @@ h3 { ...@@ -1433,13 +1331,12 @@ h3 {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
} }
.upload-demo { .upload-demo {
display: inline-block; display: inline-block;
vertical-align: top; vertical-align: top;
} }
.upload_box{ .upload_box {
vertical-align: top; vertical-align: top;
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!