Files
foton-laws-system-front/src/pages/regulatoryRepository/enterpriseStandardDatabase/components/EnterpriseStandardDatabase.vue
T

6269 lines
236 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!--企业标准库-->
<template>
<div id="EnterpriseStandardDatabase" :class="{ 'tree-close': sideClose }" class="v-class">
<!--左侧树-->
<div id="left" class="tree-content" :class="{ 'tree-closed': sideClose }">
<div style="width: 100%">
<el-input
v-model="filterText"
placeholder="输入树状图体系"
/>
<div class="tree">
<el-card style="height: 100%;padding-right: 120px;overflow-y:auto">
<el-tree
ref="tree"
node-key="id"
class="tree-line"
icon-class="icon-tree"
:expand-on-click-node="false"
:indent="0"
:props="props"
:data="treeList"
:default-expanded-keys="['3']"
highlight-current
:filter-node-method="filterNode"
@node-click="treeClick"
>
<span slot-scope="{ node, data }" class="custom-tree-node" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)">
<span :class="data.children.length !== 0 ? 'is-show' : 'is-leaf-none'" />
<span style="font-size:12px"> {{ node.label }} </span>
<span v-if="data.id !== 'gnwdsc'">
<el-button
v-show="data.show"
v-btn-permission="'21f35d66ae92f2e6f20eeba84ce78987'"
type="text"
size="mini"
@click="() => append(data)"
>
新增
</el-button>
<el-button
v-show="data.show"
v-btn-permission="'c06b789cb4d6fba4773b12ce0804c1c3'"
type="text"
size="mini"
@click="() => update(data)"
>
编辑
</el-button>
<el-button
v-show="data.showDel"
v-btn-permission="'9ca2bd379b83d479110cb51bcb4502ed'"
type="text"
size="mini"
@click="() => remove(node, data)"
>
删除
</el-button>
</span>
</span>
</el-tree>
</el-card>
</div>
</div>
<div class="tree-collapse" :class="{ 'tree-close': sideClose }" @click="treeCollapse">
<!--切换折叠样式-->
<i v-if="sideClose === false" class="el-icon-arrow-left" />
<i v-if="sideClose === true" class="el-icon-arrow-right" />
</div>
</div>
<div id="resize" />
<!--右侧内容-->
<div id="right" class="tree-right v-class">
<table-tools-bar
@search="getBussionStandTableBtn(sarBussionessSearch)"
@reset="clearAllSearch('sarBussionessSearch')"
>
<!-- 高级检索项 -->
<div slot="content">
<el-form :modal="sarBussionessSearch" :inline="true" class="high-search-form" label-width="110px">
<el-row>
<el-col :span="8">
<el-form-item label="企标编号" class="search-item">
<el-input v-model="sarBussionessSearch.standCode" placeholder="根据企标编号查找" clearable :maxlength="100" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="中文名称" class="search-item">
<el-input v-model="sarBussionessSearch.standName" placeholder="根据标准名称查找" clearable :maxlength="100" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="英文名称" class="search-item">
<el-input v-model="sarBussionessSearch.standEnName" placeholder="根据英文名称查找" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row style="margin-top: 15px">
<!-- <el-col :span="8">-->
<!-- <el-form-item label="企标类别" class="search-item">-->
<!-- <el-select v-model="sarBussionessSearch.standSort" placeholder="根据企标类别查找" clearable @keyup.enter.native="getBussionStandTableBtn(sarBussionessSearch)">-->
<!-- <el-option v-for="opt in standSortOptions" :value="opt.value" :key="opt.value" :label="opt.label">{{ opt.label}}</el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8">
<el-form-item label="代替标准号" class="search-item">
<el-input v-model="sarBussionessSearch.replaceStandNum" placeholder="根据代替标准号查找" clearable :maxlength="100" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="被代替标准号" class="search-item">
<el-input v-model="sarBussionessSearch.replacedStandNum" placeholder="根据被代替标准号查找" clearable :maxlength="100" />
</el-form-item>
</el-col>
</el-row>
<el-row style="margin-top: 15px">
<el-col :span="8">
<el-form-item
label="起草部门"
prop="responsibleUnit"
class="search-item"
>
<el-input v-model="sarBussionessSearch.ZRBM" />
<!-- <el-popover-->
<!-- placement="bottom"-->
<!-- popper-class="user-dept-popper"-->
<!-- trigger="click"-->
<!-- :value="false"-->
<!-- >-->
<!-- <el-input-->
<!-- slot="reference"-->
<!-- v-model="sarBussionessSearch.orgName"-->
<!-- placeholder="根据责任部门查找"-->
<!-- readonly-->
<!-- clearable-->
<!-- id="deptBtn1"-->
<!-- />-->
<!-- <div class="api">-->
<!-- <laws-tree-->
<!-- :zNodes="searchNodes"-->
<!-- treeDivId="domesticTree1" deptSelect-->
<!-- showRMenu-->
<!-- @treeDblClick="SearchTreeDblClick"-->
<!-- class="ztree" style="width: 200px;height: 400px;overflow: auto">-->
<!-- </laws-tree>-->
<!-- </div>-->
<!-- </el-popover>-->
<!--<ul id="orgTree" class="ztree" style="width: 200px;height: 500px;overflow: auto"></ul>-->
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="标准状态" class="search-item">
<el-select v-model="sarBussionessSearch.standStatus" placeholder="根据标准状态查找" clearable>
<el-option v-for="(opt,index) in standStateOptions" :key="index" :value="opt.value" :label="opt.label">
{{ opt.label }}
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="SVPPS" class="search-item">
<el-input v-model="sarBussionessSearch.SVPPS" placeholder="根据SVPPS查找" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row style="margin-top: 15px">
<el-col :span="8">
<el-form-item label="密级" class="search-item">
<el-select v-model="sarBussionessSearch.MJ" placeholder="根据密级查找" clearable>
<el-option v-for="(opt,index) in allSelectOptions['MJ']" :key="index" :value="opt.value" :label="opt.label">
{{ opt.label }}
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="授权" class="search-item">
<el-select v-model="sarBussionessSearch.SQ" placeholder="根据授权查找" clearable>
<el-option v-for="(opt,index) in allSelectOptions['SHIFOU']" :key="index" :value="opt.value" :label="opt.label">
{{ opt.label }}
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div slot="left">
<div class="search-area">
<div class="left">
<el-form :modal="sarBussionessSearch" :inline="true" class="label-input-form" @submit.native.prevent="getBussionStandTableBtn(sarBussionessSearch)">
<!-- <el-form-item label="企标类别" class="search-item search-item-last">-->
<!-- <el-select v-model="sarBussionessSearch.standSort" placeholder="根据企标类别查找" clearable @keyup.enter.native="getBussionStandTableBtn(sarBussionessSearch)">-->
<!-- <el-option v-for="opt in standSortOptions" :value="opt.value" :key="opt.value" :label="opt.label">{{ opt.label}}</el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-formItem label="企标编号" prop="numberName" class="search-item">
<el-input v-model="sarBussionessSearch.standCode" clearable placeholder="根据企标编号查找" :maxlength="100" />
</el-formItem>
<el-formItem label="中文名称" prop="standName" class="search-item">
<el-input v-model="sarBussionessSearch.standName" clearable placeholder="根据中文名称查找" :maxlength="100" />
</el-formItem>
<el-form-item class="search-item btn-box">
<el-button
v-btn-permission="'d451a3e980f0536386a09443f40af772'"
:loading="searching"
type="primary"
size="mini"
class="common-button-primary"
@click="getBussionStandTableBtn(sarBussionessSearch)"
>
查询
</el-button>
<el-button
v-btn-permission="'4819e2ee2a92fdcba7643e27dba4a41b'"
size="mini"
class="common-button-default"
@click="clearAllSearch('sarBussionessSearch')"
>
清空
</el-button>
<el-button
v-btn-permission="'62f5582b71835d1a0486d3109ff24698'"
size="mini"
type="primary"
class="common-button-primary"
@click="selectMoreBtn"
>
<i
class="iconfont"
>&#xe7a5;</i>高级检索
</el-button>
</el-form-item>
</el-form>
</div>
</div>
</div>
<div slot="right" class="right shaixuan-button">
<!-- <el-button icon="shaixuan" type="primary" class="common-button-primary" round @click="isAdvancedSearch = true">高级检索</el-button>-->
</div>
</table-tools-bar>
<div class="action-bar">
<!-- <el-button-->
<!-- type="primary"-->
<!-- class="common-button-primary add-button"-->
<!-- round-->
<!-- @click="addModal"-->
<!-- v-btn-permission="'RKK25EG2WD'"-->
<!-- ><i class="el-icon-plus"></i>新增</el-button>-->
<el-button
v-btn-permission="'784d26f527a659eefe84d5e5a53dee99'"
class="common-button-default in-button"
size="mini"
:loading="searching"
@click="addImportModal(1)"
>
<i class="iconfont">&#xe6de;</i>导入
</el-button>
<el-button
v-btn-permission="'784d26f527a659eefe84d5e5a53deb96'"
class="common-button-default export-button"
size="mini"
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
@click="exportStandard"
>
<i class="iconfont">&#xe6e9;</i>导出
</el-button>
<!-- <el-button-->
<!-- class="common-button-default"-->
<!-- round-->
<!-- :loading="searching"-->
<!-- @click="uploadImportModal(1)"-->
<!-- v-btn-permission="'afX1p2gh3c'"-->
<!-- ><i class="iconfont">&#xe825;</i>模板下载</el-button>-->
<el-button
v-btn-permission="'374205ce36a859a158ca4db196d151b7'"
class="common-button-default delete-button"
size="mini"
@click="deleteStand(2)"
>
<i class="iconfont">&#xe61b;</i>批量删除
</el-button>
<el-button
v-btn-permission="'381d34443196ca840118ae577ff30d5e'"
class="common-button-default"
size="mini"
@click="configurationStandard"
>
<i class="iconfont">&#xe669;</i>配置标准
</el-button>
<el-button
v-btn-permission="'2d41ebdb6150ba1af52fd753086d77dc'"
class="common-button-default"
size="mini"
@click="deleteEnterStandFromKind(2)"
>
<i class="iconfont">&#xe611;</i>移除标准
</el-button>
<el-button
v-btn-permission="'dd4ea796dab7a01b105ba657b1968a84'"
class="common-button-default"
size="mini"
@click="OCRAdd('2')"
>
<i class="iconfont">&#xe611;</i>编辑
</el-button>
<el-button
v-btn-permission="'76742566e1cf930f384ef78cecb86f61'"
class="common-button-default"
size="mini"
style="float: right;margin-top: 11px;"
@click="selectBuss()"
>
<i class="iconfont">&#xe606;</i>企标复审计划
</el-button>
<el-button
v-btn-permission="'6d0daae8471f16d635bec1529801670a'"
class="common-button-default"
size="mini"
@click="MobileStandard('2')"
>
<i class="iconfont">&#xe611;</i>移动标准
</el-button>
<el-button
v-btn-permission="'784d26f527a659eefe84d5e5a53dr999'"
class="common-button-default"
size="mini"
@click="handlemoudel()"
>
<i class="iconfont">&#xe6de;</i>模板下载
</el-button>
</div>
<!--表格-->
<div class="content">
<el-table
ref="selection"
:data="standinfoList"
tooltip-effect="dark"
style="width:100%;"
:height="tableHeight"
border
class="drag-table"
:row-class-name="dragRowClassName"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@sort-change="sortChange"
@selection-change="standSelectChange"
>
<!-- v-if="isPermission('374205ce36a859a158ca4db196d151b7,784d26f527a659eefe84d5e5a53deb96,2d41ebdb6150ba1af52fd753086d77dc')>0"-->
<el-table-column
type="selection"
min-width="5%"
align="center"
/>
<el-table-column
type="index"
width="55"
label="序号"
align="center"
>
<template slot-scope="{scope, column, $index}">
{{ ($index + 1) + ((tableFlag === '' ? sarBussionessSearch.page : tableFlag.page) - 1) * (tableFlag === '' ? sarBussionessSearch.pageSize : $store.getters.userInfo.configContent) }}
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- show-overflow-tooltip-->
<!-- prop="standSortShow"-->
<!-- label="企标类别"-->
<!-- width="110"-->
<!-- >-->
<!-- </el-table-column>-->
<el-table-column
show-overflow-tooltip
label="企标编号"
width="150"
>
<template slot-scope="scope">
<!-- <a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>-->
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standCode
}}</a>
<a v-if="scope.row.standStatusShow === '参考'" style="color: #35720B" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standCode
}}</a>
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standCode
}}</a>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="standName"
label="中文名称"
min-width="300"
>
<template slot-scope="scope">
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standName
}}</a>
<a v-if="scope.row.standStatusShow === '参考' " style="color: #35720B" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standName
}}</a>
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standName
}}</a>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="standStatusShow"
label="标准状态"
width="110"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">
{{ scope.row.standStatusShow }}
</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #35720B">
{{ scope.row.standStatusShow }}
</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">
{{ scope.row.standStatusShow }}
</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="txlbBuss"
label="体系类别"
min-width="300"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">
{{ scope.row.txlbBuss }}
</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #35720B">
{{ scope.row.txlbBuss }}
</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">
{{ scope.row.txlbBuss }}
</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="dtqbbhbuss"
label="代替企标编号"
min-width="300"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{ scope.row.dtqbbhbuss }}</span>
<span v-if="scope.row.standStatusShow === '参考' " style="color: #35720B" class="table-jump">{{ scope.row.dtqbbhbuss }}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" class="table-jump">{{
scope.row.dtqbbhbuss
}}</span>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
label="发布日期"
sortable
width="120"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{
scope.row.issueTime ? scope.row.issueTime.slice(0, 10) : ''
}}</span>
<span v-if="scope.row.standStatusShow === '参考' " style="color: #35720B">{{
scope.row.issueTime ? scope.row.issueTime.slice(0, 10) : ''
}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{
scope.row.issueTime ? scope.row.issueTime.slice(0, 10) : ''
}}</span>
</template>
</el-table-column>
<el-table-column
prop="putTime"
label="实施日期"
width="120"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{
scope.row.putTime ? scope.row.putTime.slice(0, 10) : ''
}}</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #35720B">{{
scope.row.putTime ? scope.row.putTime.slice(0, 10) : ''
}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{
scope.row.putTime ? scope.row.putTime.slice(0, 10) : ''
}}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="reviseStatus"
label="企标制修订状态"
width="120"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">
{{ filterReviseStatus(scope.row.revisionStatus) }}
</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #35720B">
{{ filterReviseStatus(scope.row.revisionStatus) }}
</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">
{{ filterReviseStatus(scope.row.revisionStatus) }}
</span>
</template>
</el-table-column>
<el-table-column
v-if="isPermission('d9730d984627af948053df56a2db7997,dd4ea796dab7a01b105ba657b1968a84,a7a38a95ea374695fc3128037f6feccf')>0"
fixed="right"
label="收藏"
align="center"
width="50"
>
<template slot-scope="scope">
<!-- <div v-if="isPermission('d9730d984627af948053df56a2db7997,dd4ea796dab7a01b105ba657b1968a84,a7a38a95ea374695fc3128037f6feccf') == 1"-->
<!-- @command="handleCommand"-->
<!-- >-->
<!-- <el-button type="text" v-btn-permission="'d9730d984627af948053df56a2db7997'"-->
<!-- v-if="scope.row.collectBtn"-->
<!-- @click="handleCommand([scope.row, '收藏'])"-->
<!-- >收藏-->
<!-- </el-button>-->
<!-- <el-button type="text" v-btn-permission="'d9730d984627af948053df56a2db7997'"-->
<!-- v-else-->
<!-- @click="handleCommand([scope.row, '取消收藏'])"-->
<!-- >取消收藏-->
<!-- </el-button>-->
<!-- <el-button type="text" @click="handleCommand([scope.row, '编辑'])"-->
<!-- v-btn-permission="'dd4ea796dab7a01b105ba657b1968a84'">编辑-->
<!-- </el-button>-->
<!-- <el-button type="text" @click="handleCommand([scope.row, '删除']) "-->
<!-- v-btn-permission="'a7a38a95ea374695fc3128037f6feccf'">删除-->
<!-- </el-button>-->
<!-- </div>-->
<div>
<div style="display: inline-block" @click.stop>
<el-button
v-if="scope.row.collectBtn"
v-btn-permission="'d9730d984627af948053df56a2db7997'"
title="收藏"
class="collection-btn"
icon="el-icon-star-off"
@click="handleCommand([scope.row, '收藏'])"
/>
<el-button
v-else
v-btn-permission="'d9730d984627af948053df56a2db7997'"
title="取消收藏"
class="collection-btn"
icon="el-icon-star-on"
@click="handleCommand([scope.row, '取消收藏'])"
/>
</div>
</div>
</template>
</el-table-column>
</el-table>
<pagination
:page="tableFlag === '' ? sarBussionessSearch.page : tableFlag.page "
:total="total"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"
/>
<loading :loading="loading">数据获取中</loading>
</div>
<!-- 移动标准 -->
<el-drawer title="移动标准" :visible.sync="mobileModal" size="500px" @close="mobileeCancel">
<div class="demo-drawer-content">
<el-tree
ref="menuTree"
node-key="id"
class="tree-line"
icon-class="icon-tree"
:indent="0"
show-checkbox
:check-strictly="true"
:props="props"
:data="treeList1"
:default-expanded-keys="['1']"
highlight-current
:filter-node-method="filterNode"
@check-change="handleCheckChange"
/>
</div>
<div class="demo-drawer-footer">
<el-button
size="mini"
type="primary"
class="common-button-primary"
icon="el-icon-check"
@click="mobileStandardBt"
>
提交
</el-button>
<el-button size="mini" class="common-button-default" icon="el-icon-close" @click="mobileeCancel">取消</el-button>
</div>
</el-drawer>
<!-- 新增、编辑模态窗 -->
<el-drawer
:title="drawerTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px"
@close="resetForm"
>
<!-- @on-visible-change="modalStandItemVisibleChange"-->
<!-- 新增样式 -->
<div class="demo-drawer-content">
<el-form
v-if="reloadAddForm && modalshowflag"
ref="sarBussionessStandForm"
:model="sarBussionessStandEO"
:rules="sarBussionessStandRules"
class="label-input-form"
>
<!-- <custom-input-for-standards-->
<!-- :config="{-->
<!-- attrName: '代替企标编号',-->
<!-- attrField: 'replaceStandNum',-->
<!-- }"-->
<!-- v-model="sarBussionessStandEO.replaceStandNum"-->
<!-- :disabled="formdisableflag"-->
<!-- ></custom-input-for-standards>-->
<!-- 动态数据-->
<template v-for="(displayLocation, index) in dynamicFormField">
<el-col :key="index" :span="24">
<div class="divider-line">{{ displayLocation.label }}</div>
</el-col>
<template v-if="displayLocation.label === '基础信息'">
<el-form-item label="企标类别" prop="standSort" label-width="150px" class="add-form-item">
<el-select v-model="sarBussionessStandEO.standSort" filterable>
<el-option
v-for="(item, indexs) in standSortOptions"
:key="indexs"
placeholder="请选择"
:value="item.value"
:label="item.label"
/>
</el-select>
</el-form-item>
<el-form-item
label="企标编号"
prop="standNumber"
label-width="150px"
class="add-form-item"
>
<el-input
v-model="sarBussionessStandEO.standNumber"
:maxlength="100"
placeholder="请输入企标编号"
clearable
/>
</el-form-item>
<el-form-item label="标准年份" prop="standYear" label-width="150px" class="add-form-item">
<el-input
v-model.number="sarBussionessStandEO.standYear"
placeholder="请输入标准年份"
value-format="yyyy-MM-dd"
clearable
/>
</el-form-item>
<el-form-item label="企标名称" prop="standName" label-width="150px" class="add-form-item">
<el-input
v-model="sarBussionessStandEO.standName"
placeholder="请输入企标名称"
clearable
/>
</el-form-item>
<el-form-item label="企标英文名称" prop="standEnName" label-width="150px" class="add-form-item">
<el-input
v-model="sarBussionessStandEO.standEnName"
placeholder="请输入企标英文名称"
clearable
/>
</el-form-item>
<el-form-item
title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。"
prop="textStatusBuss"
label-width="150px"
class="add-form-item"
>
<template slot="label">标准状态</template>
<el-select
v-model="sarBussionessStandEO.textStatusBuss"
placeholder="请选择标准状态"
clearable
>
<el-option
v-for="(opt,index) in standStateOptions"
:key="index"
:value="opt.value === undefined ? '' :opt.value"
:label="opt.label"
>
{{ opt.label }}
</el-option>
</el-select>
</el-form-item>
<el-form-item label="发布日期" prop="issueTime" label-width="150px" class="add-form-item">
<el-datePicker
v-model="sarBussionessStandEO.issueTime"
:editable="false"
placeholder="请选择发布日期"
/>
</el-form-item>
<el-form-item label="企标实施日期" prop="putTime" label-width="150px" class="add-form-item">
<el-datePicker
v-model="sarBussionessStandEO.putTime"
:editable="false"
placeholder="请选择实施日期"
clearable
/>
</el-form-item>
</template>
<template v-for="field in displayLocation.child">
<!--起草单位QCDW-->
<template v-if="field.attrField === 'QCDW'">
<el-form-item
prop="QCDW"
label-width="150px"
class="add-form-item"
>
<template slot="label">起草部门</template>
<el-input
v-model="sarBussionessStandEO[field.attrField]"
:config="field"
clearable
:title="sarBussionessStandEO[field.attrField]"
:disabled="formdisableflag"
placeholder="选择起草部门"
@blur="filterData(sarBussionessStandEO[field.attrField])"
/>
<el-button
type="primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
class="common-button-primary"
@click="choiceQCDW('QCDWId', '起草部门', sarBussionessStandEO.QCDW)"
>
手动查找
</el-button>
</el-form-item>
</template>
<!--起草人QCRBUSS-->
<template v-if="field.attrField === 'QCRBUSS'">
<el-form-item
prop="QCRBUSS"
label-width="150px"
class="add-form-item"
>
<template slot="label">起草人</template>
<el-input v-model="sarBussionessStandEO[field.attrField]" :title="sarBussionessStandEO[field.attrField]" placeholder="选择起草人" @click.native="choiceQCR('QCRBUSS', '选择起草人', sarBussionessStandEO[field.attrField])" />
<!-- <el-input-->
<!-- :key="field.attrField"-->
<!-- :config="field"-->
<!-- clearable-->
<!-- v-model="sarStandardsInfoEO['ZRGCS']"-->
<!-- :disabled="formdisableflag" placeholder="选择责任工程师"-->
<!-- @click.native="choiceRole('ZRGCSUserId', '责任工程师', sarStandardsInfoEO.ZRGCSUserId)">-->
<!-- </el-input>-->
</el-form-item>
</template>
<template v-if="field.attrField === 'SVPPS'">
<custom-SVPPS
v-model="sarBussionessStandEO[field.attrField]"
:config="field"
:disabled="formdisableflag"
/>
</template>
<template v-else-if="field.attrType === 'INPUT_STR' && field.attrField !== 'XGLC' && field.attrField !== 'XGJLBUSS' && field.attrField !== 'XGJH'">
<template v-if="field.attrField === 'GFXYYWJ'">
<custom-input-for-standards
v-model="sarBussionessStandEO[field.attrField]"
:config="field"
:disabled="formdisableflag"
/>
</template>
<template v-else-if="field.attrField === 'FSRQBUSS'">
<custom-input
v-model="sarBussionessStandEO[field.attrField]"
:config="field"
disabled
/>
</template>
<template v-else-if="field.attrField === 'TXLBBUSS'">
<el-form-item
prop="TXLBBUSS"
label-width="150px"
class="add-form-item"
>
<template slot="label">标准体系</template>
<el-input
:value="sarBussionessStandEO.TXLBBUSS"
placeholder="选择标准体系"
clearable
@click.native="choiceZRR1('TXLBBUSS', '标准体系', sarBussionessStandEO.TXLBBUSS, $event)"
@clear="handleClearStandSystem"
/>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'CYCVPPSBMBUSS'">
<el-tooltip class="item" effect="light" content="关联模块--乘用车VPPS编码" placement="right">
<el-form-item
prop="CYCVPPSBMBUSS"
label-width="150px"
class="add-form-item"
>
<template slot="label">关联模块--乘用车VPPS编码</template>
<el-input
v-model="sarBussionessStandEO.CYCVPPSBMBUSS"
placeholder="选择VPPS编码"
@click.native="choiceZRR2('car', '关联模块--乘用车VPPS编码', sarBussionessStandEO.CYCVPPSBMBUSS,true)"
/>
</el-form-item>
</el-tooltip>
</template>
<template v-else-if="field.attrField === 'CYCVPPSCNBUSS'">
<el-form-item
title="关联模块--乘用车vpps中文名称"
label="关联模块--乘用车vpps中文名称"
label-width="150px"
prop="CYCVPPSCNBUSS"
class="add-form-item"
>
<el-input
v-model="sarBussionessStandEO.CYCVPPSCNBUSS"
disabled
clearable
/>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'KCVPPSBMBUSS'">
<el-tooltip class="item" effect="light" content="关联模块--卡车VPPS编码" placement="right">
<el-form-item
prop="KCVPPSBMBUSS"
label-width="150px"
class="add-form-item"
>
<template slot="label">关联模块--卡车VPPS编码</template>
<el-input
v-model="sarBussionessStandEO.KCVPPSBMBUSS"
placeholder="选择VPPS编码"
@click.native="choiceZRR3('struck', '卡车VPPS编码', sarBussionessStandEO.KCVPPSBMBUSS,true)"
/>
</el-form-item>
</el-tooltip>
</template>
<template v-else-if="field.attrField === 'KCVPPSCNBUSS'">
<el-form-item
title="关联模块--卡车vpps中文名称"
label="关联模块--卡车vpps中文名称"
label-width="150px"
prop="KCVPPSCNBUSS"
class="add-form-item"
>
<el-input
v-model="sarBussionessStandEO.KCVPPSCNBUSS"
disabled
clearable
/>
</el-form-item>
</template>
<!-- <template v-else-if="field.attrField === 'DYBXHBUSS'">-->
<!-- <el-form-item-->
<!-- prop="DYBXHBUSS"-->
<!-- label-width="150px"-->
<!-- class="add-form-item"-->
<!-- >-->
<!-- <template slot="label">模块结构单元变型号(卡车)</template>-->
<!-- <el-input-->
<!-- v-model="sarBussionessStandEO.DYBXHBUSS" placeholder="选择模块结构单元变型号(卡车)"-->
<!-- @click.native="choiceZRR4('TRUCK', '模块结构单元变型号(卡车)', sarBussionessStandEO.dybxh)">-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- </template>-->
<!-- <template v-else-if="field.attrField === 'DYMCBUSS'">-->
<!-- <el-form-item label="模块结构单元名称(卡车)" label-width="150px" prop="DYMCBUSS" class="add-form-item">-->
<!-- <el-input-->
<!-- v-model="sarBussionessStandEO.DYMCBUSS" disabled-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- </template>-->
<!-- <template v-else-if="field.attrField === 'CYCDYBXHBUSS'">-->
<!-- <el-form-item-->
<!-- prop="CYCDYBXHBUSS"-->
<!-- label-width="150px"-->
<!-- class="add-form-item"-->
<!-- >-->
<!-- <template slot="label">模块结构单元变型号(乘用车)</template>-->
<!-- <el-input-->
<!-- v-model="sarBussionessStandEO.CYCDYBXHBUSS" placeholder="选择模块结构单元变型号(乘用车)"-->
<!-- @click.native="choiceZRR5('CAR', '模块结构单元变型号(乘用车)', sarBussionessStandEO.dybxh)">-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- </template>-->
<!-- <template v-else-if="field.attrField === 'CYCDYMCBUSS'">-->
<!-- <el-form-item label="模块结构单元名称(乘用车)" label-width="150px" prop="CYCDYMCBUSS" class="add-form-item">-->
<!-- <el-input-->
<!-- v-model="sarBussionessStandEO.CYCDYMCBUSS" disabled-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- </template>-->
<template v-else-if="field.attrField === 'VPPSCNBUSS'">
<el-form-item
title="关联模块--中文名称"
label="关联模块--中文名称"
label-width="150px"
prop="VPPSCNBUSS"
class="add-form-item"
>
<el-input
v-model="sarBussionessStandEO.VPPSCNBUSS"
disabled
clearable
/>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'DTQBBHBUSS' || field.attrField === 'CYBZ' || field.attrField === 'YYBZ'">
<custom-input-for-standards
v-model="sarBussionessStandEO[field.attrField]"
:config="field"
:class="field.attrField === 'BYYBJ' ? 'classDisplay' : ''"
:disabled="formdisableflag"
@popoverHide="popoverHideQuery"
/>
</template>
<template v-else-if="field.attrField === 'BDTQBBHBUSS'">
<custom-input
v-model="sarBussionessStandEO[field.attrField]"
:config="field"
disabled
/>
</template>
<template v-else-if="field.attrField === 'XCSJBUSS'">
<custom-input
v-model="sarBussionessStandEO[field.attrField]"
:config="field"
disabled
/>
</template>
<template v-else-if="field.attrField === 'WJSCRYBUSS'">
<el-form-item
prop="WJSCRYBUSS"
label-width="150px"
class="add-form-item"
>
<template slot="label">文件上传人员</template>
<el-input v-model="sarBussionessStandEO[field.attrField]" :title="sarBussionessStandEO[field.attrField]" placeholder="选择文件上传人员" @click.native="choiceWJSCRY('WJSCRYBUSS', '选择文件上传人员', sarBussionessStandEO[field.attrField])" />
</el-form-item>
</template>
<template v-else>
<custom-input
v-model="sarBussionessStandEO[field.attrField]"
:config="field"
:disabled="formdisableflag"
/>
</template>
</template>
<!-- 取消备案日期字段 -->
<!-- <template v-else-if="field.attrType === 'DATE_PICKER' && field.attrField !== 'BARQ'">-->
<!-- <custom-date-pick-->
<!-- :config="field"-->
<!-- v-model="sarBussionessStandEO[field.attrField]"-->
<!-- :disabled="formdisableflag"-->
<!-- ></custom-date-pick>-->
<!-- </template>-->
<!-- <template v-else-if="field.attrType === 'DATE_PICKER' && field.attrField === 'BARQ' && QCBFC">-->
<!-- <custom-date-pick-->
<!-- :config="field"-->
<!-- v-model="sarBussionessStandEO[field.attrField]"-->
<!-- :disabled="formdisableflag"-->
<!-- ></custom-date-pick>-->
<!-- </template>-->
<template v-else-if="field.attrType === 'FILE'">
<custom-file
v-model="sarBussionessStandEO[field.attrField]"
:config="field"
:disabled="formdisableflag"
:show-modify-name="true"
:limit="99999999"
/>
<!-- :limit="['FBGBJBD','FBGYWBD','XDB','KWJ','ZBJBD'].some(item => item===field.attrField) ? 40 : 8"-->
</template>
<template v-else-if="field.attrType === 'TEXTAREA'">
<custom-textarea
v-model="sarBussionessStandEO[field.attrField]"
:config="field"
:disabled="formdisableflag"
/>
</template>
<template v-else-if="field.selVal === 'ORGLIST' || field.selVal === 'USERLIST' || field.selVal === 'ROLELIST'">
<template v-if="field.attrField === 'ZQCBM' || field.attrField === 'ZRBM'">
<el-form-item :label="field.attrName" :prop="field.attrField" label-width="150px" class="add-form-item form-item-disabled">
<input
v-model="sarBussionessStandEO[field.attrField]"
type="hidden"
></input>
<el-input
v-model="field.valueName"
disabled
placeholder="选择对应起草人后自动带出"
/>
</el-form-item>
</template>
<template v-else>
<custom-org
v-if="field.attrField !== 'WFSPJS'"
v-model="sarBussionessStandEO[field.attrField]"
:config="field"
:zNodes="orgData"
:disabled="formdisableflag"
:data-model="sarBussionessStandEO"
@on-dept="(pOrgId, pOrgName) => onDept(pOrgId, pOrgName, field)"
/>
</template>
</template>
<template v-else-if="field.attrType === 'SEL_OPTION'">
<custom-select
v-model="sarBussionessStandEO[field.attrField]"
:config="field"
:disabled="formdisableflag"
/>
</template>
<template v-else-if="field.attrType === 'SEL_OPTS' && field.attrField !== 'QCDW' && field.attrField !== 'QCRBUSS'">
<custom-select-array
v-model="sarBussionessStandEO[field.attrField]"
:config="field"
:disabled="formdisableflag || field.attrField === 'YQLX'"
/>
</template>
</template>
</template>
</el-form>
</div>
<div class="demo-drawer-footer">
<el-button
class="common-button-primary"
icon="el-icon-check"
type="primary"
:loading="isSubmit"
@click="saveOrUpdateStands"
>
提交
</el-button>
<el-button class="common-button-default" icon="el-icon-close" @click="resetForm">取消</el-button>
</div>
</el-drawer>
<!-- 导入模态窗 -->
<el-dialog
v-dragDialogWidth
width="400px"
:visible.sync="importModalshowflag"
title="导入文件"
:close-on-click-modal="false"
>
<el-upload
ref="importfile"
multiple
drag
:action="importExcelUrl"
name="file"
accept=".ZIP, .zip"
:before-upload="beginImportFile"
:on-success="importFileSuccess"
: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-drawer
title="配置标准"
:wrapperClosable="false"
:visible.sync="configStandFlag"
size="1200px"
@close="cancelConfigStand"
>
<div class="demo-drawer-content">
<div class="search-area">
<div class="left">
<el-form :model="sarConfigStandSearch" :inline="true" class="label-input-form">
<!-- <el-formItem label="标准名称" prop="standName" class="search-item">-->
<!-- <el-input v-model="sarConfigStandSearch.standName" @keyup.enter.native="searchConfiguraStand"-->
<!-- placeholder="根据标准名称查找" clearable/>-->
<!-- </el-formItem>-->
<el-formItem label="企标编号" prop="standCode" class="search-item">
<el-input
v-model="sarConfigStandSearch.standCode"
placeholder="根据企标编号查找"
clearable
/>
</el-formItem>
<!-- <el-formItem label="企标类别" prop="standSort" class="search-item">-->
<!-- <el-select v-model="sarConfigStandSearch.standSort" placeholder="根据企标类别查找"-->
<!-- @keyup.enter.native="searchConfiguraStand" clearable>-->
<!-- <el-option v-for="opt in standSortOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">{{ opt.label }}-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-formItem>-->
<el-formItem label="企标名称" prop="replaceStandNum" class="search-item">
<el-input v-model="sarConfigStandSearch.standName" placeholder="根据企标名称查找" clearable :maxlength="100" />
</el-formItem>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
round
:loading="searching"
@click="searchConfiguraStand"
>
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
round
@click="clearAllSearch(3)"
>
清空
</el-button>
</el-form-item>
</el-form>
</div>
</div>
<div class="drawer-content">
<el-table
ref="selection"
:data="configStandList"
tooltip-effect="dark"
style="width: 100%; flex: auto;"
height="100%"
border
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
@sort-change="sortChangeConfig"
@select="handleSelectConfigStand"
@select-all="selectConfigStandAll"
>
<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) + (configPage - 1) * configRows }}
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="standCode"
label="企标编号"
align="center"
width="120"
/>
<el-table-column
prop="standName"
label="中文名称"
width="200"
align="center"
/>
<el-table-column
prop="issueTime"
label="发布日期"
width="180"
align="center"
/>
<el-table-column
prop="putTime"
label="实施日期"
width="180"
align="center"
/>
<!-- <el-table-column-->
<!-- prop="standNatrueShow"-->
<!-- label="标准性质"-->
<!-- width="200"-->
<!-- align="center">-->
<!-- </el-table-column>-->
<el-table-column
prop="standStatusShow"
label="标准状态"
width="200"
align="center"
/>
<el-table-column
show-overflow-tooltip
prop="txlbBuss"
label="体系类别"
align="center"
min-width="300"
/>
</el-table>
</div>
<pagination
style="position: relative;"
:page="configPage"
:pageSize="configRows"
:total="configTotal"
@pageChange="configuraPageChange"
@pageSizeChange="configuraPageSizeChange"
/>
<loading :loading="configLoading">加载中...</loading>
<div class="divDel">
<div class="divDel_title">已选标准</div>
<div class="divDel_box">
<el-tag
v-for="tag in selectConfigStandList"
:key="tag.id"
size="mini"
closable
@close="handleTagClose(tag)"
>
{{ tag.standCode }}
</el-tag>
<!-- <el-tag v-show="delList.length > 0 && !checkBox" type="danger" closable size="mini" @close="handleCloseAll()">全部删除</el-tag>-->
</div>
</div>
</div>
<div class="demo-drawer-footer">
<el-button
type="primary"
round
class="common-button-primary"
icon="el-icon-check"
:loading="isSubmit"
@click="saveConfigStand"
>
提交
</el-button>
<el-button
class="common-button-default"
style="padding: 7px 12px;"
icon="el-icon-close"
type="primary"
round
@click="cancelConfigStand"
>
取消
</el-button>
</div>
</el-drawer>
<!-- 树---新增二级菜单模态窗 -->
<el-dialog
:visible.sync="menuModalFlag"
width="500px"
:title="menuModalTitle"
destroy-on-close
:close-on-click-modal="false"
@closed="isSubmit = false"
>
<el-form ref="addMenuForm" :model="sarMenu" :rules="sarMenuRules" class="label-input-form">
<el-formItem label="名称" prop="menuName" class="add-form-item" label-width="130px">
<el-input v-model="sarMenu.menuName" placeholder="请输入名称" />
</el-formItem>
<el-formItem label="序号" prop="displaySeq" class="add-form-item" label-width="130px">
<el-input
v-model.number="sarMenu.displaySeq"
placeholder="只允许输入正整数"
maxlength="2"
/>
</el-formItem>
<el-formItem label="备注" prop="remarks" class="add-form-item" label-width="130px">
<el-input v-model="sarMenu.remarks" placeholder="请输入备注信息" />
</el-formItem>
</el-form>
<div slot="footer" class="demo-drawer-footer">
<el-button
type="primary"
round
class="common-button-primary"
icon="el-icon-check"
:loading="isSubmit"
@click="newMenu"
>
提交
</el-button>
<el-button class="common-button-default" icon="el-icon-close" @click="resetTreeDialog">取消</el-button>
</div>
</el-dialog>
<!-- 树----删除 -->
<el-dialog
title="确认删除"
width="300px"
:visible.sync="deleteMenuModal"
>
<p>该节点下有记录,是否删除?</p>
<div slot="footer">
<el-button class="common-button-default" @click="deleteMenuModal = false">取消</el-button>
<el-button class="common-button-primary" type="primary" @click="sureDeleteSarMenu">确定</el-button>
</div>
</el-dialog>
<!--导出文件改名字模态框-->
<el-dialog :visible.sync="exportModelFlag" title="导出文件" width="300px">
<el-form :inline="true" class="label-input-form search-area">
<el-form-item label="导出名称" class="search-item">
<el-input
v-model="exportName"
placeholder="请输入导出文件名称"
:maxlength="30"
clearable
label="导出名称"
/>
</el-form-item>
</el-form>
<span slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" icon="el-icon-close" @click="cancal">取消</el-button>
<el-button
type="primary"
round
class="common-button-primary"
icon="el-icon-check"
@click="exportTestItem"
>提交</el-button>
</span>
</el-dialog>
<!-- 分享 -->
<el-drawer
title="分享标准"
:visible.sync="drawerModal"
width="300"
:styles="drawerModalstyles"
@close="treeCancel"
>
<div class="demo-drawer-content">
<dept-tree
ref="drawerModalTree"
treeDivId="drawerModalTree"
check-enable
allDept
showUser
:editable="false"
style="padding: 0 15px"
@treeOnCheck="(checkedList) => treeOnCheck(checkedList)"
/>
</div>
<div class="demo-drawer-footer">
<el-button
type="primary"
round
class="common-button-primary"
icon="el-icon-check"
@click="shareStandardBt"
>
提交
</el-button>
<el-button class="common-button-default" icon="el-icon-close" @click="treeCancel">取消</el-button>
</div>
</el-drawer>
<!-- 导入失败-->
<el-dialog :visible.sync="importFailed" :close-on-click-modal="false" width="400px">
<p slot="title" style="color:#f60">
<span>导入失败</span>
</p>
<div style="max-height: 300px;overflow: auto;padding: 10px 0;">
<p v-html="importForm.content" />
</div>
<div slot="footer" class="demo-drawer-footer">
<el-button
type="primary"
round
class="common-button-default"
icon="el-icon-check"
@click="importFailed = false"
>
确认
</el-button>
</div>
</el-dialog>
</div>
<el-drawer
title="高级检索"
size="700px"
:wrapperClosable="false"
:visible.sync="isAdvancedSearch"
>
<div class="demo-drawer-content">
<el-form
:model="sarBussionessSearch"
:inline="true"
class="label-input-form table-lattice"
label-width="300px"
style="display: flex;flex-wrap: wrap"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" title="企标类别" class="add-form-item form-item-disabled">
<el-select v-model="sarBussionessSearch.standSort" filterable clearable>
<el-option
v-for="(item, index) in standSortOptions"
:key="index"
placeholder="请选择"
:value="item.value"
:label="item.label"
/>
</el-select>
</el-form-item>
<el-form-item label="英文名称" title="企标英文名称" class="add-form-item form-item-disabled">
<el-input
v-model="sarBussionessSearch.standEnName"
placeholder="请输入企标英文名称"
clearable
/>
</el-form-item>
<el-form-item label="废止日期" class="add-form-item form-item-disabled">
<el-datePicker
v-model="sarBussionessSearch.FZRQBUSS"
:editable="false"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
placeholder="请选择废止日期"
value-format="yyyy-MM-dd"
clearable
/>
</el-form-item>
<el-form-item label="复审日期" class="add-form-item form-item-disabled">
<el-datePicker
v-model="sarBussionessSearch.FSRQBUSS"
:editable="false"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
placeholder="请选择复审日期"
value-format="yyyy-MM-dd"
clearable
/>
</el-form-item>
<!-- 备案日期 -->
<el-form-item label="备案日期" class="add-form-item form-item-disabled">
<el-date-picker
v-model="sarBussionessSearch.BARQ"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
placeholder="根据备案日期查找"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="标准年份" class="add-form-item form-item-disabled">
<el-input
v-model.number="sarBussionessSearch.standYear"
placeholder="请输入标准年份"
value-format="yyyy-MM-dd"
clearable
/>
</el-form-item>
<el-form-item label="标准状态" class="add-form-item form-item-disabled">
<el-select
v-model="sarBussionessSearch.textStatusBuss"
placeholder="请选择标准状态"
clearable
>
<el-option
v-for="(opt,index) in standStateOptions"
:key="index"
:value="opt.value === undefined ? '' :opt.value"
:label="opt.label"
>
{{ opt.label }}
</el-option>
</el-select>
</el-form-item>
<el-form-item label="企标制修订状态" title="企标制修订状态" class="add-form-item form-item-disabled">
<el-select v-model="sarBussionessSearch.revisionStatus" title="请选择" filterable clearable>
<el-option
v-for="item in opinionsStand"
:key="item.value"
:value="item.value"
:label="item.label"
/>
</el-select>
</el-form-item>
<el-form-item label="发布日期" class="add-form-item form-item-disabled">
<el-datePicker
v-model="sarBussionessSearch.issueTime"
:editable="false"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
placeholder="请选择发布日期"
value-format="yyyy-MM-dd"
clearable
/>
</el-form-item>
<el-form-item label="实施日期" title="企标实施日期" class="add-form-item form-item-disabled">
<el-datePicker
v-model="sarBussionessSearch.putTime"
:editable="false"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
placeholder="请选择实施日期"
value-format="yyyy-MM-dd"
clearable
/>
</el-form-item>
</el-col>
</el-row>
</div>
<ProcessTitle>
<template slot="title">适用范围</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item
prop="QCDW"
label-width="150px"
class="add-form-item"
>
<template slot="label">起草部门</template>
<el-input
v-model="sarBussionessSearch.QCDW"
:config="qcdwOptions"
clearable
:disabled="formdisableflag"
placeholder="查询起草部门"
@click.native="choiceQCDW('QCDWId', '查询起草部门', sarBussionessSearch.QCDW)"
/>
</el-form-item>
<!-- <el-form-item label="起草部门" class="add-form-item form-item-disabled">-->
<!-- <el-input v-model="sarBussionessSearch.QCDW" clearable placeholder="请输入起草部门"></el-input>-->
<!--&lt;!&ndash; <el-select v-model="sarBussionessSearch.QCDW" filterable clearable>&ndash;&gt;-->
<!--&lt;!&ndash; <el-option&ndash;&gt;-->
<!--&lt;!&ndash; v-for="item in qcdwOptions"&ndash;&gt;-->
<!--&lt;!&ndash; placeholder="请选择"&ndash;&gt;-->
<!--&lt;!&ndash; :key="item.value"&ndash;&gt;-->
<!--&lt;!&ndash; :value="item.value"&ndash;&gt;-->
<!--&lt;!&ndash; :label="item.label"&ndash;&gt;-->
<!--&lt;!&ndash; ></el-option>&ndash;&gt;-->
<!--&lt;!&ndash; </el-select>&ndash;&gt;-->
<!-- </el-form-item>-->
<!-- 适用车型-->
<template>
<custom-select-array
v-model="sarBussionessSearch['SYCXCLASS']"
:config="applyArcticOptions"
style="margin-left: -14px"
/>
</template>
<!-- <el-form-item label="适用车型" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="sarBussionessSearch.SYCXCLASS" filterable clearable>-->
<!-- <el-option-->
<!-- v-for="item in applyArcticOptions"-->
<!-- placeholder="请选择"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="标准体系" class="add-form-item form-item-disabled">
<el-input v-model="sarBussionessSearch.TXLBBUSS" placeholder="选择标准体系" clearable @click.native="choiceZRR1('TXLBBUSS', '标准体系', sarBussionessStandEO.TXLBBUSS)" />
</el-form-item>
<el-form-item label="关联模块--乘用车VPPS编码" title="关联模块--乘用车VPPS编码" class="add-form-item form-item-disabled">
<el-input
v-model="sarBussionessSearch.CYCVPPSBMBUSS"
placeholder="请输入关联模块--乘用车VPPS编码"
/>
</el-form-item>
<el-form-item label="关联模块--卡车VPPS编码" title="关联模块--卡车VPPS编码" class="add-form-item form-item-disabled">
<el-input
v-model="sarBussionessSearch.KCVPPSBMBUSS"
placeholder="请输入关联模块--卡车VPPS编码"
/>
</el-form-item>
<!-- <el-form-item label="模块结构单元变型号(卡车)" title="模块结构单元变型号(卡车)" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="sarBussionessSearch.DYBXHBUSS"-->
<!-- placeholder="请输入模块结构单元变型号(卡车)"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="模块结构单元变型号(乘用车)" title="模块结构单元变型号(乘用车)" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="sarBussionessSearch.CYCDYBXHBUSS"-->
<!-- placeholder="请输入模块结构单元变型号(乘用车)"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
</el-col>
<el-col :span="12">
<el-form-item
prop="ZRGCSUser"
label-width="150px"
class="add-form-item"
>
<template slot="label">起草人</template>
<el-input
v-model="sarBussionessSearch['QCRBUSS']"
placeholder="查询起草人"
@click.native="choiceQCR('QCRBUSS', '查询起草人', sarBussionessSearch['QCRBUSS'])"
/>
</el-form-item>
<!-- 能源类型-->
<template>
<custom-select-array
:key="arrKey"
v-model="sarBussionessSearch['NYLXCLASS']"
:config="categoryOptions"
style="margin-left: -14px"
/>
</template>
<template>
<custom-select-array
:key="arrKey2"
v-model="sarBussionessSearch['SYCPXCLASS']"
:config="sycpxOptions"
style="margin-left: -14px"
/>
</template>
<el-form-item label="关联模块--乘用车vpps中文名称" title="关联模块--乘用车vpps中文名称" class="add-form-item form-item-disabled">
<el-input
v-model="sarBussionessSearch.CYCVPPSCNBUSS"
placeholder="请输入关联模块--乘用车vpps中文名称"
/>
</el-form-item>
<el-form-item label="关联模块--卡车vpps中文名称" title="关联模块--卡车vpps中文名称" class="add-form-item form-item-disabled">
<el-input
v-model="sarBussionessSearch.KCVPPSCNBUSS"
placeholder="请输入关联模块--卡车vpps中文名称"
/>
</el-form-item>
<!-- <el-form-item label="模块结构单元名称(卡车)" title="模块结构单元名称(卡车)" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="sarBussionessSearch.DYMCBUSS"-->
<!-- placeholder="请输入模块结构单元名称(卡车)"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="模块结构单元名称(乘用车)" title="模块结构单元名称(乘用车)" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="sarBussionessSearch.CYCDYMCBUSS"-->
<!-- placeholder="请输入模块结构单元名称(乘用车)"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
</el-col>
</el-row>
</div>
<ProcessTitle>
<template slot="title">关联信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="代替企标编号" title="代替企标编号" class="add-form-item form-item-disabled">
<el-input v-model="sarBussionessSearch.DTQBBHBUSS" placeholder="请输入代替企标编号" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被代替企标编号" title="被代替企标编号" class="add-form-item form-item-disabled">
<el-input v-model="sarBussionessSearch.BDTQBBHBUSS" placeholder="请输入被代替企标编号" clearable />
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<div class="demo-drawer-footer">
<el-button
class="common-button-primary"
icon="el-icon-check"
type="primary"
@click="getBussionStandTableBtn(sarBussionessSearch,'','sel')"
>
搜索
</el-button>
<el-button
class="common-button-default"
icon="el-icon-close"
@click="clearAllSearch('sarBussionessSearch')"
>
取消
</el-button>
</div>
</el-drawer>
<el-dialog
title="企标复审计划 -(已复审过的企标列表记录以及未来一个月内需要复审的企标信息列表以及复审结果)"
:visible.sync="replaceLawsNumModel"
width="1200px"
:close-on-click-modal="false"
@close="replaceLawsNumModelCancel"
>
<div class="search-area">
<div class="left">
<el-form :modal="replaceLawsNumForm" :inline="true" class="label-input-form">
<el-form-item label="编号" class="search-item">
<el-input
v-model="replaceLawsNumForm.standCode"
placeholder="根据企标编号查找"
clearable
:maxlength="100"
/>
</el-form-item>
<el-form-item label="发布日期" class="search-item">
<el-datePicker
v-model="replaceLawsNumForm.issueTimeArr"
:editable="false"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
placeholder="请选择发布日期"
value-format="yyyy-MM-dd"
clearable
/>
</el-form-item>
<el-form-item label="复审日期" class="search-item">
<el-datePicker
v-model="replaceLawsNumForm.reviewTimeArr"
:editable="false"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
placeholder="请选择复审日期"
value-format="yyyy-MM-dd"
clearable
/>
</el-form-item>
<el-form-item label="起草单位" class="search-item">
<el-input
v-model="replaceLawsNumForm.QCDW"
placeholder="根据起草单位查找"
clearable
:maxlength="100"
/>
</el-form-item>
<selectTree
ref="selectTreeRef"
v-model="replaceLawsNumForm.menuId"
label="标准类别"
placeholder="根据标准类别查找"
:treeList="selectTreeList"
/>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
round
@click="getReplaceLawsNumRowFirst"
>
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
round
type="default"
@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'}"
>
<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 v-if="scope.row.standCode" class="table-jump" @click="handlePreview(scope.row,'fs')">{{ scope.row.standCode }}</a>
</template>
</el-table-column>
<el-table-column
label="企标名称"
>
<template slot-scope="scope">
<a v-if="scope.row.standName" class="table-jump" @click="handlePreview(scope.row,'fs')">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
label="发布日期"
width="130"
>
<template slot-scope="scope">{{ formatIssueDate(scope.row.issueTime) }}</template>
</el-table-column>
<el-table-column
prop="reviewTime"
label="复审日期"
width="130"
>
<template slot-scope="scope">{{ formatIssueDate(scope.row.reviewTime) }}</template>
</el-table-column>
<el-table-column
prop="reviewResults"
label="复审结果"
width="130"
>
<template slot-scope="scope">
<span>{{ filterOp(scope.row.reviewResults) }}</span>
</template>
</el-table-column>
<el-table-column
prop="qcrbuss"
label="起草人"
width="120"
>
<template slot-scope="scope">
<el-tooltip class="item" effect="dark" :content="scope.row.qcrbuss" placement="top">
<span v-if="scope.row.qcrbuss" :title="scope.row.qcrbuss">{{ scope.row.qcrbuss }}</span>
</el-tooltip>
</template>
</el-table-column>
<el-table-column
prop="qcdw"
label="起草单位"
width="120"
>
<template slot-scope="scope">
<span v-if="scope.row.qcdw" :title="scope.row.qcdw">{{ scope.row.qcdw }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="replaceLoading">{{ $t('m.dataAcquisition') }}</loading>
<!--分页-->
<pagination
style="position: relative;"
:auto-size="true"
:page-size="replaceLawsNumForm.pageSize"
:page="replacePage"
:total="replaceTotal"
@pageChange="pageChangeReplace"
@pageSizeChange="pageSizeChangeReplace"
/>
<div slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" round icon="el-icon-close" @click="replaceLawsNumModel = false">取消</el-button>
<!-- <el-button type="primary" round class="common-button-primary" icon="el-icon-check" @click="replaceLawsNumModelBt">提交</el-button>-->
</div>
</el-dialog>
<Role-tree
:is-title="drawerTitle"
:is-visible.sync="modalShowRoleFlag"
:nodeList="nodeList2"
@checkedRole="checkedRole2"
/>
<Role-tree
:is-title="drawerTitle"
:is-visible.sync="modalShowRoleFlag1"
:nodeList="nodeList3"
@checkedRole="checkedRole2"
/>
<Mechanism-tree
is-title="选择部门信息"
:is-title="drawerTitle5"
:is-visible.sync="modalshowflagZRBM"
:nodeList="nodeListZRBM"
@checkedRole="drawerCheckZRBM"
/>
<!-- 授权人员(上汽全公司选人解决方案) -->
<!-- :max-selected="1"-->
<!-- max-selected-tips="采购处理人只能为一个人"-->
<org-table
title="人员授权"
:visible.sync="visibleOrgTable"
dialog-model
:config="orgTableConfig"
@confirm="handleOrgTableConfirm"
/>
<!-- 分享 全部选人 -->
<org-table
:visible.sync="visibleShare"
title="分享人员"
dialog-model
:config="{
value: orgTableVal,
valueName: orgTableValName
}"
@confirm="isTreeOk"
/>
<!-- 新建抽屉 -->
<el-drawer
:wrapperClosable="false"
:title="productTitle"
:visible.sync="productModal"
size="800px"
:before-close="closeDrawer"
label-width="130px"
>
<div class="demo-drawer-content">
<el-form
v-if="productModal"
ref="productModelAdd"
:model="productModelAdd"
:rules="productRules"
class="label-input-form"
label-width="130px"
>
<el-row>
<el-col>
<el-form-item label="菜单名称" prop="menuName" class="add-form-item">
<el-input v-model.trim="productModelAdd.menuName" placeholder="请输入菜单名称" clearable />
</el-form-item>
</el-col>
<el-col>
<el-form-item label="排序号" prop="displaySeq" class="add-form-item">
<el-input
v-model.number="productModelAdd.displaySeq"
number
placeholder="请输入排序号"
:maxlength="4"
clearable
/>
</el-form-item>
</el-col>
<el-col>
<el-form-item v-if="modalType === 2" label="上级菜单" prop="parentIdsName" class="add-form-item">
<el-input
v-model="productModelAdd.parentIdsName"
disabled
clearable
/>
</el-form-item>
</el-col>
<el-col>
<el-form-item label="描述" prop="remarks" class="add-form-item">
<el-input
v-model.trim="productModelAdd.remarks"
placeholder="请输入描述"
clearable
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div class="demo-drawer-footer">
<el-button
class="common-button-primary"
icon="el-icon-check"
type="primary"
@click="saveProduct('productModelAdd')"
>
提交
</el-button>
<el-button
class="common-button-default"
icon="el-icon-close"
@click="closeModal"
>
取消
</el-button>
</div>
</el-drawer>
<!-- 组件树-->
<tree-select-new
:multiple="false"
:lazy="false"
:modalShowFlag="modalShowFlag1"
:drawerTitle="drawerTitle1"
width="500"
:data="standSystemOptions"
:defaultProps="defaultProps"
:checkedKeys="defaultCheckedKeys"
:nodeKey="nodeKey"
@popoverHide="popoverHide"
@popoverHideCancel="popoverHideCancel"
/>
<tree-select-new
width="500"
:lazy="true"
:multiple="modalShowFlag2"
:check-strictly="true"
:modalShowFlag="modalShowFlag2"
:drawerTitle="drawerTitle2"
:type="type"
:url="url"
:urlChild="urlChild"
:defaultProps="defaultCodeProps"
:checkedKeys="defaultCheckedKeys1"
:nodeKey="nodeKeyCode"
@popoverHide="popoverHideBusVs"
@popoverHideCancel="popoverHideBusVsCancel"
/>
<tree-select-new
width="500"
:lazy="true"
:multiple="true"
:check-strictly="true"
:modalShowFlag="modalShowFlag3"
:drawerTitle="drawerTitle3"
:url="url"
:type="'truck'"
:urlChild="urlChild"
:defaultProps="defaultCodeProps"
:checkedKeys="defaultCheckedKeys2"
:nodeKey="nodeKeyCode"
@popoverHide="popoverHideCarVs"
@popoverHideCancel="popoverHideCarVsCancel()"
/>
<tree-select-module
width="500"
:lazy="true"
:multiple="true"
:check-strictly="true"
:modalShowFlag="modalShowFlag4"
:drawerTitle="drawerTitle4"
:url="url"
:urlChild="urlChild"
:defaultProps="defaultModelProps"
:checkedKeys="defaultCheckedKeys3"
:nodeKey="nodeKeyModel"
@popoverHide="popoverHideModel"
@popoverHideCancel="popoverHideModelCancel()"
/>
<tree-select-module
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()"
/>
</div>
</template>
<script>
import CustomInput from '@/components/CustomFormComponents/Input';
import CustomTextarea from '@/components/CustomFormComponents/Textarea';
import CustomSearchSelect from '@/components/CustomFormComponents/SearchSelect';
import CustomSelect from '@/components/CustomFormComponents/Select';
import CustomDatePick from '@/components/CustomFormComponents/DatePicker';
import CustomFile from '@/components/CustomFormComponents/File';
import CustomInputForStandards from '@/components/CustomFormComponents/InputForStandardsForEnterprise';
import customSelectArray from '@/components/CustomFormComponents/SelectArray';
import CustomOrg from '@/components/CustomFormComponents/OrgTree';
import CustomSVPPS from '@/components/CustomFormComponents/SVPPS';
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle';
import treeSelectModule from '@/components/treeSelect/treeSelectModule.vue';
import selectTree from '@/components/abc/selectTree/selectTree'
import { getTreeItem } from '@/common/myFun.js'
import { getMenuListOne, getMenuListTwo } from '@/api/flow'
import { mapGetters } from 'vuex';
import store from '@/store';
export default {
name: 'EnterpriseStandardDatabase',
components: {
CustomFile,
CustomInput,
CustomTextarea,
CustomSearchSelect,
CustomDatePick,
CustomSelect,
CustomInputForStandards,
customSelectArray,
CustomOrg,
CustomSVPPS,
TreeSelect,
TreeSelectNew,
treeSelectModule,
ProcessTitle,
selectTree
},
props: {},
data () {
return {
opinionsStand: [
{ value: 'buss1_1', label: '技术标准-制定中' },
{ value: 'buss1_2', label: '技术标准-修订中' },
{ value: 'buss1_4', label: '技术标准-已完成' },
{ value: 'buss2_1', label: '产品标准-制定中' },
{ value: 'buss2_2', label: '产品标准-修订中' },
{ value: 'buss2_3', label: '产品标准-修改中' },
{ value: 'buss2_4', label: '产品标准-已完成' },
],
QCBFC: false, // C类标准展示备案日期
replaceLawsNumModel: false,
replaceLawType: '',
sarBussionessLawsEO: {
replaceLawsNum: ''
},
replaceLawsNumRow: [], // 代替政策号 数组内容
replaceLoading: true,
// 代替标准号
replaceLawsNumForm: {
standCode: '', // 标准编号
reviewTimeArr: '',
reviewTimeStart: '',
reviewTimeEnd: '',
issueTimeArr: '',
issueTimeStart: '',
issueTimeEnd: '',
page: 1,
pageSize: 20,
total: 0,
validFlag: '0',
menuId: '', // 标准类别
QCDW: '' // 起草单位
},
OCRType: '',
OCRTitle: '',
ocrList: [],
orderBy: '',
nowOrder: '',
nowOrderBy: '',
props: {
label: 'menuName',
children: 'children'
},
defaultProps: {
children: 'children',
label: 'menuName'
},
advancedSearch: [],
nodeKey: 'id',
nodeKeyCode: 'code',
nodeKeyModel: 'model',
defaultCheckedKeys: [],
productModal: false, // 模态框是否打开
mobileModal: false, // 移动标准
modalType: '',
productTitle: '', // 模态框标题
// 规范
productRules: {
menuName: [
{ required: true, message: '一级菜单不能为空', trigger: 'blur' },
{ type: 'string', max: 100, message: '最多输入100位', trigger: 'blur' }
],
displaySeq: [
{ type: 'number', required: true, message: '排序号不能为空且为正整数', trigger: 'blur' },
{ type: 'string', validator: this.verify.validStandNumInCompile2, trigger: 'blur' }
],
remarks: [
{ type: 'string', max: 500, message: '最多输入500位', trigger: 'blur' }
],
dicTypeName: [
{ required: true, message: '选项不能为空', trigger: 'blur' },
{ type: 'string', max: 100, message: '最多输入100位', trigger: 'blur' }
],
showIndex: [
{ type: 'number', required: true, message: '排序号不能为空且为正整数', trigger: 'blur' },
{ type: 'string', validator: this.verify.validStandNumInCompile2, trigger: 'blur' }
],
describes: [
{ type: 'string', max: 500, message: '最多输入500位', trigger: 'blur' }
]
},
productModelAdd: {
id: '',
sorDivide: 'BUSINESS_STAND',
menuName: '',
parentId: null,
parentIds: null,
parentIdsName: '',
displaySeq: '',
creationTime: '',
modifyTime: '',
remarks: '',
children: [],
// 模态框信息
dicTypeName: '',
showIndex: '',
// 描述
describes: '',
// 唯一辨识
dicId: ''
},
filterText: '', // 企业标准库过滤
treeList: [],
treeList1: [],
standId: '',
visibleOrgTable: false,
visibleShare: false,
orgTableVal: '',
orgTableValName: '',
orgTableConfig: {
value: '',
valueName: ''
},
// 代替标准号
replaceStandNumForm: {
standNumber: '',
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
standType: 'INLAND',
quoteIdList: '',
validFlag: '0'
},
// 一般检索搜索
standCommonlySearch: {
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
standType: 'INLAND',
validFlag: '0',
standSort: '',
standNumber: ''
},
replaceStandNumRow: [],
lawsExplainQuoteFormLoading: false,
replacePage: 1,
replaceTotal: 0,
replaceRows: 10,
quoteIdList1: '',
selectedListRep: [],
replaceStandNumModelNum: [],
sarType: 'BUSS',
dynamicFormField: [],
reloadAddForm: false,
showRegionOptions: [],
formFieldListData: {},
formFieldList: [],
allSelectOptions: {},
configPage: 1,
configPageNow: 1,
loading: false,
configTotal: 0,
configRows: this.$store.getters.userInfo.configContent,
saveExportType: '',
currentFileList: '', // 当前操作的是哪个FormItem的上传
currentFile: '', // 当前操作的是哪个FormItem的上传
tableHeight: null,
sarMenuRules: {
menuName: [
{ required: true, message: '目录名称不能为空', trigger: 'blur' },
{ type: 'string', max: 100, message: '目录名称不能超过100个字符', trigger: 'change' }
// {type: 'string', validator: this.verify.checkSpecialCharacter2, trigger: 'blur'}
],
displaySeq: [
{ type: 'number', required: true, message: '序号不能为空且为正整数', trigger: 'change' },
{ type: 'string', validator: this.verify.validStandNumInCompile2, trigger: 'blur' }
],
remarks: [
{ type: 'string', max: 100, message: '备注不能超过100个字符', trigger: 'change' }
// {validator: this.verify.checkSpecialCharacter2, trigger: 'blur'}
]
},
sarMenu: {
id: '',
parentId: '',
menuName: '',
sorDivide: 'BUSINESS_STAND',
displaySeq: '',
parentIds: '',
remarks: ''
}, // 二级菜单对象,主要用于新增和修改
// 组织机构
bussionessStandNodes: [],
sarBussionessStandEO: {
TXLBBUSS: '',
txlbId: '',
VPPSBMBUSS: '',
KCVPPSBMBUSS: '',
KCVPPSCNBUSS: '',
DYBXHBUSS: '',
DYMCBUSS: '',
CYCVPPSBMBUSS: '',
CYCVPPSCNBUSS: '',
VPPSCNBUSS: '',
regionShow: '亚洲',
region: '2T8PFTSYE7',
issueUnit: '', // 发布部门
assemClass: '',
id: '',
standType: 'INLAND', // 标准分类
textStatusBuss: '',
country: 'CN',
standSort: '',
applyArctic: '',
standNumber: '',
standYear: '',
standName: '',
standEnName: '',
standStatus: '',
standCode: '',
standNature: '',
replaceStandNum: '',
replaceStandNumId: '',
// replaceStandNumCope: '',
replaceStandNumList: [],
replacedStandNum: '',
interStandNum: '',
adoptExtent: '',
emergyKind: '',
applyAuth: '',
issueTime: '',
putTime: '',
newcarPutTime: '',
productPutTime: '',
newproductPutTime: '',
draftingUnit: '',
draftUser: '',
standFile: '',
standModifyFile: '',
draftFile: '',
opinionFile: '',
sentScreenFile: '',
approvalFile: '',
relevanceFile: '',
standFileList: [],
standModifyFileList: [],
draftFileList: [],
wtoPublicFileList: [],
finalizeFileList: [],
opinionFileList: [],
sentScreenFileList: [],
approvalFileList: [],
relevanceFileList: [],
firstDraftFileList: [],
lawsExplainFileList: [],
tags: '',
synopsis: '',
responsibleUnit: '',
category: '',
remark: '',
menuId: '',
upReplaceNumFlag: 0, // 记录是否修改了代替政策编号
upNumFlag: 0,
orgName: '', // 部门名称
registerPutTime: '', // 注册登记车实施日期
standExpirationTime: '', // 标准失效日期
issueTextTime: '', // 标准发布文本获得时间(印刷版)
revisionProjectNo: '', // 标准修订立项号
recieveConfirmResult: '', // 已收到以下部门适法性确认结果
trialFirstCar: '', // 试验首款车
domainAssume: '', // 领域担当
budgetBenchmark: '', // 预算基准
planCompletionTime: '', // 制修订计划完成时间
enterNextStageTime: '', // 预测进入下制修订阶段时间
firstDraftFile: '', // 初稿
standAttribute: '', // 法规种类
isCertiStand: '', // 是否为认证标准
isNoticeApply: '', // 是否公告适用
isNationRing: '',
isNorthRing: '', // 是否北环适用
isCccApply: '', // 是否CCC适用
isEnergyStand: '', // 是否为新能源专向标准
issueTimeCm: '', // 发布日期是否明确
newcarPutTimeCm: '', // 新车型实施日期 是否明确
productPutTimeCm: '', // 在产车实施日期 是否明确
isQuestion: '', // 是否结题
draftState: '', // 参与起草情况
reviseBasis: '', // 修订依据
unProjectTime: '', // 未立项—获稿时间
projectTime: '', // 立项—获稿时间
estimatedNextTime: '', // 预计进入下一阶段时间
finalizeTime: '', // 结题时间
wtoPublicFile: '',
finalizeFile: '', // 结题附件
noticeCertPutTime: '',
cccCertPutTime: '',
nationCertPutTime: '',
northCertPutTime: '',
noticeProductPutTime: '',
cccProductPutTime: '',
nationProductPutTime: '',
northProductPutTime: '',
lawsExplainText: '',
lawsExplainKeyword: '',
lawsExplainFile: '',
lawsExplainQuote: '',
testItems: '',
lawsExplainQuoteList: [],
testItemsList: [],
firstDraftFileTime: '',
firstDraftFileFeedback: '',
wtoPublicFileTime: '',
wtoPublicFileFeedback: '',
opinionFileTime: '',
opinionFileFeedback: '',
sentScreenFileTime: '',
sentScreenFileFeedback: '',
approvalFileTime: '',
approvalFileFeedback: '',
certPutTimeList: []
}, // 标准新增过程中用到的对象
defaultAddFormField: {
regionShow: '亚洲',
region: '2T8PFTSYE7',
issueUnit: '', // 发布部门
assemClass: '',
id: '',
standType: 'INLAND', // 标准分类
country: 'CN',
standSort: '',
applyArctic: '',
standNumber: '',
standYear: '',
standName: '',
standEnName: '',
standStatus: '',
standCode: '',
standNature: '',
replaceStandNum: '',
replaceStandNumId: '',
// replaceStandNumCope: '',
replaceStandNumList: [],
replacedStandNum: '',
interStandNum: '',
adoptExtent: '',
emergyKind: '',
applyAuth: '',
issueTime: '',
putTime: '',
newcarPutTime: '',
productPutTime: '',
newproductPutTime: '',
draftingUnit: '',
draftUser: '',
standFile: '',
standModifyFile: '',
draftFile: '',
opinionFile: '',
sentScreenFile: '',
approvalFile: '',
relevanceFile: '',
standFileList: [],
standModifyFileList: [],
draftFileList: [],
wtoPublicFileList: [],
finalizeFileList: [],
opinionFileList: [],
sentScreenFileList: [],
approvalFileList: [],
relevanceFileList: [],
firstDraftFileList: [],
lawsExplainFileList: [],
tags: '',
synopsis: '',
responsibleUnit: '',
category: '',
remark: '',
menuId: '',
upReplaceNumFlag: 0, // 记录是否修改了代替政策编号
upNumFlag: 0,
orgName: '', // 部门名称
registerPutTime: '', // 注册登记车实施日期
standExpirationTime: '', // 标准失效日期
issueTextTime: '', // 标准发布文本获得时间(印刷版)
revisionProjectNo: '', // 标准修订立项号
recieveConfirmResult: '', // 已收到以下部门适法性确认结果
trialFirstCar: '', // 试验首款车
domainAssume: '', // 领域担当
budgetBenchmark: '', // 预算基准
planCompletionTime: '', // 制修订计划完成时间
enterNextStageTime: '', // 预测进入下制修订阶段时间
firstDraftFile: '', // 初稿
standAttribute: '', // 法规种类
isCertiStand: '', // 是否为认证标准
isNoticeApply: '', // 是否公告适用
isNationRing: '',
isNorthRing: '', // 是否北环适用
isCccApply: '', // 是否CCC适用
isEnergyStand: '', // 是否为新能源专向标准
issueTimeCm: '', // 发布日期是否明确
newcarPutTimeCm: '', // 新车型实施日期 是否明确
productPutTimeCm: '', // 在产车实施日期 是否明确
isQuestion: '', // 是否结题
draftState: '', // 参与起草情况
reviseBasis: '', // 修订依据
unProjectTime: '', // 未立项—获稿时间
projectTime: '', // 立项—获稿时间
estimatedNextTime: '', // 预计进入下一阶段时间
finalizeTime: '', // 结题时间
wtoPublicFile: '',
finalizeFile: '', // 结题附件
noticeCertPutTime: '',
cccCertPutTime: '',
nationCertPutTime: '',
northCertPutTime: '',
noticeProductPutTime: '',
cccProductPutTime: '',
nationProductPutTime: '',
northProductPutTime: '',
lawsExplainText: '',
lawsExplainKeyword: '',
lawsExplainFile: '',
lawsExplainQuote: '',
testItems: '',
lawsExplainQuoteList: [],
testItemsList: [],
firstDraftFileTime: '',
firstDraftFileFeedback: '',
wtoPublicFileTime: '',
wtoPublicFileFeedback: '',
opinionFileTime: '',
opinionFileFeedback: '',
sentScreenFileTime: '',
sentScreenFileFeedback: '',
approvalFileTime: '',
approvalFileFeedback: '',
certPutTimeList: []
}, // 标准新增过程中用到的对象
energyKindOptions: [], // 能源种类下拉框
applyCountryOptions: [], // 国家/地区下拉框
formdisableflag: false,
defaultAddFormFieldRules: {
textStatusBuss: [
{ required: true, message: '标准状态不能为空', trigger: 'change' }
],
standYear: [
{ required: true, message: '标准年份不能为空', trigger: 'change' }
],
standSort: [
{ required: true, message: '企标类别不能为空', trigger: 'change' }
],
standCode: [
{ required: true, type: 'string', message: '企标编号不能为空', trigger: 'change' },
{ type: 'string', max: 100, message: '企标编号不能超过100个字符', trigger: 'change' }
],
standName: [
{ required: true, message: '中文名称不能为空', trigger: 'change' },
{ type: 'string', max: 500, message: '中文名称不能超过500个字符', trigger: 'change' }
],
standEnName: [
{ required: false, message: '英文名称不能为空', trigger: 'change' },
{ type: 'string', max: 1000, message: '英文名称不能超过1000个字符', trigger: 'change' },
{ validator: this.verify.valiateEnName, trigger: 'change' }
],
standStatus: [
{ required: true, message: '标准状态不能为空', trigger: 'change' }
],
issueTime: [
{ required: false, message: '发布日期不能为空', trigger: 'change' }
],
putTime: [
{ required: false, message: '企标实施日期不能为空', trigger: 'change' }
],
replaceStandNum: [
{ type: 'string', max: 100, message: '代替企标编号不能超过100个字符', trigger: 'change' }
]
},
sarBussionessStandRules: {
// standSort: [
// {required: true, message: '企标类别不能为空', trigger: 'change'}
// ],
standNumber: [
{ required: true, type: 'string', message: '企标编号不能为空', trigger: 'change' },
{ type: 'string', max: 100, message: '企标编号不能超过100个字符', trigger: 'change' }
],
standName: [
{ required: true, message: '中文名称不能为空', trigger: 'change' },
{ type: 'string', max: 500, message: '中文名称不能超过500个字符', trigger: 'change' },
{ validator: this.verify.checkSpecialCharacterOftags, trigger: 'change' }
],
standEnName: [
{ required: true, message: '英文名称不能为空', trigger: 'change' },
{ type: 'string', max: 1000, message: '英文名称不能超过1000个字符', trigger: 'change' },
{ validator: this.verify.valiateEnName, trigger: 'change' }
],
standState: [
{ required: true, message: '标准状态不能为空', trigger: 'change' }
],
issueTime: [
{ required: true, message: '发布日期不能为空', trigger: 'change' }
],
putTime: [
{ required: true, message: '标准实施日期不能为空', trigger: 'change' }
],
replaceStandNum: [
{ type: 'string', max: 100, message: '代替企标编号不能超过100个字符', trigger: 'change' }
]
},
// 提交状态
isSubmit: false,
lawsZNodes: [],
// keep-alive重新加载树组件
treeReload: false,
// 树
menuModalFlag: false,
menuModalTitle: '', // 新增目录模态框的title
selectSarMenu: {}, // 用来记录当前选中的二级菜单对象
importModalshowflag: false,
importExcelUrl: '', // 导入EXCEL文档
showUploadlist: true, // 导入过程中新增数据时,如果数据错误,不出现导入列表
importFailed: false,
importForm: {
content: ''
},
spinShow: false,
drawerWidth: 1400,
// 配置标准相关 开始
configStandFlag: false, // 控制配置标准表格是否显示
// 一般检索
// sarBussionessSearch: {
// page: 1,
// pageSize: this.$store.getters.userInfo.configContent,
// validFlag: '0',
// classifyCode: '',
// numberName: ''
// },
isAdvancedSearch: false, // 高级检索窗口是否打开
standinfoList: [],
selectedList: [],
// 导出文件模态框控制,和文件名称
exportModelFlag: false,
exportName: '',
countRootId: 0,
parentNode: [],
deleteMenuModal: false,
goSearch: '',
SarExportSearchEo: {},
sarBussionessSearch: {
orgName: '', // 部门名称
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
validFlag: '0',
menuId: '', // 最开始进入页面
standCode: '',
standName: '',
numberName: '',
standGenera: '',
standSubclass: '',
standStatus: '',
issueTime: '',
putTime: '',
responsibleUnit: '', // 存储责任部门Name
id: '', // 存储责任部门Id
replaceStandNum: '', // 代替标准号
classifyCode: '', // 分类代号
quoteStand: '', // 引用标准
applyCountry: '', // 国家/地区
standNature: '', // 标准性质
standSort: '', // 企标类别
synopsis: '', // 内容摘要
// 基础信息
FZRQBUSS: '',
FSRQBUSS: '',
BARQ: '',
// 文本信息
FBGBUSS: '',
BZSMBUSS: '',
LSBBBUSS: '',
QTWJBUSS: '',
// 适用范围
QCDW: '',
QCRBUSS: '',
WJSCRYBUSS: '',
SYCXCLASS: '',
NYLXCLASS: '',
SYCPXCLASS: '',
TXLBBUSS: '',
KCVPPSBMBUSS: '',
KCVPPSCNBUSS: '',
CYCVPPSBMBUSS: '',
CYCVPPSCNBUSS: '',
CYCDYBXHBUSS: '',
CYCDYMCBUSS: '',
DYBXHBUSS: '',
DYMCBUSS: '',
VPPSBMBUSS: '',
VPPSCNBUSS: '',
// 关联信息
DTQBBHBUSS: '',
BDTQBBHBUSS: '',
XGJLBUSS: '',
XGLC: '',
GLWJBUSS: '',
XCSJBUSS: '',
}, // 分页查询过程中用到的对象
total: 0,
configStandList: [],
configStandtotal: 0,
height: null,
selectConfigStand: [],
selectConfigStandList: [],
selectConfigStandMap: new Map(),
configLoading: false, // 配置表格加载中
searchConfigNodes: [], // 责任部门树结构
zNodesSItem: [],
sarConfigStandSearch: {
page: this.configPage,
pageSize: this.$store.getters.userInfo.configContent,
standType: 'INLAND',
validFlag: '0',
menuId: '',
classifyCode: '',
quoteStand: '',
standCode: '',
standName: '',
standGenera: '',
standSubclass: '',
issueTime: '',
putTime: '',
orgName: '',
responsibleUnit: '',
standSort: '',
replaceStandNum: ''
}, // 分页查询过程中用到的对象
standGeneraOptions: [], // 企标大类下拉框
standSubclassOptions: [], // 企标细类下拉框-所有数据
standSubclassSelectOptions: [], // 企业细类下拉框-选中大类后 所有数据
searchNodes: [], // 高级检索中责任部门
defaultCheckedKeys1: [],
defaultCheckedKeys2: [],
defaultCheckedKeys3: [],
defaultCheckedKeys4: [],
defaultCodeProps: {
children: 'children',
label: 'code'
},
defaultModelProps: {
children: 'children',
label: 'model'
},
busVppsOptions: [], // 车系体系架构
modelOptions: [], // 模块体系架构
searching: false,
stahndinfoList: [],
tableFlag: '',
// sycpxOptions: [], // 适用产品线
syzrOptions: {
attrName: '适用认证',
options: []
}, // 适用认证
// zrgcsOptions: [], // 责任工程师
countryOptions: [],
regionOptions: [], // 区域
standSortOptions: [], // 标准类别下拉框
standSystemOptions: [], // 标准体系下拉框
sycpxOptions: {
attrName: '适用产品线',
options: []
}, // 适用产品线下拉框
zrbmOptions: [], // 责任部门下拉框
zrgcsOptions: [], // 责任工程师下拉框
txlbOptions: [], // 体系类别下拉框
standSortConfigOptions: [], // 标准类别下拉框
applyArcticOptions: {
attrName: '适用车型',
options: []
}, // 适用车型下拉框
standStateOptions: [], // 标准状态下拉框
standNatureOptions: [], // 标准性质下拉框
adoptExtentOptions: [], // 采标程度下拉框
emergyKindOptions: {
attrName: '能源类型',
options: []
}, // 能源种类下拉框
applyAuthOptions: {
attrName: '适用认证',
options: []
}, // 适用认证下拉框
arrKey: 0,
arrKey2: 1,
categoryOptions: {
attrName: '能源类型',
options: []
}, // 所属类别下拉框
categoryConfigOptions: [], // 所属类别下拉框
assemClassOptions: [], // 总成分类下拉框
qcdwOptions: {
attrName: '起草单位',
options: []
}, // 起草单位下拉框
qcrOptions: {
attrName: '起草人',
options: []
}, // 起草人下拉框
cysdOptions: [], // 我司参与深度下拉框
nylxOptions: [], // 能源类型下拉框
syrzOptions: [], // 适用认证下拉框
gkglbmOptions: [], // 归口管理部门下拉框
drawerTitle: '',
drawerTitle3: '',
drawerTitle4: '',
drawerTitle2: '',
drawerTitle5: '',
modalShowRoleFlag: false,
modalShowRoleFlag1: false,
nodeList: [],
nodeList2: [],
nodeList3: [],
nodeListZRBM: [],
modalshowflagZRBM: false,
addOrUPdateFlag: 2, // 新增:1 修改:2
modalshowflag: false,
standSubclassConfigOptions: [], // 企标细类下拉框-所有数据
collectBtn: false,
collect: '收藏',
// 收藏标准
personCollect: {
collectResId: '',
collectTitle: '',
collectType: ''
},
// 分享数据
resType: '',
drawerModal: false, // 分享
drawerModalstyles: {
height: 'calc(100% - 55px)',
overflow: 'auto',
paddingBottom: '53px',
position: 'static'
},
// end 分享相关的
shareStandardModal: false,
shareStandardSelect: [],
resPk: '', // 分享,消息推送过程中记录要推送的标准
// 消息推送保存对象
personShareEO: {
id: '',
recipientId: '',
shareUserId: '',
resType: '',
resId: '',
resUri: '',
resTitle: '',
readFlag: '',
validFlag: '',
modifyTime: '',
creationTime: ''
},
removeOneId: '',
sideClose: false, // 边栏收展状态
twoOptions: [],
threeOptions: [],
orgData: [],
isShow: false,
standStatus: '',
qcbm: '',
qcbmName: '',
drawerTitle1: '',
multipleFlag2: '',
modalShowFlag1: false,
modalShowFlag2: false, // drawer开关
modalShowFlag3: false, // drawer开关
modalShowFlag4: false, // drawer开关
modalShowFlag5: false, // drawer开关
type: '',
url: '',
urlChild: '',
modelType: '',
selectTreeList: [],
}
},
watch: {
// selectTreeFilterText (val) {
// this.$refs.selectTree.filter(val);
// },
'sarBussionessStandEO.standSort': {
handler: function (val) {
this.QCBFC = !!(val && val.indexOf('QCBFC') !== -1);
}
},
'sarBussionessStandEO.QCDW' (val) {
this.filterData(val);
},
filterText (val) {
this.$refs.tree.filter(val);
},
'sarBussionessStandEO.issueTime': {
handler: function () {
if (this.sarBussionessStandEO.issueTime !== undefined && this.sarBussionessStandEO.issueTime !== null && this.sarBussionessStandEO.issueTime !== '' && this.sarBussionessStandEO['FSRQBUSS'] == null && !this.sarBussionessStandEO['FSRQBUSS'] && this.sarBussionessStandEO['FSRQBUSS'] == '') {
const date = new Date(this.$moment(this.sarBussionessStandEO.issueTime).format('YYYY-MM-DD'))
// const FSRQBUSS = date.getFullYear()+ 5 + '-' + date.getMonth() + '-' + date.getDate()
// this.sarBussionessStandEO["FSRQBUSS"] = FSRQBUSS
const year = date.getMonth() == 0 ? date.getFullYear() + 4 : date.getFullYear() + 5;
let month = (date.getMonth()).toString() == 0 ? '12' : (date.getMonth()).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.sarBussionessStandEO['FSRQBUSS'] = FSRQBUSS
}
},
},
},
methods: {
filterReviseStatus (data) {
if(data) {
if(data.indexOf('buss1_') !== -1) {
if(data === 'buss1_1') {
return '技术标准-制定中'
}else if(data === 'buss1_2') {
return '技术标准-修订中'
}else if(data === 'buss1_4') {
return '技术标准-已完成'
}else {
return ''
}
}else if(data.indexOf('buss2_') !== -1) {
if(data === 'buss2_1') {
return '产品标准-制定中'
}else if(data === 'buss2_2') {
return '产品标准-修订中'
}else if(data === 'buss2_3') {
return '产品标准-修改中'
}else if(data === 'buss2_4') {
return '产品标准-已完成'
}else {
return ''
}
}
}else {
return '';
}
},
filterData (data) {
if(data.indexOf(',') !== -1) {
const permission = data.split(',');
const list = permission.filter( item => item !== '');
let nameNew = Array.from(list).join(',')
if(nameNew.length > 0) {
nameNew = nameNew.replace('undefined', '').replace(',,', ',')
}
this.$set(this.sarBussionessStandEO, 'QCDW', nameNew)
}else {
this.sarBussionessStandEO['QCDW'] = data
}
},
async getTreeAsync () {
const tsResource = await this.selectMenuList()
const sarMenuStandard = await this.selectMenu2()
let list1 = []
let list2 = []
if(tsResource && tsResource.ok && tsResource.data) {
list1 = tsResource.data
}
if(sarMenuStandard && sarMenuStandard.ok && sarMenuStandard.data) {
list2 = sarMenuStandard.data
}
if(list2.length > 0) {
list1 = list1.concat(list2)
}
// if(list1.length > 0){
// this.treeList = this.sortByKey(list1,"displaySeq")
// }
this.treeList = list1
},
sortByKey (ary, key) {
return ary.sort((a, b) => {
const x = a[key]
const y = b[key]
return ((x < y) ? -1 : (x > y) ? 1 : 0)
})
},
formatIssueDate (str) {
if(str && str.length > 10) {
str = str.substring(0, 10)
}
return str
},
filterOp (data) {
if(!data || data === '') {
return ''
}
const map = new Map();
map.set(1, '修订');
map.set(2, '废止');
map.set(3, '继续有效');
return map.get(data)
},
async selectBuss () {
this.replaceLawsNumModel = true
this.getReplaceLawsNumRow()
// 标准类别树
const list1 = await this.getMenuListOne()
const list2 = await this.getMenuListTwo()
this.selectTreeList = list1.concat(list2)
},
// 企业标准树
getMenuListOne () {
return new Promise((resolve, reject) => {
getMenuListOne('BUSINESS_STAND', this.$store.getters.userInfo.userId).then(res => {
if(res && res.data)
resolve(res.data)
}).catch(e => reject(e))
})
},
// 技术体系树
getMenuListTwo () {
return new Promise((resolve, reject) => {
getMenuListTwo('9m4qqqaansxmox5e82zm').then(res => {
if(res && res.data)
resolve(res.data)
}).catch(e => reject(e))
})
},
replaceLawsNumModelCancel () {
// this.replaceLawsNumModel = false
this.$refs.selections.clearSelection()
},
pageChangeReplace (page) {
this.replacePage = page
this.replaceLawsNumForm.page = page
this.getReplaceLawsNumRow()
},
pageSizeChangeReplace (pageSize) {
// this.replaceRows = pageSize
this.replaceLawsNumForm.pageSize = pageSize
this.getReplaceLawsNumRow()
},
// 模板下载
handlemoudel () {
window.open('/api/lawss/sarBussionessStand/exportTemplateFile?fileName=企业标准导入模板')
},
getResetLawsNumRow () {
this.replaceLawsNumForm = {
standCode: '', // 标准编号
reviewTimeArr: '',
reviewTimeStart: '',
reviewTimeEnd: '',
issueTimeArr: '',
issueTimeStart: '',
issueTimeEnd: '',
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
validFlag: '0',
QCDW: '',
// menuId: ''
}
this.$refs.selectTreeRef.clear()
this.getReplaceLawsNumRow()
},
getReplaceLawsNumRow () {
this.replaceLawsNumForm.userId = this.$store.getters.userInfo.userId
const currentTreeItem = getTreeItem(this.selectTreeList, this.replaceLawsNumForm.menuId)
if(currentTreeItem && currentTreeItem.treeType)
this.replaceLawsNumForm.treeType = currentTreeItem.treeType
if(this.replaceLawsNumForm.issueTimeArr && this.replaceLawsNumForm.issueTimeArr.length > 0) {
this.replaceLawsNumForm.issueTimeStart = this.replaceLawsNumForm.issueTimeArr[0] || null
this.replaceLawsNumForm.issueTimeEnd = this.replaceLawsNumForm.issueTimeArr[1] || null
}else{
this.replaceLawsNumForm.issueTimeStart = ''
this.replaceLawsNumForm.issueTimeEnd = ''
}
if(this.replaceLawsNumForm.reviewTimeArr && this.replaceLawsNumForm.reviewTimeArr.length > 0) {
this.replaceLawsNumForm.reviewTimeStart = this.replaceLawsNumForm.reviewTimeArr[0] || null
this.replaceLawsNumForm.reviewTimeEnd = this.replaceLawsNumForm.reviewTimeArr[1] || null
}else{
this.replaceLawsNumForm.reviewTimeStart = ''
this.replaceLawsNumForm.reviewTimeEnd = ''
}
this.$http.get('lawss/sarBussionessStandState/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 => {
})
},
getReplaceLawsNumRowFirst () {
this.replaceLawsNumForm.userId = this.$store.getters.userInfo.userId
const currentTreeItem = getTreeItem(this.selectTreeList, this.replaceLawsNumForm.menuId)
if(currentTreeItem && currentTreeItem.treeType)
this.replaceLawsNumForm.treeType = currentTreeItem.treeType
this.replaceLawsNumForm.page = 1
this.replacePage = 1
if(this.replaceLawsNumForm.issueTimeArr && this.replaceLawsNumForm.issueTimeArr.length > 0) {
this.replaceLawsNumForm.issueTimeStart = this.replaceLawsNumForm.issueTimeArr[0] || null
this.replaceLawsNumForm.issueTimeEnd = this.replaceLawsNumForm.issueTimeArr[1] || null
}else{
this.replaceLawsNumForm.issueTimeStart = ''
this.replaceLawsNumForm.issueTimeEnd = ''
}
if(this.replaceLawsNumForm.reviewTimeArr && this.replaceLawsNumForm.reviewTimeArr.length > 0) {
this.replaceLawsNumForm.reviewTimeStart = this.replaceLawsNumForm.reviewTimeArr[0] || null
this.replaceLawsNumForm.reviewTimeEnd = this.replaceLawsNumForm.reviewTimeArr[1] || null
}else{
this.replaceLawsNumForm.reviewTimeStart = ''
this.replaceLawsNumForm.reviewTimeEnd = ''
}
this.$http.get('lawss/sarBussionessStandState/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 => {
})
},
// 左右拖动事件
dragControllerLR: function () {
const resize = document.getElementById('resize');
const left = document.getElementById('left');
const right = document.getElementById('right');
const box = document.getElementById('EnterpriseStandardDatabase');
resize.onmousedown = function (e) {
const startX = e.clientX;
resize.left = resize.offsetLeft;
document.onmousemove = function (e) {
const endX = e.clientX;
let moveLen = resize.left + (endX - startX);
const maxT = box.clientWidth - resize.offsetWidth;
if (moveLen < 150) moveLen = 150;
if (moveLen > maxT - 150) moveLen = maxT - 150;
resize.style.left = moveLen;
left.style.width = moveLen + 'px';
right.style.width = (box.clientWidth - moveLen - 5) + 'px';
}
document.onmouseup = function (evt) {
document.onmousemove = null;
document.onmouseup = null;
resize.releaseCapture && resize.releaseCapture();
}
resize.setCapture && resize.setCapture();
return false;
}
},
isPermission (value) {
let hasCount = 0
const set = new Set(value.split(','))
const menuList = store.getters.getMenuList
if (menuList === '') {
return hasCount
} else {
menuList.map((menu) => {
if (set.has(menu.id) || value === undefined || value === '') {
hasCount++
}
})
}
return hasCount
},
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(当前时间)
},
popoverHideQuery (ids, attrField) {
},
popoverHideBusVsCancel () {
this.modalShowFlag2 = false
},
popoverHideBusVs (checkedIds, checkedData, isShow, isLoadChild, topId) {
if (checkedData && checkedData.length != 0) {
if (checkedData.length > 0) {
if (this.drawerTitle2 === '关联模块--乘用车VPPS编码') {
this.sarBussionessSearch.CYCVPPSBMBUSS = checkedData.map(item => item.code).join(',')
this.sarBussionessSearch.CYCVPPSCNBUSS = checkedData.map(item => item.chineseName).join(',')
this.sarBussionessStandEO.CYCVPPSBMBUSS = checkedData.map(item => item.code).join(',')
this.sarBussionessStandEO.CYCVPPSCNBUSS = checkedData.map(item => item.chineseName).join(',')
}
} else {
if (this.drawerTitle2 === '关联模块--乘用车VPPS编码') {
this.sarBussionessSearch.CYCVPPSBMBUSS = checkedData.code
this.sarBussionessSearch.CYCVPPSCNBUSS = checkedData.chineseName
this.sarBussionessStandEO.CYCVPPSBMBUSS = checkedData.code
this.sarBussionessStandEO.CYCVPPSCNBUSS = checkedData.chineseName
}
}
this.modalShowFlag2 = false
}
this.$forceUpdate()
},
popoverHideCarVs (checkedIds, checkedData, isShow, isLoadChild, topId) {
if (checkedData && checkedData.length != 0) {
if (checkedData.length > 0) {
this.sarBussionessStandEO.KCVPPSBMBUSS = checkedData.map(item => item.code).join(',')
this.sarBussionessStandEO.KCVPPSCNBUSS = checkedData.map(item => item.chineseName).join(',')
} else {
this.sarBussionessStandEO.KCVPPSBMBUSS = checkedData.code
this.sarBussionessStandEO.KCVPPSCNBUSS = checkedData.chineseName
}
this.modalShowFlag3 = false
}
this.$forceUpdate()
},
popoverHideCarVsCancel () {
this.modalShowFlag3 = false
},
popoverHideModel (checkedIds, checkedData, isShow, isLoadChild, topId) {
if (checkedData && checkedData.length != 0) {
if (checkedData.length > 0) {
this.sarBussionessStandEO.DYBXHBUSS = checkedData.map(item => item.model).join(',')
this.sarBussionessStandEO.DYMCBUSS = checkedData.map(item => item.name).join(',')
} else {
this.sarBussionessStandEO.DYBXHBUSS = checkedData.model
this.sarBussionessStandEO.DYMCBUSS = checkedData.name
}
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.sarBussionessStandEO.CYCDYBXHBUSS = checkedData.map(item => item.model).join(',')
this.sarBussionessStandEO.CYCDYMCBUSS = checkedData.map(item => item.name).join(',')
} else {
this.sarBussionessStandEO.CYCDYBXHBUSS = checkedData.model
this.sarBussionessStandEO.CYCDYMCBUSS = checkedData.name
}
this.modalShowFlag5 = false
}
this.$forceUpdate()
},
popoverCarHideModelCancel () {
this.modalShowFlag5 = false
},
popoverHideCancel () {
this.modalShowFlag1 = false
},
popoverHide (checkedIds, checkedData, isShow, isLoadChild, topId) {
if (checkedData) {
if (checkedData.length > 0) {
this.sarBussionessStandEO.TXLBBUSS = checkedData.map(item => item.menuNames).join(',')
this.sarBussionessStandEO.menuId = checkedData.map(item => item.menuId).join(',')
this.sarBussionessStandEO.txlbId = checkedData.map(item => item.menuId).join(',')
this.sarBussionessStandEO.treeType = checkedData.map(item => item.treeType).join(',')
} else {
if (checkedData.parentId == null || checkedData.parentId === '') {
this.$message.error('请选择二级及以下目录')
return
}
this.sarBussionessStandEO.TXLBBUSS = checkedData.menuNames
this.sarBussionessStandEO.menuId = checkedData.id
this.sarBussionessStandEO.txlbId = checkedData.id
this.sarBussionessStandEO.treeType = checkedData.treeType
}
}
this.modalShowFlag1 = false
this.$forceUpdate()
},
handleClearStandSystem () {
this.sarBussionessStandEO.TXLBBUSS = ''
this.sarBussionessStandEO.menuId = ''
this.sarBussionessStandEO.txlbId = ''
this.sarBussionessStandEO.treeType = ''
},
choiceZRR2 (type, title, id, multFlag) {
this.drawerTitle2 = title
this.modalShowFlag2 = true
this.multipleFlag2 = multFlag
this.url = ''
this.urlChild = ''
this.type = type
this.url = 'sarVppsTree/list'
this.urlChild = 'sarVppsTree/childByList'
},
choiceZRR3 (type, title, id) {
this.drawerTitle3 = title
this.modalShowFlag3 = true
this.url = ''
this.urlChild = ''
this.url = 'sarVppsTree/list'
this.urlChild = 'sarVppsTree/childByList'
},
choiceZRR4 (type, title, id) {
this.drawerTitle4 = 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'
},
choiceZRR1 (type, title, id, e) {
if (e.target.className === 'el-input__icon el-icon-circle-close el-input__clear') {
return;
}
this.drawerTitle1 = title
this.modalShowFlag1 = true
},
closeModal () {
this.productModal = false
this.closeDrawer()
},
// 提交新增/修改
saveProduct (name) {
this.$refs[name].validate((valid) => {
if (valid) {
if (this.modalType === 1) {
this.$http.postData('sarResource/ts-resource/add', this.productModelAdd, {
_this: this
}, res => {
if (res.ok) {
// this.selectMenuListNew()
this.getTreeAsync()
this.productModal = false
this.productModelAdd = {
// 模态框信息
dicTypeName: '',
showIndex: '',
// 描述
describes: '',
// 唯一辨识
dicId: this.$route.params.id
}
} else {
this.productModal = true
}
}, e => {
})
} else if (this.modalType === 2) {
this.$http.putData('sarResource/ts-resource', this.productModelAdd, {
_this: this
}, res => {
// this.selectMenuListNew()
this.getTreeAsync()
this.productModal = false
this.productModelAdd = {
// 模态框信息
dicTypeName: '',
showIndex: '',
// 描述
describes: '',
// 唯一辨识
dicId: this.$route.params.id
}
}, e => {
})
}
} else {
}
})
},
closeDrawer () {
this.$nextTick(() => {
this.$refs['productModelAdd'].resetFields()
this.productModelAdd = {
// 模态框信息
dicTypeName: '',
showIndex: '',
// 描述
describes: '',
// 唯一辨识
dicId: this.$route.params.id
}
})
this.productModal = false
},
// 查询二级菜单
selectMenuListNew () {
return new Promise((resolve, reject) => {
this.$http.get('sarResource/ts-resource/getListStandLimitData', {
sorDivide: 'BUSINESS_STAND',
userId: this.$store.getters.userInfo.userId
}, {
_this: this
}, res => {
this.treeList = res.data
})
})
},
// 查询二级菜单
selectMenuListNew1 () {
return new Promise((resolve, reject) => {
this.$http.get('sarResource/ts-resource/getListStandLimitData', {
sorDivide: 'BUSINESS_STAND',
userId: this.$store.getters.userInfo.userId
}, {
_this: this
}, res => {
this.treeList1 = res.data
})
})
},
selectMenuList () {
return new Promise((resolve, reject) => {
this.$http.get('sarResource/ts-resource/getListStandLimitData', {
sorDivide: 'BUSINESS_STAND',
userId: this.$store.getters.userInfo.userId
}, {
_this: this
}, res => {
const history = res;
resolve(history)
})
})
},
selectMenu2 (res, json) {
return new Promise((resolve, reject) => {
this.$http.get('lawss/sarMenuStandard/getListStand', { dicId: '9m4qqqaansxmox5e82zm' }, {
_this: this
}, res => {
const history = res;
resolve(history)
})
})
},
// 查询二级菜单
selectChildMenu (row) {
this.$http.get('sarResource/ts-resource/getMenuById', {
menuId: row.id
}, {}, res => {
if (res.ok) {
if (this.modalType === 1) {
let idsName = ''
if (row.parentIds !== null) {
if (row.parentIds.indexOf(res.data.id) != -1) {
this.productModelAdd.parentIds = row.parentIds
} else {
if(row.parentIds && row.parentIds.substr(-1, 1) === ',') {
this.productModelAdd.parentIds = row.parentIds + res.data.id + ','
idsName = row.parentIdsName + ',' + res.data.menuName
}else {
this.productModelAdd.parentIds = row.parentIds + ',' + res.data.id + ','
idsName = row.parentIdsName + ',' + res.data.menuName
}
}
} else {
this.productModelAdd.parentIds = ',' + res.data.id + ','
idsName = res.data.menuName;
}
this.productModelAdd.parentId = res.data.id
this.productModelAdd.parentIdsName = idsName
this.$forceUpdate()
} else {
this.productModelAdd = res.data
}
}
})
},
update (data) {
this.modalType = 2
this.selectChildMenu(data)
this.productModal = true
this.productTitle = '编辑体系'
// const newChild = { id: this.id++, label: 'testtest', children: [] };
// if (!data.children) {
// this.$set(data, 'children', []);
// }
// data.children.push(newChild);
},
append (data) {
this.modalType = 1
this.selectChildMenu(data)
this.productModal = true
this.productTitle = '新增体系'
this.productModelAdd.dicTypeCode = ''
// const newChild = { id: this.id++, label: 'testtest', children: [] };
// if (!data.children) {
// this.$set(data, 'children', []);
// }
// data.children.push(newChild);
},
remove (node, data) {
this.$confirm('是否删除菜单?', '提示', {
confirmButtonText: '确定',
confirmButtonClass: 'common-button-primary',
cancelButtonText: '取消',
roundButton: true,
type: 'warning'
}).then(() => {
this.$http.put('sarResource/ts-resource/delResourceById', {
resourceId: data.id
}, res => {
}, e => {
if (e.ok) {
this.$message({
type: 'success',
message: '删除成功'
})
this.getBussionStandTable()
// this.selectMenuListNew()
this.getTreeAsync()
} else {
this.$message({
type: 'warning',
message: e.message
})
}
})
}).catch(() => {
this.$refs.selections.clearSelection()
this.$message({
type: 'info',
message: '已取消删除'
})
})
// const parent = node.parent;
// const children = parent.data.children || parent.data;
// const index = children.findIndex(d => d.id === data.id);
// children.splice(index, 1);
},
// 树节点鼠标移入移出
mouseenter (data) {
if(data && data.treeType && data.treeType === 'sarMs') {
this.$set(data, 'show', false)
this.$set(data, 'showDel', false)
}else {
if(data.id !== 'qbwdsc') {
this.$set(data, 'show', true)
if (data.parentId !== null) {
this.$set(data, 'showDel', true)
}
}else{
this.$set(data, 'show', false)
this.$set(data, 'showDel', false)
}
}
},
mouseleave (data) {
this.$set(data, 'show', false)
this.$set(data, 'showDel', false)
},
/**
* @description: 起草人名称展示
* @author: chenxiaoxi
* @time: 2021-03-17 16:47:41
*/
getQCRName (dataItem) {
if (dataItem.attrInfoMap === null) {
return ''
}
const testName = dataItem.attrInfoMap.ZYQCRName || dataItem.attrInfoMap.QTQCRName || dataItem.attrInfoMap.QTQCR || ''
if (testName !== '') {
const NAME_LIST = testName.split(',')
const _SHOW_NAME_LIST = []
NAME_LIST.map(item => {
})
NAME_LIST.map(userName => {
_SHOW_NAME_LIST.push(userName.split(' ')[userName.split(' ').length - 1])
})
return _SHOW_NAME_LIST.join(',')
} else {
return ''
}
},
isOk (val) {
this.sarBussionessStandEO.standCode = val
this.isShow = false
},
// 高级检索
selectMoreBtn () {
this.isAdvancedSearch = true
// this.isAdvancedSearch = true
// this.threeOptions = []
},
// 高级检索类型change事件
twoSelectChange (val) {
if (val === 'stand_sort') {
this.threeOptions = this.standSortOptions
} else if (val === 'stand_status') {
this.threeOptions = this.standStateOptions
} else {
this.twoOptions.map((item, index) => {
if (item.value === val) {
this.threeOptions = this.allSelectOptions[item.selVal]
}
})
}
},
// 新增区域先择国家地区
getAddSelectCountry (data) {
//
this.sarBussionessStandEO.applyCountry = ''
const obj = {}
obj.dicTypeCode = data
this.$http.get('sys/dictype/pageRegion', obj, {
_this: this
}, res => {
const data = res.data.list
const arr = []
data.map((item) => {
const obj = {}
obj.label = item.dicTypeName
obj.value = item.dicTypeCode
arr.push(obj)
})
this.applyCountryOptions = arr
})
},
// 取消
treeCancel () {
this.drawerModal = false
this.$refs.drawerModalTree.treeReload()
},
// 树点击
treeOnCheck (checkedList) {
this.shareStandardSelect = []
checkedList.map((item, index) => {
if (!item.isParent) {
this.shareStandardSelect.push(item.id)
}
})
},
// 节点选中状态发生变化时的回调,当选中另一个后,当前的的节点状态变化也会触发这个事件
handleCheckChange (item, checked, self) {
if(checked) {
console.log(item)
this.editCheckd = item.id
this.NewTreeType = item.treeType
this.$refs.menuTree.setCheckedKeys([ item.id ]);
// this.nodeClick(item)
}else{
if(this.editCheckd === item.id) {
this.$refs.menuTree.setCheckedKeys([ item.id ]);
}
}
},
// 移动标准
MobileStandard () {
const checkedObj = []
if(this.selectSarMenu.parentId == null || this.selectSarMenu.parentId === '' || this.selectSarMenu.parentId === undefined) {
this.$message.error('请选择二级及以下目录')
}else if (this.selectedList < 1) {
this.$message.error('请至少选择一条标准')
}else {
this.selectMenuListNew1()
this.mobileModal = true
}
},
// 取消
mobileeCancel () {
const checkedObj = []
this.$nextTick(() => {
this.$refs.menuTree.setCheckedKeys(checkedObj);
})
this.editCheckd = ''
this.mobileModal = false
},
// 移动标准提交
mobileStandardBt () {
const checkedObj = []
const search = {}
// 取最外层目录id
search.oldMenuId = this.selectSarMenu.id
search.menuId = this.editCheckd
search.treeType = this.selectSarMenu.treeType
// search.oldTreeType = this.selectSarMenu.treeType
// search.NewTreeType = this.NewTreeType
search.idlist = []
for (let i = 0; i < this.selectedList.length; i++) {
search.idlist.push(this.selectedList[i])
}
if(search.menuId == '' || search.menuId == null || search.menuId == undefined) {
this.$message.error('请至少选择一个节点')
}else{
this.$http.putData('lawss/sarBussStandMenu/moveStandInfo', search, {
_this: this
}, res => {
// this.$Message.success('取消配置成功!')
this.$nextTick(() => {
this.$refs.menuTree.setCheckedKeys(checkedObj);
})
this.editCheckd = ''
this.mobileModal = false
this.getBussionStandTable()
}, e => {
})
}
},
// 树点击
isTreeOk (checkedList) {
this.shareStandardSelect = []
checkedList.map((item, index) => {
if (!item.isParent) {
this.shareStandardSelect.push(item.userId)
}
})
if (this.shareStandardSelect.length === 0) {
this.$message({
message: '请选择要分享的人!',
type: 'warning'
})
} else {
this.personShareEO.resType = 'BUSINESS_STAND'
this.personShareEO.resTitle = this.resPk.standName + ' ( 编号:' + this.resPk.standCode + ' )'
this.personShareEO.resId = this.resPk.id
this.personShareEO.recipientId = this.shareStandardSelect.join(',')
this.$http.post('/person/personShare/savePersonShare', this.personShareEO, {
_this: this
}, res => {
this.$message({
message: '企标分享成功!',
type: 'success'
})
// this.shareStandardModal = false
this.visibleShare = false
this.shareStandardSelect = []
// this.$refs.drawerModalTree.treeReload()
}, e => {
this.$message.error('企标分享失败!')
})
}
},
// 消息推送
shareStandardBt () {
if (this.shareStandardSelect.length === 0) {
this.$message({
message: '请选择要分享的人!',
type: 'warning'
})
} else {
this.personShareEO.resType = 'BUSINESS_STAND'
this.personShareEO.resTitle = this.resPk.standName + ' ( 编号:' + this.resPk.standCode + ' )'
this.personShareEO.resId = this.resPk.id
this.personShareEO.recipientId = this.shareStandardSelect.join(',')
this.$http.post('/person/personShare/savePersonShare', this.personShareEO, {
_this: this
}, res => {
this.$message({
message: '企标分享成功!',
type: 'success'
})
this.shareStandardModal = false
this.drawerModal = false
this.shareStandardSelect = []
this.$refs.drawerModalTree.treeReload()
}, e => {
this.$message.error('企标分享失败!')
})
}
},
beforeHandleCommand (row, command) {
return { row, command }
},
// 更多
handleCommand (command) {
switch (command[1]) {
case '编辑':
this.selectStandardPro(command[0], 'edit')
break
case '收藏':
this.collectStandard(command[0])
break
case '分享':
// this.drawerModal = true
// this.$nextTick(() => {
// this.$refs.drawerModalTree.clearSearch()
// })
this.visibleShare = true
this.resPk = JSON.parse(JSON.stringify(command[0]))
break
case '移除标准':
this.deleteEnterStandFromKind(1, command[0].id)
break
case '删除':
this.deleteStand(1, command[0].id)
break
case '流程':
break
case '取消收藏':
this.cancelCollectStandard(command[0])
break
case '授权':
this.givePower(command[0])
break
}
},
// 授权-查询权限
givePower (item) {
this.standId = item.id
this.visibleOrgTable = true
},
// 人员授权-确定
handleOrgTableConfirm (checkedList, checkedIdList) {
const idList = []
const nameList = []
checkedList.map(item => {
idList.push(item.userId)
nameList.push(item.userName)
})
this.$http.post('lawss/sarBussionessStand/insertPerson', {
qbid: this.standId,
userIds: idList.join(',')
}, {
_this: this
}, res => {
if (res.ok) {
this.visibleOrgTable = false
}
}, e => {
})
},
// 取消收藏法规
cancelCollectStandard (item) {
this.spinShow = true
item.isSubmit = true
this.$http.put('person/personCollect/updateByUserId', {
id: item.collectId
}, {
_this: this
}, res => {
this.$message.success('取消收藏成功')
this.spinShow = false
item.isSubmit = false
item.collectBtn = !item.collectBtn
item.cancelCollectBtn = !item.cancelCollectBtn
item.collectId = ''
this.getBussionStandTable()
}, e => {
item.isSubmit = false
})
// this.collect = '收藏'
},
collectStandard (item) {
this.spinShow = true
item.isSubmit = true
this.personCollect.collectResId = item.id
this.personCollect.collectTitle = item.standName + ' ( 编号:' + item.standSort + ' ' + item.standCode + ' )'
this.personCollect.collectType = 'BUSINESS_STAND'
this.personCollect.userId = this.$store.getters.userInfo.userId
this.$http.postData('person/personCollect', this.personCollect, {
_this: this
}, res => {
this.spinShow = false
item.isSubmit = false
item.collectBtn = !item.collectBtn
item.cancelCollectBtn = !item.cancelCollectBtn
item.collectId = res.data.id
}, e => {
item.isSubmit = false
})
// this.collect = '取消收藏'
},
searchConfiguraStand () {
this.configPage = 1
this.sarConfigStandSearch.page = 1
this.selectConfiguraStand()
},
dataConfigChange () {
this.sarConfigStandSearch.standSubclass = ''
this.$http.get('sys/dictype/getDicTypeByParentCode', {
dicTypeCode: this.sarConfigStandSearch.standGenera
}, {
_this: this
}, res => {
this.standSubclassConfigOptions = res.data
}, e => {
})
},
// 分页点击后方法
configuraPageChange (page) {
this.configPage = page
this.sarConfigStandSearch.page = page
this.selectConfiguraStand()
},
// 分页每页显示数改变后方法
configuraPageSizeChange (pageSize) {
this.configRows = pageSize
this.sarConfigStandSearch.pageSize = pageSize
this.selectConfiguraStand()
this.getBussionStandTable(this.tableFlag)
// 此处需要调用接口,修改个人配置
},
// 取消配置标准
cancelConfigStand () {
this.configStandFlag = false
this.sarConfigStandSearch.standCode = ''
this.sarConfigStandSearch.standSort = ''
this.sarConfigStandSearch.replaceStandNum = ''
this.configPage = 1
this.selectConfigStand = []
this.selectConfigStandList = []
this.selectConfigStandMap = new Map()
},
async saveConfStand (item) {
if(item.menuId && item.menuId !== '') {
const search = {}
const list = []
list.push(item.id)
search.menuId = item.menuId
search.menuName = item.TXLBBUSS
search.treeType = 'sarMs'
search.idlist = list
return new Promise((resolve, reject) => {
this.$http.postData('lawss/sarBussionessStand/saveStandardsMenu', search, {
_this: this
}, res => {
const history = res;
this.getBussionStandTable(this.tableFlag)
resolve(history)
})
})
}
},
// 提交配置搜索项
saveConfigStand () {
const search = {}
search.menuId = this.selectSarMenu.id
search.menuName = this.selectSarMenu.menuName
search.treeType = this.selectSarMenu.treeType
if (this.selectConfigStandList.length === 0) {
this.$message({
showClose: true,
message: '请至少选择一条标准',
type: 'warning'
})
} else {
search.idlist = []
for (let i = 0; i < this.selectConfigStandList.length; i++) {
search.idlist.push(this.selectConfigStandList[i].id)
}
this.$http.postData('lawss/sarBussionessStand/saveStandardsMenu', search, {
_this: this,
loading: 'isSubmit'
}, res => {
if (res.ok) {
this.$message.success('配置成功')
this.configStandFlag = false
this.getBussionStandTable(this.tableFlag)
} else {
this.$message.warning(res.message)
}
}, e => {
})
}
},
// 配置标准-表格排序
sortChangeConfig (sortObj) {
if (sortObj.column.order !== 'normal') {
switch (sortObj.prop) {
case 'issueTime' :
// 后台联调
if (sortObj.order === null) {
this.sarConfigStandSearch.nowOrderBy = ''
} else {
this.sarConfigStandSearch.nowOrderBy = '1'
}
break;
case 'putTime' :
// 后台联调
if (sortObj.order === null) {
this.sarConfigStandSearch.nowOrderBy = ''
} else {
this.sarConfigStandSearch.nowOrderBy = '2'
}
break;
}
switch (sortObj.order) {
case 'ascending' :
this.sarConfigStandSearch.nowOrder = '2'
break;
case 'descending' :
this.sarConfigStandSearch.nowOrder = '1'
break;
default:
this.sarConfigStandSearch.nowOrder = ''
break;
}
}
this.selectConfiguraStand()
},
// 已选标准-删除
handleTagClose (row) {
this.handleSelectConfigStand({}, row)
this.$refs.selection.toggleRowSelection(row, false)
},
// 配置标准弹窗-表格-单选
handleSelectConfigStand (selection, row) {
if(this.selectConfigStandMap.get(row.id)) {
this.selectConfigStandMap.delete(row.id)
for(let i = 0; i < this.selectConfigStandList.length; i++) {
if(this.selectConfigStandList[i].id === row.id) {
this.selectConfigStandList.splice(i, 1)
return
}
}
}else{
this.selectConfigStandMap.set(row.id, row)
this.selectConfigStandList.push(row)
}
},
// 配置标准弹窗-表格-全选
selectConfigStandAll (selection) {
if(selection.length !== 0 ) {
for (let i = 0; i < selection.length; i++) {
if(!this.selectConfigStandMap.get(selection[i].id)) {
this.selectConfigStandList.push(selection[i])
this.selectConfigStandMap.set(selection[i].id, selection[i])
}
}
}else{
for(let i = 0; i < this.configStandList.length; i++) {
this.selectConfigStandMap.delete(this.configStandList[i].id)
}
if(this.selectConfigStandMap.size === 0) {
this.selectConfigStandList = []
}else{
this.selectConfigStandList = []
this.selectConfigStandMap.forEach(item => {
this.selectConfigStandList.push(item)
})
}
}
},
SearchTreeConfigDblClick (treeId, treeNode) {
this.sarConfigStandSearch.responsibleUnit = treeNode.id
this.sarConfigStandSearch.orgName = treeNode.name
$('#deptBtnConfig').click()
},
// 导入按钮 上传之前的钩子
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 === '.ZIP' || fileSuffix === '.zip') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP压缩文件')
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
},
// 导入标准数据成功后执行
importFileSuccess (response, file) {
if (response.ok) {
this.showUploadlist = true
this.spinShow = false
this.importModalshowflag = false
this.$message({
// showClose: true,
message: response.message,
type: 'success'
})
// 使用字条目是否展示模态框判断导入的文件是标准,还是条目modalStandItemflag
if (this.modalStandItemflag) {
this.selectSarStandItems(this.standItemSearch.standId)
} else {
this.getBussionStandTable(this.tableFlag)
}
} else {
this.showUploadlist = false
this.spinShow = false
this.importFailed = true
this.importForm.content = response.message
}
},
// 树
resetTreeDialog () {
this.menuModalFlag = false
this.$refs['addMenuForm'].resetFields()
},
// 点击二级菜单新增模态框中的保存
newMenu () {
this.isSubmit = true
this.$refs['addMenuForm'].validate((valid) => {
if (valid) {
if (this.menuAddOrUpdateFlag === 1) {
if (this.selectSarMenu.id === 'others') {
this.$message.warning('未分配节点下不能新增节点')
} else {
this.sarMenu.parentId = this.selectSarMenu.id
if (this.selectSarMenu.parentIds != null) {
this.sarMenu.parentIds = this.selectSarMenu.parentIds + ',' + this.selectSarMenu.id
} else {
this.sarMenu.parentIds = this.selectSarMenu.id
}
this.$http.post('lawss/sarMenu/addSarMenu', this.sarMenu, {
_this: this
}, res => {
this.selectMenu() // 新增成功后,更新二级菜单
this.menuModalFlag = false
}, e => {
})
}
} else {
this.$http.post('lawss/sarMenu/updateSarMenu', this.sarMenu, {
_this: this
}, res => {
this.selectMenu() // 修改成功后,更新二级菜单
this.selectSarMenu = res.data
this.menuModalFlag = false
}, e => {
})
}
} else {
this.$message.error('请检查表单是否填写正确')
this.isSubmit = false
}
})
},
// 点击查看
handlePreview (item, fs) {
// const mj = item.attrInfoMap.QBMJ
// if (mj === 'GXNX7D6H59') {
// // C1所有人都可查看
// let routeUrl = this.$router.resolve({
// name: 'OtherBussStandardDetails',
// params: {
// id: item.id,
// pageType: 'BUSINESS_STAND'
// }
// })
// window.open(routeUrl.href, '_blank')
// } else if (mj === 'JLAPYG7YCT') {
// // C2只能让起草部门人员即填写中的相关部门/涉及会签部门人员可看
// // (起草部门、相关部门、会签部门,部门下所有人员)
// const attrInfoMap = item.attrInfoMap || {}
// const xgbm = attrInfoMap.XGBM || '' // 相关部门
// const qcbm = attrInfoMap.ZRBM || '' // 起草部门
// const xghqbm = attrInfoMap.XHQBM || '' // 相关会签部门
// const bm = [xgbm, qcbm, xghqbm].join(',') // 全部部门 字符串拼接
// const currentUserInfo = this.userInfo
// const currentBm = [currentUserInfo.orgId, currentUserInfo.pOrgId] // 当前用户的部门和科室
// const inBm = currentBm.some(item => {
// return bm.indexOf(item) > -1
// })
// // 如果当前用户的部门和科室不在全部部门里 就不允许查看
// if (!inBm) {
// this.$message.warning('当前用户无权限查看此详情')
// return false
// }
// let routeUrl = this.$router.resolve({
// name: 'OtherBussStandardDetails',
// params: {
// id: item.id,
// pageType: 'BUSINESS_STAND'
// }
// })
// window.open(routeUrl.href, '_blank')
// } else if (mj === 'ACF675Z88W') {
// // C3采取单独授权查看(当前实现只能主起草人、其他起草人看即可,后续的授权4月份开发)
// const attrInfoMap = item.attrInfoMap || {}
// const zyqcr = attrInfoMap.ZYQCR || '' // 主要起草人
// const qtqcr = attrInfoMap.QTQCR || '' // 主要起草人
// const qcr = [zyqcr, qtqcr].join(',') // 全部起草人 字符串拼接
// const userInfo = this.userInfo
// const currentId = userInfo.userId // 当前用户的id
// // 如果当前用户的部门和科室不在全部部门里 就不允许查看
// if (!(qcr.indexOf(currentId) > -1)) {
// // this.$message.warning('当前用户无权限查看此详情')
// this.$http.get('lawss/sarBussionessStand/selectPerson', {
// qbid: item.id
// }, {
// _this: this
// }, res => {
// if (res.data === "1") {
// // 为1有权限
// let routeUrl = this.$router.resolve({
// name: 'OtherBussStandardDetails',
// params: {
// id: item.id,
// pageType: 'BUSINESS_STAND'
// }
// })
// window.open(routeUrl.href, '_blank')
// } else {
// this.$message.warning('当前用户无权限查看此详情')
// return false
// }
// }, e => {
// return false
//
// })
//
// }
// }
const routeUrl = this.$router.resolve({
name: 'OtherBussStandardDetails',
params: {
id: fs ? (fs === 'fs' ? item.standId : item.id) : item.id,
pageType: 'BUSINESS_STAND'
}
})
console.log(routeUrl)
window.open(routeUrl.href, '_blank')
},
// 编辑
selectStandardPro (row, state) {
this.$http.get('lawss/sarBussionessStand/getStandInfoUpdateById', { id: row.id }, {
_this: this
}, res => {
if(res.data.standCode.includes('Q/QCBFC')) {
this.QCBFC = true
}else{
this.QCBFC = false
}
const item = res.data || {}
this.drawerTitle = '修改企业标准'
this.modalshowflag = true
this.resolveFormFieldList(true)
this.$nextTick(() => {
Promise.all([ this.queryDisplayLocation() ]).then((values) => {
const [ displayLocation ] = values
const dynamicFormField = this.sarBussionessStandEO
const formFieldList = this.formFieldList
formFieldList.forEach((field) => {
displayLocation.forEach((location) => {
let value = dynamicFormField[field.attrField]
let valueName = ''
if (value && typeof value === 'number') {
value = this.$dateFormat(value, 'yyyy-MM-dd')
}
field['value'] = value
// 追加用户名称和部门名称
if (field.selVal === 'ORGLIST' || field.selVal === 'USERLIST' || field.attrField === 'SVPPS') {
const attrFieldName = field.attrField + 'Name'
valueName = dynamicFormField[attrFieldName]
}
field['valueName'] = valueName
if (field.showRegionId === location.value) {
if (!location.child) {
location['child'] = []
}
location['child'].push(field)
}
})
})
this.dynamicFormField = displayLocation
this.loading = false
console.log(this.dynamicFormField)
})
this.sarBussionessStandEO = JSON.parse(JSON.stringify(item))
this.sarBussionessStandEO['XCSJBUSS'] = this.dateFormatter()
this.standStatus = JSON.parse(JSON.stringify(this.sarBussionessStandEO.standStatus))
const subClass = item.standSubclass
this.sarBussionessStandEO.standSubclass = subClass
if (this.sarBussionessStandEO.issueTime != null && this.sarBussionessStandEO.issueTime !== '') {
this.sarBussionessStandEO.issueTime = new Date(this.sarBussionessStandEO.issueTime)
}
if (this.sarBussionessStandEO.putTime != null && this.sarBussionessStandEO.putTime !== '') {
this.sarBussionessStandEO.putTime = new Date(this.sarBussionessStandEO.putTime)
}
Object.keys(item.attrInfoMap || {}).forEach((key) => {
if (item.attrInfoMap[key]) {
// this.sarStandardsInfoEO[key] = item.attrInfoMap[key]
this.$set(this.sarBussionessStandEO, key, item.attrInfoMap[key])
}
})
this.filterData(this.sarBussionessStandEO['QCDW']);
this.sarBussionessStandEO['id'] = item.id
if (state === 'show') {
this.formdisableflag = true
} else {
// this.standGeneraSelectChange() // 负责细类初始化
// this.getOrgTreeSource()
this.addOrUPdateFlag = 2
this.formdisableflag = false
this.saveOldNum = item.standCode // 记录修改之前的标准编号
this.saveOldReplaceNum = item.replaceStandNum // 记录修改之前的代替标准编号
// let selectNode = this.getTreeNameByid(this.sarBussionessStandEO.responsibleUnit)
this.sarBussionessStandEO.orgName = item.responsibleUnitShow
}
})
})
},
// 部门树结构,通过id,查出对应的树节点
getTreeNameByid (treeid) {
for (let i = 0; i < this.bussionessStandNodes.length; i++) {
if (this.bussionessStandNodes[i].id === treeid) {
return this.bussionessStandNodes[i]
}
}
},
// 所属部门选取
treeDblClick (treeId, treeNode) {
this.sarBussionessStandEO.responsibleUnit = treeNode.id
this.sarBussionessStandEO.orgName = treeNode.name
// $('#deptBtn').click()
$('#deptBtn2').click()
},
choiceQCR (type, title, nameId) {
this.nodeList2 = []
if (nameId) {
const nameId1 = nameId.split(',')
let idList = []
nameId1.forEach(item => {
let a, b
a = item.substring(item.indexOf('(') + 1)
b = a.substring(0, a.lastIndexOf(')'))
idList.push(b)
})
idList = idList.join(',')
this.nodeList2 = idList.split(',')
}
this.userType = type
this.drawerTitle = title
this.modalShowRoleFlag = true
},
choiceWJSCRY (type, title, nameId) {
this.nodeList3 = []
if (nameId) {
const nameId1 = nameId.split(',')
let idList = []
nameId1.forEach(item => {
let a, b
a = item.substring(item.indexOf('(') + 1)
b = a.substring(0, a.lastIndexOf(')'))
idList.push(b)
})
idList = idList.join(',')
this.nodeList3 = idList.split(',')
}
this.userType = type
this.drawerTitle = title
this.modalShowRoleFlag1 = true
},
unique (newArr) {
const res = new Map();
return newArr.filter((newArr) => !res.has(newArr) && res.set(newArr, 1));
},
checkedRole2 (data) {
let idList = ''
let nameList = ''
data.forEach(item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
})
if(data && data.length > 0) {
// this.sarBussionessSearch.QCDW = data[0].institutionName
// this.sarBussionessSearch.QCDWId = data[0].institutionId
// this.$set(this.sarBussionessStandEO, 'QCDWId', data[0].institutionId)
// this.$set(this.sarBussionessStandEO, 'QCDW', data[0].institutionName)
}
if (this.drawerTitle === '查询起草人') {
this.sarBussionessSearch['QCRBUSS'] = nameList
}
if (this.drawerTitle === '选择起草人') {
const institutionIdList = this.unique(data.map(item => item.institutionId)).join(',')
const institutionNameList = this.unique(data.map(item => item.institutionCascade)).join(',')
this.$set(this.sarBussionessStandEO, 'QCRBUSS', nameList)
this.$set(this.sarBussionessStandEO, 'QCDWId', institutionIdList)
this.$set(this.sarBussionessStandEO, 'QCDW', institutionNameList)
if (this.sarBussionessStandEO.QCRBUSS) {
this.$refs.sarBussionessStandForm.validateField('QCRBUSS')
}
}
if (this.drawerTitle === '选择文件上传人员') {
this.$set(this.sarBussionessStandEO, 'WJSCRYBUSS', nameList)
if (this.sarBussionessStandEO.WJSCRYBUSS) {
this.$refs.sarBussionessStandForm.validateField('WJSCRYBUSS')
}
}
// this.sarBussionessStandEO['QCRBUSS'] = nameList
},
choiceQCDW (type, title, id) {
this.nodeListZRBM = []
if(title === '起草部门' && this.sarBussionessStandEO.QCDWId && this.sarBussionessStandEO.QCDWId.length > 0) {
this.nodeListZRBM = this.sarBussionessStandEO.QCDWId.split(',')
}
if(title === '查询起草部门' && this.sarBussionessSearch.QCDWId && this.sarBussionessSearch.QCDWId.length > 0) {
this.nodeListZRBM = this.sarBussionessSearch.QCDWId.split(',')
}
this.drawerTitle5 = title
this.modalshowflagZRBM = true
},
drawerCheckZRBM (data) {
let idList = ''
let nameList = ''
data.forEach(item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.institutionCascade
})
if (this.drawerTitle5 === '起草部门') {
this.$set(this.sarBussionessStandEO, 'QCDWId', idList)
this.$set(this.sarBussionessStandEO, 'QCDW', nameList)
this.$refs.sarBussionessStandForm.validateField('QCDW')
}
if (this.drawerTitle5 === '查询起草部门') {
this.$set(this.sarBussionessSearch, 'QCDWId', idList)
this.$set(this.sarBussionessSearch, 'QCDW', nameList)
}
/*
let idList = ''
let nameList = ''
data.forEach(item => {
// if (item.hasChild === '0') {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
// }
})
if (this.drawerTitle === '查询起草部门') {
this.sarBussionessSearch.QCDW = nameList
}
this.$set(this.sarBussionessStandEO, 'QCDWId', idList)
const tNameList = (this.sarBussionessStandEO.QCDW === null || this.sarBussionessStandEO.QCDW === '') ? nameList : this.sarBussionessStandEO.QCDW + ',' + nameList
const arr = new Set()
const permission = tNameList.split(',');
permission.forEach((item, index) => {
arr.add(item)
})
let nameNew = Array.from(arr).join(',')
if(nameNew.length > 0) {
nameNew = nameNew.replace('undefined', '').replace(',,', ',')
}
this.$set(this.sarBussionessStandEO, 'QCDW', nameNew)
if (this.sarBussionessStandEO.QCRBUSS) {
this.$refs.sarBussionessStandForm.validateField('QCDW')
}
// this.sarBussionessStandEO.QCDWId = idList;
// this.sarBussionessStandEO['QCDW'] = nameList;
*/
},
// 新增-表单空
resetForm () {
this.modalshowflag = false
this.$refs['sarBussionessStandForm'].resetFields()
$('.ivu-drawer-body').scrollTop(0)
},
// 保存或修改标准
saveOrUpdateStands () {
this.$refs['sarBussionessStandForm'].validate((valid) => {
if (valid) {
// alert(7)
// 验证标准号是否唯一
this.validateStandNumber(this.sarBussionessStandEO).then((flag) => {
if (flag) {
// 时间格式修改
const nowstandinfo = JSON.parse(JSON.stringify(this.sarBussionessStandEO))
if (nowstandinfo.issueTime != null && nowstandinfo.issueTime !== '') {
nowstandinfo.issueTime = this.$dateFormat(this.sarBussionessStandEO.issueTime, 'yyyy-MM-dd hh:mm:ss')
}
if (nowstandinfo.putTime != null && nowstandinfo.putTime !== '') {
nowstandinfo.putTime = this.$dateFormat(this.sarBussionessStandEO.putTime, 'yyyy-MM-dd hh:mm:ss')
}
// 代替标准号
if (this.sarBussionessStandEO['DTQBBHBUSS'] != null) {
nowstandinfo.replaceStandNum = this.sarBussionessStandEO['DTQBBHBUSS'].replace(//ig, ',')
}
if (nowstandinfo.replaceStandNum != null && nowstandinfo.replaceStandNum !== '') {
nowstandinfo.replaceStandNum = nowstandinfo.replaceStandNum.replace(/\r\n/g, '<br />')
nowstandinfo.replaceStandNum = nowstandinfo.replaceStandNum === '' ? '' : nowstandinfo.replaceStandNum.replace(/\n/g, '<br />')
}
// 处理动态表单的时间和下拉框格式
const formFieldList = this.formFieldList
const sarStandAttrObj = {}
formFieldList.forEach((item) => {
const value = nowstandinfo[item.attrField]
// 时间格式处理
if (item.attrType === 'DATE_PICKER' && value) {
nowstandinfo[item.attrField] = this.$moment(this.sarBussionessStandEO[item.attrField]).format('YYYY-MM-DD')
} else if (item.attrType === 'DATE_PICKER' && !value) {
delete nowstandinfo[item.attrField]
}
// 数组处理
if (item.attrType === 'SEL_OPTION' || item.attrType === 'SEL_OPTS') {
if (value != null && (value instanceof Array)) {
nowstandinfo[item.attrField] = nowstandinfo[item.attrField].join(',')
}
}
sarStandAttrObj[item.attrField] = nowstandinfo[item.attrField]
})
nowstandinfo['sarStandAttrEOStr'] = JSON.stringify(sarStandAttrObj).replace(/"/g, '\'')
// 新增
if (this.addOrUPdateFlag === 1) {
if (this.selectSarMenu.pId != null && this.selectSarMenu.pId !== '') {
nowstandinfo.menuId = this.selectSarMenu.id // 新建过程中标准所属目录是当前目录
} else {
nowstandinfo.menuId = '897c1e6fbbd2427591f0'
}
// 预警信息判断
if (nowstandinfo.replaceStandNum != null && nowstandinfo.standNumber !== '') {
nowstandinfo.upReplaceNumFlag = 1
}
if (nowstandinfo.firstPutTime != null && nowstandinfo.firstPutTime !== '') {
nowstandinfo.firstPutTime = nowstandinfo.firstPutTime.toString()
}
this.$http.postData('lawss/sarBussionessStand/addSarBussionessStand', nowstandinfo, {
_this: this,
loading: 'isSubmit'
}, res => {
if (res.ok) {
this.getBussionStandTable(this.tableFlag)
this.resetForm()
}
}, e => {
})
} else {
// 修改
// 预警信息判断
if (nowstandinfo.replaceStandNum !== this.saveOldReplaceNum) {
nowstandinfo.upReplaceNumFlag = 1
}
if (nowstandinfo.standCode !== this.saveOldNum) {
nowstandinfo.upNumFlag = 1
}
if (nowstandinfo.firstPutTime != null && nowstandinfo.firstPutTime !== '') {
nowstandinfo.firstPutTime = this.$dateFormat(this.sarBussionessStandEO.firstPutTime, 'yyyy-MM-dd hh:mm:ss')
}
// 此处因企标编号中带有空格所以此处不再补充添加空格,如果企标编码中没有空格则补充空格 但是产品标准除外
const judgeFn = new RegExp(/\s+/g);
if(judgeFn.test(nowstandinfo.standSort)) {
nowstandinfo.standCode = nowstandinfo.standSort + nowstandinfo.standNumber + (nowstandinfo.standYear === '' ? '' : '-' + nowstandinfo.standYear)
}else if(nowstandinfo.standSort === 'Q/QCBFC') {
nowstandinfo.standCode = nowstandinfo.standSort + nowstandinfo.standNumber + (nowstandinfo.standYear === '' ? '' : '-' + nowstandinfo.standYear)
}else {
nowstandinfo.standCode = nowstandinfo.standSort + nowstandinfo.standNumber + (nowstandinfo.standYear === '' ? '' : '-' + nowstandinfo.standYear)
}
// if (nowstandinfo.standSort === 'Q/QCBFC'){
// nowstandinfo.standCode = nowstandinfo.standSort + "" + nowstandinfo.standNumber + (nowstandinfo.standYear === '' ? '' : '-' + nowstandinfo.standYear)
// }else{
// nowstandinfo.standCode = nowstandinfo.standSort + " " + nowstandinfo.standNumber + (nowstandinfo.standYear === '' ? '' : '-' + nowstandinfo.standYear)
// }
this.$http.postData('lawss/sarBussionessStand/updateSarBussionessStand', nowstandinfo, {
_this: this,
loading: 'isSubmit'
}, res => {
if (res.ok) {
// 自动匹配 左侧树 指定菜单
// this.saveConfStand(nowstandinfo)
// this.pageChange(1)
this.resetForm()
// this.getBussionStandTableBtn(this.sarBussionessSearch)
this.tableFlag = this.sarBussionessSearch
this.getBussionStandTable(this.sarBussionessSearch)
this.isAdvancedSearch = false
}
}, e => {
})
}
} else {
this.isSubmit = false
}
})
} else {
this.$message.error('请检查表单是否填写正确!')
}
})
},
// 删除数组中的某个对象
removeArray (_arr, _obj) {
const length = _arr.length
for (let i = 0; i < length; i++) {
if (_arr[i] === _obj) {
if (i === 0) {
_arr.shift() // 删除并返回数组的第一个元素
return _arr
} else if (i === length - 1) {
_arr.pop() // 删除并返回数组的最后一个元素
return _arr
} else {
_arr.splice(i, 1) // 删除下标为i的元素
return _arr
}
}
}
},
// 标准号验证
validateStandNumber (standinfo) {
return new Promise((resolve, reject) => {
const obj = JSON.parse(JSON.stringify(standinfo))
this.$http.post('lawss/sarBussionessStand/validateStandNumber', obj, {
_this: this
}, res => {
if (res.ok) {
resolve(true)
} else {
/* this.$Modal.error({
title: '提示消息',
content: res.message
}); */
resolve(false)
}
}, e => {
reject(e)
})
})
},
// 高级检索责任部门选取
SearchTreeDblClick (treeId, treeNode) {
this.sarBussionessSearch.responsibleUnit = treeNode.id
this.sarBussionessSearch.orgName = treeNode.name
$('#deptBtn1').click()
},
// 获取组织机构数据
// getOrgTreeSource () {
// this.$http.get('sys/org/getTree', {}, {},
// res => {
// if (res.ok) {
// let treeNode = []
// res.data.map((item, index) => {
// let treeItem = {}
// for (let key in item) {
// if (key === 'orgName') {
// treeItem.name = item[key]
// } else {
// treeItem[key] = item[key]
// }
// }
// treeNode[index] = treeItem
// })
// this.bussionessStandNodes = treeNode // 1
// this.bussNodesItem = JSON.parse(JSON.stringify(treeNode))
// this.searchBussNodes = JSON.parse(JSON.stringify(treeNode))
// this.searchNodes = [ ...treeNode ] // 1
// this.searchConfigNodes = Object.freeze(JSON.parse(JSON.stringify(treeNode))) // 1
// }
// })
// },
treeCollapse () {
this.sideClose = !this.sideClose
},
// 导出选中的标准 此处因为复选框没有设置好,所以先设置导出所有数据
exportStandard () {
// 区别是选择导出还是全部导出
if (this.selectedList.length > 0) {
this.saveExportType = 'apart'
} else {
this.saveExportType = 'all'
}
this.exportName = ''
this.exportModelFlag = true
},
addModal () {
this.getMenu().then(boolean => {
if (boolean) {
this.sarBussionessStandEO = { ...this.defaultAddFormField }
this.sarBussionessStandEO.menuId = this.selectSarMenu.id
// this.getOrgTreeSource()
this.drawerTitle = '新增企业标准'
this.formdisableflag = false
this.addOrUPdateFlag = 1
this.sarBussionessStandEO.orgName = ''
this.resolveFormFieldList()
Promise.all([ this.queryDisplayLocation() ]).then((values) => {
const [ displayLocation ] = values
const dynamicFormField = this.sarBussionessStandEO
const formFieldList = this.formFieldList
formFieldList.forEach((field) => {
displayLocation.forEach((location) => {
let value = dynamicFormField[field.attrField]
let valueName = ''
if (value && typeof value === 'number') {
value = this.$dateFormat(value, 'yyyy-MM-dd')
}
field['value'] = value
// 追加用户名称和部门名称
if (field.selVal === 'ORGLIST' || field.selVal === 'USERLIST') {
const attrFieldName = field.attrField + 'Name'
valueName = dynamicFormField[attrFieldName]
}
field['valueName'] = valueName
if (field.showRegionId === location.value) {
if (!location.child) {
location['child'] = []
}
location['child'].push(field)
}
})
})
this.dynamicFormField = displayLocation
this.loading = false
this.modalshowflag = true
})
}
})
},
// 删除标准
deleteStand (flag, itemid) {
if (flag === 1) {
(
this.$confirm('确认删除这些数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: true
}).then(() => {
this.$http.post('lawss/sarBussionessStand/deleteSarBussionessStand', { ids: itemid }, {
_this: this
}, res => {
this.getBussionStandTable(this.tableFlag)
this.selectedList = []
}, e => {
})
}).catch(() => {
// 取消删除,清空选择
// this.$refs.multipleTable.clearSelection()
})
)
} else {
if (this.selectedList.length === 0) {
this.$confirm('请选择一条数据进行删除', '提示', {
showCancelButton: false,
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: true
})
} else {
(
this.$confirm('确认删除这些数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: true
}).then(() => {
this.$http.post('lawss/sarBussionessStand/deleteSarBussionessStand', { ids: this.selectedList.join(',') }, {
_this: this
}, res => {
this.getBussionStandTable(this.tableFlag)
this.selectedList = []
}, e => {
})
}).catch(() => {
// 取消删除,清空选择
this.$refs.multipleTable.clearSelection()
})
)
}
}
},
// 点击配置标准弹出相应模态框
configurationStandard () {
this.getMenu().then(boolean => {
if (boolean) {
const winWidth = window.screen.width
if (winWidth > 1920) {
this.drawerWidth = 1400
} else {
this.drawerWidth = winWidth - 200
}
const menuId = this.selectSarMenu.id
if (menuId == null || menuId === '') {
this.$message.error('请选择要配置的目录')
} else {
if (this.selectSarMenu.parentId == null || this.selectSarMenu.parentId === '') {
this.$message.error('请选择二级及以下目录')
} else {
this.configStandFlag = true
if(this.selectSarMenu.treeType === 'sarMs') {
this.sarConfigStandSearch.menuId = 'nomenu'
this.sarConfigStandSearch.sarMsMenuId = menuId
this.sarConfigStandSearch.sarMsType = 'filterSarMsMenu'
const sarMenu = this.selectSarMenu.parentIds.split(',');
this.sarConfigStandSearch.menuTopId = sarMenu[0]
// if(this.selectSarMenu.parentId === sarMenu[0]){
// this.sarConfigStandSearch.menuTopId = this.selectSarMenu.id
// }else {
// this.sarConfigStandSearch.menuTopId = sarMenu[1]
// }
}else {
this.sarConfigStandSearch.menuId = 'nomenu'
this.sarConfigStandSearch.sarMsType = ''
}
this.sarConfigStandSearch.page = 1
this.selectConfiguraStand()
}
}
}
})
},
// 判断当前左侧树节点是否是我的收藏和个性化标签
getMenu () {
return new Promise((resolve, reject) => {
const menu = this.selectSarMenu
if (menu.id === 'gxhbq' || menu.pId === 'gxhbq' || menu.id === 'wdsc' || menu.pId === 'wdsc') {
this.$message.warning('请选择海外标准法规及以下节点')
} else {
resolve(true)
}
})
},
// 表对应标准移除分类到-----用的这个方法
deleteEnterStandFromKind (flag, item) {
this.getMenu().then(boolean => {
if (boolean) {
if (this.selectSarMenu.parentId == null || this.selectSarMenu.parentId === '') {
this.$message({
showClose: true,
message: '请选择二级及以下目录',
type: 'error'
})
} else {
const search = {}
// 取最外层目录id
search.menuId = this.selectSarMenu.id
console.log(this.selectSarMenu)
search.treeType = this.selectSarMenu.treeType
// search.menuId = this.removeOneId
search.idlist = []
// search.menuId = this.removeOneId
if (this.selectedList.length === 0) {
this.$message.error('请先选择要移除的数据!')
} else {
this.$confirm('确认移除选中数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: true
}).then(() => {
for (let i = 0; i < this.selectedList.length; i++) {
search.idlist.push(this.selectedList[i])
}
this.$http.putData('lawss/sarBussStandMenu/removeStandInfo', search, {
_this: this
}, res => {
// this.$message({
// showClose: true,
// message: '取消配置成功!',
// type: 'success'
// })
this.getBussionStandTable(this.tableFlag)
}, e => {
})
}).catch(() => {
})
}
}
}
})
},
// 模板下载
uploadImportModal (flag) {
window.open('/api/lawss/sarBussionessStand/exportTemplate')
// if (flag === 1) {
// window.open('/api/att/attFile/uploadModalFile?fileName=企业标准导入模板.zip')
// } else {
// window.open('/api/att/attFile/uploadModalFile?fileName=标准条目导入模板.xlsx')
// }
},
// 点击导入标准
addImportModal (flag) {
if(this.selectSarMenu.id === undefined) {
this.importFailed = true;
this.importForm.content = '请选择需要导入的目录'
return
}
this.importModalshowflag = true
this.showUploadlist = true
this.importExcelUrl = '/api/lawss/sarBussionessStand/importSarBussionessStandFile?menuId=' + this.selectSarMenu.id + '&userId=' + this.$store.getters.userInfo.userId
},
// 二级菜单新建,编辑,删除
clickDropMenu (name, treeNode) {
this.selectSarMenu = JSON.parse(JSON.stringify(treeNode))
if (undefined !== this.selectSarMenu.id) { // 当前有选中节点
if (name === 'newMenu') {
this.menuModalTitle = '新增目录'
this.menuModalFlag = true
this.menuAddOrUpdateFlag = 1
this.sarMenu = {
id: '',
parentId: '',
menuName: '',
sorDivide: 'BUSINESS_STAND',
displaySeq: '',
remarks: '',
parentIds: ''
}
this.$nextTick(() => {
this.$refs['addMenuForm'].resetFields()
})
} else if (name === 'editMenu') {
this.menuModalTitle = '编辑目录'
this.menuModalFlag = true
this.menuAddOrUpdateFlag = 2
this.sarMenu.id = treeNode.id
this.sarMenu.parentId = treeNode.pId
this.sarMenu.menuName = treeNode.oldname || treeNode.name
this.sarMenu.displaySeq = treeNode.displaySeq
if (treeNode.remarks == null || treeNode.remarks === '' || treeNode.remarks === 'null') {
this.sarMenu.remarks = ''
} else {
this.sarMenu.remarks = treeNode.remarks
}
} else {
if (this.selectSarMenu.parentId == null) { // 如果父id为null 说明是根目录
this.$Modal.info({
title: '提示',
content: '根目录不可删除!'
})
} else {
// deleteMenu 删除二级菜单,先判断是否选中,选中项目,然后调用删除方法
// 先判断目录下是否有菜单
this.$http.post('lawss/sarMenu/judgequeryMenuByPid', this.selectSarMenu, {
_this: this, loading: 'loading'
}, res => {
if (res.data) {
// this.deleteMenuModal = true
this.$confirm('该节点下有记录,确定删除?', '提示', {
confirmButtonText: '确定',
confirmButtonClass: 'common-button-primary',
cancelButtonText: '取消',
type: 'warning',
roundButton: true
}).then(() => {
this.sureDeleteSarMenu()
}).catch(() => {
// 取消删除,清空选择
// this.$refs.selections.clearSelection()
})
} else {
this.$confirm('确认删除该条数据', '确认删除', {
confirmButtonText: '确定',
cancelButtonText: '取消',
confirmButtonClass: 'common-button-primary',
roundButton: true,
type: 'warning'
}).then(() => {
this.sureDeleteSarMenu()
}).catch(() => {
})
}
}, e => {
})
}
}
} else {
this.$Modal.info({
title: '提示',
content: '请选择节点!'
})
}
},
filterNode (value, data) {
if (!value) return true;
return data.menuName.indexOf(value) !== -1;
},
treeClick (treeNode) {
this.selectSarMenu = treeNode // 记录当前选中的二级菜单
this.sarBussionessSearch.menuId = treeNode.id
this.sarBussionessSearch.menuId = treeNode.id // 将当前二级菜单的id传回后台做标准的条件查询
this.standCommonlySearch.treeType = treeNode.treeType
this.sarBussionessSearch.treeType = treeNode.treeType
this.sarBussionessSearch.page = 1
this.sarBussionessSearch.page = 1
this.getBussionStandTable(this.tableFlag) // 根据选中的二级菜单查询对应的标准列表
},
// 右击选中
treeRightClick (treeNode) {
this.selectSarMenu = treeNode // 记录当前选中的二级菜单
this.sarBussionessSearch.menuId = treeNode.id // 将当前二级菜单的id传回后台做标准的条件查询
this.sarBussionessSearch.menuId = treeNode.id
this.sarBussionessSearch.page = 1
this.sarBussionessSearch.page = 1
},
// 树-删除
sureDeleteSarMenu () {
this.deleteMenuModal = false
this.$http.post('lawss/sarMenu/deleteMenuAndChildren', this.selectSarMenu, {
_this: this, loading: 'loading'
}, res => {
this.selectMenu() // 删除成功后,更新二级菜单
// 获取下一个节点
const currentNode = this.$refs.enterpriseStandardTree.getNextNode()
let nodeId = ''
// 如果这个节点为null, 本次删除了最后一个节点
if (currentNode === null) {
// 选中根节点
this.$refs.enterpriseStandardTree.selectRootNode()
} else {
nodeId = currentNode.id
}
this.getBussionStandTable(null, nodeId)
}, e => {
})
},
// 导出确定功能
exportTestItem () {
if (this.saveExportType === 'apart') {
if (this.selectedList != null && this.selectedList !== '') {
window.open('/api/lawss/sarBussionessStand/exportSarBussionessStand?exportContent=' + this.selectedList.join(',') + '&exportType=' + this.saveExportType + '&exportName=' + this.exportName + '&userId=' + this.$store.getters.userInfo.userId)
// this.$refs.selection.selectAll(false)
this.$message({
message: '导出信息成功',
type: 'success'
})
}
} else if (this.saveExportType === 'all') {
let exportEOStr = JSON.stringify(this.SarExportSearchEo)
exportEOStr = exportEOStr.replace(/""/g, null)
window.open('/api/lawss/sarBussionessStand/exportSarBussionessStand?exportContent=' + exportEOStr + '&exportType=' + this.saveExportType + '&exportName=' + this.exportName + '&userId=' + this.$store.getters.userInfo.userId)
this.$message({
message: '导出信息成功',
type: 'success'
})
}
this.exportModelFlag = false
},
// 导出取消按钮关闭模态、置空
cancal () {
this.exportModelFlag = false
},
// 搜索
getBussionStandTableBtn (item, advancedSearch, type) {
item.page = 1
this.tableFlag = item
// item.advanceSearchVOStr = JSON.stringify(advancedSearch) || ''
this.getBussionStandTable(item, '', type)
this.isAdvancedSearch = false
},
// 清空搜索框
clearAllSearch (flag) {
if (flag === 'sarBussionessSearch') {
console.log('1');
// 标准搜索
this.sarBussionessSearch.applyCountry = ''
this.sarBussionessSearch.standGenera = ''
this.sarBussionessSearch.standSubclass = ''
this.sarBussionessSearch.issueTime = ''
this.sarBussionessSearch.putTime = ''
this.sarBussionessSearch.responsibleUnit = ''
this.sarBussionessSearch.classifyCode = ''
this.sarBussionessSearch.standCode = ''
this.sarBussionessSearch.standName = ''
this.sarBussionessSearch.numberName = ''
this.sarBussionessSearch.standSort = ''
this.sarBussionessSearch.replaceStandNum = ''
this.sarBussionessSearch.orgName = ''
this.sarBussionessSearch.id = ''
this.sarBussionessSearch.synopsis = ''
this.sarBussionessSearch.classifyCode = ''
this.sarBussionessSearch.quoteStand = ''
this.sarBussionessSearch.standStatus = ''
this.sarBussionessSearch.citationUser = ''
this.sarBussionessSearch.TXLBBUSS = ''
this.sarBussionessSearch.VPPSBMBUSS = ''
this.sarBussionessSearch.NYLXCLASS = ''
this.sarBussionessSearch.SYCPXCLASS = ''
this.sarBussionessSearch.SYCXCLASS = ''
this.sarBussionessSearch.CYCVPPSBMBUSS = ''
this.sarBussionessSearch.CYCVPPSCNBUSS = ''
this.sarBussionessSearch.KCVPPSBMBUSS = ''
this.sarBussionessSearch.KCVPPSCNBUSS = ''
this.sarBussionessSearch.DYBXHBUSS = ''
this.sarBussionessSearch.DYMCBUSS = ''
this.sarBussionessSearch.CYCDYBXHBUSS = ''
this.sarBussionessSearch.CYCDYMCBUSS = ''
this.sarBussionessSearch.QCRBUSS = ''
this.sarBussionessSearch.QCDW = ''
this.sarBussionessSearch.FZRQBUSS = ''
this.sarBussionessSearch.BARQ = ''
this.sarBussionessSearch.FSRQBUSS = ''
this.sarBussionessSearch.DTQBBHBUSS = ''
this.sarBussionessSearch.BDTQBBHBUSS = ''
this.sarBussionessSearch.advanceSearchVOStr = ''
this.sarBussionessSearch.standEnName = ''
this.sarBussionessSearch.standYear = ''
this.sarBussionessSearch.textStatusBuss = ''
this.sarBussionessSearch.revisionStatus = ''
this.isAdvancedSearch = false
this.getBussionStandTable()
} else if (flag === 2) {
// 标准条目搜索
// 标准条目搜索
this.standItemSearch.responsibleUnit = ''
this.standItemSearch.orgName = ''
} else {
// 游离标准搜索清空
// this.$nextTick(() => {
// this.$refs['configEnterPriseForm'].resetFields()
// this.selectConfiguraStand()
// })
this.sarConfigStandSearch.standCode = ''
this.sarConfigStandSearch.standName = ''
this.sarConfigStandSearch.standSort = ''
this.sarConfigStandSearch.standGenera = ''
this.sarConfigStandSearch.standSubclass = ''
this.sarConfigStandSearch.classifyCode = ''
this.sarConfigStandSearch.synopsis = ''
this.sarConfigStandSearch.quoteStand = ''
this.sarConfigStandSearch.replaceStandNum = ''
this.sarConfigStandSearch.responsibleUnit = ''
this.sarConfigStandSearch.orgName = ''
this.configPage = 1
this.sarConfigStandSearch.page = 1
this.selectConfiguraStand()
}
},
// 分页点击后方法
pageChange (page) {
if (this.tableFlag !== '') {
this.tableFlag.page = page
} else {
this.sarBussionessSearch.page = page
}
this.sarBussionessSearch.page = page
this.getBussionStandTable(this.sarBussionessSearch)
},
// 分页每页显示数改变后方法
pageSizeChange (pageSize) {
this.sarBussionessSearch.pageSize = this.$store.getters.userInfo.configContent
this.getBussionStandTable(this.tableFlag)
this.selectConfiguraStand()
// 此处需要调用接口,修改个人配置
},
// 查询处于游离态的标准
selectConfiguraStand () {
// this.sarConfigStandSearch.menuId = 'others'
this.$http.get('lawss/sarBussionessStand/getSarBussionStandPage', this.sarConfigStandSearch, {
_this: this,
loading: 'configLoading'
}, res => {
this.configStandList = res.data.list
this.configTotal = res.data.count
this.selectConfigStand = []
this.$nextTick(() => {
this.configStandList.forEach(item => {
if(this.selectConfigStandMap.get(item.id)) {
this.$refs.selection.toggleRowSelection(item, true)
}
})
})
}, e => {
})
},
// 分页查询企业标准---表格
getBussionStandTable (item, nodeId, type) {
if (item !== '' && item !== null && item !== undefined) {
item.pageSize = this.$store.getters.userInfo.configContent
}
this.sarBussionessSearch.pageSize = this.$store.getters.userInfo.configContent
const data = item || this.sarBussionessSearch
const formData = { ...data }
if (!item) {
formData.menuId = this.sarBussionessSearch.menuId
formData.treeType = this.sarBussionessSearch.treeType
} else {
formData.menuId = this.selectSarMenu.id
formData.treeType = this.selectSarMenu.treeType
}
if (nodeId !== undefined && nodeId !== '') {
formData.menuId = nodeId
}
if (this.sarBussionessSearch.menuId == null || this.sarBussionessSearch.menuId === '') {
if (this.countRootId === 1) {
formData.menuId = this.parentNode.id
}
}
// 处理我的收藏和个性化标签传参
if (this.selectSarMenu.id === 'qbwdsc') {
formData.labelMenuId = undefined
formData.menuId = 'qbwdsc'
formData.collectMenuId = 'qbwdsc'
} else if (this.selectSarMenu.id === 'gxhbq' || this.selectSarMenu.pId === 'gxhbq') {
formData.menuId = undefined
formData.labelMenuId = this.selectSarMenu.id
formData.collectMenuId = undefined
} else {
formData.labelMenuId = undefined
formData.collectMenuId = undefined
}
// 排序
formData.nowOrderBy = this.nowOrder ? this.orderBy : ''
formData.nowOrder = this.nowOrder
formData.userId = this.$store.getters.userInfo.userId
if (type === 'sel') {
const advanceSearchVOList = [];
if (this.formFieldListData !== undefined && this.formFieldListData !== null) {
const formFieldList = this.formFieldListData
formFieldList.forEach((item) => {
const value = this.sarBussionessSearch[item.attrField]
console.log(value)
// 时间格式处理
if (value !== undefined && value !== null && value !== '' && item.attrField === 'BARQ') {
advanceSearchVOList.push({
connect: 'and',
field: item.attrField || '',
type: 'between',
value: (value ? value[0] + ',' + value[1] : '') || '',
});
}else if (value !== undefined && value !== null && value !== '' && (item.attrField === 'FZRQBUSS' || item.attrField === 'FSRQBUSS')) {
advanceSearchVOList.push({
connect: advanceSearchVOList.length > 0 ? 'and' : '',
field: item.attrField || '',
type: 'between',
value: (value ? value[0] + ',' + value[1] : '') || '',
});
}else if (value !== undefined && value !== null && value !== '') {
let val = ''
if(value instanceof Array) {
val = value.join(',')
}else {
val = value
}
advanceSearchVOList.push({
connect: 'and',
field: item.attrField || '',
type: 'like',
value: val
});
}
})
}
formData.advanceSearchVOStr = JSON.stringify(advanceSearchVOList);
this.SarExportSearchEo = formData;
formData.startIssueTime = formData.issueTime ? formData.issueTime[0] : null;
formData.endIssueTime = formData.issueTime ? formData.issueTime[1] : null;
formData.startPutTime = formData.putTime ? formData.putTime[0] : null;
formData.endPutTime = formData.putTime ? formData.putTime[1] : null;
formData.FSRQBUSS = null;
formData.FZRQBUSS = null;
formData.BARQ = null
formData.putTime = null;
formData.issueTime = null;
}
formData.NYLXCLASS = null;
formData.SYCPXCLASS = null;
formData.SYCXCLASS = null;
this.SarExportSearchEo = formData
formData.isKU = '1'
this.isAdvancedSearch = false
this.$http.get('lawss/sarBussionessStand/getSarBussionStandPage', formData, {
_this: this, loading: 'loading'
}, res => {
for (let i = 0; i < res.data.list.length; i++) {
res.data.list[i].checked = false
if (res.data.list[i].collectId != null && res.data.list[i].collectId !== '') {
res.data.list[i].collectBtn = false
res.data.list[i].cancelCollectBtn = true
} else {
res.data.list[i].collectBtn = true
res.data.list[i].cancelCollectBtn = false
}
res.data.list[i].isSubmit = false
}
this.standinfoList = []
this.standinfoList = res.data.list
this.total = res.data.count
if ((this.standinfoList.length === 0 || this.standinfoList === []) && this.sarBussionessSearch.page !== 1) {
this.pageChange(1)
}
}, e => {
})
// this.$refs.selection.selectAll(false)
},
// 获取拖拽行的id
dragRowClassName (row, index) {
return 'drag-row' + ' ' + 'id=' + row.row.id
},
// 表格排序
sortChange (sortObj) {
if (sortObj.column.order !== 'normal') {
this.nowOrder = ''
this.orderBy = ''
switch (sortObj.column.property) {
case 'issueTime' :
// 后台联调
this.orderBy = 1;
this.nowOrder = sortObj.column.order
if (this.nowOrder === 'ascending') {
this.nowOrder = 2
} else if (this.nowOrder === 'descending') {
this.nowOrder = 1
}
break
case 'putTime' :
// 后台联调
this.orderBy = 2;
this.nowOrder = sortObj.column.order
if (this.nowOrder === 'ascending') {
this.nowOrder = 2
} else if (this.nowOrder === 'descending') {
this.nowOrder = 1
}
break
case 'standStatusShow' :
this.orderBy = 3;
this.nowOrder = sortObj.column.order
if (this.nowOrder === 'ascending') {
this.nowOrder = 2
} else if (this.nowOrder === 'descending') {
this.nowOrder = 1
}
break
}
}
// this.getDomesticStandardTable(this.tableFlag)
// 搜索后排序,应该以被搜索后的数据排序
this.getBussionStandTable(this.sarBussionessSearch)
},
// 修改成表格样式后,选择项勾选改变
standSelectChange (data) {
this.ocrList = data
this.selectedList = []
for (let i = 0; i < data.length; i++) {
this.selectedList.push(data[i].id)
}
},
// 点击表格行--跳转详情页
clickRow (row, event, column) {
const routeUrl = this.$router.resolve({
name: 'OtherBussStandardDetails',
params: {
id: row.id,
pageType: 'BUSINESS_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
OCRAdd (type) {
let text = ''
this.OCRType = type
if (type === '0') {
text = 'OCR识别'
this.OCRTitle = '选择OCR识别文件'
} else if (type === '1') {
text = '拆分'
this.OCRTitle = '选择拆分文件'
} else if (type === '2') {
text = '编辑'
this.OCRTitle = '选择编辑文件'
}
if (this.ocrList.length > 1 && (type === '0' || type === '1' || type === '2')) {
this.$message.warning('仅能选择一条数据进行' + text)
} else if (this.ocrList.length === 0 && (type === '0' || type === '1' || type === '2')) {
this.$message.warning('请选择一条数据进行' + text)
} else if (this.ocrList.length === 1 && (type === '0' || type === '1')) {
this.OCRModel = true
this.OCRLoading = true
this.$http.get('lawss/sarStandFile/queryFileInfoNew', {
type: type,
standId: this.selectedList[0]
}, {
_this: this
}, res => {
this.OCRLoading = false
if (res.ok) {
if (res.data.length > 0) {
this.OCRData = res.data
} else {
this.$message.warning('当前标准没有' + text + '文件')
this.OCRData = []
}
}
})
} else if (this.ocrList.length === 1 && type === '2') {
this.selectStandardPro(this.ocrList[0], 'edit')
}
},
// 查询二级菜单
selectMenu () {
this.countRootId = 0
this.$http.get('lawss/sarMenu/selectMenuByRole', { sorDivide: 'BUSINESS_STAND' }, {
_this: this
}, res => {
const treeNode = []
this.parentNode = {}
res.data.map((item, index) => {
const treeItem = {}
for (const key in item) {
if (key === 'parentId') {
treeItem.pId = item[key]
treeItem.parentId = item[key]
} else if (key === 'menuName') {
treeItem.name = item[key]
} else {
treeItem[key] = item[key]
}
}
treeNode[index] = treeItem
// 记录最外层父节点
if (treeItem.parentId === '' || treeItem.parentId == null) {
this.parentNode = treeItem
this.countRootId += 1
}
})
this.lawsZNodes = JSON.parse(JSON.stringify(treeNode))
// 查完左侧目录后,如果没有选中的,设置最外层选中
if (JSON.stringify(this.selectSarMenu) === '{}') {
this.selectSarMenu = this.parentNode
}
}, e => {
})
},
// 拖拽事件
drag (treeNode, dragId) {
if (treeNode !== null) {
const search = {}
search.menuId = treeNode.id
search.idlist = this.selectedList.length ? this.selectedList : dragId
this.$http.postData('lawss/sarBussionessStand/saveStandardsMenu', search, {
_this: this
}, res => {
if (res.ok) {
this.$message({
message: '配置标准成功!',
type: 'success'
})
this.selectedList = []
this.getBussionStandTable(this.tableFlag)
} else {
this.$message({
message: res.message,
type: 'warning'
})
}
}, e => {
})
}
},
/**
* 获取新增弹框的表单
*/
getAddFormFieldList (isEdit) {
this.$http.get('lawss/sarStandAttrDetails/list', {}, { _this: this },
res => {
if (res.ok) {
const { data = {} } = res
this.formFieldListData = data['BUSS']
// 追加高级查询动态下拉框数据s
this.twoOptions = [
// {
// label: '企标类别',
// value: 'stand_sort',
// type: 'SEL_OPTION',
// disabled: false
// },
{
label: '标准状态',
value: 'stand_status',
type: 'SEL_OPTION',
disabled: false
},
{
label: '企标编号',
value: 'stand_code',
type: 'INPUT',
disabled: false
},
{
label: '中文名称',
value: 'stand_name',
type: 'INPUT',
disabled: false
},
{
label: '英文名称',
value: 'stand_en_name',
type: 'INPUT',
disabled: false
},
{
label: '发布日期',
value: 'issue_time',
type: 'DATE_PIC_OPTS',
disabled: false
},
{
label: '标准实施日期',
value: 'put_time',
type: 'DATE_PIC_OPTS',
disabled: false
},
// {
// label: '代替企标编号',
// value: 'replace_stand_num',
// type: 'INPUT',
// disabled: false
// },
// {
// label: '被代替企标编号',
// value: 'replaced_stand_num',
// type: 'INPUT',
// disabled: false
// }
]
this.formFieldListData.map(item => {
if (item.attrType !== 'FILE' && item.attrField !== 'FZRQ' && item.attrField !== 'ZYQCR'
&& item.attrField !== 'QTQCR' && item.attrField !== 'WFSPJS' && item.attrField !== 'XGLC' && item.attrField !== 'XGJH') {
this.twoOptions.push({
value: item.attrField,
label: item.attrName,
selVal: item.selVal,
type: item.attrType,
disabled: false,
__wx__: item
})
}
})
}
}, e => {
})
},
/**
* 展示位置
*/
queryDisplayLocation () {
return new Promise((resolve, reject) => {
this.$http.get('lawssBase/utArea/getAreaList', {
sarType: this.sarType
}, {
_this: this
}, res => {
this.showRegionOptions = res.data || []
resolve(res.data || [])
}, e => {
reject(e)
})
})
},
resolveFormFieldList (isEdit) {
const data = this.formFieldListData
this.formFieldList = data.map((item) => {
if (item.attrType === 'SEL_OPTION' || item.attrType === 'SEL_OPTS') {
if (item.attrField === 'WSSMR') {
return Object.assign({}, item, {
options: this.allSelectOptions['WSSMR']
})
} else if (item.attrField === 'QCDW') {
return Object.assign({}, item, {
options: this.allSelectOptions['QCDW']
})
} else if (item.attrField === 'CYSD') {
return Object.assign({}, item, {
options: this.allSelectOptions['WSCYSD']
})
} else if (item.attrField === 'SYCXCLASS') {
return Object.assign({}, item, {
options: this.allSelectOptions['ENERGYTYPES']
})
} else if (item.attrField === 'NYLX') {
return Object.assign({}, item, {
options: this.allSelectOptions['NYLXCLASS']
})
} else if (item.attrField === 'SYCPX') {
return Object.assign({}, item, {
options: this.allSelectOptions['SYCPXCLASS']
})
} else if (item.attrField === 'SYRZ') {
return Object.assign({}, item, {
options: this.allSelectOptions['SYRZCLASS']
})
} else if (item.attrField === 'ZRBM') {
return Object.assign({}, item, {
options: this.allSelectOptions['ZRBMCLASS']
})
} else if (item.attrField === 'ZRGCS') {
return Object.assign({}, item, {
options: this.allSelectOptions['ZRGCSCLASS']
})
} else if (item.attrField === 'TXLB') {
return Object.assign({}, item, {
options: this.allSelectOptions['TXLBCLASS']
})
} else {
return Object.assign({}, item, {
options: this.allSelectOptions[item.selVal]
})
}
} else {
return item
}
})
// 处理时间格式的数据
data.forEach(item => {
if (item.attrType === 'DATE_PICKER') {
const date = this.sarBussionessStandEO[item.attrField] ? new Date(this.sarBussionessStandEO[item.attrField]) : ''
this.$set(this.sarBussionessStandEO, item.attrField, date)
} else {
this.$set(this.sarBussionessStandEO, item.attrField, this.sarBussionessStandEO[item.attrField] || '')
}
})
this.resolveFormFieldListRules()
},
/**
* 生成校验规则
*/
resolveFormFieldListRules () {
this.reloadAddForm = false
const formFieldList = this.formFieldList
const rules = { ...this.defaultAddFormFieldRules }
formFieldList.forEach((item) => {
const rule = []
if (item.isMust === '0') {
if (item.attrType === 'DATE_PICKER') {
rule.push({ required: true, type: 'date', message: `${item.attrName}不能为空`, trigger: 'change' })
} else if (item.attrType === 'SEL_OPTION' || item.attrType === 'SEL_OPTS') {
rule.push({ required: true, message: `${item.attrName}不能为空`, trigger: 'change' })
} else {
rule.push({ required: true, message: `${item.attrName}不能为空`, trigger: 'change' })
}
}
if (item.attrLen && item.attrType === 'INPUT_STR' && item.attrField === 'DTQBBHBUSS') {
rule.push({ type: 'string', max: 500, message: '代替企标编号不能超过500个字符', trigger: 'change' })
}else if(item.attrLen && item.attrType === 'INPUT_STR') {
rule.push({ type: 'string', max: item.attrLen, message: `${item.attrName}不能超过${item.attrLen}个字符`, trigger: 'change' })
}
if (item.attrLen && item.attrType !== 'DATE_PICKER' && item.attrType !== 'SEL_OPTION' && item.attrType !== 'SEL_OPTS' && item.attrType !== 'INPUT_STR') {
rule.push({
type: 'string',
max: item.attrLen,
message: `${item.attrName}不能超过${item.attrLen}个字符`,
trigger: 'change'
})
}
if (rule.length > 0) {
// this.$set(this.rules, item.attrField, rule)
rules[item.attrField] = rule
}
})
// this.rules = rules
this.$set(this, 'sarBussionessStandRules', rules)
setTimeout(() => {
this.reloadAddForm = true
}, 1000)
// this.$nextTick(() => {
// this.$refs['sarStandardsInfoForm'].resetFields()
// })
},
// 搜索
getDomesticStandardTableBtn (item) {
this.tableFlag = item
item.page = 1
// this.pageChange(1)
this.getDomesticStandardTable(item)
},
// 分页查询国内标准
getDomesticStandardTable (item) {
if (item !== '' && item !== null && item !== undefined) {
item.pageSize = this.$store.getters.userInfo.configContent
}
this.sarBussionessSearch.pageSize = this.$store.getters.userInfo.configContent
const data = item || this.sarBussionessSearch
const formData = { ...data }
formData.menuId = this.selectSarMenu.id
// 处理我的收藏和个性化标签传参
if (this.selectSarMenu.id === 'wdsc') {
formData.menuId = undefined
formData.labelMenuId = undefined
formData.collectMenuId = 'wdsc'
} else if (this.selectSarMenu.id === 'gxhbq' || this.selectSarMenu.pId === 'gxhbq') {
formData.menuId = undefined
formData.labelMenuId = this.selectSarMenu.id
formData.collectMenuId = undefined
} else {
formData.labelMenuId = undefined
formData.collectMenuId = undefined
}
const attrSearchMap = {
applyArctic: formData.applyArctic
}
formData['attrSearchStr'] = JSON.stringify(attrSearchMap)
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', formData, {
_this: this, loading: 'loading'
}, res => {
for (let i = 0; i < res.data.list.length; i++) {
res.data.list[i].checked = false
if (res.data.list[i].collectId != null && res.data.list[i].collectId !== '') {
res.data.list[i].collectBtn = false
res.data.list[i].cancelCollectBtn = true
} else {
res.data.list[i].collectBtn = true
res.data.list[i].cancelCollectBtn = false
}
res.data.list[i].isSubmit = false
}
this.stahndinfoList = []
this.stahndinfoList = res.data.list
this.total = res.data.count
if ((this.stahndinfoList.length === 0 || this.stahndinfoList === []) && this.sarBussionessSearch.page !== 1) {
this.pageChange(1)
}
}, e => {
this.stahndinfoList = []
this.total = 0
})
},
selectReplaceStandNumRowChange (row) {
this.replaceStandNumModelNum = row
},
/**
*@desc:代替标准号
*@author: zhangRui
*@time: 2020/08/25 11:52:47
*/
selectReplaceStandNumRowSelect (selection, flag, row) {
let index = ''
if (row) {
this.selectedListRep.map((item, rowIndex) => {
if (row.id === item.id) {
index = rowIndex
}
})
}
if (flag === 'select') {
this.selectedListRep.push(row)
const newobj = {}
this.selectedListRep = this.selectedListRep.reduce((preVal, curVal) => {
newobj[curVal.id] ? '' : newobj[curVal.id] = preVal.push(curVal) // eslint-disable-line
return preVal
}, [])
}
if (flag === 'cancel') {
this.selectedListRep.splice(index, 1)
}
if (flag === 'all') {
selection.map((item) => {
this.selectedListRep.push(item)
})
const newobj = {}
this.selectedListRep = this.selectedListRep.reduce((preVal, curVal) => {
newobj[curVal.id] ? '' : newobj[curVal.id] = preVal.push(curVal) // eslint-disable-line
return preVal
}, [])
}
if (flag === 'allCancel') {
this.replaceStandNumRow.map((item) => {
this.selectedListRep.map((list, index) => {
if (item.id === list.id) {
this.selectedListRep.splice(index, 1)
}
})
})
}
},
getDept () {
return new Promise((resolve, reject) => {
const url = 'sys/org/getTree'
this.$http.get(url, {}, {
_this: this
}, res => {
if (res.ok) {
const zNodesDept = []
res.data.map((item, i) => {
const zObj = {}
// 该节点为机构
zObj.name = item.orgName
zObj.icon = 'static/images/dept.png'
// zObj.isParent = true
zObj.shotName = item.shotName
zObj.remarks = item.remarks
zObj.id = item.id
zObj.pId = item.pId
zNodesDept[i] = zObj
})
this.orgData = zNodesDept
resolve(res.data)
}
}, e => {
reject(e)
})
})
},
// 人员选择事件
onDept (pOrgId, pOrgName, field) {
const deptTitleName = field.attrField === 'ZYQCR' ? 'ZQCBM' : 'ZRBM'
let dynamicFormFieldIndex = null
let zrbmIndex = null
let zqcbmIndex = null
// 判断赋值部门字段
if (field.attrField === 'ZYQCR' || field.attrField === 'QTQCR') {
this.dynamicFormField.map((item, indexs) => {
if (item.value === '2YVQYFS332W5XWAAY25F') {
dynamicFormFieldIndex = indexs
item.child.map((items, index) => {
if (items.attrField === deptTitleName) {
items.valueName = pOrgName
items.value = pOrgId
// 存贮起草部门原始信息
if (deptTitleName === 'ZRBM') {
this.qcbm = pOrgId
this.qcbmName = pOrgName
}
}
switch (items.attrField) {
case 'ZQCBM':
zqcbmIndex = index
this.sarBussionessStandEO.ZQCBM = items.value
break
case 'ZRBM':
zrbmIndex = index
break
}
})
}
})
// 拼接起草部门信息(起草部门 + 主起草部门)
const zqcbmId = this.dynamicFormField[dynamicFormFieldIndex].child[zqcbmIndex].value ? this.dynamicFormField[dynamicFormFieldIndex].child[zqcbmIndex].value : ''
const zqcbmName = this.dynamicFormField[dynamicFormFieldIndex].child[zqcbmIndex].valueName ? this.dynamicFormField[dynamicFormFieldIndex].child[zqcbmIndex].valueName : ''
const orgIdList = (this.qcbm !== '' ? this.qcbm + ',' + zqcbmId : zqcbmId).split(',')
const orgNameList = (this.qcbmName !== '' ? this.qcbmName + ',' + zqcbmName : zqcbmName).split(',')
this.dynamicFormField[dynamicFormFieldIndex].child[zrbmIndex].valueName = [ ...new Set(orgNameList) ].join(',')
this.dynamicFormField[dynamicFormFieldIndex].child[zrbmIndex].value = [ ...new Set(orgIdList) ].join(',')
// this.sarBussionessStandEO.ZRBM = [...new Set(orgIdList)].join(',')
this.$set(this.sarBussionessStandEO, 'ZRBM', [ ...new Set(orgIdList) ].join(','))
}
}
},
computed: {
// 是否拥有拖拽权限
hasPermissionDrag () {
let has = false
const permissionList = this.$store.getters.getMenuList
permissionList.map((menu) => {
// if (menu.id === 'VR7ND88UDT') {
if (menu.id === '4EN5WW694V') {
has = true
}
})
return has
},
...mapGetters([ 'userInfo' ])
},
mounted () {
this.treeReload = true
// 进入页面后查询树形结构目录
this.getTreeAsync()
this.dragControllerLR()
// 查询各下拉框数据
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
this.allSelectOptions = res.data || {}
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.options = res.data.ENERGYTYPES // 适用车型
this.categoryOptions.options = res.data.NYLXCLASS // 能源类型
this.applyAuthOptions.options = res.data.SYRZCLASS // 适用认证
this.cysdOptions = res.data.WSCYSD // 我司参与深度
this.zrgcsOptions = res.data.ZRGCSCLASS // 责任工程师
this.txlbOptions = res.data.TXLBCLASS // 体系类别
this.qcdwOptions.options = res.data.QCDW // 起草单位
this.qcrOptions.options = res.data.QCRBUSS // 起草人
this.nylxOptions.options = res.data.NYLXCLASS // 能源类型
this.syrzOptions.options = res.data.SYRZCLASS // 适用认证
this.sycpxOptions.options = res.data.SYCPXCLASS // 适用产品线
this.zrgcsOptions = res.data.ZRGCSCLASS // 责任工程师
this.zrbmOptions = res.data.ZRBMCLASS // 责任部门
this.gkglbmOptions = res.data.GKGLBM;// 归口管理部门
// this.classifyCodeOptions = res.data.STANDCLASSIFY
}, e => {
})
// 加载动态表单数据
this.getAddFormFieldList()
this.getBussionStandTable(this.tableFlag)
// this.getOrgTreeSource()
this.tableHeight = $('.content').height() - 44 - 20
window.onresize = () => {
this.tableHeight = $('.content').height() - 44 - 20
}
this.getDept()
},
destroyed () {
window.onresize = null
this.tableHeight = ''
}
}
</script>
<style lang="less" scoped>
/deep/ .el-table--scrollable-x .el-table__body-wrapper {
overflow-x: scroll;
}
#left {
width: calc(30% - 5px);
height: 100%;
float: left;
}
#resize {
width: 5px;
height: 100%;
cursor: w-resize;
float: left;
}
#right {
float: right;
width: 70%;
height: 100%;
}
/deep/ .label-input-form .add-form-item .el-form-item__content .el-input .el-input__inner {
width: 280px;
}
/deep/ .contentTitle {
width: 100%;
}
/deep/ .el-drawer__container {
.prc-content-border {
/*border: none;*/
width: 100%;
padding: 0 20px 0;
}
}
/deep/ .icon-tree {
margin: 0 5px 0 10px;
position: relative;
background: url('~@/assets/images/shangqi/img/tree-add.png');
background-size: 100% 100%;
}
/deep/ .expanded {
background: url('~@/assets/images/shangqi/img/tree-sub.png');
background-size: 100% 100%;
}
/deep/ .is-leaf {
background-image: none;
background-size: 100% 100%;
}
/deep/ .is-leaf-none {
position: relative;
display: inline-block;
width: 15px;
height: 15px;
background: url('~@/assets/images/shangqi/img/none-file-new.png');
background-size: 100% 100%;
}
/deep/ .is-show {
position: relative;
display: inline-block;
width: 15px;
height: 15px;
background: url('~@/assets/images/shangqi/img/tree.png');
background-size: 100% 100%;
}
/deep/ .tree-line {
.el-tree-node {
position: relative;
padding-left: 0px; // 缩进量
line-height: 30px;
}
.el-tree-node__children {
padding-left: 16px; // 缩进量
}
// 竖线
.el-tree-node::before {
content: "";
height: 100%;
width: 1px;
position: absolute;
left: -3px;
top: -26px;
border-width: 1px;
border-left: 1px dashed #858990e0;
}
// 当前层最后一个节点的竖线高度固定
.el-tree-node:last-child::before {
height: 38px; // 可以自己调节到合适数值
}
// 横线
.el-tree-node::after {
content: "";
width: 11px;
height: 20px;
position: absolute;
left: -3px;
top: 12px;
border-width: 1px;
border-top: 1px dashed #858990e0;
}
// 去掉最顶层的虚线,放最下面样式才不会被上面的覆盖了
& > .el-tree-node::after {
border-top: none;
}
& > .el-tree-node::before {
border-left: none;
}
// 展开关闭的icon
.el-tree-node__expand-icon {
font-size: 16px;
// 叶子节点(无子节点)
&.is-leaf {
color: transparent;
// display: none; // 也可以去掉
}
}
}
</style>
<style lang="less" scoped>
@import '~@/assets/styles/mixins';
@import '~@/assets/styles/style';
#EnterpriseStandardDatabase {
display: flex;
position: relative;
height: 100%;
//background: #fff;
.tree-content {
width: 20%;
position: relative;
/*height: 100%;*/
background: #fff;
.tree {
/deep/ .el-card__body {
padding: 0 !important;
}
.el-card {
width: 500px;
min-width: 2000px;
max-width: 100%;
//min-width: min-content;
}
height: 95%;
width: 95%;
position: absolute;
left: 0;
}
.tree-collapse {
position: absolute;
right: 0;
}
}
.tree-right {
overflow-y: hidden;
padding: 0 0;
position: relative;
width: 84%;
height: 100%;
display: flex;
flex-direction: column;
// 表格
.content {
//height: calc(~'100% - 43.5px - 56px');
display: flex;
flex-direction: column;
position: relative;
flex: auto;
.collection-btn {
padding: 0;
border: none;
color: #F2CB51;
font-size: 18px;
width: 18px;
height: 18px;
background-color: transparent;
/*background: rgba(244, 162, 39, 0.1);*/
//.icon-collection {
// background-image: url("~assets/images/shangqi/standardDetails/collection.png");
//}
}
.pagination {
position: static;
/deep/ .pagination-slot {
padding: 0;
}
}
}
}
.tree-close {
.tree {
left: -200px !important;
}
.tree-right {
width: calc(~'100% - 15px') !important;
}
.side-bar-collapse {
background: #5596CC !important;
color: #FFF;
}
}
.tree-closed {
width: 15px !important;
}
.el-drawer__wrapper {
.demo-drawer-content {
.drawer-content {
height: calc(~'100% - 52px - 56px - 100px');
flex: auto;
display: flex;
flex-direction: column;
}
}
}
.searchAngNewBtn {
margin-top: 10px !important;
}
}
</style>
<style lang="less" scoped>
#EnterpriseStandardDatabase {
.tools-bar-wrapper {
align-items: start;
}
}
::v-deep .el-drawer__header {
& > span:first-child {
outline: none !important;
}
}
::v-deep .el-drawer {
outline: none !important;
}
.divDel {
border-top: 1px solid #000;
height: 100px;
.divDel_title {
margin: 10px;
}
.divDel_box {
height: 55px;
padding: 0px;
display: flex;
flex-wrap: wrap;
overflow: auto;
margin: 10px;
align-content: flex-start;
span {
margin: 0px 5px 5px 0;
}
}
}
/deep/.el-table__fixed-body-wrapper .el-table__body {
padding-bottom: 20px;
}
//
//.sel-input {
// width: 96%;
// margin: 5px;
// height: 30px;
// /deep/ .el-input__inner{
// height: 30px;
// line-height: 30px;
// }
//}
//.sel-option {
// width: 100%;
// height: 200px;
// overflow: auto;
// background-color: #fff;
// cursor: pointer;
// font-weight: normal!important;
// padding: 0 5px;
//}
</style>