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

# Conflicts:
#	src/pages/regulatoryRepository/foreignStandardsAndRegulations/index.vue
This commit is contained in:
zhaokaiyao@91isoft.com
2021-12-29 16:08:46 +08:00
337 changed files with 86811 additions and 18544 deletions
+6 -29
View File
@@ -69,34 +69,6 @@
<el-main> <el-main>
<nav-menu></nav-menu> <nav-menu></nav-menu>
<div class="sub-container" style="margin-left: 200px"> <div class="sub-container" style="margin-left: 200px">
<!-- <div style="background-color: #0068B7; height: 65px; width: 100%">
<span style="color: #fff; line-height: 65px; float: left; font-size: 20px; font-weight: 600;">
标准法规管理系统 Standard and Regulation Management System
</span>
header头部 右侧内容 当前登录人和退出
<div class="header-right" style="display: inline-block; float: right; margin-right: 20px; color: #fff">
<div class="user-info">
<el-dropdown
trigger="click"
@command="handleCommand"
>
<div class="user-box" style="margin-top: 23px;">
<img :src="userAvator" v-if="$store.getters.userInfo.avator">
<span class="iconfont" v-else style="color: #FFFFFF;">&#xe69b;</span>
<span style="color: #FFFFFF;">{{ $store.getters.userInfo.uName }}</span>
<i style="color: #FFFFFF;" class="el-icon-arrow-down"/>
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="loginOut">退出</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
<div class="logo">
<img :src="logo" />
</div>
</div>
<com-header></com-header>-->
<div class="container-box"> <div class="container-box">
<router-view/> <router-view/>
</div> </div>
@@ -238,7 +210,12 @@ export default {
}, },
// 监听路由 控制isBoolean // 监听路由 控制isBoolean
$route() { $route() {
if (this.$route.name !== 'Login' && this.$route.name !== 'Home' && !this.$route.meta.isBoolean && this.$route.name !== 'beeEChungLogin' && this.$route.name !== 'beeEnergyLogin' && this.$route.name !== 'mdLawLogin' && this.$route.name !== 'nuoBLogin' && this.$route.name !== 'sTLogin' && this.$route.name !== 'StandardSearch') { if (this.$route.name !== 'Login' && this.$route.name !== 'Home'
&& !this.$route.meta.isBoolean && this.$route.name !== 'beeEChungLogin'
&& this.$route.name !== 'beeEnergyLogin' && this.$route.name !== 'mdLawLogin'
&& this.$route.name !== 'nuoBLogin' && this.$route.name !== 'sTLogin'
&& this.$route.name !== 'StandardSearch' && this.$route.name !== 'phoneIndex'
&& this.$route.name !== 'blankPage' && this.$route.name !== 'processedPage' ) {
this.isBoolean = true this.isBoolean = true
} else { } else {
this.isBoolean = false this.isBoolean = false
+28
View File
@@ -0,0 +1,28 @@
import axios from '@/common/axiosV2'
export function getFileAttId (data) {
this.getBusStandFileByAttId(data)
.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(onlyOfficeUrl+'/onlyOffice?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
}
export function getBusStandFileByAttId(data) {
return axios({
url: 'api/att/attFile/getBusStandFileByAttId',
method: 'get',
params: data
})
}
File diff suppressed because one or more lines are too long
+10
View File
@@ -0,0 +1,10 @@
import axios from "@/common/axiosV2";
// 手机端查询人
export function phoneUser(params) {
return axios({
url: "api/sys/user/getUserByPhone",
method: "get",
params
});
}
+51 -1
View File
@@ -79,7 +79,7 @@ export function processCreateStand (data) {
export function processCreateBuss (data) { export function processCreateBuss (data) {
return axios({ return axios({
url: '/api/lawss/actSarItemsLaws/processCreateBuss', url: '/api/lawss/actSarItemsBuss/processCreateBuss',
method: 'post', method: 'post',
data data
}) })
@@ -440,6 +440,22 @@ export function isEnd (data) {
}) })
} }
export function processModelHisOne (data) {
return axios({
url: '/api/lawss/activiti/processModelHisOne',
method: 'get',
params: data
})
}
export function processModelHisOneCount (data) {
return axios({
url: '/api/lawss/activiti/processModelHisOneCount',
method: 'get',
params: data
})
}
export function evaluationHisList (data) { export function evaluationHisList (data) {
return axios({ return axios({
url: '/api/lawss/activiti/evaluationHisList', url: '/api/lawss/activiti/evaluationHisList',
@@ -681,6 +697,14 @@ export function getStandInfoById (data) {
params: data params: data
}) })
} }
// 流程撤回接口
export function processBack(data) {
return axios({
url: 'api/lawss/activiti/startProcessRollBack',
method: 'post',
data
})
}
// 标准法规工作组接口 // 标准法规工作组接口
export function workGroup(data) { export function workGroup(data) {
return axios({ return axios({
@@ -689,3 +713,29 @@ export function workGroup(data) {
params: data params: data
}) })
} }
// 手机端查询token
export function loginMobile(data) {
return axios({
url: 'api/lawss/activiti/loginMobile',
method: 'post',
params: data
})
}
// 日历信息编辑
export function updateMeet(data) {
return axios({
url: '/api/sapMeetInfo/updateMeeting',
method: 'post',
params: data
})
}
// 上传接口
export function upFile(data) {
return axios({
url: '/api/att/attFile/upload',
method: 'post',
data
})
}
+14
View File
@@ -1,4 +1,18 @@
// 设置查询区域 // 设置查询区域
.itemsTextBox {
min-height: 300px;
max-height: 500px;
overflow: auto;
line-height: 20px;
td {
border: 1px solid #606266;
text-align: center;
}
/deep/ td {
border: 1px solid #606266;
text-align: center;
}
}
.search-area{ .search-area{
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
+25
View File
@@ -1,6 +1,31 @@
.phoneBox { .phoneBox {
width: 100%; width: 100%;
height: 100%; height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 51px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
margin-top: 51px;
height: calc(~'100% - 154px');
}
} }
@media screen and (max-width: 1366px) { @media screen and (max-width: 1366px) {
.el-message { .el-message {
+8 -2
View File
@@ -8,6 +8,8 @@ import router from '@/router'
import store from '@/store' import store from '@/store'
import {Message} from 'element-ui' import {Message} from 'element-ui'
import { baseUrl,webLoginType,ssoLoginUrlDev } from '@/sysConfig' import { baseUrl,webLoginType,ssoLoginUrlDev } from '@/sysConfig'
import isMobile from "../../store/isMobile";
import domMessage from '../messageOnce/messageOnce' import domMessage from '../messageOnce/messageOnce'
const messageOnce = new domMessage() const messageOnce = new domMessage()
@@ -67,8 +69,12 @@ _axios.interceptors.response.use(
} }
} }
if(res.data && res.data.respCode && res.data.respCode === 'LE505'){ if(res.data && res.data.respCode && res.data.respCode === 'LE505'){
window.sessionStorage.clear() if (isMobile()) {
messageOnce.warning({ localStorage.removeItem('token')
return router.push('/phoneIndex')
}
window.sessionStorage.clear()
messageOnce.warning({
message: '登录超时,请重新登录', message: '登录超时,请重新登录',
type: 'warning' type: 'warning'
}) })
+17 -10
View File
@@ -3,6 +3,8 @@ import router from '@/router'
import store from '@/store' import store from '@/store'
import {Message} from 'element-ui' import {Message} from 'element-ui'
import { baseUrl,webLoginType,ssoLoginUrlDev } from '@/sysConfig' import { baseUrl,webLoginType,ssoLoginUrlDev } from '@/sysConfig'
import isMobile from "../../store/isMobile";
import domMessage from '../messageOnce/messageOnce' import domMessage from '../messageOnce/messageOnce'
// import 'element-ui/lib/theme-chalk/index.css' // import 'element-ui/lib/theme-chalk/index.css'
@@ -62,16 +64,21 @@ service.interceptors.response.use(
} }
} }
if(res.data && res.data.respCode != undefined && res.data.respCode === 'LE505'){ if(res.data && res.data.respCode != undefined && res.data.respCode === 'LE505'){
window.sessionStorage.clear() if (isMobile()) {
messageOnce.warning({ localStorage.removeItem('token')
message: '登录超时,请重新登录', return router.push('/phoneIndex')
type: 'warning' }else {
}) window.sessionStorage.clear()
if(webLoginType != null && webLoginType === 'idm' ) { messageOnce.warning({
// idm 统一认证登录页面 message: '登录超时,请重新登录',
return window.location.href = ssoLoginUrlDev type: 'warning'
}else if(webLoginType != null && webLoginType === 'dev'){ })
return router.push('/login') if(webLoginType != null && webLoginType === 'idm' ) {
// idm 统一认证登录页面
return window.location.href = ssoLoginUrlDev
}else if(webLoginType != null && webLoginType === 'dev'){
return router.push('/login')
}
} }
} }
return res.data return res.data
+7
View File
@@ -5,6 +5,8 @@
import base64 from './base64' import base64 from './base64'
import dateFormat from './date' import dateFormat from './date'
import hasPermission from './hasPermission' import hasPermission from './hasPermission'
import preview from './preview'
// 表单验证 // 表单验证
import verify from './verify' import verify from './verify'
const install = function (Vue) { const install = function (Vue) {
@@ -31,6 +33,11 @@ const install = function (Vue) {
get () { get () {
return hasPermission return hasPermission
} }
},
$preview: {
get () {
return preview
}
} }
}) })
} }
+26
View File
@@ -0,0 +1,26 @@
/**
* 文件预览
*/
import { onlyOfficeUrl,kkFileViewUrl } from '@/sysConfig'
import { getBusStandFileByAttId } from 'api/process'
let Base64 = require('js-base64').Base64;
export default attId => {
getBusStandFileByAttId({
attId
}).then(res => {
if(res){
const editFileInfo = res.data
if(editFileInfo.fileSuffix.toLowerCase() === 'pdg'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix.toLowerCase() === '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(onlyOfficeUrl+'/onlyOffice?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
window.open(kkFileViewUrl+'/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
}
}
}).catch(e => {
})
}
+21 -33
View File
@@ -76,6 +76,7 @@
</template> </template>
<script> <script>
import { onlyOfficeUrl } from '@/sysConfig'
import { getConvertFileByAttId,getBusStandFileByAttId } from 'api/process' import { getConvertFileByAttId,getBusStandFileByAttId } from 'api/process'
let Base64 = require('js-base64').Base64; let Base64 = require('js-base64').Base64;
export default { export default {
@@ -352,39 +353,26 @@ export default {
this.$message.warning('文件不存在,下载失败') this.$message.warning('文件不存在,下载失败')
} }
} else { } else {
this.getBusStandFileByAttId(attId) this.$preview(attId)
.then(res => { // this.getBusStandFileByAttId(attId)
console.log(res) // .then(res => {
if(res){ // console.log(res)
const editFileInfo = res // if(res){
console.log(editFileInfo) // const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){ // console.log(editFileInfo)
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl) // if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){ // window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id)) // }else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
}else { // window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
const nowTime = new Date().getTime() // }else {
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl))); // const nowTime = new Date().getTime()
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(onlyOfficeUrl+'/onlyOffice?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 => {
// switch (res.convertState) { // console.log(e)
// case 'ERROR': // this.$message.warning('文件不存在,预览失败')
// 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('文件不存在,预览失败')
})
} }
}, },
+14 -2
View File
@@ -12,6 +12,9 @@
:value="value" :value="value"
:placeholder="placeholder" :placeholder="placeholder"
:disabled="disabled" :disabled="disabled"
type="textarea"
resize="none"
:autosize="true"
clearable clearable
@input="handleChange" @input="handleChange"
></el-input> ></el-input>
@@ -63,6 +66,15 @@ export default {
} }
</script> </script>
<style scoped> <style lang="less" scoped>
.add-form-item{
/deep/.el-form-item__content{
.el-textarea{
width: calc(~'100% - 90px');
}
}
}
/deep/.el-dialog__body{
padding: 15px 20px;
}
</style> </style>
@@ -5,6 +5,7 @@
:prop="config.attrField" :prop="config.attrField"
:label-width="labelWidth" :label-width="labelWidth"
class="add-form-item" class="add-form-item"
style="width: 100%;"
:class="{'form-item-disabled': disabled}" :class="{'form-item-disabled': disabled}"
> >
<el-input <el-input
@@ -42,7 +43,7 @@
v-model="replaceLawsNumForm.standType" v-model="replaceLawsNumForm.standType"
placeholder="请选择" placeholder="请选择"
> >
<el-option value="ALL" label="全部"></el-option> <el-option value="" label="全部"></el-option>
<el-option value="INLAND" label="国内"></el-option> <el-option value="INLAND" label="国内"></el-option>
<el-option value="FOREIGN" label="海外"></el-option> <el-option value="FOREIGN" label="海外"></el-option>
</el-select> </el-select>
@@ -125,8 +126,8 @@
@pageChange="pageChangeReplace" @pageChange="pageChangeReplace"
@pageSizeChange="pageSizeChangeReplace"></pagination> @pageSizeChange="pageSizeChangeReplace"></pagination>
<div slot="footer" class="demo-drawer-footer"> <div slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" icon="el-icon-close" @click="replaceLawsNumModel = false">取消</el-button> <el-button class="common-button-default" round size="mini" icon="el-icon-close" @click="replaceLawsNumModel = false">取消</el-button>
<el-button type="primary" round class="common-button-primary" icon="el-icon-check" @click="replaceLawsNumModelBt">提交</el-button> <el-button type="primary" round size="mini" class="common-button-primary" icon="el-icon-check" @click="replaceLawsNumModelBt">提交</el-button>
</div> </div>
</el-dialog> </el-dialog>
@@ -176,7 +177,7 @@ export default {
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
total: 0, total: 0,
standType: 'ALL', standType: '',
quoteIdList: '', quoteIdList: '',
validFlag: '0', validFlag: '0',
menuId: 'nomenu' menuId: 'nomenu'
@@ -0,0 +1,349 @@
<template>
<div>
<el-form-item
:label="config.attrName"
:prop="config.attrField"
:label-width="labelWidth"
class="add-form-item"
style="width: 100%;"
:class="{'form-item-disabled': disabled}"
>
<el-input
:value="value"
:placeholder="placeholder"
:disabled="disabled"
clearable
@input="handleChange"
></el-input>
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
@click="selectLaws"
v-if="(processModel && !disabled) || !processModel"
>{{config.attrField === 'releventStand' ? '选择标准' :'手动查找'}}</el-button>
</el-form-item>
<el-dialog
:title="config.attrName"
:visible.sync="replaceLawsNumModel"
width="875px"
:close-on-click-modal="false"
@close="replaceLawsNumModelCancel"
:append-to-body="true"
>
<div class="search-area">
<div class="left">
<el-form :modal="replaceLawsNumForm" :inline="true" class="label-input-form">
<el-form-item label="编号/名称" class="search-item">
<el-input v-model="replaceLawsNumForm.standNumber" placeholder="根据编号/名称查找" clearable :maxlength="100"></el-input>
</el-form-item>
<el-form-item label="国内/海外" class="search-item">
<el-select
v-model="replaceLawsNumForm.standType"
placeholder="请选择"
>
<el-option value="1" label="企标"></el-option>
<el-option value="INLAND" label="国内"></el-option>
<el-option value="FOREIGN" label="海外"></el-option>
</el-select>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
icon="el-icon-search"
type="primary"
class="common-button-primary"
round
@click="getReplaceLawsNumRowInfo">
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
icon="el-icon-refresh-left"
round
type="default"
@click="getResetLawsNumRow"></el-button>
</el-form-item>
</el-form>
</div>
</div>
<el-table
ref="selections"
:data="replaceLawsNumRow"
tooltip-effect="dark"
style="width: 100%;overflow-y: auto;overflow-x: hidden;"
border
:height="300"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectReplaceStandNumRowChange">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
label="标准编号"
width="130">
<template slot-scope="scope">
<a v-if="scope.row.standYear" @click="handlePreview(scope.row)">{{ scope.row.standSort }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)">{{ scope.row.standSort }} {{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称"
width="130">
</el-table-column>
<el-table-column
prop="issueTime"
label="发布日期"
width="130">
</el-table-column>
<el-table-column
prop="putTime"
label="实施日期"
width="130">
</el-table-column>
<el-table-column
prop="standNatureShow"
label="标准性质"
width="130">
</el-table-column>
<el-table-column
prop="standStateShow"
label="标准状态"
width="130">
</el-table-column>
</el-table>
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
<!--分页-->
<pagination
style="position: relative;"
:page="replacePage"
:total="replaceTotal"
@pageChange="pageChangeReplace"
@pageSizeChange="pageSizeChangeReplace"></pagination>
<div slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" round size="mini" icon="el-icon-close" @click="replaceLawsNumModel = false">取消</el-button>
<el-button type="primary" round size="mini" class="common-button-primary" icon="el-icon-check" @click="replaceLawsNumModelBt">提交</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
name: 'CustomInput',
props: {
config: {
type: Object,
required: true
},
value: {
required: true
},
disabled: {
type: Boolean,
default: false
},
// 栅格比例
span: {
type: Number,
default: 24
},
// 是否为流程中使用
processModel: {
type: Boolean,
default: false
},
// label宽度
labelWidth: {
type: String,
default: '150px'
}
},
data () {
return {
replaceLawsNumModel: false,
sarBussionessLawsEO: {
replaceLawsNum: ''
},
// 代替标准号
replaceLawsNumForm: {
standNumber: '', // 政策编号
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
standType: 'INLAND',
quoteIdList: '',
validFlag: '0',
menuId: 'nomenu'
},
replaceLawsNumRow: [], // 代替政策号 数组内容
replaceTotal: 0,
selectedListRep: [],
replaceLoading: true,
replacePage: 1
}
},
computed: {
placeholder () {
return `请输入${this.config.attrName}`
},
showMessage () {
return `${this.config.attrName}不能为空`
},
isRequired () {
return !!this.config.isMust
}
},
methods: {
handleChange (event) {
const value = event
this.$emit('input', value)
},
selectLaws () {
this.replaceLawsNumModel = true
this.getReplaceLawsNumRow()
},
getReplaceLawsNumRowInfo() {
this.replaceLawsNumForm.page = 1
this.getReplaceLawsNumRow()
},
// 代替政策号 请求数据
getReplaceLawsNumRow () {
if (this.replaceLawsNumForm.standType === '1') {
let json = {}
json = this.replaceLawsNumForm
json.userId = this.$store.getters.userInfo.userId
json.standCode = this.replaceLawsNumForm.standNumber
this.$http.get('lawss/sarBussionessStand/getSarBussionStandPage', json, {
_this: this, loading: 'replaceLoading'
}, res => {
this.replaceLawsNumRow = res.data.list
this.replaceTotal = res.data.count
// if (this.selectedListRep.length !== 0) {
// this.selectedListRep.map((list) => {
// this.replaceLawsNumRow.map((item) => {
// if (list.id === item.id) {
// item._checked = true
// }
// })
// })
// }
}, e => {
})
} else {
if (this.sarBussionessLawsEO.replaceLawsNum !== null && this.sarBussionessLawsEO.replaceLawsNum !== '') {
this.replaceLawsNumForm.quoteIdList = this.quoteIdList1.toString() === '' ? '' : this.quoteIdList1
} else {
this.quoteIdList1 = []
this.replaceLawsNumForm.quoteIdList = ''
}
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', this.replaceLawsNumForm, {
_this: this,
loading: 'replaceLoading'
}, res => {
this.replaceLawsNumRow = res.data.list
this.replaceTotal = res.data.count
// if (this.selectedListRep.length !== 0) {
// this.selectedListRep.map((list) => {
// this.replaceLawsNumRow.map((item) => {
// if (list.id === item.id) {
// item._checked = true
// }
// })
// })
// }
}, e => {
})
}
},
// 代替政策编号-取消
replaceLawsNumModelCancel () {
this.$refs.selections.clearSelection()
},
// 代替政策号 table选择事件
selectReplaceStandNumRowChange (row) {
this.selectedListRep = row
},
// 代替政策分页
pageChangeReplace (page) {
this.replacePage = page
this.replaceLawsNumForm.page = page
this.getReplaceLawsNumRow()
},
pageSizeChangeReplace (pageSize) {
// this.replaceRows = pageSize
this.replaceLawsNumForm.pageSize = pageSize
this.getReplaceLawsNumRow()
},
// 代替政策编号确定
replaceLawsNumModelBt () {
let textArr = []
if (typeof this.value === 'string') {
if (this.value) {
textArr = this.value.split(',')
}
}
if (this.selectedListRep.length === 0) {
return this.$message({
message: '请先选择数据',
type: 'warning'
})
}
if (this.selectedListRep.length + textArr.length > 20) {
return this.$message({
message: '代替标准号最多选择20项',
type: 'warning'
})
}
this.selectedListRep.map((item) => {
let texts = ''
if (item.standYear != null && item.standYear !== '') {
texts = item.standSort !== null ? item.standSort + ' ' + item.standNumber + '-' + item.standYear : item.standNumber + '-' + item.standYear
} else {
texts = item.standSort !== null ? item.standSort + ' ' + item.standNumber : item.standNumber
}
textArr.push(texts)
textArr = [...new Set(textArr)]
this.replaceLawsNumModel = false
})
this.$emit('input', textArr.join(','))
this.$refs.selections.clearSelection()
},
// 点击查看
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherBussStandardDetails',
params: {
id: item.id,
pageType: 'BUSINESS_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
getResetLawsNumRow () {
this.replaceLawsNumForm = {
standNumber: '', // 政策编号
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
standType: 'ALL',
quoteIdList: '',
validFlag: '0'
}
this.getReplaceLawsNumRow()
}
}
}
</script>
<style scoped>
</style>
@@ -38,13 +38,20 @@
<div class="search-area"> <div class="search-area">
<div class="left"> <div class="left">
<el-form :modal="replaceLawsNumForm" :inline="true" class="label-input-form" @keyup.enter.native="getReplaceLawsNumRowFirst"> <el-form :modal="replaceLawsNumForm" :inline="true" class="label-input-form" @keyup.enter.native="getReplaceLawsNumRowFirst">
<el-form-item label="编号/名称" class="search-item"> <el-form-item label="标准编号" class="search-item">
<el-input <el-input
v-model="replaceLawsNumForm.standNumber" v-model="replaceLawsNumForm.standNumber"
placeholder="根据编号/名称查找" placeholder="根据标准编号查找"
clearable clearable
:maxlength="100"></el-input> :maxlength="100"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="标准名称" class="search-item">
<el-input
v-model="replaceLawsNumForm.standName"
placeholder="根据标准名称查找"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="标准来源" class="search-item" v-if="dataSource"> <el-form-item label="标准来源" class="search-item" v-if="dataSource">
<el-select <el-select
v-model="replaceLawsNumForm.standType" v-model="replaceLawsNumForm.standType"
@@ -182,6 +189,7 @@ export default {
// 代替标准号 // 代替标准号
replaceLawsNumForm: { replaceLawsNumForm: {
standNumber: '', // 标准编号 standNumber: '', // 标准编号
standName: '', // 标准编号
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
total: 0, total: 0,
@@ -384,10 +392,11 @@ export default {
this.replacePage = 1 this.replacePage = 1
this.replaceLawsNumForm = { this.replaceLawsNumForm = {
standNumber: '', // 标准编号 standNumber: '', // 标准编号
standName: '', // 标准编号
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
total: 0, total: 0,
standType: 'ALL', standType: 'INLAND',
quoteIdList: '', quoteIdList: '',
validFlag: '0' validFlag: '0'
} }
@@ -1,73 +1,78 @@
<template> <template>
<!-- <div>--> <!-- <div>-->
<el-col :span="span"> <el-col :span="span">
<el-form-item <el-form-item
:label="config.attrName" :label="config.attrName"
:prop="config.attrField" :prop="config.attrField"
:label-width="labelWidth" :label-width="labelWidth"
class="add-form-item leftButton" class="add-form-item leftButton"
:class="{'form-item-disabled': disabled}" :class="{'form-item-disabled': disabled}"
> >
<el-input <el-input
:value="value" type="textarea"
:placeholder="placeholder" resize="none"
:disabled="disabled" :autosize="true"
clearable :value="value"
@input="handleChange" :placeholder="placeholder"
:disabled="disabled"
clearable
@input="handleChange"
></el-input> ></el-input>
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
style="position:absolute;top: 10px;right: 0;" style="position:absolute;top: 10px;right: 0;"
@click="selectLaws" @click="selectLaws"
v-if="(processModel && !disabled) || !processModel" v-if="(processModel && !disabled) || !processModel"
>手动查找</el-button> >手动查找
</el-button>
</el-form-item> </el-form-item>
<el-dialog <el-dialog
:title="config.attrName" :title="config.attrName"
:visible.sync="replaceLawsNumModel" :visible.sync="replaceLawsNumModel"
width="875px" width="875px"
:close-on-click-modal="false" :close-on-click-modal="false"
@close="replaceLawsNumModelCancel" @close="replaceLawsNumModelCancel"
:append-to-body="true" :append-to-body="true"
> >
<div class="search-area"> <div class="search-area">
<div class="left"> <div class="left">
<el-form :modal="replaceLawsNumForm" :inline="true" class="label-input-form" @keyup.enter.native="getReplaceLawsNumRowSearch"> <el-form :modal="replaceLawsNumForm" :inline="true" class="label-input-form"
<!-- <el-form-item label="数据来源" class="search-item">--> @keyup.enter.native="getReplaceLawsNumRowSearch">
<!-- <el-select v-model="replaceLawsNumForm.dataSource" filterable>--> <!-- <el-form-item label="数据来源" class="search-item">-->
<!-- <el-option--> <!-- <el-select v-model="replaceLawsNumForm.dataSource" filterable>-->
<!-- v-for="item in dataSourceOptions"--> <!-- <el-option-->
<!-- :key="item.value"--> <!-- v-for="item in dataSourceOptions"-->
<!-- :value="item.value"--> <!-- :key="item.value"-->
<!-- :label="item.label"--> <!-- :value="item.value"-->
<!-- >--> <!-- :label="item.label"-->
<!-- </el-option>--> <!-- >-->
<!-- </el-select>--> <!-- </el-option>-->
<!-- </el-form-item>--> <!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="企标编号/标准名称" class="search-item input-width"> <el-form-item label="企标编号/标准名称" class="search-item input-width">
<el-input <el-input
v-model="replaceLawsNumForm.numberName" v-model="replaceLawsNumForm.numberName"
placeholder="根据企标编号/标准名称查找" placeholder="根据企标编号/标准名称查找"
clearable clearable
:maxlength="100"></el-input> :maxlength="100"></el-input>
</el-form-item> </el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
round round
@click="getReplaceLawsNumRowSearch"> @click="getReplaceLawsNumRowSearch">
查询 查询
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button <el-button
class="common-button-default" class="common-button-default"
round round
type="default" type="default"
@click="getResetLawsNumRow"> @click="getResetLawsNumRow">
清空 清空
</el-button> </el-button>
</el-form-item> </el-form-item>
@@ -75,77 +80,87 @@
</div> </div>
</div> </div>
<el-table <el-table
ref="selections" ref="selections"
:data="replaceLawsNumRow" :data="replaceLawsNumRow"
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%;overflow-y: auto;overflow-x: hidden;" style="width: 100%;overflow-y: auto;overflow-x: hidden;"
border border
:height="300" :height="300"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
@selection-change="selectReplaceStandNumRowChange"> @selection-change="selectReplaceStandNumRowChange">
<el-table-column <el-table-column
type="selection" type="selection"
width="55" width="55"
align="center"> align="center">
</el-table-column> </el-table-column>
<!-- <el-table-column--> <!-- <el-table-column-->
<!-- prop="standSortShow"--> <!-- prop="standSortShow"-->
<!-- label="企标类别"--> <!-- label="企标类别"-->
<!-- min-width="130"--> <!-- min-width="130"-->
<!-- >--> <!-- >-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column <el-table-column
label="企标编号" label="企标编号"
min-width="130"> min-width="130">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="dataSource === 'BUSINESS'"> <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 v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standCode
}}</a>
<a v-else class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standCode }}</a> <a v-else class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standCode }}</a>
</span> </span>
<span v-else> <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 v-if="scope.row.standYear" class="table-jump"
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}</a> @click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{
scope.row.standNumber
}}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{
scope.row.standSortShow
}}</a>
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standName" prop="standName"
label="标准名称" label="标准名称"
min-width="130"> min-width="130">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="issueTime" prop="issueTime"
label="发布日期" label="发布日期"
width="130"> width="130">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="putTime" prop="putTime"
label="实施日期" label="实施日期"
width="130"> width="130">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standStatusShow" prop="standStatusShow"
label="文本状态" label="文本状态"
width="130"> width="130">
</el-table-column> </el-table-column>
</el-table> </el-table>
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading> <loading :loading="replaceLoading">{{ $t('m.dataAcquisition') }}</loading>
<!--分页--> <!--分页-->
<pagination <pagination
style="position: relative;" style="position: relative;"
:page="replacePage" :page="replacePage"
:total="replaceTotal" :total="replaceTotal"
@pageChange="pageChangeReplace" @pageChange="pageChangeReplace"
@pageSizeChange="pageSizeChangeReplace"></pagination> @pageSizeChange="pageSizeChangeReplace"></pagination>
<div slot="footer" class="demo-drawer-footer"> <div slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" round icon="el-icon-close" @click="replaceLawsNumModel = false">取消</el-button> <el-button class="common-button-default" round icon="el-icon-close" @click="replaceLawsNumModel = false">取消
<el-button type="primary" round class="common-button-primary" icon="el-icon-check" @click="replaceLawsNumModelBt">提交</el-button> </el-button>
<el-button type="primary" round class="common-button-primary" icon="el-icon-check"
@click="replaceLawsNumModelBt">提交
</el-button>
</div> </div>
</el-dialog> </el-dialog>
</el-col> </el-col>
<!-- </div>--> <!-- </div>-->
</template> </template>
@@ -180,7 +195,7 @@ export default {
default: '150px' default: '150px'
} }
}, },
data () { data() {
return { return {
replaceLawsNumModel: false, replaceLawsNumModel: false,
sarBussionessLawsEO: { sarBussionessLawsEO: {
@@ -212,28 +227,28 @@ export default {
} }
}, },
computed: { computed: {
placeholder () { placeholder() {
return `请输入${this.config.attrName}` return `请输入${this.config.attrName}`
}, },
showMessage () { showMessage() {
return `${this.config.attrName}不能为空` return `${this.config.attrName}不能为空`
}, },
isRequired () { isRequired() {
return !!this.config.isMust return !!this.config.isMust
} }
}, },
methods: { methods: {
getReplaceLawsNumRowSearch () { getReplaceLawsNumRowSearch() {
this.replaceLawsNumForm.page = 1 this.replaceLawsNumForm.page = 1
this.replacePage = 1 this.replacePage = 1
this.getReplaceLawsNumRow() this.getReplaceLawsNumRow()
}, },
handleChange (event) { handleChange(event) {
// const value = event.target.value // const value = event.target.value
const value = event const value = event
this.$emit('input', value) this.$emit('input', value)
}, },
selectLaws () { selectLaws() {
// if (this.standNumFlag === 1) { // if (this.standNumFlag === 1) {
// this.$refs.selections.selectAll(false) // this.$refs.selections.selectAll(false)
// } // }
@@ -242,7 +257,7 @@ export default {
this.getReplaceLawsNumRow() this.getReplaceLawsNumRow()
}, },
// 代替政策号 请求数据 // 代替政策号 请求数据
getReplaceLawsNumRow () { getReplaceLawsNumRow() {
if (this.sarBussionessLawsEO.replaceLawsNum !== null && this.sarBussionessLawsEO.replaceLawsNum !== '') { if (this.sarBussionessLawsEO.replaceLawsNum !== null && this.sarBussionessLawsEO.replaceLawsNum !== '') {
this.replaceLawsNumForm.quoteIdList = this.quoteIdList1.toString() === '' ? '' : this.quoteIdList1 this.replaceLawsNumForm.quoteIdList = this.quoteIdList1.toString() === '' ? '' : this.quoteIdList1
} else { } else {
@@ -257,7 +272,7 @@ export default {
formData.standType = this.replaceLawsNumForm.dataSource === 'INLAND_STAND' ? 'INLAND' formData.standType = this.replaceLawsNumForm.dataSource === 'INLAND_STAND' ? 'INLAND'
: this.replaceLawsNumForm.dataSource === 'FOREIGN_STAND' ? 'FOREIGN' : '' : this.replaceLawsNumForm.dataSource === 'FOREIGN_STAND' ? 'FOREIGN' : ''
formData.standNumber = formData.numberName formData.standNumber = formData.numberName
let url = this.replaceLawsNumForm.dataSource === 'BUSINESS' ? 'lawss/sarBussionessStand/getSarBussionStandPage' : 'sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage' let url = this.replaceLawsNumForm.dataSource === 'BUSINESS' ? 'lawss/sarBussionessStand/getSarBussionStandPage' : 'sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage'
this.$http.get(url, formData, { this.$http.get(url, formData, {
_this: this, _this: this,
loading: 'replaceLoading' loading: 'replaceLoading'
@@ -277,27 +292,27 @@ export default {
}) })
}, },
// 代替政策编号-取消 // 代替政策编号-取消
replaceLawsNumModelCancel () { replaceLawsNumModelCancel() {
// this.replaceLawsNumModel = false // this.replaceLawsNumModel = false
this.$refs.selections.clearSelection() this.$refs.selections.clearSelection()
}, },
// 代替政策号 table选择事件 // 代替政策号 table选择事件
selectReplaceStandNumRowChange (row) { selectReplaceStandNumRowChange(row) {
this.selectedListRep = row this.selectedListRep = row
}, },
// 代替政策分页 // 代替政策分页
pageChangeReplace (page) { pageChangeReplace(page) {
this.replacePage = page this.replacePage = page
this.replaceLawsNumForm.page = page this.replaceLawsNumForm.page = page
this.getReplaceLawsNumRow() this.getReplaceLawsNumRow()
}, },
pageSizeChangeReplace (pageSize) { pageSizeChangeReplace(pageSize) {
// this.replaceRows = pageSize // this.replaceRows = pageSize
this.replaceLawsNumForm.pageSize = pageSize this.replaceLawsNumForm.pageSize = pageSize
this.getReplaceLawsNumRow() this.getReplaceLawsNumRow()
}, },
// 代替政策编号确定 // 代替政策编号确定
replaceLawsNumModelBt () { replaceLawsNumModelBt() {
let textArr = [] let textArr = []
if (typeof this.value === 'string') { if (typeof this.value === 'string') {
@@ -342,7 +357,7 @@ export default {
this.$refs.selections.clearSelection() this.$refs.selections.clearSelection()
}, },
// 点击查看 // 点击查看
handlePreview (item) { handlePreview(item) {
let name = '' let name = ''
let pageType = '' let pageType = ''
switch (this.dataSource) { switch (this.dataSource) {
@@ -369,7 +384,7 @@ export default {
window.open(routeUrl.href, '_blank') window.open(routeUrl.href, '_blank')
}, },
getResetLawsNumRow () { getResetLawsNumRow() {
this.replaceLawsNumForm = { this.replaceLawsNumForm = {
dataSource: 'BUSINESS', dataSource: 'BUSINESS',
numberName: '', // 政策编号 numberName: '', // 政策编号
@@ -387,13 +402,23 @@ export default {
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
/deep/.el-dialog__body { /deep/ .el-dialog__body {
padding: 0 20px 0; padding: 0 20px 0;
} }
/deep/.el-dialog__footer {
padding: 0 20px 20px; /deep/ .el-dialog__footer {
} padding: 0 20px 20px;
/deep/.input-width input.el-input__inner { }
width: 220px;
.add-form-item {
/deep/ .el-form-item__content {
.el-textarea {
width: calc(~'100% - 90px');
}
} }
}
/deep/ .input-width input.el-input__inner {
width: 220px;
}
</style> </style>
+5
View File
@@ -26,6 +26,9 @@ import MechanismTree from './mechanismTree'
import SQTree from './SQTree' import SQTree from './SQTree'
import OrgTable from './OrgTable' import OrgTable from './OrgTable'
import MySelect from './mySelect' import MySelect from './mySelect'
import PhoneHistortTable from './phoneHistortTable'
import phoneRole from './phoneRole'
const install = function (Vue) { const install = function (Vue) {
Vue.component('loading', Loading) Vue.component('loading', Loading)
@@ -52,6 +55,8 @@ const install = function (Vue) {
Vue.component('RoleTree', RoleTree) Vue.component('RoleTree', RoleTree)
Vue.component('MechanismTree', MechanismTree) Vue.component('MechanismTree', MechanismTree)
Vue.component('MySelect', MySelect) Vue.component('MySelect', MySelect)
Vue.component('phoneRole', phoneRole)
Vue.component('PhoneHistortTable', PhoneHistortTable)
} }
export default { export default {
+5 -2
View File
@@ -2,6 +2,7 @@
<div class="roleTree"> <div class="roleTree">
<el-drawer <el-drawer
:title="isTitle" :title="isTitle"
v-if="isVisible2"
:visible.sync="isVisible2" :visible.sync="isVisible2"
:wrapperClosable="false" :wrapperClosable="false"
@close="handleTreeDrawerCancel" @close="handleTreeDrawerCancel"
@@ -22,12 +23,14 @@
<el-tree <el-tree
class="filter-tree tree-line" class="filter-tree tree-line"
:data="treeData" :data="treeData"
v-if="isVisible2"
:props="defaultProps" :props="defaultProps"
icon-class="icon-tree" icon-class="icon-tree"
:check-strictly="true" :check-strictly="true"
:current-node-key="nodeKeyId" :current-node-key="nodeKeyId"
node-key="id" node-key="id"
:filter-node-method="filterNode" :filter-node-method="filterNode"
:default-checked-keys="nodeList"
highlight-current highlight-current
:auto-expand-parent="true" :auto-expand-parent="true"
show-checkbox show-checkbox
@@ -108,8 +111,9 @@ export default {
this.isVisible2 = false this.isVisible2 = false
}, },
saveUserInfo() { saveUserInfo() {
let arr = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
this.isVisible2 = false this.isVisible2 = false
this.$emit('checkedRole', this.roleList) this.$emit('checkedRole', arr)
}, },
loadNode(node, resolve) { loadNode(node, resolve) {
if (node.level === 0) { if (node.level === 0) {
@@ -137,7 +141,6 @@ export default {
loading: 'treeLoading' loading: 'treeLoading'
}, res => { }, res => {
this.treeData = res.data this.treeData = res.data
console.log(this.treeData);
this.nodeKeyId = this.treeData[0].id this.nodeKeyId = this.treeData[0].id
this.id = res.data[0].id this.id = res.data[0].id
}, e => { }, e => {
+50 -41
View File
@@ -111,27 +111,55 @@
path: '/domesticStandardsAndRegulations', path: '/domesticStandardsAndRegulations',
menuId: '3e3657498664beaa0dc1de1ecb3ae0da' menuId: '3e3657498664beaa0dc1de1ecb3ae0da'
}, },
// {
// title: '零部件编号申请',
// path: '/partCodeApply',
// menuId: 'ad9db496772c075f78495382b7581fe9'
// },
{
title: '工作组数据统计',
path: '/dataStatisComments',
menuId: ''
},
{ {
title: '海外法规', title: '海外法规',
path: '/foreignStandardsAndRegulations', path: '/foreignStandardsAndRegulations',
menuId: '18c1e5134ea0cf865e8960b26b81fd8c' menuId: '18c1e5134ea0cf865e8960b26b81fd8c'
}, },
{
title: '企业标准',
path: '/enterpriseStandardDatabase',
menuId: '01ed8f752748227777b3572d56ee9ab5'
},
{
title: '企标计划',
path: '/enterpriseStandardPlan',
// menuId: '8a9c87fe06244fb9d55e78fb281f625b'
},
{
title: '法规清单',
path: '/accessStandardsAndRegulations',
menuId: '08dbd417864b08426034ca56d1fa3d02'
},
{
title: '未符合项',
path: '/nonConfomity',
menuId: '0119abd677e0204e061eb0f0b8cafda0'
},
{
title: '工作组',
path: '/workingGroup',
},
{ {
title: '征求意见', title: '征求意见',
path: '/standardForComments', path: '/standardForComments',
menuId: '2b25c67f10abbbadf37d60daaaec54d3' menuId: '2b25c67f10abbbadf37d60daaaec54d3'
}, },
{
title: '合规评估', // 把 标准涉及项目 这几个字 改成 标准合规评估结果
path: '/standInvolveProject',
menuId: '8a9c87fe06244fb9d55e78fb281f625b'
},
// {
// title: '零部件编号申请',
// path: '/partCodeApply',
// menuId: 'ad9db496772c075f78495382b7581fe9'
// },
// {
// title: '工作组统计',
// path: '/dataStatisComments',
// menuId: ''
// },
{ {
title: '国内外政策', title: '国内外政策',
path: '/foreignRegulationsDatabase', path: '/foreignRegulationsDatabase',
@@ -141,11 +169,6 @@
// // // title: '标准制修订管理', // // // title: '标准制修订管理',
// // // path: '/demo2One' // // // path: '/demo2One'
// // // }, // // // },
{
title: '法规清单',
path: '/accessStandardsAndRegulations',
menuId: '08dbd417864b08426034ca56d1fa3d02'
},
// // { // // {
// // title: '标准法规清单详情', // // title: '标准法规清单详情',
// // path: '/details' // // path: '/details'
@@ -158,11 +181,6 @@
// // // title: '本地产品/项目库', // // // title: '本地产品/项目库',
// // // path: '/localProductsOrProjectLibrary' // // // path: '/localProductsOrProjectLibrary'
// // // }, // // // },
{
title: '企业标准',
path: '/enterpriseStandardDatabase',
menuId: '01ed8f752748227777b3572d56ee9ab5'
},
// { // {
// title: '企标制修订计划', // title: '企标制修订计划',
// path: '/enterBSysRevPlanManaLib', // path: '/enterBSysRevPlanManaLib',
@@ -177,30 +195,11 @@
path: '/localProductsOrProjectLibrary', path: '/localProductsOrProjectLibrary',
menuId: '42ce39c9f953be65a3e5643a4a2c786f' menuId: '42ce39c9f953be65a3e5643a4a2c786f'
},*/ },*/
{
title: '未符合项',
path: '/nonConfomity',
menuId: '0119abd677e0204e061eb0f0b8cafda0'
},
{
title: '工作组',
path: '/workingGroup',
},
// { // {
// title: '备案产品标准库', // title: '备案产品标准库',
// path: '/enterpriseStandardFiling', // path: '/enterpriseStandardFiling',
// menuId: 'MQBAGJQMSRZDRX3X5AVR' // menuId: 'MQBAGJQMSRZDRX3X5AVR'
// }, // },
{
title: '合规评估', // 把 标准涉及项目 这几个字 改成 标准合规评估结果
path: '/standInvolveProject',
menuId: '8a9c87fe06244fb9d55e78fb281f625b'
},
{
title: '企标制修订计划',
path: '/enterpriseStandardPlan',
// menuId: '8a9c87fe06244fb9d55e78fb281f625b'
}
// { // {
// title: '动态信息', // title: '动态信息',
// path: '/information', // path: '/information',
@@ -282,6 +281,13 @@
menuId: 'asfdew33', menuId: 'asfdew33',
isChildren: true // 判断没有子菜单 isChildren: true // 判断没有子菜单
}, },
{
title: '资料中心',
path: '/dataCenter',
'icon-class': 'el-icon-s-order',
menuId: '',
isChildren: true // 判断没有子菜单
},
// { // {
// title: '技术要求清单', // title: '技术要求清单',
// path: '/skillReq', // path: '/skillReq',
@@ -611,6 +617,7 @@
color: #fff; color: #fff;
} }
.nav-menu /deep/.el-submenu__title i { .nav-menu /deep/.el-submenu__title i {
font-size: 16px;
color: #fff; color: #fff;
} }
.nav-menu{ .nav-menu{
@@ -636,6 +643,7 @@
} }
.el-menu-item { .el-menu-item {
font-size: 16px;
span { span {
margin-left: 5px; margin-left: 5px;
font-weight: normal; font-weight: normal;
@@ -672,6 +680,7 @@
background-color: red; background-color: red;
} }
/deep/.el-submenu__title { /deep/.el-submenu__title {
font-size: 16px;
padding: 0 16px !important; padding: 0 16px !important;
span { span {
font-weight: normal; font-weight: normal;
@@ -706,7 +715,7 @@
} }
.el-menu-item { .el-menu-item {
padding-left: 29px !important; padding-left: 29px !important;
font-size: 14px; font-size: 16px;
font-weight: normal; font-weight: normal;
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
@@ -0,0 +1,93 @@
<template>
<div class="phoneHistortTable">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: "phoneHistortTable",
data() {
return {
histortData: []
}
},
props: {
prcNum: { // 标题
type: String
}
},
methods: {
getHistoryData () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.prcNum,
}, {}, res => {
this.histortData = res
}, e => {})
},
},
mounted () {
this.getHistoryData()
}
}
</script>
<style scoped>
</style>
+265
View File
@@ -0,0 +1,265 @@
<template>
<div class="phoneRole phoneBox">
<van-action-sheet
v-model="isShowPhone2"
:title="roleTitle"
v-if="isShowPhone2"
>
<el-form
ref="phoneForm"
class="label-input-form"
:inline="true"
:model="phoneForm"
@submit.native.prevent
>
<el-form-item class="form-item-disabled" style="margin: 10px;">
<el-input
size="small"
clearable
v-model="phoneForm.name"
placeholder="请输入姓名"
></el-input>
</el-form-item>
<el-form-item class="form-item-disabled" style="margin: 10px;">
<el-button type="primary" size="small" @click="queryPhone">查询</el-button>
</el-form-item>
</el-form>
<van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="onLoad"
:immediate-check="false"
:offset="300"
>
<van-checkbox-group v-if="!checkMore" v-model="result" :max="1">
<van-cell-group>
<van-cell
v-for="(item, index) in roleList"
clickable
:key="index"
:title="item.userName"
@click="toggle(index)"
>
<template #right-icon>
<van-checkbox :name="item.usId" ref="checkbox"/>
</template>
</van-cell>
</van-cell-group>
</van-checkbox-group>
<van-checkbox-group v-if="checkMore" v-model="result">
<van-cell-group>
<van-cell
v-for="(item, index) in roleList"
clickable
:key="index"
:title="item.userName"
@click="toggle(index)"
>
<template #right-icon>
<van-checkbox :name="item.usId" ref="checkbox"/>
</template>
</van-cell>
</van-cell-group>
</van-checkbox-group>
</van-list>
</van-pull-refresh>
<div class="phoneBtn">
<van-button type="default" @click="roleClear">取消</van-button>
<van-button type="info" @click="roleSumit">确认</van-button>
</div>
</van-action-sheet>
</div>
</template>
<script>
import Vue from 'vue';
import {ActionSheet, Checkbox, CheckboxGroup, Cell, CellGroup, Button, List, PullRefresh} from 'vant';
import {phoneUser} from '@/api/phone'
Vue.use(ActionSheet, Checkbox, CheckboxGroup, Cell, CellGroup, Button, List, PullRefresh);
export default {
name: "phoneRole",
props: {
isShowPhone: {
type: Boolean,
default: false,
},
checkMore: {
type: Boolean,
default: false,
},
roleTitle: {
type: String,
},
resultList: { // 回显
type: Array,
default: () => {
return []
}
}
},
data() {
return {
filterText: '',
isShowPhone2: false,
result: [],
phoneForm: {
name: '',
page: 1
},
roleList: [],
loading: false,
finished: false,
refreshing: false,
total: '',
}
},
watch: {
isShowPhone(val) {
this.isShowPhone2 = val
if (val) {
this.result = this.resultList
}
},
isShowPhone2(val) {
this.$emit('update:isShowPhone', val)
}
},
mounted() {
this.getPhoneData()
},
methods: {
/** 查询 */
queryPhone() {
this.getPhoneData()
this.finished = false
},
/** 获取人员数据 */
async getPhoneData() {
this.phoneForm.page = 1
this.roleList = []
phoneUser(this.phoneForm).then(res => {
if (res.ok) {
this.roleList = res.data
this.total = this.roleList[0].total
this.loading = false
if (this.total === this.roleList.length) {
this.finished = true
} else {
this.finished = false
}
this.refreshing = false
this.loading = false
}
})
},
toggle(index) {
if (!this.checkMore) {
this.result = []
this.$refs.checkbox[index].toggle();
} else {
this.$refs.checkbox[index].toggle();
}
},
roleSumit() {
let ids = ''
this.result.map(item => {
if (ids.length > 0) {
ids += ','
ids += item
} else {
ids = item
}
})
this.$http.get('SarInstitution/institution/getNextById', {
ids: ids
}, {
_this: this
}, res => {
this.$emit('checkedRole', res)
this.isShowPhone2 = false
this.phoneForm.name = ''
this.getPhoneData()
})
},
roleClear() {
this.result = []
this.isShowPhone2 = false
this.phoneForm.name = ''
this.getPhoneData()
},
// 下滑加载数据
onLoad() {
this.phoneForm.page++
phoneUser(this.phoneForm).then(res => {
this.roleList = this.roleList.concat(res.data)
this.total = this.roleList[0].total
this.loading = false
if (this.roleList.length < this.total) {
this.loading = false
} else {
this.finished = true
this.loading = true
}
})
},
// 下拉刷新
onRefresh() {
this.getPhoneData()
}
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneRole {
.van-action-sheet {
height: 100%;
max-height: 100%;
}
.van-action-sheet__cancel {
border-radius: 5px;
background-color: #0c91e5;
color: #fff;
}
.van-action-sheet__content {
overflow-y: hidden;
}
.van-list {
//min-height: 9rem;
height: 9.5rem;
overflow-y: auto;
}
.van-popup--bottom.van-popup--round {
border-radius: 0;
}
.phoneBtn {
padding: 5px;
.van-button--info {
width: 49%;
float: right;
}
.van-button--default {
width: 49%;
float: left;
}
}
}
</style>
+279 -196
View File
@@ -10,6 +10,7 @@ import 'element-ui/lib/theme-chalk/index.css'
import $ from 'jquery' import $ from 'jquery'
// vuex // vuex
import store from './store' import store from './store'
import Axios from 'axios'
// 复制 // 复制
import VueClipboard from 'vue-clipboard2' import VueClipboard from 'vue-clipboard2'
// 全局样式文件 // 全局样式文件
@@ -51,210 +52,292 @@ import router from './router'
// 路由解析器 // 路由解析器
import Re from 'path-to-regexp' import Re from 'path-to-regexp'
import { get_verify_by_instance,loginIdm,getMenu } from 'api/process' import { get_verify_by_instance,loginIdm,getMenu,loginMobile } from 'api/process'
import hwh5 from 'api/hwh5-cloudonline.js';
import { ssoLoginUrlDev,ssoLoginUrl,webLoginType,devWebUrl } from '@/sysConfig' import { ssoLoginUrlDev,ssoLoginUrl,webLoginType,devWebUrl } from '@/sysConfig'
import { mapMutations, mapActions } from 'vuex' import { mapMutations, mapActions } from 'vuex'
import isMobile from "./store/isMobile";
// 路由拦截 // 路由拦截
router.beforeEach(function (to, from, next) { router.beforeEach(function (to, from, next) {
let toName = to.name let toName = to.name
let token = store.state.token let token = store.state.token
let path = to.path; let path = to.path;
let requireAuth = to.meta.requireAuth; let requireAuth = to.meta.requireAuth;
let taskId = to.query.taskIds; let taskId = to.query.taskIds;
let prcId = to.query.prcId; let prcId = to.query.prcId;
let prcNum = to.query.prcNum; let prcNum = to.query.prcNum;
let prcName = to.query.prcName; let prcName = to.query.prcName;
let prcType = to.query.prcType; let prcType = to.query.prcType;
let routerType = to.query.routerType; let routerType = to.query.routerType;
let param = "taskIds=" + taskId + "&prcId=" + prcId let param = "taskIds=" + taskId + "&prcId=" + prcId
+ "&prcNum=" + prcNum + "&prcName=" + prcName + "&prcType=" + prcType; + "&prcNum=" + prcNum + "&prcName=" + prcName + "&prcType=" + prcType;
let url = window.location.search let param4 = {
let code = ""; path: path,
if(url){ token: token,
url = url.substr(1); taskId: taskId,
url = url.split('&'); prcId: prcId,
let info = []; prcNum: prcNum,
let obj = {}; prcName: prcName,
for (let i = 0,len = url.length; i < len; i++) { prcType: prcType,
info = url[i].split('=') toName: toName
obj[info[0]] = decodeURI(info[1]); }
url[i] = obj; let url = window.location.search
} let code = "";
code = url[0].code if(url){
url = url.substr(1);
url = url.split('&');
let info = [];
let obj = {};
for (let i = 0,len = url.length; i < len; i++) {
info = url[i].split('=')
obj[info[0]] = decodeURI(info[1]);
url[i] = obj;
} }
code = url[0].code
}
function extractedLocalStorage(url,param) { function extractedLocalStorage(url,param,param4) {
localStorage.removeItem("routerUrl") localStorage.removeItem("routerUrl")
localStorage.setItem('routerUrl', url) localStorage.setItem('routerUrl', url)
localStorage.removeItem("routerParam") localStorage.removeItem("routerParam")
localStorage.setItem('routerParam', param) localStorage.setItem('routerParam', param)
} }
// 返回值为登录状态 // 返回值为登录状态
if ((token === null || token === '' ) && toName !== 'Login') { /** 判断是不是在手机端操作 */
if(webLoginType != null && webLoginType === 'idm' ){ if (isMobile()) {
if(code){ if(toName === 'processCenter'){
next() hwh5.close();
}else {
if (taskId !== undefined && taskId !== null && prcId !== undefined && prcId !== null) {
extractedVerify(token)
}else {
if(path === '/standardSearch/All'){
extractedLocalStorage('standardSearch/All','');
}else {
extractedLocalStorage('home2','');
}
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
}
}
}else if(webLoginType != null && webLoginType === 'dev'){
next('/Login')
}
}else { }else {
extractedVerify(token) if ((token === null || token === '' ) && toName !== 'Login') {
} if(toName !== 'phoneIndex'){
localStorage.removeItem("param");
function extractedVerify() { localStorage.setItem('param',JSON.stringify(param4))
if (taskId !== undefined && taskId !== null && prcId !== undefined && prcId !== null) { next('/phoneIndex')
get_verify_by_instance({
taskId: taskId, // 任务id
pId: prcId // 流程实例
}).then(res => {
let hisCount = res.hisCount === undefined ? 0 : res.hisCount;
let commitStatus = res.commitStatus === undefined ? 0 : res.commitStatus;
let isNotFinished = res.isNotFinished === undefined ? 0 : res.isNotFinished;
if (hisCount && hisCount > 0) { // 业务系统 当前节点已完成
// 根据type判断跳转具体流程页面
if (prcType === '1') {
// 标准入库流程数据
extracted("bzrkStep5");
} else if (prcType === '4') {
//标准清单发布流程数据
extracted("bzqdfbStep1-4");
} else if (prcType === '5') {
//标准项目合规评估 标准维度
if (path === "/xmpgStep2" || path === "/xmpgStep1" || path === "/xmpgStep1-2") {
extracted("xmpgStep1-2");
} else {
extracted("xmpgStep1-7");
}
} else if (prcType === '6') {
//标准项目合规评估 项目维度
if (path === "/xmpg2Step1" || path === "/xmpg2Step2" || path === "/xmpg2Step1-2") {
extracted("xmpg2Step1-2");
} else {
extracted("xmpg2Step1-12");
}
} else if (prcType === '8') {
// 未符合项整改
extracted("wfhxzgStep5-1");
} else if (prcType === '9') {
extracted("bzjdStep1-6");
//标准调研流程
} else if (prcType === '2') {
extracted("bzdyStep1-9");
} else if (prcType === '3') {
//标准征求意见
extracted("bzzqyjStep1-9");
} else if (prcType === '10') {
//项目清单确认
extracted("xmqdqrStep1-3");
}
} else { // 业务系统 当前节点未完成
// commitStatus 大于0 表示当前节点存在未完成干活流程
// isNotFinished OA 系统显示接受任务 已置为已办
if (routerType && routerType === 'oa' &&isNotFinished && isNotFinished > 0 && commitStatus && commitStatus > 0) {
if (prcType === '3') {
//标准征求意见 接受节点 未完成 oa已办 跳转详情页面
if (path === '/bzzqyjStep3') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '5') {
if (path === '/xmpgStep4') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '2') {
if (path === '/bzdyStep3') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '9') {
if (path === '/bzjdStep3') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '6') {
if (path === '/xmpg2Step6') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '10') {
if (path === '/xmqdqrStep2') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '8') {
if (path === '/wfhxzgStep4') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}
} else {
// oa 待测 sso
extracted3()
}
}
function extracted(routerPath) {
if (token === null || token === '') {
extractedLocalStorage(routerPath,param);
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
} else {
next({path: routerPath + '?' +param})
}
}
function extracted3() {
if (token === null || token === '') {
extractedLocalStorage(toName,param);
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
} else {
next()
}
}
function extracted2(routerPath,param2) {
if (token === null || token === '') {
extractedLocalStorage(routerPath,param2);
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
} else {
next({path: routerPath + '?' + param2})
}
}
})
}
if(path === '/loginVerify'){
if(webLoginType != null && webLoginType === 'dev'){
next('/Login')
}else {
next()
}
}else { }else {
next() next()
} }
} else {
if (toName.slice(0,5) !== 'phone') {
if(toName === 'LoginVerify'){
next('/blankPage')
}else {
if(toName === 'blankPage' || toName === 'processedPage') {
next()
}else {
extractedVerify()
}
}
}else {
if(toName !== 'blankPage'){
if(to.matched.length === 0){
next('/blankPage')
}else {
next()
}
}else {
next()
}
}
}
} }
} else {
if ((token === null || token === '' ) && toName !== 'Login') {
if(webLoginType != null && webLoginType === 'idm' ){
if(code){
next()
}else {
if (taskId !== undefined && taskId !== null && prcId !== undefined && prcId !== null) {
extractedVerify(token)
}else {
if(path === '/standardSearch/All'){
extractedLocalStorage('standardSearch/All','');
}else {
extractedLocalStorage('home2','');
}
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
}
}
}else if(webLoginType != null && webLoginType === 'dev'){
if (isMobile()) {
extractedVerify(token)
} else {
next('/Login')
}
}
}else {
extractedVerify(token)
}
}
function extractedVerify() {
if (taskId !== undefined && taskId !== null && prcId !== undefined && prcId !== null) {
get_verify_by_instance({
taskId: taskId, // 任务id
pId: prcId // 流程实例
}).then(res => {
let hisCount = res.hisCount === undefined ? 0 : res.hisCount;
let commitStatus = res.commitStatus === undefined ? 0 : res.commitStatus;
let isNotFinished = res.isNotFinished === undefined ? 0 : res.isNotFinished;
if ((hisCount && hisCount > 0)) { // 业务系统 当前节点已完成
if(isMobile()){
next('/processedPage')
}else {
// 根据type判断跳转具体流程页面
if (prcType === '1') {
// 标准入库流程数据
extracted("bzrkStep5");
} else if (prcType === '4') {
//标准清单发布流程数据
extracted("bzqdfbStep1-4");
} else if (prcType === '5') {
//标准项目合规评估 标准维度
if (path === "/xmpgStep2" || path === "/xmpgStep1" || path === "/xmpgStep1-2") {
extracted("xmpgStep1-2");
} else {
extracted("xmpgStep1-7");
}
} else if (prcType === '6') {
//标准项目合规评估 项目维度
if (path === "/xmpg2Step1" || path === "/xmpg2Step2" || path === "/xmpg2Step1-2") {
extracted("xmpg2Step1-2");
} else {
extracted("xmpg2Step1-12");
}
} else if (prcType === '8') {
// 未符合项整改
extracted("wfhxzgStep5-1");
} else if (prcType === '9') {
extracted("bzjdStep1-6");
//标准调研流程
} else if (prcType === '2') {
extracted("bzdyStep1-9");
} else if (prcType === '3') {
//标准征求意见
extracted("bzzqyjStep1-9");
} else if (prcType === '10') {
//项目清单确认
extracted("xmqdqrStep1-3");
}
}
} else { // 业务系统 当前节点未完成
// commitStatus 大于0 表示当前节点存在未完成干活流程
// isNotFinished OA 系统显示接受任务 已置为已办
if (routerType && routerType === 'oa' &&isNotFinished && isNotFinished > 0 && commitStatus && commitStatus > 0) {
if(isMobile()) {
extractedIphone()
}else if (prcType === '3') {
//标准征求意见 接受节点 未完成 oa已办 跳转详情页面
if (path === '/bzzqyjStep3') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '5') {
if (path === '/xmpgStep4') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '2') {
if (path === '/bzdyStep3') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '9') {
if (path === '/bzjdStep3') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '6') {
if (path === '/xmpg2Step6') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '10') {
if (path === '/xmqdqrStep2') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}else if (prcType === '8') {
if (path === '/wfhxzgStep4') {
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
}
}
} else {
if(isMobile()) {
extractedIphone()
}else{
extracted3()
}
}
}
function extracted(routerPath) {
if (token === null || token === '') {
extractedLocalStorage(routerPath,param);
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
} else {
next({path: routerPath + '?' +param})
}
}
function extracted3() {
if (token === null || token === '') {
extractedLocalStorage(toName,param);
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
} else {
next()
}
}
function extractedIphone() {
let paramPhone = 'taskIds=' + taskId + '&prcId=' + prcId + '&prcNum=' + prcNum +
'&taskAssignee=' + toName + '&prcName=' + prcName + '&prcType=' + prcType
let phoneRouter = 'phone' + toName.charAt(0).toUpperCase() + toName.slice(1)
next({path: phoneRouter + '?' + paramPhone})
}
function extracted2(routerPath,param2) {
if (token === null || token === '') {
extractedLocalStorage(routerPath,param2);
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
} else {
next({path: routerPath + '?' + param2})
}
}
function extracted4(routerPath,param4) {
if (token === null || token === '') {
extractedLocalStorage(routerPath,param4);
// ssoLoginUrlDev 默认sso 地址
window.location.href = ssoLoginUrlDev
} else {
next({path: routerPath + '?' + param4})
}
}
})
}
if(path === '/loginVerify'){
if(webLoginType != null && webLoginType === 'dev'){
next('/Login')
}else {
next()
}
}else {
next()
}
}
}) })
// 设置用户信息 // 设置用户信息
function setUserInfo (userInfo) { function setUserInfo (userInfo) {
const timeStamp = new Date().getTime().toString() const timeStamp = new Date().getTime().toString()
const _USERINFO = JSON.parse(userInfo) const _USERINFO = JSON.parse(userInfo)
_USERINFO.userId = _USERINFO.userId || _USERINFO.usId _USERINFO.userId = _USERINFO.userId || _USERINFO.usId
_USERINFO.userName = _USERINFO.userName || _USERINFO.uName _USERINFO.userName = _USERINFO.userName || _USERINFO.uName
try { try {
localStorage.setItem('userInfo', JSON.stringify(_USERINFO)) localStorage.setItem('userInfo', JSON.stringify(_USERINFO))
localStorage.setItem('userInfoModifyTime', timeStamp) localStorage.setItem('userInfoModifyTime', timeStamp)
} catch (e) {} } catch (e) {}
} }
@@ -279,16 +362,16 @@ Vue.prototype.simpleUploadPath = simpleUploadPath
Vue.prototype.$moment = moment Vue.prototype.$moment = moment
// 国际化 // 国际化
const i18n = new VueI18n({ const i18n = new VueI18n({
locale: store.getters.getLanguage || 'cn', // 定义默认语言为中文 locale: store.getters.getLanguage || 'cn', // 定义默认语言为中文
messages: { messages: {
cn: require('@/assets/languages/cn'), cn: require('@/assets/languages/cn'),
en: require('@/assets/languages/en') en: require('@/assets/languages/en')
} }
}) })
/* eslint-disable no-new */ /* eslint-disable no-new */
window.vm = new Vue({ window.vm = new Vue({
router, router,
store, store,
i18n, i18n,
render: h => h(App) render: h => h(App)
}).$mount('#app') }).$mount('#app')
+35
View File
@@ -0,0 +1,35 @@
<template>
<div class="blankPage">
<van-icon name="clear" color="#dabb27" size="70"/>
<div style="font-size: 15px;margin-top: 20px;color: #8c939d">当前任务不支持手机端处理</div>
<el-button type="primary" size="small" style="margin-top: 30px;width: 270px;" @click="closeWindow()">返回</el-button>
</div>
</template>
<script>
import Vue from 'vue';
import { Icon } from 'vant';
import hwh5 from '../../api/hwh5-cloudonline.js';
Vue.use(Icon);
export default {
name: "blankPage",
data() {
return {}
},
methods: {
closeWindow(){
hwh5.close()
}
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.blankPage {
text-align: center;
margin-top: 55%;
}
</style>
@@ -77,7 +77,7 @@
<i class="iconfont">&#xe61e;</i> <i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'18f50c76137df9b3112d07942b0d517f'">编辑</el-dropdown-item> <el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'18f50c76137df9b3112d07942b0d517f'">编辑</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.isEdit==='1'" v-btn-permission="'eca5a9d90a5de7bf86c349cd0e73b1cf'" :command="[scope.row, '删除']">删除</el-dropdown-item> <el-dropdown-item :disabled="scope.row.isEdit==='1'" v-btn-permission="'c157be4e073787ea6c4a04bd39686c2d'" :command="[scope.row, '删除']">删除</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
@@ -185,7 +185,7 @@ export default {
pubOrgName: '', pubOrgName: '',
content: '', content: '',
linkUri: '', linkUri: '',
uploadPath: 'uploadPath', uploadPath: 'file',
resPk: '', resPk: '',
fileList: [], fileList: [],
picList: [], picList: [],
@@ -174,7 +174,7 @@ export default {
pubOrgName: '', pubOrgName: '',
content: '', content: '',
linkUri: '', linkUri: '',
uploadPath: 'uploadPath', uploadPath: 'file',
resPk: '', resPk: '',
fileList: [], fileList: [],
picList: [], picList: [],
@@ -2276,7 +2276,7 @@ export default {
}else { }else {
const nowTime = new Date().getTime() const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl))); // 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(onlyOfficeUrl+'/onlyOffice?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)) // window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
} }
@@ -17,7 +17,7 @@
> >
<el-collapse v-model="activeNames" @change="handleChange"> <el-collapse v-model="activeNames" @change="handleChange">
<div v-if="item.label === '基础信息'" class="details-content-modular basic-information" <div v-if="item.label === '基础信息'" class="details-content-modular basic-information"
style="border-top:none;position: absolute;right: 36px;border: none"> style="border-top:none; position: absolute;right: 36px;border: none">
<div class="modular-header" style="height: 50px;"> <div class="modular-header" style="height: 50px;">
<div class="modular-header-btn"> <div class="modular-header-btn">
<el-button v-if="sarStandardsInfoEO.collectId" @click="collectClick(sarStandardsInfoEO.collectId)" title="取消收藏" class="collection-btn" icon="el-icon-star-on" :loading="isSubmit"></el-button> <el-button v-if="sarStandardsInfoEO.collectId" @click="collectClick(sarStandardsInfoEO.collectId)" title="取消收藏" class="collection-btn" icon="el-icon-star-on" :loading="isSubmit"></el-button>
@@ -1516,7 +1516,7 @@ export default {
}else { }else {
const nowTime = new Date().getTime() const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl))); // 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(onlyOfficeUrl+'/onlyOffice?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)) // window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
} }
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -77,11 +77,11 @@
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
background: #fff; background: #fff;
font-size: 15px; font-size: 14px;
border-radius: 10px; border-radius: 10px;
} }
.menu-wrap { .menu-wrap {
height: 240px; height: 200px;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
+37 -11
View File
@@ -9,10 +9,14 @@
</div> </div>
<ul> <ul>
<li v-for="item in toDoTaskList" :key="item.id" class="time-title"> <li v-for="item in toDoTaskList" :key="item.id" class="time-title">
<div style="height: 30px"> <div style="height: 30px">
<span @click="dealWith(item)" v-if="item.prcName.length<25" style="line-height: 30px; font-size: 13px;">{{ item.prcName }}</span> <span @click="dealWith(item)" v-if="item.prcName.length<24"
<span @click="dealWith(item)" v-else style="line-height: 30px; font-size: 13px;">{{ item.prcName.substring(0,25)+'...' }}</span> style="line-height: 30px; font-size: 13px;">{{ item.prcName }}</span>
</div> <el-tooltip class="item" effect="dark" :content="item.prcName" placement="left" v-else>
<span @click="dealWith(item)"
style="line-height: 30px; font-size: 13px;">{{ item.prcName.substring(0, 24) + '...' }}</span>
</el-tooltip>
</div>
</li> </li>
</ul> </ul>
</div> </div>
@@ -185,7 +189,7 @@ export default {
} }
break; break;
case '3': case '3':
if (row.taskInfo === '责任对接人选择责任人') { if (row.taskInfo === '责任部门对接人选择责任人') {
this.$router.push({ this.$router.push({
name: 'bzzqyjStep2', name: 'bzzqyjStep2',
query: { query: {
@@ -196,7 +200,7 @@ export default {
prcType: row.prcType prcType: row.prcType
} }
}) })
} else if (row.taskInfo === '责任人填写征求意见'){ } else if (row.taskInfo === '责任人反馈'){
this.$router.push({ this.$router.push({
name: 'bzzqyjStep3', name: 'bzzqyjStep3',
query: { query: {
@@ -207,7 +211,7 @@ export default {
prcType: row.prcType prcType: row.prcType
} }
}) })
} else if (row.taskInfo === '责任对接人审批') { } else if (row.taskInfo === '责任部门对接人汇总并选择审批人') {
this.$router.push({ this.$router.push({
name: 'bzzqyjStep4', name: 'bzzqyjStep4',
query: { query: {
@@ -218,7 +222,29 @@ export default {
prcType: row.prcType 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({ this.$router.push({
name: 'bzzqyjStep5', name: 'bzzqyjStep5',
query: { query: {
@@ -251,7 +277,7 @@ export default {
prcType: row.prcType prcType: row.prcType
} }
}) })
} else if (row.taskInfo.indexOf('技术委员会相关专委会主任') == 0 ) { } else if (row.taskInfo === '技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任审定' ) {
this.$router.push({ this.$router.push({
name: 'bzzqyjStep8', name: 'bzzqyjStep8',
query: { query: {
@@ -262,7 +288,7 @@ export default {
prcType: row.prcType prcType: row.prcType
} }
}) })
} else { } else if (row.taskInfo === '工程研究总院院长批准') {
this.$router.push({ this.$router.push({
name: 'bzzqyjStep9', name: 'bzzqyjStep9',
query: { query: {
@@ -1288,7 +1314,7 @@ export default {
.to-do-list { .to-do-list {
margin-right: 10px; margin-right: 10px;
border-radius: 3px; border-radius: 3px;
height: calc(~'100% - 310px'); height: calc(~'100% - 269px');
overflow: hidden; overflow: hidden;
background: #FFFFFF; background: #FFFFFF;
box-shadow: 1px 1px 10px rgba(0,0,0,0.1); box-shadow: 1px 1px 10px rgba(0,0,0,0.1);
+1 -1
View File
@@ -173,7 +173,7 @@ export default {
.right_wrapper { .right_wrapper {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
width: 30vw; width: 25vw;
height: 100%; height: 100%;
} }
.search-condition { .search-condition {
+1 -1
View File
@@ -963,7 +963,7 @@ export default {
_this: this _this: this
}, res => { }, res => {
this.addSpiltStandList = res.data.list this.addSpiltStandList = res.data.list
this.addFileStandtotal = res.data.list.length this.addFileStandtotal = res.data.count
this.loadData = false this.loadData = false
}, e => { }, e => {
this.loadData = false this.loadData = false
@@ -319,7 +319,7 @@
@close="showItemInfoModal = false" @close="showItemInfoModal = false"
class="demo-drawer" class="demo-drawer"
> >
<div class="see-drawer-content"> <!-- <div class="see-drawer-content">
<div class="see-drawer-div"> <div class="see-drawer-div">
<label class="see-drawer-name" title="条款号">条款号</label> <label class="see-drawer-name" title="条款号">条款号</label>
<span class="see-drawer-val" :title="showItemInfoEO.itemsNum">{{ showItemInfoEO.itemsNum }}</span> <span class="see-drawer-val" :title="showItemInfoEO.itemsNum">{{ showItemInfoEO.itemsNum }}</span>
@@ -332,7 +332,7 @@
<label class="see-drawer-name" title="内容简介">内容简介</label> <label class="see-drawer-name" title="内容简介">内容简介</label>
<span class="see-drawer-val" :title="showItemInfoEO.itermsConditions ? showItemInfoEO.itermsConditions.replace(/<.*?>/ig, ' ') : ''">{{ showItemInfoEO.itermsConditions ? showItemInfoEO.itermsConditions.replace(/<.*?>/ig, ' ') : '' }}</span> <span class="see-drawer-val" :title="showItemInfoEO.itermsConditions ? showItemInfoEO.itermsConditions.replace(/<.*?>/ig, ' ') : ''">{{ showItemInfoEO.itermsConditions ? showItemInfoEO.itermsConditions.replace(/<.*?>/ig, ' ') : '' }}</span>
</div> </div>
<!-- <div class="see-drawer-div"> <div class="see-drawer-div">
<label class="see-drawer-name" title="责任部门">责任部门</label> <label class="see-drawer-name" title="责任部门">责任部门</label>
<span class="see-drawer-val" :title="showItemInfoEO.responsibleUnitShow">{{ showItemInfoEO.responsibleUnitShow }}</span> <span class="see-drawer-val" :title="showItemInfoEO.responsibleUnitShow">{{ showItemInfoEO.responsibleUnitShow }}</span>
</div> </div>
@@ -359,7 +359,123 @@
<div class="see-drawer-div"> <div class="see-drawer-div">
<label class="see-drawer-name" title="企标覆盖关系">企标覆盖关系</label> <label class="see-drawer-name" title="企标覆盖关系">企标覆盖关系</label>
<span class="see-drawer-val" :title="getDicTypeName('BZFGGXOUIUJ', showItemInfoEO.busStandCover)">{{ getDicTypeName('BZFGGXOUIUJ', showItemInfoEO.busStandCover) }}</span> <span class="see-drawer-val" :title="getDicTypeName('BZFGGXOUIUJ', showItemInfoEO.busStandCover)">{{ getDicTypeName('BZFGGXOUIUJ', showItemInfoEO.busStandCover) }}</span>
</div>--> </div>
</div>-->
<div class="demo-drawer-content">
<el-form
ref="sarStandardsItemForm"
:model="standItemEO"
class="label-input-form"
:rules="sarStandardItemRules"
label-width="150px"
>
<el-input v-model="standItemEO.id" v-if="false"></el-input>
<el-form-item label="条款号" prop="itemsNum" class="add-form-item">
<el-input v-model="standItemEO.itemsNum" readonly placeholder="请输入内容"></el-input>
</el-form-item>
<el-form-item label="条款名称" prop="itemsName" class="add-form-item">
<el-input v-model="standItemEO.itemsName" readonly placeholder="请输入内容"></el-input>
</el-form-item>
<!-- <custom-org
key="责任部门"
:config="{
attrName: '责任部门',
attrField: 'responsibleUnit',
selVal: 'ORGLIST',
valueName: standItemEO.responsibleUnitShow
}"
v-model="standItemEO.ZRBM"
@on-checked="onChecked"
></custom-org>
<custom-org
key="FO"
:config="{
attrName: 'FO',
attrField: 'FO',
selVal: 'ROLELIST',
valueName: standItemEO.foShow
}"
v-model="standItemEO.fo"
check-enable
:data-model="standItemEO"
@on-checked="checkedName => {standItemEO.foShow = checkedName}"
></custom-org>
<custom-role-tree
:key = "Math.random() + 'dutyEngineer'"
:config="{
attrName: '项目评估角色',
attrField: 'dutyEngineer',
valueName: standItemEO.dutyEngineerShow
}"
v-model="standItemEO.dutyEngineer"
:data-model="standItemEO"
@on-checked="checkedName => {standItemEO.dutyEngineerShow = checkedName}"
></custom-role-tree>
<custom-SVPPS
:key = "Math.random() + 'svpps'"
:config="{
attrName: 'SVPPS',
attrField: 'svpps',
valueName: standItemEO.svppsShow
}"
v-model="standItemEO.svpps"
:data-model="standItemEO"
@on-checked="checkedName => {standItemEO.svppsShow = checkedName}"
></custom-SVPPS>
<el-form-item label="适用车辆类型" prop="applyArctic" class="add-form-item">
<el-select v-model="standItemEO.applyArctic" multiple placeholder="请选择" :filterable="true">
<el-option
v-for="opt in applyArcticOptions"
:key="opt.value"
:label="opt.label"
:value="opt.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="要求类型" prop="claimType" class="add-form-item">
<el-select v-model="standItemEO.claimType" placeholder="请选择" :filterable="true">
<el-option
v-for="opt in requestOptions"
:key="opt.value"
:label="opt.label"
:value="opt.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="企标覆盖关系" prop="busStandCover" class="add-form-item">
<el-select v-model="standItemEO.busStandCover" placeholder="请选择">
<el-option
v-for="item in BZFGGXOUIUJ"
:key="item.value"
:value="item.value"
:label="item.label"></el-option>
</el-select>
</el-form-item>-->
<el-divider content-position="left">内容简介</el-divider>
<div style="border:1px dashed #999;margin-bottom:20px;padding:10px">
<div v-for="(item, index) in itemsContentList" :key="index">
<el-row>
<el-col :span="18" v-if="item.type === 'TEXT'">
<el-input v-model.trim="item.id" v-if="false"></el-input>
<el-input type="textarea" :autosize="true" readonly class="updateContentInput" v-model.trim="item.itemContent" placeholder="请输入" clearable :maxlength="1000"></el-input>
</el-col>
<el-col :span="16" v-if="item.type === 'IMG'">
<div style="padding-top: 10px">
<el-input v-model.trim="item.id" v-if="false"></el-input>
<div style="width: 30%;height: 30%;" v-html="item.itemContent" @click="previewImage(item.itemContent)">{{item.itemContent}}</div>
</div>
</el-col>
<el-col :span="16" v-if="item.type === 'TABLE'">
<div style="padding-top: 10px" class="wordTableStyle">
<el-input v-model.trim="item.id" v-if="false"></el-input>
<div class="updateContentInput" v-html="item.itemContent">
</div>
</div>
</el-col>
</el-row>
</div>
</div>
</el-form>
</div> </div>
</el-drawer> </el-drawer>
<!--编辑条款内容--> <!--编辑条款内容-->
@@ -1707,7 +1823,7 @@ export default {
if (res.ok) { if (res.ok) {
let imgPath = res.data.filePath let imgPath = res.data.filePath
let imgName = res.data.fileName let imgName = res.data.fileName
let imgSrc = 'uploadPath' + imgPath + imgName let imgSrc = 'file' + imgPath + imgName
// let imgSrc = imgPath + imgName // let imgSrc = imgPath + imgName
// this.itemsContentList[this.saveUploadImgIndex].itemContent = 'uploadPath' + imgPath + imgName // this.itemsContentList[this.saveUploadImgIndex].itemContent = 'uploadPath' + imgPath + imgName
this.itemsContentList[this.saveAddIndex + 1].itemContent = '<img class=\'wordImg\' src=\'' + imgSrc + '\'>' this.itemsContentList[this.saveAddIndex + 1].itemContent = '<img class=\'wordImg\' src=\'' + imgSrc + '\'>'
@@ -1873,35 +1989,6 @@ export default {
}) })
} }
}, },
// 获取关联文件名称
getFileName (row) {
this.referanceStandList = []
if (row.referenceStand != null && row.referenceStand !== '') {
this.referanceStandList = row.referenceStand.split(',')
}
if (row.relevanceFile === null) {
this.standItemEO.FileNameList = []
this.showItemInfoModal = true
return false
} else {
this.$http.get('att/attFile/getMultiFileInfos', {
fileIds: row.relevanceFile
}, {
_this: this
}, res => {
// let fileNameList = []
// this.standItemEO.relevanceFileName = ''
// res.data.map((item) => {
// fileNameList.push(item.oldFileName)
// })
// this.standItemEO.relevanceFileName = fileNameList.join(';')
this.standItemEO.FileNameList = res.data
this.showItemInfoModal = true
}, e => {
this.showItemInfoModal = true
})
}
},
addSpecialRequest (item, index) { addSpecialRequest (item, index) {
let specialObj = { let specialObj = {
description: '', description: '',
@@ -2084,7 +2171,7 @@ export default {
// this.clause(command[0]) // this.clause(command[0])
// break // break
case '属性': case '属性':
this.attribute(command[0]) this.attribute(command[2], command[0])
break break
case '编辑': case '编辑':
this.editLawsInfo(command[2], command[0]) this.editLawsInfo(command[2], command[0])
@@ -2154,9 +2241,65 @@ export default {
this.showItemRequestDetails() this.showItemRequestDetails()
}, },
// 点击表格 属性按钮事件 // 点击表格 属性按钮事件
attribute (row) { attribute (index, row) {
this.getFileName(row) this.isSubmit = false
this.showItemInfoEO = JSON.parse(JSON.stringify(row)) this.standItemEO.id = row.id
this.showItemInfoModal = true
this.saveEditItemIndex = index
this.standItemEO = JSON.parse(JSON.stringify(row))
if (this.standItemEO.applyArctic && !(this.standItemEO.applyArctic instanceof Array)) {
let a = this.standItemEO.applyArctic.split(',')
this.standItemEO.applyArctic = a // 适用车型
}
if (this.standItemEO.newcarPutTime != null && this.standItemEO.newcarPutTime !== '') {
this.standItemEO.newcarPutTime = this.standItemEO.newcarPutTime.replace(new RegExp(/-/gm), '/')
this.standItemEO.newcarPutTime = new Date(this.standItemEO.newcarPutTime)
}
if (this.standItemEO.productPutTime != null && this.standItemEO.productPutTime !== '') {
this.standItemEO.productPutTime = this.standItemEO.productPutTime.replace(new RegExp(/-/gm), '/')
this.standItemEO.productPutTime = new Date(this.standItemEO.productPutTime)
}
if (this.standItemEO.paramsList == null || this.standItemEO.paramsList.length < 1) {
let specialObj = {
description: '',
figure: ''
}
this.standItemEO.paramsList.push(specialObj)
}
this.standItemEO.ZRBM = this.standItemEO.responsibleUnit
this.saveItemId = row.id
this.showUpdateItemInfo()
// this.getFileName(row)
// this.showItemInfoEO = JSON.parse(JSON.stringify(row))
},
// 获取关联文件名称
getFileName (row) {
this.referanceStandList = []
if (row.referenceStand != null && row.referenceStand !== '') {
this.referanceStandList = row.referenceStand.split(',')
}
if (row.relevanceFile === null) {
this.standItemEO.FileNameList = []
this.showItemInfoModal = true
return false
} else {
this.$http.get('att/attFile/getMultiFileInfos', {
fileIds: row.relevanceFile
}, {
_this: this
}, res => {
// let fileNameList = []
// this.standItemEO.relevanceFileName = ''
// res.data.map((item) => {
// fileNameList.push(item.oldFileName)
// })
// this.standItemEO.relevanceFileName = fileNameList.join(';')
this.standItemEO.FileNameList = res.data
this.showItemInfoModal = true
}, e => {
this.showItemInfoModal = true
})
}
}, },
getDicTypeName(opt, type) { getDicTypeName(opt, type) {
const _type = type ? type.split(',') : [] const _type = type ? type.split(',') : []
+613 -53
View File
@@ -17,8 +17,8 @@
</el-select> </el-select>
</span> </span>
</div> </div>
<div style="float: right;display: inline;height: 30px;"> <div style="float: right;display: inline;height: 30px;padding-right: 5px">
<el-button size="mini" @click="today">今天</el-button> <el-button size="mini" type="primary" plain @click="today">今天</el-button>
</div> </div>
</div> </div>
<el-calendar v-model="value"> <el-calendar v-model="value">
@@ -32,10 +32,12 @@
<el-tag style="background-color: unset;border-color: unset;border-width: 0"/> <el-tag style="background-color: unset;border-color: unset;border-width: 0"/>
</span> </span>
<!-- 获取当前登录人的会议并表示出来--> <!-- 获取当前登录人的会议并表示出来-->
<span v-for="item in dealMyDate(data.day)" :value="item.fillPeopleId"> <span v-for="(item,index) in dealMyDate(data.day)" :value="index">
<el-tag class="tagOne"/>
<el-tag v-if="userId === item.fillPeopleId" class="tagTwo"/> <el-tag v-if="userId === item.fillPeopleId" class="tagTwo"/>
</span> </span>
<span v-if="dealMyDate(data.day).length > 0">
<el-tag class="tagOne"/>
</span>
</span> </span>
</div> </div>
</div> </div>
@@ -52,42 +54,243 @@
<div class="title_time">{{ timeDay.day || nowDate }}</div> <div class="title_time">{{ timeDay.day || nowDate }}</div>
<span class="card_info_empty " v-if="todayData.length === 0"> <span class="card_info_empty " v-if="todayData.length === 0">
<div style="text-align: center"> <div style="text-align: center">
<img :src="require('@/assets/images/meeting.png')"> <img :src="require('@/assets/images/meeting.png')">
</div> </div>
<div style="text-align: center;font-weight: bold;color: #99999a">暂无会议</div> <div style="text-align: center;font-weight: bold;color: #99999a">暂无会议</div>
</span> </span>
<el-card class="card_info" v-else v-for="(item, index) in todayData" :value="item" :key="index"> <el-card class="card_info" v-else v-for="(item, index) in todayData" :value="item" :key="index">
<span v-for="res in item.attend" :key="res.fillPeopleId"> <span v-for="res in item.attend" :key="res.fillPeopleId">
<el-tag v-if="userId === res.fillPeopleId" type="success" size="mini">会议</el-tag> <el-tag v-if="userId === res.fillPeopleId" type="success" size="mini">会议</el-tag>
<el-tag v-else type="warning" size="mini">会议</el-tag> </span>
<span>
<el-tag type="warning" size="mini">会议</el-tag>
</span>
<span style="float: right;padding-right: 5px">
<el-button type="primary" size="mini" plain @click="edit_meeting(item)">编辑会议内容</el-button>
</span> </span>
<i style="margin-left: 10px;font-weight: bold">{{ item.title }}</i> <i style="margin-left: 10px;font-weight: bold">{{ item.title }}</i>
<div class="content_text"> <div class="content_style">
<span>会议时间 : {{ $moment(item.date).format('YYYY-MM-DD HH:mm') }} </span> <div class="content_text">
</div> <span>会议时间 : {{ $moment(item.date).format('YYYY-MM-DD HH:mm:ss') }} </span>
<div class="content_text"> </div>
<span>参与人 : {{ item.partPeople.join('、') }} </span> <div class="content_text2">
</div> <span>参与人 : {{ item.partPeople.join('、') }} </span>
<div class="content_text2"> </div>
<span>会议内容 : {{ item.content }}</span> <div class="content_text2">
</div> <span>会议内容 : {{ item.content }}</span>
<div class="content_text"> </div>
<div class="content_text2">
<span>会议地点 : {{ item.place }}</span>
</div>
<div class="content_text">
<span>会议附件 : <span>会议附件 :
<span v-if="item.files.length === 0">{{ '-' }}</span> <span v-if="item.files.length === 0">{{ '-' }}</span>
<span v-for="res in item.files" :key="res.id" style="color: #409EFF;" @click="previews(res.id)"> <div v-else v-for="res in item.files" :key="res.id" style="color: #409EFF;margin-left: 58px;margin-top: -32px;line-height: 50px" @click="previews(res.id)">
{{ res.name }} {{ ';'}} <a v-if="res.name.length > 30" style="cursor: pointer;margin-bottom: 5px">
</span> {{ res.name.slice(0, 30) + '...' }} {{ ';' }}
</a>
<a v-else style="cursor: pointer">
{{ res.name }} {{ ';' }}
</a>
</div>
</span> </span>
</div>
</div> </div>
</el-card> </el-card>
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
<!-- 会议编辑抽屉 -->
<el-drawer
title="编辑会议信息"
:visible.sync="meetFlag"
:before-close="falseDrawer"
size="800px"
>
<div class="content_form" style="height: calc(100% - 20px);overflow-y: auto">
<el-form class="label-input-form" ref="editMeetForm" :model="editMeetForm" label-width="80px">
<el-form-item class="add-form-item" label="会议标题:">
<el-input v-model="editMeetForm.title" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="参与人员:">
<div class="myPart_btn">
<el-button
type="primary"
size="small"
@click="add_partForm">
新增
</el-button>
<el-button
type="danger"
size="small"
@click="del_partForm">
批量删除
</el-button>
</div>
<el-table
:data="editMeetForm.attend"
border
ref="entryTable"
@selection-change="selectedDelete"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" width="55"/>
<el-table-column type="index" label="序号" width="50" align="center"/>
<el-table-column prop="fillPeople" align="center" label="人员">
<template slot-scope="scope">
{{ scope.row.fillPeople || '' }}
</template>
</el-table-column>
<el-table-column prop="fillUnit" align="center" label="单位">
<template slot-scope="scope">
{{ scope.row.fillUnit || '' }}
</template>
</el-table-column>
<el-table-column prop="fillDept" align="center" label="部门">
<template slot-scope="scope">
{{ scope.row.fillDept || '' }}
</template>
</el-table-column>
<el-table-column prop="fillTel" align="center" label="电话">
<template slot-scope="scope">
{{ scope.row.fillTel || '' }}
</template>
</el-table-column>
<el-table-column prop="fillMail" align="center" label="邮箱">
<template slot-scope="scope">
{{ scope.row.fillMail || '' }}
</template>
</el-table-column>
<el-table-column
fixed="right"
label="操作"
align="center"
width="100">
<template slot-scope="scope">
<el-button type="primary" plain size="mini" @click="edit_partForm(scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item class="picker_style" label="会议时间:">
<el-date-picker
v-model="editMeetForm.date"
type="datetime"
:picker-options="datePicker"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期时间"
align="right">
</el-date-picker>
</el-form-item>
<el-form-item class="add-form-item" label="会议内容:">
<div class="table_btn">
<el-button type="primary" size="small" @click="meeting_add">添加</el-button>
<el-button type="danger" size="small" @click="meeting_delete">批量删除</el-button>
</div>
<el-table
class="meeting_table"
:data="editMeetForm.contents"
border
ref="entryTable"
style="width: 100%"
@selection-change="selectedTable"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column type="index" label="序号" width="50" align="center"/>
<el-table-column
label="议题"
align="center"
prop="meetingTheme">
<template slot-scope="scope">
<el-input v-model="scope.row.meetingTheme"/>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item class="add-form-item" label="会议地点:">
<el-input v-model="editMeetForm.place" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="会议附件:">
<el-upload
multiple
ref="uploadFile"
:action="actionPath"
name="file"
:file-list="reData"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:http-request="httpRequest"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<el-button type="primary" size="small">
上传文件
</el-button>
</el-upload>
</el-form-item>
</el-form>
</div>
<div class="demo-drawer-footer">
<el-button size="mini" @click="falseDrawer">取消</el-button>
<el-button type="primary" :loading="loading" size="mini" @click="OkDrawer">确认</el-button>
</div>
</el-drawer>
<!-- 编辑框内的人员的table上的编辑 -->
<el-drawer
:title="dialogTitle"
:visible.sync="editFlag"
size="600px"
:before-close="falseDrawerTab"
custom-class="demo-drawer"
>
<div class="content_form" style="height: 100%">
<el-form class="label-input-form" ref="editForm" :model="editForm" label-width="80px">
<el-form-item class="add-form-item" label="参与人员:">
<el-input v-model="editForm.fillPeopleId" style="display: none;"></el-input>
<el-input
placeholder="请选择参与人员"
style="width: 50%"
@click.native="choiceRole('fillPeopleId','请选择入会成员',editForm.fillPeopleId,)"
v-model="editForm.fillPeople"
/>
</el-form-item>
<el-form-item class="add-form-item" label="单位:">
<el-input v-model="editForm.fillUnit" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="部门:">
<el-input v-model="editForm.fillDept" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="电话:">
<el-input v-model="editForm.fillTel" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="邮箱:">
<el-input v-model="editForm.fillMail" placeholder=""></el-input>
</el-form-item>
</el-form>
</div>
<div class="demo-drawer-footer">
<el-button size="mini" @click="falseDrawerTab">取消</el-button>
<el-button type="primary" size="mini" @click="OkDrawerTab">确认</el-button>
</div>
</el-drawer>
<Role-tree
check-box
is-title="选择入会人员"
:is-visible.sync="roleShowflag"
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
</div> </div>
</template> </template>
<script> <script>
import { meetingByMonth } from '@/api/unqualProcess.js' import { meetingByMonth } from '@/api/unqualProcess.js'
import { updateMeet, upFile} from '@/api/process.js'
export default { export default {
name: "calendar", name: "calendar",
@@ -114,6 +317,36 @@ export default {
value: new Date(), value: new Date(),
// 当前时间 // 当前时间
nowDate: '', nowDate: '',
meetFlag: false,
editMeetForm: {},
reData: [],
actionPath: 'api/att/attFile/upload',
roleShowflag: false,
nodeList: [],
deleteDataList: [],
upDialog: false,
reDataTable: [],
editFlag: false,
content: [],
editForm: {
fillPeople: '',
fillUnit: '',
fillDept: '',
fillTel: '',
fillMail: '',
},
// 议题选中时储存数组
deleteTable: [],
loading: false,
dialogTitle: '',
// 当前日期之前不可选择
datePicker: {
disabledDate(date) {
return date.getTime() < Date.now() - 24 * 60 * 60 * 1000
}
}
} }
}, },
mounted() { mounted() {
@@ -121,10 +354,10 @@ export default {
let yy = new Date().getFullYear(); let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1; let mm = new Date().getMonth() + 1;
let dd = new Date().getDate(); let dd = new Date().getDate();
if (mm<10) { if (mm < 10) {
mm = this.padding0(mm, 2) mm = this.padding0(mm, 2)
} }
if (dd<10) { if (dd < 10) {
dd = this.padding0(dd, 2) dd = this.padding0(dd, 2)
} }
this.nowDate = yy + '-' + mm + '-' + dd this.nowDate = yy + '-' + mm + '-' + dd
@@ -177,8 +410,8 @@ export default {
this.resDate = res this.resDate = res
this.dealMyDate() this.dealMyDate()
this.todayData = [] this.todayData = []
this.resDate.forEach(item=>{ this.resDate.forEach(item => {
if (item.date.slice(0,10) === this.nowDate) { if (item.date.slice(0, 10) === this.nowDate) {
this.todayData.push(item) this.todayData.push(item)
} }
}) })
@@ -210,11 +443,11 @@ export default {
let yy = new Date().getFullYear(); let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1; let mm = new Date().getMonth() + 1;
let dd = new Date().getDate(); let dd = new Date().getDate();
if (mm<10) { if (mm < 10) {
mm = this.padding0(mm, 2) mm = this.padding0(mm, 2)
} }
this.formData.month = mm + '月' this.formData.month = mm + '月'
if (dd<10) { if (dd < 10) {
dd = this.padding0(dd, 2) dd = this.padding0(dd, 2)
} }
this.formData.year = yy + '年' this.formData.year = yy + '年'
@@ -225,14 +458,25 @@ export default {
* 并在日历上显示出标记*/ * 并在日历上显示出标记*/
dealMyDate(v) { dealMyDate(v) {
let len = this.resDate.length let len = this.resDate.length
let res = '' let res = []
for (let i = 0; i < len; i++) { for (let i = 0; i < len; i++) {
if (this.resDate[i].date.slice(0, 10) === v) { if (this.resDate[i].date.slice(0, 10) === v) {
res = this.resDate[i].attend res = res.concat(this.resDate[i].attend)
break
} }
} }
return res
// 去除当天重复的人员
let map = new Map();
let array = new Array(); // 数组用于返回结果
for (let i = 0; i < res.length; i++) {
if(map.has(res[i].fillPeopleId)) { // 如果有该key值
map.set(res[i].fillPeopleId, true);
} else {
map.set(res[i].fillPeopleId, false); // 如果没有该key值
array.push(res[i]);
}
}
return array
}, },
// 头部时间改变事件 // 头部时间改变事件
handleDate() { handleDate() {
@@ -277,7 +521,302 @@ export default {
if (attId != null && attId !== "") { if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId; window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
} }
} },
/** 每个会议对应的编辑按钮 */
edit_meeting(item) {
localStorage.setItem('objs', JSON.stringify(item))
this.fileListData = item
this.reData = item.files
this.editMeetForm = item
this.editMeetForm.contents = []
if (this.editMeetForm.content !== '') {
this.editMeetForm.content.split(';').forEach(item => {
this.editMeetForm.contents.push({
meetingTheme: item
})
})
}
this.meetFlag = true
},
/** 覆盖默认的上传行为,实现多个文件一起上传 */
httpRequest(params) {
const file = params.file
// 根据后台需求数据格式
const form = new FormData()
// 文件对象
form.append("file", file)
upFile(form).then(res=>{
if (res.ok) {
this.handleOnsuccess(res)
} else {
this.$message.warning('上传失败')
}
})
},
// 文件上传成功
handleOnsuccess(res, file, fileList) {
if (res.ok) {
if (this.reData !== undefined) {
this.newDataList = this.reData
this.newDataList.push({
id: res.data.attId,
name: res.data.name
})
} else {
this.newDataList.push({
id: res.data.attId,
name: res.data.name
})
}
this.fileListData.files = this.newDataList
this.$message({
showClose: true,
message: res.message,
type: 'success'
})
this.newDataList = []
this.fileMadel = false
}
},
// 文件上传限制条件
handleBeforeUpload(file) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
var index2 = filename.length
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' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
// 判断文件上传大小
// eslint-disable-next-line no-unreachable
if (file.size / 1024 / 1024 <= 200) {
return true
} else {
this.$message.error('文件' + file.name + '大小不超过200M')
return false
}
return true
},
// 移除上传的文件
handleBeforeRemove(file, fileList) {
this.reData.forEach((item, index) => {
if (item.name === file.name || item.id === file.id) {
this.reData.splice(index, 1)
}
})
this.fileListData.files = this.reData
},
add_partForm() {
var list = {
fillPeople: this.fillPeople,
fillUnit: this.fillUnit,
fillDept: this.fillDept,
fillPost: this.fillPost,
fillTel: this.fillTel,
fillMail: this.fillMail,
fillFile: this.fillFile = []
}
this.editMeetForm.attend.push(list)
this.dialogTitle = '新增人员信息'
this.add_partDialog(list)
},
add_partDialog(row) {
// 用来储存取消时原来的数据,防止取消时修改
localStorage.setItem('obj', JSON.stringify(row))
this.editForm = row
this.editFlag = true
},
// 编辑按钮
edit_partForm(row) {
this.dialogTitle = '编辑人员信息'
// 用来储存取消时原来的数据,防止取消时修改
localStorage.setItem('obj', JSON.stringify(row))
this.editForm = row
this.editFlag = true
},
selectedDelete(val) {
this.deleteDataList = val
},
/** 批量删除 */
del_partForm() {
if (this.deleteDataList.length < 1) {
this.$message.warning("请选择一条数据进行删除");
} else {
this.$confirm("您确认删除这些数据?", "提示", {
confirmButtonText: "确认",
confirmButtonClass: "common-button-primary",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let exits = [];
this.deleteDataList.map(item => {
let index;
index = this.editMeetForm.attend.findIndex(items => {
return items === item;
});
if (index > -1) {
this.editMeetForm.attend.splice(index, 1);
}
exits.push(item);
});
this.deleteDataList = [];
}).catch(() => {
});
}
},
// 编辑框选人
choiceRole(type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.roleShowflag = true
},
drawerCheck(data) {
if (data.length > 0) {
this.editForm.fillPeopleId = data[0].id
this.editForm.fillPeople = data[0].name
}
this.roleShowflag = false
},
// 编辑框确认按钮
OkDrawerTab() {
this.editFlag = false
},
falseDrawerTab() {
if (this.dialogTitle = '新增人员信息') {
let Items = JSON.parse(localStorage.getItem('objs'))
this.editMeetForm.attend = Items.attend
this.editMeetForm.content = Items.content
this.editMeetForm.date = Items.date
this.editMeetForm.files = Items.files
this.editMeetForm.id = Items.id
this.editMeetForm.partPeople = Items.partPeople
this.editMeetForm.place = Items.place
this.editMeetForm.title = Items.title
this.editMeetForm.type = Items.type
} else {
let Item = JSON.parse(localStorage.getItem('obj'))
this.editForm.fillPeopleId = Item.fillPeopleId
this.editForm.fillPeople = Item.fillPeople
this.editForm.fillUnit = Item.fillUnit
this.editForm.fillDept = Item.fillDept
this.editForm.fillTel = Item.fillTel
this.editForm.fillMail = Item.fillMail
}
this.editFlag = false
},
selectedTable(val) {
this.deleteTable = val
},
// 编辑框内议题相关
meeting_add() {
var list = {
meetingTheme: this.meetingTheme,
}
this.editMeetForm.contents.push(list)
},
meeting_delete() {
if (this.deleteTable.length < 1) {
this.$message.warning("请选择一条数据进行删除");
} else {
this.$confirm("您确认删除这些数据?", "提示", {
confirmButtonText: "确认",
confirmButtonClass: "common-button-primary",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let exits = [];
this.deleteTable.map(item => {
let index
index = this.content.findIndex(items => {
return items === item
})
if (index > -1) {
this.content.splice(index, 1)
}
exits.push(item)
})
this.deleteTable = []
}).catch(() => {
})
}
},
falseDrawer() {
let Items = JSON.parse(localStorage.getItem('objs'))
this.editMeetForm.attend = Items.attend
this.editMeetForm.content = Items.content
this.editMeetForm.date = Items.date
this.editMeetForm.files = Items.files
this.editMeetForm.id = Items.id
this.editMeetForm.partPeople = Items.partPeople
this.editMeetForm.place = Items.place
this.editMeetForm.title = Items.title
this.editMeetForm.type = Items.type
this.meetFlag = false
},
OkDrawer() {
let contentData = []
if (this.editMeetForm.contents.length > 0) {
this.editMeetForm.contents.forEach(item => {
if (item.meetingTheme.length > 0) {
contentData.push(item.meetingTheme)
}
})
}
let editForm = {
attend: JSON.stringify(this.editMeetForm.attend),
content: contentData.join(';'),
id: this.editMeetForm.id,
date: this.editMeetForm.date,
title: this.editMeetForm.title,
type: 1,
files: JSON.stringify(this.editMeetForm.files),
place: this.editMeetForm.place
}
this.loading = true
updateMeet(editForm).then(res => {
if (true) {
this.$message.success("编辑成功");
this.meetFlag = false
this.loading = false
/** 获取当前日期*/
let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1;
let dd = new Date().getDate();
if (mm < 10) {
mm = this.padding0(mm, 2)
}
if (dd < 10) {
dd = this.padding0(dd, 2)
}
this.nowDate = yy + '-' + mm + '-' + dd
this.formData.year = yy + '年'
this.formData.month = mm + '月'
this.lastYear = yy
this.lastMonth = mm
this.getMonthData()
this.init()
} else {
this.$message.warning("编辑失败");
this.loading = false
}
})
},
} }
} }
</script> </script>
@@ -287,6 +826,20 @@ export default {
@import '~@/assets/styles/style'; @import '~@/assets/styles/style';
.standCalendar { .standCalendar {
.content_form {
/deep/.el-input--suffix .el-input__inner {
border: 0;
color: #828387;
}
label-input-form {
.picker_style {
margin-bottom: 0;
min-height: 50px;
line-height: 50px;
border-bottom: 1px dashed #e5e5e5;
}
}
}
.date-picker { .date-picker {
.item { .item {
/deep/ .el-input { /deep/ .el-input {
@@ -304,9 +857,10 @@ export default {
} }
} }
/deep/.el-calendar-table td.is-selected { /deep/ .el-calendar-table td.is-selected {
background-color: #f9e3e3; background-color: #f9e3e3;
} }
/deep/ .el-calendar__header { /deep/ .el-calendar__header {
display: none; display: none;
} }
@@ -334,37 +888,43 @@ export default {
} }
/deep/ .el-card__body { /deep/ .el-card__body {
padding: 10px; padding: 5px 0px 10px 10px;
} }
.card_info_empty { .card_info_empty {
margin-top: 50px; margin-top: 50px;
} }
.card_info { .card_info {
height: 190px; height: 190px;
margin-top: 10px; margin-top: 10px;
.content_text { .content_style {
white-space: nowrap; height: 150px;
text-overflow: ellipsis; overflow-y: auto;
overflow: hidden; width: 100%;
word-break: break-all;
line-height: normal;
margin-top: 10px;
font-size: 5px;
}
.content_text2 { .content_text {
text-overflow: ellipsis; white-space: nowrap;
overflow: hidden; text-overflow: ellipsis;
text-overflow: ellipsis; overflow: hidden;
display: -webkit-box; word-break: break-all;
-webkit-line-clamp: 4; line-height: normal;
line-clamp: 4; margin-top: 10px;
-webkit-box-orient: vertical; font-size: 5px;
line-height: normal; }
margin-top: 10px;
font-size: 5px; .content_text2 {
text-overflow: ellipsis;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
line-height: normal;
margin-top: 10px;
font-size: 5px;
}
} }
} }
} }
+3
View File
@@ -182,6 +182,9 @@
window.sessionStorage.setItem('menuList', menuList); // del window.sessionStorage.setItem('menuList', menuList); // del
if (hasHomeMenu) { if (hasHomeMenu) {
this.setMenu(JSON.stringify(menuList)).then(res => { this.setMenu(JSON.stringify(menuList)).then(res => {
if (this.showIETips) {//判断是否IE浏览器
alert('检测到您使用的是IE浏览器,已经和时代脱轨了!建议您更换为谷歌浏览器')
}
this.$router.push('/home2') this.$router.push('/home2')
}, e => { }, e => {
this.$message.warning('未获取到菜单') this.$message.warning('未获取到菜单')
+4 -2
View File
@@ -82,6 +82,10 @@
let routerParam = localStorage.getItem("routerParam"); let routerParam = localStorage.getItem("routerParam");
// 路由跳转 // 路由跳转
if(routerParam && routerParam != ''){ if(routerParam && routerParam != ''){
const UA = navigator.userAgent.toLocaleLowerCase()
if (UA.match(/msie/) != null || UA.match(/trident/) != null) {
alert('检测到您使用的是IE浏览器,已经和时代脱轨了!建议您更换为谷歌浏览器')
}
const param = routerParam.split("&"); const param = routerParam.split("&");
this.$router.push({ this.$router.push({
name: routerUrl, name: routerUrl,
@@ -96,8 +100,6 @@
}else { }else {
this.$router.push('/'+routerUrl) this.$router.push('/'+routerUrl)
} }
}, e => { }, e => {
this.$message.warning('未获取到菜单') this.$message.warning('未获取到菜单')
}) })
@@ -87,7 +87,7 @@ export default {
pubOrgName: '', pubOrgName: '',
content: '', content: '',
linkUri: '', linkUri: '',
uploadPath: 'uploadPath', uploadPath: 'file',
resPk: '', resPk: '',
fileList: [], fileList: [],
picList: [], picList: [],
@@ -194,7 +194,7 @@ export default {
loading: 'loading' loading: 'loading'
}, res => { }, res => {
this.userInfo.userPic = res.data.id this.userInfo.userPic = res.data.id
this.userAvator = 'uploadPath' + res.data.filePath + res.data.fileName this.userAvator = 'file' + res.data.filePath + res.data.fileName
}) })
}, },
// 保存用户信息 // 保存用户信息
@@ -9,7 +9,27 @@
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
size="small" size="small"
class="common-button-warning" class="common-button-warning"
@click="handleOnLineEdit" :loading="submitLoading"
@click="handleUploadFile"
v-if="uploadFile">文件上传</el-button>
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
:loading="submitLoading"
@click="handleUploadedFile"
v-if="uploadedFile">
<i class="el-icon-upload el-icon--right"></i>
查看文件
</el-button>
<el-button
type="warning"
icon="el-icon-edit-outline"
size="small"
class="common-button-warning"
:loading="submitLoading"
@click="handleOnLineReEdit"
v-if="showEdit">在线编辑</el-button> v-if="showEdit">在线编辑</el-button>
<!-- <el-button--> <!-- <el-button-->
<!-- type="primary"--> <!-- type="primary"-->
@@ -253,6 +273,16 @@ export default {
showEdit: { showEdit: {
type: Boolean, type: Boolean,
default: false default: false
},
// 是否显示文件上传按钮
uploadFile: {
type: Boolean,
default: false
},
// 是否显示已上传文件按钮
uploadedFile: {
type: Boolean,
default: false
}, },
// 标准编号(在线编辑) // 标准编号(在线编辑)
standNo: { standNo: {
@@ -318,6 +348,15 @@ export default {
handleTransfer(){ handleTransfer(){
this.$emit('transfer') this.$emit('transfer')
}, },
handleOnLineReEdit(){
this.$emit('onLineEdit')
},
handleUploadFile(){
this.$emit('uploadFile')
},
handleUploadedFile(){
this.$emit('uploadedFile')
},
handleSendEmail() { handleSendEmail() {
this.$emit('sendEmail') this.$emit('sendEmail')
}, },
@@ -2,9 +2,9 @@
<template> <template>
<div class="prc-header-wrap"> <div class="prc-header-wrap">
<div class="process-header"> <div class="process-header">
<span class="process-title"> <span class="process-title van-ellipsis" :title="proName + '(' + proNode + ')'">
<slot name="proName"></slot> <span>{{ proName }}</span>
<a>(<slot name="proNode"></slot>)</a> <span class="smallText">( {{ proNode }})</span>
</span> </span>
</div> </div>
<el-divider></el-divider> <el-divider></el-divider>
@@ -27,7 +27,9 @@
return { return {
activeName: '', activeName: '',
opacityStyle: {}, opacityStyle: {},
headerFixed: false headerFixed: false,
proName: '',
proNode: '',
} }
}, },
methods: { methods: {
@@ -53,6 +55,8 @@
}, },
watch: {}, watch: {},
mounted () { mounted () {
this.proName = this.$slots.proName[0].text
this.proNode = this.$slots.proNode[0].text
} }
} }
</script> </script>
@@ -65,15 +69,17 @@
.process-header { .process-header {
position: relative; position: relative;
padding-top: 10px; padding-top: 10px;
width: 100%;
} }
.process-title { .process-title {
width: 100%;
margin-left: 10px; margin-left: 10px;
font-size: 18px; font-size: 18px;
font-weight: bold; font-weight: bold;
display: inline-block; display: inline-block;
height: 30px; height: 30px;
line-height: 30px; line-height: 30px;
a { .smallText {
font-size: 14px; font-size: 14px;
margin-left: 5px; margin-left: 5px;
cursor: default; cursor: default;
@@ -22,9 +22,13 @@ export default {
value: "laws1" value: "laws1"
}, },
{ {
label: "企标制修订流程及企业标准库流程", label: "企标制修订-技术标准",
value: "buss1" value: "buss1"
}, },
{
label: "企标制修订-产品标准",
value: "buss2"
},
{ {
label: "标准征求意见流程", label: "标准征求意见流程",
value: "3" value: "3"
@@ -24,7 +24,7 @@
<el-collapse-transition> <el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false"> <div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="12"> <el-col :span="24">
<el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled"> <el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled">
<el-input <el-input
v-model="form.title" v-model="form.title"
@@ -46,14 +46,14 @@
v-model="form.modelNameList" v-model="form.modelNameList"
clearable clearable
></el-input> ></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 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;"> <div class="fileClass" >
{{ item.name }} <span @click="handlePreview(item)">{{ item.name }}</span>
<el-button <el-button
size="small" size="small"
@click="clickButtonToUpload(item)" @click="clickButtonToUpload(item)"
icon="el-icon-upload" icon="el-icon-download"
style="height: 32px; margin-left: 5px;" style="height: 32px; margin-left: 5px;"
></el-button> ></el-button>
</div> </div>
@@ -74,14 +74,14 @@
v-model="form.fjNameList" v-model="form.fjNameList"
clearable clearable
></el-input> ></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 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;"> <div class="fileClass" >
{{ item.name }} <span @click="handlePreview(item)">{{ item.name }}</span>
<el-button <el-button
size="small" size="small"
@click="clickButtonToUpload(item)" @click="clickButtonToUpload(item)"
icon="el-icon-upload" icon="el-icon-download"
style="height: 32px; margin-left: 5px;" style="height: 32px; margin-left: 5px;"
></el-button> ></el-button>
</div> </div>
@@ -144,7 +144,7 @@
<h4>责任部门对接人</h4> <h4>责任部门对接人</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.dockUserList" style="display: none;"></el-input> <el-input v-model="roleForm.dockUserList" style="display: none;"></el-input>
<el-input v-model="roleForm.dockUserName" placeholder="选择责任人" @click.native="choiceZRRS"> <el-input v-model="roleForm.dockUserName" placeholder="选择责任人" @click.native="choiceZRRS('1')">
</el-input> </el-input>
</div> </div>
</el-form-item> </el-form-item>
@@ -164,10 +164,10 @@
<el-timeline-item timestamp="审定" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="审定" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="directorUserName" style="margin-bottom: 0"> <el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>技术管理中心主任</h4> <h4>技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.directorUser" style="display: none;"></el-input> <el-input v-model="roleForm.directorUser" style="display: none;"></el-input>
<el-input v-model="roleForm.directorUserName" placeholder="选择技术管理中心主任" @click.native="choiceZRR('directorUser', '选择技术管理中心主任', roleForm.directorUser)"></el-input> <el-input v-model="roleForm.directorUserName" placeholder="选择技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任 " @click.native="choiceZRRS('2')"></el-input>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
@@ -175,10 +175,10 @@
<el-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="presidentUserName" style="margin-bottom: 0"> <el-form-item prop="presidentUserName" style="margin-bottom: 0">
<h4>工程研究总院院长</h4> <h4>工程研究总院院长或标准法规主管副院长</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.presidentUser" style="display: none;"></el-input> <el-input v-model="roleForm.presidentUser" style="display: none;"></el-input>
<el-input v-model="roleForm.presidentUserName" placeholder="选择工程研究总院院长" @click.native="choiceZRR('presidentUser', '选择工程研究总院院长', roleForm.presidentUser)"></el-input> <el-input v-model="roleForm.presidentUserName" placeholder="选择工程研究总院院长或标准法规主管副院长" @click.native="choiceZRR('presidentUser', '选择工程研究总院院长或标准法规主管副院长', roleForm.presidentUser)"></el-input>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
@@ -196,7 +196,7 @@
> >
</ProcessFooter> </ProcessFooter>
<Role-tree <Role-tree
is-title="选择责任部门对接人" :is-title="drawerTitle2"
:is-visible.sync="modalshowflag2" :is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2" @checkedRole="checkedRole2"
:nodeList="nodeList2" :nodeList="nodeList2"
@@ -236,7 +236,7 @@
:action="fileUrl" :action="fileUrl"
ref="importfile" ref="importfile"
name="file" name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile" :before-upload="beginImportFile"
:on-success="importFileSuccess2" :on-success="importFileSuccess2"
:on-remove="importFileRemove2" :on-remove="importFileRemove2"
@@ -255,12 +255,14 @@
import ProcessHeader from '../../components/ProcessHeader' import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import { saveTaskFirst, queryTaskFirst, getBusStandFileByAttId } from 'api/process' import { saveTaskFirst, queryTaskFirst,taskDel } from 'api/process'
export default { export default {
name: "bzdyStep1-1", name: "bzdyStep1-1",
data() { data() {
return { return {
drawerTitle2: '',
type2: '',
foldFormFlag: false, foldFormFlag: false,
fileMadel2: false, fileMadel2: false,
nodeList: [], nodeList: [],
@@ -290,9 +292,9 @@
date: [ date: [
{ type: 'date', required: true, message: '请选择完成时间', trigger: 'change' } { type: 'date', required: true, message: '请选择完成时间', trigger: 'change' }
], ],
modelNameList: [ // modelNameList: [
{ required: true, message: '请上传调研结果', trigger: 'change' }, // { required: true, message: '请上传调研结果', trigger: 'change' },
] // ]
}, },
roleForm: { roleForm: {
startUserName: this.$store.getters.userInfo.userName, startUserName: this.$store.getters.userInfo.userName,
@@ -341,41 +343,9 @@
this.$message.warning('文件不存在,下载失败') 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)
})
})
},
handlePreview(file) { handlePreview(file) {
const attId = file.attId const attId = file.attId
this.getBusStandFileByAttId(attId) this.$preview(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('文件不存在,预览失败')
})
}, },
foldForm() { foldForm() {
this.foldFormFlag = !this.foldFormFlag this.foldFormFlag = !this.foldFormFlag
@@ -402,8 +372,13 @@
idList += item.id idList += item.id
nameList += item.name nameList += item.name
}) })
this.roleForm.dockUserList = idList if (this.type2 === '1') {
this.roleForm.dockUserName = nameList this.roleForm.dockUserList = idList
this.roleForm.dockUserName = nameList
} else {
this.roleForm.directorUser = idList
this.roleForm.directorUserName = nameList
}
}, },
checkedRole (data) { checkedRole (data) {
if (this.type === 'dockUser') { if (this.type === 'dockUser') {
@@ -421,9 +396,18 @@
} }
}, },
choiceZRRS () { choiceZRRS () {
this.type2 = type
this.nodeList2 = [] this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) { if (type === '1') {
this.nodeList2 = this.roleForm.dockUserList.split(',') this.drawerTitle2 = '选择责任部门对接人'
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
} else {
this.drawerTitle2 = '选择技术管理中心主任'
if ( this.roleForm.directorUser.length > 0) {
this.nodeList2 = this.roleForm.directorUser.split(',')
}
} }
this.modalshowflag2 = true this.modalshowflag2 = true
}, },
@@ -442,7 +426,7 @@
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式 // 判断上传文件格式
if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx') { if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.XLS' || fileSuffix === '.XLSX' || fileSuffix === '.pdf' || fileSuffix === '.PDF' || fileSuffix === '.PPTX' || fileSuffix === '.pptx') {
return true return true
} else { } else {
this.spinShow = false this.spinShow = false
@@ -562,7 +546,7 @@
this.$refs['Form'].validate((valid) => { this.$refs['Form'].validate((valid) => {
if (valid) { if (valid) {
this.isSubmit = true this.isSubmit = true
this.$http.get('lawss/activiti/startProcess', { this.$http.post('lawss/activiti/startProcessRollBack', {
type: '2' type: '2'
}, {}, res => { }, {}, res => {
if (res.ok) { if (res.ok) {
@@ -575,6 +559,12 @@
}, {}, res => { }, {}, res => {
if (res.success) { if (res.success) {
this.$message.success('流程发起成功') this.$message.success('流程发起成功')
let taskId = {
id: this.$route.query.bpnId
}
taskDel(taskId).then(res=>{
return res
})
this.$router.push('/processCenter') this.$router.push('/processCenter')
} }
this.isSubmit = false this.isSubmit = false
@@ -127,31 +127,28 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom" align="center">
align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="endTime" prop="endTime"
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -35,6 +35,7 @@
<el-form-item label="完成时间" prop="date" class="add-form-item form-item-disabled"> <el-form-item label="完成时间" prop="date" class="add-form-item form-item-disabled">
<el-date-picker <el-date-picker
v-model="form.date" v-model="form.date"
:picker-options="pickerOptions"
type="date" type="date"
placeholder="请选择完成时间"> placeholder="请选择完成时间">
</el-date-picker> </el-date-picker>
@@ -46,14 +47,14 @@
v-model="form.modelNameList" v-model="form.modelNameList"
clearable clearable
></el-input> ></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 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;"> <div class="fileClass" >
{{ item.name }} <span @click="handlePreview(item)">{{ item.name }}</span>
<el-button <el-button
size="small" size="small"
@click="clickButtonToUpload(item)" @click="clickButtonToUpload(item)"
icon="el-icon-upload" icon="el-icon-download"
style="height: 32px; margin-left: 5px;" style="height: 32px; margin-left: 5px;"
></el-button> ></el-button>
</div> </div>
@@ -74,14 +75,14 @@
v-model="form.fjNameList" v-model="form.fjNameList"
clearable clearable
></el-input> ></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 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;"> <div class="fileClass" >
{{ item.name }} <span @click="handlePreview(item)">{{ item.name }}</span>
<el-button <el-button
size="small" size="small"
@click="clickButtonToUpload(item)" @click="clickButtonToUpload(item)"
icon="el-icon-upload" icon="el-icon-download"
style="height: 32px; margin-left: 5px;" style="height: 32px; margin-left: 5px;"
></el-button> ></el-button>
</div> </div>
@@ -144,7 +145,7 @@
<h4>责任部门对接人</h4> <h4>责任部门对接人</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.dockUserList" style="display: none;"></el-input> <el-input v-model="roleForm.dockUserList" style="display: none;"></el-input>
<el-input v-model="roleForm.dockUserName" :title="roleForm.dockUserName" placeholder="选择责任人" readonly="readonly" @click.native="choiceZRRS"> <el-input v-model="roleForm.dockUserName" :title="roleForm.dockUserName" placeholder="选择责任部门对接人" readonly="readonly" @click.native="choiceZRRS('1')">
</el-input> </el-input>
</div> </div>
</el-form-item> </el-form-item>
@@ -164,10 +165,11 @@
<el-timeline-item timestamp="审定" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="审定" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="directorUserName" style="margin-bottom: 0"> <el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>技术管理中心主任</h4> <h4>技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任 </h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.directorUser" style="display: none;"></el-input> <el-input v-model="roleForm.directorUser" style="display: none;"></el-input>
<el-input v-model="roleForm.directorUserName" placeholder="选择技术管理中心主任" readonly="readonly" @click.native="choiceZRR('directorUser', '选择技术管理中心主任', roleForm.directorUser)"></el-input> <!-- <el-input v-model="roleForm.directorUserName" placeholder="选择技术管理中心主任" readonly="readonly" @click.native="choiceZRR('directorUser', '选择技术管理中心主任', roleForm.directorUser)"></el-input>-->
<el-input v-model="roleForm.directorUserName" placeholder="选择技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任 " readonly="readonly" @click.native="choiceZRRS('2')"></el-input>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
@@ -175,10 +177,10 @@
<el-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="presidentUserName" style="margin-bottom: 0"> <el-form-item prop="presidentUserName" style="margin-bottom: 0">
<h4>工程研究总院院长</h4> <h4>工程研究总院院长或标准法规主管副院长</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.presidentUser" style="display: none;"></el-input> <el-input v-model="roleForm.presidentUser" style="display: none;"></el-input>
<el-input v-model="roleForm.presidentUserName" placeholder="选择工程研究总院院长" readonly="readonly" @click.native="choiceZRR('presidentUser', '选择工程研究总院院长', roleForm.presidentUser)"></el-input> <el-input v-model="roleForm.presidentUserName" placeholder="选择工程研究总院院长或标准法规主管副院长" readonly="readonly" @click.native="choiceZRR('presidentUser', '选择工程研究总院院长或标准法规主管副院长', roleForm.presidentUser)"></el-input>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
@@ -197,7 +199,7 @@
> >
</ProcessFooter> </ProcessFooter>
<Role-tree <Role-tree
is-title="选择责任部门对接人" :is-title="drawerTitle2"
:is-visible.sync="modalshowflag2" :is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2" @checkedRole="checkedRole2"
:nodeList="nodeList2" :nodeList="nodeList2"
@@ -237,7 +239,7 @@
:action="fileUrl" :action="fileUrl"
ref="importfile" ref="importfile"
name="file" name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile" :before-upload="beginImportFile"
:on-success="importFileSuccess2" :on-success="importFileSuccess2"
:on-remove="importFileRemove2" :on-remove="importFileRemove2"
@@ -257,12 +259,19 @@ import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import { saveTaskFirst } from 'api/process' import { saveTaskFirst } from 'api/process'
import { getBusStandFileByAttId } from 'api/process' import { taskDel } from 'api/process'
export default { export default {
name: "bzdyStep1", name: "bzdyStep1",
data() { data() {
return { return {
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;//如果没有后面的-8.64e7就是不可以选择今天的
}
},
drawerTitle2: '',
type2: '',
bpnId: '',
foldFormFlag: false, foldFormFlag: false,
fileMadel2: false, fileMadel2: false,
commentText: '', commentText: '',
@@ -344,41 +353,9 @@ export default {
this.$message.warning('文件不存在,下载失败') 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)
})
})
},
handlePreview(file) { handlePreview(file) {
const attId = file.attId const attId = file.attId
this.getBusStandFileByAttId(attId) this.$preview(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('文件不存在,预览失败')
})
}, },
foldForm() { foldForm() {
this.foldFormFlag = !this.foldFormFlag this.foldFormFlag = !this.foldFormFlag
@@ -394,8 +371,13 @@ export default {
idList += item.id idList += item.id
nameList += item.name nameList += item.name
}) })
this.roleForm.dockUserList = idList if (this.type2 === '1') {
this.roleForm.dockUserName = nameList this.roleForm.dockUserList = idList
this.roleForm.dockUserName = nameList
} else {
this.roleForm.directorUser = idList
this.roleForm.directorUserName = nameList
}
}, },
checkedRole (data) { checkedRole (data) {
if (this.type === 'dockUser') { if (this.type === 'dockUser') {
@@ -412,14 +394,23 @@ export default {
this.roleForm.presidentUserName = data[0].name this.roleForm.presidentUserName = data[0].name
} }
}, },
choiceZRRS () { choiceZRRS (type) {
this.type2 = type
this.nodeList2 = [] this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) { if (type === '1') {
this.nodeList2 = this.roleForm.dockUserList.split(',') this.drawerTitle2 = '选择责任部门对接人'
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
} else {
this.drawerTitle2 = '选择技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任'
if ( this.roleForm.directorUser.length > 0) {
this.nodeList2 = this.roleForm.directorUser.split(',')
}
} }
this.modalshowflag2 = true this.modalshowflag2 = true
}, },
choiceZRR (type, title, id) { choiceZRR (type, title, id) {
this.nodeList = [] this.nodeList = []
this.nodeList.push(id) this.nodeList.push(id)
this.type = type this.type = type
@@ -434,10 +425,10 @@ export default {
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式 // 判断上传文件格式
if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.XLS' || fileSuffix === '.XLSX') { if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.XLS' || fileSuffix === '.XLSX' || fileSuffix === '.pdf' || fileSuffix === '.PDF' || fileSuffix === '.PPTX' || fileSuffix === '.pptx') {
return true return true
} else { } else {
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -558,8 +549,16 @@ export default {
this.$refs['Form'].validate((valid) => { this.$refs['Form'].validate((valid) => {
if (valid) { if (valid) {
this.isSubmit = true this.isSubmit = true
this.$http.get('lawss/activiti/startProcess', { this.$http.post('lawss/activiti/startProcessRollBack', {
type: '2' id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '2',
json: JSON.stringify({
form: this.form,
roleForm: this.roleForm,
commentText: this.commentText
})
}, {}, res => { }, {}, res => {
if (res.ok) { if (res.ok) {
var json = Object.assign(this.form, this.roleForm) var json = Object.assign(this.form, this.roleForm)
@@ -571,6 +570,14 @@ export default {
}, {}, res => { }, {}, res => {
if (res.success) { if (res.success) {
this.$message.success('流程发起成功') this.$message.success('流程发起成功')
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push('/processCenter') this.$router.push('/processCenter')
} }
this.isSubmit = false this.isSubmit = false
@@ -590,7 +597,9 @@ export default {
}) })
} }
}, },
mounted () {}, mounted () {
this.bpnId = this.$route.query.bpnId
},
} }
</script> </script>
@@ -42,13 +42,13 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled"> <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-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)"> <div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
{{ item.name }} <span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button <el-button
size="small" size="small"
@click="updateFile(item)" @click="updateFile(item)"
icon="el-icon-upload" icon="el-icon-download"
style="height: 32px; margin-left: 5px;" style="height: 32px; margin-left: 5px;"
></el-button> ></el-button>
</div> </div>
@@ -58,13 +58,13 @@
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="相关附件" prop="model" class="add-form-item form-item-disabled"> <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-if="form.fjList.length > 0">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)"> <div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;">
{{ item.name }} <span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button <el-button
size="small" size="small"
@click="updateFile(item)" @click="updateFile(item)"
icon="el-icon-upload" icon="el-icon-download"
style="height: 32px; margin-left: 5px;" style="height: 32px; margin-left: 5px;"
></el-button> ></el-button>
</div> </div>
@@ -117,23 +117,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -141,7 +138,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -236,41 +233,9 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
clickButtonToUpload(file) { clickButtonToUpload(file) {
const attId = file.attId const attId = file.attId
this.getBusStandFileByAttId(attId) this.$preview(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() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
@@ -393,10 +358,8 @@
this.form.title = data.title || data.form.title this.form.title = data.title || data.form.title
this.form.date = data.date || data.form.date this.form.date = data.date || data.form.date
this.json = data || data.form this.json = data || data.form
// this.form.model = data.model || data.form.model this.form.responUserList = data.form? data.form.responUserList : ''
// this.form.modelName = data.modelName || data.form.modelName this.form.responUserListName = data.form? data.form.responUserListName : ''
this.form.responUserList = data.form.responUserList
this.form.responUserListName = data.form.responUserListName
}).catch(e => { }).catch(e => {
}) })
}) })
@@ -42,13 +42,13 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled"> <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-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)"> <div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
{{ item.name }} <span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button <el-button
size="small" size="small"
@click="updateFile(item)" @click="updateFile2(item)"
icon="el-icon-upload" icon="el-icon-download"
style="height: 32px; margin-left: 5px;" style="height: 32px; margin-left: 5px;"
></el-button> ></el-button>
</div> </div>
@@ -58,13 +58,13 @@
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="相关附件" prop="model" class="add-form-item form-item-disabled"> <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-if="form.fjList.length > 0">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)"> <div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;">
{{ item.name }} <span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button <el-button
size="small" size="small"
@click="updateFile(item)" @click="updateFile2(item)"
icon="el-icon-upload" icon="el-icon-download"
style="height: 32px; margin-left: 5px;" style="height: 32px; margin-left: 5px;"
></el-button> ></el-button>
</div> </div>
@@ -97,20 +97,18 @@
<el-button <el-button
size="small" size="small"
@click="updateFile(form)" @click="updateFile(form)"
icon="el-icon-upload" icon="el-icon-download"
style="height: 32px; margin-left: 5px;" style="height: 32px; margin-left: 5px;"
></el-button> ></el-button>
</div> </div>
<div v-else> <el-button
<el-button type="primary"
type="primary" :disabled="acceptShow"
:disabled="acceptShow" class="common-button-primary"
class="common-button-primary" @click="fileUpload"
@click="fileUpload" size="mini">
size="mini"> 点击上传
点击上传 </el-button>
</el-button>
</div>
</el-form-item> </el-form-item>
<el-form-item label="回执说明" prop="dyhz" class="add-form-item form-item-disabled"> <el-form-item label="回执说明" prop="dyhz" class="add-form-item form-item-disabled">
<el-input <el-input
@@ -129,19 +127,19 @@
</div> </div>
</el-form> </el-form>
</div> </div>
<el-collapse accordion> <!-- <el-collapse accordion>-->
<el-collapse-item title="回执说明"> <!-- <el-collapse-item title="回执说明">-->
<div style="margin: 10px 0;"> <!-- <div style="margin: 10px 0;">-->
<el-input <!-- <el-input-->
type="textarea" <!-- type="textarea"-->
:rows="3" <!-- :rows="3"-->
resize="none" <!-- resize="none"-->
placeholder="请输入意见" <!-- placeholder="请输入意见"-->
v-model="commentText"> <!-- v-model="commentText">-->
</el-input> <!-- </el-input>-->
</div> <!-- </div>-->
</el-collapse-item> <!-- </el-collapse-item>-->
</el-collapse> <!-- </el-collapse>-->
</div> </div>
<div class="content" v-show="active === '2'"> <div class="content" v-show="active === '2'">
<el-table <el-table
@@ -157,23 +155,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -181,7 +176,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -230,10 +225,10 @@
:action="fileUrl" :action="fileUrl"
ref="importfile" ref="importfile"
name="file" name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile" :before-upload="beginImportFile"
:on-success="importFileSuccess" :on-success="importFileSuccess"
:show-file-list="true" :show-file-list="false"
> >
<div style="padding: 20px 0"> <div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i> <i class="el-icon-upload" style="color: #3399ff"></i>
@@ -248,7 +243,7 @@
import ProcessHeader from '../../components/ProcessHeader' import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,saveTaskForPub,changeAssigneeNew,execTask,getBusStandFileByAttId} from 'api/process' import {inboundLiaisonDetail,processCreateStand,saveTaskForPub,changeAssigneeNew,execTask} from 'api/process'
import axios from "axios"; import axios from "axios";
export default { export default {
@@ -297,62 +292,13 @@
ProcessTitle ProcessTitle
}, },
methods: { 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) { clickButtonToUpload2(file) {
const attId = file const attId = file
this.getBusStandFileByAttId(attId) this.$preview(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('文件不存在,预览失败')
})
}, },
clickButtonToUpload(file) { clickButtonToUpload(file) {
const attId = file.attId const attId = file.attId
this.getBusStandFileByAttId(attId) this.$preview(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() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
@@ -400,6 +346,10 @@
updateFile (item) { updateFile (item) {
window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.fileId window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.fileId
}, },
updateFile2 (item) {
let id = item.id
window.location.href = '/api/att/attFile/downloadFile?fileId=' + id
},
// 导入按钮 上传之前的钩子 // 导入按钮 上传之前的钩子
beginImportFile (file) { beginImportFile (file) {
var filename = file.name var filename = file.name
@@ -408,11 +358,11 @@
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式 // 判断上传文件格式
if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx') { if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.XLS' || fileSuffix === '.XLSX' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true return true
} else { } else {
this.spinShow = false this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -450,7 +400,7 @@
_formData.append('taskIds', this.taskIds) _formData.append('taskIds', this.taskIds)
_formData.append('json', JSON.stringify({ _formData.append('json', JSON.stringify({
form: this.form, form: this.form,
commentText: this.commentText, // commentText: this.commentText,
})) }))
saveTaskForPub(_formData).then(res => { saveTaskForPub(_formData).then(res => {
this.saveLoading = false this.saveLoading = false
@@ -478,7 +428,7 @@
this.json.dyhz = this.form.dyhz this.json.dyhz = this.form.dyhz
this.isSubmit = true this.isSubmit = true
var json = this.json var json = this.json
json.commentText = this.commentText // json.commentText = this.commentText
json.fileId = this.form.fileId json.fileId = this.form.fileId
json.fileName = this.form.fileName json.fileName = this.form.fileName
this.$http.post('lawss/activiti/completeTask', { this.$http.post('lawss/activiti/completeTask', {
@@ -520,9 +470,9 @@
this.form.modelList = data.modelList || data.form.modelList this.form.modelList = data.modelList || data.form.modelList
this.form.responUserList = data.form.responUserList this.form.responUserList = data.form.responUserList
this.form.responUserListName = data.form.responUserListName this.form.responUserListName = data.form.responUserListName
this.form.fileName = data.form.fileName || data.fileName || '' this.form.fileName = data.form? data.form.fileName : ''
this.form.fileId = data.form.fileId || data.fileId || '' this.form.fileId = data.form ? data.form.fileId : ''
this.form.dyhz = data.form.dyhz || data.dyhz || '' this.form.dyhz = data.form ? data.form.dyhz : ''
}).catch(e => { }).catch(e => {
}) })
}) })
@@ -42,13 +42,13 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled"> <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-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)"> <div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
{{ item.name }} <span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button <el-button
size="small" size="small"
@click="updateFile(item)" @click="updateFile2(item)"
icon="el-icon-upload" icon="el-icon-download"
style="height: 32px; margin-left: 5px;" style="height: 32px; margin-left: 5px;"
></el-button> ></el-button>
</div> </div>
@@ -58,13 +58,13 @@
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="相关附件" prop="model" class="add-form-item form-item-disabled"> <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-if="form.fjList.length > 0">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)"> <div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;">
{{ item.name }} <span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button <el-button
size="small" size="small"
@click="updateFile(item)" @click="updateFile2(item)"
icon="el-icon-upload" icon="el-icon-download"
style="height: 32px; margin-left: 5px;" style="height: 32px; margin-left: 5px;"
></el-button> ></el-button>
</div> </div>
@@ -95,14 +95,14 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="调研结果" prop="fileName" class="add-form-item form-item-disabled"> <el-form-item label="调研结果" prop="fileName" class="add-form-item form-item-disabled">
<div v-if="form.file" class="fileClass"> <div v-if="form.file" class="fileClass">
<div style="display: flex;"> <div style="display: flex;align-items: center;">
<div @click="clickButtonToUpload2(form.fileId)"> <div @click="clickButtonToUpload2(form.fileId)">
{{ form.fileName }} {{ form.fileName }}
</div> </div>
<el-button <el-button
size="small" size="small"
@click="updateFile(form.fileId)" @click="updateFile(form.fileId)"
icon="el-icon-upload" icon="el-icon-download"
style="height: 32px; margin-left: 5px;" style="height: 32px; margin-left: 5px;"
></el-button> ></el-button>
</div> </div>
@@ -155,23 +155,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -179,7 +176,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -227,7 +224,7 @@
import ProcessHeader from '../../components/ProcessHeader' import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,saveTaskForPub,changeAssigneeNew,getBusStandFileByAttId} from 'api/process' import {inboundLiaisonDetail,processCreateStand,saveTaskForPub,changeAssigneeNew} from 'api/process'
import axios from "axios"; import axios from "axios";
export default { export default {
@@ -271,62 +268,13 @@
ProcessTitle ProcessTitle
}, },
methods: { 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) { clickButtonToUpload2(file) {
const attId = file const attId = file
this.getBusStandFileByAttId(attId) this.$preview(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('文件不存在,预览失败')
})
}, },
clickButtonToUpload(file) { clickButtonToUpload(file) {
const attId = file.attId const attId = file.attId
this.getBusStandFileByAttId(attId) this.$preview(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() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
@@ -374,6 +322,10 @@
updateFile (fileId) { updateFile (fileId) {
window.location.href = '/api/att/attFile/downloadFile?fileId=' + fileId window.location.href = '/api/att/attFile/downloadFile?fileId=' + fileId
}, },
updateFile2 (item) {
let id = item.id
window.location.href = '/api/att/attFile/downloadFile?fileId=' + id
},
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
}, },
@@ -423,14 +375,14 @@
pId: this.pId pId: this.pId
}).then(res => { }).then(res => {
let data = JSON.parse(res.mesg) let data = JSON.parse(res.mesg)
this.form.dyhz = data.dyhz || data.form.dyhz this.form.dyhz = data.form ? data.form.dyhz : data.dyhz
this.form.title = data.title || data.form.title this.form.title = data.title || data.form.title
this.form.date = data.date || data.form.date this.form.date = data.date || data.form.date
this.json = data || data.form this.json = data || data.form
this.form.file = data.fileId || data.form.fileId this.form.file = data.form ? data.form.fileId : data.fileId
this.form.fileName = data.fileName || data.form.fileName this.form.fileName = data.form ? data.form.fileName : data.fileName
this.form.fileId = data.fileId || data.form.fileId this.form.fileId = data.form ? data.form.fileId : data.fileId
this.form.modelList = data.modelList || data.form.modelList this.form.modelList = data.form ? data.form.modelList : data.modelList
this.form.fjList = data.fjList || data.form.fjList this.form.fjList = data.fjList || data.form.fjList
}).catch(e => { }).catch(e => {
}) })
@@ -42,24 +42,26 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled"> <el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<el-input <div v-if="form.hzfileId" class="fileClass">
disabled <div style="display: flex;align-items: center;">
style="display: none;" <div @click="clickButtonToUpload2(form.hzfileId)">
v-model="form.hzfileId" {{ form.hzfileName }}
clearable </div>
></el-input> <el-button
<div v-if="form.hzfileName" @click="fileUpload" class="fileClass"> size="small"
{{ form.hzfileName }} @click="updateFile(form.hzfileId)"
</div> icon="el-icon-download"
<div v-else> style="height: 32px; margin-left: 5px;"
<el-button ></el-button>
type="primary" </div>
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
</div> </div>
<el-button
type="primary"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -97,9 +99,13 @@
label="回执文件" label="回执文件"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass"> <span @click="clickButtonToUpload2(scope.row.fileId)">{{scope.row.fileName}}</span>
{{scope.row.fileName}} <el-button
</div> size="small"
@click="updateFile(scope.row.fileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</template> </template>
</el-table-column> </el-table-column>
@@ -139,23 +145,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -163,7 +166,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -209,7 +212,7 @@
:action="fileUrl" :action="fileUrl"
ref="importfile" ref="importfile"
name="file" name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile" :before-upload="beginImportFile"
:on-success="importFileSuccess" :on-success="importFileSuccess"
:show-file-list="true" :show-file-list="true"
@@ -266,6 +269,10 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
clickButtonToUpload2(file) {
const attId = file
this.$preview(attId)
},
handleTransfer() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
}, },
@@ -320,11 +327,11 @@
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式 // 判断上传文件格式
if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx') { if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.XLS' || fileSuffix === '.XLSX' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true return true
} else { } else {
this.spinShow = false this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -42,8 +42,14 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled"> <el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass"> <div v-if="form.hzfileName" class="fileClass">
{{ form.hzfileName }} <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>
<div v-else> <div v-else>
- - - -
@@ -92,8 +98,14 @@
label="文件" label="文件"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass"> <div class="fileClass">
{{scope.row.fileName}} <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> </div>
</template> </template>
</el-table-column> </el-table-column>
@@ -128,23 +140,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -152,7 +161,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -199,7 +208,7 @@
:action="fileUrl" :action="fileUrl"
ref="importfile" ref="importfile"
name="file" name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile" :before-upload="beginImportFile"
:on-success="importFileSuccess" :on-success="importFileSuccess"
:show-file-list="false" :show-file-list="false"
@@ -257,6 +266,10 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
clickButtonToUpload2(file) {
const attId = file
this.$preview(attId)
},
handleTransfer() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
}, },
@@ -311,11 +324,11 @@
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式 // 判断上传文件格式
if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx') { if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.XLS' || fileSuffix === '.XLSX' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true return true
} else { } else {
this.spinShow = false this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -42,8 +42,14 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled"> <el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass"> <div v-if="form.hzfileName" class="fileClass">
{{ form.hzfileName }} <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>
<div v-else> <div v-else>
- - - -
@@ -92,15 +98,21 @@
label="文件" label="文件"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass"> <div class="fileClass">
{{scope.row.fileName}} <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> </div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<el-collapse accordion> <el-collapse accordion>
<el-collapse-item title="流程信息"> <el-collapse-item title="审批意见">
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
<el-input <el-input
type="textarea" type="textarea"
@@ -128,23 +140,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -152,7 +161,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -199,7 +208,7 @@
:action="fileUrl" :action="fileUrl"
ref="importfile" ref="importfile"
name="file" name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile" :before-upload="beginImportFile"
:on-success="importFileSuccess" :on-success="importFileSuccess"
:show-file-list="false" :show-file-list="false"
@@ -257,6 +266,10 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
clickButtonToUpload2(file) {
const attId = file
this.$preview(attId)
},
handleTransfer() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
}, },
@@ -311,11 +324,11 @@
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式 // 判断上传文件格式
if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx') { if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.XLS' || fileSuffix === '.XLSX' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true return true
} else { } else {
this.spinShow = false this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -42,8 +42,14 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled"> <el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass"> <div v-if="form.hzfileName" class="fileClass">
{{ form.hzfileName }} <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>
<div v-else> <div v-else>
- - - -
@@ -92,8 +98,14 @@
label="文件" label="文件"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass"> <div class="fileClass">
{{scope.row.fileName}} <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> </div>
</template> </template>
</el-table-column> </el-table-column>
@@ -128,23 +140,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -152,7 +161,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -199,7 +208,7 @@
:action="fileUrl" :action="fileUrl"
ref="importfile" ref="importfile"
name="file" name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile" :before-upload="beginImportFile"
:on-success="importFileSuccess" :on-success="importFileSuccess"
:show-file-list="false" :show-file-list="false"
@@ -257,6 +266,10 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
clickButtonToUpload2(file) {
const attId = file
this.$preview(attId)
},
handleTransfer() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
}, },
@@ -311,11 +324,11 @@
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式 // 判断上传文件格式
if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx') { if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.XLS' || fileSuffix === '.XLSX' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true return true
} else { } else {
this.spinShow = false this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -3,7 +3,7 @@
<!-- 标准调研流程--> <!-- 标准调研流程-->
<ProcessHeader toggle> <ProcessHeader toggle>
<template slot="proName">标准调研流程</template> <template slot="proName">标准调研流程</template>
<template slot="proNode">工程研究总院院长审批</template> <template slot="proNode">工程研究总院院长或标准法规主管副院长审批</template>
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div> <div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
@@ -42,8 +42,14 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled"> <el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass"> <div v-if="form.hzfileName" class="fileClass">
{{ form.hzfileName }} <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>
<div v-else> <div v-else>
- - - -
@@ -92,8 +98,14 @@
label="文件" label="文件"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass"> <div class="fileClass">
{{scope.row.fileName}} <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> </div>
</template> </template>
</el-table-column> </el-table-column>
@@ -128,23 +140,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -152,7 +161,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -199,7 +208,7 @@
:action="fileUrl" :action="fileUrl"
ref="importfile" ref="importfile"
name="file" name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile" :before-upload="beginImportFile"
:on-success="importFileSuccess" :on-success="importFileSuccess"
:show-file-list="false" :show-file-list="false"
@@ -257,6 +266,10 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
clickButtonToUpload2(file) {
const attId = file
this.$preview(attId)
},
handleTransfer() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
}, },
@@ -311,11 +324,11 @@
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式 // 判断上传文件格式
if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx') { if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.XLS' || fileSuffix === '.XLSX' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true return true
} else { } else {
this.spinShow = false this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -20,6 +20,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:" prop="comityName"> <el-form-item class="add-form-item" label="协会名称:" prop="comityName">
<el-select <el-select
clearable
@change="comityChange" @change="comityChange"
v-model="rh_pageData.comityName" v-model="rh_pageData.comityName"
placeholder="请选择标委会"> placeholder="请选择标委会">
@@ -34,6 +35,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" v-if="rh_pageData.comityName !== ''" prop="comityNameOne"> <el-form-item class="add-form-item" v-if="rh_pageData.comityName !== ''" prop="comityNameOne">
<el-select <el-select
clearable
@change="comityChangeOne" @change="comityChangeOne"
v-model="rh_pageData.comityNameOne" v-model="rh_pageData.comityNameOne"
placeholder="请选择分标委"> placeholder="请选择分标委">
@@ -48,6 +50,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" prop="comityNameTwo" v-if="rh_pageData.comityName !== '' && rh_pageData.comityNameOne !== ''"> <el-form-item class="add-form-item" prop="comityNameTwo" v-if="rh_pageData.comityName !== '' && rh_pageData.comityNameOne !== ''">
<el-select <el-select
clearable
v-model="rh_pageData.comityNameTwo" v-model="rh_pageData.comityNameTwo"
placeholder="请选择工作组"> placeholder="请选择工作组">
<el-option <el-option
@@ -63,6 +66,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="会员角色:" prop="comityRole"> <el-form-item class="add-form-item" label="会员角色:" prop="comityRole">
<el-select <el-select
clearable
v-model="rh_pageData.comityRole" v-model="rh_pageData.comityRole"
placeholder="请选择会员角色"> placeholder="请选择会员角色">
<el-option <el-option
@@ -76,6 +80,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="协会状态:" prop="comityState"> <el-form-item class="add-form-item" label="协会状态:" prop="comityState">
<el-select <el-select
clearable
v-model="rh_pageData.comityState" v-model="rh_pageData.comityState"
placeholder="选择协会状态"> placeholder="选择协会状态">
<el-option <el-option
@@ -89,6 +94,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="入会性质:" prop="comityKind"> <el-form-item class="add-form-item" label="入会性质:" prop="comityKind">
<el-select <el-select
clearable
v-model="rh_pageData.comityKind" v-model="rh_pageData.comityKind"
placeholder="请选择入会性质"> placeholder="请选择入会性质">
<el-option <el-option
@@ -101,28 +107,27 @@
</el-col> </el-col>
</el-row> </el-row>
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources"> <el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<el-upload <div v-if="rh_pageData.infoSources.length>0">
style="width: 30%" <div v-for="(item, index) in rh_pageData.infoSources" :key="index" style="margin-right: 5px; padding-left: 10px;color: #0c91e5;">
class="upload_style" <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
:disabled="acceptShow" {{ item.name.slice(0, 30) + '...' }} {{ ';' }}
multiple </a>
ref="uploadFile" <a v-else style="cursor: pointer" @click="fileLook(item)">{{ item.name }}</a>
:action="uploadPath" <el-button
name="file" size="mini"
:file-list="fileTextList" @click="filesUpload(item)"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" icon="el-icon-download"
:before-upload="handleBeforeUpload" style="height: 25px; margin-left: 5px;"
:before-remove="handleBeforeRemove" ></el-button>
:on-success="handleOnsuccess" </div>
> </div>
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
@click="uploadFile" @click="uploadFile"
size="mini"> size="mini">
点击上传 点击上传
</el-button> </el-button>
</el-upload>
</el-form-item> </el-form-item>
<el-form-item class="add-form-item" label="协会构成:" prop="comityMake"> <el-form-item class="add-form-item" label="协会构成:" prop="comityMake">
<el-form <el-form
@@ -198,7 +203,8 @@
align="center" align="center"
label="联络人"> label="联络人">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.tel_name" placeholder="请填写联络人"/> <el-input v-model="scope.row.tel_nameId" style="display: none" placeholder="请填写联络人"/>
<el-input v-model="scope.row.tel_name" readonly @click.native="choiceTel('tel_nameId', '选择联络人', scope.row)" placeholder="请填写联络人"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -238,7 +244,7 @@
:rows="3" :rows="3"
resize="none" resize="none"
placeholder="请输入意见" placeholder="请输入意见"
v-model="commentText"> v-model="commentInfo">
</el-input> </el-input>
</div> </div>
</el-collapse-item> </el-collapse-item>
@@ -338,10 +344,10 @@
<el-timeline-item timestamp="审定" placement="top" :color="roleForm.engineerUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="审定" placement="top" :color="roleForm.engineerUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="engineerUser" style="margin-bottom: 0"> <el-form-item prop="engineerUser" style="margin-bottom: 0">
<h4>技术委员会常务副主任/总院院长</h4> <h4>业务主管副院长 </h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.engineerUserId" style="display: none;"></el-input> <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> </el-input>
</div> </div>
</el-form-item> </el-form-item>
@@ -349,11 +355,11 @@
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="批准" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="批准" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="totalLeader" style="margin-bottom: 0"> <el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>总院技术委员会主任</h4> <h4>院长</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.startUser" style="display: none;"></el-input> <el-input v-model="roleForm.directorUserId" style="display: none;"></el-input>
<el-input v-model="roleForm.startUserName" :disabled="true" placeholder="选择总院技术委员会主任"> <el-input v-model="roleForm.directorUserName" placeholder="选择院长" @click.native="choiceZRROne('directorUserId', '选择院长', roleForm.directorUserName)">
</el-input> </el-input>
</div> </div>
</el-form-item> </el-form-item>
@@ -363,6 +369,30 @@
</el-timeline> </el-timeline>
</div> </div>
</div> </div>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传附件">
<el-upload
class="upload-demo"
:disabled="acceptShow"
multiple
ref="uploadFile"
:action="uploadPath"
name="file"
drag
:file-list="rh_pageData.infoSources"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:http-request="httpRequest"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
<p>点击或拖拽上传文件</p>
</div>
</el-upload>
</el-dialog>
<ProcessFooter <ProcessFooter
show-save show-save
show-submit show-submit
@@ -385,6 +415,13 @@
:nodeList="nodeList" :nodeList="nodeList"
@checkedRole="drawerCheck" @checkedRole="drawerCheck"
/> />
<Role-tree
check-box
is-title="选择联络人"
:is-visible.sync="telShowflag"
:nodeList="nodeListTel"
@checkedRole="drawerCheckTel"
/>
</div> </div>
</template> </template>
@@ -393,9 +430,9 @@ import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import { import {
startProcess, saveTaskFirst, saveTaskFirst,
completeTask, queryTaskFirst, completeTask, queryTaskFirst,
taskDel, workGroup taskDel, workGroup, processBack,upFile
} from '@/api/process.js' } from '@/api/process.js'
export default { export default {
@@ -408,6 +445,7 @@ export default {
data() { data() {
return { return {
active: '1', // 默认显示 active: '1', // 默认显示
fileMadel: false,
rh_pageData: { rh_pageData: {
comityName: '', comityName: '',
comityNameOne: '', comityNameOne: '',
@@ -438,6 +476,8 @@ export default {
comityOptionsOne: [], comityOptionsOne: [],
comityOptionsTwo: [], comityOptionsTwo: [],
comityOptionsTree: [], comityOptionsTree: [],
comityOpRole: '',
comityOpRoleId: '',
}, },
comityRoleOptions: [ comityRoleOptions: [
{value: '0', label: '委员'}, {value: '0', label: '委员'},
@@ -477,7 +517,8 @@ export default {
feeUserId: '', feeUserId: '',
engineerUser: '', engineerUser: '',
engineerUserId: '', engineerUserId: '',
directorUserId: '',
directorUserName: '',
}, },
rh_rules: {}, rh_rules: {},
roleFormRules: { roleFormRules: {
@@ -485,16 +526,19 @@ export default {
startUserName: [{required: true, message: "请选择标准法规部人员", trigger: ['blur', 'change']}], startUserName: [{required: true, message: "请选择标准法规部人员", trigger: ['blur', 'change']}],
leaderUser: [{required: true, message: "请选择标准法规部主管领导", trigger: ['blur', 'change']}], leaderUser: [{required: true, message: "请选择标准法规部主管领导", trigger: ['blur', 'change']}],
feeUser: [{required: true, message: "请选择费用管理部门人员", trigger: ['blur', 'change']}], feeUser: [{required: true, message: "请选择费用管理部门人员", trigger: ['blur', 'change']}],
engineerUser: [{required: true, message: "请选择技术委员会常务副主任/总院院长", trigger: ['blur', 'change']}], engineerUser: [{required: true, message: "请选择业务主管副院长 ", trigger: ['blur', 'change']}],
directorUserName: [{required: true, message: "请选择院长", trigger: ['blur', 'change']}],
}, },
roleShowflag: false, roleShowflag: false,
roleShowflagOne: false, roleShowflagOne: false,
telShowflag: false,
nodeList: [], nodeList: [],
nodeListOne: [], nodeListOne: [],
nodeListTel: [],
isSubmit: false, isSubmit: false,
saveLoading: false, saveLoading: false,
commentText: '', commentInfo: '',
bpnId: '' bpnId: ''
} }
}, },
@@ -541,12 +585,13 @@ export default {
}).then(res => { }).then(res => {
let mes = JSON.parse(res.mes) let mes = JSON.parse(res.mes)
this.rh_pageData = mes.rh_pageData this.rh_pageData = mes.rh_pageData
this.commentInfo = mes.commentInfo
this.roleForm = mes.roleForm this.roleForm = mes.roleForm
}); });
}, },
//上传按钮 //上传按钮
uploadFile(val) { uploadFile() {
this.fileListData = val this.fileMadel = true
}, },
// 文件上传限制条件 // 文件上传限制条件
handleBeforeUpload(file) { handleBeforeUpload(file) {
@@ -556,11 +601,11 @@ export default {
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // 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 return true
} else { } else {
this.spinShow = false this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -576,18 +621,32 @@ export default {
// 移除上传的文件 // 移除上传的文件
handleBeforeRemove(file, fileList) { handleBeforeRemove(file, fileList) {
this.fileData = fileList this.fileData = fileList
this.fileTextList.forEach((item, index) => { this.rh_pageData.infoSources.forEach((item, index) => {
if (item.name === file.name || item.id === file.id) { if (item.name === file.name || item.id === file.id) {
this.fileTextList.splice(index, 1) this.rh_pageData.infoSources.splice(index, 1)
}
})
},
/** 覆盖默认的上传行为,实现多个文件一起上传 */
httpRequest(params) {
const file = params.file
// 根据后台需求数据格式
const form = new FormData()
// 文件对象
form.append("file", file)
upFile(form).then(res=>{
if (res.ok) {
this.handleOnsuccess(res)
} else {
this.$message.warning('上传失败')
} }
}) })
this.rh_pageData.infoSources = this.fileTextList
}, },
// 文件上传成功 // 文件上传成功
handleOnsuccess(res, file, fileList) { handleOnsuccess(res, file, fileList) {
if (res.ok) { if (res.ok) {
if (this.fileTextList !== null) { if (this.rh_pageData.infoSources !== null) {
this.newDataList = this.fileTextList this.newDataList = this.rh_pageData.infoSources
this.newDataList.push({ this.newDataList.push({
id: res.data.attId, id: res.data.attId,
name: res.data.name name: res.data.name
@@ -598,7 +657,6 @@ export default {
name: res.data.name name: res.data.name
}) })
} }
this.fileListData.fileText = this.newDataList
this.rh_pageData.infoSources = this.newDataList this.rh_pageData.infoSources = this.newDataList
this.$message({ this.$message({
showClose: true, showClose: true,
@@ -608,6 +666,18 @@ export default {
this.fileMadel = false this.fileMadel = false
} }
}, },
fileLook(file) { // 预览
const attId = file.id
this.$preview(attId)
},
filesUpload (file) { // 下载
const attId = file.id
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
/** 添加 */ /** 添加 */
@@ -652,6 +722,21 @@ export default {
this.deleteDataList = val this.deleteDataList = val
}, },
// 列表选人
choiceTel(type, title, val,id) {
this.choiceTelList = val
this.nodeListTel = []
this.nodeListTel.push(id)
this.type = type
this.telShowflag = true
},
drawerCheckTel(data) {
if(data.length > 0) {
this.choiceTelList.tel_nameId = data[0].id
this.choiceTelList.tel_name = data[0].name
}
this.telShowflag = false
},
// 流程阶段负责人选择 // 流程阶段负责人选择
choiceZRR(type, title, id) { choiceZRR(type, title, id) {
this.nodeList = [] this.nodeList = []
@@ -677,8 +762,8 @@ export default {
} else { } else {
this.roleForm.dockUser = idList this.roleForm.dockUser = idList
this.roleForm.dockUserName = nameList this.roleForm.dockUserName = nameList
this.rh_pageData.comityInRole = nameList // this.rh_pageData.comityInRole = nameList
this.rh_pageData.comityInRoleId = idList // this.rh_pageData.comityInRoleId = idList
} }
this.roleShowflag = false this.roleShowflag = false
}, },
@@ -699,9 +784,12 @@ export default {
if (this.type === 'leaderUser') { if (this.type === 'leaderUser') {
this.roleForm.leaderUser = data[0].name this.roleForm.leaderUser = data[0].name
this.roleForm.leaderUserId = data[0].id this.roleForm.leaderUserId = data[0].id
} else { } else if (this.type === 'engineerUser') {
this.roleForm.engineerUser = data[0].name this.roleForm.engineerUser = data[0].name
this.roleForm.engineerUserId = data[0].id this.roleForm.engineerUserId = data[0].id
}else {
this.roleForm.directorUserName = data[0].name
this.roleForm.directorUserId = data[0].id
} }
this.roleShowflagOne = false this.roleShowflagOne = false
}, },
@@ -717,7 +805,7 @@ export default {
_formData.append('json', JSON.stringify({ _formData.append('json', JSON.stringify({
roleForm: this.roleForm, roleForm: this.roleForm,
rh_pageData: this.rh_pageData, rh_pageData: this.rh_pageData,
commentText: this.commentText commentInfo: this.commentInfo
})) }))
saveTaskFirst(_formData).then(res => { saveTaskFirst(_formData).then(res => {
this.saveLoading = false this.saveLoading = false
@@ -734,18 +822,22 @@ export default {
prcCreateUserName: this.$store.getters.userInfo.userName, prcCreateUserName: this.$store.getters.userInfo.userName,
roleList: this.roleForm, roleList: this.roleForm,
rh_pageData: this.rh_pageData, rh_pageData: this.rh_pageData,
commentText: this.commentText, commentText: this.commentInfo,
directorList: this.rh_pageData.comityInRoleId, roleForm: this.roleForm,
directorList: this.roleForm.dockUser,
} }
this.$refs['rh_pageData'].validate((valid) => { this.$refs['rh_pageData'].validate((valid) => {
if (valid) { if (valid) {
this.$refs['roleForm'].validate((valid) => { this.$refs['roleForm'].validate((valid) => {
if (valid) { if (valid) {
this.isSubmit = true this.isSubmit = true
const paramsInfo = { let paramsInfo = new FormData()
type: '20' // paramsInfo.append('id', this.bpnId || '')
} paramsInfo.append('createUser', this.$store.getters.userInfo.userId)
startProcess(paramsInfo).then(res => { paramsInfo.append('createUserName', this.$store.getters.userInfo.userName)
paramsInfo.append('type', '20')
paramsInfo.append('json', JSON.stringify({json}))
processBack(paramsInfo).then(res => {
this.taskID = res.data this.taskID = res.data
const params = new FormData(); const params = new FormData();
params.set('json', JSON.stringify(json)) params.set('json', JSON.stringify(json))
@@ -878,6 +970,9 @@ export default {
text-align: right; text-align: right;
} }
/deep/.el-form-item__content{
margin-top: 3px;
}
/deep/ .el-table th { /deep/ .el-table th {
padding: 0px; padding: 0px;
} }
@@ -2,7 +2,7 @@
<div class="bzrhStep2"> <div class="bzrhStep2">
<ProcessHeader toggle> <ProcessHeader toggle>
<template slot="proName">外部标准化协会入会流程</template> <template slot="proName">外部标准化协会入会流程</template>
<template slot="proNode">选择人员确认</template> <template slot="proNode">提名入会代表</template>
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div> <div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
@@ -72,12 +72,20 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources"> <el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span> <span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else>{{ item.name }} {{ ';' }}</a> <a v-else style="cursor: pointer" @click="fileLook(item)">
</span> {{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -104,9 +112,11 @@
<template slot="title">选择人员</template> <template slot="title">选择人员</template>
</ProcessTitle> </ProcessTitle>
<el-form-item class="add-form-item" label="入会人员:"> <el-form-item class="add-form-item" label="入会人员:">
<el-input v-model="rh_pageData.comityOpRoleId" style="display: none;"></el-input>
<el-input <el-input
:disabled="true" placeholder="请选择入会成员"
style="width: 30%" style="width: 50%"
@click.native="choiceRole(rh_pageData.comityOpRoleId)"
v-model="rh_pageData.comityOpRole" v-model="rh_pageData.comityOpRole"
/> />
</el-form-item> </el-form-item>
@@ -163,7 +173,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -171,7 +181,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -204,6 +214,13 @@
@submit="handleSubmit" @submit="handleSubmit"
> >
</ProcessFooter> </ProcessFooter>
<Role-tree
is-title="选择入会人员"
:is-visible.sync="roleShowflag"
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
</div> </div>
</template> </template>
@@ -214,9 +231,6 @@ import ProcessTitle from "../../components/ProcessTitle";
import { import {
completeTask, completeTask,
inboundLiaisonDetail, inboundLiaisonDetail,
startProcess,
saveinboundTask,
saveTaskForPub,
} from "@/api/process.js" } from "@/api/process.js"
export default { export default {
@@ -248,7 +262,7 @@ export default {
workPath: '', workPath: '',
comityTel: [], comityTel: [],
comityOpRole: '', comityOpRole: '',
comityInRoleId: '', comityOpRoleId: '',
}, },
roleForm: {}, roleForm: {},
commentText: '', commentText: '',
@@ -278,9 +292,6 @@ export default {
this.getData() this.getData()
}, },
methods: { methods: {
phoneClick () {
this.$router.push('/phoneBzrhStep2')
},
processTable() { processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", { this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum, prcNum: this.$route.query.prcNum,
@@ -308,7 +319,6 @@ export default {
getFormFieldList(item) { getFormFieldList(item) {
this.$nextTick(() => { this.$nextTick(() => {
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.rh_pageData.comityOpRole = this.$store.getters.userInfo.userName
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.infoSourcesLength = this.rh_pageData.infoSources.length this.infoSourcesLength = this.rh_pageData.infoSources.length
// this.rh_pageData.comityFileNum = this.fileTextList // this.rh_pageData.comityFileNum = this.fileTextList
@@ -318,7 +328,11 @@ export default {
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
}, },
// 预览
fileLook(file) { // 预览
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -326,6 +340,30 @@ export default {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId; window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
} }
}, },
/** 选择入会人员 */
choiceRole() {
this.nodeList = []
if (this.rh_pageData.comityOpRoleId.length > 0) {
this.nodeList = this.rh_pageData.comityOpRoleId.split(',')
}
this.roleShowflag = true
},
drawerCheck(data) {
var idList = ''
var nameList = ''
data.forEach(item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id;
nameList += item.name;
})
this.rh_pageData.comityOpRole = nameList
this.rh_pageData.comityOpRoleId = idList
this.roleShowflag = false
},
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
if (this.commentText === '') { if (this.commentText === '') {
@@ -72,12 +72,20 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources"> <el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span> <span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else>{{ item.name }} {{ ';' }}</a> <a v-else style="cursor: pointer" @click="fileLook(item)">
</span> {{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -184,7 +192,8 @@
:action="uploadPath" :action="uploadPath"
name="file" name="file"
:file-list="fillFileList" :file-list="fillFileList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:http-request="httpRequest"
:before-upload="handleBeforeUpload" :before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove" :before-remove="handleBeforeRemove"
:on-success="handleOnsuccess" :on-success="handleOnsuccess"
@@ -210,7 +219,7 @@
:rows="3" :rows="3"
resize="none" resize="none"
placeholder="请输入意见" placeholder="请输入意见"
v-model="commentText"> v-model="commentStep3">
</el-input> </el-input>
</div> </div>
</el-collapse-item> </el-collapse-item>
@@ -252,7 +261,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -260,7 +269,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -309,8 +318,8 @@ import ProcessTitle from "../../components/ProcessTitle";
import { import {
completeTask, completeTask,
inboundLiaisonDetail, inboundLiaisonDetail,
saveinboundTask,
saveTaskForPub, saveTaskForPub,
upFile
} from "@/api/process.js" } from "@/api/process.js"
export default { export default {
@@ -370,7 +379,7 @@ export default {
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
commentText: '', commentStep3: '',
infoSourcesLength: '', infoSourcesLength: '',
/** 上传相关 */ /** 上传相关 */
@@ -422,10 +431,11 @@ export default {
this.rh_pageData.fillDept = this.$store.getters.userInfo.institutionName this.rh_pageData.fillDept = this.$store.getters.userInfo.institutionName
this.rh_pageData.fillUnit = this.$store.getters.userInfo.upDeptName this.rh_pageData.fillUnit = this.$store.getters.userInfo.upDeptName
this.rh_pageData.fillTel = this.$store.getters.userInfo.phone this.rh_pageData.fillTel = this.$store.getters.userInfo.phone
this.rh_pageData.fillPeople = this.$store.getters.userInfo.userName this.rh_pageData.fillPeople = this.$store.getters.userInfo.userName + '(' + this.$store.getters.userInfo.userId + ')'
if (this.rh_pageData.fillFile !== undefined) { if (this.rh_pageData.fillFile !== undefined) {
this.fillFileList = this.rh_pageData.fillFile this.fillFileList = this.rh_pageData.fillFile
} }
this.commentStep3 = JSON.parse(JSON.stringify(item)).commentStep3
this.rh_pageData.fillPeopleId = this.$store.getters.userInfo.userId this.rh_pageData.fillPeopleId = this.$store.getters.userInfo.userId
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.infoSourcesLength = this.rh_pageData.infoSources.length this.infoSourcesLength = this.rh_pageData.infoSources.length
@@ -462,6 +472,7 @@ export default {
selfUser: this.$store.getters.userInfo.userId, selfUser: this.$store.getters.userInfo.userId,
charge: this.rh_pageData.fillLeaderId, charge: this.rh_pageData.fillLeaderId,
rh_pageData: this.rh_pageData, rh_pageData: this.rh_pageData,
commentStep3: this.commentStep3
})) }))
saveTaskForPub(_formData).then(res => { saveTaskForPub(_formData).then(res => {
this.saveLoading = false this.saveLoading = false
@@ -477,7 +488,7 @@ export default {
roleList: this.roleForm, roleList: this.roleForm,
selfUser: this.$store.getters.userInfo.userId, selfUser: this.$store.getters.userInfo.userId,
charge: this.rh_pageData.fillLeaderId, charge: this.rh_pageData.fillLeaderId,
commentText: this.commentText, commentText: this.commentStep3,
rh_pageData: this.rh_pageData, rh_pageData: this.rh_pageData,
} }
this.$refs['rh_pageData'].validate((valid) => { this.$refs['rh_pageData'].validate((valid) => {
@@ -506,11 +517,11 @@ export default {
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // 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 return true
} else { } else {
this.spinShow = false this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -533,6 +544,21 @@ export default {
}) })
this.rh_pageData.fillFile = this.fillFileList this.rh_pageData.fillFile = this.fillFileList
}, },
/** 覆盖默认的上传行为,实现多个文件一起上传 */
httpRequest(params) {
const file = params.file
// 根据后台需求数据格式
const form = new FormData()
// 文件对象
form.append("file", file)
upFile(form).then(res=>{
if (res.ok) {
this.handleOnsuccess(res)
} else {
this.$message.warning('上传失败')
}
})
},
// 文件上传成功 // 文件上传成功
handleOnsuccess(res, file, fileList) { handleOnsuccess(res, file, fileList) {
if (res.ok) { if (res.ok) {
@@ -557,6 +583,11 @@ export default {
this.fileMadel = false this.fileMadel = false
} }
}, },
// 预览
fileLook(file) { // 预览
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -72,12 +72,20 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources"> <el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span> <span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else>{{ item.name }} {{ ';' }}</a> <a v-else style="cursor: pointer" @click="fileLook(item)">
</span> {{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -178,7 +186,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -186,7 +194,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -229,9 +237,6 @@ import ProcessTitle from "../../components/ProcessTitle";
import { import {
completeTask, completeTask,
inboundLiaisonDetail, inboundLiaisonDetail,
saveinboundTask,
saveTaskForPub,
changeAssigneeNew
} from "@/api/process.js" } from "@/api/process.js"
export default { export default {
@@ -300,9 +305,6 @@ export default {
this.getData() this.getData()
}, },
methods: { methods: {
phoneClick () {
this.$router.push('/phoneBzrhStep4')
},
// 右上标签页面切换 // 右上标签页面切换
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
@@ -409,6 +411,11 @@ export default {
} }
}) })
}, },
// 预览
fileLook(file) { // 预览
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -22,7 +22,7 @@
v-for="item in rh_pageData.comityOptionsOne" v-for="item in rh_pageData.comityOptionsOne"
:key="item.id" :key="item.id"
v-if="item.id === rh_pageData.comityName"> v-if="item.id === rh_pageData.comityName">
{{ item.name || '-'}} {{ item.name || '-' }}
</span> </span>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -72,12 +72,20 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources"> <el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span> <span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0, 30) + '...' }} {{ ';' }}
</a> </a>
<a v-else>{{ item.name }} {{ ';' }}</a> <a v-else style="cursor: pointer" @click="fileLook(item)">
</span> {{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -130,11 +138,16 @@
</el-form-item> </el-form-item>
<el-form-item class="add-form-item" label="我司参与人员:" style="margin-top: 10px"> <el-form-item class="add-form-item" label="我司参与人员:" style="margin-top: 10px">
<div class="myPart_btn"> <div class="myPart_btn">
<el-button
type="primary"
size="small"
@click="add_partForm">
新增
</el-button>
<el-button <el-button
type="danger" type="danger"
size="small" size="small"
icon="el-icon-delete" @click="del_partForm">
@click="del_paryForm">
批量删除 批量删除
</el-button> </el-button>
</div> </div>
@@ -148,18 +161,51 @@
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}"> fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" width="55"/> <el-table-column type="selection" width="55"/>
<el-table-column prop="fillPeople" align="center" label="参与人"/> <el-table-column prop="fillPeople" align="center" label="参与人">
<el-table-column prop="fillUnit" align="center" label="单位"/>
<el-table-column prop="fillDept" align="center" label="部门"/>
<el-table-column prop="fillPost" align="center" label="身份"/>
<el-table-column prop="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
<el-table-column prop="fillFile" align="center" label="资料">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.fillFile.length === 0">{{ '-' }}</span> {{ scope.row.fillPeople || '' }}
<span v-for="item in scope.row.fillFile" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> </template>
{{ item.name }} {{ ';' }} </el-table-column>
</span> <el-table-column prop="fillUnit" align="center" label="单位">
<template slot-scope="scope">
{{ scope.row.fillUnit || '' }}
</template>
</el-table-column>
<el-table-column prop="fillDept" align="center" label="部门">
<template slot-scope="scope">
{{ scope.row.fillDept || '' }}
</template>
</el-table-column>
<el-table-column prop="fillPost" align="center" label="身份">
<template slot-scope="scope">
{{ scope.row.fillPost || '' }}
</template>
</el-table-column>
<el-table-column prop="fillTel" align="center" label="电话">
<template slot-scope="scope">
{{ scope.row.fillTel || '' }}
</template>
</el-table-column>
<el-table-column prop="fillMail" align="center" label="邮箱">
<template slot-scope="scope">
{{ scope.row.fillMail || '' }}
</template>
</el-table-column>
<el-table-column prop="fillFile" width="120" align="center" label="资料">
<template slot-scope="scope">
<el-button v-if="scope.row.fillFile.length === 0" type="primary" plain size="mini" @click="fillFile_up(scope.row)">
点击上传
</el-button>
<el-button v-else size="mini" plain type="primary" @click="fillFile_up(scope.row)">查看附件</el-button>
</template>
</el-table-column>
<el-table-column
fixed="right"
label="操作"
align="center"
width="100">
<template slot-scope="scope">
<el-button type="primary" plain size="mini" @click="edit_partForm(scope.row)">编辑</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -175,7 +221,7 @@
:rows="3" :rows="3"
resize="none" resize="none"
placeholder="请输入意见" placeholder="请输入意见"
v-model="commentText"> v-model="commentStep5">
</el-input> </el-input>
</div> </div>
</el-collapse-item> </el-collapse-item>
@@ -217,7 +263,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -225,7 +271,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -248,6 +294,89 @@
<loading :loading="loading">流程列表加载中</loading> <loading :loading="loading">流程列表加载中</loading>
</div> </div>
</div> </div>
<el-drawer
:title="isTitle"
:visible.sync="editFlag"
size="500px"
>
<div class="content_form" style="height: 100%">
<el-form class="label-input-form" ref="editForm" :model="editForm" label-width="80px">
<el-form-item class="add-form-item" label="参与人员:">
<el-input v-model="editForm.fillPeopleId" style="display: none;"></el-input>
<el-input
placeholder="请选择参与人员"
style="width: 50%"
@click.native="choiceRole('fillPeopleId','请选择入会成员',editForm.fillPeopleId,)"
v-model="editForm.fillPeople"
/>
</el-form-item>
<el-form-item class="add-form-item" label="单位:">
<el-input v-model="editForm.fillUnit" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="部门:">
<el-input v-model="editForm.fillDept" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="身份:">
<el-input v-model="editForm.fillPost" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="电话:">
<el-input v-model="editForm.fillTel" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="邮箱:">
<el-input v-model="editForm.fillMail" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="资料:">
<el-upload
:disabled="acceptShow"
multiple
ref="uploadFile"
:action="actionPath"
name="file"
:file-list="reData"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<el-button type="primary" size="small">
上传文件
</el-button>
</el-upload>
</el-form-item>
</el-form>
</div>
<div class="demo-drawer-footer">
<el-button size="mini" @click="falseDrawer">取消</el-button>
<el-button type="primary" size="mini" @click="OkDrawer">确认</el-button>
</div>
</el-drawer>
<!-- 标准号table上传弹框 -->
<el-dialog
:visible.sync="upDialog"
width='400px'
:before-close="handleClose">
<el-upload
:disabled="acceptShow"
multiple
class="upload-demo"
ref="uploadFile"
:action="actionPath"
name="file"
drag
:file-list="reData"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:http-request="httpRequest"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
<p>点击或拖拽上传文件</p>
</div>
</el-upload>
</el-dialog>
<ProcessFooter <ProcessFooter
show-submit show-submit
show-save show-save
@@ -257,6 +386,13 @@
@submit="handleSubmit" @submit="handleSubmit"
> >
</ProcessFooter> </ProcessFooter>
<Role-tree
check-box
is-title="选择入会人员"
:is-visible.sync="roleShowflag"
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
</div> </div>
</template> </template>
@@ -267,9 +403,7 @@ import ProcessTitle from "../../components/ProcessTitle";
import { import {
completeTask, completeTask,
inboundLiaisonDetail, inboundLiaisonDetail,
saveinboundTask, saveTaskForPub,upFile
saveTaskForPub,
changeAssigneeNew
} from "@/api/process.js" } from "@/api/process.js"
export default { export default {
@@ -324,7 +458,27 @@ export default {
deleteDataList: [], deleteDataList: [],
infoSourcesLength: '', infoSourcesLength: '',
commentText: '' commentStep5: '',
editFlag: false,
editForm: {
fillPeople: '',
fillUnit: '',
fillDept: '',
fillPost: '',
fillTel: '',
fillMail: '',
fillFile: [],
},
// 上传文件储存
reData: [],
upDialog: false,
actionPath: 'api/att/attFile/upload',
acceptShow: false,
roleShowflag: false,
nodeList: [],
isTitle: ''
} }
}, },
computed: { computed: {
@@ -369,12 +523,165 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.commentStep5 = JSON.parse(JSON.stringify(item)).commentStep5
this.infoSourcesLength = this.rh_pageData.infoSources.length this.infoSourcesLength = this.rh_pageData.infoSources.length
// this.rh_pageData.comityFileNum = this.fileTextList // this.rh_pageData.comityFileNum = this.fileTextList
}) })
}, },
/** 我司参与人员新增 */
add_partForm() {
var list = {
fillPeople: this.fillPeople,
fillUnit: this.fillUnit,
fillDept: this.fillDept,
fillPost: this.fillPost,
fillTel: this.fillTel,
fillMail: this.fillMail,
fillFile: this.fillFile = []
}
this.rh_pageData.myPartRole.push(list)
this.isTitle = '新增人员信息'
this.add_partDialog(list)
},
fillFile_up(row) {
this.fileListData = row
this.reData = this.fileListData.fillFile
this.upDialog = true
},
/** 覆盖默认的上传行为,实现多个文件一起上传 */
httpRequest(params) {
const file = params.file
// 根据后台需求数据格式
const form = new FormData()
// 文件对象
form.append("file", file)
upFile(form).then(res=>{
if (res.ok) {
this.handleOnsuccess(res)
} else {
this.$message.warning('上传失败')
}
})
},
// 文件上传成功
handleOnsuccess(res, file, fileList) {
if (res.ok) {
if (this.reData !== undefined) {
this.newDataList = this.reData
this.newDataList.push({
id: res.data.attId,
name: res.data.name
})
} else {
this.newDataList.push({
id: res.data.attId,
name: res.data.name
})
}
this.fileListData.fillFile = this.newDataList
this.$message({
showClose: true,
message: res.message,
type: 'success'
})
this.newDataList = []
this.fileMadel = false
}
},
// 文件上传限制条件
handleBeforeUpload(file) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
var index2 = filename.length
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' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
// 判断文件上传大小
// eslint-disable-next-line no-unreachable
if (file.size / 1024 / 1024 <= 200) {
return true
} else {
this.$message.error('文件' + file.name + '大小不超过200M')
return false
}
return true
},
// 移除上传的文件
handleBeforeRemove(file, fileList) {
this.reData.forEach((item, index) => {
if (item.name === file.name || item.id === file.id) {
this.reData.splice(index, 1)
}
})
this.fileListData.fillFile = this.reData
},
handleClose() {
this.upDialog = false
},
add_partDialog(row) {
// 用来储存取消时原来的数据,防止取消时修改
localStorage.setItem('obj', JSON.stringify(row))
this.fileListData = row
this.reData = this.fileListData.fillFile
this.editForm = row
this.editFlag = true
},
// 编辑按钮
edit_partForm(row) {
this.isTitle = '编辑人员信息'
// 用来储存取消时原来的数据,防止取消时修改
localStorage.setItem('obj', JSON.stringify(row))
this.fileListData = row
this.reData = this.fileListData.fillFile
this.editForm = row
this.editFlag = true
},
// 编辑框确认按钮
OkDrawer() {
this.editFlag = false
},
falseDrawer() {
if (this.isTitle === '新增人员信息') {
this.getData()
} else {
let Item = JSON.parse(localStorage.getItem('obj'))
this.editForm.fillPeopleId = Item.fillPeopleId
this.editForm.fillPeople = Item.fillPeople
this.editForm.fillUnit = Item.fillUnit
this.editForm.fillDept = Item.fillDept
this.editForm.fillPost = Item.fillPost
this.editForm.fillTel = Item.fillTel
this.editForm.fillMail = Item.fillMail
this.editForm.fillFile = Item.fillFile
}
this.editFlag = false
},
// 编辑框选人
choiceRole(type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.roleShowflag = true
},
drawerCheck(data) {
if (data.length > 0) {
this.fileListData.fillPeopleId = data[0].id
this.fileListData.fillPeople = data[0].name
}
this.roleShowflag = false
},
/** 批量删除 */ /** 批量删除 */
del_paryForm() { del_partForm() {
if (this.deleteDataList.length < 1) { if (this.deleteDataList.length < 1) {
this.$message.warning("请选择一条数据进行删除"); this.$message.warning("请选择一条数据进行删除");
} else { } else {
@@ -412,7 +719,7 @@ export default {
_formData.append('json', JSON.stringify({ _formData.append('json', JSON.stringify({
rh_pageData: this.rh_pageData, rh_pageData: this.rh_pageData,
roleList: this.roleForm, roleList: this.roleForm,
commentText: this.commentText commentStep5: this.commentStep5
})) }))
saveTaskForPub(_formData).then(res => { saveTaskForPub(_formData).then(res => {
this.saveLoading = false this.saveLoading = false
@@ -428,7 +735,7 @@ export default {
leader: this.roleForm.leaderUserId, leader: this.roleForm.leaderUserId,
rh_pageData: this.rh_pageData, rh_pageData: this.rh_pageData,
roleList: this.roleForm, roleList: this.roleForm,
commentText: this.commentText commentText: this.commentStep5
} }
this.$refs['rh_pageData'].validate((valid) => { this.$refs['rh_pageData'].validate((valid) => {
if (valid) { if (valid) {
@@ -448,6 +755,11 @@ export default {
}) })
}, },
// 预览
fileLook(file) { // 预览
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
@@ -72,12 +72,12 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources"> <el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span> <span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else>{{ item.name }} {{ ';' }}</a> <a v-else>{{ item.name }} {{ ';' }}</a>
</span> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -180,7 +180,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -188,7 +188,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -75,12 +75,20 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources"> <el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span> <span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else>{{ item.name }} {{ ';' }}</a> <a v-else style="cursor: pointer" @click="fileLook(item)">
</span> {{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -183,7 +191,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -191,7 +199,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -239,9 +247,6 @@ import ProcessTitle from "../../components/ProcessTitle";
import { import {
completeTask, completeTask,
inboundLiaisonDetail, inboundLiaisonDetail,
saveinboundTask,
saveTaskForPub,
changeAssigneeNew
} from "@/api/process.js" } from "@/api/process.js"
export default { export default {
@@ -311,11 +316,6 @@ export default {
this.getData() this.getData()
}, },
methods: { methods: {
phoneClick () {
if (this.taskInfo !== '标准法规工程师汇总修订完毕') {
this.$router.push('/phoneBzrhStep6')
}
},
// 右上标签页面切换 // 右上标签页面切换
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
@@ -356,6 +356,11 @@ export default {
// this.rh_pageData.comityFileNum = this.fileTextList // this.rh_pageData.comityFileNum = this.fileTextList
}) })
}, },
// 预览
fileLook(file) { // 预览
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -422,7 +427,7 @@ export default {
json.manageDepartment = this.$store.getters.userInfo.userId json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') { } else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser json.engineerSumDone = this.roleForm.directorUserId
} else { } else {
json = { json = {
rh_pageData: this.rh_pageData, rh_pageData: this.rh_pageData,
@@ -127,7 +127,8 @@
ref="uploadOtherFile" ref="uploadOtherFile"
name="file" name="file"
:file-list="upOtherData" :file-list="upOtherData"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:http-request="httpRequestOther"
:before-upload="beforeUploadOther" :before-upload="beforeUploadOther"
:before-remove="beforeRemoveOther" :before-remove="beforeRemoveOther"
:on-success="onsuccessOther" :on-success="onsuccessOther"
@@ -202,7 +203,8 @@
:action="actionPath" :action="actionPath"
name="file" name="file"
:file-list="reData" :file-list="reData"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:http-request="httpRequest"
:before-upload="handleBeforeUpload" :before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove" :before-remove="handleBeforeRemove"
:on-success="handleOnsuccess" :on-success="handleOnsuccess"
@@ -223,7 +225,8 @@
:action="actionPath" :action="actionPath"
name="file" name="file"
:file-list="themeData" :file-list="themeData"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:http-request="httpRequestTheme"
:before-upload="beforeUploadTheme" :before-upload="beforeUploadTheme"
:before-remove="beforeRemoveTheme" :before-remove="beforeRemoveTheme"
:on-success="onsuccessTheme" :on-success="onsuccessTheme"
@@ -239,7 +242,7 @@
import ProcessHeader from '../../components/ProcessHeader' import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import { saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js' import { saveTaskForPub, completeTask, inboundLiaisonDetail,upFile,taskDel} from '@/api/process.js'
export default { export default {
components: { components: {
@@ -386,6 +389,21 @@ export default {
this.reData = this.fileListData.material this.reData = this.fileListData.material
this.upDialog = true this.upDialog = true
}, },
/** 覆盖默认的上传行为,实现多个文件一起上传 */
httpRequest(params) {
const file = params.file
// 根据后台需求数据格式
const form = new FormData()
// 文件对象
form.append("file", file)
upFile(form).then(res=>{
if (res.ok) {
this.handleOnsuccess(res)
} else {
this.$message.warning('上传失败')
}
})
},
// 文件上传成功 // 文件上传成功
handleOnsuccess(res, file, fileList) { handleOnsuccess(res, file, fileList) {
if (res.ok) { if (res.ok) {
@@ -420,11 +438,11 @@ export default {
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // 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 return true
} else { } else {
this.spinShow = false this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -460,6 +478,21 @@ export default {
this.upThemeDialog = true this.upThemeDialog = true
}, },
/** 覆盖默认的上传行为,实现多个文件一起上传 */
httpRequestTheme(params) {
const file = params.file
// 根据后台需求数据格式
const form = new FormData()
// 文件对象
form.append("file", file)
upFile(form).then(res=>{
if (res.ok) {
this.onsuccessTheme(res)
} else {
this.$message.warning('上传失败')
}
})
},
// 文件上传成功 // 文件上传成功
onsuccessTheme(res, file, fileList) { onsuccessTheme(res, file, fileList) {
if (res.ok) { if (res.ok) {
@@ -493,11 +526,11 @@ export default {
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // 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 return true
} else { } else {
this.spinShow = false this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -521,6 +554,22 @@ export default {
}, },
/** 其他资料上传 */ /** 其他资料上传 */
/** 覆盖默认的上传行为,实现多个文件一起上传 */
httpRequestOther(params) {
const file = params.file
// 根据后台需求数据格式
const form = new FormData()
// 文件对象
form.append("file", file)
upFile(form).then(res=>{
if (res.ok) {
this.onsuccessOther(res)
} else {
this.$message.warning('上传失败')
}
})
},
// 文件上传成功 // 文件上传成功
onsuccessOther(res, file, fileList) { onsuccessOther(res, file, fileList) {
if (res.ok) { if (res.ok) {
@@ -553,11 +602,11 @@ export default {
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // 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 return true
} else { } else {
this.spinShow = false this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -603,15 +652,16 @@ export default {
handleSave() { handleSave() {
this.saveLoading = true this.saveLoading = true
let _formData = new FormData() let _formData = new FormData()
_formData.append('id', this.bpnId || '') // _formData.append('id', this.bpnId || '')
_formData.append('createUser', this.$store.getters.userInfo.userId) // _formData.append('createUser', this.$store.getters.userInfo.userId)
_formData.append('createUserName', this.$store.getters.userInfo.userName) // _formData.append('createUserName', this.$store.getters.userInfo.userName)
_formData.append('prcType', '22') // _formData.append('prcType', '22')
_formData.append('taskIds', this.taskIds)
_formData.append('json', JSON.stringify({ _formData.append('json', JSON.stringify({
roleForm: this.roleForm, roleForm: this.roleForm,
hh_pageData: this.hh_pageData hh_pageData: this.hh_pageData,
})) }))
saveTaskFirst(_formData).then(res => { saveTaskForPub(_formData).then(res => {
this.saveLoading = false this.saveLoading = false
this.$message.success('保存成功') this.$message.success('保存成功')
this.bpnId = res.result this.bpnId = res.result
@@ -166,7 +166,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -174,7 +174,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -289,9 +289,6 @@ export default {
this.getData() this.getData()
}, },
methods: { methods: {
phoneClick () {
this.$router.push('/phoneBzhhStep2')
},
// 右上标签页面切换 // 右上标签页面切换
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
@@ -18,22 +18,23 @@
<el-form class="label-input-form" ref="ch_pageData" :model="ch_pageData" :rules="ch_rules" label-width="150px"> <el-form class="label-input-form" ref="ch_pageData" :model="ch_pageData" :rules="ch_rules" label-width="150px">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="会议名称:"> <el-form-item class="add-form-item" label="会议名称:" prop="meetingName">
<el-input <el-input
v-model="ch_pageData.meetingName" v-model="ch_pageData.meetingName"
placeholder="请填写"/> placeholder="请填写"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="主办单位:"> <el-form-item class="add-form-item" label="主办单位:" prop="primaryUnit">
<el-input v-model="ch_pageData.primaryUnit" placeholder="请填写"/> <el-input v-model="ch_pageData.primaryUnit" placeholder="请填写"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:"> <el-form-item class="add-form-item" label="协会名称:" prop="associaName">
<el-select <el-select
clearable
@change="comityChange" @change="comityChange"
v-model="ch_pageData.associaName" v-model="ch_pageData.associaName"
placeholder="请选择标委会"> placeholder="请选择标委会">
@@ -48,6 +49,7 @@
<el-col :span="8" v-if="ch_pageData.associaName !== ''"> <el-col :span="8" v-if="ch_pageData.associaName !== ''">
<el-form-item class="add-form-item"> <el-form-item class="add-form-item">
<el-select <el-select
clearable
@change="comityChangeOne" @change="comityChangeOne"
v-model="ch_pageData.associaNameOne" v-model="ch_pageData.associaNameOne"
placeholder="请选择分标委"> placeholder="请选择分标委">
@@ -62,6 +64,7 @@
<el-col :span="8" v-if="ch_pageData.associaName !== '' && ch_pageData.associaNameOne !== ''"> <el-col :span="8" v-if="ch_pageData.associaName !== '' && ch_pageData.associaNameOne !== ''">
<el-form-item class="add-form-item"> <el-form-item class="add-form-item">
<el-select <el-select
clearable
v-model="ch_pageData.associaNameTwo" v-model="ch_pageData.associaNameTwo"
placeholder="请选择工作组"> placeholder="请选择工作组">
<el-option <el-option
@@ -75,10 +78,11 @@
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="会议时间:"> <el-form-item class="add-form-item" label="会议时间:" prop="meetingStartTime">
<el-date-picker <el-date-picker
v-model="ch_pageData.meetingStartTime" v-model="ch_pageData.meetingStartTime"
type="date" type="datetime"
:picker-options="datePicker"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期时间" placeholder="选择日期时间"
align="right"> align="right">
@@ -86,7 +90,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="会议地点:"> <el-form-item class="add-form-item" label="会议地点:" prop="meetingPlace">
<el-input v-model="ch_pageData.meetingPlace" placeholder="请填写"/> <el-input v-model="ch_pageData.meetingPlace" placeholder="请填写"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -100,43 +104,34 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:"> <el-form-item class="add-form-item" label="费用列支:">
<el-input v-model="ch_pageData.feeKind" placeholder="请输入费用列支"></el-input> <el-input v-model="ch_pageData.feeKind" placeholder="请输入费用列支"></el-input>
<!-- <el-select
v-model="ch_pageData.feeKind"
placeholder="请选择费用列支">
<el-option
v-for="item in feeKindOptions"
:key="item.value"
:label="item.label"
:value="item.label"/>
</el-select>-->
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row>
<el-col :span="8"> <el-col :span="24">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<el-upload <div v-if="ch_pageData.fileTextList.length>0">
style="width: 70%" <div v-for="(item, index) in ch_pageData.fileTextList" :key="index" style="margin-right: 5px; padding-left: 10px;color: #0c91e5;">
class="upload_style" <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
:disabled="acceptShow" {{ item.name.slice(0,30) + '...' }} {{ ';' }}
multiple </a>
ref="uploadFile" <a v-else style="cursor: pointer" @click="fileLook(item)">{{ item.name }}</a>
:action="uploadPath"
name="file"
:file-list="ch_pageData.fileTextList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<el-button <el-button
:disabled="acceptShow" size="mini"
type="primary" @click="filesUpload(item)"
class="common-button-primary" icon="el-icon-download"
size="mini"> style="height: 25px; margin-left: 5px;"
点击上传 ></el-button>
</el-button> </div>
</el-upload> </div>
<el-button
@click="fileUpload"
:disabled="acceptShow"
type="primary"
class="common-button-primary"
size="mini">
点击上传
</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@@ -181,7 +176,7 @@
:rows="3" :rows="3"
resize="none" resize="none"
placeholder="请输入意见" placeholder="请输入意见"
v-model="commentText"> v-model="commentStep1">
</el-input> </el-input>
</div> </div>
</el-collapse-item> </el-collapse-item>
@@ -269,7 +264,7 @@
<el-timeline-item timestamp="会签" placement="top" :color="roleForm.feeUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="会签" placement="top" :color="roleForm.feeUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="feeUser" style="margin-bottom: 0"> <el-form-item prop="feeUser" style="margin-bottom: 0">
<h4>管理推荐部</h4> <h4>管理推进部</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.feeUserId" style="display: none;"></el-input> <el-input v-model="roleForm.feeUserId" style="display: none;"></el-input>
<el-input v-model="roleForm.feeUser" placeholder="选择费用管理部门" @click.native="choiceZRR('feeUser', '选择费用管理部门', roleForm.feeUser)"> <el-input v-model="roleForm.feeUser" placeholder="选择费用管理部门" @click.native="choiceZRR('feeUser', '选择费用管理部门', roleForm.feeUser)">
@@ -281,10 +276,10 @@
<el-timeline-item timestamp="审定" placement="top" :color="roleForm.engineerUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="审定" placement="top" :color="roleForm.engineerUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="engineerUser" style="margin-bottom: 0"> <el-form-item prop="engineerUser" style="margin-bottom: 0">
<h4>技术委员会常务副主任/总院院长</h4> <h4>业务主管副院长</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.engineerUserId" style="display: none;"></el-input> <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> </el-input>
</div> </div>
</el-form-item> </el-form-item>
@@ -292,11 +287,11 @@
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="批准" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="批准" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="totalLeader" style="margin-bottom: 0"> <el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>技术委员会主任</h4> <h4>院长</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.startUser" style="display: none;"></el-input> <el-input v-model="roleForm.directorUserId" style="display: none;"></el-input>
<el-input v-model="roleForm.startUserName" :disabled="true" placeholder="选择总院技术委员会主任"> <el-input v-model="roleForm.directorUserName" placeholder="选择院长" @click.native="choiceZRROne('directorUser', '选择院长', roleForm.directorUserName)">
</el-input> </el-input>
</div> </div>
</el-form-item> </el-form-item>
@@ -306,6 +301,29 @@
</el-timeline> </el-timeline>
</div> </div>
</div> </div>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传附件">
<el-upload
class="upload-demo"
:disabled="acceptShow"
multiple
ref="uploadFile"
:action="uploadPath"
name="file"
drag
:file-list="ch_pageData.fileTextList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:http-request="httpRequest"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
<p>点击或拖拽上传文件</p>
</div>
</el-upload>
</el-dialog>
<ProcessFooter <ProcessFooter
show-save show-save
show-submit show-submit
@@ -336,9 +354,11 @@ import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import { import {
startProcess, queryTaskFirst, queryTaskFirst,
saveTaskFirst, completeTask, saveTaskFirst, completeTask,
taskDel, workGroup} from '@/api/process.js' taskDel, workGroup, processBack,
upFile
} from '@/api/process.js'
export default { export default {
components: { components: {
@@ -351,6 +371,7 @@ export default {
return { return {
active: '1', active: '1',
fileMadel: false,
ch_pageData: { ch_pageData: {
meetingName: '', meetingName: '',
primaryUnit: '', primaryUnit: '',
@@ -376,7 +397,9 @@ export default {
fillFile: '', fillFile: '',
associaOptionsOne: [], associaOptionsOne: [],
associaOptionsTwo: [], associaOptionsTwo: [],
associaOptionsTree: [] associaOptionsTree: [],
meetingInRole: '',
meetingInRoleId: ''
}, },
feeKindOptions: [ feeKindOptions: [
@@ -392,7 +415,13 @@ export default {
// 上传所储存文件数组 // 上传所储存文件数组
newDataList: [], newDataList: [],
ch_rules: {}, ch_rules: {
meetingName: [{required: true, message: '请输入会议名称', trigger: 'change'}],
primaryUnit: [{required: true, message: '请输入主办单位', trigger: 'change'}],
associaName: [{required: true, message: '请选择协会名称', trigger: 'change'}],
meetingStartTime: [{required: true, message: '请选择会议时间', trigger: 'change'}],
meetingPlace: [{required: true, message: '请输入会议地点', trigger: 'change'}]
},
roleForm: { roleForm: {
startUserName: this.$store.getters.userInfo.userName, startUserName: this.$store.getters.userInfo.userName,
startUser: this.$store.getters.userInfo.userId, startUser: this.$store.getters.userInfo.userId,
@@ -404,13 +433,16 @@ export default {
feeUserId: '', feeUserId: '',
engineerUser: '', engineerUser: '',
engineerUserId: '', engineerUserId: '',
directorUserId: '',
directorUserName: '',
}, },
roleFormRules: { roleFormRules: {
dockUserName: [{required: true, message: "请选择标准法规工程师", trigger: ['blur', 'change']}], dockUserName: [{required: true, message: "请选择标准法规工程师", trigger: ['blur', 'change']}],
startUserName: [{required: true, message: "请选择标准法规部人员", trigger: ['blur', 'change']}], startUserName: [{required: true, message: "请选择标准法规部人员", trigger: ['blur', 'change']}],
leaderUser: [{required: true, message: "请选择标准法规部主管中心主任", trigger: ['blur', 'change']}], leaderUser: [{required: true, message: "请选择标准法规部主管中心主任", trigger: ['blur', 'change']}],
feeUser: [{required: true, message: "请选择管理推荐部", trigger: ['blur', 'change']}], feeUser: [{required: true, message: "请选择管理推进部", trigger: ['blur', 'change']}],
engineerUser: [{required: true, message: "请选择技术委员会常务副主任/总院院长", trigger: ['blur', 'change']}], engineerUser: [{required: true, message: "请选择业务主管副院长 ", trigger: ['blur', 'change']}],
directorUserName: [{required: true, message: "请选择院长", trigger: ['blur', 'change']}],
}, },
deleteDataList: [], deleteDataList: [],
@@ -421,8 +453,14 @@ export default {
roleShowflagOne: false, roleShowflagOne: false,
isSubmit: false, isSubmit: false,
saveLoading: false, saveLoading: false,
commentText: '', commentInfo: '',
bpnId: '' bpnId: '',
// 设置当前日期之前不可选择
datePicker: {
disabledDate(date) {
return date.getTime() < Date.now() - 24 * 60 * 60 * 1000
}
}
} }
}, },
mounted() { mounted() {
@@ -434,7 +472,22 @@ export default {
type: 0 type: 0
} }
workGroup(type).then(res => { 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: { methods: {
@@ -467,15 +520,15 @@ export default {
}).then(res => { }).then(res => {
let mes = JSON.parse(res.mes) let mes = JSON.parse(res.mes)
this.ch_pageData = mes.ch_pageData this.ch_pageData = mes.ch_pageData
this.commentText = mes.commentText this.commentInfo = mes.commentInfo
this.roleForm = mes.roleForm this.roleForm = mes.roleForm
}); });
}, },
//上传按钮 //上传按钮
/* uploadFile(val) { fileUpload () {
this.fileListData = val this.fileMadel = true
},*/ },
// 文件上传限制条件 // 文件上传限制条件
handleBeforeUpload(file) { handleBeforeUpload(file) {
var filename = file.name var filename = file.name
@@ -484,11 +537,11 @@ export default {
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // 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 return true
} else { } else {
this.spinShow = false this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -510,6 +563,21 @@ export default {
} }
}) })
}, },
/** 覆盖默认的上传行为,实现多个文件一起上传 */
httpRequest(params) {
const file = params.file
// 根据后台需求数据格式
const form = new FormData()
// 文件对象
form.append("file", file)
upFile(form).then(res=>{
if (res.ok) {
this.handleOnsuccess(res)
} else {
this.$message.warning('上传失败')
}
})
},
// 文件上传成功 // 文件上传成功
handleOnsuccess(res, file, fileList) { handleOnsuccess(res, file, fileList) {
if (res.ok) { if (res.ok) {
@@ -534,6 +602,19 @@ export default {
this.fileMadel = false this.fileMadel = false
} }
}, },
// 文件预览
fileLook(file) { // 预览
const attId = file.id
this.$preview(attId)
},
filesUpload (file) { // 下载
const attId = file.id
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
meeting_add() { meeting_add() {
var list = { var list = {
@@ -615,9 +696,12 @@ export default {
if (this.type === 'leaderUser') { if (this.type === 'leaderUser') {
this.roleForm.leaderUser = data[0].name this.roleForm.leaderUser = data[0].name
this.roleForm.leaderUserId = data[0].id this.roleForm.leaderUserId = data[0].id
} else { } else if(this.type ==='engineerUser') {
this.roleForm.engineerUser = data[0].name this.roleForm.engineerUser = data[0].name
this.roleForm.engineerUserId = data[0].id this.roleForm.engineerUserId = data[0].id
} else {
this.roleForm.directorUserName = data[0].name
this.roleForm.directorUserId = data[0].id
} }
this.roleShowflagOne = false this.roleShowflagOne = false
}, },
@@ -632,7 +716,7 @@ export default {
_formData.append('json', JSON.stringify({ _formData.append('json', JSON.stringify({
roleForm: this.roleForm, roleForm: this.roleForm,
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
commentText: this.commentText commentInfo: this.commentInfo
})) }))
saveTaskFirst(_formData).then(res => { saveTaskFirst(_formData).then(res => {
@@ -650,18 +734,22 @@ export default {
prcCreateUserName: this.$store.getters.userInfo.userName, prcCreateUserName: this.$store.getters.userInfo.userName,
roleList: this.roleForm, roleList: this.roleForm,
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
commentText: this.commentText, commentText: this.commentInfo,
directorList: this.roleForm.dockUser, directorList: this.roleForm.dockUser,
roleForm: this.roleForm,
} }
this.$refs['ch_pageData'].validate((valid) => { this.$refs['ch_pageData'].validate((valid) => {
if (valid) { if (valid) {
this.$refs['roleForm'].validate((valid) => { this.$refs['roleForm'].validate((valid) => {
if (valid) { if (valid) {
this.isSubmit = true this.isSubmit = true
const paramsInfo = { let paramsInfo = new FormData()
type: '21' // paramsInfo.append('id', this.bpnId || '')
} paramsInfo.append('createUser', this.$store.getters.userInfo.userId)
startProcess(paramsInfo).then(res => { paramsInfo.append('createUserName', this.$store.getters.userInfo.userName)
paramsInfo.append('type', '21')
paramsInfo.append('json', JSON.stringify({json}))
processBack(paramsInfo).then(res => {
this.taskID = res.data this.taskID = res.data
const params = new FormData(); const params = new FormData();
params.set('json', JSON.stringify(json)) params.set('json', JSON.stringify(json))
@@ -2,7 +2,7 @@
<div class="bzchStep2"> <div class="bzchStep2">
<ProcessHeader toggle> <ProcessHeader toggle>
<template slot="proName">外部标准化协会参会流程</template> <template slot="proName">外部标准化协会参会流程</template>
<template slot="proNode">参会人员确认</template> <template slot="proNode">提名入会代表</template>
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div> <div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
@@ -56,23 +56,29 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:"> <el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }} {{ ch_pageData.feeKind || '-' }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span> <span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else> <a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }} {{ item.name }} {{ ';' }}
</a> </a>
</span> <el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -101,11 +107,12 @@
<ProcessTitle> <ProcessTitle>
<template slot="title">选择人员</template> <template slot="title">选择人员</template>
</ProcessTitle> </ProcessTitle>
<el-form-item class="add-form-item" label="入会人员:"> <el-form-item class="add-form-item" label="参会人员:">
<el-input v-model="ch_pageData.meetingInRoleId" style="display: none;"></el-input>
<el-input <el-input
:disabled="true" placeholder="请选择参会人员"
style="width: 30%" style="width: 50%"
placeholder="请选择入会人员" @click.native="choiceRole"
v-model="ch_pageData.meetingInRole" v-model="ch_pageData.meetingInRole"
/> />
</el-form-item> </el-form-item>
@@ -162,7 +169,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -170,7 +177,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -203,6 +210,13 @@
@submit="handleSubmit" @submit="handleSubmit"
> >
</ProcessFooter> </ProcessFooter>
<Role-tree
is-title="选择入会人员"
:is-visible.sync="roleShowflag"
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
</div> </div>
</template> </template>
@@ -210,7 +224,7 @@
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js' import {completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default { export default {
components: { components: {
@@ -251,9 +265,6 @@ export default {
this.getData() this.getData()
}, },
methods: { methods: {
phoneClick () {
this.$router.push('/phoneBzchStep2')
},
// 右上标签页面切换 // 右上标签页面切换
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
@@ -287,10 +298,33 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
this.uploadFileLength = this.ch_pageData.fileTextList.length this.uploadFileLength = this.ch_pageData.fileTextList.length
this.ch_pageData.meetingInRole = this.$store.getters.userInfo.userName
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
}) })
}, },
/** 选择入会人员 */
choiceRole() {
this.nodeList = []
if (this.ch_pageData.meetingInRoleId.length > 0) {
this.nodeList = this.ch_pageData.meetingInRoleId.split(',')
}
this.roleShowflag = true
},
drawerCheck(data) {
var idList = ''
var nameList = ''
data.forEach(item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id;
nameList += item.name;
})
this.ch_pageData.meetingInRole = nameList
this.ch_pageData.meetingInRoleId = idList
this.roleShowflag = false
},
// 退回按钮 // 退回按钮
handleSubmitNo() { handleSubmitNo() {
if (this.commentText === '') { if (this.commentText === '') {
@@ -349,6 +383,10 @@ export default {
}) })
}, },
fileLook(file) { // 预览
const attId = file.id
tis.$preview(attId)
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -471,6 +509,9 @@ export default {
/deep/ .el-table th { /deep/ .el-table th {
padding: 0px; padding: 0px;
} }
/deep/.el-form-item__content {
margin-top: 4px;
}
} }
} }
</style> </style>
@@ -56,23 +56,29 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:"> <el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }} {{ ch_pageData.feeKind || '-' }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span> <span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else> <a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }} {{ item.name }} {{ ';' }}
</a> </a>
</span> <el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -175,7 +181,7 @@
:rows="3" :rows="3"
resize="none" resize="none"
placeholder="请输入意见" placeholder="请输入意见"
v-model="commentText"> v-model="commentStep3">
</el-input> </el-input>
</div> </div>
</el-collapse-item> </el-collapse-item>
@@ -217,7 +223,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -225,7 +231,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -271,7 +277,7 @@
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, saveTaskForPub, completeTask, inboundLiaisonDetail} from '@/api/process.js' import {saveTaskForPub, completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default { export default {
components: { components: {
@@ -317,7 +323,7 @@ export default {
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
uploadFileLength: '', uploadFileLength: '',
commentText: '' commentStep3: ''
} }
}, },
computed: { computed: {
@@ -366,8 +372,9 @@ export default {
this.ch_pageData.fillUnit = this.$store.getters.userInfo.upDeptName this.ch_pageData.fillUnit = this.$store.getters.userInfo.upDeptName
this.ch_pageData.fillTel = this.$store.getters.userInfo.phone this.ch_pageData.fillTel = this.$store.getters.userInfo.phone
this.ch_pageData.fillPeopleId = this.$store.getters.userInfo.userId this.ch_pageData.fillPeopleId = this.$store.getters.userInfo.userId
this.ch_pageData.fillPeople = this.$store.getters.userInfo.userName this.ch_pageData.fillPeople = this.$store.getters.userInfo.userName + '(' + this.$store.getters.userInfo.userId + ')'
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.commentStep3 = JSON.parse(JSON.stringify(item)).commentStep3
// this.rh_pageData.comityFileNum = this.fileTextList // this.rh_pageData.comityFileNum = this.fileTextList
}) })
}, },
@@ -394,7 +401,7 @@ export default {
_formData.append('taskIds', this.taskIds) _formData.append('taskIds', this.taskIds)
_formData.append('json', JSON.stringify({ _formData.append('json', JSON.stringify({
roleList: this.roleForm, roleList: this.roleForm,
commentText: this.commentText, commentStep3: this.commentStep3,
selfUser: this.$store.getters.userInfo.userId, selfUser: this.$store.getters.userInfo.userId,
charge: this.ch_pageData.fillLeaderId, charge: this.ch_pageData.fillLeaderId,
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
@@ -412,7 +419,7 @@ export default {
let json = { let json = {
roleList: this.roleForm, roleList: this.roleForm,
selfUser: this.$store.getters.userInfo.userId, selfUser: this.$store.getters.userInfo.userId,
commentText: this.commentText, commentText: this.commentStep3,
charge: this.ch_pageData.fillLeaderId, charge: this.ch_pageData.fillLeaderId,
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
} }
@@ -434,6 +441,11 @@ export default {
}) })
}, },
// 预览
fileLook(file) { // 预览
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -556,6 +568,9 @@ export default {
/deep/ .el-table th { /deep/ .el-table th {
padding: 0px; padding: 0px;
} }
/deep/.el-form-item__content {
margin-top: 4px;
}
} }
} }
</style> </style>
@@ -56,23 +56,29 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:"> <el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }} {{ ch_pageData.feeKind || '-' }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span> <span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else> <a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }} {{ item.name }} {{ ';' }}
</a> </a>
</span> <el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -168,7 +174,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -176,7 +182,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -215,7 +221,7 @@
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js' import {completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default { export default {
components: { components: {
@@ -256,9 +262,6 @@ export default {
this.getData() this.getData()
}, },
methods: { methods: {
phoneClick () {
this.$router.push('/phoneBzchStep4')
},
// 右上标签页面切换 // 右上标签页面切换
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
@@ -363,6 +366,11 @@ export default {
} }
}) })
}, },
// 预览
fileLook(file) { // 预览
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -481,6 +489,9 @@ export default {
/deep/ .el-table th { /deep/ .el-table th {
padding: 0px; padding: 0px;
} }
/deep/.el-form-item__content {
margin-top: 4px;
}
} }
} }
</style> </style>
@@ -56,23 +56,29 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:"> <el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }} {{ ch_pageData.feeKind || '-' }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span> <span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else> <a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }} {{ item.name }} {{ ';' }}
</a> </a>
</span> <el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -107,11 +113,15 @@
</el-form-item> </el-form-item>
<el-form-item class="add-form-item" label="入会人员:"> <el-form-item class="add-form-item" label="入会人员:">
<div class="myPart_btn"> <div class="myPart_btn">
<el-button
type="primary"
size="small"
@click="add_partForm">
新增</el-button>
<el-button <el-button
type="danger" type="danger"
size="small" size="small"
icon="el-icon-delete" @click="del_partForm">
@click="del_paryForm">
批量删除 批量删除
</el-button> </el-button>
</div> </div>
@@ -126,11 +136,40 @@
fontWeight: 'bold', height: '20px'}"> fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" width="55"/> <el-table-column type="selection" width="55"/>
<el-table-column type="index" width="50" align="center"/> <el-table-column type="index" width="50" align="center"/>
<el-table-column prop="fillPeople" align="center" label="人员"/> <el-table-column prop="fillPeople" align="center" label="人员">
<el-table-column prop="fillUnit" align="center" label="单位"/> <template slot-scope="scope">
<el-table-column prop="fillDept" align="center" label="部门"/> {{ scope.row.fillPeople || '' }}
<el-table-column prop="fillTel" align="center" label="电话"/> </template>
<el-table-column prop="fillMail" align="center" label="邮箱"/> </el-table-column>
<el-table-column prop="fillUnit" align="center" label="单位">
<template slot-scope="scope">
{{ scope.row.fillUnit || '' }}
</template>
</el-table-column>
<el-table-column prop="fillDept" align="center" label="部门">
<template slot-scope="scope">
{{ scope.row.fillDept || '' }}
</template>
</el-table-column>
<el-table-column prop="fillTel" align="center" label="电话">
<template slot-scope="scope">
{{ scope.row.fillTel || '' }}
</template>
</el-table-column>
<el-table-column prop="fillMail" align="center" label="邮箱">
<template slot-scope="scope">
{{ scope.row.fillMail || '' }}
</template>
</el-table-column>
<el-table-column
fixed="right"
label="操作"
align="center"
width="100">
<template slot-scope="scope">
<el-button type="primary" plain size="mini" @click="edit_partForm(scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table> </el-table>
</el-form-item> </el-form-item>
</el-form> </el-form>
@@ -144,7 +183,7 @@
:rows="3" :rows="3"
resize="none" resize="none"
placeholder="请输入意见" placeholder="请输入意见"
v-model="commentText"> v-model="commentStep5">
</el-input> </el-input>
</div> </div>
</el-collapse-item> </el-collapse-item>
@@ -186,7 +225,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -194,7 +233,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -217,6 +256,42 @@
<loading :loading="loading">流程列表加载中</loading> <loading :loading="loading">流程列表加载中</loading>
</div> </div>
</div> </div>
<el-drawer
:title="isTitle"
:visible.sync="editFlag"
size="500px"
custom-class="demo-drawer"
>
<div class="content_form" style="height: 100%">
<el-form class="label-input-form" ref="editForm" :model="editForm" label-width="80px">
<el-form-item class="add-form-item" label="参与人员:">
<el-input v-model="editForm.fillPeopleId" style="display: none;"></el-input>
<el-input
placeholder="请选择参与人员"
style="width: 50%"
@click.native="choiceRole('fillPeopleId','请选择入会成员',editForm.fillPeopleId,)"
v-model="editForm.fillPeople"
/>
</el-form-item>
<el-form-item class="add-form-item" label="单位:">
<el-input v-model="editForm.fillUnit" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="部门:">
<el-input v-model="editForm.fillDept" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="电话:">
<el-input v-model="editForm.fillTel" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="邮箱:">
<el-input v-model="editForm.fillMail" placeholder=""></el-input>
</el-form-item>
</el-form>
</div>
<div class="demo-drawer-footer">
<el-button size="mini" @click="falseDrawer">取消</el-button>
<el-button type="primary" size="mini" @click="OkDrawer">确认</el-button>
</div>
</el-drawer>
<ProcessFooter <ProcessFooter
show-save show-save
show-submit show-submit
@@ -226,6 +301,13 @@
@submit="handleSubmit" @submit="handleSubmit"
> >
</ProcessFooter> </ProcessFooter>
<Role-tree
check-box
is-title="选择入会人员"
:is-visible.sync="roleShowflag"
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
</div> </div>
</template> </template>
@@ -233,7 +315,7 @@
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskForPub, completeTask, inboundLiaisonDetail} from '@/api/process.js' import {saveTaskForPub, completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default { export default {
components: { components: {
@@ -263,7 +345,19 @@ export default {
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
uploadFileLength: '', uploadFileLength: '',
commentText: '' commentStep5: '',
roleShowflag: false,
nodeList: [],
// 人员编辑
editFlag: false,
editForm: {
fillPeople: '',
fillUnit: '',
fillDept: '',
fillTel: '',
fillMail: '',
},
isTitle: ''
} }
}, },
computed: { computed: {
@@ -309,12 +403,73 @@ export default {
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
this.uploadFileLength = this.ch_pageData.fileTextList.length this.uploadFileLength = this.ch_pageData.fileTextList.length
this.roleForm = JSON.parse(JSON.stringify(item)).roleList this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.commentStep5 = JSON.parse(JSON.stringify(item)).commentStep5
// this.ch_pageData.comityFileNum = this.fileTextList // this.ch_pageData.comityFileNum = this.fileTextList
}) })
}, },
/** 我司参与人员新增 */
add_partForm() {
var list = {
fillPeople: this.fillPeople,
fillUnit: this.fillUnit,
fillDept: this.fillDept,
fillTel: this.fillTel,
fillMail: this.fillMail,
}
this.ch_pageData.myPartRole.push(list)
this.isTitle = '新增人员信息'
this.add_partDialog(list)
},
// 编辑框确认按钮
OkDrawer() {
this.editFlag = false
},
falseDrawer() {
if (this.isTitle = '新增人员信息') {
this.getData()
} else {
let Item = JSON.parse(localStorage.getItem('obj'))
this.editForm.fillPeopleId = Item.fillPeopleId
this.editForm.fillPeople = Item.fillPeople
this.editForm.fillUnit = Item.fillUnit
this.editForm.fillDept = Item.fillDept
this.editForm.fillTel = Item.fillTel
this.editForm.fillMail = Item.fillMail
}
this.editFlag = false
},
add_partDialog(row) {
// 用来储存取消时原来的数据,防止取消时修改
localStorage.setItem('obj', JSON.stringify(row))
this.fileListData = row
this.editForm = row
this.editFlag = true
},
/** 入会人员编辑 */
edit_partForm(row) {
// 用来储存取消时原来的数据,防止取消时修改
localStorage.setItem('obj', JSON.stringify(row))
this.fileListData = row
this.editForm = row
this.editFlag = true
},
// 编辑框选人
choiceRole(type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.roleShowflag = true
},
drawerCheck(data) {
if (data.length > 0) {
this.fileListData.fillPeopleId = data[0].id
this.fileListData.fillPeople = data[0].name
}
this.roleShowflag = false
},
/** 批量删除 */ /** 批量删除 */
del_paryForm() { del_partForm() {
if (this.deleteDataList.length < 1) { if (this.deleteDataList.length < 1) {
this.$message.warning("请选择一条数据进行删除"); this.$message.warning("请选择一条数据进行删除");
} else { } else {
@@ -352,7 +507,7 @@ export default {
_formData.append('json', JSON.stringify({ _formData.append('json', JSON.stringify({
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
roleList: this.roleForm, roleList: this.roleForm,
commentText: this.commentText commentStep5: this.commentStep5
})) }))
saveTaskForPub(_formData).then(res => { saveTaskForPub(_formData).then(res => {
this.saveLoading = false this.saveLoading = false
@@ -367,7 +522,7 @@ export default {
let json = { let json = {
leader: this.roleForm.leaderUserId, leader: this.roleForm.leaderUserId,
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
commentText: this.commentText, commentText: this.commentStep5,
roleList: this.roleForm, roleList: this.roleForm,
} }
this.$refs['ch_pageData'].validate((valid) => { this.$refs['ch_pageData'].validate((valid) => {
@@ -388,6 +543,11 @@ export default {
}) })
}, },
// 预览
fileLook(file) { // 预览
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -494,6 +654,9 @@ export default {
/deep/ .el-table th { /deep/ .el-table th {
padding: 0px; padding: 0px;
} }
/deep/.el-form-item__content {
margin-top: 4px;
}
/deep/ .el-upload { /deep/ .el-upload {
display: unset; display: unset;
@@ -56,7 +56,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:"> <el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }} {{ ch_pageData.feeKind || '-' }}
@@ -65,14 +65,14 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span> <span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else> <a v-else>
{{ item.name }} {{ ';' }} {{ item.name }} {{ ';' }}
</a> </a>
</span> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -168,7 +168,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -176,7 +176,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -381,6 +381,9 @@ export default {
/deep/.el-table th { /deep/.el-table th {
padding: 0px; padding: 0px;
} }
/deep/.el-form-item__content {
margin-top: 4px;
}
} }
} }
</style> </style>
@@ -59,23 +59,29 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:"> <el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }} {{ ch_pageData.feeKind || '-' }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile"> <el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span> <span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)"> <div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30"> <a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }} {{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a> </a>
<a v-else> <a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }} {{ item.name }} {{ ';' }}
</a> </a>
</span> <el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -171,7 +177,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -179,7 +185,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -224,7 +230,7 @@
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js' import {completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default { export default {
components: { components: {
@@ -270,11 +276,6 @@ export default {
this.getData() this.getData()
}, },
methods: { methods: {
phoneClick () {
if (this.taskInfo !== '标准法规工程师修订完毕') {
this.$router.push('/phoneBzchStep6')
}
},
// 右上标签页面切换 // 右上标签页面切换
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
@@ -404,7 +405,7 @@ export default {
json.manageDepartment = this.$store.getters.userInfo.userId json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') { } else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser json.engineerSumDone = this.roleForm.directorUserId
} else { } else {
json = { json = {
ch_pageData: this.ch_pageData, ch_pageData: this.ch_pageData,
@@ -430,6 +431,11 @@ export default {
}) })
}, },
// 预览
fileLook(file) { // 预览
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/ /** 点击对应附件进行下载*/
previews(val) { previews(val) {
let attId = val let attId = val
@@ -548,6 +554,9 @@ export default {
/deep/ .el-table th { /deep/ .el-table th {
padding: 0px; padding: 0px;
} }
/deep/.el-form-item__content {
margin-top: 4px;
}
} }
} }
</style> </style>
File diff suppressed because it is too large Load Diff
@@ -139,51 +139,54 @@
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
row-key="id" row-key="id"
> >
<el-table-column type="selection" width="55" align="center"/>
<el-table-column <el-table-column
prop="itemsNum" prop="itemsNum"
label="条款号" label="条款号"
width="70" width="70"
align="center"> fixed
align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="itemsName" prop="itemsName"
label="条款名称" label="条款名称"
show-overflow-tooltip fixed
align="center"> show-overflow-tooltip
align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="itermsConditions" prop="itermsConditions"
label="条款内容" label="条款内容"
width="200" fixed
show-overflow-tooltip width="200"
align="center"> show-overflow-tooltip
align="center">
<template slot-scope="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="technicalRequir" prop="technicalRequir"
width="200" width="200"
label="核心技术要求" v-if="!form.itemsNum1"
align="center"> label="核心技术要求"
align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
v-if="sarType === 'INLAND' && form.itemsNum1" v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint" prop="changePoint"
width="150" width="150"
label="基于上一版本差异" label="基于上一版本差异"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
v-if="sarType === 'FOREIGN'" v-if="sarType === 'FOREIGN'"
prop="changePoint" prop="changePoint"
width="150" width="150"
label="相对于国行标差异点" label="相对于国行标差异点"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="complianceRequir" prop="complianceRequir"
@@ -236,9 +239,18 @@
<el-table-column <el-table-column
label="责任人" label="责任人"
width="170" width="170"
prop="zrUserIdName" prop="zrUserName"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column
label="操作"
v-if="form.itemsNum1"
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-table>
<el-collapse accordion> <el-collapse accordion>
<el-collapse-item title="审批意见"> <el-collapse-item title="审批意见">
@@ -268,31 +280,28 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom" align="center">
align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="endTime" prop="endTime"
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -317,12 +326,22 @@
title="查看条款内容" title="查看条款内容"
:visible.sync="itermsConditionsFlag" :visible.sync="itermsConditionsFlag"
size="800px"> size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div> <div class="itemsTextBox" v-html="itermsConditionsTitle"></div>
<div slot="footer"> <div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button> <el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div> </div>
</el-dialog> </el-dialog>
<loading :loading="loading">加载中...</loading> <loading :loading="loading">加载中...</loading>
<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%; overflow: auto;"></div>
<div v-html="rightData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%; overflow: auto;"></div>
</div>
</el-dialog>
</div> </div>
</template> </template>
@@ -336,6 +355,11 @@ export default {
name: "bzjdStep1-6", name: "bzjdStep1-6",
data() { data() {
return { return {
similarityDegree: '',
BDmodel: false,
oldNumber: '',
leftData: '',
rightData: '',
//折叠的标志,true为折叠,false为不折叠 //折叠的标志,true为折叠,false为不折叠
foldFormFlag: false, foldFormFlag: false,
itermsConditionsFlag: false, itermsConditionsFlag: false,
@@ -366,6 +390,57 @@ export default {
ProcessTitle ProcessTitle
}, },
methods: { 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
}
})
},
//折叠/展开基础信息方法 //折叠/展开基础信息方法
foldForm() { foldForm() {
this.foldFormFlag = !this.foldFormFlag this.foldFormFlag = !this.foldFormFlag
@@ -418,12 +493,18 @@ export default {
let data = JSON.parse(res.mesg) let data = JSON.parse(res.mesg)
this.form.itemsNum = data.itemsNum || data.form.itemsNum this.form.itemsNum = data.itemsNum || data.form.itemsNum
this.form.itemsName = data.itemsName || data.form.itemsName this.form.itemsName = data.itemsName || data.form.itemsName
this.form.itemsNum1 = data.itemsNum1 || data.form.itemsNum1 if (data.form) {
this.form.itemsName1 = data.itemsName1 || data.form.itemsName1 this.form.itemsName1 = data.form.itemsName1 || ''
this.form.itemsNum1 = data.form.itemsNum1 || ''
} else {
this.form.itemsName1 = data.itemsName1 || ''
this.form.itemsNum1 = data.itemsNum1 || ''
}
this.sarType = data.standInData || data.sarType this.sarType = data.standInData || data.sarType
this.json = data this.json = data
this.itemList = data.itemList this.itemList = data.itemList
this.loading = false this.loading = false
this.getBDList()
}).catch(e => { }).catch(e => {
}) })
}) })
File diff suppressed because it is too large Load Diff
@@ -40,28 +40,14 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'"> <el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled">
<el-input <el-input
disabled disabled
v-model="form.itemsNum1" v-model="form.itemsNum1"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'"> <el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input <el-input
disabled disabled
v-model="form.itemsName1" v-model="form.itemsName1"
@@ -74,63 +60,13 @@
</el-collapse-transition> </el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button> <el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button> <el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form> </el-form>
</div> </div>
<ProcessTitle> <ProcessTitle>
<template slot="title">拆分信息</template> <template slot="title">拆分信息</template>
</ProcessTitle> </ProcessTitle>
<div class="action-bar"> <div class="action-bar">
<el-button type="primary" class="common-button-primary add-button" size="mini" @click="choiceZRRS('', 2, '')">批量编辑</el-button> <el-button :disabled="!itemList.length" type="primary" class="common-button-primary add-button" size="mini" @click="choiceZRRS('', 2, '')">批量编辑</el-button>
</div> </div>
<el-table border <el-table border
ref="selection" ref="selection"
@@ -146,31 +82,77 @@
<el-table-column <el-table-column
prop="itemsNum" prop="itemsNum"
label="条款号" label="条款号"
width="170" fixed
width="120"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="itemsName" prop="itemsName"
width="170"
label="条款名称" label="条款名称"
fixed
show-overflow-tooltip show-overflow-tooltip
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="itermsConditions" prop="itermsConditions"
label="条款内容" label="条款内容"
fixed
width="200" width="200"
show-overflow-tooltip show-overflow-tooltip
align="center"> align="center">
<template slot-scope="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="责任人" v-if="!form.itemsNum1"
width="170" prop="technicalRequir"
prop="zrUserIdName" label="核心技术要求"
show-overflow-tooltip
align="center"> align="center">
</el-table-column> </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 <el-table-column
label="执行人" label="执行人"
width="170" width="170"
@@ -210,23 +192,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -234,7 +213,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -284,7 +263,7 @@
title="查看条款内容" title="查看条款内容"
:visible.sync="itermsConditionsFlag" :visible.sync="itermsConditionsFlag"
size="800px"> size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div> <div class="itemsTextBox" v-html="itermsConditionsTitle"></div>
<div slot="footer"> <div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button> <el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div> </div>
@@ -417,15 +396,23 @@
if (this.type === 1) { if (this.type === 1) {
this.itemList[this.zxIndex].zxUserId = data[0].id this.itemList[this.zxIndex].zxUserId = data[0].id
this.itemList[this.zxIndex].zxUserIdName = data[0].name this.itemList[this.zxIndex].zxUserIdName = data[0].name
let row = JSON.parse(JSON.stringify(this.itemList[this.zxIndex]))
row.zxUserId = data[0].id
row.zxUserIdName = data[0].name
this.$set(this.itemList, this.zxIndex, row)
} else { } else {
this.itemList.forEach( item => { for (let a = 0; a < this.itemList.length; a++) {
this.zxIdList.forEach( items => { for (let b = 0; b < this.zxIdList.length; b++) {
if (item.id === items) { if (this.itemList[a].id === this.zxIdList[b]) {
item.zxUserId = data[0].id this.itemList[a].zxUserId = data[0].id
item.zxUserIdName = data[0].name this.itemList[a].zxUserIdName = data[0].name
let row = JSON.parse(JSON.stringify(this.itemList[a]))
row.zxUserId = data[0].id
row.zxUserIdName = data[0].name
this.$set(this.itemList, a, row)
} }
}) }
}) }
} }
this.modalshowflag = false this.modalshowflag = false
}, },
@@ -40,28 +40,14 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'"> <el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled">
<el-input <el-input
disabled disabled
v-model="form.itemsNum1" v-model="form.itemsNum1"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'"> <el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input <el-input
disabled disabled
v-model="form.itemsName1" v-model="form.itemsName1"
@@ -74,63 +60,13 @@
</el-collapse-transition> </el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button> <el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button> <el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form> </el-form>
</div> </div>
<ProcessTitle> <ProcessTitle>
<template slot="title">拆分信息</template> <template slot="title">拆分信息</template>
</ProcessTitle> </ProcessTitle>
<div class="action-bar"> <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" :disabled="acceptShow && !itemList.length" class="common-button-primary add-button" size="mini" @click="choiceZRR">批量编辑</el-button>
</div> </div>
<el-table border <el-table border
ref="selection" ref="selection"
@@ -148,17 +84,20 @@
prop="itemsNum" prop="itemsNum"
label="条款号" label="条款号"
width="70" width="70"
fixed
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="itemsName" prop="itemsName"
label="条款名称" label="条款名称"
show-overflow-tooltip show-overflow-tooltip
fixed
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="itermsConditions" prop="itermsConditions"
label="条款内容" label="条款内容"
fixed
width="200" width="200"
show-overflow-tooltip show-overflow-tooltip
align="center"> align="center">
@@ -191,23 +130,6 @@
show-overflow-tooltip show-overflow-tooltip
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
{{ scope.row.complianceRequir === '1' ? '符合' : '不符合' }}
</template>
</el-table-column>
<el-table-column
prop="complianceState"
width="200"
label="合规性分析"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column <el-table-column
prop="newData" prop="newData"
width="180" width="180"
@@ -242,16 +164,34 @@
<el-table-column <el-table-column
label="责任人" label="责任人"
width="170" width="170"
prop="zrUserIdName" prop="zrUserName"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
{{ scope.row.complianceRequir === '1' ? '符合' : (scope.row.complianceRequir === '2' ? '不符合' : '') }}
</template>
</el-table-column>
<el-table-column
prop="complianceState"
width="200"
label="合规性分析"
show-overflow-tooltip show-overflow-tooltip
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="操作" label="操作"
width="100" width="240"
align="center"> align="center">
<template slot-scope="scope"> <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="itemEdit(scope.row)">编辑</el-button>
<el-button v-if="form.itemsNum1" class="common-button-primary" size="mini" type="primary" @click="checkBD(scope.row.itemsId, scope.row.itemsId2, scope.row.itemsNum)">查看比对</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -283,23 +223,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -307,7 +244,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -355,7 +292,7 @@
size="800px"> size="800px">
<div class="demo-drawer-content"> <div class="demo-drawer-content">
<el-form :model="plForm" class="label-input-form" ref="plForm" label-width=150> <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 <el-input
v-model="plForm.technicalRequir" v-model="plForm.technicalRequir"
placeholder="请输入核心技术要求" placeholder="请输入核心技术要求"
@@ -376,21 +313,6 @@
maxlength="500" maxlength="500"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="符合性要求" prop="complianceRequir" class="add-form-item" >
<el-select
v-model="plForm.complianceRequir"
placeholder="请选择符合性要求">
<el-option value="1" label="符合"></el-option>
<el-option value="2" label="不符合"></el-option>
</el-select>
</el-form-item>
<el-form-item label="合规性分析" prop="complianceState" class="add-form-item" >
<el-input
v-model="plForm.complianceState"
placeholder="请输入合规性分析"
maxlength="500"
></el-input>
</el-form-item>
<custom-date-pick-group <custom-date-pick-group
class="myDataPick" class="myDataPick"
:config="{attrName: '新车型实施日期'}" :config="{attrName: '新车型实施日期'}"
@@ -406,6 +328,21 @@
<el-option v-for="(item,index) in cxList" :value="item.label" :label="item.label" :key="index"></el-option> <el-option v-for="(item,index) in cxList" :value="item.label" :label="item.label" :key="index"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="符合性要求" prop="complianceRequir" class="add-form-item" >
<el-select
v-model="plForm.complianceRequir"
placeholder="请选择符合性要求">
<el-option value="1" label="符合"></el-option>
<el-option value="2" label="不符合"></el-option>
</el-select>
</el-form-item>
<el-form-item label="合规性分析" prop="complianceState" class="add-form-item" >
<el-input
v-model="plForm.complianceState"
placeholder="请输入合规性分析"
maxlength="500"
></el-input>
</el-form-item>
</el-form> </el-form>
</div> </div>
<div id="roleFormButton2" class="demo-drawer-footer"> <div id="roleFormButton2" class="demo-drawer-footer">
@@ -417,9 +354,21 @@
title="编辑" title="编辑"
:visible.sync="modalshowflag2" :visible.sync="modalshowflag2"
:wrapperClosable="false" :wrapperClosable="false"
size="800px"> :size="form.itemsNum1 ? '1200px' : '800px'">
<div class="demo-drawer-content"> <div class="demo-drawer-content">
<el-form :model="editForm" class="label-input-form" ref="plForm" label-width=150> <div style="display: flex; height: 100%;">
<div style="width: 600px; border-right: 1px solid #ccc;">
<div v-if="BDtext" style="width: 100%; height: 100%;display: flex; align-items: center; justify-content: center;">无相似文本</div>
<div v-else style="height: 100%;">
<div style="margin: 10px 5px;">比对条款: {{ editForm.itemsNum }}</div>
<div style="margin: 10px 5px 5px;">相似度: {{ similarityDegree }}</div>
<div style="overflow: auto;display: flex;" class="BDclass">
<div v-html="leftData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%; overflow: auto;"></div>
<div v-html="rightData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%; overflow: auto;"></div>
</div>
</div>
</div>
<el-form :model="editForm" 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 <el-input
v-model="editForm.technicalRequir" v-model="editForm.technicalRequir"
@@ -441,21 +390,6 @@
maxlength="500" maxlength="500"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="符合性要求" prop="complianceRequir" class="add-form-item" >
<el-select
v-model="editForm.complianceRequir"
placeholder="请选择符合性要求">
<el-option value="1" label="符合"></el-option>
<el-option value="2" label="不符合"></el-option>
</el-select>
</el-form-item>
<el-form-item label="合规性分析" prop="complianceState" class="add-form-item" >
<el-input
v-model="editForm.complianceState"
placeholder="请输入合规性分析"
maxlength="500"
></el-input>
</el-form-item>
<custom-date-pick-group <custom-date-pick-group
class="myDataPick" class="myDataPick"
:config="{attrName: '新车型实施日期'}" :config="{attrName: '新车型实施日期'}"
@@ -471,7 +405,23 @@
<el-option v-for="(item,index) in cxList" :value="item.label" :label="item.label" :key="index"></el-option> <el-option v-for="(item,index) in cxList" :value="item.label" :label="item.label" :key="index"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="符合性要求" prop="complianceRequir" class="add-form-item" >
<el-select
v-model="editForm.complianceRequir"
placeholder="请选择符合性要求">
<el-option value="1" label="符合"></el-option>
<el-option value="2" label="不符合"></el-option>
</el-select>
</el-form-item>
<el-form-item label="合规性分析" prop="complianceState" class="add-form-item" >
<el-input
v-model="editForm.complianceState"
placeholder="请输入合规性分析"
maxlength="500"
></el-input>
</el-form-item>
</el-form> </el-form>
</div>
</div> </div>
<div id="roleFormButton3" class="demo-drawer-footer"> <div id="roleFormButton3" 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-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo2">确定</el-button>
@@ -482,12 +432,23 @@
title="查看条款内容" title="查看条款内容"
:visible.sync="itermsConditionsFlag" :visible.sync="itermsConditionsFlag"
size="800px"> size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div> <div class="itemsTextBox" v-html="itermsConditionsTitle"></div>
<div slot="footer"> <div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button> <el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div> </div>
</el-dialog> </el-dialog>
<loading :loading="loading">加载中...</loading> <loading :loading="loading">加载中...</loading>
<el-dialog
title="查看比对内容"
:visible.sync="BDmodel"
size="1100px">
<div>比对条款: {{ itemsNum }}</div>
<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%; overflow: auto;"></div>
<div v-html="rightData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%; overflow: auto;"></div>
</div>
</el-dialog>
</div> </div>
</template> </template>
@@ -503,6 +464,13 @@
name: "bzjdStep3", name: "bzjdStep3",
data() { data() {
return { return {
BDtext: false,
itemsNum: '',
similarityDegree: '',
BDmodel: false,
oldNumber: '',
leftData: '',
rightData: '',
modalshowflag2: false, modalshowflag2: false,
itemId: '', itemId: '',
drawerModal: false, drawerModal: false,
@@ -525,20 +493,22 @@
plForm: { plForm: {
technicalRequir: '', // 核心技术要求 technicalRequir: '', // 核心技术要求
changePoint: '', // 国内标准的差异点 changePoint: '', // 国内标准的差异点
complianceRequir: '1', // 符合性要求 complianceRequir: '', // 符合性要求
complianceState: '', // 合规性分析 complianceState: '', // 合规性分析
newData: '', // 新车型实施日期 newData: '', // 新车型实施日期
onlineData: '', // 在产车实施日期 onlineData: '', // 在产车实施日期
applyArctic: '', // 适用车型 applyArctic: '', // 适用车型
}, },
editForm: { editForm: {
itemsNum: '',
technicalRequir: '', // 核心技术要求 technicalRequir: '', // 核心技术要求
changePoint: '', // 国内标准的差异点 changePoint: '', // 国内标准的差异点
complianceRequir: '1', // 符合性要求 complianceRequir: '', // 符合性要求
complianceState: '', // 合规性分析 complianceState: '', // 合规性分析
newData: '', // 新车型实施日期 newData: '', // 新车型实施日期
onlineData: '', // 在产车实施日期 onlineData: '', // 在产车实施日期
applyArctic: '', // 适用车型 applyArctic: '', // 适用车型
itemsId: '',
}, },
modalshowflag: false, modalshowflag: false,
sarType: '', sarType: '',
@@ -571,18 +541,90 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
itemEdit (row) { getBDList () {
this.itemId = row.id this.$http.get('lawss/sarStandItemsCompareHis/getStandItemsCompareHisList', {
this.modalshowflag2 = true standHisId: this.oldNumber,
this.editForm = { leftOrRight: 'LEFT'
technicalRequir: row.technicalRequir, // 核心技术要求 }, {
changePoint: row.changePoint, // 国内标准的差异点 _this: this
complianceRequir: row.complianceRequir || '1', // 符合性要求 }, res => {
complianceState: row.complianceState, // 合规性分析 for (let a = 0; a < this.itemList.length; a++) {
newData: row.newData, // 新车型实施日期 for (let b = 0; b < res.data.length; b++) {
onlineData: row.onlineData, // 在产车实施日期 if (this.itemList[a].itemsNum === res.data[b].itemsNum) {
applyArctic: row.applyArctic, // 适用车型 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, itemsNum) {
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.itemsNum = itemsNum
this.leftData = res.data.leftString
this.rightData = res.data.rightString
this.BDmodel = true
this.similarityDegree = res.data.similarityDegree
}
})
},
itemEdit (row) {
let itemsEoPage = {
oldItemId: row.itemsId,
newItemId: row.itemsId2,
flag: 1
}
this.$http.post('lawss/sarStandCompareHis/clauseComparison', itemsEoPage, {
_this: this
}, res => {
if (res.data.leftString === '' && res.data.rightString === '') {
this.BDtext = true
} else {
this.BDtext = false
this.leftData = res.data.leftString
this.rightData = res.data.rightString
this.similarityDegree = res.data.similarityDegree
}
this.itemId = row.id
this.modalshowflag2 = true
this.editForm = {
itemsNum: row.itemsNum,
technicalRequir: row.technicalRequir, // 核心技术要求
changePoint: row.changePoint, // 国内标准的差异点
complianceRequir: row.complianceRequir || '', // 符合性要求
complianceState: row.complianceState, // 合规性分析
newData: row.newData, // 新车型实施日期
onlineData: row.onlineData, // 在产车实施日期
applyArctic: row.applyArctic, // 适用车型
itemsId: row.itemsId,
itemsId2: row.itemsId2
}
})
}, },
saveUserInfo2 () { saveUserInfo2 () {
for( let a = 0; a < this.itemList.length; a++) { for( let a = 0; a < this.itemList.length; a++) {
@@ -675,10 +717,11 @@
if (this.idList.length > 0) { if (this.idList.length > 0) {
this.plForm.technicalRequir = '' this.plForm.technicalRequir = ''
this.plForm.changePoint = '' this.plForm.changePoint = ''
this.plForm.complianceRequir = '1' this.plForm.complianceRequir = ''
this.plForm.complianceState = '' this.plForm.complianceState = ''
this.plForm.newData = '' this.plForm.newData = ''
this.plForm.onlineData = '' this.plForm.onlineData = ''
this.plForm.applyArctic = []
this.modalshowflag = true this.modalshowflag = true
} else { } else {
this.$message.warning('请选择要编辑的数据') this.$message.warning('请选择要编辑的数据')
@@ -727,7 +770,7 @@
handleSubmit() { handleSubmit() {
this.$refs['bzzqyjForm'].validate((valid) => { this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) { if (valid) {
let num1 = 0, num2 = 0, num3 = 0, num4 = 0, num5 = 0, num6 = 0 let num1 = 0, num2 = 0, num4 = 0, num5 = 0, num6 = 0, b = 0, num3 = 0
for (let a = 0; a < this.itemList.length; a++) { for (let a = 0; a < this.itemList.length; a++) {
if (!this.itemList[a].technicalRequir) { if (!this.itemList[a].technicalRequir) {
num1++ num1++
@@ -744,9 +787,12 @@
if (!this.itemList[a].onlineData) { if (!this.itemList[a].onlineData) {
num5++ num5++
} }
if (!this.itemList[a].applyArctic) { if (!this.itemList[a].applyArctic.length) {
num6++ num6++
} }
if (!this.itemList[a].zrUserId) {
b++
}
} }
if (!this.form.itemsNum1) { if (!this.form.itemsNum1) {
if (num1 > 0) { if (num1 > 0) {
@@ -755,7 +801,7 @@
} }
} else { } else {
if (num2 > 0) { if (num2 > 0) {
if (this.sarType === 'INLAND') { if (this.sarType !== 'INLAND') {
this.$message.warning('请输入国内标准的差异点') this.$message.warning('请输入国内标准的差异点')
return return
} else { } else {
@@ -772,6 +818,8 @@
this.$message.warning('请输入在产车实施日期') this.$message.warning('请输入在产车实施日期')
} else if (num6 > 0) { } else if (num6 > 0) {
this.$message.warning('请选择适用车型') this.$message.warning('请选择适用车型')
} else if (b > 0) {
this.$message.warning('请选择责任人')
} else { } else {
this.isSubmit = true this.isSubmit = true
var json = this.json var json = this.json
@@ -819,6 +867,7 @@
this.form.itemsName1 = data.itemsName1 || '' this.form.itemsName1 = data.itemsName1 || ''
this.form.itemsNum1 = data.itemsNum1 || '' this.form.itemsNum1 = data.itemsNum1 || ''
} }
this.oldNumber = data.oldNumber || ''
this.sarType = data.standInData || data.sarType this.sarType = data.standInData || data.sarType
this.json = data this.json = data
let itemList let itemList
@@ -833,14 +882,17 @@
item.newData = item.newData || '' item.newData = item.newData || ''
item.complianceState = item.complianceState || '' item.complianceState = item.complianceState || ''
item.oldNumber = item.oldNumber || '' item.oldNumber = item.oldNumber || ''
item.complianceRequir = item.complianceRequir || '1' item.complianceRequir = item.complianceRequir || ''
item.changePoint = item.changePoint || '' item.changePoint = item.changePoint || ''
item.technicalRequir = item.technicalRequir || '' item.technicalRequir = item.technicalRequir || ''
item.itemsTitle = item.itermsConditions item.itemsTitle = item.itermsConditions
item.applyArctic = item.applyArctic || [] if (typeof (item.applyArctic) === 'string') {
item.applyArctic = JSON.parse(item.applyArctic) || []
} else {
item.applyArctic = item.applyArctic || []
}
}) })
this.getBDList()
this.itemList = itemList this.itemList = itemList
this.loading = false this.loading = false
}).catch(e => { }).catch(e => {
@@ -872,6 +924,12 @@
padding: 0 20px 0; padding: 0 20px 0;
} }
} }
.myText {
line-height: 20px;
}
.BDclass {
height: calc(~'100% - 53px');
}
.myDataPick { .myDataPick {
/deep/.el-form-item__content { /deep/.el-form-item__content {
margin-left: 0px !important; margin-left: 0px !important;
@@ -40,28 +40,14 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'"> <el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled">
<el-input <el-input
disabled disabled
v-model="form.itemsNum1" v-model="form.itemsNum1"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'"> <el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input <el-input
disabled disabled
v-model="form.itemsName1" v-model="form.itemsName1"
@@ -74,56 +60,6 @@
</el-collapse-transition> </el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button> <el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button> <el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form> </el-form>
</div> </div>
<ProcessTitle> <ProcessTitle>
@@ -137,23 +73,26 @@
height="100%" height="100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
row-key="id"
> >
<el-table-column type="selection" width="55" align="center"/>
<el-table-column <el-table-column
prop="itemsNum" prop="itemsNum"
label="条款号" label="条款号"
width="70" width="70"
fixed
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="itemsName" prop="itemsName"
label="条款名称" label="条款名称"
show-overflow-tooltip show-overflow-tooltip
fixed
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="itermsConditions" prop="itermsConditions"
label="条款内容" label="条款内容"
fixed
width="200" width="200"
show-overflow-tooltip show-overflow-tooltip
align="center"> align="center">
@@ -162,62 +101,46 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip v-if="!form.itemsNum1"
prop="technicalRequir" prop="technicalRequir"
width="200" width="200"
label="核心技术要求" label="核心技术要求"
show-overflow-tooltip
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint" prop="changePoint"
width="150" width="150"
v-show="form.itemsNum1"
label="基于上一版本差异" label="基于上一版本差异"
show-overflow-tooltip
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip v-show="sarType === 'FOREIGN' && form.itemsNum1"
v-if="sarType === 'FOREIGN'"
prop="changePoint" prop="changePoint"
width="150" width="150"
label="相对于国行标差异点" label="相对于国行标差异点"
align="center">
</el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
align="center">
<template slot-scope="scope">
<div v-if="scope.row.complianceRequir === '1'">符合</div>
<div v-else>不符合</div>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="complianceState"
width="200"
label="合规性分析"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="newData" prop="newData"
width="180"
show-overflow-tooltip show-overflow-tooltip
width="150"
label="新车型实施日期" label="新车型实施日期"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="onlineData" prop="onlineData"
width="180"
show-overflow-tooltip show-overflow-tooltip
width="150"
label="在产车型实施日期" label="在产车型实施日期"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="applyArctic" prop="applyArctic"
width="150" width="200"
label="适用车型" label="适用车型"
show-overflow-tooltip show-overflow-tooltip
align="center"> align="center">
@@ -228,15 +151,43 @@
<el-table-column <el-table-column
prop="unitDeptName" prop="unitDeptName"
label="责任部门" label="责任部门"
width="170" width="200"
show-overflow-tooltip
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="责任人" label="责任人"
width="170" width="170"
prop="zrUserIdName" prop="zrUserName"
show-overflow-tooltip
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
{{ scope.row.complianceRequir === '1' ? '符合' : '不符合' }}
</template>
</el-table-column>
<el-table-column
prop="complianceState"
width="200"
label="合规性分析"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
label="操作"
width="140"
v-show="form.itemsNum1"
align="center">
<template slot-scope="scope">
<el-button class="common-button-primary" size="mini" type="primary" @click="checkBD(scope.row.itemsId, scope.row.itemsId2, scope.row.itemsNum)">查看比对</el-button>
</template>
</el-table-column>
</el-table> </el-table>
<el-collapse accordion> <el-collapse accordion>
<el-collapse-item title="审批意见"> <el-collapse-item title="审批意见">
@@ -266,23 +217,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -290,7 +238,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -329,11 +277,22 @@
title="查看条款内容" title="查看条款内容"
:visible.sync="itermsConditionsFlag" :visible.sync="itermsConditionsFlag"
size="800px"> size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div> <div class="itemsTextBox" v-html="itermsConditionsTitle"></div>
<div slot="footer"> <div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button> <el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog
title="查看比对内容"
:visible.sync="BDmodel"
size="1100px">
<div>比对条款: {{ itemsNum }}</div>
<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%; overflow: auto;"></div>
<div v-html="rightData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%; overflow: auto;"></div>
</div>
</el-dialog>
</div> </div>
</template> </template>
@@ -348,6 +307,12 @@
name: "bzjdStep4", name: "bzjdStep4",
data() { data() {
return { return {
itemsNum: '',
similarityDegree: '',
BDmodel: false,
oldNumber: '',
leftData: '',
rightData: '',
drawerModal: false, drawerModal: false,
//折叠的标志,true为折叠,false为不折叠 //折叠的标志,true为折叠,false为不折叠
foldFormFlag: false, foldFormFlag: false,
@@ -379,6 +344,41 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
checkBD (id,id2,itemsNum) {
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.itemsNum = itemsNum
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 () { phoneClick () {
this.$router.push('/phoneBzjdStep4') this.$router.push('/phoneBzjdStep4')
}, },
@@ -40,28 +40,14 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'"> <el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled">
<el-input <el-input
disabled disabled
v-model="form.itemsNum1" v-model="form.itemsNum1"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'"> <el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input <el-input
disabled disabled
v-model="form.itemsName1" v-model="form.itemsName1"
@@ -74,56 +60,6 @@
</el-collapse-transition> </el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button> <el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button> <el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form> </el-form>
</div> </div>
<ProcessTitle> <ProcessTitle>
@@ -137,23 +73,26 @@
height="100%" height="100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
row-key="id"
> >
<el-table-column type="selection" width="55" align="center"/>
<el-table-column <el-table-column
prop="itemsNum" prop="itemsNum"
label="条款号" label="条款号"
width="70" width="70"
fixed
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="itemsName" prop="itemsName"
label="条款名称" label="条款名称"
show-overflow-tooltip show-overflow-tooltip
fixed
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="itermsConditions" prop="itermsConditions"
label="条款内容" label="条款内容"
fixed
width="200" width="200"
show-overflow-tooltip show-overflow-tooltip
align="center"> align="center">
@@ -162,62 +101,46 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip v-if="!form.itemsNum1"
prop="technicalRequir" prop="technicalRequir"
width="200" width="200"
label="核心技术要求" label="核心技术要求"
show-overflow-tooltip
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint" prop="changePoint"
width="150" width="150"
v-show="form.itemsNum1"
label="基于上一版本差异" label="基于上一版本差异"
show-overflow-tooltip
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip v-show="sarType === 'FOREIGN' && form.itemsNum1"
v-if="sarType === 'FOREIGN'"
prop="changePoint" prop="changePoint"
width="150" width="150"
label="相对于国行标差异点" label="相对于国行标差异点"
align="center">
</el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
align="center">
<template slot-scope="scope">
<div v-if="scope.row.complianceRequir === '1'">符合</div>
<div v-else>不符合</div>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="complianceState"
width="200"
label="合规性分析"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip
prop="newData" prop="newData"
width="150" width="180"
show-overflow-tooltip
label="新车型实施日期" label="新车型实施日期"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip
prop="onlineData" prop="onlineData"
width="150" width="180"
show-overflow-tooltip
label="在产车型实施日期" label="在产车型实施日期"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="applyArctic" prop="applyArctic"
width="150" width="200"
label="适用车型" label="适用车型"
show-overflow-tooltip show-overflow-tooltip
align="center"> align="center">
@@ -228,15 +151,43 @@
<el-table-column <el-table-column
prop="unitDeptName" prop="unitDeptName"
label="责任部门" label="责任部门"
width="170" width="200"
show-overflow-tooltip
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="责任人" label="责任人"
width="170" width="170"
prop="zrUserIdName" prop="zrUserName"
show-overflow-tooltip
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
{{ scope.row.complianceRequir === '1' ? '符合' : '不符合' }}
</template>
</el-table-column>
<el-table-column
prop="complianceState"
width="200"
label="合规性分析"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
label="操作"
width="140"
v-show="form.itemsNum1"
align="center">
<template slot-scope="scope">
<el-button class="common-button-primary" size="mini" type="primary" @click="checkBD(scope.row.itemsId, scope.row.itemsId2, scope.row.itemsNum)">查看比对</el-button>
</template>
</el-table-column>
</el-table> </el-table>
<el-collapse accordion> <el-collapse accordion>
<el-collapse-item title="回执说明"> <el-collapse-item title="回执说明">
@@ -266,23 +217,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -290,7 +238,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -334,11 +282,22 @@
title="查看条款内容" title="查看条款内容"
:visible.sync="itermsConditionsFlag" :visible.sync="itermsConditionsFlag"
size="800px"> size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div> <div class="itemsTextBox" v-html="itermsConditionsTitle"></div>
<div slot="footer"> <div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button> <el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog
title="查看比对内容"
:visible.sync="BDmodel"
size="1100px">
<div>比对条款: {{ itemsNum }}</div>
<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%; overflow: auto;"></div>
<div v-html="rightData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%; overflow: auto;"></div>
</div>
</el-dialog>
<loading :loading="loading">加载中...</loading> <loading :loading="loading">加载中...</loading>
</div> </div>
</template> </template>
@@ -354,6 +313,12 @@
name: "bzjdStep5", name: "bzjdStep5",
data() { data() {
return { return {
itemsNum: '',
similarityDegree: '',
BDmodel: false,
oldNumber: '',
leftData: '',
rightData: '',
drawerModal: false, drawerModal: false,
//折叠的标志,true为折叠,false为不折叠 //折叠的标志,true为折叠,false为不折叠
foldFormFlag: false, foldFormFlag: false,
@@ -385,6 +350,26 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
checkBD (id,id2,itemsNum) {
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.itemsNum = itemsNum
this.leftData = res.data.leftString
this.rightData = res.data.rightString
this.BDmodel = true
this.similarityDegree = res.data.similarityDegree
}
})
},
handleTransfer() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
}, },
@@ -40,28 +40,14 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'"> <el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled">
<el-input <el-input
disabled disabled
v-model="form.itemsNum1" v-model="form.itemsNum1"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'"> <el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input <el-input
disabled disabled
v-model="form.itemsName1" v-model="form.itemsName1"
@@ -74,56 +60,6 @@
</el-collapse-transition> </el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button> <el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button> <el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form> </el-form>
</div> </div>
<ProcessTitle> <ProcessTitle>
@@ -137,24 +73,26 @@
height="100%" height="100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
row-key="id"
> >
<el-table-column type="selection" width="55" align="center"/> <el-table-column type="selection" width="55" align="center"/>
<el-table-column <el-table-column
prop="itemsNum" prop="itemsNum"
label="条款号" label="条款号"
width="70" width="70"
fixed
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="itemsName" prop="itemsName"
label="条款名称" label="条款名称"
show-overflow-tooltip show-overflow-tooltip
fixed
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="itermsConditions" prop="itermsConditions"
label="条款内容" label="条款内容"
fixed
width="200" width="200"
show-overflow-tooltip show-overflow-tooltip
align="center"> align="center">
@@ -163,62 +101,46 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip v-if="!form.itemsNum1"
prop="technicalRequir" prop="technicalRequir"
width="200" width="200"
label="核心技术要求" label="核心技术要求"
show-overflow-tooltip
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint" prop="changePoint"
width="150" width="150"
v-show="form.itemsNum1"
label="基于上一版本差异" label="基于上一版本差异"
show-overflow-tooltip
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip v-show="sarType === 'FOREIGN' && form.itemsNum1"
v-if="sarType === 'FOREIGN'"
prop="changePoint" prop="changePoint"
width="150" width="150"
label="相对于国行标差异点" label="相对于国行标差异点"
align="center">
</el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
align="center">
<template slot-scope="scope">
<div v-if="scope.row.complianceRequir === '1'">符合</div>
<div v-else>不符合</div>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="complianceState"
width="200"
label="合规性分析"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="newData" prop="newData"
width="150" width="180"
show-overflow-tooltip show-overflow-tooltip
label="新车型实施日期" label="新车型实施日期"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="onlineData" prop="onlineData"
width="150" width="180"
show-overflow-tooltip show-overflow-tooltip
label="在产车型实施日期" label="在产车型实施日期"
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="applyArctic" prop="applyArctic"
width="150" width="200"
label="适用车型" label="适用车型"
show-overflow-tooltip show-overflow-tooltip
align="center"> align="center">
@@ -229,15 +151,43 @@
<el-table-column <el-table-column
prop="unitDeptName" prop="unitDeptName"
label="责任部门" label="责任部门"
width="170" width="200"
show-overflow-tooltip
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="责任人" label="责任人"
width="170" width="170"
prop="zrUserIdName" prop="zrUserName"
show-overflow-tooltip
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
{{ scope.row.complianceRequir === '1' ? '符合' : '不符合' }}
</template>
</el-table-column>
<el-table-column
prop="complianceState"
width="200"
label="合规性分析"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
label="操作"
width="140"
v-show="form.itemsNum1"
align="center">
<template slot-scope="scope">
<el-button class="common-button-primary" size="mini" type="primary" @click="checkBD(scope.row.itemsId, scope.row.itemsId2, scope.row.itemsNum)">查看比对</el-button>
</template>
</el-table-column>
</el-table> </el-table>
<el-collapse accordion> <el-collapse accordion>
<el-collapse-item title="审批意见"> <el-collapse-item title="审批意见">
@@ -267,23 +217,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -291,7 +238,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -333,11 +280,22 @@
title="查看条款内容" title="查看条款内容"
:visible.sync="itermsConditionsFlag" :visible.sync="itermsConditionsFlag"
size="800px"> size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div> <div class="itemsTextBox" v-html="itermsConditionsTitle"></div>
<div slot="footer"> <div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button> <el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog
title="查看比对内容"
:visible.sync="BDmodel"
size="1100px">
<div>比对条款: {{ itemsNum }}</div>
<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%; overflow: auto;"></div>
<div v-html="rightData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%; overflow: auto;"></div>
</div>
</el-dialog>
<loading :loading="loading">加载中...</loading> <loading :loading="loading">加载中...</loading>
</div> </div>
</template> </template>
@@ -353,6 +311,12 @@
name: "bzjdStep6", name: "bzjdStep6",
data() { data() {
return { return {
itemsNum: '',
similarityDegree: '',
BDmodel: false,
oldNumber: '',
leftData: '',
rightData: '',
drawerModal: false, drawerModal: false,
//折叠的标志,true为折叠,false为不折叠 //折叠的标志,true为折叠,false为不折叠
foldFormFlag: false, foldFormFlag: false,
@@ -384,6 +348,26 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
checkBD (id,id2,itemsNum) {
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.itemsNum = itemsNum
this.leftData = res.data.leftString
this.rightData = res.data.rightString
this.BDmodel = true
this.similarityDegree = res.data.similarityDegree
}
})
},
handleTransfer() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
}, },
@@ -495,6 +479,7 @@
} }
this.sarType = data.standInData || data.sarType this.sarType = data.standInData || data.sarType
this.json = data this.json = data
console.log(data.itemList);
this.itemList = data.itemList this.itemList = data.itemList
this.loading = false this.loading = false
}).catch(e => { }).catch(e => {
@@ -119,7 +119,7 @@
width="260px" width="260px"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a> <a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName || scope.row.standEnName }}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -587,75 +587,77 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<el-table <div class="table-height">
:data="standardData" <el-table
tooltip-effect="dark" :data="standardData"
style="width: 100%" tooltip-effect="dark"
border style="width: 100%"
ref="table" border
class="table-height" ref="table"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px', height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
@selection-change="selectThree" @selection-change="selectThree"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="code"
align="center"
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump"
@click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{
scope.row.standNumber
}}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{
scope.row.standSortShow
}}
{{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
align="center"
label="标准名称"
> >
<template slot-scope="scope"> <el-table-column
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a> type="selection"
</template> width="55"
</el-table-column> align="center">
<el-table-column </el-table-column>
prop="issueTime" <el-table-column
align="center" prop="code"
label="发布日期"> align="center"
<template slot-scope="scope"> label="标准号">
<span>{{ scope.row.issueTime ? $moment(scope.row.issueTime).format("YYYY-MM-DD") : "" }}</span> <template slot-scope="scope">
</template> <a v-if="scope.row.standYear" class="table-jump"
</el-table-column> @click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{
<el-table-column scope.row.standNumber
prop="XCXSSRQ" }}-{{ scope.row.standYear }}</a>
align="center" <a v-else @click="handlePreview(scope.row)" class="table-jump">{{
label="新车型实施日期"> scope.row.standSortShow
</el-table-column> }}
<el-table-column {{ scope.row.standNumber }}</a>
show-overflow-tooltip </template>
prop="ZCCSSRQ" </el-table-column>
align="center" <el-table-column
label="在产车实施日期"> prop="standName"
</el-table-column> align="center"
<el-table-column label="标准名称"
show-overflow-tooltip >
prop="textStatus" <template slot-scope="scope">
align="center" <a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName || scope.row.standEnName }}</a>
label="文本状态"> </template>
<template slot-scope="scope"> </el-table-column>
<span>{{ textStatusMap[scope.row.textStatus] }}</span> <el-table-column
</template> prop="issueTime"
</el-table-column> align="center"
</el-table> label="发布日期">
<template slot-scope="scope">
<span>{{ scope.row.issueTime ? $moment(scope.row.issueTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
align="center"
label="新车型实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="ZCCSSRQ"
align="center"
label="在产车实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
align="center"
label="文本状态">
<template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textStatus] }}</span>
</template>
</el-table-column>
</el-table>
</div>
</div> </div>
<pagination <pagination
:page="pageNo" :page="pageNo"
@@ -1124,15 +1126,26 @@ export default {
if (this.dataList.length < 1) { if (this.dataList.length < 1) {
this.$message.warning("标准不能为空"); this.$message.warning("标准不能为空");
} else { } else {
this.listForm.commentText = this.commentText; this.listForm.commentText = this.commentText
this.listForm.fileName = this.fileInfoList; this.listForm.fileName = this.fileInfoList
this.listForm.dataList = this.dataList
var json = Object.assign(this.listForm, this.roleForm); var json = Object.assign(this.listForm, this.roleForm);
this.$refs["qdfbForm"].validate((valid) => { this.$refs["qdfbForm"].validate((valid) => {
if (valid) { if (valid) {
this.$refs["Form"].validate((valid) => { this.$refs["Form"].validate((valid) => {
if (valid) { if (valid) {
this.isSubmit = true; this.isSubmit = true
this.$http.get("lawss/activiti/startProcess", { type: "4" }, { this.$http.post("lawss/activiti/startProcessRollBack", {
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 _this: this
}, res => { }, res => {
if (res.ok) { if (res.ok) {
@@ -1155,7 +1168,7 @@ export default {
} }
this.$router.push("/processCenter"); this.$router.push("/processCenter");
} }
this.isSubmit = false; this.isSubmit = false
}); });
} }
}); });
@@ -1311,6 +1324,14 @@ export default {
this.$message.warning("请勿重复添加数据"); this.$message.warning("请勿重复添加数据");
} else { } else {
this.dataList.push(item); this.dataList.push(item);
this.dataList.forEach(item => {
if(item.XCXSSRQ === null){
item.XCXSSRQ = ''
}
if(item.ZCCSSRQ === null){
item.ZCCSSRQ = ''
}
})
exits.push(item.id); exits.push(item.id);
} }
}); });
@@ -1364,11 +1385,13 @@ export default {
this.dataList.forEach(item => { this.dataList.forEach(item => {
if(item.xcxssrqgj === 'undefined' ||item.xcxssrqgj === '-' || item.xcxssrqgj === 'null'){ if(item.xcxssrqgj === 'undefined' ||item.xcxssrqgj === '-' || item.xcxssrqgj === 'null'){
item.xcxssrqgj = '' item.xcxssrqgj = ''
this.$set(item, "XCXSSRQ", item.xcxssrqgj)
}else{ }else{
this.$set(item, "XCXSSRQ", item.xcxssrqgj) this.$set(item, "XCXSSRQ", item.xcxssrqgj)
} }
if(item.zccssrqgj === 'undefined' || item.zccssrqgj === '-'|| item.zccssrqgj === 'null'){ if(item.zccssrqgj === 'undefined' || item.zccssrqgj === '-'|| item.zccssrqgj === 'null'){
item.zccssrqgj = '' item.zccssrqgj = ''
this.$set(item, "ZCCSSRQ", item.zccssrqgj)
}else{ }else{
this.$set(item, "ZCCSSRQ", item.zccssrqgj) this.$set(item, "ZCCSSRQ", item.zccssrqgj)
} }
@@ -143,7 +143,7 @@
</div> </div>
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list" style="height: 100%">
<el-table <el-table
height="100%" height="100%"
ref="selection" ref="selection"
@@ -155,11 +155,6 @@
:no-data-text="listNoDataText" :no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}" :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
> >
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column <el-table-column
prop="name" prop="name"
label="任务步骤" label="任务步骤"
@@ -177,7 +172,7 @@
label="创建时间" label="创建时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -185,7 +180,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -37,18 +37,19 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="附件" prop="modelName" class="add-form-item form-item-disabled"> <el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled">
<div class="file-box" v-if="listForm.model"> <div class="file-box" v-if="fileList.length > 0">
<p> {{ listForm.modelName }} <p v-for="item in fileList"
:key="item.id"> {{ item.name }}
<i <i
title="下载" title="下载"
@click="downloadFile(listForm.model)" @click="downloadFile(item.id)"
class="icon-download" class="icon-download"
v-btn-permission="''" v-btn-permission="''"
/> />
<i <i
title="下载带水印" title="下载带水印"
@click="downloadFileByWater(listForm.model,listForm.modelName)" @click="downloadFileByWater(item.id, item.name)"
class="icon-download2" class="icon-download2"
v-btn-permission="''" v-btn-permission="''"
/> />
@@ -139,7 +140,7 @@
</div> </div>
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list" style="height: 100%">
<el-table <el-table
height="100%" height="100%"
ref="selection" ref="selection"
@@ -151,11 +152,6 @@
:no-data-text="listNoDataText" :no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}" :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
> >
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column <el-table-column
prop="name" prop="name"
label="任务步骤" label="任务步骤"
@@ -173,7 +169,7 @@
label="创建时间" label="创建时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -181,7 +177,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -204,6 +200,15 @@
<loading :loading="loading">流程列表加载中</loading> <loading :loading="loading">流程列表加载中</loading>
</div> </div>
</div> </div>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div> </div>
</template> </template>
@@ -211,7 +216,8 @@
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail } from "api/process"; import { changeAssigneeNew, inboundLiaisonDetail } from "api/process";
export default { export default {
name: "bzqdfbStep1-4", name: "bzqdfbStep1-4",
components: { components: {
@@ -221,6 +227,11 @@ export default {
}, },
data() { data() {
return { return {
nodeList:[],
isTransfer: false,
drawerTitle:'',
// 调整处理人抽屉状态
drawerModal: false,
detailData: [], detailData: [],
// 当前流程类型(1待办/2已办) // 当前流程类型(1待办/2已办)
processType: 1, processType: 1,
@@ -236,10 +247,12 @@ export default {
selectList: [], //选择标准的选择框 selectList: [], //选择标准的选择框
bringData: [], bringData: [],
commentText: "", //填写会签意见 commentText: "", //填写会签意见
fileList:[],
page: 1, page: 1,
total: 0, total: 0,
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
listForm: { listForm: {
fileIds: '',
listType: "", //区分是哪个清单 listType: "", //区分是哪个清单
listName: "", //清单名称 listName: "", //清单名称
descriptionList: "", //清单说明 descriptionList: "", //清单说明
@@ -274,6 +287,47 @@ export default {
}; };
}, },
methods: { methods: {
//确认转办
checkedRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
assignee: data[0].id, // 被委托人
userId: this.$store.getters.userInfo.userId, // 委托人
pId: this.$route.query.prcId // 流程实例
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
// 请求转换流程图
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
//转办事件
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
processTable() { processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", { this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum, prcNum: this.$route.query.prcNum,
@@ -337,6 +391,15 @@ export default {
this.listForm.applyUpdUserId = item.applyUpdUserId; this.listForm.applyUpdUserId = item.applyUpdUserId;
this.listForm.jlUserId = item.jlUserId; this.listForm.jlUserId = item.jlUserId;
this.listForm.zrUserId = item.zrUserId; this.listForm.zrUserId = item.zrUserId;
let filesId = []
item.fileName.forEach(itemIds =>{
filesId.push(itemIds.id)
})
this.listForm.fileId = filesId.join(',')
item.fileName.forEach(itemId => {
this.fileIds = itemId.id
this.getFileInfo();
})
}); });
}, },
// 请求上传的文件信息 // 请求上传的文件信息
@@ -346,11 +409,15 @@ export default {
}, { }, {
_this: this _this: this
}, res => { }, res => {
console.log(res);
this.$nextTick(() => { this.$nextTick(() => {
res.data.map(item => { res.data.map(item => {
this.listForm.modelName = item.oldFileName; // 赋值要回显的上传文件内容
this.listForm.model = item.id; this.fileList.push({
name: item.oldFileName,
uid: item.uid,
status: item.status,
id: item.id
});
}); });
}); });
}, e => { }, e => {
@@ -378,18 +445,13 @@ export default {
} }
} }
}, },
//驳回事件 // 驳回事件
beforeBack() { beforeBack() {
if (this.commentText === null || this.commentText === undefined || this.commentText === "") { if(!this.commentText){
this.$message.warning("请填写审批意见"); this.$message.warning('请填写审批意见')
} else { }else{
this.listForm.approvalOpinion = "1"; this.listForm.approvalOpinion = "1";
this.handleSubmit(); this.saveLoading = true
}
},
//提交事件
handleSubmit() {
this.isSubmit = true
this.listForm.commentText = this.commentText; this.listForm.commentText = this.commentText;
const json = JSON.stringify(this.listForm); const json = JSON.stringify(this.listForm);
this.$http.post("lawss/activiti/completeTask", { this.$http.post("lawss/activiti/completeTask", {
@@ -403,8 +465,29 @@ export default {
this.$message.success(res.message); this.$message.success(res.message);
this.$router.push("/processCenter"); this.$router.push("/processCenter");
} }
this.isSubmit = false this.saveLoading = false
}); });
}/**/
},
//提交事件
handleSubmit() {
this.isSubmit = true;
this.listForm.approvalOpinion = "2";
this.listForm.commentText = this.commentText;
const json = JSON.stringify(this.listForm);
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.taskIds,
userId: this.userId,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message);
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}, },
//选择标准取消事件 //选择标准取消事件
closeDrawer() { closeDrawer() {
@@ -465,6 +548,31 @@ export default {
padding: 0 20px 0; padding: 0 20px 0;
} }
} }
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");
}
}
.choiceBtn { .choiceBtn {
.el-button--primary { .el-button--primary {
@@ -119,7 +119,7 @@
width="260px" width="260px"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a> <a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName || scope.row.standEnName }}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -557,75 +557,77 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<el-table <div class="table-height">
:data="standardData" <el-table
tooltip-effect="dark" :data="standardData"
style="width: 100%" tooltip-effect="dark"
border style="width: 100%"
ref="table" border
class="table-height" ref="table"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px', height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
@selection-change="selectThree" @selection-change="selectThree"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="code"
align="center"
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump"
@click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{
scope.row.standNumber
}}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{
scope.row.standSortShow
}}
{{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
align="center"
label="标准名称"
> >
<template slot-scope="scope"> <el-table-column
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a> type="selection"
</template> width="55"
</el-table-column> align="center">
<el-table-column </el-table-column>
prop="issueTime" <el-table-column
align="center" prop="code"
label="发布日期"> align="center"
<template slot-scope="scope"> label="标准号">
<span>{{ scope.row.issueTime ? $moment(scope.row.issueTime).format("YYYY-MM-DD") : "" }}</span> <template slot-scope="scope">
</template> <a v-if="scope.row.standYear" class="table-jump"
</el-table-column> @click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{
<el-table-column scope.row.standNumber
prop="XCXSSRQ" }}-{{ scope.row.standYear }}</a>
align="center" <a v-else @click="handlePreview(scope.row)" class="table-jump">{{
label="新车型实施日期"> scope.row.standSortShow
</el-table-column> }}
<el-table-column {{ scope.row.standNumber }}</a>
show-overflow-tooltip </template>
prop="ZCCSSRQ" </el-table-column>
align="center" <el-table-column
label="在产车实施日期"> prop="standName"
</el-table-column> align="center"
<el-table-column label="标准名称"
show-overflow-tooltip >
prop="textStatus" <template slot-scope="scope">
align="center" <a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName || scope.row.standEnName}}</a>
label="文本状态"> </template>
<template slot-scope="scope"> </el-table-column>
<span>{{ textStatusMap[scope.row.textStatus] }}</span> <el-table-column
</template> prop="issueTime"
</el-table-column> align="center"
</el-table> label="发布日期">
<template slot-scope="scope">
<span>{{ scope.row.issueTime ? $moment(scope.row.issueTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
align="center"
label="新车型实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="ZCCSSRQ"
align="center"
label="在产车实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
align="center"
label="文本状态">
<template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textStatus] }}</span>
</template>
</el-table-column>
</el-table>
</div>
</div> </div>
<pagination <pagination
:page="pageNo" :page="pageNo"
@@ -690,7 +692,7 @@
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from "../../components/ProcessTitle";
import {saveTaskFirst} from "api/process"; import { saveTaskFirst, taskDel } from "api/process";
import seeDatalis from "@/pages/localTool/standContrast/pages/seeDatalis"; import seeDatalis from "@/pages/localTool/standContrast/pages/seeDatalis";
export default { export default {
@@ -1056,13 +1058,24 @@ export default {
} else { } else {
this.listForm.commentText = this.commentText this.listForm.commentText = this.commentText
this.listForm.fileName = this.fileInfoList this.listForm.fileName = this.fileInfoList
var json = Object.assign(this.listForm, this.roleForm); this.listForm.dataList = this.dataList
let json = Object.assign(this.listForm, this.roleForm);
this.$refs["qdfbForm"].validate((valid) => { this.$refs["qdfbForm"].validate((valid) => {
if (valid) { if (valid) {
this.$refs["Form"].validate((valid) => { this.$refs["Form"].validate((valid) => {
if (valid) { if (valid) {
this.isSubmit = true this.isSubmit = true
this.$http.get("lawss/activiti/startProcess", {type: "4"}, { this.$http.post("lawss/activiti/startProcessRollBack", {
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 _this: this
}, res => { }, res => {
if (res.ok) { if (res.ok) {
@@ -1075,6 +1088,14 @@ export default {
}, res => { }, res => {
if (res.success) { if (res.success) {
this.$message.success(res.message); this.$message.success(res.message);
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push("/processCenter"); this.$router.push("/processCenter");
} }
this.isSubmit = false this.isSubmit = false
@@ -1225,7 +1246,7 @@ export default {
this.standList.map(item => { this.standList.map(item => {
let newStand = false; let newStand = false;
for (let itemKey of this.dataList) { for (let itemKey of this.dataList) {
if (item.id == itemKey.id) { if (item.id === itemKey.id) {
newStand = true; newStand = true;
break; break;
} }
@@ -1234,6 +1255,14 @@ export default {
this.$message.warning("请勿重复添加数据"); this.$message.warning("请勿重复添加数据");
} else { } else {
this.dataList.push(item); this.dataList.push(item);
this.dataList.forEach(item => {
if(item.XCXSSRQ === null){
item.XCXSSRQ = ''
}
if(item.ZCCSSRQ === null){
item.ZCCSSRQ = ''
}
})
exits.push(item.id); exits.push(item.id);
} }
}); });
@@ -1275,35 +1304,68 @@ export default {
this.fileInfoList = [] this.fileInfoList = []
} }
this.ListModel = false; this.ListModel = false;
//如果是国家地区清单传入types字段对日期进行区分
this.$http.get("sarLawsAttrDetailedList/sar-laws-attr-detailed-list/selectLawsById", if(this.listType === 'country'){
{ id: this.selectedList[0].id, page: this.page, Size: this.pageSize }, { this.$http.get("sarLawsAttrDetailedList/sar-laws-attr-detailed-list/selectLawsById",
_this: this { id: this.selectedList[0].id, types: '1', page: this.page, Size: this.pageSize }, {
}, res => { _this: this
if (res.data === null) { }, res => {
this.dataList = []; if (res.data === null) {
} this.dataList = [];
this.dataList = res.data.records; }
this.dataList.forEach(item => { this.dataList = res.data.records;
if(item.xcxssrqgj === 'undefined' ||item.xcxssrqgj === '-' || item.xcxssrqgj === 'null'){ this.dataList.forEach(item => {
item.xcxssrqgj = '' if(item.xcxssrqgj === 'undefined' ||item.xcxssrqgj === '-' || item.xcxssrqgj === 'null'){
}else{ item.xcxssrqgj = ''
this.$set(item, "XCXSSRQ", item.xcxssrqgj) this.$set(item, "XCXSSRQ", item.xcxssrqgj)
} }else{
if(item.zccssrqgj === 'undefined' || item.zccssrqgj === '-'|| item.zccssrqgj === 'null'){ this.$set(item, "XCXSSRQ", item.xcxssrqgj)
item.zccssrqgj = '' }
}else{ if(item.zccssrqgj === 'undefined' || item.zccssrqgj === '-'|| item.zccssrqgj === 'null'){
this.$set(item, "ZCCSSRQ", item.zccssrqgj) item.zccssrqgj = ''
} this.$set(item, "ZCCSSRQ", item.zccssrqgj)
}) }else{
this.listForm.dataList = this.dataList; this.$set(item, "ZCCSSRQ", item.zccssrqgj)
let formId = []; }
this.dataList.map(item => { })
formId.push(item.id); this.listForm.dataList = this.dataList;
let formId = [];
this.dataList.map(item => {
formId.push(item.id);
});
this.listForm.inforlist = formId.join(",");
}, e => {
}); });
this.listForm.inforlist = formId.join(","); }else{
}, e => { this.$http.get("sarLawsAttrDetailedList/sar-laws-attr-detailed-list/selectLawsById",
}); { id: this.selectedList[0].id, page: this.page, Size: this.pageSize }, {
_this: this
}, res => {
if (res.data === null) {
this.dataList = [];
}
this.dataList = res.data.records;
this.dataList.forEach(item => {
if(item.xcxssrqgj === 'undefined' ||item.xcxssrqgj === '-' || item.xcxssrqgj === 'null'){
item.xcxssrqgj = ''
}else{
this.$set(item, "XCXSSRQ", item.xcxssrqgj)
}
if(item.zccssrqgj === 'undefined' || item.zccssrqgj === '-'|| item.zccssrqgj === 'null'){
item.zccssrqgj = ''
}else{
this.$set(item, "ZCCSSRQ", item.zccssrqgj)
}
})
this.listForm.dataList = this.dataList;
let formId = [];
this.dataList.map(item => {
formId.push(item.id);
});
this.listForm.inforlist = formId.join(",");
}, e => {
});
}
this.$refs.detailedSelection.clearSelection() this.$refs.detailedSelection.clearSelection()
} else { } else {
this.$message.warning("请选择一条数据进行带入"); this.$message.warning("请选择一条数据进行带入");
@@ -40,16 +40,16 @@
<el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled"> <el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled">
<div class="file-box" v-if="fileList.length > 0"> <div class="file-box" v-if="fileList.length > 0">
<p v-for="item in fileList" <p v-for="item in fileList"
:key="item.id"> {{ item.name }} :key="item.id" @click.stop="clickButtonToUpload2(item.id)"> {{ item.name }}
<i <i
title="下载" title="下载"
@click="downloadFile(item.id)" @click.stop="downloadFile(item.id)"
class="icon-download" class="icon-download"
v-btn-permission="''" v-btn-permission="''"
/> />
<i <i
title="下载带水印" title="下载带水印"
@click="downloadFileByWater(item.id, item.name)" @click.stop="downloadFileByWater(item.id, item.fileSuffix)"
class="icon-download2" class="icon-download2"
v-btn-permission="''" v-btn-permission="''"
/> />
@@ -139,7 +139,7 @@
</div> </div>
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list" style="height: 100%">
<el-table <el-table
height="100%" height="100%"
ref="selection" ref="selection"
@@ -151,11 +151,6 @@
:no-data-text="listNoDataText" :no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}" :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
> >
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column <el-table-column
prop="name" prop="name"
label="任务步骤" label="任务步骤"
@@ -173,7 +168,7 @@
label="创建时间" label="创建时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -181,7 +176,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -365,13 +360,18 @@ export default {
name: item.oldFileName, name: item.oldFileName,
uid: item.uid, uid: item.uid,
status: item.status, status: item.status,
id: item.id id: item.id,
fileSuffix: item.fileSuffix
}); });
}); });
}); });
}, e => { }, e => {
}); });
}, },
clickButtonToUpload2(file) {
const attId = file
this.$preview(attId)
},
/** /**
* @Description: 点击下载 * @Description: 点击下载
*/ */
@@ -383,14 +383,13 @@ export default {
} }
}, },
downloadFileByWater(attId, fileSuffix) { downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1); if (fileSuffix !== 'pdf' && fileSuffix !== 'PDF') {
if (fileExtension !== "pdf" && fileExtension !== "PDF") { this.$message.error('水印下载仅支持PDF,pdf格式文件')
this.$message.error("水印下载仅支持PDF,pdf格式文件");
} else { } else {
if (attId != null && attId !== "") { if (attId != null && attId !== '') {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId; window.location.href = '/api/att/attFile/downloadFileForSarWaterMark?fileId=' + attId + '&userId=' + this.$store.getters.userInfo.userId
} else { } else {
this.$message.error("请选择要下载的文件"); this.$message.error('请选择要下载的文件')
} }
} }
}, },
@@ -111,7 +111,7 @@
width="260px" width="260px"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a> <a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName || scope.row.standEnName}}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -158,7 +158,7 @@
</div> </div>
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list" style="height: 100%">
<el-table <el-table
height="100%" height="100%"
ref="selection" ref="selection"
@@ -170,11 +170,6 @@
:no-data-text="listNoDataText" :no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}" :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
> >
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column <el-table-column
prop="name" prop="name"
label="任务步骤" label="任务步骤"
@@ -192,7 +187,7 @@
label="创建时间" label="创建时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -200,7 +195,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -279,75 +274,77 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<el-table <div class="table-height">
:data="standardData" <el-table
v-loading="loading" :data="standardData"
tooltip-effect="dark" v-loading="loading"
style="width: 100%" tooltip-effect="dark"
border style="width: 100%"
ref="table" border
class="table-height" ref="table"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px', height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
@selection-change="selectThree" @selection-change="selectThree"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="code"
align="center"
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump"
@click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{
scope.row.standNumber
}}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{
scope.row.standSortShow }}
{{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
align="center"
label="标准名称"
> >
<template slot-scope="scope"> <el-table-column
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a> type="selection"
</template> width="55"
</el-table-column> align="center">
<el-table-column </el-table-column>
prop="issueTime" <el-table-column
align="center" prop="code"
label="发布日期"> align="center"
<template slot-scope="scope"> label="标准号">
<span>{{ scope.row.issueTime ? $moment(scope.row.issueTime).format("YYYY-MM-DD") : "" }}</span> <template slot-scope="scope">
</template> <a v-if="scope.row.standYear" class="table-jump"
</el-table-column> @click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{
<el-table-column scope.row.standNumber
prop="XCXSSRQ" }}-{{ scope.row.standYear }}</a>
align="center" <a v-else @click="handlePreview(scope.row)" class="table-jump">{{
label="新车型实施日期"> scope.row.standSortShow }}
</el-table-column> {{ scope.row.standNumber }}</a>
<el-table-column </template>
show-overflow-tooltip </el-table-column>
prop="ZCCSSRQ" <el-table-column
align="center" prop="standName"
label="在产车实施日期"> align="center"
</el-table-column> label="标准名称"
<el-table-column >
show-overflow-tooltip <template slot-scope="scope">
prop="textStatus" <a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName || scope.row.standEnName}}</a>
align="center" </template>
label="文本状态"> </el-table-column>
<template slot-scope="scope"> <el-table-column
<span>{{ textStatusMap[scope.row.textStatus] }}</span> prop="issueTime"
</template> align="center"
</el-table-column> label="发布日期">
</el-table> <template slot-scope="scope">
<span>{{ scope.row.issueTime ? $moment(scope.row.issueTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
align="center"
label="新车型实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="ZCCSSRQ"
align="center"
label="在产车实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
align="center"
label="文本状态">
<template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textStatus] }}</span>
</template>
</el-table-column>
</el-table>
</div>
</div> </div>
<pagination <pagination
:page="pageNo" :page="pageNo"
@@ -566,12 +563,12 @@ export default {
}, },
//标准查询按钮 //标准查询按钮
getStandDataBtn(){ getStandDataBtn(){
this.loading = true // this.loading = true
this.pageNo = 1; this.pageNo = 1;
this.getStandData(); this.getStandData();
}, },
getStandData() { getStandData() {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", { this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPageByWk1", {
standType: this.standardSearch.standType, standType: this.standardSearch.standType,
standNumber: this.standardSearch.standNumber, standNumber: this.standardSearch.standNumber,
page: this.pageNo, page: this.pageNo,
@@ -592,7 +589,7 @@ export default {
//点击添加事件 //点击添加事件
addList() { addList() {
this.standModel = true; this.standModel = true;
this.loading = true // this.loading = true
this.getStandDataBtn() this.getStandDataBtn()
}, },
//添加标准select的改变 //添加标准select的改变
@@ -621,6 +618,14 @@ export default {
_this.$message.warning("请勿重复添加数据"); _this.$message.warning("请勿重复添加数据");
} else { } else {
_this.dataList.push(item); _this.dataList.push(item);
_this.dataList.forEach(item => {
if(item.XCXSSRQ === null){
item.XCXSSRQ = ''
}
if(item.ZCCSSRQ === null){
item.ZCCSSRQ = ''
}
})
} }
}); });
this.standardData = [] this.standardData = []
@@ -779,7 +784,6 @@ export default {
this.listForm.jlUserId = item.jlUserId this.listForm.jlUserId = item.jlUserId
this.listForm.zrUserId = item.zrUserId this.listForm.zrUserId = item.zrUserId
this.fileInfoList = item.fileName this.fileInfoList = item.fileName
this.commentText = item.commentText
} else { } else {
this.listForm = item.form this.listForm = item.form
this.dataList = item.form.dataList this.dataList = item.form.dataList
@@ -811,8 +815,9 @@ export default {
//提交事件 //提交事件
handleSubmit() { handleSubmit() {
this.listForm.commentText = this.commentText this.listForm.commentText = this.commentText
this.listForm.dataList = this.dataList
const json = JSON.stringify(this.listForm); const json = JSON.stringify(this.listForm);
this.isSubmit = true // this.isSubmit = true
this.$http.post('lawss/activiti/completeTask', { this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds, taskIds: this.taskIds,
userId: this.userId, userId: this.userId,
@@ -40,16 +40,16 @@
<el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled"> <el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled">
<div class="file-box" v-if="fileList.length > 0"> <div class="file-box" v-if="fileList.length > 0">
<p v-for="item in fileList" <p v-for="item in fileList"
:key="item.id"> {{ item.name }} :key="item.id" @click.stop="clickButtonToUpload2(item.id)"> {{ item.name }}
<i <i
title="下载" title="下载"
@click="downloadFile(item.id)" @click.stop="downloadFile(item.id)"
class="icon-download" class="icon-download"
v-btn-permission="''" v-btn-permission="''"
/> />
<i <i
title="下载带水印" title="下载带水印"
@click="downloadFileByWater(item.id, item.name)" @click.stop="downloadFileByWater(item.id, item.fileSuffix)"
class="icon-download2" class="icon-download2"
v-btn-permission="''" v-btn-permission="''"
/> />
@@ -140,7 +140,7 @@
</div> </div>
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list" style="height: 100%">
<el-table <el-table
height="100%" height="100%"
ref="selection" ref="selection"
@@ -152,11 +152,6 @@
:no-data-text="listNoDataText" :no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}" :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
> >
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column <el-table-column
prop="name" prop="name"
label="任务步骤" label="任务步骤"
@@ -174,7 +169,7 @@
label="创建时间" label="创建时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -182,7 +177,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -234,7 +229,7 @@
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail ,changeAssigneeNew} from "api/process"; import { changeAssigneeNew, inboundLiaisonDetail } from "api/process";
export default { export default {
name: "bzqdfbStep4", name: "bzqdfbStep4",
@@ -434,13 +429,19 @@ export default {
name: item.oldFileName, name: item.oldFileName,
uid: item.uid, uid: item.uid,
status: item.status, status: item.status,
id: item.id id: item.id,
fileSuffix: item.fileSuffix
}); });
}); });
}); });
}, e => { }, e => {
}); });
}, },
//点击预览
clickButtonToUpload2(file) {
const attId = file
this.$preview(attId)
},
/** /**
* @Description: 点击下载 * @Description: 点击下载
*/ */
@@ -452,14 +453,13 @@ export default {
} }
}, },
downloadFileByWater(attId, fileSuffix) { downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1); if (fileSuffix !== 'pdf' && fileSuffix !== 'PDF') {
if (fileExtension !== "pdf" && fileExtension !== "PDF") { this.$message.error('水印下载仅支持PDF,pdf格式文件')
this.$message.error("水印下载仅支持PDF,pdf格式文件");
} else { } else {
if (attId != null && attId !== "") { if (attId != null && attId !== '') {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId; window.location.href = '/api/att/attFile/downloadFileForSarWaterMark?fileId=' + attId + '&userId=' + this.$store.getters.userInfo.userId
} else { } else {
this.$message.error("请选择要下载的文件"); this.$message.error('请选择要下载的文件')
} }
} }
}, },
@@ -468,6 +468,7 @@ export default {
if(!this.commentText){ if(!this.commentText){
this.$message.warning('请填写审批意见') this.$message.warning('请填写审批意见')
}else{ }else{
this.isSubmit = true
this.listForm.approvalOpinion = "1"; this.listForm.approvalOpinion = "1";
this.saveLoading = true this.saveLoading = true
this.listForm.commentText = this.commentText; this.listForm.commentText = this.commentText;
@@ -484,13 +485,15 @@ export default {
this.$router.push("/processCenter"); this.$router.push("/processCenter");
} }
this.saveLoading = false this.saveLoading = false
this.isSubmit = false
}); });
}/**/ }/**/
}, },
//提交事件 //提交事件
handleSubmit() { handleSubmit() {
this.isSubmit = true this.isSubmit = true;
this.listForm.commentText = this.commentText; this.listForm.approvalOpinion = "2";
this.listForm.commentText = this.commentText;
const json = JSON.stringify(this.listForm); const json = JSON.stringify(this.listForm);
this.$http.post("lawss/activiti/completeTask", { this.$http.post("lawss/activiti/completeTask", {
taskIds: this.taskIds, taskIds: this.taskIds,
File diff suppressed because it is too large Load Diff
@@ -365,6 +365,14 @@
- - - -
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '1'" label="修订本" prop="xdbName" class="add-form-item form-item-disabled">
<div v-if="xdbFileMap.length>0" v-for="(value,index) in this.xdbFileMap" :key="index" style="cursor: pointer;color: #00b7ee" @click="downloadFile('xdb',value.id)">
{{value.name}}
</div>
<div v-else>
- -
</div>
</el-form-item>
<!-- ************************************* 2021/11/9 把"解读文件"改为"相关文件"*************************************--> <!-- ************************************* 2021/11/9 把"解读文件"改为"相关文件"*************************************-->
<el-form-item v-if="form.standInData === '0'" label="相关文件" prop="jdwjName" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="相关文件" prop="jdwjName" class="add-form-item form-item-disabled">
<!-- ************************************* 2021/11/9 把"解读文件"改为"相关文件"*************************************--> <!-- ************************************* 2021/11/9 把"解读文件"改为"相关文件"*************************************-->
@@ -548,6 +556,17 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-show="form.standInData === '0'" label="我司参与制标排名" prop="cyzbpm" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.cyzbpm" placeholder="请选择我司参与制标排名" clearable>
<el-option
v-for="item in cyzbpmOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
@@ -701,11 +720,6 @@
:no-data-text="listNoDataText" :no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}" :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
> >
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column <el-table-column
prop="name" prop="name"
label="任务步骤" label="任务步骤"
@@ -726,7 +740,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -734,7 +748,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -802,6 +816,7 @@
zqyjgFileMap: [], zqyjgFileMap: [],
jdwjFileMap: [], jdwjFileMap: [],
kwjFileMap: [], kwjFileMap: [],
xdbFileMap: [],
glwjFileMap: [], glwjFileMap: [],
caFileMap: [], caFileMap: [],
zbjbdFileMap: [], zbjbdFileMap: [],
@@ -901,6 +916,7 @@
qcdw: '', // 起草单位 qcdw: '', // 起草单位
wssmr: '', // 我司署名人 wssmr: '', // 我司署名人
cysd: '', // 我司参与深度 cysd: '', // 我司参与深度
cyzbpm:[],// 我司参与制标排名
cllx: '', // 适用车型 cllx: '', // 适用车型
nylx: '',// 能源类型 nylx: '',// 能源类型
sycpx: '',// 适用产品线 sycpx: '',// 适用产品线
@@ -958,6 +974,7 @@
categoryOptions: [], // 能源类型 categoryOptions: [], // 能源类型
applyAuthOptions: [], // 适用认证 applyAuthOptions: [], // 适用认证
cysdOptions: [], // 我司参与深度 cysdOptions: [], // 我司参与深度
cyzbpmOptions:[], // 我司参与制标排名
wssmrOptions: [], // 我司署名人 wssmrOptions: [], // 我司署名人
qcdwOptions: [], // 起草单位 qcdwOptions: [], // 起草单位
sycpxOptions: [], // 适用产品线 sycpxOptions: [], // 适用产品线
@@ -1116,7 +1133,6 @@
if (res) { if (res) {
const processForm = JSON.parse(res.mesg) const processForm = JSON.parse(res.mesg)
console.log("processFrom",processForm)
this.xgdFileId = processForm.xgd this.xgdFileId = processForm.xgd
this.fbgbjbdFileId = processForm.fbgbjbd this.fbgbjbdFileId = processForm.fbgbjbd
this.bpgFileId = processForm.bpg this.bpgFileId = processForm.bpg
@@ -1143,6 +1159,8 @@
// jdwjFileMap: {}, // jdwjFileMap: {},
this.kwjFileMap=this.assemble(processForm.kwj,processForm.kwjName); this.kwjFileMap=this.assemble(processForm.kwj,processForm.kwjName);
// kwjFileMap: {}, // kwjFileMap: {},
this.xdbFileMap=this.assemble(processForm.xdb,processForm.xdbName);
// xdbFileMap: {},
this.glwjFileMap=this.assemble(processForm.glwj,processForm.glwjName); this.glwjFileMap=this.assemble(processForm.glwj,processForm.glwjName);
// glwjFileMap: {}, // glwjFileMap: {},
this.caFileMap=this.assemble(processForm.ca,processForm.caName); this.caFileMap=this.assemble(processForm.ca,processForm.caName);
@@ -1222,6 +1240,28 @@
this.isSubmit = true this.isSubmit = true
this.form.commentText = this.formTongGuo.commentText this.form.commentText = this.formTongGuo.commentText
this.form.approvalOpinion = this.formTongGuo.approvalOpinion this.form.approvalOpinion = this.formTongGuo.approvalOpinion
console.log(this.form)
if (this.form.syrz.length === 0) {
this.form.syrz = ''
}
if (this.form.nylx.length === 0) {
this.form.nylx = ''
}
if (this.form.zrbm.length === 0) {
this.form.zrbm = ''
}
if (this.form.qcdw.length === 0) {
this.form.qcdw = ''
}
if (this.form.cllx.length === 0) {
this.form.cllx = ''
}
if (this.form.sycpx.length === 0) {
this.form.sycpx = ''
}
if (this.form.zrgcs.length === 0) {
this.form.zrgcs = ''
}
const json = JSON.stringify(this.form); const json = JSON.stringify(this.form);
this.$http.post('lawss/activiti/completeTask', { this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds, taskIds: this.taskIds,
@@ -1236,6 +1276,7 @@
console.log("shibai"); console.log("shibai");
this.$message.warning("驳回成功") this.$message.warning("驳回成功")
this.isSubmit = false this.isSubmit = false
this.formTongGuo.commentText = ''
// 流程提交之后,应该流转至待办任务页面 // 流程提交之后,应该流转至待办任务页面
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'}) this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
}else{ }else{
@@ -1288,6 +1329,7 @@
this.categoryOptions = res.data.NYLXCLASS // 能源类型 this.categoryOptions = res.data.NYLXCLASS // 能源类型
this.applyAuthOptions = res.data.SYRZCLASS // 适用认证 this.applyAuthOptions = res.data.SYRZCLASS // 适用认证
this.cysdOptions = res.data.WSCYSD // 我司参与深度 this.cysdOptions = res.data.WSCYSD // 我司参与深度
this.cyzbpmOptions = res.data.CYZBPM // 我司参与制标排名
this.wssmrOptions = res.data.WSSMR // 我司署名人 this.wssmrOptions = res.data.WSSMR // 我司署名人
this.qcdwOptions = res.data.QCDW // 起草单位 this.qcdwOptions = res.data.QCDW // 起草单位
this.sycpxOptions = res.data.SYCPXCLASS // 适用产品线 this.sycpxOptions = res.data.SYCPXCLASS // 适用产品线
@@ -443,7 +443,7 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="我司署名人" prop="wssmr" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="我司署名人" prop="wssmr" class="add-form-item form-item-disabled">
<span>{{form.wssmr}}</span> <span style="color: rgb(118 122 120)">{{form.wssmr}}</span>
<!-- <el-select v-model="form.wssmr" placeholder="请选择我司署名人" multiple disabled>--> <!-- <el-select v-model="form.wssmr" placeholder="请选择我司署名人" multiple disabled>-->
<!-- <el-option--> <!-- <el-option-->
<!-- v-for="item in wssmrOptions"--> <!-- v-for="item in wssmrOptions"-->
@@ -629,11 +629,6 @@
:no-data-text="listNoDataText" :no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}" :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
> >
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column <el-table-column
prop="name" prop="name"
label="任务步骤" label="任务步骤"
@@ -654,7 +649,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -662,7 +657,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -1128,7 +1123,7 @@ export default {
}) })
}, },
handleSubmit() { handleSubmit() {
this.isSubmit = false this.isSubmit = true
this.form.commentText = this.commentText this.form.commentText = this.commentText
this.form.approvalOpinion = this.approvalOpinion this.form.approvalOpinion = this.approvalOpinion
const json = JSON.stringify(this.form); const json = JSON.stringify(this.form);
@@ -26,7 +26,7 @@
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="标准来源" prop="standInData" class="add-form-item form-item-disabled"> <el-form-item label="标准来源" prop="standInData" class="add-form-item form-item-disabled">
<el-radio-group v-model="form.standInData"> <el-radio-group v-model="form.standInData" @change="standInChange">
<el-radio label="0">国内标准入库</el-radio> <el-radio label="0">国内标准入库</el-radio>
<el-radio label="1">海外标准入库</el-radio> <el-radio label="1">海外标准入库</el-radio>
</el-radio-group> </el-radio-group>
@@ -156,13 +156,11 @@
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="12"> <el-col :span="12">
<cus-tom-data-picker-group <cus-tom-data-picker-group
:key="'ssrq'"
:config="{attrName:'实施日期(标准文本)',attrField:'ssrq'}" :config="{attrName:'实施日期(标准文本)',attrField:'ssrq'}"
v-model="form.ssrq" v-model="form.ssrq"
:disabled="false" :disabled="false"
></cus-tom-data-picker-group> ></cus-tom-data-picker-group>
<cus-tom-data-picker-group <cus-tom-data-picker-group
:key="'zccssrq'"
:config="{attrName:'在产车实施日期(标准文本)',attrField:'zccssrq'}" :config="{attrName:'在产车实施日期(标准文本)',attrField:'zccssrq'}"
v-model="form.zccssrq" v-model="form.zccssrq"
:disabled="false" :disabled="false"
@@ -184,7 +182,6 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<cus-tom-data-picker-group <cus-tom-data-picker-group
:key="'xcxssrq'"
:config="{attrName:'新车型实施日期(标准文本)',attrField:'xcxssrq'}" :config="{attrName:'新车型实施日期(标准文本)',attrField:'xcxssrq'}"
v-model="form.xcxssrq" v-model="form.xcxssrq"
:disabled="false"> :disabled="false">
@@ -624,6 +621,29 @@
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item v-show="form.standInData === '1'" label="修订本" prop="xdb" class="add-form-item form-item-disabled">
<el-input
disabled
style="display: none;"
v-model="form.xdbName"
clearable
></el-input>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in xdbFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('xdb')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
<!-- ************************************* 2021/11/9 把"解读文件"改为"相关文件"*************************************--> <!-- ************************************* 2021/11/9 把"解读文件"改为"相关文件"*************************************-->
<el-form-item v-show="form.standInData === '0'" label="相关文件" prop="jdwj" class="add-form-item form-item-disabled"> <el-form-item v-show="form.standInData === '0'" label="相关文件" prop="jdwj" class="add-form-item form-item-disabled">
<!-- ************************************* 2021/11/9 把"解读文件"改为"相关文件"*************************************--> <!-- ************************************* 2021/11/9 把"解读文件"改为"相关文件"*************************************-->
@@ -704,6 +724,14 @@
<div class="prc-content-border"> <div class="prc-content-border">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="12"> <el-col :span="12">
<!--责任部门-->
<!-- <template>-->
<!-- <custom-select-array-->
<!-- :key="zrbmOptions.options"-->
<!-- :config="zrbmOptions"-->
<!-- v-model="form['zrbm']"-->
<!-- ></custom-select-array>-->
<!-- </template>-->
<!-- <el-form-item label="责任部门" prop="zrbm" class="add-form-item form-item-disabled"> <!-- <el-form-item label="责任部门" prop="zrbm" class="add-form-item form-item-disabled">
<el-select v-model="form.zrbm" placeholder="请选择责任部门" multiple> <el-select v-model="form.zrbm" placeholder="请选择责任部门" multiple>
<el-option <el-option
@@ -715,28 +743,44 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item>--> </el-form-item>-->
<el-form-item label="适用车型" prop="cllx" class="add-form-item form-item-disabled"> <!--适用车型-->
<el-select v-model="form.cllx" placeholder="请选择适用车型" multiple> <template>
<el-option <custom-select-array
v-for="item in applyArcticOptions" style="margin-left: -12px"
placeholder="请选择" :config="applyArcticOptions"
:key="item.value" v-model="form['cllx']"
:value="item.value" ></custom-select-array>
:label="item.label" </template>
></el-option> <!--能源类型-->
</el-select> <template>
</el-form-item> <custom-select-array
<el-form-item label="能源类型" prop="nylx" class="add-form-item form-item-disabled"> style="margin-left: -12px"
<el-select v-model="form.nylx" placeholder="请选择能源类型" multiple> :config="categoryOptions"
<el-option v-model="form['nylx']"
v-for="item in categoryOptions" ></custom-select-array>
placeholder="请选择" </template>
:key="item.value" <!-- <el-form-item label="适用车型" prop="cllx" class="add-form-item form-item-disabled">-->
:value="item.value" <!-- <el-select v-model="form.cllx" placeholder="请选择适用车型" multiple>-->
:label="item.label" <!-- <el-option-->
></el-option> <!-- v-for="item in applyArcticOptions"-->
</el-select> <!-- placeholder="请选择"-->
</el-form-item> <!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="能源类型" prop="nylx" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="form.nylx" placeholder="请选择能源类型" multiple>-->
<!-- <el-option-->
<!-- v-for="item in categoryOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="关联模块--乘用车VPPS编码" prop="cycvppsbm" class="add-form-item form-item-disabled"> <el-form-item label="关联模块--乘用车VPPS编码" prop="cycvppsbm" class="add-form-item form-item-disabled">
<el-input v-model="form.cycvppsbm" placeholder="选择乘用车VPPS编码" @click.native="choiceZRR2('cycvppsbm', '乘用车VPPS', form.cycvppsbm)"></el-input> <el-input v-model="form.cycvppsbm" placeholder="选择乘用车VPPS编码" @click.native="choiceZRR2('cycvppsbm', '乘用车VPPS', form.cycvppsbm)"></el-input>
<tree-select-new <tree-select-new
@@ -793,7 +837,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="起草单位" prop="qcdw" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="起草单位" prop="qcdw" class="add-form-item form-item-disabled">
<el-select v-model="form.qcdw" placeholder="请选择起草单位" multiple> <el-select v-model="form.qcdw" placeholder="请选择起草单位" multiple filterable>
<el-option <el-option
v-for="item in qcdwOptions" v-for="item in qcdwOptions"
placeholder="请选择" placeholder="请选择"
@@ -816,28 +860,52 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="适用产品线" prop="sycpx" class="add-form-item form-item-disabled"> <!--适用产品线-->
<el-select v-model="form.sycpx" placeholder="请选择适用产品线" multiple> <template>
<el-option <custom-select-array
v-for="item in sycpxOptions" style="margin-left: -12px"
placeholder="请选择" :config="sycpxOptions"
:key="item.value" v-model="form['sycpx']"
:value="item.value" ></custom-select-array>
:label="item.label" </template>
></el-option> <!-- <el-form-item label="适用产品线" prop="sycpx" class="add-form-item form-item-disabled">-->
</el-select> <!-- <el-select v-model="form.sycpx" placeholder="请选择适用产品线" multiple>-->
</el-form-item> <!-- <el-option-->
<el-form-item label="适用认证" prop="syrz" class="add-form-item form-item-disabled"> <!-- v-for="item in sycpxOptions"-->
<el-select v-model="form.syrz" placeholder="请选择适用认证" multiple> <!-- placeholder="请选择"-->
<el-option <!-- :key="item.value"-->
v-for="item in applyAuthOptions" <!-- :value="item.value"-->
placeholder="请选择" <!-- :label="item.label"-->
:key="item.value" <!-- ></el-option>-->
:value="item.value" <!-- </el-select>-->
:label="item.label" <!-- </el-form-item>-->
></el-option> <!--适用认证-->
</el-select> <template>
</el-form-item> <custom-select-array
style="margin-left: -12px"
:config="applyAuthOptions"
v-model="form['syrz']"
></custom-select-array>
</template>
<!-- <el-form-item label="适用认证" prop="syrz" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="form.syrz" placeholder="请选择适用认证" multiple>-->
<!-- <el-option-->
<!-- v-for="item in applyAuthOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!--责任工程师-->
<!-- <template>-->
<!-- <custom-select-array-->
<!-- :key="zrgcsOptions.options"-->
<!-- :config="zrgcsOptions"-->
<!-- v-model="form['zrgcs']"-->
<!-- ></custom-select-array>-->
<!-- </template>-->
<!-- <el-form-item label="责任工程师" prop="zrgcs" class="add-form-item form-item-disabled"> <!-- <el-form-item label="责任工程师" prop="zrgcs" class="add-form-item form-item-disabled">
<el-select v-model="form.zrgcs" placeholder="请选择责任工程师" multiple> <el-select v-model="form.zrgcs" placeholder="请选择责任工程师" multiple>
<el-option <el-option
@@ -873,15 +941,6 @@
<el-form-item v-if="form.standInData === '0'" label="我司署名人" prop="wssmr" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="我司署名人" prop="wssmr" class="add-form-item form-item-disabled">
<el-input v-model="form.wssmr" placeholder="选择我司署名人" @click.native="choiceZRRS('wssmr', '选择我司署名人', form.wssmr)"> <el-input v-model="form.wssmr" placeholder="选择我司署名人" @click.native="choiceZRRS('wssmr', '选择我司署名人', form.wssmr)">
</el-input> </el-input>
<!-- <el-select v-model="form.wssmr" placeholder="请选择我司署名人" multiple>-->
<!-- <el-option-->
<!-- v-for="item in wssmrOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="我司参与深度" prop="cysd" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="我司参与深度" prop="cysd" class="add-form-item form-item-disabled">
<el-select v-model="form.cysd" placeholder="请选择我司参与深度"> <el-select v-model="form.cysd" placeholder="请选择我司参与深度">
@@ -894,6 +953,17 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-show="form.standInData === '0'" label="我司参与制标排名" prop="cyzbpm" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.cyzbpm" placeholder="请选择我司参与制标排名" clearable>
<el-option
v-for="item in cyzbpmOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
@@ -1101,11 +1171,6 @@
:no-data-text="listNoDataText" :no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}" :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
> >
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column <el-table-column
prop="name" prop="name"
label="任务步骤" label="任务步骤"
@@ -1126,7 +1191,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -1134,7 +1199,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -1208,12 +1273,19 @@
<el-option value="FOREIGN" label="国外标准库"></el-option> <el-option value="FOREIGN" label="国外标准库"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="编号/名称" class="search-item"> <el-form-item label="标准编号" class="search-item">
<el-input <el-input
v-model="replaceLawsNumForm.standNumber" v-model="replaceLawsNumForm.standNumber"
placeholder="根据编号/名称查找" placeholder="根据标准编号查找"
clearable clearable
:maxlength="100"></el-input> :maxlength="100"></el-input>
</el-form-item>
<el-form-item label="标准名称" class="search-item">
<el-input
v-model="replaceLawsNumForm.standName"
placeholder="根据标准名称查找"
clearable
:maxlength="100"></el-input>
</el-form-item> </el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button <el-button
@@ -1310,6 +1382,7 @@
<script> <script>
import ProcessHeader from '../../components/ProcessHeader' import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import CustomSelectArray from '@/components/CustomFormComponents/SelectArray'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import { import {
inboundLiaisonDetail, inboundLiaisonDetail,
@@ -1332,12 +1405,14 @@ export default {
TreeSelectModule, TreeSelectModule,
ProcessHeader, ProcessHeader,
ProcessFooter, ProcessFooter,
CustomSelectArray,
ProcessTitle, ProcessTitle,
TreeSelect, TreeSelect,
TreeSelectNew TreeSelectNew
}, },
data () { data () {
return { return {
modalShowRoleFlag: false,
fileList: [], fileList: [],
caFileList: [], caFileList: [],
FBGBJBDFileList: [], FBGBJBDFileList: [],
@@ -1348,6 +1423,7 @@ export default {
jdwjFileList: [], jdwjFileList: [],
zbjbdFileList: [], zbjbdFileList: [],
kwjFileList: [], kwjFileList: [],
xdbFileList: [],
glwjFileList: [], glwjFileList: [],
textStatus:'',//文本状态 textStatus:'',//文本状态
textStatusMap: {}, // 文本状态id与name对应 textStatusMap: {}, // 文本状态id与name对应
@@ -1413,6 +1489,7 @@ export default {
replaceLawsNumForm: { replaceLawsNumForm: {
dataSource: '', dataSource: '',
standNumber: '', // 标准编号 standNumber: '', // 标准编号
standName: '', // 标准编号
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
total: 0, total: 0,
@@ -1427,9 +1504,9 @@ export default {
replaceLoading: true, replaceLoading: true,
replacePage: 1, replacePage: 1,
rules:{ rules:{
/* standSort: [ standSort: [
{ required: true, message: '请选择标准类别', trigger: 'change' } { required: true, message: '请选择标准类别', trigger: 'change' }
],*/ ],
standNumber: [ standNumber: [
{ required: true, message: '请输入标准编号', trigger: 'blur' }, { required: true, message: '请输入标准编号', trigger: 'blur' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' } { min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' }
@@ -1512,6 +1589,7 @@ export default {
qcdw: '', // 起草单位 qcdw: '', // 起草单位
wssmr: '', // 我司署名人 wssmr: '', // 我司署名人
cysd: '', // 我司参与深度 cysd: '', // 我司参与深度
cyzbpm:[],// 我司参与制标排名
cllx: '', // 适用车型 cllx: '', // 适用车型
nylx: '',// 能源类型 nylx: '',// 能源类型
sycpx: '',// 适用产品线 sycpx: '',// 适用产品线
@@ -1546,17 +1624,36 @@ export default {
standSystemOptions: [], // 标准体系 standSystemOptions: [], // 标准体系
busVppsOptions: [], // 车系体系架构 busVppsOptions: [], // 车系体系架构
modelOptions: [], // 模块体系架构 modelOptions: [], // 模块体系架构
applyArcticOptions: [], // 适用车型 applyArcticOptions: {
categoryOptions: [], // 能源类型 attrName: '适用车型',
options:[]
}, // 适用车型
categoryOptions: {
attrName: '能源类型',
options:[]
}, // 能源类型
gkglbmOptions: [], // 归口管理部门 gkglbmOptions: [], // 归口管理部门
cbcdOptions: [], // 采标程度 cbcdOptions: [], // 采标程度
applyAuthOptions: [], // 适用认证 applyAuthOptions: {
attrName: '适用认证',
options:[]
}, // 适用认证
cysdOptions: [], // 我司参与深度 cysdOptions: [], // 我司参与深度
cyzbpmOptions:[], // 我司参与制标排名
wssmrOptions: [], // 我司署名人 wssmrOptions: [], // 我司署名人
qcdwOptions: [], // 起草单位 qcdwOptions: [], // 起草单位
sycpxOptions: [], // 适用产品线 sycpxOptions: {
zrbmOptions: [], // 责任部门 attrName: '适用产品线',
zrgcsOptions: [], // 责任工程师 options:[]
}, // 适用产品线
zrbmOptions: {
attrName: '责任部门',
options:[]
}, // 责任部门
zrgcsOptions: {
attrName: '责任工程师',
options:[]
}, // 责任工程师
txlbOptions: [], // 体系类别 txlbOptions: [], // 体系类别
data: [], // 标准列表数据 data: [], // 标准列表数据
ListForm: {}, // 新增数据 ListForm: {}, // 新增数据
@@ -1572,6 +1669,7 @@ export default {
drawerModal: false, drawerModal: false,
nodeList: [], nodeList: [],
selectPeople:'', selectPeople:'',
nodeList2: []
} }
}, },
computed: { computed: {
@@ -1580,6 +1678,23 @@ export default {
}, },
}, },
methods: { methods: {
// 标准来源改变事件
standInChange(val) {
this.verifySarStandard = false
/** val === '1' (国外) val === '0'( 国内 )*/
// 国内英文名称不必填 国外必填 ,标准性质国内不体现
if (val === '1') {
this.rules.standName[0].required = false
this.rules.standNature[0].required = false
this.rules.standEnName[0].required = true;
} else {
this.rules.standName[0].required = true
this.rules.standNature[0].required = true
this.rules.standEnName[0].required = false;
}
this.standardSearchForm.standType = val === '0' ? 'INLAND' : 'FOREIGN'
},
getBusStandFileByAttId(attId) { getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
getBusStandFileByAttId({ getBusStandFileByAttId({
@@ -1609,7 +1724,7 @@ export default {
}else { }else {
const nowTime = new Date().getTime() const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl))); // 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(onlyOfficeUrl+'/onlyOffice?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)) // window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
} }
@@ -1674,7 +1789,6 @@ export default {
} }
}, },
choiceZRRS (type, title, id) { choiceZRRS (type, title, id) {
console.log('2077',title)
this.nodeList = [] this.nodeList = []
this.nodeList.push(id) this.nodeList.push(id)
this.userType = type this.userType = type
@@ -2045,6 +2159,9 @@ export default {
case 'kwj': case 'kwj':
this.kwjFileList=fileList; this.kwjFileList=fileList;
break; break;
case 'xdb':
this.xdbFileList=fileList;
break;
case 'ca': case 'ca':
this.caFileList=fileList; this.caFileList=fileList;
break; break;
@@ -2082,6 +2199,9 @@ export default {
case 'kwj': case 'kwj':
this.kwjFileList=fileList; this.kwjFileList=fileList;
break; break;
case 'xdb':
this.xdbFileList=fileList;
break;
case 'ca': case 'ca':
this.caFileList=fileList; this.caFileList=fileList;
break; break;
@@ -2113,6 +2233,8 @@ export default {
this.fileList=this.zbjbdFileList; this.fileList=this.zbjbdFileList;
}else if (type==='kwj'){ }else if (type==='kwj'){
this.fileList=this.kwjFileList; this.fileList=this.kwjFileList;
}else if (type==='xdb'){
this.fileList=this.xdbFileList;
}else if (type==='glwj'){ }else if (type==='glwj'){
this.fileList=this.glwjFileList; this.fileList=this.glwjFileList;
} }
@@ -2254,7 +2376,7 @@ export default {
}).then(res => { }).then(res => {
if (res) { if (res) {
const processForm = JSON.parse(res.mesg) const processForm = JSON.parse(res.mesg)
this.commentText = processForm.commentText // this.commentText = processForm.commentText
if (processForm.form === undefined) { if (processForm.form === undefined) {
this.getFormFieldList(processForm) this.getFormFieldList(processForm)
} else { } else {
@@ -2313,6 +2435,9 @@ export default {
case 'kwj': case 'kwj':
this.getFileList(value,this.kwjFileList); this.getFileList(value,this.kwjFileList);
break; break;
case 'xdb':
this.getFileList(value,this.xdbFileList);
break;
case 'jdwj': case 'jdwj':
this.getFileList(value,this.jdwjFileList); this.getFileList(value,this.jdwjFileList);
break; break;
@@ -2416,6 +2541,9 @@ export default {
this.form.kwj=this.kwjFileList.map(item => item.response.data.id).join(",") this.form.kwj=this.kwjFileList.map(item => item.response.data.id).join(",")
this.form.kwjName=this.kwjFileList.map(item => item.name).join(",") this.form.kwjName=this.kwjFileList.map(item => item.name).join(",")
this.form.kwj=this.xdbFileList.map(item => item.response.data.id).join(",")
this.form.kwjName=this.xdbFileList.map(item => item.name).join(",")
this.form.ca=this.caFileList.map(item => item.response.data.id).join(",") this.form.ca=this.caFileList.map(item => item.response.data.id).join(",")
this.form.caName=this.caFileList.map(item => item.name).join(",") this.form.caName=this.caFileList.map(item => item.name).join(",")
@@ -2495,15 +2623,16 @@ export default {
this.standNatureOptions = res.data.SARPROPERTY // 标准性质 this.standNatureOptions = res.data.SARPROPERTY // 标准性质
this.standStateOptions = res.data.WBZTCLASS // 文本状态 this.standStateOptions = res.data.WBZTCLASS // 文本状态
this.standSystemOptions = res.data.BZTXCLASS // 标准体系 this.standSystemOptions = res.data.BZTXCLASS // 标准体系
this.applyArcticOptions = res.data.ENERGYTYPES // 适用车型 this.applyArcticOptions.options = res.data.ENERGYTYPES // 适用车型
this.categoryOptions = res.data.NYLXCLASS // 能源类型 this.categoryOptions.options = res.data.NYLXCLASS // 能源类型
this.applyAuthOptions = res.data.SYRZCLASS // 适用认证 this.applyAuthOptions.options = res.data.SYRZCLASS // 适用认证
this.cysdOptions = res.data.WSCYSD // 我司参与深度 this.cysdOptions = res.data.WSCYSD // 我司参与深度
this.cyzbpmOptions = res.data.CYZBPM // 我司参与制标排名
this.wssmrOptions = res.data.WSSMR // 我司署名人 this.wssmrOptions = res.data.WSSMR // 我司署名人
this.qcdwOptions = res.data.QCDW // 起草单位 this.qcdwOptions = res.data.QCDW // 起草单位
this.sycpxOptions = res.data.SYCPXCLASS // 适用产品线 this.sycpxOptions.options = res.data.SYCPXCLASS // 适用产品线
this.zrbmOptions = res.data.ZRBMCLASS // 责任部门 this.zrbmOptions.options = res.data.ZRBMCLASS // 责任部门
this.zrgcsOptions = res.data.ZRGCSCLASS // 责任工程师 this.zrgcsOptions.options = res.data.ZRGCSCLASS // 责任工程师
this.txlbOptions = res.data.TXLBCLASS // 体系类别 this.txlbOptions = res.data.TXLBCLASS // 体系类别
this.gkglbmOptions = res.data.GKGLBM // 归口管理部门 this.gkglbmOptions = res.data.GKGLBM // 归口管理部门
this.cbcdOptions = res.data.DEGREESTANDARD // 采标程度 this.cbcdOptions = res.data.DEGREESTANDARD // 采标程度
@@ -170,32 +170,32 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <!-- <el-col :span="12">-->
<el-form-item label="实施日期(国际)" prop="ssrqgj" class="add-form-item form-item-disabled"> <!-- <el-form-item label="实施日期(国际)" prop="ssrqgj" class="add-form-item form-item-disabled">-->
<el-date-picker <!-- <el-date-picker-->
disabled <!-- disabled-->
v-model="form.ssrqgj" <!-- v-model="form.ssrqgj"-->
type="date" <!-- type="date"-->
placeholder="请选择实施日期(国际)"> <!-- placeholder="请选择实施日期(国际)">-->
</el-date-picker> <!-- </el-date-picker>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="新车型实施日期(国际)" prop="xcxssrqgj" class="add-form-item form-item-disabled"> <!-- <el-form-item label="新车型实施日期(国际)" prop="xcxssrqgj" class="add-form-item form-item-disabled">-->
<el-date-picker <!-- <el-date-picker-->
disabled <!-- disabled-->
v-model="form.xcxssrqgj" <!-- v-model="form.xcxssrqgj"-->
type="date" <!-- type="date"-->
placeholder="请选择新车型实施日期(国家)"> <!-- placeholder="请选择新车型实施日期(国家)">-->
</el-date-picker> <!-- </el-date-picker>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="在产车实施日期(国际)" prop="zccssrqgj" class="add-form-item form-item-disabled"> <!-- <el-form-item label="在产车实施日期(国际)" prop="zccssrqgj" class="add-form-item form-item-disabled">-->
<el-date-picker <!-- <el-date-picker-->
disabled <!-- disabled-->
v-model="form.zccssrqgj" <!-- v-model="form.zccssrqgj"-->
type="date" <!-- type="date"-->
placeholder="请选择在产车实施日期(国家)"> <!-- placeholder="请选择在产车实施日期(国家)">-->
</el-date-picker> <!-- </el-date-picker>-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
</el-row> </el-row>
</div> </div>
<ProcessTitle> <ProcessTitle>
@@ -430,10 +430,12 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="我司署名人" prop="wssmr" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="我司署名人" prop="wssmr" class="add-form-item form-item-disabled">
<el-select v-model="form.wssmr" placeholder="请选择我司署名人" multiple disabled> <el-input v-model="form.wssmr">
<el-option label="署名人1" value="1"></el-option> </el-input>
<el-option label="署名人2" value="2"></el-option> <!-- <el-select v-model="form.wssmr" placeholder="请选择我司署名人" multiple disabled>-->
</el-select> <!-- <el-option label="署名人1" value="1"></el-option>-->
<!-- <el-option label="署名人2" value="2"></el-option>-->
<!-- </el-select>-->
</el-form-item> </el-form-item>
<el-form-item v-if="form.standInData === '0'" label="我司参与深度" prop="cysd" class="add-form-item form-item-disabled"> <el-form-item v-if="form.standInData === '0'" label="我司参与深度" prop="cysd" class="add-form-item form-item-disabled">
<el-select v-model="form.cysd" placeholder="请选择我司参与深度" disabled> <el-select v-model="form.cysd" placeholder="请选择我司参与深度" disabled>
@@ -613,11 +615,6 @@
:no-data-text="listNoDataText" :no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}" :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
> >
<!-- <el-table-column-->
<!-- type="selection"-->
<!-- width="55"-->
<!-- align="center">-->
<!-- </el-table-column>-->
<el-table-column <el-table-column
prop="name" prop="name"
label="任务步骤" label="任务步骤"
@@ -638,7 +635,7 @@
sortable="custom" sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -646,7 +643,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -39,6 +39,7 @@
<el-date-picker <el-date-picker
v-model="form.endTime" v-model="form.endTime"
type="date" type="date"
:picker-options="pickerOptions"
placeholder="请选择结束日期"> placeholder="请选择结束日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@@ -47,12 +48,18 @@
<el-button size="small" type="primary" :disabled="!form.cid" @click="addfjList">选择附件</el-button> <el-button size="small" type="primary" :disabled="!form.cid" @click="addfjList">选择附件</el-button>
</div> </div>
<el-input <el-input
v-model="form.fjListId" v-model="form.fjListId"
style="display: none;" style="display: none;"
></el-input> ></el-input>
<div style="display: flex;"> <div style="display: flex;">
<div class="table-jump" @click="updataFj(item)" style="margin-right: 15px;" v-for="(item, index) in form.fjList" :key="index"> <div class="fileClass" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }} <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>
</div> </div>
</el-form-item> </el-form-item>
@@ -63,12 +70,18 @@
v-model="form.modelNameList" v-model="form.modelNameList"
clearable clearable
></el-input> ></el-input>
<div v-if="form.modelList.length > 0" class="fileClass" style="display: flex;"> <div v-if="form.modelList.length > 0" class="fileClass" style="">
<div v-for="(item, index) in form.modelList" :key="index" @click="fileUpload" style="margin-right: 5px; padding-left: 10px;"> <div v-for="(item, index) in form.modelList" :key="index" style="margin-right: 5px; padding-left: 10px;">
{{ item.name }} <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> </div>
<div v-else class="addButton" style="padding-left: 10px"> <div class="addButton" style="padding-left: 10px">
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
@@ -83,8 +96,8 @@
</div> </div>
</el-form> </el-form>
</div> </div>
<el-collapse accordion> <el-collapse accordion v-model="activeNames">
<el-collapse-item title="回执说明"> <el-collapse-item title="回执说明" name="1">
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
<el-input <el-input
type="textarea" type="textarea"
@@ -125,7 +138,7 @@
<el-input <el-input
v-model="roleForm.dockUserListName" v-model="roleForm.dockUserListName"
placeholder="选择责任部门对接人" placeholder="选择责任部门对接人"
@click.native="choiceZRRS"> @click.native="choiceZRRS('1')">
</el-input> </el-input>
</div> </div>
</el-form-item> </el-form-item>
@@ -149,13 +162,13 @@
<el-timeline-item timestamp="审定征求意见" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="审定征求意见" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="directorUser" style="margin-bottom: 0"> <el-form-item prop="directorUser" style="margin-bottom: 0">
<h4>技术管理中心主任</h4> <h4>技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.directorUser" style="display: none;"/> <el-input v-model="roleForm.directorUser" style="display: none;"/>
<el-input <el-input
v-model="roleForm.directorUserName" v-model="roleForm.directorUserName"
placeholder="选择技术管理中心主任" placeholder="选择技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任"
@click.native="choiceZRR('directorUser', '选择技术管理中心主任', roleForm.directorUser)" @click.native="choiceZRRS('2')"
/> />
</div> </div>
</el-form-item> </el-form-item>
@@ -164,13 +177,13 @@
<el-timeline-item timestamp="批准征求意见" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="批准征求意见" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="presidentUser" style="margin-bottom: 0"> <el-form-item prop="presidentUser" style="margin-bottom: 0">
<h4>工程研究总院院长</h4> <h4>工程研究总院院长或标准法规主管副院长</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.presidentUser" style="display: none;"/> <el-input v-model="roleForm.presidentUser" style="display: none;"/>
<el-input <el-input
v-model="roleForm.presidentUserName" v-model="roleForm.presidentUserName"
placeholder="选择工程研究总院院长" placeholder="选择工程研究总院院长或标准法规主管副院长"
@click.native="choiceZRR('presidentUser', '选择工程研究总院院长', roleForm.presidentUser)" @click.native="choiceZRR('presidentUser', '选择工程研究总院院长或标准法规主管副院长', roleForm.presidentUser)"
/> />
</div> </div>
</el-form-item> </el-form-item>
@@ -275,7 +288,7 @@
</div> </div>
</el-drawer> </el-drawer>
<Role-tree <Role-tree
is-title="选择责任部门对接人" :is-title="drawerTitle2"
:is-visible.sync="modalshowflag2" :is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2" @checkedRole="checkedRole2"
:nodeList="nodeList2" :nodeList="nodeList2"
@@ -327,7 +340,7 @@
:action="fileUrl" :action="fileUrl"
ref="importfile" ref="importfile"
name="file" name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile" :before-upload="beginImportFile"
:on-success="importFileSuccess" :on-success="importFileSuccess"
:on-remove="importFileRemove" :on-remove="importFileRemove"
@@ -347,12 +360,20 @@
import ProcessHeader from '../../components/ProcessHeader' import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, queryTaskFirst} from 'api/process' import {saveTaskFirst, queryTaskFirst,taskDel} from 'api/process'
export default { export default {
name: "bzzqyjStep1-1", name: "bzzqyjStep1-1",
data() { data() {
return { return {
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;//如果没有后面的-8.64e7就是不可以选择今天的
}
},
drawerTitle2: '',
type2: '',
activeNames: '1',
fileUrl: 'api/att/attFile/upload', fileUrl: 'api/att/attFile/upload',
fileMadel: false, fileMadel: false,
OCRoptions: [], OCRoptions: [],
@@ -386,14 +407,11 @@ export default {
{required: true, message: '请输入标准编号', trigger: 'change'}, {required: true, message: '请输入标准编号', trigger: 'change'},
], ],
endTime: [ endTime: [
{required: true, message: '请输入标准结束日期', trigger: 'change'}, {required: true, message: '请输入征求意见结束日期', trigger: 'change'},
], ],
cname: [ fjListId: [
{required: true, message: '请输入标准名称', trigger: 'change'}, {required: true, message: '请选择附件', trigger: 'change'},
], ]
// fjListId: [
// {required: true, message: '请选择附件', trigger: 'change'},
// ]
}, },
// 标准征求意见数据可库 // 标准征求意见数据可库
standCommonlySearch: { standCommonlySearch: {
@@ -469,6 +487,18 @@ export default {
} }
}, },
methods: { methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
fileLook(file) { // 预览
const attId = file.attId
this.$preview(attId)
},
beginImportFile (file) { beginImportFile (file) {
var filename = file.name var filename = file.name
var index1 = filename.lastIndexOf('.') var index1 = filename.lastIndexOf('.')
@@ -476,10 +506,10 @@ export default {
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式 // 判断上传文件格式
if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx') { if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true return true
} else { } else {
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -552,8 +582,7 @@ export default {
window.open('/static/pdf/phone/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
addfjList() { addfjList() {
this.$http.get('lawss/sarStandFile/queryFileInfoNew', { this.$http.get('lawss/sarStandFile/querySourceFileInfo', {
type: '0',
standId: this.form.standId standId: this.form.standId
}, { }, {
_this: this _this: this
@@ -564,7 +593,7 @@ export default {
this.fjList = res.data this.fjList = res.data
this.fzlistModel = true this.fzlistModel = true
} else { } else {
this.$message.warning('当前标准没有' + text + '文件') this.$message.warning('当前标准没有文件')
this.fjList = [] this.fjList = []
} }
} }
@@ -667,7 +696,7 @@ export default {
// 分页每页显示数改变后方法 // 分页每页显示数改变后方法
pageSizeChange(pageSize) { pageSizeChange(pageSize) {
this.$store.getters.userInfo.configContent = pageSize this.$store.getters.userInfo.configContent = pageSize
this.standCommonlySearch.size = pageSize this.standCommonlySearch.pageSize = pageSize
this.sarStandCompareHis() this.sarStandCompareHis()
}, },
/** 选择带入数据的方法操作 /** 选择带入数据的方法操作
@@ -716,8 +745,13 @@ export default {
idList += item.id idList += item.id
nameList += item.name nameList += item.name
}) })
this.roleForm.dockUserList = idList if (this.type2 === '1') {
this.roleForm.dockUserListName = nameList this.roleForm.dockUserList = idList
this.roleForm.dockUserName = nameList
} else {
this.roleForm.directorUser = idList
this.roleForm.directorUserName = nameList
}
}, },
checkedRole(data) { checkedRole(data) {
if (this.type === 'ministerUser') { if (this.type === 'ministerUser') {
@@ -731,10 +765,19 @@ export default {
this.roleForm.presidentUserName = data[0].name this.roleForm.presidentUserName = data[0].name
} }
}, },
choiceZRRS() { choiceZRRS(type) {
this.type2 = type
this.nodeList2 = [] this.nodeList2 = []
if (this.roleForm.dockUserList.length > 0) { if (type === '1') {
this.nodeList2 = this.roleForm.dockUserList.split(',') this.drawerTitle2 = '选择责任部门对接人'
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
} else {
this.drawerTitle2 = '选择技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任'
if (this.roleForm.directorUser.length > 0) {
this.nodeList2 = this.roleForm.directorUser.split(',')
}
} }
this.modalshowflag2 = true this.modalshowflag2 = true
}, },
@@ -756,7 +799,7 @@ export default {
this.$refs['Form'].validate((valid) => { this.$refs['Form'].validate((valid) => {
if (valid) { if (valid) {
this.isSubmit = true this.isSubmit = true
this.$http.get('lawss/activiti/startProcess', { this.$http.post('lawss/activiti/startProcessRollBack', {
type: '3' type: '3'
}, {}, res => { }, {}, res => {
if (res.ok) { if (res.ok) {
@@ -771,6 +814,12 @@ export default {
}, {}, res => { }, {}, res => {
if (res.success) { if (res.success) {
this.$message.success('流程发起成功') this.$message.success('流程发起成功')
let taskId = {
id: this.$route.query.bpnId
}
taskDel(taskId).then(res=>{
return res
})
this.$router.push('/processCenter') this.$router.push('/processCenter')
} }
}) })
@@ -169,31 +169,28 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom" align="center">
align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="endTime" prop="endTime"
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -38,6 +38,7 @@
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled"> <el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker <el-date-picker
v-model="form.endTime" v-model="form.endTime"
:picker-options="pickerOptions"
type="date" type="date"
placeholder="请选择结束日期"> placeholder="请选择结束日期">
</el-date-picker> </el-date-picker>
@@ -51,17 +52,17 @@
style="display: none;" style="display: none;"
></el-input> ></el-input>
<div style="display: flex;"> <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"> <div class="fileClass" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }} <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>
</div> </div>
</el-form-item> </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-form-item label="上传附件" prop="modelNameList" class="add-form-item form-item-disabled">
<el-input <el-input
disabled disabled
@@ -69,12 +70,18 @@
v-model="form.modelNameList" v-model="form.modelNameList"
clearable clearable
></el-input> ></el-input>
<div v-if="form.modelList.length > 0" class="fileClass" style="display: flex;"> <div v-if="form.modelList.length > 0" class="fileClass">
<div v-for="(item, index) in form.modelList" :key="index" @click="fileUpload" style="margin-right: 5px; padding-left: 10px;"> <div v-for="(item, index) in form.modelList" :key="index" style="margin-right: 5px; padding-left: 10px;">
{{ item.name }} <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> </div>
<div v-else class="addButton" style="padding-left: 10px"> <div class="addButton" style="padding-left: 10px">
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
@@ -89,8 +96,8 @@
</div> </div>
</el-form> </el-form>
</div> </div>
<el-collapse accordion> <el-collapse accordion v-model="activeNames">
<el-collapse-item title="回执说明"> <el-collapse-item title="回执说明" name="1">
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
<el-input <el-input
type="textarea" type="textarea"
@@ -131,7 +138,7 @@
<el-input <el-input
v-model="roleForm.dockUserListName" v-model="roleForm.dockUserListName"
placeholder="选择责任部门对接人" placeholder="选择责任部门对接人"
@click.native="choiceZRRS"> @click.native="choiceZRRS('1')">
</el-input> </el-input>
</div> </div>
</el-form-item> </el-form-item>
@@ -155,13 +162,13 @@
<el-timeline-item timestamp="审定征求意见" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="审定征求意见" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="directorUser" style="margin-bottom: 0"> <el-form-item prop="directorUser" style="margin-bottom: 0">
<h4>技术管理中心主任</h4> <h4>技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.directorUser" style="display: none;"/> <el-input v-model="roleForm.directorUser" style="display: none;"/>
<el-input <el-input
v-model="roleForm.directorUserName" v-model="roleForm.directorUserName"
placeholder="选择技术管理中心主任" placeholder="选择技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任"
@click.native="choiceZRR('directorUser', '选择技术管理中心主任', roleForm.directorUser)" @click.native="choiceZRRS('2')"
/> />
</div> </div>
</el-form-item> </el-form-item>
@@ -170,13 +177,13 @@
<el-timeline-item timestamp="批准征求意见" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="批准征求意见" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="presidentUser" style="margin-bottom: 0"> <el-form-item prop="presidentUser" style="margin-bottom: 0">
<h4>工程研究总院院长</h4> <h4>工程研究总院院长或标准法规主管副院长</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.presidentUser" style="display: none;"/> <el-input v-model="roleForm.presidentUser" style="display: none;"/>
<el-input <el-input
v-model="roleForm.presidentUserName" v-model="roleForm.presidentUserName"
placeholder="选择工程研究总院院长" placeholder="选择工程研究总院院长或标准法规主管副院长"
@click.native="choiceZRR('presidentUser', '选择工程研究总院院长', roleForm.presidentUser)" @click.native="choiceZRR('presidentUser', '选择工程研究总院院长或标准法规主管副院长', roleForm.presidentUser)"
/> />
</div> </div>
</el-form-item> </el-form-item>
@@ -282,7 +289,7 @@
</div> </div>
</el-drawer> </el-drawer>
<Role-tree <Role-tree
is-title="选择责任部门对接人" :is-title="drawerTitle2"
:is-visible.sync="modalshowflag2" :is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2" @checkedRole="checkedRole2"
:nodeList="nodeList2" :nodeList="nodeList2"
@@ -342,7 +349,7 @@
:action="fileUrl" :action="fileUrl"
ref="importfile" ref="importfile"
name="file" name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile" :before-upload="beginImportFile"
:on-success="importFileSuccess" :on-success="importFileSuccess"
:on-remove="importFileRemove" :on-remove="importFileRemove"
@@ -362,12 +369,21 @@
import ProcessHeader from '../../components/ProcessHeader' import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst} from 'api/process' import {saveTaskFirst, taskDel} from 'api/process'
export default { export default {
name: "bzzqyjStep1", name: "bzzqyjStep1",
data() { data() {
return { return {
drawerTitle2: '',
type2: '',
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;//如果没有后面的-8.64e7就是不可以选择今天的
}
},
activeNames: '1',
bpnId: '',
fileUrl: 'api/att/attFile/upload', fileUrl: 'api/att/attFile/upload',
fileMadel: false, fileMadel: false,
OCRoptions: [], OCRoptions: [],
@@ -402,11 +418,11 @@ export default {
{required: true, message: '请输入标准编号', trigger: 'change'}, {required: true, message: '请输入标准编号', trigger: 'change'},
], ],
endTime: [ endTime: [
{required: true, message: '请输入标准结束日期', trigger: 'change'}, {required: true, message: '请输入征求意见结束日期', trigger: 'change'},
], ],
// fjListId: [ fjListId: [
// {required: true, message: '请选择附件', trigger: 'change'}, {required: true, message: '请选择附件', trigger: 'change'},
// ] ]
}, },
// 标准征求意见数据可库 // 标准征求意见数据可库
standCommonlySearch: { standCommonlySearch: {
@@ -482,6 +498,18 @@ export default {
} }
}, },
methods: { methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
fileLook(file) { // 预览
const attId = file.attId
this.$preview(attId)
},
beginImportFile (file) { beginImportFile (file) {
var filename = file.name var filename = file.name
var index1 = filename.lastIndexOf('.') var index1 = filename.lastIndexOf('.')
@@ -489,10 +517,10 @@ export default {
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式 // 判断上传文件格式
if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx') { if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true return true
} else { } else {
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -557,7 +585,7 @@ export default {
updataFj(item) { updataFj(item) {
let id let id
let type = item.fileName.split('.') let type = item.fileName.split('.')
if (type[1] === 'pdf') { if (type[1] === 'pdf' || type[1] === 'PDF') {
id = item.attId id = item.attId
} else { } else {
id = item.oriAttId id = item.oriAttId
@@ -565,7 +593,7 @@ export default {
window.open('/static/pdf/phone/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
addfjList() { addfjList() {
this.$http.get('lawss/sarStandFile/queryFileInfo', { this.$http.get('lawss/sarStandFile/querySourceFileInfo', {
standId: this.form.standId standId: this.form.standId
}, { }, {
_this: this _this: this
@@ -653,7 +681,7 @@ export default {
sarStandCompareHis() { sarStandCompareHis() {
this.spinShow = true this.spinShow = true
var formData = this.standCommonlySearch var formData = this.standCommonlySearch
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', formData, { this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPageByWk1', formData, {
_this: this _this: this
}, res => { }, res => {
this.standInfoList = res.data.list this.standInfoList = res.data.list
@@ -668,7 +696,7 @@ export default {
// 分页每页显示数改变后方法 // 分页每页显示数改变后方法
pageSizeChange(pageSize) { pageSizeChange(pageSize) {
this.$store.getters.userInfo.configContent = pageSize this.$store.getters.userInfo.configContent = pageSize
this.standCommonlySearch.size = pageSize this.standCommonlySearch.pageSize = pageSize
this.sarStandCompareHis() this.sarStandCompareHis()
}, },
/** 选择带入数据的方法操作 /** 选择带入数据的方法操作
@@ -719,8 +747,13 @@ export default {
idList += item.id idList += item.id
nameList += item.name nameList += item.name
}) })
this.roleForm.dockUserList = idList if (this.type2 === '1') {
this.roleForm.dockUserListName = nameList this.roleForm.dockUserList = idList
this.roleForm.dockUserListName = nameList
} else {
this.roleForm.directorUser = idList
this.roleForm.directorUserName = nameList
}
}, },
checkedRole(data) { checkedRole(data) {
if (this.type === 'ministerUser') { if (this.type === 'ministerUser') {
@@ -734,10 +767,19 @@ export default {
this.roleForm.presidentUserName = data[0].name this.roleForm.presidentUserName = data[0].name
} }
}, },
choiceZRRS() { choiceZRRS(type) {
this.type2 = type
this.nodeList2 = [] this.nodeList2 = []
if (this.roleForm.dockUserList.length > 0) { if (type === '1') {
this.nodeList2 = this.roleForm.dockUserList.split(',') this.drawerTitle2 = '选择责任部门对接人'
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
} else {
this.drawerTitle2 = '选择技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任'
if (this.roleForm.directorUser.length > 0) {
this.nodeList2 = this.roleForm.directorUser.split(',')
}
} }
this.modalshowflag2 = true this.modalshowflag2 = true
}, },
@@ -777,8 +819,16 @@ export default {
this.$refs['Form'].validate((valid) => { this.$refs['Form'].validate((valid) => {
if (valid) { if (valid) {
this.isSubmit = true this.isSubmit = true
this.$http.get('lawss/activiti/startProcess', { this.$http.post('lawss/activiti/startProcessRollBack', {
type: '3' id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '3',
json: JSON.stringify({
form: this.form,
roleForm: this.roleForm,
commentText: this.commentText
})
}, {}, res => { }, {}, res => {
if (res.ok) { if (res.ok) {
var json = Object.assign(this.form, this.roleForm) var json = Object.assign(this.form, this.roleForm)
@@ -792,6 +842,14 @@ export default {
}, {}, res => { }, {}, res => {
if (res.success) { if (res.success) {
this.$message.success('流程发起成功') this.$message.success('流程发起成功')
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push('/processCenter') this.$router.push('/processCenter')
this.isSubmit = false this.isSubmit = false
} else { } else {
@@ -46,13 +46,30 @@
style="display: none;" style="display: none;"
></el-input> ></el-input>
<div style="display: flex;"> <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> </div>
</el-form-item> </el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled"> <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-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)"> <div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
{{ item.name }} <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> </div>
<div v-else> <div v-else>
@@ -100,31 +117,28 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom" align="center">
align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="endTime" prop="endTime"
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -221,6 +235,18 @@ export default {
ProcessTitle ProcessTitle
}, },
methods: { methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
fileLook(file) { // 预览
const attId = file.attId
this.$preview(attId)
},
handleTransfer() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
}, },
@@ -255,14 +281,7 @@ export default {
}) })
}, },
updataFj (item) { updataFj (item) {
let id window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
let type = item.fileName.split('.')
if (type[1] === 'pdf') {
id = item.attId
} else {
id = item.oriAttId
}
window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", { this.$http.get("lawss/activiti/get_list_by_instance", {
@@ -46,16 +46,30 @@
style="display: none;" style="display: none;"
></el-input> ></el-input>
<div style="display: flex;"> <div style="display: flex;">
<div class="table-jump" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index"> <div class="fileClass"
<span @click="updataFj(item)">{{ item.fileName }}</span> style="margin-right: 15px;padding-left: 10px"
<el-button type="primary" class="common-button-primary" style="margin-left: 10px;" size="mini" @click="downloadFile(item.attId)">下载</el-button> 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>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled"> <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-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)"> <div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
{{ item.name }} <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> </div>
<div v-else> <div v-else>
@@ -190,23 +204,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -214,7 +225,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -386,6 +397,18 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
fileLook(file) { // 预览
const attId = file.attId
this.$preview(attId)
},
itermsConditionsClose () { itermsConditionsClose () {
this.itermsConditionsFlag = false this.itermsConditionsFlag = false
}, },
@@ -464,14 +487,7 @@
}) })
}, },
updataFj(item) { updataFj(item) {
let id window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
let type = item.fileName.split('.')
if (type[1] === 'pdf') {
id = item.attId
} else {
id = item.oriAttId
}
window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', { this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -523,6 +539,7 @@
id: id, id: id,
department: this.$store.getters.userInfo.upDeptName, department: this.$store.getters.userInfo.upDeptName,
responUserName: this.$store.getters.userInfo.userName, responUserName: this.$store.getters.userInfo.userName,
responUser: this.$store.getters.userInfo.userId
} }
this.data.push(json) this.data.push(json)
this.itemId = id this.itemId = id
@@ -572,7 +589,23 @@
}, },
handleSubmit() { handleSubmit() {
if (this.data.length < 1) { if (this.data.length < 1) {
this.$message.warning('请输入征求意见') this.isSubmit = true
var json = this.json
json.commentText = this.commentText
json.info = []
json.form = this.form
json.department = this.$store.getters.userInfo.orgName
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else { } else {
var a = 0 var a = 0
var b = 0 var b = 0
@@ -651,9 +684,9 @@
} else { } else {
this.form.fjListId = data.fjListId || data.form.fjListId this.form.fjListId = data.fjListId || data.form.fjListId
} }
this.form.textType = data.textType this.form.textType = data.textType || data.form.textType
this.form.modelList = data.modelList this.form.modelList = data.modelList || data.form.modelList
this.form.modelNameList = data.modelNameList // this.form.modelNameList = data.modelNameList || data.form.modelNameList
this.form.cid = data.cid || data.form.cid this.form.cid = data.cid || data.form.cid
this.form.endTime = data.endTime || data.form.endTime this.form.endTime = data.endTime || data.form.endTime
this.todoId = res.id this.todoId = res.id
@@ -46,29 +46,43 @@
style="display: none;" style="display: none;"
></el-input> ></el-input>
<div style="display: flex;"> <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"> <div class="fileClass"
{{ item.fileName }} style="margin-right: 15px;padding-left: 10px"
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button> 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>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled"> <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-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)"> <div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
{{ item.name }} <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> </div>
<div v-else> <div v-else>
- - - -
</div> </div>
</el-form-item> </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 <el-input
v-model="form.bzfgId" v-model="form.bzfgId"
style="display: none;" style="display: none;"
clearable clearable
></el-input> ></el-input>
<el-input v-model="form.bzfgName" placeholder="请选择标准法规工程师分线管理员" @click.native="choiceZRR(form.bzfgId)"></el-input> <el-input disabled v-model="form.bzfgName" placeholder="请选择标准法规工程师分线管理员"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -169,23 +183,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -193,7 +204,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -312,6 +323,18 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
fileLook(file) { // 预览
const attId = file.attId
this.$preview(attId)
},
checkedRole2(data) { checkedRole2(data) {
this.form.bzfgId = data[0].id this.form.bzfgId = data[0].id
this.form.bzfgName = data[0].name this.form.bzfgName = data[0].name
@@ -365,14 +388,7 @@
}) })
}, },
updataFj(item) { updataFj(item) {
let id window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
let type = item.fileName.split('.')
if (type[1] === 'pdf') {
id = item.attId
} else {
id = item.oriAttId
}
window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', { this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -407,6 +423,8 @@
} }
this.isSubmit = false this.isSubmit = false
}) })
} else {
this.$message.warning('请选择标准法规工程师分线管理员')
} }
}) })
}, },
@@ -446,10 +464,14 @@
this.form.cid = data.cid || data.form.cid this.form.cid = data.cid || data.form.cid
this.form.endTime = data.endTime || data.form.endTime this.form.endTime = data.endTime || data.form.endTime
this.form.cname = data.cname || data.form.cname this.form.cname = data.cname || data.form.cname
this.form.textType = data.textType this.form.textType = data.textType || data.form.textType
this.form.modelList = data.modelList this.form.modelList = data.modelList || data.form.modelList
this.form.modelNameList = data.modelNameList this.form.modelNameList = data.modelNameList || data.form.modelNameList
this.form.bzfgId = data.bzfgId || '' console.log(data);
this.form.bzfgId = data.startUser
this.form.bzfgName = data.startUserName
// this.form.bzfgId = data.bzfgId || ''
// this.form.bzfgName = data.bzfgName || ''
this.json = data this.json = data
this.data = data.info || data.data this.data = data.info || data.data
}).catch(e => { }).catch(e => {
@@ -46,16 +46,30 @@
style="display: none;" style="display: none;"
></el-input> ></el-input>
<div style="display: flex;"> <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"> <div class="fileClass"
{{ item.fileName }} style="margin-right: 15px;padding-left: 10px"
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button> 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>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled"> <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-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)"> <div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
{{ item.name }} <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> </div>
<div v-else> <div v-else>
@@ -161,23 +175,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -185,7 +196,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -304,6 +315,18 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
fileLook(file) { // 预览
const attId = file.attId
this.$preview(attId)
},
checkedRole2(data) { checkedRole2(data) {
this.form.bzfgId = data[0].id this.form.bzfgId = data[0].id
this.form.bzfgName = data[0].name this.form.bzfgName = data[0].name
@@ -357,14 +380,7 @@
}) })
}, },
updataFj(item) { updataFj(item) {
let id window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
let type = item.fileName.split('.')
if (type[1] === 'pdf') {
id = item.attId
} else {
id = item.oriAttId
}
window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', { this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -432,9 +448,9 @@
this.form.cid = data.cid || data.form.cid this.form.cid = data.cid || data.form.cid
this.form.endTime = data.endTime || data.form.endTime this.form.endTime = data.endTime || data.form.endTime
this.form.cname = data.cname || data.form.cname this.form.cname = data.cname || data.form.cname
this.form.textType = data.textType this.form.textType = data.textType || data.form.textType
this.form.modelList = data.modelList this.form.modelList = data.modelList || data.form.modelList
this.form.modelNameList = data.modelNameList this.form.modelNameList = data.modelNameList || data.form.modelNameList
this.form.bzfgId = data.bzfgId || '' this.form.bzfgId = data.bzfgId || ''
this.json = data this.json = data
this.data = data.info || data.data this.data = data.info || data.data
@@ -42,20 +42,34 @@
</el-form-item> </el-form-item>
<el-form-item label="标准附件" prop="fjListId" class="add-form-item form-item-disabled"> <el-form-item label="标准附件" prop="fjListId" class="add-form-item form-item-disabled">
<el-input <el-input
v-model="form.fjListId" v-model="form.fjListId"
style="display: none;" style="display: none;"
></el-input> ></el-input>
<div style="display: flex;"> <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"> <div class="fileClass"
{{ item.fileName }} style="margin-right: 15px;padding-left: 10px"
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button> 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>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled"> <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-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)"> <div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
{{ item.name }} <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> </div>
<div v-else> <div v-else>
@@ -170,7 +184,7 @@
</el-table> </el-table>
</div> </div>
<el-collapse accordion> <el-collapse accordion>
<el-collapse-item title="审批意见"> <el-collapse-item title="回执说明">
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
<el-input <el-input
type="textarea" type="textarea"
@@ -197,31 +211,28 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom" align="center">
align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="endTime" prop="endTime"
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -396,6 +407,18 @@ export default {
ProcessTitle ProcessTitle
}, },
methods: { methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
fileLook(file) { // 预览
const attId = file.attId
this.$preview(attId)
},
handleSelectionChange(val) { handleSelectionChange(val) {
this.idList = [] this.idList = []
val.forEach(item => { val.forEach(item => {
@@ -436,8 +459,9 @@ export default {
newText: '', newText: '',
reason: '', reason: '',
id: id, id: id,
department: this.$store.getters.userInfo.upDeptName, department: this.$store.getters.userInfo.institutionName,
responUserName: this.$store.getters.userInfo.userName, responUserName: this.$store.getters.userInfo.userName,
responUser: this.$store.getters.userInfo.userId
} }
this.data.push(json) this.data.push(json)
this.itemId = id this.itemId = id
@@ -550,14 +574,7 @@ export default {
}) })
}, },
updataFj(item) { updataFj(item) {
let id window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
let type = item.fileName.split('.')
if (type[1] === 'pdf') {
id = item.attId
} else {
id = item.oriAttId
}
window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', { this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -592,6 +609,8 @@ export default {
} }
this.isSubmit = false this.isSubmit = false
}) })
} else {
this.$message.warning('请选择审批人')
} }
}) })
}, },
@@ -639,9 +658,9 @@ export default {
this.form.cid = data.cid || data.form.cid this.form.cid = data.cid || data.form.cid
this.form.endTime = data.endTime || data.form.endTime this.form.endTime = data.endTime || data.form.endTime
this.form.cname = data.cname || data.form.cname this.form.cname = data.cname || data.form.cname
this.form.textType = data.textType this.form.textType = data.textType || data.form.textType
this.form.modelList = data.modelList this.form.modelList = data.modelList || data.form.modelList
this.form.modelNameList = data.modelNameList this.form.modelNameList = data.modelNameList || data.form.modelNameList
this.form.spId = data.spId || '' this.form.spId = data.spId || ''
this.form.spName = data.spName || '' this.form.spName = data.spName || ''
this.json = data this.json = data
@@ -46,16 +46,30 @@
style="display: none;" style="display: none;"
></el-input> ></el-input>
<div style="display: flex;"> <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"> <div class="fileClass"
{{ item.fileName }} style="margin-right: 15px;padding-left: 10px"
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button> 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>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled"> <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-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)"> <div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
{{ item.name }} <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> </div>
<div v-else> <div v-else>
@@ -165,7 +179,7 @@
</el-table> </el-table>
</div> </div>
<el-collapse accordion> <el-collapse accordion>
<el-collapse-item title="审批意见"> <el-collapse-item title="回执说明">
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
<el-input <el-input
type="textarea" type="textarea"
@@ -192,23 +206,20 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -216,7 +227,7 @@
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -382,6 +393,18 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
fileLook(file) { // 预览
const attId = file.attId
this.$preview(attId)
},
getItemList (standId, fileType) { // 查询分解单条款数据 getItemList (standId, fileType) { // 查询分解单条款数据
this.$http.get('SarStandItems/sar-stand-items/querySarItemAndInterpretation', { this.$http.get('SarStandItems/sar-stand-items/querySarItemAndInterpretation', {
standId: standId, standId: standId,
@@ -473,14 +496,7 @@
}) })
}, },
updataFj(item) { updataFj(item) {
let id window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
let type = item.fileName.split('.')
if (type[1] === 'pdf') {
id = item.attId
} else {
id = item.oriAttId
}
window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", { this.$http.get("lawss/activiti/get_list_by_instance", {
@@ -518,9 +534,6 @@
}); });
}, },
handleSubmit() { handleSubmit() {
if (this.data.length < 1) {
this.$message.warning("请输入征求意见搞");
} else {
this.isSubmit = true; this.isSubmit = true;
var json = this.json; var json = this.json;
json.oldinfo = this.oldData; json.oldinfo = this.oldData;
@@ -537,7 +550,6 @@
} }
this.isSubmit = false; this.isSubmit = false;
}); });
}
}, },
getData() { getData() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -556,9 +568,9 @@
this.form.cid = data.cid || data.form.cid; this.form.cid = data.cid || data.form.cid;
this.form.endTime = data.endTime || data.form.endTime; this.form.endTime = data.endTime || data.form.endTime;
this.form.cname = data.cname || data.form.cname; this.form.cname = data.cname || data.form.cname;
this.form.textType = data.textType this.form.textType = data.textType || data.form.textType
this.form.modelList = data.modelList this.form.modelList = data.modelList || data.form.modelList
this.form.modelNameList = data.modelNameList this.form.modelNameList = data.modelNameList || data.form.modelNameList
// this.oldData = JSON.parse(JSON.stringify(data.summaryList)) // this.oldData = JSON.parse(JSON.stringify(data.summaryList))
// console.log(data); // console.log(data);
// data.summaryList.forEach(item => { // data.summaryList.forEach(item => {
@@ -580,11 +592,12 @@
if (data.introduce) { if (data.introduce) {
} else { } else {
this.$http.get("slrs/sar-public-idea-all/getPublicIdea", { this.$http.get("slrs/sar-public-idea-all/getPublicIdea", {
unique: data.unique unique: data.uniques
}, {}, res => { }, {}, res => {
res.data.forEach(item => { res.data.forEach(item => {
item.chapterNumber = item.partCode; item.chapterNumber = item.partCode;
item.responUserName = item.userName; item.responUserName = item.userName;
item.state = '1'
this.data.push(item); this.data.push(item);
}); });
}); });
@@ -42,20 +42,34 @@
</el-form-item> </el-form-item>
<el-form-item label="标准附件" prop="fjListId" class="add-form-item form-item-disabled"> <el-form-item label="标准附件" prop="fjListId" class="add-form-item form-item-disabled">
<el-input <el-input
v-model="form.fjListId" v-model="form.fjListId"
style="display: none;" style="display: none;"
></el-input> ></el-input>
<div style="display: flex;"> <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"> <div class="fileClass"
{{ item.fileName }} style="margin-right: 15px;padding-left: 10px"
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button> 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>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled"> <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-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)"> <div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
{{ item.name }} <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> </div>
<div v-else> <div v-else>
@@ -181,31 +195,28 @@
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
sortable="custom"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
sortable="custom" align="center">
align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="endTime" prop="endTime"
label="完成时间" label="完成时间"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -320,6 +331,18 @@ export default {
ProcessTitle ProcessTitle
}, },
methods: { methods: {
filesUpload (file) { // 下载
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
fileLook(file) { // 预览
const attId = file.attId
this.$preview(attId)
},
itermsConditionsClose () { itermsConditionsClose () {
this.itermsConditionsFlag = false this.itermsConditionsFlag = false
}, },
@@ -364,14 +387,7 @@ export default {
}) })
}, },
updataFj(item) { updataFj(item) {
let id window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
let type = item.fileName.split('.')
if (type[1] === 'pdf') {
id = item.attId
} else {
id = item.oriAttId
}
window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", { this.$http.get("lawss/activiti/get_list_by_instance", {
@@ -389,34 +405,38 @@ export default {
} }
}, },
upload(row, title) { upload(row, title) {
console.log(row); if (row.length > 0) {
return var params = {
var params = { columnName: {
columnName: { chapterNumber: "章条编号",
chapterNumber: "章条编号", chapterName: "章节名称",
chapterName: "章节名称", commentText: "修改意见内容(包括理由或依据)",
commentText: "修改意见内容(包括理由或依据)", oldText: "修改前",
oldText: "修改前", newText: "修改后",
newText: "修改后", reason: "修改理由",
reason: "修改理由", department: "提出部门",
department: "提出部门", responUserName: "提出人",
responUserName: "提出人", },
stateText: "处理意见" dataList: []
}, };
dataList: [] if (title === '上报意见.xls') {
}; params.columnName.stateText = "处理意见"
params.dataList = JSON.parse(JSON.stringify(row));
params.dataList.forEach(item => {
if (item.state === "1") {
item.stateText = "上报";
} else if (item.state === "2") {
item.stateText = "处理后上报";
} else {
item.stateText = "不上报";
} }
}); params.dataList = JSON.parse(JSON.stringify(row));
this.$http.downloadFile("/api/lawss/activiti/export_excel", params, title, res => { params.dataList.forEach(item => {
}); if (item.state === "1") {
item.stateText = "上报";
} else if (item.state === "2") {
item.stateText = "处理后上报";
} else {
item.stateText = "不上报";
}
});
this.$http.downloadFile("/api/lawss/activiti/export_excel", params, title, res => {
});
} else {
this.$message.warning('无上报数据')
}
}, },
handleTabs(name) { handleTabs(name) {
this.active = name; this.active = name;
@@ -424,9 +444,6 @@ export default {
handleSave() { handleSave() {
}, },
handleSubmit() { handleSubmit() {
if (this.data.length < 1) {
this.$message.warning("请输入征求意见搞");
} else {
this.isSubmit = true; this.isSubmit = true;
var json = this.json; var json = this.json;
json.hqFlag = '0'; json.hqFlag = '0';
@@ -442,7 +459,6 @@ export default {
} }
this.isSubmit = false; this.isSubmit = false;
}); });
}
}, },
handleSubmitNo() { handleSubmitNo() {
if (this.commentText) { if (this.commentText) {
@@ -481,7 +497,6 @@ export default {
this.form.cid = data.cid || data.form.cid; this.form.cid = data.cid || data.form.cid;
this.form.endTime = data.endTime || data.form.endTime; this.form.endTime = data.endTime || data.form.endTime;
this.form.cname = data.cname || data.form.cname; this.form.cname = data.cname || data.form.cname;
this.oldData = JSON.parse(JSON.stringify(data.info)) this.oldData = JSON.parse(JSON.stringify(data.info))
var arr = [] var arr = []
data.info.forEach(item => { data.info.forEach(item => {
@@ -490,9 +505,9 @@ export default {
} }
}) })
this.json = data this.json = data
this.form.textType = data.textType this.form.textType = data.textType || data.form.textType
this.form.modelList = data.modelList this.form.modelList = data.modelList || data.form.modelList
this.form.modelNameList = data.modelNameList this.form.modelNameList = data.modelNameList || data.form.modelNameList
this.data = arr this.data = arr
}).catch(e => { }).catch(e => {
}); });

Some files were not shown because too many files have changed in this diff Show More