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

This commit is contained in:
zhutianqi
2022-03-21 09:10:26 +08:00
34 changed files with 2719 additions and 1037 deletions
+1 -1
View File
@@ -260,7 +260,7 @@
{
title: '标准化活动日历',
path: '/standCalendar',
menuId: ''
menuId: '5e834b3fca90619e593ad0ee83263885'
},
// {
// title: '标准比对库',
@@ -7,7 +7,7 @@
type="primary"
class="common-button-primary add-button"
@click="addLink"
v-btn-permission="'980cb239683de9e29ee5335cec98e5b4'"
v-btn-permission="'a87f58f50bed49452ee2a9147254b16b'"
size="mini">新增
</el-button>
<!-- <el-button
@@ -21,7 +21,7 @@
type="danger"
class="common-button-primary add-button"
@click="deleteAllLink"
v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"
v-btn-permission="'cd639217443270d5c858fc593b439f79'"
size="mini">删除
</el-button>
</div>
@@ -81,10 +81,10 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-btn-permission="'0fbb849e244e07433a90180fb314ad10'" :command="[scope.row, '删除']">
<el-dropdown-item v-btn-permission="'cd639217443270d5c858fc593b439f79'" :command="[scope.row, '删除']">
删除
</el-dropdown-item>
<el-dropdown-item v-btn-permission="'fa0846d977aeef07e9cb7faf648f8f7f'" :command="[scope.row, '编辑']">
<el-dropdown-item v-btn-permission="'2545b11a92961106563f83daad9735ff'" :command="[scope.row, '编辑']">
编辑
</el-dropdown-item>
</el-dropdown-menu>
@@ -7,7 +7,7 @@
type="primary"
class="common-button-primary add-button"
@click="addLink"
v-btn-permission="'980cb239683de9e29ee5335cec98e5b4'"
v-btn-permission="'123a2d7808ec50b6b4ce14567a9282f2'"
size="mini">新增
</el-button>
<!-- <el-button
@@ -21,7 +21,7 @@
type="danger"
class="common-button-primary add-button"
@click="deleteAllLink"
v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"
v-btn-permission="'74725d0f8bf0df73bc9c297358803588'"
size="mini">删除
</el-button>
</div>
@@ -81,10 +81,10 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-btn-permission="'0fbb849e244e07433a90180fb314ad10'" :command="[scope.row, '删除']">
<el-dropdown-item v-btn-permission="'74725d0f8bf0df73bc9c297358803588'" :command="[scope.row, '删除']">
删除
</el-dropdown-item>
<el-dropdown-item v-btn-permission="'fa0846d977aeef07e9cb7faf648f8f7f'" :command="[scope.row, '编辑']">
<el-dropdown-item v-btn-permission="'c88bcafee6144c573a6820df9dde586d'" :command="[scope.row, '编辑']">
编辑
</el-dropdown-item>
</el-dropdown-menu>
+4 -3
View File
@@ -11,13 +11,14 @@
</el-form-item>
<el-form-item label="" class="search-item btn-box">
<el-button class="common-button-primary" type="primary" size="mini" @click="searchPostName"
v-btn-permission="">查询
<el-button class="common-button-primary" type="primary"
v-btn-permission="'758f8a7438a7bc49a29ecc240789b884'"
size="mini" @click="searchPostName">查询
</el-button>
</el-form-item>
<el-form-item label="" class="search-item btn-box">
<el-button class="common-button-default" @click="resetSelect" size="mini"
v-btn-permission="">清空
v-btn-permission="'50ee603959d7c8f3fbb3240101a6f252'">清空
</el-button>
</el-form-item>
</el-form>
+5 -4
View File
@@ -37,13 +37,13 @@
<el-button type="primary"
class="common-button-primary add-button"
@click="roleAddData"
v-btn-permission="'bb2571b08179edb36880aae169cb2e54'"
size="mini">配置法规库权限
v-btn-permission="'f73bebf2787676d94faf54e923960dc7'"
size="mini">配置法规库树结构权限
</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="roleDataAdd"
v-btn-permission="''"
v-btn-permission="'bb9ca454af855bbefff426a0a0f8596a'"
size="mini">配置法规库数据权限
</el-button>
<el-button type="primary"
@@ -55,6 +55,7 @@
<el-button type="primary"
class="common-button-primary add-button"
@click="getRole"
v-btn-permission="'b137bf029b78a6a092661a062ae053e8'"
size="mini">查看人员
</el-button>
</div>
@@ -188,7 +189,7 @@
</div>
</el-dialog>
<el-dialog
title="标准法规数据"
title="标准法规数据"
:visible.sync="modalflag2"
:wrapperClosable="false"
@close="closeDialogData2"
@@ -168,6 +168,7 @@
<el-button
type="primary"
size="mini"
v-btn-permission="'7ec1c1789e26ac06f0c27ff02067b5ec'"
class="common-button-primary"
@click="StandFileListByPage"
>搜索</el-button>
@@ -176,6 +177,7 @@
<el-button
size="mini"
class="common-button-default"
v-btn-permission="'3d2a7ad51f31f0204810b6e505a244f8'"
@click="clearGetStandFileListByPage"
>清空</el-button>
</el-form-item>
@@ -37,14 +37,14 @@
<div class="tree-right">
<div class="content">
<div class="action-bar">
<el-button v-btn-permission="'SRE2ZRX3MJSSH5YYLRGH'" size="mini" @click="importItemInfo" ><i class="iconfont">&#xe6de;</i>导入</el-button>
<el-button v-btn-permission="''" size="mini" @click="exportItemInfo"><i class="iconfont">&#xe6e9;</i>导出</el-button>
<el-button v-btn-permission="''" size="mini" @click="judgebatchDeleteItem"><i class="iconfont">&#xe61b;</i>删除</el-button>
<el-button v-btn-permission="'QULWGFSB3NMP84REU7BP'" size="mini" @click="uploadImportModal"><i class="iconfont">&#xe825;</i>模板下载</el-button>
<el-button v-btn-permission="''" size="mini" @click="batchCopy">批量复制</el-button>
<el-button v-btn-permission="''" size="mini" @click="combineItems">合并条款</el-button>
<el-button v-btn-permission="'P5NLYUS4XTP9P676XDEW'" size="mini" @click="openSubmitAndExamine" v-if="this.$route.query.result === '1'">提交</el-button>
<el-button v-if="auditFlag==='1'" size="mini" @click="splitCheckBtn">审核</el-button>
<el-button v-btn-permission="'7425c976dbdabe8ed92d12f9bb0f79ba'" size="mini" @click="importItemInfo" ><i class="iconfont">&#xe6de;</i>导入</el-button>
<el-button v-btn-permission="'11a9ebeec5cbee55e7c49c07c25f47ac'" size="mini" @click="exportItemInfo"><i class="iconfont">&#xe6e9;</i>导出</el-button>
<el-button v-btn-permission="'f53a4a4776dbee07e38f5db04c5a7d81'" size="mini" @click="judgebatchDeleteItem"><i class="iconfont">&#xe61b;</i>删除</el-button>
<el-button v-btn-permission="'19173939f52bb35d82e85fdcfc5bc37a'" size="mini" @click="uploadImportModal"><i class="iconfont">&#xe825;</i>模板下载</el-button>
<el-button v-btn-permission="'6c51b9f4bb333aaf4895c98f8c2ea896'" size="mini" @click="batchCopy">批量复制</el-button>
<el-button v-btn-permission="'b5eb643881b814cadd477a1e414e568e'" size="mini" @click="combineItems">合并条款</el-button>
<el-button v-btn-permission="'958e004c1ac4fe39564aa7547b8c0b6b'" size="mini" @click="openSubmitAndExamine" v-if="this.$route.query.result === '1'">提交</el-button>
<el-button v-if="auditFlag==='1'" size="mini" v-btn-permission="'958e004c1ac4fe39564aa7547b8c0b6b'" @click="splitCheckBtn">审核</el-button>
<!--<el-button size="mini" @click="$message.warning('需求暂不明确')" v-if="this.$route.query.result === '1'">提交</el-button>-->
</div>
<el-table
@@ -96,11 +96,11 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '属性']" v-btn-permission="''">属性</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑', scope.$index]" v-if="splitStatus === '0' || splitStatus === '4'" v-btn-permission="''">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑', scope.$index]" v-else :disabled="true" v-btn-permission="''">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '复制']" v-btn-permission="''">复制</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="''">删除</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '属性']" v-btn-permission="'6c697ab1dd54d0264e06e526506c4492'">属性</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑', scope.$index]" v-if="splitStatus === '0' || splitStatus === '4'" v-btn-permission="'117fc9260e2014077489c45276976593'">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑', scope.$index]" v-else :disabled="true" v-btn-permission="'117fc9260e2014077489c45276976593'">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '复制']" v-btn-permission="'2027eafd482aa7d031c95ef5908dc725'">复制</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'06a64841ad8acf3dcc74ccbb8123e7b1'">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
+2 -2
View File
@@ -19,12 +19,12 @@
type="primary"
size="mini"
class="common-button-primary"
v-btn-permission="''"
v-btn-permission="'91e02de33d955a8df791366636803570'"
@click="sarStandCompareHisInfo">搜索</el-button>
<el-button
class="common-button-default"
size="mini"
v-btn-permission="''"
v-btn-permission="'fda571f37b0dc0738856799e3287990e'"
@click="clearSearchStand">清空</el-button>
</el-formItem>
</el-form>
@@ -17,11 +17,12 @@
<el-button
type="primary"
size="mini"
v-btn-permission="'7bf7951f769ee077e3ef5f6d6d0a0914'"
class="common-button-primary"
@click="getSarFileSplitInfoEOPage">
搜索
</el-button>
<el-button size="mini" class="common-button-default" @click="clearSearchStand">清空</el-button>
<el-button size="mini" v-btn-permission="'c77d866909a907aff3afa2b6d2ac2204'" class="common-button-default" @click="clearSearchStand">1</el-button>
</el-formItem>
</el-form>
</div>
@@ -105,11 +106,12 @@
<el-button
size="mini"
type="primary"
v-btn-permission="'cd42491cd3cd8a1794a9349cdf8f3da3'"
class="common-button-primary"
@click="getSarFileSplitInfoEOPage2">
搜索
</el-button>
<el-button size="mini" class="common-button-default" @click="clearSearchStand2">清空</el-button>
<el-button size="mini" v-btn-permission="'760fadd76000c74ae30ee033b8993d16'" class="common-button-default" @click="clearSearchStand2">清空</el-button>
</el-formItem>
</el-form>
</div>
@@ -184,8 +186,8 @@
</div>
<div class="contrast-button">
<div>
<el-button type="primary" size="mini" @click="comparisonClauses">{{$t('m.termComparison')}}</el-button>
<el-button type="primary" size="mini" @click="textComparison">{{$t('m.fullTextComparison')}}</el-button>
<el-button type="primary" v-btn-permission="'0a208743eb1c987e8aa0d6bf3007287d'" size="mini" @click="comparisonClauses">{{$t('m.termComparison')}}</el-button>
<el-button type="primary" v-btn-permission="'2ee2ffeda5a5c99455b1a6b0a0b31d60'" size="mini" @click="textComparison">{{$t('m.fullTextComparison')}}</el-button>
</div>
</div>
<loading :loading="spinShow">数据加载中</loading>
+6 -1
View File
@@ -134,6 +134,7 @@
style="margin: 6px 8px 0 0"
type="primary"
size="mini"
v-btn-permission="'5dca375c3d8d57c45e4815acf3611b34'"
@click="searchBtnClick"
class="common-button-primary">
查询
@@ -141,6 +142,7 @@
<el-button
style="margin: 6px 0 0 0"
size="mini"
v-btn-permission="'8258ee44344e92365e7e5bd90f3c8d21'"
@click="clearBtnClick"
class="common-button-primary">
清空
@@ -150,7 +152,9 @@
</el-form>
</div>
<div style="float: right;margin: 0 3% 10px 0">
<el-button type="primary" size="mini" @click="exportExcelBtn">导出Excel</el-button>
<el-button type="primary" size="mini"
v-btn-permission="'a34dcbc3a44a297a6b6cc95e450b28ea'"
@click="exportExcelBtn">导出Excel</el-button>
</div>
<div class="content">
<!-- <el-divider content-position="left" class="dynamic-child-title">实施日期预警</el-divider>-->
@@ -237,6 +241,7 @@
<el-button
size="mini"
type="danger"
v-btn-permission="'30d080f4194a10a76cc4994bad0afc9e'"
@click="cancelWarning(scope.$index, scope.row)">取消预警
</el-button>
</template>
@@ -1064,11 +1064,15 @@ export default {
this.projectList = data;
},
choiceZRR(scope, type, title, id) {
console.log(scope);
if (scope != null) {
this.currentIndex = scope.$index;
this.nodeList = [];
this.nodeList.push(scope.row.distributePersonId);
if(type === 'distributePerson'){
this.nodeList.push(scope.row.distributePersonId);
}else{
this.nodeList.push( scope.row.projectGroupPeopleId)
}
}else{
this.nodeList = [];
this.nodeList.push(id);
@@ -620,10 +620,6 @@ export default {
noCompliance: "", //在研不合规项目
countermeasures: "", //在研应对措施
completionTime: "", //在研完成时间
zcComplianceReasons: "", //在产的合规原因
zcNoCompliance: "", //在产不合规项目
zcCountermeasures: "", //在产的应对措施
zcCompletionTime: "" //在产的完成时间
}]
},
choiceForm: {}, //选择标准清单列表
@@ -814,7 +810,7 @@ export default {
},
handlePrice(){
for (let i = 0; i < this.dataList.length; i++) {
if (this.dataList[i].complianceReasons !== '' || (this.dataList[i].noCompliance !== '' && this.dataList[i].countermeasures !== '' && this.dataList[i].completionTime !== '') || (this.dataList[i].complianceReasons === '' && this.dataList[i].noCompliance === '' && this.dataList[i].countermeasures === '' && this.dataList[i].completionTime === '')){
if (this.dataList[i].complianceReasons|| (this.dataList[i].noCompliance && this.dataList[i].countermeasures && this.dataList[i].completionTime) || (this.dataList[i].complianceReasons === '' && this.dataList[i].noCompliance === '' && this.dataList[i].countermeasures === '' && this.dataList[i].completionTime === '')){
}else {
this.comFlag ++
}
@@ -847,6 +843,8 @@ export default {
this.listForm.dataList = this.dataList;
const json = JSON.stringify(this.listForm);
this.isSubmit = true
console.log('可以提交');
return
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.taskIds,
userId: this.userId,
@@ -9,8 +9,8 @@
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
v-for="(item, index) in standSortOptions"
:key="index"
:value="item.value"
:label="item.label"
></el-option>
@@ -0,0 +1,891 @@
<template>
<form>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="中文名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
v-model="form.standName" :disabled="disabledState"
clearable
></el-input>
</el-form-item>
<el-form-item v-show="verifySarStandard" label="发布日期" prop="issueTime" class="add-form-item form-item-disabled">
<el-datePicker v-model="form.issueTime" :disabled="disabledState"
:editable="false"
></el-datePicker>
</el-form-item>
<!-- <el-form-item label="制修订类型" prop="reviseStatus" class="add-form-item form-item-disabled" >-->
<!-- <template>-->
<!-- <div style="padding-left: 10px; color: #666666;">{{ form.reviseStatus === ''? '' : (form.reviseStatus === '1'? '制定' : '修订') }}</div>-->
<!-- </template>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">-->
<!-- <el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="" :disabled="disabledState">-->
<!-- <el-option-->
<!-- v-for="item in standStateOptions"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item v-show="verifySarStandard" label="复审日期" prop="FSRQBUSS" class="add-form-item form-item-disabled">-->
<!-- <el-datePicker v-model="form.FSRQBUSS"-->
<!-- :editable="false"-->
<!-- :disabled="true"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- clearable></el-datePicker>-->
<!-- </el-form-item>-->
</el-col>
<el-col :span="12">
<!-- <el-form-item label="国家/地区" prop="country" class="add-form-item form-item-disabled">-->
<!-- <el-select :popper-append-to-body="false" v-model="form.country" multiple placeholder="国家/地区">-->
<!-- <el-option-->
<!-- v-for="item in countryOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="企标编号" prop="standNumber" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="form.standNumber" :disabled="disabledState"-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="企业标准号" prop="standCode" class="add-form-item form-item-disabled">
<el-input
v-model="form.standCode" :disabled="disabledState"
clearable
></el-input>
</el-form-item>
<el-form-item label="英文名称" prop="standEnName" class="add-form-item form-item-disabled">
<el-input
v-model="form.standEnName" :disabled="disabledState"
clearable
></el-input>
</el-form-item>
<el-form-item v-show="verifySarStandard" label="企标实施日期" prop="putTime" class="add-form-item form-item-disabled">
<el-datePicker v-model="form.putTime" :disabled="disabledState"
:editable="false"></el-datePicker>
</el-form-item>
<!-- <el-form-item v-show="verifySarStandard" label="标准年份" prop="standYear" class="add-form-item form-item-disabled">-->
<!-- <el-input v-model="form.standYear" :disabled="disabledState"-->
<!-- clearable></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item v-show="verifySarStandard" label="废止日期" prop="FZRQBUSS" class="add-form-item form-item-disabled">-->
<!-- <el-datePicker v-model="form.FZRQBUSS" :disabled="disabledState"-->
<!-- :editable="false"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- clearable></el-datePicker>-->
<!-- </el-form-item>-->
</el-col>
</el-row>
</div>
<ProcessTitle v-show="verifySarStandard">
<template slot="title">过程稿件</template>
</ProcessTitle>
<div class="prc-content-border" v-show="verifySarStandard">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="发布稿" prop="FBGBUSSName" class="add-form-item form-item-disabled">
<div v-if="FBGBUSSFileList.length > 0" v-for="(item,index) in FBGBUSSFileList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreview(item,'preview')">{{ item.name }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreview(item,'down')"></el-button>
</span>
</div>
<!-- <div v-if="FBGBUSSFileList.length>0" v-for="(value,index) in this.FBGBUSSFileList" :key="index" style="cursor: pointer;color: #00b7ee" @click="downloadFile(value)">-->
<!-- &lt;!&ndash; {{ value.name }} &ndash;&gt;-->
<!-- {{value.name}}-->
<!-- </div>-->
</el-form-item>
<el-form-item label="历史版本" prop="LSBBBUSSName" class="add-form-item form-item-disabled">
<div v-if="LSBBBUSSFileList.length > 0" v-for="(item,index) in LSBBBUSSFileList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreview(item,'preview')">{{ item.name }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreview(item,'down')"></el-button>
</span>
</div>
<!-- <div v-if="LSBBBUSSFileList.length>0" v-for="(value,index) in this.LSBBBUSSFileList" :key="index" style="cursor: pointer;color: #00b7ee" @click="downloadFile(value)">-->
<!-- &lt;!&ndash; {{ value.name }} &ndash;&gt;-->
<!-- {{value.name}}-->
<!-- </div>-->
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="编制说明" prop="BZSMBUSSName" class="add-form-item form-item-disabled">
<div v-if="BZSMBUSSFileList.length > 0" v-for="(item,index) in BZSMBUSSFileList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreview(item,'preview')">{{ item.name }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreview(item,'down')"></el-button>
</span>
</div>
<!-- <div v-if="BZSMBUSSFileList.length>0" v-for="(value,index) in this.BZSMBUSSFileList" :key="index" style="cursor: pointer;color: #00b7ee" @click="downloadFile(value)">-->
<!-- &lt;!&ndash; {{ value.name }} &ndash;&gt;-->
<!-- {{value.name}}-->
<!-- </div>-->
</el-form-item>
<el-form-item label="其他文件" prop="QTWJBUSSName" class="add-form-item form-item-disabled">
<div v-if="QTWJBUSSFileList.length > 0" v-for="(item,index) in QTWJBUSSFileList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreview(item,'preview')">{{ item.name }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreview(item,'down')"></el-button>
</span>
</div>
<!-- <div v-if="QTWJBUSSFileList.length>0" v-for="(value,index) in this.QTWJBUSSFileList" :key="index" style="cursor: pointer;color: #00b7ee" @click="downloadFile(value)">-->
<!-- &lt;!&ndash; {{ value.name }} &ndash;&gt;-->
<!-- {{value.name}}-->
<!-- </div>-->
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle v-show="verifySarStandard">
<template slot="title">适用范围</template>
</ProcessTitle>
<div class="prc-content-border" v-show="verifySarStandard">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-input v-model="form.QCDW" :disabled="disabledState" clearable></el-input>
</el-form-item>
<el-form-item label="文件上传人员" prop="WJSCRYBUSSName" class="add-form-item form-item-disabled">
<el-input
v-model="form.WJSCRYBUSSName"
:disabled="true"
clearable
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联模块--乘用车VPPS中文名称" title="关联模块--乘用车VPPS中文名称" class="add-form-item form-item-disabled">
<el-input v-model="form.CYCVPPSBMBUSS" :disabled="disabledState"></el-input>
</el-form-item>
<el-form-item label="关联模块--卡车VPPS编码" title="关联模块--卡车VPPS编码" class="add-form-item form-item-disabled">
<el-input v-model="form.KCVPPSBMBUSS" :disabled="disabledState"></el-input>
</el-form-item>
<el-form-item label="模块结构单元变型号" title="模块结构单元变型号" class="add-form-item form-item-disabled">
<el-input v-model="form.DYBXHBUSS" :disabled="disabledState"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联模块--乘用车vpps中文名称" prop="CYCVPPSCNBUSS" class="add-form-item form-item-disabled">
<el-input v-model="form.CYCVPPSCNBUSS" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="关联模块--卡车VPPS编码" prop="KCVPPSCNBUSS" class="add-form-item form-item-disabled">
<el-input v-model="form.KCVPPSCNBUSS" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="模块结构单元名称" prop="DYMCBUSS" class="add-form-item form-item-disabled">
<el-input v-model="form.DYMCBUSS" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="体系类别" prop="TXLBBUSS" class="add-form-item form-item-disabled">
<el-input v-model="form.TXLBBUSS" :disabled="disabledState" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle v-show="verifySarStandard">
<template slot="title">关联信息</template>
</ProcessTitle>
<div class="prc-content-border" v-show="verifySarStandard">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="代替企标编号" prop="DTQBBHBUSS" class="add-form-item form-item-disabled">
<el-input
v-model="form.DTQBBHBUSS" :disabled="disabledState"
clearable
></el-input>
</el-form-item>
<el-form-item label="采用标准" prop="CYBZ" class="add-form-item form-item-disabled">
<el-input
v-model="form.CYBZ" :disabled="disabledState"
clearable
></el-input>
</el-form-item>
<el-form-item label="引用标准" prop="YYBZ" class="add-form-item form-item-disabled">
<el-input
v-model="form.YYBZ" :disabled="disabledState"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- <el-form-item label="被代替企标编号" prop="BDTWJHLAWS" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="form.BDTWJHLAWS" :disabled="disabledState"-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="上传时间" prop="XCSJBUSS" class="add-form-item form-item-disabled">
<el-input
v-model="form.XCSJBUSS"
clearable
:disabled="true"
></el-input>
</el-form-item>
<el-form-item label="采标程度" prop="CBCD" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false"
v-model="form.CBCD" placeholder="" :disabled="disabledState">
<el-option
v-for="item in cbcdOptions"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联文件" prop="GLWJBUSSName" class="add-form-item form-item-disabled">
<div v-if="GLWJBUSSFileList.length > 0" v-for="(item,index) in GLWJBUSSFileList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreview(item,'preview')">{{ item.name }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreview(item,'down')"></el-button>
</span>
</div>
<!-- <div v-if="GLWJBUSSFileList.length>0" v-for="(value,index) in this.GLWJBUSSFileList" :key="index" style="cursor: pointer;color: #00b7ee" @click="downloadFile(value)">-->
<!-- &lt;!&ndash; {{ value.name }} &ndash;&gt;-->
<!-- {{value.name}}-->
<!-- </div>-->
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle v-show="opinionsShow2">
<template slot="title">复审信息</template>
</ProcessTitle>
<div class="prc-content-border" v-show="opinionsShow2">
<el-table
ref="selection"
tooltip-effect="dark"
style="width: 100%;margin-bottom: 20px;overflow-y:auto;height:auto;border-bottom: 1px solid #EBEEF5;"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
row-key="id"
:data="form.fileModelList"
border
default-expand-all>
<el-table-column
label="序号"
min-width="5%"
align="center">
<template slot-scope="scope">
{{scope.$index + 1}}
</template>
</el-table-column>
<el-table-column
prop="reviewResults"
label="复审结果"
min-width="8%"
align="center"
>
<template slot-scope="scope">
{{filterReviewResults(scope.row.reviewResults)}}
</template>
</el-table-column>
<el-table-column
prop="reviewUserName"
label="复审人"
min-width="8%"
align="center"
>
</el-table-column>
<el-table-column label="操作" align="center" min-width="8%">
<template slot-scope="scope">
<div @click="detail(scope.row)" style="display: inline-block;cursor: pointer;color: #409EFF;">
复审详情
</div>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- prop="releaseTime"-->
<!-- label="初稿完成日期"-->
<!-- align="center"-->
<!-- min-width="10%">-->
<!-- &lt;!&ndash; <template slot-scope="scope">&ndash;&gt;-->
<!-- &lt;!&ndash; <el-form-item&ndash;&gt;-->
<!-- &lt;!&ndash; style="margin-left: 0;margin-bottom:0;"&ndash;&gt;-->
<!-- &lt;!&ndash; >&ndash;&gt;-->
<!-- &lt;!&ndash; <el-input v-model="scope.row.modelUpdBefore" :title="scope.row.modelUpdBefore" :disabled="scope.row.disabled" placeholder="请维护章节修改前内容" @blur="modelNameFunc1(scope.row)"/>&ndash;&gt;-->
<!-- &lt;!&ndash; </el-form-item>&ndash;&gt;-->
<!-- &lt;!&ndash; </template>&ndash;&gt;-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="draftTime"-->
<!-- label="计划标准发布日期"-->
<!-- align="center"-->
<!-- min-width="10%">-->
<!-- &lt;!&ndash; <template slot-scope="scope">&ndash;&gt;-->
<!-- &lt;!&ndash; <el-form-item&ndash;&gt;-->
<!-- &lt;!&ndash; style="margin-left: 0;margin-bottom:0;"&ndash;&gt;-->
<!-- &lt;!&ndash; >&ndash;&gt;-->
<!-- &lt;!&ndash; <el-input v-model="scope.row.modelUpdAfter" :title="scope.row.modelUpdAfter" :disabled="scope.row.disabled" placeholder="请维护章节修改后内容" @blur="modelNameFunc2(scope.row)"/>&ndash;&gt;-->
<!-- &lt;!&ndash; </el-form-item>&ndash;&gt;-->
<!-- &lt;!&ndash; </template>&ndash;&gt;-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="reviewResultsContent"-->
<!-- label="复审理由"-->
<!-- align="center"-->
<!-- min-width="30%">-->
<!-- <template slot-scope="scope">-->
<!-- <span :title="scope.row.reviewResultsContent">{{scope.row.reviewResultsContent | ellipsis35}}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="复审文件" align="center" min-width="8%">-->
<!-- <template slot-scope="scope" >-->
<!-- <div v-show="scope.row.reviewResults === '1'" @click="handleFilePreviewNew(scope.row,'preview','fs')" style="display: inline-block;cursor: pointer;color: #409EFF;">-->
<!-- 预览-->
<!-- </div>-->
<!-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-->
<!-- <div v-show="scope.row.reviewResults === '1'" @click="handleFilePreviewNew(scope.row,'down','fs')" style="display: inline-block;cursor: pointer;color: #409EFF;">-->
<!-- 下载-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</div>
<ProcessTitle v-show="verifySarStandard">
<template slot="title">复审结果</template>
</ProcessTitle>
<!-- reviewResults 1 修订、2 废止、3 继续有效-->
<div class="prc-content-border" v-show="verifySarStandard">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="复审结果" prop="reviewResults" style="margin-left: 0;margin-bottom:0;" class="add-form-item form-item-disabled">
<el-select v-model="form.reviewResults" filterable clearable>
<el-option
v-for="item in opinionsReviewResultsOptions"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item v-if="verifySort() !== '' && !verifySort()" label="初稿完成日期" prop="draftTime" class="add-form-item form-item-disabled">
<el-datePicker v-model="form.draftTime"
:editable="false"
placeholder="请选择初稿完成日期"
value-format="yyyy-MM-dd"
></el-datePicker>
</el-form-item>
<el-form-item v-if="verifySort() !== '' && verifySort() && opinionsShow2" label="截止日期" prop="expirationDate" class="add-form-item form-item-disabled">
<el-datePicker v-model="form.expirationDate"
:editable="false"
placeholder="请选择截止日期"
value-format="yyyy-MM-dd"
></el-datePicker>
</el-form-item>
<el-form-item v-if="form.reviewResults === '1' && opinionsShow2" label="立项单" prop="LXDName" class="add-form-item form-item-disabled">
<div v-if="LXDList.length > 0" v-for="(item,index) in LXDList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreviewNew(item,'preview','lx')" :title="item.name">{{ item.name | ellipsis2 }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreviewNew(item,'down','lx')"></el-button>
</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-edit" @click="handleFilePreviewNew(item,'onlineEdit','lx')"></el-button>
</span>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.reviewResults === '1' && opinionsShow2" label="主起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-input v-show="!opinionsShow2" v-model="form.QCRBUSS" :title="form.QCRBUSS" :disabled="disabledState" clearable></el-input>
<el-input v-show="opinionsShow2"
v-model="form.QCRBUSS"
placeholder="选择主起草人"
readonly="readonly"
@click.native="choiceZRRList('QCRBUSS', '选择主起草人', form.QCRBUSS)">
</el-input>
</el-form-item>
<el-form-item v-if="verifySort() !== '' && !verifySort()" label="计划标准发布日期" prop="releaseTime" class="add-form-item form-item-disabled">
<el-datePicker v-model="form.releaseTime"
:editable="false"
placeholder="请选择计划标准发布日期"
value-format="yyyy-MM-dd"
></el-datePicker>
</el-form-item>
<el-form-item v-if="form.reviewResults === '1'" label="复审单" prop="FSDName" class="add-form-item form-item-disabled">
<div v-if="FSDList.length > 0" v-for="(item,index) in FSDList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreviewNew(item,'preview','fs')" :title="item.name">{{ item.name | ellipsis2 }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreviewNew(item,'down','fs')"></el-button>
</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-edit" @click="handleFilePreviewNew(item,'onlineEdit','fs')"></el-button>
</span>
</div>
</el-form-item>
</el-col>
</el-row>
<el-form-item v-show="form.reviewResults === '2' || form.reviewResults === '3'" label="复审理由" prop="reviewResultsContent" style="margin-left: 0;margin-bottom:0;" class="add-form-item form-item-disabled">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入复审理由"
v-model="form.reviewResultsContent">
</el-input>
</el-form-item>
</div>
<el-drawer
ref="standard"
size="500px"
:title="showDrawerTitle"
:visible.sync="showDrawer"
:before-close="showDrawerClose">
<div class="demo-drawer-content">
<div class="content">
<div class="standard-table-search">
<el-row :gutter="24">
<el-col :span="24">
<el-form :model="showForm" inline class="label-input-form" label-width="220px" ref="showForm">
<el-form-item label="复审结果" prop="reviewResults" style="margin-left: 0;margin-bottom:0;" class="add-form-item form-item-disabled">
<el-select v-model="showForm.reviewResults" filterable clearable :disabled="disabledState">
<el-option
v-for="item in opinionsReviewResultsOptions"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="复审人" prop="reviewUserName" style="margin-left: 0;margin-bottom:0;" class="add-form-item form-item-disabled">
<el-input
v-model="showForm.reviewUserName" :disabled="disabledState"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="verifySort2() !== '' && !verifySort2()" label="初稿完成日期" prop="draftTime" class="add-form-item form-item-disabled">
<el-datePicker v-model="showForm.draftTime" :disabled="disabledState"
:editable="false"
placeholder="请选择初稿完成日期"
value-format="yyyy-MM-dd"
></el-datePicker>
</el-form-item>
<el-form-item v-if="verifySort2() !== '' && !verifySort2()" label="计划标准发布日期" prop="releaseTime" class="add-form-item form-item-disabled">
<el-datePicker v-model="showForm.releaseTime" :disabled="disabledState"
:editable="false"
placeholder="请选择计划标准发布日期"
value-format="yyyy-MM-dd"
></el-datePicker>
</el-form-item>
<el-form-item v-if="showForm.reviewResults === '1'" :disabled="disabledState" label="复审单" prop="FSDName" class="add-form-item form-item-disabled">
<div v-if="showForm.FSDList.length > 0" v-for="(item,index) in showForm.FSDList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreviewNew(item,'preview','fs')" :title="item.name">{{ item.name | ellipsis15 }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreviewNew(item,'down','fs')"></el-button>
</span>
</div>
</el-form-item>
<el-form-item v-show="showForm.reviewResults === '2' || showForm.reviewResults === '3'" label="复审理由" prop="reviewResultsContent" style="margin-left: 0;margin-bottom:0;" class="add-form-item form-item-disabled">
<el-input
:disabled="disabledState"
type="textarea"
:rows="3"
resize="none"
placeholder="请输入复审理由"
v-model="showForm.reviewResultsContent">
</el-input>
</el-form-item>
</el-form>
</el-col>
</el-row>
</div>
</div>
</div>
</el-drawer>
</form>
</template>
<script>
import { mapGetters } from 'vuex'
import ProcessTitle from '../../../components/ProcessTitle'
export default {
name: 'formList',
components: {
ProcessTitle,
},
props: {
formSub: {
type: Object,
required: true
},
FBGBUSSFileList: {
type: Array,
required: true
},
LSBBBUSSFileList: {
type: Array,
required: true
},
BZSMBUSSFileList: {
type: Array,
required: true
},
QTWJBUSSFileList: {
type: Array,
required: true
},
GLWJBUSSFileList: {
type: Array,
required: true
},
LXDListSub: {
type: Array,
required: true
},
FSDListSub: {
type: Array,
required: true
},
summaryFileList: {
type: Array,
required: false
},
disabledState: {
type: Boolean,
default: false
},
verifySarStandard: {
type: Boolean,
default: false
},
opinionsShow2: {
type: Boolean,
default: false
},
opinionsShow: {
type: Boolean,
default: false
},
fileShow: {
type: Boolean,
default: false
},
},
filters: {
ellipsis35 (value) {
if (!value) return ''
if (value.length > 35) {
return value.slice(0,35) + '...'
}
return value
},
ellipsis15 (value) {
if (!value) return ''
if (value.length > 10) {
return value.slice(0,10) + '...'
}
return value
},
ellipsis2 (value) {
if (!value) return ''
if (value.length > 20) {
return value.slice(0,20) + '...'
}
return value
}
},
data () {
return {
opinionsAdoptedOptions:[
{value: '1',label: '采纳'},
{value: '2',label: '部分采纳'},
{value: '3',label: '不采纳'},
],
opinionsReviewResultsOptions:[
{value: '1',label: '修订'},
{value: '2',label: '废止'},
{value: '3',label: '继续有效'},
],
showForm:{},
showDrawerTitle:"",
showDrawer:false,
form:{},
LXDList:[],
FSDList:[],
countryOptions:[],//国家地区
standSortOptions: [], // 标准类别
standNatureOptions: [], // 标准性质
standStateOptions: [], // 文本状态
standSystemOptions: [], // 标准体系
busVppsOptions: [], // 车系体系架构
busVppsChildOptions: [], // 车系体系架构子集合
modelOptions: [], // 模块体系架构
modelChildOptions: [], // 模块体系架构子集合
applyArcticOptions: [], // 适用车型
gkglbmOptions: [], // 归口管理部门
categoryOptions: [], // 能源类型
applyAuthOptions: [], // 适用认证
cysdOptions: [], // 我司参与深度
cbcdOptions: [], // 采标程度
wssmrOptions: [], // 我司署名人
sycpxOptions: [], // 适用产品线
zrbmOptions: [], // 责任部门
zrgcsOptions: [], // 责任工程师
qcdwOption: [], // 起草单位
txlbOptions: [], // 体系类别
standSortConfigOptions: [], // 标准类别下拉框
adoptExtentOptions: [], // 采标程度下拉框
emergyKindOptions: [], // 能源种类下拉框
categoryConfigOptions: [], // 所属类别下拉框
assemClassOptions: [], // 总成分类下拉框
qcdwOptions:[],//起草单位下拉框
qcrOptions:[],//起草人下拉框
nylxOptions:[],//能源类型下拉框
syrzOptions:[],//适用认证下拉框
data: [], // 标准列表数据
ListForm: {}, // 新增数据
}
},
computed: {
...mapGetters(['userInfo'])
},
methods: {
assemble(ids,names){
let list= new Array();
if(ids && ids !== '' && names && names !== ''){
let idArray=ids.split(',');
let nameArray=names.split(',');
for(let i=0; i<idArray.length; i++){
list.push({id:idArray[i],name:nameArray[i]});
}
}
return list;
},
detail(row){
this.showDrawerTitle = '查看'
this.showDrawer = true
this.showForm = row
this.showForm.FSDList=this.assemble(this.showForm.FSD,this.showForm.FSDName);
console.log(this.showForm)
},
showDrawerClose () {
this.showDrawer = false
},
verifySort2(){
if(this.showForm.reviewResults && this.showForm.reviewResults === '1'){
return !!(this.form.standSort && this.form.standSort.indexOf("Q/QCBFC") !== -1);
}else {
return ""
}
},
verifySort(){
if(this.form.reviewResults && this.form.reviewResults === '1'){
return !!(this.form.standSort && this.form.standSort.indexOf("Q/QCBFC") !== -1);
}else {
return ""
}
},
choiceZRRList (type, title, id) {
this.$emit('formChoiceZRRListCancel',type,title,id)
},
filterReviewResults(data){
if(!data){
return ""
}
const map = new Map();
map.set("1","修订");
map.set("2","废止");
map.set("3","继续有效");
return map.get(data)
},
filterOp(data){
if(!data){
return ""
}
const map = new Map();
map.set("1","采纳");
map.set("2","部分采纳");
map.set("3","不采纳");
return map.get(data)
},
// 文件预览及下载
handleFilePreviewNew(file,type,onlineType) {
let id = ""
let fileName = ""
let fileNam2 = ""
if(onlineType === 'lx'){
if(this.form.standName && this.form.standName !== ''){
fileName = this.form.standName+'-立项单.docx'
fileNam2 = this.form.standName+'-立项单'
}else {
fileName = '立项单.docx'
fileNam2 = '立项单'
}
}else if(onlineType === 'fs'){
if(this.form.standName && this.form.standName !== ''){
fileName = this.form.standName+'-复审单.docx'
fileNam2 = this.form.standName+'-复审单'
}else {
fileName = '复审单.docx'
fileNam2 = '复审单'
}
}
if(file && file.id){
id = file.id
}else {
if(onlineType === 'fs'){
id = file.FSD
}else if(onlineType === 'lx'){
id = file.LXD
}
}
if (type === 'down') {
if (id) {
window.open('/api/lawss/activiti/downloadFileForSar?fileId=' + id +'&oldFileName='+fileName)
} else {
this.$message.warning('文件不存在,下载失败')
}
} else if(type === 'preview'){
this.$onlineEditPreview(id,fileNam2,this.$store.getters.userInfo.userId,this.$store.getters.userInfo.userName)
}else {
this.$onlineEdit(id,fileNam2,this.$store.getters.userInfo.userId,this.$store.getters.userInfo.userName)
}
},
// 文件预览及下载
handleFilePreview(file,type) {
let attId = ""
if(file && file.id){
attId = file.id
}else {
attId = file.response.data.id
}
if (type === 'down') {
if (attId) {
window.open('/api/att/attFile/downloadFileForSar?fileId=' + attId)
} else {
this.$message.warning('文件不存在,下载失败')
}
} else {
this.$preview(attId)
}
},
downloadFile (data) {
//文件id中出现了','字符,去除掉
window.open('/api/att/attFile/downloadFileForSar?fileId=' + data.id)
},
setMap(data){
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label)
})
},
busVsFunc(){
this.$http.get('sarVppsTree/list', '', {
_this: this
}, res => {
this.busVppsOptions = []
this.busVppsOptions = res.data
})
},
modelFunc(){
this.$http.get('sarModelTree/list', '', {
_this: this
}, res => {
this.modelOptions = []
this.modelOptions = res.data
})
},
},
mounted () {
this.form = this.formSub
this.LXDList = this.LXDListSub
this.FSDList = this.FSDListSub
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
this.countryOptions = res.data.COUNTRY
this.applyCountryOptions = res.data.COUNTRY
this.regionOptions = res.data.REGION // 区域
this.standStateOptions = res.data.BUSSSTATE
this.energyKindOptions = res.data.ENERGYTYPES
this.standGeneraOptions = res.data.BUSSBIGCLASS
this.standSubclassOptions = res.data.BUSSFINECLASS
this.standSortOptions = res.data.BUSSSTANDCLASS // 标准类别
this.standNatureOptions = res.data.SARPROPERTY // 标准性质
this.standStateOptions = res.data.TEXTSTATUSBUSS // 文本状态
this.standSystemOptions = res.data.TXLBBUSS // 标准体系
this.applyArcticOptions = res.data.ENERGYTYPES // 适用车型
this.categoryOptions = res.data.NYLXCLASS // 能源类型
this.applyAuthOptions = res.data.SYRZCLASS // 适用认证
this.cysdOptions = res.data.WSCYSD // 我司参与深度
this.zrgcsOptions = res.data.ZRGCSCLASS // 责任工程师
this.txlbOptions = res.data.TXLBCLASS // 体系类别
this.qcdwOptions = res.data.QCDW // 起草单位
this.qcrOptions = res.data.QCRBUSS // 起草人
this.nylxOptions = res.data.NYLXCLASS // 能源类型
this.syrzOptions = res.data.SYRZCLASS // 适用认证
this.sycpxOptions = res.data.SYCPXCLASS // 适用产品线
this.zrgcsOptions = res.data.ZRGCSCLASS // 责任工程师
this.zrbmOptions = res.data.ZRBMCLASS // 责任部门
this.gkglbmOptions=res.data.GKGLBM;//归口管理部门
this.cbcdOptions=res.data.DEGREESTANDARD;//采标程度
this.setMap(this.standStateOptions)
})
this.busVsFunc()
this.modelFunc()
},
watch: {
form: {
handler: function (val) {
if(val){
this.$emit('formCancel', this.form, this.FBGBUSSFileList,this.LSBBBUSSFileList,this.BZSMBUSSFileList,this.QTWJBUSSFileList,this.GLWJBUSSFileList,this.FSDList,this.LXDList);
}
},
deep: true //对象的深度验证
},
}
}
</script>
<style scoped>
</style>
@@ -0,0 +1,826 @@
<template>
<form>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="(item, index) in standSortOptions"
:key="index"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="中文名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
v-model="form.standName" :disabled="disabledState"
clearable
></el-input>
</el-form-item>
<el-form-item v-show="verifySarStandard" label="发布日期" prop="issueTime" class="add-form-item form-item-disabled">
<el-datePicker v-model="form.issueTime" :disabled="disabledState"
:editable="false"
></el-datePicker>
</el-form-item>
<el-form-item label="企业标准号" prop="standCode" class="add-form-item form-item-disabled">
<el-input
v-model="form.standCode" :disabled="disabledState"
clearable
></el-input>
</el-form-item>
<el-form-item label="英文名称" prop="standEnName" class="add-form-item form-item-disabled">
<el-input
v-model="form.standEnName" :disabled="disabledState"
clearable
></el-input>
</el-form-item>
<el-form-item v-show="verifySarStandard" label="企标实施日期" prop="putTime" class="add-form-item form-item-disabled">
<el-datePicker v-model="form.putTime" :disabled="disabledState"
:editable="false"></el-datePicker>
</el-form-item>
<!-- <el-form-item v-show="verifySarStandard" label="标准年份" prop="standYear" class="add-form-item form-item-disabled">-->
<!-- <el-input v-model="form.standYear" :disabled="disabledState"-->
<!-- clearable></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item v-show="verifySarStandard" label="废止日期" prop="FZRQBUSS" class="add-form-item form-item-disabled">-->
<!-- <el-datePicker v-model="form.FZRQBUSS" :disabled="disabledState"-->
<!-- :editable="false"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- clearable></el-datePicker>-->
<!-- </el-form-item>-->
</el-col>
</el-row>
</div>
<ProcessTitle v-show="verifySarStandard">
<template slot="title">过程稿件</template>
</ProcessTitle>
<div class="prc-content-border" v-show="verifySarStandard">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="发布稿" prop="FBGBUSSName" class="add-form-item form-item-disabled">
<div v-if="FBGBUSSFileList.length > 0" v-for="(item,index) in FBGBUSSFileList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreview(item,'preview')">{{ item.name }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreview(item,'down')"></el-button>
</span>
</div>
</el-form-item>
<el-form-item label="历史版本" prop="LSBBBUSSName" class="add-form-item form-item-disabled">
<div v-if="LSBBBUSSFileList.length > 0" v-for="(item,index) in LSBBBUSSFileList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreview(item,'preview')">{{ item.name }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreview(item,'down')"></el-button>
</span>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="编制说明" prop="BZSMBUSSName" class="add-form-item form-item-disabled">
<div v-if="BZSMBUSSFileList.length > 0" v-for="(item,index) in BZSMBUSSFileList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreview(item,'preview')">{{ item.name }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreview(item,'down')"></el-button>
</span>
</div>
</el-form-item>
<el-form-item label="其他文件" prop="QTWJBUSSName" class="add-form-item form-item-disabled">
<div v-if="QTWJBUSSFileList.length > 0" v-for="(item,index) in QTWJBUSSFileList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreview(item,'preview')">{{ item.name }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreview(item,'down')"></el-button>
</span>
</div>
<!-- <div v-if="QTWJBUSSFileList.length>0" v-for="(value,index) in this.QTWJBUSSFileList" :key="index" style="cursor: pointer;color: #00b7ee" @click="downloadFile(value)">-->
<!-- &lt;!&ndash; {{ value.name }} &ndash;&gt;-->
<!-- {{value.name}}-->
<!-- </div>-->
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle v-show="verifySarStandard">
<template slot="title">适用范围</template>
</ProcessTitle>
<div class="prc-content-border" v-show="verifySarStandard">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-input v-model="form.QCDW" :disabled="disabledState" clearable></el-input>
</el-form-item>
<el-form-item label="文件上传人员" prop="WJSCRYBUSSName" class="add-form-item form-item-disabled">
<el-input
v-model="form.WJSCRYBUSSName"
:disabled="true"
clearable
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联模块--乘用车VPPS中文名称" title="关联模块--乘用车VPPS中文名称" class="add-form-item form-item-disabled">
<el-input v-model="form.CYCVPPSBMBUSS" :disabled="disabledState"></el-input>
</el-form-item>
<el-form-item label="关联模块--卡车VPPS编码" title="关联模块--卡车VPPS编码" class="add-form-item form-item-disabled">
<el-input v-model="form.KCVPPSBMBUSS" :disabled="disabledState"></el-input>
</el-form-item>
<el-form-item label="模块结构单元变型号" title="模块结构单元变型号" class="add-form-item form-item-disabled">
<el-input v-model="form.DYBXHBUSS" :disabled="disabledState"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联模块--乘用车vpps中文名称" prop="CYCVPPSCNBUSS" class="add-form-item form-item-disabled">
<el-input v-model="form.CYCVPPSCNBUSS" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="关联模块--卡车VPPS编码" prop="KCVPPSCNBUSS" class="add-form-item form-item-disabled">
<el-input v-model="form.KCVPPSCNBUSS" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="模块结构单元名称" prop="DYMCBUSS" class="add-form-item form-item-disabled">
<el-input v-model="form.DYMCBUSS" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="体系类别" prop="TXLBBUSS" class="add-form-item form-item-disabled">
<el-input v-model="form.TXLBBUSS" :disabled="disabledState" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle v-show="verifySarStandard">
<template slot="title">关联信息</template>
</ProcessTitle>
<div class="prc-content-border" v-show="verifySarStandard">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="代替企标编号" prop="DTQBBHBUSS" class="add-form-item form-item-disabled">
<el-input
v-model="form.DTQBBHBUSS" :disabled="disabledState"
clearable
></el-input>
</el-form-item>
<el-form-item label="采用标准" prop="CYBZ" class="add-form-item form-item-disabled">
<el-input
v-model="form.CYBZ" :disabled="disabledState"
clearable
></el-input>
</el-form-item>
<el-form-item label="引用标准" prop="YYBZ" class="add-form-item form-item-disabled">
<el-input
v-model="form.YYBZ" :disabled="disabledState"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="上传时间" prop="XCSJBUSS" class="add-form-item form-item-disabled">
<el-input
v-model="form.XCSJBUSS"
clearable
:disabled="true"
></el-input>
</el-form-item>
<el-form-item label="采标程度" prop="CBCD" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false"
v-model="form.CBCD" placeholder="" :disabled="disabledState">
<el-option
v-for="item in cbcdOptions"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联文件" prop="GLWJBUSSName" class="add-form-item form-item-disabled">
<div v-if="GLWJBUSSFileList.length > 0" v-for="(item,index) in GLWJBUSSFileList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreview(item,'preview')">{{ item.name }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreview(item,'down')"></el-button>
</span>
</div>
<!-- <div v-if="GLWJBUSSFileList.length>0" v-for="(value,index) in this.GLWJBUSSFileList" :key="index" style="cursor: pointer;color: #00b7ee" @click="downloadFile(value)">-->
<!-- &lt;!&ndash; {{ value.name }} &ndash;&gt;-->
<!-- {{value.name}}-->
<!-- </div>-->
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle v-show="opinionsShow2">
<template slot="title">复审信息</template>
</ProcessTitle>
<div class="prc-content-border" v-show="opinionsShow2">
<el-table
ref="selection"
tooltip-effect="dark"
style="width: 100%;margin-bottom: 20px;overflow-y:auto;height:auto;border-bottom: 1px solid #EBEEF5;"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
row-key="id"
:data="form.fileModelList"
border
default-expand-all>
<el-table-column
label="序号"
min-width="5%"
align="center">
<template slot-scope="scope">
{{scope.$index + 1}}
</template>
</el-table-column>
<el-table-column
prop="reviewResults"
label="复审结果"
min-width="8%"
align="center"
>
<template slot-scope="scope">
{{filterReviewResults(scope.row.reviewResults)}}
</template>
</el-table-column>
<el-table-column
prop="reviewUserName"
label="复审人"
min-width="8%"
align="center"
>
</el-table-column>
<el-table-column label="操作" align="center" min-width="8%">
<template slot-scope="scope">
<div @click="detail(scope.row)" style="display: inline-block;cursor: pointer;color: #409EFF;">
复审详情
</div>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- prop="releaseTime"-->
<!-- label="初稿完成日期"-->
<!-- align="center"-->
<!-- min-width="10%">-->
<!-- &lt;!&ndash; <template slot-scope="scope">&ndash;&gt;-->
<!-- &lt;!&ndash; <el-form-item&ndash;&gt;-->
<!-- &lt;!&ndash; style="margin-left: 0;margin-bottom:0;"&ndash;&gt;-->
<!-- &lt;!&ndash; >&ndash;&gt;-->
<!-- &lt;!&ndash; <el-input v-model="scope.row.modelUpdBefore" :title="scope.row.modelUpdBefore" :disabled="scope.row.disabled" placeholder="请维护章节修改前内容" @blur="modelNameFunc1(scope.row)"/>&ndash;&gt;-->
<!-- &lt;!&ndash; </el-form-item>&ndash;&gt;-->
<!-- &lt;!&ndash; </template>&ndash;&gt;-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="draftTime"-->
<!-- label="计划标准发布日期"-->
<!-- align="center"-->
<!-- min-width="10%">-->
<!-- &lt;!&ndash; <template slot-scope="scope">&ndash;&gt;-->
<!-- &lt;!&ndash; <el-form-item&ndash;&gt;-->
<!-- &lt;!&ndash; style="margin-left: 0;margin-bottom:0;"&ndash;&gt;-->
<!-- &lt;!&ndash; >&ndash;&gt;-->
<!-- &lt;!&ndash; <el-input v-model="scope.row.modelUpdAfter" :title="scope.row.modelUpdAfter" :disabled="scope.row.disabled" placeholder="请维护章节修改后内容" @blur="modelNameFunc2(scope.row)"/>&ndash;&gt;-->
<!-- &lt;!&ndash; </el-form-item>&ndash;&gt;-->
<!-- &lt;!&ndash; </template>&ndash;&gt;-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="reviewResultsContent"-->
<!-- label="复审理由"-->
<!-- align="center"-->
<!-- min-width="30%">-->
<!-- <template slot-scope="scope">-->
<!-- <span :title="scope.row.reviewResultsContent">{{scope.row.reviewResultsContent | ellipsis35}}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="复审文件" align="center" min-width="8%">&ndash;&gt;-->
<!-- <template slot-scope="scope" >-->
<!-- <div v-show="scope.row.reviewResults === '1'" @click="handleFilePreviewNew(scope.row,'preview','fs')" style="display: inline-block;cursor: pointer;color: #409EFF;">-->
<!-- 预览-->
<!-- </div>-->
<!-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-->
<!-- <div v-show="scope.row.reviewResults === '1'" @click="handleFilePreviewNew(scope.row,'down','fs')" style="display: inline-block;cursor: pointer;color: #409EFF;">-->
<!-- 下载-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</div>
<ProcessTitle v-show="verifySarStandard">
<template slot="title">复审结果</template>
</ProcessTitle>
<!-- reviewResults 1 修订2 废止3 继续有效-->
<div class="prc-content-border" v-show="verifySarStandard">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="复审结果" prop="reviewResults" style="margin-left: 0;margin-bottom:0;" class="add-form-item form-item-disabled">
<el-select v-model="form.reviewResults" filterable clearable :disabled="disabledState">
<el-option
v-for="item in opinionsReviewResultsOptions"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item v-if="verifySort() !== '' && !verifySort()" label="初稿完成日期" prop="draftTime" class="add-form-item form-item-disabled">
<el-datePicker v-model="form.draftTime" :disabled="disabledState"
:editable="false"
placeholder="请选择初稿完成日期"
value-format="yyyy-MM-dd"
></el-datePicker>
</el-form-item>
<el-form-item v-if="form.reviewResults === '1'" label="立项单" prop="LXDName" class="add-form-item form-item-disabled">
<div v-if="LXDList.length > 0" v-for="(item,index) in LXDList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreviewNew(item,'preview','lx')" :title="item.name">{{ item.name | ellipsis2 }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreviewNew(item,'down','lx')"></el-button>
</span>
</div>
</el-form-item>
<el-form-item label="复审人" prop="reviewUserName" class="add-form-item form-item-disabled">
<el-input
v-model="form.reviewUserName" :disabled="disabledState"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item v-if="form.reviewResults === '1' && opinionsShow2" label="主起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-input v-model="form.QCRBUSS" :title="form.QCRBUSS" :disabled="disabledState" clearable></el-input>
</el-form-item>
<el-form-item v-if="verifySort() !== '' && !verifySort()" label="计划标准发布日期" prop="releaseTime" class="add-form-item form-item-disabled">
<el-datePicker v-model="form.releaseTime" :disabled="disabledState"
:editable="false"
placeholder="请选择计划标准发布日期"
value-format="yyyy-MM-dd"
></el-datePicker>
</el-form-item>
<el-form-item v-if="form.reviewResults === '1'" label="复审单" prop="FSDName" class="add-form-item form-item-disabled">
<div v-if="FSDList.length > 0" v-for="(item,index) in FSDList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreviewNew(item,'preview','fs')" :title="item.name">{{ item.name | ellipsis2 }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreviewNew(item,'down','fs')"></el-button>
</span>
</div>
</el-form-item>
<el-form-item v-if="verifySort() !== '' && verifySort()" label="截止日期" prop="expirationDate" class="add-form-item form-item-disabled">
<el-datePicker v-model="form.expirationDate" :disabled="disabledState"
:editable="false"
placeholder="请选择截止日期"
value-format="yyyy-MM-dd"
></el-datePicker>
</el-form-item>
</el-col>
</el-row>
<el-form-item v-show="form.reviewResults === '2' || form.reviewResults === '3'" label="复审理由" prop="reviewResultsContent" style="margin-left: 0;margin-bottom:0;" class="add-form-item form-item-disabled">
<el-input
:disabled="disabledState"
type="textarea"
:rows="3"
resize="none"
placeholder="请输入复审理由"
v-model="form.reviewResultsContent">
</el-input>
</el-form-item>
</div>
<el-drawer
ref="standard"
size="500px"
:title="showDrawerTitle"
:visible.sync="showDrawer"
:before-close="showDrawerClose">
<div class="demo-drawer-content">
<div class="content">
<div class="standard-table-search">
<el-row :gutter="24">
<el-col :span="24">
<el-form :model="showForm" inline class="label-input-form" label-width="220px" ref="showForm">
<el-form-item label="复审结果" prop="reviewResults" style="margin-left: 0;margin-bottom:0;" class="add-form-item form-item-disabled">
<el-select v-model="showForm.reviewResults" filterable clearable :disabled="disabledState">
<el-option
v-for="item in opinionsReviewResultsOptions"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="复审人" prop="reviewUserName" style="margin-left: 0;margin-bottom:0;" class="add-form-item form-item-disabled">
<el-input
v-model="showForm.reviewUserName" :disabled="disabledState"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="verifySort2() !== '' && !verifySort2()" label="初稿完成日期" prop="draftTime" class="add-form-item form-item-disabled">
<el-datePicker v-model="showForm.draftTime" :disabled="disabledState"
:editable="false"
placeholder="请选择初稿完成日期"
value-format="yyyy-MM-dd"
></el-datePicker>
</el-form-item>
<el-form-item v-if="verifySort2() !== '' && !verifySort2()" label="计划标准发布日期" prop="releaseTime" class="add-form-item form-item-disabled">
<el-datePicker v-model="showForm.releaseTime" :disabled="disabledState"
:editable="false"
placeholder="请选择计划标准发布日期"
value-format="yyyy-MM-dd"
></el-datePicker>
</el-form-item>
<el-form-item v-if="showForm.reviewResults === '1'" :disabled="disabledState" label="复审单" prop="FSDName" class="add-form-item form-item-disabled">
<div v-if="showForm.FSDList.length > 0" v-for="(item,index) in showForm.FSDList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreviewNew(item,'preview','fs')" :title="item.name">{{ item.name | ellipsis15 }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreviewNew(item,'down','fs')"></el-button>
</span>
</div>
</el-form-item>
<el-form-item v-show="showForm.reviewResults === '2' || showForm.reviewResults === '3'" label="复审理由" prop="reviewResultsContent" style="margin-left: 0;margin-bottom:0;" class="add-form-item form-item-disabled">
<el-input
:disabled="disabledState"
type="textarea"
:rows="3"
resize="none"
placeholder="请输入复审理由"
v-model="showForm.reviewResultsContent">
</el-input>
</el-form-item>
</el-form>
</el-col>
</el-row>
</div>
</div>
</div>
</el-drawer>
</form>
</template>
<script>
import { mapGetters } from 'vuex'
import ProcessTitle from '../../../components/ProcessTitle'
export default {
name: 'formList',
components: {
ProcessTitle,
},
props: {
formSub: {
type: Object,
required: true
},
FBGBUSSFileList: {
type: Array,
required: true
},
LSBBBUSSFileList: {
type: Array,
required: true
},
BZSMBUSSFileList: {
type: Array,
required: true
},
QTWJBUSSFileList: {
type: Array,
required: true
},
GLWJBUSSFileList: {
type: Array,
required: true
},
LXDListSub: {
type: Array,
required: true
},
FSDListSub: {
type: Array,
required: true
},
summaryFileList: {
type: Array,
required: false
},
disabledState: {
type: Boolean,
default: false
},
verifySarStandard: {
type: Boolean,
default: false
},
opinionsShow2: {
type: Boolean,
default: false
},
opinionsShow: {
type: Boolean,
default: false
},
fileShow: {
type: Boolean,
default: false
},
},
filters: {
ellipsis35 (value) {
if (!value) return ''
if (value.length > 35) {
return value.slice(0,35) + '...'
}
return value
},
ellipsis15 (value) {
if (!value) return ''
if (value.length > 10) {
return value.slice(0,10) + '...'
}
return value
},
ellipsis2 (value) {
if (!value) return ''
if (value.length > 20) {
return value.slice(0,20) + '...'
}
return value
}
},
data () {
return {
opinionsAdoptedOptions:[
{value: '1',label: '采纳'},
{value: '2',label: '部分采纳'},
{value: '3',label: '不采纳'},
],
opinionsReviewResultsOptions:[
{value: '1',label: '修订'},
{value: '2',label: '废止'},
{value: '3',label: '继续有效'},
],
showForm:{},
showDrawerTitle:"",
showDrawer:false,
form:{},
LXDList:[],
FSDList:[],
countryOptions:[],//国家地区
standSortOptions: [], // 标准类别
standNatureOptions: [], // 标准性质
standStateOptions: [], // 文本状态
standSystemOptions: [], // 标准体系
busVppsOptions: [], // 车系体系架构
busVppsChildOptions: [], // 车系体系架构子集合
modelOptions: [], // 模块体系架构
modelChildOptions: [], // 模块体系架构子集合
applyArcticOptions: [], // 适用车型
gkglbmOptions: [], // 归口管理部门
categoryOptions: [], // 能源类型
applyAuthOptions: [], // 适用认证
cysdOptions: [], // 我司参与深度
cbcdOptions: [], // 采标程度
wssmrOptions: [], // 我司署名人
sycpxOptions: [], // 适用产品线
zrbmOptions: [], // 责任部门
zrgcsOptions: [], // 责任工程师
qcdwOption: [], // 起草单位
txlbOptions: [], // 体系类别
standSortConfigOptions: [], // 标准类别下拉框
adoptExtentOptions: [], // 采标程度下拉框
emergyKindOptions: [], // 能源种类下拉框
categoryConfigOptions: [], // 所属类别下拉框
assemClassOptions: [], // 总成分类下拉框
qcdwOptions:[],//起草单位下拉框
qcrOptions:[],//起草人下拉框
nylxOptions:[],//能源类型下拉框
syrzOptions:[],//适用认证下拉框
data: [], // 标准列表数据
ListForm: {}, // 新增数据
}
},
computed: {
...mapGetters(['userInfo'])
},
methods: {
assemble(ids,names){
let list= new Array();
if(ids && ids !== '' && names && names !== ''){
let idArray=ids.split(',');
let nameArray=names.split(',');
for(let i=0; i<idArray.length; i++){
list.push({id:idArray[i],name:nameArray[i]});
}
}
return list;
},
detail(row){
this.showDrawerTitle = '查看'
this.showDrawer = true
this.showForm = row
this.showForm.FSDList=this.assemble(this.showForm.FSD,this.showForm.FSDName);
console.log(this.showForm)
},
showDrawerClose () {
this.showDrawer = false
},
verifySort2(){
if(this.showForm.reviewResults && this.showForm.reviewResults === '1'){
return !!(this.form.standSort && this.form.standSort.indexOf("Q/QCBFC") !== -1);
}else {
return ""
}
},
verifySort(){
if(this.form.reviewResults && this.form.reviewResults === '1'){
return !!(this.form.standSort && this.form.standSort.indexOf("Q/QCBFC") !== -1);
}else {
return ""
}
},
choiceZRRList (type, title, id) {
this.$emit('formChoiceZRRListCancel',type,title,id)
},
filterReviewResults(data){
if(!data){
return ""
}
const map = new Map();
map.set("1","修订");
map.set("2","废止");
map.set("3","继续有效");
return map.get(data)
},
filterOp(data){
if(!data){
return ""
}
const map = new Map();
map.set("1","采纳");
map.set("2","部分采纳");
map.set("3","不采纳");
return map.get(data)
},
// 文件预览及下载
handleFilePreviewNew(file,type,onlineType) {
let id = ""
let fileName = ""
let fileNam2 = ""
if(onlineType === 'lx'){
if(this.form.standName && this.form.standName !== ''){
fileName = this.form.standName+'-立项单.docx'
fileNam2 = this.form.standName+'-立项单'
}else {
fileName = '立项单.docx'
fileNam2 = '立项单'
}
}else if(onlineType === 'fs'){
if(this.form.standName && this.form.standName !== ''){
fileName = this.form.standName+'-复审单.docx'
fileNam2 = this.form.standName+'-复审单'
}else {
fileName = '复审单.docx'
fileNam2 = '复审单'
}
}
if(file && file.id){
id = file.id
}else {
if(onlineType === 'fs'){
id = file.FSD
}else if(onlineType === 'lx'){
id = file.LXD
}
}
if (type === 'down') {
if (id) {
window.open('/api/lawss/activiti/downloadFileForSar?fileId=' + id +'&oldFileName='+fileName)
} else {
this.$message.warning('文件不存在,下载失败')
}
} else if(type === 'preview'){
this.$onlineEditPreview(id,fileNam2,this.$store.getters.userInfo.userId,this.$store.getters.userInfo.userName)
}else {
this.$onlineEdit(id,fileNam2,this.$store.getters.userInfo.userId,this.$store.getters.userInfo.userName)
}
},
// 文件预览及下载
handleFilePreview(file,type) {
let attId = ""
if(file && file.id){
attId = file.id
}else {
attId = file.response.data.id
}
if (type === 'down') {
if (attId) {
window.open('/api/att/attFile/downloadFileForSar?fileId=' + attId)
} else {
this.$message.warning('文件不存在,下载失败')
}
} else {
this.$preview(attId)
}
},
downloadFile (data) {
//文件id中出现了','字符,去除掉
window.open('/api/att/attFile/downloadFileForSar?fileId=' + data.id)
},
setMap(data){
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label)
})
},
busVsFunc(){
this.$http.get('sarVppsTree/list', '', {
_this: this
}, res => {
this.busVppsOptions = []
this.busVppsOptions = res.data
})
},
modelFunc(){
this.$http.get('sarModelTree/list', '', {
_this: this
}, res => {
this.modelOptions = []
this.modelOptions = res.data
})
},
},
mounted () {
this.form = this.formSub
this.LXDList = this.LXDListSub
this.FSDList = this.FSDListSub
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
this.countryOptions = res.data.COUNTRY
this.applyCountryOptions = res.data.COUNTRY
this.regionOptions = res.data.REGION // 区域
this.standStateOptions = res.data.BUSSSTATE
this.energyKindOptions = res.data.ENERGYTYPES
this.standGeneraOptions = res.data.BUSSBIGCLASS
this.standSubclassOptions = res.data.BUSSFINECLASS
this.standSortOptions = res.data.BUSSSTANDCLASS // 标准类别
this.standNatureOptions = res.data.SARPROPERTY // 标准性质
this.standStateOptions = res.data.TEXTSTATUSBUSS // 文本状态
this.standSystemOptions = res.data.TXLBBUSS // 标准体系
this.applyArcticOptions = res.data.ENERGYTYPES // 适用车型
this.categoryOptions = res.data.NYLXCLASS // 能源类型
this.applyAuthOptions = res.data.SYRZCLASS // 适用认证
this.cysdOptions = res.data.WSCYSD // 我司参与深度
this.zrgcsOptions = res.data.ZRGCSCLASS // 责任工程师
this.txlbOptions = res.data.TXLBCLASS // 体系类别
this.qcdwOptions = res.data.QCDW // 起草单位
this.qcrOptions = res.data.QCRBUSS // 起草人
this.nylxOptions = res.data.NYLXCLASS // 能源类型
this.syrzOptions = res.data.SYRZCLASS // 适用认证
this.sycpxOptions = res.data.SYCPXCLASS // 适用产品线
this.zrgcsOptions = res.data.ZRGCSCLASS // 责任工程师
this.zrbmOptions = res.data.ZRBMCLASS // 责任部门
this.gkglbmOptions=res.data.GKGLBM;//归口管理部门
this.cbcdOptions=res.data.DEGREESTANDARD;//采标程度
this.setMap(this.standStateOptions)
})
this.busVsFunc()
this.modelFunc()
},
watch: {
form: {
handler: function (val) {
if(val){
this.$emit('formCancel', this.form, this.FBGBUSSFileList,this.LSBBBUSSFileList,this.BZSMBUSSFileList,this.QTWJBUSSFileList,this.GLWJBUSSFileList,this.FSDList,this.LXDList);
}
},
deep: true //对象的深度验证
},
}
}
</script>
<style scoped>
</style>
@@ -1,458 +0,0 @@
<!--企标复审-->
<template>
<div class="phoneQbfsStep2 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">企标复审流程</template>
<template slot="proNode">工作组组长指派责任人</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form
ref="qbfsForm"
:model="qbfsForm"
:rules="formRules"
class="label-input-form prc-content-border"
label-width="150px"
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="企标编号" prop="entNumber" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.entNumber"
placeholder="请输入企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="中文名称" prop="cnName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.cnName"
placeholder="请输入中文名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="英文名称" prop="enName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.enName"
placeholder="请输入英文名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="企标类别" prop="entCategory" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.entCategory"
placeholder="请输入企标类别"
clearable
></el-input>
</el-form-item>
<el-form-item label="代替企标编号" prop="replaceNumber" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.replaceNumber"
placeholder="请输入代替企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="被代替企标编号" prop="replacedNumber" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.replacedNumber"
placeholder="请输入被代替企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="发布日期" prop="releaseDate" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.releaseDate"
placeholder="请输入发布日期"
clearable
></el-input>
</el-form-item>
<el-form-item label="实施日期" prop="implementDate" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.implementDate"
placeholder="请输入实施日期"
clearable
></el-input>
</el-form-item>
<el-form-item label="复审日期" prop="reviewDate" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.reviewDate"
placeholder="请输入复审日期"
clearable
></el-input>
</el-form-item>
<el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled">
<div class="file-box" v-if="fileList.length > 0">
<p v-for="item in fileList"
:key="item.id"> {{ item.oldFileName }}
<i
title="下载"
@click="downloadFile(item.id)"
class="icon-download"
v-btn-permission="''"
/>
<i
title="下载带水印"
@click="downloadFileByWater(item.id, item.name)"
class="icon-download2"
v-btn-permission="''"
/>
</p>
</div>
<div v-else>
暂无数据
</div>
</el-form-item>
<el-form-item label="工作组成员" prop="jgUser" class="add-form-item form-item-disabled">
<el-input
v-model="qbfsForm.jgUser"
placeholder="请选择工作组成员"
clearable
@click.native="choiceZRRS"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-show="active === '3'">
<Phone-histort-table :prc-num="$route.query.prcNum"></Phone-histort-table>
</div>
<ProcessFooter
show-transfer
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@transfer="handleTransfer"
@submit="handleSubmit"
>
</ProcessFooter>
<phone-role
:role-title="drawerTitle"
:result-list="phoneRoleList"
:is-show-phone.sync="phoneshowflag"
@checkedRole="drawerCheck"
/>
<!-- &lt;!&ndash; 选择责任人&ndash;&gt;-->
<!-- <Role-tree-->
<!-- :is-title="drawerTitle"-->
<!-- :is-visible.sync="modalshowflag"-->
<!-- @checkedRole="checkedRole"-->
<!-- :nodeList="nodeList2"-->
<!-- ></Role-tree>-->
<phone-role
check-more
role-title="选择工作组成员"
:result-list="nodeList"
:is-show-phone.sync="drawerModal"
@checkedRole="checkedRole"
/>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { changeAssigneeNew, inboundLiaisonDetail, saveTaskFirst } from "api/process";
export default {
name: "phoneQbfsStep2",
components:{
ProcessFooter,
ProcessTitle,
ProcessHeaderPhone
},
data() {
return {
phoneshowflag: false,
phoneRoleList: [],
phoneDrawerTitle: '',
active: '1',
fileList: [],
commentText: '',
detailData: [],
nodeList: [],
nodeList2: [],
isSubmit: false,
saveLoading: false,
isTransfer: false,
// 调整处理人抽屉状态
drawerModal: false,
drawerTitle: "", //drawer标题
modalshowflag: false, // drawer开关
loading: false,
qbfsForm:{
entNumber: '',
cnName: '',
enName: '',
entCategory: '',
replaceNumber: '',
replacedNumber: '',
releaseDate: '',
implementDate: '',
reviewDate: '',
jgUser: '',
jgUserId: '',
},
roleForm: {
jgUser: ""
},
formRules: {
jgUser: [
{required: true, message: "请选择工作组成员", trigger: "change"}
],
},
}
},
mounted() {
this.processTable()
this.getData()
},
methods:{
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res
}, e => {
})
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
this.$nextTick(() => {
this.qbfsForm = JSON.parse(JSON.stringify(item))
this.fileList = item.fileList
})
},
handleTabs(name) {
this.active = name;
},
//流程提交
handleSubmit(){
this.isSubmit = true
this.qbfsForm.commentText = this.commentText
let json = JSON.stringify(this.qbfsForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
this.isSubmit = false
}, e => {
});
},
//转办按钮
handleTransfer(){
this.phoneshowflag = true
this.phoneRoleList = this.roleTransfer
this.phoneDrawerTitle = '转办处理人'
},
//确认转办
drawerCheck (data) {
this.roleTransfer = data
this.phoneRoleList = this.roleTransfer
this.turnLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
assignee: data[0].id, // 被委托人
userId: this.$store.getters.userInfo.userId, // 委托人
pId: this.$route.query.prcId // 流程实例
}).then(res =>{
if (res.success) {
this.turnLoading = false
this.$message.success('调整成功')
this.$router.push("/processCenter")
} else {
this.$message.warning(res.message)
}
})
this.modalshowflag = false
},
// 请求转换流程图
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
choiceZRRS() {
if (this.qbfsForm.jgUserId) {
this.phoneRoleList = this.listForm.jgUserId.split(',')
}
this.drawerModal = true;
},
checkedRole(data) {
let idList = "";
let nameList = "";
data.forEach(item => {
if (nameList.length) {
nameList += ",";
idList += ",";
}
idList += item.id;
nameList += item.name;
});
this.$set(this.qbfsForm, 'jgUser', nameList)
this.$set(this.qbfsForm, 'jgUserId', idList)
if(this.qbfsForm.jgUser){
this.$refs.qbfsForm.validateField('jgUser')
}
},
/**
* @Description: 点击下载
*/
downloadFile(attId) {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
},
downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1);
if (fileExtension !== "pdf" && fileExtension !== "PDF") {
this.$message.error("水印下载仅支持PDF,pdf格式文件");
} else {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
}
},
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneQbfsStep2 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
//.headerTabs {
// height: 52px;
// display: flex;
// align-items: center;
// position: absolute;
// top: 52px;
// right: 10px;
// .headerTabsItem {
// border: 1px solid #c1c1c1;
// padding: 0 5px;
// height: 30px;
// line-height: 30px;
// cursor: pointer;
// }
// .active {
// border: 1px solid #E6A23C;
// color: #fff;
// background: #E6A23C;
// }
//}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
//height: calc(~'100% - 180px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -1,482 +0,0 @@
<!-- 企标复审-->
<template>
<div class="phoneQbfsStep4 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">企标复审流程</template>
<template slot="proNode">工作组组长审批</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : '' " @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="overflow: auto">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag">
<el-form
ref="qbfsForm"
:model="qbfsForm"
:rules="formRules"
class="label-input-form"
label-width="150px"
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="企标编号" prop="entNumber" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.entNumber"
placeholder="请输入企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="中文名称" prop="cnName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.cnName"
placeholder="请输入中文名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="英文名称" prop="enName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.enName"
placeholder="请输入英文名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="企标类别" prop="entCategory" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.entCategory"
placeholder="请输入企标类别"
clearable
></el-input>
</el-form-item>
<el-form-item label="代替企标编号" prop="replaceNumber" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.replaceNumber"
placeholder="请输入代替企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="下一步状态" prop="nextStatus" class="add-form-item ">
<el-select v-model="qbfsForm.nextStatus" placeholder="请选择下一步状态">
<el-option
v-for="item in associationOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="被代替企标编号" prop="replacedNumber" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.replacedNumber"
placeholder="请输入被代替企标编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="发布日期" prop="releaseDate" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.releaseDate"
placeholder="请输入发布日期"
clearable
></el-input>
</el-form-item>
<el-form-item label="实施日期" prop="implementDate" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.implementDate"
placeholder="请输入实施日期"
clearable
></el-input>
</el-form-item>
<el-form-item label="复审日期" prop="reviewDate" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.reviewDate"
placeholder="请输入复审日期"
clearable
></el-input>
</el-form-item>
<el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled">
<div class="file-box" v-if="fileList.length > 0">
<p v-for="item in fileList"
:key="item.id"> {{ item.oldFileName }}
<i
title="下载"
@click="downloadFile(item.id)"
class="icon-download"
v-btn-permission="''"
/>
<i
title="下载带水印"
@click="downloadFileByWater(item.id, item.name)"
class="icon-download2"
v-btn-permission="''"
/>
</p>
</div>
<div v-else>
暂无数据
</div>
</el-form-item>
<el-form-item class="add-form-item ">
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</el-collapse-transition>
<el-button style="width: 100%" :icon=" foldFormFlag ? 'el-icon-caret-top': 'el-icon-caret-bottom'" @click="foldForm">{{ foldFormFlag ? '隐藏基础信息' : '展开基础信息' }}</el-button>
<ProcessTitle>
<template slot="title">审核信息</template>
</ProcessTitle>
<el-table
:data="dataList"
border
height="100%"
style="width: 100%;"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="opinion"
align="center"
label="审核意见">
</el-table-column>
<el-table-column
prop="people"
align="center"
label="审核人">
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '3'">
<Phone-histort-table :prc-num="$route.query.prcNum"></Phone-histort-table>
</div>
<ProcessFooter
show-transfer
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@transfer="handleTransfer"
@submit="handleSubmit"
>
</ProcessFooter>
<phone-role
:role-title="drawerTitle"
:result-list="phoneRoleList"
:is-show-phone.sync="phoneshowflag"
@checkedRole="drawerCheck"
/>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessHeader from "../../components/ProcessHeader";
import ProcessTitle from "process/components/ProcessTitle";
import ProcessFooter from "process/components/ProcessFooter";
import { changeAssigneeNew,inboundLiaisonDetail } from "api/process";
export default {
name: "phoneQbfsStep4",
components: {
ProcessHeader,
ProcessTitle,
ProcessHeaderPhone,
ProcessFooter
},
data() {
return {
phoneshowflag: false,
phoneRoleList: [],
phoneDrawerTitle: '',
active: "1",
isTransfer: false,
isSubmit: false,
saveLoading: false,
drawerModal: false,
drawerTitle: "",
nodeList: [],
fileList: [],
commentText: "",
dataList: [],
detailData: [],
loading: false,
foldFormFlag: true,
qbfsForm: {
entNumber: "",
cnName: "",
enName: "",
entCategory: "",
replaceNumber: "",
replacedNumber: "",
releaseDate: "",
implementDate: "",
reviewDate: "",
nextStatus: ""
},
formRules: {
nextStatus: [
{ required: true, message: "请选择下一步状态", trigger: "change" }
]
},
associationOptions: [{
value: "修订",
label: "修订"
}, {
value: "废止",
label: "废止"
}, {
value: "有效",
label: "有效"
}]
};
},
mounted() {
this.getData();
},
methods: {
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg);
this.getFormFieldList(processForm);
}
}).catch(e => {
});
});
},
/**
* @description: 动态表单读取
*/
getFormFieldList(item) {
this.$nextTick(() => {
this.qbfsForm = JSON.parse(JSON.stringify(item));
this.fileList = item.fileList
let res = item.res ? item.res.substring(1, item.res.lastIndexOf("]")) : "";
res = res.split(",");
this.dataList = [];
res.forEach(item => {
this.dataList.push({
opinion: item.split("-")[1],
people: item.split("-")[0]
});
});
let list = [];
this.dataList.forEach(item => {
list.push(item.opinion);
this.findMost(list);
});
});
},
findMost(arr) {
if (!arr.length) return;
if (arr.length === 1) return 1;
let res = {};
let maxName, maxNum = 0;
// 遍历数组
arr.forEach((item) => {
res[item] ? res[item] += 1 : res[item] = 1;
if (res[item] > maxNum) {
maxName = item;
maxNum = res[item];
}
});
this.qbfsForm.nextStatus = maxName
// return "出现次数最多的元素为:" + maxName + ", 出现次数为:" + maxNum;
},
//流程提交
handleSubmit() {
this.isSubmit = true;
this.qbfsForm.commentText = this.commentText;
this.qbfsForm.dataList = this.dataList;
let json = JSON.stringify(this.qbfsForm);
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message);
this.$router.push("/processCenter");
}
this.isSubmit = false;
}, e => {
});
},
handleTabs(name) {
this.active = name;
},
foldForm() {
this.foldFormFlag = !this.foldFormFlag;
},
//转办按钮
handleTransfer(){
this.phoneshowflag = true
this.phoneRoleList = this.roleTransfer
this.phoneDrawerTitle = '转办处理人'
},
//确认转办
drawerCheck (data) {
this.roleTransfer = data
this.phoneRoleList = this.roleTransfer
this.turnLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
assignee: data[0].id, // 被委托人
userId: this.$store.getters.userInfo.userId, // 委托人
pId: this.$route.query.prcId // 流程实例
}).then(res =>{
if (res.success) {
this.turnLoading = false
this.$message.success('调整成功')
this.$router.push("/processCenter")
} else {
this.$message.warning(res.message)
}
})
this.modalshowflag = false
},
// 请求转换流程图
processNum(row) {
axios.request({
url: "/api/lawss/activiti/getImg?_t=" + new Date().getTime(),
responseType: "blob",
method: "get",
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data);
});
},
/**
* @Description: 点击下载
*/
downloadFile(attId) {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
},
downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1);
if (fileExtension !== "pdf" && fileExtension !== "PDF") {
this.$message.error("水印下载仅支持PDF,pdf格式文件");
} else {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
}
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneQbfsStep4 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
//.headerTabs {
// height: 52px;
// display: flex;
// align-items: center;
// position: absolute;
// top: 52px;
// right: 10px;
// .headerTabsItem {
// border: 1px solid #c1c1c1;
// padding: 0 5px;
// height: 30px;
// line-height: 30px;
// cursor: pointer;
// }
// .active {
// border: 1px solid #E6A23C;
// color: #fff;
// background: #E6A23C;
// }
//}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
//height: calc(~'100% - 180px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,844 @@
<template>
<div class="bzrkStep2 phoneBox">
<!-- 企标制修订-技术标准流程-->
<ProcessHeaderPhone toggle>
<template slot="proName">企标复审流程</template>
<template slot="proNode">批准</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-if="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="qbfsForm"
:model="qbfsForm"
:rules="formRules"
style="border: none"
class="label-input-form"
label-width="150px"
>
<div style="flex: auto; overflow: auto" v-show="active === '1'">
<formList
:key = "formKey"
:formSub = "qbfsForm"
:FBGBUSSFileList = "FBGBUSSFileList"
:LSBBBUSSFileList = "LSBBBUSSFileList"
:BZSMBUSSFileList = "BZSMBUSSFileList"
:QTWJBUSSFileList = "QTWJBUSSFileList"
:GLWJBUSSFileList = "GLWJBUSSFileList"
:LXDListSub = "LXDList === undefined ? [] : LXDList"
:FSDListSub = "FSDList === undefined ? [] : FSDList"
:disabledState = "disabledState"
:opinionsShow2 = "true"
:verifySarStandard = "verifySarStandard"
@formCancel="formCancel"
@formChoiceZRRListCancel = "formChoiceZRRListCancel"
></formList>
<div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div style="padding-top: 20px;" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD HH:mm:ss") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
</el-form>
</div>
</div>
<div class="content" v-if="active === '3'" >
<div class="flow-list" style="height: 100%">
<Phone-histort-table :prc-num="$route.query.prcNum"></Phone-histort-table>
</div>
</div>
<!-- 提交-->
<ProcessFooter
:show-save="false"
show-over2
show-submit2
show-transfer
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@transfer="handleTransfer"
@submit2="handle2"
@over2="handle1"
>
</ProcessFooter>
<!-- 福田全公司选人解决方案 -->
<phone-role
check-more
role-title="请选择转办成员"
:result-list="nodeList"
:is-show-phone.sync="drawerModal"
@checkedRole="checkedRole"
/>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import formList from "process/phone/qbfs/common/formListStep5";
import {
inboundLiaisonDetail,
processCreateStand,
changeAssigneeNew,
queryTaskFirst,
getBusStandFileByAttId, saveTaskFirst, processEditFile, processCreateFsBuss, taskDel
} from "api/process";
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import CusTomDataPickerGroup
from "@/pages/regulatoryRepository/localProductsOrProjectLibrary/components/DatePickerGroup";
import Vue from 'vue';
import { Form } from 'vant';
import { Field } from 'vant';
import { getEvaluationIndex } from "api/businessApi";
Vue.use(Form);
Vue.use(Field);
export default {
name: "phoneBussFs3",
components: {
CusTomDataPickerGroup,
ProcessHeaderPhone,
formList,
ProcessFooter,
ProcessTitle,
TreeSelect
},
data() {
const validateLxOnlineFile = async (rule, value, callback) => {
if(this.qbfsForm.LXD){
let fileObj = await this.processEditFile(this.qbfsForm.LXD)
if (fileObj) {
const editFileInfo = fileObj
if (editFileInfo && editFileInfo.editStatus === '1') {
callback()
} else {
callback(new Error('请先在线编辑,再提交流程!'))
}
}
}
};
const validateFsOnlineFile = async (rule, value, callback) => {
if(this.qbfsForm.FSD){
let fileObj = await this.processEditFile(this.qbfsForm.FSD)
if (fileObj) {
const editFileInfo = fileObj
console.log(editFileInfo)
if (editFileInfo && editFileInfo.editStatus === '1') {
callback()
} else {
callback(new Error('请先在线编辑,再提交流程!'))
}
}
}
};
return {
dataLoading:true,
bpnId: '',
formKey:1,
active: '1',
modalShowRoleFlag:false,
disabledState:true,
verifySarStandard:true,
FBGBUSSFileList: [],
BZSMBUSSFileList: [],
LSBBBUSSFileList: [],
QTWJBUSSFileList: [],
GLWJBUSSFileList: [],
LXDList: [],
FSDList: [],
fileList: [],
commentText: '',
approvalOpinion: '',
detailData: [],
nodeList: [],
nodeList2: [],
isSubmit: false,
saveLoading: false,
isTransfer: false,
// 调整处理人抽屉状态
drawerModal: false,
drawerTitle: "", //drawer标题
modalshowflag: false, // drawer开关
loading: false,
qbfsForm:{
entNumber: '',
cnName: '',
enName: '',
entCategory: '',
replaceNumber: '',
replacedNumber: '',
releaseDate: '',
implementDate: '',
reviewDate: '',
jgUser: '',
jgUserId: '',
bussFsSubUser2:'',
bussFsSubUser2Name:'',
},
formBuss: {
selListRep2:[],
id:'',
standNum:'',
standStatus:'', // 标准状态
planId:'',
planStatus:'',
reviseStatus:'',
standSn:'',
modelData:[],
modelDataNameVerify:[],
modelDataZrUserVerify:[],
BARQ: '',
XGD: '',
XGDName: '',
// 基础信息
country:[],
// 基础信息
standSort: '',
standCode: '',
standYear: '',
standName: '',
standEnName: '',
textStatusBuss: '',
issueTime: '',
expirationDate: '',
putTime: '',
FZRQBUSS: '',
FSRQBUSS: '',
// 过程稿件
FBGBUSS: '',
FBGBUSSName: '',
BZSMBUSS: '',
BZSMBUSSName: '',
LSBBBUSS: '',
LSBBBUSSName: '',
QTWJBUSS: '',
QTWJBUSSName: '',
// 适用范围
QCDW: '',
QCDWID: '',
QCRBUSS: '',
QCRBUSSID: '',
WJSCRYBUSS: this.$store.getters.userInfo.userId,
WJSCRYBUSSName: this.$store.getters.userInfo.userName,
SYCXCLASS: '',
NYLXCLASS: '',
SYCPXCLASS: '',
TXLBBUSS: '',
VPPSBMBUSS: '',
VPPSCNBUSS: '',
KCVPPSBMBUSS: '',
KCVPPSCNBUSS: '',
CYCVPPSBMBUSS: '',
CYCVPPSCNBUSS: '',
DYBXHBUSS: '',
DYMCBUSS: '',
// 关联信息
DTQBBHBUSS: '',
BDTQBBHBUSS: '',
XGJLBUSS: '',
XGLC: '',
GLWJBUSS: '',
GLWJBUSSName: '',
XCSJBUSS: '',
}, // 标准信息
roleForm:{
bussUser3: '',
bussUser3Name: '',
bussUser6: '',
bussUser6Name: '',
bussUser2: '', // 多实例
bussUser2Name:'', // 多实例
bussUser5:'', // 多实例
bussUser5Name:'', // 多实例
bussUser4:'',
bussUser4Name:'',
bussUser7:'',
bussUser7Name:'',
bussUser8:'',
bussUser8Name:'',
bussUser9:'',
bussUser9Name:'',
bussUser10:'',
bussUser10Name:'',
bussUser11:'',
bussUser11Name:'',
bussUser12:'',
bussUser12Name:'',
bussUser13:'',
bussUser13Name:'',
bussUser14:'',
bussUser14Name:'',
applyUpdUserId: '',
applyUpdUserName: '',
prcCreateUser: '',
prcCreateUserName: '',
},
formRules: {
commentText: [{ required: true, message: '请输入意见', trigger: 'blur' }],
approvalOpinion: [{ required: true, message: '请选择审批意见', trigger: 'change' }],
},
}
},
mounted() {
this.bpnId = this.$route.query.bpnId
if (this.bpnId !== undefined) {
this.getDataS()
}
this.processTable()
this.getData()
},
watch:{
'qbfsForm.reviewResults': {
handler (val) {
if (val !== '' && val !== null && typeof (val) !== 'undefined') {
if(val === '1'){
if (this.bpnId === undefined) {
}
}
}
}
},
},
methods:{
async getFile(){
},
getSaveFile(model) {
return new Promise((resolve, reject) => {
this.$http.get('/lawss/activiti/saveEditFile', {
model: model
}, {
_this: this
}, res => {
const history = res;
resolve(history)
})
})
},
checkedRole2 (data) {
let idList = ''
let nameList = ''
data.forEach( item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
})
if(this.userType === 'QCRBUSS'){
this.qbfsForm.QCRBUSSID=idList;
this.qbfsForm.QCRBUSS=nameList;
this.formKey++
}
if(data !== undefined && data && data.length > 0){
const institutionIdList = this.unique(data.map(item => item.institutionId)).join(",")
const institutionNameList = this.unique(data.map(item => item.institutionName)).join(",")
this.qbfsForm.QCDWID = institutionIdList
this.qbfsForm.QCDW = institutionNameList
}
this.modalShowRoleFlag = false
},
unique(newArr) {
const res = new Map();
return newArr.filter((newArr) => !res.has(newArr) && res.set(newArr, 1));
},
choiceZRRList (type, title, id) {
this.nodeList2 = []
if(type === 'QCRBUSS'){
if ( this.qbfsForm.QCRBUSSID != undefined && this.qbfsForm.QCRBUSSID.length > 0) {
this.nodeList2 = this.qbfsForm.QCRBUSSID.split(',')
}
}
this.userType = type
this.drawerTitle = title
this.modalShowRoleFlag = true
},
formChoiceZRRListCancel(type, title, id){
this.choiceZRRList(type, title, id)
},
formCancel (form, list1,list2,list3,list4,list5,list6,list7) {
this.qbfsForm = form
this.FBGBUSSFileList = list1
this.LSBBBUSSFileList = list2
this.BZSMBUSSFileList = list3
this.QTWJBUSSFileList = list4
this.GLWJBUSSFileList = list5
this.LXDList = list6
this.FSDList = list7
},
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res
}, e => {
})
},
assemble(ids,names){
let list= new Array();
if(ids && ids !== '' && names && names !== ''){
let idArray=ids.split(',');
let nameArray=names.split(',');
for(let i=0; i<idArray.length; i++){
list.push({id:idArray[i],name:nameArray[i]});
}
}
return list;
},
getStandInfoUpdateById(standId) {
return new Promise((resolve, reject) => {
this.$http.get('lawss/sarBussionessStand/getStandInfoUpdateById', {id: standId}, {
_this: this
}, res => {
if(res && res.data){
const history = res;
resolve(history)
}
})
})
},
getDataS(){
queryTaskFirst({
bpnId: this.$route.query.bpnId
}).then(res => {
let mes = JSON.parse(res.mes)
this.qbfsForm = mes.qbfsForm
this.qbfsForm.WJSCRYBUSS= this.$store.getters.userInfo.userId
this.qbfsForm.WJSCRYBUSSName= this.$store.getters.userInfo.userName
this.qbfsForm['id'] = bringData.id
this.FBGBUSSFileList=this.assemble(this.qbfsForm.FBGBUSS,this.qbfsForm.FBGBUSSName);
this.BZSMBUSSFileList=this.assemble(this.qbfsForm.BZSMBUSS,this.qbfsForm.BZSMBUSSName);
this.LSBBBUSSFileList=this.assemble(this.qbfsForm.LSBBBUSS,this.qbfsForm.LSBBBUSSName);
this.QTWJBUSSFileList=this.assemble(this.qbfsForm.QTWJBUSS,this.qbfsForm.QTWJBUSSName);
this.GLWJBUSSFileList=this.assemble(this.qbfsForm.GLWJBUSS,this.qbfsForm.GLWJBUSSName);
this.LXDList=this.assemble(this.qbfsForm.LXD,this.qbfsForm.LXDName);
this.FSDList=this.assemble(this.qbfsForm.FSD,this.qbfsForm.FSDName);
this.standardDrawer = false
this.verifySarStandard = true
this.commentText = mes.commentText
this.formKey++
this.$forceUpdate()
});
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
async getFormFieldList (item) {
let standObj = await this.getStandInfoUpdateById(item.standId)
this.$nextTick(() => {
const bringData = standObj.data
const json = Object.assign(bringData, bringData.attrInfoMap,item);
this.qbfsForm = JSON.parse(JSON.stringify(json))
this.qbfsForm.WJSCRYBUSS= this.$store.getters.userInfo.userId
this.qbfsForm.WJSCRYBUSSName= this.$store.getters.userInfo.userName
this.qbfsForm['id'] = bringData.id
this.FBGBUSSFileList=this.assemble(this.qbfsForm.FBGBUSS,this.qbfsForm.FBGBUSSName);
this.BZSMBUSSFileList=this.assemble(this.qbfsForm.BZSMBUSS,this.qbfsForm.BZSMBUSSName);
this.LSBBBUSSFileList=this.assemble(this.qbfsForm.LSBBBUSS,this.qbfsForm.LSBBBUSSName);
this.QTWJBUSSFileList=this.assemble(this.qbfsForm.QTWJBUSS,this.qbfsForm.QTWJBUSSName);
this.GLWJBUSSFileList=this.assemble(this.qbfsForm.GLWJBUSS,this.qbfsForm.GLWJBUSSName);
this.FSDList=this.assemble(this.qbfsForm.FSD,this.qbfsForm.FSDName);
this.LXDList=this.assemble(this.qbfsForm.LXD,this.qbfsForm.LXDName);
this.standardDrawer = false
this.verifySarStandard = true
this.formKey++
this.$forceUpdate()
this.dataLoading = false
})
},
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', 'buss3')
_formData.append('json', JSON.stringify({
qbfsForm: this.qbfsForm,
commentText: this.commentText
}))
saveTaskFirst(_formData).then(res => {
this.saveLoading = false
this.$message.success('保存成功')
this.bpnId = res.result
}).catch(e => {
this.saveLoading = false
})
},
processEditFile(id) {
return new Promise((resolve, reject) => {
processEditFile({
id
}).then(res => {
if (res) {
const history = res;
resolve(history)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
/**
* @description: 流程入库
* @date
*/
processCreateFsBuss(json) {
const _formData = new FormData()
_formData.append('infoJson', json)
processCreateFsBuss(_formData).then(res => {
if (res.result === '操作成功' || res.data === '入库成功') {
if(this.qbfsForm.standSort && this.qbfsForm.standSort.indexOf("Q/QCBFC") !== -1){
this.routerBussProStand()
}
if (this.$route.query.bpnId && this.$route.query.bpnId !== '') {
let taskId = {
id: this.$route.query.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.submitLoading = false
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
} else {
this.isSubmit = false
}
})
},
async routerBussProStand(){
this.roleForm.bussUser3 = this.qbfsForm.QCRBUSSID
this.roleForm.bussUser3Name = this.qbfsForm.QCRBUSS
this.roleForm.bussUser6 = this.qbfsForm.QCRBUSSID
this.roleForm.bussUser6Name = this.qbfsForm.QCRBUSS
this.roleForm.applyUpdUserId = this.qbfsForm.QCRBUSSID
this.roleForm.applyUpdUserName = this.qbfsForm.QCRBUSS
this.roleForm.prcCreateUser = this.qbfsForm.QCRBUSSID
this.roleForm.prcCreateUserName = this.qbfsForm.QCRBUSS
this.formBuss.expirationDate = this.qbfsForm.expirationDate
this.formBuss.QCRBUSS = this.qbfsForm.QCRBUSS
this.formBuss.QCRBUSSID = this.qbfsForm.QCRBUSSID
this.formBuss.QCDW = this.qbfsForm.QCDW
this.formBuss.QCDWID = this.qbfsForm.QCDWID
let _formData = new FormData()
_formData.append('id', this.bpnId || '')
_formData.append('createUser', this.qbfsForm.QCRBUSSID)
_formData.append('createUserName', this.qbfsForm.QCRBUSS)
_formData.append('prcType', 'buss2')
_formData.append('prcName', '企标制修订-产品标准')
_formData.append('json', JSON.stringify({
taskInfo: '发起企标制修订流程',
form: this.formBuss,
roleForm: this.roleForm,
commentText: this.commentText
}))
saveTaskFirst(_formData).then(res => {
this.saveLoading = false
this.$message.success('自动创建企标制修订-产品标准流程,跳转至主起草人流程中心草稿')
this.bpnId = res.result
}).catch(e => {
})
},
//流程提交
handleSubmit(){
this.getRule()
this.$refs['qbfsForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.saveLoading = true
this.qbfsForm.commentText = this.commentText
let json = JSON.stringify(this.qbfsForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.isSubmit = false
this.processCreateFsBuss(json)
}
}, e => {
});
}else {
this.$message.warning('请检查基础信息表单是否填写完整')
}
})
},
handleTransfer() {
this.drawerModal = true
this.drawerTitle = '转办处理人'
},
handle1(){
this.qbfsForm.approvalOpinion = 1
this.handleSubmit()
},
handle2(){
this.qbfsForm.approvalOpinion = 0
this.handleSubmit()
},
getRule(){
if (this.qbfsForm.approvalOpinion === 0) {
this.formRules.commentText[0].required = false;
this.$refs.qbfsForm.clearValidate('commentText')
}else {
this.formRules.commentText[0].required = true;
}
},
//确认转办
checkedRoles (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
assignee: data[0].id, // 被委托人
userId: this.$store.getters.userInfo.userId, // 委托人
pId: this.$route.query.prcId // 流程实例
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
// 请求转换流程图
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
choiceZRRS() {
this.drawerTitle = '请选择企标复审人'
this.nodeList2 = [];
if (this.qbfsForm.bussFsSubUser2) {
this.nodeList2 = this.qbfsForm.bussFsSubUser2.split(",");
}
this.modalshowflag = true;
},
checkedRole(data) {
let idList = "";
let nameList = "";
data.forEach(item => {
if (nameList.length) {
nameList += ",";
idList += ",";
}
idList += item.id;
nameList += item.name;
});
this.$set(this.qbfsForm, 'jgUser', nameList)
this.$set(this.qbfsForm, 'jgUserId', idList)
if(this.qbfsForm.jgUser){
this.$refs.qbfsForm.validateField('jgUser')
}
this.$set(this.qbfsForm, 'bussFsSubUser2Name', nameList)
this.$set(this.qbfsForm, 'bussFsSubUser2', idList)
if(this.qbfsForm.bussFsSubUser2Name){
this.$refs.qbfsForm.validateField('bussFsSubUser2Name')
}
},
/**
* @Description: 点击下载
*/
downloadFile(attId) {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
},
downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1);
if (fileExtension !== "pdf" && fileExtension !== "PDF") {
this.$message.error("水印下载仅支持PDF,pdf格式文件");
} else {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
}
},
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.bzrkStep2 {
/deep/.el-select .el-input .el-select__caret {
font-size: 0;
}
/deep/.prc-content-border {
width: 600px;
}
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
/deep/ .van-dialog__content {
min-height: 300px;
padding: 10px;
}
position: relative;
height: 100%;
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -39,10 +39,12 @@
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'2c8041eb6226368ee6e6b975b4aa88f1'"
@click="selectProcessBtn">查询</el-button>
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'4c674bc8b1a21ca17592f1b034444c57'"
@click="resetSelect">清空</el-button>
</el-form-item>
</div>
@@ -39,10 +39,12 @@
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'253fb387b97868c10434cc8fa3d87294'"
@click="selectProcessBtn">查询</el-button>
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'dc9c8efc60be6ba8b78b68bf949e2f6b'"
@click="resetSelect">清空</el-button>
</el-form-item>
</div>
@@ -39,10 +39,12 @@
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'68d17445a13ff3f635c39291070985c3'"
@click="selectProcessBtn">查询</el-button>
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'2321e6eaaf6d89eb7c36a12aa5624396'"
@click="resetSelect">清空</el-button>
</el-form-item>
</div>
@@ -125,7 +127,7 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']">查看</el-dropdown-item>
<el-dropdown-item v-btn-permission="'e1eb3e91143c1cf356889e013e698672'" :command="[scope.row, '查看']">查看</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -190,7 +190,7 @@
<el-divider content-position="left"><h2>企业标准相关流程</h2></el-divider>
<div class="process-box">
<div class="process-name">
<el-card shadow="hover" v-btn-permission="''">
<el-card shadow="hover" v-btn-permission="'62d7895323fc44fcd3a2d7fa1a0c84bf'">
<div class="card-box" @click="handleCreateProcess('buss1')">
<div class="card-top">
<div class="card-top-left">
@@ -205,7 +205,7 @@
</el-card>
</div>
<div class="process-name">
<el-card shadow="hover" v-btn-permission="''">
<el-card shadow="hover" v-btn-permission="'c149ed69750916dce3e26c35c4728542'">
<div class="card-box" @click="handleCreateProcess('buss2')">
<div class="card-top">
<div class="card-top-left">
@@ -265,7 +265,7 @@
</el-card>
</div>
<div class="process-name">
<el-card shadow="hover" v-btn-permission="''">
<el-card shadow="hover" v-btn-permission="'2ddb307d6b6840ac4e7f8f46d4c8f437'">
<div class="card-box" @click="handleCreateProcess('26')">
<div class="card-top">
<div class="card-top-left">
@@ -39,10 +39,12 @@
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'5eb720bb99553de7ae77a977a6276d7c'"
@click="selectProcessBtn">查询</el-button>
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'8e354f43e928886eee08817b71b3df65'"
@click="resetSelect">清空</el-button>
</el-form-item>
</div>
@@ -131,8 +133,8 @@
<el-dropdown trigger="click" @command="handleCommand" v-btn-permission="'4219fdb5e33dbbc84d845af98c947e66'">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '办理']">办理</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '转办']">转办</el-dropdown-item>
<el-dropdown-item v-btn-permission="'4219fdb5e33dbbc84d845af98c947e66'" :command="[scope.row, '办理']">办理</el-dropdown-item>
<el-dropdown-item v-btn-permission="'5cf95d4e0eaae6118e1375f677a0a08d'":command="[scope.row, '转办']">转办</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -39,12 +39,17 @@
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'255351d90836fad911d347da0e8c65b5'"
@click="selectProcessBtn">查询</el-button>
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'568cc2a4431e8ea0d1f65bd0c0805907'"
@click="resetSelect">清空</el-button>
<el-button size="mini" type="danger" @click="dataDel">删除</el-button>
<el-button size="mini" type="danger"
v-btn-permission="'de85dfbf1ca4fff1f47d4908af13c284'"
@click="dataDel"
>删除</el-button>
</el-form-item>
</div>
<div class="search-area-item">
@@ -2418,7 +2418,7 @@
// 树节点鼠标移入移出
mouseenter(data){
this.$set(data, 'show', true)
if(data.parentId !== null){
if(data.parentId !== null && data.id !== 'zcwdsc'){
this.$set(data, 'showDel', true)
}
},
@@ -191,7 +191,7 @@
<!-- <el-button @click="changeState(scope.row)">符合性状态</el-button>-->
<div class="table-jump" @click="changeState(scope.row)">
<div v-if="scope.row.unCount === '0'">符合</div>
<div v-if="scope.row.unCount === '-1'">不涉及</div>
<div v-else-if="scope.row.unCount === '-1'">不涉及</div>
<div v-else >不符合</div>
</div>
</template>
@@ -2,11 +2,11 @@
<template>
<div id="non-cnfomity" >
<div class="non-content">
<el-tabs v-model="activeName" @tab-click="handleClick" style="height: 100%">
<el-tab-pane label="未符合项整改数据库" name="database">
<el-tabs v-model="tabValue" @tab-click="handleClick" style="height: 100%">
<el-tab-pane label="未符合项整改数据库" name="database" v-if="database">
<rectification-database></rectification-database>
</el-tab-pane>
<el-tab-pane label="重点问题项管控" name="keynote">
<el-tab-pane label="重点问题项管控" name="keynote" v-if="keynote">
<key-issues :keynoteActiveName="keynoteActiveName"></key-issues>
</el-tab-pane>
</el-tabs>
@@ -22,30 +22,53 @@
keyIssues,
rectificationDatabase,
},
data () {
data() {
return {
activeName: 'database',
keynote: false,
database: false,
menuName: ["未符合项整改数据库", "重点问题项管控"],
tabValue: '',
keynoteActiveName: 'cause'
}
},
methods: {
handleClick(tab, event) {
},
getActiveName(){
if (this.$route.query.activeName){
this.activeName = this.$route.query.activeName
}
if (this.$route.query.keynoteActiveName){
this.keynoteActiveName = this.$route.query.keynoteActiveName
}
console.log('35',this.keynoteActiveName)
}
// getActiveName() {
// if (this.$route.query.activeName) {
// this.activeName = this.$route.query.activeName
// }
// if (this.$route.query.keynoteActiveName) {
// this.keynoteActiveName = this.$route.query.keynoteActiveName
// }
// console.log('35', this.keynoteActiveName)
// }
},
created() {
this.getActiveName()
// this.getActiveName()
},
mounted () {
var list = [];
const menuList = this.$store.getters.getMenuList;
let menuData = [];
let menuID = ["ff7bc984c8115204bba04090f350b19c", "e02897e9ab6b1a72f49c47c07b5be9a5"];
this.menuName.forEach(item => {
for (let i = 0; i < menuList.length; i++) {
let entity = menuList[i];
if (item !== entity.menuName) continue;
if (menuID.indexOf(entity.id) >= 0 && menuData.indexOf(entity.id) === -1) {
menuData.push(entity.id);
if (entity.id === "ff7bc984c8115204bba04090f350b19c") {
this.database = true
} else if (entity.id === "e02897e9ab6b1a72f49c47c07b5be9a5") {
this.keynote = true
}
}
}
});
this.tabValue = this.database ? 'database' : (this.keynote ? 'keynote' : (this.tracking ? 'listTracking' : (this.other ? 'listOther' : (this.library ? 'localProductsOrProjectLibrary' : ''))))
},
watch: {},
mounted () {}
}
</script>
<style lang="less" scoped>
@@ -75,7 +75,7 @@
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'aff4a409c3c3856986c535a5f4782b13'"
v-btn-permission="'dd74d2cb03c9f31074c5ea06c57c89cb'"
@click="searchSarAccessBtn('')">
查询
</el-button>
@@ -84,7 +84,7 @@
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'66fa37fc93e298b03d272fe17aeca6de'"
v-btn-permission="'3f5fe30d457f714c9cf68ec48b2887ec'"
@click="clearAllSearch">清空
</el-button>
</el-form-item>
@@ -90,7 +90,7 @@
class="common-button-primary"
type="primary"
size="mini"
v-btn-permission="''"
v-btn-permission="'013dc790d5438d2fa93a03eabf641318'"
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
><i class="iconfont">&#xe6e9;</i>导出
</el-button>
@@ -33,6 +33,7 @@
type="primary"
size="mini"
class="common-button-primary"
v-btn-permission="'904b8b52d0c9d76e3622531d9d5a9f0e'"
@click="getTableBtn">
查询
</el-button>
@@ -41,6 +42,7 @@
<el-button
size="mini"
class="common-button-default"
v-btn-permission="'af79900eebf9360eea4ed45f257dae0c'"
@click="clearAllSearch">清空</el-button>
</el-form-item>
</el-form>
@@ -76,7 +78,7 @@
</el-table-column>
<el-table-column
prop="standName"
width="180px"
min-width="300px"
align="center"
label="标准名称">
<template slot-scope="scope">
@@ -103,19 +105,17 @@
</el-table-column>
<el-table-column
prop="productName"
width="150"
min-width="200"
align="center"
label="项目名称">
</el-table-column>
<el-table-column
prop="responsibleUnit"
width="150"
align="center"
label="责任部门">
</el-table-column>
<el-table-column
prop="dutyEngineerName"
width="150"
align="center"
label="责任工程师">
</el-table-column>
@@ -132,7 +132,7 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']">查看</el-dropdown-item>
<el-dropdown-item v-btn-permission="'24e7400242307a236cc50bbec1796d26'" :command="[scope.row, '查看']">查看</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -58,6 +58,7 @@
type="primary"
size="mini"
class="common-button-primary"
v-btn-permission="'e1be15b50bc9493f20c38ad678699422'"
@click="getTableBtn">
查询
</el-button>
@@ -66,6 +67,7 @@
<el-button
size="mini"
class="common-button-default"
v-btn-permission="'8dbef1803c841b8dadbed619d3cbf249'"
@click="clearAllSearch">清空</el-button>
</el-form-item>
</el-form>
@@ -154,7 +156,7 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']">查看</el-dropdown-item>
<el-dropdown-item v-btn-permission="'41f76602450a4f4fa4516b6c35eb3b75'" :command="[scope.row, '查看']">查看</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -55,7 +55,7 @@
class="common-button-primary"
size="small"
type="primary"
v-btn-permission="''"
v-btn-permission="'0021d017199b2b57c953671fa09e1677'"
@click="addModel"
><i class="el-icon-plus"></i>新增
</el-button>
@@ -188,7 +188,7 @@
<el-dropdown-item :command="[scope.row, '查看']"
v-btn-permission="'374cb5206597fa201e57f561ff2f8ed7'">查看
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="''">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'bcd9e2881cc174e5aef98bf0e54694e9'">编辑</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -1426,14 +1426,14 @@
lawsName: '',
lawsEnName: '',
lawsNo: '',
issueTime: '',
// issueTime: '',
issueCompany: '',
commentCycleStart: '',
commentCycleEnd: '',
lawsTextState: '',
lawsSyqy: '',
lawsSycx: '',
isRelateAccess: '',
// isRelateAccess: '',
lawsYear: '',
lawsNotisyncNum: '',
lawsBulletin: '',
@@ -2198,7 +2198,7 @@
pagetype = "BUSINESS_STAND ";
}
//
if (routername !== "") {
if (routername !== "" && routername !== "OtherBussStandardDetails") {
let routeUrl = this.$router.resolve({
name: routername,
params: {
@@ -2207,6 +2207,26 @@
}
});
window.open(routeUrl.href, "_blank");
}else{
this.$http.get('lawss/sarBussionessStand/checkIsShow', {
id: item.id,
userId: this.$store.getters.userInfo.userId
}, {
_this: this
}, res =>{
if(res){
let routeUrl = this.$router.resolve({
name: routername,
params: {
id: item.id,
pageType: pagetype
}
});
window.open(routeUrl.href, "_blank");
}else{
this.$message.warning('您暂无权限查看')
}
})
}
},
judgeBussRole(item) {
+3 -13
View File
@@ -2636,19 +2636,9 @@ const routes = [
}
},
{
path: '/phoneQbfsStep2',
name: 'phoneQbfsStep2',
component: () => import('@/pages/processCenter/pages/phone/qbfs/step2.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '企标复审流程'
}
},
{
path: '/phoneQbfsStep4',
name: 'phoneQbfsStep4',
component: () => import('@/pages/processCenter/pages/phone/qbfs/step4.vue'),
path: '/phoneBussFs3',
name: 'phoneBussFs3',
component: () => import('@/pages/processCenter/pages/phone/qbfs/step5.vue'),
meta: {
isBoolean: true,
requireAuth: true,