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

This commit is contained in:
liuhuaizhi
2021-07-21 13:23:54 +08:00
35 changed files with 1701 additions and 367 deletions
@@ -264,6 +264,7 @@ export default {
item.NameList = NameList
})
this.data = res.data
this.total = res.data.length
})
},
pageChange (page) {
+28 -2
View File
@@ -71,6 +71,9 @@
prop="useFlag"
label="角色状态"
width="170px">
<template slot-scope="scope">
<span>{{ scope.row.useFlag===0?'禁用':'启用' }}</span>
</template>
</el-table-column>
<el-table-column
prop="operator"
@@ -184,9 +187,20 @@
</el-form-item>
<el-form-item label="角色描述" prop="remarks" label-width="80px" class="add-form-item">
<el-input v-model="addForm.remarks"
placeholder="请输入上级描述"
placeholder="请输入角色描述"
clearable></el-input>
</el-form-item>
<el-form-item label="角色状态" prop="useFlag" style="margin-left: 10px">
<el-select class="bead-input" v-model="addForm.useFlag">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-form>
</div>
<div slot="footer">
@@ -243,7 +257,8 @@ export default {
SuperiorRoleModel: false,
addFormRules: {
name: [
{ required: true, message: '请输入角色名称', trigger: 'blur' }
{ required: true, message: '请输入角色名称', trigger: 'blur' },
{type: 'string', max: 100, message: '角色名称不能超过100个字符', trigger: 'blur'}
]
},
addForm: {
@@ -251,8 +266,19 @@ export default {
parentId: '', // 上级ID
remarks: '', // 角色描述
parent: '',
useFlag: '',
id: ''
},
options: [
{
value: "0",
label: "禁用",
},
{
value: "1",
label: "启用",
}
],
addModel: false,
treeData3: [],
defaultProps3: {
@@ -246,7 +246,7 @@
v-for="(file, fileIndex) in child.value"
:key="fileIndex"
>
|{{file.id}}|
<span style="cursor: pointer;" @click="openFileInPdf(file.id, file.oldFileName)">|{{file.id}}|</span>
<!--发布稿增补件单独设置下载权限-->
<template v-if="child.attrField === 'XGD' || child.attrField === 'FBGBJBD' || child.attrField === 'BPG'
|| child.attrField === 'SSG'|| child.attrField === 'ZQYJG'|| child.attrField === 'CA'
@@ -259,10 +259,10 @@ export default {
},
],
fileType: [
{ required: true, message: "文本状态称不能为空", trigger: "blur" },
{ required: true, message: "文本状态称不能为空", trigger: "change" },
],
fileName: [
{ required: true, message: '文件不能为空', trigger: 'blur' }
{ required: true, message: '文件不能为空', trigger: 'change' }
]
},
options: [
@@ -515,7 +515,8 @@ export default {
message: "文件上传成功",
type: "success",
});
// this.$refs['uploadFilesdfEo'].resetFields()
this.$refs['uploadFilesdfEo'].clearValidate('fileName')
this.$refs['uploadFilesdfEo'].clearValidate('standName')
} else {
this.defaultFileList = [];
this.uploadFilesdfEo.attId = "";
@@ -124,11 +124,10 @@ export default {
},
// 查询、加载数据
selectStandard () {
this.$http.get('sarPersonalCenter/sar-user-star/getList', {
current: this.page,
size: this.$store.getters.userInfo.configContent,
userId: this.$store.getters.userInfo.userId,
name: this.search.name
this.$http.get('person/personCollect/page', {
pageNo: this.page,
pageSize: this.$store.getters.userInfo.configContent,
collectTitle: this.search.name
}, {
_this: this,
loading: 'loading'
@@ -26,7 +26,7 @@ export default {
},
{
label: '项目合规评估流程',
value: '7'
value: '5'
},
{
label: '未符合项整改流程',
@@ -0,0 +1,556 @@
<template>
<div class="bzdyStep1-1">
<!-- 标准调研流程-->
<ProcessHeader toggle>
<template slot="proName">标准调研流程</template>
<template slot="proNode">申请人发起流程</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">人员信息</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="qbkwForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled">
<el-input
v-model="form.title"
placeholder="请输入调研标题"
clearable
></el-input>
</el-form-item>
<el-form-item label="完成时间" prop="date" class="add-form-item form-item-disabled">
<el-date-picker
v-model="form.date"
type="date"
placeholder="请选择完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="调研模板" prop="modelName" class="add-form-item form-item-disabled">
<el-input
disabled
style="display: none;"
v-model="form.modelName"
clearable
></el-input>
<div v-if="form.modelName" @click="fileUpload" class="fileClass">
{{ form.modelName }}
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
</div>
</el-form-item>
</el-col>
</el-row>
</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>
</div>
<div class="content" v-show="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<el-form
ref="Form"
:model="roleForm"
:rules="roleFormRules"
class="label-input-form">
<el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="startUserName" 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" placeholder="流程发起人" disabled></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择部门责任人" placement="top" :color="roleForm.dockUserName ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="dockUserName" style="margin-bottom: 0">
<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>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="审批" placement="top" :color="roleForm.ministerUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="ministerUserName" style="margin-bottom: 0">
<h4>标准法规部部长</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>
<el-input v-model="roleForm.ministerUserName" placeholder="选择标准法规部部长" @click.native="choiceZRR('ministerUser', '选择标准法规部部长', roleForm.ministerUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="审定" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="directorUserName" style="margin-bottom: 0">
<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>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="批准人" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="presidentUserName" style="margin-bottom: 0">
<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>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
>
</ProcessFooter>
<el-drawer
title="选择责任部门对接人"
:visible.sync="modalshowflag2"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag2"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList2"
highlight-current
check-strictly
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree2">
</el-tree>
<div id="roleFormButton2" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo2">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo2">取消</el-button>
</div>
</el-drawer>
<el-drawer
:title="drawerTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree">
</el-tree>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div>
</el-drawer>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload
multiple
drag
:action="fileUrl"
ref="importfile"
name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
:before-upload="beginImportFile"
:on-success="importFileSuccess"
:show-file-list="false"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
<p>点击或拖拽上传文件</p>
</div>
</el-upload>
</el-dialog>
</div>
</template>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { saveTaskFirst, queryTaskFirst } from 'api/process'
export default {
name: "bzdyStep1-1",
data() {
return {
commentText: '',
roleRow: {},
nodeList: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
title: '', // 新增编辑抽屉标题
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
title: '', // 调研标题
date: '', // 完成时间
model: '', // 上传模板
modelName: ''
},
formRules: {
title: [
{ required: true, message: '请输入调研标题', trigger: 'blur' },
],
date: [
{ type: 'date', required: true, message: '请选择完成时间', trigger: 'change' }
],
modelName: [
{ required: true, message: '请上传调研结果', trigger: 'change' },
]
},
roleForm: {
startUserName: this.$store.getters.userInfo.userName,
startUser: this.$store.getters.userInfo.userId,
dockUserList: '',
responUserList: '',
ministerUser: '',
directorUser: '',
presidentUser: '',
dockUserName: '',
responUserListName: '',
ministerUserName: '',
directorUserName: '',
presidentUserName: ''
},
roleFormRules: {
dockUserName: [
{ required: true, message: '请选择责任部门对接人', trigger: 'change' },
],
ministerUserName: [
{ required: true, message: '请选择标准法规部部长', trigger: 'change' },
],
directorUserName: [
{ required: true, message: '请选择技术管理中心主任', trigger: 'change' },
],
presidentUserName: [
{ required: true, message: '请选择工程研究院院长', trigger: 'change' },
]
},
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
nodeList2: [],
modalshowflag2: false,
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
getData () {
queryTaskFirst({
bpnId: this.$route.query.bpnId
}).then(res => {
let mes = JSON.parse(res.mes)
mes.form.date = new Date(this.$moment(mes.form.date).format('YYYY-MM-DD'))
this.form = mes.form
this.roleForm = mes.roleForm
this.commentText = mes.commentText
})
},
choiceZRRS () {
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
this.modalshowflag2 = true
},
saveUserInfo2 () {
var idList = ''
var nameList = ''
this.$refs.tree2.getCheckedNodes().concat(this.$refs.tree2.getHalfCheckedNodes()).forEach( item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
})
this.roleForm.dockUserList = idList
this.roleForm.dockUserName = nameList
this.modalshowflag2 = false
},
cancleUserInfo2 () {
this.modalshowflag2 = false
},
// 导入按钮 上传之前的钩子
beginImportFile (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 === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx'|| fileSuffix === '.pdf'|| fileSuffix === '.PDF'|| fileSuffix === '.jpg'|| fileSuffix === '.JPG'|| fileSuffix === '.png'|| fileSuffix === '.PNG') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS,PDF文件或图片')
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
},
// 导入标准数据成功后执行
importFileSuccess (response, file) {
if (response.ok) {
this.fileMadel = false
this.form.model = response.data.id
this.form.modelName = response.data.name
this.$message({
showClose: true,
message: response.message,
type: 'success'
})
}
},
fileUpload () {
this.fileMadel = true
},
saveUserInfo () {
if (this.type === 'dockUser') {
this.roleForm.dockUser = this.roleRow.id
this.roleForm.dockUserName = this.roleRow.name
} else if (this.type === 'ministerUser') {
this.roleForm.ministerUser = this.roleRow.id
this.roleForm.ministerUserName = this.roleRow.name
} else if (this.type === 'directorUser') {
this.roleForm.directorUser = this.roleRow.id
this.roleForm.directorUserName = this.roleRow.name
} else if (this.type === 'presidentUser') {
this.roleForm.presidentUser = this.roleRow.id
this.roleForm.presidentUserName = this.roleRow.name
}
this.modalshowflag = false
},
cancleUserInfo () {
this.modalshowflag = false
},
drawerCheck (data) {
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
if(getlist.length == 1) {
this.roleRow = getlist[0]
}else {
this.$refs.tree.setCheckedKeys([data.id]);
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
}
},
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = true
},
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
},
handleTabs(name) {
this.active = name
},
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', '2')
_formData.append('json', JSON.stringify({
form: this.form,
roleForm: this.roleForm
}))
saveTaskFirst(_formData).then(res => {
this.saveLoading = false
this.$message.success('保存成功')
this.bpnId = res.result
}).catch(e => {
this.saveLoading = false
})
},
handleSubmit() {
this.$refs['qbkwForm'].validate((valid) => {
if (valid) {
this.$refs['Form'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.$http.get('lawss/activiti/startProcess', {
type: '2'
}, {}, res => {
if (res.ok) {
var json = Object.assign(this.form, this.roleForm)
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: res.data,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('流程发起成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.isSubmit = false
this.$message.warning('流程启动失败')
}
})
} else {
return this.$message.warning('请完善人员信息')
}
})
} else {
return this.$message.warning('请完善基础信息')
}
})
}
},
mounted () {
this.getData()
this.getTree()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzdyStep1-1 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
position: relative;
height: 100%;
.fileClass {
cursor: pointer;
}
.fileClass:hover{
color: #0c91e5;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
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 {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -96,7 +96,7 @@
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择部门责任人" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''">
<el-timeline-item timestamp="选择部门责任人" placement="top" :color="roleForm.dockUserName ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="dockUserName" style="margin-bottom: 0">
<h4>责任部门对接人</h4>
@@ -159,8 +159,20 @@
:visible.sync="modalshowflag2"
:wrapperClosable="false"
size="800px">
<el-form
ref="attributeEO"
class="label-input-form"
:inline="true"
>
<el-form-item class="form-item-disabled" style="margin: 10px;">
<el-input
v-model="filterText2"
placeholder="请输入姓名"
></el-input>
</el-form-item>
</el-form>
<el-tree
v-if="modalshowflag2"
v-if="modalshowflag2 && open2"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
@@ -169,23 +181,52 @@
:default-checked-keys="nodeList2"
highlight-current
check-strictly
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree2"
:load="loadNode"
lazy>
</el-tree>
<el-tree
v-if="modalshowflag2 && !open2"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData2"
:props="defaultProps"
:default-checked-keys="nodeList2"
highlight-current
check-strictly
:expand-on-click-node="false"
default-expand-all
show-checkbox
ref="tree2">
</el-tree>
<div id="roleFormButton2" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo2">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo2">取消</el-button>
</div>
<loading style="z-index: 2099;" :loading="treeLoading">导入中...</loading>
</el-drawer>
<el-drawer
:title="drawerTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px">
<el-form
ref="attributeEO"
class="label-input-form"
:inline="true"
>
<el-form-item class="form-item-disabled" style="margin: 10px;">
<el-input
v-model="filterText1"
placeholder="请输入姓名"
></el-input>
</el-form-item>
</el-form>
<el-tree
v-if="modalshowflag"
v-if="modalshowflag && open1"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
@@ -195,15 +236,33 @@
highlight-current
check-strictly
@check="drawerCheck"
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree"
:load="loadNode"
lazy>
</el-tree>
<el-tree
v-if="modalshowflag && !open1"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData1"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
:expand-on-click-node="false"
default-expand-all
show-checkbox
ref="tree">
</el-tree>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div>
<loading style="z-index: 2099;" :loading="treeLoading">导入中...</loading>
</el-drawer>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload
@@ -230,11 +289,19 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { saveTaskFirst } from 'api/process'
export default {
name: "bzdyStep1",
data() {
return {
treeLoading: false,
treeData2: [],
treeData1: [],
open1: true,
open2: true,
filterText1: '',
filterText2: '',
commentText: '',
roleRow: {},
nodeList: [],
@@ -309,12 +376,56 @@ export default {
ProcessFooter,
ProcessTitle
},
watch: {
filterText1 (val) {
if (val.length) {
this.open1 = false
this.treeLoading = true
this.$http.get('SarInstitution/institution/institutionAndUser', {
userName: val
}, {}, res => {
this.treeData1 = res.data
this.treeLoading = false
})
} else {
this.open1 = true
}
},
filterText2 (val) {
if (val.length) {
this.open2 = false
this.treeLoading = true
this.$http.get('SarInstitution/institution/institutionAndUser', {
userName: val
}, {}, res => {
this.treeData2 = res.data
this.treeLoading = false
})
} else {
this.open2 = true
}
},
},
methods: {
loadNode(node, resolve) {
if (node.level === 0) {
return resolve(this.treeData);
}
this.getChildren(node, resolve)
},
getChildren (node, resolve) {
this.$http.get('SarInstitution/institution/getNext', {
institutionId: node.key
}, {}, res => {
resolve(res)
})
},
choiceZRRS () {
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
this.filterText2 = ''
this.modalshowflag2 = true
},
saveUserInfo2 () {
@@ -409,17 +520,39 @@ export default {
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.filterText1 = ''
this.modalshowflag = true
},
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
this.treeLoading = true
this.$http.get('SarInstitution/institution/getFirstInstitution', {}, {}, res=> {
this.treeData = res
this.treeLoading = false
})
},
handleTabs(name) {
this.active = name
},
handleSave() {},
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', '2')
_formData.append('json', JSON.stringify({
form: this.form,
roleForm: this.roleForm,
commentText: this.commentText
}))
saveTaskFirst(_formData).then(res => {
this.saveLoading = false
this.$message.success('保存成功')
this.bpnId = res.result
}).catch(e => {
this.saveLoading = false
})
},
handleSubmit() {
this.$refs['qbkwForm'].validate((valid) => {
if (valid) {
@@ -75,7 +75,6 @@
</el-collapse>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@@ -67,48 +67,48 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="附件" prop="modelName" class="add-form-item form-item-disabled">
<el-input
disabled
style="display: none;"
v-model="listForm.modelName"
clearable
></el-input>
<div v-if="listForm.modelName" @click="fileUpload" class="fileClass">
{{ listForm.modelName }}
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传
</el-button>
</div>
</el-form-item>
<!-- <el-form-item label="附件" prop="fileId" class="add-form-item form-item-disabled">-->
<!-- <el-upload-->
<!-- v-if="listForm.fileId == null || this.listForm.fileId== 'undefined' || this.listForm.fileId == '' "-->
<!-- :action="uploadFileListPath"-->
<!-- show-file-list-->
<!-- :file-list="fileInfoList"-->
<!-- name="file"-->
<!-- accept=".PDF, .pdf, .doc, .DOC, .docx, .DOCX, .xls, .xlsx, .ppt, .pptx, .PPT, .PPTX, .JPG, .JPEG, .PNG, .jpg, .jpeg, .png"-->
<!-- :on-remove="delFileInfo"-->
<!-- :on-success="uploadBackSuccess"-->
<!-- :before-upload="beforeUpload"-->
<!-- >-->
<!-- <el-button class="common-button-default" size="mini">-->
<!-- <el-form-item label="附件" prop="modelName" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- disabled-->
<!-- style="display: none;"-->
<!-- v-model="listForm.modelName"-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- <div v-if="listForm.modelName" @click="fileUpload" class="fileClass">-->
<!-- {{ listForm.modelName }}-->
<!-- </div>-->
<!-- <div v-else>-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- class="common-button-primary"-->
<!-- @click="fileUpload"-->
<!-- size="mini">-->
<!-- 点击上传-->
<!-- </el-button>-->
<!-- </el-upload>-->
<!-- <el-input-->
<!-- v-else-->
<!-- v-model="listForm.fileId"-->
<!-- placeholder=""-->
<!-- ></el-input>-->
<!-- </div>-->
<!-- </el-form-item>-->
<el-form-item label="附件" prop="fileId" class="add-form-item form-item-disabled">
<el-upload
v-if="listForm.fileId == null || this.listForm.fileId== 'undefined' || this.listForm.fileId == '' "
:action="uploadFileListPath"
show-file-list
:file-list="fileInfoList"
name="file"
accept=".PDF, .pdf, .doc, .DOC, .docx, .DOCX, .xls, .xlsx, .ppt, .pptx, .PPT, .PPTX, .JPG, .JPEG, .PNG, .jpg, .jpeg, .png"
:on-remove="delFileInfo"
:on-success="uploadBackSuccess"
:before-upload="beforeUpload"
>
<el-button class="common-button-default" size="mini">
点击上传
</el-button>
</el-upload>
<el-input
v-else
v-model="listForm.fileId"
placeholder=""
></el-input>
</el-form-item>
<el-form-item label="会签" prop="sign" class="add-form-item form-item-disabled">
<el-radio-group v-model="signFlag" @change="selectSign">
<el-radio label="1"></el-radio>
@@ -833,6 +833,7 @@ export default {
sarAccessListDatas: [], //国家地区清单表格
uploadFileListPath: "api/att/attFile/upload", // 上传的地址
fileInfoList: [], // 上传的附件
fileListName: [], //上传的附件名称
standardData: [], //添加标准数据
standardData1: [], //添加标准数据
ListModel: false, //选择清单抽屉状态
@@ -1063,6 +1064,8 @@ export default {
//提交事件
handleSubmit() {
let json = this.listForm;
this.listForm.fileId = this.fileInfoList.join(',')
this.listForm.fileName = this.fileListName.join(',')
// let json = Object.assign(this.listForm, this.roleForm)
json.zrUserId = this.roleForm.dockUser; //会签人
json.jlUserId = this.roleForm.directorUser; //业务经理
@@ -1107,10 +1110,54 @@ export default {
// 删除上传的文件
delFileInfo(file, fileList) {
this.fileInfoList = fileList
fileList.forEach(item => {
this.fileListName = item.name
})
},
fileUpload () {
this.fileMadel = true
},
// 上传文件成功回调
uploadBackSuccess (res, file, fileList) {
if (res.ok) {
fileList.forEach(item => {
this.fileListName = item.name
})
this.fileInfoList = fileList
this.fileInfoList[this.fileInfoList.length - 1].id = res.data.id
this.$message.success('上传成功')
} else {
this.$message.error(res.message)
fileList.pop()
}
},
// 相关附件 上传之前钩子
beforeUpload (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 !== undefined && fileSuffix !== null){
fileSuffix = fileSuffix.toUpperCase()
}
// 判断上传文件格式
if (fileSuffix === '.PDF' || fileSuffix === '.DOC' || fileSuffix === '.DOCX' || fileSuffix === '.PPT'
|| fileSuffix === '.PPTX'|| fileSuffix === '.XLS'|| fileSuffix === '.XLSX'
|| fileSuffix === '.PNG'|| fileSuffix === '.JPG'|| fileSuffix === '.JPEG') {
return true
} else {
this.$message.error('文件' + file.name + '格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件')
return false
}
// 判断文件上传大小
if (file.size / 1024 / 1024 > 300) {
this.$message.warning('文件' + file.name + '大小不能超过300M')
return false
}
return true
},
// 点击查看
handlePreview (item) {
let routeUrl = this.$router.resolve({
@@ -373,6 +373,28 @@ export default {
},
selectThree() {
},
// 请求上传的文件信息
getFileInfo() {
// this.$http.get("att/attFile/getMultiFileInfos", {
// fileIds: this.sarAccessEO.fileIds
// }, {
// _this: this
// }, res => {
// console.log(res);
// this.$nextTick(() => {
// res.data.map(item => {
// // 赋值要回显的上传文件内容
// this.fileInfoList.push({
// name: item.oldFileName,
// uid: item.uid,
// status: item.status,
// id: item.id
// });
// });
// });
// }, e => {
// });
},
pageChange(page) {
this.page = page;
@@ -391,6 +413,7 @@ export default {
mounted() {
this.processTable()
this.getData()
this.getFileInfo()
// console.log(this.$store.getters.getHandleInfo);
}
};
@@ -1497,14 +1497,14 @@
console.log(bringData)
const json = Object.assign(bringData, bringData.attrInfoCaseMap);
this.form = JSON.parse(JSON.stringify(json))
this.form.qcdw = JSON.parse(JSON.stringify(json)).qcdw.split(',')
this.form.wssmr = JSON.parse(JSON.stringify(json)).wssmr.split(',')
this.form.zrgcs = JSON.parse(JSON.stringify(json)).zrgcs.split(',')
this.form.zrbm = JSON.parse(JSON.stringify(json)).zrbm.split(',')
this.form.syrz = JSON.parse(JSON.stringify(json)).syrz.split(',')
this.form.sycpx = JSON.parse(JSON.stringify(json)).sycpx.split(',')
this.form.nylx = JSON.parse(JSON.stringify(json)).nylx.split(',')
this.form.cllx = JSON.parse(JSON.stringify(json)).cllx.split(',')
this.form.qcdw = JSON.parse(JSON.stringify(json)).qcdw ? JSON.parse(JSON.stringify(json)).qcdw.split(',') : []
this.form.wssmr = JSON.parse(JSON.stringify(json)).wssmr ? JSON.parse(JSON.stringify(json)).wssmr.split(',') : []
this.form.zrgcs = JSON.parse(JSON.stringify(json)).zrgcs ? JSON.parse(JSON.stringify(json)).zrgcs.split(',') : []
this.form.zrbm = JSON.parse(JSON.stringify(json)).zrbm ? JSON.parse(JSON.stringify(json)).zrbm.split(',') : []
this.form.syrz = JSON.parse(JSON.stringify(json)).syrz ? JSON.parse(JSON.stringify(json)).syrz.split(',') : []
this.form.sycpx = JSON.parse(JSON.stringify(json)).sycpx ? JSON.parse(JSON.stringify(json)).sycpx.split(',') : []
this.form.nylx = JSON.parse(JSON.stringify(json)).nylx ? JSON.parse(JSON.stringify(json)).nylx.split(',') : []
this.form.cllx = JSON.parse(JSON.stringify(json)).cllx ? JSON.parse(JSON.stringify(json)).cllx.split(',') : []
this.defaultCheckedKeys = [this.form.standSystem];
this.defaultCheckedKeys1 = [this.form.cycvppsbm];
this.defaultCheckedKeys2 = [this.form.kccvppsbm];
@@ -1949,7 +1949,8 @@
saveTaskFirst(_formData).then(res => {
this.saveLoading = false
this.$message.success('保存成功')
// this.$router.push('/processCenter')
// 流程保存之后,应该流转至草稿页面
this.$router.push({path:'/processCenter?tabsName=TaskDraft'})
// this.bpnId = res.result
}).catch(e => {
this.saveLoading = false
@@ -1982,6 +1983,8 @@
if (res.success) {
this.$message.success(res.message)
this.isSubmit = false
// 流程提交之后,应该流转至待办任务页面
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
}
})
}
@@ -679,6 +679,7 @@
</template>
<script>
import {saveTaskFirst} from "api/process";
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
@@ -943,7 +944,31 @@ export default {
handleTabs(name) {
this.active = name
},
handleSave() {},
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.uName)
_formData.append('prcType', this.$route.query.type)
_formData.append('json', JSON.stringify({
prcForm: this.prcForm,
sarAccessInfoList: this.sarAccessInfoList,
sarAccessInfoListADMIN: this.sarAccessInfoListADMIN,
bzqdForm: this.bzqdForm,
listInfo: this.listInfo,
id: this.id
}))
saveTaskFirst(_formData).then(res => {
this.saveLoading = false
this.$message.success('保存成功')
// 流程保存之后,应该流转至草稿页面
this.$router.push({path:'/processCenter?tabsName=TaskDraft'})
// this.bpnId = res.result
}).catch(e => {
this.saveLoading = false
})
},
handleSubmit() {
this.isSubmit = false
this.form.commentText = this.commentText
@@ -958,6 +983,8 @@ export default {
}, res => {
if (res.success) {
this.$message.success(res.message)
// 流程提交之后,应该流转至待办任务页面
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
}else {
this.$message.success(res.message)
}
@@ -629,42 +629,49 @@ export default {
},
//提交事件
handleSubmit() {
var json = Object.assign(this.listForm, this.roleForm)
json.prcCreateUser = this.$store.getters.userInfo.userId;
json.prcCreateUserName = this.$store.getters.userInfo.account;
json.standId = this.listForm.standId;
json.XCXSSRQ = this.sarAccessListDatas[0].xcxssrqgj
json.ZCCSSRQ = this.sarAccessListDatas[0].zccssrqgj
this.$refs['listForm'].validate((valid) => {
if (valid) {
this.$refs['roleForm'].validate((valid) => {
this.dataList.forEach(item => {
if(item.distributePerson === '' || item.distributePerson === null || item.distributePerson === undefined){
this.$message.warning('请选择分发责任人')
} else {
var json = Object.assign(this.listForm, this.roleForm)
json.prcCreateUser = this.$store.getters.userInfo.userId;
json.prcCreateUserName = this.$store.getters.userInfo.account;
json.standId = this.listForm.standId;
json.XCXSSRQ = this.sarAccessListDatas[0].xcxssrqgj
json.ZCCSSRQ = this.sarAccessListDatas[0].zccssrqgj
this.$refs['listForm'].validate((valid) => {
if (valid) {
this.$http.get("lawss/activiti/startProcess", { type: "5" }, {
_this: this
}, res => {
if (res.ok) {
this.$http.post("lawss/activiti/completeTask", {
taskIds: res.data,
userId: this.$store.getters.userInfo.userId,
json: JSON.stringify(json)
}, {
this.$refs['roleForm'].validate((valid) => {
if (valid) {
this.$http.get("lawss/activiti/startProcess", { type: "5" }, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message);
this.$router.push("/processCenter");
if (res.ok) {
this.$http.post("lawss/activiti/completeTask", {
taskIds: res.data,
userId: this.$store.getters.userInfo.userId,
json: JSON.stringify(json)
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message);
this.$router.push("/processCenter");
}
});
}
});
} else {
return this.$message.warning("请完善人员信息");
}
});
} else {
return this.$message.warning("请完善人员信息");
return this.$message.warning("请完善基础信息");
}
});
} else {
return this.$message.warning("请完善基础信息");
}
});
})
},
//选择拆分标准取消事件
closeDrawer() {
@@ -683,7 +690,6 @@ export default {
}, {
_this: this
}, res => {
console.log(res)
this.listForm.breakdownList = res.data;
this.ListModel = false;
}, e => {
@@ -227,7 +227,7 @@ export default {
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
passFlag: "1", //1为审批通过 2 为驳回
passFlag: " ", //为审批通过 1 为驳回
standNumber: "", //标准编号
standName: "",//标准名称
certifiedEngineer: "", //认证工程师
@@ -303,7 +303,6 @@ export default {
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
console.log(res.mesg);
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
@@ -317,7 +316,6 @@ export default {
*/
getFormFieldList (item) {
this.$nextTick(() => {
console.log(item.dataList)
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
@@ -332,7 +330,7 @@ export default {
//驳回事件
beforeBack () {
this.listForm.passFlag = '2'
this.listForm.passFlag = '1'
this.handleSubmit()
},
//提交事件
@@ -343,8 +341,6 @@ export default {
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.commentText = this.commentText;
this.listForm.standId = this.listForm.standId;
this.listForm.passFlag = '1';
this.listForm.signFlag = "";
this.listForm.breakdownList = this.listForm.breakdownList
const json = JSON.stringify(this.listForm);
this.$http.post('lawss/activiti/completeTask', {
@@ -102,7 +102,7 @@
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xCXSSRQ ? $moment(scope.row.xCXSSRQ).format('YYYY-MM-DD') : '' }}</span>
<span>{{ scope.row.xCXSSRQ ? $moment(scope.row.xCXSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
@@ -110,7 +110,7 @@
align="center"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zCCSSRQ ? $moment(scope.row.zCCSSRQ).format('YYYY-MM-DD') : '' }}</span>
<span>{{ scope.row.zCCSSRQ ? $moment(scope.row.zCCSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
@@ -121,7 +121,8 @@
<template slot-scope="scope,text" v-if="showColumn">
<div>
<div @click="choiceZRR(scope,'implementer', '选择落实人', roleForm.implementer)">
{{ listForm.breakdownList[scope.$index].implementer == null ? "请选择落实人" : listForm.breakdownList[scope.$index].implementer }}
{{ listForm.breakdownList[scope.$index].implementer == null ? "请选择落实人" : listForm.breakdownList[scope.$index].implementer
}}
</div>
</div>
</template>
@@ -269,6 +270,7 @@ export default {
sarProStateTableHeight: null, // 项目列表高度
// 当前流程类型(1待办/2已办)
processType: 1,
sarFlag: true,
loading: false,
// dataList: [],//清单里的标准数据
active: "1",
@@ -364,7 +366,6 @@ export default {
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
console.log(res.mesg);
if (res) {
const processForm = JSON.parse(res.mesg);
this.getFormFieldList(processForm);
@@ -386,6 +387,7 @@ export default {
for (let i = 0; i < item.pepdtos.length; i++) {
for (let j = 0; j < item.pepdtos[i].breakdownList.length; j++) {
this.listForm.breakdownList.push({
itemId: new Date().getTime(),
itemsName: item.pepdtos[i].breakdownList[j].itemsName,
itemNum: item.pepdtos[i].breakdownList[j].itemsNum,
responsibleEngineer: item.pepdtos[i].breakdownList[j].responsibleEngineer,
@@ -398,22 +400,31 @@ export default {
distributePersonId: item.pepdtos[i].distributePersonId,
uname: item.pepdtos[i].uname,
projectManager: item.pepdtos[i].projectManager,
certifiedEngineer: item.pepdtos[i].certifiedEngineer,
qualityEngineer: item.pepdtos[i].qualityEngineer,
certifiedEngineerName: item.pepdtos[i].certifiedEngineerName,
qualityEngineerName: item.pepdtos[i].qualityEngineerName,
standNumber: item.pepdtos[i].standNumber,
standName: item.pepdtos[i].standName,
xCXSSRQ: item.pepdtos[i].xCXSSRQ,
zCCSSRQ: item.pepdtos[i].zCCSSRQ,
xCXSSRQ: item.pepdtos[i].xCXSSRQ,
zCCSSRQ: item.pepdtos[i].zCCSSRQ
});
}
console.log(item.pepdtos);
}
},
saveUserInfo() {
if (this.type === "implementer") {
// 如果有勾选的项
if (this.selectList.length) {
this.listForm.breakdownList.forEach((item, index) => {
if (this.selectList.includes(item.itemId)) {
this.listForm.breakdownList[index].implementerId = this.roleRow.id;
this.listForm.breakdownList[index].implementer = this.roleRow.name;
}
});
} else {
this.listForm.breakdownList[this.dsadadadsada].implementerId = this.roleRow.id;
this.listForm.breakdownList[this.dsadadadsada].implementer = this.roleRow.name;
}
this.listForm.implementer = this.roleRow.name;
this.listForm.breakdownList[this.dsadadadsada].implementerId = this.roleRow.id;
this.listForm.breakdownList[this.dsadadadsada].implementer = this.roleRow.name;
this.showColumn = false;
this.$nextTick(() => {
this.showColumn = true;
@@ -443,28 +454,38 @@ export default {
},
//提交事件
handleSubmit() {
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.applyUpdUserId = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.zrUserId = this.$store.getters.userInfo.userId;
this.listForm.commentText = this.commentText;
this.listForm.approvalOpinion = "";
this.listForm.signFlag = "";
const json = JSON.stringify(this.listForm.breakdownList);
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.listForm.breakdownList.forEach(item => {
if (item.implementer === null || item.implementer === "" || item.implementer === undefined) {
this.sarFlag = false;
} else {
this.sarFlag = true;
}
}, e => {
});
if (this.sarFlag === true) {
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.applyUpdUserId = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.zrUserId = this.$store.getters.userInfo.userId;
this.listForm.commentText = this.commentText;
this.listForm.approvalOpinion = "";
this.listForm.signFlag = "";
const json = JSON.stringify(this.listForm.breakdownList);
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");
}
}, e => {
});
} else {
this.$message.warning("请选择落实人");
}
},
drawerCheck(data) {
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
@@ -477,10 +498,7 @@ export default {
},
//标准表格选择框改变
selectStandChange(data) {
this.selectList = [];
for (let i = 0; i < data.length; i++) {
this.selectList.push(data[i].id);
}
this.selectList = data.map(item => item.itemId);
},
selectThree() {
@@ -35,16 +35,16 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-form-item label="认证工程师" prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
v-model="listForm.certifiedEngineerName"
placeholder="请选择认证工程师"
clearable
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-form-item label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
v-model="listForm.qualityEngineerName"
placeholder="请选择质量工程师"
clearable
></el-input>
@@ -108,7 +108,7 @@
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xCXSSRQ ? $moment(scope.row.xCXSSRQ).format('YYYY-MM-DD') : '' }}</span>
<span>{{ scope.row.xCXSSRQ ? $moment(scope.row.xCXSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
@@ -117,7 +117,7 @@
align="center"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zCCSSRQ ? $moment(scope.row.zCCSSRQ).format('YYYY-MM-DD') : '' }}</span>
<span>{{ scope.row.zCCSSRQ ? $moment(scope.row.zCCSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
@@ -273,7 +273,7 @@
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
height="800px"
ref="selection"
:data="detailData"
tooltip-effect="dark"
@@ -306,7 +306,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") : "" }}</span>
</template>
</el-table-column>
<el-table-column
@@ -314,7 +314,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") : "" }}</span>
</template>
</el-table-column>
<el-table-column
@@ -322,7 +322,7 @@
label="审批意见"
align="center">
<template slot-scope="scope">
<span>{{scope.row.commentText}}</span>
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
@@ -330,7 +330,7 @@
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
@@ -365,7 +365,6 @@ export default {
},
data() {
return {
detailData: [],
sarProStateTableHeight: null, // 项目列表高度
// 当前流程类型(1待办/2已办)
@@ -373,7 +372,7 @@ export default {
loading: false,
dataList: [],//清单里的标准数据
active: "1",
userId:this.$store.getters.userInfo.userId,
userId: this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
listType: "country", //选择的清单类型
@@ -388,30 +387,30 @@ export default {
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
standNumber: "", //标准编号
standName: "",//标准名称
certifiedEngineer: "", //认证工程师
qualityEngineer: "", //质量工程师
standNumber: "", //标准编号
standName: "",//标准名称
certifiedEngineerName: "", //认证工程师
qualityEngineerName: "", //质量工程师
dataList: [{
projectManager: '',
itemsName: '',
uname: '',
projectNumber: '',
implementer: '',
implementerId: '',
productLine: '',
itemNum:'',
distributePerson:'',
projectName:'',
distributePersonId:'',
complianceReasons:'', //在研合规原因
noCompliance:'', //在研不合规项目
countermeasures:'', //在研应对措施
completionTime:'', //在研完成时间
zcComplianceReasons: '', //在产的合规原因
zcNoCompliance:'', //在产不合规项目
zcCountermeasures:'', //在产的应对措施
zcCompletionTime:'', //在产的完成时间
projectManager: "",
itemsName: "",
uname: "",
projectNumber: "",
implementer: "",
implementerId: "",
productLine: "",
itemNum: "",
distributePerson: "",
projectName: "",
distributePersonId: "",
complianceReasons: "", //在研合规原因
noCompliance: "", //在研不合规项目
countermeasures: "", //在研应对措施
completionTime: "", //在研完成时间
zcComplianceReasons: "", //在产的合规原因
zcNoCompliance: "", //在产不合规项目
zcCountermeasures: "", //在产的应对措施
zcCompletionTime: "" //在产的完成时间
}]
},
// listForm: {
@@ -455,17 +454,18 @@ export default {
};
},
methods: {
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: 'loading',
loading: "loading",
_this: this
}, res => {
this.detailData = res
}, e => {})
this.detailData = res;
}, e => {
});
},
//tab发生变化
handleTabs(name) {
@@ -479,37 +479,42 @@ export default {
}).then(res => {
console.log(res.mesg);
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
const processForm = JSON.parse(res.mesg);
this.getFormFieldList(processForm);
}
}).catch(e => {
})
})
});
});
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
getFormFieldList(item) {
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.listForm['id'] = item.id
this.dataList = item.step3DTOS
this.listForm.standName = item.step3DTOS[0].standName
this.listForm.standNumber = item.step3DTOS[0].standNumber
this.listForm.qualityEngineer = item.step3DTOS[0].qualityEngineer
this.listForm.certifiedEngineer = item.step3DTOS[0].certifiedEngineer
this.listForm.itemsName = item.step3DTOS[0].itemsName
this.listForm.itemNum = item.step3DTOS[0].itemNum
this.listForm.responsibleUnit = item.step3DTOS[0].responsibleUnit
this.listForm.responsibleEngineer = item.step3DTOS[0].responsibleEngineer
})
this.listForm = JSON.parse(JSON.stringify(item));
console.log(item.fenFlag);
if (item.fenFlag === undefined ) {
this.dataList = item.step3DTOS;
} else {
this.dataList = item.dataList;
}
this.listForm.prcNum = this.prcNum;
this.listForm.prcName = this.prcName;
this.listForm["id"] = item.id;
this.listForm.standName = item.step3DTOS[0].standName;
this.listForm.standNumber = item.step3DTOS[0].standNumber;
this.listForm.qualityEngineerName = item.step3DTOS[0].qualityEngineerName;
this.listForm.certifiedEngineerName = item.step3DTOS[0].certifiedEngineerName;
this.listForm.itemsName = item.step3DTOS[0].itemsName;
this.listForm.itemNum = item.step3DTOS[0].itemNum;
this.listForm.responsibleUnit = item.step3DTOS[0].responsibleUnit;
this.listForm.responsibleEngineer = item.step3DTOS[0].responsibleEngineer;
});
},
//保存事件
handleSave () {
handleSave() {
},
//提交事件
handleSubmit() {
@@ -517,18 +522,18 @@ export default {
this.listForm.commentText = this.commentText;
this.listForm.approvalOpinion = "";
this.listForm.signFlag = "";
this.listForm.dataList = this.dataList
this.listForm.dataList = this.dataList;
const json = JSON.stringify(this.listForm);
this.$http.post('lawss/activiti/completeTask', {
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.taskIds,
userId: this.userId,
json: json,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
this.$message.success(res.message);
this.$router.push("/processCenter");
}
}, e => {
@@ -554,13 +559,13 @@ export default {
}
},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
},
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
mounted() {
this.processTable()
this.getData()
this.processTable();
this.getData();
// console.log(this.$store.getters.getHandleInfo);
}
};
@@ -35,16 +35,16 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-form-item label="认证工程师" prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
v-model="listForm.certifiedEngineerName"
placeholder="请选择认证工程师"
clearable
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-form-item label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
v-model="listForm.qualityEngineerName"
placeholder="请选择质量工程师"
clearable
></el-input>
@@ -345,11 +345,11 @@ export default {
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
fenFlag: '1', //1为通过 其他为驳回
fenFlag: " ", //1为驳回 2为通过
standNumber: "", //标准编号
standName: "",//标准名称
certifiedEngineer: "", //认证工程师
qualityEngineer: "", //质量工程师
certifiedEngineerName: "", //认证工程师
qualityEngineerName: "", //质量工程师
breakdownList: [{ //分解单数据
implementer: "",
applyArctic: "",
@@ -432,7 +432,6 @@ export default {
* @description: 动态表单读取
*/
getFormFieldList (item) {
console.log(item);
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
@@ -441,27 +440,40 @@ export default {
this.dataList = item.dataList
this.listForm.standName = item.standName
this.listForm.standNumber = item.standNumber
this.listForm.qualityEngineer = item.qualityEngineer
this.listForm.certifiedEngineer = item.certifiedEngineer
this.listForm.qualityEngineerName = item.qualityEngineerName
this.listForm.certifiedEngineerName = item.certifiedEngineerName
this.listForm.responsibleUnit = item.responsibleUnit
this.listForm.responsibleEngineer = item.responsibleEngineer
})
},
//驳回事件
beforeBack () {
this.listForm.fenFlag = '2'
this.handleSubmit()
},
//提交事件
handleSubmit() {
this.listForm.applyUpdUserId = this.dataList[0].distributePersonId
this.listForm.commentText = this.commentText;
this.listForm.fenFlag = "1";
this.listForm.dataList = this.dataList
this.listForm.fenFlag = '1'
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')
}
}, e => {
});
},
//提交事件
handleSubmit() {
this.listForm.applyUpdUserId = this.dataList[0].distributePersonId
this.listForm.commentText = this.commentText;
this.listForm.dataList = this.dataList
this.listForm.fenFlag = '2'
const json = JSON.stringify(this.listForm);
console.log(json);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId: this.userId,
@@ -474,7 +486,6 @@ export default {
this.$router.push('/processCenter')
}
}, e => {
});
},
//标准表格选择框改变
@@ -504,7 +515,6 @@ export default {
mounted() {
this.processTable()
this.getData()
// console.log(this.$store.getters.getHandleInfo);
}
};
</script>
@@ -35,16 +35,16 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-form-item label="认证工程师" prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
v-model="listForm.certifiedEngineerName"
placeholder="请选择认证工程师"
clearable
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-form-item label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
v-model="listForm.qualityEngineerName"
placeholder="请选择质量工程师"
clearable
></el-input>
@@ -296,7 +296,6 @@
</div>
<ProcessFooter
show-back
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@@ -348,8 +347,8 @@ export default {
fenFlag: '1', //1为通过 其他为驳回
standNumber: "", //标准编号
standName: "",//标准名称
certifiedEngineer: "", //认证工程师
qualityEngineer: "", //质量工程师
certifiedEngineerName: "", //认证工程师
qualityEngineerName: "", //质量工程师
breakdownList: [{ //分解单数据
implementer: "",
applyArctic: "",
@@ -419,7 +418,6 @@ export default {
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
console.log(res.mesg);
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
@@ -432,17 +430,16 @@ export default {
* @description: 动态表单读取
*/
getFormFieldList (item) {
console.log(item);
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.listForm['id'] = item.id
this.dataList = item.step3DTOS
this.dataList = item.dataList
this.listForm.standName = item.step3DTOS[0].standName
this.listForm.standNumber = item.step3DTOS[0].standNumber
this.listForm.qualityEngineer = item.step3DTOS[0].qualityEngineer
this.listForm.certifiedEngineer = item.step3DTOS[0].certifiedEngineer
this.listForm.qualityEngineerName = item.step3DTOS[0].qualityEngineerName
this.listForm.certifiedEngineerName = item.step3DTOS[0].certifiedEngineerName
})
},
//驳回事件
@@ -503,7 +500,6 @@ export default {
mounted() {
this.processTable()
this.getData()
// console.log(this.$store.getters.getHandleInfo);
}
};
</script>
@@ -35,16 +35,16 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-form-item label="认证工程师" prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
v-model="listForm.certifiedEngineerName"
placeholder="请选择认证工程师"
clearable
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-form-item label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
v-model="listForm.qualityEngineerName"
placeholder="请选择质量工程师"
clearable
></el-input>
@@ -296,7 +296,6 @@
</div>
<ProcessFooter
show-back
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@@ -348,8 +347,8 @@ export default {
fenFlag: '1', //1为通过 其他为驳回
standNumber: "", //标准编号
standName: "",//标准名称
certifiedEngineer: "", //认证工程师
qualityEngineer: "", //质量工程师
certifiedEngineerName: "", //认证工程师
qualityEngineerName: "", //质量工程师
breakdownList: [{ //分解单数据
implementer: "",
applyArctic: "",
@@ -419,7 +418,6 @@ export default {
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
console.log(res.mesg);
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
@@ -432,7 +430,6 @@ export default {
* @description: 动态表单读取
*/
getFormFieldList (item) {
console.log(item.dataList);
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
@@ -501,7 +498,6 @@ export default {
mounted() {
this.processTable()
this.getData()
// console.log(this.$store.getters.getHandleInfo);
}
};
</script>
@@ -82,6 +82,9 @@
align="center"
width="180"
>
<template slot-scope="scope">
{{ scope.row.prcName || getPrcName(scope.row.prcType) }}
</template>
</el-table-column>
<el-table-column
prop="prcName"
@@ -210,6 +213,20 @@ export default {
},
dealWith (row) { // 办理
//草稿办理待开发
const { prcType, id } = row
switch (prcType) {
// 法规入库及评估流程
case '2':
this.$router.push({
name: 'bzdyStep1-1',
query: {
type: '2',
processName: '标准调研流程',
bpnId: id
}
})
break
}
},
...mapMutations(['setProcess', 'setHandleInfo']),
...mapActions(['setMenu'])
@@ -86,6 +86,12 @@
prop="countryArea"
label="国家/地区"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.countryArea !== null && scope.row.countryArea.indexOf(',') > 0">
<span>{{ scope.row.countryArea }}</span>
</span>
<span v-else>{{ countryAreaMap[scope.row.countryArea] }}</span>
</template>
</el-table-column>
<el-table-column
prop="detailedListName"
@@ -132,7 +138,7 @@
label="更新时间"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.updateTime ? $moment(scope.row.updateTime).format('YYYY-MM-DD hh:mm:ss') : scope.row.updateTime }}</div>
<div>{{ scope.row.updateTime ? $moment(scope.row.updateTime).format('YYYY-MM-DD') : scope.row.updateTime }}</div>
</template>
</el-table-column>
<el-table-column
@@ -170,6 +176,7 @@ export default {
name: "listOfCountries",
data() {
return {
countryAreaMap: {},
searching: false,
total: 0,
page: 1,
@@ -345,9 +352,16 @@ export default {
this.$router.push({
name: "ListOfStandardsAndRegulationsDetails",
query: {
id: item.id
id: item.id,
fileIds: item.fileIds
}
});
},
// 将文本状态的id与name对应
setMap(data){
data.forEach(item => {
this.$set(this.countryAreaMap, item.value, item.label)
})
}
},
mounted() {
@@ -358,6 +372,7 @@ export default {
_this: this
}, res => {
this.countryOptions = res.data.COUNTRY;
this.setMap(this.countryOptions)
}, e => {
});
}
@@ -352,7 +352,8 @@ export default {
this.$router.push({
name: "OtherAddEit",
query: {
id: item.id
id: item.id,
fileIds: item.fileIds
}
});
}
@@ -355,7 +355,8 @@ export default {
this.$router.push({
name: "ProjectAddEit",
query: {
id: item.id
id: item.id,
fileIds: item.fileIds
}
});
}
@@ -70,6 +70,7 @@
:on-remove="delFileInfo"
:on-success="uploadBackSuccess"
:before-upload="beforeUpload"
:on-preview="handleOnPreview"
>
<el-button class="common-button-default" size="mini">
点击上传
@@ -225,23 +226,35 @@
prop="issueTime"
sortable
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"
prop="xcxssrqgj"
sortable
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="zccssrq"
prop="zccssrqgj"
sortable
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
width="120px"
label="文本状态">
<template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textStatus] }}</span>
</template>
</el-table-column>
</el-table>
<el-table
@@ -336,25 +349,31 @@
>
</el-table-column>
<el-table-column
prop="issueTime"
prop="standEnName"
align="center"
width="180px"
label="英文名称">
</el-table-column>
<el-table-column
prop="issueTime"
prop="typeApplicable"
align="center"
width="180px"
label="适用车型">
<template slot-scope="scope">
<span>{{ typeApplicableMap[scope.row.typeApplicable] }}</span>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
prop="nylx"
align="center"
width="180px"
label="能源类型">
<template slot-scope="scope">
<span>{{ nylxMap[scope.row.nylx] }}</span>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
prop="putTime"
sortable
align="center"
width="210px"
@@ -362,55 +381,74 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="zccssrq"
prop="zccssrqgj"
sortable
width="210px"
align="center"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
prop="xcxssrqgj"
sortable
align="center"
width="210px"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="zccssrq"
prop="zrbm"
width="210px"
align="center"
label="责任部门">
<template slot-scope="scope">
<span>{{ zrbmMap[scope.row.zrbm] }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="sycpx"
width="180px"
align="center"
label="适用产品线">
<template slot-scope="scope">
<span>{{ sycpxMap[scope.row.sycpx] }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="cycvppsbm"
width="210px"
align="center"
label="乘用车VPPS编码">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="cycvppscn"
width="210px"
align="center"
label="乘用车VPPS中文名称">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="kccvppsbm"
align="center"
width="210px"
label="卡车VPPS编码">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="kccvppscn"
align="center"
width="210px"
label="卡车VPPS中文名称">
</el-table-column>
<el-table-column>
<el-table-column width="150">
<template slot-scope="scope">
<el-button
class="common-button-default"
@@ -421,6 +459,7 @@
<el-button
class="common-button-default"
type="danger"
style="margin-left: 0px"
size="small" @click="moveDown(scope.$index, scope.row)"
v-if="!disabledFlag"
>下移</el-button>
@@ -526,12 +565,19 @@ export default {
// }
// }
return {
textStatusMap: {},
typeApplicableMap: {},
nylxMap: {},
zrbmMap: {},
sycpxMap: {},
zrbmOptions: [],
selectSearch : [],
// 新增、编辑 基础信息字段
sarAccessEO: {
id: '',
sortKey: 1,
countryArea: '',
fileIds: '',
detailedListName: '',
energyKind: '',
type: '',
@@ -552,9 +598,6 @@ export default {
detailedListName: [
{required: true, message: '清单名称不能为空', trigger: 'blur'},
{type: 'string', max: 100, message: '表单名称不能超过100个字符', trigger: 'blur'}
],
remark: [
{required: true,type: 'string', max: 500, message: '表单名称不能超过500个字符', trigger: 'blur'}
]
},
disabledFlag: false,
@@ -846,7 +889,6 @@ export default {
uploadBackSuccess (res, file, fileList) {
if (res.ok) {
this.fileInfoList = fileList
console.log(this.fileInfoList)
this.fileInfoList[this.fileInfoList.length - 1].id = res.data.id
this.$message.success('上传成功')
} else {
@@ -854,6 +896,14 @@ export default {
fileList.pop()
}
},
// 点击上传的文件进行下载
handleOnPreview(file) {
let attId = file.id
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
// 相关附件 上传之前钩子
beforeUpload (file) {
var filename = file.name
@@ -1186,8 +1236,7 @@ export default {
this.fileInfoList.map(item => {
relateFile.push(item.id)
})
sarAccessEO.relateFile = relateFile.join(',')
console.log(sarAccessEO.relateFile)
sarAccessEO.fileIds = relateFile.join(',')
}
if (!sarAccessEO.id) {
// 新增
@@ -1201,12 +1250,8 @@ export default {
this.$message.success('新增成功')
this.isNext = true
this.$router.push({
name: 'AccessStandardsAndRegulations',
query: {
relateFile: sarAccessEO.relateFile
}
name: 'AccessStandardsAndRegulations'
})
console.log(sarAccessEO)
}
}, e => {
})
@@ -1237,6 +1282,19 @@ export default {
_this: this
}, res =>{
this.sarAccessInfoSearchList = res.data.list
this.sarAccessInfoSearchList.forEach(item => {
this.$set(item, 'zccssrqgj', item.attrInfoMap.ZCCSSRQGJ)
this.$set(item, 'xcxssrqgj', item.attrInfoMap.XCXSSRQGJ)
this.$set(item, 'sycpx', item.attrInfoMap.SYCPX)
this.$set(item, 'typeApplicable', item.attrInfoMap.CLLX)
this.$set(item, 'nylx', item.attrInfoMap.NYLX)
this.$set(item, 'zrbm', item.attrInfoMap.ZRBM)
this.$set(item, 'cycvppsbm', item.attrInfoMap.CYCVPPSBM)
this.$set(item, 'cycvppscn', item.attrInfoMap.CYCVPPSCN)
this.$set(item, 'kccvppsbm', item.attrInfoMap.KCCVPPSBM)
this.$set(item, 'kccvppscn', item.attrInfoMap.KCCVPPSCN)
})
console.log(this.sarAccessInfoSearchList)
}, e => {
})
},
@@ -1604,7 +1662,7 @@ export default {
// 请求上传的文件信息
getFileInfo () {
this.$http.get('att/attFile/getMultiFileInfos', {
fileIds: this.sarAccessEO.relateFile
fileIds: this.$route.query.fileIds
}, {
_this: this
}, res => {
@@ -1694,8 +1752,19 @@ export default {
_this: this
}, res => {
this.sarAccessInfoList = res.data
console.log(res.data)
}, e => {
})
},
// 将文本状态的id与name对应
setMap(data){
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label)
this.$set(this.typeApplicableMap, item.value, item.label)
this.$set(this.nylxMap, item.value, item.label)
this.$set(this.zrbmMap, item.value, item.label)
this.$set(this.sycpxMap, item.value, item.label)
})
}
},
watch: {
@@ -1732,6 +1801,15 @@ export default {
this.ROLELIST = res.data.ROLELIST
this.GXHBQOptions = res.data.GXHBQXX
this.askNatureOptions = res.data.ACCESSTYPE
this.zrbmOptions = res.data.ZRBMCLASS // 责任部门
this.categoryOptions = res.data.NYLXCLASS // 能源类型
this.textStatusOptions = res.data.WBZTCLASS
this.sycpxOptions = res.data.SYCPXCLASS // 适用产品线
this.setMap(this.textStatusOptions)
this.setMap(this.zrbmOptions)
this.setMap(this.categoryOptions)
this.setMap(this.sycpxOptions)
this.setMap(this.energyKindOptions)
this.getGzzOption()
}, e => {
})
@@ -11,7 +11,10 @@
<div v-show="heightShow" class="transition-box">
<p class="transition-box-p">
<label class="transition-box-label">国家/地区</label>
<span class="transition-box-span">{{ sarAccessEO.countryArea }}</span>
<span class="transition-box-span" v-if="sarAccessEO.countryArea.indexOf(',') >= 0">
<span>{{ sarAccessEO.countryArea }}</span>
</span>
<span class="transition-box-span" v-else>{{ countryAreaMap[sarAccessEO.countryArea] }}</span>
</p>
<p class="transition-box-p">
<label class="transition-box-label">清单说明</label>
@@ -21,7 +24,7 @@
<label class="transition-box-label">附件</label>
<div class="file-box" v-if="fileInfoList.length > 0">
<p v-for="item in fileInfoList"
:key="item.id">
:key="item.id"> {{ item.name }}
<i
title="下载"
@click="downloadFile(item.id)"
@@ -124,31 +127,35 @@
<el-table-column
prop="standName"
label="中文名称"
align="center"
fixed="left"
width="180px"
>
</el-table-column>
<el-table-column
prop="issueTime"
prop="standEnName"
align="center"
width="180px"
label="英文名称">
</el-table-column>
<el-table-column
prop="issueTime"
prop="typeApplicable"
align="center"
width="180px"
label="适用车型">
<template slot-scope="scope">
<span>{{ typeApplicableMap[scope.row.typeApplicable] }}</span>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
prop="nylx"
align="center"
width="180px"
label="能源类型">
<template slot-scope="scope">
<span>{{ nylxMap[scope.row.nylx] }}</span>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
prop="putTime"
sortable
align="center"
width="210px"
@@ -156,14 +163,14 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="zccssrq"
prop="zccssrqgj"
sortable
width="210px"
align="center"
label="在产车实施日期">
</el-table-column>
<el-table-column
prop="xcxssrq"
prop="xcxssrqgj"
sortable
align="center"
width="210px"
@@ -171,35 +178,48 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="zccssrq"
prop="zrbm"
width="210px"
align="center"
label="责任部门">
<template slot-scope="scope">
<span>{{ zrbmMap[scope.row.zrbm] }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="sycpx"
width="180px"
align="center"
label="适用产品线">
<template slot-scope="scope">
<span>{{ sycpxMap[scope.row.sycpx] }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="cycvppsbm"
width="210px"
align="center"
label="乘用车VPPS编码">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="cycvppscn"
width="210px"
align="center"
label="乘用车VPPS中文名称">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="kccvppsbm"
align="center"
width="210px"
label="卡车VPPS编码">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="kccvppscn"
align="center"
width="210px"
label="卡车VPPS中文名称">
@@ -256,6 +276,12 @@ export default {
name: "AccessStandardDetails",
data() {
return {
textStatusMap: {},
typeApplicableMap: {},
nylxMap: {},
zrbmMap: {},
sycpxMap: {},
countryAreaMap: {},
standinfoList: [],
standardFormTotal: 0,
relateDialog: false,
@@ -452,9 +478,8 @@ export default {
},
// 请求上传的文件信息
getFileInfo() {
console.log(this.sarAccessEO)
this.$http.get("att/attFile/getMultiFileInfos", {
fileIds: this.sarAccessEO.relateFile
fileIds: this.sarAccessEO.fileIds
}, {
_this: this
}, res => {
@@ -474,7 +499,7 @@ export default {
},
// 附件下载事件
fileDownLoad(attId) {
window.location.href = "/api/att/attFile/downloadFile?fileId=" + attId;
window.location.href = "/api/att/attFile/downloadFile?fileId=" + attId
},
// 点击查看
handlePreview(item) {
@@ -560,6 +585,17 @@ export default {
doLayout() {
this.$refs.adminTable && this.$refs.adminTable.doLayout();
this.$refs.skillTable && this.$refs.skillTable.doLayout();
},
// 将文本状态的id与name对应
setMap(data){
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label)
this.$set(this.typeApplicableMap, item.value, item.label)
this.$set(this.nylxMap, item.value, item.label)
this.$set(this.zrbmMap, item.value, item.label)
this.$set(this.sycpxMap, item.value, item.label)
this.$set(this.countryAreaMap, item.value, item.label)
})
}
},
mounted() {
@@ -589,6 +625,16 @@ export default {
this.ROLELIST = res.data.ROLELIST;
this.GXHBQOptions = res.data.GXHBQXX;
this.askNatureOptions = res.data.ACCESSTYPE;
this.zrbmOptions = res.data.ZRBMCLASS // 责任部门
this.categoryOptions = res.data.NYLXCLASS // 能源类型
this.textStatusOptions = res.data.WBZTCLASS
this.sycpxOptions = res.data.SYCPXCLASS // 适用产品线
this.setMap(this.textStatusOptions)
this.setMap(this.zrbmOptions)
this.setMap(this.categoryOptions)
this.setMap(this.sycpxOptions)
this.setMap(this.energyKindOptions)
this.setMap(this.drawerCountryOptions)
this.getGzzOption();
}, e => {
});
@@ -55,6 +55,7 @@
:on-remove="delFileInfo"
:on-success="uploadBackSuccess"
:before-upload="beforeUpload"
:on-preview="handleOnPreview"
>
<el-button class="common-button-default" size="mini">
点击上传
@@ -227,6 +228,9 @@
prop="textStatus"
width="120px"
label="文本状态">
<template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textStatus] }}</span>
</template>
</el-table-column>
</el-table>
<el-table
@@ -321,25 +325,31 @@
>
</el-table-column>
<el-table-column
prop="issueTime"
prop="standEnName"
align="center"
width="180px"
label="英文名称">
</el-table-column>
<el-table-column
prop="issueTime"
prop="typeApplicable"
align="center"
width="180px"
label="适用车型">
<template slot-scope="scope">
<span>{{ typeApplicableMap[scope.row.typeApplicable] }}</span>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
prop="nylx"
align="center"
width="180px"
label="能源类型">
<template slot-scope="scope">
<span>{{ nylxMap[scope.row.nylx] }}</span>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
prop="putTime"
sortable
align="center"
width="210px"
@@ -347,14 +357,14 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="zccssrq"
prop="zccssrqgj"
sortable
width="210px"
align="center"
label="在产车实施日期">
</el-table-column>
<el-table-column
prop="XCXSSRQ"
prop="xcxssrqgj"
sortable
align="center"
width="210px"
@@ -362,35 +372,48 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="zccssrq"
prop="zrbm"
width="210px"
align="center"
label="责任部门">
<template slot-scope="scope">
<span>{{ zrbmMap[scope.row.zrbm] }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="sycpx"
width="180px"
align="center"
label="适用产品线">
<template slot-scope="scope">
<span>{{ sycpxMap[scope.row.sycpx] }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="cycvppsbm"
width="210px"
align="center"
label="乘用车VPPS编码">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="cycvppscn"
width="210px"
align="center"
label="乘用车VPPS中文名称">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="kccvppsbm"
align="center"
width="210px"
label="卡车VPPS编码">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="kccvppscn"
align="center"
width="210px"
label="卡车VPPS中文名称">
@@ -511,11 +534,17 @@ export default {
// }
// }
return {
textStatusMap: {},
typeApplicableMap: {},
nylxMap: {},
zrbmMap: {},
sycpxMap: {},
selectSearch : [],
// 新增、编辑 基础信息字段
sarAccessEO: {
id: '',
sortKey: 4,
fileIds: '',
detailedList: '',
detailedListName: '',
energyKind: '',
@@ -1167,7 +1196,7 @@ export default {
this.fileInfoList.map(item => {
relateFile.push(item.id)
})
sarAccessEO.relateFile = relateFile.join(',')
sarAccessEO.fileIds = relateFile.join(',')
}
if (!sarAccessEO.id) {
// 新增
@@ -1584,7 +1613,7 @@ export default {
// 请求上传的文件信息
getFileInfo () {
this.$http.get('att/attFile/getMultiFileInfos', {
fileIds: this.sarAccessEO.relateFile
fileIds: this.$route.query.fileIds
}, {
_this: this
}, res => {
@@ -1678,7 +1707,24 @@ export default {
}, e => {
})
}
},
// 将文本状态的id与name对应
setMap(data){
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label)
this.$set(this.typeApplicableMap, item.value, item.label)
this.$set(this.nylxMap, item.value, item.label)
this.$set(this.zrbmMap, item.value, item.label)
this.$set(this.sycpxMap, item.value, item.label)
})
},
// 点击上传的文件进行下载
handleOnPreview(file) {
let attId = file.id
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
},
watch: {
// 监听 清单类型
@@ -1714,6 +1760,15 @@ export default {
this.ROLELIST = res.data.ROLELIST
this.GXHBQOptions = res.data.GXHBQXX
this.askNatureOptions = res.data.ACCESSTYPE
this.zrbmOptions = res.data.ZRBMCLASS // 责任部门
this.categoryOptions = res.data.NYLXCLASS // 能源类型
this.textStatusOptions = res.data.WBZTCLASS
this.sycpxOptions = res.data.SYCPXCLASS // 适用产品线
this.setMap(this.textStatusOptions)
this.setMap(this.zrbmOptions)
this.setMap(this.categoryOptions)
this.setMap(this.sycpxOptions)
this.setMap(this.energyKindOptions)
this.getGzzOption()
}, e => {
})
@@ -1723,9 +1778,10 @@ export default {
const accessRow = this.getAccessStandardRegRow
this.$nextTick(() => {
this.sarAccessEO.type = accessRow.type
this.sarAccessEO.countryArea = accessRow.countryArea.split(',')
//this.sarAccessEO.countryArea = accessRow.countryArea.split(',')
// this.sarAccessEO.applicationScope = accessRow.applicationScope.split(',')
this.sarAccessEO.detailedListName = accessRow.detailedListName
this.sarAccessEO.detailedList = accessRow.detailedList
this.sarAccessEO.id = accessRow.id
this.sarAccessEO.remark = accessRow.remark || ''
this.sarAccessEO.relateFile = accessRow.relateFile
@@ -55,6 +55,7 @@
:on-remove="delFileInfo"
:on-success="uploadBackSuccess"
:before-upload="beforeUpload"
:on-preview="handleOnPreview"
>
<el-button class="common-button-default" size="mini">
点击上传
@@ -227,6 +228,9 @@
prop="textStatus"
width="120px"
label="文本状态">
<template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textStatus] }}</span>
</template>
</el-table-column>
</el-table>
<el-table
@@ -321,25 +325,31 @@
>
</el-table-column>
<el-table-column
prop="issueTime"
prop="standEnName"
align="center"
width="180px"
label="英文名称">
</el-table-column>
<el-table-column
prop="issueTime"
prop="typeApplicable"
align="center"
width="180px"
label="适用车型">
<template slot-scope="scope">
<span>{{ typeApplicableMap[scope.row.typeApplicable] }}</span>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
prop="nylx"
align="center"
width="180px"
label="能源类型">
<template slot-scope="scope">
<span>{{ nylxMap[scope.row.nylx] }}</span>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
prop="putTime"
sortable
align="center"
width="210px"
@@ -347,14 +357,14 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="zccssrq"
prop="zccssrqgj"
sortable
width="210px"
align="center"
label="在产车实施日期">
</el-table-column>
<el-table-column
prop="XCXSSRQ"
prop="xcxssrqgj"
sortable
align="center"
width="210px"
@@ -362,40 +372,53 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="zccssrq"
prop="zrbm"
width="210px"
align="center"
label="责任部门">
<template slot-scope="scope">
<span>{{ zrbmMap[scope.row.zrbm] }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="sycpx"
width="180px"
align="center"
label="适用产品线">
<template slot-scope="scope">
<span>{{ sycpxMap[scope.row.sycpx] }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="cycvppsbm"
width="210px"
align="center"
label="乘用车VPPS编码">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="cycvppscn"
width="210px"
align="center"
label="乘用车VPPS中文名称">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="kccvppsbm"
align="center"
width="210px"
label="卡车VPPS编码">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
prop="kccvppscn"
align="center"
width="210px"
label="卡车VPPS中文名称">
</el-table-column>
<el-table-column>
<el-table-column width="150">
<template slot-scope="scope">
<el-button
class="common-button-default"
@@ -406,6 +429,7 @@
<el-button
class="common-button-default"
type="danger"
style="margin-left: 0px"
size="small" @click="moveDown(scope.$index, scope.row)"
v-if="!disabledFlag"
>下移</el-button>
@@ -511,11 +535,17 @@ export default {
// }
// }
return {
textStatusMap: {},
typeApplicableMap: {},
nylxMap: {},
zrbmMap: {},
sycpxMap: {},
selectSearch : [],
// 新增、编辑 基础信息字段
sarAccessEO: {
id: '',
sortKey: 2,
fileIds: '',
projectName: '',
detailedListName: '',
energyKind: '',
@@ -1151,7 +1181,6 @@ export default {
},
// 提交按钮 事件
saveSarAccess () {
alert()
this.$refs['sarAccessForm'].validate((valid) => {
if (valid) {
let rowlist = []
@@ -1169,7 +1198,7 @@ export default {
this.fileInfoList.map(item => {
relateFile.push(item.id)
})
sarAccessEO.relateFile = relateFile.join(',')
sarAccessEO.fileIds = relateFile.join(',')
}
if (!sarAccessEO.id) {
// 新增
@@ -1215,8 +1244,6 @@ export default {
_this: this
}, res =>{
this.sarAccessInfoSearchList = res.data.list
this.$nextTick(() => {
})
}, e => {
})
@@ -1586,7 +1613,7 @@ export default {
// 请求上传的文件信息
getFileInfo () {
this.$http.get('att/attFile/getMultiFileInfos', {
fileIds: this.sarAccessEO.relateFile
fileIds: this.$route.query.fileIds
}, {
_this: this
}, res => {
@@ -1680,7 +1707,24 @@ export default {
}, e => {
})
}
},
// 将文本状态的id与name对应
setMap(data){
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label)
this.$set(this.typeApplicableMap, item.value, item.label)
this.$set(this.nylxMap, item.value, item.label)
this.$set(this.zrbmMap, item.value, item.label)
this.$set(this.sycpxMap, item.value, item.label)
})
},
// 点击上传的文件进行下载
handleOnPreview(file) {
let attId = file.id
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
},
watch: {
// 监听 清单类型
@@ -1697,7 +1741,7 @@ export default {
},
mounted () {
this.zqaId =this.$route.query.id;
// this.getData()
//this.getData()
this.getDept()
// 从数据库中查询各下拉框数据
this.$http.get('sys/dictype/getDicTypeListCode', '', {
@@ -1716,6 +1760,15 @@ export default {
this.ROLELIST = res.data.ROLELIST
this.GXHBQOptions = res.data.GXHBQXX
this.askNatureOptions = res.data.ACCESSTYPE
this.zrbmOptions = res.data.ZRBMCLASS // 责任部门
this.categoryOptions = res.data.NYLXCLASS // 能源类型
this.textStatusOptions = res.data.WBZTCLASS
this.sycpxOptions = res.data.SYCPXCLASS // 适用产品线
this.setMap(this.textStatusOptions)
this.setMap(this.zrbmOptions)
this.setMap(this.categoryOptions)
this.setMap(this.sycpxOptions)
this.setMap(this.energyKindOptions)
this.getGzzOption()
}, e => {
})
@@ -1725,9 +1778,10 @@ export default {
const accessRow = this.getAccessStandardRegRow
this.$nextTick(() => {
this.sarAccessEO.type = accessRow.type
this.sarAccessEO.countryArea = accessRow.countryArea.split(',')
//this.sarAccessEO.countryArea = accessRow.countryArea.split(',')
// this.sarAccessEO.applicationScope = accessRow.applicationScope.split(',')
this.sarAccessEO.detailedListName = accessRow.detailedListName
this.sarAccessEO.projectName = accessRow.projectName
this.sarAccessEO.id = accessRow.id
this.sarAccessEO.remark = accessRow.remark || ''
this.sarAccessEO.relateFile = accessRow.relateFile
@@ -357,7 +357,7 @@
</el-form-item>
<el-form-item title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。"
prop="textStatus" label-width="150px" class="add-form-item">
<template slot="label">文本状态<i class="el-icon-warning-outline"></i></template>
<template slot="label">文本状态</template>
<el-select v-model="sarStandardsInfoEO.textStatus"
placeholder="请选择文本状态"
clearable>
@@ -1006,6 +1006,11 @@
<el-input v-model="sarStandardsSearch.standName" :placeholder="$t('m.searchByStandardName')" clearable :maxlength="500"
@keyup.enter.native="getDomesticStandardTableBtn(sarStandardsSearch)"></el-input>
</el-form-item>
<!-- 标准英文名称-->
<el-form-item :label="$t('m.standardEnglishName')" class="serch-form-item">
<el-input v-model="sarStandardsSearch.standEnName" :placeholder="$t('m.searchAccordingToStandardEnglishName')" clearable :maxlength="500"
@keyup.enter.native="getDomesticStandardTableBtn(sarStandardsSearch)"></el-input>
</el-form-item>
<!-- 标准类别-->
<el-form-item :label="$t('m.standardCategory')" class="serch-form-item">
<search-select
@@ -1027,20 +1032,161 @@
<el-input v-model="sarStandardsSearch.dtbjh" :placeholder="$t('m.lookUpByAlternativeCriteria')" clearable :maxlength="100"
@keyup.enter.native="getDomesticStandardTableBtn(sarStandardsSearch)"></el-input>
</el-form-item>
<!-- 标准年份-->
<el-form-item :label="$t('m.standardYear')" class="serch-form-item">
<el-date-picker
v-model="sarStandardsSearch.standYear"
type="date"
placeholder="根据标准年份查找">
</el-date-picker>
</el-form-item>
<!-- 标准发布日期-->
<el-form-item label="标准发布日期" class="serch-form-item">
<el-date-picker
v-model="sarStandardsSearch.issueTime"
type="date"
placeholder="根据标准发布日期查找">
</el-date-picker>
</el-form-item>
<!-- 标准性质-->
<el-form-item :label="$t('m.standNatureShow')" class="serch-form-item">
<el-select v-model="sarStandardsSearch.standNature" placeholder="请选择标准性质" clearable
@keyup.enter.native="getDomesticStandardTableBtn(sarStandardsSearch)">
<el-option v-for="opt in standNatureOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">{{ opt.label}}</el-option>
</el-select>
</el-form-item>
<!-- 是否纳入标准清单-->
<el-form-item title="是否纳入标准清单" label="是否纳入标准清单">
<el-select v-model="sarStandardsSearch.isRelateAccess" class="advanced-one" placeholder="根据是否纳入标准清单查找">
<el-option value="yes" label=""></el-option>
<el-option value="no" label=""></el-option>
</el-select>
</el-form-item>
<!-- 实施日期-->
<el-form-item label="实施日期">
<el-date-picker
v-model="sarStandardsSearch.putTime"
type="date"
placeholder="根据实施日期查找">
</el-date-picker>
</el-form-item>
<!-- 新车型实施日期-->
<el-form-item title="新车型实施日期" label="新车型实施日期">
<el-date-picker
v-model="sarStandardsSearch.XCXTime"
type="date"
placeholder="根据新车型实施日期查找">
</el-date-picker>
</el-form-item>
<!-- 在产车实施日期-->
<el-form-item title="在产车实施日期" label="在产车实施日期">
<el-date-picker
v-model="sarStandardsSearch.ZCCTime"
type="date"
placeholder="根据在产车实施日期查找">
</el-date-picker>
</el-form-item>
<!-- 归口管理部门-->
<el-form-item label="归口管理部门">
<el-input v-model="sarStandardsSearch.nameShow" clearable placeholder="根据归口管理部门查找"
@keyup.enter.native="btnSearch"></el-input>
</el-form-item>
<!-- 起草单位-->
<el-form-item label="起草单位">
<el-select v-model="sarStandardsSearch.qcdw" placeholder="根据起草单位查找" clearable
@keyup.enter.native="getDomesticStandardTableBtn(sarStandardsSearch)">
<el-option v-for="opt in qcdwOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">{{ opt.label}}</el-option>
</el-select>
</el-form-item>
<!-- 我司参与深度-->
<el-form-item label="我司参与深度">
<el-select v-model="sarStandardsSearch.nameShow" placeholder="请选择我司参与深度" clearable
@keyup.enter.native="getDomesticStandardTableBtn(sarStandardsSearch)">
<el-option v-for="opt in cysdOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">{{ opt.label}}</el-option>
</el-select>
</el-form-item>
<!-- 能源类型-->
<el-form-item label="能源类型">
<el-select v-model="sarStandardsSearch.energyKind" placeholder="请选择能源类型" clearable
@keyup.enter.native="getDomesticStandardTableBtn(sarStandardsSearch)">
<el-option v-for="opt in nylxOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">{{ opt.label}}</el-option>
</el-select>
</el-form-item>
<!-- 适用车型-->
<el-form-item :label="$t('m.applicableModels')" class="serch-form-item">
<el-select v-model="sarStandardsSearch.cllx" :placeholder="$t('m.searchAccordingToThApplicableModel')" clearable
<el-select v-model="sarStandardsSearch.applyArctic" :placeholder="$t('m.searchAccordingToThApplicableModel')" clearable
@keyup.enter.native="getDomesticStandardTableBtn(sarStandardsSearch)">
<el-option v-for="opt in applyArcticOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">{{ opt.label}}</el-option>
</el-select>
</el-form-item>
<!-- 适用产品线(新增字段)-->
<el-form-item :label="$t('m.applicableProductLine')" class="serch-form-item">
<el-select v-model="sarStandardsSearch.nylx" :placeholder="$t('m.searchByApplicableProductLine')" clearable
<el-select v-model="sarStandardsSearch.sycpx" :placeholder="$t('m.searchByApplicableProductLine')" clearable
@keyup.enter.native="getDomesticStandardTableBtn(sarStandardsSearch)">
<el-option v-for="opt in categoryOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">{{ opt.label}}</el-option>
<el-option v-for="opt in sycpxOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">{{ opt.label}}</el-option>
</el-select>
</el-form-item>
<!-- 适用认证-->
<el-form-item label="适用认证">
<el-select v-model="sarStandardsSearch.syzr" placeholder="根据适用认证查找" clearable
@keyup.enter.native="getDomesticStandardTableBtn(sarStandardsSearch)">
<el-option v-for="opt in syzrOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">{{ opt.label}}</el-option>
</el-select>
</el-form-item>
<!-- 责任部门-->
<el-form-item label="责任部门">
<el-select v-model="sarStandardsSearch.zrbm" placeholder="根据责任部门查找" clearable
@keyup.enter.native="getDomesticStandardTableBtn(sarStandardsSearch)">
<el-option v-for="opt in zrbmOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">{{ opt.label}}</el-option>
</el-select>
</el-form-item>
<!-- 责任工程师-->
<el-form-item label="责任工程师">
<el-select v-model="sarStandardsSearch.dutyEngineer" placeholder="根据责任工程师查找" clearable
@keyup.enter.native="getDomesticStandardTableBtn(sarStandardsSearch)">
<el-option v-for="opt in zrgcsOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">{{ opt.label}}</el-option>
</el-select>
</el-form-item>
<!-- 关联模块-VPPS编码-->
<el-form-item title="关联模块-VPPS编码" label="关联模块-VPPS编码" prop="standNumber">
<el-input v-model="sarStandardsSearch.svpps" clearable
placeholder="根据关联模块-VPPS编码查找"
@keyup.enter.native="btnSearch"></el-input>
</el-form-item>
<!-- 代替标准号-->
<el-form-item label="代替标准号">
<el-input v-model="sarStandardsSearch.replaceStandNum" clearable placeholder="根据代替标准号查找"
@keyup.enter.native="btnSearch"></el-input>
</el-form-item>
<!-- 关联模块-中文名称-->
<el-form-item title="关联模块-中文名称" label="关联模块-中文名称" prop="standNumber">
<el-input v-model="sarStandardsSearch.standNumber" clearable
placeholder="根据关联模块-中文名称"
@keyup.enter.native="btnSearch"></el-input>
</el-form-item>
<!-- 采标编号-->
<el-form-item label="采标编号" prop="nameShow">
<el-input v-model="sarStandardsSearch.nameShow" clearable placeholder="根据采标编号查找"
@keyup.enter.native="btnSearch"></el-input>
</el-form-item>
<!-- 采标程度-->
<el-form-item label="采标程度" prop="standNumber">
<el-input v-model="sarStandardsSearch.standNumber" clearable
placeholder="根据采标程度查找"
@keyup.enter.native="btnSearch"></el-input>
</el-form-item>
<!-- 引用标准-->
<el-form-item label="引用标准">
<el-input v-model="sarStandardsSearch.citeStand" clearable placeholder="根据引用标准查找"
@keyup.enter.native="btnSearch"></el-input>
</el-form-item>
<!-- 被引用标准-->
<el-form-item label="被引用标准">
<el-input v-model="sarStandardsSearch.citedStand" clearable
placeholder="根据被引用标准查找"
@keyup.enter.native="btnSearch"></el-input>
</el-form-item>
<!-- 关联模块(新增字段)-->
<el-form-item :label="$t('m.associatedModule')" class="serch-form-item">
<el-select v-model="sarStandardsSearch.cycvppsbm" :placeholder="$t('m.SearchByAssociatedModule')" clearable
@@ -1253,6 +1399,12 @@ export default {
categoryOptions: [], // 所属类别下拉框
categoryConfigOptions: [], // 所属类别下拉框
assemClassOptions: [], // 总成分类下拉框
qcdwOptions: [], // 起草单位
nylxOptions: [], // 能源类型
sycpxOptions: [], // 适用产品线
syzrOptions: [], // 适用认证
zrbmOptions: [], // 责任部门
zrgcsOptions: [], // 责任工程师
standAttributeList: [],
sarStandardsSearch: {
page: 1,
@@ -1261,19 +1413,33 @@ export default {
validFlag: '0',
menuId: '',
country: '',
standNumber: '',
standName: '',
standState: '',
standNature: '',
issueTime: '',
// applyArctic: '',
replaceStandNum: '',
// replaceStandNumCope: '',
// replaceStandNumList: [],
replacedStandNum: '',
standNumber: '', // 标准编号
standName: '', // 标准名称
standState: '', // 标准状态
issueTime: '', // 标准发布日期
svpps: '', // 关联模块-VPPS编码
replaceStandNum: '', // 代替标准号
replacedStandNum: '', // 被代替标准号
citeStand: '', // 引用标准
citedStand: '', // 被引用标准
synopsis: '', // 内容摘要
// category: '', // 所属类别
standSort: '' // 标准类别
applyArctic: '', // 适用车型
sycpx: '', // 适用产品线
syzr: '', // 适用认证
zrbm: '', // 责任部门
dutyEngineer: '', // 责任工程师
standSort: '', // 标准类别
standYear: '', // 标准年份
standEnName: '', // 标准英文名称
standNature: '', // 标准性质
putTime: '', // 实施日期
isRelateAccess: '', // 是否纳入标准清单
nameShow: '', // 我司参与深度
qcdw: '', // 起草单位
nameShow: '', // 归口管理部门
ZCCTime: '', // 在产车实施日期
XCXTime: '', // 新车型实施日期
energyKind: '', // 能源类型
}, // 分页查询过程中用到的对象
// 树形结构
// tree function
@@ -2114,7 +2280,6 @@ export default {
this.selectChildMenu(data)
this.productModal = true
// 取消所有的选中效果
this.handleSelectAll(false)
this.productTitle = '编辑信息'
// const newChild = { id: this.id++, label: 'testtest', children: [] };
// if (!data.children) {
@@ -2128,7 +2293,6 @@ export default {
this.selectChildMenu(data)
this.productModal = true
// 取消所有的选中效果
this.handleSelectAll(false)
this.productTitle = '新增下级菜单信息'
this.productModelAdd.dicTypeCode = ''
// const newChild = { id: this.id++, label: 'testtest', children: [] };
@@ -2148,7 +2312,7 @@ export default {
type: 'warning'
}).then(() => {
this.$http.delete("sarResource/ts-resource", {
menuId: data.id
resourceId: data.id
}, res => {
}, e => {
if(e.ok){
@@ -4077,7 +4241,7 @@ export default {
this.standNatureOptions = res.data.SARPROPERTY // 标准性质
this.standStateOptions = res.data.WBZTCLASS // 文本状态
this.standSystemOptions = res.data.BZTXCLASS // 标准体系
this.applyArcticOptions = res.data.ENERGYTYPES // 适用车型
this.applyArcticOptions = res.data.SYCXCLASS // 适用车型
this.categoryOptions = res.data.NYLXCLASS // 能源类型
this.applyAuthOptions = res.data.SYRZCLASS // 适用认证
this.cysdOptions = res.data.WSCYSD // 我司参与深度
@@ -4085,6 +4249,12 @@ export default {
this.zrbmOptions = res.data.ZRBMCLASS // 责任部门
this.zrgcsOptions = res.data.ZRGCSCLASS // 责任工程师
this.txlbOptions = res.data.TXLBCLASS // 体系类别
this.qcdwOptions = res.data.QCDW // 起草单位
this.nylxOptions = res.data.NYLXCLASS // 能源类型
this.sycpxOptions = res.data.SYCPXCLASS // 适用产品线
this.zrgcsOptions = res.data.ZRGCSCLASS // 责任工程师
this.zrbmOptions = res.data.ZRBMCLASS // 责任部门
this.syzrOptions = res.data.SYRZCLASS // 适用认证
this.getGzzOption()
this.setMap(this.standStateOptions)
console.log(this.standStateOptions, '文本状态')
@@ -4234,6 +4404,9 @@ export default {
text-align: center;
margin-top: 6px;
background: #F9F9F9;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis
}
/deep/.el-input__inner {
height: 30px;
@@ -4242,5 +4415,8 @@ export default {
}
}
}
.el-date-editor.el-input, .el-date-editor.el-input__inner{
width: 190px
}
</style>
@@ -231,7 +231,7 @@
取消收藏
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'e8d690904ee1895dd0d17d9c794fbcd7'">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '分享']" v-btn-permission="'413e676a155d6eb2dfbe08df8cbcf682'">分享</el-dropdown-item>
<!-- <el-dropdown-item :command="[scope.row, '分享']" v-btn-permission="'413e676a155d6eb2dfbe08df8cbcf682'">分享</el-dropdown-item>-->
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'413e676a155d6eb2dfbe08df8cbcf682'">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
@@ -3960,6 +3960,7 @@ export default {
this.assemClassOptions = res.data.ASSEMCLASSIFY //
this.categoryConfigOptions = res.data.CATEGORY
this.standAttributeList = res.data.RULETYPE
this.qcdwOptions = res.data.QCDW
this.getGzzOption()
this.setMap(this.standStateOptions)
}, e => {
@@ -142,80 +142,116 @@
align="center">
</el-table-column>
<el-table-column
width="150px"
align="center"
prop="productLineId"
label="产品线">
</el-table-column>
<el-table-column
width="150px"
align="center"
prop="standNumber"
label="项目编号">
</el-table-column>
<el-table-column
width="150px"
align="center"
prop="productName"
label="项目名称">
</el-table-column>
<el-table-column
width="150px"
align="center"
prop="standNumber"
label="标准编号">
</el-table-column>
<el-table-column
width="150px"
align="center"
prop="standName"
label="标准名称">
</el-table-column>
<el-table-column
width="150px"
align="center"
prop="standardItem"
label="标准章条">
label="条款号">
</el-table-column>
<el-table-column
width="150px"
align="center"
prop="standardInfo"
label="标准主要内容">
label="条款名称">
</el-table-column>
<el-table-column
align="productType"
align="center"
prop="productType"
label="在研产品">
<el-table-column
width="150px"
align="center"
prop="researchImplementationTime"
label="实施时间">
</el-table-column>
<el-table-column
width="150px"
align="center"
prop="researchCompliance"
label="合规">
</el-table-column>
<el-table-column
align="researchNonCompliance"
width="150px"
align="center"
label="不合规">
<el-table-column
width="150px"
align="center"
prop="researchNonCompliance"
label="不合规项目">
</el-table-column>
<el-table-column
width="150px"
align="center"
prop="researchCountermeasures"
label="应对措施">
</el-table-column>
<el-table-column
width="150px"
align="center"
prop="researchCompletionTime"
label="完成时间">
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column
align="center"
align="center"
prop="center"
label="在产产品">
<el-table-column
width="150px"
align="center"
prop="productionImplementationTime"
label="实施时间">
</el-table-column>
<el-table-column
width="150px"
align="center"
prop="productionCompliance"
label="合规(具体情况)">
</el-table-column>
<el-table-column
align="center"
width="150px"
align="center"
label="不合规">
<el-table-column
width="150px"
align="center"
prop="productionCountermeasures"
label="应对措施">
</el-table-column>
<el-table-column
width="150px"
align="center"
prop="productionCompletionTime"
label="完成时间">
</el-table-column>
@@ -293,6 +329,7 @@ export default {
this.sarProject.country = ''
this.sarProject.standCode=''
this.sarProject.standName = ''
this.sarProject.standNumber=''
this.queryStandAndLaws()
}, //
handleProjectCompliance (row) {
@@ -264,6 +264,7 @@ name: "technologyInvolveProject",
this.sarProject.country = ''
this.sarProject.standCode=''
this.sarProject.standName = ''
this.sarProject.standNumber=''
this.queryStandAndLaws()
}, //
handleProjectCompliance (row) {
@@ -167,17 +167,17 @@
label="责任部门">
</el-table-column>
<el-table-column
prop="dutyEngineer"
prop="dutyEngineerName"
width="150"
label="责任工程师">
</el-table-column>
<el-table-column
prop="authEngineer"
prop="authEngineerName"
width="150"
label="认证工程师">
</el-table-column>
<el-table-column
prop="qaEngineer"
prop="qaEngineerName"
width="150"
label="质量工程师">
</el-table-column>
+9
View File
@@ -438,6 +438,15 @@ const routes = [
title: '标准调研流程'
}
},
{
path: '/bzdyStep1-1',
name: 'bzdyStep1-1',
component: () => import('@/pages/processCenter/pages/creatProcess/bzdy/step1-1.vue'),
meta: {
requireAuth: true,
title: '标准调研流程'
}
},
{
path: '/bzdyStep2',
name: 'bzdyStep2',
+1 -1
View File
@@ -7,7 +7,7 @@
// const devIp = '39.98.140.126'
// const devInterfacePORT = '10005'
// const devIp = '192.168.10.248'
const devIp = '192.168.1.108'
const devIp = '192.168.1.102'
const devInterfacePORT = '9999'
// 云端端口号
const DEV_CLOUD_RES_INTERFACE_PORT = '7777'