Merge branch 'develop' into FOTON

This commit is contained in:
super_liu
2021-12-20 20:13:25 +08:00
29 changed files with 1831 additions and 314 deletions
@@ -107,17 +107,17 @@
<span v-if="dataSource === 'BUSINESS'">
<a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standCode
}}-{{ scope.row.standYear }}</a>
}}</a>
<a v-else class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standCode }}</a>
</span>
<span v-else>
<a v-if="scope.row.standYear" class="table-jump"
@click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{
scope.row.standNumber
}}-{{ scope.row.standYear }}</a>
}}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{
scope.row.standSortShow
}} {{ scope.row.standNumber }}</a>
}}</a>
</span>
</template>
</el-table-column>
+5 -1
View File
@@ -290,7 +290,11 @@ router.beforeEach(function (to, from, next) {
next('/Login')
}
}else {
next()
if(isMobile()) {
next('/blankPage')
} else {
next('/Login')
}
}
}else {
next()
+22 -15
View File
@@ -41,10 +41,10 @@
</div>
</template>
</el-calendar>
<!-- <div class="footer">
<el-tag style="background-color: #e6a23c;color: white">当天会议</el-tag>
<el-tag style="margin-left: 20px;background-color: #67c23a;color: white">我的会议</el-tag>
</div>-->
<!-- <div class="footer">
<el-tag style="background-color: #e6a23c;color: white">当天会议</el-tag>
<el-tag style="margin-left: 20px;background-color: #67c23a;color: white">我的会议</el-tag>
</div>-->
</el-card>
</el-col>
<el-col :span="12">
@@ -52,7 +52,7 @@
<div class="title_time">{{ timeDay.day || nowDate }}</div>
<span class="card_info_empty " v-if="todayData.length === 0">
<div style="text-align: center">
<img :src="require('@/assets/images/meeting.png')">
<img :src="require('@/assets/images/meeting.png')">
</div>
<div style="text-align: center;font-weight: bold;color: #99999a">暂无会议</div>
</span>
@@ -74,8 +74,13 @@
<div class="content_text">
<span>会议附件 :
<span v-if="item.files.length === 0">{{ '-' }}</span>
<span v-for="res in item.files" :key="res.id" style="color: #409EFF;" @click="previews(res.id)">
{{ res.name }} {{ ';'}}
<span v-else v-for="res in item.files" :key="res.id" style="color: #409EFF;" @click="previews(res.id)">
<a v-if="res.name.length > 30" style="cursor: pointer">
{{ res.name.slice(0, 30) + '...' }} {{ ';' }}
</a>
<a v-else style="cursor: pointer">
{{ res.name }} {{ ';' }}
</a>
</span>
</span>
</div>
@@ -87,7 +92,7 @@
</template>
<script>
import { meetingByMonth } from '@/api/unqualProcess.js'
import {meetingByMonth} from '@/api/unqualProcess.js'
export default {
name: "calendar",
@@ -121,10 +126,10 @@ export default {
let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1;
let dd = new Date().getDate();
if (mm<10) {
if (mm < 10) {
mm = this.padding0(mm, 2)
}
if (dd<10) {
if (dd < 10) {
dd = this.padding0(dd, 2)
}
this.nowDate = yy + '-' + mm + '-' + dd
@@ -177,8 +182,8 @@ export default {
this.resDate = res
this.dealMyDate()
this.todayData = []
this.resDate.forEach(item=>{
if (item.date.slice(0,10) === this.nowDate) {
this.resDate.forEach(item => {
if (item.date.slice(0, 10) === this.nowDate) {
this.todayData.push(item)
}
})
@@ -210,11 +215,11 @@ export default {
let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1;
let dd = new Date().getDate();
if (mm<10) {
if (mm < 10) {
mm = this.padding0(mm, 2)
}
this.formData.month = mm + '月'
if (dd<10) {
if (dd < 10) {
dd = this.padding0(dd, 2)
}
this.formData.year = yy + '年'
@@ -304,9 +309,10 @@ export default {
}
}
/deep/.el-calendar-table td.is-selected {
/deep/ .el-calendar-table td.is-selected {
background-color: #f9e3e3;
}
/deep/ .el-calendar__header {
display: none;
}
@@ -340,6 +346,7 @@ export default {
.card_info_empty {
margin-top: 50px;
}
.card_info {
height: 190px;
margin-top: 10px;
+2 -1
View File
@@ -82,7 +82,8 @@
let routerParam = localStorage.getItem("routerParam");
// 路由跳转
if(routerParam && routerParam != ''){
if (this.showIETips) {//判断是否IE浏览器
const UA = navigator.userAgent.toLocaleLowerCase()
if (UA.match(/msie/) != null || UA.match(/trident/) != null) {
alert('检测到您使用的是IE浏览器,已经和时代脱轨了!建议您更换为谷歌浏览器')
}
const param = routerParam.split("&");
@@ -101,28 +101,27 @@
</el-col>
</el-row>
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<el-upload
style="width: 30%"
class="upload_style"
:disabled="acceptShow"
multiple
ref="uploadFile"
:action="uploadPath"
name="file"
:file-list="fileTextList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<el-button
type="primary"
class="common-button-primary"
@click="uploadFile"
size="mini">
点击上传
</el-button>
</el-upload>
<div v-if="rh_pageData.infoSources.length>0">
<div v-for="(item, index) in rh_pageData.infoSources" :key="index" style="margin-right: 5px; padding-left: 10px;color: #0c91e5;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0, 30) + '...' }} {{ ';' }}
</a>
<a v-else style="cursor: pointer" @click="fileLook(item)">{{ item.name }}</a>
<el-button
size="mini"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</div>
<el-button
type="primary"
class="common-button-primary"
@click="uploadFile"
size="mini">
点击上传
</el-button>
</el-form-item>
<el-form-item class="add-form-item" label="协会构成:" prop="comityMake">
<el-form
@@ -363,6 +362,29 @@
</el-timeline>
</div>
</div>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传附件">
<el-upload
class="upload-demo"
:disabled="acceptShow"
multiple
ref="uploadFile"
:action="uploadPath"
name="file"
drag
:file-list="rh_pageData.infoSources"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
<p>点击或拖拽上传文件</p>
</div>
</el-upload>
</el-dialog>
<ProcessFooter
show-save
show-submit
@@ -395,7 +417,8 @@ import ProcessTitle from '../../components/ProcessTitle'
import {
startProcess, saveTaskFirst,
completeTask, queryTaskFirst,
taskDel, workGroup,processBack
taskDel, workGroup, processBack,
getBusStandFileByAttId
} from '@/api/process.js'
export default {
@@ -408,6 +431,7 @@ export default {
data() {
return {
active: '1', // 默认显示
fileMadel: false,
rh_pageData: {
comityName: '',
comityNameOne: '',
@@ -547,8 +571,8 @@ export default {
});
},
//上传按钮
uploadFile(val) {
this.fileListData = val
uploadFile() {
this.fileMadel = true
},
// 文件上传限制条件
handleBeforeUpload(file) {
@@ -578,18 +602,17 @@ export default {
// 移除上传的文件
handleBeforeRemove(file, fileList) {
this.fileData = fileList
this.fileTextList.forEach((item, index) => {
this.rh_pageData.infoSources.forEach((item, index) => {
if (item.name === file.name || item.id === file.id) {
this.fileTextList.splice(index, 1)
this.rh_pageData.infoSources.splice(index, 1)
}
})
this.rh_pageData.infoSources = this.fileTextList
},
// 文件上传成功
handleOnsuccess(res, file, fileList) {
if (res.ok) {
if (this.fileTextList !== null) {
this.newDataList = this.fileTextList
if (this.rh_pageData.infoSources !== null) {
this.newDataList = this.rh_pageData.infoSources
this.newDataList.push({
id: res.data.attId,
name: res.data.name
@@ -600,7 +623,6 @@ export default {
name: res.data.name
})
}
this.fileListData.fileText = this.newDataList
this.rh_pageData.infoSources = this.newDataList
this.$message({
showClose: true,
@@ -611,6 +633,52 @@ export default {
}
},
// 文件预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
filesUpload (file) { // 下载
const attId = file.id
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
/** 添加 */
add_comityTel() {
@@ -701,7 +769,7 @@ export default {
if (this.type === 'leaderUser') {
this.roleForm.leaderUser = data[0].name
this.roleForm.leaderUserId = data[0].id
} else if(this.type === 'engineerUser'){
} else if (this.type === 'engineerUser') {
this.roleForm.engineerUser = data[0].name
this.roleForm.engineerUserId = data[0].id
} else {
@@ -890,6 +958,9 @@ export default {
text-align: right;
}
/deep/.el-form-item__content{
margin-top: 3px;
}
/deep/ .el-table th {
padding: 0px;
}
@@ -72,12 +72,20 @@
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -214,6 +222,7 @@ import ProcessTitle from "../../components/ProcessTitle";
import {
completeTask,
inboundLiaisonDetail,
getBusStandFileByAttId,
startProcess,
saveinboundTask,
saveTaskForPub,
@@ -318,7 +327,43 @@ export default {
handleTabs(name) {
this.active = name
},
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -72,12 +72,20 @@
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -309,6 +317,7 @@ import ProcessTitle from "../../components/ProcessTitle";
import {
completeTask,
inboundLiaisonDetail,
getBusStandFileByAttId,
saveinboundTask,
saveTaskForPub,
} from "@/api/process.js"
@@ -557,6 +566,43 @@ export default {
this.fileMadel = false
}
},
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -72,12 +72,20 @@
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -230,6 +238,7 @@ import {
completeTask,
inboundLiaisonDetail,
saveinboundTask,
getBusStandFileByAttId,
saveTaskForPub,
changeAssigneeNew
} from "@/api/process.js"
@@ -409,6 +418,43 @@ export default {
}
})
},
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -72,12 +72,20 @@
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -268,6 +276,7 @@ import {
completeTask,
inboundLiaisonDetail,
saveinboundTask,
getBusStandFileByAttId,
saveTaskForPub,
changeAssigneeNew
} from "@/api/process.js"
@@ -448,6 +457,43 @@ export default {
})
},
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/
previews(val) {
@@ -72,12 +72,12 @@
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -75,12 +75,20 @@
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -240,6 +248,7 @@ import {
completeTask,
inboundLiaisonDetail,
saveinboundTask,
getBusStandFileByAttId,
saveTaskForPub,
changeAssigneeNew
} from "@/api/process.js"
@@ -356,6 +365,43 @@ export default {
// this.rh_pageData.comityFileNum = this.fileTextList
})
},
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -422,7 +468,7 @@ export default {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
json.engineerSumDone = this.roleForm.directorUserId
} else {
json = {
rh_pageData: this.rh_pageData,
@@ -78,8 +78,8 @@
<el-form-item class="add-form-item" label="会议时间:">
<el-date-picker
v-model="ch_pageData.meetingStartTime"
type="date"
value-format="yyyy-MM-dd"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期时间"
align="right">
</el-date-picker>
@@ -100,43 +100,34 @@
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
<el-input v-model="ch_pageData.feeKind" placeholder="请输入费用列支"></el-input>
<!-- <el-select
v-model="ch_pageData.feeKind"
placeholder="请选择费用列支">
<el-option
v-for="item in feeKindOptions"
:key="item.value"
:label="item.label"
:value="item.label"/>
</el-select>-->
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-row>
<el-col :span="24">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<el-upload
style="width: 70%"
class="upload_style"
:disabled="acceptShow"
multiple
ref="uploadFile"
:action="uploadPath"
name="file"
:file-list="ch_pageData.fileTextList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<div v-if="ch_pageData.fileTextList.length>0">
<div v-for="(item, index) in ch_pageData.fileTextList" :key="index" style="margin-right: 5px; padding-left: 10px;color: #0c91e5;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else style="cursor: pointer" @click="fileLook(item)">{{ item.name }}</a>
<el-button
:disabled="acceptShow"
type="primary"
class="common-button-primary"
size="mini">
点击上传
</el-button>
</el-upload>
size="mini"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</div>
<el-button
@click="fileUpload"
:disabled="acceptShow"
type="primary"
class="common-button-primary"
size="mini">
点击上传
</el-button>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -295,8 +286,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('directorUser', '选择人员技术委员会主任', roleForm.directorUserName)">
</el-input>
</div>
</el-form-item>
@@ -306,6 +297,28 @@
</el-timeline>
</div>
</div>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传附件">
<el-upload
class="upload-demo"
:disabled="acceptShow"
multiple
ref="uploadFile"
:action="uploadPath"
name="file"
drag
:file-list="ch_pageData.fileTextList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
<p>点击或拖拽上传文件</p>
</div>
</el-upload>
</el-dialog>
<ProcessFooter
show-save
show-submit
@@ -338,7 +351,9 @@ import ProcessTitle from '../../components/ProcessTitle'
import {
startProcess, queryTaskFirst,
saveTaskFirst, completeTask,
taskDel, workGroup, processBack} from '@/api/process.js'
taskDel, workGroup, processBack,
getBusStandFileByAttId
} from '@/api/process.js'
export default {
components: {
@@ -351,6 +366,7 @@ export default {
return {
active: '1',
fileMadel: false,
ch_pageData: {
meetingName: '',
primaryUnit: '',
@@ -404,6 +420,8 @@ export default {
feeUserId: '',
engineerUser: '',
engineerUserId: '',
directorUserId: '',
directorUserName: '',
},
roleFormRules: {
dockUserName: [{required: true, message: "请选择标准法规工程师", trigger: ['blur', 'change']}],
@@ -434,7 +452,22 @@ export default {
type: 0
}
workGroup(type).then(res => {
this.ch_pageData.associaOptionsOne = res.data.children
if (res.data.children !== null) {
this.ch_pageData.associaOptionsOne = res.data.children
this.ch_pageData.associaName = this.ch_pageData.associaOptionsOne[0].id
this.ch_pageData.associaOptionsOne.forEach(item => {
if (item.children !== null && item.id === this.ch_pageData.associaName) {
this.ch_pageData.associaOptionsTwo = item.children
this.ch_pageData.associaNameOne = this.ch_pageData.associaOptionsTwo[0].id
}
})
this.ch_pageData.associaOptionsTwo.forEach(item => {
if (item.children !== null && item.id === this.ch_pageData.associaNameOne) {
this.ch_pageData.associaOptionsTree = item.children
this.ch_pageData.associaNameTwo = this.ch_pageData.associaOptionsTree[0].id
}
})
}
})
},
methods: {
@@ -473,9 +506,9 @@ export default {
},
//上传按钮
/* uploadFile(val) {
this.fileListData = val
},*/
fileUpload () {
this.fileMadel = true
},
// 文件上传限制条件
handleBeforeUpload(file) {
var filename = file.name
@@ -534,6 +567,51 @@ export default {
this.fileMadel = false
}
},
// 文件预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
filesUpload (file) { // 下载
const attId = file.id
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
meeting_add() {
var list = {
@@ -615,9 +693,12 @@ export default {
if (this.type === 'leaderUser') {
this.roleForm.leaderUser = data[0].name
this.roleForm.leaderUserId = data[0].id
} else {
} else if(this.type ==='engineerUser') {
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
},
@@ -56,23 +56,29 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
</span>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -210,7 +216,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js'
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail,getBusStandFileByAttId} from '@/api/process.js'
export default {
components: {
@@ -349,6 +355,42 @@ export default {
})
},
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -471,6 +513,9 @@ export default {
/deep/ .el-table th {
padding: 0px;
}
/deep/.el-form-item__content {
margin-top: 4px;
}
}
}
</style>
@@ -56,23 +56,29 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
</span>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -271,7 +277,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, saveTaskForPub, completeTask, inboundLiaisonDetail} from '@/api/process.js'
import {startProcess, saveTaskFirst, saveTaskForPub, completeTask, inboundLiaisonDetail,getBusStandFileByAttId} from '@/api/process.js'
export default {
components: {
@@ -434,6 +440,43 @@ export default {
})
},
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -556,6 +599,9 @@ export default {
/deep/ .el-table th {
padding: 0px;
}
/deep/.el-form-item__content {
margin-top: 4px;
}
}
}
</style>
@@ -56,23 +56,29 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
</span>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -215,7 +221,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js'
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail,getBusStandFileByAttId} from '@/api/process.js'
export default {
components: {
@@ -363,6 +369,43 @@ export default {
}
})
},
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -481,6 +524,9 @@ export default {
/deep/ .el-table th {
padding: 0px;
}
/deep/.el-form-item__content {
margin-top: 4px;
}
}
}
</style>
@@ -56,23 +56,29 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
</span>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -233,7 +239,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskForPub, completeTask, inboundLiaisonDetail} from '@/api/process.js'
import {startProcess, saveTaskForPub, completeTask, inboundLiaisonDetail,getBusStandFileByAttId} from '@/api/process.js'
export default {
components: {
@@ -388,6 +394,43 @@ export default {
})
},
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -494,6 +537,9 @@ export default {
/deep/ .el-table th {
padding: 0px;
}
/deep/.el-form-item__content {
margin-top: 4px;
}
/deep/ .el-upload {
display: unset;
@@ -56,7 +56,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
@@ -65,14 +65,14 @@
<el-col :span="8">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
{{ item.name }} {{ ';' }}
</a>
</span>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -381,6 +381,9 @@ export default {
/deep/.el-table th {
padding: 0px;
}
/deep/.el-form-item__content {
margin-top: 4px;
}
}
}
</style>
@@ -59,23 +59,29 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
</span>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -224,7 +230,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js'
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail,getBusStandFileByAttId} from '@/api/process.js'
export default {
components: {
@@ -404,7 +410,7 @@ export default {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
json.engineerSumDone = this.roleForm.directorUserId
} else {
json = {
ch_pageData: this.ch_pageData,
@@ -430,6 +436,43 @@ export default {
})
},
// 预览
getBusStandFileByAttId(attId) { // 预览
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
fileLook(file) { // 预览
const attId = file.id
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -548,6 +591,9 @@ export default {
/deep/ .el-table th {
padding: 0px;
}
/deep/.el-form-item__content {
margin-top: 4px;
}
}
}
</style>
@@ -84,7 +84,9 @@
<template slot="title">拆分信息</template>
</ProcessTitle>
<div class="action-bar">
<el-button type="primary" class="common-button-primary add-button" size="mini" @click="choiceZRRS('', 2, '')">批量编辑</el-button>
<el-button type="primary" class="common-button-primary add-button" size="mini" @click="PLedit">
批量编辑
</el-button>
</div>
<el-table border
ref="selection"
@@ -120,12 +122,64 @@
</template>
</el-table-column>
<el-table-column
label="责任人"
width="170"
v-if="!form.itemsNum1"
prop="technicalRequir"
label="核心技术要求"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="changePoint"
v-if="form.itemsNum1"
label="基于上一版本差异"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
v-if="sarType === 'FOREIGN' && form.itemsNum1"
prop="changePoint"
width="150"
label="相对于国行标差异点"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="newData"
width="180"
show-overflow-tooltip
label="新车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="onlineData"
width="180"
show-overflow-tooltip
label="在产车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="applyArctic"
width="200"
label="适用车型"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.zrUserId" style="display: none;"/>
<el-input v-model="scope.row.zrUserIdName" placeholder="请选择责任人" @click.native="choiceZRRS(scope.row.zrUserId, 1, scope.$index)"/>
{{ scope.row.applyArctic.toString() }}
</template>
</el-table-column>
<el-table-column
label="责任人"
width="170"
prop="zrUserName"
align="center">
</el-table-column>
<el-table-column
label="操作"
width="240"
align="center">
<template slot-scope="scope">
<el-button class="common-button-primary" size="mini" type="primary" @click="itemEdit(scope.row, 1, scope.$index)">编辑</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>
@@ -413,11 +467,84 @@
</div>
</div>
</el-drawer>
<el-drawer
:title="PLmodalTitle"
:visible.sync="PLmodalshowflag"
:wrapperClosable="false"
size="800px">
<div class="demo-drawer-content">
<el-form :model="plForm" class="label-input-form" ref="plForm" label-width=150>
<el-button v-if="PLmodalType === 1" style="margin: 10px 0 0 10px;" class="common-button-primary" size="mini" type="primary" @click="checkBD(plForm.itemsId, plForm.itemsId2)">查看比对</el-button>
<el-form-item label="核心技术要求" prop="technicalRequir" class="add-form-item" v-if="!form.itemsNum1">
<el-input
v-model="plForm.technicalRequir"
placeholder="请输入核心技术要求"
maxlength="500"
></el-input>
</el-form-item>
<el-form-item label="国内标准的差异点" prop="changePoint" class="add-form-item" v-if="sarType !== 'INLAND' && form.itemsNum1">
<el-input
v-model="plForm.changePoint"
placeholder="请输入国内标准的差异点"
maxlength="500"
></el-input>
</el-form-item>
<el-form-item label="上一版本差异点" prop="changePoint" class="add-form-item" v-if="sarType === 'INLAND' && form.itemsNum1">
<el-input
v-model="plForm.changePoint"
placeholder="请输入上一版本差异点"
maxlength="500"
></el-input>
</el-form-item>
<custom-date-pick-group
class="myDataPick"
:config="{attrName: '新车型实施日期'}"
v-model="plForm.newData"
></custom-date-pick-group>
<custom-date-pick-group
class="myDataPick"
:config="{attrName: '在产车实施日期'}"
v-model="plForm.onlineData"
></custom-date-pick-group>
<el-form-item label="适用车型" prop="applyArctic" class="add-form-item" >
<el-select multiple v-model="plForm.applyArctic">
<el-option v-for="(item,index) in cxList" :value="item.label" :label="item.label" :key="index"></el-option>
</el-select>
</el-form-item>
<el-form-item label="责任人" prop="zrUserId" class="add-form-item">
<el-input
style="display: none;"
v-model="plForm.zrUserId"
></el-input>
<el-input
@click.native="choiceZRRS(plForm.zrUserId, PLmodalType, PLmodalIndex)"
placeholder="请选择责任人"
v-model="plForm.zrUserName"
></el-input>
</el-form-item>
</el-form>
</div>
<div id="roleFormButton2" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo2">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo2">取消</el-button>
</div>
</el-drawer>
<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>
<script>
import CustomDatePickGroup from '@/components/CustomFormComponents/DatePickerGroup'
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
@@ -426,6 +553,28 @@
name: "bzjdStep1-1",
data() {
return {
similarityDegree: '',
leftData: [],
rightData: [],
BDmodel: false,
PLmodalType: '',
PLmodalIndex: '',
PLmodalshowflag: false,
PLmodalTitle: '',
plForm: {
itemsId: '',
itemsId2: '',
technicalRequir: '',
changePoint: '',
newData: '',
onlineData: '',
applyArctic: [],
zrUserId: '',
zrUserName: '',
},
cxList: [],
listModel3: false,
standInfoList3: [],
spinShow3: false,
@@ -521,11 +670,142 @@
}
},
components: {
CustomDatePickGroup,
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
PLedit () {
if (this.zrIdList.length > 0) {
this.PLmodalType = 2
this.PLmodalTitle = '批量编辑'
this.plForm = {
technicalRequir: '',
changePoint: '',
newData: '',
onlineData: '',
applyArctic: [],
zrUserId: '',
zrUserName: '',
}
this.PLmodalshowflag = true
} else {
this.$message.warning('请选择要编辑的数据')
}
},
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, type, index) {
this.PLmodalType = type
this.PLmodalIndex = index
if (type === '1') {
this.PLmodalTitle = '编辑'
}
this.plForm = {
technicalRequir: row.technicalRequir,
changePoint: row.changePoint,
newData: row.newData,
onlineData: row.onlineData,
applyArctic: row.applyArctic,
zrUserId: row.zrUserId,
zrUserName: row.zrUserName,
itemsId: row.itemsId,
itemsId2: row.itemsId2
}
this.PLmodalshowflag = true
},
saveUserInfo2 () {
if (this.PLmodalType === 1) {
const row = JSON.parse(JSON.stringify(this.itemList[this.PLmodalIndex]))
row.technicalRequir = this.plForm.technicalRequir
row.changePoint = this.plForm.changePoint
row.newData = this.plForm.newData
row.onlineData = this.plForm.onlineData
row.applyArctic = this.plForm.applyArctic
row.zrUserId = this.plForm.zrUserId
row.zrUserName = this.plForm.zrUserName
this.$set(this.itemList, this.PLmodalIndex, row)
} else {
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < this.zrIdList.length; b++) {
if (this.itemList[a].id === this.zrIdList[b]) {
this.itemList[a].technicalRequir = this.plForm.technicalRequir
this.itemList[a].changePoint = this.plForm.changePoint
this.itemList[a].newData = this.plForm.newData
this.itemList[a].onlineData = this.plForm.onlineData
this.itemList[a].applyArctic = this.plForm.applyArctic
this.itemList[a].zrUserId = this.plForm.zrUserId
this.itemList[a].zrUserName = this.plForm.zrUserName
}
}
}
}
this.PLmodalshowflag = false
},
cancleUserInfo2 () {
this.plForm = {
technicalRequir: '',
changePoint: '',
newData: '',
onlineData: '',
applyArctic: [],
zrUserId: '',
zrUserName: '',
itemsId: '',
itemsId2: ''
}
this.PLmodalshowflag = false
},
handleSelection3 (data) {
this.selectedList3 = [];
for (let i = 0; i < data.length; i++) {
@@ -717,6 +997,7 @@
this.standId = bringData[0].standId
this.statusId = bringData[0].id
this.form.statusId = bringData[0].id
this.form.fileType = bringData[0].fileType
this.listModel = false;
this.listModel3 = true
this.getDbList()
@@ -730,9 +1011,22 @@
if (res.ok) {
res.data.list.forEach(item => {
item.zrUserId = ''
item.zrUserIdName= ''
item.zrUserIdName = ''
})
this.itemList = res.data.list
this.itemList = res.data.list.filter(item =>{
return item.workFlowShow === '1'
})
this.itemList.map(item => {
item.technicalRequir = ''
item.changePoint = ''
item.newData = ''
item.onlineData = ''
item.applyArctic = []
})
this.itemListOld = res.data.list.filter(item =>{
return item.workFlowShow === '0'
})
this.getBDList()
}
this.loading = false
})
@@ -778,49 +1072,30 @@
},
/*** **********************************************/
/** 流程节点负责人的选择 *****************************/
saveUserInfo (data) {
saveUserInfo(data) {
if (this.type === 0) {
this.roleForm.deptUserId = data[0].id
this.roleForm.deptUserIdName = data[0].name
} else if (this.type === 1) {
this.itemList[this.zrIndex].zrUserId = data[0].id
this.itemList[this.zrIndex].zrUserIdName = data[0].name
} else {
this.itemList.forEach( item => {
this.zrIdList.forEach( items => {
if (item.id === items) {
item.zrUserId = data[0].id
item.zrUserIdName = data[0].name
}
})
})
this.plForm.zrUserId = data[0].id
this.plForm.zrUserName = data[0].name
}
this.modalshowflag = false
},
choiceZRRS (row, type, index) {
choiceZRRS(row, type, index) {
this.type = type
if (type === 1) {
if (type === 0) {
this.nodeList = []
this.nodeList.push(row)
this.drawerTitle = '选择标准法规部部长'
this.modalshowflag = true
} else {
this.drawerTitle = '选择责任人'
this.nodeList = []
this.zrIndex = index
this.zrType = type
this.nodeList.push(row)
this.modalshowflag = true
} else if (type === 2) {
// 批量
if (this.zrIdList.length > 0) {
this.zrType = type
this.nodeList = []
this.modalshowflag = true
this.drawerTitle = '批量选择责任人'
} else {
this.$message.warning('请选择要编辑的数据')
}
} else {
this.nodeList = []
this.nodeList.push(row)
this.drawerTitle = '选择标准法规部部长'
this.modalshowflag = true
}
},
handleSelectionChange (val) {
@@ -859,13 +1134,50 @@
if (valid) {
this.$refs['Form'].validate((valid) => {
if (valid) {
let b = 0
let num1 = 0, num2 = 0, num4 = 0, num5 = 0, num6 = 0, b = 0
for (let a = 0; a < this.itemList.length; a++) {
if (!this.itemList[a].technicalRequir) {
num1++
}
if (!this.itemList[a].changePoint) {
num2++
}
if (!this.itemList[a].newData) {
num4++
}
if (!this.itemList[a].onlineData) {
num5++
}
if (!this.itemList[a].applyArctic.length) {
num6++
}
if (!this.itemList[a].zrUserId) {
b++
}
}
if (b > 0) {
if (!this.form.itemsNum1) {
if (num1 > 0) {
this.$message.warning('请输入核心技术要求')
return
}
} else {
if (num2 > 0) {
if (this.sarType !== 'INLAND') {
this.$message.warning('请输入国内标准的差异点')
return
} else {
this.$message.warning('请输入基于上一版本差异')
return
}
}
}
if (num4 > 0) {
this.$message.warning('请输入新车型实施日期')
} else if (num5 > 0) {
this.$message.warning('请输入在产车实施日期')
} else if (num6 > 0) {
this.$message.warning('请选择适用车型')
} else if (b > 0) {
this.$message.warning('请选择责任人')
} else {
this.isSubmit = true
@@ -910,6 +1222,15 @@
}
},
mounted () {
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
this.cxList = res.data.ENERGYTYPES // 适用车型
this.cxList.forEach(item => {
item.value = item.label
})
})
this.getData()
this.sarStandCompareHis()
this.sarStandCompareHis2()
@@ -85,7 +85,7 @@
<template slot="title">拆分信息</template>
</ProcessTitle>
<div class="action-bar">
<el-button type="primary" class="common-button-primary add-button" size="mini" @click="choiceZRRS('', 2, '')">
<el-button type="primary" class="common-button-primary add-button" size="mini" @click="PLedit">
批量编辑
</el-button>
</div>
@@ -103,11 +103,12 @@
<el-table-column
prop="itemsNum"
label="条款号"
width="170"
width="120"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
width="170"
label="条款名称"
show-overflow-tooltip
align="center">
@@ -124,13 +125,65 @@
</el-button>
</template>
</el-table-column>
<el-table-column
v-if="!form.itemsNum1"
prop="technicalRequir"
label="核心技术要求"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="changePoint"
v-if="form.itemsNum1"
label="基于上一版本差异"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
v-if="sarType === 'FOREIGN' && form.itemsNum1"
prop="changePoint"
width="150"
label="相对于国行标差异点"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="newData"
width="180"
show-overflow-tooltip
label="新车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="onlineData"
width="180"
show-overflow-tooltip
label="在产车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="applyArctic"
width="200"
label="适用车型"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
{{ scope.row.applyArctic.toString() }}
</template>
</el-table-column>
<el-table-column
label="责任人"
width="170"
prop="zrUserName"
align="center">
</el-table-column>
<el-table-column
label="操作"
width="240"
align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.zrUserId" style="display: none;"/>
<el-input v-model="scope.row.zrUserIdName" placeholder="请选择责任人" @click.native="choiceZRRS(scope.row.zrUserId, 1, scope.$index)"/>
<el-button class="common-button-primary" size="mini" type="primary" @click="itemEdit(scope.row, 1, scope.$index)">编辑</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>
@@ -423,26 +476,119 @@
</div>
</div>
</el-drawer>
<el-drawer
:title="PLmodalTitle"
:visible.sync="PLmodalshowflag"
:wrapperClosable="false"
size="800px">
<div class="demo-drawer-content">
<el-form :model="plForm" class="label-input-form" ref="plForm" label-width=150>
<el-button v-if="PLmodalType === 1" style="margin: 10px 0 0 10px;" class="common-button-primary" size="mini" type="primary" @click="checkBD(plForm.itemsId, plForm.itemsId2)">查看比对</el-button>
<el-form-item label="核心技术要求" prop="technicalRequir" class="add-form-item" v-if="!form.itemsNum1">
<el-input
v-model="plForm.technicalRequir"
placeholder="请输入核心技术要求"
maxlength="500"
></el-input>
</el-form-item>
<el-form-item label="国内标准的差异点" prop="changePoint" class="add-form-item" v-if="sarType !== 'INLAND' && form.itemsNum1">
<el-input
v-model="plForm.changePoint"
placeholder="请输入国内标准的差异点"
maxlength="500"
></el-input>
</el-form-item>
<el-form-item label="上一版本差异点" prop="changePoint" class="add-form-item" v-if="sarType === 'INLAND' && form.itemsNum1">
<el-input
v-model="plForm.changePoint"
placeholder="请输入上一版本差异点"
maxlength="500"
></el-input>
</el-form-item>
<custom-date-pick-group
class="myDataPick"
:config="{attrName: '新车型实施日期'}"
v-model="plForm.newData"
></custom-date-pick-group>
<custom-date-pick-group
class="myDataPick"
:config="{attrName: '在产车实施日期'}"
v-model="plForm.onlineData"
></custom-date-pick-group>
<el-form-item label="适用车型" prop="applyArctic" class="add-form-item" >
<el-select multiple v-model="plForm.applyArctic">
<el-option v-for="(item,index) in cxList" :value="item.label" :label="item.label" :key="index"></el-option>
</el-select>
</el-form-item>
<el-form-item label="责任人" prop="zrUserId" class="add-form-item">
<el-input
style="display: none;"
v-model="plForm.zrUserId"
></el-input>
<el-input
@click.native="choiceZRRS(plForm.zrUserId, PLmodalType, PLmodalIndex)"
placeholder="请选择责任人"
v-model="plForm.zrUserName"
></el-input>
</el-form-item>
</el-form>
</div>
<div id="roleFormButton2" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo2">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo2">取消</el-button>
</div>
</el-drawer>
<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>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, taskDel} from 'api/process'
import CustomDatePickGroup from '@/components/CustomFormComponents/DatePickerGroup'
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, taskDel} from 'api/process'
export default {
name: "bzjdStep1",
data() {
return {
similarityDegree: '',
leftData: [],
rightData: [],
BDmodel: false,
PLmodalType: '',
PLmodalIndex: '',
PLmodalshowflag: false,
PLmodalTitle: '',
plForm: {
itemsId: '',
itemsId2: '',
technicalRequir: '',
changePoint: '',
newData: '',
onlineData: '',
applyArctic: [],
zrUserId: '',
zrUserName: '',
},
cxList: [],
bpnId: '',
listModel3: false,
standInfoList3: [],
spinShow3: false,
selectedList3: [],
//折叠的标志,true为折叠,false为不折叠
foldFormFlag: false,
itermsConditionsFlag: false,
@@ -540,11 +686,142 @@ export default {
}
},
components: {
CustomDatePickGroup,
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
PLedit () {
if (this.zrIdList.length > 0) {
this.PLmodalType = 2
this.PLmodalTitle = '批量编辑'
this.plForm = {
technicalRequir: '',
changePoint: '',
newData: '',
onlineData: '',
applyArctic: [],
zrUserId: '',
zrUserName: '',
}
this.PLmodalshowflag = true
} else {
this.$message.warning('请选择要编辑的数据')
}
},
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, type, index) {
this.PLmodalType = type
this.PLmodalIndex = index
if (type === '1') {
this.PLmodalTitle = '编辑'
}
this.plForm = {
technicalRequir: row.technicalRequir,
changePoint: row.changePoint,
newData: row.newData,
onlineData: row.onlineData,
applyArctic: row.applyArctic,
zrUserId: row.zrUserId,
zrUserName: row.zrUserName,
itemsId: row.itemsId,
itemsId2: row.itemsId2
}
this.PLmodalshowflag = true
},
saveUserInfo2 () {
if (this.PLmodalType === 1) {
const row = JSON.parse(JSON.stringify(this.itemList[this.PLmodalIndex]))
row.technicalRequir = this.plForm.technicalRequir
row.changePoint = this.plForm.changePoint
row.newData = this.plForm.newData
row.onlineData = this.plForm.onlineData
row.applyArctic = this.plForm.applyArctic
row.zrUserId = this.plForm.zrUserId
row.zrUserName = this.plForm.zrUserName
this.$set(this.itemList, this.PLmodalIndex, row)
} else {
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < this.zrIdList.length; b++) {
if (this.itemList[a].id === this.zrIdList[b]) {
this.itemList[a].technicalRequir = this.plForm.technicalRequir
this.itemList[a].changePoint = this.plForm.changePoint
this.itemList[a].newData = this.plForm.newData
this.itemList[a].onlineData = this.plForm.onlineData
this.itemList[a].applyArctic = this.plForm.applyArctic
this.itemList[a].zrUserId = this.plForm.zrUserId
this.itemList[a].zrUserName = this.plForm.zrUserName
}
}
}
}
this.PLmodalshowflag = false
},
cancleUserInfo2 () {
this.plForm = {
technicalRequir: '',
changePoint: '',
newData: '',
onlineData: '',
applyArctic: [],
zrUserId: '',
zrUserName: '',
itemsId: '',
itemsId2: ''
}
this.PLmodalshowflag = false
},
handleSelection3 (data) {
this.selectedList3 = [];
for (let i = 0; i < data.length; i++) {
@@ -747,13 +1024,20 @@ export default {
item.zrUserId = ''
item.zrUserIdName = ''
})
this.itemList = res.data.list.filter(item =>{
return item.workFlowShow === '1'
})
this.itemList.map(item => {
item.technicalRequir = ''
item.changePoint = ''
item.newData = ''
item.onlineData = ''
item.applyArctic = []
})
this.itemListOld = res.data.list.filter(item =>{
return item.workFlowShow === '0'
})
this.getBDList()
}
this.loading = false
})
@@ -796,45 +1080,26 @@ export default {
if (this.type === 0) {
this.roleForm.deptUserId = data[0].id
this.roleForm.deptUserIdName = data[0].name
} else if (this.type === 1) {
this.itemList[this.zrIndex].zrUserId = data[0].id
this.itemList[this.zrIndex].zrUserIdName = data[0].name
} else {
this.itemList.forEach(item => {
this.zrIdList.forEach(items => {
if (item.id === items) {
item.zrUserId = data[0].id
item.zrUserIdName = data[0].name
}
})
})
this.plForm.zrUserId = data[0].id
this.plForm.zrUserName = data[0].name
}
this.modalshowflag = false
},
choiceZRRS(row, type, index) {
this.type = type
if (type === 1) {
if (type === 0) {
this.nodeList = []
this.nodeList.push(row)
this.drawerTitle = '选择标准法规部部长'
this.modalshowflag = true
} else {
this.drawerTitle = '选择责任人'
this.nodeList = []
this.zrIndex = index
this.zrType = type
this.nodeList.push(row)
this.modalshowflag = true
} else if (type === 2) {
// 批量
if (this.zrIdList.length > 0) {
this.zrType = type
this.nodeList = []
this.modalshowflag = true
this.drawerTitle = '批量选择责任人'
} else {
this.$message.warning('请选择要编辑的数据')
}
} else {
this.nodeList = []
this.nodeList.push(row)
this.drawerTitle = '选择标准法规部部长'
this.modalshowflag = true
}
},
handleSelectionChange(val) {
@@ -873,13 +1138,50 @@ export default {
if (valid) {
this.$refs['Form'].validate((valid) => {
if (valid) {
let b = 0
let num1 = 0, num2 = 0, num4 = 0, num5 = 0, num6 = 0, b = 0
for (let a = 0; a < this.itemList.length; a++) {
if (!this.itemList[a].technicalRequir) {
num1++
}
if (!this.itemList[a].changePoint) {
num2++
}
if (!this.itemList[a].newData) {
num4++
}
if (!this.itemList[a].onlineData) {
num5++
}
if (!this.itemList[a].applyArctic.length) {
num6++
}
if (!this.itemList[a].zrUserId) {
b++
}
}
if (b > 0) {
if (!this.form.itemsNum1) {
if (num1 > 0) {
this.$message.warning('请输入核心技术要求')
return
}
} else {
if (num2 > 0) {
if (this.sarType !== 'INLAND') {
this.$message.warning('请输入国内标准的差异点')
return
} else {
this.$message.warning('请输入基于上一版本差异')
return
}
}
}
if (num4 > 0) {
this.$message.warning('请输入新车型实施日期')
} else if (num5 > 0) {
this.$message.warning('请输入在产车实施日期')
} else if (num6 > 0) {
this.$message.warning('请选择适用车型')
} else if (b > 0) {
this.$message.warning('请选择责任人')
} else {
this.isSubmit = true
@@ -927,6 +1229,15 @@ export default {
}
},
mounted() {
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
this.cxList = res.data.ENERGYTYPES // 适用车型
this.cxList.forEach(item => {
item.value = item.label
})
})
this.sarStandCompareHis()
this.sarStandCompareHis2()
this.tableHeight = $('.content').height() - 44
@@ -82,11 +82,12 @@
<el-table-column
prop="itemsNum"
label="条款号"
width="170"
width="120"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
width="170"
label="条款名称"
show-overflow-tooltip
align="center">
@@ -98,15 +99,48 @@
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="itermsConditionsOpen(scope.row.itermsConditions)" class="common-button-primary">查看条款内容</el-button>
<el-button size="mini" type="primary" @click="itermsConditionsOpen(scope.row.itermsConditions)" class="common-button-primary">
查看条款内容
</el-button>
</template>
</el-table-column>
<el-table-column
label="责任人"
width="170"
prop="zrUserIdName"
v-if="!form.itemsNum1"
prop="technicalRequir"
label="核心技术要求"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="changePoint"
v-if="form.itemsNum1"
label="基于上一版本差异"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
v-if="sarType === 'FOREIGN' && form.itemsNum1"
prop="changePoint"
width="150"
label="相对于国行标差异点"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="newData"
width="180"
show-overflow-tooltip
label="新车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="onlineData"
width="180"
show-overflow-tooltip
label="在产车型实施日期"
align="center">
</el-table-column>
<el-table-column
label="执行人"
width="170"
@@ -564,8 +564,8 @@
flag: 1
}
this.$http.post('lawss/sarStandCompareHis/clauseComparison', itemsEoPage, {
_this: this
}, res => {
_this: this
}, res => {
if (res.data.leftString === '' && res.data.rightString === '') {
this.$message.warning('暂无找到相似的文本')
} else {
@@ -1020,7 +1020,10 @@ export default {
}, {
_this: this
}, res => {
this.productData = res.data.records;
this.productData = res.data.records.map(item => {
item.sarStandProjectLibraries = []
return item
})
this.totalNo = res.data.total;
}, e => {
@@ -861,7 +861,7 @@ export default {
if(this.satisfyFlag){
this.isSubmit = true;
this.listForm.commentText = this.commentText;
var json = Object.assign(this.listForm, this.roleForm);
let json = Object.assign(this.listForm, this.roleForm);
localStorage.setItem('projectList', JSON.stringify(this.dataList))
this.$refs["listForm"].validate((valid) => {
if (valid) {
@@ -1019,7 +1019,10 @@ export default {
}, {
_this: this
}, res => {
this.productData = res.data.records;
this.productData = res.data.records.map(item => {
item.sarStandProjectLibraries = []
return item
})
this.totalNo = res.data.total;
}, e => {
@@ -136,13 +136,18 @@
</process-title>
<div class="tableTitle">
<div class="tableButton">
<el-button plain class="common-button-primary" size="mini" @click="choiceZRRS('', 2, '')">批量分发落实人
<el-button class="common-button-primary" plain size="mini" @click="addProject">添加
</el-button>
<el-button plain class="common-button-primary" type="primary" size="mini" @click="deleteList">批量删除
</el-button>
<el-button plain class="common-button-primary" type="primary" size="mini" @click="choiceZRRS('', 2, '')">
批量分发落实人
</el-button>
</div>
</div>
<el-table
ref="multipleTable"
:data="listForm.breakdownList.slice((currentPage - 1) * pageSize, currentPage * pageSize ) "
:data="breakdownList.slice((currentPage - 1) * pageSize, currentPage * pageSize ) "
style="width: 100%; border: 1px solid #cccccc;height: 400px"
height="48%"
border
@@ -225,9 +230,9 @@
background
:page-sizes="[20, 40, 60]"
:total="total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
>
</el-pagination>
/>
<!-- 选择责任人-->
<Role-tree
is-title="选择落实人"
@@ -305,7 +310,102 @@
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<!-- 添加项目抽屉-->
<el-drawer
title="添加项目"
:visible.sync="projectModel"
size="900px"
custom-class="demo-drawer"
>
<div class="demo-drawer-content">
<div style="position: absolute;bottom: 48px;top:60px;left: 0;right: 0">
<div style="position: absolute;bottom: 55px;top: 0;right: 0;left: 0">
<div class="left">
<el-form :modal="standardSearch" :inline="true" class="label-input-form"
style="margin-left:10px">
<el-form-item label="项目编号" class="search-item search-item-last">
<el-input
v-model="standardSearch.projectNumber"
placeholder="请输入项目编号"
></el-input>
</el-form-item>
<el-form-item label="项目名称" class="search-item search-item-last">
<el-input
v-model="standardSearch.projectName"
placeholder="请输入项目名称"
></el-input>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="small"
@click="getProject">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="small"
@click="clearStandSearch">清空
</el-button>
</el-form-item>
</el-form>
</div>
<el-table
:data="projectData"
tooltip-effect="dark"
style="width: 100%"
border
ref="table"
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectThree"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="productLine"
align="center"
label="产品线"
/>
<el-table-column
prop="projectName"
min-width="300"
align="center"
label="项目名称"
/>
<el-table-column
prop="projectNumber"
align="center"
label="项目编号"
/>
<el-table-column
prop="projectGroup"
align="center"
label="项目群"
/>
</el-table>
</div>
<pagination
:page="pageNo"
:pageSize="pageSizeNo"
:total="totalNo"
@pageChange="pageChangeNo"
@pageSizeChange="pageSizeChangeNo"
/>
</div>
</div>
<div class="demo-drawer-footer">
<el-button size="mini" @click="cancelStand">取消</el-button>
<el-button type="primary" size="mini" @click="okStand">添加</el-button>
</div>
</el-drawer>
<ProcessFooter
show-save
show-transfer
@@ -333,7 +433,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, saveTaskForPub, changeAssigneeNew } from "api/process";
import { changeAssigneeNew, inboundLiaisonDetail, saveTaskForPub } from "api/process";
export default {
name: "xmpgStep3",
@@ -344,6 +444,22 @@ export default {
},
data() {
return {
projectModel: false,
projectData: [],
projectLineId: [],
projectJson: {},
totalNo: 0,
selectProject: [],
//查询添加标准相关数据
standardSearch: {
projectNumber: "",
projectName: "",
pageNo: 1,
pageSizeNo: this.$store.getters.userInfo.configContent
},
breakdownList: [],
pageNo: 1,
pageSizeNo: this.$store.getters.userInfo.configContent,
//折叠的标志,true为折叠,false为不折叠
foldFormFlag: false,
currentPage: 1,
@@ -520,6 +636,9 @@ export default {
handleCurrentChange(currentPage) {
this.currentPage = currentPage;
},
handleSizeChange(pageSize) {
this.pageSize = pageSize;
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
@@ -538,54 +657,141 @@ export default {
* @description: 动态表单读取
*/
getFormFieldList(item) {
console.log(item);
this.projectJson = JSON.parse(JSON.stringify(item));
this.listForm = JSON.parse(JSON.stringify(item));
if (item.form === undefined) {
this.listForm.prcNum = this.prcNum;
this.listForm.prcName = this.prcName;
this.listForm["id"] = item.id;
this.listForm = JSON.parse(JSON.stringify(item.pepdtos[0]));
this.listForm.breakdownList = [];
for (let i = 0; i < item.pepdtos.length; i++) {
for (let j = 0; j < item.pepdtos[i].breakdownList.length; j++) {
if (item.pepdtos[i].xcxssrq === null) {
item.pepdtos[i].xcxssrq = "";
}
if (item.pepdtos[i].zccssrq === null) {
item.pepdtos[i].zccssrq = "";
}
this.listForm.breakdownList.push({
itemsName: item.pepdtos[i].breakdownList[j].itemsName,
itemNum: item.pepdtos[i].breakdownList[j].itemsNum,
technicalRequir: item.pepdtos[i].breakdownList[j].technicalRequir,
changePoint: item.pepdtos[i].breakdownList[j].changePoint,
responsibleEngineer: item.pepdtos[i].breakdownList[j].responsibleEngineer,
responsibleUnit: item.pepdtos[i].breakdownList[j].responsibleUnit,
productLine: item.pepdtos[i].sarStandProjectLibraries.productLine,
projectNumber: item.pepdtos[i].sarStandProjectLibraries.projectNumber,
projectName: item.pepdtos[i].sarStandProjectLibraries.projectName,
implementer: item.pepdtos[i].breakdownList[j].implementer || null,
distributePerson: item.pepdtos[i].distributePerson,
distributePersonId: item.pepdtos[i].distributePersonId,
uname: item.pepdtos[i].uname,
projectManager: item.pepdtos[i].projectManager,
certifiedEngineerName: item.pepdtos[i].certifiedEngineerName,
qualityEngineerName: item.pepdtos[i].qualityEngineerName,
standNumber: item.pepdtos[i].standNumber,
standName: item.pepdtos[i].standName,
id: item.pepdtos[0].id,
xcxssrq: item.pepdtos[i].XCXSSRQ,
zccssrq: item.pepdtos[i].ZCCSSRQ
});
this.total = this.listForm.breakdownList.length
}
}
let projectLineList = item.pepdtos[0].dataList;
projectLineList.forEach(item => {
this.projectLineId = item.productLine;
});
this.getProject();
} else {
this.listForm = item.form;
this.listForm.breakdownList = item.form.breakdownList;
this.breakdownList = item.form.breakdownList;
}
},
getProject() {
this.$http.get("sarStandProjectLibrary/queryProjectUnderLine", {
productLine: this.projectLineId,
current: this.pageNo,
pageSize: this.pageSizeNo,
projectName: this.standardSearch.projectName,
projectNumber: this.standardSearch.projectNumber
}, {
_this: this
}, res => {
this.projectData = res.data.records;
this.totalNo = res.data.total;
});
},
clearStandSearch() {
this.standardSearch = {
projectName: "",
projectNumber: ""
};
this.getProject();
},
okStand() {
if (!this.selectProject.length) {
this.$message.warning("请至少选择一条产品线进行添加");
} else {
let proList = this.projectJson.pepdtos[0].dataList;
this.selectProject.map(item => {
proList.forEach(items => {
if (item.productLine === items.productLine) {
items.sarStandProjectLibraries.push(item);
}
});
});
this.projectJson.pepdtos[0].dataList = proList;
this.$http.post("activityData/backData", {
json: JSON.stringify(this.projectJson.pepdtos[0])
}, {
_this: this
}, res => {
let item = JSON.parse(res.data);
for (let i = 0; i < item.pepdtos.length; i++) {
for (let j = 0; j < item.pepdtos[i].breakdownList.length; j++) {
if (item.pepdtos[i].xcxssrq === null) {
item.pepdtos[i].xcxssrq = "";
}
if (item.pepdtos[i].zccssrq === null) {
item.pepdtos[i].zccssrq = "";
}
this.breakdownList.push({
itemsName: item.pepdtos[i].breakdownList[j].itemsName,
itemNum: item.pepdtos[i].breakdownList[j].itemsNum,
technicalRequir: item.pepdtos[i].breakdownList[j].technicalRequir,
changePoint: item.pepdtos[i].breakdownList[j].changePoint,
responsibleEngineer: item.pepdtos[i].breakdownList[j].responsibleEngineer,
responsibleUnit: item.pepdtos[i].breakdownList[j].responsibleUnit,
productLine: item.pepdtos[i].sarStandProjectLibraries.productLine,
projectNumber: item.pepdtos[i].sarStandProjectLibraries.projectNumber,
projectName: item.pepdtos[i].sarStandProjectLibraries.projectName,
implementer: item.pepdtos[i].breakdownList[j].implementer || null,
distributePerson: item.pepdtos[i].distributePerson,
distributePersonId: item.pepdtos[i].distributePersonId,
uname: item.pepdtos[i].uname,
projectManager: item.pepdtos[i].projectManager,
certifiedEngineerName: item.pepdtos[i].certifiedEngineerName,
qualityEngineerName: item.pepdtos[i].qualityEngineerName,
standNumber: item.pepdtos[i].standNumber,
standName: item.pepdtos[i].standName,
id: item.pepdtos[0].id,
xcxssrq: item.pepdtos[i].XCXSSRQ,
zccssrq: item.pepdtos[i].ZCCSSRQ
});
this.total = this.breakdownList.length;
}
}
});
this.projectModel = false;
}
},
//批量删除
deleteList() {
if (!this.selectList.length) {
this.$message.warning("请至少选择一条数据进行删除");
} else {
this.$confirm("您确认删除这些数据?", "提示", {
confirmButtonText: "确认",
confirmButtonClass: "common-button-primary",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let exits = [];
this.selectList.map(item => {
let index;
index = this.breakdownList.findIndex(items => {
return items.itemsName === item.itemsName;
});
if (index > -1) {
this.breakdownList.splice(index, 1);
}
exits.push(item);
});
this.selectList = [];
}).catch(() => {
});
}
},
cancelStand() {
this.projectModel = false;
},
pageChangeNo(page) {
this.pageNo = page;
this.getProject();
},
pageSizeChangeNo(pageSize) {
this.pageSizeNo = pageSize;
this.getProject();
},
checkedRole(data) {
var idList = "";
var nameList = "";
@@ -598,10 +804,10 @@ export default {
nameList += item.name;
});
if (this.type === 1) {
this.listForm.breakdownList[this.lsIndex].implementerId = idList;
this.listForm.breakdownList[this.lsIndex].implementer = nameList;
this.breakdownList[this.lsIndex].implementerId = idList;
this.breakdownList[this.lsIndex].implementer = nameList;
} else if (this.type === 2) {
this.listForm.breakdownList.forEach(item => {
this.breakdownList.forEach(item => {
this.selectStandList.forEach(items => {
if (item === items) {
item.implementerId = idList;
@@ -613,20 +819,20 @@ export default {
}
this.modalshowflag = false;
},
cancleUserInfo() {
this.modalshowflag = false;
addProject() {
this.projectModel = true;
},
choiceZRRS(row, type, index) {
this.selectStandList = this.selectList
this.selectStandList = this.selectList;
this.type = type;
if (type === 1) {
this.drawerTitle = "选择责任人";
this.nodeList = [];
this.lsIndex = index;
this.lsType = type;
if(row.implementerId){
if (row.implementerId) {
this.nodeList = row.implementerId.split(",");
}else{
} else {
this.nodeList.push(row);
}
this.modalshowflag = true;
@@ -678,9 +884,9 @@ export default {
//提交事件
handleSubmit() {
let standList = []
this.listForm.breakdownList.forEach(item => {
this.breakdownList.forEach(item => {
if (item.implementer) {
standList.push(item)
standList.push(item);
}
});
this.listForm.breakdownList = standList
@@ -722,8 +928,8 @@ export default {
console.log(data);
this.selectList = data;
},
selectThree() {
selectThree(data) {
this.selectProject = data;
},
pageChange(page) {
this.page = page;
@@ -94,6 +94,7 @@
</el-table-column>
<el-table-column
label="操作"
min-width="100"
align="center">
<template slot-scope="scope">
<el-button
@@ -182,6 +183,7 @@
size="mini"
icon="el-icon-check"
@click="saveInfo"
:loading="submitLoading"
>提交
</el-button
>
@@ -205,6 +207,7 @@ export default {
data() {
return {
loading: false,
submitLoading: false,
fileList: [],
attributeTitle: '',
showInfoModal: false,
@@ -309,6 +312,7 @@ export default {
this.searchInfo()
},
searchInfo() {
this.loading = true
this.dataCenterSearch.startDataUploadTime = this.dataCenterSearch.dataUploadTime[0]
this.dataCenterSearch.endDataUploadTime = this.dataCenterSearch.dataUploadTime[1]
this.$http.get('fileMaterialCenter/file-material', this.dataCenterSearch, {
@@ -316,8 +320,10 @@ export default {
}, res => {
this.dataCenterTable = res.data.records
this.dataCenterSearch.total = res.data.total
this.loading = false
}, e => {
console.log(e)
this.loading = false
})
},
clearSearch() {
@@ -373,6 +379,7 @@ export default {
// this.attributeEO.attachFileId = fileIdList.join(',')
},
saveInfo() {
this.submitLoading = true
this.$refs['attributeEO'].validate((valid) => {
if (valid && this.attributeEO.attachFileId !== '') {
if (this.attributeTitle === '新增'){
@@ -385,6 +392,7 @@ export default {
(res) => {
if (res.ok) {
this.$message.success('新增成功')
this.submitLoading = false
this.cancelModel()
this.searchInfo()
}
@@ -400,6 +408,7 @@ export default {
(res) => {
if (res.ok) {
this.$message.success('修改成功')
this.submitLoading = false
this.cancelModel()
this.searchInfo()
}
@@ -409,6 +418,7 @@ export default {
} else {
this.$message.error('附件不能为空')
this.submitLoading = false
}
})
@@ -426,20 +436,16 @@ export default {
},
},
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)
})
this.searchInfo()
}
}
</script>
<style scoped lang="less">
#dataCenter {
/deep/ .el-input--small .el-input__inner {
width: 160px;
}
background-color: white;
height: 100%;
padding: 10px 20px;
@@ -4307,8 +4307,8 @@ export default {
}
formData.advanceSearchVOStr = JSON.stringify(advanceSearchVOList);
this.SarExportSearchEo = formData
formData.startIssueTime = formData.issueTime[0]
formData.endIssueTime = formData.issueTime[1]
formData.startIssueTime = formData.issueTime?formData.issueTime[0]:null
formData.endIssueTime = formData.issueTime?formData.issueTime[1]:null
formData.issueTime = null
this.loading = true
@@ -611,6 +611,7 @@
</el-form-item>
</template>
<template v-else-if="field.attrField === 'CYCVPPSBMBUSS'">
<el-tooltip class="item" effect="light" content="关联模块--乘用车VPPS编码" placement="right">
<el-form-item
prop="CYCVPPSBMBUSS"
label-width="150px"
@@ -619,6 +620,7 @@
<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>
</el-tooltip>
</template>
<template v-else-if="field.attrField === 'CYCVPPSCNBUSS'">
<el-form-item title="关联模块--乘用车vpps中文名称" label="关联模块--乘用车vpps中文名称" label-width="150px"
@@ -630,6 +632,7 @@
</el-form-item>
</template>
<template v-else-if="field.attrField === 'KCVPPSBMBUSS'">
<el-tooltip class="item" effect="light" content="关联模块--卡车VPPS编码" placement="right">
<el-form-item
prop="KCVPPSBMBUSS"
label-width="150px"
@@ -638,6 +641,7 @@
<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>
</el-tooltip>
</template>
<template v-else-if="field.attrField === 'KCVPPSCNBUSS'">
<el-form-item title="关联模块--乘用车vpps中文名称" label="关联模块--乘用车vpps中文名称" label-width="150px"
@@ -832,8 +836,8 @@
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-formItem>-->
<el-formItem label="代替企标编号" prop="replaceStandNum" class="search-item">
<el-input v-model="sarConfigStandSearch.replaceStandNum" @keyup.enter.native="searchConfiguraStand" placeholder="根据代替企标编号查找" clearable :maxlength="100"/>
<el-formItem label="企标名称" prop="replaceStandNum" class="search-item">
<el-input v-model="sarConfigStandSearch.standName" @keyup.enter.native="searchConfiguraStand" placeholder="根据企标名称查找" clearable :maxlength="100"/>
</el-formItem>
<el-form-item class="search-item btn-box">
<el-button
@@ -876,13 +880,13 @@
<el-table-column
show-overflow-tooltip
prop="standCode"
label="标准"
label="企标编"
align="center"
>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称"
label="中文名称"
width="200"
align="center">
</el-table-column>
@@ -908,7 +912,7 @@
<!-- </el-table-column>-->
<el-table-column
prop="standStatusShow"
label="标准状态"
label="文本状态"
width="200"
align="center">
</el-table-column>
@@ -3759,6 +3759,10 @@ export default {
}
formData.advanceSearchVOStr = JSON.stringify(advanceSearchVOList);
this.SarExportSearchEo = formData
formData.startIssueTime = formData.issueTime?formData.issueTime[0]:null
formData.endIssueTime = formData.issueTime?formData.issueTime[1]:null
formData.issueTime = null
this.SarExportSearchEo = formData
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', formData, {