Commit 6b1656ac authored by 张冬's avatar 张冬

采购项目查看和编辑

parent 17a88754
...@@ -9,8 +9,11 @@ html { ...@@ -9,8 +9,11 @@ html {
} }
a { a {
color:#FF5203 !important;
text-decoration: none; text-decoration: none;
} }
a:hover{color:rgb(51, 218, 193) !important}
button { button {
border: none border: none
......
<template> <template>
<div class="hello"> <div class="hello">
<div style="width: 100%;"> <div style="width: 100%">
<el-upload <el-upload
:http-request="handleUpload" :http-request="handleUpload"
:before-remove="beforeRemove" :before-remove="beforeRemove"
...@@ -10,24 +10,32 @@ ...@@ -10,24 +10,32 @@
:on-remove="handleRemove" :on-remove="handleRemove"
class="upload-demo" class="upload-demo"
action action
multiple> multiple
>
<el-button size="small" type="primary">点击上传</el-button> <el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">{{ tip }}</div> <div slot="tip" class="el-upload__tip">{{ tip }}</div>
</el-upload> </el-upload>
</div> </div>
<div style="width: 100%;"> <div style="width: 100%">
<dataTable :table-data="fileList" :columns="columns" :is-pageobj="false"> <dataTable :table-data="fileList" :columns="columns" :is-pageobj="false">
<el-table-column slot="operate" label="文件大小" align="center" fixed="right" width="300"> <el-table-column slot="operate" label="文件大小" align="center" fixed="right" width="300">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{getMb(scope.row.size)}}KB</div> <div>{{ getMb(scope.row.size) }}KB</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column slot="operate" label="价格" align="center" fixed="right" width="300" v-if="type==0"> <el-table-column slot="operate" label="价格" align="center" fixed="right" width="300" v-if="type == 0">
<template slot-scope="scope"> <template slot-scope="scope">
<el-radio-group v-model="scope.row.free"> <el-radio-group v-model="scope.row.free">
<el-radio :label="true">免费</el-radio> <el-radio :label="true">免费</el-radio>
<el-radio :label="false">收费</el-radio> <el-radio :label="false">收费</el-radio>
<el-input-number v-model="scope.row.price" v-show="scope.row.free==false" :min="0" :controls="false" :precision="2" placeholder="价格(元)" ></el-input-number> <el-input-number
v-model="scope.row.price"
v-show="scope.row.free == false"
:min="0"
:controls="false"
:precision="2"
placeholder="价格(元)"
></el-input-number>
</el-radio-group> </el-radio-group>
</template> </template>
</el-table-column> </el-table-column>
...@@ -42,22 +50,17 @@ ...@@ -42,22 +50,17 @@
</template> </template>
<script> <script>
import dataTable from '@components/nopageTable.vue' import dataTable from '@components/nopageTable.vue';
import { import { put, getFileNameUUID } from '@api/ali-oss';
put, import { getTime, getcurrentTime } from '@utils/time';
getFileNameUUID
} from '@api/ali-oss'
import {
getTime, getcurrentTime
} from '@utils/time'
export default { export default {
components: { components: {
dataTable dataTable
}, },
props: { props: {
type:{ type: {
type:Number, type: Number,
default:0 default: 0
}, },
accept: { accept: {
type: String, type: String,
...@@ -90,100 +93,103 @@ export default { ...@@ -90,100 +93,103 @@ export default {
max: { max: {
type: Number, type: Number,
default: 99 default: 99
} },
fileList: {
type: Array,
default: () => []
},
}, },
data() { data() {
return { return {
fileList: [],
tableData: [], tableData: [],
columns: [{ columns: [
{
label: '文件名称', label: '文件名称',
prop: 'name' prop: 'name'
}, },
{ {
label: '上传时间', label: '上传时间',
prop: 'time' prop: 'createTime'
}, },
{ {
slot: 'operate' slot: 'operate'
} }
] ]
} };
}, },
created() { created() {
console.log(this.type) console.log(this.type);
}, },
methods: { methods: {
getMb(size){ getMb(size) {
let sieze1= size/1024 let sieze1 = size / 1024;
let integer= sieze1.toFixed(0) let integer = sieze1.toFixed(0);
return integer return integer;
}, },
emitInput(fileList) { emitInput(fileList) {
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[0].name message.name = fileList[0].name;
message.size = fileList[0].size message.size = fileList[0].size;
message.time = fileList[0].time message.createTime = fileList[0].time;
message.url = fileList[0].url message.url = fileList[0].url;
value.push(message) value.push(message);
} }
this.$emit('input', value) this.$emit('input', value);
}, },
beforeUpload(file) { beforeUpload(file) {
const max = this.max const max = this.max;
const isLt2M = file.size / 1024 / 1024 < max const isLt2M = file.size / 1024 / 1024 < max;
if (!isLt2M) { if (!isLt2M) {
this.$message.error(`上传附件大小不能超过 ${max} MB!`) this.$message.error(`上传附件大小不能超过 ${max} MB!`);
} }
return isLt2M return isLt2M;
}, },
handleRemove(file, fileList, index) { handleRemove(file, fileList, index) {
console.log(fileList) console.log(fileList);
this.$emit('on-remove', file, fileList) this.$emit('on-remove', file, fileList);
this.fileList = fileList this.fileList = fileList;
this.emitInput(fileList) this.emitInput(fileList);
}, },
// handleExceed(files, fileList) { // handleExceed(files, fileList) {
// this.$message.warning(`每次只能上传 ${this.limit} 个文件`) // this.$message.warning(`每次只能上传 ${this.limit} 个文件`)
// }, // },
beforeRemove(file, fileList) { beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`) return this.$confirm(`确定移除 ${file.name}?`);
}, },
/** /**
* 自定义上传方法 * 自定义上传方法
*/ */
handleUpload(option) { handleUpload(option) {
const max = this.max const max = this.max;
const isLt2M = option.file.size / 1024 / 1024 < max const isLt2M = option.file.size / 1024 / 1024 < max;
if (isLt2M) { if (isLt2M) {
// 生成的文件名称 // 生成的文件名称
let objName = getFileNameUUID() let objName = getFileNameUUID();
// 调用 ali-oss 中的方法 // 调用 ali-oss 中的方法
console.log(option) console.log(option);
put(`${objName}${option.file.name}`, option.file).then(res => { put(`${objName}${option.file.name}`, option.file).then((res) => {
res.size = option.file.size res.size = option.file.size;
res.uploadTime = getcurrentTime() res.uploadTime = getcurrentTime();
res. time = getTime() res.time = getTime();
res.free = true res.free = true;
res.price = '' res.price = '';
// /* res.fileName = res.name */ // /* res.fileName = res.name */
res.fileName = option.file.name res.fileName = option.file.name;
res.fileUrl = res.url res.fileUrl = res.url;
this.fileList.push(res) this.fileList.push(res);
this.$emit('input', this.fileList) this.$emit('input', this.fileList);
}) });
} }
}, },
handleDelete(index) { handleDelete(index) {
this.fileList.splice(index, 1) this.fileList.splice(index, 1);
this.$emit('input', this.fileList) this.$emit('input', this.fileList);
} }
} }
} };
</script> </script>
<!-- Add "scoped" attribute to limit CSS to this component only --> <!-- Add "scoped" attribute to limit CSS to this component only -->
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
</div> </div>
<!-- 招标文件上传 --> <!-- 招标文件上传 -->
<div class="fileUpload"> <div class="fileUpload">
<fileUpload ref="fileUpload" :detail="detail"></fileUpload> <fileUpload ref="fileUpload" :ruleForm="detail"></fileUpload>
</div> </div>
</div> </div>
<div class="centerButton"> <div class="centerButton">
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
</template> </template>
<script> <script>
import { editProject } from '@api/purchaser/bid';
import { getTime1 } from '@utils/time'; import { getTime1 } from '@utils/time';
import { projectdetail } from '@api/supply/bid'; import { projectdetail } from '@api/supply/bid';
import messaage from './message.vue'; import messaage from './message.vue';
...@@ -65,7 +66,19 @@ export default { ...@@ -65,7 +66,19 @@ export default {
await this.$refs.timeSet.next(); await this.$refs.timeSet.next();
await this.$refs.fileUpload.next(); await this.$refs.fileUpload.next();
console.log('通过'); console.log('通过');
console.log(this.detail); const { msg, code } = await editProject(this.detail);
if (code == 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
});
setTimeout(() => {
this.$router.go(-1)
}, 1500);
} else {
this.$message.error(msg);
}
}, },
// 获取详情 // 获取详情
async getenquiryProjectId() { async getenquiryProjectId() {
...@@ -77,6 +90,24 @@ export default { ...@@ -77,6 +90,24 @@ export default {
data.createTime = data.createTime.substring(0, 10); data.createTime = data.createTime.substring(0, 10);
data.bidBookInfoPO = data.bidBookInfoDO; data.bidBookInfoPO = data.bidBookInfoDO;
data.earnestInfoPO = data.earnestInfoDO; data.earnestInfoPO = data.earnestInfoDO;
let userInfo = JSON.parse(localStorage.getItem('userInfo'));
data.purchaseAgent = userInfo.companyName;
for (let item of data.accessoryDOList) {
item.url = item.accessoryUrl;
item.name = item.fileName;
}
let bidBookPO = [];
bidBookPO.push(data.bidBookPO);
data.bidBookPO = bidBookPO;
for (let item of data.bidBookPO) {
item.url = item.fileUrl;
item.name = item.fileName;
}
for (let item of data.bidBookAccessoryPOList) {
item.url = item.fileUrl;
item.name = item.fileName;
}
console.log(data);
this.detail = data; this.detail = data;
} }
} }
......
...@@ -5,10 +5,10 @@ ...@@ -5,10 +5,10 @@
<div class="details"> <div class="details">
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"> <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
<el-form-item label="上传附件" prop="file"> <el-form-item label="上传附件" prop="file">
<upload :limit="1" accept=".pdf" tip="请上传一个招标文件(pdf),不要超过50M。" :max="50" @input="getfile"></upload> <upload :limit="1" accept=".pdf" tip="请上传一个招标文件(pdf),不要超过50M。" :max="50" @input="getfile" :fileList="ruleForm.bidBookPO"></upload>
</el-form-item> </el-form-item>
<el-form-item label="其他附件"> <el-form-item label="其他附件">
<upload :limit="5" tip="最多上传五个附件,单个不超过100M。" :type="1" :max="100" @input="getfile1"> </upload> <upload :limit="5" tip="最多上传五个附件,单个不超过100M。" :type="1" :max="100" @input="getfile1" :fileList="ruleForm.bidBookAccessoryPOList"> </upload>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
...@@ -24,7 +24,7 @@ export default { ...@@ -24,7 +24,7 @@ export default {
upload upload
}, },
props: { props: {
allForm: { ruleForm: {
type: Object, type: Object,
default() { default() {
return {}; return {};
...@@ -41,11 +41,6 @@ export default { ...@@ -41,11 +41,6 @@ export default {
} }
}; };
return { return {
ruleForm: {
bidBookPO: [],
bidBookAccessoryPOList: []
},
fileList: [],
rules: { rules: {
file: [ file: [
{ {
...@@ -64,9 +59,6 @@ export default { ...@@ -64,9 +59,6 @@ export default {
getfile1(val) { getfile1(val) {
this.ruleForm.bidBookAccessoryPOList = val; this.ruleForm.bidBookAccessoryPOList = val;
}, },
async next() {
const valid = await this.$refs['ruleForm'].validate();
}
} }
}; };
</script> </script>
......
...@@ -197,7 +197,7 @@ ...@@ -197,7 +197,7 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="附件:" prop="file"> <el-form-item label="附件:" prop="file">
<upload :tip="tip" :limit="20" :max="25" accept=".PDF,.JPG,.JPEG,.ZIP,.RAR" @input="getfile"></upload> <upload :tip="tip" :limit="20" :max="25" accept=".PDF,.JPG,.JPEG,.ZIP,.RAR" @input="getfile" :fileList="ruleForm.accessoryDOList"></upload>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
...@@ -509,21 +509,6 @@ export default { ...@@ -509,21 +509,6 @@ export default {
computed: {}, computed: {},
created() { created() {
// 默认操作 // 默认操作
let userInfo = JSON.parse(localStorage.getItem('userInfo'));
this.ruleForm.purchaseAgent = userInfo.companyName;
let phone = userInfo.phone;
this.ruleForm.projectManager = userInfo.userId;
this.ruleForm.contactsWay = phone;
this.bidBookInfoPO.phone = phone;
this.earnestInfoPO.phone = phone;
this.ruleForm.contacts = userInfo.name;
this.pageObj.companyId = localStorage.getItem('companyId');
this.bidBookInfoPO.account = userInfo.bankAccount;
this.bidBookInfoPO.bank = userInfo.bankName;
this.bidBookInfoPO.accountName = userInfo.bankAccountName;
this.earnestInfoPO.account = userInfo.bankAccount;
this.earnestInfoPO.bank = userInfo.bankName;
this.earnestInfoPO.userName = userInfo.bankAccountName;
this.userList(); this.userList();
this.industryList(); this.industryList();
this.projectClassifyList(); this.projectClassifyList();
......
...@@ -108,13 +108,6 @@ export default { ...@@ -108,13 +108,6 @@ export default {
} }
}; };
return { return {
ruleForm: {
releaseTime: '',
startTime: '',
endTime: '',
answerQuestionEndTime: '',
openBidStartTime: ''
},
rules: { rules: {
releaseTime: [ releaseTime: [
{ {
......
...@@ -2,11 +2,11 @@ ...@@ -2,11 +2,11 @@
<div> <div>
<div class="content-head"> <div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>{{type==1?"编辑":"发布"}}投标邀请书</h3> <h3>发布投标邀请书</h3>
<h5>{{type==1?"编辑":"发布"}}投标邀请书</h5> <h5>发布投标邀请书</h5>
<div v-if="type == 1" class="abs"> <!-- <div v-if="type == 1" class="abs">
<div>拒绝原因:{{ ruleForm.reason }}</div> <div>拒绝原因:{{ ruleForm.reason }}</div>
</div> </div> -->
</div> </div>
<div class="content"> <div class="content">
<div class="describe">投标邀请书</div> <div class="describe">投标邀请书</div>
...@@ -27,8 +27,7 @@ ...@@ -27,8 +27,7 @@
</div> </div>
<div class="bottomButton"> <div class="bottomButton">
<el-button @click="cancel">取消</el-button> <el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="submit1" v-if="type == 1">编辑</el-button> <el-button type="primary" @click="submit">提交审核</el-button>
<el-button type="primary" @click="submit" v-else>提交审核</el-button>
</div> </div>
</div> </div>
</template> </template>
...@@ -78,11 +77,11 @@ export default { ...@@ -78,11 +77,11 @@ export default {
}; };
}, },
created() { created() {
let type = this.$route.query.type; // let type = this.$route.query.type;
this.type = type; // this.type = type;
if (type == 1) { // if (type == 1) {
this.getbiddingProjectId(); // this.getbiddingProjectId();
} // }
}, },
methods: { methods: {
cancel() { cancel() {
...@@ -94,17 +93,17 @@ export default { ...@@ -94,17 +93,17 @@ export default {
} }
this.ruleForm.accessoryPOList = val; this.ruleForm.accessoryPOList = val;
}, },
async getbiddingProjectId() { // async getbiddingProjectId() {
let projectId = localStorage.getItem('projectId'); // let projectId = localStorage.getItem('projectId');
const { data, code, msg } = await biddingProjectId(projectId); // const { data, code, msg } = await biddingProjectId(projectId);
if (code == 200) { // if (code == 200) {
for (let item of data.accessoryVOList) { // for (let item of data.accessoryVOList) {
item.url = item.accessoryUrl; // item.url = item.accessoryUrl;
item.name = item.fileName; // item.name = item.fileName;
} // }
this.ruleForm = data; // this.ruleForm = data;
} // }
}, // },
//提交表单 //提交表单
async submit() { async submit() {
let ruleForm = this.ruleForm; let ruleForm = this.ruleForm;
...@@ -128,31 +127,31 @@ export default { ...@@ -128,31 +127,31 @@ export default {
} }
}, },
//提交表单 //提交表单
async submit1() { // async submit1() {
let ruleForm = this.ruleForm; // let ruleForm = this.ruleForm;
ruleForm.projectId = localStorage.getItem('projectId'); // ruleForm.projectId = localStorage.getItem('projectId');
ruleForm.accessoryPOList = this.accessoryPOList; // ruleForm.accessoryPOList = this.accessoryPOList;
try { // try {
const valid = await this.$refs['ruleForm'].validate(); // const valid = await this.$refs['ruleForm'].validate();
if (valid) { // if (valid) {
const { code, msg } = await editBidding(this.ruleForm); // const { code, msg } = await editBidding(this.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 if (code == 500) { // } else if (code == 500) {
this.$message.error(msg); // this.$message.error(msg);
} // }
} // }
} catch (err) { // } catch (err) {
console.log(err); // console.log(err);
} // }
} // }
} }
}; };
</script> </script>
......
...@@ -2,18 +2,25 @@ ...@@ -2,18 +2,25 @@
<div> <div>
<div class="content-head"> <div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>发布招标公告</h3> <h3>{{ type == 1 ? '编辑' : '发布' }}招标公告</h3>
<h5>发布招标公告</h5> <h5>{{ type == 1 ? '编辑' : '发布' }}招标公告</h5>
<div v-if="type == 1" class="abs">
<div>拒绝原因:{{ ruleForm.reason }}</div>
</div>
</div> </div>
<div class="content"> <div class="content">
<div class="describe">招标公告</div> <div class="describe">招标公告</div>
<div class="form"> <div class="form">
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"> <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
<el-form-item label="公告标题" prop="title"><strong></strong> <el-form-item label="公告标题" prop="title">
<el-input v-model.trim="ruleForm.title" maxlength="30"></el-input> <el-input v-model.trim="ruleForm.title" maxlength="30"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="上传附件" ><strong></strong> <el-form-item label="上传附件">
<singleUpload tip="支持扩展名:.rar .zip .doc .docx .pdf .jpg..." @input="getfile"></singleUpload> <singleUpload
tip="支持扩展名:.rar .zip .doc .docx .pdf .jpg..."
@input="getfile"
:fileList="ruleForm.accessoryPOList"
></singleUpload>
</el-form-item> </el-form-item>
<el-form-item label="公告内容" prop="content"> <el-form-item label="公告内容" prop="content">
<quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" /> <quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" />
...@@ -23,23 +30,22 @@ ...@@ -23,23 +30,22 @@
</div> </div>
<div class="bottomButton"> <div class="bottomButton">
<el-button @click="back">取消</el-button> <el-button @click="back">取消</el-button>
<el-button type="primary" @click="submit">提交审核</el-button> <el-button type="primary" @click="submit1" v-if="type == 1">提交编辑</el-button>
<el-button type="primary" @click="submit" v-else>提交审核</el-button>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { biddingProjectId, projectDetail } from '@api/common/list';
import { bidMessage,editBidding} from '@api/purchaser/bid';
import { quillEditor } from 'vue-quill-editor';
import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css';
import 'quill/dist/quill.bubble.css';
import { bidMessage } from '@api/purchaser/bid' import dataBreadcrumb from '@components/dataBreadcrumb.vue';
import { import singleUpload from '@components/Upload/Upload.vue';
quillEditor
} from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import singleUpload from '@components/Upload/Upload.vue'
export default { export default {
components: { components: {
dataBreadcrumb, dataBreadcrumb,
...@@ -50,11 +56,11 @@ export default { ...@@ -50,11 +56,11 @@ export default {
// 检测文件是否上传 // 检测文件是否上传
let checkupload = (rule, value, callback) => { let checkupload = (rule, value, callback) => {
if (this.justimg.length === 0) { if (this.justimg.length === 0) {
callback(new Error('请上传正面照片')) callback(new Error('请上传正面照片'));
} else { } else {
callback() callback();
}
} }
};
return { return {
accessoryPOList: [], accessoryPOList: [],
editorOption: {}, editorOption: {},
...@@ -64,76 +70,125 @@ export default { ...@@ -64,76 +70,125 @@ export default {
content: '' content: ''
}, },
rules: { rules: {
title: [{ title: [
{
required: true, required: true,
message: '请填写', message: '请填写',
trigger: 'blue' trigger: 'blue'
}], }
content: [{ ],
content: [
{
required: true, required: true,
message: '请填写', message: '请填写',
trigger: 'blue' trigger: 'blue'
}]
} }
]
},
projectCode: '',
projectName: '',
type: ''
};
},
created() {
let type = this.$route.query.type;
this.type = type;
if (type == 1) {
this.getbiddingProjectId();
} }
this.projectCode = localStorage.getItem('projectCode');
this.projectName = localStorage.getItem('projectName');
}, },
methods: { methods: {
back(){ back() {
this.$router.go(-1) this.$router.go(-1);
}, },
cancel() { cancel() {
this.$router.go(-1) this.$router.go(-1);
}, },
getfile(val) { getfile(val) {
for (let item of val) { for (let item of val) {
item.accessoryUrl = item.fileUrl item.accessoryUrl = item.fileUrl;
}
this.accessoryPOList = val;
},
// 获取详情
async getbiddingProjectId() {
let projectId = localStorage.getItem('projectId');
const { data, code, msg } = await biddingProjectId(projectId);
if (code == 200) {
data.accessoryPOList = data.accessoryVOList;
for (let item of data.accessoryPOList) {
item.name = item.fileName;
item.url = item.accessoryUrl;
}
this.ruleForm = data;
} }
this.accessoryPOList = val
}, },
//提交表单 //提交表单
async submit() { async submit() {
let ruleForm = this.ruleForm let ruleForm = this.ruleForm;
ruleForm.projectId = localStorage.getItem("projectId") ruleForm.projectId = localStorage.getItem('projectId');
ruleForm.accessoryPOList = this.accessoryPOList ruleForm.accessoryPOList = this.accessoryPOList;
try {
const valid = await this.$refs['ruleForm'].validate();
if (valid) {
const { code, msg } = await bidMessage(this.ruleForm);
if (code === 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
});
setTimeout(() => {
this.$router.go(-1);
}, 1500);
} else if (code == 500) {
this.$message.error(msg);
}
}
} catch (err) {
console.log(err);
}
},
async submit1() {
let ruleForm = this.ruleForm;
ruleForm.projectId = localStorage.getItem('projectId');
ruleForm.accessoryPOList = this.accessoryPOList;
try { try {
const valid = await this.$refs['ruleForm'].validate() const valid = await this.$refs['ruleForm'].validate();
if (valid) { if (valid) {
const { const { code, msg } = await editBidding(this.ruleForm);
code,
msg
} = await bidMessage(this.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 if(code == 500){ } else if (code == 500) {
this.$message.error(msg) this.$message.error(msg);
} }
} }
} catch (err) { } catch (err) {
console.log(err) console.log(err);
} }
} }
} }
};
}
</script> </script>
<style scoped> <style scoped>
.ql-editor {
.ql-editor{ height: 400px;
height:400px; }
} .bottomButton {
.bottomButton{
margin-top: 20px; margin-top: 20px;
} }
.form{ .form {
padding-bottom: 80px; padding-bottom: 80px;
} }
</style> </style>
...@@ -5,10 +5,27 @@ ...@@ -5,10 +5,27 @@
<div class="details"> <div class="details">
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"> <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
<el-form-item label="上传附件" prop="file"> <el-form-item label="上传附件" prop="file">
<upload :limit="1" accept=".pdf" tip="请上传一个招标文件(pdf),不要超过50M。" :max="50" @input="getfile"></upload> <dataTable :table-data="ruleForm.bidBookDO" :columns="columns" :is-pageobj="false">
<el-table-column slot="operate" label="文件大小" align="center" fixed="right" width="300">
<template slot-scope="scope">
<div>{{ getMb(scope.row.size) }}KB</div>
</template>
</el-table-column>
<el-table-column slot="operate" label="价格" align="center" fixed="right" width="300">
<template slot-scope="scope">
<div>{{ scope.row.free ? scope.row.free : '无' }}</div>
</template>
</el-table-column>
</dataTable>
</el-form-item> </el-form-item>
<el-form-item label="其他附件"> <el-form-item label="其他附件">
<upload :limit="5" tip="最多上传五个附件,单个不超过100M。" :type="1" :max="100" @input="getfile1"> </upload> <dataTable :table-data="ruleForm.bidBookAccessoryDO" :columns="columns" :is-pageobj="false">
<el-table-column slot="operate" label="文件大小" align="center" fixed="right" width="300">
<template slot-scope="scope">
<div>{{ getMb(scope.row.size) }}KB</div>
</template>
</el-table-column>
</dataTable>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
...@@ -17,11 +34,12 @@ ...@@ -17,11 +34,12 @@
</template> </template>
<script> <script>
import { creatProject } from '@api/purchaser/bid'; import { creatProject } from '@api/purchaser/bid';
import dataTable from '@components/nopageTable.vue'
import upload from '@components/Upload/specialUpload.vue'; import upload from '@components/Upload/specialUpload.vue';
export default { export default {
components: { components: {
upload upload,
dataTable
}, },
props: { props: {
allForm: { allForm: {
...@@ -41,6 +59,20 @@ export default { ...@@ -41,6 +59,20 @@ export default {
} }
}; };
return { return {
columns: [
{
label: '文件名称',
prop: 'name'
},
{
label: '上传时间',
prop: 'time'
},
{
slot: 'operate'
}
],
ruleForm: { ruleForm: {
bidBookPO: [], bidBookPO: [],
bidBookAccessoryPOList: [] bidBookAccessoryPOList: []
...@@ -64,9 +96,6 @@ export default { ...@@ -64,9 +96,6 @@ export default {
getfile1(val) { getfile1(val) {
this.ruleForm.bidBookAccessoryPOList = val; this.ruleForm.bidBookAccessoryPOList = val;
}, },
async next() {
const valid = await this.$refs['ruleForm'].validate();
}
} }
}; };
</script> </script>
......
...@@ -195,11 +195,12 @@ ...@@ -195,11 +195,12 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="附件:" prop="file"> <el-form-item label="附件:" prop="file">
<ul> <ul v-if='ruleForm.accessoryDOList!==undefined && ruleForm.accessoryDOList.length>0'>
<li> <li v-for="(item,i) in ruleForm.accessoryDOList" :key="i">
<a href=""></a> <a :href="item.accessoryUrl">{{item.fileName}}</a>
</li> </li>
</ul> </ul>
<div v-else></div>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
...@@ -517,22 +518,6 @@ export default { ...@@ -517,22 +518,6 @@ export default {
// }, // },
computed: {}, computed: {},
created() { created() {
// 默认操作
// let userInfo = JSON.parse(localStorage.getItem('userInfo'));
// this.ruleForm.purchaseAgent = userInfo.companyName;
// let phone = userInfo.phone;
// this.ruleForm.projectManager = userInfo.userId;
// this.ruleForm.contactsWay = phone;
// this.bidBookInfoPO.phone = phone;
// this.earnestInfoPO.phone = phone;
// this.ruleForm.contacts = userInfo.name;
// this.pageObj.companyId = localStorage.getItem('companyId');
// this.bidBookInfoPO.account = userInfo.bankAccount;
// this.bidBookInfoPO.bank = userInfo.bankName;
// this.bidBookInfoPO.accountName = userInfo.bankAccountName;
// this.earnestInfoPO.account = userInfo.bankAccount;
// this.earnestInfoPO.bank = userInfo.bankName;
// this.earnestInfoPO.userName = userInfo.bankAccountName;
this.userList(); this.userList();
this.industryList(); this.industryList();
this.projectClassifyList(); this.projectClassifyList();
......
...@@ -73,6 +73,8 @@ export default { ...@@ -73,6 +73,8 @@ export default {
data.createTime = data.createTime.substring(0, 10); data.createTime = data.createTime.substring(0, 10);
data.bidBookInfoPO=data.bidBookInfoDO data.bidBookInfoPO=data.bidBookInfoDO
data.earnestInfoPO=data.earnestInfoDO data.earnestInfoPO=data.earnestInfoDO
let userInfo=JSON.parse(localStorage.getItem("userInfo"))
data.purchaseAgent=userInfo.companyName
this.detail = data; this.detail = data;
} }
} }
......
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