Commit 34a25056 authored by 张冬's avatar 张冬

联调修改

parent 7355e38f
...@@ -180,16 +180,112 @@ export function noticeAbortive(id) { ...@@ -180,16 +180,112 @@ export function noticeAbortive(id) {
// }) // })
// } // }
// 2.1.4
//开标大厅
// 开标一览表
export function openInfo(projectId) {
return request({
url: `open-bid/openInfo/${projectId}`,
method: 'get',
})
}
//签到解密简略
export function signdetail(projectId) {
return request({
url: `/open-bid/sign/${projectId}`,
method: 'get',
})
}
// 开标按钮上三个信息(投标人数,缴纳保证金人数,签到人数)
export function startInfo(projectId) {
return request({
url: `open-bid/startInfo/${projectId}`,
method: 'get',
})
}
//获取开标大厅的时间信息
export function timeInfo(projectId) {
return request({
url: `open-bid/timeInfo/${projectId}`,
method: 'get',
})
}
// 立即开标
export function startbid(projectId) {
return request({
url: `open-bid/start/${projectId}`,
method: 'put',
})
}
// 流标
export function openbidFailed(data) {
return request({
url: "open-bid/bidFailed",
method: 'post',
data:data
})
}
// 查看流标信息
export function bidFaileddetail(projectId) {
return request({
url: `open-bid/bidFailed/detail/${projectId}`,
method: 'get',
})
}
// 2.1.5 // 2.1.5
// 评标管理:变更公告列表
export function accessoryupload(data) {
return request({
url: "tender-evaluate/accessory/upload",
method: 'post',
data:data
})
}
// 评标管理:变更公告列表
export function changeNoticelist(projectId) {
return request({
url: `tender-evaluate/changeNotice/list/${projectId}`,
method: 'get',
})
}
//投标文件
export function bidFilelist(projectId) {
return request({
url: `tender-evaluate/bidFile/list/${projectId}`,
method: 'get',
})
}
// 评标附件
export function accessorydownload(projectId) {
return request({
url: `tender-evaluate/accessory/download/${projectId}`,
method: 'get',
})
}
// 流标 // 流标
export function bidFailed(data) { export function bidFailed(data) {
return request({ return request({
url: "tender-evaluate/bidFailed", url: "tender-evaluate/bidFailed",
method: 'put', method: 'post',
data:data data:data
}) })
} }
//项目经理中的评标结算按钮
export function bidend(projectId) {
return request({
url: `/tender-evaluate/end/${projectId}`,
method: 'put',
})
}
// 查看投标公司评审信息 // 查看投标公司评审信息
export function CompanyEvaluatec(projectId) { export function CompanyEvaluatec(projectId) {
...@@ -325,6 +421,34 @@ export function bidsetting(data) { ...@@ -325,6 +421,34 @@ export function bidsetting(data) {
data:data data:data
}) })
} }
//中标候选人公示提交
export function createcadidate(data) {
return request({
url: "/tender-notice/create-cadidate",
method: 'post',
data:data
})
}
//中标公告提交
export function createwin(data) {
return request({
url: "tender-notice/create-win",
method: 'post',
data:data
})
}
// 标书费提交 // 标书费提交
export function operationAduit(data) { export function operationAduit(data) {
...@@ -336,11 +460,12 @@ export function operationAduit(data) { ...@@ -336,11 +460,12 @@ export function operationAduit(data) {
} }
// 2.1.4
//开标大厅
// export function onlineCount() { // 招标文件下载
// return request({ export function bidBookDownload(projectId) {
// url: "/onlineCount", return request({
// method: 'get', url: `tender-evaluate/bidBook-download/${projectId}`,
// }) method: 'get',
// } })
\ No newline at end of file }
...@@ -23,6 +23,15 @@ export function evidenceDetail(params) { ...@@ -23,6 +23,15 @@ export function evidenceDetail(params) {
params:params params:params
}) })
} }
// 签署合同
export function signContract(projectId) {
return request({
url: `tender-payment/sign-contract/${projectId}`,
method: 'put',
})
}
...@@ -22,6 +22,7 @@ a { ...@@ -22,6 +22,7 @@ a {
.content-box { .content-box {
min-width: 1000px;
position: absolute; position: absolute;
left: 250px; left: 250px;
right: 0; right: 0;
......
...@@ -201,7 +201,7 @@ img { ...@@ -201,7 +201,7 @@ img {
.tips{ .tips{
color:#FF0000 color:#FF0000
} }
.el-input { .message .el-input {
width: 250px!important; width: 250px!important;
......
...@@ -81,7 +81,7 @@ export default { ...@@ -81,7 +81,7 @@ export default {
{ {
icon: 'el-icon-lx-home', icon: 'el-icon-lx-home',
index: '/purchaser/buyOut/buyoutList', index: '/purchaser/buyOut/buyoutList',
title: '平台交货列表', title: '应收账款买断列表',
} }
] ]
}, },
......
...@@ -155,6 +155,7 @@ export default { ...@@ -155,6 +155,7 @@ export default {
} }
}, },
created() { created() {
console.log("分页")
if (this.checklist.length > 0) { if (this.checklist.length > 0) {
const obj = {} const obj = {}
this.checklist.forEach((item) => { this.checklist.forEach((item) => {
......
...@@ -6,12 +6,7 @@ ...@@ -6,12 +6,7 @@
<script> <script>
export default { export default {
props: { props: ["remainTime"],
remainTime: {
type: Number,
default: 1200000
}
},
data() { data() {
return { return {
hour: '', hour: '',
...@@ -31,15 +26,25 @@ export default { ...@@ -31,15 +26,25 @@ export default {
return this.formatNum(this.second) return this.formatNum(this.second)
} }
}, },
watch:{
remainTime(newValue, oldValue) {
console.log("监听")
this.checkTime()
return newValue;
}
},
mounted() { mounted() {
if (this.remainTime > 0) { this.checkTime()
this.hour = Math.floor((this.remainTime / 3600) % 24)
this.minute = Math.floor((this.remainTime / 60) % 60)
this.second = Math.floor(this.remainTime % 60)
this.countDowm()
}
}, },
methods: { methods: {
checkTime(){
if (this.remainTime > 0) {
this.hour = Math.floor((this.remainTime / 3600) % 24)
this.minute = Math.floor((this.remainTime / 60) % 60)
this.second = Math.floor(this.remainTime % 60)
this.countDowm()
}
},
countDowm() { countDowm() {
var self = this var self = this
clearInterval(this.promiseTimer) clearInterval(this.promiseTimer)
......
...@@ -13,11 +13,11 @@ ...@@ -13,11 +13,11 @@
</div> </div>
<div class="flex"> <div class="flex">
<div class="adjustment"> 评价报告</div> <div class="adjustment"> 评价报告</div>
<Upload :limit="1" :max="100" tip="最多上传一个文件,每个文件不超过100M。"></Upload> <Upload :limit="1" :max="100" tip="最多上传一个文件,每个文件不超过100M。" @input="getfile"></Upload>
</div> </div>
<div class="flex"> <div class="flex">
<div class="adjustment ">评标报告扫描件</div> <div class="adjustment ">评标报告扫描件</div>
<Upload :limit="1" :max="100" tip="最多上传5个文件,每个文件不超过100M。"></Upload> <Upload :limit="1" :max="100" tip="最多上传5个文件,每个文件不超过100M。" @input="getfile1"></Upload>
</div> </div>
<div class="flex-center" style="margin:100px 0"> <div class="flex-center" style="margin:100px 0">
<el-button>取消</el-button> <el-button>取消</el-button>
...@@ -40,17 +40,38 @@ export default { ...@@ -40,17 +40,38 @@ export default {
}, },
data() { data() {
return { return {
breads: ['招标管理', '招标项目管理', '工作台'] breads: ['招标管理', '招标项目管理', '工作台'],
file:[],
file1:[]
} }
}, },
methods: { methods: {
//
getfile(val){
this.file=val
},
getfile1(val){
this.file1=val
},
// 提交
async submitData() { async submitData() {
try { try {
let message={} let message={}
let filePOList=[];
let file=this.file;
let file1=this.file1;
for(let item of file){
item.type=1
};
for(let item1 of file1){
item1.type=2
};
filePOList=file.concat(file1)
message.filePOList=filePOList;
message.projectId=localStorage.getItem("projectId") message.projectId=localStorage.getItem("projectId")
const { const {
data, code,
code msg
} = await bidFailed(message) } = await bidFailed(message)
if(code==200){ if(code==200){
this.$message({ this.$message({
...@@ -80,4 +101,8 @@ export default { ...@@ -80,4 +101,8 @@ export default {
.message>div{ .message>div{
margin-bottom: 20px; margin-bottom: 20px;
} }
.adjustment{
width: 120px;
text-align: center;
}
</style> </style>
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
code code
} = await bidsupplyList(projectId) } = await bidsupplyList(projectId)
if (code === 200) { if (code === 200) {
// this.CompanyIds = data this.CompanyIds = data
} }
} catch (e) { } catch (e) {
console.log(e) console.log(e)
......
...@@ -94,7 +94,7 @@ export default { ...@@ -94,7 +94,7 @@ export default {
} }
}, },
back(){ back(){
this.$route.go(-1) this.$router.go(-1)
}, },
handleSee(row){ handleSee(row){
let id=row.pid; let id=row.pid;
......
...@@ -169,8 +169,15 @@ ...@@ -169,8 +169,15 @@
code, code,
msg msg
} = await bidderEarnestpayment(message) } = await bidderEarnestpayment(message)
if (code === 2000) { if (code === 200) {
this.$success.success(msg) this.$message({
message: msg,
type: 'success',
duration:1500
})
setTimeout(()=>{
this.$router.go(-1)
},1500)
} }
} }
} catch (e) { } catch (e) {
......
...@@ -111,14 +111,14 @@ export default { ...@@ -111,14 +111,14 @@ export default {
msg msg
} = await createChange(this.ruleForm) } = await createChange(this.ruleForm)
if (code === 200) { if (code === 200) {
// this.$message({ this.$message({
// message: msg, message: msg,
// type: 'success', type: 'success',
// duration:1500 duration:1500
// }) })
// setTimeout(()=>{ setTimeout(()=>{
// this.$router.go(-1) this.$router.go(-1)
// },1500) },1500)
} }
} }
} catch (err) { } catch (err) {
......
<template> <template>
<div> <div>
<div class="content"> <div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<changeNav :navs="navs"></changeNav> <changeNav :navs="navs"></changeNav>
<div> <div>
<div class="message"> <div class="message">
<div class="flex-between"> <div class="flex-between">
<div>项目编号:3456789567222</div> <div>项目编号:3456789567222</div>
<div style="margin-right: 100px;">项目名称:测试4567890</div> <div style="margin-right: 100px;">项目名称:测试4567890</div>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<div>项目分类:货物</div> <div>项目分类:货物</div>
<div class="flex"> <div class="flex">
<div class="adjustment">上传附件:</div> <div class="adjustment">上传附件:</div>
<singleUpload tips="支持上传1个附件,不超过20M"></singleUpload> <singleUpload :limit="1" tip="支持上传1个附件,不超过20M" @input="getfile"></singleUpload>
</div> </div>
</div> </div>
</div> </div>
<div class="form"> <div class="form">
<h3>确定中标人</h3> <h3>确定中标人</h3>
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" :is-index="true"> <el-radio-group v-model="companyId">
<el-table-column slot="operate" label="是否中标" align="center" fixed="right" width="200"> <el-radio :label="item.companyId" v-for="(item,index) in tableData" :key="index">{{item.companyName}}</el-radio>
<template slot-scope="scope"> </el-radio-group>
<el-checkbox v-model="scope.row.isBid" @change="check(scope.$index)"></el-checkbox> <h3 style="margin-top:30px">说明</h3>
</template> <el-input :rows="3" v-model="content" type="textarea" placeholder="请输入内容">
</el-table-column> </el-input>
</dataTable> </div>
<h3 style="margin-top:30px">说明</h3> <div class="button flex-center">
<el-input <el-button @click="back">返回</el-button>
:rows="3" <el-button type="primary" @click="submitData">完成</el-button>
v-model="content" </div>
type="textarea" </div>
placeholder="请输入内容">
</el-input> </div>
</div> </div>
<div class="button flex-center">
<el-button @click="back">返回</el-button>
<el-button type="primary" @click="submitData">完成</el-button>
</div>
</div>
</div>
</div>
</template> </template>
<script> <script>
import {candidate,winnerSave} from '@api/purchaser/bid' import {
candidate,
winnerSave
} from '@api/purchaser/bid'
import dataTable from '@components/nopageTable.vue' import dataTable from '@components/nopageTable.vue'
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import changeNav from '@components/changeNav.vue' import changeNav from '@components/changeNav.vue'
import singleUpload from '@components/Upload/singleUpload.vue' import singleUpload from '@components/Upload/Upload.vue'
export default { export default {
components: { components: {
dataBreadcrumb, dataBreadcrumb,
changeNav, changeNav,
singleUpload, singleUpload,
dataTable dataTable
}, },
data() { data() {
return { return {
projectId:2, file:"",
content: '', companyId:"",
navs: ['确认中标人'], projectId: 2,
breads: ['招标管理', '招标项目管理', '工作台'], content: '',
tableData: [], navs: ['确认中标人'],
columns: [{ breads: ['招标管理', '招标项目管理', '工作台'],
label: '中标候选人', tableData: [],
prop: 'companyName' columns: [{
}, label: '中标候选人',
{ prop: 'companyName'
label: '联系人', },
prop: 'contacts' {
}, label: '联系人',
prop: 'contacts'
},
{ {
label: '手机号', label: '手机号',
prop: 'phone' prop: 'phone'
}, },
{ {
slot: 'operate' slot: 'operate'
} }
] // ] //
} }
}, },
created(){ created() {
this.getcandidate() this.getcandidate()
}, },
methods: { methods: {
back(){ getfile(val){
this.$router.go(-1) this.file=val
}, },
examine() { back() {
this.$router.push('/admin/bid/bidingDetail') this.$router.go(-1)
}, },
check(index){ examine() {
console.log(index); this.$router.push('/admin/bid/bidingDetail')
}, },
// 获取中标人列表 check(index) {
async getcandidate() { console.log(index);
try { },
let projectId=localStorage.getItem("projectId"); // 获取中标人列表
const { async getcandidate() {
data, try {
code let projectId = localStorage.getItem("projectId");
} = await candidate(projectId) const {
if (code===200) { data,
for(let item of data){ code
item.companyName="杭州光海科技有限公司" } = await candidate(projectId)
item.contacts="松江" if (code === 200) {
item.phone="77581633272" for (let item of data) {
item.companyName = "杭州光海科技有限公司"
item.contacts = "松江"
item.phone = "77581633272"
}
this.tableData = data
}
} catch (e) {
console.log(e)
}
},
// 提交中标人
async submitData() {
try {
let data={};
data.projectId=localStorage.getItem("projectId")
data.companyId=this.companyId
data.remark=this.remark;
data.fileList=this.file;
const {
msg,
code
} = await winnerSave(data)
if (code === 200) {
this.$message({
message: "提交完成",
type: 'success',
duration: 1500
})
setTimeout(() => {
this.$router.go(-1)
}, 1500)
}
} catch (e) {
console.log(e)
} }
this.tableData = data }
} }
} catch (e) { }
console.log(e)
}
},
// 提交中标人
async submitData() {
this.$message({
message: "提交完成",
type: 'success',
duration:1500
})
setTimeout(()=>{
this.$router.go(-1)
},1500)
// try {
// let data={}
// data.projectId=localStorage.getItem("projectId");
// const {
// msg,
// code
// } = await winnerSave()
// if (code === 200) {
// this.$message.success(msg);
// }
// } catch (e) {
// console.log(e)
// }
}
}
}
</script> </script>
<style scoped> <style scoped>
...@@ -153,13 +155,15 @@ export default { ...@@ -153,13 +155,15 @@ export default {
.message>div { .message>div {
margin-bottom: 20px; margin-bottom: 20px;
} }
.form>h3{
.form>h3 {
font-weight: bold; font-weight: bold;
margin-bottom: 30px; margin-bottom: 30px;
} }
.button{
.button {
width: 100%; width: 100%;
height: 50px; height: 50px;
} }
</style> </style>
...@@ -38,16 +38,14 @@ ...@@ -38,16 +38,14 @@
<el-form-item label="公告标题" prop="title"> <el-form-item label="公告标题" prop="title">
<el-input v-model="ruleForm.title"></el-input> <el-input v-model="ruleForm.title"></el-input>
</el-form-item> </el-form-item>
</el-form>
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
<el-form-item label="公告内容" prop="content"> <el-form-item label="公告内容" prop="content">
<quill-editor ref="text" v-model="form.content" :options="editorOption" class="myQuillEditor" /> <quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" />
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="button flex-center"> <div class="bottomButton flex-center">
<el-button>返回</el-button> <el-button>返回</el-button>
<el-button type="primary">完成</el-button> <el-button type="primary" @click="submitData">提交审批</el-button>
</div> </div>
</div> </div>
<el-dialog :visible.sync="dialogFormVisible" title="收货地址" width="30%"> <el-dialog :visible.sync="dialogFormVisible" title="收货地址" width="30%">
...@@ -65,6 +63,9 @@ ...@@ -65,6 +63,9 @@
</template> </template>
<script> <script>
import {
createwin
} from '@api/purchaser/bid'
import { import {
quillEditor quillEditor
} from 'vue-quill-editor' } from 'vue-quill-editor'
...@@ -83,6 +84,8 @@ ...@@ -83,6 +84,8 @@
}, },
data() { data() {
return { return {
editorOption: {},
file: [],
ruleForm: { ruleForm: {
title: '', title: '',
content: '' content: ''
...@@ -125,9 +128,38 @@ ...@@ -125,9 +128,38 @@
} }
}, },
methods: { methods: {
getfile(val) {
this.file = val
},
edit(row) { edit(row) {
this.dialogFormVisible = true this.dialogFormVisible = true
this.form = row this.form = row
},
async submitData() {
try {
const valid = await this.$refs['ruleForm'].validate()
if (valid) {
let ruleForm = this.ruleForm;
ruleForm.projectId = localStorage.getItem("projectId")
ruleForm.accessoryPOList = this.file
const {
code,
msg
} = await createwin(ruleForm)
if (code === 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
})
setTimeout(() => {
this.$router.go(-1)
}, 1500)
}
}
} catch (e) {
console.log(e)
}
} }
} }
......
<template> <template>
<div> <div>
<div class="content-head"> <div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>发布中标候选人公示</h3> <h3>发布中标候选人公示</h3>
<h5>发布中标候选人公示</h5> </div> <div class="content"> <h5>发布中标候选人公示</h5>
<div class="message"> </div>
<div class="flex-between"> <div class="content">
<div>项目编号:3456789567222</div> <div class="message">
<div>项目名称:测试4567890</div> <div class="flex-between">
</div> <div>项目编号:3456789567222</div>
<div class="flex-between"> <div>项目名称:测试4567890</div>
<div class="flex"> </div>
<div class="adjustment">上传附件:</div> <div class="flex-between">
<singleUpload tips="支持上传1个附件,不超过20M"></singleUpload> <div class="flex">
</div> <div class="adjustment">上传附件:</div>
<div>发布媒体:捷安采官网</div> <singleUpload :limit="1" tip="支持上传1个附件,不超过20M" @input="getfile" :max="20"></singleUpload>
</div> </div>
<div class="flex-item"> <div>发布媒体:捷安采官网</div>
<div style="width: 50px;">备注:</div> </div>
<el-input :rows="4" v-model="remark" type="remark" placeholder="请输入备注"> <div class="flex-item">
</el-input> <div style="width: 50px;">备注:</div>
</div> <el-input :rows="4" v-model="remark" type="textarea" placeholder="请输入备注">
</div> </el-input>
<div class="form"> </div>
</div>
<h3 style="margin-top:30px">中标候选人公示内容</h3> <div class="form">
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"> <h3 style="margin-top:30px">中标候选人公示内容</h3>
<el-form-item label="公告标题" prop="title"> <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
<el-input v-model="ruleForm.title"></el-input> <el-form-item label="公告标题" prop="title">
</el-form-item> <el-input v-model="ruleForm.title"></el-input>
</el-form> </el-form-item>
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"> <el-form-item label="公告内容" prop="content">
<el-form-item label="公告内容" prop="content"> <quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" />
<quill-editor ref="text" v-model="form.content" :options="editorOption" class="myQuillEditor" /> </el-form-item>
</el-form-item> </el-form>
</el-form> </div>
</div> <div class="bottomButton flex-center">
<div class="bottomButton flex-center"> <el-button>返回</el-button>
<el-button>返回</el-button> <el-button type="primary" @click="submitData">提交审批</el-button>
<el-button type="primary">提交审批</el-button> </div>
</div> </div>
</div> </div>
<el-dialog :visible.sync="dialogFormVisible" title="收货地址" width="30%">
<el-form :model="form">
<el-form-item label-width="120px" label="输入中标价">
<el-input v-model="form.price" type="number" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
</div>
</el-dialog>
</div>
</template> </template>
<script> <script>
import { import {
quillEditor createcadidate
} from 'vue-quill-editor' } from '@api/purchaser/bid'
import 'quill/dist/quill.core.css' import {
import 'quill/dist/quill.snow.css' quillEditor
import 'quill/dist/quill.bubble.css' } from 'vue-quill-editor'
import dataTable from '@components/dataTable.vue' import 'quill/dist/quill.core.css'
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import 'quill/dist/quill.snow.css'
import singleUpload from '@components/Upload/singleUpload.vue' import 'quill/dist/quill.bubble.css'
export default { import dataTable from '@components/dataTable.vue'
components: { import dataBreadcrumb from '@components/dataBreadcrumb.vue'
dataTable, import singleUpload from '@components/Upload/Upload.vue'
dataBreadcrumb, export default {
singleUpload, components: {
quillEditor dataTable,
}, dataBreadcrumb,
data() { singleUpload,
return { quillEditor
ruleForm: { },
title: '', data() {
content: '' return {
}, editorOption: {},
rules: { file: [],
title: [{ ruleForm: {
required: true, title: '',
message: '请填写标题', content: ''
trigger: 'blue' },
}], rules: {
content: [{ title: [{
required: true, required: true,
message: '请填写内容', message: '请填写标题',
trigger: 'blue' trigger: 'blue'
}] }],
}, content: [{
form: { required: true,
price: '' message: '请填写内容',
}, trigger: 'blue'
dialogFormVisible: false, }]
},
remark: '', form: {
breads: ['招标管理', '招标项目管理', '工作台'] price: ''
},
} remark: '',
}, breads: ['招标管理', '招标项目管理', '工作台']
methods: {
edit(row) {
this.dialogFormVisible = true
this.form = row
}
}
} }
},
methods: {
getfile(val) {
this.file = val
},
async submitData() {
try {
const valid = await this.$refs['ruleForm'].validate()
if (valid) {
let ruleForm = this.ruleForm;
ruleForm.projectId = localStorage.getItem("projectId")
ruleForm.accessoryPOList = this.file
const {
code,
msg
} = await createcadidate(ruleForm)
if (code === 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
})
setTimeout(() => {
this.$router.go(-1)
}, 1500)
}
}
} catch (e) {
console.log(e)
}
}
}
}
</script> </script>
...@@ -126,8 +142,7 @@ export default { ...@@ -126,8 +142,7 @@ export default {
} }
.bottomButton { .bottomButton {
margin-top: 50px; margin-top: 50px;
} }
</style> </style>
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<div class="message"> <div class="message">
<div class="flex-between" style="width: 50%;"> <div class="flex-between" style="width: 50%;">
<div>招标文件:<span>下载招标文件</span></div> <div>招标文件:<span @click="download(bidDetail.fileUrl)">{{bidDetail.fileName}}</span></div>
<div>开标信息:<span>开标一览表</span></div> <div>开标信息:<span>开标一览表</span></div>
</div> </div>
<div class="flex upload"> <div class="flex upload">
...@@ -81,11 +81,11 @@ ...@@ -81,11 +81,11 @@
</li> </li>
</ul> </ul>
</div> </div>
<div class="button"> <!-- <div class="button">
<el-button @click="back">返回</el-button> <el-button @click="back">返回</el-button>
<el-button @click="fail">流标</el-button> <el-button @click="fail">流标</el-button>
<el-button type="primary">评标结束</el-button> <el-button type="primary">评标结束</el-button>
</div> </div> -->
</div> </div>
</div> </div>
</div> </div>
...@@ -95,6 +95,7 @@ ...@@ -95,6 +95,7 @@
import { import {
companyRank, companyRank,
CompanyEvaluatec, CompanyEvaluatec,
bidBookDownload
} from '@api/purchaser/bid' } from '@api/purchaser/bid'
import dataTable from '@components/nopageTable.vue' import dataTable from '@components/nopageTable.vue'
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue'
...@@ -105,6 +106,7 @@ export default { ...@@ -105,6 +106,7 @@ export default {
}, },
data() { data() {
return { return {
bidDetail:"",
projectId:2, projectId:2,
rankTitle: [{ rankTitle: [{
label: '投标人名称', label: '投标人名称',
...@@ -170,8 +172,12 @@ export default { ...@@ -170,8 +172,12 @@ export default {
created() { created() {
this.getcompanyRank() this.getcompanyRank()
this.getCompanyEvaluatec() this.getCompanyEvaluatec()
this.getbidBookDownload();
}, },
methods: { methods: {
download(url){
window.open(url)
},
back(){ back(){
this.$router.go(-1) this.$router.go(-1)
}, },
...@@ -214,7 +220,23 @@ export default { ...@@ -214,7 +220,23 @@ export default {
} catch (e) { } catch (e) {
console.log(e) console.log(e)
} }
} },
// 查看招标文件
async getbidBookDownload() {
try {
let projectId=localStorage.getItem("projectId")
const {
data,
code
} = await bidBookDownload(projectId)
if (code === 200) {
this.bidDetail=data
}
} catch (e) {
console.log(e)
}
},
//
} }
} }
</script> </script>
......
...@@ -15,10 +15,10 @@ ...@@ -15,10 +15,10 @@
<div>日期:{{ date }}</div> <div>日期:{{ date }}</div>
<div>中标金额:100.00元</div> <div>中标金额:100.00元</div>
</div> </div>
<div class="flex-between"> <div>
<div class="flex"> <div class="flex" style="margin-bottom:50px">
<div >上传附件:</div> <div >上传附件:</div>
<singleUpload :limit='1' tip="支持上传一个pdf格式文件,大小不超过100M。" accept='.pdf'></singleUpload> <singleUpload :limit='1' tip="支持上传一个pdf格式文件,大小不超过100M。" accept='.pdf' @input="getfile"></singleUpload>
</div> </div>
<div> <div>
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm"> <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm">
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
</div> </div>
</div> </div>
<div class="flex-center button"> <div class="flex-center button">
<el-button>取消</el-button> <el-button @click="back">取消</el-button>
<el-button type="primary" @click="submitData">保存</el-button> <el-button type="primary" @click="submitData">保存</el-button>
</div> </div>
</div> </div>
...@@ -50,8 +50,9 @@ export default { ...@@ -50,8 +50,9 @@ export default {
}, },
data() { data() {
return { return {
resultId:"",
ruleForm: { ruleForm: {
code: '' number: ''
}, },
rules: { rules: {
number: [{ number: [{
...@@ -67,14 +68,25 @@ export default { ...@@ -67,14 +68,25 @@ export default {
created() { created() {
let date=getTime(); let date=getTime();
this.date=date.substring(0,9) this.date=date.substring(0,9)
this.resultId=this.$route.query.id;
}, },
methods: { methods: {
back(){
this.$router.go(-1)
},
getfile(val){
this.ruleForm.fileList=val
},
//提交表单 //提交表单
async submitData() { async submitData() {
try { try {
const valid = await this.$refs['ruleForm'].validate() const valid = await this.$refs['ruleForm'].validate()
if (valid) { if (valid) {
const { code,msg } = await editSentBook(); let ruleForm=this.ruleForm;
ruleForm.resultId=this.resultId
ruleForm.projectId=localStorage.getItem("projectId")
ruleForm.companyId=localStorage.getItem("companyId")
const { code,msg } = await editSentBook(ruleForm);
if (code === 2000) { if (code === 2000) {
this.$success.success(msg) this.$success.success(msg)
} }
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</el-table-column> </el-table-column>
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="150"> <el-table-column slot="operate" label="操作" align="center" fixed="right" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="edit(scope.row)">通知书编辑</el-button> <el-button type="text" size="small" @click="edit(scope.row.id)">通知书编辑</el-button>
</template> </template>
</el-table-column> </el-table-column>
</dataTable> </dataTable>
...@@ -66,8 +66,8 @@ export default { ...@@ -66,8 +66,8 @@ export default {
this.getsentBookList(); this.getsentBookList();
}, },
methods: { methods: {
edit() { edit(id) {
this.$router.push('/purchaser/bid/bidSure/winBid/edit') this.$router.push(`/purchaser/bid/bidSure/winBid/edit?id=${id}`)
}, },
back() { back() {
this.$router.go(-1) this.$router.go(-1)
......
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
<el-radio :label="0">普通</el-radio> <el-radio :label="0">普通</el-radio>
<el-radio :label="1">紧急</el-radio> <el-radio :label="1">紧急</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</div> </div>
<div class="flex-between" style="width:60%"> <div class="flex-between" style="width:60%">
......
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
</el-form-item> </el-form-item>
<el-form-item label="公告内容" prop="content"> <el-form-item label="公告内容" prop="content">
<quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" /> <quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" />
</el-form-item></el-form> </el-form-item>
</el-form>
</div> </div>
</div> </div>
<div class="bottomButton"> <div class="bottomButton">
......
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
checklist: [{ checklist: [{
title: '供应商', title: '供应商',
type: 'input', type: 'input',
model: 'tenderCompanyName' model: 'bidCompanyName'
}, { }, {
title: '状态', title: '状态',
type: 'select', type: 'select',
......
<template> <template>
<div> <div>
<div class="content-head"> <div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>签署合同</h3> <h3>签署合同</h3>
<h5>签署合同</h5> <h5>签署合同</h5>
</div> </div>
<div class="content"> <div class="content">
<div class="flex"> <div class="flex">
<div>下载合同:</div> <div>下载合同:</div>
<ul> <ul>
<li class="flex"> <li class="flex">
<div>合同名字.pdf</div> <div>合同名字.pdf</div>
<el-button size="mini">下载</el-button> <el-button size="mini">下载</el-button>
</li> </li>
</ul> </ul>
</div> </div>
<div class="contractContent flex-center"> <div class="contractContent flex-center">
<h1>合同内容</h1> <h1>合同内容</h1>
</div> </div>
<div class="button flex-center"> <div class="button flex-center">
<el-button @click="revoke">撤销签章</el-button> <el-button @click="revoke">撤销签章</el-button>
<el-button>电子签章</el-button> <el-button>电子签章</el-button>
</div> </div>
</div> </div>
<div class="bottomButton"> <div class="bottomButton">
<el-button @click="back">取消</el-button> <el-button @click="back">取消</el-button>
<el-button type="primary">提交</el-button> <el-button type="primary" @click="submitData">提交</el-button>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue'
export default { export default {
components: { components: {
dataBreadcrumb dataBreadcrumb
}, },
data() { data() {
return { return {
breads: ['应收账款买断管理', '应收账款买断列表'] breads: ['应收账款买断管理', '应收账款买断列表']
} }
}, },
methods: { methods: {
back() { back() {
this.$router.go(-1) this.$router.go(-1)
}, // 删除操作 }, // 删除操作
revoke(row, index) { revoke(row, index) {
// 二次确认删除 // 二次确认删除
this.$confirm('该操作撤销全部电子签章,你还要继续吗?', '是否撤销电子签章', { this.$confirm('该操作撤销全部电子签章,你还要继续吗?', '是否撤销电子签章', {
type: 'warning' type: 'warning'
}) })
.then(() => { .then(() => {
this.$message.success('撤销成功') this.$message.success('撤销成功')
}) })
.catch(() => {}) .catch(() => {})
} },
} async submitData() {
try {
let projectId = localStorage.getItem("projectId")
const {
msg,
code
} = await signContract(projectId)
if (code == 200) {
} this.$message({
message: msg,
type: 'success',
duration: 1500
})
setTimeout(() => {
this.$router.go(-1)
}, 1500)
}
} catch (e) {
console.log(e)
}
}
}
}
</script> </script>
<style scoped> <style scoped>
.contractContent{ .contractContent {
width: 100%; width: 100%;
height: 500px; height: 500px;
border:1px solid #000000; border: 1px solid #000000;
margin-top: 30px; margin-top: 30px;
} }
.button{
.button {
margin-top: 30px; margin-top: 30px;
height: 50px; height: 50px;
width: 100%; width: 100%;
} }
ul>li>div{
ul>li>div {
margin-right: 10px; margin-right: 10px;
} }
</style> </style>
...@@ -33,10 +33,7 @@ ...@@ -33,10 +33,7 @@
<div>单位所在地</div> <div>单位所在地</div>
<div>{{detail.location}}</div> <div>{{detail.location}}</div>
</li> </li>
<li>
<div>行业类型</div>
<div>{{detail.businessScope}}</div>
</li>
<li> <li>
<div>注册资本(万元)</div> <div>注册资本(万元)</div>
<div>{{detail.registeredCapital}}</div> <div>{{detail.registeredCapital}}</div>
...@@ -59,9 +56,13 @@ ...@@ -59,9 +56,13 @@
</li> </li>
</ul> </ul>
<div class="detail-item"> <div class="detail-item">
<div>*经营范围</div> <div>经营范围</div>
<div>一般项目:技术服务,技术开发</div> <div>一般项目:技术服务,技术开发</div>
</div> </div>
<div class="detail-item">
<div>行业类型</div>
<div>{{detail.businessScope}}</div>
</div>
</div> </div>
<div class="operation"> <div class="operation">
<el-button @click="back">返回</el-button> <el-button @click="back">返回</el-button>
......
...@@ -37,12 +37,12 @@ service.interceptors.response.use( ...@@ -37,12 +37,12 @@ service.interceptors.response.use(
} }
}, },
error => { error => {
if(error.response.status == 500){ if(error.response.status == 401){
Message.error("登陆失效,请重新登录!") Message.error("登陆失效,请重新登录!")
// localStorage.removeItem('token'); // localStorage.removeItem('token');
// setTimeout(function () { // setTimeout(function () {
// // location.href = 'http://192.168.200.201:8081/'; // // location.href = 'http://192.168.200.201:8081/';
// location.href = 'http://localhost:3000/'; // location.href = 'http://localhost:3000/login/user/';
// }, 2000); // }, 2000);
} }
} }
......
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