Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
zhutianqi
2021-12-20 15:06:20 +08:00
22 changed files with 782 additions and 158 deletions
+5 -1
View File
@@ -290,7 +290,11 @@ router.beforeEach(function (to, from, next) {
next('/Login') next('/Login')
} }
}else { }else {
next() if(isMobile()) {
next('/blankPage')
} else {
next('/Login')
}
} }
}else { }else {
next() next()
+22 -15
View File
@@ -41,10 +41,10 @@
</div> </div>
</template> </template>
</el-calendar> </el-calendar>
<!-- <div class="footer"> <!-- <div class="footer">
<el-tag style="background-color: #e6a23c;color: white">当天会议</el-tag> <el-tag style="background-color: #e6a23c;color: white">当天会议</el-tag>
<el-tag style="margin-left: 20px;background-color: #67c23a;color: white">我的会议</el-tag> <el-tag style="margin-left: 20px;background-color: #67c23a;color: white">我的会议</el-tag>
</div>--> </div>-->
</el-card> </el-card>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@@ -52,7 +52,7 @@
<div class="title_time">{{ timeDay.day || nowDate }}</div> <div class="title_time">{{ timeDay.day || nowDate }}</div>
<span class="card_info_empty " v-if="todayData.length === 0"> <span class="card_info_empty " v-if="todayData.length === 0">
<div style="text-align: center"> <div style="text-align: center">
<img :src="require('@/assets/images/meeting.png')"> <img :src="require('@/assets/images/meeting.png')">
</div> </div>
<div style="text-align: center;font-weight: bold;color: #99999a">暂无会议</div> <div style="text-align: center;font-weight: bold;color: #99999a">暂无会议</div>
</span> </span>
@@ -74,8 +74,13 @@
<div class="content_text"> <div class="content_text">
<span>会议附件 : <span>会议附件 :
<span v-if="item.files.length === 0">{{ '-' }}</span> <span v-if="item.files.length === 0">{{ '-' }}</span>
<span v-for="res in item.files" :key="res.id" style="color: #409EFF;" @click="previews(res.id)"> <span v-else v-for="res in item.files" :key="res.id" style="color: #409EFF;" @click="previews(res.id)">
{{ res.name }} {{ ';'}} <a v-if="res.name.length > 30" style="cursor: pointer">
{{ res.name.slice(0, 30) + '...' }} {{ ';' }}
</a>
<a v-else style="cursor: pointer">
{{ res.name }} {{ ';' }}
</a>
</span> </span>
</span> </span>
</div> </div>
@@ -87,7 +92,7 @@
</template> </template>
<script> <script>
import { meetingByMonth } from '@/api/unqualProcess.js' import {meetingByMonth} from '@/api/unqualProcess.js'
export default { export default {
name: "calendar", name: "calendar",
@@ -121,10 +126,10 @@ export default {
let yy = new Date().getFullYear(); let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1; let mm = new Date().getMonth() + 1;
let dd = new Date().getDate(); let dd = new Date().getDate();
if (mm<10) { if (mm < 10) {
mm = this.padding0(mm, 2) mm = this.padding0(mm, 2)
} }
if (dd<10) { if (dd < 10) {
dd = this.padding0(dd, 2) dd = this.padding0(dd, 2)
} }
this.nowDate = yy + '-' + mm + '-' + dd this.nowDate = yy + '-' + mm + '-' + dd
@@ -177,8 +182,8 @@ export default {
this.resDate = res this.resDate = res
this.dealMyDate() this.dealMyDate()
this.todayData = [] this.todayData = []
this.resDate.forEach(item=>{ this.resDate.forEach(item => {
if (item.date.slice(0,10) === this.nowDate) { if (item.date.slice(0, 10) === this.nowDate) {
this.todayData.push(item) this.todayData.push(item)
} }
}) })
@@ -210,11 +215,11 @@ export default {
let yy = new Date().getFullYear(); let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1; let mm = new Date().getMonth() + 1;
let dd = new Date().getDate(); let dd = new Date().getDate();
if (mm<10) { if (mm < 10) {
mm = this.padding0(mm, 2) mm = this.padding0(mm, 2)
} }
this.formData.month = mm + '月' this.formData.month = mm + '月'
if (dd<10) { if (dd < 10) {
dd = this.padding0(dd, 2) dd = this.padding0(dd, 2)
} }
this.formData.year = yy + '年' this.formData.year = yy + '年'
@@ -304,9 +309,10 @@ export default {
} }
} }
/deep/.el-calendar-table td.is-selected { /deep/ .el-calendar-table td.is-selected {
background-color: #f9e3e3; background-color: #f9e3e3;
} }
/deep/ .el-calendar__header { /deep/ .el-calendar__header {
display: none; display: none;
} }
@@ -340,6 +346,7 @@ export default {
.card_info_empty { .card_info_empty {
margin-top: 50px; margin-top: 50px;
} }
.card_info { .card_info {
height: 190px; height: 190px;
margin-top: 10px; margin-top: 10px;
@@ -101,28 +101,27 @@
</el-col> </el-col>
</el-row> </el-row>
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources"> <el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<el-upload <div v-if="rh_pageData.infoSources.length>0">
style="width: 30%" <div v-for="(item, index) in rh_pageData.infoSources" :key="index" style="margin-right: 5px; padding-left: 10px;color: #0c91e5;">
class="upload_style" <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
:disabled="acceptShow" {{ item.name.slice(0, 30) + '...' }} {{ ';' }}
multiple </a>
ref="uploadFile" <a v-else style="cursor: pointer" @click="fileLook(item)">{{ item.name }}</a>
:action="uploadPath" <el-button
name="file" size="mini"
:file-list="fileTextList" @click="filesUpload(item)"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF" icon="el-icon-download"
:before-upload="handleBeforeUpload" style="height: 25px; margin-left: 5px;"
:before-remove="handleBeforeRemove" ></el-button>
:on-success="handleOnsuccess" </div>
> </div>
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
@click="uploadFile" @click="uploadFile"
size="mini"> size="mini">
点击上传 点击上传
</el-button> </el-button>
</el-upload>
</el-form-item> </el-form-item>
<el-form-item class="add-form-item" label="协会构成:" prop="comityMake"> <el-form-item class="add-form-item" label="协会构成:" prop="comityMake">
<el-form <el-form
@@ -363,6 +362,29 @@
</el-timeline> </el-timeline>
</div> </div>
</div> </div>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传附件">
<el-upload
class="upload-demo"
:disabled="acceptShow"
multiple
ref="uploadFile"
:action="uploadPath"
name="file"
drag
:file-list="rh_pageData.infoSources"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
<p>点击或拖拽上传文件</p>
</div>
</el-upload>
</el-dialog>
<ProcessFooter <ProcessFooter
show-save show-save
show-submit show-submit
@@ -395,7 +417,8 @@ import ProcessTitle from '../../components/ProcessTitle'
import { import {
startProcess, saveTaskFirst, startProcess, saveTaskFirst,
completeTask, queryTaskFirst, completeTask, queryTaskFirst,
taskDel, workGroup,processBack taskDel, workGroup, processBack,
getBusStandFileByAttId
} from '@/api/process.js' } from '@/api/process.js'
export default { export default {
@@ -408,6 +431,7 @@ export default {
data() { data() {
return { return {
active: '1', // 默认显示 active: '1', // 默认显示
fileMadel: false,
rh_pageData: { rh_pageData: {
comityName: '', comityName: '',
comityNameOne: '', comityNameOne: '',
@@ -547,8 +571,8 @@ export default {
}); });
}, },
//上传按钮 //上传按钮
uploadFile(val) { uploadFile() {
this.fileListData = val this.fileMadel = true
}, },
// 文件上传限制条件 // 文件上传限制条件
handleBeforeUpload(file) { handleBeforeUpload(file) {
@@ -578,18 +602,17 @@ export default {
// 移除上传的文件 // 移除上传的文件
handleBeforeRemove(file, fileList) { handleBeforeRemove(file, fileList) {
this.fileData = fileList this.fileData = fileList
this.fileTextList.forEach((item, index) => { this.rh_pageData.infoSources.forEach((item, index) => {
if (item.name === file.name || item.id === file.id) { if (item.name === file.name || item.id === file.id) {
this.fileTextList.splice(index, 1) this.rh_pageData.infoSources.splice(index, 1)
} }
}) })
this.rh_pageData.infoSources = this.fileTextList
}, },
// 文件上传成功 // 文件上传成功
handleOnsuccess(res, file, fileList) { handleOnsuccess(res, file, fileList) {
if (res.ok) { if (res.ok) {
if (this.fileTextList !== null) { if (this.rh_pageData.infoSources !== null) {
this.newDataList = this.fileTextList this.newDataList = this.rh_pageData.infoSources
this.newDataList.push({ this.newDataList.push({
id: res.data.attId, id: res.data.attId,
name: res.data.name name: res.data.name
@@ -600,7 +623,6 @@ export default {
name: res.data.name name: res.data.name
}) })
} }
this.fileListData.fileText = this.newDataList
this.rh_pageData.infoSources = this.newDataList this.rh_pageData.infoSources = this.newDataList
this.$message({ this.$message({
showClose: true, showClose: true,
@@ -611,6 +633,52 @@ export default {
} }
}, },
// 文件预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
filesUpload (file) { // 下载
const attId = file.id
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
/** 添加 */ /** 添加 */
add_comityTel() { add_comityTel() {
@@ -701,7 +769,7 @@ export default {
if (this.type === 'leaderUser') { if (this.type === 'leaderUser') {
this.roleForm.leaderUser = data[0].name this.roleForm.leaderUser = data[0].name
this.roleForm.leaderUserId = data[0].id this.roleForm.leaderUserId = data[0].id
} else if(this.type === 'engineerUser'){ } else if (this.type === 'engineerUser') {
this.roleForm.engineerUser = data[0].name this.roleForm.engineerUser = data[0].name
this.roleForm.engineerUserId = data[0].id this.roleForm.engineerUserId = data[0].id
} else { } else {
@@ -890,6 +958,9 @@ export default {
text-align: right; text-align: right;
} }
/deep/.el-form-item__content{
margin-top: 3px;
}
/deep/ .el-table th { /deep/ .el-table th {
padding: 0px; padding: 0px;
} }
@@ -72,12 +72,20 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources"> <el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span> <span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else>{{ item.name }} {{ ';' }}</a> <a v-else style="cursor: pointer" @click="fileLook(item)">
</span> {{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -214,6 +222,7 @@ import ProcessTitle from "../../components/ProcessTitle";
import { import {
completeTask, completeTask,
inboundLiaisonDetail, inboundLiaisonDetail,
getBusStandFileByAttId,
startProcess, startProcess,
saveinboundTask, saveinboundTask,
saveTaskForPub, saveTaskForPub,
@@ -318,7 +327,43 @@ export default {
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
}, },
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -72,12 +72,20 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources"> <el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span> <span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else>{{ item.name }} {{ ';' }}</a> <a v-else style="cursor: pointer" @click="fileLook(item)">
</span> {{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -309,6 +317,7 @@ import ProcessTitle from "../../components/ProcessTitle";
import { import {
completeTask, completeTask,
inboundLiaisonDetail, inboundLiaisonDetail,
getBusStandFileByAttId,
saveinboundTask, saveinboundTask,
saveTaskForPub, saveTaskForPub,
} from "@/api/process.js" } from "@/api/process.js"
@@ -557,6 +566,43 @@ export default {
this.fileMadel = false this.fileMadel = false
} }
}, },
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -72,12 +72,20 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources"> <el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span> <span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else>{{ item.name }} {{ ';' }}</a> <a v-else style="cursor: pointer" @click="fileLook(item)">
</span> {{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -230,6 +238,7 @@ import {
completeTask, completeTask,
inboundLiaisonDetail, inboundLiaisonDetail,
saveinboundTask, saveinboundTask,
getBusStandFileByAttId,
saveTaskForPub, saveTaskForPub,
changeAssigneeNew changeAssigneeNew
} from "@/api/process.js" } from "@/api/process.js"
@@ -409,6 +418,43 @@ export default {
} }
}) })
}, },
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -72,12 +72,20 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources"> <el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span> <span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else>{{ item.name }} {{ ';' }}</a> <a v-else style="cursor: pointer" @click="fileLook(item)">
</span> {{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -268,6 +276,7 @@ import {
completeTask, completeTask,
inboundLiaisonDetail, inboundLiaisonDetail,
saveinboundTask, saveinboundTask,
getBusStandFileByAttId,
saveTaskForPub, saveTaskForPub,
changeAssigneeNew changeAssigneeNew
} from "@/api/process.js" } from "@/api/process.js"
@@ -448,6 +457,43 @@ export default {
}) })
}, },
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
@@ -72,12 +72,12 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources"> <el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span> <span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else>{{ item.name }} {{ ';' }}</a> <a v-else>{{ item.name }} {{ ';' }}</a>
</span> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -75,12 +75,20 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources"> <el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span> <span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else>{{ item.name }} {{ ';' }}</a> <a v-else style="cursor: pointer" @click="fileLook(item)">
</span> {{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -240,6 +248,7 @@ import {
completeTask, completeTask,
inboundLiaisonDetail, inboundLiaisonDetail,
saveinboundTask, saveinboundTask,
getBusStandFileByAttId,
saveTaskForPub, saveTaskForPub,
changeAssigneeNew changeAssigneeNew
} from "@/api/process.js" } from "@/api/process.js"
@@ -356,6 +365,43 @@ export default {
// this.rh_pageData.comityFileNum = this.fileTextList // this.rh_pageData.comityFileNum = this.fileTextList
}) })
}, },
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -100,43 +100,34 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:"> <el-form-item class="add-form-item" label="费用列支:">
<el-input v-model="ch_pageData.feeKind" placeholder="请输入费用列支"></el-input> <el-input v-model="ch_pageData.feeKind" placeholder="请输入费用列支"></el-input>
<!-- <el-select
v-model="ch_pageData.feeKind"
placeholder="请选择费用列支">
<el-option
v-for="item in feeKindOptions"
:key="item.value"
:label="item.label"
:value="item.label"/>
</el-select>-->
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row>
<el-col :span="8"> <el-col :span="24">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<el-upload <div v-if="ch_pageData.fileTextList.length>0">
style="width: 70%" <div v-for="(item, index) in ch_pageData.fileTextList" :key="index" style="margin-right: 5px; padding-left: 10px;color: #0c91e5;">
class="upload_style" <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
:disabled="acceptShow" {{ item.name.slice(0,30) + '...' }} {{ ';' }}
multiple </a>
ref="uploadFile" <a v-else style="cursor: pointer" @click="fileLook(item)">{{ item.name }}</a>
:action="uploadPath"
name="file"
:file-list="ch_pageData.fileTextList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<el-button <el-button
:disabled="acceptShow" size="mini"
type="primary" @click="filesUpload(item)"
class="common-button-primary" icon="el-icon-download"
size="mini"> style="height: 25px; margin-left: 5px;"
点击上传 ></el-button>
</el-button> </div>
</el-upload> </div>
<el-button
@click="fileUpload"
:disabled="acceptShow"
type="primary"
class="common-button-primary"
size="mini">
点击上传
</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@@ -306,6 +297,28 @@
</el-timeline> </el-timeline>
</div> </div>
</div> </div>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传附件">
<el-upload
class="upload-demo"
:disabled="acceptShow"
multiple
ref="uploadFile"
:action="uploadPath"
name="file"
drag
:file-list="ch_pageData.fileTextList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
<p>点击或拖拽上传文件</p>
</div>
</el-upload>
</el-dialog>
<ProcessFooter <ProcessFooter
show-save show-save
show-submit show-submit
@@ -338,7 +351,9 @@ import ProcessTitle from '../../components/ProcessTitle'
import { import {
startProcess, queryTaskFirst, startProcess, queryTaskFirst,
saveTaskFirst, completeTask, saveTaskFirst, completeTask,
taskDel, workGroup, processBack} from '@/api/process.js' taskDel, workGroup, processBack,
getBusStandFileByAttId
} from '@/api/process.js'
export default { export default {
components: { components: {
@@ -351,6 +366,7 @@ export default {
return { return {
active: '1', active: '1',
fileMadel: false,
ch_pageData: { ch_pageData: {
meetingName: '', meetingName: '',
primaryUnit: '', primaryUnit: '',
@@ -473,9 +489,9 @@ export default {
}, },
//上传按钮 //上传按钮
/* uploadFile(val) { fileUpload () {
this.fileListData = val this.fileMadel = true
},*/ },
// 文件上传限制条件 // 文件上传限制条件
handleBeforeUpload(file) { handleBeforeUpload(file) {
var filename = file.name var filename = file.name
@@ -534,6 +550,51 @@ export default {
this.fileMadel = false this.fileMadel = false
} }
}, },
// 文件预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
filesUpload (file) { // 下载
const attId = file.id
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
meeting_add() { meeting_add() {
var list = { var list = {
@@ -56,23 +56,29 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:"> <el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }} {{ ch_pageData.feeKind || '-' }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span> <span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else> <a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }} {{ item.name }} {{ ';' }}
</a> </a>
</span> <el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -210,7 +216,7 @@
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js' import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail,getBusStandFileByAttId} from '@/api/process.js'
export default { export default {
components: { components: {
@@ -349,6 +355,42 @@ export default {
}) })
}, },
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -471,6 +513,9 @@ export default {
/deep/ .el-table th { /deep/ .el-table th {
padding: 0px; padding: 0px;
} }
/deep/.el-form-item__content {
margin-top: 4px;
}
} }
} }
</style> </style>
@@ -56,23 +56,29 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:"> <el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }} {{ ch_pageData.feeKind || '-' }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span> <span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else> <a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }} {{ item.name }} {{ ';' }}
</a> </a>
</span> <el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -271,7 +277,7 @@
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, saveTaskForPub, completeTask, inboundLiaisonDetail} from '@/api/process.js' import {startProcess, saveTaskFirst, saveTaskForPub, completeTask, inboundLiaisonDetail,getBusStandFileByAttId} from '@/api/process.js'
export default { export default {
components: { components: {
@@ -434,6 +440,43 @@ export default {
}) })
}, },
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -556,6 +599,9 @@ export default {
/deep/ .el-table th { /deep/ .el-table th {
padding: 0px; padding: 0px;
} }
/deep/.el-form-item__content {
margin-top: 4px;
}
} }
} }
</style> </style>
@@ -56,23 +56,29 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:"> <el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }} {{ ch_pageData.feeKind || '-' }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span> <span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else> <a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }} {{ item.name }} {{ ';' }}
</a> </a>
</span> <el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -215,7 +221,7 @@
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js' import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail,getBusStandFileByAttId} from '@/api/process.js'
export default { export default {
components: { components: {
@@ -363,6 +369,43 @@ export default {
} }
}) })
}, },
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -481,6 +524,9 @@ export default {
/deep/ .el-table th { /deep/ .el-table th {
padding: 0px; padding: 0px;
} }
/deep/.el-form-item__content {
margin-top: 4px;
}
} }
} }
</style> </style>
@@ -56,23 +56,29 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:"> <el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }} {{ ch_pageData.feeKind || '-' }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span> <span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else> <a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }} {{ item.name }} {{ ';' }}
</a> </a>
</span> <el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -233,7 +239,7 @@
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskForPub, completeTask, inboundLiaisonDetail} from '@/api/process.js' import {startProcess, saveTaskForPub, completeTask, inboundLiaisonDetail,getBusStandFileByAttId} from '@/api/process.js'
export default { export default {
components: { components: {
@@ -388,6 +394,43 @@ export default {
}) })
}, },
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -494,6 +537,9 @@ export default {
/deep/ .el-table th { /deep/ .el-table th {
padding: 0px; padding: 0px;
} }
/deep/.el-form-item__content {
margin-top: 4px;
}
/deep/ .el-upload { /deep/ .el-upload {
display: unset; display: unset;
@@ -56,7 +56,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:"> <el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }} {{ ch_pageData.feeKind || '-' }}
@@ -65,14 +65,14 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span> <span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else> <a v-else>
{{ item.name }} {{ ';' }} {{ item.name }} {{ ';' }}
</a> </a>
</span> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -381,6 +381,9 @@ export default {
/deep/.el-table th { /deep/.el-table th {
padding: 0px; padding: 0px;
} }
/deep/.el-form-item__content {
margin-top: 4px;
}
} }
} }
</style> </style>
@@ -59,23 +59,29 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:"> <el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }} {{ ch_pageData.feeKind || '-' }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span> <span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else> <a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }} {{ item.name }} {{ ';' }}
</a> </a>
</span> <el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -224,7 +230,7 @@
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js' import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail,getBusStandFileByAttId} from '@/api/process.js'
export default { export default {
components: { components: {
@@ -430,6 +436,43 @@ export default {
}) })
}, },
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -548,6 +591,9 @@ export default {
/deep/ .el-table th { /deep/ .el-table th {
padding: 0px; padding: 0px;
} }
/deep/.el-form-item__content {
margin-top: 4px;
}
} }
} }
</style> </style>
@@ -1020,7 +1020,10 @@ export default {
}, { }, {
_this: this _this: this
}, res => { }, res => {
this.productData = res.data.records; this.productData = res.data.records.map(item => {
item.sarStandProjectLibraries = []
return item
})
this.totalNo = res.data.total; this.totalNo = res.data.total;
}, e => { }, e => {
@@ -861,7 +861,7 @@ export default {
if(this.satisfyFlag){ if(this.satisfyFlag){
this.isSubmit = true; this.isSubmit = true;
this.listForm.commentText = this.commentText; this.listForm.commentText = this.commentText;
var json = Object.assign(this.listForm, this.roleForm); let json = Object.assign(this.listForm, this.roleForm);
localStorage.setItem('projectList', JSON.stringify(this.dataList)) localStorage.setItem('projectList', JSON.stringify(this.dataList))
this.$refs["listForm"].validate((valid) => { this.$refs["listForm"].validate((valid) => {
if (valid) { if (valid) {
@@ -1019,7 +1019,10 @@ export default {
}, { }, {
_this: this _this: this
}, res => { }, res => {
this.productData = res.data.records; this.productData = res.data.records.map(item => {
item.sarStandProjectLibraries = []
return item
})
this.totalNo = res.data.total; this.totalNo = res.data.total;
}, e => { }, e => {
@@ -94,6 +94,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="操作" label="操作"
min-width="100"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@@ -182,6 +183,7 @@
size="mini" size="mini"
icon="el-icon-check" icon="el-icon-check"
@click="saveInfo" @click="saveInfo"
:loading="submitLoading"
>提交 >提交
</el-button </el-button
> >
@@ -205,6 +207,7 @@ export default {
data() { data() {
return { return {
loading: false, loading: false,
submitLoading: false,
fileList: [], fileList: [],
attributeTitle: '', attributeTitle: '',
showInfoModal: false, showInfoModal: false,
@@ -309,6 +312,7 @@ export default {
this.searchInfo() this.searchInfo()
}, },
searchInfo() { searchInfo() {
this.loading = true
this.dataCenterSearch.startDataUploadTime = this.dataCenterSearch.dataUploadTime[0] this.dataCenterSearch.startDataUploadTime = this.dataCenterSearch.dataUploadTime[0]
this.dataCenterSearch.endDataUploadTime = this.dataCenterSearch.dataUploadTime[1] this.dataCenterSearch.endDataUploadTime = this.dataCenterSearch.dataUploadTime[1]
this.$http.get('fileMaterialCenter/file-material', this.dataCenterSearch, { this.$http.get('fileMaterialCenter/file-material', this.dataCenterSearch, {
@@ -316,8 +320,10 @@ export default {
}, res => { }, res => {
this.dataCenterTable = res.data.records this.dataCenterTable = res.data.records
this.dataCenterSearch.total = res.data.total this.dataCenterSearch.total = res.data.total
this.loading = false
}, e => { }, e => {
console.log(e) console.log(e)
this.loading = false
}) })
}, },
clearSearch() { clearSearch() {
@@ -373,6 +379,7 @@ export default {
// this.attributeEO.attachFileId = fileIdList.join(',') // this.attributeEO.attachFileId = fileIdList.join(',')
}, },
saveInfo() { saveInfo() {
this.submitLoading = true
this.$refs['attributeEO'].validate((valid) => { this.$refs['attributeEO'].validate((valid) => {
if (valid && this.attributeEO.attachFileId !== '') { if (valid && this.attributeEO.attachFileId !== '') {
if (this.attributeTitle === '新增'){ if (this.attributeTitle === '新增'){
@@ -385,6 +392,7 @@ export default {
(res) => { (res) => {
if (res.ok) { if (res.ok) {
this.$message.success('新增成功') this.$message.success('新增成功')
this.submitLoading = false
this.cancelModel() this.cancelModel()
this.searchInfo() this.searchInfo()
} }
@@ -400,6 +408,7 @@ export default {
(res) => { (res) => {
if (res.ok) { if (res.ok) {
this.$message.success('修改成功') this.$message.success('修改成功')
this.submitLoading = false
this.cancelModel() this.cancelModel()
this.searchInfo() this.searchInfo()
} }
@@ -409,6 +418,7 @@ export default {
} else { } else {
this.$message.error('附件不能为空') this.$message.error('附件不能为空')
this.submitLoading = false
} }
}) })
@@ -426,20 +436,16 @@ export default {
}, },
}, },
mounted() { mounted() {
this.$http.get('fileMaterialCenter/file-material', this.dataCenterSearch, { this.searchInfo()
_this: this
}, res => {
this.dataCenterTable = res.data.records
this.dataCenterSearch.total = res.data.total
}, e => {
console.log(e)
})
} }
} }
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
#dataCenter { #dataCenter {
/deep/ .el-input--small .el-input__inner {
width: 160px;
}
background-color: white; background-color: white;
height: 100%; height: 100%;
padding: 10px 20px; padding: 10px 20px;
@@ -4307,8 +4307,8 @@ export default {
} }
formData.advanceSearchVOStr = JSON.stringify(advanceSearchVOList); formData.advanceSearchVOStr = JSON.stringify(advanceSearchVOList);
this.SarExportSearchEo = formData this.SarExportSearchEo = formData
formData.startIssueTime = formData.issueTime[0] formData.startIssueTime = formData.issueTime?formData.issueTime[0]:null
formData.endIssueTime = formData.issueTime[1] formData.endIssueTime = formData.issueTime?formData.issueTime[1]:null
formData.issueTime = null formData.issueTime = null
this.loading = true this.loading = true
@@ -611,6 +611,7 @@
</el-form-item> </el-form-item>
</template> </template>
<template v-else-if="field.attrField === 'CYCVPPSBMBUSS'"> <template v-else-if="field.attrField === 'CYCVPPSBMBUSS'">
<el-tooltip class="item" effect="light" content="关联模块--乘用车VPPS编码" placement="right">
<el-form-item <el-form-item
prop="CYCVPPSBMBUSS" prop="CYCVPPSBMBUSS"
label-width="150px" label-width="150px"
@@ -619,6 +620,7 @@
<template slot="label">关联模块--乘用车VPPS编码</template> <template slot="label">关联模块--乘用车VPPS编码</template>
<el-input v-model="sarBussionessStandEO.CYCVPPSBMBUSS" placeholder="选择VPPS编码" @click.native="choiceZRR2('car', '乘用车VPPS编码', sarBussionessStandEO.KCVPPSBMBUSS,true)"></el-input> <el-input v-model="sarBussionessStandEO.CYCVPPSBMBUSS" placeholder="选择VPPS编码" @click.native="choiceZRR2('car', '乘用车VPPS编码', sarBussionessStandEO.KCVPPSBMBUSS,true)"></el-input>
</el-form-item> </el-form-item>
</el-tooltip>
</template> </template>
<template v-else-if="field.attrField === 'CYCVPPSCNBUSS'"> <template v-else-if="field.attrField === 'CYCVPPSCNBUSS'">
<el-form-item title="关联模块--乘用车vpps中文名称" label="关联模块--乘用车vpps中文名称" label-width="150px" <el-form-item title="关联模块--乘用车vpps中文名称" label="关联模块--乘用车vpps中文名称" label-width="150px"
@@ -630,6 +632,7 @@
</el-form-item> </el-form-item>
</template> </template>
<template v-else-if="field.attrField === 'KCVPPSBMBUSS'"> <template v-else-if="field.attrField === 'KCVPPSBMBUSS'">
<el-tooltip class="item" effect="light" content="关联模块--卡车VPPS编码" placement="right">
<el-form-item <el-form-item
prop="KCVPPSBMBUSS" prop="KCVPPSBMBUSS"
label-width="150px" label-width="150px"
@@ -638,6 +641,7 @@
<template slot="label">关联模块--卡车VPPS编码</template> <template slot="label">关联模块--卡车VPPS编码</template>
<el-input v-model="sarBussionessStandEO.KCVPPSBMBUSS" placeholder="选择VPPS编码" @click.native="choiceZRR3('struck', '卡车VPPS编码', sarBussionessStandEO.KCVPPSBMBUSS,true)"></el-input> <el-input v-model="sarBussionessStandEO.KCVPPSBMBUSS" placeholder="选择VPPS编码" @click.native="choiceZRR3('struck', '卡车VPPS编码', sarBussionessStandEO.KCVPPSBMBUSS,true)"></el-input>
</el-form-item> </el-form-item>
</el-tooltip>
</template> </template>
<template v-else-if="field.attrField === 'KCVPPSCNBUSS'"> <template v-else-if="field.attrField === 'KCVPPSCNBUSS'">
<el-form-item title="关联模块--乘用车vpps中文名称" label="关联模块--乘用车vpps中文名称" label-width="150px" <el-form-item title="关联模块--乘用车vpps中文名称" label="关联模块--乘用车vpps中文名称" label-width="150px"
@@ -3759,6 +3759,10 @@ export default {
} }
formData.advanceSearchVOStr = JSON.stringify(advanceSearchVOList); formData.advanceSearchVOStr = JSON.stringify(advanceSearchVOList);
this.SarExportSearchEo = formData
formData.startIssueTime = formData.issueTime?formData.issueTime[0]:null
formData.endIssueTime = formData.issueTime?formData.issueTime[1]:null
formData.issueTime = null
this.SarExportSearchEo = formData this.SarExportSearchEo = formData
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', formData, { this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', formData, {