Files
foton-laws-system-front/src/pages/processCenter/pages/creatProcess/bzjd/step1.vue
T
2022-01-29 18:21:05 +08:00

1276 lines
44 KiB
Vue

<template>
<div class="bzjdStep1">
<!-- 标准征求意见流程-->
<ProcessHeader toggle>
<template slot="proName">标准解读流程</template>
<template slot="proNode">发起流程</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">人员信息</div>
</div>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准拆分数据" class="add-form-item form-item-disabled">
<div class="addButton">
<el-button size="small" type="primary" @click="addZqyjList">导入</el-button>
</div>
</el-form-item>
<el-form-item label="标准号/政策号" prop="itemsNum" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称/政策名称" prop="itemsName" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="对比拆分数据" class="add-form-item form-item-disabled">
<div class="addButton">
<el-button size="small" :disabled="!form.itemsNum" type="primary" @click="addDbList">导入</el-button>
</div>
</el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="截止日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="form.endTime"
type="date"
:picker-options="pickerOptions"
placeholder="请选择截止日期"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
</el-form>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<div class="action-bar">
<el-button :disabled="!itemList.length" type="primary" class="common-button-primary add-button" size="mini" @click="PLedit">
批量编辑
</el-button>
</div>
<el-table border
ref="filterTable"
:data="itemList"
tooltip-effect="dark"
style="width: 100%;"
height="100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange"
row-key="id">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="itemsNum"
label="条款号"
fixed
width="120"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
width="170"
fixed
label="条款名称"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
fixed
width="200"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="itermsConditionsOpen(scope.row.itermsConditions)" class="common-button-primary">
查看条款内容
</el-button>
</template>
</el-table-column>
<el-table-column
prop="newData"
width="180"
show-overflow-tooltip
label="新车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="onlineData"
width="180"
show-overflow-tooltip
label="在产车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="applyArctic"
width="200"
label="适用车型"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
{{ scope.row.applyArctic.toString() }}
</template>
</el-table-column>
<el-table-column
v-if="!form.itemsNum1"
prop="technicalRequir"
label="核心技术要求"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="changePoint"
v-if="form.itemsNum1"
label="基于上一版本差异"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
v-if="sarType === 'FOREIGN' && form.itemsNum1"
prop="changePoint"
width="150"
label="相对于国行标差异点"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
label="责任人"
width="170"
prop="zrUserName"
align="center">
</el-table-column>
<el-table-column
label="操作"
width="240"
align="center">
<template slot-scope="scope">
<el-button class="common-button-primary" size="mini" type="primary" @click="itemEdit(scope.row, 1, scope.$index)">编辑</el-button>
<el-button v-if="form.itemsNum1" class="common-button-primary" size="mini" type="primary" @click="checkBD(scope.row.itemsId, scope.row.itemsId2, scope.row.itemsNum)">查看比对</el-button>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">数据获取中</loading>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText1">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<el-form
ref="Form"
:model="roleForm"
:rules="roleFormRules"
class="label-input-form">
<el-timeline-item timestamp="起草" placement="top" :color="roleForm.applyUserId ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="applyUserId" style="margin-bottom: 0">
<h4>标准法规工程师</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.applyUserId" style="display: none;"/>
<el-input v-model="roleForm.applyUserIdName" placeholder="标准法规工程师" disabled/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="批准" placement="top" :color="roleForm.deptUserId ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="deptUserId" style="margin-bottom: 0">
<h4>标准法规部高级经理</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.deptUserId" style="display: none;"/>
<el-input
v-model="roleForm.deptUserIdName"
placeholder="选择标准法规部高级经理"
@click.native="choiceZRRS(roleForm.deptUserId, 0, '')"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
>
</ProcessFooter>
<el-drawer
title="标准拆分数据库"
:visible.sync="listModel"
size="900px"
custom-class="demo-drawer"
>
<div class="standardForComments">
<div class="content">
<!-- 顶部工具栏 -->
<table-tools-bar>
<div slot="left">
<div class="search-area">
<el-form :model="standCommonlySearch" inline class="label-input-form">
<el-formItem label="标准号/名称" class="search-item">
<el-input v-model="standCommonlySearch.numOrName" class="s-c-input" placeholder="请输入标准号/名称" clearable :maxlength="100"></el-input>
</el-formItem>
<el-formItem class="search-item btn-box">
<el-button
type="primary"
size="mini"
class="common-button-primary"
@click="sarStandCompareHisInfo">查询
</el-button>
<el-button
class="common-button-default"
size="mini"
@click="clearSearchStand">清空
</el-button>
</el-formItem>
</el-form>
</div>
</div>
</table-tools-bar>
<div class="table-wrap">
<div style="position: absolute;height: calc(100% - 10px);width: 100%;">
<el-table
ref="selection"
:data="standInfoList"
tooltip-effect="dark"
style="width: 100%;padding:0 0 20px 0;"
height="100%"
border
@selection-change="handleSelection"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="showNumber"
label="标准号/政策号"
width="170"
align="center">
<!-- <template slot-scope="scope">-->
<!-- <div @click="showUser(scope.row)" class="table-jump">{{ scope.row.showNumber }}</div>-->
<!-- </template>-->
</el-table-column>
<el-table-column
prop="standName"
label="标准名称/政策名称"
show-overflow-tooltip
align="center">
<!-- <template slot-scope="scope">-->
<!-- <span @click="showUser(scope.row)" class="table-jump">{{ scope.row.standName }}</span>-->
<!-- </template>-->
</el-table-column>
<el-table-column
prop="fileTypeShow"
label="文本状态"
align="center">
</el-table-column>
<el-table-column
prop="fileName"
label="文件名称"
show-overflow-tooltip
align="center">
</el-table-column>
</el-table>
</div>
</div>
</div>
<pagination :page="standCommonlySearch.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
<loading :loading="spinShow">数据加载中……</loading>
<div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer">取消</el-button>
<el-button type="primary" size="mini" @click="enterDrawer">导入</el-button>
</div>
</div>
</el-drawer>
<el-dialog
title="查看条款内容"
:visible.sync="itermsConditionsFlag"
size="800px">
<div class="itemsTextBox" v-html="itermsConditionsTitle"></div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="itermsConditionsClose">关闭
</el-button>
</div>
</el-dialog>
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
@checkedRole="saveUserInfo"
:nodeList="nodeList"
></Role-tree>
<el-drawer
title="对比拆分数据库"
:visible.sync="listModel3"
size="900px"
custom-class="demo-drawer"
>
<div class="standardForComments">
<div class="content content2">
<div class="table-wrap">
<div style="position: absolute;height: calc(100% - 10px);width: 100%;">
<el-table
ref="selection"
:data="standInfoList3"
tooltip-effect="dark"
style="width: 100%;padding:0 0 20px 0;"
height="100%"
border
@selection-change="handleSelection3"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="oldStandNum"
label="标准号/政策号"
width="170"
align="center">
</el-table-column>
<el-table-column
prop="oldStandName"
label="标准名称/政策名称"
show-overflow-tooltip
align="center">
</el-table-column>
</el-table>
</div>
</div>
</div>
<loading :loading="spinShow3">数据加载中……</loading>
<div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer3">取消</el-button>
<el-button type="primary" size="mini" @click="enterDrawer3">导入</el-button>
</div>
</div>
</el-drawer>
<el-drawer
:title="PLmodalTitle"
:visible.sync="PLmodalshowflag"
:wrapperClosable="false"
:size="PLmodalType === 1 && form.itemsNum1 ? '1200px' : '800px'">
<div class="demo-drawer-content">
<div style="display: flex; height: 100%;">
<div style="width: 600px; border-right: 1px solid #ccc;" v-if="form.itemsNum1 && PLmodalType === 1 ">
<div v-if="BDtext" style="width: 100%; height: 100%;display: flex;">
<div v-if="itermsConditions" v-html="itermsConditions" class="itemsTextBox" style="margin: 5px; padding: 5px; width: 100%; overflow: auto;"></div>
<div v-else style="margin: 5px; padding: 5px; width: 100%; overflow: auto;">无内容</div>
</div>
<div v-else style="height: 100%;">
<div style="margin: 10px 5px;">比对条款: {{ plForm.itemsNum }}</div>
<div style="margin: 10px 5px 5px;">相似度: {{ similarityDegree }}</div>
<div style="overflow: auto;display: flex;" class="BDclass">
<div v-html="leftData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%; overflow: auto;"></div>
<div v-html="rightData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%; overflow: auto;"></div>
</div>
</div>
</div>
<div style="width: 600px; border-right: 1px solid #ccc;" v-if="!form.itemsNum1 && PLmodalType === 1 ">
<div v-if="itermsConditions" v-html="itermsConditions" class="itemsTextBox" style="margin: 5px; padding: 5px; width: 100%; overflow: auto;"></div>
<div v-else style="margin: 5px; padding: 5px; width: 100%; overflow: auto;">无内容</div>
</div>
<el-form :model="plForm" class="label-input-form" ref="plForm" label-width=150 :style="PLmodalType === 2 ? 'width: 100%;' : ''">
<el-form-item label="核心技术要求" prop="technicalRequir" class="add-form-item" v-if="!form.itemsNum1">
<el-input
type="textarea"
v-model="plForm.technicalRequir"
placeholder="请输入核心技术要求"
maxlength="500"
></el-input>
</el-form-item>
<el-form-item label="国内标准的差异点" prop="changePoint" class="add-form-item" v-if="sarType !== 'INLAND' && form.itemsNum1">
<el-input
type="textarea"
v-model="plForm.changePoint"
placeholder="请输入国内标准的差异点"
maxlength="500"
></el-input>
</el-form-item>
<el-form-item label="上一版本差异点" prop="changePoint" class="add-form-item" v-if="sarType === 'INLAND' && form.itemsNum1">
<el-input
type="textarea"
v-model="plForm.changePoint"
placeholder="请输入上一版本差异点"
maxlength="500"
></el-input>
</el-form-item>
<custom-date-pick-group
class="myDataPick"
:config="{attrName: '新车型实施日期'}"
v-model="plForm.newData"
></custom-date-pick-group>
<custom-date-pick-group
class="myDataPick"
:config="{attrName: '在产车实施日期'}"
v-model="plForm.onlineData"
></custom-date-pick-group>
<el-form-item label="适用车型" prop="applyArctic" class="add-form-item" >
<el-select multiple v-model="plForm.applyArctic">
<el-option v-for="(item,index) in cxList" :value="item.label" :label="item.label" :key="index"></el-option>
</el-select>
</el-form-item>
<el-form-item label="责任人" prop="zrUserId" class="add-form-item">
<el-input
style="display: none;"
v-model="plForm.zrUserId"
></el-input>
<el-input
@click.native="choiceZRRS(plForm.zrUserId, PLmodalType, PLmodalIndex)"
placeholder="请选择责任人"
v-model="plForm.zrUserName"
></el-input>
</el-form-item>
</el-form>
</div>
</div>
<div id="roleFormButton2" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo2">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo2">取消</el-button>
</div>
</el-drawer>
<el-dialog
title="查看比对内容"
:visible.sync="BDmodel"
size="1100px">
<div>比对条款: {{ itemsNum }}</div>
<div>相似度: {{ similarityDegree }}</div>
<div style="height: 600px;overflow: auto;display: flex;">
<div v-html="leftData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%; overflow: auto;"></div>
<div v-html="rightData" style="margin: 5px; border: 1px solid #ccc; border-radius: 5px; padding: 5px; width: 50%; overflow: auto;"></div>
</div>
</el-dialog>
</div>
</template>
<script>
import CustomDatePickGroup from '@/components/CustomFormComponents/DatePickerGroup'
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, taskDel} from 'api/process'
export default {
name: "bzjdStep1",
data() {
return {
itermsConditions: '',
commentText1: '',
itemsNum: '',
BDtext: false,
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;//如果没有后面的-8.64e7就是不可以选择今天的
}
},
similarityDegree: '',
leftData: [],
rightData: [],
BDmodel: false,
PLmodalType: '',
PLmodalIndex: '',
PLmodalshowflag: false,
PLmodalTitle: '',
plForm: {
itemsNum: '',
itemsId: '',
itemsId2: '',
technicalRequir: '',
changePoint: '',
newData: '',
onlineData: '',
applyArctic: [],
zrUserId: '',
zrUserName: '',
},
cxList: [],
bpnId: '',
listModel3: false,
standInfoList3: [],
spinShow3: false,
selectedList3: [],
//折叠的标志,true为折叠,false为不折叠
foldFormFlag: false,
itermsConditionsFlag: false,
itermsConditionsTitle: '',
textStatusMap: {},
sarType: '',
loading: false,
standId: '',
statusId: '',
commentText: '',
textarea: '', // 意见
title: '', // 新增抽屉标题
listModel: false, // 新增抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
// 基础信息form表单
form: {
id: '',
itemsNum: '',
itemsName: '',
endTime: '',
standId: '',
statusId: '',
itemsNum1: '',
itemsName1: '',
oldNumber: '',
fileType: '',
},
formRules: {
itemsNum: [
{required: true, message: '请输入标准号/政策号', trigger: 'change'},
],
itemsName: [
{required: true, message: '请输入标准名称/政策名称', trigger: 'change'},
],
endTime: [
{required: true, message: '请输入截止时间', trigger: 'change'},
],
},
// 标准征求意见数据可库
standCommonlySearch: {
numOrName: '',
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
result: '1',
},
standCommonlySearch2: {
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
userId: this.$store.getters.userInfo.userId,
standType: 'INLAND'
},
spinShow: false,
standInfoList: [],
tableHeight: null,
total: 0,
total2: 0,
selectedList: [],
data: [],
roleForm: {
applyUserIdName: this.$store.getters.userInfo.userName,
applyUserId: this.$store.getters.userInfo.userId,
deptUserId: '',
deptUserIdName: ''
},
roleFormRules: {
zrUserId: [
{required: true, message: '请选择责任部门对接人', trigger: 'change'},
],
deptUserId: [
{required: true, message: '请选择标准法规部部长', trigger: 'change'},
],
},
treeData: [],
nodeList: [],
nodeList2: [],
type: '',
drawerTitle: '',
modalshowflag: false,
modalshowflag2: false,
defaultProps: {
children: 'children',
label: 'name'
},
roleRow: {},
itemList: [],
itemListOld: [],
zrType: '',
zrIndex: '',
zrIdList: []
}
},
components: {
CustomDatePickGroup,
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
handleResize() {
this.$nextTick(()=> {
this.$refs.filterTable.doLayout();
});
},
PLedit () {
if (this.zrIdList.length > 0) {
this.PLmodalType = 2
this.PLmodalTitle = '批量编辑'
this.plForm = {
technicalRequir: '',
changePoint: '',
newData: '',
onlineData: '',
applyArctic: [],
zrUserId: '',
zrUserName: '',
}
this.PLmodalshowflag = true
} else {
this.$message.warning('请选择要编辑的数据')
}
},
getBDList () {
this.$http.get('lawss/sarStandItemsCompareHis/getStandItemsCompareHisList', {
standHisId: this.form.oldNumber,
leftOrRight: 'RIGHT'
}, {
_this: this
}, res => {
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < res.data.length; b++) {
if (this.itemList[a].itemsNum === res.data[b].itemsNum) {
this.itemList[a].itemsId = res.data[b].itemsId
this.itemList[a].targetStand = res.data[b].targetStand
}
}
}
this.$http.get('lawss/sarStandItemsCompareHis/getStandItemsCompareHisList', {
standHisId: this.form.oldNumber,
leftOrRight: 'LEFT'
}, {
_this: this
}, res => {
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < res.data.length; b++) {
if (this.itemList[a].targetStand === res.data[b].itemsDisplayNum) {
this.itemList[a].itemsId2 = res.data[b].itemsId
}
}
}
}, e => {
})
}, e => {
})
},
checkBD (id,id2, itemsNum) {
let itemsEoPage = {
oldItemId: id,
newItemId: id2,
flag: 1
}
if (!id || !id2) {
this.$message.warning('暂无找到相似的文本')
return
}
this.$http.post('lawss/sarStandCompareHis/clauseComparison', itemsEoPage, {
_this: this
}, res => {
if (res.data.leftString === '' && res.data.rightString === '') {
this.$message.warning('暂无找到相似的文本')
} else {
this.itemsNum = itemsNum
this.leftData = res.data.leftString
this.rightData = res.data.rightString
this.BDmodel = true
this.similarityDegree = res.data.similarityDegree
}
})
},
itemEdit (row, type, index) {
this.itermsConditions = row.itermsConditions.replace(/''/g, '\'')
let itemsEoPage = {
oldItemId: row.itemsId,
newItemId: row.itemsId2,
flag: 1
}
this.$http.post('lawss/sarStandCompareHis/clauseComparison', itemsEoPage, {
_this: this
}, res => {
this.PLmodalType = type
this.PLmodalIndex = index
this.PLmodalTitle = '编辑'
if (res.data.leftString === '' && res.data.rightString === '') {
this.BDtext = true
} else if (!row.itemsId || !row.itemsId2) {
this.BDtext = true
} else {
this.BDtext = false
this.leftData = res.data.leftString
this.rightData = res.data.rightString
this.similarityDegree = res.data.similarityDegree
}
this.plForm = {
itemsNum: row.itemsNum,
technicalRequir: row.technicalRequir,
changePoint: row.changePoint,
newData: row.newData,
onlineData: row.onlineData,
applyArctic: row.applyArctic,
zrUserId: row.zrUserId,
zrUserName: row.zrUserName,
itemsId: row.itemsId,
itemsId2: row.itemsId2
}
this.PLmodalshowflag = true
})
},
saveUserInfo2 () {
if (this.PLmodalType === 1) {
const row = JSON.parse(JSON.stringify(this.itemList[this.PLmodalIndex]))
row.technicalRequir = this.plForm.technicalRequir
row.changePoint = this.plForm.changePoint
row.newData = this.plForm.newData
row.onlineData = this.plForm.onlineData
row.applyArctic = this.plForm.applyArctic
row.zrUserId = this.plForm.zrUserId
row.zrUserName = this.plForm.zrUserName
this.$set(this.itemList, this.PLmodalIndex, row)
} else {
for (let a = 0; a < this.itemList.length; a++) {
for (let b = 0; b < this.zrIdList.length; b++) {
if (this.itemList[a].id === this.zrIdList[b]) {
this.itemList[a].technicalRequir = this.plForm.technicalRequir
this.itemList[a].changePoint = this.plForm.changePoint
this.itemList[a].newData = this.plForm.newData
this.itemList[a].onlineData = this.plForm.onlineData
this.itemList[a].applyArctic = this.plForm.applyArctic
this.itemList[a].zrUserId = this.plForm.zrUserId
this.itemList[a].zrUserName = this.plForm.zrUserName
}
}
}
}
this.PLmodalshowflag = false
},
cancleUserInfo2 () {
this.plForm = {
technicalRequir: '',
changePoint: '',
newData: '',
onlineData: '',
applyArctic: [],
zrUserId: '',
zrUserName: '',
itemsId: '',
itemsId2: ''
}
this.PLmodalshowflag = false
},
handleSelection3 (data) {
this.selectedList3 = [];
for (let i = 0; i < data.length; i++) {
this.selectedList3.push(data[i].id);
}
},
getDbList () {
this.$http.get('lawss/sarStandCompareHis/page', {
page: 1,
pageSize: 9999,
newNumOrName: this.form.itemsNum,
newFileType: this.form.fileType,
}, {
_this: this
}, res => {
this.standInfoList3 = res.data.list
}, e => {
})
},
addDbList () {
this.listModel3 = true
},
closeDrawer3 () {
this.listModel3 = false
},
enterDrawer3 () {
if (this.selectedList3.length === 1) {
let deposit = new Map();
this.standInfoList3.forEach(item => {
deposit.set(item.id, item);
});
let bringData = [];
for (let i = 0; i < this.selectedList3.length; i++) {
bringData.push(deposit.get(this.selectedList3[i]));
}
this.form.itemsNum1 = bringData[0].oldStandNum
this.form.itemsName1 = bringData[0].oldStandName
this.form.oldNumber = bringData[0].id
this.listModel3 = false
this.getBDList()
} else if (this.selectedList3.length > 1) {
this.$message.warning("只能选择一条数据进行导入");
} else {
this.$message.warning("请选择一条数据进行导入");
}
},
//折叠/展开基础信息方法
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
itermsConditionsClose() {
this.itermsConditionsFlag = false
},
itermsConditionsOpen(row) {
this.itermsConditionsFlag = true
this.itermsConditionsTitle = row.replace(/''/g, '\'')
},
showUser(row) {
let routeUrl = this.$router.resolve({
name: 'ItemSplitInfo',
query: {
infoId: row.id,
result: row.result,
}
})
window.open(routeUrl.href, '_blank')
},
setMap(data) {
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label)
})
},
formatIssueDate(str) {
const momentDate = this.$moment(str)
if (momentDate.isValid()) {
return this.$moment(str).format('YYYY-MM-DD')
} else {
return str
}
},
addZqyjList() {
this.title = '标准拆分数据库'
this.listModel = true
},
/** 标准征求意见库方法*
* **********************************************/
// 清空
clearSearchStand() {
this.standCommonlySearch.page = 1
this.standCommonlySearch.numOrName = ''
this.sarStandCompareHis()
},
// 搜索
sarStandCompareHisInfo() {
this.standCommonlySearch.page = 1
this.sarStandCompareHis()
},
// 查询表格
sarStandCompareHis() {
this.spinShow = true
var form = this.standCommonlySearch
this.$http.get('lawss/sarFileSplitInfo/getSarFileSplitInfoEOPage', form, {
_this: this
}, res => {
this.standInfoList = res.data.list
this.total = res.data.count
this.spinShow = false
}, e => {
})
},
pageChange(page) {
this.standCommonlySearch.page = page
this.sarStandCompareHis()
},
// 分页每页显示数改变后方法
pageSizeChange(pageSize) {
this.$store.getters.userInfo.configContent = pageSize
this.standCommonlySearch.pageSize = pageSize
this.sarStandCompareHis()
},
/** 选择导入数据的方法操作
* */
handleSelection(data) {
this.selectedList = [];
for (let i = 0; i < data.length; i++) {
this.selectedList.push(data[i].id);
}
},
closeDrawer() {
this.listModel = false
},
enterDrawer() {
if (this.selectedList.length === 1) {
this.loading = true
let deposit = new Map();
this.standInfoList.forEach(item => {
deposit.set(item.id, item);
});
let bringData = [];
for (let i = 0; i < this.selectedList.length; i++) {
bringData.push(deposit.get(this.selectedList[i]));
}
this.form.itemsNum = bringData[0].showNumber
this.form.itemsName = bringData[0].standName
this.form.standId = bringData[0].standId
this.sarType = bringData[0].standType
this.standId = bringData[0].standId
this.statusId = bringData[0].id
this.form.statusId = bringData[0].id
this.form.fileType = bringData[0].fileType
this.listModel = false;
this.getDbList()
this.$http.get('lawss/sarFileSplitItems/getSplitItemsByPage', {
infoId: bringData[0].id,
page: 1,
pageSize: 9999
}, {
_this: this
}, res => {
if (res.ok) {
this.listModel3 = true
res.data.list.forEach(item => {
item.zrUserId = ''
item.zrUserIdName = ''
})
this.itemList = res.data.list.filter(item =>{
return item.workFlowShow === '1'
})
this.itemList.map(item => {
item.technicalRequir = ''
item.changePoint = ''
item.newData = ''
item.onlineData = ''
item.applyArctic = []
})
this.itemListOld = res.data.list.filter(item =>{
return item.workFlowShow === '0'
})
}
this.loading = false
})
} else if (this.selectedList.length > 1) {
this.$message.warning("只能选择一条数据进行导入");
} else {
this.$message.warning("请选择一条数据进行导入");
}
},
/*** **********************************************/
/** 流程节点负责人的选择 *****************************/
saveUserInfo(data) {
if (this.type === 0) {
this.roleForm.deptUserId = data[0].id
this.roleForm.deptUserIdName = data[0].name
} else {
this.plForm.zrUserId = data[0].id
this.plForm.zrUserName = data[0].name
}
this.modalshowflag = false
},
choiceZRRS(row, type, index) {
this.type = type
if (type === 0) {
this.nodeList = []
this.nodeList.push(row)
this.drawerTitle = '选择标准法规部高级经理'
this.modalshowflag = true
} else {
this.drawerTitle = '选择责任人'
this.nodeList = []
this.zrIndex = index
this.zrType = type
this.nodeList.push(row)
this.modalshowflag = true
}
},
handleSelectionChange(val) {
this.zrIdList = []
val.forEach(item => {
this.zrIdList.push(item.id)
})
},
handleTabs(name) {
this.active = name
},
handleSave() {
this.saveLoading = true
let _formData = new FormData()
_formData.append('id', this.bpnId || '')
_formData.append('createUser', this.$store.getters.userInfo.userId)
_formData.append('createUserName', this.$store.getters.userInfo.userName)
_formData.append('prcType', '9')
_formData.append('json', JSON.stringify({
form: this.form,
roleForm: this.roleForm,
commentText1: this.commentText1,
itemList: this.itemList,
sarType: this.sarType
}))
saveTaskFirst(_formData).then(res => {
this.saveLoading = false
this.$message.success('保存成功')
this.bpnId = res.result
}).catch(e => {
this.saveLoading = false
})
},
handleSubmit() {
this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) {
this.$refs['Form'].validate((valid) => {
if (valid) {
let num1 = 0, num2 = 0, num4 = 0, num5 = 0, num6 = 0, b = 0
for (let a = 0; a < this.itemList.length; a++) {
if (!this.itemList[a].technicalRequir) {
num1++
}
if (!this.itemList[a].changePoint) {
num2++
}
if (!this.itemList[a].newData) {
num4++
}
if (!this.itemList[a].onlineData) {
num5++
}
if (!this.itemList[a].applyArctic.length) {
num6++
}
if (!this.itemList[a].zrUserId) {
b++
}
}
if (!this.form.itemsNum1) {
if (num1 > 0) {
this.$message.warning('请输入核心技术要求')
return
}
} else {
if (num2 > 0) {
if (this.sarType !== 'INLAND') {
this.$message.warning('请输入国内标准的差异点')
return
} else {
this.$message.warning('请输入基于上一版本差异')
return
}
}
}
// if (num4 > 0) {
// this.$message.warning('请输入新车型实施日期')
// } else if (num5 > 0) {
// this.$message.warning('请输入在产车实施日期')
// } else
if (num6 > 0) {
this.$message.warning('请选择适用车型')
} else if (b > 0) {
this.$message.warning('请选择责任人')
} else {
this.isSubmit = true
this.$http.post('lawss/activiti/startProcessRollBack', {
id: this.bpnId || '',
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '9',
json: JSON.stringify({
form: this.form,
roleForm: this.roleForm,
commentText1: this.commentText1,
itemList: this.itemList,
sarType: this.sarType
})
}, {}, res => {
if (res.ok) {
var json = Object.assign(this.form, this.roleForm)
json.commentText = this.commentText1
json.standInData = this.sarType
json.itemList = this.itemList
json.itemListOld = this.itemListOld
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: res.data,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('流程发起成功')
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.$router.push('/processCenter')
}
})
} else {
this.$message.warning('流程启动失败')
this.isSubmit = false
}
})
}
} else {
return this.$message.warning('请完善人员信息')
}
})
} else {
return this.$message.warning('请完善基础信息')
}
})
}
},
mounted() {
window.addEventListener('resize', this.handleResize);
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
this.cxList = res.data.ENERGYTYPES // 适用车型
this.cxList.forEach(item => {
item.value = item.label
})
})
this.sarStandCompareHis()
this.tableHeight = $('.content').height() - 44
window.onresize = () => {
this.tableHeight = $('.content').height() - 44
}
},
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
@import '~@/assets/styles/mixins';
.bzjdStep1 {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
position: relative;
height: 100%;
.BDclass {
height: calc(~'100% - 53px');
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 107px');
overflow: auto;
}
.content2 {
height: calc(~'100% - 57px') !important;
}
.standardForComments {
height: 100%;
background: #fff;
.el-divider--horizontal {
display: block;
height: 1px;
width: 100%;
margin: 0;
}
flex-direction: column;
.action-bar {
margin-bottom: 5px;
padding: 0;
}
.content {
flex: auto;
overflow: hidden;
display: flex;
flex-direction: column;
.table-wrap {
flex: auto;
overflow: hidden;
position: relative;
}
}
& > .pagination {
position: static;
/deep/ .pagination-slot {
padding: 0;
}
}
}
}
</style>