Commit 4aad38f2 authored by 张冬's avatar 张冬

更换整个后台的颜色

parent ba82a14e
...@@ -6,6 +6,6 @@ ...@@ -6,6 +6,6 @@
<style> <style>
@import './common/common.css'; @import './common/common.css';
@import "./assets/css/main.css"; @import "./assets/css/main.css";
@import "./assets/css/color-dark.css"; /*深色主题*/ /* @import "./assets/css/color-dark.css"; */
/*@import "./assets/css/theme-green/color-green.css"; 浅绿色主题*/ @import "./assets/css/theme-green/color-green.css";
</style> </style>
\ No newline at end of file
...@@ -371,10 +371,11 @@ export function earnestEdit(data) { ...@@ -371,10 +371,11 @@ export function earnestEdit(data) {
} }
// 新增接口 // 新增接口
// 查看是否报价状态
export function isOffer(projectId) { export function isOffer(projectId) {
return request({ return request({
url: `bidder-apply/isOffer/${projectId}`, url: `bidder-apply/isOffer/${projectId}`,
method: 'get', method: 'get',
}) })
} }
\ No newline at end of file
.header{ .header{
background-color: #07c4a8; background-color: #FF5203;
} }
.login-wrap{ .login-wrap{
background: rgba(56, 157, 170, 0.82);; background: #FF5203;;
} }
.plugins-tips{ .plugins-tips{
background: #f2f2f2; background: #FF5203;
} }
.plugins-tips a{ .plugins-tips a{
color: #00d1b2; color: #FF5203;
} }
.el-upload--text em { .el-upload--text em {
color: #00d1b2; color: #FF5203;
} }
.pure-button{ .pure-button{
background: #00d1b2; background: #FF5203;
} }
.pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus, .pagination > .active > span, .pagination > .active > span:hover, .pagination > .active > span:focus { .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus, .pagination > .active > span, .pagination > .active > span:hover, .pagination > .active > span:focus {
background-color: #00d1b2 !important; background-color: #FF5203 !important;
border-color: #00d1b2 !important; border-color: #FF5203 !important;
} }
.tags-li.active { .tags-li.active {
border: 1px solid #00d1b2; border: 1px solid #FF5203;
background-color: #00d1b2; background-color: #FF5203;
} }
.collapse-btn:hover{ .collapse-btn:hover{
background: #00d1b2; background: #FF5203;
} }
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -78,9 +78,7 @@ export default { ...@@ -78,9 +78,7 @@ export default {
let value = [] let value = []
for (let i = 0; i < fileList.length; i++) { for (let i = 0; i < fileList.length; i++) {
let message = {} let message = {}
message.name = fileList[i].name
message.fileName = fileList[i].name message.fileName = fileList[i].name
message.url = fileList[i].url
message.fileUrl = fileList[i].url message.fileUrl = fileList[i].url
message.uid=fileList[i].uid message.uid=fileList[i].uid
value.push(message) value.push(message)
...@@ -125,7 +123,6 @@ export default { ...@@ -125,7 +123,6 @@ export default {
let objName = getFileNameUUID() let objName = getFileNameUUID()
// 调用 ali-oss 中的方法 // 调用 ali-oss 中的方法
put(`${objName}${option.file.name}`, option.file).then(res => { put(`${objName}${option.file.name}`, option.file).then(res => {
res.fileName=option.file.name;
this.fileList.push(res) this.fileList.push(res)
console.log(this.fileList) console.log(this.fileList)
this.emitInput(this.fileList) this.emitInput(this.fileList)
......
...@@ -69,11 +69,8 @@ export default { ...@@ -69,11 +69,8 @@ export default {
console.log(fileList) console.log(fileList)
for (let i = 0; i < fileList.length; i++) { for (let i = 0; i < fileList.length; i++) {
let message = {} let message = {}
message.name = fileList[i].name
message.fileName = fileList[i].name message.fileName = fileList[i].name
message.url = fileList[i].url
message.fileUrl = fileList[i].url message.fileUrl = fileList[i].url
message.uid=fileList[i].uid
value.push(message) value.push(message)
} }
this.$emit('input', value) this.$emit('input', value)
......
...@@ -4,9 +4,9 @@ ...@@ -4,9 +4,9 @@
class="sidebar-el-menu" class="sidebar-el-menu"
:default-active="onRoutes" :default-active="onRoutes"
:collapse="collapse" :collapse="collapse"
background-color="#324157" background-color="#FF5203"
text-color="#bfcbd9" text-color="#fff"
active-text-color="#20a0ff" active-text-color="#fff"
unique-opened unique-opened
router router
> >
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
<dataTable :table-data="detail.commodityVOList" :columns="columns"></dataTable> <dataTable :table-data="detail.commodityVOList" :columns="columns"></dataTable>
<div class="appendix list pos"> <div class="appendix list pos">
<div>附件</div> <div>附件</div>
<ul v-if="detail.accessoryVOList" class="filelist"> <ul v-if="detail.accessoryVOList.length>0" class="filelist">
<li v-for="(item,index) in detail.accessoryVOList" :key="index"> <li v-for="(item,index) in detail.accessoryVOList" :key="index">
<a :href="item.accessoryUrl">{{item.fileName}}</a> <a :href="item.accessoryUrl">{{item.fileName}}</a>
</li> </li>
......
...@@ -4,8 +4,8 @@ import router from './router'; ...@@ -4,8 +4,8 @@ import router from './router';
import ElementUI from 'element-ui'; import ElementUI from 'element-ui';
import VueI18n from 'vue-i18n'; import VueI18n from 'vue-i18n';
import { messages } from './components/common/i18n'; import { messages } from './components/common/i18n';
import 'element-ui/lib/theme-chalk/index.css'; // 默认主题 // import 'element-ui/lib/theme-chalk/index.css'; // 默认主题
// import './assets/css/theme-green/index.css'; // 浅绿色主题 import './assets/css/theme-green/index.css'; // 浅绿色主题
import './assets/css/icon.css'; import './assets/css/icon.css';
import './components/common/directives'; import './components/common/directives';
import 'babel-polyfill'; import 'babel-polyfill';
......
...@@ -3,14 +3,14 @@ ...@@ -3,14 +3,14 @@
<div class="content"> <div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<div class="message"> <div class="message">
<div class="flex-between"> <div class="flex-between bond" >
<div>招标文件:<span @click="download(bidDetail.fileUrl)">{{bidDetail.fileName}}</span></div> <div>招标文件:<span @click="download(bidDetail.fileUrl)">{{bidDetail.fileName}}</span></div>
<div>开标信息:<span @click="changeOpen">开标一览表</span></div> <div>开标信息:<span @click="changeOpen">开标一览表</span></div>
</div> </div>
<div class="flex upload"> <div class="flex upload">
<div>变更信息:</div> <div>变更信息:</div>
<ul class="title"> <ul class="title flex" >
<li class="flex" v-for="(item,index) in changeList" :key="index"> <li v-for="(item,index) in changeList" :key="index">
<router-link :to="{path: '/purchaser/bid/bidStage/changeList/see', query: {id: item.noticeId }}">{{item.title}}</router-link> <router-link :to="{path: '/purchaser/bid/bidStage/changeList/see', query: {id: item.noticeId }}">{{item.title}}</router-link>
</li> </li>
</ul> </ul>
...@@ -362,9 +362,14 @@ ...@@ -362,9 +362,14 @@
</script> </script>
<style scoped> <style scoped>
.bond span{
cursor:pointer;
}
.file>div { .file>div {
margin-right: 10px; margin-right: 10px;
color: #113DEE color: #113DEE;
cursor:pointer;
} }
.message { .message {
...@@ -382,7 +387,7 @@ ...@@ -382,7 +387,7 @@
} }
.title>li { .title>li {
margin-bottom: 10px; margin-right: 15px;
} }
.upload button { .upload button {
......
...@@ -3,14 +3,14 @@ ...@@ -3,14 +3,14 @@
<div class="content"> <div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<div class="message"> <div class="message">
<div class="flex-between"> <div class="flex-between bond">
<div>招标文件:<span @click="down(bidDetail.fileUrl)">{{bidDetail.fileName}}</span></div> <div>招标文件:<span @click="down(bidDetail.fileUrl)">{{bidDetail.fileName}}</span></div>
<div>开标信息:<span @click="changeOpen">开标一览表</span></div> <div>开标信息:<span @click="changeOpen">开标一览表</span></div>
</div> </div>
<div class="flex upload"> <div class="flex-item upload">
<div>变更信息:</div <div>变更信息:</div>
<ul class="title"> <ul class="title flex">
<li class="flex" v-for="(item,index) in changeList" :key="index"> <li v-for="(item,index) in changeList" :key="index">
<router-link :to="{path: '/purchaser/bid/bidStage/changeList/see', query: {id: item.noticeId }}">{{item.title}}</router-link> <router-link :to="{path: '/purchaser/bid/bidStage/changeList/see', query: {id: item.noticeId }}">{{item.title}}</router-link>
</li> </li>
</ul> </ul>
...@@ -527,9 +527,13 @@ ...@@ -527,9 +527,13 @@
</script> </script>
<style scoped> <style scoped>
.file>li { .bond span{
cursor:pointer;
}
.file>div {
margin-right: 10px; margin-right: 10px;
color: #113DEE color: #113DEE;
cursor:pointer;
} }
.message { .message {
...@@ -547,7 +551,8 @@ ...@@ -547,7 +551,8 @@
} }
.title>li { .title>li {
margin-bottom: 10px;
margin-right: 15px;
} }
.upload button { .upload button {
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</div> </div>
</div> </div>
<div class="button"> <div class="button">
<el-button @click="back">取消</el-button> <el-button @click="back">返回</el-button>
</div> </div>
</div> </div>
</div> </div>
......
<template> <template>
<div> <div>
<div class="content-head"> <div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>{{title}}</h3> <h3>{{ title }}</h3>
<h5>{{title}}保证金缴费信息</h5> <h5>{{ title }}保证金缴费信息</h5>
<div class="flex state"> <div class="flex state">
<div>状态:{{state}}</div> <div>状态:{{ state }}</div>
<div></div> <div></div>
</div> </div>
</div> </div>
<div class="othercontent"> <div class="othercontent">
<el-form ref="ruleForm" :model="ruleForm" label-width="200px" class="demo-ruleForm"> <el-form ref="ruleForm" :model="ruleForm" label-width="200px" class="demo-ruleForm">
<div class="message"> <div class="message">
<div> <div>
<div class="describe">单位信息</div> <div class="describe">单位信息</div>
<div class="message-form"> <div class="message-form">
<div> <div>
<el-form-item label="单位名称" prop="companyName"> <el-form-item label="单位名称" prop="companyName">
<el-input v-model.trim="ruleForm.companyName" disabled></el-input> <el-input v-model.trim="ruleForm.companyName" disabled></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<el-form-item label="联系人:" > <el-form-item label="联系人:">
<el-input v-model.trim="ruleForm.contacts" disabled maxlength="30"></el-input> <el-input v-model.trim="ruleForm.contacts" disabled maxlength="30"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="固定电话:" prop="companyTel"> <el-form-item label="固定电话:" prop="companyTel">
<el-input v-model.trim="ruleForm.companyTel" disabled maxlength="30"></el-input> <el-input v-model.trim="ruleForm.companyTel" disabled maxlength="30"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<el-form-item label="手机:" prop="companyPhone"> <el-form-item label="手机:" prop="companyPhone">
<el-input v-model.trim="ruleForm.companyPhone" disabled maxlength="30"></el-input> <el-input v-model.trim="ruleForm.companyPhone" disabled maxlength="30"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="传真:" prop="companyFacsimile"> <el-form-item label="传真:" prop="companyFacsimile">
<el-input v-model.trim="ruleForm.companyFacsimile" disabled maxlength="30"></el-input> <el-input v-model.trim="ruleForm.companyFacsimile" disabled maxlength="30"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div> <div>
<el-form-item label="邮箱:" prop="companyEmail"> <el-form-item label="邮箱:" prop="companyEmail">
<el-input v-model.trim="ruleForm.companyEmail" disabled maxlength="30"></el-input> <el-input v-model.trim="ruleForm.companyEmail" disabled maxlength="30"></el-input>
</el-form-item> </el-form-item>
</div> </div>
</div> </div>
</div> </div>
<div> <div>
<div class="describe">邮寄信息</div> <div class="describe">邮寄信息</div>
<div class="message-form"> <div class="message-form">
<div class="flex-between"> <div class="flex-between">
<el-form-item label="收件人名称:"> <el-form-item label="收件人名称:">
<el-input v-model.trim="ruleForm.recipientsName" disabled maxlength="30"></el-input> <el-input v-model.trim="ruleForm.recipientsName" disabled maxlength="30"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="收件人单位:"> <el-form-item label="收件人单位:">
<el-input v-model.trim="ruleForm.recipientsCompany" disabled maxlength="30"></el-input> <el-input v-model.trim="ruleForm.recipientsCompany" disabled maxlength="30"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<el-form-item label="联系方式:"> <el-form-item label="联系方式:">
<el-input v-model.trim="ruleForm.recipientsPhone" disabled maxlength="30"></el-input> <el-input v-model.trim="ruleForm.recipientsPhone" disabled maxlength="30"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="邮政编码:"> <el-form-item label="邮政编码:">
<el-input v-model.trim="ruleForm.recipientsMail" disabled maxlength="30"></el-input> <el-input v-model.trim="ruleForm.recipientsMail" disabled maxlength="30"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div> <div>
<el-form-item label="邮寄地址:"> <el-form-item label="邮寄地址:">
<el-input v-model.trim="ruleForm.recipientsAddress " disabled maxlength="30"></el-input> <el-input v-model.trim="ruleForm.recipientsAddress" disabled maxlength="30"></el-input>
</el-form-item> </el-form-item>
</div> </div>
</div> </div>
</div> </div>
<div> <div>
<div class="describe">缴费信息</div> <div class="describe">缴费信息</div>
<div class="message-form"> <div class="message-form">
<el-form-item label="付款方式:" prop="feeWay"> <el-form-item label="付款方式:" prop="feeWay">
<el-input v-model.trim="ruleForm.feeWay" disabled maxlength="30"> <el-input v-model.trim="ruleForm.feeWay" disabled maxlength="30"> </el-input>
</el-input> </el-form-item>
</el-form-item> <el-form-item label="备注:" prop="remark">
<el-form-item label="备注:" prop="remark"> <el-input :rows="5" v-model.trim="ruleForm.remark" type="textarea" disabled maxlength="300"> </el-input>
<el-input :rows="5" v-model.trim="ruleForm.remark" type="textarea" disabled maxlength="300"> </el-form-item>
</el-input> <el-form-item label="上传缴费凭证:">
</el-form-item> <ul >
<el-form-item label="上传缴费凭证:" v-if="ruleForm.voucherUrl"> <li v-for="(item, index) in ruleForm.voucherList" :key="index">
<ul> <a :href="item.fileUrl">{{ item.fileName }}</a>
<li v-for="(item,index) in ruleForm.voucherList" :key="index"> </li>
<a :href="item.fileUrl">{{item.fileName}}</a> </ul>
</li> </el-form-item>
</ul> </div>
</el-form-item> </div>
<el-form-item label="上传缴费凭证:" v-else> </div>
<div></div> </el-form>
</el-form-item> </div>
</div> <!-- 拒绝原因 -->
</div> <el-dialog title="审核拒绝" :visible.sync="dialogFormVisible">
</div> <el-form :model="form" :rules="rules" ref="form">
</el-form> <el-form-item label="拒绝原因" label-width="100" prop="reason">
</div> <el-input v-model="form.reason" type="textarea" :rows="2" placeholder="请输入内容"></el-input>
<!-- 拒绝原因 --> </el-form-item>
<el-dialog title="审核拒绝" :visible.sync="dialogFormVisible"> </el-form>
<el-form :model="form" :rules="rules" ref="form"> <div slot="footer" class="dialog-footer">
<el-form-item label="拒绝原因" label-width="100" prop="reason"> <el-button @click="dialogFormVisible = false">取 消</el-button>
<el-input v-model="form.reason" type="textarea" :rows="2" placeholder="请输入内容"></el-input> <el-button type="primary" @click="refuse">确 定</el-button>
</el-form-item> </div>
</el-form> </el-dialog>
<div slot="footer" class="dialog-footer"> <div class="bottomButton" v-if="type == 'see'">
<el-button @click="dialogFormVisible = false">取 消</el-button> <el-button @click="back">返回</el-button>
<el-button type="primary" @click="refuse">确 定</el-button> </div>
</div> <div class="bottomButton" v-else>
</el-dialog> <el-button @click="back">取消</el-button>
<div class="bottomButton" v-if="type=='see'"> <el-button type="primary" @click="dialogFormVisible = true">审核拒绝</el-button>
<el-button @click="back">返回</el-button> <el-button type="primary" @click="adopt">审核通过</el-button>
</div> </div>
<div class="bottomButton" v-else> </div>
<el-button @click="back">取消</el-button>
<el-button type="primary" @click="dialogFormVisible = true">审核拒绝</el-button>
<el-button type="primary" @click="adopt">审核通过</el-button>
</div>
</div>
</template> </template>
<script> <script>
import { import { earnestDetail, aduit } from '@api/purchaser/bid';
earnestDetail, import dataBreadcrumb from '@components/dataBreadcrumb.vue';
aduit
} from '@api/purchaser/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
export default {
components: {
dataBreadcrumb,
}, export default {
data() { components: {
return { dataBreadcrumb
dialogFormVisible:false, },
state:"", data() {
breads: ['招标管理', '招标项目管理', '工作台'], return {
ruleForm:{}, dialogFormVisible: false,
form: { state: '',
reason: "" breads: ['招标管理', '招标项目管理', '工作台'],
}, ruleForm: {},
rules: { form: {
reason: [{ reason: ''
required: true, },
message: '请输入', rules: {
trigger: 'blur' reason: [
}] {
} required: true,
} message: '请输入',
}, trigger: 'blur'
methods: { }
back() { ]
this.$router.go(-1) }
}, };
async getearnestDetail() { },
// let message={} methods: {
// message.feeId=this.feeId back() {
// message.projectId=localStorage.getItem("projectId") this.$router.go(-1);
let feeId=this.feeId },
try { async getearnestDetail() {
const { // let message={}
data, // message.feeId=this.feeId
code // message.projectId=localStorage.getItem("projectId")
} = await earnestDetail(feeId) let feeId = this.feeId;
if (code == 200) { try {
this.ruleForm = data const { data, code } = await earnestDetail(feeId);
} if (code == 200) {
} catch (e) { this.ruleForm = data;
console.log(e) }
} } catch (e) {
}, console.log(e);
// 审核拒绝 }
async refuse() { },
try { // 审核拒绝
const valid = await this.$refs['form'].validate() async refuse() {
if (valid) { try {
let form = this.form; const valid = await this.$refs['form'].validate();
form.aduit = 2 if (valid) {
form.id = this.feeId let form = this.form;
const { form.aduit = 2;
code, form.id = this.feeId;
msg const { code, msg } = await aduit(form);
} = await aduit(form) 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) } else {
} else { this.$success.error(msg);
this.$success.error(msg) }
} }
} } catch (e) {
} catch (e) { console.log(e);
console.log(e) }
} },
}, //审核通过
//审核通过 async adopt() {
async adopt() { try {
try { let form = {};
let form = {}; form.aduit = 1;
form.aduit = 1 form.id = this.feeId;
form.id = this.feeId const { code, msg } = await aduit(form);
const { if (code === 200) {
code, this.$message({
msg message: msg,
} = await aduit(form) type: 'success',
if (code === 200) { duration: 1500
this.$message({ });
message: msg, setTimeout(() => {
type: 'success', this.$router.go(-1);
duration: 1500 }, 1500);
}) } else {
setTimeout(() => { this.$success.error(msg);
this.$router.go(-1) }
}, 1500) } catch (e) {
} else { console.log(e);
this.$success.error(msg) }
} }
} catch (e) { },
console.log(e) created() {
} this.state = this.$route.query.state;
} this.type = this.$route.query.type;
}, if (this.type == 'examine') {
created(){ this.title = '审核';
this.state=this.$route.query.state; } else {
this.type = this.$route.query.type; this.title = '查看';
if (this.type == "examine") { }
this.title = "审核" let feeId = this.$route.query.feeId;
} else { this.feeId = feeId;
this.title = "查看" this.getearnestDetail();
} }
let feeId = this.$route.query.feeId; };
this.feeId = feeId
this.getearnestDetail();
}
}
</script> </script>
<style scoped> <style scoped>
.message {} .message {
}
.message>div { .message > div {
background: #fff; background: #fff;
margin-bottom: 20px; margin-bottom: 20px;
padding-bottom: 20px; padding-bottom: 20px;
} }
.message-form { .message-form {
width: 70%; width: 70%;
margin: 0 auto margin: 0 auto;
} }
.content-head{ .content-head {
position: relative; position: relative;
} }
.state{ .state {
position: absolute; position: absolute;
right: 10px; right: 10px;
bottom:10px bottom: 10px;
} }
</style> </style>
<template> <template>
<div> <div>
<div class="content-head"> <div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>{{title}}</h3> <h3>{{ title }}</h3>
<h5>{{title}}购标信息、邮寄信息、发票信息、缴费信息</h5> <h5>{{ title }}购标信息、邮寄信息、发票信息、缴费信息</h5>
<div class="flex state"> <div class="flex state">
<div>状态:{{state}}</div> <div>状态:{{ state }}</div>
<div></div> <div></div>
</div> </div>
</div> </div>
<div class="othercontent"> <div class="othercontent">
<el-form ref="ruleForm" :model="ruleForm" label-width="200px" class="demo-ruleForm"> <el-form ref="ruleForm" :model="ruleForm" label-width="200px" class="demo-ruleForm">
<div class="message"> <div class="message">
<div> <div>
<div class="describe">确认购标信息</div> <div class="describe">确认购标信息</div>
<div class="message-form"> <div class="message-form">
<div> <div>
<el-form-item label="单位名称" prop="companyName"> <el-form-item label="单位名称" prop="companyName">
<el-input v-model="ruleForm.companyName" disabled></el-input> <el-input v-model="ruleForm.companyName" disabled></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<el-form-item label="联系人:" prop="contacts"> <el-form-item label="联系人:" prop="contacts">
<el-input v-model="ruleForm.contacts" disabled></el-input> <el-input v-model="ruleForm.contacts" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="固定电话:" prop="companyTel"> <el-form-item label="固定电话:" prop="companyTel">
<el-input v-model="ruleForm.companyTel" disabled></el-input> <el-input v-model="ruleForm.companyTel" disabled></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<el-form-item label="手机:" prop="companyPhone"> <el-form-item label="手机:" prop="companyPhone">
<el-input v-model="ruleForm.companyPhone" disabled></el-input> <el-input v-model="ruleForm.companyPhone" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="传真:" prop="companyFacsimile"> <el-form-item label="传真:" prop="companyFacsimile">
<el-input v-model="ruleForm.companyFacsimile" disabled></el-input> <el-input v-model="ruleForm.companyFacsimile" disabled></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div> <div>
<el-form-item label="邮箱:" prop="companyEmail"> <el-form-item label="邮箱:" prop="companyEmail">
<el-input v-model="ruleForm.companyEmail" disabled></el-input> <el-input v-model="ruleForm.companyEmail" disabled></el-input>
</el-form-item> </el-form-item>
</div> </div>
</div> </div>
</div> </div>
<div> <div>
<div class="describe">邮寄信息</div> <div class="describe">邮寄信息</div>
<div class="message-form"> <div class="message-form">
<div class="flex-between"> <div class="flex-between">
<el-form-item label="收件人名称:"> <el-form-item label="收件人名称:">
<el-input v-model="ruleForm.recipientsName" disabled></el-input> <el-input v-model="ruleForm.recipientsName" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="收件人单位:"> <el-form-item label="收件人单位:">
<el-input v-model="ruleForm.recipientsCompany" disabled></el-input> <el-input v-model="ruleForm.recipientsCompany" disabled></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<el-form-item label="联系方式:"> <el-form-item label="联系方式:">
<el-input v-model="ruleForm.recipientsPhone" disabled></el-input> <el-input v-model="ruleForm.recipientsPhone" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="邮政编码:"> <el-form-item label="邮政编码:">
<el-input v-model="ruleForm.recipientsMail" disabled></el-input> <el-input v-model="ruleForm.recipientsMail" disabled></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div> <div>
<el-form-item label="邮寄地址:"> <el-form-item label="邮寄地址:">
<el-input v-model="ruleForm.recipientsAddress " disabled></el-input> <el-input v-model="ruleForm.recipientsAddress" disabled></el-input>
</el-form-item> </el-form-item>
</div> </div>
</div>
</div> </div>
</div> <div>
<div> <div class="describe">发票信息</div>
<div class="describe">发票信息</div> <div class="message-form">
<div class="message-form"> <div class="flex-between">
<div class="flex-between"> <el-form-item label="发票类型:" prop="invoiceType">
<el-form-item label="发票类型:" prop="invoiceType"> <el-radio-group v-model="ruleForm.invoiceType" disabled>
<el-radio-group v-model="ruleForm.invoiceType" disabled> <el-radio :label="1">增值税普通发票</el-radio>
<el-radio :label="1">增值税普通发票</el-radio> <el-radio :label="2">增值税专用发票</el-radio>
<el-radio :label="2">增值税专用发票</el-radio> </el-radio-group>
</el-radio-group> </el-form-item>
</el-form-item> <el-form-item label="发票抬头:" prop="invoiceHead">
<el-form-item label="发票抬头:" prop="invoiceHead"> <el-input v-model="ruleForm.invoiceHead" disabled></el-input>
<el-input v-model="ruleForm.invoiceHead" disabled></el-input> </el-form-item>
</el-form-item> </div>
</div> <div class="flex-between">
<div class="flex-between"> <el-form-item label="纳税人识别号:" prop="invoiceTaxNumber ">
<el-form-item label="纳税人识别号:" prop="invoiceTaxNumber "> <el-input v-model="ruleForm.invoiceTaxNumber" disabled></el-input>
<el-input v-model="ruleForm.invoiceTaxNumber " disabled></el-input> </el-form-item>
</el-form-item> <el-form-item label="地址:" prop="invoiceAddress">
<el-form-item label="地址:" prop="invoiceAddress"> <el-input v-model="ruleForm.invoiceAddress" disabled></el-input>
<el-input v-model="ruleForm.invoiceAddress" disabled></el-input> </el-form-item>
</el-form-item> </div>
</div> <div class="flex-between">
<div class="flex-between"> <el-form-item label="电话:" prop="invoiceTel">
<el-form-item label="电话:" prop="invoiceTel"> <el-input v-model="ruleForm.invoiceTel" disabled></el-input>
<el-input v-model="ruleForm.invoiceTel" disabled></el-input> </el-form-item>
</el-form-item> <el-form-item label="开户行及账号:" prop="invoiceAccount">
<el-form-item label="开户行及账号:" prop="invoiceAccount"> <el-input v-model="ruleForm.invoiceAccount" disabled></el-input>
<el-input v-model="ruleForm.invoiceAccount" disabled></el-input> </el-form-item>
</el-form-item> </div>
</div> </div>
</div> </div>
</div> <div>
<div> <div class="describe">缴费信息</div>
<div class="describe">缴费信息</div> <div class="message-form">
<div class="message-form"> <el-form-item label="付款方式:" prop="feeWay">
<el-form-item label="付款方式:" prop="feeWay"> <el-input v-model="ruleForm.feeWay" disabled> </el-input>
<el-input v-model="ruleForm.feeWay" disabled> </el-form-item>
</el-input> <el-form-item label="备注:" prop="remark">
</el-form-item> <el-input :rows="5" v-model="ruleForm.remark" type="textarea" disabled> </el-input>
<el-form-item label="备注:" prop="remark"> </el-form-item>
<el-input :rows="5" v-model="ruleForm.remark" type="textarea" disabled> <el-form-item label="上传缴费凭证:" >
</el-input> <ul>
</el-form-item> <li v-for="(item, index) in ruleForm.voucherList" :key="index">
<el-form-item label="上传缴费凭证:" v-if="ruleForm.voucherUrl"> <a :href="item.fileUrl">{{ item.fileName }}</a>
<ul> </li>
<li v-for="(item,index) in ruleForm.voucherList" :key="index"> </ul>
<a :href="item.fileUrl">{{item.fileName}}</a> </el-form-item>
</li> </div>
</ul> </div>
</el-form-item> </div>
<el-form-item label="上传缴费凭证:" v-if="ruleForm.voucherUrl"> </el-form>
<div></div> </div>
</el-form-item> <!-- 拒绝原因 -->
</div> <el-dialog title="审核拒绝" :visible.sync="dialogFormVisible">
</div> <el-form :model="form" :rules="rules" ref="form">
</div> <el-form-item label="拒绝原因" label-width="100" prop="reason">
</el-form> <el-input v-model="form.reason" type="textarea" :rows="2" placeholder="请输入内容"></el-input>
</div> </el-form-item>
<!-- 拒绝原因 --> </el-form>
<el-dialog title="审核拒绝" :visible.sync="dialogFormVisible"> <div slot="footer" class="dialog-footer">
<el-form :model="form" :rules="rules" ref="form"> <el-button @click="dialogFormVisible = false">取 消</el-button>
<el-form-item label="拒绝原因" label-width="100" prop="reason"> <el-button type="primary" @click="refuse">确 定</el-button>
<el-input v-model="form.reason" type="textarea" :rows="2" placeholder="请输入内容"></el-input> </div>
</el-form-item> </el-dialog>
</el-form> <div class="bottomButton" v-if="type == 'see'">
<div slot="footer" class="dialog-footer"> <el-button @click="back">返回</el-button>
<el-button @click="dialogFormVisible = false">取 消</el-button> </div>
<el-button type="primary" @click="refuse">确 定</el-button> <div class="bottomButton" v-else>
</div> <el-button @click="back">取消</el-button>
</el-dialog> <el-button type="primary" @click="dialogFormVisible = true">审核拒绝</el-button>
<div class="bottomButton" v-if="type=='see'"> <el-button type="primary" @click="adopt">审核通过</el-button>
<el-button @click="back">返回</el-button> </div>
</div> </div>
<div class="bottomButton" v-else>
<el-button @click="back">取消</el-button>
<el-button type="primary" @click="dialogFormVisible = true">审核拒绝</el-button>
<el-button type="primary" @click="adopt">审核通过</el-button>
</div>
</div>
</template> </template>
<script> <script>
import { import { bidbookDetail, operationAduit } from '@api/purchaser/bid';
bidbookDetail, import dataBreadcrumb from '@components/dataBreadcrumb.vue';
operationAduit
} from '@api/purchaser/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
export default { export default {
components: { components: {
dataBreadcrumb, dataBreadcrumb
}, },
data() { data() {
return { return {
state:"", state: '',
dialogFormVisible: false, dialogFormVisible: false,
breads: ['招标管理', '招标项目管理', '工作台'], breads: ['招标管理', '招标项目管理', '工作台'],
ruleForm: {}, ruleForm: {},
form: { form: {
reason: "" reason: ''
}, },
rules: { rules: {
reason: [{ reason: [
required: true, {
message: '请输入', required: true,
trigger: 'blur' message: '请输入',
}] trigger: 'blur'
} }
} ]
}, }
methods: { };
back() { },
this.$router.go(-1) methods: {
}, back() {
async getBidbookDetail() { this.$router.go(-1);
let message={} },
message.feeId=this.feeId async getBidbookDetail() {
message.projectId=localStorage.getItem("projectId") let message = {};
try { message.feeId = this.feeId;
const { message.projectId = localStorage.getItem('projectId');
data, try {
code const { data, code } = await bidbookDetail(message);
} = await bidbookDetail(message) if (code == 200) {
if (code == 200) { this.ruleForm = data;
this.ruleForm = data }
} } catch (e) {
} catch (e) { console.log(e);
console.log(e) }
} },
}, // 审核拒绝
// 审核拒绝 async refuse() {
async refuse() { try {
try { const valid = await this.$refs['form'].validate();
const valid = await this.$refs['form'].validate() if (valid) {
if (valid) { let form = this.form;
let form = this.form; form.aduit = 2;
form.aduit = 2 form.id = this.feeId;
form.id = this.feeId const { code, msg } = await operationAduit(form);
const { if (code === 200) {
code, this.$message({
msg message: msg,
} = await operationAduit(form) type: 'success',
if (code === 200) { duration: 1500
this.$message({ });
message: msg, setTimeout(() => {
type: 'success', this.$router.go(-1);
duration: 1500 }, 1500);
}) } else {
setTimeout(() => { this.$success.error(msg);
this.$router.go(-1) }
}, 1500) }
} else { } catch (e) {
this.$success.error(msg) console.log(e);
} }
} },
} catch (e) { //审核通过
console.log(e) async adopt() {
} try {
}, let form = {};
//审核通过 form.aduit = 1;
async adopt() { form.id = this.feeId;
try { const { code, msg } = await operationAduit(form);
let form = {}; if (code === 200) {
form.aduit = 1 this.$message({
form.id = this.feeId message: msg,
const { type: 'success',
code, duration: 1500
msg });
} = await operationAduit(form) setTimeout(() => {
if (code === 200) { this.$router.go(-1);
this.$message({ }, 1500);
message: msg, } else {
type: 'success', this.$success.error(msg);
duration: 1500 }
}) } catch (e) {
setTimeout(() => { console.log(e);
this.$router.go(-1) }
}, 1500) }
} else { },
this.$success.error(msg) created() {
} this.state = this.$route.query.state;
} catch (e) { this.type = this.$route.query.type;
console.log(e) if (this.type == 'examine') {
} this.title = '审核';
} } else {
}, this.title = '查看';
created() { }
this.state=this.$route.query.state; let feeId = this.$route.query.feeId;
this.type = this.$route.query.type; this.feeId = feeId;
if (this.type == "examine") { this.getBidbookDetail();
this.title = "审核" }
} else { };
this.title = "查看"
}
let feeId = this.$route.query.feeId;
this.feeId = feeId
this.getBidbookDetail();
}
}
</script> </script>
<style scoped> <style scoped>
.message {} .message {
}
.message>div { .message > div {
background: #fff; background: #fff;
margin-bottom: 20px; margin-bottom: 20px;
padding-bottom: 20px; padding-bottom: 20px;
} }
.message-form { .message-form {
width: 70%; width: 70%;
margin: 0 auto margin: 0 auto;
} }
.content-head{ .content-head {
position: relative; position: relative;
} }
.state{ .state {
position: absolute; position: absolute;
right: 10px; right: 10px;
bottom:10px bottom: 10px;
} }
</style> </style>
<template> <template>
<div> <div>
<div class="content"> <div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<div class="message"> <div class="message">
<div class="flex-between" > <div class="flex-between bond">
<div>招标文件:<span @click="download(bidDetail.fileUrl)">{{bidDetail.fileName}}</span></div> <div>
<div>开标信息:<span @click="changeOpen">开标一览表</span></div> 招标文件:<span @click="download(bidDetail.fileUrl)">{{ bidDetail.fileName }}</span>
</div> </div>
<div class="flex upload"> <div>开标信息:<span @click="changeOpen">开标一览表</span></div>
<div>变更信息:</div> </div>
<ul class="title"> <div class="flex upload">
<li class="flex"> <div>变更信息:</div>
<div>公告标题.pdf</div> <ul class="title flex">
<button>下载</button> <li v-for="(item, index) in changeList" :key="index">
</li> <router-link :to="{ path: '/purchaser/bid/bidStage/changeList/see', query: { id: item.noticeId } }">{{
<li class="flex"> item.title
<div>公告标题.pdf</div> }}</router-link>
<button>下载</button> </li>
</li> </ul>
</ul> </div>
</div> <!-- 投标文件 -->
<!-- 投标文件 --> <div>
<div> <div>投标文件:</div>
<div>投标文件:</div> <dataTable :table-data="bids" :columns="bidTitle" :is-index="true">
<dataTable :table-data="bids" :columns="bidTitle" :is-pageobj="false" :is-index="true"> <el-table-column slot="operate" label="文件" align="center" fixed="right">
<el-table-column slot="operate" label="文件" align="center" fixed="right"> <template slot-scope="scope">
<template slot-scope="scope"> <div class="flex file">
<ul class="flex file"> <div @click="down(scope.row.fileUrl)">{{ scope.row.fileName }}</div>
<li v-for="(file,index) in scope.row.files" :key="index">{{ file }}下载</li> <div v-for="(file, index) in scope.row.fileList" :key="index" @click="down(file.fileUrl)">
</ul> {{ file.fileName }}
</template> </div>
</el-table-column> </div>
</dataTable> </template>
</div> </el-table-column>
<!-- 评审信息 --> </dataTable>
<div style="margin-top:100px"> </div>
<div class="flex-between"> <!-- 评审信息 -->
<h5>评审信息</h5> <div style="margin-top: 100px">
<el-button type="primary" size="small" @click='jump'>澄清质询查看</el-button> <div class="flex-between">
</div> <h5>评审信息</h5>
<dataTable :table-data="review" :columns="reviewTitle" :is-index="true"> <el-button type="primary" size="small" @click="jump">澄清质询查看</el-button>
<el-table-column slot="operate" label="资格审查" align="center" fixed="right"> </div>
<template slot-scope="scope"> <dataTable :table-data="review" :columns="reviewTitle" :is-index="true">
<div v-if="scope.row.qualification">通过</div> <el-table-column slot="operate" label="资格审查" align="center" fixed="right">
<div v-else>未通过</div> <template slot-scope="scope">
</template> <div v-if="scope.row.qualification">通过</div>
</el-table-column> <div v-else>未通过</div>
<el-table-column slot="operate" label="符合性审查" align="center" fixed="right"> </template>
<template slot-scope="scope"> </el-table-column>
<div v-if="scope.row.conformity">通过</div> <el-table-column slot="operate" label="符合性审查" align="center" fixed="right">
<div v-else>未通过</div> <template slot-scope="scope">
</template> <div v-if="scope.row.conformity">通过</div>
</el-table-column> <div v-else>未通过</div>
<el-table-column slot="operate" label="" align="center" fixed="right"> </template>
<template slot-scope="scope"> </el-table-column>
<div v-if="scope.row.bidRejection">通过</div> <el-table-column slot="operate" label="手动废标" align="center" fixed="right">
<div v-else>未通过</div> <template slot-scope="scope">
</template> <div v-if="scope.row.bidRejection">通过</div>
</el-table-column> <div v-else>未通过</div>
<el-table-column slot="operate" label="结论" align="center" fixed="right"> </template>
<template slot-scope="scope"> </el-table-column>
<div v-if="scope.row.conclusion">通过</div> <el-table-column slot="operate" label="结论" align="center" fixed="right">
<div v-else>未通过</div> <template slot-scope="scope">
</template> <div v-if="scope.row.conclusion">通过</div>
</el-table-column> <div v-else>未通过</div>
</dataTable> </template>
</div> </el-table-column>
<!-- 排名信息 --> </dataTable>
<div> </div>
<h5>排名信息</h5> <!-- 排名信息 -->
<dataTable :table-data="rank" :columns="rankTitle" :is-pageobj="false" :is-index="true"> <div>
</dataTable> <h5>排名信息</h5>
</div> <dataTable :table-data="rank" :columns="rankTitle" :is-pageobj="false" :is-index="true"> </dataTable>
<div class="flex"> </div>
<div>评标附件:</div> <div class="flex">
<ul class="upload"> <div>评标附件:</div>
<li class="flex"> <ul class="upload">
<div>评价附件.pdf</div> <li class="flex">
<button>下载</button> <div>评价附件.pdf</div>
</li> <button>下载</button>
</ul> </li>
</div> </ul>
<!-- <div class="button"> </div>
<!-- <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>
<!-- 开标一览表 --> <!-- 开标一览表 -->
<el-dialog title="开标一览表" :visible.sync="isOpenInfo"> <el-dialog title="开标一览表" :visible.sync="isOpenInfo">
<dataTable :tableData="tableData" :columns="nopagecolumns" :margin-top="0" :margin-bottom="0"> <dataTable :tableData="tableData" :columns="nopagecolumns" :margin-top="0" :margin-bottom="0"> </dataTable>
</dataTable> <div slot="footer" class="dialog-footer">
<div slot="footer" class="dialog-footer"> <el-button @click="isOpenInfo = false">取 消</el-button>
<el-button @click="isOpenInfo = false">取 消</el-button> </div>
</div> </el-dialog>
</el-dialog> </div>
<div class="bottomButton">
<el-button @click="back">返回</el-button>
<el-button type="primary" v-if="ruleForm.auditStatus == 2" @click="submitData">提交</el-button>
</div>
</div> </div>
</div>
</template> </template>
<script> <script>
import { import { companyRank, CompanyEvaluatec, bidBookDownload, openInfo ,accessorydownload,bidFilelist,changeNoticelist} from '@api/purchaser/bid';
companyRank, import dataTable from '@components/nopageTable.vue';
CompanyEvaluatec, import dataBreadcrumb from '@components/dataBreadcrumb.vue';
bidBookDownload,
openInfo
} from '@api/purchaser/bid'
import dataTable from '@components/nopageTable.vue'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
export default { export default {
components: { components: {
dataTable, dataTable,
dataBreadcrumb dataBreadcrumb
}, },
data() { data() {
return { return {
isOpenInfo:false, isOpenInfo: false,
tableData:[], tableData: [],
nopagecolumns: [{ nopagecolumns: [
label: '投标人名称', {
prop: 'companyName' label: '投标人名称',
prop: 'companyName'
},
{
label: '投标报价(元)',
prop: 'price'
},
{
label: '是否签名',
prop: 'isSign'
}
], //
bidDetail: '',
projectId: 2,
rankTitle: [
{
label: '投标人名称',
prop: 'companyName'
},
{
label: '投标价(元)',
prop: 'price'
},
{
label: '商务评分',
prop: 'commercialGrade'
},
{
label: '技术评分',
prop: 'skillGrade'
},
{
label: '价格评分',
prop: 'priceGrade'
},
{
label: '评标价(元)',
prop: 'evaluationPrice'
},
{
label: '排名',
prop: 'rank'
},
{
label: '最终得分',
prop: 'finalScore'
},
{
slot: 'operate'
}
],
rank: [],
bidTitle: [
{
label: '投标人',
prop: 'name'
},
{
slot: 'operate'
}
],
bids: [
{
name: '上海致远有限公司',
files: ['313121.zip', '546465.zip']
}
],
breads: ['招标管理', '招标项目管理', '工作台'],
review: [],
reviewTitle: [
{
label: '投标人名称',
prop: 'companyName'
},
{
slot: 'operate'
}
] // 操作列
};
},
created() {
this.getcompanyRank();
this.getCompanyEvaluatec();
this.getbidBookDownload();
},
methods: {
back() {
this.$router.go(-1);
},
changeOpen() {
this.isOpenInfo = true;
this.getopenInfo();
},
// 开标一览表
async getopenInfo() {
try {
let projectId = localStorage.getItem('projectId');
const { data, code } = await openInfo(projectId);
if (code == 200) {
for (let item of data) {
if (item.isSign) {
item.isSign = '是';
} else {
item.isSign = '否';
}
}
this.tableData = data;
}
} catch (e) {
console.log(e);
}
},
download(url) {
window.open(url);
},
back() {
this.$router.go(-1);
},
jump() {
this.$router.push('/purchaser/bid/bidEvaluation/review/clear');
},
compare(property) {
return function (a, b) {
var value1 = a[property];
var value2 = b[property];
return value2 - value1;
};
},
examine() {
this.$router.push('/admin/bid/bidingDetail');
},
fail() {
this.$router.push('/purchaser/bid/bidEvaluation/projectManager/fail');
},
// 查投标公司评审信息
async getCompanyEvaluatec() {
try {
let projectId = localStorage.getItem('projectId');
const { data, code } = await CompanyEvaluatec(projectId);
if (code === 200) {
this.review = data;
}
} catch (e) {
console.log(e);
}
},
// 查看投标公司排名信息
async getcompanyRank() {
try {
let projectId = localStorage.getItem('projectId');
const { data, code } = await companyRank(projectId);
if (code === 200) {
this.rank = data;
}
} catch (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);
}
},
// 查看评标附件
async getaccessorydownload() {
let projectId = localStorage.getItem("projectId");
const {
data,
code
} = await accessorydownload(projectId)
if (code === 200) {
this.downloadList = data
}
}, },
{ // 查看投标文件
label: '投标报价(元)', async getbidFilelist() {
prop: 'price' let projectId = localStorage.getItem("projectId");
const {
data,
code
} = await bidFilelist(projectId)
if (code === 200) {
this.bids = data
}
}, },
{ // 查看变更信息
label: '是否签名', async getchangeNoticelist() {
prop: 'isSign', let projectId = localStorage.getItem("projectId");
const {
data,
code
} = await changeNoticelist(projectId)
if (code === 200) {
this.changeList = data;
}
}, },
], // //
bidDetail:"",
projectId:2,
rankTitle: [{
label: '投标人名称',
prop: 'companyName'
},
{
label: '投标价(元)',
prop: 'price'
},
{
label: '商务评分',
prop: 'commercialGrade'
},
{
label: '技术评分',
prop: 'skillGrade'
},
{
label: '价格评分',
prop: 'priceGrade'
},
{
label: '评标价(元)',
prop: 'evaluationPrice'
},
{
label: '排名',
prop: 'rank'
},
{
label: '最终得分',
prop: 'finalScore'
},
{
slot: 'operate'
}
],
rank: [],
bidTitle: [{
label: '投标人',
prop: 'name'
},
{
slot: 'operate'
}
],
bids: [{
name: '上海致远有限公司',
files: ['313121.zip', '546465.zip']
}],
breads: ['招标管理', '招标项目管理', '工作台'],
review: [],
reviewTitle: [{
label: '投标人名称',
prop: 'companyName'
},
{
slot: 'operate'
}
], // 操作列
} }
}, };
created() {
this.getcompanyRank()
this.getCompanyEvaluatec()
this.getbidBookDownload();
},
methods: {
changeOpen(){
this.isOpenInfo=true;
this.getopenInfo() ;
},
// 开标一览表
async getopenInfo() {
try {
let projectId = localStorage.getItem("projectId")
const {
data,
code
} = await openInfo(projectId)
if (code == 200) {
for (let item of data) {
if (item.isSign) {
item.isSign = "是"
} else {
item.isSign = "否"
}
}
this.tableData = data
}
} catch (e) {
console.log(e)
}
},
download(url){
window.open(url)
},
back(){
this.$router.go(-1)
},
jump(){
this.$router.push('/purchaser/bid/bidEvaluation/review/clear')
},
examine() {
this.$router.push('/admin/bid/bidingDetail')
},
fail() {
this.$router.push('/purchaser/bid/bidEvaluation/projectManager/fail')
},
// 查投标公司评审信息
async getCompanyEvaluatec() {
try {
let projectId=localStorage.getItem("projectId");
const {
data,
code
} = await CompanyEvaluatec(projectId)
if (code === 200) {
this.review = data
}
} catch (e) {
console.log(e)
}
},
// 查看投标公司排名信息
async getcompanyRank() {
try {
let projectId=localStorage.getItem("projectId");
const {
data,
code
} = await companyRank(projectId)
if (code === 200) {
this.rank = data
}
} catch (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>
<style scoped> <style scoped>
.file>li { .bond span{
cursor:pointer;
}
.file>div{
margin-right: 10px; margin-right: 10px;
color: #113DEE color: #113DEE;
cursor:pointer;
} }
.message { .message {
margin-left: 50px; margin-left: 50px;
margin-bottom: 50px; margin-bottom: 50px;
}
}
.message span { .message span {
color: #113DEE color: #113dee;
} }
.message>div { .message > div {
margin-bottom: 15px; margin-bottom: 15px;
} }
.title>li { .title > li {
margin-bottom: 10px; margin-right: 15px;
} }
.upload button { .upload button {
border: 1px solid #000000; border: 1px solid #000000;
background: #fff; background: #fff;
width: 50px; width: 50px;
height: 20px; height: 20px;
margin-left: 10px; margin-left: 10px;
} }
h5 { h5 {
font-weight: bold; font-weight: bold;
margin-bottom: 20px; margin-bottom: 20px;
} }
.button{ .button {
width:280px; width: 280px;
margin:80px auto 30px margin: 80px auto 30px;
} }
</style> </style>
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</dataTable> </dataTable>
<div class="button flex-center"> <div class="button flex-center">
<el-button @click="back">返回</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>
</div> </div>
......
...@@ -113,8 +113,8 @@ import dataBreadcrumb from '@components/dataBreadcrumb.vue'; ...@@ -113,8 +113,8 @@ import dataBreadcrumb from '@components/dataBreadcrumb.vue';
import Upload from '@components/Upload/Upload.vue'; import Upload from '@components/Upload/Upload.vue';
export default { export default {
components: { components: {
dataBreadcrumb, dataBreadcrumb,
Upload Upload
}, },
data() { data() {
let checkPhone = async (rule, value, callback) => { let checkPhone = async (rule, value, callback) => {
...@@ -197,12 +197,11 @@ export default { ...@@ -197,12 +197,11 @@ export default {
} else { } else {
this.state = '未审核'; this.state = '未审核';
} }
// for(let item of data.voucherList){ for (let item of data.voucherList) {
// item.name=item.fileName item.name = item.fileName;
// item.url=item.fileUrl item.url = item.fileUrl;
// } }
this.ruleForm = data; this.ruleForm = data;
// this.ruleForm.companyName = JSON.parse(localStorage.getItem("userInfo")).companyName
} }
} catch (e) { } catch (e) {
console.log(e); console.log(e);
...@@ -235,7 +234,7 @@ export default { ...@@ -235,7 +234,7 @@ export default {
} }
}, },
created() { created() {
this.getearnestDetail(); this.getearnestDetail();
} }
}; };
</script> </script>
......
...@@ -56,7 +56,8 @@ export default { ...@@ -56,7 +56,8 @@ export default {
} }
}, },
created() { created() {
this.changeDetail(1) let id=this.$route.query.id
this.changeDetail(id)
}, },
methods: { methods: {
down(url){ down(url){
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
data() { data() {
return { return {
bidFileEndTime:"", bidFileEndTime:"",
navs: ['标书费缴纳管理'], navs: ['招标文件下载'],
files: [], files: [],
breads: ['投标管理', '我参与的项目', '工作台'], breads: ['投标管理', '我参与的项目', '工作台'],
columns: [{ columns: [{
......
...@@ -229,10 +229,10 @@ export default { ...@@ -229,10 +229,10 @@ export default {
} else { } else {
this.state = '未审核'; this.state = '未审核';
} }
// for(let item of data.voucherList){ for (let item of data.voucherList) {
// item.name=item.fileName item.name = item.fileName;
// item.url=item.fileUrl item.url = item.fileUrl;
// } }
this.ruleForm = data; this.ruleForm = data;
} }
} catch (e) { } catch (e) {
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<!-- 报价弹窗 --> <!-- 报价弹窗 -->
<el-dialog :visible.sync="dialogFormVisible" title="报价" width="50%"> <el-dialog :visible.sync="dialogFormVisible" title="报价" width="50%">
<dataTable :table-data="commoditylist" :columns="commoditycolumns"> <dataTable :table-data="commoditylist" :columns="commoditycolumns">
<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-input-number <el-input-number
v-model="scope.row.cost" v-model="scope.row.cost"
...@@ -148,7 +148,7 @@ export default { ...@@ -148,7 +148,7 @@ export default {
prop: 'remark' prop: 'remark'
}, },
{ {
label: '价格', label: '报价',
prop: 'offerPrice' prop: 'offerPrice'
}, },
] ]
......
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