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

# Conflicts:
#	src/components/navMenu/index.vue
This commit is contained in:
zhutianqi
2021-06-22 18:02:50 +08:00
26 changed files with 6864 additions and 3074 deletions
+7 -7
View File
@@ -387,13 +387,13 @@ export default {
// }
]
},
// {
// title: '搜索中心',
// path: '/advancedSearch',
// 'icon-class': 'search',
// menuId: 'K9BAYUPZBC',
// isChildren: true // 判断没有子菜单
// },
{
title: '搜索中心',
path: '/advancedSearch',
'icon-class': 'search',
menuId: 'K9BAYUPZBC',
isChildren: true // 判断没有子菜单
},
// {
// title: '标准比对库',
// path: '/standardComparisonLibrary',
@@ -7,7 +7,7 @@
</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 class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">流程信息</div>
</div>
<div class="content" v-if="active === '1'">
<div style="flex: auto; overflow: auto;">
@@ -44,7 +44,8 @@
<el-date-picker
v-model="form.standYear"
type="year"
placeholder="请选择标准年份">
placeholder="请选择标准年份"
value-format="yyyy">
</el-date-picker>
</el-form-item>
<el-form-item label="标准中文名称" prop="standName" class="add-form-item form-item-disabled">
@@ -545,7 +546,7 @@
</div>
</el-form>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
@@ -554,12 +555,12 @@
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="textarea">
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-if="active === '2'">
<div class="block" style="padding-top: 20px;">
@@ -623,11 +624,12 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst} from "api/process";
export default {
name: "bzrkStep1",
data () {
return {
textarea: '', // 意见
commentText: '', // 意见
title: '', // 新增编辑抽屉标题
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
@@ -737,11 +739,36 @@
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('/processCenter')
// this.bpnId = res.result
}).catch(e => {
this.saveLoading = false
})
},
handleSubmit() {
var json = this.form
json.zrUserId = this.$store.getters.userInfo.userId
json.jlUserId = this.$store.getters.userInfo.userId
json.commentText = this.commentText
json.applyUpdUserId = this.$store.getters.userInfo.userId
json.prcCreateUser = this.$store.getters.userInfo.userId
json.prcCreateUserName = this.$store.getters.userInfo.account
@@ -756,8 +783,8 @@
}, {
_this: this
}, res => {
console.log(res);
if (res.ok) {
if (res.success) {
this.$message.success(res.message)
}
})
}
@@ -3,11 +3,12 @@
<!-- 标准入库流程-->
<ProcessHeader toggle>
<template slot="proName">标准入库流程</template>
<template slot="proNode">申请人发起流程</template>
<template slot="proNode">经理人审批</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
<!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">流程信息</div>-->
</div>
<div class="content" v-if="active === '1'">
<div style="flex: auto; overflow: auto;">
@@ -45,7 +46,8 @@
disabled
v-model="form.standYear"
type="year"
placeholder="请选择标准年份">
placeholder="请选择标准年份"
value-format="yyyy">
</el-date-picker>
</el-form-item>
<el-form-item label="标准中文名称" prop="standName" class="add-form-item form-item-disabled">
@@ -528,7 +530,7 @@
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="textarea">
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
@@ -581,6 +583,75 @@
</el-timeline>
</div>
</div>
<div class="content" v-if="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="审批意见"
align="center">
<template slot-scope="scope">
<span>{{scope.row.commentText}}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-save
show-submit
@@ -597,13 +668,19 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail} from 'api/process'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default {
name: "bzrkStep2",
data () {
return {
// 当前流程类型(1待办/2已办)
processType: 1,
detailData: [],
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
approvalOpinion: '', // 通过/驳回
textarea: '', // 意见
commentText: '', // 意见
title: '', // 新增编辑抽屉标题
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
@@ -668,6 +745,11 @@
glwj: '', // 关联文件
xglc: '', // 相关流程
chjl: '', // 参会记录
//流程信息
prcNum:'',
commentText:'',
prcName:'',
standType: '',
}, // 标准信息
standSortOptions: [], // 标准类别
standNatureOptions: [], // 标准性质
@@ -688,6 +770,9 @@
user3: '',
user4: '',
user5: '',
// 流程路由信息
prcNum : this.$route.query.prcNum,
prcName : this.$route.query.prcName,
}
},
components: {
@@ -695,21 +780,50 @@
ProcessFooter,
ProcessTitle
},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
},
},
methods: {
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
shunxu: this.shunxu
}, {
loading: 'loading',
_this: this
}, res => {
this.detailData = res
}, e => {})
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
if (res) {
console.log(res);
resolve()
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
this.$nextTick(() => {
this.form = JSON.parse(JSON.stringify(item))
this.form.standType = this.form.standInData === '0' ? 'INLAND' : 'FOREIGN'
this.form.prcNum = this.prcNum
this.form.prcName = this.prcName
this.form['id'] = item.id
})
},
closeDrawer() {
this.ListModel = false
},
@@ -729,33 +843,49 @@
},
handleSave() {},
handleSubmit() {
var json = this.form
json.zrUserId = this.$store.getters.userInfo.userId
json.jlUserId = this.$store.getters.userInfo.userId
json.applyUpdUserId = this.$store.getters.userInfo.userId
json.prcCreateUser = this.$store.getters.userInfo.userId
json.prcCreateUserName = this.$store.getters.userInfo.account
this.$http.get('lawss/activiti/startProcess', {type: '1'}, {
const json = JSON.stringify(this.form);
json.commentText = this.commentText
json.approvalOpinion = this.approvalOpinion
console.log(json)
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId : this.userId,
json: json
}, {
_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: this
}, res => {
console.log(res);
if (res.ok) {
}
})
console.log(res);
if (res.success) {
this.processCreateStand(json)
}
})
}
},
/**
* @description: 流程入库
* @date: 2020-11-18 21:47:58
* @auth: chenxiaoxi
*/
processCreateStand(json) {
const _formData = new FormData()
_formData.append('infoJson', json)
processCreateStand(_formData).then(res => {
if (res.result === '操作成功' || res.data === '入库成功') {
this.$message.success(res.data)
setTimeout(() => {
this.$router.push({
name: 'ProcessCenter'
})
}, 100)
} else {
this.$message.warning(res.message)
}
})
},
},
mounted () {
this.getData()
this.processTable()
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
@@ -0,0 +1,843 @@
<template>
<div class="bzrkStep3">
<!-- 标准入库流程-->
<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-if="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="qbkwForm"
:model="form"
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="standInData" class="add-form-item form-item-disabled">
<el-radio-group v-model="form.standInData" disabled>
<el-radio label="0">国内标准入库</el-radio>
<el-radio label="1">海外标准入库</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="标准类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" placeholder="请选择标准类别" disabled>
<el-option
v-for="item in standSortOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="标准年份" prop="standYear" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.standYear"
type="year"
placeholder="请选择标准年份">
</el-date-picker>
</el-form-item>
<el-form-item label="标准中文名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.standName"
placeholder="请输入标准中文名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准英文名称" prop="standEnName" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.standEnName"
placeholder="请输入标准英文名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="是否需要会签" prop="signFlag" class="add-form-item form-item-disabled">
<el-radio-group v-model="form.signFlag" disabled>
<el-radio label="1"></el-radio>
<el-radio label="2"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.standNumber"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准性质" prop="standNature" class="add-form-item form-item-disabled">
<el-select v-model="form.standNature" placeholder="请选择标准性质" disabled>
<el-option
v-for="item in standNatureOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="文本状态" prop="textStatus" class="add-form-item form-item-disabled">
<el-select v-model="form.textStatus" placeholder="请选择文本状态" disabled>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="标准发布日期" prop="issueTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.issueTime"
type="date"
placeholder="请选择标准发布日期">
</el-date-picker>
</el-form-item>
<el-form-item label="是否纳入认证清单" prop="isRelateAccess" class="add-form-item form-item-disabled">
<el-radio-group v-model="form.isRelateAccess" disabled>
<el-radio label="1"></el-radio>
<el-radio label="2"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="标准体系" prop="standSystem" class="add-form-item form-item-disabled">
<el-select v-model="form.standSystem" placeholder="请选择标准体系" disabled>
<el-option
v-for="item in standSystemOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item v-if="form.standInData === '1'" label="标签" prop="gxhbq" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.gxhbq"
placeholder="请输入标签"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle>
<template slot="title">实施日期</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="实施日期(标准文本)" prop="ssrq" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.ssrq"
type="date"
placeholder="请选择标准实施日期(标准文本)">
</el-date-picker>
</el-form-item>
<el-form-item label="新车型实施日期(标准文本)" prop="xcxssrq" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.xcxssrq"
type="date"
placeholder="请选择新车型实施日期(标准文本">
</el-date-picker>
</el-form-item>
<el-form-item label="在产车实施日期(标准文本)" prop="zccssrq" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.zccssrq"
type="date"
placeholder="请选择在产车实施日期(标准文本)">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="实施日期(国际)" prop="ssrqgj" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.ssrqgj"
type="date"
placeholder="请选择实施日期(国际)">
</el-date-picker>
</el-form-item>
<el-form-item label="新车型实施日期(国际)" prop="xcxssrqgj" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.xcxssrqgj"
type="date"
placeholder="请选择新车型实施日期(国家)">
</el-date-picker>
</el-form-item>
<el-form-item label="在产车实施日期(国际)" prop="zccssrqgj" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.zccssrqgj"
type="date"
placeholder="请选择在产车实施日期(国家)">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle>
<template slot="title">文本信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgd" class="add-form-item form-item-disabled">
<div v-if="form.xgd">
{{ form.xgd }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item label="发布稿" prop="fbgbjbd" class="add-form-item form-item-disabled">
<div v-if="form.fbgbjbd">
{{ form.fbgbjbd }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbd" class="add-form-item form-item-disabled">
<div v-if="form.zbjbd">
{{ form.zbjbd }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpg" class="add-form-item form-item-disabled">
<div v-if="form.bpg">
{{ form.bpg }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssg" class="add-form-item form-item-disabled">
<div v-if="form.ssg">
{{ form.ssg }}
</div>
<div v-else>
- -
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwj" class="add-form-item form-item-disabled">
<div v-if="form.kwj">
{{ form.kwj }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjg" class="add-form-item form-item-disabled">
<div v-if="form.zqyjg">
{{ form.zqyjg }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled">
<div v-if="form.ca">
{{ form.ca }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwj" class="add-form-item form-item-disabled">
<div v-if="form.jdwj">
{{ form.jdwj }}
</div>
<div v-else>
- -
</div>
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle>
<template slot="title">适用范围</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="责任部门" prop="zrbm" class="add-form-item form-item-disabled">
<el-select v-model="form.zrbm" placeholder="请选择责任部门" multiple disabled>
<el-option
v-for="item in zrbmOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="cllx" class="add-form-item form-item-disabled">
<el-select v-model="form.cllx" placeholder="请选择适用车型" multiple disabled>
<el-option
v-for="item in applyArcticOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="能源类型" prop="nylx" class="add-form-item form-item-disabled">
<el-select v-model="form.nylx" placeholder="请选择适用车型" multiple disabled>
<el-option
v-for="item in categoryOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联模块--乘用车VPPS编码" prop="cycvppsbm" class="add-form-item form-item-disabled">
<el-select v-model="form.cycvppsbm" placeholder="请选择乘用车VPPS编码" multiple disabled>
<el-option label="乘用车VPPS编码1" value="1"></el-option>
<el-option label="乘用车VPPS编码2" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联模块--卡车VPPS编码" prop="kccvppsbm" class="add-form-item form-item-disabled">
<el-select v-model="form.kccvppsbm" placeholder="请选择卡车VPPS编码" multiple disabled>
<el-option label="卡车VPPS编码1" value="1"></el-option>
<el-option label="卡车VPPS编码2" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="模块结构单元变型号" prop="dybxh" class="add-form-item form-item-disabled">
<el-select v-model="form.dybxh" placeholder="请选择模块结构单元变型号" multiple disabled>
<el-option label="模块结构单元变型号1" value="1"></el-option>
<el-option label="模块结构单元变型号2" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="归口管理部门" prop="gkdw" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.gkdw"
placeholder="请输入归口管理部门"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="起草单位" prop="fbjg" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.fbjg"
placeholder="请选择起草单位"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '1'" label="体系类别" prop="txlb" class="add-form-item form-item-disabled">
<el-select v-model="form.txlb" placeholder="请选择体系类别" multiple disabled>
<el-option
v-for="item in txlbOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="适用产品线" prop="sycpx" class="add-form-item form-item-disabled">
<el-select v-model="form.sycpx" placeholder="请选择适用车型" multiple disabled>
<el-option
v-for="item in sycpxOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="适用认证" prop="syrz" class="add-form-item form-item-disabled">
<el-select v-model="form.syrz" placeholder="请选择适用认证" multiple disabled>
<el-option
v-for="item in applyAuthOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="责任工程师" prop="zrgcs" class="add-form-item form-item-disabled">
<el-select v-model="form.zrgcs" placeholder="请选择责任工程师" multiple disabled>
<el-option
v-for="item in zrgcsOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联模块--乘用车vpps中文名称" prop="cycvppscn" class="add-form-item form-item-disabled">
<el-input
v-model="form.cycvppscn"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="关联模块--卡车vpps中文名称" prop="kccvppscn" class="add-form-item form-item-disabled">
<el-input
v-model="form.kccvppscn"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="模块结构单元名称" prop="dymc" class="add-form-item form-item-disabled">
<el-input
v-model="form.dymc"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="我司署名人" prop="wssmr" class="add-form-item form-item-disabled">
<el-select v-model="form.wssmr" placeholder="请选择我司署名人" multiple disabled>
<el-option label="署名人1" value="1"></el-option>
<el-option label="署名人2" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="我司参与深度" prop="cysd" class="add-form-item form-item-disabled">
<el-select v-model="form.cysd" placeholder="请选择我司参与深度" disabled>
<el-option
v-for="item in cysdOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle>
<template slot="title">关联信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="代替标准号" prop="dtbjh" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.dtbjh"
placeholder="请输入代替标准号"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="采标程度" prop="cbcd" class="add-form-item form-item-disabled">
<el-select v-model="form.cbcd" placeholder="请选择采标程度" disabled>
<el-option label="采标程度1" value="1"></el-option>
<el-option label="采标程度2" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="相关流程" prop="xglc" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.xglc"
placeholder="请输入相关流程"
clearable
></el-input>
</el-form-item>
<el-form-item label="关联文件" prop="glwj" class="add-form-item form-item-disabled">
<div v-if="form.glwj">
{{ form.glwj }}
</div>
<div v-else>
- -
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="引用标准" prop="yybj" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.yybj"
placeholder="请输入引用标准"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="采标编号" prop="cbbh" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cbbh"
placeholder="请输入采标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="被引用标准" prop="byybj" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.byybj"
placeholder="请输入被引用标准"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="参会记录" prop="chjl" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.chjl"
placeholder="请输入参会记录"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-select v-model="approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">
<el-option label="驳回" value="1"></el-option>
<el-option label="通过" value="0"></el-option>
</el-select>
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="textarea">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-if="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<el-timeline-item timestamp="发起流程" placement="top" :color="user1 ? '#66b1ff' : ''">
<el-card>
<h4>流程发起人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="user1" placeholder="流程发起人"></el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择责任人" placement="top" :color="user2 ? '#66b1ff' : ''">
<el-card>
<h4>责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="user2" placeholder="选择责任人">
</el-input></div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="填写意见" placement="top" :color="user3 ? '#66b1ff' : ''">
<el-card>
<h4>责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="user3" placeholder="责任人"></el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="意见汇总并发起会签" placement="top" :color="user4 ? '#66b1ff' : ''">
<el-card>
<h4>标准法规工程师</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="user4" placeholder="标准法规工程师"></el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="审核" placement="top" :color="user5 ? '#66b1ff' : ''">
<el-card>
<h4>责任对接人标准法规部部门负责人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="user5" placeholder="责任对接人,标准法规部部门负责人"></el-input>
</div>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default {
name: "bzrkStep3",
data () {
return {
approvalOpinion: '', // 通过/驳回
textarea: '', // 意见
title: '', // 新增编辑抽屉标题
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
// 基础信息
textStatus: '', // 文本状态
standYear: '', // 标准年份
standInData: '0', // 标准类型
standSort: '', // 标准类别
standNumber: '', // 标准编号
standNature: '', // 标准性质
standEnName: '', // 英文名称
standName: '', // 中文名称
signFlag: '1', // 是否需要会签
issueTime: '', // 发布时间
isRelateAccess: '', // 是否纳入认证清单
standSystem: '',// 标准体系
gxhbq: '', // 标签
// 实施日期
ssrq: '', // 实施日期(标准文本)
xcxssrq: '', // 新车型实施日期(标准文本)
zccssrq: '', // 在产车实施日期(标准文本)
ssrqgj: '', // 实施日期(国际)
xcxssrqgj: '', // 新车型实施日期(国际)
zccssrqgj: '', // 在产车实施日期(国际)
// 文本信息
ca: '', // 草案
fbgbjbd: '', // 发布稿
xgd: '', // 修改单
bpg: '', // 报批稿
ssg: '', // 送审稿
zqyjg: '', // 征求意见稿
jdwj: '', // 解读文件
zbjbd: '', // 增补件
kwj: '', // 勘误件
// 适用范围
txlb: '', // 体系类别
gkdw: '', // 归口管理部门
fbjg: '', // 起草单位
wssmr: '', // 我司署名人
cysd: '', // 我司参与深度
cllx: '', // 适用车型
nylx: '',// 能源类型
sycpx: '',// 适用产品线
syrz: '', // 适用认证
zrbm: '', // 责任部门
zrgcs: '', // 责任工程师
cycvppsbm: '', // 关联模块--乘用车VPPS编码
cycvppscn: '', // 关联模块--乘用车vpps中文名称
kccvppsbm: '', // 关联模块--卡车VPPS编码
kccvppscn: '', // 关联模块--卡车vpps中文名称
dybxh: '', // 模块结构单元变型号
dymc: '', // 模块结构单元名称
// 关联信息
dtbjh: '', // 代替标准号
cbbh: '', // 采标编号
cbcd: '', // 采标程度
yybj: '', // 引用标准
byybj: '', // 被引用标准
glwj: '', // 关联文件
xglc: '', // 相关流程
chjl: '', // 参会记录
}, // 标准信息
standSortOptions: [], // 标准类别
standNatureOptions: [], // 标准性质
standStateOptions: [], // 文本状态
standSystemOptions: [], // 标准体系
applyArcticOptions: [], // 适用车型
categoryOptions: [], // 能源类型
applyAuthOptions: [], // 适用认证
cysdOptions: [], // 我司参与深度
sycpxOptions: [], // 适用产品线
zrbmOptions: [], // 责任部门
zrgcsOptions: [], // 责任工程师
txlbOptions: [], // 体系类别
data: [], // 标准列表数据
ListForm: {}, // 新增数据
user1: '',
user2: '',
user3: '',
user4: '',
user5: '',
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId
}).then(res => {
if (res) {
this.form = JSON.parse(res.mesg)
}
}).catch(e => {
})
})
},
closeDrawer() {
this.ListModel = false
},
OkDrawer() {
this.ListModel = false
var item = {
remarks: '123'
}
this.data.push(item)
},
addList() {
this.title = '新增标准'
this.ListModel = true
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
const json = JSON.stringify(this.form);
console.log(json)
// this.$http.post('lawss/activiti/completeTask', {
// taskIds: res.data,
// userId : this.$store.getters.userInfo.userId,
// json: json
// }, {
// _this: this
// }, res => {
// console.log(res);
// if (res.ok) {
// this.processCreateStand(json)
// }
// })
},
/**
* @description: 流程入库
* @date: 2020-11-18 21:47:58
* @auth: chenxiaoxi
*/
processCreateStand(json) {
const _formData = new FormData()
_formData.append('infoJson', json)
processCreateStand(_formData).then(res => {
if (res.result === '操作成功' || res.data === '入库成功') {
this.$message.success(res.data)
setTimeout(() => {
this.$router.push({
name: 'ProcessCenter'
})
}, 100)
} else {
this.$message.warning(res.message)
}
})
},
},
mounted () {
this.getData()
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
this.standSortOptions = res.data.STANDCLASSIFY // 标准类别
this.standNatureOptions = res.data.SARPROPERTY // 标准性质
this.standStateOptions = res.data.WBZTCLASS // 文本状态
this.standSystemOptions = res.data.BZTXCLASS // 标准体系
this.applyArcticOptions = res.data.ENERGYTYPES // 适用车型
this.categoryOptions = res.data.NYLXCLASS // 能源类型
this.applyAuthOptions = res.data.SYRZCLASS // 适用认证
this.cysdOptions = res.data.WSCYSD // 我司参与深度
this.sycpxOptions = res.data.SYCPXCLASS // 适用产品线
this.zrbmOptions = res.data.ZRBMCLASS // 责任部门
this.zrgcsOptions = res.data.ZRGCSCLASS // 责任工程师
this.txlbOptions = res.data.TXLBCLASS // 体系类别
})
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzrkStep3 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
position: relative;
height: 100%;
.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>
@@ -0,0 +1,843 @@
<template>
<div class="bzrkStep4">
<!-- 标准入库流程-->
<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-if="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="qbkwForm"
:model="form"
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="standInData" class="add-form-item form-item-disabled">
<el-radio-group v-model="form.standInData" disabled>
<el-radio label="0">国内标准入库</el-radio>
<el-radio label="1">海外标准入库</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="标准类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" placeholder="请选择标准类别" disabled>
<el-option
v-for="item in standSortOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="标准年份" prop="standYear" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.standYear"
type="year"
placeholder="请选择标准年份">
</el-date-picker>
</el-form-item>
<el-form-item label="标准中文名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.standName"
placeholder="请输入标准中文名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准英文名称" prop="standEnName" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.standEnName"
placeholder="请输入标准英文名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="是否需要会签" prop="signFlag" class="add-form-item form-item-disabled">
<el-radio-group v-model="form.signFlag" disabled>
<el-radio label="1"></el-radio>
<el-radio label="2"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.standNumber"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准性质" prop="standNature" class="add-form-item form-item-disabled">
<el-select v-model="form.standNature" placeholder="请选择标准性质" disabled>
<el-option
v-for="item in standNatureOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="文本状态" prop="textStatus" class="add-form-item form-item-disabled">
<el-select v-model="form.textStatus" placeholder="请选择文本状态" disabled>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="标准发布日期" prop="issueTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.issueTime"
type="date"
placeholder="请选择标准发布日期">
</el-date-picker>
</el-form-item>
<el-form-item label="是否纳入认证清单" prop="isRelateAccess" class="add-form-item form-item-disabled">
<el-radio-group v-model="form.isRelateAccess" disabled>
<el-radio label="1"></el-radio>
<el-radio label="2"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="标准体系" prop="standSystem" class="add-form-item form-item-disabled">
<el-select v-model="form.standSystem" placeholder="请选择标准体系" disabled>
<el-option
v-for="item in standSystemOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item v-if="form.standInData === '1'" label="标签" prop="gxhbq" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.gxhbq"
placeholder="请输入标签"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle>
<template slot="title">实施日期</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="实施日期(标准文本)" prop="ssrq" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.ssrq"
type="date"
placeholder="请选择标准实施日期(标准文本)">
</el-date-picker>
</el-form-item>
<el-form-item label="新车型实施日期(标准文本)" prop="xcxssrq" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.xcxssrq"
type="date"
placeholder="请选择新车型实施日期(标准文本">
</el-date-picker>
</el-form-item>
<el-form-item label="在产车实施日期(标准文本)" prop="zccssrq" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.zccssrq"
type="date"
placeholder="请选择在产车实施日期(标准文本)">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="实施日期(国际)" prop="ssrqgj" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.ssrqgj"
type="date"
placeholder="请选择实施日期(国际)">
</el-date-picker>
</el-form-item>
<el-form-item label="新车型实施日期(国际)" prop="xcxssrqgj" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.xcxssrqgj"
type="date"
placeholder="请选择新车型实施日期(国家)">
</el-date-picker>
</el-form-item>
<el-form-item label="在产车实施日期(国际)" prop="zccssrqgj" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.zccssrqgj"
type="date"
placeholder="请选择在产车实施日期(国家)">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle>
<template slot="title">文本信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item v-if="form.standInData === '0'" label="修改单" prop="xgd" class="add-form-item form-item-disabled">
<div v-if="form.xgd">
{{ form.xgd }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item label="发布稿" prop="fbgbjbd" class="add-form-item form-item-disabled">
<div v-if="form.fbgbjbd">
{{ form.fbgbjbd }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '1'" label="增补件" prop="zbjbd" class="add-form-item form-item-disabled">
<div v-if="form.zbjbd">
{{ form.zbjbd }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="报批稿" prop="bpg" class="add-form-item form-item-disabled">
<div v-if="form.bpg">
{{ form.bpg }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="送审稿" prop="ssg" class="add-form-item form-item-disabled">
<div v-if="form.ssg">
{{ form.ssg }}
</div>
<div v-else>
- -
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.standInData === '1'" label="勘误件" prop="kwj" class="add-form-item form-item-disabled">
<div v-if="form.kwj">
{{ form.kwj }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="征求意见稿" prop="zqyjg" class="add-form-item form-item-disabled">
<div v-if="form.zqyjg">
{{ form.zqyjg }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled">
<div v-if="form.ca">
{{ form.ca }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="解读文件" prop="jdwj" class="add-form-item form-item-disabled">
<div v-if="form.jdwj">
{{ form.jdwj }}
</div>
<div v-else>
- -
</div>
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle>
<template slot="title">适用范围</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="责任部门" prop="zrbm" class="add-form-item form-item-disabled">
<el-select v-model="form.zrbm" placeholder="请选择责任部门" multiple disabled>
<el-option
v-for="item in zrbmOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="cllx" class="add-form-item form-item-disabled">
<el-select v-model="form.cllx" placeholder="请选择适用车型" multiple disabled>
<el-option
v-for="item in applyArcticOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="能源类型" prop="nylx" class="add-form-item form-item-disabled">
<el-select v-model="form.nylx" placeholder="请选择适用车型" multiple disabled>
<el-option
v-for="item in categoryOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联模块--乘用车VPPS编码" prop="cycvppsbm" class="add-form-item form-item-disabled">
<el-select v-model="form.cycvppsbm" placeholder="请选择乘用车VPPS编码" multiple disabled>
<el-option label="乘用车VPPS编码1" value="1"></el-option>
<el-option label="乘用车VPPS编码2" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联模块--卡车VPPS编码" prop="kccvppsbm" class="add-form-item form-item-disabled">
<el-select v-model="form.kccvppsbm" placeholder="请选择卡车VPPS编码" multiple disabled>
<el-option label="卡车VPPS编码1" value="1"></el-option>
<el-option label="卡车VPPS编码2" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="模块结构单元变型号" prop="dybxh" class="add-form-item form-item-disabled">
<el-select v-model="form.dybxh" placeholder="请选择模块结构单元变型号" multiple disabled>
<el-option label="模块结构单元变型号1" value="1"></el-option>
<el-option label="模块结构单元变型号2" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="归口管理部门" prop="gkdw" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.gkdw"
placeholder="请输入归口管理部门"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="起草单位" prop="fbjg" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.fbjg"
placeholder="请选择起草单位"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '1'" label="体系类别" prop="txlb" class="add-form-item form-item-disabled">
<el-select v-model="form.txlb" placeholder="请选择体系类别" multiple disabled>
<el-option
v-for="item in txlbOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="适用产品线" prop="sycpx" class="add-form-item form-item-disabled">
<el-select v-model="form.sycpx" placeholder="请选择适用车型" multiple disabled>
<el-option
v-for="item in sycpxOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="适用认证" prop="syrz" class="add-form-item form-item-disabled">
<el-select v-model="form.syrz" placeholder="请选择适用认证" multiple disabled>
<el-option
v-for="item in applyAuthOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="责任工程师" prop="zrgcs" class="add-form-item form-item-disabled">
<el-select v-model="form.zrgcs" placeholder="请选择责任工程师" multiple disabled>
<el-option
v-for="item in zrgcsOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联模块--乘用车vpps中文名称" prop="cycvppscn" class="add-form-item form-item-disabled">
<el-input
v-model="form.cycvppscn"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="关联模块--卡车vpps中文名称" prop="kccvppscn" class="add-form-item form-item-disabled">
<el-input
v-model="form.kccvppscn"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="模块结构单元名称" prop="dymc" class="add-form-item form-item-disabled">
<el-input
v-model="form.dymc"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="我司署名人" prop="wssmr" class="add-form-item form-item-disabled">
<el-select v-model="form.wssmr" placeholder="请选择我司署名人" multiple disabled>
<el-option label="署名人1" value="1"></el-option>
<el-option label="署名人2" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="我司参与深度" prop="cysd" class="add-form-item form-item-disabled">
<el-select v-model="form.cysd" placeholder="请选择我司参与深度" disabled>
<el-option
v-for="item in cysdOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle>
<template slot="title">关联信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="代替标准号" prop="dtbjh" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.dtbjh"
placeholder="请输入代替标准号"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="采标程度" prop="cbcd" class="add-form-item form-item-disabled">
<el-select v-model="form.cbcd" placeholder="请选择采标程度" disabled>
<el-option label="采标程度1" value="1"></el-option>
<el-option label="采标程度2" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="相关流程" prop="xglc" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.xglc"
placeholder="请输入相关流程"
clearable
></el-input>
</el-form-item>
<el-form-item label="关联文件" prop="glwj" class="add-form-item form-item-disabled">
<div v-if="form.glwj">
{{ form.glwj }}
</div>
<div v-else>
- -
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="引用标准" prop="yybj" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.yybj"
placeholder="请输入引用标准"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="采标编号" prop="cbbh" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cbbh"
placeholder="请输入采标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="被引用标准" prop="byybj" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.byybj"
placeholder="请输入被引用标准"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="参会记录" prop="chjl" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.chjl"
placeholder="请输入参会记录"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<div>
<!-- <el-collapse accordion>-->
<!-- <el-collapse-item title="意见填写">-->
<!-- <div style="margin: 10px 0;">-->
<!-- <el-select v-model="approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
<!-- <el-option label="通过" value="0"></el-option>-->
<!-- </el-select>-->
<!-- <el-input-->
<!-- type="textarea"-->
<!-- :rows="3"-->
<!-- resize="none"-->
<!-- placeholder="请输入意见"-->
<!-- v-model="textarea">-->
<!-- </el-input>-->
<!-- </div>-->
<!-- </el-collapse-item>-->
<!-- </el-collapse>-->
</div>
</div>
<div class="content" v-if="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<el-timeline-item timestamp="发起流程" placement="top" :color="user1 ? '#66b1ff' : ''">
<el-card>
<h4>流程发起人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="user1" placeholder="流程发起人"></el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择责任人" placement="top" :color="user2 ? '#66b1ff' : ''">
<el-card>
<h4>责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="user2" placeholder="选择责任人">
</el-input></div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="填写意见" placement="top" :color="user3 ? '#66b1ff' : ''">
<el-card>
<h4>责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="user3" placeholder="责任人"></el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="意见汇总并发起会签" placement="top" :color="user4 ? '#66b1ff' : ''">
<el-card>
<h4>标准法规工程师</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="user4" placeholder="标准法规工程师"></el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="审核" placement="top" :color="user5 ? '#66b1ff' : ''">
<el-card>
<h4>责任对接人标准法规部部门负责人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="user5" placeholder="责任对接人,标准法规部部门负责人"></el-input>
</div>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default {
name: "bzrkStep4",
data () {
return {
approvalOpinion: '', // 通过/驳回
textarea: '', // 意见
title: '', // 新增编辑抽屉标题
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
// 基础信息
textStatus: '', // 文本状态
standYear: '', // 标准年份
standInData: '0', // 标准类型
standSort: '', // 标准类别
standNumber: '', // 标准编号
standNature: '', // 标准性质
standEnName: '', // 英文名称
standName: '', // 中文名称
signFlag: '1', // 是否需要会签
issueTime: '', // 发布时间
isRelateAccess: '', // 是否纳入认证清单
standSystem: '',// 标准体系
gxhbq: '', // 标签
// 实施日期
ssrq: '', // 实施日期(标准文本)
xcxssrq: '', // 新车型实施日期(标准文本)
zccssrq: '', // 在产车实施日期(标准文本)
ssrqgj: '', // 实施日期(国际)
xcxssrqgj: '', // 新车型实施日期(国际)
zccssrqgj: '', // 在产车实施日期(国际)
// 文本信息
ca: '', // 草案
fbgbjbd: '', // 发布稿
xgd: '', // 修改单
bpg: '', // 报批稿
ssg: '', // 送审稿
zqyjg: '', // 征求意见稿
jdwj: '', // 解读文件
zbjbd: '', // 增补件
kwj: '', // 勘误件
// 适用范围
txlb: '', // 体系类别
gkdw: '', // 归口管理部门
fbjg: '', // 起草单位
wssmr: '', // 我司署名人
cysd: '', // 我司参与深度
cllx: '', // 适用车型
nylx: '',// 能源类型
sycpx: '',// 适用产品线
syrz: '', // 适用认证
zrbm: '', // 责任部门
zrgcs: '', // 责任工程师
cycvppsbm: '', // 关联模块--乘用车VPPS编码
cycvppscn: '', // 关联模块--乘用车vpps中文名称
kccvppsbm: '', // 关联模块--卡车VPPS编码
kccvppscn: '', // 关联模块--卡车vpps中文名称
dybxh: '', // 模块结构单元变型号
dymc: '', // 模块结构单元名称
// 关联信息
dtbjh: '', // 代替标准号
cbbh: '', // 采标编号
cbcd: '', // 采标程度
yybj: '', // 引用标准
byybj: '', // 被引用标准
glwj: '', // 关联文件
xglc: '', // 相关流程
chjl: '', // 参会记录
}, // 标准信息
standSortOptions: [], // 标准类别
standNatureOptions: [], // 标准性质
standStateOptions: [], // 文本状态
standSystemOptions: [], // 标准体系
applyArcticOptions: [], // 适用车型
categoryOptions: [], // 能源类型
applyAuthOptions: [], // 适用认证
cysdOptions: [], // 我司参与深度
sycpxOptions: [], // 适用产品线
zrbmOptions: [], // 责任部门
zrgcsOptions: [], // 责任工程师
txlbOptions: [], // 体系类别
data: [], // 标准列表数据
ListForm: {}, // 新增数据
user1: '',
user2: '',
user3: '',
user4: '',
user5: '',
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId
}).then(res => {
if (res) {
this.form = JSON.parse(res.mesg)
}
}).catch(e => {
})
})
},
closeDrawer() {
this.ListModel = false
},
OkDrawer() {
this.ListModel = false
var item = {
remarks: '123'
}
this.data.push(item)
},
addList() {
this.title = '新增标准'
this.ListModel = true
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
const json = JSON.stringify(this.form);
console.log(json)
// this.$http.post('lawss/activiti/completeTask', {
// taskIds: res.data,
// userId : this.$store.getters.userInfo.userId,
// json: json
// }, {
// _this: this
// }, res => {
// console.log(res);
// if (res.ok) {
// this.processCreateStand(json)
// }
// })
},
/**
* @description: 流程入库
* @date: 2020-11-18 21:47:58
* @auth: chenxiaoxi
*/
processCreateStand(json) {
const _formData = new FormData()
_formData.append('infoJson', json)
processCreateStand(_formData).then(res => {
if (res.result === '操作成功' || res.data === '入库成功') {
this.$message.success(res.data)
setTimeout(() => {
this.$router.push({
name: 'ProcessCenter'
})
}, 100)
} else {
this.$message.warning(res.message)
}
})
},
},
mounted () {
this.getData()
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
this.standSortOptions = res.data.STANDCLASSIFY // 标准类别
this.standNatureOptions = res.data.SARPROPERTY // 标准性质
this.standStateOptions = res.data.WBZTCLASS // 文本状态
this.standSystemOptions = res.data.BZTXCLASS // 标准体系
this.applyArcticOptions = res.data.ENERGYTYPES // 适用车型
this.categoryOptions = res.data.NYLXCLASS // 能源类型
this.applyAuthOptions = res.data.SYRZCLASS // 适用认证
this.cysdOptions = res.data.WSCYSD // 我司参与深度
this.sycpxOptions = res.data.SYCPXCLASS // 适用产品线
this.zrbmOptions = res.data.ZRBMCLASS // 责任部门
this.zrgcsOptions = res.data.ZRGCSCLASS // 责任工程师
this.txlbOptions = res.data.TXLBCLASS // 体系类别
})
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzrkStep4 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
position: relative;
height: 100%;
.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>
File diff suppressed because it is too large Load Diff
@@ -124,7 +124,7 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '办理']">办理</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '查看']">查看</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -167,7 +167,7 @@ export default {
methods: {
handleCommand (command) {
switch (command[1]) {
case '办理':
case '查看':
this.dealWith(command[0])
break
}
@@ -179,6 +179,22 @@ export default {
this.queryProcess()
},
queryProcess () { // 查询待办流程
this.$http.postData('lawss/activiti/doneProcess', {
current: this.pageNo,
size: this.$store.getters.userInfo.configContent,
userId: this.$store.getters.userInfo.userId,
prcName: this.searchForm.prcName,
prcType: parseInt(this.searchForm.prcType) || '',
prcNum: this.searchForm.prcNum
}, {
loading: 'loading',
_this: this
}, res => {
console.log(res)
this.processList = res.list || []
this.total = res.count
}, e => {
})
},
selectProcessBtn () { // 搜索按钮
this.pageNo = 1
@@ -194,7 +210,14 @@ export default {
pageSizeChange (pageSize) { // 数量改变
this.queryProcess()
},
dealWith (row) { // 办理
dealWith (row) { // 查看
this.$router.push({
name: 'ProcessDetail',
query: {
prcNum: row.prcNum,
tabsName: 'AlreadyProcess'
}
})
},
...mapMutations(['setProcess', 'setHandleInfo']),
...mapActions(['setMenu'])
@@ -124,7 +124,7 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '办理']">办理</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '查看']">查看</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -167,7 +167,7 @@ export default {
methods: {
handleCommand (command) {
switch (command[1]) {
case '办理':
case '查看':
this.dealWith(command[0])
break
}
@@ -179,6 +179,23 @@ export default {
this.queryProcess()
},
queryProcess () { // 查询待办流程
this.$http.postData('lawss/activiti/IssuedProcess',
{
current: this.pageNo,
size: this.$store.getters.userInfo.configContent,
userId: this.$store.getters.userInfo.userId,
prcName: this.searchForm.prcName,
prcType: parseInt(this.searchForm.prcType) || '',
prcNum: this.searchForm.prcNum
},
{
loading: 'loading',
_this: this
}, res => {
this.processList = res.list
this.total = res.count
}, e => {
})
},
selectProcessBtn () { // 搜索按钮
this.pageNo = 1
@@ -194,7 +211,14 @@ export default {
pageSizeChange (pageSize) { // 数量改变
this.queryProcess()
},
dealWith (row) { // 办理
dealWith (row) { // 查看
this.$router.push({
name: 'ProcessDetail',
query: {
prcNum: row.prcNum,
tabsName: 'AlreadySend'
}
})
},
...mapMutations(['setProcess', 'setHandleInfo']),
...mapActions(['setMenu'])
@@ -124,7 +124,7 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '办理']">办理</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '查看']">查看</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -167,7 +167,7 @@ export default {
methods: {
handleCommand (command) {
switch (command[1]) {
case '办理':
case '查看':
this.dealWith(command[0])
break
}
@@ -179,6 +179,23 @@ export default {
this.queryProcess()
},
queryProcess () { // 查询待办流程
this.$http.postData('lawss/activiti/allProcess',
{
current: this.pageNo,
size: this.$store.getters.userInfo.configContent,
userId: this.$store.getters.userInfo.userId,
prcName: this.searchForm.prcName,
prcType: parseInt(this.searchForm.prcType) || '',
prcNum: this.searchForm.prcNum
},
{
loading: 'loading',
_this: this
}, res => {
this.processList = res.list || []
this.total = res.count
}, e => {
})
},
selectProcessBtn () { // 搜索按钮
this.pageNo = 1
@@ -194,7 +211,14 @@ export default {
pageSizeChange (pageSize) { // 数量改变
this.queryProcess()
},
dealWith (row) { // 办理
dealWith (row) { // 查看
this.$router.push({
name: 'ProcessDetail',
query: {
prcNum: row.prcNum,
tabsName: 'MonitorProcess'
}
})
},
...mapMutations(['setProcess', 'setHandleInfo']),
...mapActions(['setMenu'])
@@ -199,7 +199,6 @@ export default {
}, e => {
})
},
selectProcessBtn () { // 搜索按钮
this.pageNo = 1
this.queryProcess()
@@ -215,14 +214,43 @@ export default {
this.queryProcess()
},
dealWith (row) { // 办理
switch(row.prcType) {
this.setHandleInfo(JSON.stringify(row))
const prcType = row.prcType
console.log(prcType)
console.log(row.taskInfo)
switch(prcType) {
case '1':
if (row.taskInfo === '标准法规业务经理审批') {
this.$router.push({
name: 'bzrkStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '责任人会签'){
this.$router.push({
name: 'step3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '申请人修订'){
this.$router.push({
name: 'step4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
@@ -179,6 +179,20 @@ export default {
this.queryProcess()
},
queryProcess () { // 查询待办流程
this.$http.postData('lawss/activiti/queryTaskDraft', {
current: this.pageNo,
size: parseInt(this.$store.getters.userInfo.configContent),
userId: this.$store.getters.userInfo.usid || this.$store.getters.userInfo.userId,
prcName: this.searchForm.prcName,
prcType: parseInt(this.searchForm.prcType) || ''
},
{
loading: 'loading',
_this: this
}, res => {
this.processList = res.list
this.total = res.count
})
},
selectProcessBtn () { // 搜索按钮
this.pageNo = 1
@@ -195,6 +209,7 @@ export default {
this.queryProcess()
},
dealWith (row) { // 办理
//草稿办理待开发
},
...mapMutations(['setProcess', 'setHandleInfo']),
...mapActions(['setMenu'])
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -71,7 +71,18 @@
<div class="right">
</div>
</div>
<div class="container">
<div class="non-content">
<el-tabs v-model="ifMaintaince" @tab-click="handleClick" style="height: 100%">
<el-tab-pane label="已维护" name="Maintenance">
</el-tab-pane>
<el-tab-pane label="未维护" name="notMaintenance"></el-tab-pane>
</el-tabs>
</div>
<el-table
ref="multipleTable"
:data="localProTableList"
@@ -89,28 +100,28 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="flatform"
prop="projectPlatfor"
align="center"
label="产品平台">
</el-table-column>
<el-table-column
prop="productNo"
prop="projectNumber"
align="center"
width="90"
label="项目编号">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="productName"
prop="projectName"
align="center"
label="项目名称">
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.productName }}</a>
</template>
<!-- <template slot-scope="scope">-->
<!-- <a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.productName }}</a>&ndash;&gt;-->
<!-- </template>-->
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="productTypeShow"
prop="projectClassification"
label="项目分类"
align="center"
min-width="120"
@@ -118,7 +129,7 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="productBrandShow"
prop="projectStatus"
label="项目状态"
align="center"
min-width="120"
@@ -126,45 +137,45 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="productBrandShow"
prop="projectGroup"
label="项目群"
min-width="120"
align="center"
>
</el-table-column>
<el-table-column
prop="sopTime"
prop="projectStartDate"
label="项目计划开始日期"
min-width="120"
width="160"
align="center"
>
<template slot-scope="scope">{{(scope.row.sopTime ? scope.row.sopTime.substring(0, 11): '')}}</template>
<!-- <template slot-scope="scope">{{(scope.row.sopTime ? scope.row.sopTime.substring(0, 11): '')}}</template>-->
</el-table-column>
<el-table-column
prop="sopTime"
prop="projectEndDate"
label="项目计划完成日期"
min-width="120"
width="160"
align="center"
>
<template slot-scope="scope">{{(scope.row.sopTime ? scope.row.sopTime.substring(0, 11): '')}}</template>
<!-- <template slot-scope="scope">{{(scope.row.sopTime ? scope.row.sopTime.substring(0, 11): '')}}</template>-->
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="targetMarketShow"
prop="currentNode"
align="center"
label="当前节点">
</el-table-column>
<el-table-column
prop="leftRight"
prop="projectLevel"
align="center"
label="项目级别">
<template slot-scope="scope" v-if="scope.row.leftRight">{{(scope.row.leftRight === '1' ? '左驾': '右驾')}}</template>
<!-- <template slot-scope="scope" v-if="scope.row.leftRight">{{(scope.row.leftRight === '1' ? '左驾': '右驾')}}</template>-->
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="productManagerShow"
prop="projectManager"
align="center"
label="项目经理">
</el-table-column>
@@ -234,6 +245,9 @@ export default {
},
data () {
return {
//默认返回已维护
ifMaintaince:"Maintenance",
deptUser: [],
// 查询条件
localProTableSearch: {
@@ -710,7 +724,7 @@ export default {
},
// 切换tabs
handleClick (tab, event) {
this.localProEO.prodectCode = this.activeName
this.localProEO.prodectCode = this.ifMaintaince
this.insideHandleClick()
},
insideHandleClick (tab, event) {
@@ -1077,13 +1091,22 @@ export default {
},
// 查询本地产品
getLocalProductTable () {
this.localProTableSearch.prodectCode = this.activeName
this.localProTableSearch.prodectCode = this.ifMaintaince
console.log(this.localProTableSearch.prodectCode)
this.localProTableSearch.dataType = this.insideTabsActiveName
this.SarExportSearchEo = this.localProTableSearch
this.$http.get('lawss/sarProductInfo/getProductInfoPage', this.localProTableSearch, {
this.$http.get('sarStandProjectLibrary/queryProject', this.localProTableSearch, {
_this: this, loading: 'loading'
}, res => {
this.localProTableList = res.data.list
// console.log(res.data)
if (this.localProTableSearch.prodectCode === 'Maintenance') {
this.localProTableList = res.data.Maintenance.records
}
else if (this.localProTableSearch.prodectCode === 'notMaintenance')
{
this.localProTableList = res.data.notMaintenance.records
}
this.total = res.data.count
// this.localProTableList.map((item) => {
// this.xmztOptions.map((opr) => {
@@ -2,7 +2,7 @@
<template>
<div id="non-cnfomity" >
<div class="non-content">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tabs v-model="activeName" @tab-click="handleClick" style="height: 100%">
<el-tab-pane label="未符合项整改数据库" name="database">
<rectification-database></rectification-database>
</el-tab-pane>
@@ -36,12 +36,27 @@ export default {
mounted () {}
}
</script>
<style lang="less" scope>
<style lang="less" scoped>
#non-cnfomity {
height: 100%;
display: flex;
flex-direction: column;
background-color: #FFFFFF;
.non-content {
height: 100%;
/deep/ .el-tabs {
display: flex;
flex-direction: column;
height: 100%;
.el-tabs__content {
flex: 1;
overflow: hidden;
.el-tab-pane {
height: 100%;
}
}
}
}
.el-tabs__nav {
margin-left:20px;
}
@@ -0,0 +1,744 @@
<!--事业部历史数据-->
<template>
<div class="historical-data v-class">
<div class="laws-details-header">
<div class="back" title="返回" @click="back">
<i class="el-icon-back"></i>
</div>
<div class="title">历史数据</div>
</div>
<div class="search-area">
<div class="left">
<el-form :modal="historySearch" :inline="true" class="label-input-form" >
<el-form-item label="编号/名称" class="search-item">
<el-input v-model="historySearch.standId"
placeholder="请输入"
clearable
@keyup.enter="getTableBtn"
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-input v-model="historySearch.productName"
placeholder="请输入"
clearable
@keyup.enter="getTableBtn"
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="historySearch.responseUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
trigger="click"
:value="false"
>
<el-input
slot="reference"
v-model="historySearch.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
id="searchResp"
/>
<div class="api">
<laws-tree
:zNodes="zNodesSItem"
treeDivId="zNodesSItemSearch"
deptSelect
showRMenu
@treeDblClick="(treeId, treeNode) => treeClickSearch(treeId, treeNode)"
class="ztree" style="width: 200px;height: 400px;overflow: auto">
</laws-tree>
</div>
</el-popover>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
size="mini"
class="common-button-primary"
@click="getTableBtn">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
size="mini"
class="common-button-default"
@click="clearAllSearch">清空</el-button>
</el-form-item>
</el-form>
</div>
</div>
<div class="content">
<loading :loading="loading">数据获取中</loading>
<el-table
:data="historyList"
tooltip-effect="dark"
style="width: 100%;"
height="100%"
border
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="handleRowChange"
ref="selection"
>
<el-table-column
type="selection"
width="55"
fixed="left"
align="center">
</el-table-column>
<el-table-column
prop="standId"
width="180px"
label="标准编号/政策编号">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standId }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
width="180px"
label="标准名称/政策名称">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="itemsNum"
label="产品类型">
</el-table-column>
<el-table-column
prop="itemsName"
label="实施时间">
</el-table-column>
<el-table-column
prop="productLine"
label="实施要求">
</el-table-column>
<el-table-column
prop="productName"
label="问题类型">
</el-table-column>
<el-table-column
prop="responsibleUnit"
width="110"
label="资源符合情况">
</el-table-column>
<el-table-column
prop="dutyEngineer"
width="150px"
label="开发计划">
</el-table-column>
<el-table-column
prop="actualCloseTime"
width="150px"
sortable
label="要求关闭时间">
<template slot-scope="scope">{{(scope.row.actualCloseTime ? scope.row.actualCloseTime.substring(0, 11): '')}}</template>
</el-table-column>
<el-table-column
prop="authEngineer"
width="150px"
label="计划完成情况">
</el-table-column>
<el-table-column
prop="qaEngineer"
width="320px"
label="SOP时间超过法规时间的空档期的业务应对方案">
</el-table-column>
<el-table-column
prop="responsibleUnit"
label="责任部门">
</el-table-column>
<el-table-column
prop="responsibleUnit"
width="100"
label="责任工程师">
</el-table-column>
<el-table-column
prop="responsibleUnit"
width="120"
label="时间完成情况">
</el-table-column>
<el-table-column
prop="actualCloseTime"
width="150px"
sortable
label="实际完成时间">
<template slot-scope="scope">{{(scope.row.actualCloseTime ? scope.row.actualCloseTime.substring(0, 11): '')}}</template>
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']">查看</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
<pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
<el-drawer
title='查看'
:visible.sync="historySee"
destroy-on-close
:wrapperClosable="false"
class="seeHisToryDraw"
size="1000px"
>
<div class="demo-drawer-content">
<div class="el-drawer-form" style="height: auto">
<el-form
class="label-input-form"
label-width="150px"
ref="nonAddForm"
style="width: 100%;"
:model="historySeeForm"
>
<el-form-item class="add-form-item" label="标准编号:">
<div class="seeItem">{{historySeeForm.standId}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="标准名称:">
<div class="seeItem">{{historySeeForm.standName}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="条款号:">
<div class="seeItem">{{historySeeForm.itemsNum}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="条款名称:">
<div class="seeItem">{{historySeeForm.itemsName}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="产品线:">
<div class="seeItem">{{historySeeForm.productLine}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="项目名称:">
<div class="seeItem">{{historySeeForm.productName}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="责任部门:">
<div class="seeItem">{{historySeeForm.responsibleUnit}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="责任工程师:">
<div class="seeItem">{{historySeeForm.dutyEngineer}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="认证工程师:">
<div class="seeItem">{{historySeeForm.authEngineer}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="质量工程师:">
<div class="seeItem">{{historySeeForm.qaEngineer}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="要求关闭时间:">
<div class="seeItem">{{historySeeForm.actualCloseTime}}</div>
</el-form-item>
</el-form>
</div>
<div class="typebox" v-if="historySeeForm.inconItemEOList != null && historySeeForm.inconItemEOList.length > 0">
<el-divider content-position="left">不符合项</el-divider>
<div class="typeitem" v-for="(item, index) in historySeeForm.inconItemEOList" :key="index">
<div class="typeitems">
<div class="itemsLeft">条款号:</div>
<div class="itemsRight">{{item.itemNum}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">涉及项目:</div>
<div class="itemsRight">{{item.productNameShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">目前状态:</div>
<!-- <div class="itemsRight" v-if="item.itemState == '2'">符合</div>-->
<div class="itemsRight">不符合</div>
</div>
<div class="typeitems">
<div class="itemsLeft">设计完成时间:</div>
<div class="itemsRight">{{(item.stepFirTime ? item.stepFirTime.substring(0, 10): '')}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">佐证材料:</div>
<!-- <div class="itemsRight">{{item.supportFile}}</div>-->
<div class="itemsRight">
<p
class="files-title"
v-for="(file, fileIndex) in item.supportFileList"
:key="fileIndex"
>
<span>{{ file.oldFileName }}</span>
<i title="下载" @click="downloadFile(file.id)" class="icon-download" />
</p>
</div>
</div>
<div class="typeitems">
<div class="itemsLeft">备注信息:</div>
<div class="itemsRight">{{item.remark}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">验证完成时间:</div>
<div class="itemsRight">{{(item.stepSecTime ? item.stepSecTime.substring(0, 10): '')}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">佐证材料:</div>
<div class="itemsRight">
<p
class="files-title"
v-for="(file, fileIndex) in item.secSupportFileList"
:key="fileIndex"
>
<span>{{ file.oldFileName }}</span>
<i title="下载" @click="downloadFile(file.id)" class="icon-download" />
</p>
</div>
</div>
<div class="typeitems">
<div class="itemsLeft">备注信息:</div>
<div class="itemsRight">{{item.secRemark}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">整改完成时间:</div>
<div class="itemsRight">{{(item.stepThiTime ? item.stepThiTime.substring(0, 10): '')}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">佐证材料:</div>
<div class="itemsRight">
<p
class="files-title"
v-for="(file, fileIndex) in item.thrSupportFileList"
:key="fileIndex"
>
<span>{{ file.oldFileName }}</span>
<i title="下载" @click="downloadFile(file.id)" class="icon-download" />
</p>
</div>
</div>
<div class="typeitems">
<div class="itemsLeft">备注信息:</div>
<div class="itemsRight">{{item.thrRemark}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">责任部门:</div>
<div class="itemsRight">{{item.responseUnitShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">责任工程师:</div>
<div class="itemsRight">{{item.responseEnginShow}}</div>
</div>
</div>
</div>
<div class="typebox" v-if="historySeeForm.besureItemEOList != null && historySeeForm.besureItemEOList.length > 0">
<el-divider content-position="left">待验证项</el-divider>
<div class="typeitem" v-for="(item, index) in historySeeForm.besureItemEOList" :key="index">
<div class="typeitems">
<div class="itemsLeft">条款号:</div>
<div class="itemsRight">{{item.itemNum}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">涉及项目:</div>
<div class="itemsRight">{{item.productNameShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">责任部门:</div>
<div class="itemsRight">{{item.responseUnitShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">责任工程师:</div>
<div class="itemsRight">{{item.responseEnginShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">验证时间:</div>
<div class="itemsRight">{{(item.validTime ? item.validTime.substring(0, 11): '')}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">验证结果:</div>
<div class="itemsRight">待验证</div>
</div>
</div>
</div>
</div>
</el-drawer>
</div>
</template>
<script>
export default {
name: 'BusinessDetails',
components: {},
data () {
return {
loading: false,
// 搜索条件字段
historySearch: {
standId: '', // 标准号/名称
productName: '', // 项目名称
responsibleUnit: '' // 责任部门
},
zNodesSItem: [],
// table列表数据
historyList: [],
// 总数
total: 0,
// 当前页数
pageNo: 1,
// 单页数量
pageSize: this.$store.getters.userInfo.configContent,
// 历史数据查看
historySee: false,
historySeeForm: {},
optionList: [
{
label: '不满足',
value: '1'
},
{
label: '待验证',
value: '2'
}
]
}
},
methods: {
openFileInPdf (attId, oldFileName) {
// 缺少文件
if (this.$hasPermission('ZWBGBNTL11')) {
this.$http.get('lawss/sarStandFile/queryConvertAtt', {
attId: attId
}, {
_this: this
}, res => {
if (res.data) {
let fileObj = {}
fileObj.fileId = res.data.attId
fileObj.fileName = oldFileName
let fileList = []
let repeatData = 0
if (sessionStorage.getItem('fileInfo')) {
fileList = JSON.parse(sessionStorage.getItem('fileInfo'))
if (fileList != null && fileList.length > 0) {
for (let i = 0; i < fileList.length; i++) {
if (fileList[i].fileId === res.data.attId) {
repeatData = 1
break
}
}
if (repeatData === 0) {
fileList.push(fileObj)
fileList = JSON.stringify(fileList)
sessionStorage.setItem('fileInfo', fileList)
}
}
} else {
fileList.push(fileObj)
fileList = JSON.stringify(fileList)
sessionStorage.setItem('fileInfo', fileList)
}
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + res.data.attId))
} else {
this.$message.error('文档未转换成功或本地读取不到该文档')
}
}, e => {
this.$message.error('文档未转换成功或本地读取不到该文档')
})
} else {
this.$message.error('没有在线预览文档权限!')
}
},
downloadFile (attId) {
if (attId != null && attId !== '') {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.error('请选择要下载的文件')
}
},
downloadFileByWater (attId, fileSuffix) {
if (fileSuffix !== 'pdf' && fileSuffix !== 'PDF') {
this.$message.error('水印下载仅支持PDF,pdf格式文件')
} else {
if (attId != null && attId !== '') {
window.location.href = '/api/att/attFile/downloadFileForSarWaterMark?fileId=' + attId
} else {
this.$message.error('请选择要下载的文件')
}
}
},
typeColor (row, type) {
this.$confirm('确定修改此标准分级?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
var color = ''
if (type === 1) {
if (row.color === '#f00') {
color = '#ff0'
} else {
color = '#f00'
}
} else {
color = '#f00'
}
this.$http.postData('lawss/sarInconformInfo/updateInconformInfo',
{
id: row.id,
color: color
}, {
_this: this
}, res => {
if (res.ok) {
this.getTableBtn()
} else {
this.$message({
type: 'error',
message: '修改失败!'
})
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消修改'
})
})
},
detailsStandard (item) {
this.$http.post('lawss/sarTestItem/validateStandNumber', {
standnumber: item.standNum
}, {
_this: this
}, res => {
this.pageType = res.data.standType
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: res.data.standid,
pageType: this.pageType
}
})
window.open(routeUrl.href, '_blank')
}, e => {
})
},
getOrgTreeSource () {
this.$http.get('sys/org/getTree', {}, {_this: this},
res => {
if (res.ok) {
let treeNode = []
res.data.map((item, index) => {
let treeItem = {}
for (let key in item) {
if (key === 'orgName') {
treeItem.name = item[key]
} else {
treeItem[key] = item[key]
}
}
treeNode[index] = treeItem
})
this.zNodesSItem = treeNode
// this.searchInlandNodes = treeNode
}
}, e => {})
},
// 更多
handleCommand (command) {
switch (command[1]) {
case '查看':
this.showUser(command[0])
break
}
},
// 查看方法
showUser (row) {
this.historySeeForm = JSON.parse(JSON.stringify(row))
this.historySee = true
this.$nextTick(() => {
const arr = []
let questionType = []
questionType = this.historySeeForm.quesType.split(',')
questionType.map((item) => {
this.optionList.map((opr) => {
if (item === opr.value) {
item = opr.label
arr.push(item)
}
})
})
this.historySeeForm.quesType = arr.toString()
})
},
// 分页事件
pageChange (page) {
this.pageNo = page
this.getTableBtn()
},
pageSizeChange (pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent
this.getTableBtn()
},
back () {
this.$router.push({
name: 'NonConfomity'
})
},
// 未符合项table selected事件
handleRowChange (selection) {
//
},
// 分页查询未符合项数据
getTableBtn () {
this.$http.get('sarStandUnqualified/sar-stand-unqualified/history', {
...this.historySearch,
current: this.pageNo,
size: this.pageSize,
},{
_this: this
}, res => {
console.log(res);
this.historyList = res.data.records
this.total = res.data.total
}, e => {
console.log(e);
})
},
// getTableBtn () {
// this.$http.get('sarStandUnqualified/sar-stand-unqualified/history', {
// ...this.historySearch,
// current: this.pageNo,
// size: this.pageSize,
// }, {
// _this: this,
// loading: 'loading'
// }, res => {
// console.log(res);
// if (res.ok) {
// this.historyList = res.data.records
// this.total = res.data.count
// } else {}
// }, e => {
// })
// },
treeClickSearch (treeId, treeNode) {
this.historySearch.responseUnit = treeNode.id
this.historySearch.responseUnitShow = treeNode.name
},
// 点击清空按钮事件
clearAllSearch () {
this.historySearch = {
standNumOrName: '',
quesType: '',
productName: '',
responseUnit: ''
}
this.getTableBtn()
},
/**
* @Description: 跳转流程
*/
processCenterClick (item) {
let routeUrl = this.$router.resolve({
name: 'ProcessDetail',
query: {
prcNum: item
}
})
window.open(routeUrl.href, '_blank')
}
},
mounted () {
this.getTableBtn()
this.getOrgTreeSource()
}
}
</script>
<style lang="less" scoped>
.historical-data{
height: 100%;
.laws-details-header {
background: #fff;
// height: 30px;
line-height: 50px;
padding: 0 10px;
//margin-bottom: 5px;
.back {
display: inline-block;
margin-right: 10px;
}
.title {
display: inline-block;
font-weight: bold;
font-size: 18px;
flex: 1;
padding: 0 15px;
text-align: center;
}
}
.content{
height: calc(~'100% - 56px - 107px');
.iconClass{
width: 18px;
height: 18px;
}
}
.typebox {
.typeitem {
border: 1px solid #f4f4f4;
padding: 10px 10px 0;
margin: 10px 0;
display: flex;
flex-wrap: wrap;
.typeitems {
margin-bottom: 10px;
display: flex;
line-height: 30px;
width: 100%;
.itemsLeft {
min-width: 140px;
margin-right: 10px;
text-align: right;
}
.itemsRight {
/*width: 150px;*/
flex-wrap: wrap;
display: flex;
.files-title{
margin-right: 10px;
}
a{
cursor: pointer;
color: #409EFF;
}
a:hover{
text-decoration: underline;
color: #409EFF;
}
i{
display: inline-block;
margin-left: 3px;
width: 18px;
height: 16px;
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: center center;
vertical-align: sub;
cursor: pointer;
}
.icon-download{
background-image: url("~assets/images/shangqi/img/download.png");
}
.icon-download2{
background-image: url("~assets/images/shangqi/img/download2.png");
}
}
}
}
}
.seeHisToryDraw{
/deep/.el-form-item__content{
line-height: 50px;
}
}
}
.add-form-item{
width: 100%;
}
</style>
@@ -78,104 +78,109 @@
size="mini"
><i class="iconfont">&#xe61b;</i>批量关闭</el-button>
<el-button
class="common-button-primary btnright"
class="common-button-primary"
size="mini"
type="primary"
@click="historyClick"
style="float: right; margin-right: 10px"
>历史数据</el-button>
</div>
<div class="container">
<loading :loading="loading">数据获取中....</loading>
<el-table
:data="causeList"
tooltip-effect="dark"
style="width: 100%;"
height="tableHeight"
border
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
<div class="table-wrap">
<div class="inner-wrap">
<el-table
:data="causeList"
tooltip-effect="dark"
style="width: 100%;"
height="100%"
border
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
>
<el-table-column
type="selection"
width="55"
fixed="left"
align="center">
</el-table-column>
<el-table-column
prop="standNum"
fixed="left"
width="180"
label="标准编号">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standNum }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
fixed="left"
width="180"
label="标准名称">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="productNameShow"
width="180"
label="产品线">
</el-table-column>
<el-table-column
prop="productNameShow"
width="180"
label="项目名称">
</el-table-column>
<el-table-column
prop="productNameShow"
width="180"
label="当前节点">
</el-table-column>
<el-table-column
prop="responseUnitShow"
width="180"
label="责任部门">
</el-table-column>
<el-table-column
prop="responseEnginShow"
width="150"
label="责任工程师">
</el-table-column>
<el-table-column
prop="responseEnginShow"
width="150"
label="认证工程师">
</el-table-column>
<el-table-column
prop="responseEnginShow"
width="150"
label="质量工程师">
</el-table-column>
<el-table-column
prop="planCloseTime"
width="150"
sortable="custom"
label="要求关闭时间">
<template slot-scope="scope">{{(scope.row.planCloseTime ? scope.row.planCloseTime.substring(0, 11): '')}}</template>
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'R4FTCUQSXFUZPUSN3W63'">查看</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'G7GL8ZAZ5EYK6LRXW5MT'">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '关闭']" v-btn-permission="'Q8GPXE8L36KN2XVMZ6Y4'">关闭</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
>
<el-table-column
type="selection"
width="55"
fixed="left"
align="center">
</el-table-column>
<el-table-column
prop="standNum"
fixed="left"
width="180"
label="标准编号">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standNum }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
fixed="left"
width="180"
label="标准名称">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="productNameShow"
width="180"
label="产品线">
</el-table-column>
<el-table-column
prop="productNameShow"
width="180"
label="项目名称">
</el-table-column>
<el-table-column
prop="productNameShow"
width="180"
label="当前节点">
</el-table-column>
<el-table-column
prop="responseUnitShow"
width="180"
label="责任部门">
</el-table-column>
<el-table-column
prop="responseEnginShow"
width="150"
label="责任工程师">
</el-table-column>
<el-table-column
prop="responseEnginShow"
width="150"
label="认证工程师">
</el-table-column>
<el-table-column
prop="responseEnginShow"
width="150"
label="质量工程师">
</el-table-column>
<el-table-column
prop="planCloseTime"
width="150"
sortable="custom"
label="要求关闭时间">
<template slot-scope="scope">{{(scope.row.planCloseTime ? scope.row.planCloseTime.substring(0, 11): '')}}</template>
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'R4FTCUQSXFUZPUSN3W63'">查看</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'G7GL8ZAZ5EYK6LRXW5MT'">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '关闭']" v-btn-permission="'Q8GPXE8L36KN2XVMZ6Y4'">关闭</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
<div class="footer">
<pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
</div>
@@ -212,7 +217,7 @@ export default {
//点击历史数据按钮事件
historyClick (){
this.$router.push({
name:'HistoricalData'
name:'BusinessDetails'
})
},
// 清空 查询条件
@@ -264,15 +269,38 @@ export default {
<style lang="less" scoped>
#business-division {
height: 100%;
display: flex;
flex-direction: column;
.content-center {
margin-bottom:10px
margin-left: 10px;
margin-bottom: 10px;
}
.btnright {
float: right;
margin-right:10px;
}
.footer {
margin-bottom: 390px;
.container {
flex: 1;
overflow: hidden;
display: flex;
flex-direction: column;
.table-wrap {
flex: 1;
overflow: hidden;
position: relative;
.inner-wrap {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
.footer {
/deep/ .pagination {
position: static;
}
}
}
}
</style>
@@ -11,25 +11,18 @@
<div class="left">
<el-form :modal="historySearch" :inline="true" class="label-input-form" >
<el-form-item label="标准号/标准名称" class="search-item">
<el-input v-model="historySearch.standNumOrName"
<el-input v-model="historySearch.standId"
placeholder="请输入"
clearable
@keyup.enter="getTableBtn"
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="问题类型" class="search-item">
<el-select v-model="historySearch.quesType">
<el-option value="1" label="不满足"></el-option>
<el-option value="2" label="待验证"></el-option>
</el-select>
</el-form-item>
<el-form-item label="相关项目" class="search-item">
<el-select v-model="historySearch.productName">
<el-option v-for="item1 in productNameList"
:key="item1.value"
:label="item1.label"
:value="item1.value"></el-option>
</el-select>
<el-form-item label="项目名称" class="search-item">
<el-input v-model="historySearch.productName"
placeholder="请输入"
clearable
@keyup.enter="getTableBtn"
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="historySearch.responseUnit" v-show="false" />
@@ -61,19 +54,18 @@
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
icon="el-icon-search"
type="primary"
size="mini"
class="common-button-primary"
round
@click="getTableBtn">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
size="mini"
class="common-button-default"
icon="el-icon-refresh-left"
round
@click="clearAllSearch"></el-button>
@click="clearAllSearch">清空</el-button>
</el-form-item>
</el-form>
</div>
@@ -98,84 +90,63 @@
align="center">
</el-table-column>
<el-table-column
prop="standNum"
fixed="left"
prop="standId"
width="180px"
label="标准号/政策号">
label="标准号">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standNum }}</a>
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standId }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
fixed="left"
width="180px"
label="标准名称/政策名称">
label="标准名称">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- prop="requestType"-->
<!-- label="要求类型">-->
<!-- </el-table-column>-->
<el-table-column
prop="quesType"
label="问题类型">
<template slot-scope="scope">
<div v-if="scope.row.quesType === '1'">不满足</div>
<div v-if="scope.row.quesType === '2'">待验证</div>
<div v-if="scope.row.quesType === '1,2' || scope.row.quesType === '2,1'">不满足,待验证</div>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- prop="sarState"-->
<!-- align="center"-->
<!-- label="合规性分级">-->
<!-- <template slot-scope="scope">-->
<!-- <div v-if="!scope.row.quesType">-->
<!-- <img class="iconClass" src="../../../../assets/images/ComplianceClassification/white.png">-->
<!-- </div>-->
<!-- <div v-else-if="scope.row.color === '#f00'">-->
<!-- <img class="iconClass" @click="typeColor(scope.row, 1)" src="../../../../assets/images/ComplianceClassification/red.png" >-->
<!-- </div>-->
<!-- <div v-else-if="scope.row.color === '#ff0'">-->
<!-- <img class="iconClass" @click="typeColor(scope.row, 1)" src="../../../../assets/images/ComplianceClassification/yellow.png" >-->
<!-- </div>-->
<!-- <div v-else>-->
<!-- <img class="iconClass" src="../../../../assets/images/ComplianceClassification/green.png" >-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column
prop="productNameShow"
label="相关项目">
prop="itemsNum"
label="条款号">
</el-table-column>
<el-table-column
prop="responseUnitShow"
prop="itemsName"
label="条款名称">
</el-table-column>
<el-table-column
prop="productLine"
label="产品线">
</el-table-column>
<el-table-column
prop="productName"
label="项目名称">
</el-table-column>
<el-table-column
prop="responsibleUnit"
label="责任部门">
</el-table-column>
<el-table-column
prop="responseEnginShow"
prop="dutyEngineer"
width="150px"
label="责任工程师">
</el-table-column>
<el-table-column
prop="realCloseTime"
prop="authEngineer"
width="150px"
label="认证工程师">
</el-table-column>
<el-table-column
prop="qaEngineer"
width="150px"
label="质量工程师">
</el-table-column>
<el-table-column
prop="actualCloseTime"
width="150px"
sortable
label="实际关闭时间">
<template slot-scope="scope">{{(scope.row.realCloseTime ? scope.row.realCloseTime.substring(0, 11): '')}}</template>
<template slot-scope="scope">{{(scope.row.actualCloseTime ? scope.row.actualCloseTime.substring(0, 11): '')}}</template>
</el-table-column>
<el-table-column
prop="closeType"
width="150px"
label="关闭类型">
<template slot-scope="scope">
<div v-if="scope.row.closeType === '1'">强制关闭</div>
<div v-if="scope.row.closeType === '2'">流程关闭</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
@@ -208,42 +179,38 @@
style="width: 100%;"
:model="historySeeForm"
>
<el-form-item class="add-form-item" label="标准号/政策号:">
<div class="seeItem">{{historySeeForm.standNum}}</div>
<el-form-item class="add-form-item" label="标准号:">
<div class="seeItem">{{historySeeForm.standId}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="标准名称/政策名称:">
<el-form-item class="add-form-item" label="标准名称:">
<div class="seeItem">{{historySeeForm.standName}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="问题类型:">
<div class="seeItem">{{historySeeForm.quesType}}</div>
<el-form-item class="add-form-item" label="条款号:">
<div class="seeItem">{{historySeeForm.itemsNum}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="相关项目:">
<div class="seeItem">{{historySeeForm.productNameShow}}</div>
<el-form-item class="add-form-item" label="条款名称:">
<div class="seeItem">{{historySeeForm.itemsName}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="不符合项数目:">
<div class="seeItem">{{historySeeForm.inconNum}}</div>
<el-form-item class="add-form-item" label="产品线:">
<div class="seeItem">{{historySeeForm.productLine}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="实际关闭时间:">
<div class="seeItem">{{(historySeeForm.realCloseTime ? historySeeForm.realCloseTime.substring(0, 11): '')}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="相关流程:">
<div class="seeItem table-jump" @click="processCenterClick(historySeeForm.relateAct)">{{historySeeForm.relateAct}}</div>
<el-form-item class="add-form-item" label="项目名称:">
<div class="seeItem">{{historySeeForm.productName}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="责任部门:">
<div class="seeItem">{{historySeeForm.responseUnitShow}}</div>
<div class="seeItem">{{historySeeForm.responsibleUnit}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="责任工程师:">
<div class="seeItem">{{historySeeForm.responseEnginShow}}</div>
<div class="seeItem">{{historySeeForm.dutyEngineer}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="关闭理由:">
<div class="seeItem">{{historySeeForm.closeReason}}</div>
<el-form-item class="add-form-item" label="认证工程师:">
<div class="seeItem">{{historySeeForm.authEngineer}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="关闭类型:">
<div v-if="historySeeForm.closeType">
<div class="seeItem" v-if="historySeeForm.closeType === '1'">强制关闭</div>
<div class="seeItem" v-if="historySeeForm.closeType === '2'">流程关闭</div>
</div>
<div class="seeItem" v-else>{{historySeeForm.closeType}}</div>
<el-form-item class="add-form-item" label="质量工程师:">
<div class="seeItem">{{historySeeForm.qaEngineer}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="要求关闭时间:">
<div class="seeItem">{{historySeeForm.actualCloseTime}}</div>
</el-form-item>
</el-form>
</div>
@@ -380,11 +347,9 @@ export default {
loading: false,
// 搜索条件字段
historySearch: {
standNumOrName: '',
quesType: '',
productName: '',
responseUnitShow: '',
responseUnit: ''
standId: '', // 标准号/名称
productName: '', // 项目名称
responsibleUnit: '' // 责任部门
},
zNodesSItem: [],
// table列表数据
@@ -398,7 +363,6 @@ export default {
// 历史数据查看
historySee: false,
historySeeForm: {},
productNameList: [],
optionList: [
{
label: '不满足',
@@ -598,40 +562,39 @@ export default {
handleRowChange (selection) {
//
},
// 点击搜索按钮事件
getTableBtn () {
this.$http.get('lawss/sarInconformInfo/getHistoryDatas', {
page: this.pageNo,
pageSize: this.pageSize,
standNumOrName: this.historySearch.standNumOrName,
quesType: this.historySearch.quesType,
productName: this.historySearch.productName,
responseUnit: this.historySearch.responseUnit
}, {
_this: this,
loading: 'loading'
}, res => {
if (res.ok) {
this.historyList = res.data.list
this.total = res.data.count
} else {}
}, e => {
})
},
getSearchInforList () {
this.$http.get('lawss/sarProductInfo/getSelList', {}, {
_this: this, loading: 'loading'
}, res => {
// const arr2 = []
// for (let key in res.data.projectValue) {
// const obj = {}
// obj.label = key
// obj.value = res.data.projectValue[key]
// arr2.push(obj)
// }
this.productNameList = res.data.projectValue
})
},
// 分页查询未符合项数据
getTableBtn () {
this.$http.get('sarStandUnqualified/sar-stand-unqualified/history', {
...this.historySearch,
current: this.pageNo,
size: this.pageSize,
},{
_this: this
}, res => {
console.log(res);
this.historyList = res.data.records
this.total = res.data.total
}, e => {
console.log(e);
})
},
// getTableBtn () {
// this.$http.get('sarStandUnqualified/sar-stand-unqualified/history', {
// ...this.historySearch,
// current: this.pageNo,
// size: this.pageSize,
// }, {
// _this: this,
// loading: 'loading'
// }, res => {
// console.log(res);
// if (res.ok) {
// this.historyList = res.data.records
// this.total = res.data.count
// } else {}
// }, e => {
// })
// },
treeClickSearch (treeId, treeNode) {
this.historySearch.responseUnit = treeNode.id
this.historySearch.responseUnitShow = treeNode.name
@@ -662,7 +625,6 @@ export default {
mounted () {
this.getTableBtn()
this.getOrgTreeSource()
this.getSearchInforList()
}
}
</script>
@@ -39,6 +39,26 @@ export default {
<style lang="less" scoped>
#key-issues {
height: 100%;
display: flex;
flex-direction: column;
background-color: #FFFFFF;
.non-content {
height: 100%;
/deep/ .el-tabs {
display: flex;
flex-direction: column;
.el-tabs__content {
flex: 1;
overflow: hidden;
.el-tab-pane {
height: 100%;
}
}
}
}
.el-tabs__nav {
margin-left:20px;
}
}
</style>
@@ -78,7 +78,8 @@
size="mini"
><i class="iconfont">&#xe61b;</i>批量关闭</el-button>
<el-button
class="common-button-primary btnright"
class="common-button-primary"
style="float: right; margin-right: 10px;"
size="mini"
type="primary"
@click="historyClick"
@@ -212,7 +213,7 @@ export default {
//点击历史数据按钮事件
historyClick (){
this.$router.push({
name:'HistoricalData'
name:'ProductDetails'
})
},
// 清空 查询条件
@@ -264,15 +265,38 @@ export default {
<style lang="less" scoped>
#product-department {
height: 100%;
display: flex;
flex-direction: column;
.content-center {
margin-bottom:10px
margin-left: 10px;
margin-bottom: 10px;
}
.btnright {
float: right;
margin-right:10px;
}
.footer {
margin-bottom: 390px;
.container {
flex: 1;
overflow: hidden;
display: flex;
flex-direction: column;
.table-wrap {
flex: 1;
overflow: hidden;
position: relative;
.inner-wrap {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
.footer {
/deep/ .pagination {
position: static;
}
}
}
}
</style>
@@ -0,0 +1,724 @@
<!--产品规划部历史数据-->
<!-- 标准法规库 - 未符合项跟踪 - 历史数据-->
<template>
<div class="historical-data v-class">
<div class="laws-details-header">
<div class="back" title="返回" @click="back">
<i class="el-icon-back"></i>
</div>
<div class="title">历史数据</div>
</div>
<div class="search-area">
<div class="left">
<el-form :modal="historySearch" :inline="true" class="label-input-form" >
<el-form-item label="标准号/标准名称" class="search-item">
<el-input v-model="historySearch.standId"
placeholder="请输入"
clearable
@keyup.enter="getTableBtn"
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-input v-model="historySearch.productName"
placeholder="请输入"
clearable
@keyup.enter="getTableBtn"
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="historySearch.responseUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
trigger="click"
:value="false"
>
<el-input
slot="reference"
v-model="historySearch.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
id="searchResp"
/>
<div class="api">
<laws-tree
:zNodes="zNodesSItem"
treeDivId="zNodesSItemSearch"
deptSelect
showRMenu
@treeDblClick="(treeId, treeNode) => treeClickSearch(treeId, treeNode)"
class="ztree" style="width: 200px;height: 400px;overflow: auto">
</laws-tree>
</div>
</el-popover>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
size="mini"
class="common-button-primary"
@click="getTableBtn">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
size="mini"
class="common-button-default"
@click="clearAllSearch">清空</el-button>
</el-form-item>
</el-form>
</div>
</div>
<div class="content">
<loading :loading="loading">数据获取中</loading>
<el-table
:data="historyList"
tooltip-effect="dark"
style="width: 100%;"
height="100%"
border
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="handleRowChange"
ref="selection"
>
<el-table-column
type="selection"
width="55"
fixed="left"
align="center">
</el-table-column>
<el-table-column
prop="standId"
width="180px"
label="标准编号">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standId }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
width="180px"
label="标准名称">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="itemsNum"
label="条款号">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称">
</el-table-column>
<el-table-column
prop="productLine"
label="产品线">
</el-table-column>
<el-table-column
prop="productName"
label="项目名称">
</el-table-column>
<el-table-column
prop="responsibleUnit"
label="责任部门">
</el-table-column>
<el-table-column
prop="dutyEngineer"
width="150px"
label="责任工程师">
</el-table-column>
<el-table-column
prop="authEngineer"
width="150px"
label="认证工程师">
</el-table-column>
<el-table-column
prop="qaEngineer"
width="150px"
label="质量工程师">
</el-table-column>
<el-table-column
prop="actualCloseTime"
width="150px"
sortable
label="实际关闭时间">
<template slot-scope="scope">{{(scope.row.actualCloseTime ? scope.row.actualCloseTime.substring(0, 11): '')}}</template>
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']">查看</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
<pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
<el-drawer
title='查看'
:visible.sync="historySee"
destroy-on-close
:wrapperClosable="false"
class="seeHisToryDraw"
size="1000px"
>
<div class="demo-drawer-content">
<div class="el-drawer-form" style="height: auto">
<el-form
class="label-input-form"
label-width="150px"
ref="nonAddForm"
style="width: 100%;"
:model="historySeeForm"
>
<el-form-item class="add-form-item" label="标准编号:">
<div class="seeItem">{{historySeeForm.standId}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="标准名称:">
<div class="seeItem">{{historySeeForm.standName}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="条款号:">
<div class="seeItem">{{historySeeForm.itemsNum}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="条款名称:">
<div class="seeItem">{{historySeeForm.itemsName}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="产品线:">
<div class="seeItem">{{historySeeForm.productLine}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="项目名称:">
<div class="seeItem">{{historySeeForm.productName}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="责任部门:">
<div class="seeItem">{{historySeeForm.responsibleUnit}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="责任工程师:">
<div class="seeItem">{{historySeeForm.dutyEngineer}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="认证工程师:">
<div class="seeItem">{{historySeeForm.authEngineer}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="质量工程师:">
<div class="seeItem">{{historySeeForm.qaEngineer}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="要求关闭时间:">
<div class="seeItem">{{historySeeForm.actualCloseTime}}</div>
</el-form-item>
</el-form>
</div>
<div class="typebox" v-if="historySeeForm.inconItemEOList != null && historySeeForm.inconItemEOList.length > 0">
<el-divider content-position="left">不符合项</el-divider>
<div class="typeitem" v-for="(item, index) in historySeeForm.inconItemEOList" :key="index">
<div class="typeitems">
<div class="itemsLeft">条款号:</div>
<div class="itemsRight">{{item.itemNum}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">涉及项目:</div>
<div class="itemsRight">{{item.productNameShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">目前状态:</div>
<!-- <div class="itemsRight" v-if="item.itemState == '2'">符合</div>-->
<div class="itemsRight">不符合</div>
</div>
<div class="typeitems">
<div class="itemsLeft">设计完成时间:</div>
<div class="itemsRight">{{(item.stepFirTime ? item.stepFirTime.substring(0, 10): '')}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">佐证材料:</div>
<!-- <div class="itemsRight">{{item.supportFile}}</div>-->
<div class="itemsRight">
<p
class="files-title"
v-for="(file, fileIndex) in item.supportFileList"
:key="fileIndex"
>
<span>{{ file.oldFileName }}</span>
<i title="下载" @click="downloadFile(file.id)" class="icon-download" />
</p>
</div>
</div>
<div class="typeitems">
<div class="itemsLeft">备注信息:</div>
<div class="itemsRight">{{item.remark}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">验证完成时间:</div>
<div class="itemsRight">{{(item.stepSecTime ? item.stepSecTime.substring(0, 10): '')}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">佐证材料:</div>
<div class="itemsRight">
<p
class="files-title"
v-for="(file, fileIndex) in item.secSupportFileList"
:key="fileIndex"
>
<span>{{ file.oldFileName }}</span>
<i title="下载" @click="downloadFile(file.id)" class="icon-download" />
</p>
</div>
</div>
<div class="typeitems">
<div class="itemsLeft">备注信息:</div>
<div class="itemsRight">{{item.secRemark}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">整改完成时间:</div>
<div class="itemsRight">{{(item.stepThiTime ? item.stepThiTime.substring(0, 10): '')}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">佐证材料:</div>
<div class="itemsRight">
<p
class="files-title"
v-for="(file, fileIndex) in item.thrSupportFileList"
:key="fileIndex"
>
<span>{{ file.oldFileName }}</span>
<i title="下载" @click="downloadFile(file.id)" class="icon-download" />
</p>
</div>
</div>
<div class="typeitems">
<div class="itemsLeft">备注信息:</div>
<div class="itemsRight">{{item.thrRemark}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">责任部门:</div>
<div class="itemsRight">{{item.responseUnitShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">责任工程师:</div>
<div class="itemsRight">{{item.responseEnginShow}}</div>
</div>
</div>
</div>
<div class="typebox" v-if="historySeeForm.besureItemEOList != null && historySeeForm.besureItemEOList.length > 0">
<el-divider content-position="left">待验证项</el-divider>
<div class="typeitem" v-for="(item, index) in historySeeForm.besureItemEOList" :key="index">
<div class="typeitems">
<div class="itemsLeft">条款号:</div>
<div class="itemsRight">{{item.itemNum}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">涉及项目:</div>
<div class="itemsRight">{{item.productNameShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">责任部门:</div>
<div class="itemsRight">{{item.responseUnitShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">责任工程师:</div>
<div class="itemsRight">{{item.responseEnginShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">验证时间:</div>
<div class="itemsRight">{{(item.validTime ? item.validTime.substring(0, 11): '')}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">验证结果:</div>
<div class="itemsRight">待验证</div>
</div>
</div>
</div>
</div>
</el-drawer>
</div>
</template>
<script>
export default {
name: 'ProductDetails',
components: {},
data () {
return {
loading: false,
// 搜索条件字段
historySearch: {
standId: '', // 标准号/名称
productName: '', // 项目名称
responsibleUnit: '' // 责任部门
},
zNodesSItem: [],
// table列表数据
historyList: [],
// 总数
total: 0,
// 当前页数
pageNo: 1,
// 单页数量
pageSize: this.$store.getters.userInfo.configContent,
// 历史数据查看
historySee: false,
historySeeForm: {},
optionList: [
{
label: '不满足',
value: '1'
},
{
label: '待验证',
value: '2'
}
]
}
},
methods: {
openFileInPdf (attId, oldFileName) {
// 缺少文件
if (this.$hasPermission('ZWBGBNTL11')) {
this.$http.get('lawss/sarStandFile/queryConvertAtt', {
attId: attId
}, {
_this: this
}, res => {
if (res.data) {
let fileObj = {}
fileObj.fileId = res.data.attId
fileObj.fileName = oldFileName
let fileList = []
let repeatData = 0
if (sessionStorage.getItem('fileInfo')) {
fileList = JSON.parse(sessionStorage.getItem('fileInfo'))
if (fileList != null && fileList.length > 0) {
for (let i = 0; i < fileList.length; i++) {
if (fileList[i].fileId === res.data.attId) {
repeatData = 1
break
}
}
if (repeatData === 0) {
fileList.push(fileObj)
fileList = JSON.stringify(fileList)
sessionStorage.setItem('fileInfo', fileList)
}
}
} else {
fileList.push(fileObj)
fileList = JSON.stringify(fileList)
sessionStorage.setItem('fileInfo', fileList)
}
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + res.data.attId))
} else {
this.$message.error('文档未转换成功或本地读取不到该文档')
}
}, e => {
this.$message.error('文档未转换成功或本地读取不到该文档')
})
} else {
this.$message.error('没有在线预览文档权限!')
}
},
downloadFile (attId) {
if (attId != null && attId !== '') {
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
} else {
this.$message.error('请选择要下载的文件')
}
},
downloadFileByWater (attId, fileSuffix) {
if (fileSuffix !== 'pdf' && fileSuffix !== 'PDF') {
this.$message.error('水印下载仅支持PDF,pdf格式文件')
} else {
if (attId != null && attId !== '') {
window.location.href = '/api/att/attFile/downloadFileForSarWaterMark?fileId=' + attId
} else {
this.$message.error('请选择要下载的文件')
}
}
},
typeColor (row, type) {
this.$confirm('确定修改此标准分级?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
var color = ''
if (type === 1) {
if (row.color === '#f00') {
color = '#ff0'
} else {
color = '#f00'
}
} else {
color = '#f00'
}
this.$http.postData('lawss/sarInconformInfo/updateInconformInfo',
{
id: row.id,
color: color
}, {
_this: this
}, res => {
if (res.ok) {
this.getTableBtn()
} else {
this.$message({
type: 'error',
message: '修改失败!'
})
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消修改'
})
})
},
detailsStandard (item) {
this.$http.post('lawss/sarTestItem/validateStandNumber', {
standnumber: item.standNum
}, {
_this: this
}, res => {
this.pageType = res.data.standType
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: res.data.standid,
pageType: this.pageType
}
})
window.open(routeUrl.href, '_blank')
}, e => {
})
},
getOrgTreeSource () {
this.$http.get('sys/org/getTree', {}, {_this: this},
res => {
if (res.ok) {
let treeNode = []
res.data.map((item, index) => {
let treeItem = {}
for (let key in item) {
if (key === 'orgName') {
treeItem.name = item[key]
} else {
treeItem[key] = item[key]
}
}
treeNode[index] = treeItem
})
this.zNodesSItem = treeNode
// this.searchInlandNodes = treeNode
}
}, e => {})
},
// 更多
handleCommand (command) {
switch (command[1]) {
case '查看':
this.showUser(command[0])
break
}
},
// 查看方法
showUser (row) {
this.historySeeForm = JSON.parse(JSON.stringify(row))
this.historySee = true
this.$nextTick(() => {
const arr = []
let questionType = []
questionType = this.historySeeForm.quesType.split(',')
questionType.map((item) => {
this.optionList.map((opr) => {
if (item === opr.value) {
item = opr.label
arr.push(item)
}
})
})
this.historySeeForm.quesType = arr.toString()
})
},
// 分页事件
pageChange (page) {
this.pageNo = page
this.getTableBtn()
},
pageSizeChange (pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent
this.getTableBtn()
},
back () {
this.$router.push({
name: 'NonConfomity'
})
},
// 未符合项table selected事件
handleRowChange (selection) {
//
},
// 分页查询未符合项数据
getTableBtn () {
this.$http.get('sarStandUnqualified/sar-stand-unqualified/history', {
...this.historySearch,
current: this.pageNo,
size: this.pageSize,
},{
_this: this
}, res => {
console.log(res);
this.historyList = res.data.records
this.total = res.data.total
}, e => {
console.log(e);
})
},
// getTableBtn () {
// this.$http.get('sarStandUnqualified/sar-stand-unqualified/history', {
// ...this.historySearch,
// current: this.pageNo,
// size: this.pageSize,
// }, {
// _this: this,
// loading: 'loading'
// }, res => {
// console.log(res);
// if (res.ok) {
// this.historyList = res.data.records
// this.total = res.data.count
// } else {}
// }, e => {
// })
// },
treeClickSearch (treeId, treeNode) {
this.historySearch.responseUnit = treeNode.id
this.historySearch.responseUnitShow = treeNode.name
},
// 点击清空按钮事件
clearAllSearch () {
this.historySearch = {
standNumOrName: '',
quesType: '',
productName: '',
responseUnit: ''
}
this.getTableBtn()
},
/**
* @Description: 跳转流程
*/
processCenterClick (item) {
let routeUrl = this.$router.resolve({
name: 'ProcessDetail',
query: {
prcNum: item
}
})
window.open(routeUrl.href, '_blank')
}
},
mounted () {
this.getTableBtn()
this.getOrgTreeSource()
}
}
</script>
<style lang="less" scoped>
.historical-data{
height: 100%;
.laws-details-header {
background: #fff;
// height: 30px;
line-height: 50px;
padding: 0 10px;
//margin-bottom: 5px;
.back {
display: inline-block;
margin-right: 10px;
}
.title {
display: inline-block;
font-weight: bold;
font-size: 18px;
flex: 1;
padding: 0 15px;
text-align: center;
}
}
.content{
height: calc(~'100% - 56px - 107px');
.iconClass{
width: 18px;
height: 18px;
}
}
.typebox {
.typeitem {
border: 1px solid #f4f4f4;
padding: 10px 10px 0;
margin: 10px 0;
display: flex;
flex-wrap: wrap;
.typeitems {
margin-bottom: 10px;
display: flex;
line-height: 30px;
width: 100%;
.itemsLeft {
min-width: 140px;
margin-right: 10px;
text-align: right;
}
.itemsRight {
/*width: 150px;*/
flex-wrap: wrap;
display: flex;
.files-title{
margin-right: 10px;
}
a{
cursor: pointer;
color: #409EFF;
}
a:hover{
text-decoration: underline;
color: #409EFF;
}
i{
display: inline-block;
margin-left: 3px;
width: 18px;
height: 16px;
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: center center;
vertical-align: sub;
cursor: pointer;
}
.icon-download{
background-image: url("~assets/images/shangqi/img/download.png");
}
.icon-download2{
background-image: url("~assets/images/shangqi/img/download2.png");
}
}
}
}
}
.seeHisToryDraw{
/deep/.el-form-item__content{
line-height: 50px;
}
}
}
.add-form-item{
width: 100%;
}
</style>
@@ -5,21 +5,19 @@
<div class="content-top">
<el-form :modal="nonConformitySearch" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input v-model="nonConformitySearch.standNumOrName"
<el-input v-model="nonConformitySearch.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-select filterable clearable v-model="nonConformitySearch.productName">
<el-option v-for="item1 in productNameList"
:key="item1.value"
:label="item1.label"
:value="item1.value"></el-option>
</el-select>
<el-input v-model="nonConformitySearch.productName"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="nonConformitySearch.responseUnit" v-show="false" />
<el-input v-model="nonConformitySearch.responsibleUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
@@ -85,112 +83,292 @@
size="mini"
type="primary"
@click="historyClick"
style="float: right; margin-right: 10px;"
>历史数据</el-button>
</div>
<div class="container">
<loading :loading="loading">数据获取中....</loading>
<el-table
:data="nonList"
tooltip-effect="dark"
style="width: 100%;"
height="500px"
border
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
<div class="table-wrap">
<div class="inner-wrap">
<el-table
:data="nonList"
tooltip-effect="dark"
height="100%"
border
class="table"
v-loading="myLoading.loadData"
@selection-change="standSelectChange"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
>
<el-table-column
type="selection"
width="55"
fixed="left"
align="center">
</el-table-column>
<el-table-column
prop="standId"
fixed="left"
width="180"
label="标准编号">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standNum }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
fixed="left"
width="180"
label="标准名称">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="itemsNum"
width="180"
label="条款号">
</el-table-column>
<el-table-column
prop="itemsName"
width="180"
label="条款名称">
</el-table-column>
<el-table-column
prop="productType"
width="180"
label="产品类型">
</el-table-column>
<el-table-column
prop="productLine"
width="180"
label="产品线">
</el-table-column>
<el-table-column
prop="productName"
width="180"
label="项目名称">
</el-table-column>
<el-table-column
prop="responsibleUnit"
width="180"
label="责任部门">
</el-table-column>
<el-table-column
prop="dutyEngineer"
width="150"
label="责任工程师">
</el-table-column>
<el-table-column
prop="authEngineer"
width="150"
label="认证工程师">
</el-table-column>
<el-table-column
prop="qaEngineer"
width="150"
label="质量工程师">
</el-table-column>
<el-table-column
prop="planCloseTime"
width="150"
sortable="custom"
label="计划关闭时间">
<template slot-scope="scope">{{(scope.row.planCloseTime ? scope.row.planCloseTime.substring(0, 11): '')}}</template>
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'R4FTCUQSXFUZPUSN3W63'">查看</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'G7GL8ZAZ5EYK6LRXW5MT'">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '关闭']" v-btn-permission="'Q8GPXE8L36KN2XVMZ6Y4'">关闭</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
>
<el-table-column
type="selection"
width="55"
fixed="left"
align="center">
</el-table-column>
<el-table-column
prop="standId"
fixed="left"
width="180"
label="标准编号">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standId }}</a>
<!-- {{ scope.row.standId }}-->
</template>
</el-table-column>
<el-table-column
prop="standName"
fixed="left"
width="180"
label="标准名称">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="itemsNum"
width="180"
label="条款号">
</el-table-column>
<el-table-column
prop="itemsName"
width="180"
label="条款名称">
</el-table-column>
<el-table-column
prop="productType"
width="180"
label="产品类型">
</el-table-column>
<el-table-column
prop="productLine"
width="180"
label="产品线">
</el-table-column>
<el-table-column
prop="productName"
width="180"
label="项目名称">
</el-table-column>
<el-table-column
prop="responsibleUnit"
width="180"
label="责任部门">
</el-table-column>
<el-table-column
prop="dutyEngineer"
width="150"
label="责任工程师">
</el-table-column>
<el-table-column
prop="authEngineer"
width="150"
label="认证工程师">
</el-table-column>
<el-table-column
prop="qaEngineer"
width="150"
label="质量工程师">
</el-table-column>
<el-table-column
prop="planCloseTime"
width="150"
sortable="custom"
label="计划关闭时间">
<template slot-scope="scope">{{(scope.row.planCloseTime ? scope.row.planCloseTime.substring(0, 11): '')}}</template>
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'R4FTCUQSXFUZPUSN3W63'">查看</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'G7GL8ZAZ5EYK6LRXW5MT'">编辑</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
<div class="footer">
<pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
<el-drawer
title='查看'
:visible.sync="historySee"
destroy-on-close
:wrapperClosable="false"
class="seeHisToryDraw"
size="1000px"
>
<div class="demo-drawer-content">
<div class="el-drawer-form" style="height: auto">
<el-form
class="label-input-form"
label-width="150px"
ref="nonAddForm"
style="width: 100%;"
:model="historySeeForm"
>
<el-form-item class="add-form-item" label="标准编号:">
<div class="seeItem">{{historySeeForm.standId}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="标准名称:">
<div class="seeItem">{{historySeeForm.standName}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="条款号:">
<div class="seeItem">{{historySeeForm.itemsNum}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="条款名称:">
<div class="seeItem">{{historySeeForm.itemsName}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="产品线:">
<div class="seeItem">{{historySeeForm.productLine}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="项目名称:">
<div class="seeItem">{{historySeeForm.productName}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="责任部门:">
<div class="seeItem">{{historySeeForm.responsibleUnit}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="责任工程师:">
<div class="seeItem">{{historySeeForm.dutyEngineer}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="认证工程师:">
<div class="seeItem">{{historySeeForm.authEngineer}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="质量工程师:">
<div class="seeItem">{{historySeeForm.qaEngineer}}</div>
</el-form-item>
<el-form-item class="add-form-item" label="要求关闭时间:">
<div class="seeItem">{{historySeeForm.actualCloseTime}}</div>
</el-form-item>
</el-form>
</div>
<div class="typebox" v-if="historySeeForm.inconItemEOList != null && historySeeForm.inconItemEOList.length > 0">
<el-divider content-position="left">不符合项</el-divider>
<div class="typeitem" v-for="(item, index) in historySeeForm.inconItemEOList" :key="index">
<div class="typeitems">
<div class="itemsLeft">条款号:</div>
<div class="itemsRight">{{item.itemNum}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">涉及项目:</div>
<div class="itemsRight">{{item.productNameShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">目前状态:</div>
<!-- <div class="itemsRight" v-if="item.itemState == '2'">符合</div>-->
<div class="itemsRight">不符合</div>
</div>
<div class="typeitems">
<div class="itemsLeft">设计完成时间:</div>
<div class="itemsRight">{{(item.stepFirTime ? item.stepFirTime.substring(0, 10): '')}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">佐证材料:</div>
<!-- <div class="itemsRight">{{item.supportFile}}</div>-->
<div class="itemsRight">
<p
class="files-title"
v-for="(file, fileIndex) in item.supportFileList"
:key="fileIndex"
>
<span>{{ file.oldFileName }}</span>
<i title="下载" @click="downloadFile(file.id)" class="icon-download" />
</p>
</div>
</div>
<div class="typeitems">
<div class="itemsLeft">备注信息:</div>
<div class="itemsRight">{{item.remark}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">验证完成时间:</div>
<div class="itemsRight">{{(item.stepSecTime ? item.stepSecTime.substring(0, 10): '')}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">佐证材料:</div>
<div class="itemsRight">
<p
class="files-title"
v-for="(file, fileIndex) in item.secSupportFileList"
:key="fileIndex"
>
<span>{{ file.oldFileName }}</span>
<i title="下载" @click="downloadFile(file.id)" class="icon-download" />
</p>
</div>
</div>
<div class="typeitems">
<div class="itemsLeft">备注信息:</div>
<div class="itemsRight">{{item.secRemark}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">整改完成时间:</div>
<div class="itemsRight">{{(item.stepThiTime ? item.stepThiTime.substring(0, 10): '')}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">佐证材料:</div>
<div class="itemsRight">
<p
class="files-title"
v-for="(file, fileIndex) in item.thrSupportFileList"
:key="fileIndex"
>
<span>{{ file.oldFileName }}</span>
<i title="下载" @click="downloadFile(file.id)" class="icon-download" />
</p>
</div>
</div>
<div class="typeitems">
<div class="itemsLeft">备注信息:</div>
<div class="itemsRight">{{item.thrRemark}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">责任部门:</div>
<div class="itemsRight">{{item.responseUnitShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">责任工程师:</div>
<div class="itemsRight">{{item.responseEnginShow}}</div>
</div>
</div>
</div>
<div class="typebox" v-if="historySeeForm.besureItemEOList != null && historySeeForm.besureItemEOList.length > 0">
<el-divider content-position="left">待验证项</el-divider>
<div class="typeitem" v-for="(item, index) in historySeeForm.besureItemEOList" :key="index">
<div class="typeitems">
<div class="itemsLeft">条款号:</div>
<div class="itemsRight">{{item.itemNum}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">涉及项目:</div>
<div class="itemsRight">{{item.productNameShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">责任部门:</div>
<div class="itemsRight">{{item.responseUnitShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">责任工程师:</div>
<div class="itemsRight">{{item.responseEnginShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">验证时间:</div>
<div class="itemsRight">{{(item.validTime ? item.validTime.substring(0, 11): '')}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">验证结果:</div>
<div class="itemsRight">待验证</div>
</div>
</div>
</div>
</div>
</el-drawer>
</div>
</div>
<el-dialog :visible.sync="exportModelFlag" title="导出文件" width="300px">
@@ -208,6 +386,8 @@
</template>
<script>
import { interfaceUrl } from "@/sysConfig";
export default {
name: "rectificationDatabase",
data () {
@@ -215,31 +395,45 @@ export default {
loading: false,
nonList:[], //未符合项表格数据
exportModelFlag: false, //导出模态窗
tableHeight: null, //表格高度
exportName: '',
selectedList: [], //标准选中的数据
saveExportType: '',// 导出文件模态框控制,和文件名称
// 总数
total: 0,
// 当前页数
pageNo: 1,
nonConformitySearch: {
standNumOrName: '', // 标准号/名称
standId: '', // 标准号/名称
productName: '', // 项目名称
responseUnit: '' // 责任部门
responsibleUnit: '' // 责任部门
},
// 项目名称下拉列表数据
productNameList: [],
// 责任部门
zNodesSItem: [],
myLoading: {
loadData: false
},
//数据查看
historySee: false,
historySeeForm: {},
}
},
methods: {
// 查询未符合项table列表
getTableByPage () {
this.$http.get('sarStandUnqualified/sar-stand-unqualified', {}, {
this.myLoading.loadData = true
this.$http.get('sarStandUnqualified/sar-stand-unqualified', {
...this.nonConformitySearch,
current: this.pageNo,
size: this.$store.getters.userInfo.configContent
}, {
_this: this
}, res => {
this.nonList = res.data.records
console.log(this.nonList);
this.myLoading.loadData = false
this.nonList = res.data.records
this.total = res.data.total
}, e => {
this.myLoading.loadData = false
})
},
// 点击历史记录按钮事件
@@ -250,7 +444,14 @@ export default {
},
//导出
exportStandard () {
if(this.selectedList.length > 0) {
this.saveExportType = 'apart'
} else {
this.saveExportType = 'all'
}
this.exportName = ''
this.exportModelFlag = true
console.log(this.saveExportType);
},
//取消导出
cancal () {
@@ -258,24 +459,64 @@ export default {
},
//确认导出
exportTestItem () {
if(this.saveExportType === 'apart') {
if (this.selectedList != null && this.selectedList != ''){
const exportURL = interfaceUrl + 'sarStandUnqualified/sar-stand-unqualified/exportStandUnqulifiedExcel?' +
'exportType' + this.saveExportType + '&exportContent=' + this.selectedList.join(',') + '&exportName=' + this.exportName
window.open(exportURL)
this.$message.success('导出信息成功')
}
} else if (this.saveExportType === 'all') {
const exportURL = interfaceUrl + 'sarStandUnqualified/sar-stand-unqualified/exportStandUnqulifiedExcel?' +
'exportType' + this.saveExportType + '&exportContent=' + this.selectedList.join(',') + '&exportName=' + this.exportName + '&standType=' + this.standType
window.open(exportURL)
this.$message.success('导出信息成功')
}
this.exportModelFlag = false
this.selectedList = []
},
//批量关闭
batchClose () {
this.$confirm('确认关闭这些数据?', '提示', {
confirmButtonText: '确定',
confirmButtonClass: 'common-button-primary',
cancelButtonTxe: '取消',
type: 'warning',
roundButton: false,
})
if (this.selectedList.length === 0){
this.$message.warning('请选择一条数据进行关闭')
}else{
this.$confirm('确认关闭这些数据?', '提示', {
confirmButtonText: '确定',
confirmButtonClass: 'common-button-primary',
cancelButtonTxe: '取消',
type: 'warning',
roundButton: false,
}).then(() => {
this.$http.post('sarStandUnqualified/sar-stand-unqualified/close',{
ids: this.selectedList
},{
_this: this
}, res => {
if (res.ok) {
this.getTableByPage()
this.selectedList = []
this.$message.success('关闭成功')
}
})
}).catch(() => {
})
}
},
// 清空 查询条件
clearAllSearch (search = true) {
this.nonConformitySearch = {
standNumOrName: '',
standId: '',
productName: '',
responseUnit: ''
responsibleUnit: ''
}
this.getTableByPage()
},
// 修改成表格样式后,选择项勾选改变
standSelectChange (data) {
this.selectedList = []
for (let i = 0; i < data.length; i++) {
this.selectedList.push(data[i].id)
}
},
// 更多
@@ -287,53 +528,81 @@ export default {
case '编辑':
this.openEditModal(command[0])
break
case '关闭':
this.userClo(command[0])
break
}
},
//点击查看按钮事件
showUser(row) {
console.log(row)
this.historySeeForm = JSON.parse(JSON.stringify(row))
this.historySee = true
this.$nextTick(() => {
const arr = []
let questionType = []
questionType = this.historySeeForm.quesType.split(',')
questionType.map((item) => {
this.optionList.map((opr) => {
if (item === opr.value) {
item = opr.label
arr.push(item)
}
})
})
this.historySeeForm.quesType = arr.toString()
})
},
//点击编辑按钮事件
openEditModal(item) {
console.log(item)
},
//点击关闭按钮事件
userClo(row) {
console.log(row)
},
// 分页事件
pageChange (page) {
this.pageNo = page
this.getTableByPage()
},
pageSizeChange (pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent
pageSizeChange () {
this.getTableByPage()
},
},
mounted () {
this.getTableByPage()
},
}
};
</script>
<style lang="less" scoped>
#rectification-dataBase {
height: 100%;
.content-center{
margin:10px;
display: flex;
justify-content: space-between;
align-items: center;
display: flex;
flex-direction: column;
.content-center {
margin-left: 10px;
margin-bottom: 10px;
}
.container {
height: 100%;
}
.footer {
margin-bottom: 0;
flex: 1;
overflow: hidden;
display: flex;
flex-direction: column;
.table-wrap {
flex: 1;
overflow: hidden;
position: relative;
.inner-wrap {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
.footer {
/deep/ .pagination {
position: static;
}
}
}
}
</style>
+51
View File
@@ -222,6 +222,15 @@ const routes = [
title: '标准需求(翻译)申请流程'
}
},
{
path: '/processDetail',
name: 'ProcessDetail',
component: () => import('@/pages/processCenter/pages/processDetail/index.vue'),
meta: {
requireAuth: true,
title: '流程详情'
}
},
{
path: '/bzffStep1',
name: 'bzffStep1',
@@ -240,6 +249,24 @@ const routes = [
title: '标准入库流程'
}
},
{
path: '/bzrkStep3',
name: 'bzrkStep3',
component: () => import('@/pages/processCenter/pages/creatProcess/bzrk/step3.vue'),
meta: {
requireAuth: true,
title: '标准入库流程'
}
},
{
path: '/bzrkStep4',
name: 'bzrkStep4',
component: () => import('@/pages/processCenter/pages/creatProcess/bzrk/step4.vue'),
meta: {
requireAuth: true,
title: '标准入库流程'
}
},
{
path: '/bzrkStep2',
name: 'bzrkStep2',
@@ -735,6 +762,30 @@ const routes = [
title: '未符合项跟踪历史数据'
}
},
// 未符合项跟踪 - 事业部历史数据
{
path: '/businessDetails',
name: 'BusinessDetails',
component: () =>
import('@/pages/regulatoryRepository/nonConfomity/pages/businessDetails'),
meta: {
requireAuth: true,
parentPath: '/businessDetails',
title: '事业部历史数据'
}
},
// 未符合项跟踪 - 产品规划部历史数据
{
path: '/productDetails',
name: 'ProductDetails',
component: () =>
import('@/pages/regulatoryRepository/nonConfomity/pages/productDetails'),
meta: {
requireAuth: true,
parentPath: '/productDetails',
title: '产品规划部历史数据'
}
},
// 企标备案
{
path: '/enterpriseStandardFiling',
+1 -1
View File
@@ -6,7 +6,7 @@
// 服务器地址
// const devIp = '39.98.140.126'
// const devInterfacePORT = '10005'
const devIp = '192.168.10.51'
const devIp = '192.168.10.47'
const devInterfacePORT = '9999'
// 云端端口号
const DEV_CLOUD_RES_INTERFACE_PORT = '7777'