Commit f891557f by liangzhen

暂存

1 parent c37ff517
......@@ -293,6 +293,7 @@ export default {
mixins: [tableMixin],
data() {
return {
openBar:true,
yearsList: generateYearOptions(),
listData: {},
qdtableData: [],
......@@ -329,6 +330,20 @@ export default {
lctableData: [],
}
},
watch: {
openBar(n, o) {
let elements = document.querySelectorAll(".fromItem");
if (o) {
elements.forEach(function (el) {
el.style.display = "none";
});
} else {
elements.forEach(function (el) {
el.style.display = "block";
});
}
},
},
mounted() {
this.ruleForm.batchName = this.$route.query.batchName
this.ruleForm.projectId = this.$route.query.projCode
......
......@@ -436,6 +436,7 @@ export default {
mixins: [tableMixin],
data() {
return {
openBar:true,
quesoptions: [],
form: {
projectStage: '',
......@@ -488,6 +489,20 @@ export default {
projectStageOptions: [null, '可研', '计划', '采购', '合同', '执行', '结决算及转资'],
}
},
watch: {
openBar(n, o) {
let elements = document.querySelectorAll(".fromItem");
if (o) {
elements.forEach(function (el) {
el.style.display = "none";
});
} else {
elements.forEach(function (el) {
el.style.display = "block";
});
}
},
},
mounted() {
console.log(this.$route.query, 'this.$route.query')
this.ruleForm.batchName = this.$route.query.batchName
......
......@@ -669,6 +669,7 @@ export default {
addcurrentPage: 1,
addtableData: [],
message: {},
openBar:true,
}
},
mounted() {
......@@ -717,6 +718,20 @@ export default {
}
},
},
watch: {
openBar(n, o) {
let elements = document.querySelectorAll(".fromItem");
if (o) {
elements.forEach(function (el) {
el.style.display = "none";
});
} else {
elements.forEach(function (el) {
el.style.display = "block";
});
}
},
},
methods: {
timeChange(time) {
......
......@@ -2,6 +2,9 @@
<template>
<div class="main">
<el-form :model="ruleForm" label-width="100px" class="demo-ruleForm" ref="formName">
<div class="upicon" :class="openBar?'upicon':'downicon'" @click="openBar=!openBar">
<i class="el-icon-bottom"></i>
</div>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
......@@ -545,6 +548,7 @@ export default {
addcurrentPage: 1,
addtableData: [],
message: {},
openBar:true,
}
},
filters: {
......@@ -571,6 +575,18 @@ export default {
this.submitForm()
},
},
openBar(n, o) {
let elements = document.querySelectorAll(".fromItem");
if (o) {
elements.forEach(function (el) {
el.style.display = "none";
});
} else {
elements.forEach(function (el) {
el.style.display = "block";
});
}
},
},
mounted() {
// this.submitForm();
......
......@@ -2,7 +2,10 @@
<template>
<div class="main">
<el-form :model="ruleForm" ref="formName" label-width="100px" class="demo-ruleForm">
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<div class="upicon" :class="openBar?'upicon':'downicon'" @click="openBar=!openBar">
<i class="el-icon-bottom"></i>
</div>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem fromItemShow ">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
......@@ -12,7 +15,7 @@
/>
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem fromItemShow">
<el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input>
</el-form-item>
<!-- <el-form-item label="后评估批次状态:" prop="batchState" class="fromItem">
......@@ -22,13 +25,13 @@
</el-select>
</el-form-item> -->
<el-form-item label="项目编码:" prop="projectId" class="fromItem">
<el-form-item label="项目编码:" prop="projectId" class="fromItem fromItemShow">
<el-input v-model="ruleForm.projectId" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem" show-overflow-tooltip>
<el-form-item label="项目名称:" prop="projectName" class="fromItem fromItemShow" show-overflow-tooltip>
<el-input v-model="ruleForm.projectName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目年度:" prop="projectYear" class="fromItem">
<el-form-item label="项目年度:" prop="projectYear" class="fromItem fromItemShow">
<el-select v-model="ruleForm.projectYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
......@@ -38,7 +41,7 @@
/>
</el-select>
</el-form-item>
<el-form-item label="项目审核状态:" prop="postEvalState" class="fromItem">
<el-form-item label="项目审核状态:" prop="postEvalState" class="fromItem fromItemShow">
<el-select v-model="ruleForm.postEvalState" placeholder="请选择" clearable>
<!-- <el-option label="材料未上传" value="0"></el-option> -->
<el-option label="待评估" value="1"></el-option>
......@@ -48,7 +51,7 @@
</el-select>
</el-form-item>
<el-form-item label="计划评估日期:" prop="planTime" class="fromItem">
<el-form-item label="计划评估日期:" prop="planTime" class="fromItem fromItemShow">
<el-date-picker
@change="timeChange"
v-model="ruleForm.dates"
......@@ -483,6 +486,7 @@ export default {
fileList: [],
subdisabled: false,
confirmdisabled: false,
openBar:true,
}
},
filters: {
......@@ -508,6 +512,18 @@ export default {
this.submitForm()
},
},
openBar(n, o) {
let elements = document.querySelectorAll(".fromItemShow");
if (o) {
elements.forEach(function (el) {
el.style.display = "none";
});
} else {
elements.forEach(function (el) {
el.style.display = "block";
});
}
},
},
mounted() {
// this.submitForm();
......@@ -1039,7 +1055,7 @@ export default {
}
.el-form {
display: flex;
width: 100%;
width: 99%;
flex-wrap: wrap;
border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7;
......
<template>
<div class="main">
<el-form :model="ruleForm" ref="formName" label-width="100px" class="demo-ruleForm">
<div :class="openBar?'upicon':'downicon'" @click="openBar=!openBar">
<i class="el-icon-bottom"></i>
</div>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
......
......@@ -2,6 +2,9 @@
<template>
<div class="main">
<el-form :model="ruleForm" ref="formName" label-width="100px" class="demo-ruleForm">
<div :class="openBar?'upicon':'downicon'" @click="openBar=!openBar">
<i class="el-icon-bottom"></i>
</div>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
......
......@@ -2,6 +2,9 @@
<template>
<div class="main">
<el-form :model="ruleForm" label-width="100px" class="demo-ruleForm" ref="formName">
<div :class="openBar?'upicon':'downicon'" @click="openBar=!openBar">
<i class="el-icon-bottom"></i>
</div>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
......
......@@ -2,6 +2,9 @@
<template>
<div class="main">
<el-form :model="ruleForm" label-width="100px" class="demo-ruleForm" ref="formName">
<div class="upicon" :class="openBar?'upicon':'downicon'" @click="openBar=!openBar">
<i class="el-icon-bottom"></i>
</div>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
......@@ -469,6 +472,7 @@ export default {
mixins: [tableMixin],
data() {
return {
openBar:false,
yearsList: generateYearOptions(),
oldid: '',
ruleForm: {
......
......@@ -2,6 +2,9 @@
<template>
<div class="main">
<el-form :model="ruleForm" ref="formName" label-width="100px" class="demo-ruleForm">
<div :class="openBar?'upicon':'downicon'" @click="openBar=!openBar">
<i class="el-icon-bottom"></i>
</div>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
......@@ -482,6 +485,7 @@ export default {
fileList: [],
subdisabled: false,
confirmdisabled: false,
openBar:false,
}
},
filters: {
......@@ -1037,7 +1041,7 @@ export default {
}
.el-form {
display: flex;
width: 100%;
width: 99%;
flex-wrap: wrap;
border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7;
......
<template>
<div class="main">
<el-form :model="ruleForm" ref="formName" label-width="100px" class="demo-ruleForm">
<div class="upicon" :class="openBar?'upicon':'downicon'" @click="openBar=!openBar">
<el-form
:model="ruleForm"
ref="formName"
label-width="100px"
class="demo-ruleForm"
>
<div
:class="openBar ? 'upicon' : 'downicon'"
@click="openBar = !openBar"
>
<i class="el-icon-bottom"></i>
</div>
<el-form-item label="项目编码:" prop="projectCode" class="fromItem">
......@@ -13,7 +21,11 @@
></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input v-model="ruleForm.projectName" placeholder="请输入" clearable></el-input>
<el-input
v-model="ruleForm.projectName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="计划年度:" prop="issueYear" class="fromItem">
<el-select v-model="ruleForm.issueYear" placeholder="请选择" clearable>
......@@ -26,17 +38,29 @@
</el-select>
</el-form-item>
<el-form-item label="建设形式:" prop="constructionForm" class="fromItem">
<el-select v-model="ruleForm.constructionForm" placeholder="请选择" clearable>
<el-select
v-model="ruleForm.constructionForm"
placeholder="请选择"
clearable
>
<el-option label="独立建设" value="1"></el-option>
<el-option label="统推" value="2"></el-option>
<el-option label="自建" value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item label="合同编码:" prop="contractNumber" class="fromItem">
<el-input v-model="ruleForm.contractNumber" placeholder="请输入" clearable></el-input>
<el-input
v-model="ruleForm.contractNumber"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="合同名称:" prop="contractName" class="fromItem">
<el-input v-model="ruleForm.contractName" placeholder="请输入" clearable></el-input>
<el-input
v-model="ruleForm.contractName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<!-- <el-form-item label="部门:" prop="department" class="fromItem">
<el-input
......@@ -66,7 +90,10 @@
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
@row-click="
(row, column, event) =>
handleRowClick(row, column, event, 'multipleTable')
"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -76,16 +103,22 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column prop="projectCode" label="项目编码" width="140"> </el-table-column>
<el-table-column prop="projectCode" label="项目编码" width="140">
</el-table-column>
<el-table-column prop="projectName" label="项目名称" show-overflow-tooltip>
<el-table-column
prop="projectName"
label="项目名称"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="issueYear" label="计划年度" width="90">
<template slot-scope="scope">
{{ scope.row.issueYear ? scope.row.issueYear + '年' : '' }}
{{ scope.row.issueYear ? scope.row.issueYear + "年" : "" }}
</template>
</el-table-column>
<el-table-column prop="projectType" label="项目类型" width="120">
......@@ -93,23 +126,50 @@
<span v-show="scope.row.type"> {{ scope.row.type | proType }}</span>
</template>
</el-table-column>
<el-table-column prop="constructionFormText" label="建设形式" width="90"> </el-table-column>
<el-table-column prop="startupStatus" label="启动日期" width="90"> </el-table-column>
<el-table-column prop="accountingStatus" label="入账状态" width="90"> </el-table-column>
<el-table-column prop="accountingProportion" label="累计入账占比" width="90">
<template slot-scope="scope"> {{ scope.row.accountingProportion }}% </template>
<el-table-column
prop="constructionFormText"
label="建设形式"
width="90"
>
</el-table-column>
<el-table-column prop="startupStatus" label="启动日期" width="90">
</el-table-column>
<el-table-column prop="accountingStatus" label="入账状态" width="90">
</el-table-column>
<el-table-column
prop="accountingProportion"
label="累计入账占比"
width="90"
>
<template slot-scope="scope">
{{ scope.row.accountingProportion }}%
</template>
</el-table-column>
<el-table-column prop="entryAmount" label="入账金额(万)" width="120">
</el-table-column>
<el-table-column prop="currentProgress" label="当前进度" width="120">
</el-table-column>
<el-table-column
prop="contractNumber"
label="合同编码"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="entryAmount" label="入账金额(万)" width="120"> </el-table-column>
<el-table-column prop="currentProgress" label="当前进度" width="120"> </el-table-column>
<el-table-column prop="contractNumber" label="合同编码" show-overflow-tooltip>
<el-table-column
prop="contractName"
label="合同名称"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="contractName" label="合同名称" width="auto" show-overflow-tooltip>
<el-table-column prop="projectLeader" label="项目负责人" width="120">
</el-table-column>
<el-table-column prop="projectLeader" label="项目负责人" width="120"> </el-table-column>
<el-table-column label="操作" width="120">
<template slot-scope="scope">
<el-button @click="upload(scope.row)" type="text" size="small">操作</el-button>
<el-button @click="upload(scope.row)" type="text" size="small"
>操作</el-button
>
<!-- <el-button @click="changeLX(scope.row)" type="text" size="small" v-if="scope.row.projectType"
>更换项目类型</el-button
> -->
......@@ -138,7 +198,10 @@
<template slot="title">
<div class="custom_dialog_header">
<span class="el_dialog_title">项目文档</span>
<div class="custom_dialog_menu" @click="dialogFullScreen = !dialogFullScreen">
<div
class="custom_dialog_menu"
@click="dialogFullScreen = !dialogFullScreen"
>
<i class="el-icon-full-screen"></i>
</div>
</div>
......@@ -156,12 +219,22 @@
:span-method="arraySpanMethod"
border
>
<el-table-column label="材料类别" prop="projectStagetext" width="100">
<el-table-column
label="材料类别"
prop="projectStagetext"
width="100"
>
</el-table-column>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<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 prop="fullName" label="资料名称" show-overflow-tooltip>
<el-table-column label="资料类型" prop="materialName" width="300">
</el-table-column>
<el-table-column
prop="fullName"
label="资料名称"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="caozuo" label="操作" width="350">
<template slot-scope="scope">
......@@ -171,7 +244,7 @@
:multiple="true"
:http-request="
(res) => {
return fileupdate(scope.row, res)
return fileupdate(scope.row, res);
}
"
:on-change="uploadChange"
......@@ -249,8 +322,10 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column prop="fullTime" label="上传日期" width="200"> </el-table-column>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column prop="fullTime" label="上传日期" width="200">
</el-table-column>
<!-- <el-table-column
prop="materialName"
label="资料类型"
......@@ -258,7 +333,12 @@
show-overflow-tooltip
>
</el-table-column> -->
<el-table-column prop="fullName" label="文件名称" width="auto" show-overflow-tooltip>
<el-table-column
prop="fullName"
label="文件名称"
width="auto"
show-overflow-tooltip
>
</el-table-column>
</el-table>
</el-dialog>
......@@ -293,7 +373,12 @@
</el-tabs>
</el-dialog>
</el-dialog>
<el-dialog title="请选择您要操作的项目类型" class="tips" :visible.sync="showType" width="40%">
<el-dialog
title="请选择您要操作的项目类型"
class="tips"
:visible.sync="showType"
width="40%"
>
<el-form :model="form" class="projectType">
<el-form-item label="项目类型" prop="projectType">
<el-select v-model="form.projectType" placeholder="请选择项目类型">
......@@ -306,7 +391,10 @@
</el-form-item>
<el-form-item class="rightBtn">
<el-button @click="showType = false">取 消</el-button>
<el-button type="primary" @click="projectType()" :disabled="!form.projectType"
<el-button
type="primary"
@click="projectType()"
:disabled="!form.projectType"
>确 定</el-button
>
</el-form-item>
......@@ -316,7 +404,11 @@
</template>
<script>
import { generateYearOptions, constructionFormText, MaterialsList } from '@/utils/cache'
import {
generateYearOptions,
constructionFormText,
MaterialsList,
} from "@/utils/cache";
import {
pmProInitiation,
MaterialWarehous,
......@@ -328,29 +420,29 @@ import {
HistoryVersion,
presignedUrl,
postExist,
} from '@/api/index'
import { Loading } from 'element-ui'
import tableMixin from '@/mixins/table.mixin.js'
} from "@/api/index";
import { Loading } from "element-ui";
import tableMixin from "@/mixins/table.mixin.js";
export default {
mixins: [tableMixin],
data() {
return {
openBar:false,
openBar: true,
dialogFullScreen: false,
tableHistory: [],
processen: '',
processen: "",
fileList: [],
tableDataNew: MaterialsList(),
checkedList: [],
yearsList: generateYearOptions(),
ruleForm: {
projectCode:'',
projectName:"",
issueYear:"",
constructionForm:"",
contractNumber:"",
contractName:"",
projectCode: "",
projectName: "",
issueYear: "",
constructionForm: "",
contractNumber: "",
contractName: "",
},
tableData: [],
currentPage: 1,
......@@ -363,101 +455,121 @@ export default {
form: {},
rowdata: {},
rules: {
projectType: [{ required: true, message: '请选择项目类型', trigger: 'change' }],
projectType: [
{ required: true, message: "请选择项目类型", trigger: "change" },
],
},
innerVisible: false,
upprojectType: '',
upprojectType: "",
dialogVisible: false,
activeName: '0',
activeName: "0",
tabListYL: [],
iframeUrl: '',
blobType: '',
iframeUrl: "",
blobType: "",
inspectdisabled: true,
mergingPos: 0,
mergingRows: [],
};
},
watch: {
openBar(n, o) {
let elements = document.querySelectorAll(".fromItem");
if (o) {
elements.forEach(function (el) {
el.style.display = "none";
});
} else {
elements.forEach(function (el) {
el.style.display = "block";
});
}
},
},
filters: {
proType(val) {
if (val == 1) {
return '咨询设计类'
return "咨询设计类";
} else if (val == 2) {
return '开发实施类'
return "开发实施类";
} else if (val == 3) {
return '业务运营类'
return "业务运营类";
} else if (val == 4) {
return '数据工程类'
return "数据工程类";
} else if (val == 5) {
return '产品购置类'
return "产品购置类";
}
},
},
mounted() {
if (this.$route.query.projectId) {
this.ruleForm.projectCode = this.$route.query.projectId
this.ruleForm.projectCode = this.$route.query.projectId;
}
if (this.$route.query.contractNumber) {
this.ruleForm.contractNumber = this.$route.query.contractNumber
this.ruleForm.contractNumber = this.$route.query.contractNumber;
}
this.submitForm()
this.processenv =SystemConfig.VUE_APP_BASE_URL
this.submitForm();
this.processenv = SystemConfig.VUE_APP_BASE_URL;
},
methods: {
numberVal(val) {
this.$forceUpdate()
this.$forceUpdate();
},
noFullScreen() {
console.log('关闭了')
this.dialogFullScreen = false
console.log("关闭了");
this.dialogFullScreen = false;
},
upload(row) {
this.ruleFormdialog = row
this.ruleFormdialog = row;
if (!row.type) {
this.form = {}
this.showType = true
this.form = {};
this.showType = true;
} else {
this.upprojectType = row.type
this.MaterialWarehous(row.type)
this.upprojectType = row.type;
this.MaterialWarehous(row.type);
}
},
changeLX() {
this.$confirm('切换项目类型将删除历史上传文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
this.$confirm("切换项目类型将删除历史上传文件, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then((res) => {
this.form = {}
this.showType = true
this.form = {};
this.showType = true;
})
.catch()
.catch();
},
dataPretreatment() {
for (let i = 0; i < this.tableDataQR.length; i++) {
// tabledata 表格数据源
if (i === 0) {
this.mergingRows.push(1)
this.mergingPos = 0
this.mergingRows.push(1);
this.mergingPos = 0;
} else {
if (this.tableDataQR[i].projectStage === this.tableDataQR[i - 1].projectStage) {
if (
this.tableDataQR[i].projectStage ===
this.tableDataQR[i - 1].projectStage
) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1
this.mergingRows.push(0)
this.mergingRows[this.mergingPos] += 1;
this.mergingRows.push(0);
} else {
this.mergingRows.push(1)
this.mergingPos = i
this.mergingRows.push(1);
this.mergingPos = i;
}
}
}
},
projectType() {
console.log(this.form.projectType, '2222')
this.chpmProInitiation(this.form.projectType)
this.MaterialWarehous(this.form.projectType)
this.showType = false
this.upprojectType = this.form.projectType
console.log(this.form.projectType, "2222");
this.chpmProInitiation(this.form.projectType);
this.MaterialWarehous(this.form.projectType);
this.showType = false;
this.upprojectType = this.form.projectType;
},
async downloadObjectStr(row) {
let params = {
......@@ -465,178 +577,182 @@ export default {
fullNameStr: row.fullName,
fullUrlStr: row.fullUrl,
materialName: row.materialName,
}
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.materialName + '压缩文件' // 重命名文件
link.click()
URL.revokeObjectURL(url) // 释放内存
};
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.materialName + "压缩文件"; // 重命名文件
link.click();
URL.revokeObjectURL(url); // 释放内存
},
async delAll(row) {
console.log(row, '6666666666666')
this.$confirm('此操作将删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
console.log(row, "6666666666666");
this.$confirm("此操作将删除该文件, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(async () => {
let params = {
fileIdStr: row.fullId,
}
let response = await delAll(params)
};
let response = await delAll(params);
if (response.code == 200) {
this.$message({
type: 'success',
message: '删除成功!',
})
this.MaterialWarehous(this.upprojectType)
type: "success",
message: "删除成功!",
});
this.MaterialWarehous(this.upprojectType);
} else {
this.$message({
type: 'info',
message: '删除失败!',
})
type: "info",
message: "删除失败!",
});
}
})
.catch(() => {})
.catch(() => {});
},
async chpmProInitiation(projectType) {
let params = {
...this.ruleFormdialog,
}
params.projectType = projectType
let res = await chpmProInitiation(params)
this.submitForm()
};
params.projectType = projectType;
let res = await chpmProInitiation(params);
this.submitForm();
},
async MaterialWarehous(projectType) {
this.mergingPos = 0
this.mergingRows = []
this.tableDataQR = []
console.log('不调接口了')
this.dialog = true
this.mergingPos = 0;
this.mergingRows = [];
this.tableDataQR = [];
console.log("不调接口了");
this.dialog = true;
let params = {
proType: projectType,
contractNumber: this.ruleFormdialog.contractNumber,
prjId: this.ruleFormdialog.projectCode,
}
let res = await MaterialWarehous(params)
this.tableDataQR = res.data.records
console.log(this.tableDataQR, 'this.tableDataQR')
};
let res = await MaterialWarehous(params);
this.tableDataQR = res.data.records;
console.log(this.tableDataQR, "this.tableDataQR");
this.tableDataQR.forEach((item) => {
switch (item.projectStage) {
case '1':
this.$set(item, 'projectStagetext', '可研')
break
case '2':
this.$set(item, 'projectStagetext', '计划')
break
case '3':
this.$set(item, 'projectStagetext', '采购')
break
case '4':
this.$set(item, 'projectStagetext', '合同')
break
case '5':
this.$set(item, 'projectStagetext', '执行')
break
case '6':
this.$set(item, 'projectStagetext', '结决算及转资')
break
case "1":
this.$set(item, "projectStagetext", "可研");
break;
case "2":
this.$set(item, "projectStagetext", "计划");
break;
case "3":
this.$set(item, "projectStagetext", "采购");
break;
case "4":
this.$set(item, "projectStagetext", "合同");
break;
case "5":
this.$set(item, "projectStagetext", "执行");
break;
case "6":
this.$set(item, "projectStagetext", "结决算及转资");
break;
}
})
this.dataPretreatment()
});
this.dataPretreatment();
},
resetForm() {
this.$refs.formName.resetFields()
this.currentPage = 1
this.pageSize = 10
this.submitForm()
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm();
},
async submitForm(info) {
if(info==999){
this.currentPage=1
if (info == 999) {
this.currentPage = 1;
}
let params = {
current: this.currentPage,
pageSize: this.pageSize,
}
Object.assign(params, this.ruleForm)
let res = await pmProInitiation(params)
if (res.code == '200') {
this.tableData = res.data.records
};
Object.assign(params, this.ruleForm);
let res = await pmProInitiation(params);
if (res.code == "200") {
this.tableData = res.data.records;
this.$nextTick(() => {
if (this.$refs.multipleTable && this.$refs.multipleTable.doLayout) {
this.$refs.multipleTable.doLayout() // 解决表格错位
this.$refs.multipleTable.doLayout(); // 解决表格错位
}
})
});
this.tableData.forEach((item) => {
this.$set(item, 'constructionFormText', constructionFormText(item.constructionForm))
})
this.total = res.data.total * 1
this.dialogXQ = true
this.$set(
item,
"constructionFormText",
constructionFormText(item.constructionForm)
);
});
this.total = res.data.total * 1;
this.dialogXQ = true;
}
},
//主列表选中行信息
handleSelectionChange(selection) {
if (selection.length > 0) {
this.inspectdisabled = false
this.inspectdisabled = false;
if (Array.isArray(selection) && selection.length > 1) {
this.$refs.multipleTable.toggleRowSelection(selection[0], false)
this.$refs.multipleTable.toggleRowSelection(selection[1], true)
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
}
this.ruleFormdialog = this.$refs.multipleTable.selection[0]
this.ruleFormdialog = this.$refs.multipleTable.selection[0];
if (!this.ruleFormdialog.type) {
this.inspectdisabled = true
this.inspectdisabled = true;
}
} else {
this.inspectdisabled = true
this.inspectdisabled = true;
}
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`)
this.pageSize = val
this.submitForm()
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm();
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`)
this.currentPage = val
this.submitForm()
console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm();
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return 'warning-row'
return "warning-row";
}
return ''
return "";
},
cancel() {
this.dialog = false
this.dialog = false;
},
preserve() {
this.dialog = false
this.dialog = false;
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`)
this.pageSize = val
this.submitForm()
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm();
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`)
this.currentPage = val
this.submitForm()
console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm();
},
async history(msg) {
let res = await HistoryVersion({
...msg,
contractNumber: this.ruleFormdialog.contractNumber,
prjId: this.ruleFormdialog.projectCode,
})
this.tableHistory = res.data.records
this.innerVisible = true
});
this.tableHistory = res.data.records;
this.innerVisible = true;
},
// handleRemove(file, fileList) {
// //文件移出
......@@ -664,164 +780,169 @@ export default {
// this.fileList = fileList;
},
fileupdate(items, list) {
console.log(items, 'list')
this.fileList.push(list.file)
this.debounce(this.submitFile, 500, items)
console.log(items, "list");
this.fileList.push(list.file);
this.debounce(this.submitFile, 500, items);
},
debounce(fn, waits, items) {
if (this.timer) {
clearTimeout(this.timer)
this.timer = null
clearTimeout(this.timer);
this.timer = null;
}
this.timer = setTimeout(() => {
fn.apply(this, arguments) // 把参数传进去
}, waits)
fn.apply(this, arguments); // 把参数传进去
}, waits);
},
submitFile(items) {
console.log(arguments[2], 'arguments')
console.log(arguments[2], "arguments");
if (this.fileList.length === 0) {
this.$message.success('请上传文件')
return
this.$message.success("请上传文件");
return;
}
this.uploadLoading = true
let formData = new FormData() // 用FormData存放上传文件
this.uploadLoading = true;
let formData = new FormData(); // 用FormData存放上传文件
this.fileList.forEach((file) => {
formData.append('file', file) // file.raw
})
formData.append('typeCode', arguments[2].mid)
formData.append('prjId', this.ruleFormdialog.projectCode)
formData.append('bathId', this.ruleFormdialog.contractNumber)
formData.append("file", file); // file.raw
});
formData.append("typeCode", arguments[2].mid);
formData.append("prjId", this.ruleFormdialog.projectCode);
formData.append("bathId", this.ruleFormdialog.contractNumber);
ossuploadStr(formData)
.then((response) => {
if (response.code == '200') {
this.fileList = []
this.MaterialWarehous(this.upprojectType)
this.$refs['upload' + arguments[2].mid].clearFiles()
this.$message('上传成功')
if (response.code == "200") {
this.fileList = [];
this.MaterialWarehous(this.upprojectType);
this.$refs["upload" + arguments[2].mid].clearFiles();
this.$message("上传成功");
} else {
this.$message('上传失败')
this.$message("上传失败");
}
})
.catch((error) => {
// console.error(error);
// this.$message("上传失败");
})
});
},
handleSuccess(response, file, fileList) {
// 提交保存成功后清空已上传的文件
// this.$refs.upload.clearFiles();
},
async preview(row) {
this.tabListYL = []
console.log(row.fullName, '33333')
let array = row.fullName.split(',')
this.tabListYL = [];
console.log(row.fullName, "33333");
let array = row.fullName.split(",");
array.forEach((item, index) => {
this.tabListYL.push({
name: item,
id: row.fullId.split(',')[index],
url: row.fullUrl.split(',')[index],
})
})
console.log(this.tabListYL, 'this.tabListYL')
this.downloadObject('0')
id: row.fullId.split(",")[index],
url: row.fullUrl.split(",")[index],
});
});
console.log(this.tabListYL, "this.tabListYL");
this.downloadObject("0");
},
handleClick(tab) {
console.log('切换', tab.name, this.tabListYL[tab.name].iframeUrl)
console.log("切换", tab.name, this.tabListYL[tab.name].iframeUrl);
if (!this.tabListYL[tab.name].iframeUrl) {
this.downloadObject(tab.name + '')
this.downloadObject(tab.name + "");
}
},
async downloadObject(index) {
let loadingInstance
let loadingInstance;
loadingInstance = Loading.service({
lock: true,
text: '文件加载中,请耐心等待...',
})
this.blobType = ''
console.log(this.tabListYL, 'this.tabListYL')
let resUrl = await downloadObject({ fileId: this.tabListYL[index].id })
loadingInstance.close()
text: "文件加载中,请耐心等待...",
});
this.blobType = "";
console.log(this.tabListYL, "this.tabListYL");
let resUrl = await downloadObject({ fileId: this.tabListYL[index].id });
loadingInstance.close();
if (
this.tabListYL[index].url.slice(-3) == 'pdf' ||
this.tabListYL[index].url.slice(-3) == 'doc'
this.tabListYL[index].url.slice(-3) == "pdf" ||
this.tabListYL[index].url.slice(-3) == "doc"
) {
this.blobType = 'pdf'
const binaryData = []
binaryData.push(resUrl)
let URL = window.URL.createObjectURL(new Blob(binaryData, { type: 'application/pdf' }))
this.blobType = "pdf";
const binaryData = [];
binaryData.push(resUrl);
let URL = window.URL.createObjectURL(
new Blob(binaryData, { type: "application/pdf" })
);
this.$nextTick(() => {
this.$set(this.tabListYL[index], 'iframeUrl', URL + '#view=FitH,top')
})
} else if (this.tabListYL[index].url.slice(-4) == 'docx') {
this.blobType = 'docx'
let docx = require('docx-preview')
this.$set(this.tabListYL[index], "iframeUrl", URL + "#view=FitH,top");
});
} else if (this.tabListYL[index].url.slice(-4) == "docx") {
this.blobType = "docx";
let docx = require("docx-preview");
this.$nextTick(() => {
docx.renderAsync(resUrl, document.getElementById(`word${this.tabListYL[index].url}`)) // 渲染到页面预览
})
docx.renderAsync(
resUrl,
document.getElementById(`word${this.tabListYL[index].url}`)
); // 渲染到页面预览
});
} else {
let paramsImg = {
fileId: this.tabListYL[index].id,
url: this.tabListYL[index].url,
}
let resUrl = await presignedUrl(paramsImg)
};
let resUrl = await presignedUrl(paramsImg);
// this.iframeUrl="http://view.officeapps.live.com/op/view.aspx?src=http://arch-file.oss-cn-beijing.aliyuncs.com/66a83f6f4386f71e7b950b87.doc?Expires=1722907981&OSSAccessKeyId=LTAI5tGjidtvVSCvwGxTp8FH&Signature=4p2boWzux%2FscZHWQz2E4gVRF94w%3D"
}
console.log(this.blobType)
console.log(this.blobType);
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
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
}
};
}
},
postExist(row) {
let params = {
contractNumber: this.ruleFormdialog.contractNumber,
projectCode: this.ruleFormdialog.projectCode,
}
};
postExist(params).then((res) => {
if (res.data.exist) {
this.$alert('项目流程审批中,请勿上传新的文件', '提示', {
confirmButtonText: '确定',
this.$alert("项目流程审批中,请勿上传新的文件", "提示", {
confirmButtonText: "确定",
callback: (action) => {
// this.$message({
// type: "info",
// message: `action: ${action}`,
// });
},
})
return
});
return;
} else {
this.uploadFiles(row)
this.uploadFiles(row);
}
})
});
},
uploadFiles(row) {
if (row.fullId) {
this.$confirm('已有文件,本次上传将覆盖历史上传文件,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
this.$confirm("已有文件,本次上传将覆盖历史上传文件,是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then((res) => {
this.$refs['upload' + row.mid].$refs['upload-inner'].handleClick()
this.$refs["upload" + row.mid].$refs["upload-inner"].handleClick();
})
.catch()
.catch();
} else {
this.$refs['upload' + row.mid].$refs['upload-inner'].handleClick()
this.$refs["upload" + row.mid].$refs["upload-inner"].handleClick();
}
},
},
}
};
</script>
<style scoped lang="scss">
.main {
......
......@@ -272,13 +272,15 @@ export default {
.el-form{
margin: 0 !important;
position: relative;
box-sizing: border-box;
padding-right: 20px !important;
.upicon{
position: absolute;
width: 30px;
height:30px;
border-radius: 50%;
background: #23c6c8;
right: 15px;
right: 0;
.el-icon-bottom:before {
content: "\e6eb";
color: #fff;
......@@ -294,7 +296,7 @@ export default {
height:30px;
border-radius: 50%;
background: #23c6c8;
right: 15px;
right:0;
transform: rotate(180deg);
.el-icon-bottom:before {
content: "\e6eb";
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!