Files
foton-laws-system-front/src/pages/processCenter/pages/creatProcess/qbrk/step1.vue
T

4197 lines
165 KiB
Vue

<template>
<div class="bzrkStep1">
<!-- 标准入库流程-->
<ProcessHeader toggle>
<template slot="proName">企标制修订-技术标准</template>
<template slot="proNode">起草</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>-->
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">人员信息</div>
</div>
<div class="content">
<el-form
ref="form"
:model="form"
:rules="rules"
class="label-input-form"
label-width="210px"
>
<div v-show="active === '1'" style="flex: auto;">
<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
:disabled="planDisabled || disabledXX"
placeholder="请先选择计划带入企标类别"
>
<el-option
v-for="item in standSortOptions"
:key="item.value"
:value="item.value"
:label="item.label"
/>
</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
placeholder="请先选择计划带入企标名称"
clearable
/>
</el-form-item>
<el-form-item
label="制修订类型"
prop="reviseStatus"
class="add-form-item form-item-disabled"
>
<template>
<div
v-if="form.reviseStatus === '1'"
style="padding-left: 10px; color: #666666;"
>
制定
</div>
<div
v-else-if="form.reviseStatus === '2'"
style="padding-left: 10px; color: #666666;"
>
修订
</div>
<div
v-else-if="form.reviseStatus === '3'"
style="padding-left: 10px; color: #666666;"
>
修改
</div>
<div v-else style="padding-left: 10px; color: #666666;" />
</template>
<!-- <el-select v-model="form.reviseStatus" filterable clearable>-->
<!-- <el-option-->
<!-- v-for="item in opinionsStand"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
</el-form-item>
<!-- <el-form-item label="标准状态" prop="textStatusBuss" class="add-form-item form-item-disabled">-->
<!-- <el-select :disabled="disabledXX" :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="请选择标准状态">-->
<!-- <el-option-->
<!-- v-for="item in standStateOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item v-show="verifySarStandard" label="标准年份" prop="standYear" class="add-form-item form-item-disabled">-->
<!-- <el-input :disabled="disabledXX" v-model="form.standYear"-->
<!-- placeholder="请输入标准年份"-->
<!-- clearable></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item v-show="verifySarStandard" label="复审日期" prop="FSRQBUSS" class="add-form-item form-item-disabled">-->
<!-- <el-datePicker :disabled="disabledXX" v-model="form.FSRQBUSS"-->
<!-- :editable="false"-->
<!-- disabled-->
<!-- placeholder="请选择废止日期"-->
<!-- 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 :disabled="disabledXX" :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 :disabled="disabledXX" -->
<!-- v-model="form.standNumber"-->
<!-- placeholder="请输入企标编号"-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<el-form-item class="add-form-item form-item-disabled" style="margin-left: -210px">
<el-button
:disabled="disabledXX"
type="primary"
:loading="loadSarStandard"
@click="handleSearchStandard"
>
根据企标名称、起草责任单位查询
</el-button>
</el-form-item>
<el-form-item label="英文名称" prop="standEnName" class="add-form-item form-item-disabled">
<el-input
v-model="form.standEnName"
:disabled="disabledXX"
placeholder="请输入英文名称"
clearable
/>
</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="disabledXX"
:editable="false"
placeholder="请选择企标实施日期"
value-format="yyyy-MM-dd"
/>
</el-form-item>
<!-- <el-form-item v-show="verifySarStandard" label="发布日期" prop="issueTime" class="add-form-item form-item-disabled">-->
<!-- <el-datePicker :disabled="disabledXX" v-model="form.issueTime"-->
<!-- :editable="false"-->
<!-- placeholder="请选择发布日期"></el-datePicker>-->
<!-- </el-form-item>-->
<!-- <el-form-item v-show="verifySarStandard" label="废止日期" prop="FZRQBUSS" class="add-form-item form-item-disabled">-->
<!-- <el-datePicker :disabled="disabledXX" v-model="form.FZRQBUSS"-->
<!-- :editable="false"-->
<!-- placeholder="请选择废止日期"-->
<!-- 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 v-show="verifySarStandard" class="prc-content-border process-manuscript">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="发布稿" prop="FBGBUSSName" class="add-form-item form-item-disabled">
<el-input
v-model="form.FBGBUSSName"
:disabled="disabledXX"
disabled
style="display: none;"
clearable
/>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;margin-top: 13px">
<div
v-for="(item,index) in FBGBUSSFileList"
:key="index"
style="color: #409eff;cursor:pointer"
class="fileClass fileClassName"
>
<span
v-if="index == 0 && !item.id.startsWith('ATT')"
style="width: 80%;"
@click="handleFilePreviewOne(item,'preview')"
>
{{ item.name }}
</span>
<span v-else @click="handleFilePreview(item)">
{{ item.name }}
</span>
<span
v-if="item.id !== '' && index == 0 && !item.id.startsWith('ATT')"
style="width: 20%;margin-left: 15px;"
>
<el-button
type="primary"
size="mini"
:disabled="disabledXX"
plain
icon="el-icon-edit"
@click="handleFilePreviewOne(item,'onlineEdit')"
/>
</span>
</div>
</div>
<div style="width: 20%;">
<!-- :disabled="disabledXX"-->
<!-- disabled-->
<el-button
:disabled="disabledXX"
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('FBGBUSS')"
>
<i class="el-icon-upload" />
</el-button>
</div>
</div>
</el-form-item>
<el-form-item label="历史版本" prop="LSBBBUSSName" class="add-form-item form-item-disabled">
<el-input
v-model="form.LSBBBUSSName"
:disabled="disabledXX"
disabled
style="display: none;"
clearable
/>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;margin-top: 13px">
<div
v-for="(item,index) in LSBBBUSSFileList"
:key="index"
style="color: #409eff;cursor:pointer;margin-left: 12px;"
class="fileClass"
>
<!-- @click="handleFilePreview(item)"-->
<span style="" :title="item.name" @click="handleFilePreview2(item,'preview')"> {{ item.name }}</span>
<span style="margin-left: 7px;">
<i class="el-icon-view" style="font-size: 18px" title="预览" @click="viewOnlyOffice(item)" />
</span>
<!-- <span v-if="item.id !== ''" style="margin-left: 7px;">-->
<!-- <i class="el-icon-download" title="下载" @click="handleFilePreview2(item,'down')" />-->
<!-- </span>-->
</div>
</div>
<div style="width: 20%;">
<el-button
:disabled="disabledXX"
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('LSBBBUSS')"
>
<i class="el-icon-upload" />
</el-button>
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="编制说明" prop="BZSMBUSSName" class="add-form-item form-item-disabled">
<el-input
v-model="form.BZSMBUSSName"
:disabled="disabledXX"
disabled
style="display: none;"
clearable
/>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;margin-top: 13px">
<div
v-for="(item,index) in BZSMBUSSFileList"
:key="index"
style="color: #409eff;cursor:pointer"
class="fileClass"
@click="handleFilePreview(item)"
>
{{ item.name }}
</div>
</div>
<div style="width: 20%;">
<el-button
:disabled="disabledXX"
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('BZSMBUSS')"
>
<i class="el-icon-upload" />
</el-button>
</div>
</div>
</el-form-item>
<el-form-item label="其他文件" prop="QTWJBUSSName" class="add-form-item form-item-disabled">
<el-input
v-model="form.QTWJBUSSName"
:disabled="disabledXX"
disabled
style="display: none;"
clearable
/>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;margin-top: 13px">
<div
v-for="(item,index) in QTWJBUSSFileList"
:key="index"
style="color: #409eff;cursor:pointer"
class="fileClass"
@click="handleFilePreview(item)"
>
{{ item.name }}
</div>
</div>
<div style="width: 20%;">
<el-button
:disabled="disabledXX"
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('QTWJBUSS')"
>
<i class="el-icon-upload" />
</el-button>
</div>
</div>
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle v-show="verifySarStandard">
<template slot="title">适用范围</template>
</ProcessTitle>
<div v-show="verifySarStandard" class="prc-content-border">
<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
readonly="readonly"
placeholder="选择起草部门"
@click.native="choiceQCDW('QCDWId', '起草部门', form.QCDW)"
/>
</el-form-item>
<el-form-item
label="文件上传人员"
prop="WJSCRYBUSSName"
class="add-form-item form-item-disabled"
>
<el-input
v-model="form.WJSCRYBUSSName"
placeholder="请输入文件上传人员"
disabled
clearable
/>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select
v-model="form.NYLXCLASS"
:disabled="disabledXX"
:popper-append-to-body="false"
placeholder="请选择能源类型"
multiple
>
<el-option
v-for="item in categoryOptions"
:key="item.value"
placeholder="请选择"
:value="item.value"
:label="item.label"
/>
</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="disabledXX"
readonly="readonly"
:title="form.CYCVPPSBMBUSS"
placeholder="关联模块--乘用车VPPS编码"
@click.native="choiceZRR2('car', '关联模块--乘用车VPPS编码', form.CYCVPPSBMBUSS,true)"
/>
</el-form-item>
<el-form-item
label="关联模块--卡车VPPS编码"
title="关联模块--卡车VPPS编码"
class="add-form-item form-item-disabled"
>
<el-input
v-model="form.KCVPPSBMBUSS"
:disabled="disabledXX"
readonly="readonly"
:title="form.KCVPPSBMBUSS"
placeholder="关联模块--卡车VPPS编码"
@click.native="choiceZRR3('struck', '关联模块--卡车VPPS编码', form.KCVPPSBMBUSS,false)"
/>
</el-form-item>
<!-- <el-form-item label="模块结构单元变型号(卡车)" title="模块结构单元变型号(卡车)" class="add-form-item form-item-disabled">-->
<!-- <el-input :disabled="disabledXX" v-model="form.DYBXHBUSS" readonly="readonly" placeholder="选择模块结构单元变型号(卡车)" @click.native="choiceZRR4('TRUCK', '模块结构单元变型号(卡车)', form.DYBXHBUSS,false)"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="模块结构单元变型号(乘用车)" title="模块结构单元变型号(乘用车)" class="add-form-item form-item-disabled">-->
<!-- <el-input :disabled="disabledXX" v-model="form.CYCDYBXHBUSS" readonly="readonly" placeholder="选择模块结构单元变型号(乘用车)" @click.native="choiceZRR5('CAR', '模块结构单元变型号(乘用车)', form.CYCDYBXHBUSS,false)"></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="disabledXX"
placeholder="选择标准体系"
clearable
@click.native="choiceZRR1('TXLBBUSS', '标准体系', form.TXLBBUSS, $event)"
@clear="handleClearStandSystem"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-input
v-model="form.QCRBUSS"
:disabled="disabledXX"
placeholder="选择起草人"
:title="form.QCRBUSS"
readonly="readonly"
@click.native="choiceZRRList('QCRBUSS', '选择起草人', form.QCRBUSS)"
/>
</el-form-item>
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select
v-model="form.SYCXCLASS"
:disabled="disabledXX"
:popper-append-to-body="false"
placeholder="请选择适用车型"
multiple
>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
placeholder="请选择"
:value="item.value"
:label="item.label"
/>
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select
v-model="form.SYCPXCLASS"
:disabled="disabledXX"
:popper-append-to-body="false"
placeholder="请选择适用认证"
multiple
>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
placeholder="请选择"
:value="item.value"
:label="item.label"
/>
</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"
:disabled="disabledXX"
:title="form.CYCVPPSCNBUSS"
placeholder="关联模块--乘用车vpps中文名称"
clearable
disabled
/>
</el-form-item>
<el-form-item
label="关联模块--卡车VPPS中文名称"
prop="KCVPPSCNBUSS"
class="add-form-item form-item-disabled"
>
<el-input
v-model="form.KCVPPSCNBUSS"
:disabled="disabledXX"
:title="form.KCVPPSCNBUSS"
placeholder="关联模块--卡车VPPS中文名称"
clearable
disabled
/>
</el-form-item>
<!-- <el-form-item label="模块结构单元名称(卡车)" prop="DYMCBUSS" class="add-form-item form-item-disabled">-->
<!-- <el-input :disabled="disabledXX" v-model="form.DYMCBUSS" placeholder="模块结构单元名称(卡车)" clearable disabled></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="模块结构单元名称(乘用车)" prop="CYCDYMCBUSS" class="add-form-item form-item-disabled">-->
<!-- <el-input :disabled="disabledXX" v-model="form.CYCDYMCBUSS" placeholder="模块结构单元名称(乘用车)" clearable disabled></el-input>-->
<!-- </el-form-item>-->
</el-col>
</el-row>
</div>
<ProcessTitle v-show="verifySarStandard">
<template slot="title">关联信息</template>
</ProcessTitle>
<div v-show="verifySarStandard" class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item
label="代替企标编号"
prop="DTQBBHBUSS"
:rules="form.reviseStatus === '1' ? rules.DTQBBHBUSSNot : rules.DTQBBHBUSS"
class="add-form-item form-item-disabled"
>
<el-input
v-model="form.DTQBBHBUSS"
:disabled="disabledXX"
placeholder="请输入代替标准号"
clearable
/>
<el-button
:disabled="disabledXX"
type="primary"
class="common-button-primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
@click="selectLaws('DTQBBHBUSS'),config.attrName = '代替企标编号'"
>
{{ '手动查找' }}
</el-button>
</el-form-item>
<el-form-item label="采用标准" prop="CYBZ" class="add-form-item form-item-disabled">
<el-input
v-model="form.CYBZ"
:disabled="disabledXX"
placeholder="请输入采用标准"
clearable
/>
<el-button
:disabled="disabledXX"
type="primary"
class="common-button-primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
@click="selectLaws('CYBZ'),config.attrName = '采用标准'"
>
{{ '手动查找' }}
</el-button>
</el-form-item>
<el-form-item label="引用标准" prop="YYBZ" class="add-form-item form-item-disabled">
<el-input
v-model="form.YYBZ"
:disabled="disabledXX"
placeholder="请输入引用标准"
clearable
/>
<el-button
:disabled="disabledXX"
type="primary"
class="common-button-primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
@click="selectLaws('YYBZ'),config.attrName = '引用标准'"
>
{{ '手动查找' }}
</el-button>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- <el-form-item label="被代替企标编号" prop="BDTWJHLAWS" class="add-form-item form-item-disabled">-->
<!-- <el-input :disabled="disabledXX" -->
<!-- v-model="form.BDTWJHLAWS"-->
<!-- placeholder="请输入被代替企标编号"-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- <el-button :disabled="disabledXX" -->
<!-- type="primary"-->
<!-- class="common-button-primary"-->
<!-- size="mini"-->
<!-- style="position:absolute;top: 10px;right: 0;"-->
<!-- @click="selectLaws('bfbdtbzh'),config.attrName = '被代替企标编号'"-->
<!-- >{{'手动查找'}}</el-button>-->
<!-- </el-form-item>-->
<el-form-item label="上传时间" prop="XCSJBUSS" class="add-form-item form-item-disabled">
<el-input
v-model="form.XCSJBUSS"
:disabled="disabledXX"
placeholder=""
clearable
disabled
/>
</el-form-item>
<el-form-item label="采标程度" prop="CYCD" class="add-form-item form-item-disabled">
<el-select
v-model="form.CYCD"
:disabled="disabledXX"
filterable
clearable
placeholder="请先选择采标程度"
>
<el-option
v-for="item in cbcdOptions"
:key="item.value"
:value="item.value"
:label="item.label"
/>
</el-select>
</el-form-item>
<el-form-item label="关联文件" prop="GLWJBUSSName" class="add-form-item form-item-disabled">
<el-input
v-model="form.GLWJBUSSName"
:disabled="disabledXX"
disabled
style="display: none;"
clearable
/>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;margin-top: 13px">
<div
v-for="(item,index) in GLWJBUSSFileList"
:key="index"
style="color: #409eff;cursor:pointer"
class="fileClass"
@click="handleFilePreview(item)"
>
{{ item.name }}
</div>
</div>
<div style="width: 20%;">
<el-button
:disabled="disabledXX"
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('GLWJBUSS')"
>
<i class="el-icon-upload" />
</el-button>
</div>
</div>
</el-form-item>
</el-col>
</el-row>
</div>
<ReceiptDescription
v-show="verifySarStandard && active !== '2'"
v-model="commentText"
title="回执说明"
:disabled="disabledXX"
/>
<!--<el-collapse v-show="verifySarStandard && active !== '2'" v-model="activeName" accordion>-->
<!-- <el-collapse-item title="回执说明" name="1">-->
<!-- <div style="margin: 10px 0;">-->
<!-- <el-input :disabled="disabledXX"-->
<!-- type="textarea"-->
<!-- :rows="3"-->
<!-- resize="none"-->
<!-- placeholder="请输入意见"-->
<!-- v-model="commentText">-->
<!-- </el-input>-->
<!-- </div>-->
<!-- </el-collapse-item>-->
<!--</el-collapse>-->
</div>
<!-- <div class="block" id="active2" v-show="active === '2'">-->
<!-- <ProcessTitle>-->
<!-- <template slot="title">模块信息</template>-->
<!-- </ProcessTitle>-->
<!-- <template>-->
<!-- <div class="prc-content-border" style="height: 66vh;position: relative;">-->
<!-- <div class="action-bar">-->
<!-- <el-button :disabled="disabledXX" type="primary" class="common-button-primary add-button" size="mini" @click="choiceZRRS('', 2, '')">-->
<!-- 批量编辑-->
<!-- </el-button>-->
<!-- <el-button :disabled="disabledXX" -->
<!-- type="primary"-->
<!-- size="mini"-->
<!-- class="common-button-primary add-button"-->
<!-- @click="createRow"-->
<!-- >创建模块</el-button>-->
<!-- </div>-->
<!-- <el-table-->
<!-- ref="selection"-->
<!-- tooltip-effect="dark"-->
<!-- style="width: 100%;margin-bottom: 20px;overflow-y:auto;height:56vh;border-bottom: 1px solid #EBEEF5;"-->
<!-- :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',-->
<!-- fontWeight: 'bold', height: '48px'}"-->
<!-- @selection-change="handleSelectionChange"-->
<!-- row-key="id"-->
<!-- :data="form.modelData"-->
<!-- border-->
<!-- default-expand-all-->
<!-- :tree-props="{children: 'children', hasChildren: 'hasChildren'}">-->
<!-- <el-table-column type="selection" min-width="5%" :selectable="checkSelect" align="center"/>-->
<!-- <el-table-column-->
<!-- prop="modelNum"-->
<!-- label="序号"-->
<!-- min-width="15%"-->
<!-- align="center"-->
<!-- :tree-props="{children: 'children', hasChildren: 'hasChildren'}">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="名称"-->
<!-- align="center"-->
<!-- min-width="30%">-->
<!-- <template slot-scope="scope">-->
<!-- <el-form-item-->
<!-- style="margin-left: 0;margin-bottom:0;"-->
<!-- >-->
<!-- <el-input :disabled="disabledXX" v-model="scope.row.modelName" :disabled="scope.row.disabled" placeholder="请维护模块名称" @blur="modelNameFunc(scope.row)"/>-->
<!-- </el-form-item>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="责任人"-->
<!-- min-width="15%"-->
<!-- align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <el-form-item-->
<!-- style="margin-left: 0;margin-bottom:0;"-->
<!-- >-->
<!-- <el-input :disabled="disabledXX" v-model="scope.row.zrUserIdName" v-if="scope.row.pid === '0'" placeholder="请选择责任人" @click.native="choiceZRRS(scope.row.zrUserId, 1, scope.$index)"/>-->
<!-- </el-form-item>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="操作" align="center" min-width="5%">-->
<!-- <template slot-scope="scope">-->
<!-- <div @click.stop style="display: inline-block">-->
<!-- <el-dropdown trigger="click" @command="handleCommand">-->
<!-- <i class="iconfont">&#xe61e;</i>-->
<!-- <el-dropdown-menu slot="dropdown">-->
<!--&lt;!&ndash; <el-dropdown-item :command="[scope.$index,scope.row, '新增']" v-btn-permission="''">新增</el-dropdown-item>&ndash;&gt;-->
<!-- <el-dropdown-item :command="[scope.$index,scope.row, '维护']" v-btn-permission="''">维护</el-dropdown-item>-->
<!-- <el-dropdown-item :command="[scope.$index,scope.row, '删除']" v-btn-permission="''">删除</el-dropdown-item>-->
<!-- </el-dropdown-menu>-->
<!-- </el-dropdown>-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<!-- </div>-->
<!-- </template>-->
<!-- </div>-->
<div v-show="active === '3'" class="block" style="padding-top: 20px;">
<el-timeline>
<el-form
ref="userForm"
:model="roleForm"
:rules="roleRules"
class="label-input-form"
>
<el-timeline-item
timestamp="起草"
placement="top"
:color="roleForm.prcCreateUserName ? '#66b1ff' : ''"
>
<el-card>
<el-form-item prop="prcCreateUserName" style="margin-bottom: 0">
<h4>标准起草人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input
v-model="roleForm.prcCreateUserName"
:disabled="disabledXX"
disabled
placeholder="标准起草人"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item
timestamp="企标编写"
prop="qcUserName"
placement="top"
:color="roleForm.qcUserName ? '#66b1ff' : ''"
>
<el-card>
<el-form-item prop="qcUserName" style="margin-bottom: 0">
<h4>其他起草人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input
v-model="roleForm.qcUserName"
:disabled="disabledXX"
clearable
readonly="readonly"
placeholder="其他起草人"
@click.native="choiceZRRList('qcUserId', '选择其他起草人', roleForm.qcUserId)"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item
timestamp="企标编写汇总"
placement="top"
:color="roleForm.hzUserName ? '#66b1ff' : ''"
>
<el-card>
<el-form-item prop="hzUserName" style="margin-bottom: 0">
<h4>标准起草人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input
v-model="roleForm.hzUserName"
:disabled="disabledXX"
disabled
readonly="readonly"
clearable
placeholder="标准起草人"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item
timestamp="标准化初审"
prop="bzhUserName"
placement="top"
:color="roleForm.bzhUserName ? '#66b1ff' : ''"
>
<el-card>
<el-form-item prop="bzhUserName" style="margin-bottom: 0">
<h4>总院各中心兼职标准化员/各事业部标准化员</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input
v-model="roleForm.bzhUserName"
:disabled="disabledXX"
readonly="readonly"
placeholder="选择总院各中心兼职标准化员/各事业部标准化员"
@click.native="choiceZRR('bzhUserId', '选择总院各中心兼职标准化员/各事业部标准化员', roleForm.bzhUserId)"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item
timestamp="征求意见(郑兆丽、蒋敏、吴娟、李中立、王晶9、耿红静、张蕾61、符青萍、刘金英、技术委员会相关成员、总院相关中心总工及四五级工程师)"
prop="hqUserName"
placement="top"
:color="roleForm.hqUserName ? '#66b1ff' : ''"
>
<el-card>
<el-form-item prop="hqUserName" style="margin-bottom: 0">
<h4>郑兆丽、蒋敏、吴娟、李中立、王晶9、耿红静、张蕾61、符青萍、刘金英、技术委员会相关成员、总院相关中心总工及四五级工程师</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input
v-model="roleForm.hqUserName"
:disabled="disabledXX"
placeholder="选择郑兆丽、蒋敏、吴娟、李中立、王晶9、耿红静、张蕾61、符青萍、刘金英、技术委员会相关成员、总院相关中心总工及四五级工程师"
readonly="readonly"
@click.native="choiceZRRList('hqUserId', '选择郑兆丽、蒋敏、吴娟、李中立、王晶9、耿红静、张蕾61、符青萍、刘金英、技术委员会相关成员、总院相关中心总工及四五级工程师', roleForm.hqUserId)"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item
timestamp="技术委员会评审、评审意见修改"
placement="top"
:color="roleForm.xdUserName ? '#66b1ff' : ''"
>
<el-card>
<el-form-item prop="xdUserName" style="margin-bottom: 0">
<h4>标准起草人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input
v-model="roleForm.xdUserName"
:disabled="disabledXX"
disabled
readonly="readonly"
placeholder="标准起草人"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item
timestamp="标准化复审"
prop="fggcsUserName"
placement="top"
:color="roleForm.fggcsUserName ? '#66b1ff' : ''"
>
<el-card>
<el-form-item prop="fggcsUserName" style="margin-bottom: 0">
<h4>标准法规工程师</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input
v-model="roleForm.fggcsUserName"
:disabled="disabledXX"
readonly="readonly"
placeholder="标准法规工程师"
@click.native="choiceZRR('fggcsUserId', '选择标准法规工程师', roleForm.fggcsUserId)"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item
timestamp="审核"
prop="jsfzrUserName"
placement="top"
:color="roleForm.jsfzrUserName ? '#66b1ff' : ''"
>
<el-card>
<el-form-item prop="jsfzrUserName" style="margin-bottom: 0">
<h4>起草单位高级经理</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input
v-model="roleForm.jsfzrUserName"
:disabled="disabledXX"
readonly="readonly"
placeholder="选择起草单位高级经理"
@click.native="choiceZRR('jsfzrUserId', '选择起草单位高级经理', roleForm.jsfzrUserId)"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item
timestamp="审核"
prop="bzUserName"
placement="top"
:color="roleForm.bzUserName ? '#66b1ff' : ''"
>
<el-card>
<el-form-item prop="bzUserName" style="margin-bottom: 0">
<h4>标准法规部高级经理</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input
v-model="roleForm.bzUserName"
:disabled="disabledXX"
readonly="readonly"
placeholder="选择标准法规部高级经理"
@click.native="choiceZRR('bzUserId', '选择标准法规部高级经理', roleForm.bzUserId)"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item
timestamp="审定"
prop="fzrUserName"
placement="top"
:color="roleForm.fzrUserName ? '#66b1ff' : ''"
>
<el-card>
<el-form-item prop="fzrUserName" style="margin-bottom: 0">
<h4>标委会主任</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input
v-model="roleForm.fzrUserName"
:disabled="disabledXX"
readonly="readonly"
placeholder="选择标委会主任"
@click.native="choiceZRR('fzrUserId', '选择标委会主任', roleForm.fzrUserId)"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item
timestamp="批准"
prop="zhrUserName"
placement="top"
:color="roleForm.zhrUserName ? '#66b1ff' : ''"
>
<el-card>
<el-form-item prop="zhrUserName" style="margin-bottom: 0">
<h4>研究总院主管副院长</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input
v-model="roleForm.zhrUserName"
:disabled="disabledXX"
readonly="readonly"
placeholder="选择研究总院主管副院长"
@click.native="choiceZHR('zhrUserId', '选择研究总院主管副院长', roleForm.zhrUserId)"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item
timestamp="培训"
placement="top"
:color="roleForm.pxUserName ? '#66b1ff' : ''"
>
<el-card>
<el-form-item prop="hzUserName" style="margin-bottom: 0">
<h4>标准起草人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input
v-model="roleForm.pxUserName"
:disabled="disabledXX"
disabled
readonly="readonly"
clearable
placeholder="标准起草人"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item
timestamp="发布"
prop="fbUserName"
placement="top"
:color="roleForm.fbUserName ? '#66b1ff' : ''"
>
<el-card>
<el-form-item prop="fbUserName" style="margin-bottom: 0">
<h4>标准法规工程师</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input
v-model="roleForm.fbUserName"
:disabled="disabledXX"
readonly="readonly"
placeholder="选择标准法规工程师"
@click.native="choiceZRR('fbUserId', '选择标准法规工程师', roleForm.fbUserId)"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
</el-form>
</div>
<!-- 保存||提交-->
<ProcessFooter
v-show="verifySarStandard && !disabledXX"
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
/>
<el-dialog
v-dragDialogWidth
width="400px"
:visible.sync="fileMadel"
title="上传文件"
:close-on-click-modal="false"
>
<el-upload
ref="importfile"
multiple
drag
:file-list="fileList"
:action="fileUrl"
name="file"
accept=".pdf, .PDF, .ppt, .PPT, .pptx,.PPTX, .doc, .DOC, .docx, .DOCX, .xls, .xlsx"
:before-upload="beginImportFile"
:before-remove="beforeRemove"
:on-success="importFileSuccess"
:on-preview="handleFilePreview"
:on-remove="removeOneFile"
:show-file-list="true"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff" />
<p>点击或拖拽上传文件</p>
</div>
</el-upload>
</el-dialog>
<el-dialog
:title="config.attrName"
:visible.sync="replaceLawsNumModel"
width="875px"
:close-on-click-modal="false"
:append-to-body="true"
@close="replaceLawsNumModelCancel"
>
<div class="search-area">
<div class="left">
<el-form :modal="replaceLawsNumForm" :inline="true" class="label-input-form">
<el-form-item v-if="dataSource" label="标准来源" class="search-item">
<el-select
v-model="replaceLawsNumForm.standType"
:disabled="disabledXX"
:popper-append-to-body="false"
placeholder="请选择标准来源"
@change="dataSourceChange"
>
<el-option value="INLAND" label="国内标准库" />
<el-option value="FOREIGN" label="海外标准库" />
</el-select>
</el-form-item>
<el-form-item label="编号/名称" class="search-item">
<el-input
v-model="replaceLawsNumForm.numberName"
:disabled="disabledXX"
placeholder="根据编号/名称查找"
clearable
:maxlength="100"
/>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
:disabled="disabledXX"
type="primary"
class="common-button-primary"
size="small"
@click="getReplaceLawsNumRowFirst"
>
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
:disabled="disabledXX"
class="common-button-default"
size="small"
@click="getResetLawsNumRow"
>
清空
</el-button>
</el-form-item>
</el-form>
</div>
</div>
<el-table
ref="selections"
:data="replaceLawsNumRow"
tooltip-effect="dark"
style="width: 100%;overflow-y: auto;overflow-x: hidden;"
border
:height="300"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectReplaceStandNumRowChange"
>
<el-table-column
type="selection"
width="55"
align="center"
/>
<el-table-column
type="index"
width="55"
label="序号"
align="center"
>
<template slot-scope="{scope, column, $index}">
{{ ($index + 1) + (replacePage - 1) * replaceLawsNumForm.pageSize }}
</template>
</el-table-column>
<el-table-column
label="企标编号"
>
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standCode }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="企标名称"
/>
<el-table-column
prop="issueTime"
label="发布日期"
width="130"
>
<template slot-scope="scope">
{{ scope.row.issueTime ?
$moment(scope.row.issueTime).format('YYYY-MM-DD') : '' }}
</template>
</el-table-column>
<el-table-column
prop="textStatusBuss"
label="标准状态"
width="130"
>
<template slot-scope="scope">
<span>{{ scope.row.standStatusShow }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="replaceLoading">{{ $t('m.dataAcquisition') }}</loading>
<!--分页-->
<pagination
:auto-size="true"
:page-size="replaceLawsNumForm.pageSize"
style="position: relative;"
:page="replacePage"
:total="replaceTotal"
@pageChange="pageChangeReplace"
@pageSizeChange="pageSizeChangeReplace"
/>
<div slot="footer" class="demo-drawer-footer">
<el-button
:disabled="disabledXX"
class="common-button-default"
round
icon="el-icon-close"
@click="replaceLawsNumModel = false"
>
取消
</el-button>
<el-button
:disabled="disabledXX"
type="primary"
round
class="common-button-primary"
icon="el-icon-check"
@click="replaceLawsNumModelBt"
>
提交
</el-button>
</div>
</el-dialog>
<Role-tree
v-if="!disabledXX"
:is-title="drawerTitle"
:is-visible.sync="modalShowRoleFlag"
:nodeList="nodeList2"
@checkedRole="checkedRole2"
/>
<Role-tree
v-if="!disabledXX"
check-box
:is-title="drawerTitle"
:is-visible.sync="modalShowFlag"
:nodeList="nodeList"
@checkedRole="checkedRole"
/>
<!--选择研究总院主管副院长-->
<Role-tree
v-if="!disabledXX"
:is-title="drawerTitle"
:is-visible.sync="modalShowFlagZHR"
:nodeList="nodeList"
@checkedRole="checkedRoleZHR"
/>
<!-- <el-drawer v-if="!disabledXX" -->
<!-- :title="drawerTitle"-->
<!-- :visible.sync="modalShowFlag"-->
<!-- :wrapperClosable="false"-->
<!-- size="800px">-->
<!-- <el-input :disabled="disabledXX" -->
<!-- style="width:70%;padding: 10px"-->
<!-- placeholder="请输入姓名"-->
<!-- v-model="filterText">-->
<!-- </el-input>-->
<!-- <el-tree-->
<!-- :filter-node-method="filterNode"-->
<!-- v-if="modalShowFlag"-->
<!-- node-key="id"-->
<!-- style="height: 100%; overflow: auto;"-->
<!-- class="filter-tree"-->
<!-- :data="treeData"-->
<!-- :props="defaultUserProps"-->
<!-- :default-checked-keys="nodeList"-->
<!-- highlight-current-->
<!-- check-strictly-->
<!-- @check="drawerCheck"-->
<!-- default-expand-all-->
<!-- :expand-on-click-node="false"-->
<!-- show-checkbox-->
<!-- ref="tree">-->
<!-- </el-tree>-->
<!-- <div id="roleFormButton" class="demo-drawer-footer">-->
<!-- <el-button :disabled="disabledXX" class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>-->
<!-- <el-button :disabled="disabledXX" class="common-button-default" size="mini" icon="el-icon-close" @click="cancelUserInfo">取消</el-button>-->
<!-- </div>-->
<!-- </el-drawer>-->
<!-- 选择标准的弹框 -->
<el-drawer
v-if="!disabledXX"
ref="standard"
title="查询结果"
size="1300px"
:visible.sync="standardDrawer"
direction="rtl"
:before-close="handleReviseDrawerClose"
>
<div class="standard-content">
<div class="content">
<div class="standard-table-search">
<el-form
:model="standardSearchForm"
inline
class="label-input-form search-area"
style="justify-content:left"
>
<!-- <el-form-item label="计划状态" style="margin-right:-20px" prop="planStatus" class="search-item" >-->
<!-- <el-select :disabled="disabledXX" v-model="standardSearchForm.planStatus" placeholder="请选择计划状态">-->
<!-- <el-option label="制定" value="2"></el-option>-->
<!-- <el-option label="修订" value="1"></el-option>-->
<!-- <el-option label="完成" value="0"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="制修订状态" style="margin-right:-20px" prop="reviseStatus" class="search-item" >-->
<!-- <el-select :disabled="disabledXX" v-model="standardSearchForm.reviseStatus" placeholder="请选择制修订状态">-->
<!-- <el-option label="制定完成" value="0"></el-option>-->
<!-- <el-option label="制定中" value="1"></el-option>-->
<!-- <el-option label="未制定" value="2"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item
v-if="this.form.reviseStatus === '1' || this.form.reviseStatus === '2'"
label="企标名称"
style="margin-right:20px"
prop="esName"
class="search-item"
>
<el-input
v-model="standardSearchForm.esName"
:disabled="disabledXX"
placeholder="请输入企标名称"
clearable
:maxlength="100"
/>
</el-form-item>
<el-form-item
v-if="this.form.reviseStatus === '1' || this.form.reviseStatus === '2'"
label="起草责任单位"
style="margin-right:20px"
prop="unit"
class="search-item"
>
<el-input
v-model="standardSearchForm.unit"
:disabled="disabledXX"
style="width:176px"
placeholder="请输入起草责任单位"
clearable
:maxlength="100"
/>
</el-form-item>
<el-form-item
v-if="this.form.reviseStatus === '3'"
label="企标编号"
style="margin-right:20px"
prop="unit"
class="search-item"
>
<el-input
v-model="standardSearchForm.standCode"
:disabled="disabledXX"
style="width:176px"
placeholder="请输入企标编号"
clearable
:maxlength="100"
/>
</el-form-item>
<el-form-item
v-if="this.form.reviseStatus === '3'"
label="起草单位"
style="margin-right:20px"
prop="unit"
class="search-item"
>
<el-input
v-model="standardSearchForm.QCDW"
:disabled="disabledXX"
style="width:176px"
placeholder="请输入起草单位"
clearable
:maxlength="100"
/>
</el-form-item>
<el-form-item
v-if="this.form.reviseStatus === '3'"
label="中文名称"
style="margin-right:20px"
prop="unit"
class="search-item"
>
<el-input
v-model="standardSearchForm.standName"
:disabled="disabledXX"
style="width:176px"
placeholder="请输入中文名称"
clearable
:maxlength="100"
/>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
:disabled="disabledXX"
type="primary"
class="common-button-primary"
size="small"
@click="handleSearchStandard"
>
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
:disabled="disabledXX"
class="common-button-default"
size="small"
@click="handleResetSearch"
>
清空
</el-button>
</el-form-item>
</el-form>
</div>
<div class="standard-table-wrap">
<el-table
ref="reviseDrawerTable"
:data="tableData.standardData"
tooltip-effect="dark"
style="width: 100%;"
:height="tableHeight.standardTableHeight"
border
class="drag-table"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
@selection-change="standSelectChange"
>
<el-table-column
type="selection"
width="55"
align="center"
/>
<el-table-column
type="index"
label="序号"
width="80"
align="center"
>
<template slot-scope="scope">
<span :style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}">
{{ (scope.$index + 1) + (standardSearchForm.page - 1) * standardSearchForm.pageSize }}
</span>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '1' || this.form.reviseStatus === '2'"
prop="bussSort"
label="企标类别"
align="center"
width="120"
>
<template slot-scope="scope">
<span :style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}">{{ scope.row.bussSort }}</span>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '1' || this.form.reviseStatus === '2'"
prop="esName"
label="企标名称"
align="center"
width="120"
>
<template slot-scope="scope">
<span :style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}">{{ scope.row.esName }}</span>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '1' || this.form.reviseStatus === '2'"
prop="planStatus"
label="计划状态"
align="center"
width="150"
>
<template slot-scope="scope">
<div
:style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}"
>
{{ getMap1(scope.row.planStatus) }}
</div>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '1' || this.form.reviseStatus === '2'"
prop="reviseStatus"
width="150"
align="center"
label="制修订状态"
>
<template slot-scope="scope">
<div
:style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}"
>
{{ scope.row.reviseStatus === ''? '' : (scope.row.reviseStatus === '1'? '制定' :
'修订') }}
</div>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '1' || this.form.reviseStatus === '2'"
prop="drafterName"
width="120"
align="center"
label="起草人"
>
<template slot-scope="scope">
<span :style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}">{{ scope.row.drafterName }}</span>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '1' || this.form.reviseStatus === '2'"
prop="resPersonName"
width="120"
align="center"
label="评审责任人"
>
<template slot-scope="scope">
<span :style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}">{{ scope.row.resPersonName }}</span>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '1' || this.form.reviseStatus === '2'"
prop="wgLeaderName"
width="120"
align="center"
label="工作组组长"
>
<template slot-scope="scope">
<span :style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}">{{ scope.row.wgLeaderName }}</span>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '1' || this.form.reviseStatus === '2'"
prop="draftTime"
width="200"
align="center"
label="计划标准初稿完成时间"
>
<template slot-scope="scope">
<span
:style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}"
>{{ scope.row.draftTime ? $moment(scope.row.draftTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '1' || this.form.reviseStatus === '2'"
width="200"
prop="releaseTime"
align="center"
label="计划标准发布时间"
>
<template slot-scope="scope">
<span
:style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}"
>{{ scope.row.releaseTime ? $moment(scope.row.releaseTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '1' || this.form.reviseStatus === '2'"
align="center"
prop="unitName"
label="起草责任单位"
>
<template slot-scope="scope">
<span :style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}">{{ scope.row.unitName }}</span>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '3'"
align="center"
prop="standCode"
label="企标编号"
>
<template slot-scope="scope">
<span :style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}">{{ scope.row.standCode }}</span>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '3'"
align="center"
prop="standName"
label="中文名称"
>
<template slot-scope="scope">
<span :style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}">{{ scope.row.standName }}</span>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '3'"
align="center"
prop="standStatusShow"
label="标准状态"
>
<template slot-scope="scope">
<span :style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}">{{ scope.row.standStatusShow }}</span>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '3'"
align="center"
prop="dtqbbhbuss"
label="代替企标编号"
>
<template slot-scope="scope">
<span :style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}">{{ scope.row.dtqbbhbuss }}</span>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '3'"
align="center"
prop="issueTime"
label="发布日期"
>
<template slot-scope="scope">
<span :style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}">{{ scope.row.issueTime }}</span>
</template>
</el-table-column>
<el-table-column
v-if="this.form.reviseStatus === '3'"
align="center"
prop="putTime"
label="实施日期"
>
<template slot-scope="scope">
<span :style="{color: scope.row.standStatusShow === '作废'? '#F56C6C': '#333'}">{{ scope.row.putTime }}</span>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- v-if="this.form.reviseStatus === '3'"-->
<!-- align="center"-->
<!-- prop="revisionStatus"-->
<!-- label="企标制修订状态">-->
<!-- </el-table-column>-->
<!-- <el-table-column label="操作" align="center" width="80">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button :disabled="disabledXX" -->
<!-- class="opera-btn"-->
<!-- size="mini"-->
<!-- type="primary"-->
<!-- @click="handlePreview(scope.row)">查看-->
<!-- </el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</div>
<pagination
:auto-size="true"
:page-size="standardSearchForm.pageSize"
:page="standardSearchForm.page"
:total="tableCount"
@pageChange="handleStandardPageChange"
@pageSizeChange="handleStandardPageSizeChange"
/>
<loading :loading="loadSarStandard">数据获取中</loading>
</div>
</div>
<div class="demo-drawer-footer">
<el-button
:disabled="disabledXX"
round
class="common-button-primary"
icon="el-icon-check"
type="primary"
@click="handleProcessStandardNext(2)"
>
带入
</el-button>
<el-button
:disabled="disabledXX"
round
class="common-button-default"
icon="el-icon-close"
@click="handleProcessStandardNext(3)"
>
取消
</el-button>
</div>
</el-drawer>
<Mechanism-tree
v-if="!disabledXX"
is-title="选择部门信息"
:is-visible.sync="modalShowFlagZRBM"
:nodeList="nodeListZRBM"
@checkedRole="drawerCheckZRBM"
/>
<!-- 组件树-->
<tree-select-new
v-if="!disabledXX"
:multiple="false"
:lazy="false"
:modalShowFlag="modalShowFlag1"
:drawerTitle="drawerTitle"
width="500"
:data="standSystemOptions"
:defaultProps="defaultProps"
:checkedKeys="defaultCheckedKeys"
:nodeKey="nodeKey"
@popoverHide="popoverHide"
@popoverHideCancel="popoverHideCancel"
/>
<tree-select-new
v-if="!disabledXX"
width="500"
:lazy="true"
:multiple="multipleFlag2"
:check-strictly="true"
:modalShowFlag="modalShowFlag2"
:drawerTitle="drawerTitle"
:type="type"
:url="url"
:urlChild="urlChild"
:defaultProps="defaultCodeProps"
:checkedKeys="defaultCheckedKeys1"
:nodeKey="nodeKeyCode"
@popoverHide="popoverHideBusVs"
@popoverHideCancel="popoverHideBusVsCancel"
/>
<tree-select-new
v-if="!disabledXX"
width="500"
:lazy="true"
:multiple="true"
:check-strictly="true"
:modalShowFlag="modalShowFlag3"
:drawerTitle="drawerTitle"
:url="url"
:type="'truck'"
:urlChild="urlChild"
:defaultProps="defaultCodeProps"
:checkedKeys="defaultCheckedKeys2"
:nodeKey="nodeKeyCode"
@popoverHide="popoverHideCarVs"
@popoverHideCancel="popoverHideCarVsCancel()"
/>
<tree-select-module
v-if="!disabledXX"
width="500"
:lazy="true"
:multiple="true"
:check-strictly="true"
:modalShowFlag="modalShowFlag4"
:drawerTitle="drawerTitle"
:url="url"
:urlChild="urlChild"
:defaultProps="defaultModelProps"
:checkedKeys="defaultCheckedKeys3"
:nodeKey="nodeKeyModel"
@popoverHide="popoverHideModel"
@popoverHideCancel="popoverHideModelCancel()"
/>
<tree-select-module
v-if="!disabledXX"
width="500"
:lazy="true"
:multiple="true"
:check-strictly="true"
:modalShowFlag="modalShowFlag5"
:drawerTitle="drawerTitle"
:url="url"
:type="modelType"
:urlChild="urlChild"
:defaultProps="defaultModelProps"
:checkedKeys="defaultCheckedKeys4"
:nodeKey="nodeKeyModel"
@popoverHide="popoverCarHideModel"
@popoverHideCancel="popoverCarHideModelCancel()"
/>
<loading :loading="ccc">加载数据</loading>
</div>
</template>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { saveTaskFirst, queryTaskFirst, getBusStandFileByAttId, taskDel } from 'api/process';
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
import treeSelectModule from '@/components/treeSelect/treeSelectModule.vue';
import { selectByIdAtt } from '@/api/flow/index.js'
import ReceiptDescription from '@/components/hzwlComponents/ReceiptDescription'
import { onlyOfficeUrl } from '@/sysConfig'
const Base64 = require('js-base64').Base64;
export default {
name: 'BussLibrary1',
components: {
ReceiptDescription,
ProcessHeader,
ProcessFooter,
ProcessTitle,
TreeSelect,
TreeSelectNew,
treeSelectModule
},
filters: {
ellipsis (value) {
if (!value) return ''
if (value.length > 35) {
return value.slice(0, 35) + '...'
}
return value
}
},
data () {
const validateZrUserIdName = (rule, value, callback) => {
if (this.FBGBUSSFileList.length === 0) {
callback(new Error('请上传发布稿文件!'))
}
// callback()
};
const validateStandName = (rule, value, callback) => {
if (this.form.planId === undefined || this.form.planId === null || this.form.planId === '') {
callback(new Error('请先选择企标计划带入企标名称!'))
} else if (value === undefined || value === null || value === '') {
callback(new Error('请输入企标名称!'))
} else {
callback()
}
};
const validateStandSort = (rule, value, callback) => {
if (this.form.planId === undefined || this.form.planId === null || this.form.planId === '') {
callback(new Error('请先选择企标计划带入企标类别!'))
} else if (value === undefined || value === null || value === '') {
callback(new Error('请选择企标类别!'))
} else {
callback()
}
callback()
};
const validateModelName = (rule, value, callback) => {
if (this.FBGBUSSFileList.length === 0) {
callback(new Error('请上传发布稿文件!'))
}
// callback()
};
const validateFBGBUSS = (rule, value, callback) => {
// if(this.FBGBUSSFileList.length === 0){
// callback(new Error('请上传发布稿文件!'))
// }
callback()
};
const validateBZSMBUSS = (rule, value, callback) => {
if (this.BZSMBUSSFileList.length === 0) {
callback(new Error('请上传编辑说明文件!'))
}
callback()
};
return {
pickerOptions: {
shortcuts: [ {
text: '最近一周',
onClick (picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [ start, end ]);
}
}, {
text: '最近一个月',
onClick (picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [ start, end ]);
}
}, {
text: '最近三个月',
onClick (picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [ start, end ]);
}
} ]
},
ccc: false,
disabledXX: !!this.$route.query.disabledXX,
bpnId: this.$route.query.bpnId,
opinionsStand: [
{ value: '1', label: '制定' },
{ value: '2', label: '修订' },
{ value: '3', label: '修改' },
],
fileList: [],
FBGBUSSFileList: [],
BZSMBUSSFileList: [],
LSBBBUSSFileList: [],
QTWJBUSSFileList: [],
GLWJBUSSFileList: [],
caFileList: [],
FBGBJBDFileList: [],
xgdFileList: [],
ZCWBLAWSFileList: [],
GCWBLAWSFileList: [],
JDWJLAWSFileList: [],
GLWJLAWSFileList: [],
ssgFileList: [],
zqyjgFileList: [],
jdwjFileList: [],
zbjbdFileList: [],
kwjFileList: [],
glwjFileList: [],
filterText: '',
textStatusMap: {}, // 标准状态id与name对应
standardDrawer: false,
loadSarStandard: false,
verifySarStandard: true,
standardSearchForm: {
standName: '',
standCode: '',
QCDW: '',
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
unit: '',
esName: '',
planStatus: '0,3,6',
reviseStatus: '',
},
tableData: {
// 标准表格数据
standardData: [],
// 任务分解单数据
taskTableData: []
},
tableCount: 0,
tableHeight: {
standardTableHeight: null
},
selectedList: [],
standardCheckedList: [],
activeName: '1',
roleRow: {},
commentText: '', // 意见
title: '', // 新增编辑抽屉标题
config: {
attrName: '',
},
dataSource: false,
replaceLawsNumModel: false,
replaceLawType: '',
sarBussionessLawsEO: {
replaceLawsNum: ''
},
// 代替标准号
replaceLawsNumForm: {
lawsNumber: '',
numberName: '',
lawsTextState: '',
dataSource: '',
standNumber: '', // 标准编号
page: 1,
pageSize: 20,
total: 0,
standType: 'BUSINESS',
quoteIdList: '',
validFlag: '0',
menuId: 'nomenu'
},
replaceLawsNumRow: [], // 代替政策号 数组内容
replaceTotal: 0,
selectedListRep: [],
replaceLoading: true,
replacePage: 1,
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
defaultProps: {
children: 'children',
label: 'menuName'
},
defaultCodeProps: {
children: 'children',
label: 'code'
},
defaultModelProps: {
children: 'children',
label: 'model'
},
modalShowFlagZRBM: false,
nodeListZRBM: [],
nodeList: [],
nodeList2: [],
zrType: '',
zrIndex: '',
zrIdList: [],
type: '',
defaultUserProps: {
children: 'children',
label: 'name'
},
key: 1,
key1: 2,
key2: 3,
key3: 4,
treeData: [], // 人员数据
modalShowFlag: false, // drawer开关
modalShowFlagZHR: false, // drawer开关
modalShowRoleFlag: false, // drawer开关
modalShowFlag1: false, // drawer开关
modalShowFlag2: false, // drawer开关
modalShowFlag3: false, // drawer开关
modalShowFlag4: false, // drawer开关
modalShowFlag5: false, // drawer开关
drawerTitle1: '',
multipleFlag2: '',
url: '',
urlChild: '',
modelType: '',
drawerTitle: '', // drawer标题
showCheckBox: true, // 树形控件是否展示多选框
nodeKey: 'id',
defaultCheckedKeys: [],
nodeKeyCode: 'code',
nodeKeyModel: 'model',
defaultCheckedKeys1: [],
defaultCheckedKeys2: [],
defaultCheckedKeys3: [],
defaultCheckedKeys4: [],
fileUrl: 'api/att/attFile/uploadNew',
fileMadel: false,
fileType: '',
countryArr: '',
commentCycleDate: '',
planDisabled: true,
form: {
fsRejectStatus: '',
planId: '',
planStatus: '',
reviseStatus: '',
modelData: [],
modelDataNameVerify: [],
modelDataZrUserVerify: [],
// 基础信息
country: [],
// 基础信息
standSort: '',
standCode: '',
standYear: '',
standName: '',
standEnName: '',
textStatusBuss: '',
issueTime: '',
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: this.dateFormatter(),
CYCD: '',
CYBZ: '',
YYBZ: '',
standNum: '',
}, // 标准信息
roleForm: {
cfqUserId: this.$store.getters.userInfo.userId,
cfqUserName: this.$store.getters.userInfo.userName,
hzUserId: this.$store.getters.userInfo.userId,
hzUserName: this.$store.getters.userInfo.userName,
xdUserId: this.$store.getters.userInfo.userId,
xdUserName: this.$store.getters.userInfo.userName,
pxUserId: this.$store.getters.userInfo.userId,
pxUserName: this.$store.getters.userInfo.userName,
fbUserId: '',
fbUserName: '',
qcUserId: '', // 多实例
qcUserName: '', // 多实例
bzhUserId: '',
bzhUserName: '',
hqUserId: '', // 多实例
hqUserName: '', // 多实例
fggcsUserId: '',
fggcsUserName: '',
jsfzrUserId: '',
jsfzrUserName: '',
bzUserId: '',
bzUserName: '',
fzrUserId: '',
fzrUserName: '',
zhrUserId: '',
zhrUserName: '',
zrUserId: '',
zrUserName: '',
jlUserId: '',
jlUserName: '',
applyUpdUserId: this.$store.getters.userInfo.userId,
applyUpdUserName: this.$store.getters.userInfo.userName,
prcCreateUser: this.$store.getters.userInfo.userId,
prcCreateUserName: this.$store.getters.userInfo.userName,
},
modelRules: {
zrUserIdName: [
{ required: true, message: '选择会签征求意见人员', trigger: 'blur' },
],
modelName: [
{ required: true, message: '选择维护模块名称', trigger: 'blur' },
],
},
roleRules: {
qcUserName: [
{ required: true, message: '选择其他起草人', trigger: 'blur' },
],
bzhUserName: [
{ required: true, message: '选择总院各中心兼职标准化员/各事业部标准化员', trigger: 'blur' },
],
hqUserName: [
{
required: true,
message: '选择郑兆丽、蒋敏、吴娟、李中立、王晶9、耿红静、张蕾61、符青萍、刘金英、技术委员会相关成员、总院相关中心总工及四五级工程师',
trigger: 'blur'
},
],
fggcsUserName: [
{ required: true, message: '选择标准法规工程师', trigger: 'blur' },
],
jsfzrUserName: [
{ required: true, message: '选择起草单位高级经理', trigger: 'blur' },
],
bzUserName: [
{ required: true, message: '选择标准法规部高级经理', trigger: 'blur' },
],
fzrUserName: [
{ required: true, message: '选择标委会主任', trigger: 'blur' },
],
zhrUserName: [
{
required: true,
message: '选择研究总院主管副院长',
trigger: 'blur'
},
],
fbUserName: [
{ required: true, message: '选择标准法规工程师', trigger: 'blur' },
],
},
rules: {
zrUserIdName: [
{ required: true, message: '请选择会签责任人', validator: validateZrUserIdName, trigger: 'blur' },
],
modelName: [
{ required: true, message: '选择维护模块名称', validator: validateModelName, trigger: 'blur' },
],
standSort: [
{ required: true, validator: validateStandSort, trigger: 'change' }
],
standNumber: [
{ required: true, message: '请输入企标编号', trigger: 'blur' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' },
],
standYear: [
{ required: true, message: '请输入标准年份' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' },
],
standName: [
{ required: true, validator: validateStandName, trigger: 'blur' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' },
// {validator: this.verify.checkSpecialCharacterOftags, trigger: 'change'}
],
standEnName: [
{ required: false, message: '请输入企标英文名称', trigger: 'blur' },
{ min: 1, max: 200, message: '长度在 1 到 200 个字符', trigger: 'blur' },
{ validator: this.verify.valiateEnName, trigger: 'change' }
],
textStatusBuss: [
{ required: true, message: '请选择标准状态', trigger: 'change' }
],
issueTime: [
{ required: false, message: '请选择企标发布日期', trigger: 'change' }
],
// putTime: [
// {required: true, message: '请选择企标实施日期', trigger: 'change'}
// ],
FBGBUSSName: [
{ required: false, message: '请上传发布稿', validator: validateFBGBUSS, trigger: 'blur' }
],
BZSMBUSSName: [
{ required: true, message: '请上传编制说明', validator: validateBZSMBUSS, trigger: 'blur' }
],
QCDW: [
{ required: true, message: '请选择起草部门', trigger: 'change' }
],
QCRBUSS: [
{ required: true, message: '请选择起草人', trigger: 'change' }
],
// DTQBBHBUSS: [
// { required: true, message: '请选择代替企标编号', trigger: 'change' }
// ],
DTQBBHBUSSNot: [],
},
zrUserIds: [], // 选择多个会签责任人
userType: '', // 选择用户ID判断
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: {}, // 新增数据
fileId: '',
fileName: '',
}
},
watch: {
'form.issueTime': {
handler: function () {
if (this.form.issueTime !== undefined && this.form.issueTime !== null && this.form.issueTime !== '') {
const date = new Date(this.$moment(this.form.issueTime).format('YYYY-MM-DD'))
// const FSRQBUSS = date.getFullYear()+ 5 + '-' + date.getMonth() + '-' + date.getDate()
// this.sarBussionessStandEO["FSRQBUSS"] = FSRQBUSS
const year = date.getFullYear() + 5;
let month = (date.getMonth() + 1).toString();
let day = (date.getDate()).toString();
if (month.length == 1) {
month = '0' + month;
}
if (day.length == 1) {
day = '0' + day;
}
const FSRQBUSS = year + '-' + month + '-' + day;
this.form['FSRQBUSS'] = FSRQBUSS
}
},
},
'form.country': {
handler (val) {
if (val !== '' && val !== null && typeof (val) !== 'undefined') {
if (val instanceof Array) {
this.countryArr = val.join(',');
} else {
this.countryArr = val
}
} else if (val === '') {
this.countryArr = []
}
}
},
'roleForm.qcUserName': {
handler (val) {
console.log(val)
}
},
filterText (val) {
this.$refs.tree.filter(val);
},
'form.standName': {
handler: function (val) {
if (val && val !== '') {
this.form.FBGBUSSName = val
if (this.FBGBUSSFileList.length > 0 && !this.FBGBUSSFileList[0].id.startsWith('ATT_FILE')) {
this.FBGBUSSFileList[0].name = val
}
// this.FBGBUSSFileList = []
// this.FBGBUSSFileList = this.assemble(this.form.FBGBUSS, val);
} else {
this.form.FBGBUSSName = '企业标准'
if (this.FBGBUSSFileList.length > 0) {
this.FBGBUSSFileList[0].name = '企业标准'
}
// this.FBGBUSSFileList = []
// this.FBGBUSSFileList = this.assemble(this.form.FBGBUSS, '企业标准');
}
}
},
},
mounted () {
this.getTaskId()
this.getTree()
if (this.$route.query) {
this.form.reviseStatus = this.$route.query.reviseStatus
}
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;// 采标程度
})
if (this.$route.query.bpnId === undefined && this.$route.query.taskIds === undefined) {
this.$http.get('/lawss/activiti/saveEditFile', {
model: 'model_qb'
}, {
_this: this
}, res => {
if (res) {
this.form.FBGBUSS = res.id
this.form.FBGBUSSName = '企业标准'
this.fileId = res.id
this.fileName = '企业标准'
this.FBGBUSSFileList = this.assemble(res.id, '企业标准');
}
})
} else {
this.FBGBUSSFileList = this.assemble(this.form.FBGBUSS, this.form.FBGBUSSName);
}
},
methods: {
getMap1 (item) {
const map = new Map();
map.set('0', '未开始')
map.set('1', '制定中')
map.set('2', '修订中')
map.set('3', '已取消')
map.set('4', '已完成')
map.set('5', '立项已完成')
map.set('6', '计划已确认')
return map.get(item)
},
modelProp (row, index) {
console.log(row)
console.log(index)
if (row.pid === '0') {
console.log('modelData.' + index + '.modelName')
return 'modelData.' + index + '.modelName';
} else {
let propStr = '';
const indexList = row.modelIndex.split(',');
for (let i = 0; i < indexList.length; i++) {
if (i === 0) {
propStr += 'modelData.' + indexList[i]
} else {
propStr += '.children.' + indexList[i]
}
}
console.log(propStr + '.modelName')
return propStr + '.modelName';
}
},
modelNameFunc (row) {
if (row.modelName && row.modelName !== '') {
row.disabled = true
}
},
// 判断是否可选
checkSelect (row, index) {
let isChecked = true;
if (row.pid !== '0') { // 判断里面是否存在某个参数
isChecked = false
} else {
isChecked = true
}
return isChecked
},
handleDelete (val, row) {
console.log(row)
console.log(this.form.modelData)
// 模态框删除按钮
this.$confirm('是否确认删除本条数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'info'
}).then(() => {
// 此为假删除,只是删除了模态框中当前行的数据,并没有真正删除表格数据
const ids = []
ids.push(row.id)
this.form.modelData = this.changeRestTree(this.deletedId(this.form.modelData, ids))
console.log(this.form.modelData)
this.$message({
message: '删除成功',
type: 'success',
duration: 2000
});
this.$forceUpdate()
});
},
handleSelectionChange (val) {
this.zrIdList = []
val.forEach(item => {
this.zrIdList.push(item.id)
})
},
createRow () {
// 创建行
// if (this.diaTable.length >= 6) { // 判断当前表格是否可继续创建
// this.$message({
// message: "超出数量,无法创建",
// type: "info",
// duration: 2000
// });
// return false;
// }
const list = {
id: this.form.modelData.length + 1,
modelNum: this.form.modelData.length + 1 + '',
orderNum: this.form.modelData.length + 1, // orderNum为新创建行的索引
pid: '0',
modelIndex: this.form.modelData.length,
disabled: false,
modelName: '',
modelContent: '',
zrUserId: '',
zrUserIdName: '',
children: [],
};
this.form.modelData.push(list);
},
createChildRow (index, row) {
// 创建行
// if (this.diaTable.length >= 6) { // 判断当前表格是否可继续创建
// this.$message({
// message: "超出数量,无法创建",
// type: "info",
// duration: 2000
// });
// return false;
// }
const list = {
id: row.modelNum + '.' + (row.children.length + 1),
modelNum: row.modelNum + '.' + (row.children.length + 1),
orderNum: row.children.length + 1, // orderNum为新创建行的索引
pid: row.modelNum,
modelIndex: row.children.length,
disabled: false,
modelName: '',
modelContent: '',
zrUserId: '',
zrUserIdName: '',
children: [],
};
row.children.push(list)
},
dateFormatter () {
// 默认返回yyyy-MM-dd HH-mm-ss
const d = new Date();
const year = d.getFullYear();// 得到年
const month = (d.getMonth() + 1) < 10 ? '0' + (d.getMonth() + 1) : (d.getMonth() + 1);// 得到月
const day = d.getDate() < 10 ? '0' + d.getDate() : d.getDate();// 得到日
const hour = d.getHours() < 10 ? '0' + d.getHours() : d.getHours();// 得到时
const minute = d.getMinutes() < 10 ? '0' + d.getMinutes() : d.getMinutes();// 得到分
const second = d.getSeconds() < 10 ? '0' + d.getSeconds() : d.getSeconds();// 得到秒
return [ year, month, day ].join('-') + ' ' + [ hour, minute, second ].join(':');// 格式为:YY-MM-DD hh:mm:ss(当前时间)
},
// choiceZRRS () {
// if (this.userType === 'zrUserId') {
// this.roleForm.zrUserId = this.zrUserIds.map(item => item.id).join(",")
// this.roleForm.zrUserName = this.zrUserIds.map(item => item.name).join(",")
// }
// this.modalshowflag2 = true
// },
checkedRole2 (data) {
let idList = ''
let nameList = ''
data.forEach(item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
})
if (this.userType === 'qcUserId') {
this.roleForm.qcUserId = idList;
this.roleForm.qcUserName = nameList;
} else if (this.userType === 'hqUserId') {
this.roleForm.hqUserId = idList;
this.roleForm.hqUserName = nameList;
} else if (this.userType === 'QCRBUSS') {
this.form.QCRBUSSID = idList;
this.form.QCRBUSS = nameList;
if (data && data.length > 0) {
console.log(data)
const institutionIdList = this.unique(data.map(item => item.institutionId)).join(',')
const institutionNameList = this.unique(data.map(item => item.institutionCascade)).join(',')
this.form.QCDWID = institutionIdList
this.form.QCDW = institutionNameList
}
} else if (this.userType === 'bzUserId') {
this.roleForm.bzUserId = idList
this.roleForm.bzUserName = nameList
}
this.modalShowRoleFlag = false
},
unique (newArr) {
const res = new Map();
return newArr.filter((newArr) => !res.has(newArr) && res.set(newArr, 1));
},
checkedRoleZHR (data) {
let idList = ''
let nameList = ''
data.forEach(item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
})
this.roleForm.zhrUserId = idList
this.roleForm.zhrUserName = nameList
},
checkedRole (data) {
if (this.type === 0) {
this.roleForm.deptUserId = data[0].id
this.roleForm.deptUserIdName = data[0].name
} else if (this.type === 1) {
this.form.modelData[this.zrIndex].zrUserId = data[0].id
this.form.modelData[this.zrIndex].zrUserIdName = data[0].name
} else {
try {
this.form.modelData.forEach(item => {
this.zrIdList.forEach(items => {
if (item.id === items) {
item.zrUserId = data[0].id
item.zrUserIdName = data[0].name
}
})
})
}catch (e) {
console.log(e)
}
}
if (this.userType === 'bzhUserId') {
this.roleForm.bzhUserId = data[0].id
this.roleForm.bzhUserName = data[0].name
} else if (this.userType === 'fggcsUserId') {
this.roleForm.fggcsUserId = data[0].id
this.roleForm.fggcsUserName = data[0].name
} else if (this.userType === 'jsfzrUserId') {
this.roleForm.jsfzrUserId = data[0].id
this.roleForm.jsfzrUserName = data[0].name
} else if (this.userType === 'bzUserId') {
this.roleForm.bzUserId = data[0].id
this.roleForm.bzUserName = data[0].name
} else if (this.userType === 'fzrUserId') {
this.roleForm.fzrUserId = data[0].id
this.roleForm.fzrUserName = data[0].name
} else if (this.userType === 'zhrUserId') {
this.roleForm.zhrUserId = data[0].id
this.roleForm.zhrUserName = data[0].name
} else if (this.userType === 'qcUserId') {
this.roleForm.qcUserId = data[0].id
this.roleForm.qcUserName = data[0].name
} else if (this.userType === 'pxUserId') {
this.roleForm.pxUserId = data[0].id
this.roleForm.pxUserName = data[0].name
} else if (this.userType === 'fbUserId') {
this.roleForm.fbUserId = data[0].id
this.roleForm.fbUserName = data[0].name
}
this.modalShowFlag = false
},
// 责任人会签姓名搜索
filterNode (value, data) {
if (!value) return true;
return data.name.indexOf(value) !== -1;
},
getTaskId () {
if (this.$route.query.bpnId) {
this.ccc = true
queryTaskFirst({
bpnId: this.$route.query.bpnId
}).then(res => {
this.verifySarStandard = this.$route.query.verifySarStandard
const mes = JSON.parse(res.mes)
mes.form.date = new Date(this.$moment(mes.form.date).format('YYYY-MM-DD'))
this.form = mes.form
this.form.XCSJBUSS = this.dateFormatter()
this.FBGBUSSFileList = this.assemble(this.form.FBGBUSS, this.form.FBGBUSSName);
this.BZSMBUSSFileList = this.assemble(this.form.BZSMBUSS, this.form.BZSMBUSSName);
this.LSBBBUSSFileList = this.assemble(this.form.LSBBBUSS, this.form.LSBBBUSSName);
this.QTWJBUSSFileList = this.assemble(this.form.QTWJBUSS, this.form.QTWJBUSSName);
this.GLWJBUSSFileList = this.assemble(this.form.GLWJBUSS, this.form.GLWJBUSSName);
this.roleForm = mes.roleForm
this.commentText = mes.commentText
this.ccc = false
})
} else {
this.form.XCSJBUSS = this.dateFormatter()
}
},
assemble (ids, names) {
const list = new Array();
if (ids && ids !== '' && names && names !== '') {
const idArray = ids.split(',');
const nameArray = names.split(',');
for (let i = 0; i < idArray.length; i++) {
list.push({ id: idArray[i], name: nameArray[i] });
}
}
return list;
},
// 将标准状态的id与name对应
setMap (data) {
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label)
})
},
clearFormData (data) {
this.form = {
// 基础信息
standInData: data.standInData ? data.standInData : '0', // 标准类型
standSort: data.standSort ? data.standSort : '', // 标准类别
standNumber: data.standNumber ? data.standNumber : '', // 标准编号
standNature: data.standNature ? data.standNature : '', // 标准性质
standEnName: data.standEnName ? data.standEnName : '', // 英文名称
standName: data.standName ? data.standName : '', // 中文名称
signFlag: data.signFlag ? data.signFlag : '1', // 是否需要会签
// 基础信息
standCode: '',
standYear: '',
textStatusBuss: '',
issueTime: '',
putTime: '',
FZRQBUSS: '',
FSRQBUSS: '',
// 过程稿件
FBGBUSS: '',
FBGBUSSName: '',
BZSMBUSS: '',
BZSMBUSSName: '',
LSBBBUSS: '',
LSBBBUSSName: '',
QTWJBUSS: '',
QTWJBUSSName: '',
// 适用范围
QCDW: '',
QCRBUSS: '',
WJSCRYBUSS: '',
SYCXCLASS: '',
NYLXCLASS: '',
SYCPXCLASS: '',
TXLBBUSS: '',
VPPSBMBUSS: '',
VPPSCNBUSS: '',
// 关联信息
DTQBBHBUSS: '',
BDTQBBHBUSS: '',
XGJLBUSS: '',
XGLC: '',
GLWJBUSS: '',
GLWJBUSSName: '',
XCSJBUSS: this.dateFormatter(),
} // 标准信息
},
viewOnlyOffice (item) {
const key = new Date().getTime()
let oldFileName = item.name
let index1 = oldFileName.lastIndexOf('.')
let fileSuffix = oldFileName.substring(index1+1, oldFileName.length)
fileSuffix = fileSuffix.toLowerCase()
oldFileName = oldFileName.substring(0, index1)
if (fileSuffix == 'pdf' || fileSuffix == 'doc' || fileSuffix == 'docx'){
window.open(onlyOfficeUrl + '/viewHistoryOnlyOffice?oldFileName=' + oldFileName + '&fileType=' + fileSuffix +
'&attId=' + item.id + '&key=' + key + '&userName=' + this.$store.getters.userInfo.uName)
}else{
this.$message.warning('此文件不支持onlyoffice预览')
}
},
filterObj (obj) {
if (obj && obj !== '') {
if (obj instanceof Array) {
return obj;
} else {
return obj.split(',')
}
}
return '';
},
filterDate (data) {
if (data === undefined || data === null || data === '' || data === 'null') {
return ''
} else if (data.toString().indexOf(',') !== -1) {
data = data.toString().split(',')
} else {
data = data.toString()
}
return data
},
filterStringDate (data) {
if (data === undefined || data === null || data === '' || data === 'null') {
return ''
} else {
data = data.toString()
}
return data
},
handleProcessStandardNext (status) {
switch (status) {
// 新增
case 1:
this.selectedList = []
this.standardCheckedList = []
this.standardDrawer = false
this.verifySarStandard = true
this.clearFormData(this.form)
break
// 带入
case 2:
if (this.standardCheckedList.length === 1) {
console.log(this.standardCheckedList);
this.form.standName = this.standardCheckedList[0].esName || this.standardCheckedList[0].standName
this.form.standSort = this.standardCheckedList[0].bussSort || this.standardCheckedList[0].standSort
this.form.planId = this.standardCheckedList[0].id
this.form.planStatus = this.standardCheckedList[0].planStatus
this.form.reviseStatus = this.form.reviseStatus === '3' ? this.form.reviseStatus : this.standardCheckedList[0].reviseStatus
this.$http.get('lawss/sarBussionessStand/getStandInfoUpdateById', {
id: this.standardCheckedList[0].id
}, {
_this: this
}, res => {
this.form.standEnName = res.data.standEnName
this.form.putTime = res.data.putTime
this.form.QCDW = res.data.attrInfoMap.QCDW
this.form.WJSCRYBUSSName = res.data.attrInfoMap.WJSCRYBUSS
this.form.NYLXCLASS = res.data.attrInfoMap.NYLXCLASS ? res.data.attrInfoMap.NYLXCLASS.split(',') : []
this.form.SYCXCLASS = res.data.attrInfoMap.SYCXCLASS ? res.data.attrInfoMap.SYCXCLASS.split(',') : []
this.form.CYCVPPSBMBUSS = res.data.attrInfoMap.CYCVPPSBMBUSS
this.form.KCVPPSBMBUSS = res.data.attrInfoMap.KCVPPSBMBUSS
this.form.SYCPXCLASS = res.data.attrInfoMap.SYCPXCLASS ? res.data.attrInfoMap.SYCPXCLASS.split(',') : []
this.form.CYCD = res.data.attrInfoMap.CYCD ? res.data.attrInfoMap.CYCD.split(',') : []
this.form.TXLBBUSS = res.data.attrInfoMap.TXLBBUSS
this.form.QCRBUSS = res.data.attrInfoMap.QCRBUSS
this.form.CYCVPPSCNBUSS = res.data.attrInfoMap.CYCVPPSCNBUSS
this.form.KCVPPSCNBUSS = res.data.attrInfoMap.KCVPPSCNBUSS
this.form.DTQBBHBUSS = res.data.attrInfoMap.DTQBBHBUSS
this.form.CYBZ = res.data.attrInfoMap.CYBZ
this.form.YYBZ = res.data.attrInfoMap.YYBZ
this.form.XCSJBUSS = res.data.attrInfoMap.XCSJBUSS
if (this.form.standName) {
this.fileName = this.form.standName
}
const FBGBUSS = this.fileId
const FBGBUSSName = this.fileName
try {
this.FBGBUSSFileList = []
this.BZSMBUSSFileList = []
this.QTWJBUSSFileList = []
this.GLWJBUSSFileList = []
if(res.data.attrInfoMap.BZSMBUSS && res.data.attrInfoMap.BZSMBUSS !== '') {
this.BZSMBUSSFileList = this.assemble(this.subComma(res.data.attrInfoMap.BZSMBUSS), this.subComma(res.data.attrInfoMap.BZSMBUSSName));
}
this.FBGBUSSFileList = this.assemble(FBGBUSS, FBGBUSSName);
// this.LSBBBUSSFileList = this.assemble(res.data.attrInfoMap.LSBBBUSS.substring(0, res.data.attrInfoMap.LSBBBUSS.lastIndexOf(',')), res.data.attrInfoMap.LSBBBUSSName);
let FBGBUSSLast = ''
if(res.data.attrInfoMap.FBGBUSS && res.data.attrInfoMap.FBGBUSS !== '') {
FBGBUSSLast = this.subComma(res.data.attrInfoMap.FBGBUSS)
}
let LSBBBUSS = FBGBUSSLast
if(res.data.attrInfoMap.LSBBBUSS && res.data.attrInfoMap.LSBBBUSS !== '') {
if(FBGBUSSLast === '') {
LSBBBUSS = this.subComma(res.data.attrInfoMap.LSBBBUSS)
}else{
LSBBBUSS = FBGBUSSLast + ',' + this.subComma(res.data.attrInfoMap.LSBBBUSS)
}
}
let LSBBBUSSName = this.subComma(res.data.attrInfoMap.FBGBUSSName) + ',' + this.subComma(res.data.attrInfoMap.LSBBBUSSName)
// 发布稿空 只取历史版本
if(res.data.attrInfoMap.FBGBUSSName === null || res.data.attrInfoMap.FBGBUSSName === '') {
LSBBBUSSName = this.subComma(res.data.attrInfoMap.LSBBBUSSName)
}
// 历史版本空 只取发布稿
if(res.data.attrInfoMap.LSBBBUSSName === null || res.data.attrInfoMap.LSBBBUSSName === '') {
LSBBBUSSName = this.subComma(res.data.attrInfoMap.FBGBUSSName)
}
// 存放带入的历史版本文件名、文件id
this.LSBBBUSS = LSBBBUSS
this.LSBBBUSSName = LSBBBUSSName
this.LSBBBUSSFileList = this.assemble(LSBBBUSS, LSBBBUSSName);
if(res.data.attrInfoMap.QTWJBUSS)
this.QTWJBUSSFileList = this.assemble(this.subComma(res.data.attrInfoMap.QTWJBUSS), this.subComma(res.data.attrInfoMap.QTWJBUSSName));
if(res.data.attrInfoMap.GLWJBUSS)
this.GLWJBUSSFileList = this.assemble(this.subComma(res.data.attrInfoMap.GLWJBUSS), this.subComma(res.data.attrInfoMap.GLWJBUSSName));
}catch (e) {
console.log(e)
}
})
// 起草部门带入
this.form.QCDW = this.filterStringDate(this.standardCheckedList[0].unitName)
this.form.QCDWID = this.filterStringDate(this.standardCheckedList[0].unit)
this.form.TXLBBUSS = this.filterDate(this.standardCheckedList[0].tsJsonName)
this.form.menuId = this.filterDate(this.standardCheckedList[0].tsJson)
this.form.treeType = 'sarMs'
this.standardDrawer = false
this.verifySarStandard = true
this.planDisabled = false
this.$forceUpdate()
} else if (this.standardCheckedList.length > 1) {
this.$message.warning('最多可以带入一条计划信息')
} else {
this.$message.warning('请选择要带入的计划信息')
}
break
// 取消
case 3:
this.selectedList = []
this.standardCheckedList = []
this.standardDrawer = false
break
}
},
// 截取字符前后的逗号
subComma (str) {
if(str && str !== '') {
if(str.indexOf(',') === 0) {
str = str.slice(1)
}
if(str.lastIndexOf(',') === str.length - 1) {
str = str.slice(0, -1)
}
return str
}else{
return ''
}
},
initializeFileList (property, value) {
switch (property) {
case 'xgd':
this.getFileList(value, this.xgdFileList);
break;
case 'fbgbjbd':
this.getFileList(value, this.FBGBJBDFileList);
break;
case 'ssg':
this.getFileList(value, this.ssgFileList);
break;
case 'ca':
this.getFileList(value, this.caFileList);
break;
case 'zbjbd':
this.getFileList(value, this.zbjbdFileList);
break;
case 'kwj':
this.getFileList(value, this.kwjFileList);
break;
case 'jdwj':
this.getFileList(value, this.jdwjFileList);
break;
case 'bpg':
this.getFileList(value, this.bpgFileList);
break;
case 'zqyjg':
this.getFileList(value, this.zqyjgFileList);
break;
case 'glwj':
this.getFileList(value, this.glwjFileList);
break;
default:
}
}, getFileList (fileIds, defaultFileList) {
// 对象为引用传递
this.$http.get('att/attFile/getMultiFileInfos', {
fileIds: fileIds
}, {
_this: this
}, res => {
const fileList = res.data
if (fileList != null && fileList.length > 0) {
for (let i = 0; i < fileList.length; i++) {
const obj = { name: '', response: {} }
obj.name = fileList[i].oldFileName
obj.response.data = fileList[i]
// 根据以‘,’分割的id查询到的文件信息,放入对应的文件list中
defaultFileList.push(obj)
console.log('defaultFileList', defaultFileList);
}
}
}, e => {
})
},
handleStandardPageChange (page) {
this.standardSearchForm.page = page
this.handleSearchStandard()
},
handleStandardPageSizeChange (pageSize) {
this.standardSearchForm.pageSize = pageSize
this.handleSearchStandard()
},
standSelectChange (data) {
this.selectedList = []
for (let i = 0; i < data.length; i++) {
this.selectedList.push(data[i].id)
}
this.standardCheckedList = data
},
handleResetSearch () {
this.standardSearchForm.page = 1
this.standardSearchForm.unit = ''
this.standardSearchForm.esName = ''
this.standardSearchForm.planStatus = '0,3,6'
this.standardSearchForm.standCode = ''
this.standardSearchForm.standName = ''
this.standardSearchForm.QCDW = ''
this.standardSearchForm.reviseStatus = ''
setTimeout(() => {
this.handleSearchStandard()
}, 100)
},
/**
* 关闭修订 Drawer 的监听
* @param done
*/
handleReviseDrawerClose (done) {
this.standardSearchForm.esName = '';
this.standardSearchForm.unit = '';
this.standardSearchForm.standCode = '';
this.standardSearchForm.QCDW = '';
this.standardSearchForm.standName = ''
this.standardSearchForm.page = 1
this.standardSearchForm.pageSize = this.$store.getters.userInfo.configContent
done()
},
getDomesticStandardTable () {
console.log(this.form.reviseStatus);
this.loadSarStandard = true
let url = ''
let userInfo;
userInfo = JSON.parse(localStorage.getItem('userInfo'));
if (this.form.reviseStatus === '3') {
url = 'lawss/sarBussionessStand/getSarBussionStandPage'
} else {
url = 'esRevisePlan/es-revise-plan/queryAllPlans'
}
this.standardSearchForm = { ...this.standardSearchForm }
if (this.form.reviseStatus === '3') {
this.standardSearchForm.userId = userInfo.userId
this.standardSearchForm.isKu = 1
this.standardSearchForm.vaildFlag = 0
delete this.standardSearchForm.planStatus
}
if (this.form.reviseStatus === '3') {
this.$http.get(url, this.standardSearchForm, {
_this: this
}, res => {
this.loadSarStandard = false
if (res.ok) {
this.tableData.standardData = res.data.list
this.tableCount = res.data.count
}
}, e => {
this.loadSarStandard = false
})
} else {
this.$http.post(url, this.standardSearchForm, {
_this: this
}, res => {
this.loadSarStandard = false
if (res.ok) {
this.tableData.standardData = res.data.list
this.tableCount = res.data.count
}
}, e => {
this.loadSarStandard = false
})
}
},
handleSearchStandard () {
if (!this.form.reviseStatus) {
this.$message.warning('请先选择制修订类型')
} else {
this.tableData.standardData = []
this.standardDrawer = true
this.$nextTick(() => {
// 动态设置表格高度
this.tableHeight.standardTableHeight = $('.standard-table-wrap').height()
window.onresize = () => {
this.tableHeight.standardTableHeight = $('.standard-table-wrap').height()
}
})
this.getDomesticStandardTable()
}
},
saveUserInfo () {
this.filterText = ''
if (this.userType === 'zrUserId') {
this.roleForm.zrUserId = this.zrUserIds.map(item => item.id).join(',')
this.roleForm.zrUserName = this.zrUserIds.map(item => item.name).join(',')
} else if (this.userType === 'jlUserId') {
this.roleForm.jlUserId = this.roleRow.id
this.roleForm.jlUserName = this.roleRow.name
}
this.modalShowFlag = false
},
cancelUserInfo () {
this.filterText = ''
this.modalShowFlag = false
},
drawerCheck (data) {
if (this.userType === 'zrUserId') {
if (this.zrUserIds.length > 0) {
const list = this.zrUserIds.filter(item => item.id === data.id);
if (list.length === 0) {
this.zrUserIds.push(data)
} else {
this.zrUserIds.forEach((item, index) => {
if (item.id === data.id) {
this.zrUserIds.splice(index, 1)
}
})
}
} else {
this.zrUserIds.push(data)
}
} else {
const getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
if (getlist.length == 1) {
this.roleRow = getlist[0]
} else {
this.$refs.tree.setCheckedKeys([ data.id ]);
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
}
}
},
// 更多
handleCommand (command) {
switch (command[2]) {
case '新增':
this.createChildRow(command[0], command[1])
break
case '维护':
command[1].disabled = false
break
case '删除':
this.handleDelete(command[0], command[1])
break
}
},
choiceZRRList (type, title, id) {
this.nodeList2 = []
if (type === 'qcUserId') {
if (this.roleForm.qcUserId.length > 0) {
this.nodeList2 = this.roleForm.qcUserId.split(',')
}
} else if (type === 'hqUserId') {
if (this.roleForm.hqUserId.length > 0) {
this.nodeList2 = this.roleForm.hqUserId.split(',')
}
} else if (type === 'bzUserId') {
if (this.roleForm.bzUserId.length > 0) {
this.nodeList2 = this.roleForm.bzUserId.split(',')
}
} else if (type === 'QCRBUSS') {
if (this.form.QCRBUSSID.length > 0) {
this.nodeList2 = this.form.QCRBUSSID.split(',')
}
}
this.userType = type
this.drawerTitle = title
this.modalShowRoleFlag = true
},
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.userType = type
this.drawerTitle = title
this.modalShowFlag = true
},
choiceZHR (type, title, id) {
this.nodeList = []
this.nodeList = JSON.parse(JSON.stringify(id.split(',')))
this.userType = type
this.drawerTitle = title
this.modalShowFlagZHR = true
},
choiceZRRS (row, type, index) {
this.type = type
if (type === 1) {
this.drawerTitle = '选择责任人'
this.nodeList = []
this.zrIndex = index
this.zrType = type
this.nodeList.push(row)
this.modalShowFlag = true
} else if (type === 2) {
// 批量
if (this.zrIdList.length > 0) {
this.zrType = type
this.nodeList = []
this.modalShowFlag = true
this.drawerTitle = '批量选择责任人'
} else {
this.$message.warning('请选择要编辑的数据')
}
} else {
this.nodeList = []
this.nodeList.push(row)
this.drawerTitle = ''
this.modalShowFlag = true
}
},
// choiceZRRS (type, title, id) {
// this.nodeList = []
// this.nodeList.push(id)
// this.userType = type
// this.drawerTitle = title
// this.modalShowRoleFlag = true
// },
choiceQCR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.userType = type
this.drawerTitle = title
this.modalShowRoleFlag = true
},
choiceQCDW (type, title, id) {
this.nodeListZRBM = []
if (this.form.QCDWID.length > 0) {
this.nodeListZRBM = this.form.QCDWID.split(',')
}
this.drawerTitle = title
this.modalShowFlagZRBM = true
},
choiceZRR1 (type, title, id, e) {
if (e.target.className === 'el-input__icon el-icon-circle-close el-input__clear') {
return;
}
this.drawerTitle = title
this.modalShowFlag1 = true
this.key++
},
handleClearStandSystem () {
this.form.TXLBBUSS = ''
this.form.menuId = ''
this.form.treeType = ''
},
choiceZRR2 (type, title, id, flag) {
this.drawerTitle = title
this.modalShowFlag2 = true
this.multipleFlag2 = flag
this.url = ''
this.urlChild = ''
this.type = type
this.url = 'sarVppsTree/list'
this.urlChild = 'sarVppsTree/childByList'
},
choiceZRR3 (type, title, id) {
this.drawerTitle = title
this.modalShowFlag3 = true
this.url = ''
this.urlChild = ''
this.url = 'sarVppsTree/list'
this.urlChild = 'sarVppsTree/childByList'
},
choiceZRR4 (type, title, id) {
this.drawerTitle = title
this.modalShowFlag4 = true
this.url = ''
this.urlChild = ''
this.modelType = type
this.url = 'sarModelTree/list'
this.urlChild = 'sarModelTree/childByList'
},
choiceZRR5 (type, title, id) {
this.drawerTitle = title
this.modalShowFlag5 = true
this.url = ''
this.urlChild = ''
this.modelType = type
this.url = 'sarModelTree/listByType'
this.urlChild = 'sarModelTree/childByList'
},
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res => {
this.treeData = res.data
})
},
// 代替政策号 请求数据
getReplaceLawsNumRowFirst () {
this.replaceLawsNumForm.page = 1
this.replacePage = 1
this.$http.get('lawss/sarBussionessStand/getSarBussionStandPage', this.replaceLawsNumForm, {
_this: this,
loading: 'replaceLoading'
}, res => {
this.replaceLawsNumRow = res.data.list
this.replaceTotal = res.data.count
if (this.selectedListRep.length !== 0) {
this.selectedListRep.map((list) => {
this.replaceLawsNumRow.map((item) => {
if (list.id === item.id) {
item._checked = true
}
})
})
}
}, e => {
})
},
dataSourceChange (val) {
},
handleChange (event) {
// const value = event.target.value
const value = event
this.$emit('input', value)
if (value.length == 1000) {
return this.$message({
message: '相关标准不能输入超过1000个字符',
type: 'warning'
});
}
},
// 代替政策编号-取消
replaceLawsNumModelCancel () {
// this.replaceLawsNumModel = false
this.$refs.selections.clearSelection()
},
// 代替政策号 table选择事件
selectReplaceStandNumRowChange (row) {
this.selectedListRep = row
},
// 代替政策分页
pageChangeReplace (page) {
this.replacePage = page
this.replaceLawsNumForm.page = page
this.getReplaceLawsNumRow()
},
pageSizeChangeReplace (pageSize) {
// this.replaceRows = pageSize
this.replaceLawsNumForm.pageSize = pageSize
this.getReplaceLawsNumRow()
},
// 代替政策编号确定
replaceLawsNumModelBt () {
let textArr = []
let textArr2 = []
if (typeof this.value === 'string') {
if (this.value) {
textArr = this.value.split(',')
}
}
if (this.selectedListRep.length === 0) {
return this.$message({
message: '请先选择数据',
type: 'warning'
})
}
if (this.form.reviseStatus === '1' && this.selectedListRep.length + textArr.length > 20) {
return this.$message({
message: '标准最多选择20项',
type: 'warning'
})
} else if (this.form.reviseStatus === '2' && this.selectedListRep.length + textArr.length > 1) {
return this.$message({
message: '标准最多选择1项',
type: 'warning'
})
}
this.selectedListRep.map((item) => {
let texts = ''
if (item.standCode !== null && item.standCode !== '') {
texts = item.standCode
} else {
if (item.standYear != null && item.standYear !== '') {
texts = item.standSort !== null ? item.standSort + ' ' + item.standNumber + '-' + item.standYear : item.standNumber + '-' + item.standYear
} else {
texts = item.standSort !== null ? item.standSort + ' ' + item.standNumber : item.standNumber
}
}
textArr.push(texts)
textArr = [ ...new Set(textArr) ]
textArr2.push(item.standNumber)
textArr2 = [ ...new Set(textArr2) ]
this.replaceLawsNumModel = false
})
// this.SarLawsInfoEO.replaceLawsNum = textArr.join(',')
// 解决 标准入库流程--圈住的字段,先手动输入,然后再手动查找,点提交就会把手动输入的标准号覆盖
if (this.replaceLawType === 'DTQBBHBUSS') {
// let arr1 = this.form.DTQBBHBUSS ? this.form.DTQBBHBUSS + ',' + textArr.join(',') : textArr.join(',')
// this.form.DTQBBHBUSS = this.filterSetData(arr1)
this.form.DTQBBHBUSS = textArr.join(',')
this.form.standNum = this.filterSetData(textArr2.join(','))
} else if (this.replaceLawType === 'CYBZ') {
const arr1 = this.form.CYBZ ? this.form.CYBZ + ',' + textArr.join(',') : textArr.join(',')
this.form.CYBZ = this.filterSetData(arr1)
} else if (this.replaceLawType === 'YYBZ') {
const arr1 = this.form.YYBZ ? this.form.YYBZ + ',' + textArr.join(',') : textArr.join(',')
this.form.YYBZ = this.filterSetData(arr1)
} else if (this.replaceLawType === 'bfbdtbzh') {
this.form.bfbdtbzh = this.form.bfbdtbzh ? this.form.bfbdtbzh + ',' + textArr.join(',') : textArr.join(',')
} else {
this.form.byybj = this.form.byybj ? this.form.byybj + ',' + textArr.join(',') : textArr.join(',')
}
// this.$emit('input', textArr.join(','))
// 修订、修改 时 手动查找代替企标编号 发布稿放到历史版本
if(this.replaceLawType === 'DTQBBHBUSS' && (this.form.reviseStatus === '2' || this.form.reviseStatus === '3') && this.selectedListRep.length) {
const ids = this.selectedListRep.reduce((init, item, index, arr) => {
let result
if(index === arr.length - 1) {
result = init + item.id
}else{
result = init + item.id + ','
}
return result
}, '')
selectByIdAtt(ids).then(res => {
if (res && res.data && res.data.length > 0 && res.data.fbgbuss !== '') {
this.form.LSBBBUSSName = res.data.reduce((init, item, index, arr) => {
if(index === 0) {
init = item.fbgbussNmae
}else{
init = init + ',' + item.fbgbussNmae
}
return init
}, '')
this.form.LSBBBUSS = res.data.reduce((init, item, index, arr) => {
if(index === 0) {
init = item.fbgbuss
}else{
init = init + ',' + item.fbgbuss
}
return init
}, '')
// 带入的历史版本即选择的代替企标编号中的历史版本合并
if(this.LSBBBUSS && this.LSBBBUSS !== '') {
this.form.LSBBBUSS = this.LSBBBUSS + ',' + this.form.LSBBBUSS
this.form.LSBBBUSSName = this.LSBBBUSSName + ',' + this.form.LSBBBUSSName
}
this.LSBBBUSSFileList = this.assemble(this.form.LSBBBUSS, this.form.LSBBBUSSName);
}
})
}
this.$refs.selections.clearSelection()
},
filterSetData (data) {
const arr = new Set()
const permission = data.split(',');
permission.forEach((item, index) => {
arr.add(item)
})
return Array.from(arr).join(',');
},
// 点击查看
handlePreview (item) {
const routeUrl = this.$router.resolve({
name: 'OtherBussStandardDetails',
params: {
id: item.id,
pageType: 'BUSINESS_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
getResetLawsNumRow () {
this.replaceLawsNumForm = {
standNumber: '', // 标准编号
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
standType: 'BUSINESS',
quoteIdList: '',
validFlag: '0'
}
this.getReplaceLawsNumRow()
},
selectLaws (type) {
// if (this.standNumFlag === 1) {
// this.$refs.selections.selectAll(false)
// }
// this.sarBussionessLawsEO.replaceLawsNum = ''
this.replaceLawsNumForm.numberName = ''
this.replaceLawsNumModel = true
this.replaceLawType = ''
this.replaceLawType = type
this.getReplaceLawsNumRow()
},
// 代替企标编号 请求数据
getReplaceLawsNumRow () {
if (this.sarBussionessLawsEO.replaceLawsNum !== null && this.sarBussionessLawsEO.replaceLawsNum !== '') {
this.replaceLawsNumForm.quoteIdList = this.quoteIdList1.toString() === '' ? '' : this.quoteIdList1
} else {
this.quoteIdList1 = []
this.replaceLawsNumForm.quoteIdList = ''
}
this.$http.get('lawss/sarBussionessStand/getSarBussionStandPage', this.replaceLawsNumForm, {
_this: this,
loading: 'replaceLoading'
}, res => {
this.replaceLawsNumRow = res.data.list
this.replaceTotal = res.data.count
if (this.selectedListRep.length !== 0) {
this.selectedListRep.map((list) => {
this.replaceLawsNumRow.map((item) => {
if (list.id === item.id) {
item._checked = true
}
})
})
}
}, e => {
})
},
beginImportFile (file) {
const filename = file.name
const index1 = filename.lastIndexOf('.')
const index2 = filename.length
const fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式
if (fileSuffix === '.pdf' || fileSuffix === '.PDF' || fileSuffix === '.ppt' || fileSuffix === '.PPT' || fileSuffix === '.pptx' || fileSuffix === '.PPTX' || fileSuffix === '.doc' || fileSuffix === '.DOC' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PDF/PPT/PPTX/DOC/DOCX或XLS文件')
return false
}
// 判断文件上传大小
// eslint-disable-next-line no-unreachable
if (file.size / 1024 / 1024 <= 200) {
return true
} else {
this.$message.error('文件' + file.name + '大小不超过200M')
return false
}
return true
},
getBusStandFileByAttId (attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
// 文件预览及下载
handleFilePreview (file) {
let attId = ''
console.log(file);
if (file && file.id) {
attId = file.id
} else {
attId = file.response.data.id
}
if (this.preview) {
if (attId) {
window.location.href = '/api/att/attFile/downloadFileForSarNew?fileId=' + attId
} else {
this.$message.warning('文件不存在,下载失败')
}
} else {
this.$preview(attId)
}
},
// 导入标准数据成功后执行
importFileSuccess (response, file, fileList) {
// 上传成功后判断是否是两条数据是的话替换掉旧数据
// if (fileList.length > 1) {
// this.fileList = fileList.splice(0, 1)
// }
if (response.ok) {
const fileObj = {}
fileObj.id = file.response.data.id
fileObj.name = file.response.data.name
switch (this.fileType) {
case 'FBGBUSS':
this.FBGBUSSFileList = this.FBGBUSSFileList.filter(item => item.response === undefined);
this.FBGBUSSFileList.push(fileObj)
break;
case 'BZSMBUSS' :
this.BZSMBUSSFileList = this.BZSMBUSSFileList.filter(item => item.response === undefined);
this.BZSMBUSSFileList.push(fileObj)
break;
case 'LSBBBUSS':
this.LSBBBUSSFileList = this.LSBBBUSSFileList.filter(item => item.response === undefined);
this.LSBBBUSSFileList.push(fileObj)
break;
case 'QTWJBUSS':
this.QTWJBUSSFileList = this.QTWJBUSSFileList.filter(item => item.response === undefined);
this.QTWJBUSSFileList.push(fileObj)
break;
case 'GLWJBUSS':
this.GLWJBUSSFileList = this.GLWJBUSSFileList.filter(item => item.response === undefined);
this.GLWJBUSSFileList.push(fileObj)
break;
default :
}
this.$message({
// showClose: true,
message: response.message,
type: 'success'
})
}
},
fileUpload (type) {
this.fileType = '';
// this.fileMadel = true;//此句应在最后执行,否则会有先显示没变换的的文件列表,在显示变换了的文件列表
this.fileType = type;
switch (this.fileType) {
case 'FBGBUSS':
this.fileList = this.FBGBUSSFileList
break;
case 'BZSMBUSS' :
this.fileList = this.BZSMBUSSFileList
break;
case 'LSBBBUSS':
this.fileList = this.LSBBBUSSFileList
break;
case 'QTWJBUSS':
this.fileList = this.QTWJBUSSFileList
break;
case 'GLWJBUSS':
this.fileList = this.GLWJBUSSFileList
break;
default :
}
this.fileMadel = true;
},
beforeRemove (file, fileList) {
return new Promise((resolve, reject) => {
if(file.id && !file.id.startsWith('ATT')) {
return reject(false)
} else if (file.response && file.response.data && file.response.data.id && !file.response.data.id.startsWith('ATT')) {
return reject(false)
}
return resolve(true)
})
},
removeOneFile (file, fileLists) {
const fileList = fileLists.map(item => {
return {
id: item.id || item.response.data.id,
name: item.name || item.response.data.name
}
})
switch (this.fileType) {
case 'FBGBUSS':
this.FBGBUSSFileList = fileList
break;
case 'BZSMBUSS' :
this.BZSMBUSSFileList = fileList
break;
case 'LSBBBUSS':
this.LSBBBUSSFileList = fileList
break;
case 'QTWJBUSS':
this.QTWJBUSSFileList = fileList
break;
case 'GLWJBUSS':
this.GLWJBUSSFileList = fileList
break;
default :
}
},
drawerCheckZRBM (data) {
let idList = ''
let nameList = ''
data.forEach(item => {
// if (item.hasChild === '0') {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
// }
})
this.form.QCDW = nameList
this.form.QCDWID = idList
// if(this.form.QCDWID !== undefined && this.form.QCDWID && this.form.QCDWID.length > 0){
// this.$http.get('SarInstitution/institution/getInstitutionIdToDept', {institutionIds:this.form.QCDWID}, {
// _this: this,
// }, res=> {
// if(res){
// this.form.QCRBUSSID = res.map(item => item.id).join(",")
// this.form.QCRBUSS = res.map(item => item.name).join(",")
// }
// })
// }
},
popoverHide (checkedIds, checkedData, isShow, isLoadChild, topId) {
if (checkedData) {
if (checkedData.length > 0) {
this.form.TXLBBUSS = checkedData.map(item => item.menuNames).join(',')
this.form.menuId = checkedData.map(item => item.menuId).join(',')
this.form.treeType = checkedData.map(item => item.treeType).join(',')
} else {
if (checkedData.parentId == null || checkedData.parentId === '') {
this.$message.error('请选择二级及以下目录')
return
}
this.form.TXLBBUSS = checkedData.menuNames
this.form.menuId = checkedData.id
this.form.treeType = 'sarMs'
}
}
this.modalShowFlag1 = false
this.$forceUpdate()
},
popoverHideCancel () {
this.modalShowFlag1 = false
},
popoverHideBusVs (checkedIds, checkedData, isShow, isLoadChild, topId) {
if (checkedData && checkedData.length != 0) {
if (checkedData.length > 0) {
this.form.CYCVPPSBMBUSS = checkedData.map(item => item.code).join(',')
this.form.CYCVPPSCNBUSS = checkedData.map(item => item.chineseName).join(',')
} else {
this.form.CYCVPPSBMBUSS = checkedData.code
this.form.CYCVPPSCNBUSS = checkedData.chineseName
}
} else {
this.form.CYCVPPSBMBUSS = ''
this.form.CYCVPPSCNBUSS = ''
}
this.modalShowFlag2 = false
this.$forceUpdate()
},
popoverHideBusVsCancel () {
this.modalShowFlag2 = false
},
popoverHideCarVs (checkedIds, checkedData, isShow, isLoadChild, topId) {
if (checkedData && checkedData.length != 0) {
if (checkedData.length > 0) {
this.form.KCVPPSBMBUSS = checkedData.map(item => item.code).join(',')
this.form.KCVPPSCNBUSS = checkedData.map(item => item.chineseName).join(',')
} else {
this.form.KCVPPSBMBUSS = checkedData.code
this.form.KCVPPSCNBUSS = checkedData.chineseName
}
} else {
this.form.KCVPPSBMBUSS = ''
this.form.KCVPPSCNBUSS = ''
}
this.modalShowFlag3 = false
this.$forceUpdate()
},
popoverHideCarVsCancel () {
this.modalShowFlag3 = false
},
popoverHideModel (checkedIds, checkedData, isShow, isLoadChild, topId) {
console.log(checkedData)
if (checkedData && checkedData.length != 0) {
if (checkedData.length > 0) {
this.form.DYBXHBUSS = checkedData.map(item => item.model).join(',')
this.form.DYMCBUSS = checkedData.map(item => item.name).join(',')
} else {
this.form.DYBXHBUSS = checkedData.model
this.form.DYMCBUSS = checkedData.name
}
} else {
this.form.DYBXHBUSS = ''
this.form.DYMCBUSS = ''
}
this.modalShowFlag4 = false
this.$forceUpdate()
},
popoverHideModelCancel () {
this.modalShowFlag4 = false
},
popoverCarHideModel (checkedIds, checkedData, isShow, isLoadChild, topId) {
if (checkedData && checkedData.length != 0) {
if (checkedData.length > 0) {
this.form.CYCDYBXHBUSS = checkedData.map(item => item.model).join(',')
this.form.CYCDYMCBUSS = checkedData.map(item => item.name).join(',')
} else {
this.form.CYCDYBXHBUSS = checkedData.model
this.form.CYCDYMCBUSS = checkedData.name
}
this.modalShowFlag5 = false
}
this.$forceUpdate()
},
popoverCarHideModelCancel () {
this.modalShowFlag5 = false
},
closeDrawer () {
this.ListModel = false
},
OkDrawer () {
this.ListModel = false
const item = {
remarks: '123'
}
this.data.push(item)
},
addList () {
this.title = '新增标准'
this.ListModel = true
},
handleTabs (name) {
this.active = name
},
// 保存
handleSave () {
this.form.country = this.countryArr;
// if(item.country !== undefined && item.country !== null){
// this.sarStandardsInfoEO.country = item.country.split(",");
// }
this.saveLoading = true
this.isSubmit = true
if (this.form.reviseStatus == '3' && this.standardCheckedList.length > 0) {
this.form.standCode = this.standardCheckedList[0].standCode
this.form.id = this.standardCheckedList[0].id
}
const _formData = new FormData()
this.fileInfoHandle()
_formData.append('id', this.bpnId || '')
_formData.append('createUser', this.$store.getters.userInfo.userId)
_formData.append('createUserName', this.$store.getters.userInfo.uName)
_formData.append('prcType', 'buss1')
_formData.append('prcName', '企标制修订-技术标准')
_formData.append('json', JSON.stringify({
taskInfo: '起草',
form: this.form,
roleForm: this.roleForm,
commentText: this.commentText
}))
saveTaskFirst(_formData).then(res => {
this.$message.success('保存成功')
this.bpnId = res.result
}).finally(() => {
this.saveLoading = false
this.isSubmit = false
})
},
fileInfoHandle () {
// 拼接文件名和id 提交到流程Activity
this.form.FBGBUSS = this.FBGBUSSFileList.map(item => item.id).join(',')
this.form.FBGBUSSName = this.FBGBUSSFileList.map(item => item.name).join(',')
this.form.BZSMBUSS = this.BZSMBUSSFileList.map(item => item.id).join(',')
this.form.BZSMBUSSName = this.BZSMBUSSFileList.map(item => item.name).join(',')
this.form.LSBBBUSS = this.LSBBBUSSFileList.map(item => item.id).join(',')
this.form.LSBBBUSSName = this.LSBBBUSSFileList.map(item => item.name).join(',')
this.form.QTWJBUSS = this.QTWJBUSSFileList.map(item => item.id).join(',')
this.form.QTWJBUSSName = this.QTWJBUSSFileList.map(item => item.name).join(',')
this.form.GLWJBUSS = this.GLWJBUSSFileList.map(item => item.id).join(',')
this.form.GLWJBUSSName = this.GLWJBUSSFileList.map(item => item.name).join(',')
},
// 删除方法
deletedId (data, ids) {
let m = 0, n = data.length;
for (; m < n; m++) {
let i = 0, j = ids.length;
for (; i < j; i++) {
if (data[m] && data[m].id === ids[i]) {
data.splice(m, 1)
}
}
if (data[m] && data[m].children.length > 0) {
this.deletedId(data[m].children, ids)
}
}
return data
},
handleFilePreviewOne (file, type) {
let id = ''
let fileName = ''
let fileNam2 = ''
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 {
id = file.response.data.id
}
if (type === 'preview') {
this.$onlineEditPreview(id, fileNam2, this.$store.getters.userInfo.userId, this.$store.getters.userInfo.userName, JSON.parse(JSON.stringify(this.form)))
} else {
this.$onlineEdit(id, fileNam2, this.$store.getters.userInfo.userId, this.$store.getters.userInfo.userName, JSON.parse(JSON.stringify(this.form)))
}
},
handleFilePreview2 (file, type) {
let attId = ''
if (file && file.id) {
attId = file.id
} else {
attId = file.response.data.id
}
console.log(file);
if (file.name == this.form.standName) {
let fileName = ''
let fileNam2 = ''
if (this.form.standName && this.form.standName !== '') {
fileName = this.form.standName + '-企业标准.docx'
fileNam2 = this.form.standName
} else {
fileName = '企业标准.docx'
fileNam2 = '企业标准'
}
const form = JSON.parse(JSON.stringify(this.form))
form.standCode = ''
form.issueDate = ''
this.$onlineEditPreview(file.id, fileNam2, this.$store.getters.userInfo.userId, this.$store.getters.userInfo.userName, form)
return
}
if (type === 'down') {
if (attId) {
window.open('/api/att/attFile/downloadFileForSarNew?fileId=' + attId)
} else {
this.$message.warning('文件不存在,下载失败')
}
} else {
this.$preview(attId)
}
},
changeRestTree (val) {
const arr = [];
if (val.length !== 0) {
val.forEach(item => {
if (item.children.length >= 1) {
item.children = this.changeTree(item.children);
}
if (item.pid === '0') {
item.id = arr.length + 1,
item.modelNum = arr.length + 1 + ''
item.orderNum = arr.length + 1 // orderNum为新创建行的索引
item.modelIndex = arr.length
} else {
item.id = item.modelNum + '.' + (arr.length + 1)
item.modelNum = item.modelNum + '.' + (arr.length + 1)
item.orderNum = arr.length + 1
item.pid = item.modelNum
item.modelIndex = arr.length
}
arr.push(item);
});
}
return arr;
},
changeTree (val) {
const arr = [];
this.modelDataNameVerify = []
this.modelDataZrUserVerify = []
if (val.length !== 0) {
val.forEach(item => {
const obj = {};
obj.modelName = item.modelName;
obj.zrUserIdName = item.zrUserIdName;
if (!obj.modelName || obj.modelName === '') {
this.modelDataNameVerify.push('1')
}
if (item.pid === '0' && (!obj.zrUserIdName || obj.zrUserIdName === '')) {
this.modelDataZrUserVerify.push('1')
}
if (item.children.length >= 1) {
item.children = this.changeTree(item.children);
}
arr.push(item);
});
}
return arr;
},
handleSubmit () {
// this.form.country=this.countryArr;
// test
this.isSubmit = false
this.saveLoading = false
// this.changeTree(this.form.modelData)
this.$refs['form'].validate((valid) => {
if (valid) {
// if(this.form.modelData === undefined || this.form.modelData.length === 0){
// this.$message.warning('请检查模块信息是否填写完整')
// }else if( this.modelDataNameVerify !== undefined && this.modelDataNameVerify.length > 0){
// this.$message.warning('请检查模块信息模块名称是否填写完整')
// }else if( this.modelDataZrUserVerify !== undefined && this.modelDataZrUserVerify.length > 0){
// this.$message.warning('请检查模块信息责任人是否填写完整')
// }else {
// }
this.$refs['userForm'].validate((valid) => {
if (valid) {
this.fileInfoHandle()
this.isSubmit = true
this.saveLoading = true
this.form.country = this.countryArr;
const json = Object.assign(this.form, this.roleForm)
json.zrUserId = this.form.zrUserId
json.jlUserId = this.form.jlUserId
json.commentText = this.commentText
json.applyUpdUserId = this.form.applyUpdUserId
json.prcCreateUser = this.form.prcCreateUser
json.prcCreateUserName = this.form.prcCreateUserName
if (this.form.reviseStatus == '3' && this.standardCheckedList.length > 0) {
json.standCode = this.standardCheckedList[0].standCode
json.id = this.standardCheckedList[0].id
}
this.$http.post('lawss/activiti/startProcessRollBack', {
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: 'buss1',
json: JSON.stringify({
form: this.form,
roleForm: this.roleForm,
commentText: this.commentText
})
}, {}, res => {
if (res.ok) {
this.$http.post('lawss/activiti/completeTask', {
taskIds: res.data,
userId: this.$store.getters.userInfo.userId,
json: JSON.stringify(json)
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
const planForm = {}
planForm.id = this.form.esId
planForm.reviseStatus = this.form.reviseStatus
planForm.standCode = this.form.DTQBBHBUSS
planForm.processType = 'buss1'
this.$http.post('esRevisePlan/es-revise-plan/modPlanByState', planForm, {
_this: this
}, res => {
if (res.ok) {
if (res.data === '操作成功') {
this.submitLoading = false
this.isSubmit = false
if (this.$route.query.bpnId !== '') {
const taskId = {
id: this.$route.query.bpnId
}
taskDel(taskId).then(res => {
return res
})
}
// 流程提交之后,应该流转至待办任务页面
this.$router.push({ path: '/processCenter?tabsName=ProcessCenter' })
} else {
}
} else {
this.$message.warning(res.data)
}
})
}
})
}
})
// this.$http.get('lawss/activiti/startProcess', {type: 'buss1'}, {
// _this: this
// }, res => {
// })
} else {
this.$message.warning('请检查人员信息表单是否填写完整')
}
})
} else {
this.$message.warning('请检查基础信息表单是否填写完整')
}
})
},
busVsFunc () {
this.$http.get('sarVppsTree/list', '', {
_this: this
}, res => {
this.busVppsOptions = []
this.busVppsOptions = res.data
})
},
busVsChildFunc (id) {
this.$http.get('sarVppsTree/childByList', { id: id }, {
_this: this
}, res => {
this.busVppsChildOptions = []
this.busVppsChildOptions = res.data
})
},
modelFunc () {
this.$http.get('sarModelTree/list', '', {
_this: this
}, res => {
this.modelOptions = []
this.modelOptions = res.data
})
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
/deep/ .fileClass {
line-height: 22px !important;
}
.fileClassName {
margin-bottom: 10px;
}
/deep/ #active2 .el-form-item__content {
margin-left: 0px !important;
}
.bzrkStep1 {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
.standard-content {
height: 100%;
padding: 10px 0 0;
.content {
height: 100%;
display: flex;
flex-direction: column;
padding: 0 10px;
.standard-table-wrap {
flex: auto;
overflow-y: auto;
}
.pagination {
position: static;
/deep/ .pagination-slot {
padding: 0;
}
}
}
}
.process-manuscript /deep/ .el-form-item__error {
right: 45px !important;
}
.standard-table-search /deep/ .el-form-item span.el-input__suffix {
position: absolute;
right: 10px
}
</style>