Merge branch 'fix_foton_20231213' into 'master'

Fix foton 20231213

See merge request laws-foton-slrs/foton-laws-system-front!145
This commit is contained in:
高嵩
2024-01-18 10:02:56 +00:00
12 changed files with 3305 additions and 2488 deletions
+246 -157
View File
@@ -7,20 +7,32 @@
<div class="search-area"> <div class="search-area">
<el-form :model="standCommonlySearch" inline class="label-input-form" @keyup.enter.native="searchStandList"> <el-form :model="standCommonlySearch" inline class="label-input-form" @keyup.enter.native="searchStandList">
<el-form-item label="标准号/名称" class="search-item"> <el-form-item label="标准号/名称" class="search-item">
<el-input v-model="numOrName" class="s-c-input" :placeholder="$t('m.searchByStandardNumberAndName')" clearable :maxlength="100"></el-input> <el-input
v-model="numOrName"
class="s-c-input"
:placeholder="$t('m.searchByStandardNumberAndName')"
clearable
:maxlength="100"
/>
</el-form-item> </el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button <el-button
v-btn-permission="'bcf0d05723689ced8f49fae7794ff0db'"
size="mini" size="mini"
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
v-btn-permission="'bcf0d05723689ced8f49fae7794ff0db'" @click="searchStandList"
@click="searchStandList">查询</el-button> >
查询
</el-button>
<el-button <el-button
v-btn-permission="'0af780936b77df9905c988db9e90bee8'"
size="mini" size="mini"
class="common-button-default" class="common-button-default"
v-btn-permission="'0af780936b77df9905c988db9e90bee8'" @click="clearSearchStand"
@click="clearSearchStand">清空</el-button> >
清空
</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@@ -28,31 +40,32 @@
</table-tools-bar> </table-tools-bar>
<div class="content"> <div class="content">
<div class="action-bar"> <div class="action-bar">
<el-button size="small" type="primary" @click="spiltStandFile" v-btn-permission="'633d92e841ab4d49fb57b48b45fd0db8'">拆分</el-button> <el-button v-btn-permission="'633d92e841ab4d49fb57b48b45fd0db8'" size="small" type="primary" @click="spiltStandFile">拆分</el-button>
<el-button size="small" type="danger" @click="batchDelete" v-btn-permission="'e214975dcab66d2e27bf2ed9897f521c'">删除</el-button> <el-button v-btn-permission="'e214975dcab66d2e27bf2ed9897f521c'" size="small" type="danger" @click="batchDelete">删除</el-button>
<el-button size="small" type="primary" @click="clickButtonToImport">导入拆分结果</el-button> <el-button size="small" type="primary" @click="clickButtonToImport">导入拆分结果</el-button>
</div> </div>
<div class="table-wrap"> <div class="table-wrap">
<div style="position: absolute;height: 100%;width: 100%;"> <div style="position: absolute;height: 100%;width: 100%;">
<el-table <el-table
ref="selection"
:data="standInfoList" :data="standInfoList"
tooltip-effect="dark" tooltip-effect="dark"
height="100%" height="100%"
border border
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}" :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
@selection-change="standSelectChange" @selection-change="standSelectChange"
ref="selection"
> >
<el-table-column <el-table-column
type="selection" type="selection"
width="55" width="55"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
type="index" type="index"
width="55" width="55"
label="序号" label="序号"
align="center"> align="center"
>
<template slot-scope="{scope, column, $index}"> <template slot-scope="{scope, column, $index}">
{{ ($index + 1) + (splitInfoPage - 1) * splitInfoPageSize }} {{ ($index + 1) + (splitInfoPage - 1) * splitInfoPageSize }}
</template> </template>
@@ -61,10 +74,13 @@
prop="showNumber" prop="showNumber"
label="标准号/政策号" label="标准号/政策号"
width="150" width="150"
align="center"> align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<a class="table-jump" <a
@click="handlePreview(scope.row)">{{ scope.row.standNumSplit }}</a> class="table-jump"
@click="handlePreview(scope.row)"
>{{ scope.row.standNumSplit }}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -72,29 +88,33 @@
label="标准名称/政策名称" label="标准名称/政策名称"
width="300" width="300"
show-overflow-tooltip show-overflow-tooltip
align="center"> align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<a class="table-jump" <a
@click="handlePreview(scope.row)">{{ scope.row.standNameSplit }}</a> class="table-jump"
@click="handlePreview(scope.row)"
>{{ scope.row.standNameSplit }}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="fileTypeShow" prop="fileTypeShow"
label="标准状态" label="标准状态"
width="110" width="110"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
prop="fileName" prop="fileName"
label="文件名称" label="文件名称"
show-overflow-tooltip show-overflow-tooltip
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
prop="splitStatus" prop="splitStatus"
label="拆分状态" label="拆分状态"
width="120" width="120"
align="center"> align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.splitStatus == '0'">编辑中</span> <span v-if="scope.row.splitStatus == '0'">编辑中</span>
<span v-else-if="scope.row.splitStatus == '1'">审核中</span> <span v-else-if="scope.row.splitStatus == '1'">审核中</span>
@@ -108,7 +128,8 @@
label="拆分时间" label="拆分时间"
width="120" width="120"
sortable sortable
align="center"> align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.creationTime ? $moment(scope.row.creationTime).format('YYYY-MM-DD') : '' }}</span> <span>{{ scope.row.creationTime ? $moment(scope.row.creationTime).format('YYYY-MM-DD') : '' }}</span>
</template> </template>
@@ -117,10 +138,11 @@
prop="result" prop="result"
label="拆分结果" label="拆分结果"
align="center" align="center"
width="100"> width="100"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag type="success" size="small" v-if="scope.row.result === '1'">成功</el-tag> <el-tag v-if="scope.row.result === '1'" type="success" size="small">成功</el-tag>
<el-tag type="danger" size="small" v-else>失败</el-tag> <el-tag v-else type="danger" size="small">失败</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="80"> <el-table-column label="操作" align="center" width="80">
@@ -130,7 +152,9 @@
type="primary" type="primary"
size="mini" size="mini"
@click="showUser(scope.row)" @click="showUser(scope.row)"
>查看</el-button> >
查看
</el-button>
<!-- <el-dropdown trigger="click" @command="handleCommand"> <!-- <el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i> <i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
@@ -145,51 +169,55 @@
</div> </div>
</div> </div>
<loading :loading="loading">正在获取中……</loading> <loading :loading="loading">正在获取中……</loading>
<pagination :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination> <pagination :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange" />
<!-- 拆分--> <!-- 拆分-->
<el-drawer <el-drawer
title="拆分" title="拆分"
:wrapperClosable="false" :wrapperClosable="false"
:visible.sync="addFileConvertShowflag" :visible.sync="addFileConvertShowflag"
size="1200px" size="1200px"
@close="addFileConvertShowflag = false"
destroy-on-close destroy-on-close
@close="addFileConvertShowflag = false"
> >
<div class="demo-drawer-content"> <div class="demo-drawer-content">
<div class="search-area"> <div class="search-area">
<el-form :model="fileInfoEOSearch" inline class="label-input-form"> <el-form :model="fileInfoEOSearch" inline class="label-input-form">
<el-form-item label="数据来源" prop="fileType" class="search-item"> <el-form-item label="数据来源" prop="fileType" class="search-item">
<el-select v-model="fileInfoEOSearch.fileType" placeholder="请选择数据来源" clearable> <el-select v-model="fileInfoEOSearch.fileType" placeholder="请选择数据来源" clearable>
<el-option v-for="opt in fileTypeOptions" :key="opt.value" :value="opt.value" :label="opt.label"></el-option> <el-option v-for="opt in fileTypeOptions" :key="opt.value" :value="opt.value" :label="opt.label" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="标准号/政策号" prop="standNumber" class="search-item"> <el-form-item label="标准号/政策号" prop="standNumber" class="search-item">
<el-input v-model="fileInfoEOSearch.standNumber" :maxlength="100" placeholder="请选择标准号/政策号" clearable></el-input> <el-input v-model="fileInfoEOSearch.standNumber" :maxlength="100" placeholder="请选择标准号/政策号" clearable />
</el-form-item> </el-form-item>
<el-form-item label="标准名称/政策名称" prop="standName" class="search-item"> <el-form-item label="标准名称/政策名称" prop="standName" class="search-item">
<el-input v-model="fileInfoEOSearch.standName" :maxlength="100" placeholder="请选择标准名称/政策名称" clearable></el-input> <el-input v-model="fileInfoEOSearch.standName" :maxlength="100" placeholder="请选择标准名称/政策名称" clearable />
</el-form-item> </el-form-item>
<el-form-item label="标准状态" prop="standFileClassify" class="search-item"> <el-form-item label="标准状态" prop="standFileClassify" class="search-item">
<el-select v-model="fileInfoEOSearch.standFileClassify" placeholder="请选择标准状态" clearable> <el-select v-model="fileInfoEOSearch.standFileClassify" placeholder="请选择标准状态" clearable>
<el-option v-for="opt in standFileClassifyOptions" :key="opt.value" :value="opt.value" :label="opt.label"></el-option> <el-option v-for="opt in standFileClassifyOptions" :key="opt.value" :value="opt.value" :label="opt.label" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button <el-button
v-btn-permission="'7ec1c1789e26ac06f0c27ff02067b5ec'"
type="primary" type="primary"
size="mini" size="mini"
v-btn-permission="'7ec1c1789e26ac06f0c27ff02067b5ec'"
class="common-button-primary" class="common-button-primary"
@click="StandFileListByPage" @click="StandFileListByPage"
>搜索</el-button> >
搜索
</el-button>
</el-form-item> </el-form-item>
<el-form-item class="serch-form-item btn-box"> <el-form-item class="serch-form-item btn-box">
<el-button <el-button
v-btn-permission="'3d2a7ad51f31f0204810b6e505a244f8'"
size="mini" size="mini"
class="common-button-default" class="common-button-default"
v-btn-permission="'3d2a7ad51f31f0204810b6e505a244f8'"
@click="clearGetStandFileListByPage" @click="clearGetStandFileListByPage"
>清空</el-button> >
清空
</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@@ -205,7 +233,7 @@
> >
<el-table-column label="" width="55"> <el-table-column label="" width="55">
<template slot-scope="scope"> <template slot-scope="scope">
<el-radio :label="scope.$index+1" v-model="radio" @change.native="standSelectChangeByStandTab(scope.row)"> <el-radio v-model="radio" :label="scope.$index+1" @change.native="standSelectChangeByStandTab(scope.row)">
&nbsp; &nbsp;
</el-radio> </el-radio>
</template> </template>
@@ -214,7 +242,8 @@
type="index" type="index"
width="55" width="55"
label="序号" label="序号"
align="center"> align="center"
>
<template slot-scope="{scope, column, $index}"> <template slot-scope="{scope, column, $index}">
{{ ($index + 1) + (addFilePage - 1) * addFilePageSize }} {{ ($index + 1) + (addFilePage - 1) * addFilePageSize }}
</template> </template>
@@ -222,7 +251,8 @@
<el-table-column <el-table-column
prop="sarType" prop="sarType"
label="资料类型" label="资料类型"
align="center"> align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.sarType === 'INLAND'">国内标准法规</div> <div v-if="scope.row.sarType === 'INLAND'">国内标准法规</div>
<div v-else-if="scope.row.sarType === 'FOREIGN'">国外标准法规</div> <div v-else-if="scope.row.sarType === 'FOREIGN'">国外标准法规</div>
@@ -231,10 +261,13 @@
<el-table-column <el-table-column
prop="standNumber" prop="standNumber"
label="标准号/政策号" label="标准号/政策号"
align="center"> align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<a class="table-jump" <a
@click="handlePreview1(scope.row)">{{ scope.row.standNumber }}</a> class="table-jump"
@click="handlePreview1(scope.row)"
>{{ scope.row.standNumber }}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -243,20 +276,22 @@
align="center" align="center"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<a class="table-jump" <a
@click="handlePreview1(scope.row)">{{ scope.row.standName }}</a> class="table-jump"
@click="handlePreview1(scope.row)"
>{{ scope.row.standName }}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standFileClassifyShow" prop="standFileClassifyShow"
label="标准状态" label="标准状态"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
prop="fileName" prop="fileName"
label="附件" label="附件"
align="center"> align="center"
</el-table-column> />
</el-table> </el-table>
<pagination <pagination
style="position: static;" style="position: static;"
@@ -265,11 +300,12 @@
:total="addFileStandtotal" :total="addFileStandtotal"
:page="addFilePage" :page="addFilePage"
@pageChange="addFileStandPageChange" @pageChange="addFileStandPageChange"
@pageSizeChange="addFileStandPageSizeChange"></pagination> @pageSizeChange="addFileStandPageSizeChange"
/>
</div> </div>
<div class="demo-drawer-footer"> <div class="demo-drawer-footer">
<el-button size="mini" style="margin-right: 8px" @click="addFileConvertShowflag = false" icon="el-icon-close" >取消</el-button> <el-button size="mini" style="margin-right: 8px" icon="el-icon-close" @click="addFileConvertShowflag = false">取消</el-button>
<el-button size="mini" type="primary" @click="saveSplitInfo" icon="el-icon-check" >拆分</el-button> <el-button size="mini" type="primary" icon="el-icon-check" @click="saveSplitInfo">拆分</el-button>
</div> </div>
<loading :loading="loadData">正在获取数据</loading> <loading :loading="loadData">正在获取数据</loading>
</el-drawer> </el-drawer>
@@ -281,18 +317,19 @@
@close="drawerModal = false" @close="drawerModal = false"
> >
<div class="demo-drawer-content"> <div class="demo-drawer-content">
<dept-tree treeDivId="drawerModalTree" <dept-tree
ref="drawerModalTree" ref="drawerModalTree"
@treeClick="selcetTree" treeDivId="drawerModalTree"
allDept allDept
showUser showUser
:editable="false" :editable="false"
style="padding: 0 15px"> style="padding: 0 15px"
</dept-tree> @treeClick="selcetTree"
/>
</div> </div>
<div class="demo-drawer-footer"> <div class="demo-drawer-footer">
<el-button size="mini" style="margin-right: 8px" @click="drawerModal = false" icon="el-icon-close" >{{$t('m.cancel')}}</el-button> <el-button size="mini" style="margin-right: 8px" icon="el-icon-close" @click="drawerModal = false">{{ $t('m.cancel') }}</el-button>
<el-button size="mini" type="primary" @click="shareStandardBt" icon="el-icon-check" >{{$t('m.push')}}</el-button> <el-button size="mini" type="primary" icon="el-icon-check" @click="shareStandardBt">{{ $t('m.push') }}</el-button>
</div> </div>
</el-drawer> </el-drawer>
<!--编辑抽屉--> <!--编辑抽屉-->
@@ -314,7 +351,7 @@
prop="standNumSplit" prop="standNumSplit"
label-width="140px" label-width="140px"
> >
<el-input v-model="editForm.standNumSplit" :maxlength="100" placeholder="请输入标准号/政策号" clearable></el-input> <el-input v-model="editForm.standNumSplit" :maxlength="100" placeholder="请输入标准号/政策号" clearable />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="标准名称/政策名称" label="标准名称/政策名称"
@@ -322,7 +359,7 @@
prop="standNameSplit" prop="standNameSplit"
label-width="140px" label-width="140px"
> >
<el-input v-model="editForm.standNameSplit" :maxlength="100" placeholder="请输入标准名称/政策名称" clearable></el-input> <el-input v-model="editForm.standNameSplit" :maxlength="100" placeholder="请输入标准名称/政策名称" clearable />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="标准状态" label="标准状态"
@@ -331,14 +368,22 @@
label-width="140px" label-width="140px"
> >
<el-select v-model="editForm.fileType" placeholder="请选择标准状态" clearable> <el-select v-model="editForm.fileType" placeholder="请选择标准状态" clearable>
<el-option v-for="opt in standFileClassifyOptions" :key="opt.value" :value="opt.value" :label="opt.label"></el-option> <el-option v-for="opt in standFileClassifyOptions" :key="opt.value" :value="opt.value" :label="opt.label" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="demo-drawer-footer"> <div class="demo-drawer-footer">
<el-button size="mini" style="margin-right: 8px" @click="editDrawerModal = false" icon="el-icon-close">取消</el-button> <el-button size="mini" style="margin-right: 8px" icon="el-icon-close" @click="editDrawerModal = false">取消</el-button>
<el-button size="mini" type="primary" @click="editFormSave" icon="el-icon-check" :loading="isSubmit">保存</el-button> <el-button
size="mini"
type="primary"
icon="el-icon-check"
:loading="isSubmit"
@click="editFormSave"
>
保存
</el-button>
</div> </div>
</el-drawer> </el-drawer>
<el-dialog <el-dialog
@@ -350,37 +395,51 @@
> >
<div class="search-area"> <div class="search-area">
<el-form <el-form
ref="uploadFileSplitEO2"
:model="uploadFilesplitEo" :model="uploadFilesplitEo"
:rules="uploadFileSplitRules" :rules="uploadFileSplitRules"
ref="uploadFileSplitEO2"
class="label-input-form upload-file-form" class="label-input-form upload-file-form"
label-position="left" label-position="left"
label-width="150px" label-width="150px"
style="width: 100%;" style="width: 100%;"
> >
<el-form-item label="标准号/政策号" prop="standNumSplit" class="search-item btn-box widthLimit"> <el-form-item label="标准号/政策号" prop="standNumSplit" class="search-item btn-box widthLimit">
<el-input v-model="uploadFilesplitEo.standNumSplit" :maxlength="100" placeholder="请输入标准号/政策号"></el-input> <el-input v-model="uploadFilesplitEo.standNumSplit" :maxlength="100" placeholder="请输入标准号/政策号" />
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
style="position:absolute;right: 0;" style="position:absolute;right: 0;"
@click="selectLaws" @click="selectLaws"
>手动查找</el-button> >
手动查找
</el-button>
</el-form-item> </el-form-item>
<el-form-item label="标准名称/政策名称" prop="standNameSplit" class="search-item btn-box"> <el-form-item label="标准名称/政策名称" prop="standNameSplit" class="search-item btn-box">
<el-input v-model="uploadFilesplitEo.standNameSplit" :maxlength="100" placeholder="请输入标准名称/政策名称"></el-input> <el-input v-model="uploadFilesplitEo.standNameSplit" :maxlength="100" placeholder="请输入标准名称/政策名称" />
</el-form-item> </el-form-item>
<el-form-item label="拆分方式" prop="splitType" class="search-item btn-box"> <el-form-item label="拆分方式" prop="splitType" class="search-item btn-box">
<el-radio-group v-model="uploadFilesplitEo.splitType"> <el-radio-group v-model="uploadFilesplitEo.splitType">
<el-radio label="全部章节" value="全部章节"></el-radio> <el-radio label="全部章节" value="全部章节" />
<el-radio label="部分章节" value="部分章节"></el-radio> <el-radio label="部分章节" value="部分章节" />
</el-radio-group> </el-radio-group>
<div class="wrap"> <div class="wrap">
<span v-show="uploadFilesplitEo.splitType === '部分章节'" style="margin-right: 10px;vertical-align:top;">章节</span> <span v-show="uploadFilesplitEo.splitType === '部分章节'" style="margin-right: 10px;vertical-align:top;">章节</span>
<el-input-number size="small" v-show="uploadFilesplitEo.splitType === '部分章节'" :max="100" :min="1" v-model="startNumber"></el-input-number> <el-input-number
v-show="uploadFilesplitEo.splitType === '部分章节'"
v-model="startNumber"
size="small"
:max="100"
:min="1"
/>
<span v-show="uploadFilesplitEo.splitType === '部分章节'" style="margin: 0 10px;vertical-align:top;">到</span> <span v-show="uploadFilesplitEo.splitType === '部分章节'" style="margin: 0 10px;vertical-align:top;">到</span>
<el-input-number size="small" v-show="uploadFilesplitEo.splitType === '部分章节'" :max="100" :min="startNumber" v-model="stopNumber"></el-input-number> <el-input-number
v-show="uploadFilesplitEo.splitType === '部分章节'"
v-model="stopNumber"
size="small"
:max="100"
:min="startNumber"
/>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="标准状态" prop="fileType" class="search-item btn-box"> <el-form-item label="标准状态" prop="fileType" class="search-item btn-box">
@@ -389,12 +448,14 @@
v-for="opt in standFileClassifyOptions" v-for="opt in standFileClassifyOptions"
:key="opt.value" :key="opt.value"
:value="opt.value" :value="opt.value"
:label="opt.label"></el-option> :label="opt.label"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="拆分文件" prop="defaultFileList"> <el-form-item label="拆分文件" prop="defaultFileList">
<el-select v-model="uploadFilesplitEo.defaultFileList" multiple v-show="false" v-if="importModalshowflagtemp"></el-select> <el-select v-show="false" v-if="importModalshowflagtemp" v-model="uploadFilesplitEo.defaultFileList" multiple />
<el-upload <el-upload
ref="importFileAboutStand"
:multiple="multipletype" :multiple="multipletype"
show-file-list show-file-list
:on-success="uploadSuccess" :on-success="uploadSuccess"
@@ -405,7 +466,7 @@
:before-upload="beforeUpload" :before-upload="beforeUpload"
name="file" name="file"
:on-change="handleUploadChange2" :on-change="handleUploadChange2"
ref="importFileAboutStand"> >
<el-button size="mini" icon="el-icon-upload">{{ $t('m.upload') }}</el-button> <el-button size="mini" icon="el-icon-upload">{{ $t('m.upload') }}</el-button>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
@@ -415,7 +476,6 @@
<a href="#" style="color: blue" @click="formatSpecification=true">点击查看</a> <a href="#" style="color: blue" @click="formatSpecification=true">点击查看</a>
</div> </div>
</el-form> </el-form>
</div> </div>
<div slot="footer"> <div slot="footer">
<el-button size="mini" @click="importModalshowflagtemp = false">取消</el-button> <el-button size="mini" @click="importModalshowflagtemp = false">取消</el-button>
@@ -437,10 +497,11 @@
<h3>4、5、6 ...</h3> <h3>4、5、6 ...</h3>
<div style="line-height: 20px; padding-top: 5px"><a style="color: red">(注)</a></div> <div style="line-height: 20px; padding-top: 5px"><a style="color: red">(注)</a></div>
<div style="line-height: 20px; padding-left: 20px"> <div style="line-height: 20px; padding-left: 20px">
1.Word版本必须是2007以上<br/> 1.Word版本必须是2007以上<br>
2.文档开头中如果存在目录则需要删掉,否则系统识别是只识别到目录内容,后续正文内容无法识别。<br/> 2.文档开头中如果存在目录则需要删掉,否则系统识别是只识别到目录内容,后续正文内容无法识别。<br>
3.文档中的序号,不能是自动生成,必须是手动输入。<br/> 3.文档中的序号,不能是自动生成,必须是手动输入。<br>
4.文档序号从4开始拆分,且序号必须为连续,例如4.1,4.2,4.3 </div> 4.文档序号从4开始拆分,且序号必须为连续,例如4.1,4.2,4.3
</div>
</div> </div>
<div slot="footer"> <div slot="footer">
<el-button type="primary" size="mini" @click="formatSpecification = false">知道了</el-button> <el-button type="primary" size="mini" @click="formatSpecification = false">知道了</el-button>
@@ -455,13 +516,16 @@
> >
<div class="mofun-formatSpecification"> <div class="mofun-formatSpecification">
<div style="line-height: 20px; padding-left: 20px"> <div style="line-height: 20px; padding-left: 20px">
1.导入的文档是zip格式<br/> 1. 仅支持zip格式的文件类型<br>
2.图片为jpg、jpeg、png、gif格式 <br/> 2. excel文件中尽量不要包含任何格式<br>
3.文档中的图片,在导出Excel中以链接的形式展示,点击链接跳转到本地指定的文件 <br/> 3. 导入数据为zip压缩包第一个文件下的唯一的excel,若zip文件中存在多个excel,则提示“压缩包内有多个Excel数据源”<br>
4.导入时,表格Sheet页名称保持一致即可,无需使用超链接。 <br/> 4. 条款号,条款名称,条款内容不能为空<br>
5.导入时,表格Sheet页中的表格需要遵循最左原则,即由第一行第一列开始。 <br/> 5. 条款号按照顺序依次填入,例如:1,2,3,3.1,3.2。条款号不能重复,不能出现空格或换行符<br>
6.导入时,一条内容中最好不要仅仅只有图片。 <br/> 6. 导入数据从第二行开始,第一行为表头。<br>
7.文档中的表格,在导出Excel中以链接的形式展示,点击链接跳转到指定的Sheet页面。</div> 7. 导入数据时,如果有文件字段,且文件字段不为空,则需要把文件也同步存入系统<br>
8. 若一个单元格有多个属性,用换行分割,在office中使用alt+enter换行<br>
9. 针对属性类型为文件的字段,需要填写文件名称。如测试条款1下有文件“img1.jpg”,则该处填写的数据应该为“img1.jpg”,并把文件放在压缩包中
</div>
</div> </div>
<div slot="footer"> <div slot="footer">
<el-button type="primary" size="mini" @click="formatSpecificationTwo = false">知道了</el-button> <el-button type="primary" size="mini" @click="formatSpecificationTwo = false">知道了</el-button>
@@ -474,39 +538,54 @@
title="导入拆分结果" title="导入拆分结果"
width="550px" width="550px"
:close-on-click-modal="false" :close-on-click-modal="false"
@close="handleClose"> @close="handleClose"
>
<div class="search-area"> <div class="search-area">
<el-form <el-form
ref="uploadFileSplitEO"
:model="uploadFilesplitEo" :model="uploadFilesplitEo"
:rules="uploadFileSplitRules" :rules="uploadFileSplitRules"
ref="uploadFileSplitEO"
class="label-input-form upload-file-form" class="label-input-form upload-file-form"
label-position="left" label-position="left"
label-width="150px" label-width="150px"
style="width: 100%;" style="width: 100%;"
> >
<el-form-item label="标准号/政策号" prop="standNumSplit" class="search-item btn-box widthLimit"> <el-form-item label="标准号/政策号" prop="standNumSplit" class="search-item btn-box widthLimit">
<el-input v-model="uploadFilesplitEo.standNumSplit" :maxlength="100" :disabled="importSplitResultLoading" placeholder="请输入标准号/政策号" :readOnly="!(uploadFilesplitEo && uploadFilesplitEo.standId)"></el-input> <el-input
v-model="uploadFilesplitEo.standNumSplit"
:maxlength="100"
:disabled="importSplitResultLoading"
placeholder="请输入标准号/政策号"
:readOnly="!(uploadFilesplitEo && uploadFilesplitEo.standId)"
/>
<el-button <el-button
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
style="position:absolute;right: 0;" style="position:absolute;right: 0;"
@click="selectLaws" @click="selectLaws"
>手动查找</el-button> >
手动查找
</el-button>
</el-form-item> </el-form-item>
<el-form-item label="标准名称/政策名称" prop="standNameSplit"class="search-item btn-box"> <el-form-item label="标准名称/政策名称" prop="standNameSplit"class="search-item btn-box">
<el-input v-model="uploadFilesplitEo.standNameSplit" :maxlength="100" :disabled="importSplitResultLoading" placeholder="请输入标准名称/政策名称" :readOnly="!(uploadFilesplitEo && uploadFilesplitEo.standId)"></el-input> <el-input
v-model="uploadFilesplitEo.standNameSplit"
:maxlength="100"
:disabled="importSplitResultLoading"
placeholder="请输入标准名称/政策名称"
:readOnly="!(uploadFilesplitEo && uploadFilesplitEo.standId)"
/>
</el-form-item> </el-form-item>
<el-form-item label="标准状态" prop="fileType"class="search-item btn-box"> <el-form-item label="标准状态" prop="fileType"class="search-item btn-box">
<el-select v-model="uploadFilesplitEo.fileType" :disabled="importSplitResultLoading"> <el-select v-model="uploadFilesplitEo.fileType" :disabled="importSplitResultLoading">
<el-option v-for="opt in standFileClassifyOptions" :key="opt.value" :value="opt.value" :label="opt.label"></el-option> <el-option v-for="opt in standFileClassifyOptions" :key="opt.value" :value="opt.value" :label="opt.label" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="拆分文件" prop="defaultFileList"class="search-item btn-box"> <el-form-item label="拆分文件" prop="defaultFileList"class="search-item btn-box">
<el-select multiple v-model="uploadFilesplitEo.defaultFileList" v-show="false"></el-select> <el-select v-show="false" v-model="uploadFilesplitEo.defaultFileList" multiple />
<el-upload <el-upload
ref="importFileAboutStand"
show-file-list show-file-list
:on-success="uploadSuccess" :on-success="uploadSuccess"
:on-remove="removeOneFile" :on-remove="removeOneFile"
@@ -518,17 +597,16 @@
:before-upload="beforeSplitResultImport" :before-upload="beforeSplitResultImport"
:on-change="handleUploadChange" :on-change="handleUploadChange"
name="file" name="file"
ref="importFileAboutStand"
:disabled="importSplitResultLoading" :disabled="importSplitResultLoading"
> >
<el-button size="mini" icon="el-icon-upload">{{ $t('m.upload') }}</el-button> <el-button size="mini" icon="el-icon-upload">{{ $t('m.upload') }}</el-button>
<el-button size="mini" @click="uploadImportModal" icon="el-icon-download">模板下载</el-button> <el-button size="mini" icon="el-icon-download" @click="uploadImportModal">模板下载</el-button>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<div style="text-align: center"> <div style="text-align: center">
<i class="el-icon-warning-outline" style="color: red" /> <i class="el-icon-warning-outline" style="color: red" />
上传拆分文档需遵循相关格式要求,具体要求请 上传拆分文档需遵循相关格式要求,具体要求请
<a href="#" style="color: blue" @click="formatSpecificationTwo=true">点击查看</a> <a style="color: blue" @click="formatSpecificationTwo=true">点击查看</a>
</div> </div>
</el-form> </el-form>
</div> </div>
@@ -546,7 +624,7 @@
:show-close="false" :show-close="false"
> >
<el-progress :percentage="percent" :stroke-width="10" text-inside /> <el-progress :percentage="percent" :stroke-width="10" text-inside />
<div slot="footer"></div> <div slot="footer" />
</el-dialog> </el-dialog>
<!--标准、政策抽屉--> <!--标准、政策抽屉-->
<el-drawer <el-drawer
@@ -564,9 +642,9 @@
v-model="conditionForm.standType" v-model="conditionForm.standType"
placeholder="请选择" placeholder="请选择"
> >
<el-option value="INLAND" label="国内标准法规"></el-option> <el-option value="INLAND" label="国内标准法规" />
<el-option value="FOREIGN" label="国外标准法规"></el-option> <el-option value="FOREIGN" label="国外标准法规" />
<el-option value="FOREIGN2" label="国内外政策"></el-option> <el-option value="FOREIGN2" label="国内外政策" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-formItem label="编号/名称" prop="numberName" class="search-item"> <el-formItem label="编号/名称" prop="numberName" class="search-item">
@@ -575,21 +653,25 @@
clearable clearable
placeholder="根据编号/名称查找" placeholder="根据编号/名称查找"
:maxlength="100" :maxlength="100"
@keyup.enter.native="" /> @keyup.enter.native=""
/>
</el-formItem> </el-formItem>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button <el-button
size="mini" size="mini"
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
@click="getSearchSarBussStandPage"> @click="getSearchSarBussStandPage"
>
搜索 搜索
</el-button> </el-button>
<el-button <el-button
class="common-button-default" class="common-button-default"
size="mini" size="mini"
@click="handleResetCondition()" @click="handleResetCondition()"
>清空</el-button> >
清空
</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@@ -603,18 +685,19 @@
border border
class="drag-table" class="drag-table"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}" :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
@selection-change="standSelectChange2"> @selection-change="standSelectChange2"
>
<el-table-column <el-table-column
type="selection" type="selection"
width="55" width="55"
align="center" align="center"
> />
</el-table-column>
<el-table-column <el-table-column
type="index" type="index"
width="55" width="55"
label="序号" label="序号"
align="center"> align="center"
>
<template slot-scope="{scope, column, $index}"> <template slot-scope="{scope, column, $index}">
{{ ($index + 1) + (conditionForm.page - 1) * conditionForm.pageSize }} {{ ($index + 1) + (conditionForm.page - 1) * conditionForm.pageSize }}
</template> </template>
@@ -622,7 +705,8 @@
<el-table-column <el-table-column
prop="lawsNumber" prop="lawsNumber"
align="center" align="center"
label="政策编号/标准编号"> label="政策编号/标准编号"
>
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="showLawsDetails(scope.row)">{{ scope.row.lawsNumber }}</a> <a @click="showLawsDetails(scope.row)">{{ scope.row.lawsNumber }}</a>
</template> </template>
@@ -630,7 +714,8 @@
<el-table-column <el-table-column
prop="lawsName" prop="lawsName"
align="center" align="center"
label="政策名称/标准名称"> label="政策名称/标准名称"
>
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="showLawsDetails(scope.row)">{{ scope.row.lawsName }}</a> <a @click="showLawsDetails(scope.row)">{{ scope.row.lawsName }}</a>
</template> </template>
@@ -650,11 +735,13 @@
prop="issueTime" prop="issueTime"
label="发布日期" label="发布日期"
align="center" align="center"
width="130"> width="130"
>
<template slot-scope="scope"> <template slot-scope="scope">
<template v-if="scope.row.issueTime"> <p v-for="item in scope.row.issueTime.split(',')">{{ item }}</p> <template v-if="scope.row.issueTime">
<p v-for="item in scope.row.issueTime.split(',')">{{ item }}</p>
</template> </template>
<template v-else></template> <template v-else />
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -665,7 +752,7 @@
:total="total2" :total="total2"
@pageChange="handlePageChange" @pageChange="handlePageChange"
@pageSizeChange="handlePageSizeChange" @pageSizeChange="handlePageSizeChange"
></pagination> />
<loading :loading="dataLoading">数据获取中</loading> <loading :loading="dataLoading">数据获取中</loading>
</div> </div>
<div class="demo-drawer-footer"> <div class="demo-drawer-footer">
@@ -674,12 +761,16 @@
icon="el-icon-check" icon="el-icon-check"
type="primary" type="primary"
@click="handleConfirm" @click="handleConfirm"
>确定</el-button> >
确定
</el-button>
<el-button <el-button
class="common-button-default" class="common-button-default"
icon="el-icon-close" icon="el-icon-close"
@click="handleCancel" @click="handleCancel"
>取消</el-button> >
取消
</el-button>
</div> </div>
</el-drawer> </el-drawer>
<!-- 分享 全部选人 --> <!-- 分享 全部选人 -->
@@ -692,7 +783,7 @@
valueName: orgTableValName valueName: orgTableValName
}" }"
@confirm="isTreeOk" @confirm="isTreeOk"
></org-table> />
</div> </div>
</template> </template>
@@ -702,6 +793,10 @@ import 'zTree/js/jquery.ztree.excheck.js'
import 'zTree/js/jquery.ztree.exedit.js' import 'zTree/js/jquery.ztree.exedit.js'
export default { export default {
name: 'StandAutoSplit', name: 'StandAutoSplit',
components: {
// deptTree
},
props: {},
data () { data () {
return { return {
visibleOrgTable: false, visibleOrgTable: false,
@@ -843,6 +938,20 @@ export default {
standSelected: [] standSelected: []
} }
}, },
watch: {
},
mounted () {
// this.standInfoList.push(this.fileInfoEOSet)
// this.standInfoList = this.standInfoListAll
this.getSarFileSplitInfoEOPage()
this.getFileSel()
this.$nextTick(() => {
this.tableHeight = $('.content').height() - 44
window.onresize = function () {
this.tableHeight = $('.content').height() - 44
}.bind(this)
})
},
methods: { methods: {
// 模板下载 // 模板下载
uploadImportModal () { uploadImportModal () {
@@ -876,7 +985,7 @@ export default {
}, },
// 点击查看详情 // 点击查看详情
handlePreview (item) { handlePreview (item) {
let routeUrl = this.$router.resolve({ const routeUrl = this.$router.resolve({
name: 'OtherStandardDetails', name: 'OtherStandardDetails',
params: { params: {
id: item.standId, id: item.standId,
@@ -887,7 +996,7 @@ export default {
}, },
// 拆分页点击查看详情 // 拆分页点击查看详情
handlePreview1 (item) { handlePreview1 (item) {
let routeUrl = this.$router.resolve({ const routeUrl = this.$router.resolve({
name: 'OtherStandardDetails', name: 'OtherStandardDetails',
params: { params: {
id: item.standId, id: item.standId,
@@ -937,7 +1046,7 @@ export default {
item.resType = this.conditionForm.standType === 'FOREIGN' ? 'FOREIGN_STAND' : 'INLAND_STAND' item.resType = this.conditionForm.standType === 'FOREIGN' ? 'FOREIGN_STAND' : 'INLAND_STAND'
}) })
this.tableData = res.data.list this.tableData = res.data.list
console.log(this.tableData,"tableDatatableDatatableDatatableData") console.log(this.tableData, 'tableDatatableDatatableDatatableData')
this.total2 = res.data.count this.total2 = res.data.count
} }
}) })
@@ -965,7 +1074,7 @@ export default {
// 跳转政策、标准详情页面 // 跳转政策、标准详情页面
showLawsDetails (item) { showLawsDetails (item) {
if (item.resType === 'FOREIGN_LAWS') { if (item.resType === 'FOREIGN_LAWS') {
let routeUrl = this.$router.resolve({ const routeUrl = this.$router.resolve({
name: 'OtherLawsDetails', name: 'OtherLawsDetails',
params: { params: {
id: item.id, id: item.id,
@@ -974,7 +1083,7 @@ export default {
}) })
window.open(routeUrl.href, '_blank') window.open(routeUrl.href, '_blank')
} else { } else {
let routeUrl = this.$router.resolve({ const routeUrl = this.$router.resolve({
name: 'OtherStandardDetails', name: 'OtherStandardDetails',
params: { params: {
id: item.id, id: item.id,
@@ -1125,7 +1234,7 @@ export default {
type: 'warning' type: 'warning'
}) })
} else { } else {
let personShareEO = {} const personShareEO = {}
personShareEO.resType = 'STAND_SPLIT' personShareEO.resType = 'STAND_SPLIT'
// personShareEO.resTitle = this.resPk.standName + ' ( 编号:' + this.resPk.showNumber + ' )' // personShareEO.resTitle = this.resPk.standName + ' ( 编号:' + this.resPk.showNumber + ' )'
personShareEO.resTitle = this.resPk.standNameSplit + '( 编号:' + this.resPk.standNumSplit + ')' personShareEO.resTitle = this.resPk.standNameSplit + '( 编号:' + this.resPk.standNumSplit + ')'
@@ -1143,7 +1252,6 @@ export default {
this.$message.error('分享失败!') this.$message.error('分享失败!')
}) })
} }
}, },
// 分享 推送 事件 // 分享 推送 事件
@@ -1151,7 +1259,7 @@ export default {
if (this.shareStandardSelect.length === 0) { if (this.shareStandardSelect.length === 0) {
this.$message.warning('请选择要分享的人!') this.$message.warning('请选择要分享的人!')
} else { } else {
let personShareEO = {} const personShareEO = {}
personShareEO.resType = 'STAND_SPLIT' personShareEO.resType = 'STAND_SPLIT'
// personShareEO.resTitle = this.resPk.standName + ' ( 编号:' + this.resPk.showNumber + ' )' // personShareEO.resTitle = this.resPk.standName + ' ( 编号:' + this.resPk.showNumber + ' )'
personShareEO.resTitle = this.resPk.standNameSplit + '( 编号:' + this.resPk.standNumSplit + ')' personShareEO.resTitle = this.resPk.standNameSplit + '( 编号:' + this.resPk.standNumSplit + ')'
@@ -1177,9 +1285,9 @@ export default {
}, },
standSelectChangeByStandTab (data) { standSelectChangeByStandTab (data) {
this.selectedSplitStandList = [] this.selectedSplitStandList = []
let checkId = data.standId+"_"+data.attId const checkId = data.standId + '_' + data.attId
for (let i = 0; i < this.addSpiltStandList.length; i++) { for (let i = 0; i < this.addSpiltStandList.length; i++) {
let dataId = this.addSpiltStandList[i].standId+"_"+this.addSpiltStandList[i].attId const dataId = this.addSpiltStandList[i].standId + '_' + this.addSpiltStandList[i].attId
if (checkId === dataId) { if (checkId === dataId) {
this.addSpiltStandList[i].checkBox = true this.addSpiltStandList[i].checkBox = true
this.selectedSplitStandList.push(this.addSpiltStandList[i]) this.selectedSplitStandList.push(this.addSpiltStandList[i])
@@ -1187,7 +1295,6 @@ export default {
} }
}, },
searchStandList () { searchStandList () {
this.splitInfoPage = 1 this.splitInfoPage = 1
this.getSarFileSplitInfoEOPage() this.getSarFileSplitInfoEOPage()
@@ -1256,7 +1363,7 @@ export default {
this.percent = 0 this.percent = 0
this.speedModal = true this.speedModal = true
this.speedProgress() this.speedProgress()
let splitEo = {} const splitEo = {}
splitEo.standId = this.selectedSplitStandList[0].standId splitEo.standId = this.selectedSplitStandList[0].standId
splitEo.fileType = this.selectedSplitStandList[0].standFileClassify splitEo.fileType = this.selectedSplitStandList[0].standFileClassify
splitEo.attId = this.selectedSplitStandList[0].attId splitEo.attId = this.selectedSplitStandList[0].attId
@@ -1345,10 +1452,10 @@ export default {
}, },
// 上传按钮 文件上传之前的钩子 // 上传按钮 文件上传之前的钩子
beforeUpload (file) { beforeUpload (file) {
var filename = file.name const filename = file.name
var index1 = filename.lastIndexOf('.') const index1 = filename.lastIndexOf('.')
var index2 = filename.length const index2 = filename.length
var fileSuffix = filename.substring(index1, index2) const fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // const fileSuffix = file.name.split('.')[1] // 后缀名
if (this.defaultFileList.length > 0) { if (this.defaultFileList.length > 0) {
this.$message.warning('一次仅能拆分一个文件') this.$message.warning('一次仅能拆分一个文件')
@@ -1365,10 +1472,10 @@ export default {
return true return true
}, },
beforeSplitResultImport (file) { beforeSplitResultImport (file) {
var filename = file.name const filename = file.name
var index1 = filename.lastIndexOf('.') const index1 = filename.lastIndexOf('.')
var index2 = filename.length const index2 = filename.length
var fileSuffix = filename.substring(index1, index2) const fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // const fileSuffix = file.name.split('.')[1] // 后缀名
if (this.defaultFileList.length > 1) { if (this.defaultFileList.length > 1) {
this.$message.warning('只能导入一个文件') this.$message.warning('只能导入一个文件')
@@ -1436,7 +1543,7 @@ export default {
roundButton: false roundButton: false
}).then(() => { }).then(() => {
this.spinShow = true this.spinShow = true
let nowstandItem = JSON.parse(JSON.stringify(data)) const nowstandItem = JSON.parse(JSON.stringify(data))
if (nowstandItem.showNumber == null || nowstandItem.showNumber === '') { if (nowstandItem.showNumber == null || nowstandItem.showNumber === '') {
nowstandItem.showNumber = nowstandItem.standNumSplit nowstandItem.showNumber = nowstandItem.standNumSplit
} }
@@ -1484,7 +1591,7 @@ export default {
this.editLawsInfo(command[0]) this.editLawsInfo(command[0])
break break
case '收藏': case '收藏':
let personCollect = {} const personCollect = {}
personCollect.collectResId = command[0].id // id personCollect.collectResId = command[0].id // id
personCollect.collectType = 'STAND_SPLIT' // 类型 personCollect.collectType = 'STAND_SPLIT' // 类型
if (command[0].standId) { if (command[0].standId) {
@@ -1673,24 +1780,6 @@ export default {
this.uploadFilesplitEo.defaultFileList = fileList this.uploadFilesplitEo.defaultFileList = fileList
this.$refs['uploadFileSplitEO2'].validateField('defaultFileList') this.$refs['uploadFileSplitEO2'].validateField('defaultFileList')
}, },
},
components: {
// deptTree
},
props: {},
watch: {
},
mounted () {
// this.standInfoList.push(this.fileInfoEOSet)
// this.standInfoList = this.standInfoListAll
this.getSarFileSplitInfoEOPage()
this.getFileSel()
this.$nextTick(() => {
this.tableHeight = $('.content').height() - 44
window.onresize = function () {
this.tableHeight = $('.content').height() - 44
}.bind(this)
})
} }
} }
</script> </script>
@@ -3,80 +3,135 @@
<process-title> <process-title>
<template slot="title">立项信息</template> <template slot="title">立项信息</template>
</process-title> </process-title>
<el-form :model="qbfsForm" class="label-input-form prc-content-border" <el-form
label-width="150px" :rules="qbfsFormRules" ref="qbfsForm"> ref="qbfsForm"
:model="qbfsForm"
class="label-input-form prc-content-border"
label-width="150px"
:rules="qbfsFormRules"
>
<el-form-item v-if="false" label="" prop="type" class="add-form-item form-item-disabled"> <el-form-item v-if="false" label="" prop="type" class="add-form-item form-item-disabled">
<el-input :disabled="disabledXX" <el-input
v-model="qbfsForm.type" v-model="qbfsForm.type"
:disabled="disabledXX"
clearable clearable
></el-input> />
</el-form-item> </el-form-item>
<el-form-item prop="bussSort" label="企标类别" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled"> <el-form-item prop="bussSort" label="企标类别" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select :disabled="disabledXX" v-model="qbfsForm.bussSort" filterable placeholder="请选择企标类别" style="width: 100%;"> <el-select
v-model="qbfsForm.bussSort"
:disabled="disabledXX"
filterable
placeholder="请选择企标类别"
style="width: 100%;"
>
<el-option <el-option
v-for="(item, index) in standSortOptions" v-for="(item, index) in standSortOptions"
:key="index" :key="index"
:value="item.value" :value="item.value"
:label="item.label"> :label="item.label"
</el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="esName" label="企标名称" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled"> <el-form-item prop="esName" label="企标名称" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input :disabled="disabledXX" <el-input
v-model.trim="qbfsForm.esName" v-model.trim="qbfsForm.esName"
:disabled="disabledXX"
placeholder="请输入企标名称" placeholder="请输入企标名称"
:maxlength="500"/> :maxlength="500"
/>
</el-form-item> </el-form-item>
<el-form-item prop="reviseStatus" label="制修订类型" style="width: 100%; margin-right:10px" <el-form-item
class="add-form-item form-item-disabled"> prop="reviseStatus"
<el-select :disabled="disabledXX" v-model="qbfsForm.reviseStatus" placeholder="请选择制修订类型"> label="制修订类型"
<el-option label="制定" value="制定"></el-option> style="width: 100%; margin-right:10px"
<el-option label="修订" value="修订"></el-option> class="add-form-item form-item-disabled"
>
<el-select v-model="qbfsForm.reviseStatus" :disabled="disabledXX" placeholder="请选择制修订类型">
<el-option label="制定" value="制定" />
<el-option label="修订" value="修订" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="qbfsForm.reviseStatus === '修订'" prop="rqbName" label="代替企标编号" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled"> <el-form-item
<el-input :disabled="disabledXX" v-if="qbfsForm.reviseStatus === '修订'"
prop="rqbName"
label="代替企标编号"
style="width: 100%; margin-right:10px"
class="add-form-item form-item-disabled"
>
<el-input
v-model="qbfsForm.rqbJson"
:disabled="disabledXX"
style="display: none;" style="display: none;"
v-model="qbfsForm.rqbJson"> />
</el-input> <el-input
<el-input :disabled="disabledXX"
clearable
v-model="qbfsForm.rqbName" v-model="qbfsForm.rqbName"
:disabled="disabledXX"
clearable
placeholder="请选择代替企标编号" placeholder="请选择代替企标编号"
readonly readonly
@click.native="choiceQYBZ"> @click.native="choiceQYBZ"
</el-input> />
</el-form-item> </el-form-item>
<el-form-item prop="area" label="适用车型" style="width: 100%; margin-right:10px" <el-form-item
class="add-form-item form-item-disabled"> prop="area"
<el-select :disabled="disabledXX" v-model="qbfsForm.area" multiple filterable placeholder="请选择适用车型" style="width: 100%;"> label="适用车型"
style="width: 100%; margin-right:10px"
class="add-form-item form-item-disabled"
>
<el-select
v-model="qbfsForm.area"
:disabled="disabledXX"
multiple
filterable
placeholder="请选择适用车型"
style="width: 100%;"
>
<el-option <el-option
v-for="item in BZList" v-for="item in BZList"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value"> :value="item.value"
</el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unitName" class="add-form-item form-item-disabled"> <el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unitName" class="add-form-item form-item-disabled">
<el-input :disabled="disabledXX" v-model="qbfsForm.unit" style="display: none;"></el-input> <el-input v-model="qbfsForm.unit" :disabled="disabledXX" style="display: none;" />
<el-input :disabled="disabledXX" v-model="qbfsForm.unitName" placeholder="请选择起草责任单位" <el-input
@click.native="choiceZRBM('unit', '选择起草责任单位', qbfsForm.unit)"> v-model="qbfsForm.unitName"
</el-input> :disabled="disabledXX"
placeholder="请选择起草责任单位"
@click.native="choiceZRBM('unit', '选择起草责任单位', qbfsForm.unit)"
/>
</el-form-item> </el-form-item>
<el-form-item prop="drafterName" label="起草人" style="width: 100%; margin-right:10px" <el-form-item
class="add-form-item form-item-disabled"> prop="drafterName"
<el-input :disabled="disabledXX" v-model="qbfsForm.drafter" style="display: none;"></el-input> label="起草人"
<el-input :disabled="disabledXX" v-model="qbfsForm.drafterName" placeholder="请选择起草人" readonly style="width: 100%; margin-right:10px"
@click.native="choiceZRRS('1')"> class="add-form-item form-item-disabled"
</el-input> >
<el-input v-model="qbfsForm.drafter" :disabled="disabledXX" style="display: none;" />
<el-input
v-model="qbfsForm.drafterName"
:disabled="disabledXX"
placeholder="请选择起草人"
readonly
@click.native="choiceZRRS('1')"
/>
</el-form-item> </el-form-item>
<el-form-item prop="resPersonName" label="评审责任人" style="width: 100%; margin-right:10px" <el-form-item
class="add-form-item form-item-disabled"> prop="resPersonName"
<el-input :disabled="disabledXX" v-model="qbfsForm.resPerson" style="display: none;"></el-input> label="评审责任人"
<el-input :disabled="disabledXX" v-model="qbfsForm.resPersonName" placeholder="请选择评审责任人" style="width: 100%; margin-right:10px"
@click.native="choiceZRRS('2')"> class="add-form-item form-item-disabled"
</el-input> >
<el-input v-model="qbfsForm.resPerson" :disabled="disabledXX" style="display: none;" />
<el-input
v-model="qbfsForm.resPersonName"
:disabled="disabledXX"
placeholder="请选择评审责任人"
@click.native="choiceZRRS('2')"
/>
</el-form-item> </el-form-item>
<!--工作组组长改为技术委员会评审负责人--> <!--工作组组长改为技术委员会评审负责人-->
<el-form-item prop="wgLeaderName" label="技术委员会评审负责人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled"> <el-form-item prop="wgLeaderName" label="技术委员会评审负责人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
@@ -85,9 +140,13 @@
<span>技术委员会评审负责人</span> <span>技术委员会评审负责人</span>
</el-tooltip> </el-tooltip>
</template> </template>
<el-input :disabled="disabledXX" v-model="qbfsForm.wgLeader" style="display: none;"></el-input> <el-input v-model="qbfsForm.wgLeader" :disabled="disabledXX" style="display: none;" />
<el-input :disabled="disabledXX" v-model="qbfsForm.wgLeaderName" placeholder="请选择技术委员会评审负责人" <el-input
@click.native="workGroupUnfold('workLeader', '选择技术委员会评审负责人', qbfsForm.wgLeader)"></el-input> v-model="qbfsForm.wgLeaderName"
:disabled="disabledXX"
placeholder="请选择技术委员会评审负责人"
@click.native="workGroupUnfold('workLeader', '选择技术委员会评审负责人', qbfsForm.wgLeader)"
/>
</el-form-item> </el-form-item>
<el-form-item style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item form-item-disabled"> <el-form-item style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item form-item-disabled">
<template v-slot:label> <template v-slot:label>
@@ -95,12 +154,13 @@
<span>计划标准初稿完成时间</span> <span>计划标准初稿完成时间</span>
</el-tooltip> </el-tooltip>
</template> </template>
<el-date-picker :disabled="disabledXX" <el-date-picker
v-model="qbfsForm.draftTime" v-model="qbfsForm.draftTime"
:disabled="disabledXX"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="date" type="date"
placeholder="请选择计划标准初稿完成时间"> placeholder="请选择计划标准初稿完成时间"
</el-date-picker> />
</el-form-item> </el-form-item>
<el-form-item style="width: 100%; margin-right:10px" prop="releaseTime" class="add-form-item form-item-disabled"> <el-form-item style="width: 100%; margin-right:10px" prop="releaseTime" class="add-form-item form-item-disabled">
<template slot="label"> <template slot="label">
@@ -108,40 +168,54 @@
<span>计划标准发布时间</span> <span>计划标准发布时间</span>
</el-tooltip> </el-tooltip>
</template> </template>
<el-date-picker :disabled="disabledXX" <el-date-picker
v-model="qbfsForm.releaseTime" v-model="qbfsForm.releaseTime"
:disabled="disabledXX"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="date" type="date"
placeholder="请选择计划标准发布时间"> placeholder="请选择计划标准发布时间"
</el-date-picker> />
</el-form-item> </el-form-item>
<el-form-item prop="tsJson" label="标准体系" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled"> <el-form-item prop="tsJson" label="标准体系" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input :disabled="disabledXX" <el-input
v-model="qbfsForm.tsJson"
:disabled="disabledXX"
style="display: none;" style="display: none;"
v-model="qbfsForm.tsJson"> />
</el-input> <el-input
<el-input :disabled="disabledXX"
clearable
v-model="qbfsForm.tsJsonName" v-model="qbfsForm.tsJsonName"
:disabled="disabledXX"
clearable
placeholder="请选择标准体系" placeholder="请选择标准体系"
readonly readonly
@click.native="choiceTXJG(qbfsForm.tsJson)"> @click.native="choiceTXJG(qbfsForm.tsJson)"
</el-input> />
</el-form-item> </el-form-item>
<el-form-item prop="isRelate" label="采用国内外标准情况" style="width: 100%; margin-right:10px" <el-form-item
class="add-form-item form-item-disabled"> prop="isRelate"
<el-select :disabled="disabledXX" v-model="qbfsForm.isRelate" placeholder="请选择采用国内外标准情况"> label="采用国内外标准情况"
<el-option label="是" value="是"></el-option> style="width: 100%; margin-right:10px"
<el-option label="否" value="否"></el-option> class="add-form-item form-item-disabled"
>
<el-select v-model="qbfsForm.isRelate" :disabled="disabledXX" placeholder="请选择采用国内外标准情况">
<el-option label="是" value="是" />
<el-option label="否" value="否" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="qbfsForm.isRelate === '否'" prop="technologic" label="简述指标依据" style="width: 100%; margin-right:10px" <el-form-item
class="add-form-item form-item-disabled"> v-if="qbfsForm.isRelate === '否'"
<el-input :disabled="disabledXX" prop="technologic"
type="textarea" label="简述指标依据"
style="width: 100%; margin-right:10px"
class="add-form-item form-item-disabled"
>
<el-input
v-model="qbfsForm.technologic" v-model="qbfsForm.technologic"
:disabled="disabledXX"
type="textarea"
placeholder="请输入指标依据" placeholder="请输入指标依据"
:maxlength="500"/> :maxlength="500"
/>
</el-form-item> </el-form-item>
<!-- <template v-if="qbfsForm.isRelate === '是'">--> <!-- <template v-if="qbfsForm.isRelate === '是'">-->
<!-- <custom-input-for-all-standards--> <!-- <custom-input-for-all-standards-->
@@ -153,34 +227,45 @@
<!-- </template>--> <!-- </template>-->
<template v-if="qbfsForm.isRelate === '是'"> <template v-if="qbfsForm.isRelate === '是'">
<custom-input-for-all-standards2 <custom-input-for-all-standards2
v-model="qbfsForm.esStandRelations"
:disabled="disabledXX" :disabled="disabledXX"
class="classDisplay" class="classDisplay"
:config="{attrName: '采用标准',attrField:'esStandRelations'}" :config="{attrName: '采用标准',attrField:'esStandRelations'}"
:labelWidth="'150px'" :labelWidth="'150px'"
v-model="qbfsForm.esStandRelations" />
></custom-input-for-all-standards2>
</template> </template>
<el-form-item v-if="qbfsForm.isRelate === '是'" prop="useLevel" label="采标程度" style="width: 100%; margin-right:10px" <el-form-item
class="add-form-item form-item-disabled"> v-if="qbfsForm.isRelate === '是'"
<el-select :disabled="disabledXX" v-model="qbfsForm.useLevel" filterable placeholder="请选择采标程度" style="width: 100%;"> prop="useLevel"
label="采标程度"
style="width: 100%; margin-right:10px"
class="add-form-item form-item-disabled"
>
<el-select
v-model="qbfsForm.useLevel"
:disabled="disabledXX"
filterable
placeholder="请选择采标程度"
style="width: 100%;"
>
<el-option <el-option
v-for="(item, index) in cbcdOptions" v-for="(item, index) in cbcdOptions"
:key="index" :key="index"
:value="item.value" :value="item.value"
:label="item.label"> :label="item.label"
</el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<template> <template>
<custom-input-for-all-standards2 <custom-input-for-all-standards2
v-model="qbfsForm.esMatingRelations"
:disabled="disabledXX" :disabled="disabledXX"
class="classDisplay" class="classDisplay"
:enterpriseStandard="true" :enterpriseStandard="true"
:placeholderText="'包括已有、应有的关联标准,如企业标准、行业标准、国家标准'" :placeholderText="'包括已有、应有的关联标准,如企业标准、行业标准、国家标准'"
:config="{attrName: '引用标准'}" :config="{attrName: '引用标准'}"
:labelWidth="'150px'" :labelWidth="'150px'"
v-model="qbfsForm.esMatingRelations" />
></custom-input-for-all-standards2>
</template> </template>
<!-- <el-form-item label="立项原因" style="width: 100%; margin-right:10px" prop="newReason" class="add-form-item form-item-disabled">--> <!-- <el-form-item label="立项原因" style="width: 100%; margin-right:10px" prop="newReason" class="add-form-item form-item-disabled">-->
<!-- <el-input :disabled="disabledXX"--> <!-- <el-input :disabled="disabledXX"-->
@@ -190,19 +275,33 @@
<!-- :maxlength="500"/>--> <!-- :maxlength="500"/>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item label="立项单" prop="LXDName" class="add-form-item form-item-disabled"> <el-form-item label="立项单" prop="LXDName" class="add-form-item form-item-disabled">
<div v-if="LXDList.length > 0" v-for="(item,index) in LXDList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass"> <div
v-for="(item,index) in LXDList"
v-if="LXDList.length > 0"
:key="index"
style="color: #409eff;cursor:pointer"
class="fileClass"
>
<span style="width: 80%;" @click="handleFilePreview(item,'preview')">{{ item.name }}</span> <span style="width: 80%;" @click="handleFilePreview(item,'preview')">{{ item.name }}</span>
<!-- <span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">--> <!-- <span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">-->
<!-- <el-button :disabled="disabledXX" type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreview(item,'down')"></el-button>--> <!-- <el-button :disabled="disabledXX" type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreview(item,'down')"></el-button>-->
<!-- </span>--> <!-- </span>-->
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''"> <span v-if="item.id !== ''" style="width: 20%;margin-left: 15px;">
<el-button :disabled="disabledXX" type="primary" size="mini" plain icon="el-icon-edit" @click="handleFilePreview(item,'onlineEdit')"></el-button> <el-button
:disabled="disabledXX"
type="primary"
size="mini"
plain
icon="el-icon-edit"
@click="handleFilePreview(item,'onlineEdit')"
/>
</span> </span>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
<!-- 选择企业标准弹窗--> <!-- 选择企业标准弹窗-->
<el-drawer v-if="!disabledXX" <el-drawer
v-if="!disabledXX"
title="选择企业标准" title="选择企业标准"
:visible.sync="QYBZmodal" :visible.sync="QYBZmodal"
size="900px" size="900px"
@@ -214,22 +313,40 @@
<div class="search-area"> <div class="search-area">
<el-form :model="QYBZform" inline class="label-input-form"> <el-form :model="QYBZform" inline class="label-input-form">
<el-formItem label="标准号" prop="numberName" class="search-item"> <el-formItem label="标准号" prop="numberName" class="search-item">
<el-input :disabled="disabledXX" v-model="QYBZform.standCode" clearable placeholder="根据标准号查找" :maxlength="100"/> <el-input
v-model="QYBZform.standCode"
:disabled="disabledXX"
clearable
placeholder="根据标准号查找"
:maxlength="100"
/>
</el-formItem> </el-formItem>
<el-formItem label="标准名称" prop="standName" class="search-item"> <el-formItem label="标准名称" prop="standName" class="search-item">
<el-input :disabled="disabledXX" v-model="QYBZform.standName" clearable placeholder="根据标准名称查找" :maxlength="100"/> <el-input
v-model="QYBZform.standName"
:disabled="disabledXX"
clearable
placeholder="根据标准名称查找"
:maxlength="100"
/>
</el-formItem> </el-formItem>
<el-formItem class="search-item btn-box"> <el-formItem class="search-item btn-box">
<el-button :disabled="disabledXX" <el-button
:disabled="disabledXX"
type="primary" type="primary"
size="mini" size="mini"
class="common-button-primary" class="common-button-primary"
@click="QYBZgetBtn">查询 @click="QYBZgetBtn"
>
查询
</el-button> </el-button>
<el-button :disabled="disabledXX" <el-button
:disabled="disabledXX"
class="common-button-default" class="common-button-default"
size="mini" size="mini"
@click="clearQYBZ">清空 @click="clearQYBZ"
>
清空
</el-button> </el-button>
</el-formItem> </el-formItem>
</el-form> </el-form>
@@ -243,14 +360,16 @@
style="width: 100%;padding:0 0 20px 0;" style="width: 100%;padding:0 0 20px 0;"
class="table-height" class="table-height"
border border
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
@selection-change="handleSelectionQYBZ" @selection-change="handleSelectionQYBZ"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column <el-table-column
type="index" type="index"
width="55" width="55"
label="序号" label="序号"
align="center"> align="center"
>
<template slot-scope="{scope, column, $index}"> <template slot-scope="{scope, column, $index}">
{{ ($index + 1) + (QYBZform.page - 1) * QYBZform.pageSize }} {{ ($index + 1) + (QYBZform.page - 1) * QYBZform.pageSize }}
</template> </template>
@@ -258,14 +377,12 @@
<el-table-column <el-table-column
label="企标编号" label="企标编号"
prop="standCode" prop="standCode"
> />
</el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="standName" prop="standName"
label="中文名称" label="中文名称"
> />
</el-table-column>
<el-table-column <el-table-column
prop="issueTime" prop="issueTime"
label="发布日期" label="发布日期"
@@ -296,7 +413,14 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<pagination :auto-size="true" :page="QYBZform.page" :page-size="QYBZform.pageSize" :total="QYBZform.total" @pageChange="QYBZpageChange" @pageSizeChange="QYBZpageSizeChange"></pagination> <pagination
:auto-size="true"
:page="QYBZform.page"
:page-size="QYBZform.pageSize"
:total="QYBZform.total"
@pageChange="QYBZpageChange"
@pageSizeChange="QYBZpageSizeChange"
/>
<loading :loading="QYBZShow">数据加载中……</loading> <loading :loading="QYBZShow">数据加载中……</loading>
</div> </div>
</div> </div>
@@ -307,7 +431,8 @@
</div> </div>
</el-drawer> </el-drawer>
<!-- 选择体系结构弹窗--> <!-- 选择体系结构弹窗-->
<el-drawer v-if="!disabledXX" <el-drawer
v-if="!disabledXX"
title="选择标准体系" title="选择标准体系"
:visible.sync="TXJGmodal" :visible.sync="TXJGmodal"
size="400px" size="400px"
@@ -319,13 +444,13 @@
v-if="TXJGmodal" v-if="TXJGmodal"
ref="TXJGTree" ref="TXJGTree"
:data="standSystemOptions" :data="standSystemOptions"
@check-change="handleClick"
show-checkbox show-checkbox
node-key="id" node-key="id"
check-strictly check-strictly
:default-checked-keys="TXJGList" :default-checked-keys="TXJGList"
:props="defaultProps"> :props="defaultProps"
</el-tree> @check-change="handleClick"
/>
</div> </div>
<div class="demo-drawer-footer"> <div class="demo-drawer-footer">
<el-button :disabled="disabledXX" size="mini" @click="TXJGcloseDrawer">取消</el-button> <el-button :disabled="disabledXX" size="mini" @click="TXJGcloseDrawer">取消</el-button>
@@ -334,7 +459,8 @@
</div> </div>
</el-drawer> </el-drawer>
<!-- 选择工作组抽屉--> <!-- 选择工作组抽屉-->
<el-drawer v-if="!disabledXX" <el-drawer
v-if="!disabledXX"
title="选择工作组组长" title="选择工作组组长"
:visible.sync="workModel" :visible.sync="workModel"
size="900px" size="900px"
@@ -346,26 +472,32 @@
<div class="left"> <div class="left">
<el-form :modal="workSearch" :inline="true" class="label-input-form" style="margin-left:10px"> <el-form :modal="workSearch" :inline="true" class="label-input-form" style="margin-left:10px">
<el-form-item label="工作组" class="search-item"> <el-form-item label="工作组" class="search-item">
<el-input :disabled="disabledXX" <el-input
v-model="workSearch.workGroupName" v-model="workSearch.workGroupName"
:disabled="disabledXX"
clearable clearable
placeholder="根据工作组进行查找" placeholder="根据工作组进行查找"
/> />
</el-form-item> </el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button :disabled="disabledXX" <el-button
:disabled="disabledXX"
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="small" size="small"
@click="getWorkBtn"> @click="getWorkBtn"
>
查询 查询
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button :disabled="disabledXX" <el-button
:disabled="disabledXX"
class="common-button-default" class="common-button-default"
size="small" size="small"
@click="clearSearch">清空 @click="clearSearch"
>
清空
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
@@ -378,25 +510,26 @@
style="width: 100%; flex: auto;" style="width: 100%; flex: auto;"
class="drag-table" class="drag-table"
height="100%" height="100%"
@selection-change="workChange"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"> fontWeight: 'bold', height: '48px'}"
@selection-change="workChange"
>
> >
<el-table-column <el-table-column
type="selection" type="selection"
width="55" width="55"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
prop="workGroup" prop="workGroup"
label="工作组" label="工作组"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
prop="workLeader" prop="workLeader"
label="工作组组长" label="工作组组长"
align="center"> align="center"
</el-table-column> />
</el-table> </el-table>
</div> </div>
<pagination <pagination
@@ -418,25 +551,27 @@
v-if="!disabledXX" v-if="!disabledXX"
:is-title="drawerTitle2" :is-title="drawerTitle2"
:is-visible.sync="modalshowflag2" :is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2" :nodeList="nodeList2"
></Role-tree> @checkedRole="checkedRole2"
/>
<Role-tree <Role-tree
v-if="!disabledXX" v-if="!disabledXX"
check-box check-box
:is-title="drawerTitle" :is-title="drawerTitle"
:is-visible.sync="modalshowflag" :is-visible.sync="modalshowflag"
@checkedRole="checkedRole"
:nodeList="nodeList" :nodeList="nodeList"
></Role-tree> @checkedRole="checkedRole"
/>
<!--技术委员会评审负责人--> <!--技术委员会评审负责人-->
<Role-tree <Role-tree
check-box check-box
is-title="选择技术委员会评审负责人" is-title="选择技术委员会评审负责人"
:is-visible.sync="workLeaderVisible" :is-visible.sync="workLeaderVisible"
:node-list="workLeaderNodeList" :node-list="workLeaderNodeList"
@checkedRole="workLeaderCheckedRole" /> @checkedRole="workLeaderCheckedRole"
<Mechanism-tree v-if="!disabledXX" />
<Mechanism-tree
v-if="!disabledXX"
is-title="选择起草责任单位" is-title="选择起草责任单位"
:is-visible.sync="modalshowflagZRBM" :is-visible.sync="modalshowflagZRBM"
:nodeList="nodeListZRBM" :nodeList="nodeListZRBM"
@@ -447,13 +582,13 @@
</template> </template>
<script> <script>
import ProcessTitle from "process/components/ProcessTitle"; import ProcessTitle from 'process/components/ProcessTitle';
import MechanismTree from "@/components/mechanismTree"; import MechanismTree from '@/components/mechanismTree';
import CustomInputForAllStandards from '@/components/CustomFormComponents/InputForAllStandards' import CustomInputForAllStandards from '@/components/CustomFormComponents/InputForAllStandards'
import CustomInputForAllStandards2 from '@/components/CustomFormComponents/InputForAllStandards2' import CustomInputForAllStandards2 from '@/components/CustomFormComponents/InputForAllStandards2'
import {processEditFile } from "api/process"; import { processEditFile } from 'api/process';
export default { export default {
name: "establish", name: 'Establish',
components: { components: {
ProcessTitle, ProcessTitle,
MechanismTree, MechanismTree,
@@ -464,7 +599,7 @@ export default {
data () { data () {
const validateFsOnlineFile = async (rule, value, callback) => { const validateFsOnlineFile = async (rule, value, callback) => {
if(this.qbfsForm.LXD) { if(this.qbfsForm.LXD) {
let fileObj = await this.processEditFile(this.qbfsForm.LXD) const fileObj = await this.processEditFile(this.qbfsForm.LXD)
if (fileObj) { if (fileObj) {
const editFileInfo = fileObj const editFileInfo = fileObj
if (editFileInfo && editFileInfo.editStatus === '1') { if (editFileInfo && editFileInfo.editStatus === '1') {
@@ -481,7 +616,7 @@ export default {
if (value === '' || value === null) { if (value === '' || value === null) {
return callback(new Error('请输入企标名称')) return callback(new Error('请输入企标名称'))
} else { } else {
let res = await this.getDataByNameAndSort() const res = await this.getDataByNameAndSort()
if (res.data && res.data > 0) { if (res.data && res.data > 0) {
return callback(new Error('企标名称重复')) return callback(new Error('企标名称重复'))
} else { } else {
@@ -494,7 +629,7 @@ export default {
formLoading: false, formLoading: false,
workModel: false, workModel: false,
workSearch: { workSearch: {
workGroupName: "", workGroupName: '',
}, },
total: 0, total: 0,
page: 1, page: 1,
@@ -536,61 +671,61 @@ export default {
qcdwOptions: [], qcdwOptions: [],
LXDList: [], LXDList: [],
qbfsForm: { qbfsForm: {
type: "5", type: '5',
unit: "", // 单位 unit: '', // 单位
unitName: "", unitName: '',
esName: "", // 企标名称 esName: '', // 企标名称
planStatus: "6", // 计划状态 planStatus: '6', // 计划状态
reviseStatus: "", // 制修订类型 reviseStatus: '', // 制修订类型
area: "", //适用车型 area: '', // 适用车型
isRelate: "", //采用何种标准 isRelate: '', // 采用何种标准
technologic: '', // 指标依据 technologic: '', // 指标依据
resPerson: "", // 评审责任人 resPerson: '', // 评审责任人
resPersonName: "", resPersonName: '',
wgLeader: "", // 工作组组长 wgLeader: '', // 工作组组长
wgLeaderName: "", wgLeaderName: '',
draftTime: "", // 计划标准初稿完成时间 draftTime: '', // 计划标准初稿完成时间
releaseTime: "", // 计划标准发布时间 releaseTime: '', // 计划标准发布时间
drafter: "", // 起草人 drafter: '', // 起草人
drafterName: "", drafterName: '',
esMatingRelations: "", //配套标准 esMatingRelations: '', // 配套标准
newReason: "", //立项原因 newReason: '', // 立项原因
LXDName: "", //立项单名称 LXDName: '', // 立项单名称
LXD: "", //立项单 LXD: '', // 立项单
// remarks: '', // 备注 // remarks: '', // 备注
}, },
qbfsFormRules: { qbfsFormRules: {
unit: [ unit: [
{ required: true, message: "请选择起草单位", trigger: "change" } { required: true, message: '请选择起草单位', trigger: 'change' }
], ],
bussSort: [ bussSort: [
{ required: true, message: "请选择企标类别", trigger: "blur" } { required: true, message: '请选择企标类别', trigger: 'blur' }
], ],
esName: [ esName: [
{ required: true, message:"请输入企标名称", trigger: "blur" } { required: true, message: '请输入企标名称', trigger: 'blur' }
], ],
rqbName: [ rqbName: [
{ required: true, message: "请选择代替企标编号", trigger: "blur" } { required: true, message: '请选择代替企标编号', trigger: 'blur' }
], ],
area: [ area: [
// { required: true, message: "请选择适用车型", trigger: "change" } // { required: true, message: "请选择适用车型", trigger: "change" }
{ required: true, message: "请选择适用车型", trigger: "blur" } { required: true, message: '请选择适用车型', trigger: 'blur' }
], ],
reviseStatus: [ reviseStatus: [
{ required: true, message: "请选择制修订类型", trigger: "blur" } { required: true, message: '请选择制修订类型', trigger: 'blur' }
], ],
resPersonName: [ resPersonName: [
{ required: true, message: "请输入评审责任人", trigger: "blur" } { required: true, message: '请输入评审责任人', trigger: 'blur' }
], ],
wgLeaderName: [ wgLeaderName: [
// { required: true, message: "请输入工作组组长", trigger: "blur" } // { required: true, message: "请输入工作组组长", trigger: "blur" }
{ required: true, message: "请选择技术委员会评审负责人", trigger: "blur" } { required: true, message: '请选择技术委员会评审负责人', trigger: 'blur' }
], ],
unitName: [ unitName: [
{ required: true, message: "请选择起草责任单位", trigger: "blur" } { required: true, message: '请选择起草责任单位', trigger: 'blur' }
], ],
draftTime: [ draftTime: [
{ required: true, message: "请输入计划标准初稿完成时间", trigger: "blur" } { required: true, message: '请输入计划标准初稿完成时间', trigger: 'blur' }
], ],
releaseTime: [ releaseTime: [
{ required: true, message: '请输入计划标准发布时间', trigger: 'blur' }, { required: true, message: '请输入计划标准发布时间', trigger: 'blur' },
@@ -682,7 +817,6 @@ export default {
this.qbfsForm.LXDName = '立项单' this.qbfsForm.LXDName = '立项单'
this.LXDList = this.assemble(res.id, '立项单'); this.LXDList = this.assemble(res.id, '立项单');
} }
}) })
}else { }else {
this.LXDList = this.assemble(this.qbfsForm.LXD, this.qbfsForm.LXDName); this.LXDList = this.assemble(this.qbfsForm.LXD, this.qbfsForm.LXDName);
@@ -718,7 +852,6 @@ export default {
this.qbfsForm.LXDName = '立项单' this.qbfsForm.LXDName = '立项单'
this.LXDList = this.assemble(res.id, '立项单'); this.LXDList = this.assemble(res.id, '立项单');
} }
}) })
}else { }else {
this.LXDList = this.assemble(this.qbfsForm.LXD, this.qbfsForm.LXDName); this.LXDList = this.assemble(this.qbfsForm.LXD, this.qbfsForm.LXDName);
@@ -778,7 +911,7 @@ export default {
this.workChangeList = data this.workChangeList = data
}, },
getWorkData () { getWorkData () {
this.$http.get("workGroup/work-group", { this.$http.get('workGroup/work-group', {
pageSize: this.pageSize, pageSize: this.pageSize,
page: this.page, page: this.page,
workGroupName: this.workSearch.workGroupName workGroupName: this.workSearch.workGroupName
@@ -791,10 +924,10 @@ export default {
}); });
}, },
assemble (ids, names) { assemble (ids, names) {
let list= new Array(); const list = new Array();
if(ids && ids !== '' && names && names !== '') { if(ids && ids !== '' && names && names !== '') {
let idArray=ids.split(','); const idArray = ids.split(',');
let nameArray=names.split(','); const nameArray = names.split(',');
for(let i = 0; i < idArray.length; i++) { for(let i = 0; i < idArray.length; i++) {
list.push({ id: idArray[i], name: nameArray[i] }); list.push({ id: idArray[i], name: nameArray[i] });
} }
@@ -803,9 +936,9 @@ export default {
}, },
// 文件预览及下载 // 文件预览及下载
handleFilePreview (file, type) { handleFilePreview (file, type) {
let id = "" let id = ''
let fileName = "" let fileName = ''
let fileNam2 = "" let fileNam2 = ''
if(this.qbfsForm.esName && this.qbfsForm.esName !== '') { if(this.qbfsForm.esName && this.qbfsForm.esName !== '') {
fileName = this.qbfsForm.esName + '-立项单.docx' fileName = this.qbfsForm.esName + '-立项单.docx'
fileNam2 = this.qbfsForm.esName + '-立项单' fileNam2 = this.qbfsForm.esName + '-立项单'
@@ -840,9 +973,9 @@ export default {
this.TXJGmodal = false this.TXJGmodal = false
}, },
TXJGenterDrawer () { TXJGenterDrawer () {
let list = this.$refs.TXJGTree.getCheckedNodes() const list = this.$refs.TXJGTree.getCheckedNodes()
if(list.length > 0) { if(list.length > 0) {
let parenList = list.filter ( item => item.parentId === null || item.parentId === ''); const parenList = list.filter( item => item.parentId === null || item.parentId === '');
if (parenList.length > 0) { if (parenList.length > 0) {
this.$message.error('请选择二级及以下目录') this.$message.error('请选择二级及以下目录')
return return
@@ -979,38 +1112,43 @@ export default {
this.drawerTitle2 = '请选择起草人' this.drawerTitle2 = '请选择起草人'
this.nodeList2 = []; this.nodeList2 = [];
if (this.qbfsForm.drafter !== undefined) { if (this.qbfsForm.drafter !== undefined) {
this.nodeList2 = this.qbfsForm.drafter.split(","); this.nodeList2 = this.qbfsForm.drafter.split(',');
} }
}else if(type === '2') { }else if(type === '2') {
this.drawerTitle2 = '请选择评审责任人' this.drawerTitle2 = '请选择评审责任人'
this.nodeList2 = []; this.nodeList2 = [];
if (this.qbfsForm.resPerson !== undefined) { if (this.qbfsForm.resPerson !== undefined) {
this.nodeList2 = this.qbfsForm.resPerson.split(","); this.nodeList2 = this.qbfsForm.resPerson.split(',');
} }
} }
this.modalshowflag2 = true; this.modalshowflag2 = true;
}, },
unique (newArr) {
const res = new Map();
return newArr.filter((newArr) => !res.has(newArr) && res.set(newArr, 1));
},
checkedRole2 (data) { checkedRole2 (data) {
let unList = [] /*
let uidList = [] const unList = []
let idList = "", nameList = "" const uidList = []
let unitList = "", unitNameList = "" let idList = '', nameList = ''
let unitList = '', unitNameList = ''
data.forEach(item => { data.forEach(item => {
unList.push(item.topUnit) unList.push(item.topUnit)
uidList.push(item.topUnitId) uidList.push(item.topUnitId)
if (nameList.length) { if (nameList.length) {
nameList += ","; nameList += ',';
idList += ","; idList += ',';
unitList += "," unitList += ','
unitNameList += ","; unitNameList += ',';
} }
idList += item.id; idList += item.id;
nameList += item.name; nameList += item.name;
unitList += item.topUnit unitList += item.topUnit
unitNameList += item.topUnitId unitNameList += item.topUnitId
}); });
let unNameList = [] const unNameList = []
let unIdList = [] const unIdList = []
unList.forEach(item => { unList.forEach(item => {
if(unNameList.length) { if(unNameList.length) {
unNameList.forEach(items => { unNameList.forEach(items => {
@@ -1037,11 +1175,24 @@ export default {
unIdList.push(item) unIdList.push(item)
} }
}) })
*/
let idList = '';
let nameList = '';
data.forEach(item => {
if (nameList.length > 0) {
nameList += ',';
idList += ',';
}
idList += item.id;
nameList += item.name;
});
const institutionIdList = this.unique(data.map(item => item.institutionId)).join(',')
const institutionNameList = this.unique(data.map(item => item.institutionCascade)).join(',')
if(this.roleType === '1') { if(this.roleType === '1') {
this.$set(this.qbfsForm, 'drafter', idList) this.$set(this.qbfsForm, 'drafter', idList)
this.$set(this.qbfsForm, 'drafterName', nameList) this.$set(this.qbfsForm, 'drafterName', nameList)
this.$set(this.qbfsForm, 'unit', unIdList.join(',')) this.$set(this.qbfsForm, 'unit', institutionIdList)
this.$set(this.qbfsForm, 'unitName', unNameList.join(',')) this.$set(this.qbfsForm, 'unitName', institutionNameList)
}else if(this.roleType === '2') { }else if(this.roleType === '2') {
this.$set(this.qbfsForm, 'resPerson', idList) this.$set(this.qbfsForm, 'resPerson', idList)
this.$set(this.qbfsForm, 'resPersonName', nameList) this.$set(this.qbfsForm, 'resPersonName', nameList)
@@ -1062,7 +1213,7 @@ export default {
if (valid) { if (valid) {
callback && callback() callback && callback()
} else{ } else{
this.$message.warning("请完善基础信息"); this.$message.warning('请完善基础信息');
} }
}) })
}, },
File diff suppressed because it is too large Load Diff
@@ -6,10 +6,10 @@
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div> <div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" v-if="approvalFlag" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div> <div v-if="approvalFlag" class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
<div class="headerTabsItem" v-else :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">人员信息</div> <div v-else class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">人员信息</div>
</div> </div>
<div class="content" v-show="active === '1'"> <div v-show="active === '1'" class="content">
<div style="flex: auto; overflow: auto"> <div style="flex: auto; overflow: auto">
<!-- <process-title v-if="showFlag">--> <!-- <process-title v-if="showFlag">-->
<process-title> <process-title>
@@ -22,23 +22,58 @@
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="调整类型" class="add-form-item form-item-disabled"> <el-form-item label="调整类型" class="add-form-item form-item-disabled">
<el-button :disabled="disabledXX" size="small" type="primary" style="margin: 10px;" @click="toggleComName('establish')">立项 <el-button
:disabled="disabledXX"
size="small"
type="primary"
style="margin: 10px;"
@click="toggleComName('establish')"
>
立项
</el-button> </el-button>
<el-button :disabled="disabledXX" size="small" type="primary" style="margin: 10px;" @click="toggleComName('merge')">合并 <el-button
:disabled="disabledXX"
size="small"
type="primary"
style="margin: 10px;"
@click="toggleComName('merge')"
>
合并
</el-button> </el-button>
<el-button :disabled="disabledXX" size="small" type="primary" style="margin: 10px;" @click="toggleComName('delay')">延期 <el-button
:disabled="disabledXX"
size="small"
type="primary"
style="margin: 10px;"
@click="toggleComName('delay')"
>
延期
</el-button> </el-button>
<el-button :disabled="disabledXX" size="small" type="primary" style="margin: 10px;" @click="toggleComName('cancel')">取消 <el-button
:disabled="disabledXX"
size="small"
type="primary"
style="margin: 10px;"
@click="toggleComName('cancel')"
>
取消
</el-button> </el-button>
<el-button :disabled="disabledXX" size="small" type="primary" style="margin: 10px;" @click="toggleComName('rename')">更名 <el-button
:disabled="disabledXX"
size="small"
type="primary"
style="margin: 10px;"
@click="toggleComName('rename')"
>
更名
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<component ref="childForm" v-if="isWrite" :message="qbfsForm" :is="comName"></component> <component :is="comName" v-if="isWrite" ref="childForm" :message="qbfsForm" />
<component ref="childForm" v-else :message="JSON.parse(JSON.stringify(qbfsForm))" :is="comName"></component> <component :is="comName" v-else ref="childForm" :message="JSON.parse(JSON.stringify(qbfsForm))" />
<ReceiptDescription v-model="commentText"></ReceiptDescription> <ReceiptDescription v-model="commentText" />
</div> </div>
<!--<div>--> <!--<div>-->
<!-- <el-collapse accordion>--> <!-- <el-collapse accordion>-->
@@ -57,7 +92,7 @@
<!--</div>--> <!--</div>-->
</div> </div>
<loading :loading="formLoading">数据加载中...</loading> <loading :loading="formLoading">数据加载中...</loading>
<div class="content" v-show="active === '2'"> <div v-show="active === '2'" class="content">
<div class="block" style="padding-top: 20px;"> <div class="block" style="padding-top: 20px;">
<el-timeline> <el-timeline>
<el-form <el-form
@@ -65,35 +100,50 @@
:roleMessage="roleForm" :roleMessage="roleForm"
:model="roleForm" :model="roleForm"
:rules="roleFormRules" :rules="roleFormRules"
class="label-input-form"> class="label-input-form"
>
<el-timeline-item timestamp="起草" placement="top" :color="roleForm.prcCreateUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="起草" placement="top" :color="roleForm.prcCreateUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="prcCreateUserName" style="margin-bottom: 0"> <el-form-item prop="prcCreateUserName" style="margin-bottom: 0">
<h4>标准立项申请人</h4> <h4>标准立项申请人</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input :disabled="disabledXX" v-model="roleForm.prcCreateUser" style="display: none;"></el-input> <el-input v-model="roleForm.prcCreateUser" :disabled="disabledXX" style="display: none;" />
<el-input :disabled="disabledXX" v-model="roleForm.prcCreateUserName" placeholder="标准立项申请人" <el-input
disabled></el-input> v-model="roleForm.prcCreateUserName"
:disabled="disabledXX"
placeholder="标准立项申请人"
disabled
/>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="审核" placement="top" <el-timeline-item
:color="roleForm.dockUser ? '#66b1ff' : ''"> timestamp="审核"
placement="top"
:color="roleForm.dockUser ? '#66b1ff' : ''"
>
<el-card> <el-card>
<el-form-item prop="dockUserName" style="margin-bottom: 0"> <el-form-item prop="dockUserName" style="margin-bottom: 0">
<h4>标准立项单位整车/系统总工</h4> <h4>标准立项单位整车/系统总工</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input :disabled="disabledXX" v-model="roleForm.dockUser" style="display: none;"></el-input> <el-input v-model="roleForm.dockUser" :disabled="disabledXX" style="display: none;" />
<el-input :disabled="disabledXX" v-model="roleForm.dockUserName" readonly placeholder="选择标准立项单位整车/系统总工" <el-input
@click.native="choiceZRR('dockUser', '选择标准立项单位整车/系统总工', roleForm.dockUser)"> v-model="roleForm.dockUserName"
</el-input> :disabled="disabledXX"
readonly
placeholder="选择标准立项单位整车/系统总工"
@click.native="choiceZRR('dockUser', '选择标准立项单位整车/系统总工', roleForm.dockUser)"
/>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="会签" placement="top" <el-timeline-item
:color="roleForm.countersigner ? '#66b1ff' : ''"> timestamp="会签"
placement="top"
:color="roleForm.countersigner ? '#66b1ff' : ''"
>
<el-card> <el-card>
<el-form-item prop="countersignerName" style="margin-bottom: 0"> <el-form-item prop="countersignerName" style="margin-bottom: 0">
<h4>创新技术委员会成员/标准体系工作组成员(必选)</h4> <h4>创新技术委员会成员/标准体系工作组成员(必选)</h4>
@@ -103,38 +153,56 @@
<h4>采购部相关人员(可选)</h4> <h4>采购部相关人员(可选)</h4>
<h4>海外相关人员(可选)</h4> <h4>海外相关人员(可选)</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input :disabled="disabledXX" v-model="roleForm.countersigner" style="display: none;"></el-input> <el-input v-model="roleForm.countersigner" :disabled="disabledXX" style="display: none;" />
<el-input :disabled="disabledXX" v-model="roleForm.countersignerName" readonly placeholder="选择会签人员" <el-input
@click.native="choiceZRRS"> v-model="roleForm.countersignerName"
</el-input> :disabled="disabledXX"
readonly
placeholder="选择会签人员"
@click.native="choiceZRRS"
/>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="审定" placement="top" <el-timeline-item
:color="roleForm.examine ? '#66b1ff' : ''"> timestamp="审定"
placement="top"
:color="roleForm.examine ? '#66b1ff' : ''"
>
<el-card> <el-card>
<el-form-item prop="examineName" style="margin-bottom: 0"> <el-form-item prop="examineName" style="margin-bottom: 0">
<h4>标准体系工作组组长</h4> <h4>标准体系工作组组长</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input :disabled="disabledXX" v-model="roleForm.examine" style="display: none;"></el-input> <el-input v-model="roleForm.examine" :disabled="disabledXX" style="display: none;" />
<el-input :disabled="disabledXX" v-model="roleForm.examineName" readonly placeholder="选择标准体系工作组组长" <el-input
@click.native="choiceZRR('examine', '选择标准体系工作组组长', roleForm.examine)"> v-model="roleForm.examineName"
</el-input> :disabled="disabledXX"
readonly
placeholder="选择标准体系工作组组长"
@click.native="choiceZRR('examine', '选择标准体系工作组组长', roleForm.examine)"
/>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="批准" placement="top" <el-timeline-item
:color="roleForm.approver ? '#66b1ff' : ''"> timestamp="批准"
placement="top"
:color="roleForm.approver ? '#66b1ff' : ''"
>
<el-card> <el-card>
<el-form-item prop="approverName" style="margin-bottom: 0"> <el-form-item prop="approverName" style="margin-bottom: 0">
<h4>标准法规部高级经理</h4> <h4>标准法规部高级经理</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input :disabled="disabledXX" v-model="roleForm.approver" style="display: none;"></el-input> <el-input v-model="roleForm.approver" :disabled="disabledXX" style="display: none;" />
<el-input :disabled="disabledXX" v-model="roleForm.approverName" readonly placeholder="选择标准法规部高级经理" <el-input
@click.native="choiceZRR('approver', '选择标准法规部高级经理', roleForm.approver)"> v-model="roleForm.approverName"
</el-input> :disabled="disabledXX"
readonly
placeholder="选择标准法规部高级经理"
@click.native="choiceZRR('approver', '选择标准法规部高级经理', roleForm.approver)"
/>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
@@ -157,11 +225,11 @@
</el-timeline> </el-timeline>
</div> </div>
</div> </div>
<div class="content" v-show="active === '3'"> <div v-show="active === '3'" class="content">
<div class="flow-list" style="height: 100%"> <div class="flow-list" style="height: 100%">
<el-table <el-table
height="100%"
ref="selection" ref="selection"
height="100%"
:data="detailData" :data="detailData"
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%" style="width: 100%"
@@ -172,30 +240,29 @@
<el-table-column <el-table-column
type="selection" type="selection"
width="55" width="55"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
type="index" type="index"
width="55" width="55"
label="序号" label="序号"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
prop="name" prop="name"
label="任务步骤" label="任务步骤"
align="center" align="center"
> />
</el-table-column>
<el-table-column <el-table-column
prop="assignee" prop="assignee"
label="任务受理人" label="任务受理人"
align="center" align="center"
> />
</el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间" label="创建时间"
align="center"> align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template> </template>
@@ -203,7 +270,8 @@
<el-table-column <el-table-column
prop="endTime" prop="endTime"
label="完成时间" label="完成时间"
align="center"> align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span> <span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template> </template>
@@ -211,7 +279,8 @@
<el-table-column <el-table-column
prop="comment" prop="comment"
label="流程信息" label="流程信息"
align="center"> align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.commentText }}</span> <span>{{ scope.row.commentText }}</span>
</template> </template>
@@ -219,7 +288,8 @@
<el-table-column <el-table-column
prop="completeFlag" prop="completeFlag"
label="状态" label="状态"
align="center"> align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : scope.row.receiveStatus ? '已接收' : '未完成' }}</span> <span>{{ scope.row.endTime ? '已完成' : scope.row.receiveStatus ? '已接收' : '未完成' }}</span>
</template> </template>
@@ -229,48 +299,50 @@
</div> </div>
</div> </div>
<ProcessFooter v-show="!disabledXX" <ProcessFooter
v-show="!disabledXX"
show-save show-save
show-submit show-submit
:submitLoading="isSubmit" :submitLoading="isSubmit"
:saveLoading="saveLoading" :saveLoading="saveLoading"
@save="handleSave" @save="handleSave"
@submit="handleSubmit" @submit="handleSubmit"
> />
</ProcessFooter>
<!-- 多选择责任人--> <!-- 多选择责任人-->
<Role-tree v-if="!disabledXX" <Role-tree
v-if="!disabledXX"
is-title="选择责任部门对接人" is-title="选择责任部门对接人"
:is-visible.sync="modalshowflag2" :is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2" :nodeList="nodeList2"
></Role-tree> @checkedRole="checkedRole2"
/>
<!-- 单选人--> <!-- 单选人-->
<Role-tree v-if="!disabledXX" <Role-tree
v-if="!disabledXX"
check-box check-box
:is-title="drawerTitle" :is-title="drawerTitle"
:is-visible.sync="modalshowflag" :is-visible.sync="modalshowflag"
@checkedRole="checkedRole"
:nodeList="nodeList" :nodeList="nodeList"
></Role-tree> @checkedRole="checkedRole"
/>
</div> </div>
</template> </template>
<script> <script>
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from '../../components/ProcessHeader';
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from '../../components/ProcessFooter';
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from '../../components/ProcessTitle';
import merge from "process/creatProcess/qbzxdjhgk/component/merge"; import merge from 'process/creatProcess/qbzxdjhgk/component/merge';
import rename from "process/creatProcess/qbzxdjhgk/component/rename"; import rename from 'process/creatProcess/qbzxdjhgk/component/rename';
import establish from "process/creatProcess/qbzxdjhgk/component/establish"; import establish from 'process/creatProcess/qbzxdjhgk/component/establish';
import delay from "process/creatProcess/qbzxdjhgk/component/delay"; import delay from 'process/creatProcess/qbzxdjhgk/component/delay';
import cancel from "process/creatProcess/qbzxdjhgk/component/cancel"; import cancel from 'process/creatProcess/qbzxdjhgk/component/cancel';
import ReceiptDescription from '@/components/hzwlComponents/ReceiptDescription' import ReceiptDescription from '@/components/hzwlComponents/ReceiptDescription'
import axios from "axios"; import axios from 'axios';
import { saveTaskFirst, queryTaskFirst, inboundLiaisonDetail, taskDel, saveTaskForPub } from "api/process"; import { saveTaskFirst, queryTaskFirst, inboundLiaisonDetail, taskDel, saveTaskForPub } from 'api/process';
export default { export default {
name: "qbzxdjhgkStep1", name: 'QbzxdjhgkStep1',
components: { components: {
ProcessHeader, ProcessHeader,
ProcessFooter, ProcessFooter,
@@ -289,9 +361,9 @@ export default {
submitFlag: '', submitFlag: '',
toggleType: '5', toggleType: '5',
comFlag: 1, comFlag: 1,
active: "1", active: '1',
commentText: "", commentText: '',
comName: "establish", comName: 'establish',
isTrue: true, isTrue: true,
qbfsForm: {}, qbfsForm: {},
componentKey: 1, componentKey: 1,
@@ -300,7 +372,7 @@ export default {
showFlag: true, showFlag: true,
taskIds: '', taskIds: '',
bpnId: '', bpnId: '',
drawerTitle: "", drawerTitle: '',
nodeList: [], nodeList: [],
nodeList2: [], nodeList2: [],
detailData: [], detailData: [],
@@ -312,33 +384,33 @@ export default {
roleForm: { roleForm: {
prcCreateUserName: this.$store.getters.userInfo.userName, prcCreateUserName: this.$store.getters.userInfo.userName,
prcCreateUser: this.$store.getters.userInfo.userId, prcCreateUser: this.$store.getters.userInfo.userId,
dockUser: "", dockUser: '',
dockUserName: "", dockUserName: '',
countersigner: "", countersigner: '',
countersignerName: "", countersignerName: '',
approver: "", approver: '',
approverName: "", approverName: '',
engineer: "", engineer: '',
engineerName: "", engineerName: '',
examine: "", examine: '',
examineName: "" examineName: ''
}, },
// 必填人员校验规则 // 必填人员校验规则
roleFormRules: { roleFormRules: {
dockUserName: [ dockUserName: [
{ required: true, message: "请选择标准立项单位整车/系统总工", trigger: "change" } { required: true, message: '请选择标准立项单位整车/系统总工', trigger: 'change' }
], ],
countersignerName: [ countersignerName: [
{required: true, message:'请选择会签人员', trigger: "change" } { required: true, message: '请选择会签人员', trigger: 'change' }
], ],
examineName: [ examineName: [
{required: true, message:'请选择标准体系工作组组长', trigger: "change" } { required: true, message: '请选择标准体系工作组组长', trigger: 'change' }
], ],
approverName: [ approverName: [
{required: true, message:'请选择总院技术委员会覆盖领域企业标准:专委会主任/总院技术委员会未覆盖领域企业标准:总院院长或总院主管副院长', trigger: "change" } { required: true, message: '请选择总院技术委员会覆盖领域企业标准:专委会主任/总院技术委员会未覆盖领域企业标准:总院院长或总院主管副院长', trigger: 'change' }
], ],
engineerName: [ engineerName: [
{required: true, message:'请选择相关单位、工程研究总院标准法规部', trigger: "change" } { required: true, message: '请选择相关单位、工程研究总院标准法规部', trigger: 'change' }
], ],
} }
}; };
@@ -358,12 +430,12 @@ export default {
}, },
methods: { methods: {
processTable () { processTable () {
this.$http.get("lawss/activiti/get_list_by_instance", { this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum, prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "", sortWord: this.shunxu ? this.paixu : '',
shunxu: this.shunxu shunxu: this.shunxu
}, { }, {
loading: "loading", loading: 'loading',
_this: this _this: this
}, res => { }, res => {
this.detailData = res this.detailData = res
@@ -376,7 +448,7 @@ export default {
queryTaskFirst({ queryTaskFirst({
bpnId: this.$route.query.bpnId bpnId: this.$route.query.bpnId
}).then(res => { }).then(res => {
let mes = JSON.parse(res.mes) const mes = JSON.parse(res.mes)
this.getFormFieldList(mes); this.getFormFieldList(mes);
}); });
}, },
@@ -398,7 +470,7 @@ export default {
}) })
}, },
deepClone (orig) { deepClone (orig) {
var copy = Object.create(Object.getPrototypeOf(orig)) const copy = Object.create(Object.getPrototypeOf(orig))
this.copyOwnPropertiesFrom(copy, orig); this.copyOwnPropertiesFrom(copy, orig);
return copy; return copy;
}, },
@@ -406,7 +478,7 @@ export default {
Object.getOwnPropertyNames(source) Object.getOwnPropertyNames(source)
.forEach(ele => { .forEach(ele => {
// 获取到每个属性的所有描述,然后重新定义对象的属性并返回此对象。 // 获取到每个属性的所有描述,然后重新定义对象的属性并返回此对象。
var desc = Object.getOwnPropertyDescriptor(source,ele); const desc = Object.getOwnPropertyDescriptor(source, ele);
Object.defineProperty(target, ele, desc) Object.defineProperty(target, ele, desc)
}); });
return target; return target;
@@ -423,19 +495,19 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
switch (this.toggleType) { switch (this.toggleType) {
case '1': case '1':
this.comName = "merge" this.comName = 'merge'
break break
case '2': case '2':
this.comName = "delay" this.comName = 'delay'
break break
case '3': case '3':
this.comName = "cancel" this.comName = 'cancel'
break break
case '4': case '4':
this.comName = "rename" this.comName = 'rename'
break break
case '5': case '5':
this.comName = "establish" this.comName = 'establish'
break break
} }
this.qbfsForm = item.qbfsForm || item this.qbfsForm = item.qbfsForm || item
@@ -508,13 +580,13 @@ export default {
// 被驳回后的保存 // 被驳回后的保存
this.saveLoading = true; this.saveLoading = true;
this.isSubmit = true this.isSubmit = true
let qbzxdFrom = this.$refs["childForm"].qbfsForm; const qbzxdFrom = this.$refs['childForm'].qbfsForm;
qbzxdFrom.type = this.toggleType qbzxdFrom.type = this.toggleType
qbzxdFrom.commentText = this.commentText qbzxdFrom.commentText = this.commentText
this.saveLoading = true this.saveLoading = true
let _formData = new FormData() const _formData = new FormData()
_formData.append("id", this.bpnId || ""); _formData.append('id', this.bpnId || '');
_formData.append("taskIds", this.taskIds); _formData.append('taskIds', this.taskIds);
_formData.append('prcType', '25') _formData.append('prcType', '25')
_formData.append('json', JSON.stringify({ _formData.append('json', JSON.stringify({
roleForm: this.roleForm, roleForm: this.roleForm,
@@ -523,7 +595,7 @@ export default {
})) }))
saveTaskForPub(_formData).then(res => { saveTaskForPub(_formData).then(res => {
this.saveLoading = false; this.saveLoading = false;
this.$message.success("保存成功"); this.$message.success('保存成功');
this.bpnId = res.result; this.bpnId = res.result;
}).catch(e => { }).catch(e => {
this.saveLoading = false; this.saveLoading = false;
@@ -533,12 +605,12 @@ export default {
}); });
}else{ }else{
// 第一次正常保存 // 第一次正常保存
let qbzxdFrom = this.$refs["childForm"].qbfsForm; const qbzxdFrom = this.$refs['childForm'].qbfsForm;
qbzxdFrom.type = this.toggleType qbzxdFrom.type = this.toggleType
this.saveLoading = true this.saveLoading = true
this.isSubmit = true this.isSubmit = true
let _formData = new FormData() const _formData = new FormData()
_formData.append("id", this.bpnId || ""); _formData.append('id', this.bpnId || '');
_formData.append('createUser', this.$store.getters.userInfo.userId) _formData.append('createUser', this.$store.getters.userInfo.userId)
_formData.append('createUserName', this.$store.getters.userInfo.userName) _formData.append('createUserName', this.$store.getters.userInfo.userName)
_formData.append('prcType', '25') _formData.append('prcType', '25')
@@ -560,8 +632,8 @@ export default {
} }
}, },
addLog (qbzxdFrom) { addLog (qbzxdFrom) {
let json = Object.assign(qbzxdFrom); const json = Object.assign(qbzxdFrom);
this.$http.post("esRevisePlanLog/log/addLog", { this.$http.post('esRevisePlanLog/log/addLog', {
json: JSON.stringify(json) json: JSON.stringify(json)
}, { }, {
_this: this _this: this
@@ -570,23 +642,23 @@ export default {
}, },
// 流程提交 // 流程提交
handleSubmit () { handleSubmit () {
if(!this.$refs["childForm"].qbfsForm.type){ if(!this.$refs['childForm'].qbfsForm.type) {
this.$refs["childForm"].qbfsForm.type = this.toggleType this.$refs['childForm'].qbfsForm.type = this.toggleType
} }
if(this.comFlag === 0) { if(this.comFlag === 0) {
this.$message.warning('企标名称已存在,请更改!') this.$message.warning('企标名称已存在,请更改!')
}else { }else {
if (this.$route.query.prcNum === undefined) { if (this.$route.query.prcNum === undefined) {
this.$refs["childForm"].validateForm(()=>{ this.$refs['childForm'].validateForm(() => {
let qbzxdFrom = this.$refs["childForm"].qbfsForm; const qbzxdFrom = this.$refs['childForm'].qbfsForm;
this.$refs["roleForm"].validate((valid) => { this.$refs['roleForm'].validate((valid) => {
if (valid) { if (valid) {
this.isSubmit = true; this.isSubmit = true;
this.saveLoading = true; this.saveLoading = true;
qbzxdFrom.commentText = this.commentText; qbzxdFrom.commentText = this.commentText;
qbzxdFrom.addFlag = '0' qbzxdFrom.addFlag = '0'
let json = Object.assign(qbzxdFrom, this.roleForm); const json = Object.assign(qbzxdFrom, this.roleForm);
this.$http.post("lawss/activiti/startProcessRollBack", { this.$http.post('lawss/activiti/startProcessRollBack', {
createUser: this.$store.getters.userInfo.userId, createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName, createUserName: this.$store.getters.userInfo.userName,
type: '25', type: '25',
@@ -599,7 +671,7 @@ export default {
_this: this _this: this
}, res => { }, res => {
if (res.ok) { if (res.ok) {
this.$http.post("lawss/activiti/completeTask", { this.$http.post('lawss/activiti/completeTask', {
taskIds: res.data, taskIds: res.data,
userId: this.$store.getters.userInfo.userId, userId: this.$store.getters.userInfo.userId,
json: JSON.stringify(json) json: JSON.stringify(json)
@@ -610,7 +682,7 @@ export default {
this.$message.success(res.message); this.$message.success(res.message);
// this.addLog(qbzxdFrom) // this.addLog(qbzxdFrom)
if (this.bpnId !== '' && this.bpnId !== undefined) { if (this.bpnId !== '' && this.bpnId !== undefined) {
let taskId = { const taskId = {
id: this.bpnId id: this.bpnId
} }
taskDel(taskId).then(res => { taskDel(taskId).then(res => {
@@ -618,7 +690,7 @@ export default {
}) })
} }
this.isSubmit = false; this.isSubmit = false;
this.$router.push({ path: "/processCenter?tabsName=ProcessCenter" }); this.$router.push({ path: '/processCenter?tabsName=ProcessCenter' });
} }
this.saveLoading = false; this.saveLoading = false;
this.isSubmit = false; this.isSubmit = false;
@@ -629,10 +701,9 @@ export default {
} }
}); });
} else { } else {
this.$message.warning("请完善人员信息"); this.$message.warning('请完善人员信息');
} }
}); });
}); });
// if (flag) { // if (flag) {
@@ -641,14 +712,14 @@ export default {
// this.$message.warning("请完善基础信息"); // this.$message.warning("请完善基础信息");
// } // }
} else { } else {
let flag = this.$refs["childForm"].validateForm(() => { const flag = this.$refs['childForm'].validateForm(() => {
let qbzxdFrom = this.$refs["childForm"].qbfsForm; const qbzxdFrom = this.$refs['childForm'].qbfsForm;
if(this.$route.query.taskInfo == '重新起草') { if(this.$route.query.taskInfo == '重新起草') {
this.isSubmit = true; this.isSubmit = true;
this.saveLoading = true; this.saveLoading = true;
qbzxdFrom.commentText = this.commentText; qbzxdFrom.commentText = this.commentText;
qbzxdFrom.addFlag = '0' qbzxdFrom.addFlag = '0'
let json = Object.assign(qbzxdFrom, this.roleForm); const json = Object.assign(qbzxdFrom, this.roleForm);
// this.$http.post("lawss/activiti/startProcessRollBack", { // this.$http.post("lawss/activiti/startProcessRollBack", {
// createUser: this.$store.getters.userInfo.userId, // createUser: this.$store.getters.userInfo.userId,
// createUserName: this.$store.getters.userInfo.userName, // createUserName: this.$store.getters.userInfo.userName,
@@ -662,7 +733,7 @@ export default {
// _this: this // _this: this
// }, res => { // }, res => {
// if (res.ok) { // if (res.ok) {
this.$http.post("lawss/activiti/completeTask", { this.$http.post('lawss/activiti/completeTask', {
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId, userId: this.$store.getters.userInfo.userId,
json: JSON.stringify(json) json: JSON.stringify(json)
@@ -673,7 +744,7 @@ export default {
this.$message.success(res.message); this.$message.success(res.message);
// this.addLog(qbzxdFrom) // this.addLog(qbzxdFrom)
if (this.bpnId !== '' && this.bpnId !== undefined) { if (this.bpnId !== '' && this.bpnId !== undefined) {
let taskId = { const taskId = {
id: this.bpnId id: this.bpnId
} }
taskDel(taskId).then(res => { taskDel(taskId).then(res => {
@@ -682,7 +753,7 @@ export default {
} }
this.isSubmit = false; this.isSubmit = false;
this.$router.push({ path: "/processCenter?tabsName=ProcessCenter" }); this.$router.push({ path: '/processCenter?tabsName=ProcessCenter' });
} }
this.saveLoading = false; this.saveLoading = false;
this.isSubmit = false; this.isSubmit = false;
@@ -690,14 +761,14 @@ export default {
// } // }
// }); // });
}else { }else {
this.$refs["roleForm"].validate((valid) => { this.$refs['roleForm'].validate((valid) => {
if (valid) { if (valid) {
this.isSubmit = true; this.isSubmit = true;
this.saveLoading = true; this.saveLoading = true;
qbzxdFrom.commentText = this.commentText; qbzxdFrom.commentText = this.commentText;
qbzxdFrom.addFlag = '0' qbzxdFrom.addFlag = '0'
var json = Object.assign(qbzxdFrom, this.roleForm); const json = Object.assign(qbzxdFrom, this.roleForm);
this.$http.post("lawss/activiti/completeTask", { this.$http.post('lawss/activiti/completeTask', {
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId, userId: this.$store.getters.userInfo.userId,
json: JSON.stringify(json) json: JSON.stringify(json)
@@ -708,13 +779,13 @@ export default {
this.$message.success(res.message); this.$message.success(res.message);
this.isSubmit = false; this.isSubmit = false;
// this.addLog(qbzxdFrom) // this.addLog(qbzxdFrom)
this.$router.push({ path: "/processCenter?tabsName=ProcessCenter" }); this.$router.push({ path: '/processCenter?tabsName=ProcessCenter' });
} }
this.saveLoading = false; this.saveLoading = false;
this.isSubmit = false; this.isSubmit = false;
}); });
} else { } else {
this.$message.warning("请完善人员信息"); this.$message.warning('请完善人员信息');
} }
}); });
} }
@@ -737,16 +808,16 @@ export default {
this.modalshowflag = true; this.modalshowflag = true;
}, },
checkedRole (data) { checkedRole (data) {
if (this.type === "dockUser") { if (this.type === 'dockUser') {
this.roleForm.dockUser = data[0].id; this.roleForm.dockUser = data[0].id;
this.roleForm.dockUserName = data[0].name; this.roleForm.dockUserName = data[0].name;
} else if (this.type === "examine") { } else if (this.type === 'examine') {
this.roleForm.examine = data[0].id; this.roleForm.examine = data[0].id;
this.roleForm.examineName = data[0].name; this.roleForm.examineName = data[0].name;
} else if (this.type === "approver") { } else if (this.type === 'approver') {
this.roleForm.approver = data[0].id; this.roleForm.approver = data[0].id;
this.roleForm.approverName = data[0].name; this.roleForm.approverName = data[0].name;
} else if (this.type === "engineer") { } else if (this.type === 'engineer') {
this.roleForm.engineer = data[0].id; this.roleForm.engineer = data[0].id;
this.roleForm.engineerName = data[0].name; this.roleForm.engineerName = data[0].name;
} }
@@ -755,17 +826,17 @@ export default {
choiceZRRS () { choiceZRRS () {
this.nodeList2 = []; this.nodeList2 = [];
if (this.roleForm.countersigner.length > 0) { if (this.roleForm.countersigner.length > 0) {
this.nodeList2 = this.roleForm.countersigner.split(","); this.nodeList2 = this.roleForm.countersigner.split(',');
} }
this.modalshowflag2 = true; this.modalshowflag2 = true;
}, },
checkedRole2 (data) { checkedRole2 (data) {
var idList = ""; let idList = '';
var nameList = ""; let nameList = '';
data.forEach(item => { data.forEach(item => {
if (nameList.length > 0) { if (nameList.length > 0) {
nameList += ","; nameList += ',';
idList += ","; idList += ',';
} }
idList += item.id; idList += item.id;
nameList += item.name; nameList += item.name;
@@ -7,25 +7,35 @@
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div> <div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
</div> </div>
<div class="content" v-show="active === '1'"> <div v-show="active === '1'" class="content">
<div style="flex: auto; overflow: auto;"> <div style="flex: auto; overflow: auto;">
<ProcessTitle> <ProcessTitle>
<template slot="title">基础信息</template> <template slot="title">基础信息</template>
</ProcessTitle> </ProcessTitle>
<el-form class="label-input-form prc-content-border" label-width="150px" ref="qblx_pageData" :model="qblx_pageData" :rules="qblxRule"> <el-form
ref="qblx_pageData"
class="label-input-form prc-content-border"
label-width="150px"
:model="qblx_pageData"
:rules="qblxRule"
>
<el-form-item label="流程名称" prop="processName" class="add-form-item form-item-disabled"> <el-form-item label="流程名称" prop="processName" class="add-form-item form-item-disabled">
<el-input :disabled="disabledXX" <el-input
v-model="qblx_pageData.processName"
:disabled="disabledXX"
style="width: 90%" style="width: 90%"
clearable clearable
v-model="qblx_pageData.processName" placeholder="请输入流程名称"
placeholder="请输入流程名称"/> />
</el-form-item> </el-form-item>
<el-form-item label="项目目标" class="add-form-item form-item-disabled"> <el-form-item label="项目目标" class="add-form-item form-item-disabled">
<el-input :disabled="disabledXX" <el-input
v-model="qblx_pageData.projectTarget"
:disabled="disabledXX"
style="width: 90%" style="width: 90%"
clearable clearable
v-model="qblx_pageData.projectTarget" placeholder="请输入项目目标"
placeholder="请输入项目目标"/> />
</el-form-item> </el-form-item>
<el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled"> <el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled">
<!-- <div>--> <!-- <div>-->
@@ -65,23 +75,31 @@
</div> </div>
<el-form ref="qblx_pageData2" :model="qblx_pageData" :rules="qblxRule2" class="qblx_page_form"> <el-form ref="qblx_pageData2" :model="qblx_pageData" :rules="qblxRule2" class="qblx_page_form">
<el-table <el-table
ref="entryTable"
:data="qblx_pageData.qblxData" :data="qblx_pageData.qblxData"
border border
ref="entryTable"
height="68%" height="68%"
style="width: 100%" style="width: 100%"
@selection-change="selectedDelete"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}"> fontWeight: 'bold', height: '20px'}"
@selection-change="selectedDelete"
>
<el-table-column type="selection" fixed="left" align="center" width="55" /> <el-table-column type="selection" fixed="left" align="center" width="55" />
<el-table-column <el-table-column
type="index" type="index"
fixed fixed
width="55" width="55"
label="序号" label="序号"
align="center"> align="center"
</el-table-column> />
<el-table-column prop="bussSort" label="企标类别" fixed="left" align="center" width="100" show-overflow-tooltip> <el-table-column
prop="bussSort"
label="企标类别"
fixed="left"
align="center"
width="100"
show-overflow-tooltip
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-tooltip effect="dark" :content="scope.row.bussSort" placement="top"> <el-tooltip effect="dark" :content="scope.row.bussSort" placement="top">
<el-form-item :prop="`qblxData.${scope.$index}.bussSort`" :rules="qblxRule2.bussSort"> <el-form-item :prop="`qblxData.${scope.$index}.bussSort`" :rules="qblxRule2.bussSort">
@@ -90,33 +108,88 @@
</el-tooltip> </el-tooltip>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="esName" label="企标名称" fixed="left" align="center" width="300" :show-overflow-tooltip="true"> <el-table-column
prop="esName"
label="企标名称"
fixed="left"
align="center"
width="300"
:show-overflow-tooltip="true"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item :prop="`qblxData.${scope.$index}.esName`" :rules="qblxRule2.esName"> <el-form-item :prop="`qblxData.${scope.$index}.esName`" :rules="qblxRule2.esName">
{{ scope.row.esName }} {{ scope.row.esName }}
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="reviseStatus" label="制修订类型" width="200" align="center" show-overflow-tooltip> <el-table-column
prop="reviseStatus"
label="制修订类型"
width="200"
align="center"
show-overflow-tooltip
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item :prop="`qblxData.${scope.$index}.reviseStatus`" :rules="qblxRule2.reviseStatus"> <el-form-item :prop="`qblxData.${scope.$index}.reviseStatus`" :rules="qblxRule2.reviseStatus">
{{ scope.row.reviseStatus }} {{ scope.row.reviseStatus }}
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="unitName" label="起草责任单位" width="200" align="center" show-overflow-tooltip></el-table-column> <el-table-column
<el-table-column prop="drafterName" label="起草人" width="180" align="center" show-overflow-tooltip> prop="unitName"
label="起草责任单位"
width="200"
align="center"
show-overflow-tooltip
/>
<el-table-column
prop="drafterName"
label="起草人"
width="180"
align="center"
show-overflow-tooltip
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item :prop="`qblxData.${scope.$index}.drafterName`" :rules="qblxRule2.drafterName"> <el-form-item :prop="`qblxData.${scope.$index}.drafterName`" :rules="qblxRule2.drafterName">
{{ scope.row.drafterName }} {{ scope.row.drafterName }}
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="resPersonName" label="评审责任人" width="150" align="center" :show-overflow-tooltip="true"></el-table-column> <el-table-column
<el-table-column prop="wgLeaderName" label="技术委员会评审负责人" width="150" align="center" show-overflow-tooltip></el-table-column> prop="resPersonName"
<el-table-column prop="draftTime" label="计划标准初稿完成时间" min-width="180" align="center" show-overflow-tooltip></el-table-column> label="评审责任人"
<el-table-column prop="releaseTime" label="计划标准发布时间" width="150" align="center" show-overflow-tooltip></el-table-column> width="150"
<el-table-column prop="endTime" label="立项完成时间" min-width="150" align="center" show-overflow-tooltip></el-table-column> align="center"
:show-overflow-tooltip="true"
/>
<el-table-column
prop="wgLeaderName"
label="技术委员会评审负责人"
width="150"
align="center"
show-overflow-tooltip
/>
<el-table-column
prop="draftTime"
label="计划标准初稿完成时间"
min-width="180"
align="center"
show-overflow-tooltip
/>
<el-table-column
prop="releaseTime"
label="计划标准发布时间"
width="150"
align="center"
show-overflow-tooltip
/>
<el-table-column
prop="endTime"
label="立项完成时间"
min-width="150"
align="center"
show-overflow-tooltip
/>
<el-table-column label="操作" align="center" width="80" fixed="right"> <el-table-column label="操作" align="center" width="80" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button :disabled="disabledXX" size="mini" type="primary" @click="editRow('edit','编辑信息',scope.row)">编辑</el-button> <el-button :disabled="disabledXX" size="mini" type="primary" @click="editRow('edit','编辑信息',scope.row)">编辑</el-button>
@@ -127,7 +200,7 @@
<ReceiptDescription <ReceiptDescription
v-model="commentText" v-model="commentText"
:disabled="disabledXX" :disabled="disabledXX"
></ReceiptDescription> />
</div> </div>
<!--<el-collapse accordion>--> <!--<el-collapse accordion>-->
<!-- <el-collapse-item title="回执说明">--> <!-- <el-collapse-item title="回执说明">-->
@@ -143,20 +216,21 @@
<!-- </el-collapse-item>--> <!-- </el-collapse-item>-->
<!--</el-collapse>--> <!--</el-collapse>-->
</div> </div>
<div class="content" v-show="active === '2'"> <div v-show="active === '2'" class="content">
<div class="block" style="padding-top: 20px;"> <div class="block" style="padding-top: 20px;">
<el-timeline> <el-timeline>
<el-form <el-form
ref="roleForm" ref="roleForm"
:model="roleForm" :model="roleForm"
class="label-input-form"> class="label-input-form"
>
<el-timeline-item timestamp="起草" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="起草" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="startUserName" style="margin-bottom: 0"> <el-form-item prop="startUserName" style="margin-bottom: 0">
<h4>标准法规工程师</h4> <h4>标准法规工程师</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input :disabled="disabledXX" v-model="roleForm.startUser" disabled style="display: none;"></el-input> <el-input v-model="roleForm.startUser" :disabled="disabledXX" disabled style="display: none;" />
<el-input :disabled="disabledXX" v-model="roleForm.startUserName" disabled placeholder="标准法规工程师"></el-input> <el-input v-model="roleForm.startUserName" :disabled="disabledXX" disabled placeholder="标准法规工程师" />
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
@@ -166,10 +240,14 @@
<el-form-item prop="dockUserName" style="margin-bottom: 0"> <el-form-item prop="dockUserName" style="margin-bottom: 0">
<h4>责任工程师</h4> <h4>责任工程师</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input :disabled="disabledXX" v-model="roleForm.dockUser" style="display: none;"></el-input> <el-input v-model="roleForm.dockUser" :disabled="disabledXX" style="display: none;" />
<el-input :disabled="disabledXX" v-model="roleForm.dockUserName" readonly placeholder="责任工程师" <el-input
@click.native="choiceZRR('2', '选择标准立项单位整车/系统总工', roleForm.dockUser)"> v-model="roleForm.dockUserName"
</el-input> :disabled="disabledXX"
readonly
placeholder="责任工程师"
@click.native="choiceZRR('2', '选择标准立项单位整车/系统总工', roleForm.dockUser)"
/>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
@@ -180,57 +258,93 @@
</div> </div>
<!-- 新增/编辑弹框 --> <!-- 新增/编辑弹框 -->
<el-drawer v-if="!disabledXX" <el-drawer
v-if="!disabledXX"
:title="qblxTitle" :title="qblxTitle"
:visible.sync="qblxModel" :visible.sync="qblxModel"
size="600px" size="600px"
:wrapper-closable="false" :wrapper-closable="false"
custom-class="demo-drawer" custom-class="demo-drawer"
> >
<el-form :model="addQblxData" class="label-input-form prc-content-border" <el-form
label-width="150px" :rules="addRule" ref="addQblxData"> ref="addQblxData"
:model="addQblxData"
class="label-input-form prc-content-border"
label-width="150px"
:rules="addRule"
>
<el-form-item prop="bussSort" label="企标类别" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled"> <el-form-item prop="bussSort" label="企标类别" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select :disabled="disabledXX" v-model="addQblxData.bussSort" filterable placeholder="请选择企标类别" style="width: 100%;"> <el-select
v-model="addQblxData.bussSort"
:disabled="disabledXX"
filterable
placeholder="请选择企标类别"
style="width: 100%;"
>
<el-option <el-option
v-for="(item, index) in standSortOptions" v-for="(item, index) in standSortOptions"
:key="index" :key="index"
:value="item.value" :value="item.value"
:label="item.label"> :label="item.label"
</el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="esName" label="企标名称" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled"> <el-form-item prop="esName" label="企标名称" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input :disabled="disabledXX" <el-input
v-model.trim="addQblxData.esName" v-model.trim="addQblxData.esName"
:disabled="disabledXX"
placeholder="请输入企标名称" placeholder="请输入企标名称"
:maxlength="500"/> :maxlength="500"
/>
</el-form-item> </el-form-item>
<el-form-item prop="reviseStatus" label="制修订类型" style="width: 100%; margin-right:10px" <el-form-item
class="add-form-item form-item-disabled"> prop="reviseStatus"
<el-select :disabled="disabledXX" v-model="addQblxData.reviseStatus" placeholder="请选择制修订类型"> label="制修订类型"
<el-option label="制定" value="制定"></el-option> style="width: 100%; margin-right:10px"
<el-option label="修订" value="修订"></el-option> class="add-form-item form-item-disabled"
>
<el-select v-model="addQblxData.reviseStatus" :disabled="disabledXX" placeholder="请选择制修订类型">
<el-option label="制定" value="制定" />
<el-option label="修订" value="修订" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unitName" class="add-form-item form-item-disabled"> <el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unitName" class="add-form-item form-item-disabled">
<el-input :disabled="disabledXX" v-model="addQblxData.unit" style="display: none;"></el-input> <el-input v-model="addQblxData.unit" :disabled="disabledXX" style="display: none;" />
<el-input :disabled="disabledXX" v-model="addQblxData.unitName" placeholder="请选择起草责任单位" <el-input
@click.native="choiceZRBM('unit', '选择起草责任单位', addQblxData.unit)"> v-model="addQblxData.unitName"
</el-input> :disabled="disabledXX"
placeholder="请选择起草责任单位"
@click.native="choiceZRBM('unit', '选择起草责任单位', addQblxData.unit)"
/>
</el-form-item> </el-form-item>
<el-form-item prop="drafterName" label="起草人" style="width: 100%; margin-right:10px" <el-form-item
class="add-form-item form-item-disabled"> prop="drafterName"
<el-input :disabled="disabledXX" v-model="addQblxData.drafter" style="display: none;"></el-input> label="起草人"
<el-input :disabled="disabledXX" v-model="addQblxData.drafterName" placeholder="请选择起草人" readonly style="width: 100%; margin-right:10px"
@click.native="choiceZRRS('1')"> class="add-form-item form-item-disabled"
</el-input> >
<el-input v-model="addQblxData.drafter" :disabled="disabledXX" style="display: none;" />
<el-input
v-model="addQblxData.drafterName"
:disabled="disabledXX"
placeholder="请选择起草人"
readonly
@click.native="choiceZRRS('1')"
/>
</el-form-item> </el-form-item>
<el-form-item prop="resPersonName" label="评审责任人" style="width: 100%; margin-right:10px" <el-form-item
class="add-form-item form-item-disabled"> prop="resPersonName"
<el-input :disabled="disabledXX" v-model="addQblxData.resPerson" style="display: none;"></el-input> label="评审责任人"
<el-input :disabled="disabledXX" v-model="addQblxData.resPersonName" placeholder="请选择评审责任人" style="width: 100%; margin-right:10px"
@click.native="choiceZRRS('2')"> class="add-form-item form-item-disabled"
</el-input> >
<el-input v-model="addQblxData.resPerson" :disabled="disabledXX" style="display: none;" />
<el-input
v-model="addQblxData.resPersonName"
:disabled="disabledXX"
placeholder="请选择评审责任人"
@click.native="choiceZRRS('2')"
/>
</el-form-item> </el-form-item>
<el-form-item prop="wgLeaderName" label="技术委员会评审负责人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled"> <el-form-item prop="wgLeaderName" label="技术委员会评审负责人" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<template v-slot:label> <template v-slot:label>
@@ -238,33 +352,40 @@
<span>技术委员会评审负责人</span> <span>技术委员会评审负责人</span>
</el-tooltip> </el-tooltip>
</template> </template>
<el-input :disabled="disabledXX" v-model="addQblxData.wgLeader" style="display: none;"></el-input> <el-input v-model="addQblxData.wgLeader" :disabled="disabledXX" style="display: none;" />
<el-input :disabled="disabledXX" v-model="addQblxData.wgLeaderName" placeholder="请选择技术委员会评审负责人" <el-input
@click.native="workGroupUnfold('workLeader', '选择技术委员会评审负责人', addQblxData.wgLeader)"></el-input> v-model="addQblxData.wgLeaderName"
:disabled="disabledXX"
placeholder="请选择技术委员会评审负责人"
@click.native="workGroupUnfold('workLeader', '选择技术委员会评审负责人', addQblxData.wgLeader)"
/>
</el-form-item> </el-form-item>
<el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item form-item-disabled"> <el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker :disabled="disabledXX" <el-date-picker
v-model="addQblxData.draftTime" v-model="addQblxData.draftTime"
:disabled="disabledXX"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="date" type="date"
placeholder="请选择计划标准初稿完成时间"> placeholder="请选择计划标准初稿完成时间"
</el-date-picker> />
</el-form-item> </el-form-item>
<el-form-item label="计划标准发布时间" style="width: 100%; margin-right:10px" prop="releaseTime" class="add-form-item form-item-disabled"> <el-form-item label="计划标准发布时间" style="width: 100%; margin-right:10px" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker :disabled="disabledXX" <el-date-picker
v-model="addQblxData.releaseTime" v-model="addQblxData.releaseTime"
:disabled="disabledXX"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="date" type="date"
placeholder="请选择计划标准发布时间"> placeholder="请选择计划标准发布时间"
</el-date-picker> />
</el-form-item> </el-form-item>
<el-form-item label="立项完成时间" style="width: 100%; margin-right:10px" prop="endTime" class="add-form-item form-item-disabled"> <el-form-item label="立项完成时间" style="width: 100%; margin-right:10px" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker :disabled="disabledXX" <el-date-picker
v-model="addQblxData.endTime" v-model="addQblxData.endTime"
:disabled="disabledXX"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="date" type="date"
placeholder="请选择立项完成时间"> placeholder="请选择立项完成时间"
</el-date-picker> />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="demo-drawer-footer"> <div class="demo-drawer-footer">
@@ -273,13 +394,14 @@
</div> </div>
</el-drawer> </el-drawer>
<!-- 选择工作组抽屉--> <!-- 选择工作组抽屉-->
<el-drawer v-if="!disabledXX" <el-drawer
v-if="!disabledXX"
class="drawer-table" class="drawer-table"
title="选择工作组组长" title="选择工作组组长"
:visible.sync="workModel" :visible.sync="workModel"
size="600px" size="600px"
@close="closeWorkDrawer"
custom-class="demo-drawer" custom-class="demo-drawer"
@close="closeWorkDrawer"
> >
<div class="demo-drawer-content"> <div class="demo-drawer-content">
<div style="position: absolute;bottom: 48px;top:60px;left: 0;right: 0"> <div style="position: absolute;bottom: 48px;top:60px;left: 0;right: 0">
@@ -287,26 +409,32 @@
<div class="left"> <div class="left">
<el-form :modal="workSearch" :inline="true" class="label-input-form" style="margin-left:10px"> <el-form :modal="workSearch" :inline="true" class="label-input-form" style="margin-left:10px">
<el-form-item label="工作组" class="search-item"> <el-form-item label="工作组" class="search-item">
<el-input :disabled="disabledXX" <el-input
v-model="workSearch.workGroupName" v-model="workSearch.workGroupName"
:disabled="disabledXX"
clearable clearable
placeholder="根据工作组进行查找" placeholder="根据工作组进行查找"
/> />
</el-form-item> </el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button :disabled="disabledXX" <el-button
:disabled="disabledXX"
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="small" size="small"
@click="getWorkBtn"> @click="getWorkBtn"
>
查询 查询
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button :disabled="disabledXX" <el-button
:disabled="disabledXX"
class="common-button-default" class="common-button-default"
size="small" size="small"
@click="clearSearch">清空 @click="clearSearch"
>
清空
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
@@ -319,31 +447,32 @@
border border
style="width: 100%; flex: auto;" style="width: 100%; flex: auto;"
class="table-height" class="table-height"
@selection-change="workChange"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"> fontWeight: 'bold', height: '48px'}"
@selection-change="workChange"
>
> >
<el-table-column <el-table-column
type="selection" type="selection"
width="55" width="55"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
type="index" type="index"
width="55" width="55"
label="序号" label="序号"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
prop="workGroup" prop="workGroup"
label="工作组" label="工作组"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
prop="workLeader" prop="workLeader"
label="工作组组长" label="工作组组长"
align="center"> align="center"
</el-table-column> />
</el-table> </el-table>
</div> </div>
<pagination <pagination
@@ -360,16 +489,17 @@
<el-button :disabled="disabledXX" type="primary" size="mini" @click="OkWork">带入</el-button> <el-button :disabled="disabledXX" type="primary" size="mini" @click="OkWork">带入</el-button>
</div> </div>
</el-drawer> </el-drawer>
<ProcessFooter v-show="!disabledXX" <ProcessFooter
v-show="!disabledXX"
show-save show-save
show-submit show-submit
:submitLoading="isSubmit" :submitLoading="isSubmit"
:saveLoading="saveLoading" :saveLoading="saveLoading"
@save="handleSave" @save="handleSave"
@submit="handleSubmit" @submit="handleSubmit"
> />
</ProcessFooter> <Role-tree
<Role-tree v-if="!disabledXX" v-if="!disabledXX"
check-box check-box
is-title="选择责任人" is-title="选择责任人"
:is-visible.sync="modalshowflag3" :is-visible.sync="modalshowflag3"
@@ -377,28 +507,37 @@
@checkedRole="drawerCheck" @checkedRole="drawerCheck"
/> />
<!-- 多选择责任人--> <!-- 多选择责任人-->
<Role-tree v-if="!disabledXX" <Role-tree
v-if="!disabledXX"
:is-title="drawerTitle2" :is-title="drawerTitle2"
:is-visible.sync="modalshowflag2" :is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2" :nodeList="nodeList2"
></Role-tree> @checkedRole="checkedRole2"
<Role-tree v-if="!disabledXX" />
<Role-tree
v-if="!disabledXX"
check-box check-box
:is-title="drawerTitle" :is-title="drawerTitle"
:is-visible.sync="modalshowflag" :is-visible.sync="modalshowflag"
@checkedRole="checkedRole"
:nodeList="nodeList" :nodeList="nodeList"
></Role-tree> @checkedRole="checkedRole"
/>
<!-- 选择起草责任单位--> <!-- 选择起草责任单位-->
<Mechanism-tree v-if="!disabledXX" <Mechanism-tree
v-if="!disabledXX"
is-title="选择起草责任单位" is-title="选择起草责任单位"
:is-visible.sync="modalshowflagZRBM" :is-visible.sync="modalshowflagZRBM"
:nodeList="nodeListZRBM" :nodeList="nodeListZRBM"
@checkedRole="drawerCheckZRBM" @checkedRole="drawerCheckZRBM"
/> />
<!-- 上传附件--> <!-- 上传附件-->
<el-dialog :visible.sync="uploadDialog" width="400px" title="导入附件" v-dragDialogWidth :close-on-click-modal="false"> <el-dialog
v-dragDialogWidth
:visible.sync="uploadDialog"
width="400px"
title="导入附件"
:close-on-click-modal="false"
>
<el-upload <el-upload
:action="uploadFileListPath" :action="uploadFileListPath"
show-file-list show-file-list
@@ -410,13 +549,21 @@
:before-upload="beforeUpload" :before-upload="beforeUpload"
drag drag
> >
<i class="el-icon-upload" style="color: #3399ff"></i> <i class="el-icon-upload" style="color: #3399ff" />
<p>点击或拖拽上传文件</p> <p>点击或拖拽上传文件</p>
</el-upload> </el-upload>
</el-dialog> </el-dialog>
<!--导入模态窗--> <!--导入模态窗-->
<el-dialog width="400px" :visible.sync="importModalshowflag" title="导入文件" :footer-hide="true" v-dragDialogWidth :close-on-click-modal="false"> <el-dialog
v-dragDialogWidth
width="400px"
:visible.sync="importModalshowflag"
title="导入文件"
:footer-hide="true"
:close-on-click-modal="false"
>
<el-upload <el-upload
ref="importFileAboutStand"
drag drag
:show-file-list="showUploadlist" :show-file-list="showUploadlist"
:on-success="importFileSuccess" :on-success="importFileSuccess"
@@ -425,9 +572,9 @@
:action="importExcelUrl" :action="importExcelUrl"
:file-list="defaultFileList" :file-list="defaultFileList"
name="file" name="file"
ref="importFileAboutStand"> >
<div style="padding: 20px 0"> <div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i> <i class="el-icon-upload" style="color: #3399ff" />
<p>点击或拖拽上传文件</p> <p>点击或拖拽上传文件</p>
</div> </div>
</el-upload> </el-upload>
@@ -438,19 +585,21 @@
is-title="请选择技术委员会评审负责人" is-title="请选择技术委员会评审负责人"
:is-visible.sync="workLeaderVisible" :is-visible.sync="workLeaderVisible"
:node-list="workLeaderNodeList" :node-list="workLeaderNodeList"
@checkedRole="workLeaderCheckedRole" /> @checkedRole="workLeaderCheckedRole"
/>
</div> </div>
</template> </template>
<script> <script>
import ProcessHeader from "../../components/ProcessHeader"; import ProcessHeader from '../../components/ProcessHeader';
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from '../../components/ProcessFooter';
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from '../../components/ProcessTitle';
import MechanismTree from "@/components/mechanismTree"; import MechanismTree from '@/components/mechanismTree';
import { queryTaskFirst, saveTaskFirst, taskDel, downloadStatus,processCreatePlan} from "@/api/process.js"; import { queryTaskFirst, saveTaskFirst, taskDel, downloadStatus, processCreatePlan } from '@/api/process.js';
import ReceiptDescription from '@/components/hzwlComponents/ReceiptDescription' import ReceiptDescription from '@/components/hzwlComponents/ReceiptDescription'
export default { export default {
name: 'QbzxdlxStep1',
components: { components: {
ReceiptDescription, ReceiptDescription,
ProcessHeader, ProcessHeader,
@@ -458,7 +607,6 @@ export default {
MechanismTree, MechanismTree,
ProcessTitle ProcessTitle
}, },
name: "qbzxdlxStep1",
data () { data () {
const standNameVerify = (rule, value, callback) => { const standNameVerify = (rule, value, callback) => {
if(value === '' || value === null) { if(value === '' || value === null) {
@@ -487,7 +635,7 @@ export default {
showUploadlist: true, // 导入过程中新增数据时,如果数据错误,不出现导入列表 showUploadlist: true, // 导入过程中新增数据时,如果数据错误,不出现导入列表
importExcelUrl: 'api/att/attFile/uploadNew', // 导入EXCEL文档 importExcelUrl: 'api/att/attFile/uploadNew', // 导入EXCEL文档
defaultFileList: [], // 默认显示 defaultFileList: [], // 默认显示
uploadFileListPath: "api/att/attFile/uploadNew", // 上传的地址 uploadFileListPath: 'api/att/attFile/uploadNew', // 上传的地址
fileInfoList: [], // 上传的附件 fileInfoList: [], // 上传的附件
fileIds: [], // 上传的附件 fileIds: [], // 上传的附件
fileListName: [], // 上传的附件名称 fileListName: [], // 上传的附件名称
@@ -500,7 +648,7 @@ export default {
modalshowflag3: false, modalshowflag3: false,
workModel: false, workModel: false,
workSearch: { workSearch: {
workGroupName: "", workGroupName: '',
}, },
total: 0, total: 0,
page: 1, page: 1,
@@ -517,16 +665,16 @@ export default {
}, },
qblxRule2: { qblxRule2: {
bussSort: [ bussSort: [
{required:true,message:"请输入企标类别"} { required: true, message: '请输入企标类别' }
], ],
esName: [ esName: [
{required:true,message:"请输入企标名称"} { required: true, message: '请输入企标名称' }
], ],
reviseStatus: [ reviseStatus: [
{required:true,message:"请输入制修订类型"} { required: true, message: '请输入制修订类型' }
], ],
drafterName: [ drafterName: [
{required:true,message:"请输入起草人"} { required: true, message: '请输入起草人' }
], ],
}, },
commentText: '', commentText: '',
@@ -572,13 +720,13 @@ export default {
// { required: true, message: "请选择起草单位", trigger: "change" } // { required: true, message: "请选择起草单位", trigger: "change" }
// ], // ],
bussSort: [ bussSort: [
{ required: true, message: "请选择企标类别", trigger: "blur" } { required: true, message: '请选择企标类别', trigger: 'blur' }
], ],
esName: [ esName: [
{ required: true, validator: standNameVerify, trigger: "blur" } { required: true, validator: standNameVerify, trigger: 'blur' }
], ],
reviseStatus: [ reviseStatus: [
{ required: true, message: "请选择制修订类型", trigger: "blur" } { required: true, message: '请选择制修订类型', trigger: 'blur' }
], ],
// resPersonName: [ // resPersonName: [
// { required: true, message: "请输入评审责任人", trigger: "blur" } // { required: true, message: "请输入评审责任人", trigger: "blur" }
@@ -649,7 +797,7 @@ export default {
}, },
// 导入标准数据成功后执行 // 导入标准数据成功后执行
importFileSuccess (res, file, fileList) { importFileSuccess (res, file, fileList) {
let files = {} const files = {}
if (res.ok) { if (res.ok) {
files.attId = res.data.attId files.attId = res.data.attId
files.fileName = res.data.name files.fileName = res.data.name
@@ -678,16 +826,16 @@ export default {
} }
}else{ }else{
const arr = res.data.split(';') const arr = res.data.split(';')
let newDatas = [],h = this.$createElement; const newDatas = [], h = this.$createElement;
for (const i in arr) { for (const i in arr) {
newDatas.push(h('p', null, arr[i])) newDatas.push(h('p', null, arr[i]))
} }
this.$confirm(h('div', null, newDatas), "提示", { this.$confirm(h('div', null, newDatas), '提示', {
confirmButtonText: "确认", confirmButtonText: '确认',
confirmButtonClass: "common-button-primary", confirmButtonClass: 'common-button-primary',
dangerouslyUseHTMLString: true, dangerouslyUseHTMLString: true,
cancelButtonText: "取消", cancelButtonText: '取消',
type: "warning" type: 'warning'
}).then(() => { }).then(() => {
}).catch(() => { }).catch(() => {
}); });
@@ -750,7 +898,7 @@ export default {
} }
}, },
getWorkData () { getWorkData () {
this.$http.get("workGroup/work-group", { this.$http.get('workGroup/work-group', {
pageSize: this.pageSize, pageSize: this.pageSize,
page: this.page, page: this.page,
workGroupName: this.workSearch.workGroupName workGroupName: this.workSearch.workGroupName
@@ -799,14 +947,14 @@ export default {
this.drawerTitle = '请选择起草人' this.drawerTitle = '请选择起草人'
this.nodeList2 = []; this.nodeList2 = [];
if (this.addQblxData.drafter !== undefined) { if (this.addQblxData.drafter !== undefined) {
this.nodeList2 = this.addQblxData.drafter.split(","); this.nodeList2 = this.addQblxData.drafter.split(',');
} }
this.modalshowflag = true; this.modalshowflag = true;
}else if(type === '2') { }else if(type === '2') {
this.drawerTitle2 = '请选择评审责任人' this.drawerTitle2 = '请选择评审责任人'
this.nodeList2 = []; this.nodeList2 = [];
if (this.addQblxData.resPerson !== undefined) { if (this.addQblxData.resPerson !== undefined) {
this.nodeList2 = this.addQblxData.resPerson.split(","); this.nodeList2 = this.addQblxData.resPerson.split(',');
} }
this.modalshowflag2 = true; this.modalshowflag2 = true;
} }
@@ -815,6 +963,8 @@ export default {
if(this.roleType === '1') { if(this.roleType === '1') {
this.$set(this.addQblxData, 'drafter', data[0].id) this.$set(this.addQblxData, 'drafter', data[0].id)
this.$set(this.addQblxData, 'drafterName', data[0].name) this.$set(this.addQblxData, 'drafterName', data[0].name)
this.$set(this.addQblxData, 'unit', data[0].institutionId)
this.$set(this.addQblxData, 'unitName', data[0].institutionCascade)
}else { }else {
this.$set(this.addQblxData, 'wgLeader', data[0].id) this.$set(this.addQblxData, 'wgLeader', data[0].id)
this.$set(this.addQblxData, 'wgLeaderName', data[0].name) this.$set(this.addQblxData, 'wgLeaderName', data[0].name)
@@ -830,14 +980,14 @@ export default {
}, },
checkedRole2 (data) { checkedRole2 (data) {
console.log(data); console.log(data);
let idList = "", nameList = "" let idList = '', nameList = ''
let unitList = "", unitNameList = "" let unitList = '', unitNameList = ''
data.forEach(item => { data.forEach(item => {
if (nameList.length) { if (nameList.length) {
nameList += ","; nameList += ',';
idList += ","; idList += ',';
unitList += ","; unitList += ',';
unitNameList += ","; unitNameList += ',';
} }
idList += item.id; idList += item.id;
nameList += item.name; nameList += item.name;
@@ -873,7 +1023,7 @@ export default {
queryTaskFirst({ queryTaskFirst({
bpnId: this.$route.query.bpnId bpnId: this.$route.query.bpnId
}).then(res => { }).then(res => {
let mes = JSON.parse(res.mes) const mes = JSON.parse(res.mes)
this.qblx_pageData = mes.form ? mes.form : mes.qblx_pageData this.qblx_pageData = mes.form ? mes.form : mes.qblx_pageData
this.fileInfoList = mes.form ? mes.form.qblxFile : mes.qblx_pageData.qblxFile this.fileInfoList = mes.form ? mes.form.qblxFile : mes.qblx_pageData.qblxFile
this.commentText = mes.commentText this.commentText = mes.commentText
@@ -894,7 +1044,7 @@ export default {
console.log(res) console.log(res)
this.fileInfoList.push(res.data) this.fileInfoList.push(res.data)
console.log(this.fileInfoList) console.log(this.fileInfoList)
this.$message.success("上传成功"); this.$message.success('上传成功');
} else { } else {
this.$message.error(res.message); this.$message.error(res.message);
fileList.pop(); fileList.pop();
@@ -902,27 +1052,27 @@ export default {
}, },
// 相关附件 上传之前钩子 // 相关附件 上传之前钩子
beforeUpload (file) { beforeUpload (file) {
var filename = file.name; const filename = file.name;
// this.listForm.fileName = this.listForm.fileName + ',' + file.name // this.listForm.fileName = this.listForm.fileName + ',' + file.name
var index1 = filename.lastIndexOf("."); const index1 = filename.lastIndexOf('.');
var index2 = filename.length; const index2 = filename.length;
var fileSuffix = filename.substring(index1, index2); let fileSuffix = filename.substring(index1, index2);
// 把后缀转大写 // 把后缀转大写
if (fileSuffix !== undefined && fileSuffix !== null) { if (fileSuffix !== undefined && fileSuffix !== null) {
fileSuffix = fileSuffix.toUpperCase(); fileSuffix = fileSuffix.toUpperCase();
} }
// 判断上传文件格式 // 判断上传文件格式
if (fileSuffix === ".PDF" || fileSuffix === ".DOC" || fileSuffix === ".DOCX" || fileSuffix === ".PPT" if (fileSuffix === '.PDF' || fileSuffix === '.DOC' || fileSuffix === '.DOCX' || fileSuffix === '.PPT'
|| fileSuffix === ".PPTX" || fileSuffix === ".XLS" || fileSuffix === ".XLSX" || fileSuffix === '.PPTX' || fileSuffix === '.XLS' || fileSuffix === '.XLSX'
|| fileSuffix === ".PNG" || fileSuffix === ".JPG" || fileSuffix === ".JPEG") { || fileSuffix === '.PNG' || fileSuffix === '.JPG' || fileSuffix === '.JPEG') {
return true; return true;
} else { } else {
this.$message.error("文件" + file.name + "格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件"); this.$message.error('文件' + file.name + '格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件');
return false; return false;
} }
// 判断文件上传大小 // 判断文件上传大小
if (file.size / 1024 / 1024 > 300) { if (file.size / 1024 / 1024 > 300) {
this.$message.warning("文件" + file.name + "大小不能超过300M"); this.$message.warning('文件' + file.name + '大小不能超过300M');
return false; return false;
} }
return true; return true;
@@ -988,7 +1138,7 @@ export default {
// 抽屉取消按钮 // 抽屉取消按钮
closeDrawer () { closeDrawer () {
if (this.btnType === 'edit') { if (this.btnType === 'edit') {
let Items = JSON.parse(localStorage.getItem('obj')) const Items = JSON.parse(localStorage.getItem('obj'))
console.log(Items) console.log(Items)
this.addQblxData.esName = Items.esName this.addQblxData.esName = Items.esName
this.addQblxData.unit = Items.unit this.addQblxData.unit = Items.unit
@@ -1026,15 +1176,15 @@ export default {
/** 删除按钮*/ /** 删除按钮*/
delQblx () { delQblx () {
if (this.deleteDataList.length < 1) { if (this.deleteDataList.length < 1) {
this.$message.warning("请选择一条数据进行删除"); this.$message.warning('请选择一条数据进行删除');
} else { } else {
this.$confirm("您确认删除这些数据?", "提示", { this.$confirm('您确认删除这些数据?', '提示', {
confirmButtonText: "确认", confirmButtonText: '确认',
confirmButtonClass: "common-button-primary", confirmButtonClass: 'common-button-primary',
cancelButtonText: "取消", cancelButtonText: '取消',
type: "warning" type: 'warning'
}).then(() => { }).then(() => {
let exits = []; const exits = [];
this.deleteDataList.map(item => { this.deleteDataList.map(item => {
let index; let index;
index = this.qblx_pageData.qblxData.findIndex(items => { index = this.qblx_pageData.qblxData.findIndex(items => {
@@ -1056,11 +1206,10 @@ export default {
this.importModalshowflag = true this.importModalshowflag = true
}, },
/** 模板下载 */ /** 模板下载 */
downloadStatus () { downloadStatus () {
downloadStatus().then(res => { downloadStatus().then(res => {
let blob = new Blob([res], { type: 'application/vnd.ms-excel' }); //以xls文件为例 const blob = new Blob([ res ], { type: 'application/vnd.ms-excel' }); // 以xls文件为例
// 浏览器兼容,Google和火狐支持a标签的download,IE不支持 // 浏览器兼容,Google和火狐支持a标签的download,IE不支持
if (window.navigator && window.navigator.msSaveBlob) { if (window.navigator && window.navigator.msSaveBlob) {
// IE浏览器、微软浏览器 // IE浏览器、微软浏览器
@@ -1069,9 +1218,9 @@ export default {
window.navigator.msSaveBlob(blob, '企标制修订立项计划模板.xls'); window.navigator.msSaveBlob(blob, '企标制修订立项计划模板.xls');
} else { } else {
// 其他浏览器 // 其他浏览器
let link = document.createElement('a'); // 创建a标签 const link = document.createElement('a'); // 创建a标签
link.style.display = 'none'; link.style.display = 'none';
let objectUrl = URL.createObjectURL(blob); const objectUrl = URL.createObjectURL(blob);
link.href = objectUrl; link.href = objectUrl;
link.download = '企标制修订立项计划模板.xls'; link.download = '企标制修订立项计划模板.xls';
link.click(); link.click();
@@ -1083,18 +1232,18 @@ export default {
handleSave () { handleSave () {
this.isSubmit = true; this.isSubmit = true;
this.saveLoading = true; this.saveLoading = true;
let _formData = new FormData(); const _formData = new FormData();
this.qblx_pageData.qblxFile = this.fileInfoList this.qblx_pageData.qblxFile = this.fileInfoList
_formData.append("createUser", this.$store.getters.userInfo.userId); _formData.append('createUser', this.$store.getters.userInfo.userId);
_formData.append("createUserName", this.$store.getters.userInfo.userName); _formData.append('createUserName', this.$store.getters.userInfo.userName);
_formData.append("prcType", "26"); _formData.append('prcType', '26');
_formData.append("json", JSON.stringify({ _formData.append('json', JSON.stringify({
qblx_pageData: this.qblx_pageData, qblx_pageData: this.qblx_pageData,
commentText: this.commentText commentText: this.commentText
})); }));
saveTaskFirst(_formData).then(res => { saveTaskFirst(_formData).then(res => {
this.saveLoading = false; this.saveLoading = false;
this.$message.success("保存成功"); this.$message.success('保存成功');
this.bpnId = res.result; this.bpnId = res.result;
}).finally(() => { }).finally(() => {
this.saveLoading = false; this.saveLoading = false;
@@ -1103,7 +1252,7 @@ export default {
}, },
listSubmit (item) { listSubmit (item) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let newForm = Object.assign(this.roleForm, this.qblx_pageData,item); const newForm = Object.assign(this.roleForm, this.qblx_pageData, item);
newForm.startUserName = this.$store.getters.userInfo.userName newForm.startUserName = this.$store.getters.userInfo.userName
newForm.startUser = this.$store.getters.userInfo.userId newForm.startUser = this.$store.getters.userInfo.userId
newForm.dockUser = item.drafter newForm.dockUser = item.drafter
@@ -1120,7 +1269,7 @@ export default {
_this: this _this: this
}, res => { }, res => {
if(res.ok) { if(res.ok) {
this.$http.post("lawss/activiti/completeTask", { this.$http.post('lawss/activiti/completeTask', {
taskIds: res.data, taskIds: res.data,
userId: this.$store.getters.userInfo.userId, userId: this.$store.getters.userInfo.userId,
json: JSON.stringify(newForm) json: JSON.stringify(newForm)
@@ -1131,7 +1280,7 @@ export default {
resolve() resolve()
// this.$message.success(res.message); // this.$message.success(res.message);
if (this.bpnId !== undefined && this.bpnId !== '') { if (this.bpnId !== undefined && this.bpnId !== '') {
let taskId = { const taskId = {
id: this.bpnId id: this.bpnId
} }
taskDel(taskId).then(res => { taskDel(taskId).then(res => {
@@ -1148,14 +1297,14 @@ export default {
// 流程提交事件 // 流程提交事件
handleSubmit () { handleSubmit () {
if(this.qblx_pageData.qblxData.length) { if(this.qblx_pageData.qblxData.length) {
let jsonData = this.qblx_pageData.qblxData const jsonData = this.qblx_pageData.qblxData
this.qblx_pageData.qblxFile = this.fileInfoList this.qblx_pageData.qblxFile = this.fileInfoList
this.qblx_pageData.commentText = this.commentText; this.qblx_pageData.commentText = this.commentText;
this.$refs.qblx_pageData2.validate((valid) => { this.$refs.qblx_pageData2.validate((valid) => {
if(valid) { if(valid) {
this.$refs["qblx_pageData"].validate((valid) => { this.$refs['qblx_pageData'].validate((valid) => {
if (valid) { if (valid) {
this.$refs["roleForm"].validate(async (valid) => { this.$refs['roleForm'].validate(async (valid) => {
if (valid) { if (valid) {
this.isSubmit = true this.isSubmit = true
this.saveLoading = true; this.saveLoading = true;
@@ -1168,22 +1317,22 @@ export default {
}) })
} }
if (finishCount === jsonData.length) { if (finishCount === jsonData.length) {
this.$message.success("提交成功"); this.$message.success('提交成功');
this.isSubmit = false this.isSubmit = false
this.$router.push('/processCenter') this.$router.push('/processCenter')
} }
this.isSubmit = false this.isSubmit = false
this.saveLoading = false; this.saveLoading = false;
} else { } else {
return this.$message.warning("请完善人员信息"); return this.$message.warning('请完善人员信息');
} }
}); });
} else { } else {
return this.$message.warning("请完善基础信息"); return this.$message.warning('请完善基础信息');
} }
}); });
}else{ }else{
return this.$message.warning("请完善企标类别、企标名称、制修订类型、起草人"); return this.$message.warning('请完善企标类别、企标名称、制修订类型、起草人');
} }
}) })
}else{ }else{
File diff suppressed because it is too large Load Diff
@@ -2,7 +2,7 @@
<template> <template>
<div class="already-process v-class"> <div class="already-process v-class">
<div class="search-area"> <div class="search-area">
<el-form :inline="true" :model="searchForm" ref="processSearch" class="label-input-form"> <el-form ref="processSearch" :inline="true" :model="searchForm" class="label-input-form">
<div class="search-area-item"> <div class="search-area-item">
<el-form-item label="流程名称" class="search-item" @keyup.enter.native="selectProcessBtn"> <el-form-item label="流程名称" class="search-item" @keyup.enter.native="selectProcessBtn">
<el-input <el-input
@@ -10,7 +10,7 @@
placeholder="按流程名称查找" placeholder="按流程名称查找"
:maxlength="100" :maxlength="100"
clearable clearable
></el-input> />
</el-form-item> </el-form-item>
<el-form-item label="流程编号" class="search-item" @keyup.enter.native="selectProcessBtn"> <el-form-item label="流程编号" class="search-item" @keyup.enter.native="selectProcessBtn">
<el-input <el-input
@@ -18,7 +18,7 @@
placeholder="按流程编号查找" placeholder="按流程编号查找"
:maxlength="100" :maxlength="100"
clearable clearable
></el-input> />
</el-form-item> </el-form-item>
<el-form-item label="流程类型" class="search-item" @keyup.enter.native="selectProcessBtn"> <el-form-item label="流程类型" class="search-item" @keyup.enter.native="selectProcessBtn">
<el-select <el-select
@@ -29,53 +29,60 @@
> >
<el-option <el-option
v-for="item in processTypeList" v-for="item in processTypeList"
:value="item.value"
:key="item.value" :key="item.value"
:value="item.value"
:label="item.label" :label="item.label"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button <el-button
v-btn-permission="'2c8041eb6226368ee6e6b975b4aa88f1'"
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
v-btn-permission="'2c8041eb6226368ee6e6b975b4aa88f1'" @click="selectProcessBtn"
@click="selectProcessBtn">查询</el-button> >
查询
</el-button>
<el-button <el-button
v-btn-permission="'4c674bc8b1a21ca17592f1b034444c57'"
class="common-button-default" class="common-button-default"
size="mini" size="mini"
v-btn-permission="'4c674bc8b1a21ca17592f1b034444c57'" @click="resetSelect"
@click="resetSelect">清空</el-button> >
清空
</el-button>
</el-form-item> </el-form-item>
</div> </div>
<div class="search-area-item"> <div class="search-area-item" />
</div>
</el-form> </el-form>
</div> </div>
<div class="content"> <div class="content">
<div class="table-wrap"> <div class="table-wrap">
<el-table <el-table
height="100%"
ref="selection" ref="selection"
height="100%"
:data="processList" :data="processList"
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%; flex: auto;" style="width: 100%; flex: auto;"
border border
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange"> @selection-change="handleSelectionChange"
>
<el-table-column <el-table-column
type="selection" type="selection"
width="55" width="55"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
type="index" type="index"
fixed="left" fixed="left"
width="55" width="55"
label="序号" label="序号"
align="center"> align="center"
>
<template slot-scope="{scope, column, $index}"> <template slot-scope="{scope, column, $index}">
{{ ($index + 1) + (pageNo - 1) * pageSize }} {{ ($index + 1) + (pageNo - 1) * pageSize }}
</template> </template>
@@ -85,8 +92,7 @@
label="流程编号" label="流程编号"
align="center" align="center"
width="150" width="150"
> />
</el-table-column>
<el-table-column <el-table-column
prop="prcType" prop="prcType"
label="流程类型" label="流程类型"
@@ -112,8 +118,11 @@
prop="creatUserName" prop="creatUserName"
label="发起人" label="发起人"
align="center" align="center"
width="90" width="180"
> >
<template slot-scope="scope">
<span>{{ scope.row.creatUserName }}({{ scope.row.creatUser || '-' }})</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="creatTime" prop="creatTime"
@@ -137,11 +146,11 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('m.operation')" align="center" width="50"> <el-table-column :label="$t('m.operation')" align="center" width="50">
<template slot-scope="scope"> <template slot-scope="scope">
<div @click.stop style="display: inline-block"> <div style="display: inline-block" @click.stop>
<el-dropdown trigger="click" @command="handleCommand"> <el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i> <i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'4f71b81686079ba2b7e3739d3994e0af'">查看</el-dropdown-item> <el-dropdown-item v-btn-permission="'4f71b81686079ba2b7e3739d3994e0af'" :command="[scope.row, '查看']">查看</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
@@ -155,7 +164,8 @@
:page="pageNo" :page="pageNo"
:total="total" :total="total"
@pageChange="pageChange" @pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination> @pageSizeChange="pageSizeChange"
/>
<loading :loading="loading">数据获取中</loading> <loading :loading="loading">数据获取中</loading>
</div> </div>
</div> </div>
@@ -229,15 +239,14 @@ export default {
this.queryProcess() this.queryProcess()
}, },
dealWith (row) { // 查看 dealWith (row) { // 查看
let routeUrl =this.$router.resolve({ const routeUrl = this.$router.resolve({
name: 'ProcessDetail', name: 'ProcessDetail',
query: { query: {
prcNum: row.prcNum, prcNum: row.prcNum,
tabsName: 'AlreadyProcess' tabsName: 'AlreadyProcess'
} }
}) })
window.open(routeUrl.href, "_blank"); window.open(routeUrl.href, '_blank');
}, },
...mapMutations([ 'setProcess', 'setHandleInfo' ]), ...mapMutations([ 'setProcess', 'setHandleInfo' ]),
...mapActions([ 'setMenu' ]) ...mapActions([ 'setMenu' ])
@@ -2,7 +2,7 @@
<template> <template>
<div class="already-send v-class"> <div class="already-send v-class">
<div class="search-area"> <div class="search-area">
<el-form :inline="true" :model="searchForm" ref="processSearch" class="label-input-form"> <el-form ref="processSearch" :inline="true" :model="searchForm" class="label-input-form">
<div class="search-area-item"> <div class="search-area-item">
<el-form-item label="流程名称" class="search-item" @keyup.enter.native="selectProcessBtn"> <el-form-item label="流程名称" class="search-item" @keyup.enter.native="selectProcessBtn">
<el-input <el-input
@@ -10,7 +10,7 @@
placeholder="按流程名称查找" placeholder="按流程名称查找"
:maxlength="100" :maxlength="100"
clearable clearable
></el-input> />
</el-form-item> </el-form-item>
<el-form-item label="流程编号" class="search-item" @keyup.enter.native="selectProcessBtn"> <el-form-item label="流程编号" class="search-item" @keyup.enter.native="selectProcessBtn">
<el-input <el-input
@@ -18,7 +18,7 @@
placeholder="按流程编号查找" placeholder="按流程编号查找"
:maxlength="100" :maxlength="100"
clearable clearable
></el-input> />
</el-form-item> </el-form-item>
<el-form-item label="流程类型" class="search-item" @keyup.enter.native="selectProcessBtn"> <el-form-item label="流程类型" class="search-item" @keyup.enter.native="selectProcessBtn">
<el-select <el-select
@@ -29,53 +29,60 @@
> >
<el-option <el-option
v-for="item in processTypeList" v-for="item in processTypeList"
:value="item.value"
:key="item.value" :key="item.value"
:value="item.value"
:label="item.label" :label="item.label"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button <el-button
v-btn-permission="'253fb387b97868c10434cc8fa3d87294'"
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
v-btn-permission="'253fb387b97868c10434cc8fa3d87294'" @click="selectProcessBtn"
@click="selectProcessBtn">查询</el-button> >
查询
</el-button>
<el-button <el-button
v-btn-permission="'dc9c8efc60be6ba8b78b68bf949e2f6b'"
class="common-button-default" class="common-button-default"
size="mini" size="mini"
v-btn-permission="'dc9c8efc60be6ba8b78b68bf949e2f6b'" @click="resetSelect"
@click="resetSelect">清空</el-button> >
清空
</el-button>
</el-form-item> </el-form-item>
</div> </div>
<div class="search-area-item"> <div class="search-area-item" />
</div>
</el-form> </el-form>
</div> </div>
<div class="content"> <div class="content">
<div class="table-wrap"> <div class="table-wrap">
<el-table <el-table
height="100%"
ref="selection" ref="selection"
height="100%"
:data="processList" :data="processList"
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%; flex: auto;" style="width: 100%; flex: auto;"
border border
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange"> @selection-change="handleSelectionChange"
>
<el-table-column <el-table-column
type="selection" type="selection"
width="55" width="55"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
type="index" type="index"
fixed="left" fixed="left"
width="55" width="55"
label="序号" label="序号"
align="center"> align="center"
>
<template slot-scope="{scope, column, $index}"> <template slot-scope="{scope, column, $index}">
{{ ($index + 1) + (pageNo - 1) * pageSize }} {{ ($index + 1) + (pageNo - 1) * pageSize }}
</template> </template>
@@ -85,8 +92,7 @@
label="流程编号" label="流程编号"
align="center" align="center"
width="150" width="150"
> />
</el-table-column>
<el-table-column <el-table-column
prop="prcType" prop="prcType"
label="流程类型" label="流程类型"
@@ -112,8 +118,11 @@
prop="creatUserName" prop="creatUserName"
label="发起人" label="发起人"
align="center" align="center"
width="90" width="180"
> >
<template slot-scope="scope">
<span>{{ scope.row.creatUserName }}({{ scope.row.creatUser || '-' }})</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="creatTime" prop="creatTime"
@@ -137,11 +146,11 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('m.operation')" align="center" width="50"> <el-table-column :label="$t('m.operation')" align="center" width="50">
<template slot-scope="scope"> <template slot-scope="scope">
<div @click.stop style="display: inline-block"> <div style="display: inline-block" @click.stop>
<el-dropdown trigger="click" @command="handleCommand"> <el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i> <i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'b9abd00768c8ed97be89547c2da3f0eb'">查看</el-dropdown-item> <el-dropdown-item v-btn-permission="'b9abd00768c8ed97be89547c2da3f0eb'" :command="[scope.row, '查看']">查看</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '强制撤回']">撤回</el-dropdown-item> <el-dropdown-item :command="[scope.row, '强制撤回']">撤回</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
@@ -156,7 +165,8 @@
:page="pageNo" :page="pageNo"
:total="total" :total="total"
@pageChange="pageChange" @pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination> @pageSizeChange="pageSizeChange"
/>
<loading :loading="loading">数据获取中</loading> <loading :loading="loading">数据获取中</loading>
</div> </div>
</div> </div>
@@ -259,15 +269,14 @@ export default {
this.queryProcess() this.queryProcess()
}, },
dealWith (row) { // 查看 dealWith (row) { // 查看
let routeUrl =this.$router.resolve({ const routeUrl = this.$router.resolve({
name: 'ProcessDetail', name: 'ProcessDetail',
query: { query: {
prcNum: row.prcNum, prcNum: row.prcNum,
tabsName: 'AlreadySend' tabsName: 'AlreadySend'
} }
}) })
window.open(routeUrl.href, "_blank"); window.open(routeUrl.href, '_blank');
}, },
...mapMutations([ 'setProcess', 'setHandleInfo' ]), ...mapMutations([ 'setProcess', 'setHandleInfo' ]),
...mapActions([ 'setMenu' ]) ...mapActions([ 'setMenu' ])
@@ -2,7 +2,7 @@
<template> <template>
<div class="monitor-process v-class"> <div class="monitor-process v-class">
<div class="search-area"> <div class="search-area">
<el-form :inline="true" :model="searchForm" ref="processSearch" class="label-input-form"> <el-form ref="processSearch" :inline="true" :model="searchForm" class="label-input-form">
<div class="search-area-item"> <div class="search-area-item">
<el-form-item label="流程名称" class="search-item" @keyup.enter.native="selectProcessBtn"> <el-form-item label="流程名称" class="search-item" @keyup.enter.native="selectProcessBtn">
<el-input <el-input
@@ -10,7 +10,7 @@
placeholder="按流程名称查找" placeholder="按流程名称查找"
:maxlength="100" :maxlength="100"
clearable clearable
></el-input> />
</el-form-item> </el-form-item>
<el-form-item label="流程编号" class="search-item" @keyup.enter.native="selectProcessBtn"> <el-form-item label="流程编号" class="search-item" @keyup.enter.native="selectProcessBtn">
<el-input <el-input
@@ -18,7 +18,7 @@
placeholder="按流程编号查找" placeholder="按流程编号查找"
:maxlength="100" :maxlength="100"
clearable clearable
></el-input> />
</el-form-item> </el-form-item>
<el-form-item label="流程类型" class="search-item" @keyup.enter.native="selectProcessBtn"> <el-form-item label="流程类型" class="search-item" @keyup.enter.native="selectProcessBtn">
<el-select <el-select
@@ -29,53 +29,60 @@
> >
<el-option <el-option
v-for="item in processTypeList" v-for="item in processTypeList"
:value="item.value"
:key="item.value" :key="item.value"
:value="item.value"
:label="item.label" :label="item.label"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button <el-button
v-btn-permission="'68d17445a13ff3f635c39291070985c3'"
type="primary" type="primary"
class="common-button-primary" class="common-button-primary"
size="mini" size="mini"
v-btn-permission="'68d17445a13ff3f635c39291070985c3'" @click="selectProcessBtn"
@click="selectProcessBtn">查询</el-button> >
查询
</el-button>
<el-button <el-button
v-btn-permission="'2321e6eaaf6d89eb7c36a12aa5624396'"
class="common-button-default" class="common-button-default"
size="mini" size="mini"
v-btn-permission="'2321e6eaaf6d89eb7c36a12aa5624396'" @click="resetSelect"
@click="resetSelect">清空</el-button> >
清空
</el-button>
</el-form-item> </el-form-item>
</div> </div>
<div class="search-area-item"> <div class="search-area-item" />
</div>
</el-form> </el-form>
</div> </div>
<div class="content"> <div class="content">
<div class="table-wrap"> <div class="table-wrap">
<el-table <el-table
height="100%"
ref="selection" ref="selection"
height="100%"
:data="processList" :data="processList"
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%; flex: auto;" style="width: 100%; flex: auto;"
border border
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}" fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange"> @selection-change="handleSelectionChange"
>
<el-table-column <el-table-column
type="selection" type="selection"
width="55" width="55"
align="center"> align="center"
</el-table-column> />
<el-table-column <el-table-column
type="index" type="index"
fixed="left" fixed="left"
width="55" width="55"
label="序号" label="序号"
align="center"> align="center"
>
<template slot-scope="{scope, column, $index}"> <template slot-scope="{scope, column, $index}">
{{ ($index + 1) + (pageNo - 1) * pageSize }} {{ ($index + 1) + (pageNo - 1) * pageSize }}
</template> </template>
@@ -85,8 +92,7 @@
label="流程编号" label="流程编号"
align="center" align="center"
width="150" width="150"
> />
</el-table-column>
<el-table-column <el-table-column
prop="prcType" prop="prcType"
label="流程类型" label="流程类型"
@@ -112,8 +118,11 @@
prop="creatUserName" prop="creatUserName"
label="发起人" label="发起人"
align="center" align="center"
width="90" width="180"
> >
<template slot-scope="scope">
<span>{{ scope.row.creatUserName }}({{ scope.row.creatUser || '-' }})</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="creatTime" prop="creatTime"
@@ -137,7 +146,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('m.operation')" align="center" width="50"> <el-table-column :label="$t('m.operation')" align="center" width="50">
<template slot-scope="scope"> <template slot-scope="scope">
<div @click.stop style="display: inline-block"> <div style="display: inline-block" @click.stop>
<el-dropdown trigger="click" @command="handleCommand"> <el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i> <i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
@@ -155,7 +164,8 @@
:page="pageNo" :page="pageNo"
:total="total" :total="total"
@pageChange="pageChange" @pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination> @pageSizeChange="pageSizeChange"
/>
<loading :loading="loading">数据获取中</loading> <loading :loading="loading">数据获取中</loading>
</div> </div>
</div> </div>
@@ -232,7 +242,7 @@ export default {
this.queryProcess() this.queryProcess()
}, },
dealWith (row) { // 查看 dealWith (row) { // 查看
let routeUrl =this.$router.resolve({ const routeUrl = this.$router.resolve({
name: 'ProcessDetail', name: 'ProcessDetail',
query: { query: {
bpnId: row.id, bpnId: row.id,
@@ -240,8 +250,7 @@ export default {
tabsName: 'MonitorProcess' tabsName: 'MonitorProcess'
} }
}) })
window.open(routeUrl.href, "_blank"); window.open(routeUrl.href, '_blank');
}, },
...mapMutations([ 'setProcess', 'setHandleInfo' ]), ...mapMutations([ 'setProcess', 'setHandleInfo' ]),
...mapActions([ 'setMenu' ]) ...mapActions([ 'setMenu' ])
@@ -123,8 +123,12 @@
prop="creatUserName" prop="creatUserName"
label="发起人" label="发起人"
align="center" align="center"
width="90" width="180"
/> >
<template slot-scope="scope">
<span>{{ scope.row.creatUserName }}({{ scope.row.creatUser || '-' }})</span>
</template>
</el-table-column>
<el-table-column <el-table-column
prop="creatTime" prop="creatTime"
label="创建日期" label="创建日期"
@@ -123,7 +123,11 @@
prop="creatUserName" prop="creatUserName"
label="发起人" label="发起人"
align="center" align="center"
/> >
<template slot-scope="scope">
<span>{{ scope.row.creatUserName }}({{ scope.row.creatUser || '-' }})</span>
</template>
</el-table-column>
<el-table-column <el-table-column
prop="creatTime" prop="creatTime"
label="创建日期" label="创建日期"
@@ -4390,6 +4390,10 @@ export default {
this.drawerTitle = title this.drawerTitle = title
this.modalShowRoleFlag1 = true this.modalShowRoleFlag1 = true
}, },
unique (newArr) {
const res = new Map();
return newArr.filter((newArr) => !res.has(newArr) && res.set(newArr, 1));
},
checkedRole2 (data) { checkedRole2 (data) {
let idList = '' let idList = ''
let nameList = '' let nameList = ''
@@ -4411,7 +4415,11 @@ export default {
this.sarBussionessSearch['QCRBUSS'] = nameList this.sarBussionessSearch['QCRBUSS'] = nameList
} }
if (this.drawerTitle === '选择起草人') { 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, 'QCRBUSS', nameList)
this.$set(this.sarBussionessStandEO, 'QCDWId', institutionIdList)
this.$set(this.sarBussionessStandEO, 'QCDW', institutionNameList)
if (this.sarBussionessStandEO.QCRBUSS) { if (this.sarBussionessStandEO.QCRBUSS) {
this.$refs.sarBussionessStandForm.validateField('QCRBUSS') this.$refs.sarBussionessStandForm.validateField('QCRBUSS')
} }