未符合项整改
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div id="non-cnfomity" >
|
<div id="non-cnfomity" >
|
||||||
<div class="non-content">
|
<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">
|
<el-tab-pane label="未符合项整改数据库" name="database">
|
||||||
<rectification-database></rectification-database>
|
<rectification-database></rectification-database>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
@@ -36,12 +36,27 @@ export default {
|
|||||||
mounted () {}
|
mounted () {}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scope>
|
<style lang="less" scoped>
|
||||||
#non-cnfomity {
|
#non-cnfomity {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
background-color: #FFFFFF;
|
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 {
|
.el-tabs__nav {
|
||||||
margin-left:20px;
|
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"></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"
|
size="mini"
|
||||||
><i class="iconfont"></i>批量关闭</el-button>
|
><i class="iconfont"></i>批量关闭</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
class="common-button-primary btnright"
|
class="common-button-primary"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="historyClick"
|
@click="historyClick"
|
||||||
|
style="float: right; margin-right: 10px"
|
||||||
>历史数据</el-button>
|
>历史数据</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<loading :loading="loading">数据获取中....</loading>
|
<loading :loading="loading">数据获取中....</loading>
|
||||||
<el-table
|
<div class="table-wrap">
|
||||||
:data="causeList"
|
<div class="inner-wrap">
|
||||||
tooltip-effect="dark"
|
<el-table
|
||||||
style="width: 100%;"
|
:data="causeList"
|
||||||
height="tableHeight"
|
tooltip-effect="dark"
|
||||||
border
|
style="width: 100%;"
|
||||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
height="100%"
|
||||||
|
border
|
||||||
|
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||||||
fontWeight: 'bold', height: '48px'}"
|
fontWeight: 'bold', height: '48px'}"
|
||||||
>
|
>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
type="selection"
|
type="selection"
|
||||||
width="55"
|
width="55"
|
||||||
fixed="left"
|
fixed="left"
|
||||||
align="center">
|
align="center">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="standNum"
|
prop="standNum"
|
||||||
fixed="left"
|
fixed="left"
|
||||||
width="180"
|
width="180"
|
||||||
label="标准编号">
|
label="标准编号">
|
||||||
<template slot-scope="scope">
|
<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.standNum }}</a>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="standName"
|
prop="standName"
|
||||||
fixed="left"
|
fixed="left"
|
||||||
width="180"
|
width="180"
|
||||||
label="标准名称">
|
label="标准名称">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
|
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="productNameShow"
|
prop="productNameShow"
|
||||||
width="180"
|
width="180"
|
||||||
label="产品线">
|
label="产品线">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="productNameShow"
|
prop="productNameShow"
|
||||||
width="180"
|
width="180"
|
||||||
label="项目名称">
|
label="项目名称">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="productNameShow"
|
prop="productNameShow"
|
||||||
width="180"
|
width="180"
|
||||||
label="当前节点">
|
label="当前节点">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="responseUnitShow"
|
prop="responseUnitShow"
|
||||||
width="180"
|
width="180"
|
||||||
label="责任部门">
|
label="责任部门">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="responseEnginShow"
|
prop="responseEnginShow"
|
||||||
width="150"
|
width="150"
|
||||||
label="责任工程师">
|
label="责任工程师">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="responseEnginShow"
|
prop="responseEnginShow"
|
||||||
width="150"
|
width="150"
|
||||||
label="认证工程师">
|
label="认证工程师">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="responseEnginShow"
|
prop="responseEnginShow"
|
||||||
width="150"
|
width="150"
|
||||||
label="质量工程师">
|
label="质量工程师">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="planCloseTime"
|
prop="planCloseTime"
|
||||||
width="150"
|
width="150"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
label="要求关闭时间">
|
label="要求关闭时间">
|
||||||
<template slot-scope="scope">{{(scope.row.planCloseTime ? scope.row.planCloseTime.substring(0, 11): '')}}</template>
|
<template slot-scope="scope">{{(scope.row.planCloseTime ? scope.row.planCloseTime.substring(0, 11): '')}}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" width="50" fixed="right">
|
<el-table-column label="操作" align="center" width="50" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div @click.stop style="display: inline-block">
|
<div @click.stop style="display: inline-block">
|
||||||
<el-dropdown trigger="click" @command="handleCommand">
|
<el-dropdown trigger="click" @command="handleCommand">
|
||||||
<i class="iconfont"></i>
|
<i class="iconfont"></i>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<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="'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="'G7GL8ZAZ5EYK6LRXW5MT'">编辑</el-dropdown-item>
|
||||||
<el-dropdown-item :command="[scope.row, '关闭']" v-btn-permission="'Q8GPXE8L36KN2XVMZ6Y4'">关闭</el-dropdown-item>
|
<el-dropdown-item :command="[scope.row, '关闭']" v-btn-permission="'Q8GPXE8L36KN2XVMZ6Y4'">关闭</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
|
<pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
|
||||||
</div>
|
</div>
|
||||||
@@ -212,7 +217,7 @@ export default {
|
|||||||
//点击历史数据按钮事件
|
//点击历史数据按钮事件
|
||||||
historyClick (){
|
historyClick (){
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
name:'HistoricalData'
|
name:'BusinessDetails'
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 清空 查询条件
|
// 清空 查询条件
|
||||||
@@ -264,15 +269,38 @@ export default {
|
|||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
#business-division {
|
#business-division {
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
.content-center {
|
.content-center {
|
||||||
margin-bottom:10px
|
margin-left: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
.btnright {
|
.container {
|
||||||
float: right;
|
flex: 1;
|
||||||
margin-right:10px;
|
overflow: hidden;
|
||||||
}
|
display: flex;
|
||||||
.footer {
|
flex-direction: column;
|
||||||
margin-bottom: 390px;
|
|
||||||
|
.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>
|
</style>
|
||||||
|
|||||||
@@ -11,25 +11,18 @@
|
|||||||
<div class="left">
|
<div class="left">
|
||||||
<el-form :modal="historySearch" :inline="true" class="label-input-form" >
|
<el-form :modal="historySearch" :inline="true" class="label-input-form" >
|
||||||
<el-form-item label="标准号/标准名称" class="search-item">
|
<el-form-item label="标准号/标准名称" class="search-item">
|
||||||
<el-input v-model="historySearch.standNumOrName"
|
<el-input v-model="historySearch.standId"
|
||||||
placeholder="请输入"
|
placeholder="请输入"
|
||||||
clearable
|
clearable
|
||||||
@keyup.enter="getTableBtn"
|
@keyup.enter="getTableBtn"
|
||||||
:maxlength="100"></el-input>
|
:maxlength="100"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="问题类型" class="search-item">
|
<el-form-item label="项目名称" class="search-item">
|
||||||
<el-select v-model="historySearch.quesType">
|
<el-input v-model="historySearch.productName"
|
||||||
<el-option value="1" label="不满足"></el-option>
|
placeholder="请输入"
|
||||||
<el-option value="2" label="待验证"></el-option>
|
clearable
|
||||||
</el-select>
|
@keyup.enter="getTableBtn"
|
||||||
</el-form-item>
|
:maxlength="100"></el-input>
|
||||||
<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>
|
</el-form-item>
|
||||||
<el-form-item label="责任部门" class="search-item">
|
<el-form-item label="责任部门" class="search-item">
|
||||||
<el-input v-model="historySearch.responseUnit" v-show="false" />
|
<el-input v-model="historySearch.responseUnit" v-show="false" />
|
||||||
@@ -61,19 +54,18 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item class="search-item btn-box">
|
<el-form-item class="search-item btn-box">
|
||||||
<el-button
|
<el-button
|
||||||
icon="el-icon-search"
|
|
||||||
type="primary"
|
type="primary"
|
||||||
|
size="mini"
|
||||||
class="common-button-primary"
|
class="common-button-primary"
|
||||||
round
|
|
||||||
@click="getTableBtn">
|
@click="getTableBtn">
|
||||||
|
查询
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item class="search-item btn-box">
|
<el-form-item class="search-item btn-box">
|
||||||
<el-button
|
<el-button
|
||||||
|
size="mini"
|
||||||
class="common-button-default"
|
class="common-button-default"
|
||||||
icon="el-icon-refresh-left"
|
@click="clearAllSearch">清空</el-button>
|
||||||
round
|
|
||||||
@click="clearAllSearch"></el-button>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@@ -98,84 +90,63 @@
|
|||||||
align="center">
|
align="center">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="standNum"
|
prop="standId"
|
||||||
fixed="left"
|
|
||||||
width="180px"
|
width="180px"
|
||||||
label="标准号/政策号">
|
label="标准编号">
|
||||||
<template slot-scope="scope">
|
<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>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="standName"
|
prop="standName"
|
||||||
fixed="left"
|
|
||||||
width="180px"
|
width="180px"
|
||||||
label="标准名称/政策名称">
|
label="标准名称">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
|
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column-->
|
|
||||||
<!-- prop="requestType"-->
|
|
||||||
<!-- label="要求类型">-->
|
|
||||||
<!-- </el-table-column>-->
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="quesType"
|
prop="itemsNum"
|
||||||
label="问题类型">
|
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="相关项目">
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<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="责任部门">
|
label="责任部门">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="responseEnginShow"
|
prop="dutyEngineer"
|
||||||
width="150px"
|
width="150px"
|
||||||
label="责任工程师">
|
label="责任工程师">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<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"
|
width="150px"
|
||||||
sortable
|
sortable
|
||||||
label="实际关闭时间">
|
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>
|
||||||
<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">
|
<el-table-column label="操作" align="center" width="50" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div @click.stop style="display: inline-block">
|
<div @click.stop style="display: inline-block">
|
||||||
@@ -208,42 +179,38 @@
|
|||||||
style="width: 100%;"
|
style="width: 100%;"
|
||||||
:model="historySeeForm"
|
:model="historySeeForm"
|
||||||
>
|
>
|
||||||
<el-form-item class="add-form-item" label="标准号/政策号:">
|
<el-form-item class="add-form-item" label="标准编号:">
|
||||||
<div class="seeItem">{{historySeeForm.standNum}}</div>
|
<div class="seeItem">{{historySeeForm.standId}}</div>
|
||||||
</el-form-item>
|
</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>
|
<div class="seeItem">{{historySeeForm.standName}}</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item class="add-form-item" label="问题类型:">
|
<el-form-item class="add-form-item" label="条款号:">
|
||||||
<div class="seeItem">{{historySeeForm.quesType}}</div>
|
<div class="seeItem">{{historySeeForm.itemsNum}}</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item class="add-form-item" label="相关项目:">
|
<el-form-item class="add-form-item" label="条款名称:">
|
||||||
<div class="seeItem">{{historySeeForm.productNameShow}}</div>
|
<div class="seeItem">{{historySeeForm.itemsName}}</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item class="add-form-item" label="不符合项数目:">
|
<el-form-item class="add-form-item" label="产品线:">
|
||||||
<div class="seeItem">{{historySeeForm.inconNum}}</div>
|
<div class="seeItem">{{historySeeForm.productLine}}</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item class="add-form-item" label="实际关闭时间:">
|
<el-form-item class="add-form-item" label="项目名称:">
|
||||||
<div class="seeItem">{{(historySeeForm.realCloseTime ? historySeeForm.realCloseTime.substring(0, 11): '')}}</div>
|
<div class="seeItem">{{historySeeForm.productName}}</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>
|
</el-form-item>
|
||||||
<el-form-item class="add-form-item" label="责任部门:">
|
<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>
|
||||||
<el-form-item class="add-form-item" label="责任工程师:">
|
<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>
|
||||||
<el-form-item class="add-form-item" label="关闭理由:">
|
<el-form-item class="add-form-item" label="认证工程师:">
|
||||||
<div class="seeItem">{{historySeeForm.closeReason}}</div>
|
<div class="seeItem">{{historySeeForm.authEngineer}}</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item class="add-form-item" label="关闭类型:">
|
<el-form-item class="add-form-item" label="质量工程师:">
|
||||||
<div v-if="historySeeForm.closeType">
|
<div class="seeItem">{{historySeeForm.qaEngineer}}</div>
|
||||||
<div class="seeItem" v-if="historySeeForm.closeType === '1'">强制关闭</div>
|
</el-form-item>
|
||||||
<div class="seeItem" v-if="historySeeForm.closeType === '2'">流程关闭</div>
|
<el-form-item class="add-form-item" label="要求关闭时间:">
|
||||||
</div>
|
<div class="seeItem">{{historySeeForm.actualCloseTime}}</div>
|
||||||
<div class="seeItem" v-else>{{historySeeForm.closeType}}</div>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@@ -380,11 +347,9 @@ export default {
|
|||||||
loading: false,
|
loading: false,
|
||||||
// 搜索条件字段
|
// 搜索条件字段
|
||||||
historySearch: {
|
historySearch: {
|
||||||
standNumOrName: '',
|
standId: '', // 标准号/名称
|
||||||
quesType: '',
|
productName: '', // 项目名称
|
||||||
productName: '',
|
responsibleUnit: '' // 责任部门
|
||||||
responseUnitShow: '',
|
|
||||||
responseUnit: ''
|
|
||||||
},
|
},
|
||||||
zNodesSItem: [],
|
zNodesSItem: [],
|
||||||
// table列表数据
|
// table列表数据
|
||||||
@@ -398,7 +363,6 @@ export default {
|
|||||||
// 历史数据查看
|
// 历史数据查看
|
||||||
historySee: false,
|
historySee: false,
|
||||||
historySeeForm: {},
|
historySeeForm: {},
|
||||||
productNameList: [],
|
|
||||||
optionList: [
|
optionList: [
|
||||||
{
|
{
|
||||||
label: '不满足',
|
label: '不满足',
|
||||||
@@ -598,40 +562,39 @@ export default {
|
|||||||
handleRowChange (selection) {
|
handleRowChange (selection) {
|
||||||
//
|
//
|
||||||
},
|
},
|
||||||
// 点击搜索按钮事件
|
// 分页查询未符合项数据
|
||||||
getTableBtn () {
|
getTableBtn () {
|
||||||
this.$http.get('lawss/sarInconformInfo/getHistoryDatas', {
|
this.$http.get('sarStandUnqualified/sar-stand-unqualified/history', {
|
||||||
page: this.pageNo,
|
...this.historySearch,
|
||||||
pageSize: this.pageSize,
|
current: this.pageNo,
|
||||||
standNumOrName: this.historySearch.standNumOrName,
|
size: this.pageSize,
|
||||||
quesType: this.historySearch.quesType,
|
},{
|
||||||
productName: this.historySearch.productName,
|
_this: this
|
||||||
responseUnit: this.historySearch.responseUnit
|
}, res => {
|
||||||
}, {
|
console.log(res);
|
||||||
_this: this,
|
this.historyList = res.data.records
|
||||||
loading: 'loading'
|
this.total = res.data.total
|
||||||
}, res => {
|
}, e => {
|
||||||
if (res.ok) {
|
console.log(e);
|
||||||
this.historyList = res.data.list
|
})
|
||||||
this.total = res.data.count
|
},
|
||||||
} else {}
|
// getTableBtn () {
|
||||||
}, e => {
|
// this.$http.get('sarStandUnqualified/sar-stand-unqualified/history', {
|
||||||
})
|
// ...this.historySearch,
|
||||||
},
|
// current: this.pageNo,
|
||||||
getSearchInforList () {
|
// size: this.pageSize,
|
||||||
this.$http.get('lawss/sarProductInfo/getSelList', {}, {
|
// }, {
|
||||||
_this: this, loading: 'loading'
|
// _this: this,
|
||||||
}, res => {
|
// loading: 'loading'
|
||||||
// const arr2 = []
|
// }, res => {
|
||||||
// for (let key in res.data.projectValue) {
|
// console.log(res);
|
||||||
// const obj = {}
|
// if (res.ok) {
|
||||||
// obj.label = key
|
// this.historyList = res.data.records
|
||||||
// obj.value = res.data.projectValue[key]
|
// this.total = res.data.count
|
||||||
// arr2.push(obj)
|
// } else {}
|
||||||
// }
|
// }, e => {
|
||||||
this.productNameList = res.data.projectValue
|
// })
|
||||||
})
|
// },
|
||||||
},
|
|
||||||
treeClickSearch (treeId, treeNode) {
|
treeClickSearch (treeId, treeNode) {
|
||||||
this.historySearch.responseUnit = treeNode.id
|
this.historySearch.responseUnit = treeNode.id
|
||||||
this.historySearch.responseUnitShow = treeNode.name
|
this.historySearch.responseUnitShow = treeNode.name
|
||||||
@@ -662,7 +625,6 @@ export default {
|
|||||||
mounted () {
|
mounted () {
|
||||||
this.getTableBtn()
|
this.getTableBtn()
|
||||||
this.getOrgTreeSource()
|
this.getOrgTreeSource()
|
||||||
this.getSearchInforList()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -39,6 +39,26 @@ export default {
|
|||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
#key-issues {
|
#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>
|
</style>
|
||||||
|
|||||||
@@ -78,7 +78,8 @@
|
|||||||
size="mini"
|
size="mini"
|
||||||
><i class="iconfont"></i>批量关闭</el-button>
|
><i class="iconfont"></i>批量关闭</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
class="common-button-primary btnright"
|
class="common-button-primary"
|
||||||
|
style="float: right; margin-right: 10px;"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="historyClick"
|
@click="historyClick"
|
||||||
@@ -212,7 +213,7 @@ export default {
|
|||||||
//点击历史数据按钮事件
|
//点击历史数据按钮事件
|
||||||
historyClick (){
|
historyClick (){
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
name:'HistoricalData'
|
name:'ProductDetails'
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 清空 查询条件
|
// 清空 查询条件
|
||||||
@@ -264,15 +265,38 @@ export default {
|
|||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
#product-department {
|
#product-department {
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
.content-center {
|
.content-center {
|
||||||
margin-bottom:10px
|
margin-left: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
.btnright {
|
.container {
|
||||||
float: right;
|
flex: 1;
|
||||||
margin-right:10px;
|
overflow: hidden;
|
||||||
}
|
display: flex;
|
||||||
.footer {
|
flex-direction: column;
|
||||||
margin-bottom: 390px;
|
|
||||||
|
.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>
|
</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"></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">
|
<div class="content-top">
|
||||||
<el-form :modal="nonConformitySearch" inline class="label-input-form">
|
<el-form :modal="nonConformitySearch" inline class="label-input-form">
|
||||||
<el-form-item label="标准号/标准名称" class="search-item">
|
<el-form-item label="标准号/标准名称" class="search-item">
|
||||||
<el-input v-model="nonConformitySearch.standNumOrName"
|
<el-input v-model="nonConformitySearch.standId"
|
||||||
placeholder="请输入"
|
placeholder="请输入"
|
||||||
clearable
|
clearable
|
||||||
:maxlength="100"></el-input>
|
:maxlength="100"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目名称" class="search-item">
|
<el-form-item label="项目名称" class="search-item">
|
||||||
<el-select filterable clearable v-model="nonConformitySearch.productName">
|
<el-input v-model="nonConformitySearch.productName"
|
||||||
<el-option v-for="item1 in productNameList"
|
placeholder="请输入"
|
||||||
:key="item1.value"
|
clearable
|
||||||
:label="item1.label"
|
:maxlength="100"></el-input>
|
||||||
:value="item1.value"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="责任部门" class="search-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
|
<el-popover
|
||||||
placement="bottom"
|
placement="bottom"
|
||||||
popper-class="user-dept-popper"
|
popper-class="user-dept-popper"
|
||||||
@@ -85,112 +83,292 @@
|
|||||||
size="mini"
|
size="mini"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="historyClick"
|
@click="historyClick"
|
||||||
|
style="float: right; margin-right: 10px;"
|
||||||
>历史数据</el-button>
|
>历史数据</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<loading :loading="loading">数据获取中....</loading>
|
<loading :loading="loading">数据获取中....</loading>
|
||||||
<el-table
|
<div class="table-wrap">
|
||||||
:data="nonList"
|
<div class="inner-wrap">
|
||||||
tooltip-effect="dark"
|
<el-table
|
||||||
style="width: 100%;"
|
:data="nonList"
|
||||||
height="500px"
|
tooltip-effect="dark"
|
||||||
border
|
height="100%"
|
||||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
border
|
||||||
|
class="table"
|
||||||
|
v-loading="myLoading.loadData"
|
||||||
|
@selection-change="standSelectChange"
|
||||||
|
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||||||
fontWeight: 'bold', height: '48px'}"
|
fontWeight: 'bold', height: '48px'}"
|
||||||
>
|
>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
type="selection"
|
type="selection"
|
||||||
width="55"
|
width="55"
|
||||||
fixed="left"
|
fixed="left"
|
||||||
align="center">
|
align="center">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="standId"
|
prop="standId"
|
||||||
fixed="left"
|
fixed="left"
|
||||||
width="180"
|
width="180"
|
||||||
label="标准编号">
|
label="标准编号">
|
||||||
<template slot-scope="scope">
|
<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>
|
<!-- {{ scope.row.standId }}-->
|
||||||
</el-table-column>
|
</template>
|
||||||
<el-table-column
|
</el-table-column>
|
||||||
prop="standName"
|
<el-table-column
|
||||||
fixed="left"
|
prop="standName"
|
||||||
width="180"
|
fixed="left"
|
||||||
label="标准名称">
|
width="180"
|
||||||
<template slot-scope="scope">
|
label="标准名称">
|
||||||
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
|
<template slot-scope="scope">
|
||||||
</template>
|
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
|
||||||
</el-table-column>
|
</template>
|
||||||
<el-table-column
|
</el-table-column>
|
||||||
prop="itemsNum"
|
<el-table-column
|
||||||
width="180"
|
prop="itemsNum"
|
||||||
label="条款号">
|
width="180"
|
||||||
</el-table-column>
|
label="条款号">
|
||||||
<el-table-column
|
</el-table-column>
|
||||||
prop="itemsName"
|
<el-table-column
|
||||||
width="180"
|
prop="itemsName"
|
||||||
label="条款名称">
|
width="180"
|
||||||
</el-table-column>
|
label="条款名称">
|
||||||
<el-table-column
|
</el-table-column>
|
||||||
prop="productType"
|
<el-table-column
|
||||||
width="180"
|
prop="productType"
|
||||||
label="产品类型">
|
width="180"
|
||||||
</el-table-column>
|
label="产品类型">
|
||||||
<el-table-column
|
</el-table-column>
|
||||||
prop="productLine"
|
<el-table-column
|
||||||
width="180"
|
prop="productLine"
|
||||||
label="产品线">
|
width="180"
|
||||||
</el-table-column>
|
label="产品线">
|
||||||
<el-table-column
|
</el-table-column>
|
||||||
prop="productName"
|
<el-table-column
|
||||||
width="180"
|
prop="productName"
|
||||||
label="项目名称">
|
width="180"
|
||||||
</el-table-column>
|
label="项目名称">
|
||||||
<el-table-column
|
</el-table-column>
|
||||||
prop="responsibleUnit"
|
<el-table-column
|
||||||
width="180"
|
prop="responsibleUnit"
|
||||||
label="责任部门">
|
width="180"
|
||||||
</el-table-column>
|
label="责任部门">
|
||||||
<el-table-column
|
</el-table-column>
|
||||||
prop="dutyEngineer"
|
<el-table-column
|
||||||
width="150"
|
prop="dutyEngineer"
|
||||||
label="责任工程师">
|
width="150"
|
||||||
</el-table-column>
|
label="责任工程师">
|
||||||
<el-table-column
|
</el-table-column>
|
||||||
prop="authEngineer"
|
<el-table-column
|
||||||
width="150"
|
prop="authEngineer"
|
||||||
label="认证工程师">
|
width="150"
|
||||||
</el-table-column>
|
label="认证工程师">
|
||||||
<el-table-column
|
</el-table-column>
|
||||||
prop="qaEngineer"
|
<el-table-column
|
||||||
width="150"
|
prop="qaEngineer"
|
||||||
label="质量工程师">
|
width="150"
|
||||||
</el-table-column>
|
label="质量工程师">
|
||||||
<el-table-column
|
</el-table-column>
|
||||||
prop="planCloseTime"
|
<el-table-column
|
||||||
width="150"
|
prop="planCloseTime"
|
||||||
sortable="custom"
|
width="150"
|
||||||
label="计划关闭时间">
|
sortable="custom"
|
||||||
<template slot-scope="scope">{{(scope.row.planCloseTime ? scope.row.planCloseTime.substring(0, 11): '')}}</template>
|
label="计划关闭时间">
|
||||||
</el-table-column>
|
<template slot-scope="scope">{{(scope.row.planCloseTime ? scope.row.planCloseTime.substring(0, 11): '')}}</template>
|
||||||
<el-table-column label="操作" align="center" width="50" fixed="right">
|
</el-table-column>
|
||||||
<template slot-scope="scope">
|
<el-table-column label="操作" align="center" width="50" fixed="right">
|
||||||
<div @click.stop style="display: inline-block">
|
<template slot-scope="scope">
|
||||||
<el-dropdown trigger="click" @command="handleCommand">
|
<div @click.stop style="display: inline-block">
|
||||||
<i class="iconfont"></i>
|
<el-dropdown trigger="click" @command="handleCommand">
|
||||||
<el-dropdown-menu slot="dropdown">
|
<i class="iconfont"></i>
|
||||||
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'R4FTCUQSXFUZPUSN3W63'">查看</el-dropdown-item>
|
<el-dropdown-menu slot="dropdown">
|
||||||
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'G7GL8ZAZ5EYK6LRXW5MT'">编辑</el-dropdown-item>
|
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'R4FTCUQSXFUZPUSN3W63'">查看</el-dropdown-item>
|
||||||
<el-dropdown-item :command="[scope.row, '关闭']" v-btn-permission="'Q8GPXE8L36KN2XVMZ6Y4'">关闭</el-dropdown-item>
|
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'G7GL8ZAZ5EYK6LRXW5MT'">编辑</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
<el-dialog :visible.sync="exportModelFlag" title="导出文件" width="300px">
|
<el-dialog :visible.sync="exportModelFlag" title="导出文件" width="300px">
|
||||||
@@ -208,6 +386,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { interfaceUrl } from "@/sysConfig";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "rectificationDatabase",
|
name: "rectificationDatabase",
|
||||||
data () {
|
data () {
|
||||||
@@ -215,31 +395,45 @@ export default {
|
|||||||
loading: false,
|
loading: false,
|
||||||
nonList:[], //未符合项表格数据
|
nonList:[], //未符合项表格数据
|
||||||
exportModelFlag: false, //导出模态窗
|
exportModelFlag: false, //导出模态窗
|
||||||
|
tableHeight: null, //表格高度
|
||||||
exportName: '',
|
exportName: '',
|
||||||
|
selectedList: [], //标准选中的数据
|
||||||
|
saveExportType: '',// 导出文件模态框控制,和文件名称
|
||||||
// 总数
|
// 总数
|
||||||
total: 0,
|
total: 0,
|
||||||
// 当前页数
|
// 当前页数
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
nonConformitySearch: {
|
nonConformitySearch: {
|
||||||
standNumOrName: '', // 标准号/名称
|
standId: '', // 标准号/名称
|
||||||
productName: '', // 项目名称
|
productName: '', // 项目名称
|
||||||
responseUnit: '' // 责任部门
|
responsibleUnit: '' // 责任部门
|
||||||
},
|
},
|
||||||
// 项目名称下拉列表数据
|
|
||||||
productNameList: [],
|
|
||||||
// 责任部门
|
// 责任部门
|
||||||
zNodesSItem: [],
|
zNodesSItem: [],
|
||||||
|
myLoading: {
|
||||||
|
loadData: false
|
||||||
|
},
|
||||||
|
//数据查看
|
||||||
|
historySee: false,
|
||||||
|
historySeeForm: {},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 查询未符合项table列表
|
// 查询未符合项table列表
|
||||||
getTableByPage () {
|
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
|
_this: this
|
||||||
}, res => {
|
}, res => {
|
||||||
this.nonList = res.data.records
|
this.myLoading.loadData = false
|
||||||
console.log(this.nonList);
|
this.nonList = res.data.records
|
||||||
|
this.total = res.data.total
|
||||||
}, e => {
|
}, e => {
|
||||||
|
this.myLoading.loadData = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 点击历史记录按钮事件
|
// 点击历史记录按钮事件
|
||||||
@@ -250,7 +444,14 @@ export default {
|
|||||||
},
|
},
|
||||||
//导出
|
//导出
|
||||||
exportStandard () {
|
exportStandard () {
|
||||||
|
if(this.selectedList.length > 0) {
|
||||||
|
this.saveExportType = 'apart'
|
||||||
|
} else {
|
||||||
|
this.saveExportType = 'all'
|
||||||
|
}
|
||||||
|
this.exportName = ''
|
||||||
this.exportModelFlag = true
|
this.exportModelFlag = true
|
||||||
|
console.log(this.saveExportType);
|
||||||
},
|
},
|
||||||
//取消导出
|
//取消导出
|
||||||
cancal () {
|
cancal () {
|
||||||
@@ -258,24 +459,64 @@ export default {
|
|||||||
},
|
},
|
||||||
//确认导出
|
//确认导出
|
||||||
exportTestItem () {
|
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 () {
|
batchClose () {
|
||||||
this.$confirm('确认关闭这些数据?', '提示', {
|
if (this.selectedList.length === 0){
|
||||||
confirmButtonText: '确定',
|
this.$message.warning('请选择一条数据进行关闭')
|
||||||
confirmButtonClass: 'common-button-primary',
|
}else{
|
||||||
cancelButtonTxe: '取消',
|
this.$confirm('确认关闭这些数据?', '提示', {
|
||||||
type: 'warning',
|
confirmButtonText: '确定',
|
||||||
roundButton: false,
|
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) {
|
clearAllSearch (search = true) {
|
||||||
this.nonConformitySearch = {
|
this.nonConformitySearch = {
|
||||||
standNumOrName: '',
|
standId: '',
|
||||||
productName: '',
|
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 '编辑':
|
case '编辑':
|
||||||
this.openEditModal(command[0])
|
this.openEditModal(command[0])
|
||||||
break
|
break
|
||||||
case '关闭':
|
|
||||||
this.userClo(command[0])
|
|
||||||
break
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//点击查看按钮事件
|
//点击查看按钮事件
|
||||||
showUser(row) {
|
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) {
|
openEditModal(item) {
|
||||||
console.log(item)
|
console.log(item)
|
||||||
},
|
},
|
||||||
//点击关闭按钮事件
|
|
||||||
userClo(row) {
|
|
||||||
console.log(row)
|
|
||||||
},
|
|
||||||
// 分页事件
|
// 分页事件
|
||||||
pageChange (page) {
|
pageChange (page) {
|
||||||
this.pageNo = page
|
this.pageNo = page
|
||||||
this.getTableByPage()
|
this.getTableByPage()
|
||||||
},
|
},
|
||||||
pageSizeChange (pageSize) {
|
pageSizeChange () {
|
||||||
this.pageSize = this.$store.getters.userInfo.configContent
|
|
||||||
this.getTableByPage()
|
this.getTableByPage()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
this.getTableByPage()
|
this.getTableByPage()
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
#rectification-dataBase {
|
#rectification-dataBase {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
.content-center{
|
display: flex;
|
||||||
margin:10px;
|
flex-direction: column;
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
.content-center {
|
||||||
align-items: center;
|
margin-left: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
.container {
|
.container {
|
||||||
height: 100%;
|
flex: 1;
|
||||||
}
|
overflow: hidden;
|
||||||
.footer {
|
display: flex;
|
||||||
margin-bottom: 0;
|
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>
|
</style>
|
||||||
|
|||||||
@@ -726,6 +726,30 @@ const routes = [
|
|||||||
title: '未符合项跟踪历史数据'
|
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',
|
path: '/enterpriseStandardFiling',
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
// 服务器地址
|
// 服务器地址
|
||||||
// const devIp = '39.98.140.126'
|
// const devIp = '39.98.140.126'
|
||||||
// const devInterfacePORT = '10005'
|
// const devInterfacePORT = '10005'
|
||||||
const devIp = '192.168.10.51'
|
const devIp = '192.168.10.47'
|
||||||
const devInterfacePORT = '9999'
|
const devInterfacePORT = '9999'
|
||||||
// 云端端口号
|
// 云端端口号
|
||||||
const DEV_CLOUD_RES_INTERFACE_PORT = '7777'
|
const DEV_CLOUD_RES_INTERFACE_PORT = '7777'
|
||||||
|
|||||||
Reference in New Issue
Block a user