Commit 18cebfd0 authored by 张冬's avatar 张冬

9.15

parent dd7776de
......@@ -18,4 +18,45 @@ export function projectapply(data) {
})
}
// 查看询价公告
export function noticeEnquiry(id) {
return request({
url: `notice/enquiry/${id}`,
method: 'get',
})
}
// 招标文件下载
export function bidBooklist(params) {
return request({
url: "bidder/project/bidBook/list",
method: 'get',
params:params
})
}
// 标书费缴纳
export function bidBookpayment(data) {
return request({
url: "/bidder/project/bidBook/payment",
method: 'post',
data:data
})
}
// 保证金缴纳
export function bidderEarnestpayment(data) {
return request({
url: "/bidder-earnest/payment",
method: 'post',
data:data
})
}
// 查看某个澄清的 投标方列表
// export function bidClarifies(params) {
// return request({
// url: '/clarifies/bid-clarifies/list',
// method: 'get',
// params: params
// })
// }
\ No newline at end of file
......@@ -59,7 +59,8 @@ export default {
},
methods: {
join(){
window.location.href="http://192.168.200.201:8081/"
// window.location.href="http://192.168.200.201:8081/"
window.location.href=" http://localhost:3000/"
},
// 用户名下拉菜单选择事件
handleCommand(command) {
......
......@@ -32,7 +32,7 @@
<script>
import {getSearchString} from '@utils/common'
import dataTable from '@components/dataTable.vue'
import dataTable from '@components/nopageTable.vue'
export default {
components: {
dataTable
......
<template>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>提交</h3>
<h5>提交保证金缴纳信息</h5>
</div>
<div class="othercontent">
<el-form ref="ruleForm" :model="ruleForm" :rules="formrules" label-width="200px" class="demo-ruleForm">
<div class="message">
<div>
<div class="describe">单位信息</div>
<div class="message-form">
<div>
<el-form-item label="单位名称" prop="projectName">
<el-input v-model="ruleForm.projectName" disabled></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="联系人:" prop="projectCode">
<el-input v-model="ruleForm.projectCode" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="固定电话:" prop="classify">
<el-input v-model="ruleForm.classify" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="手机:" prop="purchaseAgent">
<el-input v-model="ruleForm.purchaseAgent" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="传真:" prop="industry">
<el-input v-model="ruleForm.industry" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div>
<el-form-item label="邮箱:" prop="industry">
<el-input v-model="ruleForm.industry" placeholder="请输入"></el-input>
</el-form-item>
</div>
</div>
</div>
<div>
<div class="describe">邮寄信息</div>
<div class="message-form">
<div class="flex-between">
<el-form-item label="收件人名称:" prop="account">
<el-input v-model="ruleForm.account" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收件人单位:" prop="bank">
<el-input v-model="ruleForm.bank" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="联系方式:" prop="accountName">
<el-input v-model="ruleForm.accountName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="邮政编码:" prop="phone">
<el-input v-model="ruleForm.phone" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div>
<el-form-item label="邮寄地址:" prop="phone">
<el-input v-model="ruleForm.phone" placeholder="请输入"></el-input>
</el-form-item>
</div>
</div>
</div>
<div>
<div class="describe">缴费信息</div>
<div class="message-form">
<el-form-item label="付款方式:" prop="content">
<el-input :rows="5" v-model="ruleForm.content" prop="content" placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="备注:" prop="content">
<el-input :rows="5" v-model="ruleForm.content" type="textarea" prop="content" placeholder="请输入内容">
</el-input>
</el-form-item>
<el-form-item label="备注:" prop="content">
<Upload :limit="5" :max="5" tip="完成上传5份文件,每份不超过10M" @input="getfile"></Upload>
</el-form-item>
</div>
</div>
</div>
</el-form>
</div>
<div class="bottomButton">
<el-button>取消</el-button>
<el-button type="primary">提交</el-button>
</div>
</div>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>提交</h3>
<h5>提交保证金缴纳信息</h5>
</div>
<div class="othercontent">
<el-form ref="ruleForm" :model="ruleForm" :rules="formrules" label-width="200px" class="demo-ruleForm">
<div class="message">
<div>
<div class="describe">单位信息</div>
<div class="message-form">
<div>
<el-form-item label="单位名称" prop="companyName">
<el-input v-model="ruleForm.companyName" disabled></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="联系人:" prop="projectCode">
<el-input v-model="ruleForm.projectCode" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="固定电话:" prop="companyTel">
<el-input v-model="ruleForm.companyTel" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="手机:" prop="companyPhone">
<el-input v-model="ruleForm.companyPhone" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="传真:" prop="companyFacsimile">
<el-input v-model="ruleForm.companyFacsimile" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div>
<el-form-item label="邮箱:" prop="companyEmail">
<el-input v-model="ruleForm.companyEmail" placeholder="请输入"></el-input>
</el-form-item>
</div>
</div>
</div>
<div>
<div class="describe">邮寄信息</div>
<div class="message-form">
<div class="flex-between">
<el-form-item label="收件人名称:">
<el-input v-model="ruleForm.recipientsName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收件人单位:">
<el-input v-model="ruleForm.recipientsCompany" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="联系方式:">
<el-input v-model="ruleForm.recipientsPhone" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="邮政编码:">
<el-input v-model="ruleForm.recipientsMail" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div>
<el-form-item label="邮寄地址:">
<el-input v-model="ruleForm.recipientsAddress " placeholder="请输入"></el-input>
</el-form-item>
</div>
</div>
</div>
<div>
<div class="describe">缴费信息</div>
<div class="message-form">
<el-form-item label="付款方式:" prop="feeWay">
<el-input v-model="ruleForm.feeWay" placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="备注:" prop="remark">
<el-input :rows="5" v-model="ruleForm.remark" type="textarea" placeholder="请输入内容">
</el-input>
</el-form-item>
<el-form-item label="上传缴费凭证:" prop="voucherUrl">
<Upload :limit="5" :max="5" tip="完成上传5份文件,每份不超过10M" @input="getfile"></Upload>
</el-form-item>
</div>
</div>
</div>
</el-form>
</div>
<div class="bottomButton">
<el-button>取消</el-button>
<el-button type="primary" @click="submitData">提交</el-button>
</div>
</div>
</template>
<script>
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import Upload from '@components/Upload/Upload.vue'
export default {
components: {
dataBreadcrumb,
Upload
},
data() {
return {
breads: ['招标管理', '招标项目管理', '工作台'],
ruleForm: {
projectName: '',
projectCode: '',
classify: '',
purchaseAgent: '',
industry: '',
region: '',
minTender: '',
contacts: '',
contactsWay: '',
// 招标方式
bidType: 0,
isPublishAd: false,
content: '',
// 标的需求
isNeedEarnest: false,
provinceId: '',
cityId: '',
districtId: ''
},
formrules: []
}
},
methods: {
}
}
import {
bidderEarnestpayment
} from '@api/supply/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import Upload from '@components/Upload/Upload.vue'
export default {
components: {
dataBreadcrumb,
Upload
},
data() {
// 测试图片
let checkimg = (rule, value, callback) => {
if (this.ruleForm.voucherUrl.length === 0) {
callback(new Error('请上传凭证'));
} else {
callback();
}
};
return {
breads: ['招标管理', '招标项目管理', '工作台'],
ruleForm: {
companyName: '',
companyTel: '',
companyPhone: '',
companyFacsimile: '',
recipientsName: "",
recipientsCompany: "",
recipientsPhone: "",
recipientsMail: "",
recipientsAddress: "",
feeWay: '',
remark: "",
companyEmail: "",
voucherUrl: []
},
formrules: {
companyName: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
companyPhone: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
feeWay: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
voucherUrl: [{
required: true,
validator: checkimg,
trigger: 'blur'
}]
}
}
},
methods: {
getfile(val) {
this.ruleForm.voucherUrl = val
},
async submitData() {
try {
const valid = await this.$refs['ruleForm'].validate()
if (valid) {
let message = this.ruleForm
message.companyId = 1,
message.projectId = localstorage.getitem("projectId")
const {
code,
msg
} = await bidderEarnestpayment(message)
if (code === 2000) {
this.$success.success(msg)
}
}
} catch (e) {
console.log(e)
}
}
},
}
</script>
<style scoped>
.message{}
.message {}
.message>div {
background: #fff;
margin-bottom: 20px;
padding-bottom: 20px;
}
.message-form{
width:70%;
margin:0 auto
}
</style>
.message-form {
width: 70%;
margin: 0 auto
}
</style>
\ No newline at end of file
<template>
<div >
<div>
<div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" >
<el-button class="absolute" type="primary" @click="release">发布变更公告</el-button>
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" :table-top="60">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope">
<el-button v-if="scope.row.state=='待修改'" type="text" size="small" @click="handleModify(scope.row)">修改</el-button>
......@@ -15,94 +16,97 @@
</template>
<script>
import {
changeList
} from '@api/purchaser/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import dataTable from '@components/nopageTable.vue'
export default {
name: 'bidingList',
components: {
dataTable,
dataBreadcrumb
},
data() {
return {
breads: ['投标管理 ', '我参加的项目', '工作台'],
tableData: [{
name: '涿州市鼓楼大街(范阳路至永济路段)及周边区域街巷改造工程监理',
person: '腾讯4',
data: '2017-10-01 12:00',
state: '待审核',
remark: '错别字'
}, {
name: '涿州市鼓楼大街(范阳路至永济路段)及周边区域街巷改造工程监理',
person: '腾讯3',
data: '2017-10-01 13:00',
state: '待审核',
remark: '错别字'
}, {
name: '涿州市鼓楼大街(范阳路至永济路段)及周边区域街巷改造工程监理',
person: '腾讯2',
data: '2017-10-01 14:00',
state: '待修改',
remark: '错别字'
}, {
name: '涿州市鼓楼大街(范阳路至永济路段)及周边区域街巷改造工程监理',
person: '腾讯1',
data: '2017-10-01 15:00',
state: '待审核',
remark: '已发布'
}],
projectId: 2,
breads: ['招标管理 ', '招标项目管理', '工作台'],
tableData: [],
columns: [{
label: '公告名称',
prop: 'name',
width: 500
prop: 'title'
},
{
label: '发布时间',
prop: 'data',
label: '创建时间',
prop: 'createTime',
sortable: true
},
{
label: '状态',
prop: 'auditStatus'
},
{
label: '备注',
prop: 'remark'
},
{
slot: 'operate'
}
], // 操作列
pageObj: {
size: 10,
total: 1,
currentPage: 1,
sizes: [100, 200, 300],
func: (currentPage) => {
this.pageTurning(currentPage)
}
}
] // 操作列
}
},
created() {
this.getchangeList()
},
methods: {
handleModify() {
this.$router.push({
path: '/purchaser/bid/bidStage/changeList/changeNotice',
query: { type: 'modify' }
}
)
this.$router.push({
path: '/purchaser/bid/bidStage/changeList/changeNotice',
query: {
type: 'modify'
}
})
},
release() {
this.$router.push({
path: '/purchaser/bid/bidStage/changeList/changeNotice',
query: { type: 'release' }
}
)
this.$router.push({
path: '/purchaser/bid/bidStage/changeList/changeNotice',
query: {
type: 'release'
}
})
},
handleSee() {
this.$router.push('/purchaser/bid/bidStage/changeList/see')
},
async getchangeList() {
try {
let projectId=localStorage.getItem("projectId");
const {
data,
code
} = await changeList(projectId)
if (code === 200) {
for (let item of data) {
if (item.auditStatus === 0) {
item.auditStatus = '未审核'
} else if (item.auditStatus === 1) {
item.auditStatus = '审核通过'
} else {
item.auditStatus = '未通过'
}
}
this.tableData = data
}
} catch (e) {
console.log(e)
}
}
}
}
</script>
<style scoped>
.absolute{
.absolute {
position: absolute;
top:65px
top: 65px
}
</style>
<template>
<!-- <template>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
......@@ -13,7 +13,6 @@
<div>公告标题</div>
</el-form-item>
<el-form-item label="上传附件" prop="file">
<!-- <multiUpload tips="支持扩展名:.rar .zip .doc .docx .pdf .jpg..."></multiUpload> -->
</el-form-item>
<el-form-item label="公告内容" prop="content">
<div>公告内容</div>
......@@ -95,4 +94,93 @@ export default {
width: 200px;
margin:150px auto 0
}
</style> -->
<template>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>查看变更公告</h3>
<h5>查看变更公告</h5>
</div>
<div class="content">
<div class="describe">变更公告</div>
<div class="form">
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm">
<el-form-item label="公告标题" prop="title">
<div>公告标题</div>
</el-form-item>
<el-form-item label="上传附件" prop="file">
<!-- <multiUpload tips="支持扩展名:.rar .zip .doc .docx .pdf .jpg..."></multiUpload> -->
</el-form-item>
<el-form-item label="公告内容" prop="content">
<div>公告内容</div>
</el-form-item>
</el-form>
<div class="button">
<el-button @click="cancle">返回</el-button>
</div>
</div>
</div>
</div>
</template>
<script>
import {
noticeChange
} from '@api/purchaser/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
export default {
components: {
dataBreadcrumb
},
data() {
return {
editorOption: {},
breads: ['招标管理', '招标项目管理', '工作台'],
ruleForm: {
title: '',
content: ''
}
}
},
created() {
this.changeDetail(1)
},
methods: {
cancle() {
this.$router.go(-1)
},
async changeDetail(id) {
try {
const {
data,
code
} = await noticeChange(id)
if (code === 200) {
this.detail = data
}
} catch (e) {
console.log(e)
}
}
}
}
</script>
<style scoped>
.content {
padding: 0;
padding-bottom: 100px;
}
.button {
width: 200px;
margin: 150px auto 0
}
</style>
......@@ -4,7 +4,7 @@
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<changeNav :navs="navs"></changeNav>
<div class="absolute">
<el-button type="primary" @click="propose">退出问题</el-button>
<el-button type="primary" @click="out">退出澄清</el-button>
</div>
<dataTable :columns="columns" :page-obj="pageObj" url="/clarifies/list">
<el-table-column slot="operate" label="状态" align="center" fixed="right" >
......@@ -21,13 +21,8 @@
</el-table-column>
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope">
<div v-if="scope.row.clarifiesType==0">
<el-button type="text" size="small" @click="handleSee(scope.row)">查看</el-button>
</div>
<div v-else>
<el-button v-if="scope.row.state==1" type="text" size="small" @click="examine(scope.row)">查看</el-button>
<el-button v-else type="text" size="small" @click="handleReply(scope.row.id)">回复</el-button>
</div>
<el-button v-if="scope.row.state==1" type="text" size="small" @click="confirm(scope.row)">确认</el-button>
<el-button v-else type="text" size="small" @click="handleSee(scope.row)">查看</el-button>
</template>
</el-table-column>
</dataTable>
......@@ -50,8 +45,22 @@ export default {
data() {
return {
navs: ['招标文件澄清列表'],
breads: ['投标管理', '我参与的项目', '工作台'],
breads: ['招标管理', '招标项目管理', '工作台'],
checklist: [{
title: '公告名称',
type: 'input'
}, {
title: '状态',
type: 'select',
selectlist: [{
value: '1',
label: '公开招标'
}, {
value: '2',
label: '邀请招标'
}],
change: row => ''
}],
tableData: [],
columns: [{
label: '澄清问题标题',
......@@ -70,12 +79,9 @@ export default {
slot: 'operate'
}
], // 操作列
pageObj: {
size: 10,
total: 1,
currentPage: 1,
sizes: [10, 15, 20]
currentPage: 1
// func: (currentPage) => {
// this.pageTurning(currentPage)
// }
......@@ -83,20 +89,24 @@ export default {
}
},
created() {
this.pageObj.projectId = '1'
this.pageObj.projectId = 2
this.pageObj.questionId = 1
},
methods: {
handleSee(row) {
console.log(row)
},
handleReply(id) {
handleSee(id) {
this.$router.push({
path: '/purchaser/bid/bidStage/clearManagement/reply',
path: '/supply/bid/joinProject/bidStage/clearManagement/see',
query: id
})
},
propose() {
this.$router.push("/supply/bid/joinProject/clearManagement/propose")
confirm(id){
this.$router.push({
path: '/supply/bid/joinProject/bidStage/clearManagement/confirm',
query: id
})
},
out() {
this.$router.go(-1)
}
}
......
<template>
<!-- <template>
<div >
<div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
......@@ -105,4 +105,120 @@ export default {
position: absolute;
top:65px
}
</style>
</style> -->
<template>
<div>
<div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<el-button class="absolute" type="primary" @click="release">发布流标公告</el-button>
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" :table-top="60">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope">
<el-button v-if="scope.row.state=='待修改'" type="text" size="small" @click="handleModify(scope.row)">修改</el-button>
<el-button v-else type="text" size="small" @click="handleSee(scope.row)">查看</el-button>
</template>
</el-table-column>
</dataTable>
</div>
</div>
</template>
<script>
import {
abortiveList
} from '@api/purchaser/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import dataTable from '@components/nopageTable.vue'
export default {
name: 'bidingList',
components: {
dataTable,
dataBreadcrumb
},
data() {
return {
projectId: 2,
breads: ['招标管理 ', '招标项目管理', '工作台'],
tableData: [],
columns: [{
label: '公告名称',
prop: 'name',
width: 500
},
{
label: '创建时间',
prop: 'data',
sortable: true
},
{
label: '状态',
prop: 'state'
},
{
label: '备注',
prop: 'remark'
},
{
slot: 'operate'
}
] // 操作列
}
},
created() {
this.getabortiveList()
},
methods: {
handleModify() {
this.$router.push({
path: '/purchaser/bid/bidStage/failList/failNotice',
query: {
type: 'modify'
}
})
},
release() {
this.$router.push({
path: '/purchaser/bid/bidStage/failList/failNotice',
query: {
type: 'release'
}
})
},
handleSee() {
this.$router.push('/purchaser/bid/bidStage/failList/see')
},
async getabortiveList() {
try {
let projectId=localStorage.getItem("projectId");
const {
data,
code
} = await abortiveList(projectId)
if (code === 200) {
for (let item of data) {
if (item.auditStatus === 0) {
item.auditStatus = '未审核'
} else if (item.auditStatus === 1) {
item.auditStatus = '审核通过'
} else {
item.auditStatus = '未通过'
}
}
this.tableData = data
}
} catch (e) {
console.log(e)
}
}
}
}
</script>
<style scoped>
.absolute {
position: absolute;
top: 65px
}
</style>
\ No newline at end of file
<template>
<!-- <template>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
......@@ -13,7 +13,6 @@
<div>公告标题</div>
</el-form-item>
<el-form-item label="上传附件" prop="file">
<!-- <multiUpload tips="支持扩展名:.rar .zip .doc .docx .pdf .jpg..."></multiUpload> -->
</el-form-item>
<el-form-item label="公告内容" prop="content">
<div>公告内容</div>
......@@ -96,3 +95,120 @@ export default {
margin:150px auto 0
}
</style>
-->
<template>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>查看流标公告</h3>
<h5>查看流标公告</h5>
</div>
<div class="content">
<div class="describe">流标公告</div>
<div class="form">
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm">
<el-form-item label="公告标题" prop="title">
<div>公告标题</div>
</el-form-item>
<el-form-item label="上传附件" prop="file">
<!-- <multiUpload tips="支持扩展名:.rar .zip .doc .docx .pdf .jpg..."></multiUpload> -->
</el-form-item>
<el-form-item label="公告内容" prop="content">
<div>公告内容</div>
</el-form-item>
</el-form>
<div class="button">
<el-button @click="cancle">返回</el-button>
</div>
</div>
</div>
</div>
</template>
<script>
import {
noticeAbortive
} from '@api/purchaser/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import multiUpload from '@components/Upload/multiUpload.vue'
import {
quillEditor
} from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
export default {
components: {
dataBreadcrumb,
multiUpload,
quillEditor
},
data() {
return {
editorOption: {},
breads: ['招标管理', '招标项目管理', '工作台'],
ruleForm: {
title: '',
content: ''
},
rules: {
title: [{
required: true,
message: '请输入',
trigger: 'blue'
}],
release: [{
required: true,
message: '请输入',
trigger: 'blue'
}],
file: [{
required: true,
message: '请输入',
trigger: 'blue'
}],
content: [{
required: true,
message: '请输入',
trigger: 'blue'
}]
}
}
},
created() {
this.changeDetail(1)
},
methods: {
cancle() {
this.$router.go(-1)
},
async abortiveDetail(id) {
try {
const {
data,
code
} = await noticeAbortive(id)
if (code === 200) {
this.detail = data
}
} catch (e) {
console.log(e)
}
}
}
}
</script>
<style scoped>
.content {
padding: 0;
padding-bottom: 100px;
}
.button {
width: 200px;
margin: 150px auto 0
}
</style>
\ No newline at end of file
......@@ -24,6 +24,7 @@
</template>
<script>
import {bidBooklist} from '@api/supply/bid'
import dataTable from '@components/nopageTable.vue'
import changeNav from '@components/changeNav.vue'
import breadCrumb from '@components/dataBreadcrumb.vue'
......@@ -36,32 +37,7 @@ export default {
data() {
return {
navs: ['标书费缴纳管理'],
tabledata: [{
name: '清河坊铺石板',
size: '20M',
type: '招标文件',
price: '100.00'
}, {
name: '清河坊铺石板',
size: '20M',
type: '其他文件',
price: '100.00'
}, {
name: '清河坊铺石板',
size: '20M',
type: '其他文件',
price: '100.00'
}, {
name: '清河坊铺石板',
size: '20M',
type: '其他文件',
price: '0.00'
}, {
name: '清河坊铺石板',
size: '20M',
type: '其他文件',
price: '0.00'
}],
tabledata: [],
breads: ['投标管理', '我参与的项目', '工作台'],
columns: [{
label: '文件名称',
......@@ -82,6 +58,27 @@ export default {
slot: 'operate'
}]
}
},
created() {
this.getbidBooklist()
},
methods:{
async getbidBooklist() {
try {
let message={}
message.projectId=localStorage.getItem("projectId")
message.companyId=1
const {
data,
code
} = await bidBooklist(message)
if (code === 200) {
this.tableData = data
}
} catch (e) {
console.log(e)
}
}
}
}
</script>
......
<template>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>提交</h3>
<h5>提交购标信息、邮寄信息、发票信息、缴费信息</h5>
</div>
<div class="othercontent">
<el-form ref="ruleForm" :model="ruleForm" :rules="formrules" label-width="200px" class="demo-ruleForm">
<div class="message">
<div>
<div class="describe">确认购标信息</div>
<div class="message-form">
<div>
<el-form-item label="单位名称" prop="projectName">
<el-input v-model="ruleForm.projectName" disabled></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="联系人:" prop="projectCode">
<el-input v-model="ruleForm.projectCode" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="固定电话:" prop="classify">
<el-input v-model="ruleForm.classify" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="手机:" prop="purchaseAgent">
<el-input v-model="ruleForm.purchaseAgent" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="传真:" prop="industry">
<el-input v-model="ruleForm.industry" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div>
<el-form-item label="邮箱:" prop="industry">
<el-input v-model="ruleForm.industry" placeholder="请输入"></el-input>
</el-form-item>
</div>
</div>
</div>
<div>
<div class="describe">邮寄信息</div>
<div class="message-form">
<div class="flex-between">
<el-form-item label="收件人名称:" prop="account">
<el-input v-model="ruleForm.account" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收件人单位:" prop="bank">
<el-input v-model="ruleForm.bank" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="联系方式:" prop="accountName">
<el-input v-model="ruleForm.accountName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="邮政编码:" prop="phone">
<el-input v-model="ruleForm.phone" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div>
<el-form-item label="邮寄地址:" prop="phone">
<el-input v-model="ruleForm.phone" placeholder="请输入"></el-input>
</el-form-item>
</div>
</div>
</div>
<div>
<div class="describe">发票信息</div>
<div class="message-form">
<div class="flex-between">
<el-form-item label="发表类型:" prop="isNeedEarnest">
<el-radio-group v-model="ruleForm.isNeedEarnest">
<el-radio :label="false">增值税普通发票</el-radio>
<el-radio :label="true">增值税专用发票</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="发票抬头:" prop="money">
<el-input v-model="ruleForm.money" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="纳税人识别号:" prop="account">
<el-input v-model="ruleForm.account" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="地址:" prop="bank">
<el-input v-model="ruleForm.bank" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="电话:" prop="accountName">
<el-input v-model="ruleForm.accountName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="开户行及账号:" prop="phone">
<el-input v-model="ruleForm.phone" placeholder="请输入"></el-input>
</el-form-item>
</div>
</div>
</div>
<div>
<div class="describe">缴费信息</div>
<div class="message-form">
<el-form-item label="付款方式:" prop="content">
<el-input :rows="5" v-model="ruleForm.content" prop="content" placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="备注:" prop="content">
<el-input :rows="5" v-model="ruleForm.content" type="textarea" prop="content" placeholder="请输入内容">
</el-input>
</el-form-item>
<el-form-item label="备注:" prop="content">
<Upload :limit="5" :max="5" tip="完成上传5份文件,每份不超过10M" @input="getfile"></Upload>
</el-form-item>
</div>
</div>
</div>
</el-form>
</div>
<div class="bottomButton">
<el-button>取消</el-button>
<el-button type="primary">提交</el-button>
</div>
</div>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>提交</h3>
<h5>提交购标信息、邮寄信息、发票信息、缴费信息</h5>
</div>
<div class="othercontent">
<el-form ref="ruleForm" :model="ruleForm" :rules="formrules" label-width="200px" class="demo-ruleForm">
<div class="message">
<div>
<div class="describe">确认购标信息</div>
<div class="message-form">
<div>
<el-form-item label="单位名称" prop="companyName">
<el-input v-model="ruleForm.companyName" disabled></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="联系人:" prop="projectCode">
<el-input v-model="ruleForm.projectCode" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="固定电话:" prop="companyTel">
<el-input v-model="ruleForm.companyTel" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="手机:" prop="companyPhone">
<el-input v-model="ruleForm.companyPhone" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="传真:" prop="companyFacsimile">
<el-input v-model="ruleForm.companyFacsimile" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div>
<el-form-item label="邮箱:" prop="companyEmail">
<el-input v-model="ruleForm.companyEmail" placeholder="请输入"></el-input>
</el-form-item>
</div>
</div>
</div>
<div>
<div class="describe">邮寄信息</div>
<div class="message-form">
<div class="flex-between">
<el-form-item label="收件人名称:">
<el-input v-model="ruleForm.recipientsName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="收件人单位:">
<el-input v-model="ruleForm.recipientsCompany" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="联系方式:">
<el-input v-model="ruleForm.recipientsPhone" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="邮政编码:">
<el-input v-model="ruleForm.recipientsMail" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div>
<el-form-item label="邮寄地址:">
<el-input v-model="ruleForm.recipientsAddress " placeholder="请输入"></el-input>
</el-form-item>
</div>
</template>
</div>
</div>
<div>
<div class="describe">发票信息</div>
<div class="message-form">
<script>
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import Upload from '@components/Upload/Upload.vue'
export default {
components: {
dataBreadcrumb,
Upload
},
data() {
return {
breads: ['招标管理', '招标项目管理', '工作台'],
ruleForm: {
projectName: '',
projectCode: '',
classify: '',
purchaseAgent: '',
industry: '',
region: '',
minTender: '',
contacts: '',
contactsWay: '',
// 招标方式
bidType: 0,
isPublishAd: false,
content: '',
// 标的需求
isNeedEarnest: false,
provinceId: '',
cityId: '',
districtId: ''
},
formrules: []
}
},
methods: {
<div class="flex-between">
<el-form-item label="发票类型:" prop="invoiceType">
<el-radio-group v-model="ruleForm.invoiceType">
<el-radio :label="1">增值税普通发票</el-radio>
<el-radio :label="2">增值税专用发票</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="发票抬头:" prop="invoiceHead">
<el-input v-model="ruleForm.invoiceHead" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="纳税人识别号:" prop="invoiceTaxNumber ">
<el-input v-model="ruleForm.invoiceTaxNumber " placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="地址:" prop="invoiceAddress">
<el-input v-model="ruleForm.invoiceAddress" placeholder="请输入"></el-input>
</el-form-item>
</div>
<div class="flex-between">
<el-form-item label="电话:" prop="invoiceTel">
<el-input v-model="ruleForm.invoiceTel" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="开户行及账号:" prop="invoiceAccount">
<el-input v-model="ruleForm.invoiceAccount" placeholder="请输入"></el-input>
</el-form-item>
</div>
</div>
</div>
<div>
<div class="describe">缴费信息</div>
<div class="message-form">
<el-form-item label="付款方式:" prop="feeWay">
<el-input v-model="ruleForm.feeWay" placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="备注:" prop="remark">
<el-input :rows="5" v-model="ruleForm.remark" type="textarea" placeholder="请输入内容">
</el-input>
</el-form-item>
<el-form-item label="上传缴费凭证:" prop="voucherUrl">
<Upload :limit="5" :max="5" tip="完成上传5份文件,每份不超过10M" @input="getfile"></Upload>
</el-form-item>
</div>
</div>
</div>
</el-form>
</div>
<div class="bottomButton">
<el-button>取消</el-button>
<el-button type="primary" @click="submitData">提交</el-button>
</div>
</div>
}
</template>
}
<script>
import {
bidBookpayment
} from '@api/supply/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import Upload from '@components/Upload/Upload.vue'
export default {
components: {
dataBreadcrumb,
Upload
},
data() {
// 测试图片
let checkimg = (rule, value, callback) => {
if (this.ruleForm.voucherUrl.length === 0) {
callback(new Error('请上传凭证'));
} else {
callback();
}
};
return {
breads: ['招标管理', '招标项目管理', '工作台'],
ruleForm: {
companyName: '',
companyTel: '',
companyPhone: '',
companyFacsimile: '',
recipientsName: "",
recipientsCompany: "",
recipientsPhone: "",
recipientsMail: "",
recipientsAddress: "",
invoiceType: '',
invoiceHead: "",
invoiceTaxNumber: "",
invoiceAddress: "",
invoiceTel: "",
invoiceAccount: '',
feeWay: '',
remark: "",
companyEmail: "",
voucherUrl: []
},
formrules: {
companyName: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
companyPhone: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
invoiceType: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
invoiceTaxNumber: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
invoiceAddress: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
invoiceTel: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
invoiceAccount: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
feeWay: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
voucherUrl: [{
required: true,
validator: checkimg,
trigger: 'blur'
}]
}
}
},
methods: {
getfile(val) {
this.ruleForm.voucherUrl = val
},
async submitData() {
try {
const valid = await this.$refs['ruleForm'].validate()
if (valid) {
let message = this.ruleForm
message.companyId = 1,
message.projectId = localstorage.getitem("projectId")
const {
code,
msg
} = await bidBookpayment(message)
if (code === 2000) {
this.$success.success(msg)
}
}
} catch (e) {
console.log(e)
}
}
},
}
</script>
<style scoped>
.message{}
.message {}
.message>div {
background: #fff;
margin-bottom: 20px;
padding-bottom: 20px;
}
.message-form{
width:70%;
margin:0 auto
}
.message-form {
width: 70%;
margin: 0 auto
}
</style>
......@@ -98,6 +98,7 @@
</template>
<script>
import {noticeEnquiry} from '@api/supply/bid'
import dataTable from '@components/nopageTable.vue'
import breadCrumb from '@components/dataBreadcrumb.vue'
export default {
......@@ -187,11 +188,24 @@ export default {
methods: {
Prev() {
this.$router.push('/supply/Join_items/work_place/all_content')
}
},
async getNoticeEnquiry() {
try {
const {
data,
code
} = await noticeEnquiry(1)
if (code === 200) {
this.tableData = data
}
} catch (e) {
console.log(e)
}
}
},
created() {
this.getNoticeEnquiry();
}
}
</script>
......
<template>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>报名</h3>
<h5>投标报名</h5>
</div>
<div class="content">
<div class="table_pos">
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="单位名称:">
<el-input v-model="form.projectId" class="input" disabled></el-input>
</el-form-item>
<el-form-item label="联系人:" prop="userId">
<el-select v-model="form.userId" placeholder="请选择" style="width:300px">
<el-option v-for="item in users" label="父亲" value="1100000000"></el-option>
</el-select>
</el-form-item>
<el-form-item label="手机号:">
<el-input v-model="form.phone" class="input" disabled></el-input>
</el-form-item>
<el-form-item label="邮箱:">
<el-input v-model="form.email" class="input" disabled></el-input>
</el-form-item>
<div class="flex-item">
<div>是否买断账期:</div>
<el-radio v-model="is_payment_days" label="0"></el-radio>
<el-radio v-model="is_payment_days" label="1"></el-radio>
</div>
<div class="flex-center buttom">
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="sendTo">提交</el-button>
</div>
</el-form>
</div>
</div>
<el-dialog :visible.sync="dialogFormVisible">
<div class="flex">
<i class="el-icon-warning"></i>
<h3>请勾选是否买断账期</h3>
</div>
<p>买断账期服务是平台提供的优化供应商现金流的服务,选择此服务的供应商仅需支付服务费即可凭借应收账款凭证及在平台的中标数据获得金融公司提供的资产抵押服务,不中标,该服务不生效。详情咨询客服:400-123-123。</p>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
</div>
</el-dialog>
</div>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>报名</h3>
<h5>投标报名</h5>
</div>
<div class="content">
<div class="table_pos">
<el-form ref="form" :model="form" label-width="80px" :rules="rules">
<el-form-item label="单位名称:">
<el-input v-model="form.projectId" class="input" disabled></el-input>
</el-form-item>
<el-form-item label="联系人:" prop="userId">
<el-select v-model="form.userId" placeholder="请选择" style="width:300px">
<el-option v-for="item in users" :label="item.userName" :value="item.userId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="手机号:">
<el-input v-model="form.phone" class="input" disabled></el-input>
</el-form-item>
<el-form-item label="邮箱:">
<el-input v-model="form.email" class="input" disabled></el-input>
</el-form-item>
<div class="flex-item">
<div>是否买断账期:</div>
<el-radio v-model="is_payment_days" :label="false"></el-radio>
<el-radio v-model="is_payment_days" :label="true"></el-radio>
</div>
<div class="flex-center buttom">
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="sendTo">提交</el-button>
</div>
</el-form>
</div>
</div>
<el-dialog :visible.sync="dialogFormVisible">
<div class="flex">
<i class="el-icon-warning"></i>
<h3>请勾选是否买断账期</h3>
</div>
<p>买断账期服务是平台提供的优化供应商现金流的服务,选择此服务的供应商仅需支付服务费即可凭借应收账款凭证及在平台的中标数据获得金融公司提供的资产抵押服务,不中标,该服务不生效。详情咨询客服:400-123-123。</p>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { userList} from '@api/common/list'
import dataTable from '@components/dataTable.vue'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import {
userList
} from '@api/common/list'
import {
projectapply
} from '@api/supply/bid'
import dataTable from '@components/dataTable.vue'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
export default {
components: {
dataTable,
dataBreadcrumb
},
data() {
return {
is_payment_days: "",
users: [],
dialogFormVisible: false,
breads: ['投标管理', '在线报名', '报名'],
form: {
projectId: 1,
userId: '',
phone: '1',
email: '1',
is_payment_days: ""
},
rules: {
userId: [{
required: true,
message: '请选择',
trigger: 'blur'
}]
export default {
components: {
dataTable,
dataBreadcrumb
},
data() {
return {
is_payment_days:"",
users:[],
dialogFormVisible: false,
breads: ['投标管理', '在线报名', '报名'],
form: {
projectId: 1,
userId: '',
phone: '',
email: '',
is_payment_days:""
},
}
},
created() {
this.getuserList();
},
methods: {
cancel() {
this.$router.go(-1)
},
sendTo() {
let is_payment_days = this.is_payment_days
if (!is_payment_days) {
this.dialogFormVisible = true
}
},
async getuserList() {
try {
let companyId=1
const {
data,
code
} = await userList(companyId)
if (code === 200) {
this.users = data
}
} catch (e) {
console.log(e)
}
}
}
}
}
}
},
created() {
this.getuserList();
},
methods: {
cancel() {
this.$router.go(-1)
},
async sendTo() {
try {
let is_payment_days = this.is_payment_days
if (!is_payment_days) {
this.dialogFormVisible = true
} else {
const valid = await this.$refs['form'].validate()
if (valid) {
let form = this.form;
form.companyId = 1,
form.projectId = 1,
form.is_payment_days = this.is_payment_days
const {
code,
msg
} = await projectapply(this.form)
console.log(code);
if (code === 200) {
this.$message.success(msg)
}
}
}
} catch (e) {
console.log(e)
}
},
async getuserList() {
try {
let companyId = 1
const {
data,
code
} = await userList(companyId)
if (code === 200) {
this.users = data
}
} catch (e) {
console.log(e)
}
}
}
}
</script>
<style scoped>
......
......@@ -5,14 +5,15 @@ import { Message, MessageBox } from 'element-ui'
// 创建axios实例
const service = axios.create({
baseURL: 'http://192.168.200.201:8082/apis', // api的base_url
// baseURL: 'http://192.168.200.201:8082/apis',
baseURL: 'http://192.168.3.35:8085/apis',
timeout: 35000 // 请求超时时间
})
// request拦截器
service.interceptors.request.use(config => {
let token=localStorage.getItem("token")
if(token){
if(token||token!=="undefined"){
config.headers['token']=token;
}
return config
......@@ -38,10 +39,11 @@ service.interceptors.response.use(
error => {
if(error.response.status == 500){
Message.error("登陆失效,请重新登录!")
localStorage.removeItem('token');
setTimeout(function () {
location.href = 'http://192.168.200.201:8081/';
}, 2000);
// localStorage.removeItem('token');
// setTimeout(function () {
// // location.href = 'http://192.168.200.201:8081/';
// location.href = 'http://localhost:3000/';
// }, 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