Commit a42528a9 authored by 张冬's avatar 张冬

联调

parent 34a25056
......@@ -1567,7 +1567,6 @@
"version": "6.12.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
"integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
"dev": true,
"requires": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
......@@ -1584,8 +1583,7 @@
"ajv-keywords": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz",
"integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==",
"dev": true
"integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ=="
},
"ali-oss": {
"version": "6.10.0",
......@@ -2076,6 +2074,11 @@
}
}
},
"babel-plugin-syntax-dynamic-import": {
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
"integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo="
},
"babel-polyfill": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
......@@ -2198,8 +2201,7 @@
"big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
"dev": true
"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
},
"binary-extensions": {
"version": "1.13.1",
......@@ -4220,8 +4222,7 @@
"emojis-list": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q=="
},
"encodeurl": {
"version": "1.0.2",
......@@ -4660,8 +4661,7 @@
"fast-deep-equal": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
"integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
"dev": true
"integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA=="
},
"fast-diff": {
"version": "1.1.2",
......@@ -4685,8 +4685,7 @@
"fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
"fast-levenshtein": {
"version": "2.0.6",
......@@ -6711,8 +6710,7 @@
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
"json-stringify-safe": {
"version": "5.0.1",
......@@ -6730,7 +6728,6 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.1.2.tgz",
"integrity": "sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==",
"dev": true,
"requires": {
"minimist": "^1.2.5"
}
......@@ -6834,7 +6831,6 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
"integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
"dev": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
......@@ -6845,7 +6841,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
"dev": true,
"requires": {
"minimist": "^1.2.0"
}
......@@ -8009,6 +8004,11 @@
"sha.js": "^2.4.8"
}
},
"pdfjs-dist": {
"version": "2.5.207",
"resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.5.207.tgz",
"integrity": "sha512-xGDUhnCYPfHy+unMXCLCJtlpZaaZ17Ew3WIL0tnSgKFUZXHAPD49GO9xScyszSsQMoutNDgRb+rfBXIaX/lJbw=="
},
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
......@@ -8913,8 +8913,7 @@
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
"q": {
"version": "1.5.1",
......@@ -9019,6 +9018,27 @@
"unpipe": "1.0.0"
}
},
"raw-loader": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.1.tgz",
"integrity": "sha512-baolhQBSi3iNh1cglJjA0mYzga+wePk7vdEX//1dTFd+v4TsQlQE0jitJSNF1OIP82rdYulH7otaVmdlDaJ64A==",
"requires": {
"loader-utils": "^2.0.0",
"schema-utils": "^2.6.5"
},
"dependencies": {
"loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
}
}
},
"read-pkg": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
......@@ -9439,7 +9459,6 @@
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz",
"integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==",
"dev": true,
"requires": {
"ajv": "^6.12.0",
"ajv-keywords": "^3.4.1"
......@@ -10826,7 +10845,6 @@
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
}
......@@ -11075,6 +11093,19 @@
"vue-style-loader": "^4.1.0"
}
},
"vue-pdf": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/vue-pdf/-/vue-pdf-4.1.0.tgz",
"integrity": "sha512-kjDmCJplCtf5+qQv6uMuUoh01AsoyKNsawHtfi9x739f1sTxdIwrLu25g+EhfRdtjh6JBqW46Mff1wijKa79wA==",
"requires": {
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"loader-utils": "^1.4.0",
"pdfjs-dist": "^2.5.207",
"raw-loader": "^4.0.1",
"vue-resize-sensor": "^2.0.0",
"worker-loader": "^2.0.0"
}
},
"vue-qr": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/vue-qr/-/vue-qr-2.2.1.tgz",
......@@ -11089,6 +11120,11 @@
"quill": "^1.3.4"
}
},
"vue-resize-sensor": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/vue-resize-sensor/-/vue-resize-sensor-2.0.0.tgz",
"integrity": "sha512-W+y2EAI/BxS4Vlcca9scQv8ifeBFck56DRtSwWJ2H4Cw1GLNUYxiZxUHHkuzuI5JPW/cYtL1bPO5xPyEXx4LmQ=="
},
"vue-router": {
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.1.6.tgz",
......@@ -11570,6 +11606,26 @@
"errno": "~0.1.7"
}
},
"worker-loader": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-2.0.0.tgz",
"integrity": "sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==",
"requires": {
"loader-utils": "^1.0.0",
"schema-utils": "^0.4.0"
},
"dependencies": {
"schema-utils": {
"version": "0.4.7",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
"integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
"requires": {
"ajv": "^6.1.0",
"ajv-keywords": "^3.1.0"
}
}
}
},
"wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
......
......@@ -18,6 +18,7 @@
"vue-clipboard2": "^0.3.1",
"vue-cropperjs": "^3.0.0",
"vue-i18n": "^8.10.0",
"vue-pdf": "^4.1.0",
"vue-qr": "^2.2.1",
"vue-quill-editor": "^3.0.6",
"vue-router": "^3.0.3",
......
<template>
<div style="height: 75vh;overflow-y: auto;overflow-x: hidden;">
<pdf :src="src">{{fileName}}</pdf>
<div @click="fileDownload(fileUrl,fileName)">下载</div>
</div>
</template>
<script>
import pdf from 'vue-pdf'
export default {
components: {pdf},
props:{
fileurl:{
type:String,
default:""
},
fileName:{
type:String,
default:""
}
},
data(){
return{
src: '',
}
},
created() {
console.log(this.fileName)
console.log(this.fileUrl)
},
methods: {
//预览pdf
// previewPDF(this.fileUrl){
// this.src = pdf.createLoadingTask(url)
// },
// //下载PDF
// downloadPDF(url,fileName){
// this.axios({
// method: 'get',
// responseType: 'arraybuffer',
// url: url
// }).then(function(res){
// //调用下载方法,把后端传过来的流传给fileDownload方法
// this.fileDownload(res.data, fileName);
// }.bind(this)
// )
// .catch(
// function(error) {
// this.$Message.error("网络请求出错")
// //调试阶段可以看看报的什么错
// //console.log("error",error)
// }.bind(this)
// );
// },
fileDownload:function (data, fileName) {
let blob = new Blob([data], {
//type类型后端返回来的数据中会有,根据自己实际进行修改
type: "application/vnd.ms-excel"
});
let filename = fileName || "报表.xls";
if (typeof window.navigator.msSaveBlob !== "undefined") {
window.navigator.msSaveBlob(blob, filename);
} else {
var blobURL = window.URL.createObjectURL(blob);
// 创建隐藏<a>标签进行下载
var tempLink = document.createElement("a");
tempLink.style.display = "none";
tempLink.href = blobURL;
tempLink.setAttribute("download", filename);
if (typeof tempLink.download === "undefined") {
tempLink.setAttribute("target", "_blank");
}
document.body.appendChild(tempLink);
tempLink.click();
document.body.removeChild(tempLink);
window.URL.revokeObjectURL(blobURL);
}
}
}
}
</script>
\ No newline at end of file
......@@ -31,7 +31,9 @@
<div class="hal-center">
<ul>
<li v-for="(item,index) in halList" :key="index" class="flex">
<div>{{item}}</div>
<div>{{item.time}}</div>
<div>{{item.name}}</div>
<div>{{item.behavior}}</div>
</li>
</ul>
</div>
......@@ -486,19 +488,20 @@ export default {
// websocket
createWebSocket() {
let token=localStorage.getItem("token")
this.websocket = new WebSocket('ws://192.168.3.35:8085/webSocket/' + token )
let projectId=localStorage.getItem("projectId")
this.websocket = new WebSocket('ws://192.168.3.35:8085/webSocket/' +projectId+"/"+ token )
// 连接成功时
this.websocket.onopen = () => {
}
this.websocket.onmessage = event => {
// 后端发送的消息在event.data中
let data=event.data;
console.log(data)
// let data=JSON.parse(event.data);
// if(data.type==1){
// this.content=""
// this.dialogueList.push(data)
// }
let data=JSON.parse(event.data);
if(data.type==1){
this.content=""
this.dialogueList.push(data)
}else{
this.halList.push(data)
}
}
this.websocket.onclose = function () {
console.log('关闭了')
......@@ -529,7 +532,7 @@ export default {
}
.dialogue>.dialogueList{
border: 1px solid #DCDFE6;
width: 247px;
width: 400px;
height: 300px;
overflow:auto;
}
......
......@@ -9,14 +9,14 @@
<div class="flex">
<div>下载合同:</div>
<ul>
<li class="flex">
<div>合同名字.pdf</div>
<el-button size="mini">下载</el-button>
<li class="flex-item">
<div>{{detail.fileName}}</div>
<el-button size="mini" @click="down(detail.fileUrl)">下载</el-button>
</li>
</ul>
</div>
<div class="contractContent flex-center">
<h1>合同内容</h1>
<iframe :src="detail.fileUrl" frameborder="0" style="width: 100%; height: 500px"></iframe>
</div>
<div class="button flex-center">
<el-button @click="revoke">撤销签章</el-button>
......@@ -31,16 +31,24 @@
</template>
<script>
import { signContract,contract} from '@api/purchaser/buyOut'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import PDF from '@components/PDF/PDF.vue'
export default {
components: {
dataBreadcrumb
dataBreadcrumb,
PDF
},
data() {
return {
breads: ['应收账款买断管理', '应收账款买断列表']
breads: ['应收账款买断管理', '应收账款买断列表'],
detail:""
}
},
created() {
this.getcontract()
},
methods: {
back() {
this.$router.go(-1)
......@@ -55,6 +63,21 @@
})
.catch(() => {})
},
down(url){
window.open(url)
},
// 查看详情
async getcontract(){
let projectId=localStorage.getItem("projectId")
const {
data,
code
} = await contract(projectId)
if(code==200){
this.detail=data
}
},
// 提出
async submitData() {
try {
let projectId = localStorage.getItem("projectId")
......@@ -63,7 +86,6 @@
code
} = await signContract(projectId)
if (code == 200) {
this.$message({
message: msg,
type: 'success',
......@@ -77,8 +99,7 @@
} catch (e) {
console.log(e)
}
}
},
}
}
......
<template>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>确认凭证</h3>
<h5>确认应收账款等凭证</h5>
</div>
<div class="content">
<div class="flex-item">
<div>下载合同:</div>
<ul>
<li class="flex-item">
<div>合同名字.pdf</div>
<el-button size="mini">下载</el-button>
</li>
</ul>
</div>
<div class="flex" style="margin-top: 50px;">
<div>查看图片:</div>
<div class="img-list flex">
<div v-for="(item,index) in imgList" :key="index">
<el-image :src="item" :preview-src-list="srcList" style="width: 100px; height: 100px">
</el-image>
</div>
</div>
</div>
<div class="backButton">
<el-button @click="back">返回</el-button>
<el-button @click="sure">确认</el-button>
</div>
</div>
</div>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>确认凭证</h3>
<h5>确认应收账款等凭证</h5>
</div>
<div class="content">
<div class="flex-item">
<div>下载合同:</div>
<ul>
<li class="flex-item">
<div>{{detail.fileName}}f</div>
<!-- <el-button size="mini">下载</el-button> -->
<a :href="detail.fileUrl">下载</a>
</li>
</ul>
</div>
<div class="flex" style="margin-top: 50px;">
<div>查看图片:</div>
<div class="img-list flex">
<div v-for="(item,index) in imgList" :key="index">
<el-image :src="item" :preview-src-list="srcList" style="width: 100px; height: 100px">
</el-image>
</div>
</div>
</div>
<div class="backButton">
<el-button @click="back">返回</el-button>
<el-button @click="sure">确认</el-button>
</div>
</div>
</div>
</template>
<script>
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
export default {
components: {
dataBreadcrumb
},
data() {
return {
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg', 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'],
breads: ['应收账款买断管理', '应收账款买断列表'],
srcList: [
'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg',
'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg'
]
}
},
methods: {
back() {
this.$router.go(-1)
},
sure() {
}
}
import {
signContract,
evidenceDetail
} from '@api/purchaser/buyOut'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
export default {
components: {
dataBreadcrumb
},
data() {
return {
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'
],
breads: ['应收账款买断管理', '应收账款买断列表'],
srcList: [
'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg',
'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg'
]
}
},
created() {
this.getevidenceDetail()
},
methods: {
back() {
this.$router.go(-1)
},
sure() {
}
},
// 查看详情
async getevidenceDetail() {
let projectId = localStorage.getItem("projectId")
const {
data,
code
} = await evidenceDetail(projectId)
if (code == 200) {
this.detail = data
}
},
}
}
</script>
<style scoped>
.img-list{
.img-list {
flex-wrap: wrap;
}
.img-list>div{
.img-list>div {
margin-right: 20px;
}
ul>li>div{
ul>li>div {
margin-right: 10px;
}
.backButton{
width:200px;
.backButton {
width: 200px;
margin: 200px auto 30px;
}
</style>
......@@ -26,18 +26,14 @@ export default {
model: 'companyName'
}],
breads: ['供应商管理', '供应商列表'],
tableData: [{
companyName: '腾讯',
industryType: '制造业',
contacts: '马化腾'
}],
tableData: [],
columns: [{
label: '单位名称',
prop: 'companyName'
},
{
label: '行业类型',
prop: 'industryType'
prop: 'industry'
},
{
label: '联系人',
......
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