Commit f1134b55 authored by 吴冠's avatar 吴冠

更改

parent 9fc8c2a6
......@@ -645,4 +645,11 @@ export function projectConsole(params) {
})
}
//采购商详情
export function contractDetails(projectId) {
return request({
url: `/tender-decide/contract/detail/${projectId}`,
method: 'get',
})
}
......@@ -283,7 +283,7 @@ export function bidResultBook(params) {
// 查看合同
export function contractdetail(projectId) {
return request({
url: `bidder-decide/contract/detail/${projectId}`,
url: `tender-decide/contract/detail/${projectId}`,
method: 'get',
})
}
......
......@@ -40,7 +40,8 @@ export default {
projectCode: '',
projectName: '',
state: true,
detail: ''
detail: '',
title:''
};
},
methods: {
......@@ -54,6 +55,7 @@ export default {
if (code == 200) {
console.log(data);
this.detail = data;
this.title = data.title
} else {
this.state = false;
}
......
......@@ -24,7 +24,7 @@
</el-date-picker>
</el-form-item>
<el-form-item label="选择投标人" prop="CompanyId">
<el-radio v-model="ruleForm.CompanyId" v-for="(item,index) in CompanyIds" :label="item.companyId" :key="item.companyId">{{item.companyName}}</el-radio>
<el-radio v-model="ruleForm.CompanyId" v-for="item in CompanyIds" :label="item.companyId" :key="item.companyId">{{item.companyName}}</el-radio>
</el-form-item>
<el-form-item label="澄清质询问题内容" prop="content">
<el-input v-model.trim="ruleForm.content" :rows="2" type="textarea" maxlength="300"></el-input>
......
......@@ -74,7 +74,8 @@
<script>
import {
contract
contract,
contractDetails
} from '@api/purchaser/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import changeNav from '@components/changeNav.vue'
......@@ -167,9 +168,27 @@
} catch (e) {
console.log(e)
}
}
},
async contractDetails(){
const {data,code} = await contractDetails()
if(code==200){
this.ruleForm = data
for(let item in data.contractFileName){
this.ruleForm.contractName = item
}
for(let item1 in data.fileList){
this.ruleForm.fileList = item1
}
}
}
},
created() {
let type = this.$router.query.type
/* type为1 查看详情*/
if(type=='2'){
this.contractDetails()
}
this.projectCode = localStorage.getItem("projectCode");
this.projectName = localStorage.getItem("projectName");
}
......
......@@ -12,6 +12,14 @@
<div>澄清问题标题:</div>
<div>{{ detail.title }}</div>
</div>
<div class="flex clear-item">
<div>问题发布时间:</div>
<div>{{ detail.startTime }}</div>
</div>
<div class="flex clear-item">
<div>澄清回复截止时间:</div>
<div>{{ detail.endTime }}</div>
</div>
<div class="flex clear-item">
<div>澄清问题内容:</div>
<div v-html="detail.content"></div>
......
......@@ -2,34 +2,47 @@
<div>
<div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<div>中国标准时间:{{ currentTime }}</div>
<!-- <div>中国标准时间:{{ currentTime }}</div> -->
<div class="hal">
<h2 style="text-align: center">{{ projectName }}项目开标大厅</h2>
<div class="time-message flex-between">
<div class="flex">
<h3 style="text-align: center">{{ projectName }}项目开标大厅</h3>
<div class="time-message flex-center" style="border-top:1px solid #bfa;width:100%;margin-top:10px;margin-bottom:10px;">
<div class="flex" style="margin-left:0px;margin-top:10px">
<p>截标倒计时:</p>
<timeDown :remain-time="remaintime" @countDowmEnd="remaintimeEnd"></timeDown>
</div>
<div class="flex" v-show="openStatus == 2">
<div class="flex" style="margin-left:40px;margin-top:10px">
<p>解密倒计时:</p>
<timeDown :remain-time="decodeTime" @countDowmEnd="decodeTimeEnd"></timeDown>
</div>
<div class="flex" v-show="openStatus == 2">
<div class="flex" style="margin-left:40px;margin-top:10px">
<p>签名倒计时:</p>
<timeDown :remain-time="signatureTime" @countDowmEnd="signatureTimeEnd"></timeDown>
</div>
</div>
<div class="flex">
<div class="hal-left">
<div>
<h1>签到 {{ !leftmessage.signIn ? '否' : '是' }}</h1>
<h1>解密 {{ !leftmessage.decode ? '否' : '是' }}</h1>
<h1>签名 {{ !leftmessage.signature ? '否' : '是' }}</h1>
<div class="hal-item">
<div class="flex">
<div style="font-weight:bold">签到</div>
<div style="color:blue;font-size:20px;margin-left:10px;margin-right:10px">1</div>
<div style="font-weight:bold"></div>
</div>
<div class="flex">
<div style="font-weight:bold">解密</div>
<div style="color:blue;font-size:20px;margin-left:10px;margin-right:10px">1</div>
<div style="font-weight:bold"></div>
</div>
<div class="flex">
<div style="font-weight:bold">签名</div>
<div style="color:blue;font-size:20px;margin-left:10px;margin-right:10px">1</div>
<div style="font-weight:bold"></div>
</div>
<div class="texta">签到解密签名情况</div>
</div>
</div>
<div class="hal-center" v-chat-scroll>
<ul>
<li v-for="(item, index) in halList" :key="index" class="flex-item">
<li v-for="(item, index) in halList" :key="index" class="flex-item sty">
<div>{{ item.time }}</div>
<div>{{ item.role }}</div>
<div>{{ item.name }}</div>
......@@ -38,8 +51,11 @@
</ul>
</div>
<div class="hal-right">
<el-button @click="dialogFormVisible = true" style="margin-left: 10px">开标规则说明</el-button>
<el-button @click="isdialogue">在线对话<i class="el-icon-chat-dot-round"></i></el-button>
<!-- <el-button @click="dialogFormVisible = true" style="margin-left: 10px">开标规则说明</el-button> -->
<div @click="isdialogue" style="margin-top:0px">在线对话<i class="el-icon-chat-dot-round"></i></div>
<div icon="el-icon-refresh" @click="refrsh">刷新</div>
<div >下发开标一览表</div>
<div @click="openInfo" :disabled="!issueTable">查看开标一览表</div>
<el-button
:disabled="!isDecode"
v-show="openStatus == 2 && !leftmessage.decode"
......@@ -73,9 +89,8 @@
</div>
<div class="flex-center buttons">
<div>
<el-button icon="el-icon-refresh" @click="refrsh">刷新</el-button>
<el-button @click="openInfo" :disabled="!issueTable">查看开标一览表</el-button>
<el-button @click="back">退出大厅<i class="el-icon-right"></i></el-button>
<el-button type="primary">立即开标</el-button>
</div>
</div>
</div>
......@@ -85,14 +100,14 @@
<div class="explain">
<h1>开标说明</h1>
<div>1、网上开标共有解密、签名两个环节,投标人根据开标大厅中间滚动提示进行相应操作。</div>
<div>2、截标前当天大厅开放,已上传投标文件的投标人可在解密倒计时结東前进入开标大厅。</div>
<div>3、截标后主持人宣布开标,所有投标人进行解密操作,解密时间共计30分钟投标人须在解密倒计时结束前
完成解密。解密倒计时结東后,因投标人原因造成投标文件未解密的根据《电子招标投标办法其投标文件》视
为撤销。</div>
<div>4、解密倒计时结東或所有投标文件均已解密,投标人可查询所有投标人的开标情况并进行签名,签名时间
共计10分钟。</div>
<div>5.、所有投标人完成签名操作或签名倒计时结束后,项目经理开标结束,投标人可离开开标大厅。开标过程
中,投标人可点击开标大厅右上角在线聊天与主持人沟通。开标结束后视为开标过程无异议。</div>
<div>2、截标前当天大厅开放,已上传投标文件的投标人可在解密倒计时结東前进入开标大厅。</div>
<div>3、截标后主持人宣布开标,所有投标人进行解密操作,解密时间共计30分钟投标人须在解密倒计时结束前
完成解密。解密倒计时结東后,因投标人原因造成投标文件未解密的根据《电子招标投标办法其投标文件》视
为撤销。</div>
<div>4、解密倒计时结東或所有投标文件均已解密,投标人可查询所有投标人的开标情况并进行签名,签名时间
共计10分钟。</div>
<div>5.、所有投标人完成签名操作或签名倒计时结束后,项目经理开标结束,投标人可离开开标大厅。开标过程
中,投标人可点击开标大厅右上角在线聊天与主持人沟通。开标结束后视为开标过程无异议。</div>
</div>
<div class="flex-center">
<el-button type="primary" @click="dialogFormVisible = false">关闭</el-button>
......@@ -213,7 +228,7 @@ export default {
],
minutes: '6',
seconds: '60',
currentTime: '',
/* currentTime: '', */
breads: ['招标管理', '招标项目管理', '工作台'],
leftmessage: '',
websocket: '',
......@@ -228,12 +243,12 @@ export default {
},
created() {
// 中国标准时间
let currentTime = getTime();
/* let currentTime = getTime();
this.currentTime = currentTime;
this.timer1 = setInterval(() => {
let currentTime = getTime();
this.currentTime = currentTime;
}, 1000);
}, 1000); */
this.projectName = localStorage.getItem('projectName');
this.getsigndetail();
this.openBidsign();
......@@ -393,9 +408,9 @@ export default {
type: 'error',
duration: 3000
})
setTimeout(() => {
/* setTimeout(() => {
this.$router.go(-1)
}, 3000)
}, 3000) */
}
var { data, code } = await signdetail(projectId);
if (code == 200) {
......@@ -461,6 +476,9 @@ export default {
</script>
<style scoped>
.content{
background: #bfa;
}
.abs {
position: absolute;
right: 100px;
......@@ -482,8 +500,8 @@ export default {
.dialogue {
position: absolute;
top: 10%;
right: 10%;
top: 0;
right: 25%;
border: 1px solid #cccccc;
padding: 10px;
}
......@@ -511,24 +529,36 @@ export default {
}
.hal-left {
width: 200px;
width: 150px;
height:200px;
background: white;
}
.hal-left > div {
width: 100%;
height: 300px;
height: 200px;
border: 1px solid #000;
box-sizing: border-box;
padding: 40px 20px;
text-align: center;
margin: 0 auto;
}
.hal-right {
width: 200px;
height: 500px;
width: 150px;
height: 200px;
/* background: white; */
}
.hal-right > button {
margin-bottom: 20px;
.hal-right > div {
width:150px;
margin-top:20px;
height:40px;
text-align: center;
border:2px solid blue;
font-size:12px;
line-height:40px;
cursor: pointer;
}
.hal-center {
......@@ -564,6 +594,10 @@ export default {
margin-bottom: 50px;
/* letter-spacing:5px */
}
.hal-item>div{
margin-left:32px;
margin-top:20px;
}
.bid-message {
flex-wrap: wrap;
......@@ -574,4 +608,19 @@ export default {
margin-right: 50px;
margin-bottom: 30px;
}
.texta{
font-size:10px;
margin-left:-20px;
}
.hal-item>div:last-child{
margin-left:0
}
.sty{
line-height:20.8px;
display: flex;
justify-content: center;
}
.sty>div{
line-height:20.8px;
}
</style>
......@@ -244,8 +244,6 @@ export default {
<style scoped>
.message {
}
.message > div {
background: #fff;
......
......@@ -21,8 +21,9 @@
<div>澄清问题附件:</div>
<ul>
<li v-for="item in clarifies.clarifieslist" :key="item.id">
<span>{{item.fileName}}</span>
<el-button @click="down(item.accessoryUrl)">下载</el-button>
<a :href="item.accessoryUrl">{{ item.fileName }}</a>
<!-- <span>{{item.fileName}}</span>
<el-button @click="down(item.accessoryUrl)">下载</el-button> -->
</li>
</ul>
</div>
......@@ -90,9 +91,9 @@ export default {
}
},
methods: {
down(url){
/* down(url){
window.open(url)
},
}, */
cancle() {
this.$router.go(-1)
},
......
......@@ -160,7 +160,7 @@ export default {
isdisabled: true,
title: '查看',
state: '',
breads: ['投标管理', '招标项目管理', '工作台'],
breads: ['投标管理', '我参与的项目', '工作台'],
ruleForm: {},
formrules: {
companyName: [
......
......@@ -10,56 +10,56 @@
<div>项目名称:{{projectName}}</div>
</div>
<div class="flex-between">
<el-form-item label="合同名称:" prop="name">
<el-input v-model="form.name" placeholder="请输入"></el-input>
<el-form-item label="合同名称:" prop="contractName">
<el-input v-model="form.contractName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="合同类型:" prop="name">
<el-input v-model="form.type" placeholder="请输入"></el-input>
<el-form-item label="合同类型:" prop="contractType">
<el-input v-model="form.contractType" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="工期:" prop="name">
<el-input v-model="form.name" placeholder="请输入"></el-input>
<el-form-item label="工期:" prop="timeLimit">
<el-input v-model="form.timeLimit" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="总负责人名称:" prop="name">
<el-input v-model="form.type" placeholder="请输入"></el-input>
<el-form-item label="总负责人名称:" prop="principalName">
<el-input v-model="form.principalName" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="总负责人身份证号:" prop="name">
<el-input v-model="form.name" placeholder="请输入"></el-input>
<el-form-item label="总负责人身份证号:" prop="principalIdNumber">
<el-input v-model="form.principalIdNumber" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="采购商名称:" prop="name">
<el-input v-model="form.type" placeholder="请输入"></el-input>
<el-form-item label="采购商名称:" prop="companyName">
<el-input v-model="form.companyName" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="是否联合体投标:" prop="name">
<el-radio v-model="form.type" label="1"></el-radio>
<el-radio v-model="form.type" label="2"></el-radio>
<el-form-item label="是否联合体投标:" prop="isAlliance">
<el-radio v-model="form.isAlliance" :label="true"></el-radio>
<el-radio v-model="form.isAlliance" :label="false"></el-radio>
</el-form-item>
<el-form-item label="合同总价(元):" prop="name">
<el-input v-model="form.type" placeholder="请输入"></el-input>
<el-form-item label="合同总价(元):" prop="contractPrice">
<el-input v-model="form.contractPrice" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="合同有效期起止日期:" prop="data">
<el-date-picker v-model="form.data" type="datetimerange" range-separator="至" start-placeholder="开始日期"
<el-form-item label="合同有效期起止日期:" prop="validityTime">
<el-date-picker v-model="form.validityTime" type="datetimerange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="合同期限(天):" prop="name">
<el-input v-model="form.type" placeholder="请输入"></el-input>
<el-form-item label="合同期限(天):" prop="deadline">
<el-input v-model="form.deadline" placeholder="请输入"></el-input>
</el-form-item>
</div>
<el-form-item label="合同文件:" prop="name">
<el-input v-model="form.type" placeholder="请输入"></el-input>
<el-form-item label="合同文件:" prop="file">
<singleUpload :limit="1" :max="100" accept=".pdf" tip="支持上传一个pdf格式文件,大小不超过100M" @input="getfile" :fileList="ruleForm.contractFileName"></singleUpload>
</el-form-item>
<el-form-item label="其它附件:" prop="name">
<el-input v-model="form.type" placeholder="请输入"></el-input>
<el-form-item label="其它附件:">
<singleUpload :limit="3" :max="100" tip="支持上传三份附件,大小不超过100M" @input="getfile1" :fileList="ruleForm.fileList"></singleUpload>
</el-form-item>
<el-form-item label="合同范围:" prop="name">
<el-input v-model="form.type" :rows="4" placeholder="请输入" type="textarea"></el-input>
<el-form-item label="合同范围:" prop="remark">
<el-input v-model="form.remark" :rows="4" placeholder="请输入" type="textarea"></el-input>
</el-form-item>
</el-form>
</div>
......@@ -72,6 +72,7 @@
</template>
<script>
import singleUpload from '@components/Upload/Upload.vue'
import {
contractdetail
} from '@api/supply/bid'
......@@ -80,7 +81,8 @@
export default {
components: {
dataBreadcrumb,
changeNav
changeNav,
singleUpload
},
data() {
return {
......@@ -89,16 +91,37 @@
breads: ['投标管理 ', '我参加的项目', '工作台'],
navs: ['合同管理'],
form: {
name: '',
data: '',
type: ''
contractName: "",
contractType: "",
timeLimit: "",
principalName: "",
principalIdNumber: "",
companyName: '',
isAlliance: "",
contractPrice: "",
validityTime: "",
deadline: "",
/* FilePO: [], */
remark: "",
fileList:[],
contractFileName:[]
},
rules: {
name: [{
validityTime: [{
required: true,
message: '请选择时间',
message: '请选择',
trigger: 'blur'
}]
}],
contractName: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
file: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
},
projectCode: "",
projectName: ""
......@@ -114,8 +137,22 @@
data,
code
} = await contractdetail(projectId)
this.form=data
}
if(code==200){
this.ruleForm = data
for(let item in data.contractFileName){
this.form.contractName = item
}
for(let item1 in data.fileList){
this.form.fileList = item1
}
}
},
getfile(val) {
this.form.contractFileName = val
},
getfile1(val) {
this.form.fileList = val
},
},
created() {
this.projectCode = localStorage.getItem("projectCode");
......
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