Commit 8f38083a authored by 张冬's avatar 张冬

询价和Ui小改

parent 765d4028
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div> <div>
<div class="content"> <div class="content">
<dataTable :columns="columns" :page-obj="pageObj" :breads="breads" url="/tender-earnest/list"> <dataTable :columns="columns" :page-obj="pageObj" :breads="breads" url="/tender-earnest/list">
<el-table-column slot="createTime" label="提交审核时间" align="center" width="100"> <el-table-column slot="createTime" label="提交审核时间" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{scope.row.createTime?scope.row.createTime:"无"}}</div> <div>{{scope.row.createTime?scope.row.createTime:"无"}}</div>
</template> </template>
......
...@@ -16,14 +16,15 @@ ...@@ -16,14 +16,15 @@
<div><span>*</span>澄清问题内容:</div> <div><span>*</span>澄清问题内容:</div>
<div>{{ detail.content }}</div> <div>{{ detail.content }}</div>
</div> </div>
<div v-if="detail.accessoryList" class="flex"> <div class="flex">
<div><span>*</span>澄清问题附件:</div> <div>澄清问题附件:</div>
<ul> <ul v-if="detail.accessoryList!==undefined&& detail.accessoryList.length>0">
<li v-for="(item,index) in detail.accessoryList" :key="index"> <li v-for="(item,index) in detail.accessoryList" :key="index">
<span>{{ item.fileName }}</span> <span>{{ item.fileName }}</span>
<el-button @click="download(item.accessoryUrl)">下载</el-button> <el-button @click="download(item.accessoryUrl)">下载</el-button>
</li> </li>
</ul> </ul>
<div></div>
</div> </div>
</div> </div>
<h3 class="title">澄清内容</h3> <h3 class="title">澄清内容</h3>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div> <div>
<div class="content"> <div class="content">
<dataTable :columns="columns" :page-obj="pageObj" :breads="breads" url="/tender-bidbook/operation"> <dataTable :columns="columns" :page-obj="pageObj" :breads="breads" url="/tender-bidbook/operation">
<el-table-column slot="updateTime" label="提交审核时间" align="center" width="100"> <el-table-column slot="updateTime" label="提交审核时间" align="center" >
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{scope.row.updateTime?scope.row.updateTime:"无"}}</div> <div>{{scope.row.updateTime?scope.row.updateTime:"无"}}</div>
</template> </template>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<changeNav :navs="navs"></changeNav> <changeNav :navs="navs"></changeNav>
<div> <div>
<div class="message"> <div class="message form">
<div class="flex-between"> <div class="flex-between">
<div>项目编号:{{projectCode}}</div> <div>项目编号:{{projectCode}}</div>
<div style="margin-right: 100px;">项目名称:{{projectName}}</div> <div style="margin-right: 100px;">项目名称:{{projectName}}</div>
...@@ -163,7 +163,8 @@ ...@@ -163,7 +163,8 @@
<style scoped> <style scoped>
.message { .message {
width: 60%; width: 80%;
margin:0 auto
} }
.message>div { .message>div {
......
<template> <template>
<div> <div>
<div class="content-head"> <div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>发布中标公告</h3> <h3>{{ title }}中标公告</h3>
<h5>发布中标公告</h5> <h5>{{ title }}中标公告</h5>
</div> <div v-if="type == 1" class="abs">
<div class="content"> <div>拒绝原因:{{ ruleForm.reason }}</div>
<div class="message"> </div>
<div class="flex-between"> </div>
<div>项目编号:{{projectCode}}</div> <div class="content">
<div>项目名称:{{projectName}}</div> <div class="message form">
</div> <div class="flex-between">
<div class="flex-between"> <div>项目编号:{{ projectCode }}</div>
<div class="flex"> <div>项目名称:{{ projectName }}</div>
<div class="adjustment">上传附件:</div> </div>
<div class="flex-between">
<singleUpload :limit="1" tip="支持上传1个附件,不超过20M" @input="getfile"></singleUpload> <div class="flex">
</div> <div class="adjustment">上传附件:</div>
<div>发布媒体:捷安采官网</div>
</div> <singleUpload :limit="1" tip="支持上传1个附件,不超过20M" @input="getfile"></singleUpload>
<div class="flex-item"> </div>
<div style="width: 50px;">备注:</div> <div>发布媒体:捷安采官网</div>
<el-input :rows="4" v-model.trim="remark" type="remark" placeholder="请输入备注" maxlength="300"> </div>
</el-input> <div class="flex-item">
</div> <div style="width: 50px">备注:</div>
</div> <el-input :rows="4" v-model.trim="remark" type="remark" placeholder="请输入备注" maxlength="300"> </el-input>
<div class="form"> </div>
<h3>确定中标人</h3> </div>
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false"> <div class="form">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="200"> <h3>确定中标人</h3>
<template slot-scope="scope"> <dataTable :table-data="tableData" :columns="columns" :is-pageobj="false">
<el-button type="text" size="small" @click="edit(scope.row)">输入中标价</el-button> <el-table-column slot="operate" label="操作" align="center" fixed="right" width="200">
</template> <template slot-scope="scope">
</el-table-column> <el-button type="text" size="small" @click="edit(scope.row)">输入中标价</el-button>
</dataTable> </template>
<h3 style="margin-top:30px">中标公告内容</h3> </el-table-column>
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"> </dataTable>
<el-form-item label="公告标题" prop="title"> <h3 style="margin-top: 30px">中标公告内容</h3>
<el-input v-model.trim="ruleForm.title" maxlength="30"></el-input> <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
</el-form-item> <el-form-item label="公告标题" prop="title">
<el-form-item label="公告内容" prop="content"> <el-input v-model.trim="ruleForm.title" maxlength="30"></el-input>
<quill-editor ref="text" v-model.trim="ruleForm.content" :options="editorOption" class="myQuillEditor" /> </el-form-item>
</el-form-item> <el-form-item label="公告内容" prop="content">
</el-form> <quill-editor ref="text" v-model.trim="ruleForm.content" :options="editorOption" class="myQuillEditor" />
</div> </el-form-item>
<div class="bottomButton flex-center"> </el-form>
<el-button @click="back">返回</el-button> </div>
<el-button type="primary" @click="submitData">提交审批</el-button> <div class="bottomButton flex-center">
</div> <el-button @click="back">返回</el-button>
</div> <el-button type="primary" @click="submitData" v-if="type !== 2">提交审批</el-button>
<el-dialog :visible.sync="dialogFormVisible" title="收货地址" width="30%"> </div>
<el-form :model="form"> </div>
<el-form-item label-width="120px" label="输入中标价"> <el-dialog :visible.sync="dialogFormVisible" title="收货地址" width="30%">
<el-input-number v-model="form.price" :min="0" :controls="false" :precision="2" placeholder="输入"></el-input-number> <el-form :model="form">
</el-form-item> <el-form-item label-width="120px" label="输入中标价">
</el-form> <el-input-number v-model="form.price" :min="0" :controls="false" :precision="2" placeholder="输入"></el-input-number>
<div slot="footer" class="dialog-footer"> </el-form-item>
<el-button @click="dialogFormVisible = false">取 消</el-button> </el-form>
<el-button type="primary" @click="dialogFormVisible = false">确 定</el-button> <div slot="footer" class="dialog-footer">
</div> <el-button @click="dialogFormVisible = false">取 消</el-button>
</el-dialog> <el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
</div> </div>
</el-dialog>
</div>
</template> </template>
<script> <script>
import { import { noticeWin } from '@api/supply/bid';
createwin, import { createwin, winPersonInfo, editwin } from '@api/purchaser/bid';
winPersonInfo import { quillEditor } from 'vue-quill-editor';
} from '@api/purchaser/bid' import 'quill/dist/quill.core.css';
import { import 'quill/dist/quill.snow.css';
quillEditor import 'quill/dist/quill.bubble.css';
} from 'vue-quill-editor' import dataTable from '@components/nopageTable.vue';
import 'quill/dist/quill.core.css' import dataBreadcrumb from '@components/dataBreadcrumb.vue';
import 'quill/dist/quill.snow.css' import singleUpload from '@components/Upload/Upload.vue';
import 'quill/dist/quill.bubble.css' export default {
import dataTable from '@components/nopageTable.vue' components: {
import dataBreadcrumb from '@components/dataBreadcrumb.vue' dataTable,
import singleUpload from '@components/Upload/Upload.vue' dataBreadcrumb,
export default { singleUpload,
components: { quillEditor
dataTable, },
dataBreadcrumb, data() {
singleUpload, return {
quillEditor type: '',
}, projectCode: '',
data() { projectName: '',
return { editorOption: {},
projectCode: "", ruleForm: {
projectName: "", title: '',
editorOption: {}, content: '',
ruleForm: { accessoryPOList: []
title: '', },
content: '', rules: {
accessoryPOList:[] title: [
}, {
rules: { required: true,
title: [{ message: '请填写标题',
required: true, trigger: 'blue'
message: '请填写标题', }
trigger: 'blue' ],
}], content: [
content: [{ {
required: true, required: true,
message: '请填写内容', message: '请填写内容',
trigger: 'blue' trigger: 'blue'
}] }
}, ]
form: { },
price: undefined form: {
}, price: undefined
dialogFormVisible: false, },
remark: '', dialogFormVisible: false,
breads: ['招标管理', '招标项目管理', '工作台'], remark: '',
tableData: [], breads: ['招标管理', '招标项目管理', '工作台'],
columns: [{ tableData: [],
label: '中标人', columns: [
prop: 'companyName' {
}, label: '中标人',
{ prop: 'companyName'
label: '中标价(元)', },
prop: 'price' {
}, label: '中标价(元)',
{ prop: 'price'
slot: 'operate' },
} {
] // slot: 'operate'
} }
}, ] //
methods: { };
back(){ },
this.$router.go(-1) methods: {
}, back() {
getfile(val) { this.$router.go(-1);
this.ruleForm.accessoryPOList = val },
}, getfile(val) {
edit(row) { this.ruleForm.accessoryPOList = val;
this.dialogFormVisible = true },
this.form = row edit(row) {
}, this.dialogFormVisible = true;
// 中标人列表 this.form = row;
async getwinPersonInfo() { },
try { // 中标人列表
let projectId = localStorage.getItem("projectId") async getwinPersonInfo() {
const { try {
data, let projectId = localStorage.getItem('projectId');
code const { data, code } = await winPersonInfo(projectId);
} = await winPersonInfo(projectId) this.tableData.push(data);
this.tableData.push(data) } catch (e) {
} catch (e) { console.log(e);
console.log(e) }
} },
}, async submitData() {
async submitData() { try {
try { const valid = await this.$refs['ruleForm'].validate();
const valid = await this.$refs['ruleForm'].validate() if (valid) {
if (valid) { let ruleForm = this.ruleForm;
let ruleForm = this.ruleForm; ruleForm.projectId = localStorage.getItem('projectId');
ruleForm.projectId = localStorage.getItem("projectId") ruleForm.price = this.tableData[0].price;
ruleForm.price=this.tableData[0].price ruleForm.winCompanyId = this.tableData[0].companyId;
ruleForm.winCompanyId=this.tableData[0].companyId if (this.type == 1) {
const { var { code, msg } = await editwin(ruleForm);
code, } else {
msg var { code, msg } = await createwin(ruleForm);
} = await createwin(ruleForm) }
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.$message.error(msg) this.$message.error(msg);
} }
} }
} catch (e) { } catch (e) {
console.log(e) console.log(e);
} }
} },
}, // 获取详情
created() { async getnoticeWin() {
this.projectCode = localStorage.getItem("projectCode") try {
this.projectName = localStorage.getItem("projectName") let projectId = localStorage.getItem('projectId');
this.getwinPersonInfo(); const { data, code } = await noticeWin(projectId);
} if (code == 200) {
} this.ruleForm = data;
}
} catch (err) {
console.log(err);
}
}
},
created() {
this.projectCode = localStorage.getItem('projectCode');
this.projectName = localStorage.getItem('projectName');
this.getwinPersonInfo();
let type = this.$route.query.type;
this.type = type;
if (type == 1) {
this.getnoticeWin();
this.title = '编辑';
} else if (type == 2) {
this.title = '查看';
} else {
this.title = '发布';
}
}
};
</script> </script>
<style scoped> <style scoped>
.message { .message {
width: 60%; width: 80%;
} margin: 0 auto;
}
.message>div { .message > div {
margin-bottom: 20px; margin-bottom: 20px;
} }
.form>h3 { .form > h3 {
font-weight: bold; font-weight: bold;
margin-bottom: 30px; margin-bottom: 30px;
} }
.button { .button {
width: 100%; width: 100%;
height: 50px; height: 50px;
margin-top: 100px; margin-top: 100px;
} }
</style> </style>
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
</div> </div>
<candidate v-if="type == 2"></candidate> <candidate v-if="type == 2"></candidate>
<div class="content" v-else> <div class="content" v-else>
<div class="message"> <div class="message form">
<div class="flex-between"> <div class="flex-between">
<div>项目编号:{{ projectCode }}</div> <div>项目编号:{{ projectCode }}</div>
<div>项目名称:{{ projectName }}</div> <div>项目名称:{{ projectName }}</div>
...@@ -175,7 +175,8 @@ export default { ...@@ -175,7 +175,8 @@ export default {
<style scoped> <style scoped>
.message { .message {
width: 60%; width: 80%;
margin:0 auto
} }
.message > div { .message > div {
......
...@@ -171,7 +171,7 @@ import dataTable from '@components/nopageTable.vue'; ...@@ -171,7 +171,7 @@ import dataTable from '@components/nopageTable.vue';
import dataBreadcrumb from '@components/dataBreadcrumb.vue'; import dataBreadcrumb from '@components/dataBreadcrumb.vue';
import citySelect from '@components/citySelect/citySelect.vue'; import citySelect from '@components/citySelect/citySelect.vue';
import singleUpload from '@components/Upload/Upload.vue'; import singleUpload from '@components/Upload/Upload.vue';
import { createEnquiry } from '@api/purchaser/bid'; import { createEnquiry,editEnquiry } from '@api/purchaser/bid';
import { getTime } from '@utils/time'; import { getTime } from '@utils/time';
import { commoditylist, inqueryinfo } from '@api/common/list'; import { commoditylist, inqueryinfo } from '@api/common/list';
......
...@@ -149,19 +149,19 @@ export default { ...@@ -149,19 +149,19 @@ export default {
modulars: [ modulars: [
{ {
id: 14, id: 14,
label: '中标候选人公示', label: '发布中标候选人公示',
url: '/purchaser/bid/bidSure/publicity', url: '/purchaser/bid/bidSure/publicity',
bright: false bright: false
}, },
{ {
id: 15, id: 15,
label: '确认中标人', label: '发布中标人公示',
url: '/purchaser/bid/bidSure/determine', url: '/purchaser/bid/bidSure/determine',
bright: false bright: false
}, },
{ {
id: 16, id: 16,
label: '中标公告', label: '发布中标公告',
url: '/purchaser/bid/bidSure/notice', url: '/purchaser/bid/bidSure/notice',
bright: false bright: false
}, },
...@@ -249,30 +249,30 @@ export default { ...@@ -249,30 +249,30 @@ export default {
}, },
jump(mods) { jump(mods) {
if (mods.bright) { if (mods.bright) {
if (mods.label == '项目终止') { if (mods.label == '项目终止') {
this.$confirm('确定要终止吗?', '提示', { this.$confirm('确定要终止吗?', '提示', {
type: 'warning' type: 'warning'
})
.then(async () => {
let projectId = localStorage.getItem('projectId');
const { msg, code } = await projectEnd(projectId);
if (code == 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
});
setTimeout(() => {
this.$router.go(-1);
}, 1500);
} else {
this.$message.error(msg);
}
}) })
.catch(() => {}); .then(async () => {
} else { let projectId = localStorage.getItem('projectId');
this.$router.push(mods.url); const { msg, code } = await projectEnd(projectId);
} if (code == 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
});
setTimeout(() => {
this.$router.go(-1);
}, 1500);
} else {
this.$message.error(msg);
}
})
.catch(() => {});
} else {
this.$router.push(mods.url);
}
} }
}, },
async getprojectConsole() { async getprojectConsole() {
......
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