Commit 6f670224 authored by 张冬's avatar 张冬

澄清公告编辑

parent f35e9be1
......@@ -76,6 +76,16 @@ export function forwardClarify(data) {
data: data
})
}
// 修改澄清公告
export function editClarifiesNotice(data) {
return request({
url: '/tender-clarifies/edit-clarifiesNotice',
method: 'POST',
data: data
})
}
// 问题内容接口
......
......@@ -153,7 +153,8 @@ img {
background: #fff;
margin-bottom: 20px;
box-sizing: border-box;
padding: 10px
padding: 10px;
position: relative;
}
.content-head>h3 {
......
......@@ -78,6 +78,8 @@ export default {
let value = []
for (let i = 0; i < fileList.length; i++) {
let message = {}
message.name = fileList[i].name
message.url = fileList[i].url
message.fileName = fileList[i].name
message.fileUrl = fileList[i].url
message.uid=fileList[i].uid
......@@ -123,6 +125,7 @@ export default {
let objName = getFileNameUUID()
// 调用 ali-oss 中的方法
put(`${objName}${option.file.name}`, option.file).then(res => {
console.log(res)
this.fileList.push(res)
console.log(this.fileList)
this.emitInput(this.fileList)
......
......@@ -69,6 +69,8 @@ export default {
console.log(fileList)
for (let i = 0; i < fileList.length; i++) {
let message = {}
message.name = fileList[i].name
message.url = fileList[i].url
message.fileName = fileList[i].name
message.fileUrl = fileList[i].url
value.push(message)
......
......@@ -30,8 +30,15 @@
<el-button type="text" size="small" @click="handleSee(scope.row)">查看</el-button>
</div>
<div v-else>
<el-button v-if="scope.row.noticeId" type="text" size="small" @click="handleSee(scope.row)">查看</el-button>
<el-button v-else type="text" size="small" @click="handleReply(scope.row)">回复</el-button>
<div v-if="scope.row.status == 2">
<el-button type="text" size="small" @click="edit(scope.row.noticeId)">修改</el-button>
</div>
<div v-else>
<el-button v-if="scope.row.noticeId" type="text" size="small" @click="handleSee(scope.row)"
>查看</el-button
>
<el-button v-else type="text" size="small" @click="handleReply(scope.row)">回复</el-button>
</div>
</div>
</template>
</el-table-column>
......@@ -130,12 +137,16 @@ export default {
this.pageObj1.companyId = localStorage.getItem('companyId');
},
methods: {
back() {
back() {
this.$router.go(-1);
},
getIndex(value) {
this.idx = value;
},
//修改
edit(noticeId){
this.$router.push(`/purchaser/bid/bidStage/clearManagement/propose?type=1&noticeId=${noticeId}`);
},
// 提出
propose() {
this.$router.push('/purchaser/bid/bidStage/clearManagement/propose');
......
<template>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>提出澄清</h3>
<h5>提出澄清</h5>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>{{title}}澄清</h3>
<h5>{{title}}澄清</h5>
<div v-if="type==1" class="abs">
<div>拒绝原因:{{ruleForm.reason}}</div>
</div>
<div class="content">
<div class="describe">澄清公告信息</div>
<div class="form">
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm">
<el-form-item label="澄清公告标题" prop="title">
<el-input v-model.trim="ruleForm.title" placeholder="请输入" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="公告发布媒体" prop="release">
<el-input v-model="ruleForm.release" disabled></el-input>
</el-form-item>
<el-form-item label="澄清文件" prop="file">
<singleUpload :limit="5" tip="最多上传5个文件,每个文件不超过100M。" @input="getfile"></singleUpload>
</el-form-item>
<el-form-item label="公告内容" prop="content">
<quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" />
</el-form-item>
</el-form>
<div class="centerButton">
<el-button @click="cancle">取消</el-button>
<el-button type="primary" @click="submit">提交审核</el-button>
</div>
</div>
</div>
</div>
</div>
<div class="content">
<div class="describe">澄清公告信息</div>
<div class="form">
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm">
<el-form-item label="澄清公告标题" prop="title">
<el-input v-model.trim="ruleForm.title" placeholder="请输入" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="公告发布媒体" prop="release">
<el-input v-model="ruleForm.release" disabled></el-input>
</el-form-item>
<el-form-item label="澄清文件" prop="file">
<singleUpload :limit="5" tip="最多上传5个文件,每个文件不超过100M。" @input="getfile" :fileList="ruleForm.fileList"></singleUpload>
</el-form-item>
<el-form-item label="公告内容" prop="content">
<quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" />
</el-form-item>
</el-form>
<div class="centerButton">
<el-button @click="cancle">取消</el-button>
<el-button type="primary" @click="submit1" v-if="type==1">提交修改</el-button>
<el-button type="primary" @click="submit" v-else>提交审核</el-button>
</div>
</div>
</div>
</div>
</template>
<script>
import {
forwardClarify
} from '@api/purchaser/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import singleUpload from '@components/Upload/Upload.vue'
import {
quillEditor
} from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
export default {
components: {
dataBreadcrumb,
singleUpload,
quillEditor
},
data() {
// let checkSpace = (rule, value, callback) => {
// console.log(value)
// console.log(value.trim().length)
// console.log(value.split(" ").join("").length)
// if (value.split(" ").join("").length == 0) {
// callback(new Error('请输入'))
// } else {
// callback()
// }
// }
return {
accessoryPOList: [],
editorOption: {},
breads: ['招标管理', '招标项目管理', '工作台'],
ruleForm: {
title: '',
release: '捷安采官网招标投专区'
},
rules: {
title: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
release: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
content: [{
required: true,
message: '请输入',
trigger: 'blur'
},
]
}
}
},
import { forwardClarify,clarifiesDetail,editClarifiesNotice } from '@api/purchaser/bid';
import dataBreadcrumb from '@components/dataBreadcrumb.vue';
import singleUpload from '@components/Upload/Upload.vue';
import { quillEditor } from 'vue-quill-editor';
import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css';
import 'quill/dist/quill.bubble.css';
export default {
components: {
dataBreadcrumb,
singleUpload,
quillEditor
},
data() {
// let checkSpace = (rule, value, callback) => {
// console.log(value)
// console.log(value.trim().length)
// console.log(value.split(" ").join("").length)
// if (value.split(" ").join("").length == 0) {
// callback(new Error('请输入'))
// } else {
// callback()
// }
// }
return {
title:"提出",
type:"",
accessoryPOList: [],
editorOption: {},
breads: ['招标管理', '招标项目管理', '工作台'],
ruleForm: {
title: '',
release: '捷安采官网招标投专区'
},
rules: {
title: [
{
required: true,
message: '请输入',
trigger: 'blur'
}
],
release: [
{
required: true,
message: '请输入',
trigger: 'blur'
}
],
content: [
{
required: true,
message: '请输入',
trigger: 'blur'
}
]
}
};
},
methods: {
getfile(val) {
for (let item of val) {
item.accessoryUrl = item.fileUrl
}
this.ruleForm.accessoryList = val
},
cancle() {
this.$router.go(-1)
},
//提交表单
async submit() {
let ruleForm = this.ruleForm
ruleForm.projectId = localStorage.getItem("projectId")
ruleForm.companyId = localStorage.getItem("companyId")
try {
const valid = await this.$refs['ruleForm'].validate()
if (valid) {
const {
code,
msg
} = await forwardClarify(this.ruleForm)
if (code === 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
})
setTimeout(() => {
this.$router.go(-1)
}, 1500)
}
}
} catch (err) {
console.log(err)
}
}
methods: {
// 查看澄清
async getclarifiesDetail(clarifiesId) {
try {
const { code, data } = await clarifiesDetail(clarifiesId);
if (code === 200) {
data.release="捷安采官网招投标专区"
for(let item of data.fileList){
item.name=item.fileName
item.url=item.fileUrl
}
this.ruleForm = data;
}
} catch (err) {
console.log(err);
}
},
getfile(val) {
console.log(val)
this.ruleForm.fileList = val;
},
cancle() {
this.$router.go(-1);
},
//提交表单
async submit() {
let ruleForm = this.ruleForm;
ruleForm.projectId = localStorage.getItem('projectId');
ruleForm.companyId = localStorage.getItem('companyId');
try {
const valid = await this.$refs['ruleForm'].validate();
if (valid) {
const { code, msg } = await forwardClarify(this.ruleForm);
if (code === 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
});
setTimeout(() => {
this.$router.go(-1);
}, 1500);
}
}
} catch (err) {
console.log(err);
}
},
async submit1() {
let ruleForm = this.ruleForm;
ruleForm.projectId = localStorage.getItem('projectId');
ruleForm.companyId = localStorage.getItem('companyId');
try {
const valid = await this.$refs['ruleForm'].validate();
if (valid) {
const { code, msg } = await editClarifiesNotice(this.ruleForm);
if (code === 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
});
setTimeout(() => {
this.$router.go(-1);
}, 1500);
}
}
} catch (err) {
console.log(err);
}
}
}
},
created() {
let type = this.$route.query.type;
this.type=type
if(type==1){
let noticeId=this.$route.query.noticeId
this.getclarifiesDetail(noticeId)
this.title="编辑"
}
}
};
</script>
<style scoped>
.content {
padding: 0;
padding-bottom: 100px;
}
.content {
padding: 0;
padding-bottom: 100px;
}
.abs{
position: absolute;
right:10px;
bottom:10px
}
</style>
......@@ -18,12 +18,13 @@
</div>
<div v-if="question.accessoryList" class="flex-item">
<div>澄清问题附件:</div>
<ul>
<ul v-if="question.accessoryList!==undefined && question.accessoryList.length>0">
<li v-for="(item,index) in question.accessoryList" :key="index">
<span>{{ item.fileName }}</span>
<el-button @click="download(item.accessoryUrl)">下载</el-button>
</li>
</ul>
<div v-else></div>
</div>
</div>
<h3 class="title">澄清内容</h3>
......@@ -37,14 +38,15 @@
<div>公告发布媒体:</div>
<div>捷安采官网招投标专区</div>
</div>
<div v-if="clarifies.accessoryList" class="flex-item">
<div class="flex-item">
<div>澄清问题附件:</div>
<ul>
<li v-for="(item,index) in clarifies.accessoryList" :key="index">
<ul v-if="clarifies.fileList!==undefined && clarifies.fileList.length>0">
<li v-for="(item,index) in clarifies.fileList" :key="index">
<span>{{ item.fileName }}</span>
<el-button @click="download(item.accessoryUrl)">下载</el-button>
<el-button @click="download(item.fileUrl)">下载</el-button>
</li>
</ul>
<div v-else></div>
</div>
<div class="clear-item flex-item">
<div>回复内容:</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment