Commit 861ae640 authored by 张冬's avatar 张冬

编辑

parent a64b6047
...@@ -212,10 +212,11 @@ export function makeFile(data) { ...@@ -212,10 +212,11 @@ export function makeFile(data) {
}) })
} }
// 撤回投标文件 // 撤回投标文件
export function revocationBidbFile(bidFileId) { export function revocationBidbFile(params) {
return request({ return request({
url: `tender/revocation/bidbFile/${bidFileId}`, url: "tender/revocation/bidbFile",
method: 'put', method: 'put',
params:params
}) })
} }
......
<template> <template>
<div> <div>
<div class="content-head"> <div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>招标项目流标处理</h3> <h3>招标项目流标处理</h3>
<h5>招标项目流标处理</h5> <h5>招标项目流标处理</h5>
</div>
<div class="content">
<div class="message">
<div class="flex-between">
<div>项目编号:ZBXM3456789456789</div>
<div>项目名称:大楼翻新</div>
</div>
<div class="flex">
<div class="adjustment"> 评价报告</div>
<Upload :limit="1" :max="100" tip="最多上传一个文件,每个文件不超过100M。" @input="getfile"></Upload>
</div>
<div class="flex">
<div class="adjustment ">评标报告扫描件</div>
<Upload :limit="1" :max="100" tip="最多上传5个文件,每个文件不超过100M。" @input="getfile1"></Upload>
</div> </div>
<div class="flex-center" style="margin:100px 0"> <div class="content">
<el-button>取消</el-button> <div class="message">
<el-button type="primary" style="margin-left: 20px;" @click="submitData">提交</el-button> <div class="flex-between">
<div>项目编号:{{projectCode}}</div>
<div>项目名称:{{projectName}}</div>
</div>
<div class="flex">
<div class="adjustment">评价报告</div>
<Upload :limit="1" :max="100" tip="最多上传一个文件,每个文件不超过100M。" @input="getfile"></Upload>
</div>
<div class="flex">
<div class="adjustment">评标报告扫描件</div>
<Upload :limit="1" :max="100" tip="最多上传5个文件,每个文件不超过100M。" @input="getfile1"></Upload>
</div>
<div class="flex-center" style="margin: 100px 0">
<el-button>取消</el-button>
<el-button type="primary" style="margin-left: 20px" @click="submitData">提交</el-button>
</div>
</div>
</div> </div>
</div>
</div> </div>
</div>
</template> </template>
<script> <script>
import { bidFailed } from '@api/purchaser/bid';
import {bidFailed} from '@api/purchaser/bid' import dataBreadcrumb from '@components/dataBreadcrumb.vue';
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import Upload from '@components/Upload/Upload.vue';
import Upload from '@components/Upload/Upload.vue'
export default { export default {
components: { components: {
dataBreadcrumb, dataBreadcrumb,
Upload Upload
}, },
data() { data() {
return { return {
breads: ['招标管理', '招标项目管理', '工作台'], breads: ['招标管理', '招标项目管理', '工作台'],
file:[], file: [],
file1:[] file1: [],
projectName: '',
projectCode: ''
};
},
created() {
this.projectCode = localStorage.getItem('projectCode');
this.projectName = localStorage.getItem('projectName');
},
methods: {
//
getfile(val) {
this.file = val;
},
getfile1(val) {
this.file1 = val;
},
// 提交
async submitData() {
try {
let message = {};
let filePOList = [];
let file = this.file;
let file1 = this.file1;
for (let item of file) {
item.type = 1;
}
for (let item1 of file1) {
item1.type = 2;
}
filePOList = file.concat(file1);
message.filePOList = filePOList;
message.projectId = localStorage.getItem('projectId');
const { code, msg } = await bidFailed(message);
if (code == 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
});
setTimeout(() => {
this.$router.go(-1);
}, 1500);
}
} catch (e) {
console.log(e);
}
}
} }
}, };
methods: {
//
getfile(val){
this.file=val
},
getfile1(val){
this.file1=val
},
// 提交
async submitData() {
try {
let message={}
let filePOList=[];
let file=this.file;
let file1=this.file1;
for(let item of file){
item.type=1
};
for(let item1 of file1){
item1.type=2
};
filePOList=file.concat(file1)
message.filePOList=filePOList;
message.projectId=localStorage.getItem("projectId")
const {
code,
msg
} = await bidFailed(message)
if(code==200){
this.$message({
message: msg,
type: 'success',
duration:1500
})
setTimeout(()=>{
this.$router.go(-1)
},1500)
}
} catch (e) {
console.log(e)
}
}
}
}
</script> </script>
<style scoped> <style scoped>
.message{ .message {
width:50%; width: 50%;
margin:50px auto margin: 50px auto;
} }
.message>div{ .message > div {
margin-bottom: 20px; margin-bottom: 20px;
} }
.adjustment{ .adjustment {
width: 120px; width: 120px;
text-align: center; text-align: center;
} }
</style> </style>
...@@ -651,6 +651,7 @@ ...@@ -651,6 +651,7 @@
// }) // })
// 监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常 // 监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常
window.onbeforeunload = function() { window.onbeforeunload = function() {
console.log("窗口关闭")
this.websocket.close() this.websocket.close()
} }
}, },
...@@ -660,22 +661,12 @@ ...@@ -660,22 +661,12 @@
this.websocket.send(content) this.websocket.send(content)
} }
}, },
// watch: {
// chatlog() {
// console.log("chatlog change");
// this.$nextTick(() => {
// var container = this.$el.querySelector("#chatContainer");
// console.log(container);
// container.scrollTop = container.scrollHeight;
// })
// // document.getElementById('chatContainer').scrollTop = document.getElementById('chatContainer').scrollHeight+150;
// }
// },
destroyed() { destroyed() {
//清除定时器 //清除定时器
clearInterval(this.timer); clearInterval(this.timer);
clearInterval(this.timer1); clearInterval(this.timer1);
console.log("定时器关闭")
this.websocket.close() this.websocket.close()
} }
} }
......
...@@ -38,6 +38,10 @@ export default { ...@@ -38,6 +38,10 @@ export default {
{ {
label: '单位名称', label: '单位名称',
prop: 'companyName' prop: 'companyName'
},
{
label: '联系人',
prop: 'contactsName'
}, },
{ {
label: '手机', label: '手机',
......
<template> <template>
<div> <div>
<div class="content"> <div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<changeNav :navs="navs"></changeNav> <changeNav :navs="navs"></changeNav>
<dataTable :table-data="tableData" :columns="columns" :is-index="true"> <dataTable :table-data="tableData" :columns="columns" :is-index="true">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100"> <el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="see(scope.row)" v-if="scope.row.replyId">查看</el-button> <el-button type="text" size="small" @click="see(scope.row)" v-if="scope.row.replyId">查看</el-button>
<el-button type="text" size="small" @click="reply(scope.row.questionId)" v-else>回复</el-button> <el-button type="text" size="small" @click="reply(scope.row.questionId)" v-else>回复</el-button>
</template> </template>
</el-table-column> </el-table-column>
</dataTable> </dataTable>
<div class="centerButton">
<el-button @click="back">返回</el-button>
</div>
</div>
</div> </div>
</div>
</template> </template>
<script> <script>
import { clarifyInquirylist} from '@api/supply/bid' import { clarifyInquirylist } from '@api/supply/bid';
import dataTable from '@components/nopageTable.vue' import dataTable from '@components/nopageTable.vue';
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue';
import changeNav from '@components/changeNav.vue' import changeNav from '@components/changeNav.vue';
export default { export default {
name: 'bidingList', name: 'bidingList',
components: { components: {
dataTable, dataTable,
dataBreadcrumb, dataBreadcrumb,
changeNav changeNav
}, },
data() { data() {
return { return {
navs:["评标问题澄清"], navs: ['评标问题澄清'],
breads: ['投标管理', '我参与的项目', '工作台 '], breads: ['投标管理', '我参与的项目', '工作台 '],
tableData: [], tableData: [],
columns: [{ columns: [
label: '澄清标题', {
prop: 'title' label: '澄清标题',
}, prop: 'title'
{ },
label: '状态', {
prop: 'state' label: '状态',
}, prop: 'state'
{ },
label: '发布时间', {
prop: 'createTime', label: '发布时间',
sortable: true prop: 'createTime',
}, sortable: true
{ },
label: '回复截止时间', {
prop: 'cutOffTime' label: '回复截止时间',
}, prop: 'cutOffTime'
{ },
slot: 'operate' {
} slot: 'operate'
], // 操作列 }
] // 操作列
} };
},
methods: {
reply(questionId) {
this.$router.push(`/supply/bid/joinProject/bidEvaluation/reply?questionId=${questionId}`)
}, },
see(row){ methods: {
this.$router.push({ back() {
path:"/supply/bid/joinProject/bidEvaluation/see", this.$router.go(-1);
query:{ },
questionId:row.questionId, reply(questionId) {
replyId:row.replyId this.$router.push(`/supply/bid/joinProject/bidEvaluation/reply?questionId=${questionId}`);
} },
}) see(row) {
}, this.$router.push({
async getclarifyInquirylist() { path: '/supply/bid/joinProject/bidEvaluation/see',
let message={} query: {
message.companyId=localStorage.getItem("companyId") questionId: row.questionId,
message.projectId=localStorage.getItem("projectId") replyId: row.replyId
const { }
data, });
code },
} = await clarifyInquirylist(message) async getclarifyInquirylist() {
if(code==200){ let message = {};
for (let item of data){ message.companyId = localStorage.getItem('companyId');
if(item.replyId){ message.projectId = localStorage.getItem('projectId');
item.state="已回复" const { data, code } = await clarifyInquirylist(message);
}else{ if (code == 200) {
item.state="未回复" for (let item of data) {
} if (item.replyId) {
} item.state = '已回复';
this.tableData=data } else {
} item.state = '未回复';
} }
}, }
created() { this.tableData = data;
this.getclarifyInquirylist(); }
} }
} },
created() {
this.getclarifyInquirylist();
}
};
</script> </script>
<style scoped> <style scoped>
</style> </style>
...@@ -279,47 +279,50 @@ export default { ...@@ -279,47 +279,50 @@ export default {
}, },
// websocket // websocket
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:${openUrl}/webSocket/${projectId}/${token}`); this.websocket = new WebSocket(`ws:${openUrl}/webSocket/${projectId}/${token}`)
// 连接成功时 // this.websocket = new WebSocket('ws://192.168.3.35:8085/webSocket/' + projectId + "/" + token)
this.websocket.onopen = () => {}; // this.websocket = new WebSocket('ws://60.205.251.80:8085/webSocket/' + projectId +"/"+token )
this.websocket.onmessage = (event) => { // 连接成功时
// 后端发送的消息在event.data中 this.websocket.onopen = () => {}
let data = JSON.parse(event.data); this.websocket.onmessage = event => {
console.log(data); // 后端发送的消息在event.data中
if (data.type == 1) { let data = JSON.parse(event.data);
if (data.userId == this.myId) { console.log(data)
data.mine = true; if (data.type == 1) {
} else { if(data.userId==this.myId){
data.mine = false; data.mine=true
} }else{
const msgObj = { data.mine=false
date: data.time, }
text: { const msgObj = {
text: data.chatContent "date":data.time ,
}, "text": {
mine: data.mine, "text": data.chatContent
name: data.name, },
img: 'http://hsz1997.oss-cn-beijing.aliyuncs.com/img/1603292025286_67c099c6tou.jpg' "mine": data.mine,
}; "name": data.name,
this.dialogueList.push(msgObj); "img": "http://hsz1997.oss-cn-beijing.aliyuncs.com/img/1603292025286_67c099c6tou.jpg"
} else { }
this.halList.push(data); this.dialogueList.push(msgObj)
} } else {
}; this.halList.push(data)
this.websocket.onclose = function () { }
console.log('关闭了'); }
}; this.websocket.onclose = function() {
// 监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常 console.log('关闭了')
(window.onbeforeunload = function () { }
this.websocket.close(); // 路由跳转时结束websocket链接
}), // this.$router.afterEach(function() {
// 路由跳转时结束websocket链接 // this.websocket.close()
this.$router.afterEach(function () { // })
this.websocket.close(); // 监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常
}); window.onbeforeunload = function() {
}, console.log("窗口关闭")
this.websocket.close()
}
},
bindEnter() { bindEnter() {
const content = this.content; const content = this.content;
if (!content) return; if (!content) return;
...@@ -377,8 +380,15 @@ export default { ...@@ -377,8 +380,15 @@ export default {
this.storagedecodeTime = Number(data.decodeTime); this.storagedecodeTime = Number(data.decodeTime);
this.storagesignatureTime = Number(data.signatureTime); this.storagesignatureTime = Number(data.signatureTime);
} else { } else {
this.$message.error(msg); this.$message({
} message: msg,
type: 'error',
duration: 3000
})
setTimeout(() => {
this.$router.go(-1)
}, 3000)
}
var { data, code } = await signdetail(projectId); var { data, code } = await signdetail(projectId);
if (code == 200) { if (code == 200) {
this.openStatus = data.openStatus; this.openStatus = data.openStatus;
...@@ -435,6 +445,7 @@ export default { ...@@ -435,6 +445,7 @@ export default {
// }, // },
destroyed() { destroyed() {
//清除定时器 //清除定时器
clearInterval(this.timer);
clearInterval(this.timer1); clearInterval(this.timer1);
this.websocket.close(); this.websocket.close();
} }
......
...@@ -198,10 +198,13 @@ ...@@ -198,10 +198,13 @@
// 撤回 // 撤回
async withdraw() { async withdraw() {
try { try {
let message={}
message.projectId=localStorage.getItem("projectId")
message.bidFileId=this.form.bidbookId
const { const {
msg, msg,
code code
} = await revocationBidbFile(this.form.bidbookId) } = await revocationBidbFile(message)
if (code == 200) { if (code == 200) {
this.$message({ this.$message({
message: msg, message: msg,
......
...@@ -216,9 +216,9 @@ export default { ...@@ -216,9 +216,9 @@ export default {
newlabel = label; newlabel = label;
} else if (status == 1) { } else if (status == 1) {
newlabel = label; newlabel = label;
newlabel = label.replace('发布', '编辑'); newlabel = label.replace('递交', '编辑');
} else { } else {
newlabel = label.replace('发布', '查看'); newlabel = label.replace('递交', '查看');
} }
return newlabel; return newlabel;
}, },
...@@ -239,19 +239,8 @@ export default { ...@@ -239,19 +239,8 @@ export default {
for (let item2 of data) { for (let item2 of data) {
if (item1.id == item2.buttonId) { if (item1.id == item2.buttonId) {
item1.bright = true; item1.bright = true;
if (item2.buttonId == 4 && item2.status == 2) { item1.url = this.geturl(item1.url, item2.status);
item1.url = '/purchaser/bid/reviewed/SeeinquiryAnnouncement'; item1.label = this.getlabel(item1.label, item2.status);
item1.label = '查看询价公告';
} else if (item2.buttonId == 5 && item2.status == 2) {
item1.url = '/purchaser/bid/reviewed/SeetenderAnnouncement';
item1.label = '查看招标公告';
} else if (item2.buttonId == 9 && item2.status == 2) {
item1.url = '/purchaser/bid/bidStage/seeBidSet';
item1.label = '开标设置查看';
} else {
item1.url = this.geturl(item1.url, item2.status);
item1.label = this.getlabel(item1.label, item2.status);
}
} }
} }
} }
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
</slot> </slot>
</priceDetail> </priceDetail>
<!-- 报价弹窗 --> <!-- 报价弹窗 -->
<el-dialog :visible.sync="dialogFormVisible" title="报价" width="50%"> <el-dialog :visible.sync="dialogFormVisible" title="报价" width="1000px">
<dataTable :table-data="commoditylist" :columns="commoditycolumns"> <dataTable :table-data="commoditylist" :columns="commoditycolumns">
<el-table-column slot="operate" label="报价" align="center" fixed="right" width="150"> <el-table-column slot="operate" label="报价" align="center" fixed="right" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -230,4 +230,14 @@ export default { ...@@ -230,4 +230,14 @@ export default {
</script> </script>
<style scoped> <style scoped>
.el-table::before {
z-index: inherit;
}
.table-fixed>.el-table__fixed-right {
height: 100% !important;
}
</style> </style>
<template> <template>
<div> <div>
<div class="content-head"> <div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>编辑</h3> <h3>编辑</h3>
<h5>编辑基本信息、企业资质文件</h5> <h5>编辑基本信息、企业资质文件</h5>
</div>
<div class="othercontent">
<div>
<div class="describe ">
基本信息
</div> </div>
<div> <div class="othercontent">
<el-form ref="perfectForm" :model="perfectForm" :rules="rules" label-width="120px" inline>
<el-form-item label="单位名称" prop="companyName" class="item">
<el-input v-model.trim="perfectForm.companyName" placeholder="请输入" style="width:240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="注册角色" prop="role" class="item">
<el-input v-model.trim="perfectForm.role" placeholder="请输入" style="width:240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="法人姓名" prop="legalPerson" class="item">
<el-input v-model.trim="perfectForm.legalPerson" placeholder="请输入" style="width:240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="法人电话" prop="personPhone" class="item">
<el-input v-model.trim="perfectForm.personPhone" placeholder="请输入" style="width:240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="统一社会信用代码" prop="creditCode" class="item">
<el-input v-model.trim="perfectForm.creditCode" placeholder="请输入" style="width:240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="单位性质" prop="nature" class="item">
<el-input v-model.trim="perfectForm.nature" placeholder="请输入" style="width:240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="单位所在地" prop="companyLocal" class="item">
<el-input v-model.trim="perfectForm.companyLocal" placeholder="请输入" style="width:240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="行业类型" prop="type" class="item">
<el-input v-model.trim="perfectForm.type" placeholder="请输入" style="width:240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="资信等级" prop="CreditRating" class="item">
<el-input v-model.trim="perfectForm.CreditRating" placeholder="请输入" style="width:240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="开户银行名称" prop="bank" class="item">
<el-input v-model.trim="perfectForm.bank" placeholder="请输入" style="width:240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="开户行行号" prop="bankNumber" class="item">
<el-input v-model.trim="perfectForm.bankNumber" placeholder="请输入" style="width:240px"></el-input>
</el-form-item>
<el-form-item label="注册资本(万元)" prop="capital" class="item">
<el-input v-model.trim="perfectForm.capital" placeholder="请输入" style="width:240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="联系地址" prop="contactAddress" class="item">
<el-input v-model.trim="perfectForm.contactAddress" placeholder="请输入" style="width:240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="管理员" prop="admin" class="item">
<el-input v-model.trim="perfectForm.admin" disabled style="width:240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="联系电话" prop="contactNumber" class="item">
<el-input v-model.trim="perfectForm.contactNumber" disabled style="width:240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="身份证" prop="id" class="item">
<el-input v-model.trim="perfectForm.id" disabled style="width:240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="电子邮箱" prop="id" class="item">
<el-input v-model.trim="perfectForm.email" disabled style="width:240px" maxlength="30"></el-input>
</el-form-item>
<div> <div>
<el-form-item label="经营范围" prop="businessScope" class="item"> <div class="describe">基本信息</div>
<el-input v-model.trim="perfectForm.businessScope" :rows="4" type="textarea" placeholder="请输入内容" style="width:600px" maxlength="300"></el-input> <div style="margin-left: 30px">
</el-form-item> <el-form ref="form" :model="form" :rules="rules" label-width="120px" inline>
</div> <el-form-item label="单位名称" prop="companyName" class="item">
<div class="margin-left"> <el-input
<el-form-item label="法人身份证正反面" prop="identity" class="item"> v-model="form.companyName"
<el-upload placeholder="请输入单位名称"
:show-file-list="false" style="width: 240px"
:on-success="justSuccess" maxlength="30"
:before-upload="beforejust" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm, '')"
class="avatar-uploader" ></el-input>
action="https://jsonplaceholder.typicode.com/posts/"> </el-form-item>
<img v-if="justimg" :src="justimg" class="avatar"> <el-form-item label="注册角色" prop="type" class="item" >
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <el-select v-model="form.type" placeholder="请输入选择" disabled>
</el-upload> <el-option label="采购商" :value="1"></el-option>
<el-upload <el-option label="供应商" :value="2"></el-option>
:show-file-list="false" </el-select>
:on-success="backSuccess" </el-form-item>
:before-upload="beforeback" <el-form-item label="法人姓名" prop="legalPersonName" class="item">
style="margin-top: 10px;" <el-input
class="avatar-uploader" v-model="form.legalPersonName"
action="https://jsonplaceholder.typicode.com/posts/"> placeholder="请输入"
<img v-if="backimg" :src="backimg" class="avatar"> style="width: 240px"
<i v-else class="el-icon-plus avatar-uploader-icon"></i> maxlength="30"
</el-upload> @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm, '')"
</el-form-item> ></el-input>
</div> </el-form-item>
<div class="margin-left"> <el-form-item label="法人电话" prop="legalPersonPhone" class="item">
<el-form-item label="三证合一扫描件" prop="card" class="item"> <el-input
<el-upload v-model="form.legalPersonPhone"
:show-file-list="false" placeholder="请输入"
:on-success="justSuccess" style="width: 240px"
:before-upload="beforejust" maxlength="11"
class="avatar-uploader" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm, '')"
action="https://jsonplaceholder.typicode.com/posts/"> ></el-input>
<img v-if="justimg" :src="justimg" class="avatar"> </el-form-item>
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <el-form-item label="统一社会信用代码" prop="socialCode" class="item">
</el-upload> <el-input
<div class="t1" style="color:#666666;margin-top:10px">(只可上传三张图片,大小不能超过10MB,此项为必填项)</div> v-model="form.socialCode"
</el-form-item> placeholder="请输入"
</div> style="width: 240px"
<div class="margin-left"> maxlength="18"
<el-form-item prop="file" class="item" margin-left="-180px"> @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm, '')"
<div class="else"> ></el-input>
<div>其他资料 <span class="red">用于上传其他证明性材料如法人变更证明,报名资料请勿在此上传,单个附件建议不超过2M。</span> </div> </el-form-item>
<el-form-item label="单位性质" prop="companyNature" class="item">
<el-select v-model="form.companyNature" placeholder="请选择">
<el-option v-for="item in companyNatures" :key="item.id" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="单位所在地" prop="location" class="item">
<el-input
v-model="form.location"
placeholder="请输入"
style="width: 240px"
maxlength="30"
@keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm, '')"
></el-input>
</el-form-item>
<el-form-item label="行业类型" prop="industryType" class="item">
<el-select v-model="form.industryType" placeholder="请选择">
<el-option v-for="item in belongTypes" :key="item.id" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="开户银行名称" prop="bankName" class="item">
<el-input
v-model="form.bankName"
placeholder="请输入"
style="width: 240px"
maxlength="30"
@keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm, '')"
></el-input>
</el-form-item>
<el-form-item label="结算账号" prop="bankAccount" class="item">
<el-input
v-model="form.bankAccount"
placeholder="请输入"
style="width: 240px"
minlength="12"
maxlength="30"
></el-input>
</el-form-item>
<el-form-item label="结算账号名" prop="bankAccountName" class="item">
<el-input
v-model="form.bankAccountName"
placeholder="请输入"
style="width: 240px"
minlength="2"
maxlength="30"
@keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm, '')"
></el-input>
</el-form-item>
<el-form-item label="注册资本(万元)" prop="registeredCapital" class="item">
<el-input
v-model="form.registeredCapital"
placeholder="请输入"
style="width: 240px"
maxlength="10"
onkeyup="value=value.replace(/[^\d]/g,'')"
></el-input>
</el-form-item>
<el-form-item label="联系地址" prop="contactAddress" class="item">
<el-input
v-model="form.contactAddress"
placeholder="请输入"
style="width: 240px"
minlength="4"
maxlength="30"
@keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm, '')"
></el-input>
</el-form-item>
<el-form-item label="管理员" class="item">
<el-input v-model.trim="form.contacts.userName" disabled style="width: 240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="联系电话" class="item">
<el-input v-model.trim="form.contacts.phoneNumber" disabled style="width: 240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="身份证" class="item">
<el-input v-model.trim="form.contacts.idNumber" disabled style="width: 240px" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="电子邮箱" class="item">
<el-input v-model.trim="form.contacts.email" disabled style="width: 240px" maxlength="30"></el-input>
</el-form-item>
<div>
<el-form-item label="经营范围" prop="businessScope" class="item">
<el-input
v-model.trim="form.businessScope"
:rows="4"
type="textarea"
placeholder="请输入内容"
style="width: 600px"
maxlength="300"
></el-input>
</el-form-item>
</div>
<div>
<el-form-item label="法人身份证正反面" prop="identity" class="item">
<imgUpload :limit="1" :max="10" @input="getJustimg" :fileList="justimg" tip=""></imgUpload>
<imgUpload :limit="1" :max="10" @input="getBackimg" :fileList="backimg" tip=""></imgUpload>
</el-form-item>
</div>
<div>
<el-form-item label="三证合一扫描件" prop="cardimg" class="item">
<imgUpload
:limit="3"
:max="10"
@input="getCardimg"
tip="只可上传三张图片,大小不能超过10MB,此项为必填项"
:fileList="cardimg"
></imgUpload>
</el-form-item>
</div>
<el-form-item prop="file" class="item" margin-left="-1.8rem">
<div class="else">
<div>
其他资料
<span class="red"
>用于上传其他证明性材料如法人变更证明,报名资料请勿在此上传,单个附件建议不超过2M。</span
>
</div>
</div>
<Upload :limit="5" :max="10" @input="getfile" :fileList="files" tip="最多上传五份文件,每份不超过10M"></Upload>
</el-form-item>
</el-form>
</div> </div>
<el-upload
:on-preview="handlePreview"
:on-pxove="handlepxove"
:file-list="fileList"
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
list-type="picture">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip">支持扩展名:.rar .zip .doc .docx .pdf .jpg...</div>
</el-upload>
</el-form-item>
</div> </div>
</el-form> <div class="bottomButton">
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="submit">提交审核</el-button>
</div>
</div> </div>
</div> <el-dialog :visible.sync="dialogFormVisible" title="提交审核">
<div class="bottomButton"> <el-form ref="dialogform" :model="form1" :rules="rules">
<el-button @click="cancel">取消</el-button> <el-form-item label="修改位置" prop="modifyLocation" class="item">
<el-button type="primary" @click="dialogFormVisible=true">提交审核</el-button> <el-input v-model.trim="form.modifyLocation" style="width: 240px" maxlength="30"></el-input>
</div> </el-form-item>
</el-form>
<div slot="footer" class="backButton">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="sure">确 定</el-button>
</div>
</el-dialog>
</div> </div>
<el-dialog :visible.sync="dialogFormVisible" title="提交审核">
<el-form ref="dialogform" :model="form" :rules="rules">
<el-form-item label="修改位置" prop="modifyLocation" class="item">
<el-input v-model.trim="form.modifyLocation" style="width:240px" maxlength="30"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="backButton">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="sure">确 定</el-button>
</div>
</el-dialog>
</div>
</template> </template>
<script> <script>
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import { companyDetail, industryList, companyNatureList } from '@api/common/list';
import { companyedit } from '@api/purchaser/organization';
import dataBreadcrumb from '@components/dataBreadcrumb.vue';
import Upload from '@components/Upload/Upload.vue';
import imgUpload from '@components/Upload/imgUpload.vue';
export default { export default {
components: { components: {
dataBreadcrumb dataBreadcrumb,
}, Upload,
data() { imgUpload
// 测试省份
let islocal = (rule, value, callback) => {
if (this.form.province && this.form.county && this.form.city) {
callback(new Error('请选择城市'))
} else {
callback()
}
}
return {
dialogFormVisible: false,
breads: ['组织管理', '单位信息'],
perfectForm: {
personPhone: '',
personName: '',
companyLocal: '',
grade: '',
bankCard: '',
contactPhone: '',
creditCode: '',
nature: '',
type: '',
bank: '',
capital: '',
management: '',
bankNumber: '',
contactAddress: '',
admin: '',
contactNumber: '',
id: '',
email: '',
businessScope: ''
},
form: {
modifyLocation: ''
},
rules: {
identity: [
{ required: true }
],
card: [
{ required: true }
],
businessScope: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
legalPerson: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
personPhone: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
creditCode: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
type: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
CreditRating: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
bank: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
bankNumber: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
capital: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
contactAddress: [{
required: true,
message: '请输入',
trigger: 'blur'
}],
admin: [{
required: true
}],
contactNumber: [{
required: true
}],
id: [{
required: true
}],
email: [{
required: true
}],
modifyLocation: [{
required: true,
message: '请输入修改位置',
trigger: 'blur'
}],
companyName: [{
required: true,
message: '请输入单位名称',
trigger: 'blur'
}],
local: [{
required: true,
validator: islocal,
trigger: 'blur'
}],
role: [{
required: true,
message: '请输入角色',
trigger: 'blur'
}]
}
}
},
methods: {
cancel() {
this.$router.go(-1)
}, },
sure() { data() {
this.dialogFormVisible = false // 测试省份
let islocal = (rule, value, callback) => {
console.log('1');
if (!this.form.provinceId) {
callback(new Error('请选择省份'));
} else if (!this.form.cityId) {
callback(new Error('请选择市'));
} else if (!this.form.districtId) {
callback(new Error('请选择区'));
} else {
callback();
}
};
// 测试正反图片是否上传
let checkidentity = (rule, value, callback) => {
if (this.justimg.length === 0) {
callback(new Error('请上传正面照片'));
} else if (this.backimg.length === 0) {
callback(new Error('请上传反面照片'));
} else {
callback();
}
};
// 测试三证合一是否上传
let checkcardimg = (rule, value, callback) => {
if (this.cardimg.length === 0) {
callback(new Error('请上传三证合一'));
} else {
callback();
}
};
let checkPhone = async (rule, value, callback) => {
if (!value) {
return callback(new Error('手机号不能为空'));
} else {
const reg = /^1[3|4|5|7|8][0-9]\d{8}$/;
console.log(reg.test(value));
if (reg.test(value)) {
callback();
} else {
return callback(new Error('请输入正确的手机号'));
}
}
};
//名字校验
let validateRealName = (rule, value, callback) => {
const realnameReg = /^[\u4E00-\u9FA5]{1,30}$/;
if (!realnameReg.test(value)) {
return callback(new Error('您的输入有误,请重新输入!'));
} else {
callback();
}
};
//身份证号校验
let validateRealId = (rule, value, callback) => {
const realnameReg = /(^\d{15}$)|(^\d{17}([0-9]|X|x)$)/;
if (!realnameReg.test(value)) {
return callback(new Error('您的输入有误,请重新输入!'));
} else {
callback();
}
};
//邮箱号校验
let validateEmailId = (rule, value, callback) => {
const realnameReg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if (!realnameReg.test(value)) {
return callback(new Error('您的输入有误,请重新输入!'));
} else {
callback();
}
};
//结算账号校验
let validateAccount = (rule, value, callback) => {
const realnameReg = /^([1-9]{1})(\d{14}|\d{17})$/;
if (!realnameReg.test(value)) {
return callback(new Error('您的输入有误,请重新输入!'));
} else {
callback();
}
};
return {
files: [],
justimg: [],
backimg: [],
cardimg: [],
dialogFormVisible: false,
breads: ['组织管理', '单位信息'],
form: {},
form1: {
modifyLocation: ''
},
rules: {
companyName: [
{
required: true,
message: '请输入单位名称',
trigger: 'blur'
},
{
validator: validateRealName
}
],
local: [
{
required: true,
validator: islocal,
trigger: 'blur'
}
],
type: [
{
required: true,
message: '请选择角色',
trigger: 'blur'
}
],
name: [
{
required: true,
message: '请输入管理者姓名',
trigger: 'blur'
},
{
validator: validateRealName
}
],
idNumber: [
{
required: true,
message: '请输入身份证',
trigger: 'blur'
},
{
validator: validateRealId
}
],
password: [
{
required: true,
message: '请输入密码',
trigger: 'blur'
},
{
pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/,
message: '密码需由8-16位数字字母组合'
}
],
email: [
{
required: true,
message: '请输入电子邮箱',
trigger: 'blur'
},
{
validator: validateEmailId
}
],
phonenumber: [
{
required: true,
message: '请输入正确的验证码',
trigger: 'blur'
},
{
pattern: /^1[0-9]{10}$/,
message: '你的输入有误,请重新输入!'
}
],
code: [
{
required: true,
message: '请输入验证码',
trigger: 'blur'
}
],
phonecode: [
{
required: true,
message: '请输入短信验证码',
trigger: 'blur'
}
],
legalPersonPhone: [
{
required: true,
message: '请输入法人电话',
trigger: 'blur'
},
{
pattern: /^1[0-9]{10}$/,
message: '你的输入有误,请重新输入!'
}
],
legalPersonName: [
{
required: true,
message: '请输入法人姓名',
trigger: 'blur'
},
{
validator: validateRealName
}
],
location: [
{
required: true,
message: '请输入单位所在地',
trigger: 'blur'
},
{
validator: validateRealName
}
],
bankAccount: [
{
required: true,
message: '请输入结算账号',
trigger: 'blur'
},
{
validator: validateAccount
}
],
bankAccountName: [
{
required: true,
message: '请输入结算账号名',
trigger: 'blur'
},
{
validator: validateRealName
}
],
contactAddress: [
{
required: true,
message: '请输入联系地址',
trigger: 'blur'
},
{
validator: validateRealName
}
],
socialCode: [
{
required: true,
message: '请输入社会信用码',
trigger: 'blur'
},
{
pattern: /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/,
message: '您的输入有误,请重新输入!'
}
],
companyNature: [
{
required: true,
message: '请输入行业类型',
trigger: 'blur'
}
],
industryType: [
{
required: true,
message: '请选择行业类型',
trigger: 'blur'
}
],
bankName: [
{
required: true,
message: '开户银行名称',
trigger: 'blur'
},
{
validator: validateRealName
}
],
registeredCapital: [
{
required: true,
message: '请输入注册资本',
trigger: 'blur'
} /* {
pattern: /^[1-9]d*$/,
message: "你的输入有误,请重新输入!",
} */
],
businessScope: [
{
required: true,
message: '请输入经营范围',
trigger: 'blur'
},
{
pattern: /[\u4e00-\u9fa5]|[\(\)\《\》\—\;\,\。\“\”\<\>\!]/,
message: '你得输入有误,请重新输入!'
}
],
identity: [
{
required: true,
validator: checkidentity,
trigger: 'blur'
}
],
cardimg: [
{
required: true,
validator: checkcardimg,
trigger: 'blur'
}
]
},
companyNatures: [],
belongTypes: []
};
},
methods: {
cancel() {
this.$router.go(-1);
},
sure() {
this.dialogFormVisible = false;
},
// 获取单位性质
async getCompanyNatureList() {
const res = await companyNatureList();
this.companyNatures = res;
},
//获取所属行业
async getIndustryList() {
const res = await industryList();
this.belongTypes = res;
},
getJustimg(val) {
console.log(val);
this.justimg = val;
},
getBackimg(val) {
console.log(val);
this.backimg = val;
},
getCardimg(val) {
console.log(val);
this.cardimg = val;
},
getfile(val) {
console.log(val);
this.files = val;
},
async getcompanyDetail() {
try {
let companyId = localStorage.getItem('companyId');
const { data, code } = await companyDetail(companyId);
if (code === 200) {
for (let item of data.fileList) {
item.name = item.fileName;
item.url = item.fileUrl;
if (item.type == 1) {
this.justimg.push(item);
} else if (item.type == 2) {
this.backimg.push(item);
} else if (item.type == 3) {
this.cardimg.push(item);
} else if (item.type == 4) {
this.files.push(item);
}
}
this.form = data;
}
} catch (e) {
console.log(e);
}
},
async submit() {
try {
const valid = await this.$refs['form'].validate();
if (valid) {
let form = this.form;
let justimg = this.justimg;
let backimg = this.backimg;
let cardimg = this.cardimg;
let files = this.files;
console.log(justimg)
console.log(backimg)
console.log(cardimg)
console.log(files)
justimg.forEach(function (item, index) {
item.type = 1;
});
backimg.forEach(function (item, index) {
item.type = 2;
});
cardimg.forEach(function (item, index) {
item.type = 3;
});
files.forEach(function (item, index) {
item.type = 4;
});
form.fileList = justimg.concat(backimg).concat(cardimg).concat(files);
const { code, msg } = await companyedit(form);
if (code == 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
});
setTimeout(() => {
history.go(0)
// this.$router.go(-1);
}, 1500);
} else {
this.$message.error(msg);
}
}
} catch (e) {}
}
},
created() {
this.getcompanyDetail();
this.getIndustryList();
this.getCompanyNatureList();
} }
} };
}
</script> </script>
<style scoped> <style scoped>
.upload>div { .upload > div {
color: rgba(102, 102, 102, 1); color: rgba(102, 102, 102, 1);
font-weight: 400; font-weight: 400;
} }
.label-form { .label-form {
font-size: 16px; font-size: 16px;
margin-top: 30px; margin-top: 30px;
margin-bottom: 1opx; margin-bottom: 1opx;
font-weight: 400; font-weight: 400;
} }
.company h4 { .company h4 {
font-size: 22px; font-size: 22px;
font-weight: bold; font-weight: bold;
color: rgba(0, 0, 0, 1); color: rgba(0, 0, 0, 1);
margin-top: 62px; margin-top: 62px;
margin-bottom: 50px; margin-bottom: 50px;
} }
.el-input { .el-input {
width: 240px; width: 240px;
height: 40px; height: 40px;
} }
.nextButton { .nextButton {
width: 300px; width: 300px;
height: 48px; height: 48px;
background: rgba(4, 134, 254, 1); background: rgba(4, 134, 254, 1);
border-radius: .40px; border-radius: 0.4px;
line-height: 46px; line-height: 46px;
margin-top: 45px; margin-top: 45px;
margin-bottom: 8px; margin-bottom: 8px;
color: #fff color: #fff;
} }
.item .el-form-item__label { .item .el-form-item__label {
font-weight: bold; font-weight: bold;
} }
.password-tips { .password-tips {
margin-bottom: 0; margin-bottom: 0;
color: rgba(144, 147, 153, 1); color: rgba(144, 147, 153, 1);
font-weight: 400; font-weight: 400;
font-size: 12px; font-size: 12px;
} }
.avatar-uploader .el-upload { .avatar-uploader .el-upload {
border: 1px dashed #d9d9d9; border: 1px dashed #d9d9d9;
border-radius: 6px; border-radius: 6px;
cursor: pointer; cursor: pointer;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
} }
.avatar-uploader .el-upload:hover { .avatar-uploader .el-upload:hover {
border-color: #409EFF; border-color: #409eff;
} }
.avatar-uploader-icon { .avatar-uploader-icon {
font-size: 28px; font-size: 28px;
color: #8c939d; color: #8c939d;
width: 120px; width: 120px;
height: 120px; height: 120px;
line-height: 120px; line-height: 120px;
text-align: center; text-align: center;
background: rgba(247, 247, 247, 1); background: rgba(247, 247, 247, 1);
} }
.avatar { .avatar {
width: 120px; width: 120px;
height: 120px; height: 120px;
display: block; display: block;
} }
.getcode, .getcode,
.getphonecode { .getphonecode {
position: relative; position: relative;
} }
.getcode>.code { .getcode > .code {
/*margin: 400px auto;*/ /*margin: 400px auto;*/
width: 68px; width: 68px;
height: 32px; height: 32px;
/*border: 1px solid red;*/ /*border: 1px solid red;*/
position: absolute; position: absolute;
top: 0; top: 0;
left: 330px; left: 330px;
} }
.getphonecode>.phonecode { .getphonecode > .phonecode {
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
color: rgba(51, 136, 255, 1); color: rgba(51, 136, 255, 1);
position: absolute; position: absolute;
top: 13px; top: 13px;
left: 400px; left: 400px;
} }
.else .red { .else .red {
color: #FF6161; color: #ff6161;
font-size: 14px; font-size: 14px;
} }
.perfect-head { .perfect-head {
width: 9px; width: 9px;
margin-top: 66px; margin-top: 66px;
margin-bottom: 37px; margin-bottom: 37px;
} }
.perfect-head>div>text { .perfect-head > div > text {
font-weight: bold; font-weight: bold;
} }
.result { .result {
width: 100%; width: 100%;
height: 300px height: 300px;
} }
.result h4 { .result h4 {
font-size: 30px; font-size: 30px;
font-weight: 600; font-weight: 600;
color: rgba(75, 193, 103, 1); color: rgba(75, 193, 103, 1);
margin-top: 100px; margin-top: 100px;
margin-bottom: 20px; margin-bottom: 20px;
} }
.result h5 { .result h5 {
font-size: 18px; font-size: 18px;
font-weight: 400; font-weight: 400;
color: rgba(128, 128, 128, 1); color: rgba(128, 128, 128, 1);
line-height: 30px; line-height: 30px;
text-align: center; text-align: center;
} }
.othercontent>div { .othercontent > div {
background: #fff; background: #fff;
} }
.margin-left { .margin-left {
margin-left: 30px; margin-left: 30px;
} }
</style> </style>
<template> <template>
<div class="userDetail"> <div class="userDetail">
<div class="content-head"> <div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>查看</h3> <h3>查看</h3>
<div>查看基本信息、企业资质文件</div> <div>查看基本信息、企业资质文件</div>
</div> </div>
<div class="detail-list"> <companyDetail></companyDetail>
<div> <div class="bottomButton">
<h5>基本信息</h5> <el-button @click="edit">编辑</el-button>
<ul class="flex"> </div>
<li> </div>
<div>单位名称</div>
<div>{{detail.companyName}}</div>
</li>
<li>
<div>注册角色</div>
<div>11</div>
</li>
<li>
<div>法人姓名</div>
<div>{{detail.legalPersonName}}</div>
</li>
<li>
<div>法人电话</div>
<div>11</div>
</li>
<li>
<div>统一社会信用代码</div>
<div>{{detail.socialCode}}</div>
</li>
<li>
<div>行政区域 </div>
<div>{{detail.companyName}}</div>
</li>
<li>
<div>单位性质</div>
<div>{{detail.companyNature}}</div>
</li>
<li>
<div>单位所在地</div>
<div>{{detail.location}}</div>
</li>
<li>
<div>行业类型</div>
<div>222</div>
</li>
<li>
<div>开户银行名称</div>
<div>222</div>
</li>
<li>
<div>结算账户</div>
<div>222</div>
</li>
<li>
<div>结算账户名</div>
<div>222</div>
</li>
<li>
<div>注册资本(万元)</div>
<div>{{detail.registeredCapital}}</div>
</li>
<li>
<div>联系地址</div>
<div>{{detail.contactAddress}}</div>
</li>
<li>
<div>管理员姓名</div>
<div>{{detail.companyName}}</div>
</li>
<li>
<div> 手机号 </div>
<div>{{detail.legalPersonPhone}}</div>
</li>
<li>
<div> 身份证 </div>
<div>222</div>
</li>
<li>
<div>电子邮箱 </div>
<div>{{detail.companyName}}</div>
</li>
</ul>
<div class="detail-item">
<div>经营范围</div>
<div>一般项目:技术服务,技术开发</div>
</div>
<div class="detail-item">
<div>法人身份证正反面</div>
<el-image v-for="(item,index) in imglist" :src="item.src" :key="index" style="margin-right:20px"></el-image>
</div>
<div class="detail-item">
<div>三证合一扫描件</div>
<el-image v-for="(item,index) in imglist" :src="item.src" :key="index" style="margin-right:20px"></el-image>
</div>
<div class="detail-item">
<div>其他资料</div>
<div class="flex-between pdf">
<div>pdf文件</div>
<div>预览</div>
<div>下载</div>
</div>
</div>
</div>
</div>
<div class="operation">
<button @click="edit">编辑</button>
</div>
</div>
</template> </template>
<script> <script>
import { import companyDetail from '@components/detail/companyDetail.vue';
companyDetail import dataBreadcrumb from '@components/dataBreadcrumb.vue';
} from '@api/common/list' export default {
import dataBreadcrumb from '@components/dataBreadcrumb.vue' components: {
export default { dataBreadcrumb,
components: { companyDetail
dataBreadcrumb },
}, data() {
data() { return {
return { breads: ['查看基本信息', '企业资质文件']
detail: "", };
breads: ['查看基本信息', '企业资质文件'], },
informationList: [{ methods: {
title: '单位名称', edit() {
message: '腾讯' this.$router.push('/purchaser/organization/informationEdit');
}, { }
title: '注册角色', },
message: '采购商' created() {}
}, { };
title: '法人姓名',
message: '谢墩满'
}, {
title: '法人电话',
message: '1784574567'
}, {
title: '统一社会信用代码',
message: '91330104MA27YU1X0K'
}, {
title: '行政区域',
message: '浙江省 杭州市 滨江区'
}, {
title: '单位性质',
message: '有限责任公司'
}, {
title: '单位所在地',
message: '浙江 温州'
}, {
title: '行业类型',
message: '娱乐业'
}, {
title: '开户银行名称',
message: '农行'
}, {
title: '结算账号',
message: '34567567856789'
}, {
title: '结算账户名',
message: '谢天'
}, {
title: '注册资本(万元)',
message: '100'
}, {
title: '联系地址',
message: '浙江温州'
}, {
title: '管理员姓名',
message: '谢'
}, {
title: '手机号',
message: '18957015590'
}, {
title: '身份证',
message: '456789056789078'
}, {
title: '电子邮箱',
message: '34567890@qq.com'
}],
imglist: [{
src: require('@static/images/img.png')
}, {
src: require('@static/images/img.png')
}]
}
},
methods: {
edit() {
this.$router.push('/purchaser/organization/informationEdit')
},
async getcompanyDetail() {
try {
let companyId = localStorage.getItem("companyId")
const {
data,
code
} = await companyDetail(companyId)
if (code === 200) {
this.detail = data
}
} catch (e) {
console.log(e)
}
}
},
created() {
this.getcompanyDetail()
}
}
</script> </script>
<style scoped> <style scoped>
.detail-list>div>ul>li {
margin-right: 150px;
margin-bottom: 50px;
width: 180px
}
.detail-list>div>ul {
flex-wrap: wrap;
margin-left: 30px;
margin-top: 20px;
}
.detail-head {
margin-left: 30px;
padding-top: 10px;
}
.detail-head>h3 {
font-weight: bold;
margin-top: 10px;
margin-bottom: 10px;
}
.detail-list {
box-sizing: border-box;
padding-top: 20px;
background-color: #F0F2F5;
margin-top: 10px;
}
.detail-list>div {
background-color: #FFFF;
padding-bottom: 20px;
}
.detail-list h5 {
font-weight: bold;
height: 50px;
line-height: 50px;
border-bottom: 1px solid #F0F2F5;
box-sizing: border-box;
padding-left: 30px;
}
.detail-item {
margin-left: 30px;
margin-bottom: 30px;
}
.detail-item>div:first-child {
margin-bottom: 10px;
}
.pdf {
width: 170px
}
.pdf>div:nth-child(2),
.pdf>div:last-child {
width: 50px;
height: 30px;
text-align: center;
line-height: 30px;
border-radius: 10px;
border: 1px solid #000
}
.operation {
margin-bottom: 10px;
display: flex;
justify-content: flex-end;
}
.operation>button {
width: 50px;
height: 30px;
border-radius: 2px;
background: #fff;
border: 1px solid #999;
}
.flex-button>button {
margin-left: 10px;
}
.flex-button>button:last-child {
background: #28e;
color: #fff
}
</style> </style>
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