Commit 21085428 authored by 张冬's avatar 张冬

修改问题

parent 3eea3676
...@@ -112,3 +112,11 @@ export function commoditylist(projectId) { ...@@ -112,3 +112,11 @@ export function commoditylist(projectId) {
method: 'get' method: 'get'
}) })
} }
// 获取招标文件截止时间
export function inqueryinfo(projectId) {
return request({
url:`tender-project/inquery/info/${projectId}`,
method: 'get'
})
}
import request from '@/utils/request' import request from '@/utils/request'
// 采购商 // 采购商
// 2.1.1 // 2.1.1
// 创建招标项目 // 创建招标项目
...@@ -21,6 +23,13 @@ export function createEnquiry(data) { ...@@ -21,6 +23,13 @@ export function createEnquiry(data) {
data: data data: data
}) })
} }
// 查看询价公告(通过项目id)
export function enquiryProjectId(projectId) {
return request({
url: `/notice/enquiry?projectId=${projectId}`,
method: 'get'
})
}
// 发送招标公告 // 发送招标公告
export function bidMessage(data) { export function bidMessage(data) {
...@@ -30,7 +39,7 @@ export function bidMessage(data) { ...@@ -30,7 +39,7 @@ export function bidMessage(data) {
data: data data: data
}) })
} }
// 查看招标公告(通过项目id)
// 发送邀请公告 // 发送邀请公告
export function inviteMessage(data) { export function inviteMessage(data) {
return request({ return request({
......
import request from '@/utils/request'
export function home() {
return request({
url: "tender-project/index",
method: 'get',
})
}
\ No newline at end of file
...@@ -501,8 +501,8 @@ ...@@ -501,8 +501,8 @@
createWebSocket() { createWebSocket() {
let token=localStorage.getItem("token") let token=localStorage.getItem("token")
let projectId = localStorage.getItem("projectId") let projectId = localStorage.getItem("projectId")
// this.websocket = new WebSocket('ws://192.168.3.35:8085/webSocket/' + projectId +"/"+token ) this.websocket = new WebSocket('ws://192.168.3.35:8085/webSocket/' + projectId +"/"+token )
this.websocket = new WebSocket('ws://192.168.200.201:8082/webSocket/' + projectId +"/"+token ) // this.websocket = new WebSocket('ws://192.168.200.201:8082/webSocket/' + projectId +"/"+token )
// 连接成功时 // 连接成功时
this.websocket.onopen = () => {} this.websocket.onopen = () => {}
this.websocket.onmessage = event => { this.websocket.onmessage = event => {
......
...@@ -39,8 +39,8 @@ ...@@ -39,8 +39,8 @@
</el-form-item> </el-form-item>
</div> </div>
<div> <div>
<el-form-item label="项目经理:" prop="manager"> <el-form-item label="项目经理:" prop="projectManager">
<el-select v-model="ruleForm.manager" placeholder="请选择"> <el-select v-model="ruleForm.projectManager" placeholder="请选择">
<el-option v-for="item in managers" :key="item.id" :label="item.userName" :value="item.id"> <el-option v-for="item in managers" :key="item.id" :label="item.userName" :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
...@@ -354,7 +354,7 @@ export default { ...@@ -354,7 +354,7 @@ export default {
}], }],
phone: [{ phone: [{
required: true, required: true,
validator: checkPhone, validator: checkPhone,
trigger: 'blur' trigger: 'blur'
}], }],
money: [{ money: [{
...@@ -402,7 +402,7 @@ validator: checkPhone, ...@@ -402,7 +402,7 @@ validator: checkPhone,
validator: isMin, validator: isMin,
trigger: 'blur' trigger: 'blur'
}], }],
manager: [{ projectManager: [{
required: true, required: true,
message: '请选择', message: '请选择',
trigger: 'change' trigger: 'change'
...@@ -433,7 +433,7 @@ validator: checkPhone, ...@@ -433,7 +433,7 @@ validator: checkPhone,
phone: '' phone: ''
}, },
ruleForm: { ruleForm: {
manager:"", projectManager:"",
projectName: '', projectName: '',
projectCode: '', projectCode: '',
classify: '', classify: '',
......
...@@ -56,7 +56,7 @@ export default { ...@@ -56,7 +56,7 @@ export default {
}, },
data() { data() {
return { return {
activeIdx: 0, activeIdx: 2,
allForm: {} allForm: {}
} }
}, },
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div class="form"> <div class="form">
<!-- <dataForm :search-form="searchForm" :search-data="searchData" :is-handle="false" label-width="250px"></dataForm> --> <!-- <dataForm :search-form="searchForm" :search-data="searchData" :is-handle="false" label-width="250px"></dataForm> -->
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="250px" class="demo-ruleForm"> <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="250px" class="demo-ruleForm">
<el-form-item label="招标公告正式发布时:" prop="releaseTime"> <el-form-item label="招标公告正式发布时间:" prop="releaseTime">
<el-date-picker v-model="ruleForm.releaseTime" type="datetime" placeholder="选择日期时间" @change="releaseTime"> <el-date-picker v-model="ruleForm.releaseTime" type="datetime" placeholder="选择日期时间" @change="releaseTime">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
...@@ -42,6 +42,52 @@ export default { ...@@ -42,6 +42,52 @@ export default {
dataForm dataForm
}, },
data() { data() {
let checkTime = (rule, value, callback) => {
let nowTime= new Date().getTime() if (nowTime<value) { callback(); } else { return callback(new Error('请选择大于当前的时间')); } };
let checkTime1 = (rule, value, callback) => {
if(!this.ruleForm.releaseTime){
return callback(new Error('请先选择招标公告正式发布时间'));
}else{
if(value>this.ruleForm.releaseTime){
callback();
}else{
return callback(new Error('请选择大于招标公告正式发布时间'));
}
}
};
let checkTime2 = (rule, value, callback) => {
if(!this.ruleForm.startTime){
return callback(new Error('请先选择标书获取开始时间'));
}else{
if(value>this.ruleForm.startTime){
callback();
}else{
return callback(new Error('请选择大于标书获取开始时间'));
}
}
};
let checkTime3 = (rule, value, callback) => {
if(!this.ruleForm.endTime){
return callback(new Error('请先选择标书获取结束时间'));
}else{
if(value>this.ruleForm.endTime){
callback();
}else{
return callback(new Error('请选择大于标书获取结束时间'));
}
}
};
let checkTime4 = (rule, value, callback) => {
if(!this.ruleForm.answerQuestionEndTime){
return callback(new Error('请先选择投标人澄清答疑截止时间'));
}else{
if(value>this.ruleForm.answerQuestionEndTime){
callback();
}else{
return callback(new Error('请选择投标人澄清答疑截止时间'));
}
}
};
return { return {
ruleForm: { ruleForm: {
releaseTime: '', releaseTime: '',
...@@ -56,30 +102,45 @@ export default { ...@@ -56,30 +102,45 @@ export default {
required: true, required: true,
message: '请选择时间', message: '请选择时间',
trigger: 'blur' trigger: 'blur'
},
{
validator:checkTime,
}], }],
startTime: [{ startTime: [{
type: 'date', type: 'date',
required: true, required: true,
message: '请选择时间', message: '请选择时间',
trigger: 'blur' trigger: 'blur'
},
{
validator:checkTime1,
}], }],
endTime: [{ endTime: [{
type: 'date', type: 'date',
required: true, required: true,
message: '请选择时间', message: '请选择时间',
trigger: 'blur' trigger: 'blur'
},
{
validator:checkTime2,
}], }],
answerQuestionEndTime: [{ answerQuestionEndTime: [{
type: 'date', type: 'date',
required: true, required: true,
message: '请选择时间', message: '请选择时间',
trigger: 'blur' trigger: 'blur'
},
{
validator:checkTime3,
}], }],
openBidStartTime: [{ openBidStartTime: [{
type: 'date', type: 'date',
required: true, required: true,
message: '请选择时间', message: '请选择时间',
trigger: 'blur' trigger: 'blur'
},
{
validator:checkTime4,
}] }]
} }
} }
......
...@@ -21,27 +21,27 @@ ...@@ -21,27 +21,27 @@
<el-form-item label="询价所在地" prop="address"> <el-form-item label="询价所在地" prop="address">
<citySelect @sendprovinceId="getprovinceId" @sendcityId="getcityId" @senddistrictId="getdistrictId"></citySelect> <citySelect @sendprovinceId="getprovinceId" @sendcityId="getcityId" @senddistrictId="getdistrictId"></citySelect>
</el-form-item> </el-form-item>
<div class="flex-between" style="width:60%">
<el-form-item label="询价单编号" prop="inquiryCode">
<el-input v-model.trim="ruleForm.inquiryCode" placeholder="请输入" maxlength="30" style="width: 250px;"></el-input>
</el-form-item>
<el-form-item label="采购目录" prop="catalog">
<el-input v-model.trim="ruleForm.catalog" placeholder="请输入" maxlength="30" style="width: 250px;"></el-input>
</el-form-item>
<el-form-item label="项目优先级" prop="priority"> <el-form-item label="项目优先级" prop="priority">
<el-radio-group v-model="ruleForm.priority"> <el-radio-group v-model="ruleForm.priority" class="flex">
<el-radio :label="0">普通</el-radio> <el-radio :label="0">普通</el-radio>
<el-radio :label="1">紧急</el-radio> <el-radio :label="1">紧急</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<div class="flex-between" style="width:60%">
<el-form-item label="询价单编号" prop="inquiryCode">
<el-input v-model.trim="ruleForm.inquiryCode" placeholder="请输入" maxlength="30" style="width: 250px;"></el-input>
</el-form-item>
<el-form-item label="采购目录" prop="purchaseCategory">
<el-input v-model.trim="ruleForm.purchaseCategory" placeholder="请输入" maxlength="30" style="width: 250px;"></el-input>
</el-form-item>
</div> </div>
<div class="flex-between" style="width:60%"> <div class="flex-between" style="width:60%">
<el-form-item label="报价开始时间" prop="stateTime"> <el-form-item label="报价开始时间" prop="startTime">
<el-date-picker v-model="ruleForm.stateTime" type="datetime" placeholder="选择日期时间" disabled> <el-date-picker v-model="ruleForm.startTime" type="datetime" placeholder="选择日期时间" disabled style="width: 250px;">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="报价结束时间" prop="endTime"> <el-form-item label="报价结束时间" prop="endTime">
<el-date-picker v-model="ruleForm.endTime" type="datetime" placeholder="选择日期时间" disabled> <el-date-picker v-model="ruleForm.endTime" type="datetime" placeholder="选择日期时间" disabled style="width: 250px;">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="采购单位" prop="purchaseAgent"> <el-form-item label="采购单位" prop="purchaseAgent">
...@@ -128,7 +128,7 @@ import { ...@@ -128,7 +128,7 @@ import {
getTime getTime
} from '@utils/time' } from '@utils/time'
import { import {
commoditylist commoditylist,inqueryinfo
} from '@api/common/list' } from '@api/common/list'
export default { export default {
...@@ -194,7 +194,7 @@ export default { ...@@ -194,7 +194,7 @@ export default {
districtId: '', districtId: '',
inquiryCode: '', inquiryCode: '',
priority: '', priority: '',
stateTime: '', startTime: '',
endTime: '', endTime: '',
purchaseAgent: '1', purchaseAgent: '1',
contact: '1', contact: '1',
...@@ -204,7 +204,9 @@ export default { ...@@ -204,7 +204,9 @@ export default {
supplierScale: '', supplierScale: '',
supplierQualification: '', supplierQualification: '',
supplierRegion: '', supplierRegion: '',
commercialRequirements: '' commercialRequirements: '',
accessoryPOList:[],
purchaseCategory:""
}, },
rules: { rules: {
...@@ -233,7 +235,7 @@ export default { ...@@ -233,7 +235,7 @@ export default {
message: '请输入请输入', message: '请输入请输入',
trigger: 'blur' trigger: 'blur'
}], }],
stateTime: [{ startTime: [{
required: true, required: true,
message: '请输入', message: '请输入',
trigger: 'change' trigger: 'change'
...@@ -278,24 +280,27 @@ export default { ...@@ -278,24 +280,27 @@ export default {
}, },
created() { created() {
let userInfo=JSON.parse(localStorage.getItem("userInfo")) let userInfo=JSON.parse(localStorage.getItem("userInfo"))
console.log(userInfo)
this.ruleForm.purchaseAgent=userInfo.companyName this.ruleForm.purchaseAgent=userInfo.companyName
this.ruleForm.contact=userInfo.name this.ruleForm.contact=userInfo.name
this.ruleForm.contactPhone=userInfo.phone this.ruleForm.contactPhone=userInfo.phone
let data=getTime(); let data=getTime();
console.log(data); this.ruleForm.startTime=data;
this.ruleForm.stateTime=data;
this.ruleForm.endTime=data;
this.ruleForm.endTime=data;
this.projectCode=localStorage.getItem("projectCode") this.projectCode=localStorage.getItem("projectCode")
this.projectName=localStorage.getItem("projectName") this.projectName=localStorage.getItem("projectName")
this.getcommoditylist() this.getcommoditylist()
this.getinqueryinfo()
}, },
methods: { methods: {
// 获取上传文件 // 获取上传文件
getfile(val) { getfile(val) {
this.ruleForm.requirementUrl = val
},
getfile(val) {
for (let item of val) {
item.accessoryUrl = item.fileUrl
}
this.ruleForm.accessoryPOList = val
}, },
// 获取市ID // 获取市ID
getprovinceId(val) { getprovinceId(val) {
...@@ -322,8 +327,8 @@ export default { ...@@ -322,8 +327,8 @@ export default {
ruleForm.projectId=localStorage.getItem("projectId") ruleForm.projectId=localStorage.getItem("projectId")
const { const {
code, code,
data msg
} = await createEnquiry(this.ruleForm) } = await createEnquiry(ruleForm)
if (code == 200) { if (code == 200) {
this.$message({ this.$message({
message: msg, message: msg,
...@@ -333,9 +338,9 @@ export default { ...@@ -333,9 +338,9 @@ export default {
setTimeout(()=>{ setTimeout(()=>{
this.$router.go(-1) this.$router.go(-1)
},1500) },1500)
}else if(code == 500){
this.$message.error(msg)
} }
} else {
} }
} catch (err) { } catch (err) {
console.log(err) console.log(err)
...@@ -349,7 +354,16 @@ export default { ...@@ -349,7 +354,16 @@ export default {
code code
} = await commoditylist(projectId) } = await commoditylist(projectId)
this.tableData=data this.tableData=data
} },
// 获取招标截止时间
async getinqueryinfo() {
let projectId=localStorage.getItem("projectId")
const {
data,
code
} = await inqueryinfo(projectId)
this.ruleForm.endTime=data.endTime;
},
} }
} }
......
...@@ -108,6 +108,8 @@ export default { ...@@ -108,6 +108,8 @@ export default {
setTimeout(()=>{ setTimeout(()=>{
this.$router.go(-1) this.$router.go(-1)
},1500) },1500)
}else if(code == 500){
this.$message.error(msg)
} }
} }
} catch (err) { } catch (err) {
......
...@@ -3,10 +3,30 @@ ...@@ -3,10 +3,30 @@
<div class="user"> <div class="user">
<div>你好 ,MaikoXie , 欢迎开始一天的工作!</div> <div>你好 ,MaikoXie , 欢迎开始一天的工作!</div>
<ul class="user-list flex-between"> <ul class="user-list flex-between">
<li v-for="item in imglist" :key="item.id"> <li class="flex-colunm ">
<img :src="item.img" alt=""> <img src="@static/images/user.png" alt="">
<div>{{ item.user }}</div> <div>全部项目</div>
<div>{{ item.number }}</div> <div>{{detail.projectCount}}</div>
</li>
<li class="flex-colunm ">
<img src="@static/images/user.png" alt="">
<div>我的供应商</div>
<div>{{detail.bidderCount}}</div>
</li>
<li class="flex-colunm ">
<img src="@static/images/user.png" alt="">
<div>已定标项目</div>
<div>{{detail.calibrated}}</div>
</li>
<li class="flex-colunm ">
<img src="@static/images/user.png" alt="">
<div>已流标项目</div>
<div>{{detail.bidFailed}}</div>
</li>
<li class="flex-colunm ">
<img src="@static/images/user.png" alt="">
<div>已终止项目</div>
<div>{{detail.end}}</div>
</li> </li>
</ul> </ul>
<h1>项目信息</h1> <h1>项目信息</h1>
...@@ -19,10 +39,30 @@ ...@@ -19,10 +39,30 @@
</dataTable> </dataTable>
<h1>待办事项</h1> <h1>待办事项</h1>
<ul class="flex-between project-list"> <ul class="flex-between project-list">
<li v-for="item in projectlist" :key="item.id"> <li class="flex-colunm">
<img :src="item.img" alt=""> <img src="@static/images/item.png" alt="">
<div>{{ item. project }}</div> <div>待修改项目</div>
<div>{{ item.number }}</div> <div>{{ detail.projectCount }}</div>
</li>
<li class="flex-colunm">
<img src="@static/images/item.png" alt="">
<div>待修改询价公告</div>
<div>{{ detail.inquiryNoticeNeedModify }}</div>
</li>
<li class="flex-colunm">
<img src="@static/images/item.png" alt="">
<div>待修改招标公告</div>
<div>{{ detail.biddingNoticeNeedModify }}</div>
</li>
<li class="flex-colunm">
<img src="@static/images/item.png" alt="">
<div>待签署应收账款买断合同</div>
<div>{{ detail.payment }}</div>
</li>
<li class="flex-colunm">
<img src="@static/images/item.png" alt="">
<div>待确认供应商凭证</div>
<div>{{ detail.credentials }}</div>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -30,7 +70,7 @@ ...@@ -30,7 +70,7 @@
</template> </template>
<script> <script>
import {home} from '@api/purchaser/home'
import {getSearchString} from '@utils/common' import {getSearchString} from '@utils/common'
import dataTable from '@components/nopageTable.vue' import dataTable from '@components/nopageTable.vue'
export default { export default {
...@@ -39,6 +79,7 @@ export default { ...@@ -39,6 +79,7 @@ export default {
}, },
data() { data() {
return { return {
detail:"",
tableData: [{ tableData: [{
state: '审核通过待发布的项目', state: '审核通过待发布的项目',
number: '10', number: '10',
...@@ -99,48 +140,31 @@ export default { ...@@ -99,48 +140,31 @@ export default {
number: '100' number: '100'
} }
], ],
imglist: [{
id: 0,
img: require('@static/images/user.png'),
user: '供应商',
number: '100'
},
{
id: 1,
img: require('@static/images/user.png'),
user: '采购商',
number: '100'
},
{
id: 2,
img: require('@static/images/user.png'),
user: '全部项目',
number: '100'
},
{
id: 3,
img: require('@static/images/user.png'),
user: '正在进行的项目',
number: '100'
},
{
id: 4,
img: require('@static/images/user.png'),
user: '参与投标总次数',
number: '100'
}
]
} }
}, },
created(){ created(){
let token=getSearchString("token"); let token=getSearchString("token");
console.log(token)
localStorage.setItem("token",token) localStorage.setItem("token",token)
this.gethome()
}, },
methods: { methods: {
handleSee(row) { handleSee(row) {
this.$router.push(row.url) this.$router.push(row.url)
}, },
async gethome() {
const {
data,
code
} = await home()
this.detail=data
this.tableData[0].number=data.prePublic
this.tableData[1].number=data.sellingBidding
this.tableData[2].number=data.bidding
this.tableData[3].number=data.open
this.tableData[4].number=data.bidOpening
this.tableData[5].number=data.bidOevaluating
}
} }
} }
</script> </script>
......
...@@ -218,8 +218,8 @@ ...@@ -218,8 +218,8 @@
createWebSocket() { createWebSocket() {
let token=localStorage.getItem("token") let token=localStorage.getItem("token")
let projectId = localStorage.getItem("projectId") let projectId = localStorage.getItem("projectId")
// this.websocket = new WebSocket('ws://192.168.3.35:8085/webSocket/' + projectId +"/"+token ) this.websocket = new WebSocket('ws://192.168.3.35:8085/webSocket/' + projectId +"/"+token )
this.websocket = new WebSocket('ws://192.168.200.201:8082/webSocket/' + projectId +"/"+token ) // this.websocket = new WebSocket('ws://192.168.200.201:8082/webSocket/' + projectId +"/"+token )
// 连接成功时 // 连接成功时
this.websocket.onopen = () => {} this.websocket.onopen = () => {}
this.websocket.onmessage = event => { this.websocket.onmessage = event => {
......
...@@ -5,8 +5,8 @@ import { Message, MessageBox } from 'element-ui' ...@@ -5,8 +5,8 @@ import { Message, MessageBox } from 'element-ui'
// 创建axios实例 // 创建axios实例
const service = axios.create({ const service = axios.create({
baseURL: 'http://192.168.200.201:8082/apis', // baseURL: 'http://192.168.200.201:8082/apis',
// baseURL: 'http://192.168.3.35:8085/apis', baseURL: 'http://192.168.3.35:8085/apis',
timeout: 35000 // 请求超时时间 timeout: 35000 // 请求超时时间
}) })
...@@ -42,8 +42,8 @@ service.interceptors.response.use( ...@@ -42,8 +42,8 @@ service.interceptors.response.use(
Message.error("登陆失效,请重新登录!") Message.error("登陆失效,请重新登录!")
localStorage.removeItem('token'); localStorage.removeItem('token');
setTimeout(function () { setTimeout(function () {
location.href = 'http://192.168.200.201:8081/login/user/'; // location.href = 'http://192.168.200.201:8081/login/user/';
// location.href = 'http://localhost:3000/login/user/'; location.href = 'http://localhost:3000/login/user/';
}, 2000); }, 2000);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment