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>
<nav-menu></nav-menu>
<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">
<router-view/>
</div>
@@ -238,7 +210,12 @@ export default {
},
// 监听路由 控制isBoolean
$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
} else {
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) {
return axios({
url: '/api/lawss/actSarItemsLaws/processCreateBuss',
url: '/api/lawss/actSarItemsBuss/processCreateBuss',
method: 'post',
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) {
return axios({
url: '/api/lawss/activiti/evaluationHisList',
@@ -681,6 +697,14 @@ export function getStandInfoById (data) {
params: data
})
}
// 流程撤回接口
export function processBack(data) {
return axios({
url: 'api/lawss/activiti/startProcessRollBack',
method: 'post',
data
})
}
// 标准法规工作组接口
export function workGroup(data) {
return axios({
@@ -689,3 +713,29 @@ export function workGroup(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{
display: flex;
justify-content: space-between;
+25
View File
@@ -1,6 +1,31 @@
.phoneBox {
width: 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) {
.el-message {
+8 -2
View File
@@ -8,6 +8,8 @@ import router from '@/router'
import store from '@/store'
import {Message} from 'element-ui'
import { baseUrl,webLoginType,ssoLoginUrlDev } from '@/sysConfig'
import isMobile from "../../store/isMobile";
import domMessage from '../messageOnce/messageOnce'
const messageOnce = new domMessage()
@@ -67,8 +69,12 @@ _axios.interceptors.response.use(
}
}
if(res.data && res.data.respCode && res.data.respCode === 'LE505'){
window.sessionStorage.clear()
messageOnce.warning({
if (isMobile()) {
localStorage.removeItem('token')
return router.push('/phoneIndex')
}
window.sessionStorage.clear()
messageOnce.warning({
message: '登录超时,请重新登录',
type: 'warning'
})
+17 -10
View File
@@ -3,6 +3,8 @@ import router from '@/router'
import store from '@/store'
import {Message} from 'element-ui'
import { baseUrl,webLoginType,ssoLoginUrlDev } from '@/sysConfig'
import isMobile from "../../store/isMobile";
import domMessage from '../messageOnce/messageOnce'
// 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'){
window.sessionStorage.clear()
messageOnce.warning({
message: '登录超时,请重新登录',
type: 'warning'
})
if(webLoginType != null && webLoginType === 'idm' ) {
// idm 统一认证登录页面
return window.location.href = ssoLoginUrlDev
}else if(webLoginType != null && webLoginType === 'dev'){
return router.push('/login')
if (isMobile()) {
localStorage.removeItem('token')
return router.push('/phoneIndex')
}else {
window.sessionStorage.clear()
messageOnce.warning({
message: '登录超时,请重新登录',
type: 'warning'
})
if(webLoginType != null && webLoginType === 'idm' ) {
// idm 统一认证登录页面
return window.location.href = ssoLoginUrlDev
}else if(webLoginType != null && webLoginType === 'dev'){
return router.push('/login')
}
}
}
return res.data
+7
View File
@@ -5,6 +5,8 @@
import base64 from './base64'
import dateFormat from './date'
import hasPermission from './hasPermission'
import preview from './preview'
// 表单验证
import verify from './verify'
const install = function (Vue) {
@@ -31,6 +33,11 @@ const install = function (Vue) {
get () {
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>
<script>
import { onlyOfficeUrl } from '@/sysConfig'
import { getConvertFileByAttId,getBusStandFileByAttId } from 'api/process'
let Base64 = require('js-base64').Base64;
export default {
@@ -352,39 +353,26 @@ export default {
this.$message.warning('文件不存在,下载失败')
}
} else {
this.getBusStandFileByAttId(attId)
.then(res => {
console.log(res)
if(res){
const editFileInfo = res
console.log(editFileInfo)
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else 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))
}
// switch (res.convertState) {
// case 'ERROR':
// this.$message.warning('文档转换失败')
// break
// case 'LODING':
// this.$message.info('文档转换中,请稍后查看')
// break
// case 'SUCCESS':
// const { convertFileInfo } = res
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + convertFileInfo.id))
// break
// }
}).catch(e => {
console.log(e)
this.$message.warning('文件不存在,预览失败')
})
this.$preview(attId)
// this.getBusStandFileByAttId(attId)
// .then(res => {
// console.log(res)
// if(res){
// const editFileInfo = res
// console.log(editFileInfo)
// if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
// window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
// }else 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 => {
// console.log(e)
// this.$message.warning('文件不存在,预览失败')
// })
}
},
+14 -2
View File
@@ -12,6 +12,9 @@
:value="value"
:placeholder="placeholder"
:disabled="disabled"
type="textarea"
resize="none"
:autosize="true"
clearable
@input="handleChange"
></el-input>
@@ -63,6 +66,15 @@ export default {
}
</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>
@@ -5,6 +5,7 @@
:prop="config.attrField"
:label-width="labelWidth"
class="add-form-item"
style="width: 100%;"
:class="{'form-item-disabled': disabled}"
>
<el-input
@@ -42,7 +43,7 @@
v-model="replaceLawsNumForm.standType"
placeholder="请选择"
>
<el-option value="ALL" label="全部"></el-option>
<el-option value="" label="全部"></el-option>
<el-option value="INLAND" label="国内"></el-option>
<el-option value="FOREIGN" label="海外"></el-option>
</el-select>
@@ -125,8 +126,8 @@
@pageChange="pageChangeReplace"
@pageSizeChange="pageSizeChangeReplace"></pagination>
<div slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" 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 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>
@@ -176,7 +177,7 @@ export default {
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
standType: 'ALL',
standType: '',
quoteIdList: '',
validFlag: '0',
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="left">
<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
v-model="replaceLawsNumForm.standNumber"
placeholder="根据编号/名称查找"
placeholder="根据标准编号查找"
clearable
: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 label="标准来源" class="search-item" v-if="dataSource">
<el-select
v-model="replaceLawsNumForm.standType"
@@ -182,6 +189,7 @@ export default {
// 代替标准号
replaceLawsNumForm: {
standNumber: '', // 标准编号
standName: '', // 标准编号
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
@@ -384,10 +392,11 @@ export default {
this.replacePage = 1
this.replaceLawsNumForm = {
standNumber: '', // 标准编号
standName: '', // 标准编号
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
standType: 'ALL',
standType: 'INLAND',
quoteIdList: '',
validFlag: '0'
}
@@ -1,73 +1,78 @@
<template>
<!-- <div>-->
<!-- <div>-->
<el-col :span="span">
<el-form-item
:label="config.attrName"
:prop="config.attrField"
:label-width="labelWidth"
class="add-form-item leftButton"
:class="{'form-item-disabled': disabled}"
:label="config.attrName"
:prop="config.attrField"
:label-width="labelWidth"
class="add-form-item leftButton"
:class="{'form-item-disabled': disabled}"
>
<el-input
:value="value"
:placeholder="placeholder"
:disabled="disabled"
clearable
@input="handleChange"
type="textarea"
resize="none"
:autosize="true"
: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"
>手动查找</el-button>
type="primary"
class="common-button-primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
@click="selectLaws"
v-if="(processModel && !disabled) || !processModel"
>手动查找
</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"
: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" @keyup.enter.native="getReplaceLawsNumRowSearch">
<!-- <el-form-item label="数据来源" class="search-item">-->
<!-- <el-select v-model="replaceLawsNumForm.dataSource" filterable>-->
<!-- <el-option-->
<!-- v-for="item in dataSourceOptions"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- >-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form :modal="replaceLawsNumForm" :inline="true" class="label-input-form"
@keyup.enter.native="getReplaceLawsNumRowSearch">
<!-- <el-form-item label="数据来源" class="search-item">-->
<!-- <el-select v-model="replaceLawsNumForm.dataSource" filterable>-->
<!-- <el-option-->
<!-- v-for="item in dataSourceOptions"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- >-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="企标编号/标准名称" class="search-item input-width">
<el-input
v-model="replaceLawsNumForm.numberName"
placeholder="根据企标编号/标准名称查找"
clearable
:maxlength="100"></el-input>
v-model="replaceLawsNumForm.numberName"
placeholder="根据企标编号/标准名称查找"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
round
@click="getReplaceLawsNumRowSearch">
type="primary"
class="common-button-primary"
round
@click="getReplaceLawsNumRowSearch">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
round
type="default"
@click="getResetLawsNumRow">
class="common-button-default"
round
type="default"
@click="getResetLawsNumRow">
清空
</el-button>
</el-form-item>
@@ -75,77 +80,87 @@
</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',
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">
@selection-change="selectReplaceStandNumRowChange">
<el-table-column
type="selection"
width="55"
align="center">
type="selection"
width="55"
align="center">
</el-table-column>
<!-- <el-table-column-->
<!-- prop="standSortShow"-->
<!-- label="企标类别"-->
<!-- min-width="130"-->
<!-- >-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="standSortShow"-->
<!-- label="企标类别"-->
<!-- min-width="130"-->
<!-- >-->
<!-- </el-table-column>-->
<el-table-column
label="企标编号"
min-width="130">
label="企标编号"
min-width="130">
<template slot-scope="scope">
<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>
</span>
<span v-else>
<a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}</a>
<a v-if="scope.row.standYear" class="table-jump"
@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>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称"
min-width="130">
prop="standName"
label="标准名称"
min-width="130">
</el-table-column>
<el-table-column
prop="issueTime"
label="发布日期"
width="130">
prop="issueTime"
label="发布日期"
width="130">
</el-table-column>
<el-table-column
prop="putTime"
label="实施日期"
width="130">
prop="putTime"
label="实施日期"
width="130">
</el-table-column>
<el-table-column
prop="standStatusShow"
label="文本状态"
width="130">
prop="standStatusShow"
label="文本状态"
width="130">
</el-table-column>
</el-table>
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
<loading :loading="replaceLoading">{{ $t('m.dataAcquisition') }}</loading>
<!--分页-->
<pagination
style="position: relative;"
:page="replacePage"
:total="replaceTotal"
@pageChange="pageChangeReplace"
@pageSizeChange="pageSizeChangeReplace"></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 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 class="common-button-default" round 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>
</div>
</el-dialog>
</el-col>
<!-- </div>-->
<!-- </div>-->
</template>
@@ -180,7 +195,7 @@ export default {
default: '150px'
}
},
data () {
data() {
return {
replaceLawsNumModel: false,
sarBussionessLawsEO: {
@@ -212,28 +227,28 @@ export default {
}
},
computed: {
placeholder () {
placeholder() {
return `请输入${this.config.attrName}`
},
showMessage () {
showMessage() {
return `${this.config.attrName}不能为空`
},
isRequired () {
isRequired() {
return !!this.config.isMust
}
},
methods: {
getReplaceLawsNumRowSearch () {
getReplaceLawsNumRowSearch() {
this.replaceLawsNumForm.page = 1
this.replacePage = 1
this.getReplaceLawsNumRow()
},
handleChange (event) {
handleChange(event) {
// const value = event.target.value
const value = event
this.$emit('input', value)
},
selectLaws () {
selectLaws() {
// if (this.standNumFlag === 1) {
// this.$refs.selections.selectAll(false)
// }
@@ -242,7 +257,7 @@ export default {
this.getReplaceLawsNumRow()
},
// 代替政策号 请求数据
getReplaceLawsNumRow () {
getReplaceLawsNumRow() {
if (this.sarBussionessLawsEO.replaceLawsNum !== null && this.sarBussionessLawsEO.replaceLawsNum !== '') {
this.replaceLawsNumForm.quoteIdList = this.quoteIdList1.toString() === '' ? '' : this.quoteIdList1
} else {
@@ -257,7 +272,7 @@ export default {
formData.standType = this.replaceLawsNumForm.dataSource === 'INLAND_STAND' ? 'INLAND'
: this.replaceLawsNumForm.dataSource === 'FOREIGN_STAND' ? 'FOREIGN' : ''
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: this,
loading: 'replaceLoading'
@@ -277,27 +292,27 @@ export default {
})
},
// 代替政策编号-取消
replaceLawsNumModelCancel () {
replaceLawsNumModelCancel() {
// this.replaceLawsNumModel = false
this.$refs.selections.clearSelection()
},
// 代替政策号 table选择事件
selectReplaceStandNumRowChange (row) {
selectReplaceStandNumRowChange(row) {
this.selectedListRep = row
},
// 代替政策分页
pageChangeReplace (page) {
pageChangeReplace(page) {
this.replacePage = page
this.replaceLawsNumForm.page = page
this.getReplaceLawsNumRow()
},
pageSizeChangeReplace (pageSize) {
pageSizeChangeReplace(pageSize) {
// this.replaceRows = pageSize
this.replaceLawsNumForm.pageSize = pageSize
this.getReplaceLawsNumRow()
},
// 代替政策编号确定
replaceLawsNumModelBt () {
replaceLawsNumModelBt() {
let textArr = []
if (typeof this.value === 'string') {
@@ -342,7 +357,7 @@ export default {
this.$refs.selections.clearSelection()
},
// 点击查看
handlePreview (item) {
handlePreview(item) {
let name = ''
let pageType = ''
switch (this.dataSource) {
@@ -369,7 +384,7 @@ export default {
window.open(routeUrl.href, '_blank')
},
getResetLawsNumRow () {
getResetLawsNumRow() {
this.replaceLawsNumForm = {
dataSource: 'BUSINESS',
numberName: '', // 政策编号
@@ -387,13 +402,23 @@ export default {
</script>
<style scoped lang="less">
/deep/.el-dialog__body {
padding: 0 20px 0;
}
/deep/.el-dialog__footer {
padding: 0 20px 20px;
}
/deep/.input-width input.el-input__inner {
width: 220px;
/deep/ .el-dialog__body {
padding: 0 20px 0;
}
/deep/ .el-dialog__footer {
padding: 0 20px 20px;
}
.add-form-item {
/deep/ .el-form-item__content {
.el-textarea {
width: calc(~'100% - 90px');
}
}
}
/deep/ .input-width input.el-input__inner {
width: 220px;
}
</style>
+5
View File
@@ -26,6 +26,9 @@ import MechanismTree from './mechanismTree'
import SQTree from './SQTree'
import OrgTable from './OrgTable'
import MySelect from './mySelect'
import PhoneHistortTable from './phoneHistortTable'
import phoneRole from './phoneRole'
const install = function (Vue) {
Vue.component('loading', Loading)
@@ -52,6 +55,8 @@ const install = function (Vue) {
Vue.component('RoleTree', RoleTree)
Vue.component('MechanismTree', MechanismTree)
Vue.component('MySelect', MySelect)
Vue.component('phoneRole', phoneRole)
Vue.component('PhoneHistortTable', PhoneHistortTable)
}
export default {
+5 -2
View File
@@ -2,6 +2,7 @@
<div class="roleTree">
<el-drawer
:title="isTitle"
v-if="isVisible2"
:visible.sync="isVisible2"
:wrapperClosable="false"
@close="handleTreeDrawerCancel"
@@ -22,12 +23,14 @@
<el-tree
class="filter-tree tree-line"
:data="treeData"
v-if="isVisible2"
:props="defaultProps"
icon-class="icon-tree"
:check-strictly="true"
:current-node-key="nodeKeyId"
node-key="id"
:filter-node-method="filterNode"
:default-checked-keys="nodeList"
highlight-current
:auto-expand-parent="true"
show-checkbox
@@ -108,8 +111,9 @@ export default {
this.isVisible2 = false
},
saveUserInfo() {
let arr = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
this.isVisible2 = false
this.$emit('checkedRole', this.roleList)
this.$emit('checkedRole', arr)
},
loadNode(node, resolve) {
if (node.level === 0) {
@@ -137,7 +141,6 @@ export default {
loading: 'treeLoading'
}, res => {
this.treeData = res.data
console.log(this.treeData);
this.nodeKeyId = this.treeData[0].id
this.id = res.data[0].id
}, e => {
+50 -41
View File
@@ -111,27 +111,55 @@
path: '/domesticStandardsAndRegulations',
menuId: '3e3657498664beaa0dc1de1ecb3ae0da'
},
// {
// title: '零部件编号申请',
// path: '/partCodeApply',
// menuId: 'ad9db496772c075f78495382b7581fe9'
// },
{
title: '工作组数据统计',
path: '/dataStatisComments',
menuId: ''
},
{
title: '海外法规',
path: '/foreignStandardsAndRegulations',
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: '征求意见',
path: '/standardForComments',
menuId: '2b25c67f10abbbadf37d60daaaec54d3'
},
{
title: '合规评估', // 把 标准涉及项目 这几个字 改成 标准合规评估结果
path: '/standInvolveProject',
menuId: '8a9c87fe06244fb9d55e78fb281f625b'
},
// {
// title: '零部件编号申请',
// path: '/partCodeApply',
// menuId: 'ad9db496772c075f78495382b7581fe9'
// },
// {
// title: '工作组统计',
// path: '/dataStatisComments',
// menuId: ''
// },
{
title: '国内外政策',
path: '/foreignRegulationsDatabase',
@@ -141,11 +169,6 @@
// // // title: '标准制修订管理',
// // // path: '/demo2One'
// // // },
{
title: '法规清单',
path: '/accessStandardsAndRegulations',
menuId: '08dbd417864b08426034ca56d1fa3d02'
},
// // {
// // title: '标准法规清单详情',
// // path: '/details'
@@ -158,11 +181,6 @@
// // // title: '本地产品/项目库',
// // // path: '/localProductsOrProjectLibrary'
// // // },
{
title: '企业标准',
path: '/enterpriseStandardDatabase',
menuId: '01ed8f752748227777b3572d56ee9ab5'
},
// {
// title: '企标制修订计划',
// path: '/enterBSysRevPlanManaLib',
@@ -177,30 +195,11 @@
path: '/localProductsOrProjectLibrary',
menuId: '42ce39c9f953be65a3e5643a4a2c786f'
},*/
{
title: '未符合项',
path: '/nonConfomity',
menuId: '0119abd677e0204e061eb0f0b8cafda0'
},
{
title: '工作组',
path: '/workingGroup',
},
// {
// title: '备案产品标准库',
// path: '/enterpriseStandardFiling',
// menuId: 'MQBAGJQMSRZDRX3X5AVR'
// },
{
title: '合规评估', // 把 标准涉及项目 这几个字 改成 标准合规评估结果
path: '/standInvolveProject',
menuId: '8a9c87fe06244fb9d55e78fb281f625b'
},
{
title: '企标制修订计划',
path: '/enterpriseStandardPlan',
// menuId: '8a9c87fe06244fb9d55e78fb281f625b'
}
// {
// title: '动态信息',
// path: '/information',
@@ -282,6 +281,13 @@
menuId: 'asfdew33',
isChildren: true // 判断没有子菜单
},
{
title: '资料中心',
path: '/dataCenter',
'icon-class': 'el-icon-s-order',
menuId: '',
isChildren: true // 判断没有子菜单
},
// {
// title: '技术要求清单',
// path: '/skillReq',
@@ -611,6 +617,7 @@
color: #fff;
}
.nav-menu /deep/.el-submenu__title i {
font-size: 16px;
color: #fff;
}
.nav-menu{
@@ -636,6 +643,7 @@
}
.el-menu-item {
font-size: 16px;
span {
margin-left: 5px;
font-weight: normal;
@@ -672,6 +680,7 @@
background-color: red;
}
/deep/.el-submenu__title {
font-size: 16px;
padding: 0 16px !important;
span {
font-weight: normal;
@@ -706,7 +715,7 @@
}
.el-menu-item {
padding-left: 29px !important;
font-size: 14px;
font-size: 16px;
font-weight: normal;
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'
// vuex
import store from './store'
import Axios from 'axios'
// 复制
import VueClipboard from 'vue-clipboard2'
// 全局样式文件
@@ -51,210 +52,292 @@ import router from './router'
// 路由解析器
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 { mapMutations, mapActions } from 'vuex'
import isMobile from "./store/isMobile";
// 路由拦截
router.beforeEach(function (to, from, next) {
let toName = to.name
let token = store.state.token
let path = to.path;
let requireAuth = to.meta.requireAuth;
let taskId = to.query.taskIds;
let prcId = to.query.prcId;
let prcNum = to.query.prcNum;
let prcName = to.query.prcName;
let prcType = to.query.prcType;
let routerType = to.query.routerType;
let param = "taskIds=" + taskId + "&prcId=" + prcId
+ "&prcNum=" + prcNum + "&prcName=" + prcName + "&prcType=" + prcType;
let url = window.location.search
let 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
let toName = to.name
let token = store.state.token
let path = to.path;
let requireAuth = to.meta.requireAuth;
let taskId = to.query.taskIds;
let prcId = to.query.prcId;
let prcNum = to.query.prcNum;
let prcName = to.query.prcName;
let prcType = to.query.prcType;
let routerType = to.query.routerType;
let param = "taskIds=" + taskId + "&prcId=" + prcId
+ "&prcNum=" + prcNum + "&prcName=" + prcName + "&prcType=" + prcType;
let param4 = {
path: path,
token: token,
taskId: taskId,
prcId: prcId,
prcNum: prcNum,
prcName: prcName,
prcType: prcType,
toName: toName
}
let url = window.location.search
let 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) {
localStorage.removeItem("routerUrl")
localStorage.setItem('routerUrl', url)
localStorage.removeItem("routerParam")
localStorage.setItem('routerParam', param)
}
// 返回值为登录状态
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'){
next('/Login')
}
function extractedLocalStorage(url,param,param4) {
localStorage.removeItem("routerUrl")
localStorage.setItem('routerUrl', url)
localStorage.removeItem("routerParam")
localStorage.setItem('routerParam', param)
}
// 返回值为登录状态
/** 判断是不是在手机端操作 */
if (isMobile()) {
if(toName === 'processCenter'){
hwh5.close();
}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) { // 业务系统 当前节点已完成
// 根据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()
}
if ((token === null || token === '' ) && toName !== 'Login') {
if(toName !== 'phoneIndex'){
localStorage.removeItem("param");
localStorage.setItem('param',JSON.stringify(param4))
next('/phoneIndex')
}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) {
const timeStamp = new Date().getTime().toString()
const _USERINFO = JSON.parse(userInfo)
_USERINFO.userId = _USERINFO.userId || _USERINFO.usId
_USERINFO.userName = _USERINFO.userName || _USERINFO.uName
try {
localStorage.setItem('userInfo', JSON.stringify(_USERINFO))
localStorage.setItem('userInfoModifyTime', timeStamp)
} catch (e) {}
const timeStamp = new Date().getTime().toString()
const _USERINFO = JSON.parse(userInfo)
_USERINFO.userId = _USERINFO.userId || _USERINFO.usId
_USERINFO.userName = _USERINFO.userName || _USERINFO.uName
try {
localStorage.setItem('userInfo', JSON.stringify(_USERINFO))
localStorage.setItem('userInfoModifyTime', timeStamp)
} catch (e) {}
}
@@ -279,16 +362,16 @@ Vue.prototype.simpleUploadPath = simpleUploadPath
Vue.prototype.$moment = moment
// 国际化
const i18n = new VueI18n({
locale: store.getters.getLanguage || 'cn', // 定义默认语言为中文
messages: {
cn: require('@/assets/languages/cn'),
en: require('@/assets/languages/en')
}
locale: store.getters.getLanguage || 'cn', // 定义默认语言为中文
messages: {
cn: require('@/assets/languages/cn'),
en: require('@/assets/languages/en')
}
})
/* eslint-disable no-new */
window.vm = new Vue({
router,
store,
i18n,
render: h => h(App)
router,
store,
i18n,
render: h => h(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>
<el-dropdown-menu slot="dropdown">
<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>
</div>
@@ -185,7 +185,7 @@ export default {
pubOrgName: '',
content: '',
linkUri: '',
uploadPath: 'uploadPath',
uploadPath: 'file',
resPk: '',
fileList: [],
picList: [],
@@ -174,7 +174,7 @@ export default {
pubOrgName: '',
content: '',
linkUri: '',
uploadPath: 'uploadPath',
uploadPath: 'file',
resPk: '',
fileList: [],
picList: [],
@@ -2276,7 +2276,7 @@ export default {
}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(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))
}
@@ -17,7 +17,7 @@
>
<el-collapse v-model="activeNames" @change="handleChange">
<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-btn">
<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 {
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(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))
}
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -77,11 +77,11 @@
height: 40px;
line-height: 40px;
background: #fff;
font-size: 15px;
font-size: 14px;
border-radius: 10px;
}
.menu-wrap {
height: 240px;
height: 200px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
+37 -11
View File
@@ -9,10 +9,14 @@
</div>
<ul>
<li v-for="item in toDoTaskList" :key="item.id" class="time-title">
<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-else style="line-height: 30px; font-size: 13px;">{{ item.prcName.substring(0,25)+'...' }}</span>
</div>
<div style="height: 30px">
<span @click="dealWith(item)" v-if="item.prcName.length<24"
style="line-height: 30px; font-size: 13px;">{{ item.prcName }}</span>
<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>
</ul>
</div>
@@ -185,7 +189,7 @@ export default {
}
break;
case '3':
if (row.taskInfo === '责任对接人选择责任人') {
if (row.taskInfo === '责任部门对接人选择责任人') {
this.$router.push({
name: 'bzzqyjStep2',
query: {
@@ -196,7 +200,7 @@ export default {
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任人填写征求意见'){
} else if (row.taskInfo === '责任人反馈'){
this.$router.push({
name: 'bzzqyjStep3',
query: {
@@ -207,7 +211,7 @@ export default {
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任对接人审批') {
} else if (row.taskInfo === '责任部门对接人汇总并选择审批') {
this.$router.push({
name: 'bzzqyjStep4',
query: {
@@ -218,7 +222,29 @@ export default {
prcType: row.prcType
}
})
} else if (row.taskInfo === '标准法规工程师汇总填写处理意见') {
} else if (row.taskInfo === '审批人审批') {
this.$router.push({
name: 'bzzqyjStep4-1',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '标准法规工程师分线审核') {
this.$router.push({
name: 'bzzqyjStep4-2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '标准法规工程师汇总') {
this.$router.push({
name: 'bzzqyjStep5',
query: {
@@ -251,7 +277,7 @@ export default {
prcType: row.prcType
}
})
} else if (row.taskInfo.indexOf('技术委员会相关专委会主任') == 0 ) {
} else if (row.taskInfo === '技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任审定' ) {
this.$router.push({
name: 'bzzqyjStep8',
query: {
@@ -262,7 +288,7 @@ export default {
prcType: row.prcType
}
})
} else {
} else if (row.taskInfo === '工程研究总院院长批准') {
this.$router.push({
name: 'bzzqyjStep9',
query: {
@@ -1288,7 +1314,7 @@ export default {
.to-do-list {
margin-right: 10px;
border-radius: 3px;
height: calc(~'100% - 310px');
height: calc(~'100% - 269px');
overflow: hidden;
background: #FFFFFF;
box-shadow: 1px 1px 10px rgba(0,0,0,0.1);
+1 -1
View File
@@ -173,7 +173,7 @@ export default {
.right_wrapper {
display: flex;
flex-direction: column;
width: 30vw;
width: 25vw;
height: 100%;
}
.search-condition {
+1 -1
View File
@@ -963,7 +963,7 @@ export default {
_this: this
}, res => {
this.addSpiltStandList = res.data.list
this.addFileStandtotal = res.data.list.length
this.addFileStandtotal = res.data.count
this.loadData = false
}, e => {
this.loadData = false
@@ -319,7 +319,7 @@
@close="showItemInfoModal = false"
class="demo-drawer"
>
<div class="see-drawer-content">
<!-- <div class="see-drawer-content">
<div class="see-drawer-div">
<label class="see-drawer-name" title="条款号">条款号</label>
<span class="see-drawer-val" :title="showItemInfoEO.itemsNum">{{ showItemInfoEO.itemsNum }}</span>
@@ -332,7 +332,7 @@
<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>
</div>
<!-- <div class="see-drawer-div">
<div class="see-drawer-div">
<label class="see-drawer-name" title="责任部门">责任部门</label>
<span class="see-drawer-val" :title="showItemInfoEO.responsibleUnitShow">{{ showItemInfoEO.responsibleUnitShow }}</span>
</div>
@@ -359,7 +359,123 @@
<div class="see-drawer-div">
<label class="see-drawer-name" title="企标覆盖关系">企标覆盖关系</label>
<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>
</el-drawer>
<!--编辑条款内容-->
@@ -1707,7 +1823,7 @@ export default {
if (res.ok) {
let imgPath = res.data.filePath
let imgName = res.data.fileName
let imgSrc = 'uploadPath' + imgPath + imgName
let imgSrc = 'file' + imgPath + imgName
// let imgSrc = imgPath + imgName
// this.itemsContentList[this.saveUploadImgIndex].itemContent = 'uploadPath' + imgPath + imgName
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) {
let specialObj = {
description: '',
@@ -2084,7 +2171,7 @@ export default {
// this.clause(command[0])
// break
case '属性':
this.attribute(command[0])
this.attribute(command[2], command[0])
break
case '编辑':
this.editLawsInfo(command[2], command[0])
@@ -2154,9 +2241,65 @@ export default {
this.showItemRequestDetails()
},
//
attribute (row) {
this.getFileName(row)
this.showItemInfoEO = JSON.parse(JSON.stringify(row))
attribute (index, row) {
this.isSubmit = false
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) {
const _type = type ? type.split(',') : []
+613 -53
View File
@@ -17,8 +17,8 @@
</el-select>
</span>
</div>
<div style="float: right;display: inline;height: 30px;">
<el-button size="mini" @click="today">今天</el-button>
<div style="float: right;display: inline;height: 30px;padding-right: 5px">
<el-button size="mini" type="primary" plain @click="today">今天</el-button>
</div>
</div>
<el-calendar v-model="value">
@@ -32,10 +32,12 @@
<el-tag style="background-color: unset;border-color: unset;border-width: 0"/>
</span>
<!-- 获取当前登录人的会议并表示出来-->
<span v-for="item in dealMyDate(data.day)" :value="item.fillPeopleId">
<el-tag class="tagOne"/>
<span v-for="(item,index) in dealMyDate(data.day)" :value="index">
<el-tag v-if="userId === item.fillPeopleId" class="tagTwo"/>
</span>
<span v-if="dealMyDate(data.day).length > 0">
<el-tag class="tagOne"/>
</span>
</span>
</div>
</div>
@@ -52,42 +54,243 @@
<div class="title_time">{{ timeDay.day || nowDate }}</div>
<span class="card_info_empty " v-if="todayData.length === 0">
<div style="text-align: center">
<img :src="require('@/assets/images/meeting.png')">
<img :src="require('@/assets/images/meeting.png')">
</div>
<div style="text-align: center;font-weight: bold;color: #99999a">暂无会议</div>
</span>
<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">
<el-tag v-if="userId === res.fillPeopleId" type="success" size="mini">会议</el-tag>
<el-tag v-else type="warning" size="mini">会议</el-tag>
<el-tag v-if="userId === res.fillPeopleId" type="success" 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>
<i style="margin-left: 10px;font-weight: bold">{{ item.title }}</i>
<div class="content_text">
<span>会议时间 : {{ $moment(item.date).format('YYYY-MM-DD HH:mm') }} </span>
</div>
<div class="content_text">
<span>参与人 : {{ item.partPeople.join('、') }} </span>
</div>
<div class="content_text2">
<span>会议内容 : {{ item.content }}</span>
</div>
<div class="content_text">
<div class="content_style">
<div class="content_text">
<span>会议时间 : {{ $moment(item.date).format('YYYY-MM-DD HH:mm:ss') }} </span>
</div>
<div class="content_text2">
<span>参与人 : {{ item.partPeople.join('、') }} </span>
</div>
<div class="content_text2">
<span>会议内容 : {{ item.content }}</span>
</div>
<div class="content_text2">
<span>会议地点 : {{ item.place }}</span>
</div>
<div class="content_text">
<span>会议附件 :
<span v-if="item.files.length === 0">{{ '-' }}</span>
<span v-for="res in item.files" :key="res.id" style="color: #409EFF;" @click="previews(res.id)">
{{ res.name }} {{ ';'}}
</span>
<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)">
<a v-if="res.name.length > 30" style="cursor: pointer;margin-bottom: 5px">
{{ res.name.slice(0, 30) + '...' }} {{ ';' }}
</a>
<a v-else style="cursor: pointer">
{{ res.name }} {{ ';' }}
</a>
</div>
</span>
</div>
</div>
</el-card>
</el-card>
</el-col>
</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>
</template>
<script>
import { meetingByMonth } from '@/api/unqualProcess.js'
import { updateMeet, upFile} from '@/api/process.js'
export default {
name: "calendar",
@@ -114,6 +317,36 @@ export default {
value: new Date(),
//
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() {
@@ -121,10 +354,10 @@ export default {
let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1;
let dd = new Date().getDate();
if (mm<10) {
if (mm < 10) {
mm = this.padding0(mm, 2)
}
if (dd<10) {
if (dd < 10) {
dd = this.padding0(dd, 2)
}
this.nowDate = yy + '-' + mm + '-' + dd
@@ -177,8 +410,8 @@ export default {
this.resDate = res
this.dealMyDate()
this.todayData = []
this.resDate.forEach(item=>{
if (item.date.slice(0,10) === this.nowDate) {
this.resDate.forEach(item => {
if (item.date.slice(0, 10) === this.nowDate) {
this.todayData.push(item)
}
})
@@ -210,11 +443,11 @@ export default {
let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1;
let dd = new Date().getDate();
if (mm<10) {
if (mm < 10) {
mm = this.padding0(mm, 2)
}
this.formData.month = mm + '月'
if (dd<10) {
if (dd < 10) {
dd = this.padding0(dd, 2)
}
this.formData.year = yy + '年'
@@ -225,14 +458,25 @@ export default {
* 并在日历上显示出标记*/
dealMyDate(v) {
let len = this.resDate.length
let res = ''
let res = []
for (let i = 0; i < len; i++) {
if (this.resDate[i].date.slice(0, 10) === v) {
res = this.resDate[i].attend
break
res = res.concat(this.resDate[i].attend)
}
}
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() {
@@ -277,7 +521,302 @@ export default {
if (attId != null && 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>
@@ -287,6 +826,20 @@ export default {
@import '~@/assets/styles/style';
.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 {
.item {
/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;
}
/deep/ .el-calendar__header {
display: none;
}
@@ -334,37 +888,43 @@ export default {
}
/deep/ .el-card__body {
padding: 10px;
padding: 5px 0px 10px 10px;
}
.card_info_empty {
margin-top: 50px;
}
.card_info {
height: 190px;
margin-top: 10px;
.content_text {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
word-break: break-all;
line-height: normal;
margin-top: 10px;
font-size: 5px;
}
.content_style {
height: 150px;
overflow-y: auto;
width: 100%;
.content_text2 {
text-overflow: ellipsis;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 4;
line-clamp: 4;
-webkit-box-orient: vertical;
line-height: normal;
margin-top: 10px;
font-size: 5px;
.content_text {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
word-break: break-all;
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
if (hasHomeMenu) {
this.setMenu(JSON.stringify(menuList)).then(res => {
if (this.showIETips) {//IE
alert('检测到您使用的是IE浏览器,已经和时代脱轨了!建议您更换为谷歌浏览器')
}
this.$router.push('/home2')
}, e => {
this.$message.warning('未获取到菜单')
+4 -2
View File
@@ -82,6 +82,10 @@
let routerParam = localStorage.getItem("routerParam");
//
if(routerParam && routerParam != ''){
const UA = navigator.userAgent.toLocaleLowerCase()
if (UA.match(/msie/) != null || UA.match(/trident/) != null) {
alert('检测到您使用的是IE浏览器,已经和时代脱轨了!建议您更换为谷歌浏览器')
}
const param = routerParam.split("&");
this.$router.push({
name: routerUrl,
@@ -96,8 +100,6 @@
}else {
this.$router.push('/'+routerUrl)
}
}, e => {
this.$message.warning('未获取到菜单')
})
@@ -87,7 +87,7 @@ export default {
pubOrgName: '',
content: '',
linkUri: '',
uploadPath: 'uploadPath',
uploadPath: 'file',
resPk: '',
fileList: [],
picList: [],
@@ -194,7 +194,7 @@ export default {
loading: 'loading'
}, res => {
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"
size="small"
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>
<!-- <el-button-->
<!-- type="primary"-->
@@ -253,6 +273,16 @@ export default {
showEdit: {
type: Boolean,
default: false
},
//
uploadFile: {
type: Boolean,
default: false
},
//
uploadedFile: {
type: Boolean,
default: false
},
// (线)
standNo: {
@@ -318,6 +348,15 @@ export default {
handleTransfer(){
this.$emit('transfer')
},
handleOnLineReEdit(){
this.$emit('onLineEdit')
},
handleUploadFile(){
this.$emit('uploadFile')
},
handleUploadedFile(){
this.$emit('uploadedFile')
},
handleSendEmail() {
this.$emit('sendEmail')
},
@@ -2,9 +2,9 @@
<template>
<div class="prc-header-wrap">
<div class="process-header">
<span class="process-title">
<slot name="proName"></slot>
<a>(<slot name="proNode"></slot>)</a>
<span class="process-title van-ellipsis" :title="proName + '(' + proNode + ')'">
<span>{{ proName }}</span>
<span class="smallText">( {{ proNode }})</span>
</span>
</div>
<el-divider></el-divider>
@@ -27,7 +27,9 @@
return {
activeName: '',
opacityStyle: {},
headerFixed: false
headerFixed: false,
proName: '',
proNode: '',
}
},
methods: {
@@ -53,6 +55,8 @@
},
watch: {},
mounted () {
this.proName = this.$slots.proName[0].text
this.proNode = this.$slots.proNode[0].text
}
}
</script>
@@ -65,15 +69,17 @@
.process-header {
position: relative;
padding-top: 10px;
width: 100%;
}
.process-title {
width: 100%;
margin-left: 10px;
font-size: 18px;
font-weight: bold;
display: inline-block;
height: 30px;
line-height: 30px;
a {
.smallText {
font-size: 14px;
margin-left: 5px;
cursor: default;
@@ -22,9 +22,13 @@ export default {
value: "laws1"
},
{
label: "企标制修订流程及企业标准库流程",
label: "企标制修订-技术标准",
value: "buss1"
},
{
label: "企标制修订-产品标准",
value: "buss2"
},
{
label: "标准征求意见流程",
value: "3"
@@ -24,7 +24,7 @@
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<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-input
v-model="form.title"
@@ -46,14 +46,14 @@
v-model="form.modelNameList"
clearable
></el-input>
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" :key="index" style="margin-right: 5px;">
<div class="fileClass" @click="handlePreview(item)" style="display: flex; align-items: center;">
{{ item.name }}
<div class="fileClass" >
<span @click="handlePreview(item)">{{ item.name }}</span>
<el-button
size="small"
@click="clickButtonToUpload(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -74,14 +74,14 @@
v-model="form.fjNameList"
clearable
></el-input>
<div v-if="form.fjList.length > 0" style="display: flex;">
<div v-if="form.fjList.length > 0">
<div v-for="(item, index) in form.fjList" :key="index" style="margin-right: 5px;">
<div class="fileClass" @click="handlePreview(item)" style="display: flex; align-items: center;">
{{ item.name }}
<div class="fileClass" >
<span @click="handlePreview(item)">{{ item.name }}</span>
<el-button
size="small"
@click="clickButtonToUpload(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -144,7 +144,7 @@
<h4>责任部门对接人</h4>
<div style="margin-top: 10px;width: 300px;">
<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>
</div>
</el-form-item>
@@ -164,10 +164,10 @@
<el-timeline-item timestamp="审定" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>技术管理中心主任</h4>
<h4>技术委员会相关专委会主任/研究总院职能部门领导技术管理中心主任</h4>
<div style="margin-top: 10px;width: 300px;">
<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>
</el-form-item>
</el-card>
@@ -175,10 +175,10 @@
<el-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="presidentUserName" style="margin-bottom: 0">
<h4>工程研究总院院长</h4>
<h4>工程研究总院院长或标准法规主管副院长</h4>
<div style="margin-top: 10px;width: 300px;">
<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>
</el-form-item>
</el-card>
@@ -196,7 +196,7 @@
>
</ProcessFooter>
<Role-tree
is-title="选择责任部门对接人"
:is-title="drawerTitle2"
:is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
@@ -236,7 +236,7 @@
:action="fileUrl"
ref="importfile"
name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile"
:on-success="importFileSuccess2"
:on-remove="importFileRemove2"
@@ -255,12 +255,14 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { saveTaskFirst, queryTaskFirst, getBusStandFileByAttId } from 'api/process'
import { saveTaskFirst, queryTaskFirst,taskDel } from 'api/process'
export default {
name: "bzdyStep1-1",
data() {
return {
drawerTitle2: '',
type2: '',
foldFormFlag: false,
fileMadel2: false,
nodeList: [],
@@ -290,9 +292,9 @@
date: [
{ type: 'date', required: true, message: '请选择完成时间', trigger: 'change' }
],
modelNameList: [
{ required: true, message: '请上传调研结果', trigger: 'change' },
]
// modelNameList: [
// { required: true, message: '', trigger: 'change' },
// ]
},
roleForm: {
startUserName: this.$store.getters.userInfo.userName,
@@ -341,41 +343,9 @@
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) {
const attId = file.attId
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
this.$preview(attId)
},
foldForm() {
this.foldFormFlag = !this.foldFormFlag
@@ -402,8 +372,13 @@
idList += item.id
nameList += item.name
})
this.roleForm.dockUserList = idList
this.roleForm.dockUserName = nameList
if (this.type2 === '1') {
this.roleForm.dockUserList = idList
this.roleForm.dockUserName = nameList
} else {
this.roleForm.directorUser = idList
this.roleForm.directorUserName = nameList
}
},
checkedRole (data) {
if (this.type === 'dockUser') {
@@ -421,9 +396,18 @@
}
},
choiceZRRS () {
this.type2 = type
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
if (type === '1') {
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
},
@@ -442,7 +426,7 @@
var fileSuffix = filename.substring(index1, index2)
// 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
} else {
this.spinShow = false
@@ -562,7 +546,7 @@
this.$refs['Form'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.$http.get('lawss/activiti/startProcess', {
this.$http.post('lawss/activiti/startProcessRollBack', {
type: '2'
}, {}, res => {
if (res.ok) {
@@ -575,6 +559,12 @@
}, {}, res => {
if (res.success) {
this.$message.success('流程发起成功')
let taskId = {
id: this.$route.query.bpnId
}
taskDel(taskId).then(res=>{
return res
})
this.$router.push('/processCenter')
}
this.isSubmit = false
@@ -127,31 +127,28 @@
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">
prop="createTime"
label="创建时间"
align="center">
<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>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
prop="endTime"
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -35,6 +35,7 @@
<el-form-item label="完成时间" prop="date" class="add-form-item form-item-disabled">
<el-date-picker
v-model="form.date"
:picker-options="pickerOptions"
type="date"
placeholder="请选择完成时间">
</el-date-picker>
@@ -46,14 +47,14 @@
v-model="form.modelNameList"
clearable
></el-input>
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" :key="index" style="margin-right: 5px;">
<div class="fileClass" @click="handlePreview(item)" style="display: flex; align-items: center;">
{{ item.name }}
<div class="fileClass" >
<span @click="handlePreview(item)">{{ item.name }}</span>
<el-button
size="small"
@click="clickButtonToUpload(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -74,14 +75,14 @@
v-model="form.fjNameList"
clearable
></el-input>
<div v-if="form.fjList.length > 0" style="display: flex;">
<div v-if="form.fjList.length > 0">
<div v-for="(item, index) in form.fjList" :key="index" style="margin-right: 5px;">
<div class="fileClass" @click="handlePreview(item)" style="display: flex; align-items: center;">
{{ item.name }}
<div class="fileClass" >
<span @click="handlePreview(item)">{{ item.name }}</span>
<el-button
size="small"
@click="clickButtonToUpload(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -144,7 +145,7 @@
<h4>责任部门对接人</h4>
<div style="margin-top: 10px;width: 300px;">
<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>
</div>
</el-form-item>
@@ -164,10 +165,11 @@
<el-timeline-item timestamp="审定" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>技术管理中心主任</h4>
<h4>技术委员会相关专委会主任/研究总院职能部门领导技术管理中心主任 </h4>
<div style="margin-top: 10px;width: 300px;">
<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>
</el-form-item>
</el-card>
@@ -175,10 +177,10 @@
<el-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="presidentUserName" style="margin-bottom: 0">
<h4>工程研究总院院长</h4>
<h4>工程研究总院院长或标准法规主管副院长</h4>
<div style="margin-top: 10px;width: 300px;">
<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>
</el-form-item>
</el-card>
@@ -197,7 +199,7 @@
>
</ProcessFooter>
<Role-tree
is-title="选择责任部门对接人"
:is-title="drawerTitle2"
:is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
@@ -237,7 +239,7 @@
:action="fileUrl"
ref="importfile"
name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile"
:on-success="importFileSuccess2"
:on-remove="importFileRemove2"
@@ -257,12 +259,19 @@ import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { saveTaskFirst } from 'api/process'
import { getBusStandFileByAttId } from 'api/process'
import { taskDel } from 'api/process'
export default {
name: "bzdyStep1",
data() {
return {
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;//-8.64e7
}
},
drawerTitle2: '',
type2: '',
bpnId: '',
foldFormFlag: false,
fileMadel2: false,
commentText: '',
@@ -344,41 +353,9 @@ export default {
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) {
const attId = file.attId
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
this.$preview(attId)
},
foldForm() {
this.foldFormFlag = !this.foldFormFlag
@@ -394,8 +371,13 @@ export default {
idList += item.id
nameList += item.name
})
this.roleForm.dockUserList = idList
this.roleForm.dockUserName = nameList
if (this.type2 === '1') {
this.roleForm.dockUserList = idList
this.roleForm.dockUserName = nameList
} else {
this.roleForm.directorUser = idList
this.roleForm.directorUserName = nameList
}
},
checkedRole (data) {
if (this.type === 'dockUser') {
@@ -412,14 +394,23 @@ export default {
this.roleForm.presidentUserName = data[0].name
}
},
choiceZRRS () {
choiceZRRS (type) {
this.type2 = type
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
if (type === '1') {
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
},
choiceZRR (type, title, id) {
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
@@ -434,10 +425,10 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// 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
} else {
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false
}
//
@@ -558,8 +549,16 @@ export default {
this.$refs['Form'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.$http.get('lawss/activiti/startProcess', {
type: '2'
this.$http.post('lawss/activiti/startProcessRollBack', {
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 => {
if (res.ok) {
var json = Object.assign(this.form, this.roleForm)
@@ -571,6 +570,14 @@ export default {
}, {}, res => {
if (res.success) {
this.$message.success('流程发起成功')
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push('/processCenter')
}
this.isSubmit = false
@@ -590,7 +597,9 @@ export default {
})
}
},
mounted () {},
mounted () {
this.bpnId = this.$route.query.bpnId
},
}
</script>
@@ -42,13 +42,13 @@
</el-date-picker>
</el-form-item>
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -58,13 +58,13 @@
</div>
</el-form-item>
<el-form-item label="相关附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.fjList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<div v-if="form.fjList.length > 0">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -117,23 +117,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -141,7 +138,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -236,41 +233,9 @@
ProcessTitle
},
methods: {
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
clickButtonToUpload(file) {
const attId = file.attId
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
this.$preview(attId)
},
handleTransfer() {
this.drawerModal = true
@@ -393,10 +358,8 @@
this.form.title = data.title || data.form.title
this.form.date = data.date || data.form.date
this.json = data || data.form
// this.form.model = data.model || data.form.model
// this.form.modelName = data.modelName || data.form.modelName
this.form.responUserList = data.form.responUserList
this.form.responUserListName = data.form.responUserListName
this.form.responUserList = data.form? data.form.responUserList : ''
this.form.responUserListName = data.form? data.form.responUserListName : ''
}).catch(e => {
})
})
@@ -42,13 +42,13 @@
</el-date-picker>
</el-form-item>
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
@click="updateFile2(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -58,13 +58,13 @@
</div>
</el-form-item>
<el-form-item label="相关附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.fjList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<div v-if="form.fjList.length > 0">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
@click="updateFile2(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -97,20 +97,18 @@
<el-button
size="small"
@click="updateFile(form)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
<div v-else>
<el-button
type="primary"
:disabled="acceptShow"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
</div>
<el-button
type="primary"
:disabled="acceptShow"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
</el-form-item>
<el-form-item label="回执说明" prop="dyhz" class="add-form-item form-item-disabled">
<el-input
@@ -129,19 +127,19 @@
</div>
</el-form>
</div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
<!-- <el-collapse accordion>-->
<!-- <el-collapse-item title="回执说明">-->
<!-- <div style="margin: 10px 0;">-->
<!-- <el-input-->
<!-- type="textarea"-->
<!-- :rows="3"-->
<!-- resize="none"-->
<!-- placeholder="请输入意见"-->
<!-- v-model="commentText">-->
<!-- </el-input>-->
<!-- </div>-->
<!-- </el-collapse-item>-->
<!-- </el-collapse>-->
</div>
<div class="content" v-show="active === '2'">
<el-table
@@ -157,23 +155,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -181,7 +176,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -230,10 +225,10 @@
:action="fileUrl"
ref="importfile"
name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile"
:on-success="importFileSuccess"
:show-file-list="true"
:show-file-list="false"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
@@ -248,7 +243,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
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";
export default {
@@ -297,62 +292,13 @@
ProcessTitle
},
methods: {
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
clickButtonToUpload2(file) {
const attId = file
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
this.$preview(attId)
},
clickButtonToUpload(file) {
const attId = file.attId
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
this.$preview(attId)
},
handleTransfer() {
this.drawerModal = true
@@ -400,6 +346,10 @@
updateFile (item) {
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) {
var filename = file.name
@@ -408,11 +358,11 @@
var fileSuffix = filename.substring(index1, index2)
// 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
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false
}
//
@@ -450,7 +400,7 @@
_formData.append('taskIds', this.taskIds)
_formData.append('json', JSON.stringify({
form: this.form,
commentText: this.commentText,
// commentText: this.commentText,
}))
saveTaskForPub(_formData).then(res => {
this.saveLoading = false
@@ -478,7 +428,7 @@
this.json.dyhz = this.form.dyhz
this.isSubmit = true
var json = this.json
json.commentText = this.commentText
// json.commentText = this.commentText
json.fileId = this.form.fileId
json.fileName = this.form.fileName
this.$http.post('lawss/activiti/completeTask', {
@@ -520,9 +470,9 @@
this.form.modelList = data.modelList || data.form.modelList
this.form.responUserList = data.form.responUserList
this.form.responUserListName = data.form.responUserListName
this.form.fileName = data.form.fileName || data.fileName || ''
this.form.fileId = data.form.fileId || data.fileId || ''
this.form.dyhz = data.form.dyhz || data.dyhz || ''
this.form.fileName = data.form? data.form.fileName : ''
this.form.fileId = data.form ? data.form.fileId : ''
this.form.dyhz = data.form ? data.form.dyhz : ''
}).catch(e => {
})
})
@@ -42,13 +42,13 @@
</el-date-picker>
</el-form-item>
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
@click="updateFile2(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -58,13 +58,13 @@
</div>
</el-form-item>
<el-form-item label="相关附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.fjList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;" @click="clickButtonToUpload(item)">
{{ item.name }}
<div v-if="form.fjList.length > 0">
<div v-for="(item, index) in form.fjList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="clickButtonToUpload(item)">{{ item.name }}</span>
<el-button
size="small"
@click="updateFile(item)"
icon="el-icon-upload"
@click="updateFile2(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -95,14 +95,14 @@
<el-col :span="12">
<el-form-item label="调研结果" prop="fileName" class="add-form-item form-item-disabled">
<div v-if="form.file" class="fileClass">
<div style="display: flex;">
<div style="display: flex;align-items: center;">
<div @click="clickButtonToUpload2(form.fileId)">
{{ form.fileName }}
</div>
<el-button
size="small"
@click="updateFile(form.fileId)"
icon="el-icon-upload"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
@@ -155,23 +155,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -179,7 +176,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -227,7 +224,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
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";
export default {
@@ -271,62 +268,13 @@
ProcessTitle
},
methods: {
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
clickButtonToUpload2(file) {
const attId = file
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
this.$preview(attId)
},
clickButtonToUpload(file) {
const attId = file.attId
this.getBusStandFileByAttId(attId)
.then(res => {
if(res){
const editFileInfo = res
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else if(editFileInfo.fileSuffix === 'pdf' || editFileInfo.fileSuffix === 'PDF'){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
}).catch(e => {
this.$message.warning('文件不存在,预览失败')
})
this.$preview(attId)
},
handleTransfer() {
this.drawerModal = true
@@ -374,6 +322,10 @@
updateFile (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) {
this.active = name
},
@@ -423,14 +375,14 @@
pId: this.pId
}).then(res => {
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.date = data.date || data.form.date
this.json = data || data.form
this.form.file = data.fileId || data.form.fileId
this.form.fileName = data.fileName || data.form.fileName
this.form.fileId = data.fileId || data.form.fileId
this.form.modelList = data.modelList || data.form.modelList
this.form.file = data.form ? data.form.fileId : data.fileId
this.form.fileName = data.form ? data.form.fileName : data.fileName
this.form.fileId = data.form ? data.form.fileId : data.fileId
this.form.modelList = data.form ? data.form.modelList : data.modelList
this.form.fjList = data.fjList || data.form.fjList
}).catch(e => {
})
@@ -42,24 +42,26 @@
</el-date-picker>
</el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<el-input
disabled
style="display: none;"
v-model="form.hzfileId"
clearable
></el-input>
<div v-if="form.hzfileName" @click="fileUpload" class="fileClass">
{{ form.hzfileName }}
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
<div v-if="form.hzfileId" class="fileClass">
<div style="display: flex;align-items: center;">
<div @click="clickButtonToUpload2(form.hzfileId)">
{{ form.hzfileName }}
</div>
<el-button
size="small"
@click="updateFile(form.hzfileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<el-button
type="primary"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
</el-form-item>
</el-col>
</el-row>
@@ -97,9 +99,13 @@
label="回执文件"
align="center">
<template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass">
{{scope.row.fileName}}
</div>
<span @click="clickButtonToUpload2(scope.row.fileId)">{{scope.row.fileName}}</span>
<el-button
size="small"
@click="updateFile(scope.row.fileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</template>
</el-table-column>
@@ -139,23 +145,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -163,7 +166,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -209,7 +212,7 @@
:action="fileUrl"
ref="importfile"
name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile"
:on-success="importFileSuccess"
:show-file-list="true"
@@ -266,6 +269,10 @@
ProcessTitle
},
methods: {
clickButtonToUpload2(file) {
const attId = file
this.$preview(attId)
},
handleTransfer() {
this.drawerModal = true
},
@@ -320,11 +327,11 @@
var fileSuffix = filename.substring(index1, index2)
// 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
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false
}
//
@@ -42,8 +42,14 @@
</el-date-picker>
</el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass">
{{ form.hzfileName }}
<div v-if="form.hzfileName" class="fileClass">
<span @click="clickButtonToUpload2(form.hzfileId)">{{ form.hzfileName }}</span>
<el-button
size="small"
@click="updateFile(form.hzfileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
<div v-else>
- -
@@ -92,8 +98,14 @@
label="文件"
align="center">
<template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass">
{{scope.row.fileName}}
<div class="fileClass">
<span @click="clickButtonToUpload2(scope.row.fileId)">{{scope.row.fileName}}</span>
<el-button
size="small"
@click="updateFile(scope.row.fileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</template>
</el-table-column>
@@ -128,23 +140,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -152,7 +161,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -199,7 +208,7 @@
:action="fileUrl"
ref="importfile"
name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile"
:on-success="importFileSuccess"
:show-file-list="false"
@@ -257,6 +266,10 @@
ProcessTitle
},
methods: {
clickButtonToUpload2(file) {
const attId = file
this.$preview(attId)
},
handleTransfer() {
this.drawerModal = true
},
@@ -311,11 +324,11 @@
var fileSuffix = filename.substring(index1, index2)
// 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
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false
}
//
@@ -42,8 +42,14 @@
</el-date-picker>
</el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass">
{{ form.hzfileName }}
<div v-if="form.hzfileName" class="fileClass">
<span @click="clickButtonToUpload2(form.hzfileId)">{{ form.hzfileName }}</span>
<el-button
size="small"
@click="updateFile(form.hzfileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
<div v-else>
- -
@@ -92,15 +98,21 @@
label="文件"
align="center">
<template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass">
{{scope.row.fileName}}
<div class="fileClass">
<span @click="clickButtonToUpload2(scope.row.fileId)">{{scope.row.fileName}}</span>
<el-button
size="small"
@click="updateFile(scope.row.fileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</template>
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="流程信息">
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
@@ -128,23 +140,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -152,7 +161,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -199,7 +208,7 @@
:action="fileUrl"
ref="importfile"
name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile"
:on-success="importFileSuccess"
:show-file-list="false"
@@ -257,6 +266,10 @@
ProcessTitle
},
methods: {
clickButtonToUpload2(file) {
const attId = file
this.$preview(attId)
},
handleTransfer() {
this.drawerModal = true
},
@@ -311,11 +324,11 @@
var fileSuffix = filename.substring(index1, index2)
// 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
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false
}
//
@@ -42,8 +42,14 @@
</el-date-picker>
</el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass">
{{ form.hzfileName }}
<div v-if="form.hzfileName" class="fileClass">
<span @click="clickButtonToUpload2(form.hzfileId)">{{ form.hzfileName }}</span>
<el-button
size="small"
@click="updateFile(form.hzfileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
<div v-else>
- -
@@ -92,8 +98,14 @@
label="文件"
align="center">
<template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass">
{{scope.row.fileName}}
<div class="fileClass">
<span @click="clickButtonToUpload2(scope.row.fileId)">{{scope.row.fileName}}</span>
<el-button
size="small"
@click="updateFile(scope.row.fileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</template>
</el-table-column>
@@ -128,23 +140,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -152,7 +161,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -199,7 +208,7 @@
:action="fileUrl"
ref="importfile"
name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile"
:on-success="importFileSuccess"
:show-file-list="false"
@@ -257,6 +266,10 @@
ProcessTitle
},
methods: {
clickButtonToUpload2(file) {
const attId = file
this.$preview(attId)
},
handleTransfer() {
this.drawerModal = true
},
@@ -311,11 +324,11 @@
var fileSuffix = filename.substring(index1, index2)
// 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
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false
}
//
@@ -3,7 +3,7 @@
<!-- 标准调研流程-->
<ProcessHeader toggle>
<template slot="proName">标准调研流程</template>
<template slot="proNode">工程研究总院院长审批</template>
<template slot="proNode">工程研究总院院长或标准法规主管副院长审批</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
@@ -42,8 +42,14 @@
</el-date-picker>
</el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass">
{{ form.hzfileName }}
<div v-if="form.hzfileName" class="fileClass">
<span @click="clickButtonToUpload2(form.hzfileId)">{{ form.hzfileName }}</span>
<el-button
size="small"
@click="updateFile(form.hzfileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
<div v-else>
- -
@@ -92,8 +98,14 @@
label="文件"
align="center">
<template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass">
{{scope.row.fileName}}
<div class="fileClass">
<span @click="clickButtonToUpload2(scope.row.fileId)">{{scope.row.fileName}}</span>
<el-button
size="small"
@click="updateFile(scope.row.fileId)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</template>
</el-table-column>
@@ -128,23 +140,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -152,7 +161,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -199,7 +208,7 @@
:action="fileUrl"
ref="importfile"
name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile"
:on-success="importFileSuccess"
:show-file-list="false"
@@ -257,6 +266,10 @@
ProcessTitle
},
methods: {
clickButtonToUpload2(file) {
const attId = file
this.$preview(attId)
},
handleTransfer() {
this.drawerModal = true
},
@@ -311,11 +324,11 @@
var fileSuffix = filename.substring(index1, index2)
// 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
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false
}
//
@@ -20,6 +20,7 @@
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:" prop="comityName">
<el-select
clearable
@change="comityChange"
v-model="rh_pageData.comityName"
placeholder="请选择标委会">
@@ -34,6 +35,7 @@
<el-col :span="8">
<el-form-item class="add-form-item" v-if="rh_pageData.comityName !== ''" prop="comityNameOne">
<el-select
clearable
@change="comityChangeOne"
v-model="rh_pageData.comityNameOne"
placeholder="请选择分标委">
@@ -48,6 +50,7 @@
<el-col :span="8">
<el-form-item class="add-form-item" prop="comityNameTwo" v-if="rh_pageData.comityName !== '' && rh_pageData.comityNameOne !== ''">
<el-select
clearable
v-model="rh_pageData.comityNameTwo"
placeholder="请选择工作组">
<el-option
@@ -63,6 +66,7 @@
<el-col :span="8">
<el-form-item class="add-form-item" label="会员角色:" prop="comityRole">
<el-select
clearable
v-model="rh_pageData.comityRole"
placeholder="请选择会员角色">
<el-option
@@ -76,6 +80,7 @@
<el-col :span="8">
<el-form-item class="add-form-item" label="协会状态:" prop="comityState">
<el-select
clearable
v-model="rh_pageData.comityState"
placeholder="选择协会状态">
<el-option
@@ -89,6 +94,7 @@
<el-col :span="8">
<el-form-item class="add-form-item" label="入会性质:" prop="comityKind">
<el-select
clearable
v-model="rh_pageData.comityKind"
placeholder="请选择入会性质">
<el-option
@@ -101,28 +107,27 @@
</el-col>
</el-row>
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<el-upload
style="width: 30%"
class="upload_style"
:disabled="acceptShow"
multiple
ref="uploadFile"
:action="uploadPath"
name="file"
:file-list="fileTextList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<el-button
type="primary"
class="common-button-primary"
@click="uploadFile"
size="mini">
点击上传
</el-button>
</el-upload>
<div v-if="rh_pageData.infoSources.length>0">
<div v-for="(item, index) in rh_pageData.infoSources" :key="index" style="margin-right: 5px; padding-left: 10px;color: #0c91e5;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0, 30) + '...' }} {{ ';' }}
</a>
<a v-else style="cursor: pointer" @click="fileLook(item)">{{ item.name }}</a>
<el-button
size="mini"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</div>
<el-button
type="primary"
class="common-button-primary"
@click="uploadFile"
size="mini">
点击上传
</el-button>
</el-form-item>
<el-form-item class="add-form-item" label="协会构成:" prop="comityMake">
<el-form
@@ -198,7 +203,8 @@
align="center"
label="联络人">
<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>
</el-table-column>
<el-table-column
@@ -238,7 +244,7 @@
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
v-model="commentInfo">
</el-input>
</div>
</el-collapse-item>
@@ -338,10 +344,10 @@
<el-timeline-item timestamp="审定" placement="top" :color="roleForm.engineerUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="engineerUser" style="margin-bottom: 0">
<h4>技术委员会常务副主任/总院院长</h4>
<h4>业务主管副院长 </h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.engineerUserId" style="display: none;"></el-input>
<el-input v-model="roleForm.engineerUser" placeholder="选择人员" @click.native="choiceZRROne('engineerUser', '选择人员', roleForm.engineerUser)">
<el-input v-model="roleForm.engineerUser" placeholder="选择业务主管副院长 " @click.native="choiceZRROne('engineerUser', '选择业务主管副院长 ', roleForm.engineerUser)">
</el-input>
</div>
</el-form-item>
@@ -349,11 +355,11 @@
</el-timeline-item>
<el-timeline-item timestamp="批准" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="totalLeader" style="margin-bottom: 0">
<h4>总院技术委员会主任</h4>
<el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>院长</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
<el-input v-model="roleForm.startUserName" :disabled="true" placeholder="选择总院技术委员会主任">
<el-input v-model="roleForm.directorUserId" style="display: none;"></el-input>
<el-input v-model="roleForm.directorUserName" placeholder="选择院长" @click.native="choiceZRROne('directorUserId', '选择院长', roleForm.directorUserName)">
</el-input>
</div>
</el-form-item>
@@ -363,6 +369,30 @@
</el-timeline>
</div>
</div>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传附件">
<el-upload
class="upload-demo"
:disabled="acceptShow"
multiple
ref="uploadFile"
:action="uploadPath"
name="file"
drag
:file-list="rh_pageData.infoSources"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
: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
show-save
show-submit
@@ -385,6 +415,13 @@
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
<Role-tree
check-box
is-title="选择联络人"
:is-visible.sync="telShowflag"
:nodeList="nodeListTel"
@checkedRole="drawerCheckTel"
/>
</div>
</template>
@@ -393,9 +430,9 @@ import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {
startProcess, saveTaskFirst,
saveTaskFirst,
completeTask, queryTaskFirst,
taskDel, workGroup
taskDel, workGroup, processBack,upFile
} from '@/api/process.js'
export default {
@@ -408,6 +445,7 @@ export default {
data() {
return {
active: '1', //
fileMadel: false,
rh_pageData: {
comityName: '',
comityNameOne: '',
@@ -438,6 +476,8 @@ export default {
comityOptionsOne: [],
comityOptionsTwo: [],
comityOptionsTree: [],
comityOpRole: '',
comityOpRoleId: '',
},
comityRoleOptions: [
{value: '0', label: '委员'},
@@ -477,7 +517,8 @@ export default {
feeUserId: '',
engineerUser: '',
engineerUserId: '',
directorUserId: '',
directorUserName: '',
},
rh_rules: {},
roleFormRules: {
@@ -485,16 +526,19 @@ export default {
startUserName: [{required: true, message: "请选择标准法规部人员", trigger: ['blur', 'change']}],
leaderUser: [{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,
roleShowflagOne: false,
telShowflag: false,
nodeList: [],
nodeListOne: [],
nodeListTel: [],
isSubmit: false,
saveLoading: false,
commentText: '',
commentInfo: '',
bpnId: ''
}
},
@@ -541,12 +585,13 @@ export default {
}).then(res => {
let mes = JSON.parse(res.mes)
this.rh_pageData = mes.rh_pageData
this.commentInfo = mes.commentInfo
this.roleForm = mes.roleForm
});
},
//
uploadFile(val) {
this.fileListData = val
uploadFile() {
this.fileMadel = true
},
//
handleBeforeUpload(file) {
@@ -556,11 +601,11 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] //
//
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
//
@@ -576,18 +621,32 @@ export default {
//
handleBeforeRemove(file, fileList) {
this.fileData = fileList
this.fileTextList.forEach((item, index) => {
this.rh_pageData.infoSources.forEach((item, index) => {
if (item.name === file.name || item.id === file.id) {
this.fileTextList.splice(index, 1)
this.rh_pageData.infoSources.splice(index, 1)
}
})
},
/** 覆盖默认的上传行为,实现多个文件一起上传 */
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) {
if (res.ok) {
if (this.fileTextList !== null) {
this.newDataList = this.fileTextList
if (this.rh_pageData.infoSources !== null) {
this.newDataList = this.rh_pageData.infoSources
this.newDataList.push({
id: res.data.attId,
name: res.data.name
@@ -598,7 +657,6 @@ export default {
name: res.data.name
})
}
this.fileListData.fileText = this.newDataList
this.rh_pageData.infoSources = this.newDataList
this.$message({
showClose: true,
@@ -608,6 +666,18 @@ export default {
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
},
//
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) {
this.nodeList = []
@@ -677,8 +762,8 @@ export default {
} else {
this.roleForm.dockUser = idList
this.roleForm.dockUserName = nameList
this.rh_pageData.comityInRole = nameList
this.rh_pageData.comityInRoleId = idList
// this.rh_pageData.comityInRole = nameList
// this.rh_pageData.comityInRoleId = idList
}
this.roleShowflag = false
},
@@ -699,9 +784,12 @@ export default {
if (this.type === 'leaderUser') {
this.roleForm.leaderUser = data[0].name
this.roleForm.leaderUserId = data[0].id
} else {
} else if (this.type === 'engineerUser') {
this.roleForm.engineerUser = data[0].name
this.roleForm.engineerUserId = data[0].id
}else {
this.roleForm.directorUserName = data[0].name
this.roleForm.directorUserId = data[0].id
}
this.roleShowflagOne = false
},
@@ -717,7 +805,7 @@ export default {
_formData.append('json', JSON.stringify({
roleForm: this.roleForm,
rh_pageData: this.rh_pageData,
commentText: this.commentText
commentInfo: this.commentInfo
}))
saveTaskFirst(_formData).then(res => {
this.saveLoading = false
@@ -734,18 +822,22 @@ export default {
prcCreateUserName: this.$store.getters.userInfo.userName,
roleList: this.roleForm,
rh_pageData: this.rh_pageData,
commentText: this.commentText,
directorList: this.rh_pageData.comityInRoleId,
commentText: this.commentInfo,
roleForm: this.roleForm,
directorList: this.roleForm.dockUser,
}
this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.$refs['roleForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
const paramsInfo = {
type: '20'
}
startProcess(paramsInfo).then(res => {
let paramsInfo = new FormData()
// paramsInfo.append('id', this.bpnId || '')
paramsInfo.append('createUser', this.$store.getters.userInfo.userId)
paramsInfo.append('createUserName', this.$store.getters.userInfo.userName)
paramsInfo.append('type', '20')
paramsInfo.append('json', JSON.stringify({json}))
processBack(paramsInfo).then(res => {
this.taskID = res.data
const params = new FormData();
params.set('json', JSON.stringify(json))
@@ -878,6 +970,9 @@ export default {
text-align: right;
}
/deep/.el-form-item__content{
margin-top: 3px;
}
/deep/ .el-table th {
padding: 0px;
}
@@ -2,7 +2,7 @@
<div class="bzrhStep2">
<ProcessHeader toggle>
<template slot="proName">外部标准化协会入会流程</template>
<template slot="proNode">选择人员确认</template>
<template slot="proNode">提名入会代表</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
@@ -72,12 +72,20 @@
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -104,9 +112,11 @@
<template slot="title">选择人员</template>
</ProcessTitle>
<el-form-item class="add-form-item" label="入会人员:">
<el-input v-model="rh_pageData.comityOpRoleId" style="display: none;"></el-input>
<el-input
:disabled="true"
style="width: 30%"
placeholder="请选择入会成员"
style="width: 50%"
@click.native="choiceRole(rh_pageData.comityOpRoleId)"
v-model="rh_pageData.comityOpRole"
/>
</el-form-item>
@@ -163,7 +173,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -171,7 +181,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -204,6 +214,13 @@
@submit="handleSubmit"
>
</ProcessFooter>
<Role-tree
is-title="选择入会人员"
:is-visible.sync="roleShowflag"
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
</div>
</template>
@@ -214,9 +231,6 @@ import ProcessTitle from "../../components/ProcessTitle";
import {
completeTask,
inboundLiaisonDetail,
startProcess,
saveinboundTask,
saveTaskForPub,
} from "@/api/process.js"
export default {
@@ -248,7 +262,7 @@ export default {
workPath: '',
comityTel: [],
comityOpRole: '',
comityInRoleId: '',
comityOpRoleId: '',
},
roleForm: {},
commentText: '',
@@ -278,9 +292,6 @@ export default {
this.getData()
},
methods: {
phoneClick () {
this.$router.push('/phoneBzrhStep2')
},
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
@@ -308,7 +319,6 @@ export default {
getFormFieldList(item) {
this.$nextTick(() => {
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.infoSourcesLength = this.rh_pageData.infoSources.length
// this.rh_pageData.comityFileNum = this.fileTextList
@@ -318,7 +328,11 @@ export default {
handleTabs(name) {
this.active = name
},
//
fileLook(file) { //
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -326,6 +340,30 @@ export default {
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() {
if (this.commentText === '') {
@@ -72,12 +72,20 @@
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -184,7 +192,8 @@
:action="uploadPath"
name="file"
: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-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
@@ -210,7 +219,7 @@
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
v-model="commentStep3">
</el-input>
</div>
</el-collapse-item>
@@ -252,7 +261,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -260,7 +269,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -309,8 +318,8 @@ import ProcessTitle from "../../components/ProcessTitle";
import {
completeTask,
inboundLiaisonDetail,
saveinboundTask,
saveTaskForPub,
upFile
} from "@/api/process.js"
export default {
@@ -370,7 +379,7 @@ export default {
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
commentText: '',
commentStep3: '',
infoSourcesLength: '',
/** 上传相关 */
@@ -422,10 +431,11 @@ export default {
this.rh_pageData.fillDept = this.$store.getters.userInfo.institutionName
this.rh_pageData.fillUnit = this.$store.getters.userInfo.upDeptName
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) {
this.fillFileList = this.rh_pageData.fillFile
}
this.commentStep3 = JSON.parse(JSON.stringify(item)).commentStep3
this.rh_pageData.fillPeopleId = this.$store.getters.userInfo.userId
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.infoSourcesLength = this.rh_pageData.infoSources.length
@@ -462,6 +472,7 @@ export default {
selfUser: this.$store.getters.userInfo.userId,
charge: this.rh_pageData.fillLeaderId,
rh_pageData: this.rh_pageData,
commentStep3: this.commentStep3
}))
saveTaskForPub(_formData).then(res => {
this.saveLoading = false
@@ -477,7 +488,7 @@ export default {
roleList: this.roleForm,
selfUser: this.$store.getters.userInfo.userId,
charge: this.rh_pageData.fillLeaderId,
commentText: this.commentText,
commentText: this.commentStep3,
rh_pageData: this.rh_pageData,
}
this.$refs['rh_pageData'].validate((valid) => {
@@ -506,11 +517,11 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] //
//
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
//
@@ -533,6 +544,21 @@ export default {
})
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) {
if (res.ok) {
@@ -557,6 +583,11 @@ export default {
this.fileMadel = false
}
},
//
fileLook(file) { //
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -72,12 +72,20 @@
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -178,7 +186,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -186,7 +194,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -229,9 +237,6 @@ import ProcessTitle from "../../components/ProcessTitle";
import {
completeTask,
inboundLiaisonDetail,
saveinboundTask,
saveTaskForPub,
changeAssigneeNew
} from "@/api/process.js"
export default {
@@ -300,9 +305,6 @@ export default {
this.getData()
},
methods: {
phoneClick () {
this.$router.push('/phoneBzrhStep4')
},
//
handleTabs(name) {
this.active = name
@@ -409,6 +411,11 @@ export default {
}
})
},
//
fileLook(file) { //
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -22,7 +22,7 @@
v-for="item in rh_pageData.comityOptionsOne"
:key="item.id"
v-if="item.id === rh_pageData.comityName">
{{ item.name || '-'}}
{{ item.name || '-' }}
</span>
</el-form-item>
</el-col>
@@ -72,12 +72,20 @@
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
<div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0, 30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -130,11 +138,16 @@
</el-form-item>
<el-form-item class="add-form-item" label="我司参与人员:" style="margin-top: 10px">
<div class="myPart_btn">
<el-button
type="primary"
size="small"
@click="add_partForm">
新增
</el-button>
<el-button
type="danger"
size="small"
icon="el-icon-delete"
@click="del_paryForm">
@click="del_partForm">
批量删除
</el-button>
</div>
@@ -148,18 +161,51 @@
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" width="55"/>
<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="资料">
<el-table-column prop="fillPeople" align="center" label="参与人">
<template slot-scope="scope">
<span v-if="scope.row.fillFile.length === 0">{{ '-' }}</span>
<span v-for="item in scope.row.fillFile" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';' }}
</span>
{{ 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="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>
</el-table-column>
</el-table>
@@ -175,7 +221,7 @@
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
v-model="commentStep5">
</el-input>
</div>
</el-collapse-item>
@@ -217,7 +263,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -225,7 +271,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -248,6 +294,89 @@
<loading :loading="loading">流程列表加载中</loading>
</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
show-submit
show-save
@@ -257,6 +386,13 @@
@submit="handleSubmit"
>
</ProcessFooter>
<Role-tree
check-box
is-title="选择入会人员"
:is-visible.sync="roleShowflag"
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
</div>
</template>
@@ -267,9 +403,7 @@ import ProcessTitle from "../../components/ProcessTitle";
import {
completeTask,
inboundLiaisonDetail,
saveinboundTask,
saveTaskForPub,
changeAssigneeNew
saveTaskForPub,upFile
} from "@/api/process.js"
export default {
@@ -324,7 +458,27 @@ export default {
deleteDataList: [],
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: {
@@ -369,12 +523,165 @@ export default {
this.$nextTick(() => {
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.commentStep5 = JSON.parse(JSON.stringify(item)).commentStep5
this.infoSourcesLength = this.rh_pageData.infoSources.length
// 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) {
this.$message.warning("请选择一条数据进行删除");
} else {
@@ -412,7 +719,7 @@ export default {
_formData.append('json', JSON.stringify({
rh_pageData: this.rh_pageData,
roleList: this.roleForm,
commentText: this.commentText
commentStep5: this.commentStep5
}))
saveTaskForPub(_formData).then(res => {
this.saveLoading = false
@@ -428,7 +735,7 @@ export default {
leader: this.roleForm.leaderUserId,
rh_pageData: this.rh_pageData,
roleList: this.roleForm,
commentText: this.commentText
commentText: this.commentStep5
}
this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
@@ -448,6 +755,11 @@ export default {
})
},
//
fileLook(file) { //
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/
previews(val) {
@@ -72,12 +72,12 @@
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -180,7 +180,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -188,7 +188,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -75,12 +75,20 @@
<el-col :span="24">
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -183,7 +191,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -191,7 +199,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -239,9 +247,6 @@ import ProcessTitle from "../../components/ProcessTitle";
import {
completeTask,
inboundLiaisonDetail,
saveinboundTask,
saveTaskForPub,
changeAssigneeNew
} from "@/api/process.js"
export default {
@@ -311,11 +316,6 @@ export default {
this.getData()
},
methods: {
phoneClick () {
if (this.taskInfo !== '标准法规工程师汇总修订完毕') {
this.$router.push('/phoneBzrhStep6')
}
},
//
handleTabs(name) {
this.active = name
@@ -356,6 +356,11 @@ export default {
// this.rh_pageData.comityFileNum = this.fileTextList
})
},
//
fileLook(file) { //
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -422,7 +427,7 @@ export default {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
json.engineerSumDone = this.roleForm.directorUserId
} else {
json = {
rh_pageData: this.rh_pageData,
@@ -127,7 +127,8 @@
ref="uploadOtherFile"
name="file"
: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-remove="beforeRemoveOther"
:on-success="onsuccessOther"
@@ -202,7 +203,8 @@
:action="actionPath"
name="file"
: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-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
@@ -223,7 +225,8 @@
:action="actionPath"
name="file"
: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-remove="beforeRemoveTheme"
:on-success="onsuccessTheme"
@@ -239,7 +242,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
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 {
components: {
@@ -386,6 +389,21 @@ export default {
this.reData = this.fileListData.material
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) {
@@ -420,11 +438,11 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] //
//
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
//
@@ -460,6 +478,21 @@ export default {
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) {
if (res.ok) {
@@ -493,11 +526,11 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] //
//
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
//
@@ -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) {
if (res.ok) {
@@ -553,11 +602,11 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] //
//
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
//
@@ -603,15 +652,16 @@ export default {
handleSave() {
this.saveLoading = true
let _formData = new FormData()
_formData.append('id', this.bpnId || '')
_formData.append('createUser', this.$store.getters.userInfo.userId)
_formData.append('createUserName', this.$store.getters.userInfo.userName)
_formData.append('prcType', '22')
// _formData.append('id', this.bpnId || '')
// _formData.append('createUser', this.$store.getters.userInfo.userId)
// _formData.append('createUserName', this.$store.getters.userInfo.userName)
// _formData.append('prcType', '22')
_formData.append('taskIds', this.taskIds)
_formData.append('json', JSON.stringify({
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.$message.success('保存成功')
this.bpnId = res.result
@@ -166,7 +166,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -174,7 +174,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -289,9 +289,6 @@ export default {
this.getData()
},
methods: {
phoneClick () {
this.$router.push('/phoneBzhhStep2')
},
//
handleTabs(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-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="会议名称:">
<el-form-item class="add-form-item" label="会议名称:" prop="meetingName">
<el-input
v-model="ch_pageData.meetingName"
placeholder="请填写"/>
</el-form-item>
</el-col>
<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-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
<el-form-item class="add-form-item" label="协会名称:" prop="associaName">
<el-select
clearable
@change="comityChange"
v-model="ch_pageData.associaName"
placeholder="请选择标委会">
@@ -48,6 +49,7 @@
<el-col :span="8" v-if="ch_pageData.associaName !== ''">
<el-form-item class="add-form-item">
<el-select
clearable
@change="comityChangeOne"
v-model="ch_pageData.associaNameOne"
placeholder="请选择分标委">
@@ -62,6 +64,7 @@
<el-col :span="8" v-if="ch_pageData.associaName !== '' && ch_pageData.associaNameOne !== ''">
<el-form-item class="add-form-item">
<el-select
clearable
v-model="ch_pageData.associaNameTwo"
placeholder="请选择工作组">
<el-option
@@ -75,10 +78,11 @@
</el-row>
<el-row :gutter="24">
<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
v-model="ch_pageData.meetingStartTime"
type="date"
type="datetime"
:picker-options="datePicker"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期时间"
align="right">
@@ -86,7 +90,7 @@
</el-form-item>
</el-col>
<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-form-item>
</el-col>
@@ -100,43 +104,34 @@
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
<el-input v-model="ch_pageData.feeKind" placeholder="请输入费用列支"></el-input>
<!-- <el-select
v-model="ch_pageData.feeKind"
placeholder="请选择费用列支">
<el-option
v-for="item in feeKindOptions"
:key="item.value"
:label="item.label"
:value="item.label"/>
</el-select>-->
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-row>
<el-col :span="24">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<el-upload
style="width: 70%"
class="upload_style"
:disabled="acceptShow"
multiple
ref="uploadFile"
:action="uploadPath"
name="file"
:file-list="ch_pageData.fileTextList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<div v-if="ch_pageData.fileTextList.length>0">
<div v-for="(item, index) in ch_pageData.fileTextList" :key="index" style="margin-right: 5px; padding-left: 10px;color: #0c91e5;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else style="cursor: pointer" @click="fileLook(item)">{{ item.name }}</a>
<el-button
:disabled="acceptShow"
type="primary"
class="common-button-primary"
size="mini">
点击上传
</el-button>
</el-upload>
size="mini"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</div>
<el-button
@click="fileUpload"
:disabled="acceptShow"
type="primary"
class="common-button-primary"
size="mini">
点击上传
</el-button>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -181,7 +176,7 @@
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
v-model="commentStep1">
</el-input>
</div>
</el-collapse-item>
@@ -269,7 +264,7 @@
<el-timeline-item timestamp="会签" placement="top" :color="roleForm.feeUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="feeUser" style="margin-bottom: 0">
<h4>管理推</h4>
<h4>管理推</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.feeUserId" style="display: none;"></el-input>
<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-card>
<el-form-item prop="engineerUser" style="margin-bottom: 0">
<h4>技术委员会常务副主任/总院院长</h4>
<h4>业务主管副院长</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.engineerUserId" style="display: none;"></el-input>
<el-input v-model="roleForm.engineerUser" placeholder="选择人员" @click.native="choiceZRROne('engineerUser', '选择人员', roleForm.engineerUser)">
<el-input v-model="roleForm.engineerUser" placeholder="选择业务主管副院长" @click.native="choiceZRROne('engineerUser', '选择业务主管副院长', roleForm.engineerUser)">
</el-input>
</div>
</el-form-item>
@@ -292,11 +287,11 @@
</el-timeline-item>
<el-timeline-item timestamp="批准" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="totalLeader" style="margin-bottom: 0">
<h4>技术委员会主任</h4>
<el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>院长</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
<el-input v-model="roleForm.startUserName" :disabled="true" placeholder="选择总院技术委员会主任">
<el-input v-model="roleForm.directorUserId" style="display: none;"></el-input>
<el-input v-model="roleForm.directorUserName" placeholder="选择院长" @click.native="choiceZRROne('directorUser', '选择院长', roleForm.directorUserName)">
</el-input>
</div>
</el-form-item>
@@ -306,6 +301,29 @@
</el-timeline>
</div>
</div>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传附件">
<el-upload
class="upload-demo"
:disabled="acceptShow"
multiple
ref="uploadFile"
:action="uploadPath"
name="file"
drag
:file-list="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
show-save
show-submit
@@ -336,9 +354,11 @@ import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {
startProcess, queryTaskFirst,
queryTaskFirst,
saveTaskFirst, completeTask,
taskDel, workGroup} from '@/api/process.js'
taskDel, workGroup, processBack,
upFile
} from '@/api/process.js'
export default {
components: {
@@ -351,6 +371,7 @@ export default {
return {
active: '1',
fileMadel: false,
ch_pageData: {
meetingName: '',
primaryUnit: '',
@@ -376,7 +397,9 @@ export default {
fillFile: '',
associaOptionsOne: [],
associaOptionsTwo: [],
associaOptionsTree: []
associaOptionsTree: [],
meetingInRole: '',
meetingInRoleId: ''
},
feeKindOptions: [
@@ -392,7 +415,13 @@ export default {
//
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: {
startUserName: this.$store.getters.userInfo.userName,
startUser: this.$store.getters.userInfo.userId,
@@ -404,13 +433,16 @@ export default {
feeUserId: '',
engineerUser: '',
engineerUserId: '',
directorUserId: '',
directorUserName: '',
},
roleFormRules: {
dockUserName: [{required: true, message: "请选择标准法规工程师", trigger: ['blur', 'change']}],
startUserName: [{required: true, message: "请选择标准法规部人员", trigger: ['blur', 'change']}],
leaderUser: [{required: true, message: "请选择标准法规部主管中心主任", trigger: ['blur', 'change']}],
feeUser: [{required: true, message: "请选择管理推部", trigger: ['blur', 'change']}],
engineerUser: [{required: true, message: "请选择技术委员会常务副主任/总院院长", trigger: ['blur', 'change']}],
feeUser: [{required: true, message: "请选择管理推部", trigger: ['blur', 'change']}],
engineerUser: [{required: true, message: "请选择业务主管副院长 ", trigger: ['blur', 'change']}],
directorUserName: [{required: true, message: "请选择院长", trigger: ['blur', 'change']}],
},
deleteDataList: [],
@@ -421,8 +453,14 @@ export default {
roleShowflagOne: false,
isSubmit: false,
saveLoading: false,
commentText: '',
bpnId: ''
commentInfo: '',
bpnId: '',
//
datePicker: {
disabledDate(date) {
return date.getTime() < Date.now() - 24 * 60 * 60 * 1000
}
}
}
},
mounted() {
@@ -434,7 +472,22 @@ export default {
type: 0
}
workGroup(type).then(res => {
this.ch_pageData.associaOptionsOne = res.data.children
if (res.data.children !== null) {
this.ch_pageData.associaOptionsOne = res.data.children
this.ch_pageData.associaName = this.ch_pageData.associaOptionsOne[0].id
this.ch_pageData.associaOptionsOne.forEach(item => {
if (item.children !== null && item.id === this.ch_pageData.associaName) {
this.ch_pageData.associaOptionsTwo = item.children
this.ch_pageData.associaNameOne = this.ch_pageData.associaOptionsTwo[0].id
}
})
this.ch_pageData.associaOptionsTwo.forEach(item => {
if (item.children !== null && item.id === this.ch_pageData.associaNameOne) {
this.ch_pageData.associaOptionsTree = item.children
this.ch_pageData.associaNameTwo = this.ch_pageData.associaOptionsTree[0].id
}
})
}
})
},
methods: {
@@ -467,15 +520,15 @@ export default {
}).then(res => {
let mes = JSON.parse(res.mes)
this.ch_pageData = mes.ch_pageData
this.commentText = mes.commentText
this.commentInfo = mes.commentInfo
this.roleForm = mes.roleForm
});
},
//
/* uploadFile(val) {
this.fileListData = val
},*/
fileUpload () {
this.fileMadel = true
},
//
handleBeforeUpload(file) {
var filename = file.name
@@ -484,11 +537,11 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] //
//
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
//
@@ -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) {
if (res.ok) {
@@ -534,6 +602,19 @@ export default {
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() {
var list = {
@@ -615,9 +696,12 @@ export default {
if (this.type === 'leaderUser') {
this.roleForm.leaderUser = data[0].name
this.roleForm.leaderUserId = data[0].id
} else {
} else if(this.type ==='engineerUser') {
this.roleForm.engineerUser = data[0].name
this.roleForm.engineerUserId = data[0].id
} else {
this.roleForm.directorUserName = data[0].name
this.roleForm.directorUserId = data[0].id
}
this.roleShowflagOne = false
},
@@ -632,7 +716,7 @@ export default {
_formData.append('json', JSON.stringify({
roleForm: this.roleForm,
ch_pageData: this.ch_pageData,
commentText: this.commentText
commentInfo: this.commentInfo
}))
saveTaskFirst(_formData).then(res => {
@@ -650,18 +734,22 @@ export default {
prcCreateUserName: this.$store.getters.userInfo.userName,
roleList: this.roleForm,
ch_pageData: this.ch_pageData,
commentText: this.commentText,
commentText: this.commentInfo,
directorList: this.roleForm.dockUser,
roleForm: this.roleForm,
}
this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.$refs['roleForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
const paramsInfo = {
type: '21'
}
startProcess(paramsInfo).then(res => {
let paramsInfo = new FormData()
// paramsInfo.append('id', this.bpnId || '')
paramsInfo.append('createUser', this.$store.getters.userInfo.userId)
paramsInfo.append('createUserName', this.$store.getters.userInfo.userName)
paramsInfo.append('type', '21')
paramsInfo.append('json', JSON.stringify({json}))
processBack(paramsInfo).then(res => {
this.taskID = res.data
const params = new FormData();
params.set('json', JSON.stringify(json))
@@ -2,7 +2,7 @@
<div class="bzchStep2">
<ProcessHeader toggle>
<template slot="proName">外部标准化协会参会流程</template>
<template slot="proNode">参会人员确认</template>
<template slot="proNode">提名入会代表</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
@@ -56,23 +56,29 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
</span>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -101,11 +107,12 @@
<ProcessTitle>
<template slot="title">选择人员</template>
</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
:disabled="true"
style="width: 30%"
placeholder="请选择入会人员"
placeholder="请选择参会人员"
style="width: 50%"
@click.native="choiceRole"
v-model="ch_pageData.meetingInRole"
/>
</el-form-item>
@@ -162,7 +169,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -170,7 +177,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -203,6 +210,13 @@
@submit="handleSubmit"
>
</ProcessFooter>
<Role-tree
is-title="选择入会人员"
:is-visible.sync="roleShowflag"
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
</div>
</template>
@@ -210,7 +224,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js'
import {completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default {
components: {
@@ -251,9 +265,6 @@ export default {
this.getData()
},
methods: {
phoneClick () {
this.$router.push('/phoneBzchStep2')
},
//
handleTabs(name) {
this.active = name
@@ -287,10 +298,33 @@ export default {
this.$nextTick(() => {
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
this.uploadFileLength = this.ch_pageData.fileTextList.length
this.ch_pageData.meetingInRole = this.$store.getters.userInfo.userName
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() {
if (this.commentText === '') {
@@ -349,6 +383,10 @@ export default {
})
},
fileLook(file) { //
const attId = file.id
tis.$preview(attId)
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -471,6 +509,9 @@ export default {
/deep/ .el-table th {
padding: 0px;
}
/deep/.el-form-item__content {
margin-top: 4px;
}
}
}
</style>
@@ -56,23 +56,29 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
</span>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -175,7 +181,7 @@
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
v-model="commentStep3">
</el-input>
</div>
</el-collapse-item>
@@ -217,7 +223,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -225,7 +231,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -271,7 +277,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, saveTaskForPub, completeTask, inboundLiaisonDetail} from '@/api/process.js'
import {saveTaskForPub, completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default {
components: {
@@ -317,7 +323,7 @@ export default {
pId: this.$route.query.prcId,
uploadFileLength: '',
commentText: ''
commentStep3: ''
}
},
computed: {
@@ -366,8 +372,9 @@ export default {
this.ch_pageData.fillUnit = this.$store.getters.userInfo.upDeptName
this.ch_pageData.fillTel = this.$store.getters.userInfo.phone
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.commentStep3 = JSON.parse(JSON.stringify(item)).commentStep3
// this.rh_pageData.comityFileNum = this.fileTextList
})
},
@@ -394,7 +401,7 @@ export default {
_formData.append('taskIds', this.taskIds)
_formData.append('json', JSON.stringify({
roleList: this.roleForm,
commentText: this.commentText,
commentStep3: this.commentStep3,
selfUser: this.$store.getters.userInfo.userId,
charge: this.ch_pageData.fillLeaderId,
ch_pageData: this.ch_pageData,
@@ -412,7 +419,7 @@ export default {
let json = {
roleList: this.roleForm,
selfUser: this.$store.getters.userInfo.userId,
commentText: this.commentText,
commentText: this.commentStep3,
charge: this.ch_pageData.fillLeaderId,
ch_pageData: this.ch_pageData,
}
@@ -434,6 +441,11 @@ export default {
})
},
//
fileLook(file) { //
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -556,6 +568,9 @@ export default {
/deep/ .el-table th {
padding: 0px;
}
/deep/.el-form-item__content {
margin-top: 4px;
}
}
}
</style>
@@ -56,23 +56,29 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
</span>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -168,7 +174,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -176,7 +182,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -215,7 +221,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js'
import {completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default {
components: {
@@ -256,9 +262,6 @@ export default {
this.getData()
},
methods: {
phoneClick () {
this.$router.push('/phoneBzchStep4')
},
//
handleTabs(name) {
this.active = name
@@ -363,6 +366,11 @@ export default {
}
})
},
//
fileLook(file) { //
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -481,6 +489,9 @@ export default {
/deep/ .el-table th {
padding: 0px;
}
/deep/.el-form-item__content {
margin-top: 4px;
}
}
}
</style>
@@ -56,23 +56,29 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
</span>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -107,11 +113,15 @@
</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"
icon="el-icon-delete"
@click="del_paryForm">
@click="del_partForm">
批量删除
</el-button>
</div>
@@ -126,11 +136,40 @@
fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" width="55"/>
<el-table-column type="index" width="50" align="center"/>
<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="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
<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>
@@ -144,7 +183,7 @@
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
v-model="commentStep5">
</el-input>
</div>
</el-collapse-item>
@@ -186,7 +225,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -194,7 +233,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -217,6 +256,42 @@
<loading :loading="loading">流程列表加载中</loading>
</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
show-save
show-submit
@@ -226,6 +301,13 @@
@submit="handleSubmit"
>
</ProcessFooter>
<Role-tree
check-box
is-title="选择入会人员"
:is-visible.sync="roleShowflag"
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
</div>
</template>
@@ -233,7 +315,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskForPub, completeTask, inboundLiaisonDetail} from '@/api/process.js'
import {saveTaskForPub, completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default {
components: {
@@ -263,7 +345,19 @@ export default {
pId: this.$route.query.prcId,
uploadFileLength: '',
commentText: ''
commentStep5: '',
roleShowflag: false,
nodeList: [],
//
editFlag: false,
editForm: {
fillPeople: '',
fillUnit: '',
fillDept: '',
fillTel: '',
fillMail: '',
},
isTitle: ''
}
},
computed: {
@@ -309,12 +403,73 @@ export default {
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
this.uploadFileLength = this.ch_pageData.fileTextList.length
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.commentStep5 = JSON.parse(JSON.stringify(item)).commentStep5
// 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) {
this.$message.warning("请选择一条数据进行删除");
} else {
@@ -352,7 +507,7 @@ export default {
_formData.append('json', JSON.stringify({
ch_pageData: this.ch_pageData,
roleList: this.roleForm,
commentText: this.commentText
commentStep5: this.commentStep5
}))
saveTaskForPub(_formData).then(res => {
this.saveLoading = false
@@ -367,7 +522,7 @@ export default {
let json = {
leader: this.roleForm.leaderUserId,
ch_pageData: this.ch_pageData,
commentText: this.commentText,
commentText: this.commentStep5,
roleList: this.roleForm,
}
this.$refs['ch_pageData'].validate((valid) => {
@@ -388,6 +543,11 @@ export default {
})
},
//
fileLook(file) { //
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -494,6 +654,9 @@ export default {
/deep/ .el-table th {
padding: 0px;
}
/deep/.el-form-item__content {
margin-top: 4px;
}
/deep/ .el-upload {
display: unset;
@@ -56,7 +56,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
@@ -65,14 +65,14 @@
<el-col :span="8">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
{{ item.name }} {{ ';' }}
</a>
</span>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -168,7 +168,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -176,7 +176,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -381,6 +381,9 @@ export default {
/deep/.el-table th {
padding: 0px;
}
/deep/.el-form-item__content {
margin-top: 4px;
}
}
}
</style>
@@ -59,23 +59,29 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="10">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<a v-if="item.name.length > 30">
<div v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;">
<a v-if="item.name.length > 30" style="cursor: pointer" @click="fileLook(item)">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
<a v-else style="cursor: pointer" @click="fileLook(item)">
{{ item.name }} {{ ';' }}
</a>
</span>
<el-button
size="mini"
@click="previews(item.id)"
icon="el-icon-download"
style="height: 25px; margin-left: 5px;"
></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -171,7 +177,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -179,7 +185,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -224,7 +230,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js'
import {completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default {
components: {
@@ -270,11 +276,6 @@ export default {
this.getData()
},
methods: {
phoneClick () {
if (this.taskInfo !== '标准法规工程师修订完毕') {
this.$router.push('/phoneBzchStep6')
}
},
//
handleTabs(name) {
this.active = name
@@ -404,7 +405,7 @@ export default {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
json.engineerSumDone = this.roleForm.directorUserId
} else {
json = {
ch_pageData: this.ch_pageData,
@@ -430,6 +431,11 @@ export default {
})
},
//
fileLook(file) { //
const attId = file.id
this.$preview(attId)
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -548,6 +554,9 @@ export default {
/deep/ .el-table th {
padding: 0px;
}
/deep/.el-form-item__content {
margin-top: 4px;
}
}
}
</style>
File diff suppressed because it is too large Load Diff
@@ -139,51 +139,54 @@
fontWeight: 'bold', height: '48px'}"
row-key="id"
>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="itemsNum"
label="条款号"
width="70"
align="center">
prop="itemsNum"
label="条款号"
width="70"
fixed
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
show-overflow-tooltip
align="center">
prop="itemsName"
label="条款名称"
fixed
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
width="200"
show-overflow-tooltip
align="center">
prop="itermsConditions"
label="条款内容"
fixed
width="200"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="itermsConditionsOpen(scope.row.itermsConditions)" class="common-button-primary">查看条款内容</el-button>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="technicalRequir"
width="200"
label="核心技术要求"
align="center">
show-overflow-tooltip
prop="technicalRequir"
width="200"
v-if="!form.itemsNum1"
label="核心技术要求"
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint"
width="150"
label="基于上一版本差异"
align="center">
show-overflow-tooltip
v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint"
width="150"
label="基于上一版本差异"
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'FOREIGN'"
prop="changePoint"
width="150"
label="相对于国行标差异点"
align="center">
show-overflow-tooltip
v-if="sarType === 'FOREIGN'"
prop="changePoint"
width="150"
label="相对于国行标差异点"
align="center">
</el-table-column>
<el-table-column
prop="complianceRequir"
@@ -236,9 +239,18 @@
<el-table-column
label="责任人"
width="170"
prop="zrUserIdName"
prop="zrUserName"
align="center">
</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-collapse accordion>
<el-collapse-item title="审批意见">
@@ -268,31 +280,28 @@
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">
prop="createTime"
label="创建时间"
align="center">
<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>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
prop="endTime"
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -317,12 +326,22 @@
title="查看条款内容"
:visible.sync="itermsConditionsFlag"
size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div>
<div class="itemsTextBox" v-html="itermsConditionsTitle"></div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
<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>
</template>
@@ -336,6 +355,11 @@ export default {
name: "bzjdStep1-6",
data() {
return {
similarityDegree: '',
BDmodel: false,
oldNumber: '',
leftData: '',
rightData: '',
//truefalse
foldFormFlag: false,
itermsConditionsFlag: false,
@@ -366,6 +390,57 @@ export default {
ProcessTitle
},
methods: {
getBDList () {
this.$http.get('lawss/sarStandItemsCompareHis/getStandItemsCompareHisList', {
standHisId: this.oldNumber,
leftOrRight: 'LEFT'
}, {
_this: this
}, res => {
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < res.data.length; b++) {
if (this.itemList[a].itemsNum === res.data[b].itemsNum) {
this.itemList[a].itemsId = res.data[b].itemsId
}
}
}
}, e => {
})
this.$http.get('lawss/sarStandItemsCompareHis/getStandItemsCompareHisList', {
standHisId: this.oldNumber,
leftOrRight: 'RIGHT'
}, {
_this: this
}, res => {
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < res.data.length; b++) {
if (this.itemList[a].itemsNum === res.data[b].itemsNum) {
this.itemList[a].itemsId2 = res.data[b].itemsId
}
}
}
}, e => {
})
},
checkBD (id,id2) {
let itemsEoPage = {
oldItemId: id,
newItemId: id2,
flag: 1
}
this.$http.post('lawss/sarStandCompareHis/clauseComparison', itemsEoPage, {
_this: this
}, res => {
if (res.data.leftString === '' && res.data.rightString === '') {
this.$message.warning('暂无找到相似的文本')
} else {
this.leftData = res.data.leftString
this.rightData = res.data.rightString
this.BDmodel = true
this.similarityDegree = res.data.similarityDegree
}
})
},
///
foldForm() {
this.foldFormFlag = !this.foldFormFlag
@@ -418,12 +493,18 @@ export default {
let data = JSON.parse(res.mesg)
this.form.itemsNum = data.itemsNum || data.form.itemsNum
this.form.itemsName = data.itemsName || data.form.itemsName
this.form.itemsNum1 = data.itemsNum1 || data.form.itemsNum1
this.form.itemsName1 = data.itemsName1 || data.form.itemsName1
if (data.form) {
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.json = data
this.itemList = data.itemList
this.loading = false
this.getBDList()
}).catch(e => {
})
})
File diff suppressed because it is too large Load Diff
@@ -40,28 +40,14 @@
clearable
></el-input>
</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
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-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName1"
@@ -74,63 +60,13 @@
</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 === 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>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<div class="action-bar">
<el-button type="primary" class="common-button-primary add-button" size="mini" @click="choiceZRRS('', 2, '')">批量编辑</el-button>
<el-button :disabled="!itemList.length" type="primary" class="common-button-primary add-button" size="mini" @click="choiceZRRS('', 2, '')">批量编辑</el-button>
</div>
<el-table border
ref="selection"
@@ -146,31 +82,77 @@
<el-table-column
prop="itemsNum"
label="条款号"
width="170"
fixed
width="120"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
width="170"
label="条款名称"
fixed
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
fixed
width="200"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="itermsConditionsOpen(scope.row.itermsConditions)" class="common-button-primary">查看条款内容</el-button>
<el-button size="mini" type="primary" @click="itermsConditionsOpen(scope.row.itermsConditions)" class="common-button-primary">
查看条款内容
</el-button>
</template>
</el-table-column>
<el-table-column
label="责任人"
width="170"
prop="zrUserIdName"
v-if="!form.itemsNum1"
prop="technicalRequir"
label="核心技术要求"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="changePoint"
v-if="form.itemsNum1"
label="基于上一版本差异"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
v-if="sarType === 'FOREIGN' && form.itemsNum1"
prop="changePoint"
width="150"
label="相对于国行标差异点"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="newData"
width="180"
show-overflow-tooltip
label="新车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="onlineData"
width="180"
show-overflow-tooltip
label="在产车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="applyArctic"
width="200"
label="适用车型"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
{{ scope.row.applyArctic.toString() }}
</template>
</el-table-column>
<el-table-column
label="执行人"
width="170"
@@ -210,23 +192,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -234,7 +213,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -284,7 +263,7 @@
title="查看条款内容"
:visible.sync="itermsConditionsFlag"
size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div>
<div class="itemsTextBox" v-html="itermsConditionsTitle"></div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
@@ -417,15 +396,23 @@
if (this.type === 1) {
this.itemList[this.zxIndex].zxUserId = data[0].id
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 {
this.itemList.forEach( item => {
this.zxIdList.forEach( items => {
if (item.id === items) {
item.zxUserId = data[0].id
item.zxUserIdName = data[0].name
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < this.zxIdList.length; b++) {
if (this.itemList[a].id === this.zxIdList[b]) {
this.itemList[a].zxUserId = data[0].id
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
},
@@ -40,28 +40,14 @@
clearable
></el-input>
</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
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-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName1"
@@ -74,63 +60,13 @@
</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 === 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>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<div class="action-bar">
<el-button type="primary" :disabled="acceptShow" class="common-button-primary add-button" size="mini" @click="choiceZRR">批量编辑</el-button>
<el-button type="primary" :disabled="acceptShow && !itemList.length" class="common-button-primary add-button" size="mini" @click="choiceZRR">批量编辑</el-button>
</div>
<el-table border
ref="selection"
@@ -148,17 +84,20 @@
prop="itemsNum"
label="条款号"
width="70"
fixed
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
show-overflow-tooltip
fixed
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
fixed
width="200"
show-overflow-tooltip
align="center">
@@ -191,23 +130,6 @@
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' ? '符合' : '不符合' }}
</template>
</el-table-column>
<el-table-column
prop="complianceState"
width="200"
label="合规性分析"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="newData"
width="180"
@@ -242,16 +164,34 @@
<el-table-column
label="责任人"
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
align="center">
</el-table-column>
<el-table-column
label="操作"
width="100"
width="240"
align="center">
<template slot-scope="scope">
<el-button class="common-button-primary" size="mini" type="primary" @click="itemEdit(scope.row)">编辑</el-button>
<el-button 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>
</el-table-column>
</el-table>
@@ -283,23 +223,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -307,7 +244,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -355,7 +292,7 @@
size="800px">
<div class="demo-drawer-content">
<el-form :model="plForm" class="label-input-form" ref="plForm" label-width=150>
<el-form-item label="核心技术要求" prop="technicalRequir" class="add-form-item" v-if="!form.itemsNum1">
<el-form-item label="核心技术要求" prop="technicalRequir" class="add-form-item" v-if="!form.itemsNum1">
<el-input
v-model="plForm.technicalRequir"
placeholder="请输入核心技术要求"
@@ -376,21 +313,6 @@
maxlength="500"
></el-input>
</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
class="myDataPick"
: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-select>
</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>
</div>
<div id="roleFormButton2" class="demo-drawer-footer">
@@ -417,9 +354,21 @@
title="编辑"
:visible.sync="modalshowflag2"
:wrapperClosable="false"
size="800px">
:size="form.itemsNum1 ? '1200px' : '800px'">
<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-input
v-model="editForm.technicalRequir"
@@ -441,21 +390,6 @@
maxlength="500"
></el-input>
</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
class="myDataPick"
: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-select>
</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>
</div>
</div>
<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>
@@ -482,12 +432,23 @@
title="查看条款内容"
:visible.sync="itermsConditionsFlag"
size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div>
<div class="itemsTextBox" v-html="itermsConditionsTitle"></div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
<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>
</template>
@@ -503,6 +464,13 @@
name: "bzjdStep3",
data() {
return {
BDtext: false,
itemsNum: '',
similarityDegree: '',
BDmodel: false,
oldNumber: '',
leftData: '',
rightData: '',
modalshowflag2: false,
itemId: '',
drawerModal: false,
@@ -525,20 +493,22 @@
plForm: {
technicalRequir: '', //
changePoint: '', //
complianceRequir: '1', //
complianceRequir: '', //
complianceState: '', //
newData: '', //
onlineData: '', //
applyArctic: '', //
},
editForm: {
itemsNum: '',
technicalRequir: '', //
changePoint: '', //
complianceRequir: '1', //
complianceRequir: '', //
complianceState: '', //
newData: '', //
onlineData: '', //
applyArctic: '', //
itemsId: '',
},
modalshowflag: false,
sarType: '',
@@ -571,18 +541,90 @@
ProcessTitle
},
methods: {
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, //
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, 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 () {
for( let a = 0; a < this.itemList.length; a++) {
@@ -675,10 +717,11 @@
if (this.idList.length > 0) {
this.plForm.technicalRequir = ''
this.plForm.changePoint = ''
this.plForm.complianceRequir = '1'
this.plForm.complianceRequir = ''
this.plForm.complianceState = ''
this.plForm.newData = ''
this.plForm.onlineData = ''
this.plForm.applyArctic = []
this.modalshowflag = true
} else {
this.$message.warning('请选择要编辑的数据')
@@ -727,7 +770,7 @@
handleSubmit() {
this.$refs['bzzqyjForm'].validate((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++) {
if (!this.itemList[a].technicalRequir) {
num1++
@@ -744,9 +787,12 @@
if (!this.itemList[a].onlineData) {
num5++
}
if (!this.itemList[a].applyArctic) {
if (!this.itemList[a].applyArctic.length) {
num6++
}
if (!this.itemList[a].zrUserId) {
b++
}
}
if (!this.form.itemsNum1) {
if (num1 > 0) {
@@ -755,7 +801,7 @@
}
} else {
if (num2 > 0) {
if (this.sarType === 'INLAND') {
if (this.sarType !== 'INLAND') {
this.$message.warning('请输入国内标准的差异点')
return
} else {
@@ -772,6 +818,8 @@
this.$message.warning('请输入在产车实施日期')
} else if (num6 > 0) {
this.$message.warning('请选择适用车型')
} else if (b > 0) {
this.$message.warning('请选择责任人')
} else {
this.isSubmit = true
var json = this.json
@@ -819,6 +867,7 @@
this.form.itemsName1 = data.itemsName1 || ''
this.form.itemsNum1 = data.itemsNum1 || ''
}
this.oldNumber = data.oldNumber || ''
this.sarType = data.standInData || data.sarType
this.json = data
let itemList
@@ -833,14 +882,17 @@
item.newData = item.newData || ''
item.complianceState = item.complianceState || ''
item.oldNumber = item.oldNumber || ''
item.complianceRequir = item.complianceRequir || '1'
item.complianceRequir = item.complianceRequir || ''
item.changePoint = item.changePoint || ''
item.technicalRequir = item.technicalRequir || ''
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.loading = false
}).catch(e => {
@@ -872,6 +924,12 @@
padding: 0 20px 0;
}
}
.myText {
line-height: 20px;
}
.BDclass {
height: calc(~'100% - 53px');
}
.myDataPick {
/deep/.el-form-item__content {
margin-left: 0px !important;
@@ -40,28 +40,14 @@
clearable
></el-input>
</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
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-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName1"
@@ -74,56 +60,6 @@
</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 === 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>
</div>
<ProcessTitle>
@@ -137,23 +73,26 @@
height="100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
row-key="id"
>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="itemsNum"
label="条款号"
width="70"
fixed
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
show-overflow-tooltip
fixed
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
fixed
width="200"
show-overflow-tooltip
align="center">
@@ -162,62 +101,46 @@
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="!form.itemsNum1"
prop="technicalRequir"
width="200"
label="核心技术要求"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint"
width="150"
v-show="form.itemsNum1"
label="基于上一版本差异"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'FOREIGN'"
v-show="sarType === 'FOREIGN' && form.itemsNum1"
prop="changePoint"
width="150"
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
prop="complianceState"
width="200"
label="合规性分析"
align="center">
</el-table-column>
<el-table-column
prop="newData"
width="180"
show-overflow-tooltip
width="150"
label="新车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="onlineData"
width="180"
show-overflow-tooltip
width="150"
label="在产车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
width="200"
label="适用车型"
show-overflow-tooltip
align="center">
@@ -228,15 +151,43 @@
<el-table-column
prop="unitDeptName"
label="责任部门"
width="170"
width="200"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
label="责任人"
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' ? '符合' : '不符合' }}
</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-collapse accordion>
<el-collapse-item title="审批意见">
@@ -266,23 +217,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -290,7 +238,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -329,11 +277,22 @@
title="查看条款内容"
:visible.sync="itermsConditionsFlag"
size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div>
<div class="itemsTextBox" v-html="itermsConditionsTitle"></div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
<el-dialog
title="查看比对内容"
:visible.sync="BDmodel"
size="1100px">
<div>比对条款: {{ 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>
</template>
@@ -348,6 +307,12 @@
name: "bzjdStep4",
data() {
return {
itemsNum: '',
similarityDegree: '',
BDmodel: false,
oldNumber: '',
leftData: '',
rightData: '',
drawerModal: false,
//truefalse
foldFormFlag: false,
@@ -379,6 +344,41 @@
ProcessTitle
},
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 () {
this.$router.push('/phoneBzjdStep4')
},
@@ -40,28 +40,14 @@
clearable
></el-input>
</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
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-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName1"
@@ -74,56 +60,6 @@
</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 === 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>
</div>
<ProcessTitle>
@@ -137,23 +73,26 @@
height="100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
row-key="id"
>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="itemsNum"
label="条款号"
width="70"
fixed
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
show-overflow-tooltip
fixed
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
fixed
width="200"
show-overflow-tooltip
align="center">
@@ -162,62 +101,46 @@
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="!form.itemsNum1"
prop="technicalRequir"
width="200"
label="核心技术要求"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint"
width="150"
v-show="form.itemsNum1"
label="基于上一版本差异"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'FOREIGN'"
v-show="sarType === 'FOREIGN' && form.itemsNum1"
prop="changePoint"
width="150"
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
prop="complianceState"
width="200"
label="合规性分析"
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="newData"
width="150"
width="180"
show-overflow-tooltip
label="新车型实施日期"
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="onlineData"
width="150"
width="180"
show-overflow-tooltip
label="在产车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
width="200"
label="适用车型"
show-overflow-tooltip
align="center">
@@ -228,15 +151,43 @@
<el-table-column
prop="unitDeptName"
label="责任部门"
width="170"
width="200"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
label="责任人"
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' ? '符合' : '不符合' }}
</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-collapse accordion>
<el-collapse-item title="回执说明">
@@ -266,23 +217,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -290,7 +238,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -334,11 +282,22 @@
title="查看条款内容"
:visible.sync="itermsConditionsFlag"
size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div>
<div class="itemsTextBox" v-html="itermsConditionsTitle"></div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
<el-dialog
title="查看比对内容"
:visible.sync="BDmodel"
size="1100px">
<div>比对条款: {{ 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>
</div>
</template>
@@ -354,6 +313,12 @@
name: "bzjdStep5",
data() {
return {
itemsNum: '',
similarityDegree: '',
BDmodel: false,
oldNumber: '',
leftData: '',
rightData: '',
drawerModal: false,
//truefalse
foldFormFlag: false,
@@ -385,6 +350,26 @@
ProcessTitle
},
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() {
this.drawerModal = true
},
@@ -40,28 +40,14 @@
clearable
></el-input>
</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
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-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName1"
@@ -74,56 +60,6 @@
</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 === 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>
</div>
<ProcessTitle>
@@ -137,24 +73,26 @@
height="100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
row-key="id"
>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="itemsNum"
label="条款号"
width="70"
fixed
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
show-overflow-tooltip
fixed
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
fixed
width="200"
show-overflow-tooltip
align="center">
@@ -163,62 +101,46 @@
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="!form.itemsNum1"
prop="technicalRequir"
width="200"
label="核心技术要求"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint"
width="150"
v-show="form.itemsNum1"
label="基于上一版本差异"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'FOREIGN'"
v-show="sarType === 'FOREIGN' && form.itemsNum1"
prop="changePoint"
width="150"
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
prop="complianceState"
width="200"
label="合规性分析"
align="center">
</el-table-column>
<el-table-column
prop="newData"
width="150"
width="180"
show-overflow-tooltip
label="新车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="onlineData"
width="150"
width="180"
show-overflow-tooltip
label="在产车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
width="200"
label="适用车型"
show-overflow-tooltip
align="center">
@@ -229,15 +151,43 @@
<el-table-column
prop="unitDeptName"
label="责任部门"
width="170"
width="200"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
label="责任人"
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' ? '符合' : '不符合' }}
</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-collapse accordion>
<el-collapse-item title="审批意见">
@@ -267,23 +217,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -291,7 +238,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -333,11 +280,22 @@
title="查看条款内容"
:visible.sync="itermsConditionsFlag"
size="800px">
<div style="height: 500px;overflow: auto;" v-html="itermsConditionsTitle"></div>
<div class="itemsTextBox" v-html="itermsConditionsTitle"></div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭</el-button>
</div>
</el-dialog>
<el-dialog
title="查看比对内容"
:visible.sync="BDmodel"
size="1100px">
<div>比对条款: {{ 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>
</div>
</template>
@@ -353,6 +311,12 @@
name: "bzjdStep6",
data() {
return {
itemsNum: '',
similarityDegree: '',
BDmodel: false,
oldNumber: '',
leftData: '',
rightData: '',
drawerModal: false,
//truefalse
foldFormFlag: false,
@@ -384,6 +348,26 @@
ProcessTitle
},
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() {
this.drawerModal = true
},
@@ -495,6 +479,7 @@
}
this.sarType = data.standInData || data.sarType
this.json = data
console.log(data.itemList);
this.itemList = data.itemList
this.loading = false
}).catch(e => {
@@ -119,7 +119,7 @@
width="260px"
>
<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>
</el-table-column>
<el-table-column
@@ -587,75 +587,77 @@
</el-form-item>
</el-form>
</div>
<el-table
:data="standardData"
tooltip-effect="dark"
style="width: 100%"
border
ref="table"
class="table-height"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
<div class="table-height">
<el-table
:data="standardData"
tooltip-effect="dark"
style="width: 100%"
border
ref="table"
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectThree"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="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="标准名称"
@selection-change="selectThree"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
align="center"
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>
<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">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName || scope.row.standEnName }}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
align="center"
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>
<pagination
:page="pageNo"
@@ -1124,15 +1126,26 @@ export default {
if (this.dataList.length < 1) {
this.$message.warning("标准不能为空");
} else {
this.listForm.commentText = this.commentText;
this.listForm.fileName = this.fileInfoList;
this.listForm.commentText = this.commentText
this.listForm.fileName = this.fileInfoList
this.listForm.dataList = this.dataList
var json = Object.assign(this.listForm, this.roleForm);
this.$refs["qdfbForm"].validate((valid) => {
if (valid) {
this.$refs["Form"].validate((valid) => {
if (valid) {
this.isSubmit = true;
this.$http.get("lawss/activiti/startProcess", { type: "4" }, {
this.isSubmit = true
this.$http.post("lawss/activiti/startProcessRollBack", {
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '4',
json: JSON.stringify({
taskInfo: '引入法规标准清单',
form: this.listForm,
roleForm: this.roleForm,
commentText: this.commentText
})
}, {
_this: this
}, res => {
if (res.ok) {
@@ -1155,7 +1168,7 @@ export default {
}
this.$router.push("/processCenter");
}
this.isSubmit = false;
this.isSubmit = false
});
}
});
@@ -1311,6 +1324,14 @@ export default {
this.$message.warning("请勿重复添加数据");
} else {
this.dataList.push(item);
this.dataList.forEach(item => {
if(item.XCXSSRQ === null){
item.XCXSSRQ = ''
}
if(item.ZCCSSRQ === null){
item.ZCCSSRQ = ''
}
})
exits.push(item.id);
}
});
@@ -1364,11 +1385,13 @@ export default {
this.dataList.forEach(item => {
if(item.xcxssrqgj === 'undefined' ||item.xcxssrqgj === '-' || item.xcxssrqgj === 'null'){
item.xcxssrqgj = ''
this.$set(item, "XCXSSRQ", item.xcxssrqgj)
}else{
this.$set(item, "XCXSSRQ", item.xcxssrqgj)
}
if(item.zccssrqgj === 'undefined' || item.zccssrqgj === '-'|| item.zccssrqgj === 'null'){
item.zccssrqgj = ''
this.$set(item, "ZCCSSRQ", item.zccssrqgj)
}else{
this.$set(item, "ZCCSSRQ", item.zccssrqgj)
}
@@ -143,7 +143,7 @@
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<div class="flow-list" style="height: 100%">
<el-table
height="100%"
ref="selection"
@@ -155,11 +155,6 @@
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
@@ -177,7 +172,7 @@
label="创建时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -185,7 +180,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -37,18 +37,19 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="附件" prop="modelName" class="add-form-item form-item-disabled">
<div class="file-box" v-if="listForm.model">
<p> {{ listForm.modelName }}
<el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled">
<div class="file-box" v-if="fileList.length > 0">
<p v-for="item in fileList"
:key="item.id"> {{ item.name }}
<i
title="下载"
@click="downloadFile(listForm.model)"
@click="downloadFile(item.id)"
class="icon-download"
v-btn-permission="''"
/>
<i
title="下载带水印"
@click="downloadFileByWater(listForm.model,listForm.modelName)"
@click="downloadFileByWater(item.id, item.name)"
class="icon-download2"
v-btn-permission="''"
/>
@@ -139,7 +140,7 @@
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<div class="flow-list" style="height: 100%">
<el-table
height="100%"
ref="selection"
@@ -151,11 +152,6 @@
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
@@ -173,7 +169,7 @@
label="创建时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -181,7 +177,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -204,6 +200,15 @@
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
@@ -211,7 +216,8 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail } from "api/process";
import { changeAssigneeNew, inboundLiaisonDetail } from "api/process";
export default {
name: "bzqdfbStep1-4",
components: {
@@ -221,6 +227,11 @@ export default {
},
data() {
return {
nodeList:[],
isTransfer: false,
drawerTitle:'',
//
drawerModal: false,
detailData: [],
// (1/2)
processType: 1,
@@ -236,10 +247,12 @@ export default {
selectList: [], //
bringData: [],
commentText: "", //
fileList:[],
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
fileIds: '',
listType: "", //
listName: "", //
descriptionList: "", //
@@ -274,6 +287,47 @@ export default {
};
},
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() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
@@ -337,6 +391,15 @@ export default {
this.listForm.applyUpdUserId = item.applyUpdUserId;
this.listForm.jlUserId = item.jlUserId;
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
}, res => {
console.log(res);
this.$nextTick(() => {
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 => {
@@ -378,18 +445,13 @@ export default {
}
}
},
//
//
beforeBack() {
if (this.commentText === null || this.commentText === undefined || this.commentText === "") {
this.$message.warning("请填写审批意见");
} else {
if(!this.commentText){
this.$message.warning('请填写审批意见')
}else{
this.listForm.approvalOpinion = "1";
this.handleSubmit();
}
},
//
handleSubmit() {
this.isSubmit = true
this.saveLoading = true
this.listForm.commentText = this.commentText;
const json = JSON.stringify(this.listForm);
this.$http.post("lawss/activiti/completeTask", {
@@ -403,8 +465,29 @@ export default {
this.$message.success(res.message);
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() {
@@ -465,6 +548,31 @@ export default {
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 {
.el-button--primary {
@@ -119,7 +119,7 @@
width="260px"
>
<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>
</el-table-column>
<el-table-column
@@ -557,75 +557,77 @@
</el-form-item>
</el-form>
</div>
<el-table
:data="standardData"
tooltip-effect="dark"
style="width: 100%"
border
ref="table"
class="table-height"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
<div class="table-height">
<el-table
:data="standardData"
tooltip-effect="dark"
style="width: 100%"
border
ref="table"
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectThree"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="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="标准名称"
@selection-change="selectThree"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
align="center"
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>
<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">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName || scope.row.standEnName}}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
align="center"
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>
<pagination
:page="pageNo"
@@ -690,7 +692,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import {saveTaskFirst} from "api/process";
import { saveTaskFirst, taskDel } from "api/process";
import seeDatalis from "@/pages/localTool/standContrast/pages/seeDatalis";
export default {
@@ -1056,13 +1058,24 @@ export default {
} else {
this.listForm.commentText = this.commentText
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) => {
if (valid) {
this.$refs["Form"].validate((valid) => {
if (valid) {
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
}, res => {
if (res.ok) {
@@ -1075,6 +1088,14 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message);
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push("/processCenter");
}
this.isSubmit = false
@@ -1225,7 +1246,7 @@ export default {
this.standList.map(item => {
let newStand = false;
for (let itemKey of this.dataList) {
if (item.id == itemKey.id) {
if (item.id === itemKey.id) {
newStand = true;
break;
}
@@ -1234,6 +1255,14 @@ export default {
this.$message.warning("请勿重复添加数据");
} else {
this.dataList.push(item);
this.dataList.forEach(item => {
if(item.XCXSSRQ === null){
item.XCXSSRQ = ''
}
if(item.ZCCSSRQ === null){
item.ZCCSSRQ = ''
}
})
exits.push(item.id);
}
});
@@ -1275,35 +1304,68 @@ export default {
this.fileInfoList = []
}
this.ListModel = false;
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);
//types
if(this.listType === 'country'){
this.$http.get("sarLawsAttrDetailedList/sar-laws-attr-detailed-list/selectLawsById",
{ id: this.selectedList[0].id, types: '1', 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 = ''
this.$set(item, "XCXSSRQ", item.xcxssrqgj)
}else{
this.$set(item, "XCXSSRQ", item.xcxssrqgj)
}
if(item.zccssrqgj === 'undefined' || item.zccssrqgj === '-'|| item.zccssrqgj === 'null'){
item.zccssrqgj = ''
this.$set(item, "ZCCSSRQ", 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.listForm.inforlist = formId.join(",");
}, e => {
});
}else{
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()
} else {
this.$message.warning("请选择一条数据进行带入");
@@ -40,16 +40,16 @@
<el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled">
<div class="file-box" v-if="fileList.length > 0">
<p v-for="item in fileList"
:key="item.id"> {{ item.name }}
:key="item.id" @click.stop="clickButtonToUpload2(item.id)"> {{ item.name }}
<i
title="下载"
@click="downloadFile(item.id)"
@click.stop="downloadFile(item.id)"
class="icon-download"
v-btn-permission="''"
/>
<i
title="下载带水印"
@click="downloadFileByWater(item.id, item.name)"
@click.stop="downloadFileByWater(item.id, item.fileSuffix)"
class="icon-download2"
v-btn-permission="''"
/>
@@ -139,7 +139,7 @@
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<div class="flow-list" style="height: 100%">
<el-table
height="100%"
ref="selection"
@@ -151,11 +151,6 @@
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
@@ -173,7 +168,7 @@
label="创建时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -181,7 +176,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -365,13 +360,18 @@ export default {
name: item.oldFileName,
uid: item.uid,
status: item.status,
id: item.id
id: item.id,
fileSuffix: item.fileSuffix
});
});
});
}, e => {
});
},
clickButtonToUpload2(file) {
const attId = file
this.$preview(attId)
},
/**
* @Description: 点击下载
*/
@@ -383,14 +383,13 @@ export default {
}
},
downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1);
if (fileExtension !== "pdf" && fileExtension !== "PDF") {
this.$message.error("水印下载仅支持PDF,pdf格式文件");
if (fileSuffix !== 'pdf' && fileSuffix !== 'PDF') {
this.$message.error('水印下载仅支持PDF,pdf格式文件')
} else {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId;
if (attId != null && attId !== '') {
window.location.href = '/api/att/attFile/downloadFileForSarWaterMark?fileId=' + attId + '&userId=' + this.$store.getters.userInfo.userId
} else {
this.$message.error("请选择要下载的文件");
this.$message.error('请选择要下载的文件')
}
}
},
@@ -111,7 +111,7 @@
width="260px"
>
<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>
</el-table-column>
<el-table-column
@@ -158,7 +158,7 @@
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<div class="flow-list" style="height: 100%">
<el-table
height="100%"
ref="selection"
@@ -170,11 +170,6 @@
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
@@ -192,7 +187,7 @@
label="创建时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -200,7 +195,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -279,75 +274,77 @@
</el-form-item>
</el-form>
</div>
<el-table
:data="standardData"
v-loading="loading"
tooltip-effect="dark"
style="width: 100%"
border
ref="table"
class="table-height"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
<div class="table-height">
<el-table
:data="standardData"
v-loading="loading"
tooltip-effect="dark"
style="width: 100%"
border
ref="table"
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectThree"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="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="标准名称"
@selection-change="selectThree"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
align="center"
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>
<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">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName || scope.row.standEnName}}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
align="center"
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>
<pagination
:page="pageNo"
@@ -566,12 +563,12 @@ export default {
},
//
getStandDataBtn(){
this.loading = true
// this.loading = true
this.pageNo = 1;
this.getStandData();
},
getStandData() {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPageByWk1", {
standType: this.standardSearch.standType,
standNumber: this.standardSearch.standNumber,
page: this.pageNo,
@@ -592,7 +589,7 @@ export default {
//
addList() {
this.standModel = true;
this.loading = true
// this.loading = true
this.getStandDataBtn()
},
//select
@@ -621,6 +618,14 @@ export default {
_this.$message.warning("请勿重复添加数据");
} else {
_this.dataList.push(item);
_this.dataList.forEach(item => {
if(item.XCXSSRQ === null){
item.XCXSSRQ = ''
}
if(item.ZCCSSRQ === null){
item.ZCCSSRQ = ''
}
})
}
});
this.standardData = []
@@ -779,7 +784,6 @@ export default {
this.listForm.jlUserId = item.jlUserId
this.listForm.zrUserId = item.zrUserId
this.fileInfoList = item.fileName
this.commentText = item.commentText
} else {
this.listForm = item.form
this.dataList = item.form.dataList
@@ -811,8 +815,9 @@ export default {
//
handleSubmit() {
this.listForm.commentText = this.commentText
this.listForm.dataList = this.dataList
const json = JSON.stringify(this.listForm);
this.isSubmit = true
// this.isSubmit = true
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId: this.userId,
@@ -40,16 +40,16 @@
<el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled">
<div class="file-box" v-if="fileList.length > 0">
<p v-for="item in fileList"
:key="item.id"> {{ item.name }}
:key="item.id" @click.stop="clickButtonToUpload2(item.id)"> {{ item.name }}
<i
title="下载"
@click="downloadFile(item.id)"
@click.stop="downloadFile(item.id)"
class="icon-download"
v-btn-permission="''"
/>
<i
title="下载带水印"
@click="downloadFileByWater(item.id, item.name)"
@click.stop="downloadFileByWater(item.id, item.fileSuffix)"
class="icon-download2"
v-btn-permission="''"
/>
@@ -140,7 +140,7 @@
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<div class="flow-list" style="height: 100%">
<el-table
height="100%"
ref="selection"
@@ -152,11 +152,6 @@
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
@@ -174,7 +169,7 @@
label="创建时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -182,7 +177,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -234,7 +229,7 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail ,changeAssigneeNew} from "api/process";
import { changeAssigneeNew, inboundLiaisonDetail } from "api/process";
export default {
name: "bzqdfbStep4",
@@ -434,13 +429,19 @@ export default {
name: item.oldFileName,
uid: item.uid,
status: item.status,
id: item.id
id: item.id,
fileSuffix: item.fileSuffix
});
});
});
}, e => {
});
},
//
clickButtonToUpload2(file) {
const attId = file
this.$preview(attId)
},
/**
* @Description: 点击下载
*/
@@ -452,14 +453,13 @@ export default {
}
},
downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1);
if (fileExtension !== "pdf" && fileExtension !== "PDF") {
this.$message.error("水印下载仅支持PDF,pdf格式文件");
if (fileSuffix !== 'pdf' && fileSuffix !== 'PDF') {
this.$message.error('水印下载仅支持PDF,pdf格式文件')
} else {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId;
if (attId != null && attId !== '') {
window.location.href = '/api/att/attFile/downloadFileForSarWaterMark?fileId=' + attId + '&userId=' + this.$store.getters.userInfo.userId
} else {
this.$message.error("请选择要下载的文件");
this.$message.error('请选择要下载的文件')
}
}
},
@@ -468,6 +468,7 @@ export default {
if(!this.commentText){
this.$message.warning('请填写审批意见')
}else{
this.isSubmit = true
this.listForm.approvalOpinion = "1";
this.saveLoading = true
this.listForm.commentText = this.commentText;
@@ -484,13 +485,15 @@ export default {
this.$router.push("/processCenter");
}
this.saveLoading = false
this.isSubmit = false
});
}/**/
},
//
handleSubmit() {
this.isSubmit = true
this.listForm.commentText = this.commentText;
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,
File diff suppressed because it is too large Load Diff
@@ -365,6 +365,14 @@
- -
</div>
</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 "解读文件"改为"相关文件"*************************************-->
<el-form-item v-if="form.standInData === '0'" label="相关文件" prop="jdwjName" class="add-form-item form-item-disabled">
<!-- ************************************* 2021/11/9 "解读文件"改为"相关文件"*************************************-->
@@ -548,6 +556,17 @@
></el-option>
</el-select>
</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-row>
</div>
@@ -701,11 +720,6 @@
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
@@ -726,7 +740,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -734,7 +748,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -802,6 +816,7 @@
zqyjgFileMap: [],
jdwjFileMap: [],
kwjFileMap: [],
xdbFileMap: [],
glwjFileMap: [],
caFileMap: [],
zbjbdFileMap: [],
@@ -901,6 +916,7 @@
qcdw: '', //
wssmr: '', //
cysd: '', //
cyzbpm:[],//
cllx: '', //
nylx: '',//
sycpx: '',// 线
@@ -958,6 +974,7 @@
categoryOptions: [], //
applyAuthOptions: [], //
cysdOptions: [], //
cyzbpmOptions:[], //
wssmrOptions: [], //
qcdwOptions: [], //
sycpxOptions: [], // 线
@@ -1116,7 +1133,6 @@
if (res) {
const processForm = JSON.parse(res.mesg)
console.log("processFrom",processForm)
this.xgdFileId = processForm.xgd
this.fbgbjbdFileId = processForm.fbgbjbd
this.bpgFileId = processForm.bpg
@@ -1143,6 +1159,8 @@
// jdwjFileMap: {},
this.kwjFileMap=this.assemble(processForm.kwj,processForm.kwjName);
// kwjFileMap: {},
this.xdbFileMap=this.assemble(processForm.xdb,processForm.xdbName);
// xdbFileMap: {},
this.glwjFileMap=this.assemble(processForm.glwj,processForm.glwjName);
// glwjFileMap: {},
this.caFileMap=this.assemble(processForm.ca,processForm.caName);
@@ -1222,6 +1240,28 @@
this.isSubmit = true
this.form.commentText = this.formTongGuo.commentText
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);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
@@ -1236,6 +1276,7 @@
console.log("shibai");
this.$message.warning("驳回成功")
this.isSubmit = false
this.formTongGuo.commentText = ''
//
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
}else{
@@ -1288,6 +1329,7 @@
this.categoryOptions = res.data.NYLXCLASS //
this.applyAuthOptions = res.data.SYRZCLASS //
this.cysdOptions = res.data.WSCYSD //
this.cyzbpmOptions = res.data.CYZBPM //
this.wssmrOptions = res.data.WSSMR //
this.qcdwOptions = res.data.QCDW //
this.sycpxOptions = res.data.SYCPXCLASS // 线
@@ -443,7 +443,7 @@
></el-input>
</el-form-item>
<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-option-->
<!-- v-for="item in wssmrOptions"-->
@@ -629,11 +629,6 @@
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
@@ -654,7 +649,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -662,7 +657,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -1128,7 +1123,7 @@ export default {
})
},
handleSubmit() {
this.isSubmit = false
this.isSubmit = true
this.form.commentText = this.commentText
this.form.approvalOpinion = this.approvalOpinion
const json = JSON.stringify(this.form);
@@ -26,7 +26,7 @@
<el-row :gutter="24">
<el-col :span="12">
<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="1">海外标准入库</el-radio>
</el-radio-group>
@@ -156,13 +156,11 @@
<el-row :gutter="24">
<el-col :span="12">
<cus-tom-data-picker-group
:key="'ssrq'"
:config="{attrName:'实施日期(标准文本)',attrField:'ssrq'}"
v-model="form.ssrq"
:disabled="false"
></cus-tom-data-picker-group>
<cus-tom-data-picker-group
:key="'zccssrq'"
:config="{attrName:'在产车实施日期(标准文本)',attrField:'zccssrq'}"
v-model="form.zccssrq"
:disabled="false"
@@ -184,7 +182,6 @@
</el-col>
<el-col :span="12">
<cus-tom-data-picker-group
:key="'xcxssrq'"
:config="{attrName:'新车型实施日期(标准文本)',attrField:'xcxssrq'}"
v-model="form.xcxssrq"
:disabled="false">
@@ -624,6 +621,29 @@
</div>
</div>
</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 "解读文件"改为"相关文件"*************************************-->
<el-form-item v-show="form.standInData === '0'" label="相关文件" prop="jdwj" class="add-form-item form-item-disabled">
<!-- ************************************* 2021/11/9 "解读文件"改为"相关文件"*************************************-->
@@ -704,6 +724,14 @@
<div class="prc-content-border">
<el-row :gutter="24">
<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-select v-model="form.zrbm" placeholder="请选择责任部门" multiple>
<el-option
@@ -715,28 +743,44 @@
></el-option>
</el-select>
</el-form-item>-->
<el-form-item label="适用车型" prop="cllx" class="add-form-item form-item-disabled">
<el-select v-model="form.cllx" placeholder="请选择适用车型" multiple>
<el-option
v-for="item in applyArcticOptions"
placeholder="请选择"
: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>
<!--适用车型-->
<template>
<custom-select-array
style="margin-left: -12px"
:config="applyArcticOptions"
v-model="form['cllx']"
></custom-select-array>
</template>
<!--能源类型-->
<template>
<custom-select-array
style="margin-left: -12px"
:config="categoryOptions"
v-model="form['nylx']"
></custom-select-array>
</template>
<!-- <el-form-item label="适用车型" prop="cllx" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="form.cllx" placeholder="请选择适用车型" multiple>-->
<!-- <el-option-->
<!-- v-for="item in applyArcticOptions"-->
<!-- placeholder="请选择"-->
<!-- :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-input v-model="form.cycvppsbm" placeholder="选择乘用车VPPS编码" @click.native="choiceZRR2('cycvppsbm', '乘用车VPPS', form.cycvppsbm)"></el-input>
<tree-select-new
@@ -793,7 +837,7 @@
</el-select>
</el-form-item>
<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
v-for="item in qcdwOptions"
placeholder="请选择"
@@ -816,28 +860,52 @@
</el-form-item>
</el-col>
<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>
<el-option
v-for="item in sycpxOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<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
style="margin-left: -12px"
:config="sycpxOptions"
v-model="form['sycpx']"
></custom-select-array>
</template>
<!-- <el-form-item label="适用产品线" prop="sycpx" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="form.sycpx" placeholder="请选择适用产品线" multiple>-->
<!-- <el-option-->
<!-- v-for="item in sycpxOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!--适用认证-->
<template>
<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-select v-model="form.zrgcs" placeholder="请选择责任工程师" multiple>
<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-input v-model="form.wssmr" placeholder="选择我司署名人" @click.native="choiceZRRS('wssmr', '选择我司署名人', form.wssmr)">
</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 v-if="form.standInData === '0'" label="我司参与深度" prop="cysd" class="add-form-item form-item-disabled">
<el-select v-model="form.cysd" placeholder="请选择我司参与深度">
@@ -894,6 +953,17 @@
></el-option>
</el-select>
</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-row>
</div>
@@ -1101,11 +1171,6 @@
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
@@ -1126,7 +1191,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -1134,7 +1199,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -1208,12 +1273,19 @@
<el-option value="FOREIGN" label="国外标准库"></el-option>
</el-select>
</el-form-item>
<el-form-item label="编号/名称" class="search-item">
<el-form-item label="标准编号" class="search-item">
<el-input
v-model="replaceLawsNumForm.standNumber"
placeholder="根据编号/名称查找"
clearable
:maxlength="100"></el-input>
v-model="replaceLawsNumForm.standNumber"
placeholder="根据标准编号查找"
clearable
: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 class="search-item btn-box">
<el-button
@@ -1310,6 +1382,7 @@
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import CustomSelectArray from '@/components/CustomFormComponents/SelectArray'
import ProcessTitle from '../../components/ProcessTitle'
import {
inboundLiaisonDetail,
@@ -1332,12 +1405,14 @@ export default {
TreeSelectModule,
ProcessHeader,
ProcessFooter,
CustomSelectArray,
ProcessTitle,
TreeSelect,
TreeSelectNew
},
data () {
return {
modalShowRoleFlag: false,
fileList: [],
caFileList: [],
FBGBJBDFileList: [],
@@ -1348,6 +1423,7 @@ export default {
jdwjFileList: [],
zbjbdFileList: [],
kwjFileList: [],
xdbFileList: [],
glwjFileList: [],
textStatus:'',//
textStatusMap: {}, // idname
@@ -1413,6 +1489,7 @@ export default {
replaceLawsNumForm: {
dataSource: '',
standNumber: '', //
standName: '', //
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
@@ -1427,9 +1504,9 @@ export default {
replaceLoading: true,
replacePage: 1,
rules:{
/* standSort: [
standSort: [
{ required: true, message: '请选择标准类别', trigger: 'change' }
],*/
],
standNumber: [
{ required: true, message: '请输入标准编号', trigger: 'blur' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' }
@@ -1512,6 +1589,7 @@ export default {
qcdw: '', //
wssmr: '', //
cysd: '', //
cyzbpm:[],//
cllx: '', //
nylx: '',//
sycpx: '',// 线
@@ -1546,17 +1624,36 @@ export default {
standSystemOptions: [], //
busVppsOptions: [], //
modelOptions: [], //
applyArcticOptions: [], //
categoryOptions: [], //
applyArcticOptions: {
attrName: '适用车型',
options:[]
}, //
categoryOptions: {
attrName: '能源类型',
options:[]
}, //
gkglbmOptions: [], //
cbcdOptions: [], //
applyAuthOptions: [], //
applyAuthOptions: {
attrName: '适用认证',
options:[]
}, //
cysdOptions: [], //
cyzbpmOptions:[], //
wssmrOptions: [], //
qcdwOptions: [], //
sycpxOptions: [], // 线
zrbmOptions: [], //
zrgcsOptions: [], //
sycpxOptions: {
attrName: '适用产品线',
options:[]
}, // 线
zrbmOptions: {
attrName: '责任部门',
options:[]
}, //
zrgcsOptions: {
attrName: '责任工程师',
options:[]
}, //
txlbOptions: [], //
data: [], //
ListForm: {}, //
@@ -1572,6 +1669,7 @@ export default {
drawerModal: false,
nodeList: [],
selectPeople:'',
nodeList2: []
}
},
computed: {
@@ -1580,6 +1678,23 @@ export default {
},
},
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) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
@@ -1609,7 +1724,7 @@ export default {
}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(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))
}
@@ -1674,7 +1789,6 @@ export default {
}
},
choiceZRRS (type, title, id) {
console.log('2077',title)
this.nodeList = []
this.nodeList.push(id)
this.userType = type
@@ -2045,6 +2159,9 @@ export default {
case 'kwj':
this.kwjFileList=fileList;
break;
case 'xdb':
this.xdbFileList=fileList;
break;
case 'ca':
this.caFileList=fileList;
break;
@@ -2082,6 +2199,9 @@ export default {
case 'kwj':
this.kwjFileList=fileList;
break;
case 'xdb':
this.xdbFileList=fileList;
break;
case 'ca':
this.caFileList=fileList;
break;
@@ -2113,6 +2233,8 @@ export default {
this.fileList=this.zbjbdFileList;
}else if (type==='kwj'){
this.fileList=this.kwjFileList;
}else if (type==='xdb'){
this.fileList=this.xdbFileList;
}else if (type==='glwj'){
this.fileList=this.glwjFileList;
}
@@ -2254,7 +2376,7 @@ export default {
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.commentText = processForm.commentText
// this.commentText = processForm.commentText
if (processForm.form === undefined) {
this.getFormFieldList(processForm)
} else {
@@ -2313,6 +2435,9 @@ export default {
case 'kwj':
this.getFileList(value,this.kwjFileList);
break;
case 'xdb':
this.getFileList(value,this.xdbFileList);
break;
case 'jdwj':
this.getFileList(value,this.jdwjFileList);
break;
@@ -2416,6 +2541,9 @@ export default {
this.form.kwj=this.kwjFileList.map(item => item.response.data.id).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.caName=this.caFileList.map(item => item.name).join(",")
@@ -2495,15 +2623,16 @@ export default {
this.standNatureOptions = res.data.SARPROPERTY //
this.standStateOptions = res.data.WBZTCLASS //
this.standSystemOptions = res.data.BZTXCLASS //
this.applyArcticOptions = res.data.ENERGYTYPES //
this.categoryOptions = res.data.NYLXCLASS //
this.applyAuthOptions = res.data.SYRZCLASS //
this.applyArcticOptions.options = res.data.ENERGYTYPES //
this.categoryOptions.options = res.data.NYLXCLASS //
this.applyAuthOptions.options = res.data.SYRZCLASS //
this.cysdOptions = res.data.WSCYSD //
this.cyzbpmOptions = res.data.CYZBPM //
this.wssmrOptions = res.data.WSSMR //
this.qcdwOptions = res.data.QCDW //
this.sycpxOptions = res.data.SYCPXCLASS // 线
this.zrbmOptions = res.data.ZRBMCLASS //
this.zrgcsOptions = res.data.ZRGCSCLASS //
this.sycpxOptions.options = res.data.SYCPXCLASS // 线
this.zrbmOptions.options = res.data.ZRBMCLASS //
this.zrgcsOptions.options = res.data.ZRGCSCLASS //
this.txlbOptions = res.data.TXLBCLASS //
this.gkglbmOptions = res.data.GKGLBM //
this.cbcdOptions = res.data.DEGREESTANDARD //
@@ -170,32 +170,32 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="实施日期(国际)" prop="ssrqgj" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.ssrqgj"
type="date"
placeholder="请选择实施日期(国际)">
</el-date-picker>
</el-form-item>
<el-form-item label="新车型实施日期(国际)" prop="xcxssrqgj" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.xcxssrqgj"
type="date"
placeholder="请选择新车型实施日期(国家)">
</el-date-picker>
</el-form-item>
<el-form-item label="在产车实施日期(国际)" prop="zccssrqgj" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.zccssrqgj"
type="date"
placeholder="请选择在产车实施日期(国家)">
</el-date-picker>
</el-form-item>
</el-col>
<!-- <el-col :span="12">-->
<!-- <el-form-item label="实施日期(国际)" prop="ssrqgj" class="add-form-item form-item-disabled">-->
<!-- <el-date-picker-->
<!-- disabled-->
<!-- v-model="form.ssrqgj"-->
<!-- type="date"-->
<!-- placeholder="请选择实施日期(国际)">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="新车型实施日期(国际)" prop="xcxssrqgj" class="add-form-item form-item-disabled">-->
<!-- <el-date-picker-->
<!-- disabled-->
<!-- v-model="form.xcxssrqgj"-->
<!-- type="date"-->
<!-- placeholder="请选择新车型实施日期(国家)">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="在产车实施日期(国际)" prop="zccssrqgj" class="add-form-item form-item-disabled">-->
<!-- <el-date-picker-->
<!-- disabled-->
<!-- v-model="form.zccssrqgj"-->
<!-- type="date"-->
<!-- placeholder="请选择在产车实施日期(国家)">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
</el-row>
</div>
<ProcessTitle>
@@ -430,10 +430,12 @@
></el-input>
</el-form-item>
<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-option label="署名人1" value="1"></el-option>
<el-option label="署名人2" value="2"></el-option>
</el-select>
<el-input v-model="form.wssmr">
</el-input>
<!-- <el-select v-model="form.wssmr" placeholder="请选择我司署名人" multiple disabled>-->
<!-- <el-option label="署名人1" value="1"></el-option>-->
<!-- <el-option label="署名人2" value="2"></el-option>-->
<!-- </el-select>-->
</el-form-item>
<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>
@@ -613,11 +615,6 @@
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<!-- <el-table-column-->
<!-- type="selection"-->
<!-- width="55"-->
<!-- align="center">-->
<!-- </el-table-column>-->
<el-table-column
prop="name"
label="任务步骤"
@@ -638,7 +635,7 @@
sortable="custom"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -646,7 +643,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -39,6 +39,7 @@
<el-date-picker
v-model="form.endTime"
type="date"
:picker-options="pickerOptions"
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
@@ -47,12 +48,18 @@
<el-button size="small" type="primary" :disabled="!form.cid" @click="addfjList">选择附件</el-button>
</div>
<el-input
v-model="form.fjListId"
style="display: none;"
v-model="form.fjListId"
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="table-jump" @click="updataFj(item)" style="margin-right: 15px;" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<div class="fileClass" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
<span @click="fileLook(item)" >{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
@@ -63,12 +70,18 @@
v-model="form.modelNameList"
clearable
></el-input>
<div v-if="form.modelList.length > 0" class="fileClass" style="display: flex;">
<div v-for="(item, index) in form.modelList" :key="index" @click="fileUpload" style="margin-right: 5px; padding-left: 10px;">
{{ item.name }}
<div v-if="form.modelList.length > 0" class="fileClass" style="">
<div v-for="(item, index) in form.modelList" :key="index" style="margin-right: 5px; padding-left: 10px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else class="addButton" style="padding-left: 10px">
<div class="addButton" style="padding-left: 10px">
<el-button
type="primary"
class="common-button-primary"
@@ -83,8 +96,8 @@
</div>
</el-form>
</div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<el-collapse accordion v-model="activeNames">
<el-collapse-item title="回执说明" name="1">
<div style="margin: 10px 0;">
<el-input
type="textarea"
@@ -125,7 +138,7 @@
<el-input
v-model="roleForm.dockUserListName"
placeholder="选择责任部门对接人"
@click.native="choiceZRRS">
@click.native="choiceZRRS('1')">
</el-input>
</div>
</el-form-item>
@@ -149,13 +162,13 @@
<el-timeline-item timestamp="审定征求意见" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="directorUser" style="margin-bottom: 0">
<h4>技术管理中心主任</h4>
<h4>技术委员会相关专委会主任/研究总院职能部门领导技术管理中心主任</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.directorUser" style="display: none;"/>
<el-input
v-model="roleForm.directorUserName"
placeholder="选择技术管理中心主任"
@click.native="choiceZRR('directorUser', '选择技术管理中心主任', roleForm.directorUser)"
placeholder="选择技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任"
@click.native="choiceZRRS('2')"
/>
</div>
</el-form-item>
@@ -164,13 +177,13 @@
<el-timeline-item timestamp="批准征求意见" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="presidentUser" style="margin-bottom: 0">
<h4>工程研究总院院长</h4>
<h4>工程研究总院院长或标准法规主管副院长</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.presidentUser" style="display: none;"/>
<el-input
v-model="roleForm.presidentUserName"
placeholder="选择工程研究总院院长"
@click.native="choiceZRR('presidentUser', '选择工程研究总院院长', roleForm.presidentUser)"
placeholder="选择工程研究总院院长或标准法规主管副院长"
@click.native="choiceZRR('presidentUser', '选择工程研究总院院长或标准法规主管副院长', roleForm.presidentUser)"
/>
</div>
</el-form-item>
@@ -275,7 +288,7 @@
</div>
</el-drawer>
<Role-tree
is-title="选择责任部门对接人"
:is-title="drawerTitle2"
:is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
@@ -327,7 +340,7 @@
:action="fileUrl"
ref="importfile"
name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile"
:on-success="importFileSuccess"
:on-remove="importFileRemove"
@@ -347,12 +360,20 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, queryTaskFirst} from 'api/process'
import {saveTaskFirst, queryTaskFirst,taskDel} from 'api/process'
export default {
name: "bzzqyjStep1-1",
data() {
return {
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;//-8.64e7
}
},
drawerTitle2: '',
type2: '',
activeNames: '1',
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
OCRoptions: [],
@@ -386,14 +407,11 @@ export default {
{required: true, message: '请输入标准编号', trigger: 'change'},
],
endTime: [
{required: true, message: '请输入标准结束日期', trigger: 'change'},
{required: true, message: '请输入征求意见结束日期', trigger: 'change'},
],
cname: [
{required: true, message: '请输入标准名称', trigger: 'change'},
],
// fjListId: [
// {required: true, message: '', trigger: 'change'},
// ]
fjListId: [
{required: true, message: '请选择附件', trigger: 'change'},
]
},
//
standCommonlySearch: {
@@ -469,6 +487,18 @@ export default {
}
},
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) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
@@ -476,10 +506,10 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// 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
} else {
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false
}
//
@@ -552,8 +582,7 @@ export default {
window.open('/static/pdf/phone/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
},
addfjList() {
this.$http.get('lawss/sarStandFile/queryFileInfoNew', {
type: '0',
this.$http.get('lawss/sarStandFile/querySourceFileInfo', {
standId: this.form.standId
}, {
_this: this
@@ -564,7 +593,7 @@ export default {
this.fjList = res.data
this.fzlistModel = true
} else {
this.$message.warning('当前标准没有' + text + '文件')
this.$message.warning('当前标准没有文件')
this.fjList = []
}
}
@@ -667,7 +696,7 @@ export default {
//
pageSizeChange(pageSize) {
this.$store.getters.userInfo.configContent = pageSize
this.standCommonlySearch.size = pageSize
this.standCommonlySearch.pageSize = pageSize
this.sarStandCompareHis()
},
/**
@@ -716,8 +745,13 @@ export default {
idList += item.id
nameList += item.name
})
this.roleForm.dockUserList = idList
this.roleForm.dockUserListName = nameList
if (this.type2 === '1') {
this.roleForm.dockUserList = idList
this.roleForm.dockUserName = nameList
} else {
this.roleForm.directorUser = idList
this.roleForm.directorUserName = nameList
}
},
checkedRole(data) {
if (this.type === 'ministerUser') {
@@ -731,10 +765,19 @@ export default {
this.roleForm.presidentUserName = data[0].name
}
},
choiceZRRS() {
choiceZRRS(type) {
this.type2 = type
this.nodeList2 = []
if (this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
if (type === '1') {
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
},
@@ -756,7 +799,7 @@ export default {
this.$refs['Form'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.$http.get('lawss/activiti/startProcess', {
this.$http.post('lawss/activiti/startProcessRollBack', {
type: '3'
}, {}, res => {
if (res.ok) {
@@ -771,6 +814,12 @@ export default {
}, {}, res => {
if (res.success) {
this.$message.success('流程发起成功')
let taskId = {
id: this.$route.query.bpnId
}
taskDel(taskId).then(res=>{
return res
})
this.$router.push('/processCenter')
}
})
@@ -169,31 +169,28 @@
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">
prop="createTime"
label="创建时间"
align="center">
<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>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
prop="endTime"
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -38,6 +38,7 @@
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="form.endTime"
:picker-options="pickerOptions"
type="date"
placeholder="请选择结束日期">
</el-date-picker>
@@ -51,17 +52,17 @@
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="table-jump" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<div class="fileClass" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
<span @click="fileLook(item)" >{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<!-- <el-form-item label="文本状态" prop="textType" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- disabled-->
<!-- v-model="form.textType"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="上传附件" prop="modelNameList" class="add-form-item form-item-disabled">
<el-input
disabled
@@ -69,12 +70,18 @@
v-model="form.modelNameList"
clearable
></el-input>
<div v-if="form.modelList.length > 0" class="fileClass" style="display: flex;">
<div v-for="(item, index) in form.modelList" :key="index" @click="fileUpload" style="margin-right: 5px; padding-left: 10px;">
{{ item.name }}
<div v-if="form.modelList.length > 0" class="fileClass">
<div v-for="(item, index) in form.modelList" :key="index" style="margin-right: 5px; padding-left: 10px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else class="addButton" style="padding-left: 10px">
<div class="addButton" style="padding-left: 10px">
<el-button
type="primary"
class="common-button-primary"
@@ -89,8 +96,8 @@
</div>
</el-form>
</div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<el-collapse accordion v-model="activeNames">
<el-collapse-item title="回执说明" name="1">
<div style="margin: 10px 0;">
<el-input
type="textarea"
@@ -131,7 +138,7 @@
<el-input
v-model="roleForm.dockUserListName"
placeholder="选择责任部门对接人"
@click.native="choiceZRRS">
@click.native="choiceZRRS('1')">
</el-input>
</div>
</el-form-item>
@@ -155,13 +162,13 @@
<el-timeline-item timestamp="审定征求意见" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="directorUser" style="margin-bottom: 0">
<h4>技术管理中心主任</h4>
<h4>技术委员会相关专委会主任/研究总院职能部门领导技术管理中心主任</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.directorUser" style="display: none;"/>
<el-input
v-model="roleForm.directorUserName"
placeholder="选择技术管理中心主任"
@click.native="choiceZRR('directorUser', '选择技术管理中心主任', roleForm.directorUser)"
placeholder="选择技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任"
@click.native="choiceZRRS('2')"
/>
</div>
</el-form-item>
@@ -170,13 +177,13 @@
<el-timeline-item timestamp="批准征求意见" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="presidentUser" style="margin-bottom: 0">
<h4>工程研究总院院长</h4>
<h4>工程研究总院院长或标准法规主管副院长</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.presidentUser" style="display: none;"/>
<el-input
v-model="roleForm.presidentUserName"
placeholder="选择工程研究总院院长"
@click.native="choiceZRR('presidentUser', '选择工程研究总院院长', roleForm.presidentUser)"
placeholder="选择工程研究总院院长或标准法规主管副院长"
@click.native="choiceZRR('presidentUser', '选择工程研究总院院长或标准法规主管副院长', roleForm.presidentUser)"
/>
</div>
</el-form-item>
@@ -282,7 +289,7 @@
</div>
</el-drawer>
<Role-tree
is-title="选择责任部门对接人"
:is-title="drawerTitle2"
:is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
@@ -342,7 +349,7 @@
:action="fileUrl"
ref="importfile"
name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:before-upload="beginImportFile"
:on-success="importFileSuccess"
:on-remove="importFileRemove"
@@ -362,12 +369,21 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst} from 'api/process'
import {saveTaskFirst, taskDel} from 'api/process'
export default {
name: "bzzqyjStep1",
data() {
return {
drawerTitle2: '',
type2: '',
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;//-8.64e7
}
},
activeNames: '1',
bpnId: '',
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
OCRoptions: [],
@@ -402,11 +418,11 @@ export default {
{required: true, message: '请输入标准编号', trigger: 'change'},
],
endTime: [
{required: true, message: '请输入标准结束日期', trigger: 'change'},
{required: true, message: '请输入征求意见结束日期', trigger: 'change'},
],
// fjListId: [
// {required: true, message: '', trigger: 'change'},
// ]
fjListId: [
{required: true, message: '请选择附件', trigger: 'change'},
]
},
//
standCommonlySearch: {
@@ -482,6 +498,18 @@ export default {
}
},
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) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
@@ -489,10 +517,10 @@ export default {
var fileSuffix = filename.substring(index1, index2)
// 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
} else {
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件')
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件')
return false
}
//
@@ -557,7 +585,7 @@ export default {
updataFj(item) {
let id
let type = item.fileName.split('.')
if (type[1] === 'pdf') {
if (type[1] === 'pdf' || type[1] === 'PDF') {
id = item.attId
} else {
id = item.oriAttId
@@ -565,7 +593,7 @@ export default {
window.open('/static/pdf/phone/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
},
addfjList() {
this.$http.get('lawss/sarStandFile/queryFileInfo', {
this.$http.get('lawss/sarStandFile/querySourceFileInfo', {
standId: this.form.standId
}, {
_this: this
@@ -653,7 +681,7 @@ export default {
sarStandCompareHis() {
this.spinShow = true
var formData = this.standCommonlySearch
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', formData, {
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPageByWk1', formData, {
_this: this
}, res => {
this.standInfoList = res.data.list
@@ -668,7 +696,7 @@ export default {
//
pageSizeChange(pageSize) {
this.$store.getters.userInfo.configContent = pageSize
this.standCommonlySearch.size = pageSize
this.standCommonlySearch.pageSize = pageSize
this.sarStandCompareHis()
},
/**
@@ -719,8 +747,13 @@ export default {
idList += item.id
nameList += item.name
})
this.roleForm.dockUserList = idList
this.roleForm.dockUserListName = nameList
if (this.type2 === '1') {
this.roleForm.dockUserList = idList
this.roleForm.dockUserListName = nameList
} else {
this.roleForm.directorUser = idList
this.roleForm.directorUserName = nameList
}
},
checkedRole(data) {
if (this.type === 'ministerUser') {
@@ -734,10 +767,19 @@ export default {
this.roleForm.presidentUserName = data[0].name
}
},
choiceZRRS() {
choiceZRRS(type) {
this.type2 = type
this.nodeList2 = []
if (this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
if (type === '1') {
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
},
@@ -777,8 +819,16 @@ export default {
this.$refs['Form'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.$http.get('lawss/activiti/startProcess', {
type: '3'
this.$http.post('lawss/activiti/startProcessRollBack', {
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 => {
if (res.ok) {
var json = Object.assign(this.form, this.roleForm)
@@ -792,6 +842,14 @@ export default {
}, {}, res => {
if (res.success) {
this.$message.success('流程发起成功')
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push('/processCenter')
this.isSubmit = false
} else {
@@ -46,13 +46,30 @@
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">{{ item.fileName }}</div>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -100,31 +117,28 @@
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">
prop="createTime"
label="创建时间"
align="center">
<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>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
prop="endTime"
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -221,6 +235,18 @@ export default {
ProcessTitle
},
methods: {
filesUpload (file) { //
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
fileLook(file) { //
const attId = file.attId
this.$preview(attId)
},
handleTransfer() {
this.drawerModal = true
},
@@ -255,14 +281,7 @@ export default {
})
},
updataFj (item) {
let 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))
window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
},
getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", {
@@ -46,16 +46,30 @@
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="table-jump" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
<span @click="updataFj(item)">{{ item.fileName }}</span>
<el-button type="primary" class="common-button-primary" style="margin-left: 10px;" size="mini" @click="downloadFile(item.attId)">下载</el-button>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -190,23 +204,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -214,7 +225,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -386,6 +397,18 @@
ProcessTitle
},
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 () {
this.itermsConditionsFlag = false
},
@@ -464,14 +487,7 @@
})
},
updataFj(item) {
let 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))
window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
},
getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -523,6 +539,7 @@
id: id,
department: this.$store.getters.userInfo.upDeptName,
responUserName: this.$store.getters.userInfo.userName,
responUser: this.$store.getters.userInfo.userId
}
this.data.push(json)
this.itemId = id
@@ -572,7 +589,23 @@
},
handleSubmit() {
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 {
var a = 0
var b = 0
@@ -651,9 +684,9 @@
} else {
this.form.fjListId = data.fjListId || data.form.fjListId
}
this.form.textType = data.textType
this.form.modelList = data.modelList
this.form.modelNameList = data.modelNameList
this.form.textType = data.textType || data.form.textType
this.form.modelList = data.modelList || data.form.modelList
// this.form.modelNameList = data.modelNameList || data.form.modelNameList
this.form.cid = data.cid || data.form.cid
this.form.endTime = data.endTime || data.form.endTime
this.todoId = res.id
@@ -46,29 +46,43 @@
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item label="标准法规工程师分线管理员" prop="spId" class="add-form-item form-item-disabled">
<el-form-item label="标准法规工程师分线管理员" prop="bzfgId" class="add-form-item form-item-disabled">
<el-input
v-model="form.bzfgId"
style="display: none;"
clearable
></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-col>
</el-row>
@@ -169,23 +183,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -193,7 +204,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -312,6 +323,18 @@
ProcessTitle
},
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) {
this.form.bzfgId = data[0].id
this.form.bzfgName = data[0].name
@@ -365,14 +388,7 @@
})
},
updataFj(item) {
let 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))
window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
},
getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -407,6 +423,8 @@
}
this.isSubmit = false
})
} else {
this.$message.warning('请选择标准法规工程师分线管理员')
}
})
},
@@ -446,10 +464,14 @@
this.form.cid = data.cid || data.form.cid
this.form.endTime = data.endTime || data.form.endTime
this.form.cname = data.cname || data.form.cname
this.form.textType = data.textType
this.form.modelList = data.modelList
this.form.modelNameList = data.modelNameList
this.form.bzfgId = data.bzfgId || ''
this.form.textType = data.textType || data.form.textType
this.form.modelList = data.modelList || data.form.modelList
this.form.modelNameList = data.modelNameList || data.form.modelNameList
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.data = data.info || data.data
}).catch(e => {
@@ -46,16 +46,30 @@
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -161,23 +175,20 @@
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') : '' }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -185,7 +196,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -304,6 +315,18 @@
ProcessTitle
},
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) {
this.form.bzfgId = data[0].id
this.form.bzfgName = data[0].name
@@ -357,14 +380,7 @@
})
},
updataFj(item) {
let 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))
window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
},
getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -432,9 +448,9 @@
this.form.cid = data.cid || data.form.cid
this.form.endTime = data.endTime || data.form.endTime
this.form.cname = data.cname || data.form.cname
this.form.textType = data.textType
this.form.modelList = data.modelList
this.form.modelNameList = data.modelNameList
this.form.textType = data.textType || data.form.textType
this.form.modelList = data.modelList || data.form.modelList
this.form.modelNameList = data.modelNameList || data.form.modelNameList
this.form.bzfgId = data.bzfgId || ''
this.json = data
this.data = data.info || data.data
@@ -42,20 +42,34 @@
</el-form-item>
<el-form-item label="标准附件" prop="fjListId" class="add-form-item form-item-disabled">
<el-input
v-model="form.fjListId"
style="display: none;"
v-model="form.fjListId"
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -170,7 +184,7 @@
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
@@ -197,31 +211,28 @@
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">
prop="createTime"
label="创建时间"
align="center">
<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>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
prop="endTime"
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -396,6 +407,18 @@ export default {
ProcessTitle
},
methods: {
filesUpload (file) { //
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
fileLook(file) { //
const attId = file.attId
this.$preview(attId)
},
handleSelectionChange(val) {
this.idList = []
val.forEach(item => {
@@ -436,8 +459,9 @@ export default {
newText: '',
reason: '',
id: id,
department: this.$store.getters.userInfo.upDeptName,
department: this.$store.getters.userInfo.institutionName,
responUserName: this.$store.getters.userInfo.userName,
responUser: this.$store.getters.userInfo.userId
}
this.data.push(json)
this.itemId = id
@@ -550,14 +574,7 @@ export default {
})
},
updataFj(item) {
let 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))
window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
},
getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -592,6 +609,8 @@ export default {
}
this.isSubmit = false
})
} else {
this.$message.warning('请选择审批人')
}
})
},
@@ -639,9 +658,9 @@ export default {
this.form.cid = data.cid || data.form.cid
this.form.endTime = data.endTime || data.form.endTime
this.form.cname = data.cname || data.form.cname
this.form.textType = data.textType
this.form.modelList = data.modelList
this.form.modelNameList = data.modelNameList
this.form.textType = data.textType || data.form.textType
this.form.modelList = data.modelList || data.form.modelList
this.form.modelNameList = data.modelNameList || data.form.modelNameList
this.form.spId = data.spId || ''
this.form.spName = data.spName || ''
this.json = data
@@ -46,16 +46,30 @@
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="fileClass" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -165,7 +179,7 @@
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
@@ -192,23 +206,20 @@
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") : "" }}</span>
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -216,7 +227,7 @@
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -382,6 +393,18 @@
ProcessTitle
},
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) { //
this.$http.get('SarStandItems/sar-stand-items/querySarItemAndInterpretation', {
standId: standId,
@@ -473,14 +496,7 @@
})
},
updataFj(item) {
let 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))
window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
},
getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", {
@@ -518,9 +534,6 @@
});
},
handleSubmit() {
if (this.data.length < 1) {
this.$message.warning("请输入征求意见搞");
} else {
this.isSubmit = true;
var json = this.json;
json.oldinfo = this.oldData;
@@ -537,7 +550,6 @@
}
this.isSubmit = false;
});
}
},
getData() {
return new Promise((resolve, reject) => {
@@ -556,9 +568,9 @@
this.form.cid = data.cid || data.form.cid;
this.form.endTime = data.endTime || data.form.endTime;
this.form.cname = data.cname || data.form.cname;
this.form.textType = data.textType
this.form.modelList = data.modelList
this.form.modelNameList = data.modelNameList
this.form.textType = data.textType || data.form.textType
this.form.modelList = data.modelList || data.form.modelList
this.form.modelNameList = data.modelNameList || data.form.modelNameList
// this.oldData = JSON.parse(JSON.stringify(data.summaryList))
// console.log(data);
// data.summaryList.forEach(item => {
@@ -580,11 +592,12 @@
if (data.introduce) {
} else {
this.$http.get("slrs/sar-public-idea-all/getPublicIdea", {
unique: data.unique
unique: data.uniques
}, {}, res => {
res.data.forEach(item => {
item.chapterNumber = item.partCode;
item.responUserName = item.userName;
item.state = '1'
this.data.push(item);
});
});
@@ -42,20 +42,34 @@
</el-form-item>
<el-form-item label="标准附件" prop="fjListId" class="add-form-item form-item-disabled">
<el-input
v-model="form.fjListId"
style="display: none;"
v-model="form.fjListId"
style="display: none;"
></el-input>
<div style="display: flex;">
<div class="table-jump" @click="updataFj(item)" style="margin-right: 15px;padding-left: 10px" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
<el-button type="primary" class="common-button-primary" size="mini" @click="downloadFile(item.attId)">下载</el-button>
<div class="fileClass"
style="margin-right: 15px;padding-left: 10px"
v-for="(item, index) in form.fjList"
:key="index">
<span @click="fileLook(item)">{{ item.fileName }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他附件" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.modelList.length > 0" style="display: flex;">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updataFj(item)">
{{ item.name }}
<div v-if="form.modelList.length > 0">
<div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;">
<span @click="fileLook(item)">{{ item.name }}</span>
<el-button
size="small"
@click="filesUpload(item)"
icon="el-icon-download"
style="height: 32px; margin-left: 5px;"
></el-button>
</div>
</div>
<div v-else>
@@ -181,31 +195,28 @@
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">
prop="createTime"
label="创建时间"
align="center">
<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>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
prop="endTime"
label="完成时间"
align="center">
<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>
</el-table-column>
<el-table-column
@@ -320,6 +331,18 @@ export default {
ProcessTitle
},
methods: {
filesUpload (file) { //
const attId = file.attId
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
},
fileLook(file) { //
const attId = file.attId
this.$preview(attId)
},
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
@@ -364,14 +387,7 @@ export default {
})
},
updataFj(item) {
let 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))
window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
},
getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", {
@@ -389,34 +405,38 @@ export default {
}
},
upload(row, title) {
console.log(row);
return
var params = {
columnName: {
chapterNumber: "章条编号",
chapterName: "章节名称",
commentText: "修改意见内容(包括理由或依据)",
oldText: "修改",
newText: "修改",
reason: "修改理由",
department: "提出部门",
responUserName: "提出人",
stateText: "处理意见"
},
dataList: []
};
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 = "不上报";
if (row.length > 0) {
var params = {
columnName: {
chapterNumber: "章条编号",
chapterName: "章节名称",
commentText: "修改意见内容(包括理由或依据)",
oldText: "修改",
newText: "修改",
reason: "修改理由",
department: "提出部门",
responUserName: "提出",
},
dataList: []
};
if (title === '上报意见.xls') {
params.columnName.stateText = "处理意见"
}
});
this.$http.downloadFile("/api/lawss/activiti/export_excel", params, title, res => {
});
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 = "不上报";
}
});
this.$http.downloadFile("/api/lawss/activiti/export_excel", params, title, res => {
});
} else {
this.$message.warning('无上报数据')
}
},
handleTabs(name) {
this.active = name;
@@ -424,9 +444,6 @@ export default {
handleSave() {
},
handleSubmit() {
if (this.data.length < 1) {
this.$message.warning("请输入征求意见搞");
} else {
this.isSubmit = true;
var json = this.json;
json.hqFlag = '0';
@@ -442,7 +459,6 @@ export default {
}
this.isSubmit = false;
});
}
},
handleSubmitNo() {
if (this.commentText) {
@@ -481,7 +497,6 @@ export default {
this.form.cid = data.cid || data.form.cid;
this.form.endTime = data.endTime || data.form.endTime;
this.form.cname = data.cname || data.form.cname;
this.oldData = JSON.parse(JSON.stringify(data.info))
var arr = []
data.info.forEach(item => {
@@ -490,9 +505,9 @@ export default {
}
})
this.json = data
this.form.textType = data.textType
this.form.modelList = data.modelList
this.form.modelNameList = data.modelNameList
this.form.textType = data.textType || data.form.textType
this.form.modelList = data.modelList || data.form.modelList
this.form.modelNameList = data.modelNameList || data.form.modelNameList
this.data = arr
}).catch(e => {
});

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