Commit 21085428 authored by 张冬's avatar 张冬

修改问题

parent 3eea3676
......@@ -112,3 +112,11 @@ export function commoditylist(projectId) {
method: 'get'
})
}
// 获取招标文件截止时间
export function inqueryinfo(projectId) {
return request({
url:`tender-project/inquery/info/${projectId}`,
method: 'get'
})
}
import request from '@/utils/request'
// 采购商
// 2.1.1
// 创建招标项目
......@@ -21,6 +23,13 @@ export function createEnquiry(data) {
data: data
})
}
// 查看询价公告(通过项目id)
export function enquiryProjectId(projectId) {
return request({
url: `/notice/enquiry?projectId=${projectId}`,
method: 'get'
})
}
// 发送招标公告
export function bidMessage(data) {
......@@ -30,7 +39,7 @@ export function bidMessage(data) {
data: data
})
}
// 查看招标公告(通过项目id)
// 发送邀请公告
export function inviteMessage(data) {
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 @@
createWebSocket() {
let token=localStorage.getItem("token")
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.200.201:8082/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.onopen = () => {}
this.websocket.onmessage = event => {
......
......@@ -39,8 +39,8 @@
</el-form-item>
</div>
<div>
<el-form-item label="项目经理:" prop="manager">
<el-select v-model="ruleForm.manager" placeholder="请选择">
<el-form-item label="项目经理:" prop="projectManager">
<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>
</el-select>
......@@ -354,7 +354,7 @@ export default {
}],
phone: [{
required: true,
validator: checkPhone,
validator: checkPhone,
trigger: 'blur'
}],
money: [{
......@@ -402,7 +402,7 @@ validator: checkPhone,
validator: isMin,
trigger: 'blur'
}],
manager: [{
projectManager: [{
required: true,
message: '请选择',
trigger: 'change'
......@@ -433,7 +433,7 @@ validator: checkPhone,
phone: ''
},
ruleForm: {
manager:"",
projectManager:"",
projectName: '',
projectCode: '',
classify: '',
......
......@@ -56,7 +56,7 @@ export default {
},
data() {
return {
activeIdx: 0,
activeIdx: 2,
allForm: {}
}
},
......
......@@ -4,7 +4,7 @@
<div class="form">
<!-- <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-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>
</el-form-item>
......@@ -42,6 +42,52 @@ export default {
dataForm
},
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 {
ruleForm: {
releaseTime: '',
......@@ -56,30 +102,45 @@ export default {
required: true,
message: '请选择时间',
trigger: 'blur'
},
{
validator:checkTime,
}],
startTime: [{
type: 'date',
required: true,
message: '请选择时间',
trigger: 'blur'
},
{
validator:checkTime1,
}],
endTime: [{
type: 'date',
required: true,
message: '请选择时间',
trigger: 'blur'
},
{
validator:checkTime2,
}],
answerQuestionEndTime: [{
type: 'date',
required: true,
message: '请选择时间',
trigger: 'blur'
},
{
validator:checkTime3,
}],
openBidStartTime: [{
type: 'date',
required: true,
message: '请选择时间',
trigger: 'blur'
},
{
validator:checkTime4,
}]
}
}
......
......@@ -21,27 +21,27 @@
<el-form-item label="询价所在地" prop="address">
<citySelect @sendprovinceId="getprovinceId" @sendcityId="getcityId" @senddistrictId="getdistrictId"></citySelect>
</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-radio-group v-model="ruleForm.priority">
<el-radio-group v-model="ruleForm.priority" class="flex">
<el-radio :label="0">普通</el-radio>
<el-radio :label="1">紧急</el-radio>
</el-radio-group>
</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 class="flex-between" style="width:60%">
<el-form-item label="报价开始时间" prop="stateTime">
<el-date-picker v-model="ruleForm.stateTime" type="datetime" placeholder="选择日期时间" disabled>
<el-form-item label="报价开始时间" prop="startTime">
<el-date-picker v-model="ruleForm.startTime" type="datetime" placeholder="选择日期时间" disabled style="width: 250px;">
</el-date-picker>
</el-form-item>
<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-form-item>
<el-form-item label="采购单位" prop="purchaseAgent">
......@@ -128,7 +128,7 @@ import {
getTime
} from '@utils/time'
import {
commoditylist
commoditylist,inqueryinfo
} from '@api/common/list'
export default {
......@@ -194,7 +194,7 @@ export default {
districtId: '',
inquiryCode: '',
priority: '',
stateTime: '',
startTime: '',
endTime: '',
purchaseAgent: '1',
contact: '1',
......@@ -204,7 +204,9 @@ export default {
supplierScale: '',
supplierQualification: '',
supplierRegion: '',
commercialRequirements: ''
commercialRequirements: '',
accessoryPOList:[],
purchaseCategory:""
},
rules: {
......@@ -233,7 +235,7 @@ export default {
message: '请输入请输入',
trigger: 'blur'
}],
stateTime: [{
startTime: [{
required: true,
message: '请输入',
trigger: 'change'
......@@ -278,24 +280,27 @@ export default {
},
created() {
let userInfo=JSON.parse(localStorage.getItem("userInfo"))
console.log(userInfo)
this.ruleForm.purchaseAgent=userInfo.companyName
this.ruleForm.contact=userInfo.name
this.ruleForm.contactPhone=userInfo.phone
let data=getTime();
console.log(data);
this.ruleForm.stateTime=data;
this.ruleForm.endTime=data;
this.ruleForm.endTime=data;
this.ruleForm.startTime=data;
this.projectCode=localStorage.getItem("projectCode")
this.projectName=localStorage.getItem("projectName")
this.getcommoditylist()
this.getinqueryinfo()
},
methods: {
// 获取上传文件
getfile(val) {
this.ruleForm.requirementUrl = val
},
getfile(val) {
for (let item of val) {
item.accessoryUrl = item.fileUrl
}
this.ruleForm.accessoryPOList = val
},
// 获取市ID
getprovinceId(val) {
......@@ -322,8 +327,8 @@ export default {
ruleForm.projectId=localStorage.getItem("projectId")
const {
code,
data
} = await createEnquiry(this.ruleForm)
msg
} = await createEnquiry(ruleForm)
if (code == 200) {
this.$message({
message: msg,
......@@ -333,9 +338,9 @@ export default {
setTimeout(()=>{
this.$router.go(-1)
},1500)
}else if(code == 500){
this.$message.error(msg)
}
} else {
}
} catch (err) {
console.log(err)
......@@ -349,7 +354,16 @@ export default {
code
} = await commoditylist(projectId)
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 {
setTimeout(()=>{
this.$router.go(-1)
},1500)
}else if(code == 500){
this.$message.error(msg)
}
}
} catch (err) {
......
......@@ -3,10 +3,30 @@
<div class="user">
<div>你好 ,MaikoXie , 欢迎开始一天的工作!</div>
<ul class="user-list flex-between">
<li v-for="item in imglist" :key="item.id">
<img :src="item.img" alt="">
<div>{{ item.user }}</div>
<div>{{ item.number }}</div>
<li class="flex-colunm ">
<img src="@static/images/user.png" alt="">
<div>全部项目</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>
</ul>
<h1>项目信息</h1>
......@@ -19,10 +39,30 @@
</dataTable>
<h1>待办事项</h1>
<ul class="flex-between project-list">
<li v-for="item in projectlist" :key="item.id">
<img :src="item.img" alt="">
<div>{{ item. project }}</div>
<div>{{ item.number }}</div>
<li class="flex-colunm">
<img src="@static/images/item.png" alt="">
<div>待修改项目</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>
</ul>
</div>
......@@ -30,7 +70,7 @@
</template>
<script>
import {home} from '@api/purchaser/home'
import {getSearchString} from '@utils/common'
import dataTable from '@components/nopageTable.vue'
export default {
......@@ -39,6 +79,7 @@ export default {
},
data() {
return {
detail:"",
tableData: [{
state: '审核通过待发布的项目',
number: '10',
......@@ -99,48 +140,31 @@ export default {
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(){
let token=getSearchString("token");
console.log(token)
localStorage.setItem("token",token)
this.gethome()
},
methods: {
handleSee(row) {
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>
......
......@@ -218,8 +218,8 @@
createWebSocket() {
let token=localStorage.getItem("token")
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.200.201:8082/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.onopen = () => {}
this.websocket.onmessage = event => {
......
......@@ -5,8 +5,8 @@ import { Message, MessageBox } from 'element-ui'
// 创建axios实例
const service = axios.create({
baseURL: 'http://192.168.200.201:8082/apis',
// baseURL: 'http://192.168.3.35:8085/apis',
// baseURL: 'http://192.168.200.201:8082/apis',
baseURL: 'http://192.168.3.35:8085/apis',
timeout: 35000 // 请求超时时间
})
......@@ -42,8 +42,8 @@ service.interceptors.response.use(
Message.error("登陆失效,请重新登录!")
localStorage.removeItem('token');
setTimeout(function () {
location.href = 'http://192.168.200.201:8081/login/user/';
// location.href = 'http://localhost:3000/login/user/';
// location.href = 'http://192.168.200.201:8081/login/user/';
location.href = 'http://localhost:3000/login/user/';
}, 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