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

This commit is contained in:
super_liu
2021-12-16 18:16:55 +08:00
56 changed files with 2735 additions and 390 deletions
+8
View File
@@ -697,6 +697,14 @@ export function getStandInfoById (data) {
params: data
})
}
// 流程撤回接口
export function processBack(data) {
return axios({
url: 'api/lawss/activiti/startProcessRollBack',
method: 'post',
data
})
}
// 标准法规工作组接口
export function workGroup(data) {
return axios({
+7
View File
@@ -282,6 +282,13 @@
menuId: 'asfdew33',
isChildren: true // 判断没有子菜单
},
{
title: '资料中心',
path: '/dataCenter',
'icon-class': 'el-icon-s-order',
menuId: '',
isChildren: true // 判断没有子菜单
},
// {
// title: '技术要求清单',
// path: '/skillReq',
+28 -6
View File
@@ -185,7 +185,7 @@ export default {
}
break;
case '3':
if (row.taskInfo === '责任对接人选择责任人') {
if (row.taskInfo === '责任部门对接人选择责任人') {
this.$router.push({
name: 'bzzqyjStep2',
query: {
@@ -196,7 +196,7 @@ export default {
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任人填写征求意见'){
} else if (row.taskInfo === '责任人反馈'){
this.$router.push({
name: 'bzzqyjStep3',
query: {
@@ -207,7 +207,7 @@ export default {
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任对接人审批') {
} else if (row.taskInfo === '责任部门对接人汇总并选择审批') {
this.$router.push({
name: 'bzzqyjStep4',
query: {
@@ -218,7 +218,29 @@ export default {
prcType: row.prcType
}
})
} else if (row.taskInfo === '标准法规工程师汇总填写处理意见') {
} else if (row.taskInfo === '审批人审批') {
this.$router.push({
name: 'bzzqyjStep4-1',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '标准法规工程师分线审核') {
this.$router.push({
name: 'bzzqyjStep4-2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '标准法规工程师汇总') {
this.$router.push({
name: 'bzzqyjStep5',
query: {
@@ -251,7 +273,7 @@ export default {
prcType: row.prcType
}
})
} else if (row.taskInfo.indexOf('技术委员会相关专委会主任') == 0 ) {
} else if (row.taskInfo === '技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任审定' ) {
this.$router.push({
name: 'bzzqyjStep8',
query: {
@@ -262,7 +284,7 @@ export default {
prcType: row.prcType
}
})
} else {
} else if (row.taskInfo === '工程研究总院院长批准') {
this.$router.push({
name: 'bzzqyjStep9',
query: {
@@ -46,14 +46,14 @@
v-model="form.modelNameList"
clearable
></el-input>
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" :key="index" style="margin-right: 5px;">
<div class="fileClass" @click="handlePreview(item)" style="display: flex; align-items: center;">
{{ item.name }}
<div class="fileClass" >
<span @click="handlePreview(item)">{{ item.name }}</span>
<el-button
size="small"
@click="clickButtonToUpload(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -74,14 +74,14 @@
v-model="form.fjNameList"
clearable
></el-input>
<div v-if="form.fjList.length > 0" style="display: flex;">
<div v-if="form.fjList.length > 0">
<div v-for="(item, index) in form.fjList" :key="index" style="margin-right: 5px;">
<div class="fileClass" @click="handlePreview(item)" style="display: flex; align-items: center;">
{{ item.name }}
<div class="fileClass" >
<span @click="handlePreview(item)">{{ item.name }}</span>
<el-button
size="small"
@click="clickButtonToUpload(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -46,14 +46,14 @@
v-model="form.modelNameList"
clearable
></el-input>
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" :key="index" style="margin-right: 5px;">
<div class="fileClass" @click="handlePreview(item)" style="display: flex; align-items: center;">
{{ item.name }}
<div class="fileClass" >
<span @click="handlePreview(item)">{{ item.name }}</span>
<el-button
size="small"
@click="clickButtonToUpload(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -74,14 +74,14 @@
v-model="form.fjNameList"
clearable
></el-input>
<div v-if="form.fjList.length > 0" style="display: flex;">
<div v-if="form.fjList.length > 0">
<div v-for="(item, index) in form.fjList" :key="index" style="margin-right: 5px;">
<div class="fileClass" @click="handlePreview(item)" style="display: flex; align-items: center;">
{{ item.name }}
<div class="fileClass" >
<span @click="handlePreview(item)">{{ item.name }}</span>
<el-button
size="small"
@click="clickButtonToUpload(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -42,13 +42,13 @@
</el-date-picker>
</el-form-item>
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -58,13 +58,13 @@
</div>
</el-form-item>
<el-form-item label="相关附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.fjList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<div v-if="form.fjList.length > 0">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -42,13 +42,13 @@
</el-date-picker>
</el-form-item>
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -58,13 +58,13 @@
</div>
</el-form-item>
<el-form-item label="相关附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.fjList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<div v-if="form.fjList.length > 0">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -97,20 +97,18 @@
<el-button
size="small"
@click="updateFile(form)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
<div v-else>
<el-button
type="primary"
:disabled="acceptShow"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
</div>
<el-button
type="primary"
:disabled="acceptShow"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
</el-form-item>
<el-form-item label="回执说明" prop="dyhz" class="add-form-item form-item-disabled">
<el-input
@@ -233,7 +231,7 @@
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile"
:on-success="importFileSuccess"
:show-file-list="true"
:show-file-list="false"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
@@ -439,6 +437,7 @@
}
},
fileUpload () {
this.fileMadel = true
},
handleTabs(name) {
@@ -42,13 +42,13 @@
</el-date-picker>
</el-form-item>
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -58,13 +58,13 @@
</div>
</el-form-item>
<el-form-item label="相关附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.fjList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<div v-if="form.fjList.length > 0">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -95,14 +95,14 @@
<el-col :span="12">
<el-form-item label="调研结果" prop="fileName" class="add-form-item form-item-disabled">
<div v-if="form.file" class="fileClass">
<div style="display: flex;">
<div style="display: flex;align-items: center;">
<div @click="clickButtonToUpload2(form.fileId)">
{{ form.fileName }}
</div>
<el-button
size="small"
@click="updateFile(form.fileId)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -42,24 +42,26 @@
</el-date-picker>
</el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<el-input
disabled
style="display: none;"
v-model="form.hzfileId"
clearable
></el-input>
<div v-if="form.hzfileName" @click="fileUpload" class="fileClass">
{{ form.hzfileName }}
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
<div v-if="form.hzfileId" class="fileClass">
<div style="display: flex;align-items: center;">
<div @click="clickButtonToUpload2(form.hzfileId)">
{{ form.hzfileName }}
</div>
<el-button
size="small"
@click="updateFile(form.hzfileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<el-button
type="primary"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
</el-form-item>
</el-col>
</el-row>
@@ -97,9 +99,13 @@
label="回执文件"
align="center">
<template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass">
{{scope.row.fileName}}
</div>
<span @click="clickButtonToUpload2(scope.row.fileId)">{{scope.row.fileName}}</span>
<el-button
size="small"
@click="updateFile(scope.row.fileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</template>
</el-table-column>
@@ -227,7 +233,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,saveTaskForPub,changeAssigneeNew} from 'api/process'
import {inboundLiaisonDetail,saveTaskForPub,changeAssigneeNew,getBusStandFileByAttId} from 'api/process'
import axios from "axios";
export default {
@@ -266,6 +272,42 @@
ProcessTitle
},
methods: {
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
clickButtonToUpload2(file) {
const attId = file
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('文件不存在,预览失败')
})
},
handleTransfer() {
this.drawerModal = true
},
@@ -42,8 +42,14 @@
</el-date-picker>
</el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass">
{{ form.hzfileName }}
<div v-if="form.hzfileName" class="fileClass">
<span @click="clickButtonToUpload2(form.hzfileId)">{{ form.hzfileName }}</span>
<el-button
size="small"
@click="updateFile(form.hzfileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
<div v-else>
- -
@@ -92,8 +98,14 @@
label="文件"
align="center">
<template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass">
{{scope.row.fileName}}
<div class="fileClass">
<span @click="clickButtonToUpload2(scope.row.fileId)">{{scope.row.fileName}}</span>
<el-button
size="small"
@click="updateFile(scope.row.fileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</template>
</el-table-column>
@@ -217,7 +229,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,changeAssigneeNew} from 'api/process'
import {inboundLiaisonDetail,changeAssigneeNew,getBusStandFileByAttId} from 'api/process'
import axios from "axios";
export default {
@@ -257,6 +269,42 @@
ProcessTitle
},
methods: {
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
clickButtonToUpload2(file) {
const attId = file
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('文件不存在,预览失败')
})
},
handleTransfer() {
this.drawerModal = true
},
@@ -42,8 +42,14 @@
</el-date-picker>
</el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass">
{{ form.hzfileName }}
<div v-if="form.hzfileName" class="fileClass">
<span @click="clickButtonToUpload2(form.hzfileId)">{{ form.hzfileName }}</span>
<el-button
size="small"
@click="updateFile(form.hzfileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
<div v-else>
- -
@@ -92,8 +98,14 @@
label="文件"
align="center">
<template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass">
{{scope.row.fileName}}
<div class="fileClass">
<span @click="clickButtonToUpload2(scope.row.fileId)">{{scope.row.fileName}}</span>
<el-button
size="small"
@click="updateFile(scope.row.fileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</template>
</el-table-column>
@@ -217,7 +229,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,changeAssigneeNew} from 'api/process'
import {inboundLiaisonDetail,changeAssigneeNew,getBusStandFileByAttId} from 'api/process'
import axios from "axios";
export default {
@@ -257,6 +269,42 @@
ProcessTitle
},
methods: {
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
clickButtonToUpload2(file) {
const attId = file
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('文件不存在,预览失败')
})
},
handleTransfer() {
this.drawerModal = true
},
@@ -42,8 +42,14 @@
</el-date-picker>
</el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass">
{{ form.hzfileName }}
<div v-if="form.hzfileName" class="fileClass">
<span @click="clickButtonToUpload2(form.hzfileId)">{{ form.hzfileName }}</span>
<el-button
size="small"
@click="updateFile(form.hzfileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
<div v-else>
- -
@@ -92,8 +98,14 @@
label="文件"
align="center">
<template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass">
{{scope.row.fileName}}
<div class="fileClass">
<span @click="clickButtonToUpload2(scope.row.fileId)">{{scope.row.fileName}}</span>
<el-button
size="small"
@click="updateFile(scope.row.fileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</template>
</el-table-column>
@@ -217,7 +229,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,changeAssigneeNew} from 'api/process'
import {inboundLiaisonDetail,changeAssigneeNew,getBusStandFileByAttId} from 'api/process'
import axios from "axios";
export default {
@@ -257,6 +269,42 @@
ProcessTitle
},
methods: {
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
clickButtonToUpload2(file) {
const attId = file
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('文件不存在,预览失败')
})
},
handleTransfer() {
this.drawerModal = true
},
@@ -42,8 +42,14 @@
</el-date-picker>
</el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass">
{{ form.hzfileName }}
<div v-if="form.hzfileName" class="fileClass">
<span @click="clickButtonToUpload2(form.hzfileId)">{{ form.hzfileName }}</span>
<el-button
size="small"
@click="updateFile(form.hzfileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
<div v-else>
- -
@@ -92,8 +98,14 @@
label="文件"
align="center">
<template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass">
{{scope.row.fileName}}
<div class="fileClass">
<span @click="clickButtonToUpload2(scope.row.fileId)">{{scope.row.fileName}}</span>
<el-button
size="small"
@click="updateFile(scope.row.fileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</template>
</el-table-column>
@@ -217,7 +229,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,changeAssigneeNew} from 'api/process'
import {inboundLiaisonDetail,changeAssigneeNew,getBusStandFileByAttId} from 'api/process'
import axios from "axios";
export default {
@@ -257,6 +269,42 @@
ProcessTitle
},
methods: {
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
clickButtonToUpload2(file) {
const attId = file
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('文件不存在,预览失败')
})
},
handleTransfer() {
this.drawerModal = true
},
@@ -110,7 +110,7 @@
:action="uploadPath"
name="file"
:file-list="fileTextList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
@@ -341,7 +341,7 @@
<h4>技术委员会常务副主任/总院院长</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.engineerUserId" style="display: none;"></el-input>
<el-input v-model="roleForm.engineerUser" placeholder="选择人员" @click.native="choiceZRROne('engineerUser', '选择人员', roleForm.engineerUser)">
<el-input v-model="roleForm.engineerUser" placeholder="选择技术委员会常务副主任/总院院长" @click.native="choiceZRROne('engineerUser', '选择人员', roleForm.engineerUser)">
</el-input>
</div>
</el-form-item>
@@ -352,8 +352,8 @@
<el-form-item prop="totalLeader" style="margin-bottom: 0">
<h4>总院技术委员会主任</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
<el-input v-model="roleForm.startUserName" :disabled="true" placeholder="选择总院技术委员会主任">
<el-input v-model="roleForm.directorUserId" style="display: none;"></el-input>
<el-input v-model="roleForm.directorUserName" placeholder="选择总院技术委员会主任" @click.native="choiceZRROne('directorUserId', '选择人员', roleForm.directorUserName)">
</el-input>
</div>
</el-form-item>
@@ -395,7 +395,7 @@ import ProcessTitle from '../../components/ProcessTitle'
import {
startProcess, saveTaskFirst,
completeTask, queryTaskFirst,
taskDel, workGroup
taskDel, workGroup,processBack
} from '@/api/process.js'
export default {
@@ -477,7 +477,8 @@ export default {
feeUserId: '',
engineerUser: '',
engineerUserId: '',
directorUserId: '',
directorUserName: '',
},
rh_rules: {},
roleFormRules: {
@@ -486,6 +487,7 @@ export default {
leaderUser: [{required: true, message: "请选择标准法规部主管领导", trigger: ['blur', 'change']}],
feeUser: [{required: true, message: "请选择费用管理部门人员", trigger: ['blur', 'change']}],
engineerUser: [{required: true, message: "请选择技术委员会常务副主任/总院院长", trigger: ['blur', 'change']}],
directorUserName: [{required: true, message: "请选择总院技术委员会主任", trigger: ['blur', 'change']}],
},
roleShowflag: false,
roleShowflagOne: false,
@@ -556,11 +558,11 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
// 判断文件上传大小
@@ -699,9 +701,12 @@ export default {
if (this.type === 'leaderUser') {
this.roleForm.leaderUser = data[0].name
this.roleForm.leaderUserId = data[0].id
} else {
} else if(this.type === 'ngineerUser'){
this.roleForm.engineerUser = data[0].name
this.roleForm.engineerUserId = data[0].id
} else {
this.roleForm.directorUserName = data[0].name
this.roleForm.directorUserId = data[0].id
}
this.roleShowflagOne = false
},
@@ -742,10 +747,17 @@ export default {
this.$refs['roleForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
const paramsInfo = {
type: '20'
}
startProcess(paramsInfo).then(res => {
let paramsInfo = new FormData()
paramsInfo.append('id', this.bpnId || '')
paramsInfo.append('createUser', this.$store.getters.userInfo.userId)
paramsInfo.append('createUserName', this.$store.getters.userInfo.userName)
paramsInfo.append('type', '20')
paramsInfo.append('json', JSON.stringify({
roleForm: this.roleForm,
rh_pageData: this.rh_pageData,
commentText: this.commentText
}))
processBack(paramsInfo).then(res => {
this.taskID = res.data
const params = new FormData();
params.set('json', JSON.stringify(json))
@@ -2,7 +2,7 @@
<div class="bzrhStep2">
<ProcessHeader toggle>
<template slot="proName">外部标准化协会入会流程</template>
<template slot="proNode">选择人员确认</template>
<template slot="proNode">提名入会代表</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
@@ -184,7 +184,7 @@
:action="uploadPath"
name="file"
:file-list="fillFileList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
@@ -506,11 +506,11 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
// 判断文件上传大小
@@ -127,7 +127,7 @@
ref="uploadOtherFile"
name="file"
:file-list="upOtherData"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beforeUploadOther"
:before-remove="beforeRemoveOther"
:on-success="onsuccessOther"
@@ -202,7 +202,7 @@
:action="actionPath"
name="file"
:file-list="reData"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
@@ -223,7 +223,7 @@
:action="actionPath"
name="file"
:file-list="themeData"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beforeUploadTheme"
:before-remove="beforeRemoveTheme"
:on-success="onsuccessTheme"
@@ -420,11 +420,11 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
// 判断文件上传大小
@@ -493,11 +493,11 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
// 判断文件上传大小
@@ -553,11 +553,11 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
// 判断文件上传大小
@@ -124,7 +124,7 @@
:action="uploadPath"
name="file"
:file-list="ch_pageData.fileTextList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
@@ -338,7 +338,7 @@ import ProcessTitle from '../../components/ProcessTitle'
import {
startProcess, queryTaskFirst,
saveTaskFirst, completeTask,
taskDel, workGroup} from '@/api/process.js'
taskDel, workGroup, processBack} from '@/api/process.js'
export default {
components: {
@@ -484,11 +484,11 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
// 判断文件上传大小
@@ -658,10 +658,18 @@ export default {
this.$refs['roleForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
const paramsInfo = {
type: '21'
}
startProcess(paramsInfo).then(res => {
let paramsInfo = new FormData()
paramsInfo.append('id', this.bpnId || '')
paramsInfo.append('createUser', this.$store.getters.userInfo.userId)
paramsInfo.append('createUserName', this.$store.getters.userInfo.userName)
paramsInfo.append('type', '21')
paramsInfo.append('json', JSON.stringify({
roleForm: this.roleForm,
ch_pageData: this.ch_pageData,
commentText: this.commentText
}))
processBack(paramsInfo).then(res => {
this.taskID = res.data
const params = new FormData();
params.set('json', JSON.stringify(json))
@@ -67,7 +67,6 @@
</ProcessTitle>
<div class="action-bar">
<el-button type="primary" :disabled="acceptShow" class="common-button-primary add-button" size="mini" @click="choiceZRR">批量编辑</el-button>
<el-button type="primary" v-if="form.itemsNum1" class="common-button-primary add-button" size="mini" @click="checkBD">查看比对</el-button>
</div>
<el-table border
ref="selection"
@@ -185,10 +184,11 @@
</el-table-column>
<el-table-column
label="操作"
width="100"
width="240"
align="center">
<template slot-scope="scope">
<el-button class="common-button-primary" size="mini" type="primary" @click="itemEdit(scope.row)">编辑</el-button>
<el-button class="common-button-primary" size="mini" type="primary" @click="checkBD(scope.row.itemsId, scope.row.itemsId2)">查看比对</el-button>
</template>
</el-table-column>
</el-table>
@@ -292,7 +292,7 @@
size="800px">
<div class="demo-drawer-content">
<el-form :model="plForm" class="label-input-form" ref="plForm" label-width=150>
<el-form-item label="核心技术要求" prop="technicalRequir" class="add-form-item" v-if="!form.itemsNum1">
<el-form-item label="核心技术要求" prop="technicalRequir" class="add-form-item" v-if="!form.itemsNum1">
<el-input
v-model="plForm.technicalRequir"
placeholder="请输入核心技术要求"
@@ -357,6 +357,7 @@
size="800px">
<div class="demo-drawer-content">
<el-form :model="editForm" class="label-input-form" ref="plForm" label-width=150>
<el-button style="margin: 10px 0 0 10px;" class="common-button-primary" size="mini" type="primary" @click="checkBD(editForm.itemsId, editForm.itemsId2)">查看比对</el-button>
<el-form-item label="核心技术要求" prop="technicalRequir" class="add-form-item" v-if="!form.itemsNum1">
<el-input
v-model="editForm.technicalRequir"
@@ -429,23 +430,10 @@
title="查看比对内容"
:visible.sync="BDmodel"
size="1100px">
<div>相似度:{{ similarityDegree }}</div>
<div style="height: 600px;overflow: auto;display: flex;">
<div>
<div v-for="(item1, index1) in leftData" :key="item1.id" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px;">
<div style="line-height: 20px;">
<span style="margin-right: 5px;">{{ item1.itemsNum }}</span><span v-html="item1.itemsName"></span>
<div style="margin-top: 5px;" v-html="item1.itemsText"></div>
</div>
</div>
</div>
<div>
<div v-for="(item2, index2) in rightData" :key="item2.id" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px;">
<div style="line-height: 20px;">
<span style="margin-right: 5px;">{{ item2.itemsNum }}</span><span v-html="item2.itemsName"></span>
<div style="margin-top: 5px;" v-html="item2.itemsText"></div>
</div>
</div>
</div>
<div v-html="leftData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%;"></div>
<div v-html="rightData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%;"></div>
</div>
</el-dialog>
</div>
@@ -463,11 +451,11 @@
name: "bzjdStep3",
data() {
return {
similarityDegree: '',
BDmodel: false,
oldNumber: '',
leftData: [],
rightData: [],
leftData: '',
rightData: '',
modalshowflag2: false,
itemId: '',
drawerModal: false,
@@ -504,6 +492,7 @@
newData: '', // 新车型实施日期
onlineData: '', // 在产车实施日期
applyArctic: '', // 适用车型
itemsId: '',
},
modalshowflag: false,
sarType: '',
@@ -543,7 +532,13 @@
}, {
_this: this
}, res => {
this.leftData = res.data
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < res.data.length; b++) {
if (this.itemList[a].itemsNum === res.data[b].itemsNum) {
this.itemList[a].itemsId = res.data[b].itemsId
}
}
}
}, e => {
})
this.$http.get('lawss/sarStandItemsCompareHis/getStandItemsCompareHisList', {
@@ -552,13 +547,34 @@
}, {
_this: this
}, res => {
this.rightData = res.data
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < res.data.length; b++) {
if (this.itemList[a].itemsNum === res.data[b].itemsNum) {
this.itemList[a].itemsId2 = res.data[b].itemsId
}
}
}
}, e => {
})
},
checkBD () {
this.BDmodel = true
this.getBDList()
checkBD (id,id2) {
let itemsEoPage = {
oldItemId: id,
newItemId: id2,
flag: 1
}
this.$http.post('lawss/sarStandCompareHis/clauseComparison', itemsEoPage, {
_this: this
}, res => {
if (res.data.leftString === '' && res.data.rightString === '') {
this.$message.warning('暂无找到相似的文本')
} else {
this.leftData = res.data.leftString
this.rightData = res.data.rightString
this.BDmodel = true
this.similarityDegree = res.data.similarityDegree
}
})
},
itemEdit (row) {
this.itemId = row.id
@@ -571,6 +587,8 @@
newData: row.newData, // 新车型实施日期
onlineData: row.onlineData, // 在产车实施日期
applyArctic: row.applyArctic, // 适用车型
itemsId: row.itemsId,
itemsId2: row.itemsId2
}
},
saveUserInfo2 () {
@@ -829,6 +847,7 @@
item.itemsTitle = item.itermsConditions
item.applyArctic = item.applyArctic || []
})
this.getBDList()
this.itemList = itemList
this.loading = false
}).catch(e => {
@@ -101,6 +101,7 @@
show-overflow-tooltip
prop="technicalRequir"
width="200"
v-if="!form.itemsNum1"
label="核心技术要求"
align="center">
</el-table-column>
@@ -173,6 +174,14 @@
prop="zrUserIdName"
align="center">
</el-table-column>
<el-table-column
label="操作"
width="140"
align="center">
<template slot-scope="scope">
<el-button class="common-button-primary" size="mini" type="primary" @click="checkBD(scope.row.itemsId, scope.row.itemsId2)">查看比对</el-button>
</template>
</el-table-column>
</el-table>
<el-collapse accordion>
<el-collapse-item title="审批意见">
@@ -270,6 +279,16 @@
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
<el-dialog
title="查看比对内容"
:visible.sync="BDmodel"
size="1100px">
<div>相似度:{{ similarityDegree }}</div>
<div style="height: 600px;overflow: auto;display: flex;">
<div v-html="leftData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%;"></div>
<div v-html="rightData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%;"></div>
</div>
</el-dialog>
</div>
</template>
@@ -284,6 +303,11 @@
name: "bzjdStep4",
data() {
return {
similarityDegree: '',
BDmodel: false,
oldNumber: '',
leftData: '',
rightData: '',
drawerModal: false,
//折叠的标志,true为折叠,false为不折叠
foldFormFlag: false,
@@ -315,6 +339,72 @@
ProcessTitle
},
methods: {
getBDList () {
this.$http.get('lawss/sarStandItemsCompareHis/getStandItemsCompareHisList', {
standHisId: this.oldNumber,
leftOrRight: 'LEFT'
}, {
_this: this
}, res => {
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < res.data.length; b++) {
if (this.itemList[a].itemsNum === res.data[b].itemsNum) {
this.itemList[a].itemsId = res.data[b].itemsId
}
}
}
}, e => {
})
this.$http.get('lawss/sarStandItemsCompareHis/getStandItemsCompareHisList', {
standHisId: this.oldNumber,
leftOrRight: 'RIGHT'
}, {
_this: this
}, res => {
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < res.data.length; b++) {
if (this.itemList[a].itemsNum === res.data[b].itemsNum) {
this.itemList[a].itemsId2 = res.data[b].itemsId
}
}
}
}, e => {
})
},
checkBD (id,id2) {
let itemsEoPage = {
oldItemId: id,
newItemId: id2,
flag: 1
}
this.$http.post('lawss/sarStandCompareHis/clauseComparison', itemsEoPage, {
_this: this
}, res => {
if (res.data.leftString === '' && res.data.rightString === '') {
this.$message.warning('暂无找到相似的文本')
} else {
this.leftData = res.data.leftString
this.rightData = res.data.rightString
this.BDmodel = true
this.similarityDegree = res.data.similarityDegree
}
})
},
itemEdit (row) {
this.itemId = row.id
this.modalshowflag2 = true
this.editForm = {
technicalRequir: row.technicalRequir, // 核心技术要求
changePoint: row.changePoint, // 国内标准的差异点
complianceRequir: row.complianceRequir || '1', // 符合性要求
complianceState: row.complianceState, // 合规性分析
newData: row.newData, // 新车型实施日期
onlineData: row.onlineData, // 在产车实施日期
applyArctic: row.applyArctic, // 适用车型
itemsId: row.itemsId,
itemsId2: row.itemsId2
}
},
phoneClick () {
this.$router.push('/phoneBzjdStep4')
},
@@ -431,6 +521,7 @@
this.json = data
this.itemList = data.itemList
this.loading = false
this.getBDList()
}).catch(e => {
})
})
@@ -101,6 +101,7 @@
show-overflow-tooltip
prop="technicalRequir"
width="200"
v-if="!form.itemsNum1"
label="核心技术要求"
align="center">
</el-table-column>
@@ -173,6 +174,14 @@
prop="zrUserIdName"
align="center">
</el-table-column>
<el-table-column
label="操作"
width="140"
align="center">
<template slot-scope="scope">
<el-button class="common-button-primary" size="mini" type="primary" @click="checkBD(scope.row.itemsId, scope.row.itemsId2)">查看比对</el-button>
</template>
</el-table-column>
</el-table>
<el-collapse accordion>
<el-collapse-item title="回执说明">
@@ -275,6 +284,16 @@
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
<el-dialog
title="查看比对内容"
:visible.sync="BDmodel"
size="1100px">
<div>相似度:{{ similarityDegree }}</div>
<div style="height: 600px;overflow: auto;display: flex;">
<div v-html="leftData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%;"></div>
<div v-html="rightData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%;"></div>
</div>
</el-dialog>
<loading :loading="loading">加载中...</loading>
</div>
</template>
@@ -290,6 +309,11 @@
name: "bzjdStep5",
data() {
return {
similarityDegree: '',
BDmodel: false,
oldNumber: '',
leftData: '',
rightData: '',
drawerModal: false,
//折叠的标志,true为折叠,false为不折叠
foldFormFlag: false,
@@ -321,6 +345,72 @@
ProcessTitle
},
methods: {
getBDList () {
this.$http.get('lawss/sarStandItemsCompareHis/getStandItemsCompareHisList', {
standHisId: this.oldNumber,
leftOrRight: 'LEFT'
}, {
_this: this
}, res => {
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < res.data.length; b++) {
if (this.itemList[a].itemsNum === res.data[b].itemsNum) {
this.itemList[a].itemsId = res.data[b].itemsId
}
}
}
}, e => {
})
this.$http.get('lawss/sarStandItemsCompareHis/getStandItemsCompareHisList', {
standHisId: this.oldNumber,
leftOrRight: 'RIGHT'
}, {
_this: this
}, res => {
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < res.data.length; b++) {
if (this.itemList[a].itemsNum === res.data[b].itemsNum) {
this.itemList[a].itemsId2 = res.data[b].itemsId
}
}
}
}, e => {
})
},
checkBD (id,id2) {
let itemsEoPage = {
oldItemId: id,
newItemId: id2,
flag: 1
}
this.$http.post('lawss/sarStandCompareHis/clauseComparison', itemsEoPage, {
_this: this
}, res => {
if (res.data.leftString === '' && res.data.rightString === '') {
this.$message.warning('暂无找到相似的文本')
} else {
this.leftData = res.data.leftString
this.rightData = res.data.rightString
this.BDmodel = true
this.similarityDegree = res.data.similarityDegree
}
})
},
itemEdit (row) {
this.itemId = row.id
this.modalshowflag2 = true
this.editForm = {
technicalRequir: row.technicalRequir, // 核心技术要求
changePoint: row.changePoint, // 国内标准的差异点
complianceRequir: row.complianceRequir || '1', // 符合性要求
complianceState: row.complianceState, // 合规性分析
newData: row.newData, // 新车型实施日期
onlineData: row.onlineData, // 在产车实施日期
applyArctic: row.applyArctic, // 适用车型
itemsId: row.itemsId,
itemsId2: row.itemsId2
}
},
handleTransfer() {
this.drawerModal = true
},
@@ -102,6 +102,7 @@
show-overflow-tooltip
prop="technicalRequir"
width="200"
v-if="!form.itemsNum1"
label="核心技术要求"
align="center">
</el-table-column>
@@ -174,6 +175,14 @@
prop="zrUserIdName"
align="center">
</el-table-column>
<el-table-column
label="操作"
width="140"
align="center">
<template slot-scope="scope">
<el-button class="common-button-primary" size="mini" type="primary" @click="checkBD(scope.row.itemsId, scope.row.itemsId2)">查看比对</el-button>
</template>
</el-table-column>
</el-table>
<el-collapse accordion>
<el-collapse-item title="审批意见">
@@ -274,6 +283,16 @@
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
<el-dialog
title="查看比对内容"
:visible.sync="BDmodel"
size="1100px">
<div>相似度:{{ similarityDegree }}</div>
<div style="height: 600px;overflow: auto;display: flex;">
<div v-html="leftData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%;"></div>
<div v-html="rightData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%;"></div>
</div>
</el-dialog>
<loading :loading="loading">加载中...</loading>
</div>
</template>
@@ -289,6 +308,11 @@
name: "bzjdStep6",
data() {
return {
similarityDegree: '',
BDmodel: false,
oldNumber: '',
leftData: '',
rightData: '',
drawerModal: false,
//折叠的标志,true为折叠,false为不折叠
foldFormFlag: false,
@@ -320,6 +344,72 @@
ProcessTitle
},
methods: {
getBDList () {
this.$http.get('lawss/sarStandItemsCompareHis/getStandItemsCompareHisList', {
standHisId: this.oldNumber,
leftOrRight: 'LEFT'
}, {
_this: this
}, res => {
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < res.data.length; b++) {
if (this.itemList[a].itemsNum === res.data[b].itemsNum) {
this.itemList[a].itemsId = res.data[b].itemsId
}
}
}
}, e => {
})
this.$http.get('lawss/sarStandItemsCompareHis/getStandItemsCompareHisList', {
standHisId: this.oldNumber,
leftOrRight: 'RIGHT'
}, {
_this: this
}, res => {
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < res.data.length; b++) {
if (this.itemList[a].itemsNum === res.data[b].itemsNum) {
this.itemList[a].itemsId2 = res.data[b].itemsId
}
}
}
}, e => {
})
},
checkBD (id,id2) {
let itemsEoPage = {
oldItemId: id,
newItemId: id2,
flag: 1
}
this.$http.post('lawss/sarStandCompareHis/clauseComparison', itemsEoPage, {
_this: this
}, res => {
if (res.data.leftString === '' && res.data.rightString === '') {
this.$message.warning('暂无找到相似的文本')
} else {
this.leftData = res.data.leftString
this.rightData = res.data.rightString
this.BDmodel = true
this.similarityDegree = res.data.similarityDegree
}
})
},
itemEdit (row) {
this.itemId = row.id
this.modalshowflag2 = true
this.editForm = {
technicalRequir: row.technicalRequir, // 核心技术要求
changePoint: row.changePoint, // 国内标准的差异点
complianceRequir: row.complianceRequir || '1', // 符合性要求
complianceState: row.complianceState, // 合规性分析
newData: row.newData, // 新车型实施日期
onlineData: row.onlineData, // 在产车实施日期
applyArctic: row.applyArctic, // 适用车型
itemsId: row.itemsId,
itemsId2: row.itemsId2
}
},
handleTransfer() {
this.drawerModal = true
},
@@ -1124,15 +1124,26 @@ export default {
if (this.dataList.length < 1) {
this.$message.warning("标准不能为空");
} else {
this.listForm.commentText = this.commentText;
this.listForm.fileName = this.fileInfoList;
this.listForm.commentText = this.commentText
this.listForm.fileName = this.fileInfoList
var json = Object.assign(this.listForm, this.roleForm);
this.$refs["qdfbForm"].validate((valid) => {
if (valid) {
this.$refs["Form"].validate((valid) => {
if (valid) {
this.isSubmit = true;
this.$http.get("lawss/activiti/startProcess", { type: "4" }, {
this.isSubmit = true
this.$http.post("lawss/activiti/startProcessRollBack", {
id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '4',
json: JSON.stringify({
taskInfo: '引入法规标准清单',
form: this.listForm,
roleForm: this.roleForm,
commentText: this.commentText
})
}, {
_this: this
}, res => {
if (res.ok) {
@@ -1145,17 +1156,9 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message);
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push("/processCenter");
}
this.isSubmit = false;
this.isSubmit = false
});
}
});
@@ -1062,7 +1062,18 @@ export default {
this.$refs["Form"].validate((valid) => {
if (valid) {
this.isSubmit = true
this.$http.get("lawss/activiti/startProcess", {type: "4"}, {
this.$http.post("lawss/activiti/startProcessRollBack", {
id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '4',
json: JSON.stringify({
taskInfo: '引入法规标准清单',
form: this.listForm,
roleForm: this.roleForm,
commentText: this.commentText
})
}, {
_this: this
}, res => {
if (res.ok) {
@@ -47,12 +47,18 @@
<el-button size="small" type="primary" :disabled="!form.cid" @click="addfjList">选择附件</el-button>
</div>
<el-input
v-model="form.fjListId"
style="display: none;"
v-model="form.fjListId"
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="table-jump" @click="updataFj(item)" style="margin-right: 15px;" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<div class="fileClass" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
<span @click="fileLook(item)" >{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
@@ -63,12 +69,18 @@
v-model="form.modelNameList"
clearable
></el-input>
<div v-if="form.modelList.length > 0" class="fileClass" style="display: flex;">
<div v-for="(item, index) in form.modelList" :key="index" @click="fileUpload" style="margin-right: 5px; padding-left: 10px;">
{{ item.name }}
<div v-if="form.modelList.length > 0" class="fileClass" style="">
<div v-for="(item, index) in form.modelList" :key="index" style="margin-right: 5px; padding-left: 10px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else class="addButton" style="padding-left: 10px">
<div class="addButton" style="padding-left: 10px">
<el-button
type="primary"
class="common-button-primary"
@@ -347,7 +359,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, queryTaskFirst,taskDel} from 'api/process'
import {saveTaskFirst, queryTaskFirst,taskDel,getBusStandFileByAttId} from 'api/process'
export default {
name: "bzzqyjStep1-1",
@@ -469,6 +481,50 @@ export default {
}
},
methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
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.attId
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('文件不存在,预览失败')
})
},
beginImportFile (file) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
@@ -51,17 +51,17 @@
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<div class="fileClass" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
<span @click="fileLook(item)" >{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<!-- <el-form-item label="文本状态" prop="textType" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- disabled-->
<!-- v-model="form.textType"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="上传附件" prop="modelNameList" class="add-form-item form-item-disabled">
<el-input
disabled
@@ -69,12 +69,18 @@
v-model="form.modelNameList"
clearable
></el-input>
<div v-if="form.modelList.length > 0" class="fileClass" style="display: flex;">
<div v-for="(item, index) in form.modelList" :key="index" @click="fileUpload" style="margin-right: 5px; padding-left: 10px;">
{{ item.name }}
<div v-if="form.modelList.length > 0" class="fileClass">
<div v-for="(item, index) in form.modelList" :key="index" style="margin-right: 5px; padding-left: 10px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else class="addButton" style="padding-left: 10px">
<div class="addButton" style="padding-left: 10px">
<el-button
type="primary"
class="common-button-primary"
@@ -362,7 +368,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, taskDel} from 'api/process'
import {saveTaskFirst, taskDel, getBusStandFileByAttId} from 'api/process'
export default {
name: "bzzqyjStep1",
@@ -483,6 +489,50 @@ export default {
}
},
methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
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.attId
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('文件不存在,预览失败')
})
},
beginImportFile (file) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
@@ -46,13 +46,30 @@
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">{{ item.fileName }}</div>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -174,7 +191,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, processCreateStand, saveTaskForPub, changeAssigneeNew} from "api/process";
import { inboundLiaisonDetail, processCreateStand, saveTaskForPub, changeAssigneeNew,getBusStandFileByAttId} from "api/process";
import axios from "axios";
export default {
@@ -221,6 +238,50 @@ export default {
ProcessTitle
},
methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
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.attId
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('文件不存在,预览失败')
})
},
handleTransfer() {
this.drawerModal = true
},
@@ -46,16 +46,30 @@
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="table-jump" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
<span @click="updataFj(item)">{{ item.fileName }}</span>
<el-button type="primary" class="common-button-primary" style="margin-left: 10px;" size="mini" @click="downloadFile(item.attId)">下载</el-button>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -318,7 +332,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail, processCreateStand, saveTaskForPub,changeAssigneeNew,execTask} from 'api/process'
import {inboundLiaisonDetail, processCreateStand, saveTaskForPub,changeAssigneeNew,execTask,getBusStandFileByAttId} from 'api/process'
import axios from "axios";
export default {
@@ -386,6 +400,50 @@
ProcessTitle
},
methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
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.attId
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('文件不存在,预览失败')
})
},
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
@@ -46,23 +46,37 @@
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item label="标准法规工程师分线管理员" prop="spId" class="add-form-item form-item-disabled">
<el-form-item label="标准法规工程师分线管理员" prop="bzfgId" class="add-form-item form-item-disabled">
<el-input
v-model="form.bzfgId"
style="display: none;"
@@ -256,7 +270,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail, processCreateStand,changeAssigneeNew} from 'api/process'
import {inboundLiaisonDetail, processCreateStand,changeAssigneeNew,getBusStandFileByAttId} from 'api/process'
import axios from "axios";
export default {
@@ -312,6 +326,50 @@
ProcessTitle
},
methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
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.attId
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('文件不存在,预览失败')
})
},
checkedRole2(data) {
this.form.bzfgId = data[0].id
this.form.bzfgName = data[0].name
@@ -400,6 +458,8 @@
}
this.isSubmit = false
})
} else {
this.$message.warning('请选择标准法规工程师分线管理员')
}
})
},
@@ -46,16 +46,30 @@
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -248,7 +262,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail, processCreateStand,changeAssigneeNew} from 'api/process'
import {inboundLiaisonDetail, processCreateStand,changeAssigneeNew,getBusStandFileByAttId} from 'api/process'
import axios from "axios";
export default {
@@ -304,6 +318,50 @@
ProcessTitle
},
methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
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.attId
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('文件不存在,预览失败')
})
},
checkedRole2(data) {
this.form.bzfgId = data[0].id
this.form.bzfgName = data[0].name
@@ -42,20 +42,34 @@
</el-form-item>
<el-form-item label="标准附件" prop="fjListId" class="add-form-item form-item-disabled">
<el-input
v-model="form.fjListId"
style="display: none;"
v-model="form.fjListId"
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -328,7 +342,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail, processCreateStand,changeAssigneeNew} from 'api/process'
import {inboundLiaisonDetail, processCreateStand,changeAssigneeNew,getBusStandFileByAttId} from 'api/process'
import axios from "axios";
export default {
@@ -396,6 +410,50 @@ export default {
ProcessTitle
},
methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
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.attId
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('文件不存在,预览失败')
})
},
handleSelectionChange(val) {
this.idList = []
val.forEach(item => {
@@ -585,6 +643,8 @@ export default {
}
this.isSubmit = false
})
} else {
this.$message.warning('请选择审批人')
}
})
},
@@ -46,16 +46,30 @@
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -317,7 +331,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, processCreateStand, saveTaskForPub, changeAssigneeNew } from "api/process";
import { inboundLiaisonDetail, processCreateStand, saveTaskForPub, changeAssigneeNew,getBusStandFileByAttId } from "api/process";
import axios from "axios";
export default {
@@ -382,6 +396,50 @@
ProcessTitle
},
methods: {
filesUpload (file) { //
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
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.attId
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('文件不存在,预览失败')
})
},
getItemList (standId, fileType) { //
this.$http.get('SarStandItems/sar-stand-items/querySarItemAndInterpretation', {
standId: standId,
@@ -573,11 +631,12 @@
if (data.introduce) {
} else {
this.$http.get("slrs/sar-public-idea-all/getPublicIdea", {
unique: data.unique
unique: data.uniques
}, {}, res => {
res.data.forEach(item => {
item.chapterNumber = item.partCode;
item.responUserName = item.userName;
item.state = '1'
this.data.push(item);
});
});
@@ -42,20 +42,34 @@
</el-form-item>
<el-form-item label="标准附件" prop="fjListId" class="add-form-item form-item-disabled">
<el-input
v-model="form.fjListId"
style="display: none;"
v-model="form.fjListId"
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="table-jump" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -262,7 +276,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, processCreateStand, changeAssigneeNew } from "api/process";
import { inboundLiaisonDetail, processCreateStand, changeAssigneeNew,getBusStandFileByAttId } from "api/process";
import axios from "axios";
export default {
@@ -320,6 +334,50 @@ export default {
ProcessTitle
},
methods: {
filesUpload (file) { //
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
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.attId
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('文件不存在,预览失败')
})
},
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
@@ -382,8 +440,6 @@ export default {
}
},
upload(row, title) {
console.log(row);
return
var params = {
columnName: {
chapterNumber: "章条编号",
@@ -394,10 +450,12 @@ export default {
reason: "修改理由",
department: "提出部门",
responUserName: "提出人",
stateText: "处理意见"
},
dataList: []
};
if (title === '上报意见.xls') {
params.columnName.stateText = "处理意见"
}
params.dataList = JSON.parse(JSON.stringify(row));
params.dataList.forEach(item => {
if (item.state === "1") {
@@ -42,20 +42,34 @@
</el-form-item>
<el-form-item label="标准附件" prop="fjListId" class="add-form-item form-item-disabled">
<el-input
v-model="form.fjListId"
style="display: none;"
v-model="form.fjListId"
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex; margin-left: 10px">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -262,7 +276,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail, processCreateStand,changeAssigneeNew} from 'api/process'
import {inboundLiaisonDetail, processCreateStand,changeAssigneeNew,getBusStandFileByAttId} from 'api/process'
import axios from "axios";
export default {
@@ -317,6 +331,50 @@ export default {
ProcessTitle
},
methods: {
filesUpload (file) { //
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
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.attId
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('文件不存在,预览失败')
})
},
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
@@ -382,10 +440,12 @@ export default {
reason: "修改理由",
department: "提出部门",
responUserName: "提出人",
stateText: "处理意见"
},
dataList: []
}
if (title === '上报意见.xls') {
params.columnName.stateText = "处理意见"
}
params.dataList = JSON.parse(JSON.stringify(row))
params.dataList.forEach(item => {
if (item.state === '1') {
@@ -42,20 +42,34 @@
</el-form-item>
<el-form-item label="标准附件" prop="fjListId" class="add-form-item form-item-disabled">
<el-input
v-model="form.fjListId"
style="display: none;"
v-model="form.fjListId"
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;margin-left: 10px;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -262,7 +276,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail, processCreateStand,changeAssigneeNew} from 'api/process'
import {inboundLiaisonDetail, processCreateStand,changeAssigneeNew,getBusStandFileByAttId} from 'api/process'
import axios from "axios";
export default {
@@ -317,6 +331,50 @@ export default {
ProcessTitle
},
methods: {
filesUpload (file) { //
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
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.attId
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('文件不存在,预览失败')
})
},
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
@@ -382,10 +440,12 @@ export default {
reason: "修改理由",
department: "提出部门",
responUserName: "提出人",
stateText: "处理意见"
},
dataList: []
}
if (title === '上报意见.xls') {
params.columnName.stateText = "处理意见"
}
params.dataList = JSON.parse(JSON.stringify(row))
params.dataList.forEach(item => {
if (item.state === '1') {
@@ -42,20 +42,34 @@
</el-form-item>
<el-form-item label="标准附件" prop="fjListId" class="add-form-item form-item-disabled">
<el-input
v-model="form.fjListId"
style="display: none;"
v-model="form.fjListId"
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;margin-left: 10px;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -262,7 +276,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, processCreateStand, changeAssigneeNew } from "api/process";
import { inboundLiaisonDetail, processCreateStand, changeAssigneeNew,getBusStandFileByAttId } from "api/process";
import axios from "axios";
export default {
@@ -317,6 +331,50 @@ export default {
ProcessTitle
},
methods: {
filesUpload (file) { //
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
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.attId
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('文件不存在,预览失败')
})
},
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
@@ -382,10 +440,12 @@ export default {
reason: "修改理由",
department: "提出部门",
responUserName: "提出人",
stateText: "处理意见"
},
dataList: []
};
if (title === '上报意见.xls') {
params.columnName.stateText = "处理意见"
}
params.dataList = JSON.parse(JSON.stringify(row));
params.dataList.forEach(item => {
if (item.state === "1") {
@@ -186,7 +186,16 @@ export default {
this.$refs["Form"].validate((valid) => {
if (valid) {
this.isSubmit = true
this.$http.get("lawss/activiti/startProcess", {type: "14"}, {
this.$http.post("lawss/activiti/startProcessRollBack", {
id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '14',
json: JSON.stringify({
taskInfo: '责任部门对接人选择责任人',
roleForm: this.roleForm,
})
}, {
_this: this
}, res => {
if (res.ok) {
@@ -185,7 +185,16 @@ export default {
this.$refs["Form"].validate((valid) => {
if (valid) {
this.isSubmit = true
this.$http.get("lawss/activiti/startProcess", {type: "15"}, {
this.$http.post("lawss/activiti/startProcessRollBack", {
id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '15',
json: JSON.stringify({
taskInfo: '备案任务下发',
roleForm: this.roleForm,
})
}, {
_this: this
}, res => {
if (res.ok) {
@@ -583,7 +583,17 @@ export default {
this.qbfsForm.fileList = this.fileList
this.qbfsForm.commentText = this.commentText
var json = Object.assign(this.qbfsForm, this.roleForm)
this.$http.get('lawss/activiti/startProcess', {type: '23'}, {
this.$http.post('lawss/activiti/startProcessRollBack', {
id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '23',
json: JSON.stringify({
roleForm: this.roleForm,
qbfsForm: this.qbfsForm,
commentText: this.commentText
})
}, {
_this: this
}, res => {
if (res.ok) {
@@ -624,7 +624,17 @@ export default {
this.isSubmit = true
this.standardSearch.commentText = this.commentText
var json = Object.assign(this.standardSearch, this.roleForm)
this.$http.get('lawss/activiti/startProcess', {type: '24'}, {
this.$http.post('lawss/activiti/startProcessRollBack', {
id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '24',
json: JSON.stringify({
roleForm: this.roleForm,
qbfsForm: this.standardSearch,
commentText: this.commentText
})
}, {
_this: this
}, res => {
if (res.ok) {
@@ -474,9 +474,17 @@ export default {
if (valid) {
// this.isSubmit = true;
var json = Object.assign(qbzxdFrom, this.roleForm);
console.log(json);
return
this.$http.get("lawss/activiti/startProcess", { type: "25" }, {
this.$http.post("lawss/activiti/startProcessRollBack", {
id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '25',
json: JSON.stringify({
roleForm: this.roleForm,
qbfsForm: qbzxdFrom,
commentText: this.commentText
})
}, {
_this: this
}, res => {
if (res.ok) {
@@ -680,7 +680,17 @@ export default {
this.$refs["Form"].validate((valid) => {
if (valid) {
this.isSubmit = true
this.$http.get("lawss/activiti/startProcess", {type: "16"}, {
this.$http.post("lawss/activiti/startProcessRollBack", {
id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '16',
json: JSON.stringify({
roleForm: this.roleForm,
dataList: this.dataList,
commentText: this.commentText
})
}, {
_this: this
}, res => {
if (res.ok) {
@@ -266,7 +266,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { startProcess, completeTask, saveTaskFirst, queryTaskFirst, taskDel } from '@/api/process.js'
import { startProcess, completeTask, saveTaskFirst, queryTaskFirst, taskDel,processBack } from '@/api/process.js'
import { standUnqualified, dicTypeData } from '@/api/unqualProcess.js'
export default {
name: "wfhxzgStep1",
@@ -509,10 +509,17 @@ export default {
this.$refs['roleForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
const paramsInfo = {
type: '8'
}
startProcess(paramsInfo).then(res => {
let paramsInfo = new FormData()
paramsInfo.append('id', this.bpnId || '')
paramsInfo.append('createUser', this.$store.getters.userInfo.userId)
paramsInfo.append('createUserName', this.$store.getters.userInfo.userName)
paramsInfo.append('type', '8')
paramsInfo.append('json', JSON.stringify({
roleForm: this.roleForm,
dataList: this.dataList,
commentText: this.commentText
}))
processBack(paramsInfo).then(res => {
this.taskID = res.data
const params = new FormData();
params.set('json', JSON.stringify(json))
@@ -854,14 +854,14 @@ export default {
if (this.dataList.length < 1) {
this.satisfyFlag = false
this.$message.warning("请添加产品线信息");
}else{
}else {
this.satisfyFlag = true
}
this.dataList.forEach(item => {
if (!item.distributePerson) {
this.satisfyFlag = false
this.$message.warning("请选择分发责任人");
}else{
}else {
this.satisfyFlag = true
}
});
@@ -874,7 +874,18 @@ export default {
if (valid) {
this.$refs["roleForm"].validate((valid) => {
if (valid) {
this.$http.get("lawss/activiti/startProcess", { type: "5" }, {
this.$http.post("lawss/activiti/startProcessRollBack", {
id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '5',
json: JSON.stringify({
taskInfo: "选择已拆分标准",
form: this.listForm,
roleForm: this.roleForm,
commentText: this.commentText
})
}, {
_this: this
}, res => {
if (res.ok) {
@@ -887,14 +898,6 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message);
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push("/processCenter");
}
this.isSubmit = false;
@@ -867,7 +867,18 @@ export default {
if (valid) {
this.$refs["roleForm"].validate((valid) => {
if (valid) {
this.$http.get("lawss/activiti/startProcess", { type: "5" }, {
this.$http.post("lawss/activiti/startProcessRollBack", {
id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '5',
json: JSON.stringify({
taskInfo: "选择已拆分标准",
form: this.listForm,
roleForm: this.roleForm,
commentText: this.commentText
})
}, {
_this: this
}, res => {
if (res.ok) {
@@ -612,7 +612,17 @@ export default {
this.$refs["roleForm"].validate((valid) => {
if (valid) {
this.isSubmit = true;
this.$http.get("lawss/activiti/startProcess", { type: "6" }, {
this.$http.post("lawss/activiti/startProcessRollBack", {
id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '6',
json: JSON.stringify({
form: this.listForm,
roleForm: this.roleForm,
commentText: this.commentText
})
}, {
_this: this
}, res => {
if (res.ok) {
@@ -625,14 +635,6 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message);
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push("/processCenter");
}
this.isSubmit = false;
@@ -647,7 +649,7 @@ export default {
return this.$message.warning("请完善基础信息");
}
});
}
}
}
},
choiceZRR(type, title, id) {
@@ -629,7 +629,17 @@ export default {
this.$refs["roleForm"].validate((valid) => {
if (valid) {
this.isSubmit = true;
this.$http.get("lawss/activiti/startProcess", { type: "6" }, {
this.$http.post("lawss/activiti/startProcessRollBack", {
id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '6',
json: JSON.stringify({
form: this.listForm,
roleForm: this.roleForm,
commentText: this.commentText
})
}, {
_this: this
}, res => {
if (res.ok) {
@@ -655,7 +655,18 @@ export default {
this.$refs["Form"].validate((valid) => {
if (valid) {
this.isSubmit = true;
this.$http.get("lawss/activiti/startProcess", { type: "10" }, {
this.$http.post("lawss/activiti/startProcessRollBack", {
id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '10',
json: JSON.stringify({
taskInfo: "产品经理分发",
form: this.qdform,
roleForm: this.roleForm,
commentText: this.commentText
})
}, {
_this: this
}, res => {
if (res.ok) {
@@ -668,14 +679,6 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message);
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push("/processCenter");
}
this.isSubmit = false;
@@ -659,7 +659,18 @@ export default {
this.$refs["Form"].validate((valid) => {
if (valid) {
this.isSubmit = true;
this.$http.get("lawss/activiti/startProcess", { type: "10" }, {
this.$http.post("lawss/activiti/startProcessRollBack", {
id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '10',
json: JSON.stringify({
taskInfo: "产品经理分发",
form: this.qdform,
roleForm: this.roleForm,
commentText: this.commentText
})
}, {
_this: this
}, res => {
if (res.ok) {
@@ -125,7 +125,7 @@
</el-card>
</div>
<div class="process-name">
<el-card shadow="hover" v-btn-permission="'90c7bae6308595f053c6f6f90167e493'">
<el-card shadow="hover" v-btn-permission="'a5694521151720f41a8b22d550bf435a'">
<div class="card-box" @click="handleCreateProcess('13')">
<div class="card-top">
<div class="card-top-left">
@@ -140,7 +140,7 @@
</el-card>
</div>
<div class="process-name">
<el-card shadow="hover">
<el-card shadow="hover" v-btn-permission="'14f54ef4475d9210b1ee7872ab69eca8'">
<div class="card-box" @click="handleCreateProcess('11')">
<div class="card-top">
<div class="card-top-left">
@@ -155,7 +155,7 @@
</el-card>
</div>
<div class="process-name">
<el-card shadow="hover">
<el-card shadow="hover" v-btn-permission="'9c8cc1b74b1caa16f34a47895b489833'">
<div class="card-box" @click="handleCreateProcess('laws1')">
<div class="card-top">
<div class="card-top-left">
@@ -190,7 +190,7 @@
<el-divider content-position="left"><h2>企业标准相关流程</h2></el-divider>
<div class="process-box">
<div class="process-name">
<el-card shadow="hover" v-btn-permission="''">
<el-card shadow="hover" v-btn-permission="'7a53ef593e5401aab19485b937ce78a0'">
<div class="card-box" @click="handleCreateProcess('buss1')">
<div class="card-top">
<div class="card-top-left">
@@ -205,7 +205,7 @@
</el-card>
</div>
<div class="process-name">
<el-card shadow="hover">
<el-card shadow="hover" v-btn-permission="'5af5073695c2e1d12ca3d5a6afae67b5'">
<div class="card-box" @click="handleCreateProcess('23')">
<div class="card-top">
<div class="card-top-left">
@@ -220,7 +220,7 @@
</el-card>
</div>
<div class="process-name">
<el-card shadow="hover">
<el-card shadow="hover" v-btn-permission="'5104360fd3822e73b45e65d2337cf143'">
<div class="card-box" @click="handleCreateProcess('24')">
<div class="card-top">
<div class="card-top-left">
@@ -235,7 +235,7 @@
</el-card>
</div>
<div class="process-name">
<el-card shadow="hover">
<el-card shadow="hover" v-btn-permission="'afa3d1aee5fd8027b18675621afdeff6'">
<div class="card-box" @click="handleCreateProcess('25')">
<div class="card-top">
<div class="card-top-left">
@@ -256,7 +256,7 @@
<el-divider content-position="left"><h2>标准化活动相关流程</h2></el-divider>
<div class="process-box">
<div class="process-name">
<el-card shadow="hover" v-btn-permission="'2e3f4c0aaf77629755533255f1335801'">
<el-card shadow="hover" v-btn-permission="'b196ef0253cebd1adfc3a8432a28e377'">
<div class="card-box" @click="handleCreateProcess('17')">
<div class="card-top">
<div class="card-top-left">
@@ -271,7 +271,7 @@
</el-card>
</div>
<div class="process-name">
<el-card shadow="hover" v-btn-permission="'d415c764036a02559976b41b9dfe2cf1'">
<el-card shadow="hover" v-btn-permission="'2f2752bc8a37b87d6eaadae3fcfe61c4'">
<div class="card-box" @click="handleCreateProcess('18')">
<div class="card-top">
<div class="card-top-left">
@@ -301,7 +301,7 @@
</el-card>
</div>
<div class="process-name">
<el-card shadow="hover">
<el-card shadow="hover" v-btn-permission="'321e497259b08734941a308960da2bae'">
<div class="card-box" @click="handleCreateProcess('21')">
<div class="card-top">
<div class="card-top-left">
@@ -316,7 +316,7 @@
</el-card>
</div>
<div class="process-name">
<el-card shadow="hover">
<el-card shadow="hover" v-btn-permission="'8f65a365dd67634e29925098162ee8d5'">
<div class="card-box" @click="handleCreateProcess('16')">
<div class="card-top">
<div class="card-top-left">
@@ -331,7 +331,7 @@
</el-card>
</div>
<div class="process-name">
<el-card shadow="hover">
<el-card shadow="hover" v-btn-permission="'e5217a4776525b1ba63511b730a2e02d'">
<div class="card-box" @click="handleCreateProcess('15')">
<div class="card-top">
<div class="card-top-left">
@@ -346,14 +346,14 @@
</el-card>
</div>
<div class="process-name">
<el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('15')">
<el-card shadow="hover" v-btn-permission="'0efd0f4b7a15fd1b687cc0ac36e9e7d9'">
<div class="card-box" @click="handleCreateProcess('14')">
<div class="card-top">
<div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))">
</div>
<div class="card-top-right">
<div class="card-top-right-text">加入标准化协会信息提报流程</div>
<div class="card-top-right-text">参与外部标准制修订信息提报流程</div>
<div class="card-top-right-line"></div>
</div>
</div>
@@ -0,0 +1,306 @@
<template>
<div class="dataCenterDetail">
<div class="contentTitle">
<div class="back" title="返回" @click="back">
<i class="el-icon-back"></i>
</div>
<div class="title">
{{ detailInfoForm.dataTitle + '-详情' }}
</div>
</div>
<transition name="el-zoom-in-top">
<div class="transition-box">
<p class="transition-box-p">
<label class="transition-box-label">类型</label>
<span class="transition-box-span">
{{ detailInfoForm.dataType }}
</span>
</p>
<p class="transition-box-p">
<label class="transition-box-label">资料标题</label>
<span class="transition-box-span">{{ detailInfoForm.dataTitle }}</span>
</p>
<div class="transition-box-p">
<label class="transition-box-label">附件</label>
<div class="file-box" v-if="fileList.length > 0">
<p v-for="item in fileList"
:key="item.id">
<a @click="openFileInPdf(item.id, item.name)" target="_blank">{{ item.name }}</a>
<i
title="下载"
@click="downloadFile(item.id)"
class="icon-download"
v-btn-permission="''"
/>
<!-- <i-->
<!-- title="下载带水印"-->
<!-- @click="downloadFileByWater(item.id,item.name)"-->
<!-- class="icon-download2"-->
<!-- v-btn-permission="''"-->
<!-- />-->
</p>
</div>
</div>
</div>
</transition>
</div>
</template>
<script>
export default {
name: "dataCenterDetail",
data() {
return {
detailInfoForm: {},
detailInfoId: '',
fileList: []
}
},
methods: {
openFileInPdf(attId, oldFileName) {
//
let index1 = oldFileName.lastIndexOf('.')
let index2 = oldFileName.length
let fileSuffix = oldFileName.substring(index1, index2)
//
if (fileSuffix !== undefined && fileSuffix !== null) {
fileSuffix = fileSuffix.toUpperCase()
}
//
if (fileSuffix === '.PNG' || fileSuffix === '.JPG' || fileSuffix === '.JPEG') {
this.downloadFile(attId)
return true
}
//
if (fileSuffix === '.PDG' || fileSuffix === '.pdg') {
this.getBusStandFileByAttId(attId)
.then(res => {
if (res) {
const editFileInfo = res
console.log(editFileInfo)
if (editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG') {
window.open('book://ssreader/e0?url=' + editFileInfo.downLoadUrl)
} 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))
}
// switch (res.convertState) {
// case 'ERROR':
// this.$message.warning('')
// break
// case 'LODING':
// this.$message.info('')
// break
// case 'SUCCESS':
// const { convertFileInfo } = res
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + convertFileInfo.id))
// break
// }
}).catch(e => {
console.log(e)
this.$message.warning('文件不存在,预览失败')
})
} else {
this.$http.get('lawss/sarStandFile/queryConvertAtt', {
attId: attId
}, {
_this: this
}, res => {
console.log("res.data", res.data);
if (res.data) {
let fileObj = {}
fileObj.fileId = res.data.attId
fileObj.fileName = oldFileName
let fileList = []
let repeatData = 0
if (sessionStorage.getItem('fileInfo')) {
fileList = JSON.parse(sessionStorage.getItem('fileInfo'))
if (fileList != null && fileList.length > 0) {
for (let i = 0; i < fileList.length; i++) {
if (fileList[i].fileId === res.data.attId) {
repeatData = 1
break
}
}
if (repeatData === 0) {
fileList.push(fileObj)
fileList = JSON.stringify(fileList)
sessionStorage.setItem('fileInfo', fileList)
}
}
} else {
fileList.push(fileObj)
fileList = JSON.stringify(fileList)
sessionStorage.setItem('fileInfo', fileList)
}
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + res.data.attId))
} else {
this.$message.error('文档未转换成功或本地读取不到该文档')
}
}, e => {
this.$message.error('文档未转换成功或本地读取不到该文档')
})
}
},
back() {
this.$router.push({name: "dataCenter"});
},
/**
* @Description: 点击下载
* @author zmf
* @date 2021/3/16
*/
downloadFile(attId) {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
},
downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1);
if (fileExtension !== "pdf" && fileExtension !== "PDF") {
this.$message.error("水印下载仅支持PDF,pdf格式文件");
} else {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
}
},
//
getFile(fileId) {
this.$http.get("att/attFile/getMultiFileInfos", {
fileIds: fileId
}, {
_this: this
}, res => {
console.log('64', res)
this.$nextTick(() => {
res.data.map(item => {
//
this.fileList.push({
name: item.oldFileName,
uid: item.uid,
status: item.status,
id: item.id
});
});
});
}, e => {
});
},
},
created() {
this.detailInfoId = this.$route.params.id
console.log('13', this.$route.params.id)
},
mounted() {
let fileId
this.$http.get('fileMaterialCenter/file-material', {id: this.detailInfoId}, {
_this: this
}, res => {
this.detailInfoForm = res.data.records[0]
fileId = this.detailInfoForm.attachFileId
this.getFile(fileId)
}, e => {
})
}
}
</script>
<style scoped lang="less">
.dataCenterDetail {
height: 100%;
background-color: white;
.contentTitle {
display: flex;
align-items: center;
padding: 0 10px;
height: 50px;
background: #ffffff;
.title {
flex: 1;
font-weight: bold;
font-size: 20px;
margin-left: 15px;
.el-icon-s-order {
font-size: 22px;
color: #4498F0;
cursor: pointer;
}
}
}
.transition-box {
padding: 0 10px;
background: #ffffff;
font-size: 14px;
.transition-box-p {
line-height: 35px;
.transition-box-label {
display: inline-block;
width: 100px;
vertical-align: top;
}
.transition-box-span {
display: inline-block;
width: calc(~'100% - 100px');
}
.file-box {
display: inline-block;
width: calc(~'100% - 100px');
.transition-box-span {
display: inline;
width: 100%;
cursor: pointer;
color: #4498f0;
}
p {
& > a {
cursor: pointer;
}
& > i {
display: inline-block;
margin-left: 3px;
width: 18px;
height: 16px;
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: center center;
vertical-align: sub;
cursor: pointer;
}
.icon-download {
background-image: url("~assets/images/shangqi/img/download.png");
}
.icon-download2 {
background-image: url("~assets/images/shangqi/img/download2.png");
}
}
}
}
}
}
</style>
@@ -0,0 +1,447 @@
<template>
<div id="dataCenter">
<div class="search-area">
<el-form :modal="dataCenterSearch" :inline="true">
<el-form-item label="类型:">
<el-input
size="small"
v-model="dataCenterSearch.dataType"
placeholder="请输入类型"
></el-input>
</el-form-item>
<el-form-item label="资料标题:">
<el-input
size="small"
v-model="dataCenterSearch.dataTitle"
placeholder="请输入资料标题"
clearable
></el-input>
</el-form-item>
<el-form-item label="上传时间:">
<el-date-picker
v-model="dataCenterSearch.dataUploadTime"
clearable
value-format="yyyy-MM-dd HH:mm:ss"
size="small"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type="primary"
size="mini"
@click="searchInfo">
查询
</el-button>
</el-form-item>
<el-form-item>
<el-button
@click="clearSearch"
size="mini">清空
</el-button>
</el-form-item>
</el-form>
</div>
<div class="operate-area" style="margin: 0 0 10px 0">
<el-button
size="mini"
type="primary"
@click="addInfo">新增
</el-button>
</div>
<div class="table-area">
<el-table
:data="dataCenterTable"
tooltip-effect="dark"
style="width: 100%"
border
height="475px"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
>
<el-table-column
type="index"
width="55"
label="序号"
align="center">
</el-table-column>
<el-table-column
prop="dataType"
width="250"
label="类型"
align="center">
</el-table-column>
<el-table-column
prop="dataTitle"
min-width="250"
label="资料标题"
align="center">
<template slot-scope="scope">
<span @click.stop="toDetail(scope.row)" style="cursor:pointer;color: #409eff">{{ scope.row.dataTitle }}</span>
</template>
</el-table-column>
<el-table-column
prop="dataUploadTime"
width="250"
label="上传时间"
align="center">
<template slot-scope="scope">
<span>{{ $moment(scope.row.dataUploadTime).format("YYYY-MM-DD HH:mm:ss") }}</span>
</template>
</el-table-column>
<el-table-column
label="操作"
align="center">
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
@click="editInfo(scope.row)"
>编辑
</el-button>
<el-button
size="mini"
type="danger"
@click="deleteInfo(scope.row)"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">数据获取中</loading>
<pagination :page="dataCenterSearch.page" :total="dataCenterSearch.total" @pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination>
</div>
<el-drawer
:title="attributeTitle"
:wrapperClosable="false"
:visible.sync="showInfoModal"
size="800px"
:styles="styles"
:close="cancelModel"
>
<div style="margin-left: 3%">
<el-form
ref="attributeEO"
:model="attributeEO"
:rules="attributeEOFormRules"
class="label-input-form"
label-width="130px"
v-if="showInfoModal"
>
<el-form-item
label="类型"
prop="dataType"
class="add-form-item"
>
<el-input
v-model="attributeEO.dataType"
placeholder="请输入类型"
clearable
/>
</el-form-item>
<el-form-item
label="资料标题"
prop="dataTitle"
class="add-form-item"
>
<el-input
v-model="attributeEO.dataTitle"
placeholder="请输入资料标题"
clearable
/>
</el-form-item>
<el-form-item
label="附件"
prop="attachFileId"
class="add-form-item"
>
<el-upload
class="upload-demo"
action="/api/att/attFile/upload"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:limit="3"
:on-exceed="handleExceed"
:on-success="uploadSuccess"
:file-list="fileList">
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
</el-form>
<div style="float: right">
<el-button
type="primary"
class="common-button-primary"
size="mini"
icon="el-icon-check"
@click="saveInfo"
>提交
</el-button
>
<el-button
size="mini"
icon="el-icon-close"
class="common-button-default"
@click="cancelModel"
>取消
</el-button
>
</div>
</div>
</el-drawer>
</div>
</template>
<script>
export default {
name: "dataCenter",
data() {
return {
loading: false,
fileList: [],
attributeTitle: '',
showInfoModal: false,
styles: {
height: 'calc(100% - 55px)',
overflow: 'auto',
paddingBottom: '53px',
position: 'static'
},
attributeEO: {
dataType: '',
dataTitle: '',
attachFileId: '',
},
attributeEOFormRules: {
dataType: [
{required: true, message: '类型不能为空', trigger: 'change'},
],
dataTitle: [
{required: true, message: '资料标题不能为空', trigger: 'change'},
]
},
dataCenterSearch: {
dataType: '',
dataTitle: '',
dataUploadTime: [],
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0
},
dataCenterTable: []
}
},
methods: {
toDetail(row){
console.log('243',row)
this.$router.push({
name: "dataCenterDetail",
params: {
id: row.id
}
});
},
uploadSuccess(response, file, fileList) {
console.log('240',fileList)
const fileIdList = fileList.map(item => {
if (item.response){
return item.response.data.attId
}else {
return item.id
}
})
this.attributeEO.attachFileId = fileIdList.join(',')
console.log('343',this.fileList)
console.log('349',this.attributeEO.attachFileId)
},
handleRemove(file, fileList) {
const fileIdList = fileList.map(item => {
if (item.response){
return item.response.data.attId
}else {
return item.id
}
})
this.attributeEO.attachFileId = fileIdList.join(',')
},
handlePreview(file) {
},
handleExceed(files, fileList) {
this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}`);
},
deleteInfo(row) {
this.$confirm('您是否确定删除该数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let deleteId = row.id
this.$http.delete('fileMaterialCenter/file-material', {id: deleteId}, {
_this: this
}, res => {
if (res.ok) {
this.$message.success('删除成功')
this.searchInfo()
}
}, e => {
console.log(e)
})
}).catch(() => {
})
},
pageChange(page) {
this.dataCenterSearch.page = page
this.searchInfo()
},
pageSizeChange(pageSize) {
this.dataCenterSearch.page = 1
this.dataCenterSearch.pageSize = pageSize
this.searchInfo()
},
searchInfo() {
this.dataCenterSearch.startDataUploadTime = this.dataCenterSearch.dataUploadTime[0]
this.dataCenterSearch.endDataUploadTime = this.dataCenterSearch.dataUploadTime[1]
this.$http.get('fileMaterialCenter/file-material', this.dataCenterSearch, {
_this: this
}, res => {
this.dataCenterTable = res.data.records
this.dataCenterSearch.total = res.data.total
}, e => {
console.log(e)
})
},
clearSearch() {
this.dataCenterSearch = {
dataType: '',
dataTitle: '',
dataUploadTime: '',
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
}
this.searchInfo()
},
addInfo() {
this.showInfoModal = true
this.attributeTitle = '新增'
this.attributeEO = {
dataType: '',
dataTitle: '',
attachFileId: '',
}
this.fileList = []
},
editInfo(row) {
this.showInfoModal = true
this.attributeTitle = '编辑'
this.attributeEO = row
this.fileList = []
//
this.$http.get("att/attFile/getMultiFileInfos", {
fileIds: row.attachFileId
}, {
_this: this
}, res => {
this.$nextTick(() => {
res.data.map(item => {
//
this.fileList.push({
name: item.oldFileName,
uid: item.uid,
status: item.status,
id: item.id
});
});
});
}, e => {
});
console.log('343',this.fileList)
console.log('349',this.attributeEO.attachFileId)
// const fileIdList = this.fileList.map(item => {
// return item.id
// })
// this.attributeEO.attachFileId = fileIdList.join(',')
},
saveInfo() {
this.$refs['attributeEO'].validate((valid) => {
if (valid && this.attributeEO.attachFileId !== '') {
if (this.attributeTitle === '新增'){
this.$http.postData(
'fileMaterialCenter/file-material',
this.attributeEO,
{
_this: this,
},
(res) => {
if (res.ok) {
this.$message.success('新增成功')
this.cancelModel()
this.searchInfo()
}
}
)
}else {
this.$http.putData(
'fileMaterialCenter/file-material',
this.attributeEO,
{
_this: this,
},
(res) => {
if (res.ok) {
this.$message.success('修改成功')
this.cancelModel()
this.searchInfo()
}
}
)
}
} else {
this.$message.error('附件不能为空')
}
})
},
cancelModel() {
this.$nextTick(() => {
this.$refs['attributeEO'].resetFields()
this.attributeEO = {
dataType: '',
dataTitle: '',
attachFileId: '',
}
})
this.showInfoModal = false
},
},
mounted() {
this.$http.get('fileMaterialCenter/file-material', this.dataCenterSearch, {
_this: this
}, res => {
this.dataCenterTable = res.data.records
this.dataCenterSearch.total = res.data.total
}, e => {
console.log(e)
})
}
}
</script>
<style scoped lang="less">
#dataCenter {
background-color: white;
height: 100%;
padding: 10px 20px;
}
</style>
@@ -1499,7 +1499,7 @@
<el-form :model="sarStandardsSearch"
:inline="true"
class="label-input-form table-lattice"
label-width="68px"
label-width="300px"
style="display: flex;flex-wrap: wrap">
<ProcessTitle>
<template slot="title">基础信息</template>
@@ -1777,7 +1777,7 @@
@keyup.enter.native="getDomesticStandardTableBtn(sarStandardsSearch)"></el-input>
</el-form-item>
<!-- 采标编号-->
<el-form-item label="采标===编号" prop="nameShow" class="add-form-item form-item-disabled">
<el-form-item label="采标编号" prop="nameShow" class="add-form-item form-item-disabled">
<el-input v-model="advanceSearchMapping.CBBH" clearable placeholder="根据采标编号查找"
@keyup.enter.native="getDomesticStandardTableBtn(sarStandardsSearch)"></el-input>
</el-form-item>
@@ -610,16 +610,63 @@
<el-input v-model="sarBussionessStandEO.TXLBBUSS" placeholder="选择体系类别" @click.native="choiceZRR1('TXLBBUSS', '体系类别', sarBussionessStandEO.TXLBBUSS)"></el-input>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'VPPSBMBUSS'">
<template v-else-if="field.attrField === 'CYCVPPSBMBUSS'">
<el-form-item
prop="VPPSBMBUSS"
prop="CYCVPPSBMBUSS"
label-width="150px"
class="add-form-item"
>
<template slot="label">关联模块--VPPS编码</template>
<el-input v-model="sarBussionessStandEO.VPPSBMBUSS" placeholder="选择VPPS编码" @click.native="choiceZRR2('VPPSBMBUSS', 'VPPS编码', sarBussionessStandEO.VPPSBMBUSS,true)"></el-input>
<template slot="label">关联模块--乘用车VPPS编码</template>
<el-input v-model="sarBussionessStandEO.CYCVPPSBMBUSS" placeholder="选择VPPS编码" @click.native="choiceZRR2('car', '乘用车VPPS编码', sarBussionessStandEO.KCVPPSBMBUSS,true)"></el-input>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'CYCVPPSCNBUSS'">
<el-form-item title="关联模块--乘用车vpps中文名称" label="关联模块--乘用车vpps中文名称" label-width="150px"
prop="CYCVPPSCNBUSS" class="add-form-item">
<el-input
v-model="sarBussionessStandEO.CYCVPPSCNBUSS" disabled
clearable
></el-input>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'KCVPPSBMBUSS'">
<el-form-item
prop="KCVPPSBMBUSS"
label-width="150px"
class="add-form-item"
>
<template slot="label">关联模块--卡车VPPS编码</template>
<el-input v-model="sarBussionessStandEO.KCVPPSBMBUSS" placeholder="选择VPPS编码" @click.native="choiceZRR3('struck', '卡车VPPS编码', sarBussionessStandEO.KCVPPSBMBUSS,true)"></el-input>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'KCVPPSCNBUSS'">
<el-form-item title="关联模块--乘用车vpps中文名称" label="关联模块--乘用车vpps中文名称" label-width="150px"
prop="KCVPPSCNBUSS" class="add-form-item">
<el-input
v-model="sarBussionessStandEO.KCVPPSCNBUSS" disabled
clearable
></el-input>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'DYBXHBUSS'">
<el-form-item
prop="DYBXHBUSS"
label-width="150px"
class="add-form-item"
>
<template slot="label">模块结构单元变型号</template>
<el-input v-model="sarBussionessStandEO.DYBXHBUSS" placeholder="选择模块结构单元变型号"
@click.native="choiceZRR4('dybxhbuss', '模块结构单元', sarBussionessStandEO.dybxh)"></el-input>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'DYMCBUSS'">
<el-form-item label="模块结构单元名称" label-width="150px" prop="DYMCBUSS" class="add-form-item">
<el-input
v-model="sarBussionessStandEO.DYMCBUSS" disabled
clearable
></el-input>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'VPPSCNBUSS'">
<el-form-item title="关联模块--中文名称" label="关联模块--中文名称" label-width="150px" prop="VPPSCNBUSS" class="add-form-item">
<el-input
@@ -1291,18 +1338,45 @@
width = "500"
:data="standSystemOptions"
:defaultProps="defaultProps" :checkedKeys="defaultCheckedKeys"
:nodeKey="nodeKey" @popoverHide="popoverHide"></tree-select-new>
:nodeKey="nodeKey" @popoverHide="popoverHide" @popoverHideCancel="popoverHideCancel"></tree-select-new>
<tree-select-new
width = "500"
:lazy=true
:multiple="multipleFlag2"
:check-strictly=true
:modalShowFlag="modalShowFlag2"
:drawerTitle="drawerTitle"
:drawerTitle="drawerTitle2"
:type="type"
:url="url"
:urlChild="urlChild"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys1"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideBusVs"></tree-select-new>
:nodeKey="nodeKeyCode" @popoverHide="popoverHideBusVs"
@popoverHideCancel="popoverHideBusVsCancel"></tree-select-new>
<tree-select-new
width="500"
:lazy=true
:multiple=true
:check-strictly=true
:modalShowFlag="modalShowFlag3"
:drawerTitle="drawerTitle3"
:url="url"
:type="'truck'"
:urlChild="urlChild"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys2"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideCarVs"
@popoverHideCancel="popoverHideCarVsCancel()"></tree-select-new>
<tree-select-module
width="500"
:lazy=true
:multiple=true
:check-strictly=true
:modalShowFlag="modalShowFlag4"
:drawerTitle="drawerTitle4"
:url="url"
:urlChild="urlChild"
:defaultProps="defaultModelProps" :checkedKeys="defaultCheckedKeys3"
:nodeKey="nodeKeyModel" @popoverHide="popoverHideModel"
@popoverHideCancel="popoverHideModelCancel()"></tree-select-module>
</div>
</template>
@@ -1320,6 +1394,7 @@ import CustomSVPPS from '@/components/CustomFormComponents/SVPPS'
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
import treeSelectModule from "@/components/treeSelect/treeSelectModule.vue";
import {mapGetters} from 'vuex'
import store from "@/store";
@@ -1338,6 +1413,7 @@ export default {
CustomSVPPS,
TreeSelect,
TreeSelectNew,
treeSelectModule,
ProcessTitle
},
props: {
@@ -1496,6 +1572,12 @@ export default {
sarBussionessStandEO: {
TXLBBUSS:'',
VPPSBMBUSS:'',
KCVPPSBMBUSS: '',
KCVPPSCNBUSS: '',
DYBXHBUSS: '',
DYMCBUSS: '',
CYCVPPSBMBUSS: '',
CYCVPPSCNBUSS: '',
VPPSCNBUSS:'',
regionShow: '亚洲',
region: '2T8PFTSYE7',
@@ -1880,6 +1962,12 @@ export default {
SYCPXCLASS:'',
TXLBBUSS:'',
VPPSBMBUSS:'',
KCVPPSBMBUSS: '',
KCVPPSCNBUSS: '',
CYCVPPSBMBUSS: '',
CYCVPPSCNBUSS: '',
DYBXHBUSS: '',
DYMCBUSS: '',
VPPSCNBUSS:'',
//
DTQBBHBUSS:'',
@@ -1965,6 +2053,9 @@ export default {
syrzOptions:[],//
gkglbmOptions:[],//
drawerTitle: '',
drawerTitle3: '',
drawerTitle4: '',
drawerTitle2: '',
modalShowRoleFlag: false,
nodeList: [],
nodeList2: [],
@@ -2023,6 +2114,7 @@ export default {
modalShowFlag2: false, // drawer
modalShowFlag3: false, // drawer
modalShowFlag4: false, // drawer
type: '',
url:'',
urlChild:'',
}
@@ -2085,27 +2177,59 @@ export default {
return [year, month, day].join('-') + " " + [hour, minute, second].join(':');//YY-MM-DD hh:mm:ss
},
popoverHideQuery(ids,attrField){
console.log(ids)
console.log("-----------------------------")
console.log(attrField)
},
popoverHideBusVsCancel() {
this.modalShowFlag2 = false
},
popoverHideBusVs (checkedIds, checkedData,isShow,isLoadChild,topId) {
if(checkedData) {
if(checkedData.length > 0){
this.sarBussionessStandEO.VPPSBMBUSS = checkedData.map(item => item.code).join(",")
this.sarBussionessStandEO.VPPSCNBUSS = checkedData.map(item => item.chineseName).join(",")
this.sarBussionessSearch.VPPSBMBUSS = checkedData.map(item => item.code).join(",")
this.sarBussionessSearch.VPPSCNBUSS = checkedData.map(item => item.chineseName).join(",")
}else {
this.sarBussionessStandEO.VPPSBMBUSS = checkedData.code
this.sarBussionessStandEO.VPPSCNBUSS = checkedData.chineseName
this.sarBussionessSearch.VPPSBMBUSS = checkedData.code
this.sarBussionessSearch.VPPSCNBUSS = checkedData.chineseName
}
if (checkedData && checkedData.length != 0) {
if (checkedData.length > 0) {
this.sarBussionessStandEO.CYCVPPSBMBUSS = checkedData.map(item => item.code).join(",")
this.sarBussionessStandEO.CYCVPPSCNBUSS = checkedData.map(item => item.chineseName).join(",")
} else {
this.sarBussionessStandEO.CYCVPPSBMBUSS = checkedData.code
this.sarBussionessStandEO.CYCVPPSCNBUSS = checkedData.chineseName
}
this.modalShowFlag2 = false
}
this.$forceUpdate()
},
popoverHideCarVs(checkedIds, checkedData, isShow, isLoadChild, topId) {
if (checkedData && checkedData.length != 0) {
if (checkedData.length > 0) {
this.sarBussionessStandEO.KCVPPSBMBUSS = checkedData.map(item => item.code).join(",")
this.sarBussionessStandEO.KCVPPSCNBUSS = checkedData.map(item => item.chineseName).join(",")
} else {
this.sarBussionessStandEO.KCVPPSBMBUSS = checkedData.code
this.sarBussionessStandEO.KCVPPSCNBUSS = checkedData.chineseName
}
this.modalShowFlag3 = false
}
this.$forceUpdate()
},
popoverHideCarVsCancel() {
this.modalShowFlag3 = false
},
popoverHideModel(checkedIds, checkedData, isShow, isLoadChild, topId) {
if (checkedData && checkedData.length != 0) {
if (checkedData.length > 0) {
this.sarBussionessStandEO.DYBXHBUSS = checkedData.map(item => item.model).join(",")
this.sarBussionessStandEO.DYMCBUSS = checkedData.map(item => item.name).join(",")
} else {
this.sarBussionessStandEO.DYBXHBUSS = checkedData.model
this.sarBussionessStandEO.DYMCBUSS = checkedData.name
}
this.modalShowFlag4 = false
}
this.$forceUpdate()
},
popoverHideModelCancel() {
this.modalShowFlag4 = false
},
popoverHideCancel() {
this.modalShowFlag1 = false
},
popoverHide (checkedIds, checkedData,isShow,isLoadChild,topId) {
if(checkedData) {
if(checkedData.length > 0){
@@ -2120,14 +2244,31 @@ export default {
this.$forceUpdate()
},
choiceZRR2 (type, title, id,multFlag) {
this.drawerTitle = title
this.drawerTitle2 = title
this.modalShowFlag2 = true
this.multipleFlag2 = multFlag
this.url = ''
this.urlChild = ''
this.type = type
this.url="sarVppsTree/list"
this.urlChild="sarVppsTree/childByList"
},
choiceZRR3(type, title, id) {
this.drawerTitle3 = title
this.modalShowFlag3 = true
this.url = ''
this.urlChild = ''
this.url = "sarVppsTree/list"
this.urlChild = "sarVppsTree/childByList"
},
choiceZRR4(type, title, id) {
this.drawerTitle4 = title
this.modalShowFlag4 = true
this.url = ''
this.urlChild = ''
this.url = "sarModelTree/list"
this.urlChild = "sarModelTree/childByList"
},
choiceZRR1 (type, title, id) {
this.drawerTitle1 = title
this.modalShowFlag1 = true
@@ -2883,7 +3024,6 @@ export default {
})
})
this.dynamicFormField = displayLocation
console.log('2805',this.dynamicFormField)
this.loading = false
})
this.sarBussionessStandEO = JSON.parse(JSON.stringify(item))
@@ -2935,7 +3075,6 @@ export default {
$('#deptBtn2').click()
},
choiceQCR (type, title, id) {
console.log('2077',title)
this.nodeList = []
this.nodeList.push(id)
this.userType = type
@@ -2943,7 +3082,6 @@ export default {
this.modalShowRoleFlag = true
},
checkedRole2 (data) {
console.log('1712',this.drawerTitle)
let idList = ''
let nameList = ''
data.forEach( item => {
@@ -2954,7 +3092,12 @@ export default {
idList += item.id
nameList += item.name
})
this.sarBussionessStandEO['QCRBUSS'] = nameList
this.$set(this.sarBussionessStandEO, 'QCRBUSS', nameList)
if(this.sarBussionessStandEO.QCRBUSS){
this.$refs.sarBussionessStandForm.validateField('QCRBUSS')
}
// this.sarBussionessStandEO['QCRBUSS'] = nameList
},
choiceQCDW(type, title, id) {
@@ -2966,8 +3109,6 @@ export default {
this.modalshowflagZRBM = true
},
drawerCheckZRBM(data) {
console.log("5389", data);
let idList = ''
let nameList = ''
data.forEach(item => {
@@ -2980,9 +3121,13 @@ export default {
nameList += item.name
// }
})
this.sarBussionessStandEO.QCDWId = idList;
this.sarBussionessStandEO['QCDW'] = nameList;
this.$set(this.sarBussionessStandEO, 'QCDWId', idList)
this.$set(this.sarBussionessStandEO, 'QCDW', nameList)
if(this.sarBussionessStandEO.QCRBUSS){
this.$refs.sarBussionessStandForm.validateField('QCDW')
}
// this.sarBussionessStandEO.QCDWId = idList;
// this.sarBussionessStandEO['QCDW'] = nameList;
},
// -
@@ -3001,7 +3146,6 @@ export default {
if (flag) {
//
let nowstandinfo = JSON.parse(JSON.stringify(this.sarBussionessStandEO))
console.log(nowstandinfo)
if (nowstandinfo.issueTime != null && nowstandinfo.issueTime !== '') {
nowstandinfo.issueTime = this.$dateFormat(this.sarBussionessStandEO.issueTime, 'yyyy-MM-dd hh:mm:ss')
}
@@ -3018,7 +3162,6 @@ export default {
}
//
const formFieldList = this.formFieldList
console.log(this.formFieldList)
const sarStandAttrObj = {}
formFieldList.forEach((item) => {
const value = nowstandinfo[item.attrField]
@@ -3713,8 +3856,6 @@ export default {
}
this.standinfoList = []
this.standinfoList = res.data.list
console.log(this.standinfoList)
console.log(res.data.list)
this.total = res.data.count
if ((this.standinfoList.length === 0 || this.standinfoList === []) && this.sarBussionessSearch.page !== 1) {
this.pageChange(1)
@@ -3826,7 +3967,6 @@ export default {
}
})
} else if (this.ocrList.length === 1 && type === '2'){
console.log('4228',this.ocrList)
this.selectStandardPro(this.ocrList[0], 'edit')
}
},
@@ -3983,7 +4123,6 @@ export default {
}, {
_this: this
}, res => {
console.log('getAreaList',res.data)
this.showRegionOptions = res.data || []
resolve(res.data || [])
}, e => {
@@ -4062,6 +4201,7 @@ export default {
this.reloadAddForm = false
const formFieldList = this.formFieldList
const rules = {...this.defaultAddFormFieldRules}
console.log(formFieldList);
formFieldList.forEach((item) => {
const rule = []
if (item.isMust === '0') {
@@ -4073,7 +4213,10 @@ export default {
rule.push({ required: true, message: `${item.attrName}不能为空`, trigger: 'change' })
}
}
if (item.attrLen && item.attrType !== 'DATE_PICKER' && item.attrType !== 'SEL_OPTION' && item.attrType !== 'SEL_OPTS') {
if (item.attrLen && item.attrType === 'INPUT_STR' && item.attrField === 'DTQBBHBUSS') {
rule.push({type: 'string', max: 500, message: '代替企标编号不能超过500个字符', trigger: 'change'})
}
if (item.attrLen && item.attrType !== 'DATE_PICKER' && item.attrType !== 'SEL_OPTION' && item.attrType !== 'SEL_OPTS'&& item.attrType !== 'INPUT_STR') {
rule.push({type: 'string', max: item.attrLen, message: `${item.attrName}不能超过${item.attrLen}个字符`, trigger: 'change'})
}
if (rule.length > 0) {
@@ -4084,6 +4227,7 @@ export default {
// this.rules = rules
this.$set(this, 'sarBussionessStandRules', rules)
setTimeout(() => {
this.reloadAddForm = true
}, 1000)
@@ -4140,7 +4284,6 @@ export default {
}
this.stahndinfoList = []
this.stahndinfoList = res.data.list
console.log(this.stahndinfoList)
this.total = res.data.count
if ((this.stahndinfoList.length === 0 || this.stahndinfoList === []) && this.sarBussionessSearch.page !== 1) {
this.pageChange(1)
@@ -4292,7 +4435,6 @@ export default {
day = "0" + day;
}
const FSRQBUSS = year + "-" + month + "-" + day;
console.log(FSRQBUSS,"FSRQBUSS");
this.sarBussionessStandEO["FSRQBUSS"] = FSRQBUSS
}
@@ -4332,7 +4474,7 @@ export default {
this.energyKindOptions = res.data.ENERGYTYPES
this.standGeneraOptions = res.data.BUSSBIGCLASS
this.standSubclassOptions = res.data.BUSSFINECLASS
this.standSortOptions = res.data.STANDCLASSIFY //
this.standSortOptions = res.data.BUSSSTANDCLASS //
this.standNatureOptions = res.data.SARPROPERTY //
this.standStateOptions = res.data.TEXTSTATUSBUSS //
this.standSystemOptions = res.data.TXLBBUSS //
@@ -41,6 +41,22 @@
</div>
<span class="transition-box-span" v-else>-</span>
</div>
<div class="transition-box-p">
<label class="transition-box-label">流程稿件</label>
<div class="file-box" v-if="fileInfoLists.length > 0">
<div style="display: flex;">
<div v-for="(file,item) in fileInfoLists"
target="_blank"
class="transition-box-span table-jump"
@click="handleQueryPdf(file)"
:key="item">
{{ file.name }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(file.attId)">下载</el-button>
</div>
</div>
</div>
<span class="transition-box-span" v-else>-</span>
</div>
<p class="transition-box-p">
<label class="transition-box-label">上传时间</label>
<span class="transition-box-span">{{ this.$route.query.item.startTime || '-' }}</span>
@@ -80,6 +96,12 @@
align="center"
width="120">
</el-table-column>
<el-table-column
prop="chapterName"
align="center"
width="200px"
label="章节名称">
</el-table-column>
<el-table-column
prop="content"
align="center"
@@ -89,6 +111,7 @@
prop="oldText"
align="center"
label="修改前"
width="150"
>
<template slot-scope="scope">
<el-button size="mini" type="primary" :disabled="scope.row.partCode.length === 0" @click="itermsConditionsOpen(scope.row.oldText)" class="common-button-primary">查看修改前内容</el-button>
@@ -166,6 +189,9 @@
:value="item.itemsNum"></el-option>
</el-select>
</el-form-item>
<el-form-item label="章节名称" prop="chapterName" label-width="" class="add-form-item">
<el-input v-model="opinionContent.chapterName" autocomplete="off" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="修改前" prop="oldText" label-width="" class="add-form-item">
<div v-html="opinionContent.oldText" style="margin: 56px 0 0 10px;"></div>
</el-form-item>
@@ -207,6 +233,7 @@ export default {
itermsConditionsTitle: '',
options: [],
fileInfoList: [],
fileInfoLists: [],
itemData: this.$route.query.item,
id: '', // id
type: '', //
@@ -220,7 +247,8 @@ export default {
partCode: '',
oldText: '',
newText: '',
reason: ''
reason: '',
chapterName: '',
},
opinionContentRules: {
partCode: [
@@ -260,6 +288,7 @@ export default {
for (let a = 0; a < this.options.length; a++) {
if (data === this.options[a].itemsNum) {
this.opinionContent.oldText = this.options[a].termsConditions
this.opinionContent.chapterName = this.options[a].itemsName
}
}
},
@@ -389,6 +418,7 @@ export default {
newText: this.opinionContent.newText,
reason: this.opinionContent.reason,
partCode: this.opinionContent.partCode,
chapterName: this.opinionContent.chapterName,
userId: this.$store.getters.userInfo.userId || '',
userName: this.$store.getters.userInfo.userName || '',
deptName: this.$store.getters.userInfo.orgName || '',
@@ -431,6 +461,7 @@ export default {
}
},
mounted() {
this.fileInfoLists = JSON.parse(this.$route.query.item.wkfiles)
let json = JSON.parse(this.$route.query.item.files)[0]
this.$http.get('SarStandItems/sar-stand-items/querySarItemAndInterpretation', {
standId: json.standId,
+22
View File
@@ -2404,6 +2404,28 @@ const routes = [
menuId: 'ABCLRLJUQN44ENBS93CQ'
}
},
{
path: '/dataCenter',
name: 'dataCenter',
component: () =>
import('@/pages/regulatoryRepository/dataCenter'),
meta: {
requireAuth: true,
title: '资料中心',
menuId: ''
}
},
{
path: '/dataCenterDetail',
name: 'dataCenterDetail',
component: () =>
import('@/pages/regulatoryRepository/dataCenter/dataCenterDetail'),
meta: {
requireAuth: true,
title: '资料中心详情',
menuId: ''
}
},
// 技术要求清单
{
path: '/skillReq',