3444 lines
131 KiB
Vue
3444 lines
131 KiB
Vue
<!--国内标准法规详情页-->
|
||
<template>
|
||
<div class="other-standard-details v-class" :class="{'hidden': !isMoreAwayBtn}">
|
||
<!--title 标题-->
|
||
<div class="details-header">
|
||
<span>{{ sarStandardsInfoEO.standSortShow || '' }} {{
|
||
sarStandardsInfoEO.standNumber
|
||
}}-{{ sarStandardsInfoEO.standYear }} 《{{ sarStandardsInfoEO.standName }}》 标准详情</span>
|
||
</div>
|
||
<!--主体内容-->
|
||
<div class="details-content">
|
||
<div class="details-content-modular basic-information">
|
||
</div>
|
||
<div
|
||
class="details-content-modular clearfix"
|
||
v-for="(item, index) in dynamicFormField"
|
||
:key="index"
|
||
v-if="item.isShowImp === '0'"
|
||
>
|
||
<div class="modular-header" v-if="item.label !== '基础信息'">
|
||
<div class="modular-header-title"><i class="icon-modular-title"/><span>{{ item.label }}</span></div>
|
||
</div>
|
||
<div class="modular-header" v-if="item.label === '基础信息'">
|
||
<div class="modular-header-title"><i class="icon-modular-title"/><span>{{ item.label }}</span></div>
|
||
<div class="details-content-modular basic-information" style="border-top:none">
|
||
<div class="modular-header">
|
||
<!-- <div class="modular-header-title"><i class="icon-modular-title" /><span>基础信息</span>-->
|
||
<!-- </div>-->
|
||
<div class="modular-header-btn">
|
||
<el-button v-if="sarStandardsInfoEO.collectId" @click="collectClick(sarStandardsInfoEO.collectId)"
|
||
title="取消收藏" class="collection-btn" icon="icon-collection" :loading="isSubmit"></el-button>
|
||
<el-button v-else @click="collectClick()" title="收藏" class="collection-btn" icon="el-icon-star-off"
|
||
:loading="isSubmit"></el-button>
|
||
<el-button class="relation-btn" icon="icon-relation" @click="relateEvent()">更新记录</el-button>
|
||
<!-- <el-button class="relation-btn" @click="knowledgeSharing">标准问答</el-button>-->
|
||
<!-- <el-button class="relation-btn" @click="showItemsModel()">标准分解单</el-button>-->
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="modular-content">
|
||
<template v-if="item.label === '基础信息'">
|
||
<div class="details-content-modular basic-information" style="border-top:none">
|
||
<div class="basic-information-content">
|
||
<!-- <p><label style=" margin-right: 150px;">标准类别</label><span>{{ sarStandardsInfoEO.standSort || '-' }}</span></p>-->
|
||
<p style="color: #C42626;" class="half">
|
||
<label style=" margin-right: 164px;">标准号</label>
|
||
<span v-if="sarStandardsInfoEO.standYear">{{
|
||
sarStandardsInfoEO.standSortShow + ' ' + sarStandardsInfoEO.standNumber + '-' + sarStandardsInfoEO.standYear
|
||
}}</span>
|
||
<span v-else>{{ sarStandardsInfoEO.standSort + ' ' + sarStandardsInfoEO.standNumber }}</span>
|
||
</p>
|
||
<!-- <p><label style=" margin-right: 150px;">标准年份</label><span>{{ sarStandardsInfoEO.standYear || '-' }}</span></p>-->
|
||
<p class="half"><label style=" margin-right: 150px;">标准性质</label><span>{{
|
||
standMap[sarStandardsInfoEO.standNature] || '-'
|
||
}}</span></p>
|
||
<p><label style=" margin-right: 150px;">中文名称</label><span>{{
|
||
sarStandardsInfoEO.standName || '-'
|
||
}}</span></p>
|
||
<p style="border: none;"><label style=" margin-right: 150px;">英文名称</label><span>{{
|
||
sarStandardsInfoEO.standEnName || '-'
|
||
}}</span></p>
|
||
<p class="half">
|
||
<label style=" margin-right: 150px;"
|
||
title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。"
|
||
>文本状态</label>
|
||
<span style="color: #409EFF;">{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span>
|
||
</p>
|
||
<p class="half"><label style=" margin-right: 150px;">发布日期</label><span>{{
|
||
sarStandardsInfoEO.issueTime || '-'
|
||
}}</span></p>
|
||
<p class="half">
|
||
<label style=" margin-right: 84px;">是否纳入认证清单</label><span>{{
|
||
sarStandardsInfoEO.isRelateAccess ? (sarStandardsInfoEO.isRelateAccess === '1' ? '是' : '否') : '-'
|
||
}}</span>
|
||
</p>
|
||
<p class="half" v-if="saveStandType === 'INLAND_STAND'"><label style=" margin-right: 150px;">标准体系</label><span>{{
|
||
sarStandardsInfoEO.standSystem || '-'
|
||
}}</span></p>
|
||
<!-- <p><label>文本说明:</label><span style="color: #999999">{{ sarStandardsInfoEO.synopsis || '-' }}</span></p>-->
|
||
<!-- <p><label>重要度:</label><span>{{ sarStandardsInfoEO.isRelateAccess === '1' ? 'A' : 'B'}}</span></p>-->
|
||
<!-- <p><label>纳入标准法规清单的国家/地区:</label><span>{{ sarStandardsInfoEO.accessCountry || '-' }}</span></p>-->
|
||
</div>
|
||
</div>
|
||
</template>
|
||
<template
|
||
v-for="(child, childIndex) in item.half"
|
||
v-if="child.isShowImp === '0' && child.attrField !== 'CBCD'"
|
||
>
|
||
<!-- modular-item half 代替标准编号-->
|
||
<div
|
||
:key="child.id"
|
||
:class="item.label !== '文本信息' ? 'modular-item half' : 'modular-item'"
|
||
v-if=" child.attrField === 'DTBJH' || child.attrField === 'YYBJ' || child.attrField === 'BYYBJ' || child.attrField === 'CBBH' || child.attrField === 'DXBZ' || child.attrField === 'XGLC' || child.attrField === 'BDTBZBH' || child.attrField === 'BFDTBZ' || child.attrField === 'BBFDTBZ' "
|
||
>
|
||
<label class="modular-content-p-name" :title="child.attrName">{{ child.attrName }}</label>
|
||
<span
|
||
class="modular-content-p-val"
|
||
:title="child.value || '-'"
|
||
>
|
||
<div v-if="child.value != null && child.value !== '' && child.value.split(',').length > 0">
|
||
<!--相关流程-->
|
||
<template v-if="child.attrField === 'XGLC' && child.value">
|
||
<p class="modular-content-p-val">
|
||
<span v-for="(item, index) in child.value.split(',')" :key="index">
|
||
<a @click="processCenterClick(item)" style="cursor: pointer;color: #0c91e5;margin-right: 5px;"
|
||
class="span-line">{{ item }}</a>
|
||
</span>
|
||
</p>
|
||
</template>
|
||
<!--是否授权-->
|
||
<template v-else-if="child.attrField === 'QBSQ' && child.value">
|
||
<p class="modular-content-p-val">
|
||
<span v-if="child.value === '1'">
|
||
是
|
||
</span>
|
||
<span v-else>
|
||
否
|
||
</span>
|
||
</p>
|
||
</template>
|
||
<!--其他-->
|
||
<template v-else>
|
||
<span v-for="(item, index) in child.value.split(',')" :key="index">
|
||
<a @click="showReplaceStandInfo(item)" style="cursor: pointer;color: #0c91e5;margin-right: 5px;"
|
||
class="span-line">{{ item }}</a>
|
||
</span>
|
||
</template>
|
||
</div>
|
||
<div v-else>
|
||
{{ '-' }}
|
||
</div>
|
||
</span>
|
||
</div>
|
||
<!-- 其他项-->
|
||
<div
|
||
v-else
|
||
:key="child.id"
|
||
:class="item.label !== '文本信息' ? 'modular-item half' : 'modular-item'"
|
||
>
|
||
<label class="modular-content-p-name" :title="child.attrName">{{ child.attrName }}</label>
|
||
<span
|
||
v-if="child.attrField === 'FGWHR'"
|
||
class="modular-content-p-val clearfix"
|
||
:title="child.value || '-'"
|
||
>
|
||
<template v-if="child.value">
|
||
{{ child.value }}
|
||
<put-question-button
|
||
style="float: right;"
|
||
:resId="sarStandardsInfoEO.id"
|
||
:resType="saveStandType"
|
||
></put-question-button>
|
||
</template>
|
||
<template v-else>
|
||
{{ '-' }}
|
||
</template>
|
||
</span>
|
||
<span
|
||
v-else-if="child.attrType === 'DATE_PICKER'"
|
||
class="modular-content-p-val"
|
||
>
|
||
{{ child.value ? child.value.substring(0, 10) : '-' }}
|
||
</span>
|
||
<span
|
||
v-else-if="child.attrType !== 'FILE'"
|
||
class="modular-content-p-val"
|
||
:title="child.value || '-'"
|
||
>
|
||
{{ child.value || '-' }}
|
||
</span>
|
||
<div v-else class="modular-content-p-flies">
|
||
<p
|
||
class="files-title"
|
||
v-for="(file, fileIndex) in child.value"
|
||
:key="fileIndex"
|
||
>
|
||
<!--发布稿、增补件单独设置下载权限-->
|
||
<template v-if="child.attrField === 'FBGBJBD' || child.attrField === 'ZBJBD'">
|
||
<a @click="openFileInPdf(file.id, file.oldFileName)" target="_blank">{{ file.oldFileName }}</a>
|
||
<i
|
||
title="下载"
|
||
@click="downloadFile(file.id)"
|
||
class="icon-download"
|
||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '02fd6eff0537c283dd071683de10689f' : 'a772afab2a6708883335500f3f86e771'"
|
||
/>
|
||
<i
|
||
title="下载带水印"
|
||
@click="downloadFileByWater(file.id, file.fileSuffix)"
|
||
class="icon-download2"
|
||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : '824f3bf9edef83fc7488917136167232'"
|
||
/>
|
||
<span class="time-text">上传时间:{{ dateFormat(file.modifyTime) }}</span>
|
||
</template>
|
||
<template v-else>
|
||
<a @click="openFileInPdf(file.id, file.oldFileName)" target="_blank">{{ file.oldFileName }}</a>
|
||
<i
|
||
title="下载"
|
||
@click="downloadFile(file.id)"
|
||
class="icon-download"
|
||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '02fd6eff0537c283dd071683de10689f' : 'a772afab2a6708883335500f3f86e771'"
|
||
/>
|
||
<i
|
||
title="下载带水印"
|
||
@click="downloadFileByWater(file.id, file.fileSuffix)"
|
||
class="icon-download2"
|
||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : '824f3bf9edef83fc7488917136167232'"
|
||
/>
|
||
<span class="time-text">上传时间:{{ dateFormat(file.modifyTime) }}</span>
|
||
</template>
|
||
<!-- <el-button-->
|
||
<!-- @click="showItemsModel(child.attrField)"-->
|
||
<!-- class="decomposition-btn"-->
|
||
<!-- icon="icon-separate"-->
|
||
<!-- >标准分解单</el-button>-->
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
</template>
|
||
<template
|
||
v-for="(child, childIndex) in item.child"
|
||
v-if="child.isShowImp === '0' && item.label === '关联信息'"
|
||
>
|
||
<div
|
||
:key="child.id"
|
||
:class="item.label !== '文本信息' ? 'modular-item half' : 'modular-item'"
|
||
>
|
||
<label class="modular-content-p-name" :title="child.attrName">{{ child.attrName }}</label>
|
||
<!--相关流程-->
|
||
<template v-if="child.attrField === 'XGLC' && child.value">
|
||
<p class="modular-content-p-val">
|
||
<span v-for="(item, index) in child.value.split(',')" :key="index">
|
||
<a @click="processCenterClick(item)" style="cursor: pointer;color: #0c91e5;margin-right: 5px;"
|
||
class="span-line">{{ item }}</a>
|
||
</span>
|
||
</p>
|
||
</template>
|
||
<template
|
||
v-else-if="child.attrField === 'DTBJH'|| child.attrField === 'BDTBZBH' || child.attrField === 'YYBJ' || child.attrField === 'BYYBJ' || child.attrField === 'CBBH' || child.attrField === 'DXBZ' || child.attrField === 'BFDTBZ' || child.attrField === 'BBFDTBZ'"
|
||
>
|
||
<p class="modular-content-p-val" v-if="child.value">
|
||
<span v-for="(item, index) in child.value.split(',')" :key="index">
|
||
<a @click="showReplaceStandInfo(item)" style="cursor: pointer;color: #0c91e5;margin-right: 5px;"
|
||
class="span-line">{{ item }}</a>
|
||
</span>
|
||
</p>
|
||
<span class="modular-content-p-val" v-else>-</span>
|
||
</template>
|
||
<span
|
||
v-else-if="child.attrField === 'SVPPS'"
|
||
class="modular-content-p-val"
|
||
:title="child.tips || '-'"
|
||
>
|
||
{{ !child.value || child.value === 'null' ? '-' : child.value }}
|
||
</span>
|
||
<span
|
||
v-else-if="child.attrType !== 'FILE'"
|
||
class="modular-content-p-val"
|
||
:title="child.value || '-'"
|
||
>
|
||
{{ child.value || '-' }}
|
||
</span>
|
||
<div v-else class="modular-content-p-flies">
|
||
<p
|
||
class="files-title"
|
||
v-for="(file, fileIndex) in child.value"
|
||
:key="fileIndex"
|
||
>
|
||
<!-- <span style="cursor: pointer;" @click="openFileInPdf(file.id, file.oldFileName)">|{{file.id}}|</span>-->
|
||
<!--发布稿、增补件单独设置下载权限-->
|
||
<template v-if="child.attrField === 'XGD' || child.attrField === 'FBGBJBD' || child.attrField === 'BPG'
|
||
|| child.attrField === 'SSG'|| child.attrField === 'ZQYJG'|| child.attrField === 'CA'
|
||
|| child.attrField === 'JDWJ' || child.attrField === 'GLWJ'">
|
||
<a @click="openFileInPdf(file.id, file.oldFileName)" target="_blank">{{ file.oldFileName }}</a>
|
||
<i
|
||
title="下载"
|
||
@click="downloadFile(file.id)"
|
||
class="icon-download"
|
||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '02fd6eff0537c283dd071683de10689f' : 'a772afab2a6708883335500f3f86e771'"
|
||
/>
|
||
<i
|
||
title="下载带水印"
|
||
@click="downloadFileByWater(file.id, file.fileSuffix)"
|
||
class="icon-download2"
|
||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : '824f3bf9edef83fc7488917136167232'"
|
||
/>
|
||
|
||
<!-- <el-button v-if="file.fileSuffix='pdf'" type="primary" round>OCR</el-button>-->
|
||
<span class="time-text">上传时间:{{ dateFormat(file.modifyTime) }}</span>
|
||
</template>
|
||
<template v-else>
|
||
<a @click="openFileInPdf(file.id, file.oldFileName)" target="_blank">{{ file.oldFileName }}</a>
|
||
<i
|
||
title="下载"
|
||
@click="downloadFile(file.id)"
|
||
class="icon-download"
|
||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '02fd6eff0537c283dd071683de10689f' : 'a772afab2a6708883335500f3f86e771'"
|
||
/>
|
||
<i
|
||
title="下载带水印"
|
||
@click="downloadFileByWater(file.id, file.fileSuffix)"
|
||
class="icon-download2"
|
||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : '824f3bf9edef83fc7488917136167232'"
|
||
/>
|
||
<span class="time-text">上传时间:{{ dateFormat(file.modifyTime) }}</span>
|
||
</template>
|
||
</p>
|
||
<!-- <el-button-->
|
||
<!-- v-if="child.attrField === 'FBGBJBD' || child.attrField === 'SSG' || child.attrField === 'ZQYJG' || child.attrField === 'BPG' || child.attrField === 'ZBJBD' || child.attrField === 'CA'"-->
|
||
<!-- @click="showItemsModel(child.attrField)"-->
|
||
<!-- class="decomposition-btn"-->
|
||
<!-- icon="icon-separate"-->
|
||
<!-- >标准分解单</el-button>-->
|
||
</div>
|
||
</div>
|
||
|
||
</template>
|
||
<template
|
||
v-for="(child, childIndex) in item.one"
|
||
v-if="child.isShowImp === '0' && item.label !== '关联信息' && (item.label !== '实施日期' || (childIndex < 6 || item.showAll))"
|
||
>
|
||
<div
|
||
:key="child.id"
|
||
:class="item.label !== '文本信息' ? 'modular-item half' : 'modular-item'"
|
||
>
|
||
<label class="modular-content-p-name" :title="child.attrName">{{ child.attrName }}</label>
|
||
<!--相关流程-->
|
||
<template v-if="child.attrField === 'XGLC' && child.value">
|
||
<p class="modular-content-p-val">
|
||
<span v-for="(item, index) in child.value.split(',')" :key="index">
|
||
<a @click="processCenterClick(item)" style="cursor: pointer;color: #0c91e5;margin-right: 5px;"
|
||
class="span-line">{{ item }}</a>
|
||
</span>
|
||
</p>
|
||
</template>
|
||
<template
|
||
v-else-if="child.attrField === 'DTBJH'|| child.attrField === 'BDTBZBH' || child.attrField === 'YYBJ' || child.attrField === 'BYYBJ' || child.attrField === 'CBBH' || child.attrField === 'DXBZ' || child.attrField === 'BFDTBZ' || child.attrField === 'BBFDTBZ'"
|
||
>
|
||
<p class="modular-content-p-val" v-if="child.value">
|
||
<span v-for="(item, index) in child.value.split(',')" :key="index">
|
||
<a @click="showReplaceStandInfo(item)" style="cursor: pointer;color: #0c91e5;margin-right: 5px;"
|
||
class="span-line">{{ item }}</a>
|
||
</span>
|
||
</p>
|
||
<span class="modular-content-p-val" v-else>-</span>
|
||
</template>
|
||
<span
|
||
v-else-if="child.attrField === 'SVPPS'"
|
||
class="modular-content-p-val"
|
||
:title="child.tips || '-'"
|
||
>
|
||
{{ !child.value || child.value === 'null' ? '-' : child.value }}
|
||
</span>
|
||
<span
|
||
v-else-if="child.attrType !== 'FILE'"
|
||
class="modular-content-p-val"
|
||
:title="child.value || '-'"
|
||
>
|
||
{{ child.value || '-' }}
|
||
</span>
|
||
<div v-else class="modular-content-p-flies">
|
||
<p
|
||
class="files-title"
|
||
v-for="(file, fileIndex) in child.value"
|
||
:key="fileIndex"
|
||
>
|
||
<!-- <span style="cursor: pointer;" @click="openFileInPdf(file.id, file.oldFileName)">|{{file.id}}|</span>-->
|
||
<!--发布稿、增补件单独设置下载权限-->
|
||
<template v-if="child.attrField === 'XGD' || child.attrField === 'FBGBJBD' || child.attrField === 'BPG'
|
||
|| child.attrField === 'SSG'|| child.attrField === 'ZQYJG'|| child.attrField === 'CA'
|
||
|| child.attrField === 'JDWJ' || child.attrField === 'GLWJ'">
|
||
<a @click="openFileInPdf(file.id, file.oldFileName)" target="_blank">{{ file.oldFileName }}</a>
|
||
<i
|
||
title="下载"
|
||
@click="downloadFile(file.id)"
|
||
class="icon-download"
|
||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '02fd6eff0537c283dd071683de10689f' : 'a772afab2a6708883335500f3f86e771'"
|
||
/>
|
||
<i
|
||
title="下载带水印"
|
||
@click="downloadFileByWater(file.id, file.fileSuffix)"
|
||
class="icon-download2"
|
||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : '824f3bf9edef83fc7488917136167232'"
|
||
/>
|
||
<!-- OCR按钮,根据文件名取后缀判断是否出现-->
|
||
|
||
<!-- <el-button v-if="judgeSuffix(file.fileName)" type="primary" size="mini" style="margin: 5px" @click="ocrFunction(file)" plain>OCR</el-button>-->
|
||
|
||
|
||
<span class="time-text">上传时间:{{ dateFormat(file.modifyTime) }}</span>
|
||
</template>
|
||
<template v-else>
|
||
<a @click="openFileInPdf(file.id, file.oldFileName)" target="_blank">{{ file.oldFileName }}</a>
|
||
<i
|
||
title="下载"
|
||
@click="downloadFile(file.id)"
|
||
class="icon-download"
|
||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '02fd6eff0537c283dd071683de10689f' : 'a772afab2a6708883335500f3f86e771'"
|
||
/>
|
||
<i
|
||
title="下载带水印"
|
||
@click="downloadFileByWater(file.id, file.fileSuffix)"
|
||
class="icon-download2"
|
||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : '824f3bf9edef83fc7488917136167232'"
|
||
/>
|
||
<span class="time-text">上传时间:{{ dateFormat(file.modifyTime) }}</span>
|
||
</template>
|
||
</p>
|
||
<el-button
|
||
v-if="child.attrField === itemNam "
|
||
v-for="(itemNam,index) in itemExistList"
|
||
:key="index"
|
||
@click="showItemsModel(child.attrField)"
|
||
class="decomposition-btn"
|
||
icon="icon-separate"
|
||
>标准分解单
|
||
</el-button>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
</template>
|
||
<div class="modular-item-more" v-if="item.label === '实施日期' && item.one.length > 6">
|
||
<div class="wrap" @click="handleToggleShowAll(item)">
|
||
<span>{{ item.showAll ? '收起' : '更多' }}</span>
|
||
<img :class="{'is-show-all': item.showAll}" src="@/assets/images/shangqi/img/more.png">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div v-show="!isMoreAwayBtn" class="more" @click="moreClick">更多<img src="@/assets/images/shangqi/img/more.png">
|
||
</div>
|
||
<!-- <div v-show="isMoreAwayBtn" class="put-away" @click="putAwayClick">收起<img src="@/assets/images/shangqi/img/more.png"></div>-->
|
||
<!--查看分解单-->
|
||
<el-drawer
|
||
title="查看分解单"
|
||
:wrapperClosable="false"
|
||
:visible.sync="modalStandItemflag"
|
||
size="80%"
|
||
class="not-footer-drawer"
|
||
@close="closeDrawer"
|
||
>
|
||
<div class="search-area">
|
||
<div class="left">
|
||
<el-form inline :model="standardForm" ref="ruleForm" class="label-input-form">
|
||
<el-form-item class="search-item">
|
||
<el-input size="small" v-model="standItemSearch.orgName" v-show="false" style="height: 32px"/>
|
||
<el-input size="small" v-model="standItemSearch.responsibleUnit" v-show="false" style="height: 32px"/>
|
||
<el-popover
|
||
placement="bottom"
|
||
popper-class="user-dept-popper"
|
||
trigger="click"
|
||
:value="false"
|
||
>
|
||
</el-popover>
|
||
</el-form-item>
|
||
|
||
|
||
<el-form-item class="search-item">
|
||
<el-input v-model="standItemSearch.itemsName" size="small" placeholder="根据条款名称查找" clearable
|
||
maxlength="100"></el-input>
|
||
</el-form-item>
|
||
<!-- 新车实施日期-->
|
||
<el-form-item class="search-item">
|
||
<div class="block">
|
||
<el-date-picker
|
||
v-model="standItemSearch.XCXSSRQ"
|
||
type="date"
|
||
value-format="yyyy-MM-dd"
|
||
placeholder="新车实施日期">
|
||
</el-date-picker>
|
||
</div>
|
||
</el-form-item>
|
||
<!-- //在产车实施日期-->
|
||
<el-form-item class="search-item">
|
||
<div class="block">
|
||
<el-date-picker
|
||
v-model="standItemSearch.ZCCSSRQ"
|
||
type="date"
|
||
value-format="yyyy-MM-dd"
|
||
placeholder="在产车实施日期">
|
||
</el-date-picker>
|
||
</div>
|
||
</el-form-item>
|
||
<el-form-item class="search-item btn-box">
|
||
<el-button
|
||
:loading="searching"
|
||
icon="el-icon-search"
|
||
type="primary"
|
||
size="mini"
|
||
class="common-button-primary"
|
||
@click="searchSarStandItems">
|
||
</el-button>
|
||
</el-form-item>
|
||
<el-form-item class="search-item btn-box">
|
||
<el-button
|
||
class="common-button-default"
|
||
icon="el-icon-refresh-left"
|
||
@click="clearAllSearch"
|
||
size="mini">
|
||
</el-button>
|
||
</el-form-item>
|
||
</el-form>
|
||
</div>
|
||
</div>
|
||
<div class="action-bar">
|
||
<el-button class="common-button-default export-button" icon="export" size="mini"
|
||
@click="exportStandardItem"
|
||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '52HT9PLW49G6ZWS9RZSC' : '9CLEQQBS75SYV8JQQYFB'">
|
||
导出
|
||
</el-button>
|
||
<el-button
|
||
size="mini"
|
||
type="primary"
|
||
class="common-button-primary"
|
||
@click="openRelatedTermsDrawer"
|
||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : '824f3bf9edef83fc7488917136167232'"
|
||
>关联条款
|
||
</el-button>
|
||
</div>
|
||
<div class="content">
|
||
<el-table
|
||
@sort-change='sort'
|
||
ref="multipleTable"
|
||
:data="standItemList"
|
||
tooltip-effect="dark"
|
||
border
|
||
style="width: 100%"
|
||
:height="tableHeight"
|
||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||
fontWeight: 'bold', height: '48px'}"
|
||
@selection-change="selectAllStand">
|
||
<el-table-column
|
||
type="selection"
|
||
fixed="left"
|
||
align="center"
|
||
width="60"
|
||
>
|
||
</el-table-column>
|
||
<el-table-column
|
||
sortable="custom"
|
||
show-overflow-tooltip
|
||
prop="itemsNum"
|
||
width="90"
|
||
label="条款号"
|
||
align="center"
|
||
>
|
||
</el-table-column>
|
||
<el-table-column
|
||
show-overflow-tooltip
|
||
prop="itemsName"
|
||
label="条款名称"
|
||
>
|
||
</el-table-column>
|
||
<el-table-column
|
||
show-overflow-tooltip
|
||
prop="termsConditions"
|
||
label="条款内容"
|
||
:resizable="false"
|
||
>
|
||
<template slot-scope="scope">
|
||
<div class="table-jump" @click="itemsTextDialog(scope.row.itemsNum, scope.row.termsConditions)">
|
||
{{ scope.row.termsConditions ? scope.row.termsConditions.replace(/<.*?>/ig, ' ') : '' }}
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column
|
||
prop="readContent"
|
||
width="160"
|
||
label="核心技术要求/变化点"
|
||
show-overflow-tooltip
|
||
align="center"
|
||
>
|
||
</el-table-column>
|
||
<el-table-column
|
||
show-overflow-tooltip
|
||
align="center"
|
||
prop="comparedWithPrevious"
|
||
label="基于上一版本差异"
|
||
width="150">
|
||
</el-table-column>
|
||
<el-table-column
|
||
prop="xccssrq"
|
||
label="新车型实施日期(文本)"
|
||
width="180">
|
||
<template slot-scope="scope">
|
||
<span>{{ scope.row.xccssrq ? $moment(scope.row.xccssrq).format('YYYY-MM-DD') : '' }}</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column
|
||
prop="zccssrq"
|
||
label="在产车实施日期(文本)"
|
||
width="170">
|
||
<template slot-scope="scope">
|
||
<span>{{ scope.row.zccssrq ? $moment(scope.row.zccssrq).format('YYYY-MM-DD') : '' }}</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column
|
||
show-overflow-tooltip
|
||
prop="applyArctic"
|
||
label="适用车型"
|
||
width="90"
|
||
>
|
||
</el-table-column>
|
||
<el-table-column
|
||
prop="responsibleUnit"
|
||
label="责任部门">
|
||
</el-table-column>
|
||
<el-table-column
|
||
prop="dutyEngineer"
|
||
label="责任工程师"
|
||
width="100">
|
||
</el-table-column>
|
||
<el-table-column
|
||
show-overflow-tooltip
|
||
label="符合性状态"
|
||
width="100">
|
||
<template slot-scope="scope">
|
||
{{scope.row.complianceRequire ? (scope.row.complianceRequire === '1' ? '是' : '否') : '-'}}
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column
|
||
show-overflow-tooltip
|
||
prop="complianceState"
|
||
label="合规性分析"
|
||
width="100">
|
||
</el-table-column>
|
||
<el-table-column label="操作" align="center" width="50" fixed="right">
|
||
<template slot-scope="scope">
|
||
<div @click.stop>
|
||
<el-dropdown trigger="click" @command="handleCommand">
|
||
<i class="iconfont"></i>
|
||
<el-dropdown-menu slot="dropdown">
|
||
<el-dropdown-item :disabled="scope.row.enable==='0'" :command="[scope.row, '查看']">查看
|
||
</el-dropdown-item>
|
||
<!--<el-dropdown-item :disabled="scope.row.enable==='0'" :command="[scope.row, '编辑']">编辑</el-dropdown-item>-->
|
||
<!--<el-dropdown-item :disabled="scope.row.enable==='0'" :command="[scope.row, '删除']">删除</el-dropdown-item>-->
|
||
</el-dropdown-menu>
|
||
</el-dropdown>
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<loading :loading="tableLoading">数据加载中...</loading>
|
||
</div>
|
||
|
||
<pagination
|
||
:page="page7"
|
||
:total="total7"
|
||
@pageChange="pageChange7"
|
||
@pageSizeChange="pageSizeChange7"></pagination>
|
||
|
||
|
||
<!-- <el-pagination-->
|
||
<!-- @size-change="pageSizeChange"-->
|
||
<!-- @current-change="pageChange"-->
|
||
<!-- :current-page="1"-->
|
||
<!-- :page-sizes="[10, 20, 30, 50]"-->
|
||
<!-- :page-size="100"-->
|
||
<!-- layout="sizes, prev, pager, next, jumper"-->
|
||
<!-- :total="standitemTotal">-->
|
||
<!-- </el-pagination>-->
|
||
|
||
<!-- <pagination :total="standitemTotal" @pageChange="pageChange"-->
|
||
<!-- @pageSizeChange="pageSizeChange"></pagination>-->
|
||
|
||
</el-drawer>
|
||
<!--新增标准条款-->
|
||
<el-drawer
|
||
:title="itemModalTitle"
|
||
:wrapperClosable="false"
|
||
:visible.sync="modalItemaddShowflag"
|
||
:before-close="resetForm"
|
||
size="800px"
|
||
destroy-on-close
|
||
>
|
||
<div class="demo-drawer-content">
|
||
<el-form
|
||
v-if="modalItemaddShowflag"
|
||
ref="sarStandardsItemForm"
|
||
:model="standItemEO"
|
||
class="label-input-form"
|
||
:rules="sarStandardItemRules"
|
||
label-width="150px"
|
||
>
|
||
<el-form-item label="条款号" prop="itemsNum" class="add-form-item">
|
||
<el-input v-model="standItemEO.itemsNum" :disabled="itemFormdisableflag" placeholder="请输入内容"></el-input>
|
||
</el-form-item>
|
||
<el-form-item label="条款名称" prop="itemsName" class="add-form-item">
|
||
<el-input v-model="standItemEO.itemsName" :disabled="itemFormdisableflag" placeholder="请输入内容"></el-input>
|
||
</el-form-item>
|
||
<el-form-item label="内容简介" prop="termsConditions" class="add-form-item">
|
||
<el-input v-model="standItemEO.termsConditions" :disabled="itemFormdisableflag" placeholder="请输入内容"/>
|
||
</el-form-item>
|
||
<el-row>
|
||
<custom-org
|
||
key="responsibleUnit"
|
||
:config="{
|
||
attrName: '责任部门',
|
||
attrField: 'responsibleUnit',
|
||
selVal: 'ORGLIST',
|
||
valueName: standItemEO.orgName,
|
||
attrType: 'SEL_OPTION'
|
||
}"
|
||
:zNodes="zNodesSItem"
|
||
v-model="standItemEO.responsibleUnit"
|
||
:data-model="standItemEO"
|
||
@on-checked="(checkName) => {standItemEO.ZRBM = standItemEO.responsibleUnit;standItemEO.orgName = checkName}"
|
||
></custom-org>
|
||
</el-row>
|
||
<el-row>
|
||
<custom-org
|
||
key="FO"
|
||
:config="{
|
||
attrName: 'FO',
|
||
attrField: 'FO',
|
||
selVal: 'USERLIST',
|
||
valueName: standItemEO.foShow,
|
||
attrType: 'SEL_OPTION'
|
||
}"
|
||
:zNodes="zNodesSItem"
|
||
v-model="standItemEO.FO"
|
||
:data-model="standItemEO"
|
||
@on-checked="(checkName) => {standItemEO.fo = standItemEO.FO;standItemEO.foShow = checkName}"
|
||
></custom-org>
|
||
</el-row>
|
||
<el-row>
|
||
<custom-org
|
||
key="dutyEngineer"
|
||
:config="{
|
||
attrName: '责任工程师',
|
||
attrField: 'dutyEngineer',
|
||
selVal: 'USERLIST',
|
||
valueName: standItemEO.dutyEngineerShow,
|
||
attrType: 'SEL_OPTION'
|
||
}"
|
||
:zNodes="zNodesSItem"
|
||
:data-model="standItemEO"
|
||
v-model="standItemEO.dutyEngineer"
|
||
@on-checked="(checkName) => {standItemEO.dutyEngineerShow = checkName}"
|
||
></custom-org>
|
||
</el-row>
|
||
<el-row>
|
||
<custom-SVPPS
|
||
key="svpps"
|
||
:config="{
|
||
attrName: 'SVPPS',
|
||
attrField: 'SVPPS',
|
||
valueName: standItemEO.svppsShow,
|
||
value: standItemEO.svpps
|
||
}"
|
||
v-model="standItemEO.svpps"
|
||
></custom-SVPPS>
|
||
</el-row>
|
||
<el-form-item label="适用车辆类型" prop="applyArctic" class="add-form-item">
|
||
<el-select v-model="standItemEO.applyArctic" multiple placeholder="请选择" :filterable="true">
|
||
<el-option
|
||
v-for="opt in applyArcticOptions"
|
||
:key="opt.value"
|
||
:label="opt.label"
|
||
:value="opt.value">
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item label="要求类型" prop="claimType" class="add-form-item">
|
||
<el-select v-model="standItemEO.claimType" placeholder="请选择" :filterable="true">
|
||
<el-option
|
||
v-for="opt in requestOptions"
|
||
:key="opt.value"
|
||
:label="opt.label"
|
||
:value="opt.value">
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item label="企标覆盖关系" prop="busStandCover" class="add-form-item">
|
||
<el-select
|
||
v-model="standItemEO.busStandCover"
|
||
:disabled="itemFormdisableflag"
|
||
placeholder="请选择"
|
||
>
|
||
<el-option
|
||
v-for="item in BZFGGXOUIUJ"
|
||
:key="item.value"
|
||
:value="item.value"
|
||
:label="item.label"
|
||
></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
</el-form>
|
||
</div>
|
||
<div class="demo-drawer-footer">
|
||
<el-button class="common-button-primary" icon="el-icon-check" type="primary" v-if="!itemFormdisableflag"
|
||
@click="saveOrUpdateStandItem" :loading="isSubmit">
|
||
保存
|
||
</el-button>
|
||
<el-button class="common-button-default" icon="el-icon-close" @click="resetForm">取消</el-button>
|
||
</div>
|
||
</el-drawer>
|
||
<!--导入模态窗-->
|
||
<el-dialog width="400px" :visible.sync="importModalshowflag" title="导入文件" :footer-hide="true">
|
||
<el-upload
|
||
multiple
|
||
drag
|
||
:show-file-list="showUploadlist"
|
||
:on-success="importFileSuccess"
|
||
:on-remove="removeOneFile"
|
||
:before-upload="beforeUpload"
|
||
:action="importExcelUrl"
|
||
:file-list="defaultFileList"
|
||
accept=".xlsx"
|
||
name="file"
|
||
ref="importFileAboutStand">
|
||
<div style="padding: 20px 0">
|
||
<i class="el-icon-upload" style="color: #3399ff"></i>
|
||
<p>点击或拖拽上传文件</p>
|
||
</div>
|
||
</el-upload>
|
||
</el-dialog>
|
||
<!--分解单-查看 (标准拆分-属性)-->
|
||
<el-drawer
|
||
:wrapperClosable="false"
|
||
size="800px"
|
||
title="查看属性信息"
|
||
:visible.sync="showItemInfoModal"
|
||
>
|
||
<div class="see-drawer-content">
|
||
<div class="see-drawer-div">
|
||
<label class="see-drawer-name" title="条款号">条款号</label>
|
||
<span class="see-drawer-val" :title="standShowItemEO.itemsNum">{{ standShowItemEO.itemsNum }}</span>
|
||
</div>
|
||
<div class="see-drawer-div">
|
||
<label class="see-drawer-name" title="条款名称">条款名称</label>
|
||
<span class="see-drawer-val" :title="standShowItemEO.itemsName">{{ standShowItemEO.itemsName }}</span>
|
||
</div>
|
||
<div class="see-drawer-div">
|
||
<label class="see-drawer-name" title="内容简介">条款内容</label>
|
||
<span class="see-drawer-val"
|
||
:title="standShowItemEO.termsConditions ? standShowItemEO.termsConditions.replace(/<.*?>/ig, ' ') : ''">{{
|
||
standShowItemEO.termsConditions ? standShowItemEO.termsConditions.replace(/<.*?>/ig, ' ') : ''
|
||
}}</span>
|
||
</div>
|
||
<div class="see-drawer-div">
|
||
<label class="see-drawer-name" title="解读内容">解读内容</label>
|
||
<span class="see-drawer-val"
|
||
:title="standShowItemEO.readContent ? standShowItemEO.readContent.replace(/<.*?>/ig, ' ') : ''">
|
||
{{
|
||
standShowItemEO.readContent ? standShowItemEO.readContent.replace(/<.*?>/ig, ' ') : ''
|
||
}}</span>
|
||
</div>
|
||
|
||
<div class="see-drawer-div">
|
||
<label class="see-drawer-name" title="新车型实施日期">新车型实施日期</label>
|
||
<span class="see-drawer-val"
|
||
:title="standShowItemEO.xcxssrq">{{
|
||
standShowItemEO.xccssrq ? $moment(standShowItemEO.xccssrq).format('YYYY-MM-DD') : ''
|
||
}}</span>
|
||
</div>
|
||
<div class="see-drawer-div">
|
||
<label class="see-drawer-name" title="在产车实施日期">在产车实施日期</label>
|
||
<span class="see-drawer-val"
|
||
:title="standShowItemEO.zccssrq">{{
|
||
standShowItemEO.zccssrq ? $moment(standShowItemEO.zccssrq).format('YYYY-MM-DD') : ''
|
||
}}</span>
|
||
</div>
|
||
<div class="see-drawer-div">
|
||
<label class="see-drawer-name" title="适用车型">适用车型</label>
|
||
<span class="see-drawer-val" :title="standShowItemEO.applyArctic">{{ standShowItemEO.applyArctic }}</span>
|
||
</div>
|
||
<div class="see-drawer-div">
|
||
<label class="see-drawer-name" title="责任部门">责任部门</label>
|
||
<span class="see-drawer-val" :title="standShowItemEO.responsibleUnit">{{
|
||
standShowItemEO.responsibleUnit
|
||
}}</span>
|
||
</div>
|
||
<div class="see-drawer-div">
|
||
<label class="see-drawer-name" title="责任工程师">责任工程师</label>
|
||
<span class="see-drawer-val" :title="standShowItemEO.dutyEngineer">
|
||
{{ standShowItemEO.dutyEngineer }}</span>
|
||
</div>
|
||
<div class="see-drawer-div">
|
||
<label class="see-drawer-name" title="基于上一版本差异">基于上一版本差异</label>
|
||
<span class="see-drawer-val" :title="standShowItemEO.comparedWithPrevious">
|
||
{{ standShowItemEO.comparedWithPrevious }}</span>
|
||
</div>
|
||
|
||
<div class="see-drawer-div">
|
||
<label class="see-drawer-name" title="符合性状态">符合性状态</label>
|
||
<span class="see-drawer-val" :title="standShowItemEO.complianceRequire">
|
||
{{ standShowItemEO.complianceRequire }}</span>
|
||
</div>
|
||
|
||
<div class="see-drawer-div">
|
||
<label class="see-drawer-name" title="合规性分析">合规性分析</label>
|
||
<span class="see-drawer-val" :title="standShowItemEO.complianceState">
|
||
{{ standShowItemEO.complianceState }}</span>
|
||
</div>
|
||
<!-- <div class="see-drawer-div">-->
|
||
<!-- <label class="see-drawer-name" title="FO">FO</label>-->
|
||
<!-- <span class="see-drawer-val" :title="standShowItemEO.foShow">{{ standShowItemEO.foShow }}</span>-->
|
||
<!-- </div>-->
|
||
<!-- <div class="see-drawer-div">-->
|
||
<!-- <label class="see-drawer-name" title="责任工程师">责任工程师</label>-->
|
||
<!-- <span class="see-drawer-val" :title="standShowItemEO.dutyEngineerShow">{{-->
|
||
<!-- standShowItemEO.dutyEngineerShow-->
|
||
<!-- }}</span>-->
|
||
<!-- </div>-->
|
||
<!-- <div class="see-drawer-div">-->
|
||
<!-- <label class="see-drawer-name" title="svpps">svpps</label>-->
|
||
<!-- <span class="see-drawer-val" :title="standShowItemEO.svppsShow">{{ standShowItemEO.svppsShow }}</span>-->
|
||
<!-- </div>-->
|
||
|
||
<!-- <div class="see-drawer-div">-->
|
||
<!-- <label class="see-drawer-name" title="要求类型">要求类型</label>-->
|
||
<!-- <span class="see-drawer-val" :title="standShowItemEO.claimTypeShow">{{ standShowItemEO.claimTypeShow }}</span>-->
|
||
<!-- </div>-->
|
||
<!-- <div class="see-drawer-div">-->
|
||
<!-- <label class="see-drawer-name" title="企标覆盖关系">企标覆盖关系</label>-->
|
||
<!-- <span class="see-drawer-val"-->
|
||
<!-- :title="standShowItemEO.busStandCoverShow ? standShowItemEO.busStandCoverShow : busStandCoverName(standShowItemEO.busStandCover)">{{-->
|
||
<!-- standShowItemEO.busStandCoverShow ? standShowItemEO.busStandCoverShow : busStandCoverName(standShowItemEO.busStandCover)-->
|
||
<!-- }}</span>-->
|
||
<!-- </div>-->
|
||
</div>
|
||
</el-drawer>
|
||
<!-- 更新LOG -->
|
||
<el-dialog
|
||
title="更新LOG"
|
||
:visible.sync="relateDialog"
|
||
class="relateClass"
|
||
width="60%"
|
||
:before-close="relateDialogClose">
|
||
<div
|
||
v-for="(item, index) in relateNowList"
|
||
:key="index"
|
||
v-if="relateNowList"
|
||
style="margin-bottom: 10px;line-height: 20px;max-height: 300px"
|
||
>
|
||
{{ index + 1 }}. {{ item.creationUserName }} {{ item.creationTime }} {{ item.content }}
|
||
<div v-if="relateNowList.length >1">
|
||
<el-divider></el-divider>
|
||
</div>
|
||
</div>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button type="primary" @click="relateDialogClose">关 闭</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 知识点分享 -->
|
||
<el-dialog
|
||
title="知识点分享"
|
||
:visible.sync="knowledgeSharingDialog"
|
||
width="800px"
|
||
class="myDialog">
|
||
<div class="action-bar">
|
||
<el-button type="primary"
|
||
class="common-button-primary add-button"
|
||
size="mini"
|
||
:v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'PVBSWCJQ9X4RVBM9RK7L' : 'NJ3YL4SVEJADWH7ESHDX'"
|
||
@click="addknowledge(1)"><i class="iconfont"></i>新增
|
||
</el-button>
|
||
<el-button class="common-button-default delete-button"
|
||
size="mini"
|
||
:v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '4V4592SVLAZY9HMC8WHU' : '485WL3QHGRJ27H2XD34Z'"
|
||
@click="deleteknowledge(2)"><i class="iconfont"></i>批量删除
|
||
</el-button>
|
||
</div>
|
||
<div class="knowContent">
|
||
<el-table
|
||
:data="knowList"
|
||
tooltip-effect="dark"
|
||
style="width: 100%"
|
||
border
|
||
height="100%"
|
||
@selection-change="handleSelectionKnow"
|
||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||
fontWeight: 'bold', height: '48px'}"
|
||
>
|
||
<el-table-column
|
||
type="selection"
|
||
width="55"
|
||
align="center">
|
||
</el-table-column>
|
||
<el-table-column
|
||
show-overflow-tooltip
|
||
prop="title"
|
||
width="150"
|
||
label="标题">
|
||
</el-table-column>
|
||
<el-table-column
|
||
show-overflow-tooltip
|
||
prop="content"
|
||
label="内容">
|
||
</el-table-column>
|
||
<el-table-column
|
||
prop="creationTime"
|
||
width="150"
|
||
align="center"
|
||
label="时间">
|
||
<template slot-scope="scope">
|
||
{{ $moment(scope.row.creationTime).format('YYYY-MM-DD') }}
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column label="操作" align="center" width="50" fixed="right">
|
||
<template slot-scope="scope">
|
||
<div @click.stop style="display: inline-block">
|
||
<el-dropdown trigger="click" @command="handleCommand2">
|
||
<i class="iconfont"></i>
|
||
<el-dropdown-menu slot="dropdown">
|
||
<el-dropdown-item :command="[scope.row, '查看']">查看</el-dropdown-item>
|
||
<el-dropdown-item
|
||
:v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'XPMLS6UV5HXG7C9ZR6B8' : '5ZC797XABNFV36KWJCA5'"
|
||
:command="[scope.row, '编辑']">
|
||
编辑
|
||
</el-dropdown-item>
|
||
<el-dropdown-item
|
||
:v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '4V4592SVLAZY9HMC8WHU' : '485WL3QHGRJ27H2XD34Z'"
|
||
:command="[scope.row, '删除']">
|
||
删除
|
||
</el-dropdown-item>
|
||
</el-dropdown-menu>
|
||
</el-dropdown>
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<pagination :total="total" @pageChange="pageChange1" @pageSizeChange="pageSizeChange1"></pagination>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 知识点新增 -->
|
||
<el-dialog
|
||
:title="KnowTitle"
|
||
:visible.sync="AddKnowledgDialog"
|
||
:before-close="AddKnowClose"
|
||
destroy-on-close
|
||
:close-on-click-modal="false"
|
||
width="600px">
|
||
<el-form ref="addForm" :model="addForm" :rules="addFormRules" class="label-input-form" label-width="130px">
|
||
<el-formItem label="标题" prop="title" class="add-form-item">
|
||
<el-input v-model="addForm.title" placeholder="请输入标题"></el-input>
|
||
</el-formItem>
|
||
<el-formItem label="内容" prop="content" class="add-form-item">
|
||
<el-input v-model="addForm.content" :autosize="{ minRows: 3, maxRows: 4}" resize="none" type="textarea"
|
||
placeholder="请输入内容"></el-input>
|
||
</el-formItem>
|
||
<el-formItem label="附件" prop="files" class="add-form-item">
|
||
<el-upload
|
||
style="margin-top: 15px;"
|
||
multiple
|
||
drag
|
||
:show-file-list="showUploadlist2"
|
||
:on-success="uploadSuccess1"
|
||
:before-upload="beforeUpload1"
|
||
:on-remove="removeOneFile1"
|
||
:action="importExcelUrl"
|
||
name="file"
|
||
:file-list="defaultFileList"
|
||
ref="importFileAboutStand">
|
||
<i class="el-icon-upload"></i>
|
||
<div class="el-upload__text">点击或拖拽上传文件</div>
|
||
</el-upload>
|
||
</el-formItem>
|
||
</el-form>
|
||
<div slot="footer" class="demo-drawer-footer">
|
||
<el-button type="primary" size="mini" class="common-button-primary" :loading="AddKnowSubLoading"
|
||
icon="el-icon-check" @click="AddKnowSub">
|
||
确定
|
||
</el-button>
|
||
<el-button class="common-button-default" icon="el-icon-close" @click="AddKnowClose">取消</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 查看知识点详情-->
|
||
<el-dialog
|
||
title="查看"
|
||
:visible.sync="AddKnowledgDialogItem"
|
||
destroy-on-close
|
||
class="myDialog"
|
||
width="60%">
|
||
<div class="basic-information-content">
|
||
<p><label>标题:</label><span>{{ knowSee.title }}</span></p>
|
||
<p><label>内容:</label><span>{{ knowSee.content }}</span></p>
|
||
<p><label>附件:</label>
|
||
<span
|
||
class="fileCss"
|
||
v-for="(item,index) in knowSee.fileList"
|
||
@click="downloadFile(item.id)"
|
||
:key="index">{{ item.oldFileName }}</span>
|
||
</p>
|
||
<p><label>发布时间:</label><span>{{
|
||
knowSee.creationTime ? $moment(knowSee.creationTime).format('YYYY-MM-DD') : ''
|
||
}}</span></p>
|
||
</div>
|
||
</el-dialog>
|
||
|
||
<el-dialog
|
||
title="比对"
|
||
class="myDialog1"
|
||
:before-close="comparisonClose"
|
||
:visible.sync="comparisonDialog">
|
||
<div class="search-area">
|
||
<el-form :inline="true" class="label-input-form">
|
||
<el-form-item label="关键字" class="search-item">
|
||
<el-input v-model="comparisonTitle" placeholder="请输入关键字"></el-input>
|
||
</el-form-item>
|
||
<el-form-item class="search-item btn-box">
|
||
<el-button
|
||
icon="el-icon-search"
|
||
type="primary"
|
||
class="common-button-primary"
|
||
size="mini"
|
||
@click="getComparison()">
|
||
</el-button>
|
||
<el-button
|
||
class="common-button-default"
|
||
icon="el-icon-refresh-left"
|
||
size="mini"
|
||
@click="clearComparison()"></el-button>
|
||
<el-button type="primary" class="common-button-primary" size="mini" @click="addComparison">
|
||
<i class="iconfont"></i>新增
|
||
</el-button>
|
||
</el-form-item>
|
||
</el-form>
|
||
</div>
|
||
<div class="action-bar">
|
||
<div class="myRadio">
|
||
<template>
|
||
<el-radio-group v-for="(item, index) in comparisonList" :key="index" v-model="comparisonId">
|
||
<el-radio :label="item.id">{{ item.listName }}</el-radio>
|
||
<br>
|
||
</el-radio-group>
|
||
</template>
|
||
</div>
|
||
<div slot="footer" class="demo-drawer-footer">
|
||
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check"
|
||
@click="comparisonSub">
|
||
确定
|
||
</el-button>
|
||
<el-button class="common-button-default" icon="el-icon-close" @click="comparisonClose">取消</el-button>
|
||
</div>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 新增清单抽屉 -->
|
||
<el-drawer
|
||
title="比对清单新增"
|
||
:visible.sync="AddcomparisonDrawer"
|
||
size="800px"
|
||
destroy-on-close
|
||
>
|
||
<div class="demo-drawer-content">
|
||
<el-form
|
||
ref="listVO"
|
||
:model="listVO"
|
||
:rules="listVOFormRules"
|
||
class="label-input-form"
|
||
label-width="150px"
|
||
>
|
||
<el-form-item label="清单名称" prop="name" class="add-form-item">
|
||
<el-input v-model.trim="listVO.name" placeholder="请输入清单名称" clearable/>
|
||
</el-form-item>
|
||
<el-form-item label="是否公开" prop="public" class="add-form-item">
|
||
<el-radio-group v-model="listVO.public"
|
||
style="margin-bottom: 0px; display: flex; align-items: center; height: 50px;">
|
||
<el-radio :label="true">是</el-radio>
|
||
<el-radio :label="false">否</el-radio>
|
||
</el-radio-group>
|
||
</el-form-item>
|
||
</el-form>
|
||
</div>
|
||
<div id="listFormButton" class="demo-drawer-footer">
|
||
<el-button class="common-button-primary" icon="el-icon-check" type="primary"
|
||
@click="submitDrawerForm('listVO')">
|
||
确定
|
||
</el-button>
|
||
<el-button class="common-button-default" icon="el-icon-close" @click="AddcomparisonDrawer = false">取消
|
||
</el-button>
|
||
</div>
|
||
</el-drawer>
|
||
<!-- 导入失败-->
|
||
<el-dialog :visible.sync="importFailed" :close-on-click-modal="false" width="400px">
|
||
<p slot="title" style="color:#f60">
|
||
<span>导入失败</span>
|
||
</p>
|
||
<div style="max-height: 300px;overflow: auto;padding: 10px 0;">
|
||
<p v-html="importForm.content"></p>
|
||
</div>
|
||
<div slot="footer" class="demo-drawer-footer">
|
||
<el-button type="primary" size="mini" class="common-button-default" icon="el-icon-check"
|
||
@click="importFailed = false">
|
||
确认
|
||
</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
<loading :loading="loading">数据获取中</loading>
|
||
|
||
<!-- 关联条款抽屉-->
|
||
<el-drawer
|
||
ref="relatedTermsDrawer"
|
||
:show-close="true"
|
||
:wrapperClosable="false"
|
||
size="800px"
|
||
title="关联条款"
|
||
:visible.sync="relatedTermsDrawerVisible"
|
||
destroy-on-close
|
||
>
|
||
<div class="demo-drawer-content">
|
||
<related-terms-select
|
||
ref="relatedTermsSelect"
|
||
:fileType="fileType"
|
||
:stand-id="standId"
|
||
@close="closeRelatedTermsDrawer"
|
||
></related-terms-select>
|
||
</div>
|
||
<div class="demo-drawer-footer">
|
||
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" :loading="btnLoading"
|
||
@click="handleRelatedTermsDrawerSubmit">
|
||
{{ $t('m.submit') }}
|
||
</el-button>
|
||
<el-button class="common-button-default" size="mini" icon="el-icon-close"
|
||
@click="handleRelatedTermsDrawerCancel">
|
||
{{ $t('m.cancel') }}
|
||
</el-button>
|
||
</div>
|
||
</el-drawer>
|
||
<!--内容简介-->
|
||
<el-dialog :visible.sync="itemsTextDialogs" title="内容简介" :close-on-click-modal="false">
|
||
<div v-html="itemsText" class="itemsTextBox"></div>
|
||
<div slot="footer">
|
||
<el-button type="primary" size="large" @click="itemsTextDialogs = false">关闭</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
</div>
|
||
</template>
|
||
<script>
|
||
import PutQuestionButton from '@/components/PutQuestionButton'
|
||
import CustomSVPPS from '@/components/CustomFormComponents/SVPPS'
|
||
import CustomOrg from '@/components/CustomFormComponents/OrgTree'
|
||
import {dateFormat} from '@/common/date'
|
||
import RelatedTermsSelect from './components/RelatedTermsSelect'
|
||
|
||
export default {
|
||
name: 'OtherStandardDetails',
|
||
components: {
|
||
PutQuestionButton,
|
||
CustomSVPPS,
|
||
CustomOrg,
|
||
RelatedTermsSelect
|
||
},
|
||
data() {
|
||
return {
|
||
itemExistList:[],
|
||
interpretationContent: '',
|
||
relatedTermsDrawerVisible: false,
|
||
btnLoading: false,
|
||
comparisonTitle: '',
|
||
AddKnowSubLoading: false,
|
||
listVO: {
|
||
name: '',
|
||
public: false
|
||
},
|
||
listVOFormRules: {
|
||
name: [
|
||
{required: true, message: '名称不能为空', trigger: 'blur'},
|
||
{type: 'string', max: 100, message: '名称不能超过100个字符', trigger: 'blur'}
|
||
]
|
||
},
|
||
AddcomparisonDrawer: false,
|
||
comparisonId: '',
|
||
comparisonList: [],
|
||
comparisonDialog: false,
|
||
knowSee: [],
|
||
AddKnowledgDialogItem: false,
|
||
showUploadlist2: true, // 导入过程中新增数据时,如果数据错误,不出现导入列表
|
||
importFileFormat: [],
|
||
knowId: '',
|
||
knowType: '',
|
||
KnowTitle: '',
|
||
knowIdList: '',
|
||
order:'',
|
||
orderBy:'',
|
||
total7: 0,
|
||
page7: 1,
|
||
pageSize7: this.$store.getters.userInfo.configContent,
|
||
addForm: {
|
||
title: '',
|
||
content: '',
|
||
fileId: ''
|
||
},
|
||
addFormRules: {
|
||
title: [
|
||
{required: true, message: '标题不能为空', trigger: 'blur'},
|
||
{type: 'string', max: 200, message: '标题不能超过200个字符', trigger: 'change'}
|
||
],
|
||
content: [
|
||
{required: true, message: '内容不能为空', trigger: 'blur'},
|
||
{type: 'string', max: 200, message: '内容不能超过200个字符', trigger: 'change'}
|
||
]
|
||
},
|
||
total: 0,
|
||
pageNo: 1,
|
||
pageSize: 10,
|
||
knowList: [],
|
||
AddKnowledgDialog: false,
|
||
knowledgeSharingDialog: false,
|
||
relateDialog: false,
|
||
relateList: [],
|
||
relateNowList: [],
|
||
loading: false,
|
||
showItemInfoModal: false,
|
||
standShowItemEO: {},
|
||
// 提交状态
|
||
isSubmit: false,
|
||
zNodesSItem: [],
|
||
zNodesSItemEngin: [],
|
||
zNodesSItemFO: [],
|
||
sarStandardsInfoEO: {
|
||
id: '',
|
||
standType: 'INLAND', // 标准分类
|
||
country: 'CN',
|
||
standSort: '',
|
||
applyArctic: '',
|
||
standNumber: '',
|
||
standYear: '',
|
||
standName: '',
|
||
standEnName: '',
|
||
standState: '',
|
||
standNature: '',
|
||
replaceStandNum: '',
|
||
replacedStandNum: '',
|
||
interStandNum: '',
|
||
adoptExtent: '',
|
||
emergyKind: '',
|
||
registerPutTime: '',
|
||
applyAuth: '',
|
||
issueTime: '',
|
||
putTime: '',
|
||
newcarPutTime: '',
|
||
productPutTime: '',
|
||
newproductPutTime: '',
|
||
draftingUnit: '',
|
||
draftUser: '',
|
||
standFile: '',
|
||
standModifyFile: '',
|
||
draftFile: '',
|
||
opinionFile: '',
|
||
sentScreenFile: '',
|
||
approvalFile: '',
|
||
relevanceFile: '',
|
||
standFileList: [],
|
||
standModifyFileList: [],
|
||
draftFileList: [],
|
||
opinionFileList: [],
|
||
sentScreenFileList: [],
|
||
approvalFileList: [],
|
||
relevanceFileList: [],
|
||
tags: '',
|
||
synopsis: '',
|
||
responsibleUnit: '',
|
||
category: '',
|
||
remark: '',
|
||
}, // 标准新增过程中用到的对象
|
||
standItemEO: {
|
||
id: '',
|
||
standId: '',
|
||
itemsNum: '',
|
||
itemsName: '',
|
||
parts: '',
|
||
mainPointImplementation: '', // 实施要点
|
||
termsConditions: '', // 内容简介
|
||
tackTime: '',
|
||
applyArctic: '', // 试用车型
|
||
energyKind: '', // 能源种类
|
||
responsibleUnit: '',
|
||
remarks: '',
|
||
orgName: '',
|
||
quoteStand: '',
|
||
relevanceFile: '',
|
||
fo: '',
|
||
foShow: '',
|
||
dutyEngineer: '',
|
||
dutyEngineerShow: '',
|
||
svpps: '',
|
||
claimType: '',
|
||
busStandCover: '',
|
||
fileType: '',
|
||
ZRBM: '',
|
||
FO: ''
|
||
}, // 标准条款新增过程中用到对象
|
||
standItemEODefault: {
|
||
id: '',
|
||
standId: '',
|
||
itemsNum: '',
|
||
itemsName: '',
|
||
parts: '',
|
||
mainPointImplementation: '', // 实施要点
|
||
termsConditions: '', // 内容简介
|
||
tackTime: '',
|
||
applyArctic: '', // 试用车型
|
||
energyKind: '', // 能源种类
|
||
responsibleUnit: '',
|
||
remarks: '',
|
||
orgName: '',
|
||
quoteStand: '',
|
||
relevanceFile: '',
|
||
fo: '',
|
||
foShow: '',
|
||
dutyEngineer: '',
|
||
dutyEngineerShow: '',
|
||
svpps: '',
|
||
claimType: '',
|
||
busStandCover: '',
|
||
fileType: '',
|
||
ZRBM: '',
|
||
FO: ''
|
||
},
|
||
applyArcticOptions: [], // 适用车辆类型下拉框
|
||
emergyKindOptions: [], // 能源种类下拉框
|
||
requestOptions: [],
|
||
BZFGGXOUIUJ: [], // 企标覆盖关系
|
||
itemModalTitle: '',
|
||
modalItemaddShowflag: false,
|
||
itemAddOrUPdateFlag: '',
|
||
itemFormdisableflag: false, // 查看标准条款不可编辑
|
||
recommendList: [],
|
||
showModalTitle: '查看分解单',
|
||
replaceNumList: [],
|
||
replacedNumList: [],
|
||
// 代替,被代替标准号页面跳转
|
||
replaceStandInfoEO: {},
|
||
personCookieEO: {
|
||
cookieType: '',
|
||
resTitle: '',
|
||
resId: ''
|
||
},
|
||
saveStandType: this.$route.params.pageType,
|
||
opinionsProcessList: [], // 标准征求意见审批流程
|
||
notifiProcessList: [], // 标准法规实施通知及排查流程
|
||
modalStandItemflag: false,
|
||
tableLoading: false,
|
||
standItemSearch: {
|
||
XCXSSRQ: '',
|
||
ZCCSSRQ: '',
|
||
standId: '',
|
||
fileType: '',
|
||
itemsName: '',
|
||
pageSize: this.$store.getters.userInfo.configContent,
|
||
page: 1,
|
||
},
|
||
standitemTotal: 0,
|
||
searching: false,
|
||
searchInlandNodes: [], // 条款部门选择树形结构
|
||
standItemList: [],
|
||
tableHeight: null,
|
||
selectedItemList: [],
|
||
sarStandardItemRules: {
|
||
itemsNum: [
|
||
{required: true, message: '条款号不能为空', trigger: 'change'},
|
||
{required: true, validator: this.verify.validateStandardItem, trigger: 'change'},
|
||
{type: 'string', max: 100, message: '条款号不能超过100个字符', trigger: 'change'},
|
||
{validator: this.validCode, trigger: 'blur'}
|
||
],
|
||
itemsName: [
|
||
{required: true, message: '条款名称不能为空', trigger: 'change'},
|
||
{type: 'string', max: 100, message: '条款名称不能超过100个字符', trigger: 'change'}
|
||
// {type: 'string', validator: this.verify.checkSpecialCharacter, trigger: 'blur'}
|
||
],
|
||
// mainPointImplementation: [
|
||
// {type: 'string', max: 255, message: '实施要点不能超过255个字符', trigger: 'blur'}
|
||
// // {type: 'string', validator: this.verify.checkSpecialCharacter, trigger: 'blur'}
|
||
// ],
|
||
termsConditions: [
|
||
{required: true, message: '内容简介不能为空', trigger: 'change'},
|
||
{type: 'string', max: 500, message: '内容简介不能超过500个字符', trigger: 'change'}
|
||
// {type: 'string', validator: this.verify.checkSpecialCharacter, trigger: 'blur'}
|
||
],
|
||
responsibleUnit: [
|
||
{required: true, message: '责任部门不能为空', trigger: 'change'}
|
||
],
|
||
fo: [
|
||
{required: true, message: 'fo不能为空', trigger: 'change'}
|
||
// {type: 'string', max: 100, message: 'fo不能超过100个字符', trigger: 'change'}
|
||
// {type: 'string', validator: this.verify.checkSpecialCharacter2, trigger: 'blur'}
|
||
],
|
||
FO: [
|
||
{required: true, message: 'FO不能为空', trigger: 'change'}
|
||
// {type: 'string', max: 100, message: 'fo不能超过100个字符', trigger: 'change'}
|
||
// {type: 'string', validator: this.verify.checkSpecialCharacter2, trigger: 'blur'}
|
||
],
|
||
dutyEngineer: [
|
||
{required: true, message: '责任工程师不能为空', trigger: 'change'}
|
||
// {type: 'string', validator: this.verify.checkSpecialCharacter2, trigger: 'blur'}
|
||
],
|
||
svpps: [
|
||
{required: true, message: 'svpps不能为空', trigger: 'change'}
|
||
// {type: 'string', validator: this.verify.checkSpecialCharacter2, trigger: 'blur'}
|
||
],
|
||
// tackTime: [],
|
||
applyArctic: [
|
||
{type: 'Array', validator: this.verify.valiCategory, trigger: 'change'}
|
||
],
|
||
claimType: [
|
||
{required: true, message: '要求类型不能为空', trigger: 'change'}
|
||
],
|
||
busStandCover: [
|
||
{required: true, message: '企标覆盖关系不能为空', trigger: 'change'}
|
||
// {type: 'string', validator: this.verify.checkSpecialCharacter2, trigger: 'blur'}
|
||
],
|
||
// energyKind: [
|
||
// {type: 'Array', validator: this.verify.valiCategory, trigger: 'change'}
|
||
// ],
|
||
// orgName
|
||
remarks: [
|
||
{type: 'string', max: 1000, message: '备注不能超过1000个字符', trigger: 'change'}
|
||
// {validator: this.verify.checkSpecialCharacter, trigger: 'blur'}
|
||
]
|
||
},
|
||
importModalshowflag: false,
|
||
showUploadlist: true, // 导入过程中新增数据时,如果数据错误,不出现导入列表
|
||
importExcelUrl: 'api/att/attFile/upload', // 导入EXCEL文档
|
||
exportModelFlag: false,
|
||
exportName: {},
|
||
standardForm: {},
|
||
defaultFileList: [], // 默认显示
|
||
currentFileList: '', // 当前操作的是哪个FormItem的上传
|
||
importModalshowflagtemp: false,
|
||
currentFile: '', // 当前操作的是哪个FormItem的上传
|
||
dynamicFormField: [],
|
||
displayLocation: [],
|
||
isMoreAwayBtn: false,
|
||
fileType: '',
|
||
editAddType: 1, // 1 新增、 2、编辑
|
||
importFailed: false,
|
||
importForm: {
|
||
content: ''
|
||
},
|
||
itemsText: '',
|
||
itemsTextDialogs: false,
|
||
textStatusMap: {},
|
||
standMap: {}
|
||
}
|
||
},
|
||
props: {},
|
||
watch: {},
|
||
methods: {
|
||
judgeSuffix(fileName){
|
||
if ('pdf'===fileName.substring(fileName.lastIndexOf('.') + 1)){
|
||
return true;
|
||
}else return false;
|
||
},
|
||
ocrFunction(file){
|
||
return "ocr"
|
||
},
|
||
FormatDate(date) {
|
||
return moment(date).format('YYYY-MM-DD');
|
||
},
|
||
// 将文本状态的id与name对应
|
||
setMap(data) {
|
||
data.forEach(item => {
|
||
this.$set(this.textStatusMap, item.value, item.label)
|
||
this.$set(this.standMap, item.value, item.label)
|
||
})
|
||
},
|
||
statusClick() {
|
||
let routeUrl = this.$router.resolve({
|
||
name: 'standInvolveProjectTwo',
|
||
query: {
|
||
resId: this.sarStandardsInfoEO.id
|
||
}
|
||
})
|
||
window.open(routeUrl.href, '_blank')
|
||
},
|
||
closeDrawer() {
|
||
this.modalStandItemflag = false
|
||
},
|
||
clearComparison() {
|
||
this.comparisonTitle = ''
|
||
this.getComparison()
|
||
},
|
||
// 验证条款号是否唯一
|
||
validCode(rule, value, callback) {
|
||
let find = 0
|
||
this.standItemList.map(item => {
|
||
if (item.itemsNum === value) {
|
||
find++
|
||
}
|
||
})
|
||
if (find > 1 && this.editAddType === 2) {
|
||
return callback(new Error('条款号已存在'))
|
||
} else if (find > 0 && this.editAddType === 1) {
|
||
return callback(new Error('条款号已存在'))
|
||
}
|
||
callback()
|
||
},
|
||
// 新增清单
|
||
submitDrawerForm(name) {
|
||
this.$refs[name].validate((valid) => {
|
||
if (valid) {
|
||
const formData = {
|
||
listName: this.listVO.name,
|
||
publicFlag: this.listVO.public ? '1' : '0' // 0: 不公开 1: 公开
|
||
}
|
||
this.$http.postData('lawss/sarStandCompareBase/saveSarStandCompareBase', formData,
|
||
{
|
||
_this: this,
|
||
loading: 'tableDataLoading'
|
||
}, res => {
|
||
if (res.ok) {
|
||
this.AddcomparisonDrawer = false
|
||
this.getComparison()
|
||
} else {
|
||
}
|
||
})
|
||
} else {
|
||
}
|
||
})
|
||
},
|
||
// 比对提交
|
||
comparisonSub() {
|
||
if (this.comparisonId === '') {
|
||
this.$message.error('请选择比对清单')
|
||
} else {
|
||
let standNum = ''
|
||
const item = this.sarStandardsInfoEO
|
||
if (item.standYear) {
|
||
standNum = `${item.standSortShow} ${item.standNumber}-${item.standYear}`
|
||
} else {
|
||
standNum = `${item.standSortShow} ${item.standNumber}`
|
||
}
|
||
const formData = {
|
||
compareBaseId: this.comparisonId,
|
||
list: [{
|
||
country: this.sarStandardsInfoEO.countryShow,
|
||
standNum: standNum,
|
||
standName: this.sarStandardsInfoEO.standName,
|
||
standId: this.sarStandardsInfoEO.id,
|
||
standType: this.$route.params.pageType
|
||
}]
|
||
}
|
||
this.$http.postData('lawss/SarStandCompareList/save', formData, {
|
||
_this: this
|
||
}, res => {
|
||
if (res.ok) {
|
||
this.$router.push({
|
||
name: 'ViewStandardComparisonLibrary',
|
||
params: {
|
||
listId: this.comparisonId
|
||
}
|
||
})
|
||
}
|
||
})
|
||
}
|
||
},
|
||
// 比对关闭
|
||
comparisonClose() {
|
||
this.comparisonTitle = ''
|
||
this.comparisonId = ''
|
||
this.comparisonDialog = false
|
||
},
|
||
// 获取清单
|
||
getComparison() {
|
||
this.$http.get('lawss/sarStandCompareBase/page', {
|
||
listName: this.comparisonTitle,
|
||
page: '1',
|
||
pageSize: '99999',
|
||
publicFlag: 1
|
||
}, {
|
||
_this: this
|
||
}, res => {
|
||
if (res.ok) {
|
||
this.comparisonList = res.data.list
|
||
}
|
||
})
|
||
},
|
||
// 打开比对模态框
|
||
comparisonDialogOpen() {
|
||
this.comparisonDialog = true
|
||
this.getComparison()
|
||
},
|
||
// 比对新增
|
||
addComparison() {
|
||
this.AddcomparisonDrawer = true
|
||
this.listVO.name = ''
|
||
this.listVO.public = false
|
||
},
|
||
beforeUpload1(file) {
|
||
var filename = file.name
|
||
var index1 = filename.lastIndexOf('.')
|
||
var index2 = filename.length
|
||
var fileSuffix = filename.substring(index1, index2)
|
||
if (fileSuffix === '.pdf' || fileSuffix === '.doc' || fileSuffix === '.docx' || fileSuffix === '.PDF' || fileSuffix === '.ppt' || fileSuffix === '.pptx') {
|
||
return true
|
||
} else {
|
||
this.$message.error('文件' + file.name + '格式不正确,请上传doc、docx、ppt、pptx、pdf、或PDF文件')
|
||
return false
|
||
}
|
||
// 判断文件上传大小
|
||
if (file.size / 1024 / 1024 > 200) {// eslint-disable-line
|
||
this.$message.error('文件' + file.name + '大小不超过200M')
|
||
return false
|
||
}
|
||
return true
|
||
},
|
||
uploadSuccess1(res, file, fileList) {
|
||
if (res.ok) {
|
||
this.addForm.fileId += res.data.id + ','
|
||
this.$message({
|
||
message: '文件上传成功',
|
||
type: 'success'
|
||
})
|
||
} else {
|
||
this.importFailed = true
|
||
this.importForm.content = res.message
|
||
}
|
||
},
|
||
removeOneFile1(file, fileList) {
|
||
let ids = this.addForm.fileId.split(',')
|
||
if (file.response) {
|
||
let fileIds = file.response.data.id
|
||
let newIdList = this.removeAaary(ids, fileIds)
|
||
this.addForm.fileId = newIdList.join(',')
|
||
}
|
||
},
|
||
// 删除数组中的某个对象
|
||
removeAaary(_arr, _obj) {
|
||
var length = _arr.length
|
||
for (var i = 0; i < length; i++) {
|
||
if (_arr[i] === _obj) {
|
||
if (i === 0) {
|
||
_arr.shift() // 删除并返回数组的第一个元素
|
||
return _arr
|
||
} else if (i === length - 1) {
|
||
_arr.pop() // 删除并返回数组的最后一个元素
|
||
return _arr
|
||
} else {
|
||
_arr.splice(i, 1) // 删除下标为i的元素
|
||
return _arr
|
||
}
|
||
}
|
||
}
|
||
},
|
||
handleSelectionKnow(val) {
|
||
this.knowIdList = ''
|
||
val.map((item, index) => {
|
||
if (val.length === 1) {
|
||
this.knowIdList += item.id
|
||
} else if (index === val.length - 1) {
|
||
this.knowIdList += item.id
|
||
} else if (val.length > 1) {
|
||
this.knowIdList += item.id + ','
|
||
}
|
||
})
|
||
},
|
||
// 确定新增
|
||
AddKnowSub() {
|
||
this.$refs['addForm'].validate((valid) => {
|
||
if (valid) {
|
||
this.AddKnowSubLoading = true
|
||
if (this.knowType === 1) {
|
||
this.$http.postData('lawss/sarKnowledgeShare/addKnowShare', {
|
||
content: this.addForm.content,
|
||
title: this.addForm.title,
|
||
sarId: this.$route.params.id,
|
||
sarType: this.$route.params.pageType,
|
||
file: this.addForm.fileId
|
||
}, {
|
||
_this: this
|
||
}, res => {
|
||
if (res.ok) {
|
||
this.AddKnowClose()
|
||
this.getKnowList()
|
||
this.AddKnowSubLoading = false
|
||
} else {
|
||
this.AddKnowSubLoading = false
|
||
}
|
||
})
|
||
} else {
|
||
this.$http.putData('lawss/sarKnowledgeShare/updateKnowShare', {
|
||
content: this.addForm.content,
|
||
title: this.addForm.title,
|
||
sarId: this.$route.params.id,
|
||
sarType: this.$route.params.pageType,
|
||
file: this.addForm.fileId,
|
||
id: this.knowId
|
||
}, {
|
||
_this: this
|
||
}, res => {
|
||
if (res.ok) {
|
||
this.AddKnowClose()
|
||
this.getKnowList()
|
||
this.AddKnowSubLoading = false
|
||
} else {
|
||
this.AddKnowSubLoading = false
|
||
}
|
||
})
|
||
}
|
||
}
|
||
})
|
||
},
|
||
// 关闭知识点新增
|
||
AddKnowClose() {
|
||
this.defaultFileList = []
|
||
this.addForm.title = ''
|
||
this.addForm.content = ''
|
||
this.addForm.fileId = ''
|
||
this.knowId = ''
|
||
this.AddKnowledgDialog = false
|
||
},
|
||
//查看分解单分页
|
||
pageChange7(page) {
|
||
this.page7 = page
|
||
this.selectSarStandItems()
|
||
},
|
||
pageSizeChange7(pageSize) {
|
||
this.pageSize7 = pageSize
|
||
this.selectSarStandItems()
|
||
},
|
||
// 知识点分页
|
||
pageChange1(page) {
|
||
this.pageNo = page
|
||
this.getKnowList()
|
||
},
|
||
pageSizeChange1() {
|
||
this.getKnowList()
|
||
},
|
||
knowledgeSharing() {
|
||
this.knowledgeSharingDialog = true
|
||
this.getKnowList()
|
||
},
|
||
// 获取知识点列表数据
|
||
getKnowList() {
|
||
this.$http.get('lawss/sarKnowledgeShare/page', {
|
||
sarId: this.$route.params.id,
|
||
sarType: this.$route.params.pageType,
|
||
page: this.pageNo,
|
||
pageSize: this.$store.getters.userInfo.configContent
|
||
}, {
|
||
_this: this
|
||
}, res => {
|
||
if (res.ok) {
|
||
this.knowList = res.data.list
|
||
this.total = res.data.count
|
||
}
|
||
})
|
||
},
|
||
handleCommand2(command) {
|
||
switch (command[1]) {
|
||
case '查看':
|
||
this.handleKnow(command[0])
|
||
break
|
||
case '编辑':
|
||
this.addknowledge(2, command[0])
|
||
break
|
||
case '删除':
|
||
this.deleteknowledge(1, command[0])
|
||
break
|
||
}
|
||
},
|
||
// 查看知识点
|
||
handleKnow(row) {
|
||
this.AddKnowledgDialogItem = true
|
||
this.knowSee = row
|
||
},
|
||
// 点击新增知识点
|
||
addknowledge(type, row) {
|
||
this.knowType = type
|
||
if (type === 1) {
|
||
this.KnowTitle = '新增知识点'
|
||
this.AddKnowledgDialog = true
|
||
} else {
|
||
this.KnowTitle = '编辑知识点'
|
||
this.AddKnowledgDialog = true
|
||
this.addForm.title = row.title
|
||
this.addForm.content = row.content
|
||
this.knowId = row.id
|
||
this.addForm.fileId = row.file
|
||
let fileList = row.fileList
|
||
if (fileList != null && fileList.length > 0) {
|
||
for (let i = 0; i < fileList.length; i++) {
|
||
let obj = {name: '', response: {}}
|
||
obj.name = fileList[i].oldFileName
|
||
obj.response.data = fileList[i]
|
||
this.defaultFileList.push(obj)
|
||
}
|
||
}
|
||
}
|
||
},
|
||
// 删除知识点
|
||
deleteknowledge(type, row) {
|
||
// type = 2为批量删除 1为单条删除
|
||
var ids = ''
|
||
if (type === 2) {
|
||
if (this.knowIdList.length === 0) {
|
||
this.$message.warning('请选择要删除的数据')
|
||
return
|
||
}
|
||
ids = this.knowIdList
|
||
} else {
|
||
ids = row.id
|
||
}
|
||
let title = ''
|
||
if (type === 2) {
|
||
title = '确定删除选中数据?'
|
||
} else {
|
||
title = '确定删除此数据?'
|
||
}
|
||
this.$confirm(title, '提示', {
|
||
confirmButtonText: '确定',
|
||
cancelButtonText: '取消',
|
||
type: 'warning'
|
||
}).then(() => {
|
||
this.$http.put('lawss/sarKnowledgeShare/deleteKnowShare', {ids: ids}, {
|
||
_this: this
|
||
}, res => {
|
||
if (res.ok) {
|
||
this.getKnowList()
|
||
this.$message({
|
||
type: 'success',
|
||
message: '删除成功!'
|
||
})
|
||
} else {
|
||
this.$message({
|
||
type: 'error',
|
||
message: '删除失败'
|
||
})
|
||
}
|
||
})
|
||
}).catch(() => {
|
||
this.$message({
|
||
type: 'info',
|
||
message: '已取消删除'
|
||
})
|
||
})
|
||
},
|
||
// 代替标准编号
|
||
showReplaceStandInfo(item) {
|
||
this.replaceStandInfoEO.standNumber = item
|
||
// this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType
|
||
this.$http.get('sarStandardsInfo/sar-standards-info/queryInfoByStandNum', this.replaceStandInfoEO, {
|
||
_this: this
|
||
}, res => {
|
||
if (res.data != null) {
|
||
let routeUrl = this.$router.resolve({
|
||
name: 'OtherStandardDetails',
|
||
params: {
|
||
id: res.data.id,
|
||
pageType: this.$route.params.pageType
|
||
}
|
||
})
|
||
window.open(routeUrl.href, '_blank')
|
||
} else {
|
||
this.$message.error('标准号已不存在!')
|
||
}
|
||
}, e => {
|
||
})
|
||
},
|
||
clickButtonToUpload(current) {
|
||
this.currentFileList = current
|
||
this.currentFile = JSON.parse(JSON.stringify(current).replace('List', ''))
|
||
// this.importModalshowflagtemp = true
|
||
this.importModalshowflag = true
|
||
// this.$refs.importFileAboutStand.clearFiles()
|
||
this.defaultFileList = []
|
||
if (this.standItemEO[this.currentFile] === 'null' || this.standItemEO[this.currentFile] == null) {
|
||
this.standItemEO[this.currentFile] = ''
|
||
}
|
||
let fileList
|
||
if (this.standItemEO[this.currentFile] != null && this.standItemEO[this.currentFile] !== '') {
|
||
let paramefile = this.standItemEO[this.currentFile]
|
||
if (paramefile.charAt(paramefile.length - 1) === ',') {
|
||
paramefile = paramefile.substring(0, paramefile.length - 1)
|
||
}
|
||
this.$http.get('att/attFile/getMultiFileInfos', {
|
||
fileIds: paramefile
|
||
}, {
|
||
_this: this
|
||
}, res => {
|
||
fileList = res.data
|
||
if (fileList != null && fileList.length > 0) {
|
||
for (let i = 0; i < fileList.length; i++) {
|
||
let obj = {name: '', response: {}}
|
||
obj.name = fileList[i].oldFileName
|
||
obj.response.data = fileList[i]
|
||
this.defaultFileList.push(obj)
|
||
}
|
||
}
|
||
}, e => {
|
||
})
|
||
}
|
||
},
|
||
// 新增、编辑上传文件之前的钩子
|
||
beforeUpload(file) {
|
||
var filename = file.name
|
||
var index1 = filename.lastIndexOf('.')
|
||
var index2 = filename.length
|
||
var fileSuffix = filename.substring(index1, index2)
|
||
// const fileSuffix = file.name.split('.')[1] // 后缀名
|
||
// 判断上传文件格式
|
||
// if (fileSuffix === 'pdf' || fileSuffix === 'PDF' || fileSuffix === 'doc' || fileSuffix === 'docx' || fileSuffix === 'ppt' || fileSuffix === 'pptx') {
|
||
if (fileSuffix === '.xlsx') {
|
||
return true
|
||
} else {
|
||
// this.$message.error('文件' + file.name + '格式不正确,请上传pdf、PDF、doc、docx、ppt、pptx文件')
|
||
this.$message.error('文件' + file.name + '格式不正确,请上传xlsx文件')
|
||
return false
|
||
}
|
||
// 判断文件上传大小
|
||
if (file.size / 1024 / 1024 <= 200) {// eslint-disable-line
|
||
return true
|
||
} else {
|
||
this.$message.error('文件' + file.name + '大小不超过200M')
|
||
return false
|
||
}
|
||
return true
|
||
},
|
||
// 导入标准数据成功后执行
|
||
importFileSuccess(res, file, fileList) {
|
||
if (res.ok) {
|
||
// 使用字条款是否展示模态框判断导入的文件是标准,还是条款modalStandItemflag
|
||
// this.selectSarStandItems(this.standItemSearch.standId)
|
||
// this.showUploadlist = true
|
||
this.selectSarStandItems()
|
||
this.importModalshowflag = false
|
||
this.$message({
|
||
message: res.message,
|
||
type: 'success'
|
||
})
|
||
} else {
|
||
this.importFailed = true
|
||
this.importForm.content = res.message
|
||
this.showUploadlist = false
|
||
}
|
||
},
|
||
removeOneFile(file, fileList) {
|
||
// this.sarStandardsInfoEO[this.currentFileList] = this.removeAaary(this.sarStandardsInfoEO[this.currentFileList], file.response.data)
|
||
let ids = this.sarStandardsInfoEO[this.currentFile].split(',')
|
||
if (file.response) {
|
||
let fileIds = file.response.data.id
|
||
let newIdList = this.removeAaary(ids, fileIds)
|
||
let newStr = ''
|
||
if (newIdList != null && newIdList.length > 0) {
|
||
for (let i = 0; i < newIdList.length; i++) {
|
||
if (newIdList[i] !== '') {
|
||
newStr += newIdList[i] + ','
|
||
}
|
||
}
|
||
this.sarStandardsInfoEO[this.currentFile] = newStr
|
||
} else {
|
||
this.sarStandardsInfoEO[this.currentFile] = ''
|
||
}
|
||
}
|
||
},
|
||
// 导入文件大小超出范围
|
||
handleSizeError(file) {
|
||
this.$message.error('文件' + file.name + '大小不超过200M')
|
||
},
|
||
// 导入标准文件格式错误执行
|
||
handleFormatError(file) {
|
||
this.$message.error('文件' + file.name + '格式不正确,请上传以.xlsx结尾的excel文件')
|
||
},
|
||
// 子条款部门名称改变后
|
||
itemOrgNameChange() {
|
||
if (this.standItemEO.orgName === '') {
|
||
this.standItemEO.responsibleUnit = ''
|
||
}
|
||
this.getOrgTreeSource()
|
||
},
|
||
treeDblClickEngin(treeId, treeNode) {
|
||
this.standItemEO.dutyEngineer = treeNode.id
|
||
this.standItemEO.dutyEngineerShow = treeNode.name
|
||
$('#enginBtnS').click()
|
||
},
|
||
treeDblClickFO(treeId, treeNode) {
|
||
this.standItemEO.fo = treeNode.id
|
||
this.standItemEO.foShow = treeNode.name
|
||
$('#foBtnS').click()
|
||
},
|
||
// 标准条款新增
|
||
saveOrUpdateStandItem() {
|
||
this.$refs['sarStandardsItemForm'].validate((valid) => {
|
||
if (valid) {
|
||
let nowstandItem = JSON.parse(JSON.stringify(this.standItemEO))
|
||
nowstandItem.applyArctic = nowstandItem.applyArctic.join(',')
|
||
nowstandItem.standId = this.standItemSearch.standId
|
||
nowstandItem.fileType = this.fileType
|
||
// 新增
|
||
if (this.itemAddOrUPdateFlag === 1) {
|
||
this.$http.postData('lawss/sarStandItems/addSarStandItemsList', nowstandItem, {
|
||
_this: this,
|
||
loading: 'isSubmit'
|
||
}, res => {
|
||
this.selectSarStandItems(this.standItemSearch.standId)
|
||
this.resetForm()
|
||
}, e => {
|
||
})
|
||
} else {
|
||
// 修改
|
||
this.$http.postData('lawss/sarStandItems/updateStandItem', nowstandItem, {
|
||
_this: this,
|
||
loading: 'isSubmit'
|
||
}, res => {
|
||
this.selectSarStandItems(this.standItemSearch.standId)
|
||
this.standItemEO.responsibleUnit = ''
|
||
this.selectedItemList = []
|
||
this.resetForm()
|
||
}, e => {
|
||
})
|
||
}
|
||
} else {
|
||
this.$message.error('请检查表单是否填写正确!')
|
||
}
|
||
})
|
||
},
|
||
// 表单清空
|
||
resetForm() {
|
||
this.$nextTick(() => {
|
||
// this.$refs['sarStandardsItemForm'].resetFields()
|
||
this.$refs['sarStandardsItemForm'].clearValidate()
|
||
})
|
||
this.modalItemaddShowflag = false
|
||
},
|
||
selectAllStand(alldata) {
|
||
this.selectedItemList = []
|
||
for (let i = 0; i < alldata.length; i++) {
|
||
this.selectedItemList.push(alldata[i].id)
|
||
}
|
||
},
|
||
// 分页点击后方法
|
||
pageChange(page) {
|
||
this.standItemSearch.page = page
|
||
this.selectSarStandItems()
|
||
},
|
||
// 分页每页显示数改变后方法
|
||
pageSizeChange(pageSize) {
|
||
// this.standItemSearch.pageSize = this.$store.getters.userInfo.configContent
|
||
this.standItemSearch.pageSize = pageSize;
|
||
this.selectSarStandItems()
|
||
// 此处需要调用接口,修改个人配置
|
||
},
|
||
selectStandMessage() {
|
||
return new Promise((resolve, reject) => {
|
||
this.$http.get('sarStandardsInfo/sar-standards-info/getStandInfoById', {id: this.sarStandardsInfoEO.id}, {
|
||
_this: this
|
||
}, res => {
|
||
this.sarStandardsInfoEO = res.data || {}
|
||
this.itemExistList=this.sarStandardsInfoEO.attrInfoMap.itemExistList;
|
||
console.log("hllo",this.sarStandardsInfoEO);
|
||
if (this.sarStandardsInfoEO.issueTime != null && this.sarStandardsInfoEO.issueTime !== '') {
|
||
this.sarStandardsInfoEO.issueTime = this.sarStandardsInfoEO.issueTime.split(' ')[0]
|
||
}
|
||
if (this.sarStandardsInfoEO.putTime != null && this.sarStandardsInfoEO.putTime !== '') {
|
||
this.sarStandardsInfoEO.putTime = this.sarStandardsInfoEO.putTime.split(' ')[0]
|
||
}
|
||
// 代替标准号
|
||
if (this.sarStandardsInfoEO.replaceStandNum) {
|
||
this.sarStandardsInfoEO.replaceStandNum = this.sarStandardsInfoEO.replaceStandNum.replace(/<br \/>/g, '\r\n')
|
||
this.sarStandardsInfoEO.replaceStandNum = this.sarStandardsInfoEO.replaceStandNum.replace(/<br \/>/g, '\n')
|
||
}
|
||
if (this.sarStandardsInfoEO.replaceStandNum != null && this.sarStandardsInfoEO.replaceStandNum !== '') {
|
||
this.replaceNumList = this.sarStandardsInfoEO.replaceStandNum.split(',')
|
||
}
|
||
// // eslint-disable-next-line no-mixed-operators
|
||
Object.keys((this.sarStandardsInfoEO && this.sarStandardsInfoEO.attrInfoMap) || {}).forEach((key) => {
|
||
if (this.sarStandardsInfoEO.attrInfoMap[key]) {
|
||
this.sarStandardsInfoEO[key] = this.sarStandardsInfoEO.attrInfoMap[key]
|
||
}
|
||
})
|
||
this.addPersonCookie()
|
||
resolve(res.data)
|
||
}, e => {
|
||
reject(e)
|
||
})
|
||
})
|
||
},
|
||
// 新增浏览记录
|
||
addPersonCookie() {
|
||
this.personCookieEO.cookieType = this.$route.params.pageType
|
||
if (this.sarStandardsInfoEO.standYear != null && this.sarStandardsInfoEO.standYear !== '') {
|
||
this.personCookieEO.resTitle = this.sarStandardsInfoEO.standName + '(编号:' + this.sarStandardsInfoEO.standSortShow + ' ' + this.sarStandardsInfoEO.standNumber + '-' + this.sarStandardsInfoEO.standYear + ')'
|
||
} else {
|
||
this.personCookieEO.resTitle = this.sarStandardsInfoEO.standName + '(编号:' + this.sarStandardsInfoEO.standSortShow + ' ' + this.sarStandardsInfoEO.standNumber + ')'
|
||
}
|
||
this.personCookieEO.resId = this.$route.params.id
|
||
this.$http.postData('person/personCookies/create', this.personCookieEO, {
|
||
_this: this
|
||
}, res => {
|
||
}, e => {
|
||
})
|
||
},
|
||
// 获取组织机构数据
|
||
getOrgTreeSource() {
|
||
this.$http.get('sys/org/getTree', {}, {_this: this},
|
||
res => {
|
||
if (res.ok) {
|
||
let treeNode = []
|
||
res.data.map((item, index) => {
|
||
let treeItem = {}
|
||
for (let key in item) {
|
||
if (key === 'orgName') {
|
||
treeItem.name = item[key]
|
||
} else {
|
||
treeItem[key] = item[key]
|
||
}
|
||
}
|
||
treeNode[index] = treeItem
|
||
})
|
||
this.zNodesSItem = treeNode
|
||
this.searchInlandNodes = treeNode
|
||
}
|
||
}, e => {
|
||
})
|
||
},
|
||
getUserTreeSource() {
|
||
this.$http.get('sys/org/getTree', {}, {_this: this},
|
||
res => {
|
||
if (res.ok) {
|
||
let treeNode = []
|
||
res.data.map((item, index) => {
|
||
let treeItem = {}
|
||
for (let key in item) {
|
||
if (key === 'orgName') {
|
||
treeItem.name = item[key]
|
||
} else {
|
||
treeItem[key] = item[key]
|
||
}
|
||
}
|
||
treeNode[index] = treeItem
|
||
})
|
||
this.zNodesSItemEngin = treeNode
|
||
}
|
||
}, e => {
|
||
})
|
||
},
|
||
// 查询相近标准
|
||
selectCloseStand(id) {
|
||
let obj = {}
|
||
obj.id = id
|
||
let url = ''
|
||
url = 'lawss/sarStandardsInfo/selectCloseStand'
|
||
this.$http.get(url, obj, {
|
||
_this: this
|
||
}, res => {
|
||
if (res.ok) {
|
||
this.recommendList = res.data
|
||
}
|
||
}, e => {
|
||
})
|
||
},
|
||
openFileInPdf(attId, oldFileName) {
|
||
// 判断是否是图片格式,图片格式不预览,直接下载
|
||
let index1 = oldFileName.lastIndexOf('.')
|
||
let index2 = oldFileName.length
|
||
let fileSuffix = oldFileName.substring(index1, index2)
|
||
//把后缀转大写
|
||
if (fileSuffix !== undefined && fileSuffix !== null) {
|
||
fileSuffix = fileSuffix.toUpperCase()
|
||
}
|
||
// 判断上传文件格式
|
||
if (fileSuffix === '.PNG' || fileSuffix === '.JPG' || fileSuffix === '.JPEG') {
|
||
this.downloadFile(attId)
|
||
return true
|
||
}
|
||
// 缺少文件
|
||
if (this.$route.params.pageType === 'INLAND_STAND') {
|
||
if (this.$hasPermission('2d6ab9d465ab73d415194e1ca4313793')) {
|
||
this.$http.get('lawss/sarStandFile/queryConvertAtt', {
|
||
attId: attId
|
||
}, {
|
||
_this: this
|
||
}, res => {
|
||
|
||
console.log("res.data",res.data);
|
||
if (res.data) {
|
||
let fileObj = {}
|
||
fileObj.fileId = res.data.attId
|
||
fileObj.fileName = oldFileName
|
||
let fileList = []
|
||
let repeatData = 0
|
||
if (sessionStorage.getItem('fileInfo')) {
|
||
fileList = JSON.parse(sessionStorage.getItem('fileInfo'))
|
||
if (fileList != null && fileList.length > 0) {
|
||
for (let i = 0; i < fileList.length; i++) {
|
||
if (fileList[i].fileId === res.data.attId) {
|
||
repeatData = 1
|
||
break
|
||
}
|
||
}
|
||
if (repeatData === 0) {
|
||
fileList.push(fileObj)
|
||
fileList = JSON.stringify(fileList)
|
||
sessionStorage.setItem('fileInfo', fileList)
|
||
}
|
||
}
|
||
} else {
|
||
fileList.push(fileObj)
|
||
fileList = JSON.stringify(fileList)
|
||
sessionStorage.setItem('fileInfo', fileList)
|
||
}
|
||
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + res.data.attId))
|
||
} else {
|
||
this.$message.error('文档未转换成功或本地读取不到该文档')
|
||
}
|
||
}, e => {
|
||
this.$message.error('文档未转换成功或本地读取不到该文档')
|
||
})
|
||
} else {
|
||
this.$message.error('没有在线预览文档权限!')
|
||
}
|
||
} else {
|
||
// 国外在线预览权限
|
||
if (this.$hasPermission('ee684b4a9975f5d8a6dfe898c0332f98 ')) {
|
||
this.$http.get('lawss/sarStandFile/queryConvertAtt', {
|
||
attId: attId
|
||
}, {
|
||
_this: this
|
||
}, res => {
|
||
if (res.data) {
|
||
let fileObj = {}
|
||
fileObj.fileId = res.data.attId
|
||
fileObj.fileName = oldFileName
|
||
let fileList = []
|
||
let repeatData = 0
|
||
if (sessionStorage.getItem('fileInfo')) {
|
||
fileList = JSON.parse(sessionStorage.getItem('fileInfo'))
|
||
if (fileList != null && fileList.length > 0) {
|
||
for (let i = 0; i < fileList.length; i++) {
|
||
if (fileList[i].fileId === res.data.attId) {
|
||
repeatData = 1
|
||
break
|
||
}
|
||
}
|
||
if (repeatData === 0) {
|
||
fileList.push(fileObj)
|
||
fileList = JSON.stringify(fileList)
|
||
sessionStorage.setItem('fileInfo', fileList)
|
||
}
|
||
}
|
||
} else {
|
||
fileList.push(fileObj)
|
||
fileList = JSON.stringify(fileList)
|
||
sessionStorage.setItem('fileInfo', fileList)
|
||
}
|
||
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + res.data.attId))
|
||
} else {
|
||
this.$message.error('文档未转换成功或本地读取不到该文档')
|
||
}
|
||
}, e => {
|
||
this.$message.error('文档未转换成功或本地读取不到该文档')
|
||
})
|
||
} else {
|
||
this.$message.error('没有在线预览文档权限!')
|
||
}
|
||
}
|
||
},
|
||
showItemsModel(attField) {
|
||
this.fileType = attField
|
||
this.getOrgTreeSource()
|
||
this.selectedItemList = []
|
||
this.selectSarStandItems()
|
||
this.modalStandItemflag = true
|
||
this.$nextTick(() => {
|
||
this.tableHeight = $('.content').height()
|
||
window.onresize = function () {
|
||
this.tableHeight = $('.content').height()
|
||
}.bind(this)
|
||
})
|
||
},
|
||
sort(column){
|
||
this.order=column.order;
|
||
this.orderBy=column.prop;
|
||
this.selectSarStandItems();
|
||
},
|
||
// 分解单----查看标准条款相关
|
||
selectSarStandItems(id, flag) {
|
||
this.standItemSearch.standId = this.sarStandardsInfoEO.id
|
||
this.standItemSearch.fileType = this.fileType
|
||
this.$http.get('SarStandItems/sar-stand-items/querySarItemAndInterpretation', {
|
||
...this.standItemSearch,
|
||
pageSize: this.pageSize7, page: this.page7,order:this.order,orderBy:this.orderBy
|
||
}, {}, res => {
|
||
this.selectedItemList = []
|
||
if (res.ok) {
|
||
this.standItemList = res.data.list;
|
||
this.total7 = res.data.count // 分页需要
|
||
}
|
||
}, e => {
|
||
})
|
||
console.log(this.standItemSearch);
|
||
},
|
||
downloadFile(attId) {
|
||
if (attId != null && attId !== '') {
|
||
window.location.href = '/api/att/attFile/downloadFileForSar?fileId=' + attId
|
||
} else {
|
||
this.$message.error('请选择要下载的文件')
|
||
}
|
||
},
|
||
downloadFileByWater(attId, fileSuffix) {
|
||
if (fileSuffix !== 'pdf' && fileSuffix !== 'PDF') {
|
||
this.$message.error('水印下载仅支持PDF,pdf格式文件')
|
||
} else {
|
||
if (attId != null && attId !== '') {
|
||
window.location.href = '/api/att/attFile/downloadFileForSarWaterMark?fileId=' + attId + '&userId=' + this.$store.getters.userInfo.userId
|
||
} else {
|
||
this.$message.error('请选择要下载的文件')
|
||
}
|
||
}
|
||
},
|
||
/**
|
||
* @Description: 跳转流程
|
||
*/
|
||
processCenterClick(item) {
|
||
let routeUrl = this.$router.resolve({
|
||
name: 'ProcessDetail',
|
||
query: {
|
||
prcNum: item
|
||
}
|
||
})
|
||
window.open(routeUrl.href, '_blank')
|
||
},
|
||
searchSarStandItems() {
|
||
this.standItemSearch.page = 1
|
||
this.selectSarStandItems()
|
||
},
|
||
// 清空搜索框
|
||
clearAllSearch() {
|
||
// 标准条款搜索
|
||
this.standItemSearch.responsibleUnit = ''
|
||
this.standItemSearch.orgName = ''
|
||
this.standItemSearch.parts = ''
|
||
this.standItemSearch.nameOrRequest = ''
|
||
this.standItemSearch.fileType = ''
|
||
this.standItemSearch.itemsName=''
|
||
this.standItemSearch.ZCCSSRQ=''
|
||
this.standItemSearch.XCXSSRQ=''
|
||
this.selectSarStandItems()
|
||
},
|
||
inputChange() {
|
||
this.standItemSearch.responsibleUnit = ''
|
||
this.getOrgTreeSource()
|
||
},
|
||
searchInlandNodesClick(treeId, treeNode) {
|
||
this.standItemSearch.responsibleUnit = treeNode.id
|
||
this.standItemSearch.orgName = treeNode.name
|
||
$('#searchInlandDeptBtn').click()
|
||
},
|
||
// 点击条款表格上面的操作按钮新增
|
||
addItemModal() {
|
||
this.editAddType = 1
|
||
this.getOrgTreeSource()
|
||
this.itemModalTitle = '新增标准法规条款'
|
||
this.modalItemaddShowflag = true
|
||
this.standItemEO = {...this.standItemEODefault}
|
||
this.$nextTick(() => {
|
||
// this.$refs['sarStandardsItemForm'].resetFields()
|
||
this.$refs['sarStandardsItemForm'].clearValidate()
|
||
})
|
||
this.itemAddOrUPdateFlag = 1
|
||
this.itemFormdisableflag = false
|
||
},
|
||
// 模板下载
|
||
uploadImportModal(flag) {
|
||
window.open('/api/att/attFile/uploadModalFile?fileName=分解单导入模板.xlsx')
|
||
},
|
||
// 点击导入标准
|
||
addImportModal(flag) {
|
||
this.importModalshowflag = true
|
||
this.importExcelUrl = '/api/lawss/sarStandItems/importSarStandItemsList?standId=' + this.standItemSearch.standId + '&fileType=' + this.fileType
|
||
this.$nextTick(() => {
|
||
this.$refs.importFileAboutStand.clearFiles()
|
||
})
|
||
},
|
||
exportStandardItem() {
|
||
this.$confirm('您是否要导出数据?', '提示', {
|
||
confirmButtonText: '确定',
|
||
confirmButtonClass: 'common-button-primary',
|
||
cancelButtonText: '取消',
|
||
roundButton: false,
|
||
type: 'warning'
|
||
}).then(() => {
|
||
if (this.selectedItemList != null && this.selectedItemList.length > 0) {
|
||
window.open('/api/lawss/sarStandItems/exportStandardItemExcel?idList=' + this.selectedItemList.join(','))
|
||
this.$message.success('导出成功')
|
||
} else if (this.standItemList.length > 0) {
|
||
window.open('/api/lawss/sarStandItems/exportStandardItemExcel?standId=' + this.$route.params.id + '&fileType=' + this.fileType)
|
||
} else {
|
||
this.$message.warning('暂无可导出的数据')
|
||
}
|
||
}).catch(() => {
|
||
})
|
||
},
|
||
// 标准条款删除
|
||
deleteStandItem(item, flag) {
|
||
// flag==1 删除单条 flag==2 批量删除
|
||
let ids = []
|
||
if (flag === 1) {
|
||
// item的id
|
||
ids.push(item.id)
|
||
// ids.push(this.standItemEO.id)
|
||
this.$confirm('确认删除该条数据?', '提示', {
|
||
confirmButtonText: '确定',
|
||
cancelButtonText: '取消',
|
||
type: 'warning',
|
||
confirmButtonClass: 'common-button-primary',
|
||
roundButton: false
|
||
}).then(() => {
|
||
this.$http.post('lawss/sarStandItems/deleteStandItem', {
|
||
id: ids,
|
||
standId: this.standItemSearch.standId
|
||
}, {
|
||
_this: this
|
||
}, res => {
|
||
if (res.ok) {
|
||
this.selectSarStandItems(this.standItemSearch.standId, 1)
|
||
this.selectedItemList = []
|
||
}
|
||
}, e => {
|
||
})
|
||
}).catch(() => {
|
||
// 取消删除,清空选择
|
||
// this.$refs.selections.clearSelection()
|
||
})
|
||
} else {
|
||
if (this.selectedItemList.length === 0) {
|
||
this.$message.error('请先选择要删除的数据!')
|
||
} else {
|
||
ids = this.selectedItemList
|
||
this.$confirm('确认删除选中数据?', '提示', {
|
||
confirmButtonText: '确定',
|
||
cancelButtonText: '取消',
|
||
type: 'warning'
|
||
}).then(() => {
|
||
this.$http.post('lawss/sarStandItems/deleteStandItem', {
|
||
id: ids,
|
||
standId: this.standItemSearch.standId
|
||
}, {
|
||
_this: this
|
||
}, res => {
|
||
this.selectSarStandItems(this.standItemSearch.standId, 1)
|
||
this.selectedItemList = []
|
||
}, e => {
|
||
})
|
||
}).catch(() => {
|
||
// 取消删除,清空选择
|
||
// this.$refs.selections.clearSelection()
|
||
})
|
||
}
|
||
}
|
||
},
|
||
// 分解单-查看
|
||
handlePreview(item) {
|
||
this.standShowItemEO = item
|
||
this.showItemInfoModal = true
|
||
let fileList = []
|
||
item.defaultFileList = []
|
||
|
||
|
||
if (this.standShowItemEO.tackTime != null && this.standShowItemEO.tackTime !== '') {
|
||
this.standShowItemEO.tackTime = this.standShowItemEO.tackTime.split(' ')[0]
|
||
}
|
||
this.standShowItemEO.responsibleUnit = this.standShowItemEO.responsibleUnitShow
|
||
// 请求文件信息
|
||
if (item.relevanceFile != null && item.relevanceFile !== '') {
|
||
let paramefile = item.relevanceFile
|
||
if (paramefile.charAt(paramefile.length - 1) === ',') {
|
||
paramefile = paramefile.substring(0, paramefile.length - 1)
|
||
}
|
||
this.$http.get('att/attFile/getMultiFileInfos', {
|
||
fileIds: paramefile
|
||
}, {
|
||
_this: this
|
||
}, res => {
|
||
fileList = res.data
|
||
if (fileList != null && fileList.length > 0) {
|
||
for (let i = 0; i < fileList.length; i++) {
|
||
let obj = {name: '', response: {}}
|
||
obj.name = fileList[i].oldFileName
|
||
obj.response.data = fileList[i]
|
||
item.defaultFileList.push(obj)
|
||
}
|
||
}
|
||
this.standShowItemEO = JSON.parse(JSON.stringify(item))
|
||
if (this.standShowItemEO.tackTime != null && this.standShowItemEO.tackTime !== '') {
|
||
this.standShowItemEO.tackTime = this.standShowItemEO.tackTime.split(' ')[0]
|
||
}
|
||
// let selectNode = this.getTreeNameByid(this.standShowItemEO.responsibleUnit)
|
||
this.standShowItemEO.orgName = this.standShowItemEO.responsibleUnitShow
|
||
}, e => {
|
||
})
|
||
}
|
||
},
|
||
// 分解单-编辑
|
||
selectStandardPro(item) {
|
||
this.editAddType = 2
|
||
this.itemModalTitle = '编辑标准法规条款'
|
||
item.orgName = ''
|
||
this.standItemEO = JSON.parse(JSON.stringify(item))
|
||
this.standItemEO.standId = this.standItemSearch.standId
|
||
this.standItemEO.quoteStand = item.quoteStand
|
||
this.standItemEO.applyArctic = this.standItemEO.applyArctic ? this.standItemEO.applyArctic.split(',') : []
|
||
this.itemAddOrUPdateFlag = 2
|
||
this.itemFormdisableflag = false
|
||
if (this.standItemEO.tackTime != null && this.standItemEO.tackTime !== '') {
|
||
this.standItemEO.tackTime = new Date(this.standItemEO.tackTime)
|
||
}
|
||
this.standItemEO.orgName = this.standItemEO.responsibleUnitShow
|
||
this.standItemEO.ZRBM = this.standItemEO.responsibleUnit
|
||
this.standItemEO.FO = this.standItemEO.fo
|
||
this.updateResidToAttid('relevanceFile')
|
||
this.modalItemaddShowflag = true
|
||
this.$nextTick(() => {
|
||
this.$refs['sarStandardsItemForm'].clearValidate()
|
||
})
|
||
},
|
||
// 修改过程中,将resId 修改成 attid
|
||
updateResidToAttid(filetype) {
|
||
if (this.sarStandardsInfoEO[filetype] !== null && this.sarStandardsInfoEO[filetype] !== '') {
|
||
this.$http.get('lawss/attFile/getMultiFileInfosByResid', {
|
||
fileIds: this.sarStandardsInfoEO[filetype], fileType: 'stand'
|
||
}, {
|
||
_this: this
|
||
}, res => {
|
||
this.sarStandardsInfoEO[filetype] = res.data
|
||
}, e => {
|
||
})
|
||
}
|
||
},
|
||
/**
|
||
* 展示位置
|
||
*/
|
||
queryDisplayLocation() {
|
||
return new Promise((resolve, reject) => {
|
||
this.$http.get('lawssBase/utArea/getAreaList', {
|
||
sarType: 'INLAND_STAND'
|
||
}, {
|
||
_this: this
|
||
}, res => {
|
||
// this.showRegionOptions = res.data || []
|
||
resolve(res.data || [])
|
||
}, e => {
|
||
reject(e)
|
||
})
|
||
})
|
||
},
|
||
/**
|
||
* 获取新增弹框的表单
|
||
*/
|
||
getAddFormFieldList(isEdit) {
|
||
return new Promise((resolve, reject) => {
|
||
this.$http.get('lawss/sarStandAttrDetails/list', {}, {_this: this},
|
||
res => {
|
||
if (res.ok) {
|
||
// const { data: { STAND: data } } = res
|
||
const {data = {}} = res
|
||
this.formFieldListData = data[this.$route.params.pageType]
|
||
// this.resolveFormFieldList()
|
||
resolve(data[this.$route.params.pageType])
|
||
} else {
|
||
reject(res)
|
||
}
|
||
}, e => {
|
||
reject(e)
|
||
})
|
||
})
|
||
},
|
||
// 点击更多按钮事件
|
||
moreClick() {
|
||
this.dynamicFormField.map(item => {
|
||
item.isShowImp = '0'
|
||
item.child.map(child => {
|
||
child.isShowImp = '0'
|
||
})
|
||
})
|
||
this.isMoreAwayBtn = true
|
||
},
|
||
// 点击收起按钮事件
|
||
putAwayClick() {
|
||
this.dynamicFormField = JSON.parse(sessionStorage.getItem('displayLocation'))
|
||
this.isMoreAwayBtn = false
|
||
},
|
||
// 鼠标滚轮事件
|
||
handleScroll(e) {
|
||
// 该语句可以用来判断滚轮是向上滑动还是向下
|
||
const direction = e.deltaY > 0 ? 'down' : 'up'
|
||
if (direction === 'down') {
|
||
this.moreClick()
|
||
}
|
||
},
|
||
// ...
|
||
handleCommand(command) {
|
||
switch (command[1]) {
|
||
case '查看':
|
||
this.handlePreview(command[0])
|
||
break
|
||
case '编辑':
|
||
this.selectStandardPro(command[0], 'edit')
|
||
break
|
||
case '删除':
|
||
this.deleteStandItem(command[0], 1)
|
||
break
|
||
}
|
||
},
|
||
/**
|
||
* 点击 加收藏 按钮事件
|
||
* @param collectId 有值:取消收藏 无值:加收藏
|
||
*/
|
||
collectClick(collectId) {
|
||
this.isSubmit = true
|
||
if (collectId) {
|
||
// 取消收藏
|
||
this.$http.put('person/personCollect/updateByUserId', {
|
||
id: collectId,
|
||
loading: ''
|
||
}, {
|
||
_this: this
|
||
}, res => {
|
||
this.isSubmit = false
|
||
this.sarStandardsInfoEO.collectId = ''
|
||
}, e => {
|
||
this.isSubmit = false
|
||
})
|
||
} else {
|
||
// 加收藏
|
||
let collectTitle
|
||
if (this.sarStandardsInfoEO.standYear != null && this.sarStandardsInfoEO.standYear !== '') {
|
||
collectTitle = this.sarStandardsInfoEO.standName + ' ( 编号:' + this.sarStandardsInfoEO.standSort + ' ' + this.sarStandardsInfoEO.standNumber + '-' + this.sarStandardsInfoEO.standYear + ' )'
|
||
} else {
|
||
collectTitle = this.sarStandardsInfoEO.standName + ' ( 编号:' + this.sarStandardsInfoEO.standSort + ' ' + this.sarStandardsInfoEO.standNumber + ' )'
|
||
}
|
||
let personCollect = {
|
||
collectResId: this.sarStandardsInfoEO.id,
|
||
collectTitle: collectTitle,
|
||
collectType: this.$route.params.pageType, // 国内收藏type
|
||
userId : this.$store.getters.userInfo.userId
|
||
|
||
}
|
||
this.$http.postData('person/personCollect', personCollect, {
|
||
_this: this
|
||
}, res => {
|
||
this.isSubmit = false
|
||
this.sarStandardsInfoEO.collectId = res.data.id
|
||
}, e => {
|
||
this.isSubmit = false
|
||
})
|
||
}
|
||
},
|
||
// 更新LOG
|
||
relateEvent() {
|
||
this.$http.get('lawss/sarUpdLog/getLogList', {
|
||
sarId: this.$route.params.id,
|
||
sarType: this.$route.params.pageType
|
||
}, {
|
||
_this: this
|
||
}, res => {
|
||
if (res.data.length > 0) {
|
||
this.relateDialog = true
|
||
this.relateList = res.data
|
||
var i
|
||
for (i = 0; i < this.relateList.length; i++) {
|
||
let obj = {creationUserName: '', creationTime: '', content: ''}
|
||
obj.creationUserName = this.relateList[i].creationUserName
|
||
obj.creationTime = this.relateList[i].creationTime
|
||
obj.content = this.relateList[i].content
|
||
this.relateNowList.push(obj)
|
||
}
|
||
} else {
|
||
this.$message({
|
||
message: '暂无数据',
|
||
type: 'warning'
|
||
})
|
||
}
|
||
}, e => {
|
||
|
||
})
|
||
},
|
||
relateDialogClose() {
|
||
this.relateDialog = false
|
||
this.relateNowList = []
|
||
},
|
||
halfClass(data, nextData, index) {
|
||
const halfType = ['INPUT_STR', 'DATE_PICKER', 'SEL_OPTION', 'INPUT_NUM']
|
||
let flag = false
|
||
if (halfType.includes(data.attrType)) { // 是 50% 显示的组件时
|
||
// 1. 判断下一个节点是否为50%显示的组件
|
||
|
||
if (nextData && halfType.includes(nextData.attrType)) { //
|
||
flag = true
|
||
} else if (index % 2 === 0) { // 下一个节点不是50%显示的组件 判断是否为奇数节点
|
||
flag = false
|
||
} else { // 下个组件不是50%显示的组件 并且刚好时偶数节点
|
||
flag = true
|
||
}
|
||
}
|
||
return flag ? '' : 'clear'
|
||
},
|
||
|
||
handleToggleShowAll(item) {
|
||
if (!item.showAll) {
|
||
item.showAll = true
|
||
} else {
|
||
item.showAll = false
|
||
}
|
||
},
|
||
// 根据企标覆盖关系value值获取名称
|
||
busStandCoverName(value) {
|
||
let busStandCoverName = ''
|
||
this.BZFGGXOUIUJ.map(item => {
|
||
if (item.value === value) {
|
||
busStandCoverName = item.label
|
||
}
|
||
})
|
||
return busStandCoverName
|
||
},
|
||
dateFormat(str) {
|
||
return dateFormat(str)
|
||
},
|
||
openRelatedTermsDrawer() {
|
||
// 打开关联条款弹框
|
||
this.relatedTermsDrawerVisible = true
|
||
this.btnLoading = false
|
||
},
|
||
handleRelatedTermsDrawerCancel() {
|
||
// this.relatedTermsDrawerVisible = false
|
||
this.$refs['relatedTermsSelect'].handleCancel()
|
||
|
||
},
|
||
handleRelatedTermsDrawerSubmit() {
|
||
this.btnLoading = true
|
||
this.$refs['relatedTermsSelect'].handleSubmit(() => {
|
||
this.selectSarStandItems()
|
||
this.btnLoading = false
|
||
})
|
||
},
|
||
closeRelatedTermsDrawer() {
|
||
this.$refs['relatedTermsDrawer'].closeDrawer()
|
||
},
|
||
itemsTextDialog(itemsNum, text) {
|
||
this.itemsTextDialogs = true
|
||
this.itemsText = '<p>' + itemsNum + '</p>' + text.replace(/''/g, '\'')
|
||
}
|
||
},
|
||
computed: {
|
||
titleShow() {
|
||
return (this.sarStandardsInfoEO.standSortShow || '') + this.sarStandardsInfoEO.standNumber + '-' + this.sarStandardsInfoEO.standYear + '《' + this.sarStandardsInfoEO.standName + '》' + '标准详情'
|
||
},
|
||
titleHidden() {
|
||
return (this.sarStandardsInfoEO.standSortShow || '') + this.sarStandardsInfoEO.standNumber + '《' + this.sarStandardsInfoEO.standName + '》' + '标准详情'
|
||
},
|
||
visibleBtn() {
|
||
return this.$route.name === 'DomesticStandardDetails'
|
||
},
|
||
sarType() {
|
||
return this.$route.params.pageType
|
||
},
|
||
standNum() {
|
||
const item = this.sarStandardsInfoEO
|
||
if (item.standYear) {
|
||
return `${item.standSort} ${item.standNumber}-${item.standYear}`
|
||
} else {
|
||
return `${item.standSort} ${item.standNumber}`
|
||
}
|
||
},
|
||
standId() {
|
||
const item = this.sarStandardsInfoEO
|
||
return item.id
|
||
}
|
||
},
|
||
async mounted() {
|
||
this.sarStandardsInfoEO.id = this.$route.params.id
|
||
// await this.selectStandMessage()
|
||
this.standItemEO.standId = this.$route.params.id
|
||
// 从数据库中查询各下拉框数据
|
||
this.$http.get('sys/dictype/getDicTypeListCode', '', {
|
||
_this: this
|
||
}, res => {
|
||
this.applyArcticOptions = res.data.ENERGYTYPES // 根据需求文档,产品类别对应标准属性中的“适用车辆类型”
|
||
this.emergyKindOptions = res.data.ENERGYTYPES
|
||
this.requestOptions = res.data.REQUESTTYPE
|
||
this.BZFGGXOUIUJ = res.data.BZFGGXOUIUJ // 企标覆盖关系
|
||
this.setMap(res.data.WBZTCLASS) // 文本状态
|
||
this.setMap(res.data.SARPROPERTY) // 标准性质
|
||
}, e => {
|
||
})
|
||
Promise.all([this.queryDisplayLocation(), this.selectStandMessage(), this.getAddFormFieldList()]).then ((values) => {
|
||
const [displayLocation, standEO, formFieldList] = values
|
||
const dynamicFormField = standEO ? standEO.attrInfoMap : {}
|
||
formFieldList.forEach((field) => {
|
||
// 相关流程权限
|
||
// if (field.attrField === 'XGLC' && !this.$_has('6A52PZCAX8BAUUJ2TSQ4')) {
|
||
// return
|
||
// }
|
||
displayLocation.forEach((location) => {
|
||
location.isShowImp = '0'
|
||
if (dynamicFormField) {
|
||
let value = dynamicFormField[field.attrField]
|
||
if (field.attrField === 'SVPPS') {
|
||
let tips = dynamicFormField.SVPPSTips
|
||
field['tips'] = tips
|
||
}
|
||
if (value && typeof value === 'number') {
|
||
value = this.$dateFormat(value, 'yyyy-MM-dd')
|
||
}
|
||
field['value'] = value
|
||
if (field.showRegionId === location.value) {
|
||
if (!location.child) {
|
||
location['child'] = []
|
||
}
|
||
location['child'].push(field)
|
||
// if (field.isShowImp === '0') {
|
||
// location.isShowImp = '0'
|
||
// }
|
||
}
|
||
}
|
||
if (location.label === '文本信息') {
|
||
location.isShowImp = '0'
|
||
}
|
||
})
|
||
})
|
||
displayLocation.forEach(location => {
|
||
const child = location.child || []
|
||
const one = []
|
||
const half = []
|
||
child.map(field => {
|
||
if (['DATE_PICKER', 'SEL_OPTION', 'INPUT_NUM'].includes(field.attrType)) {
|
||
half.push(field)
|
||
} else {
|
||
one.push(field)
|
||
}
|
||
})
|
||
const fieldsIsTextAreaOrFile = child.filter(field => {
|
||
return field.attrType === 'TEXTAREA' || field.attrType === 'FILE'
|
||
})
|
||
const fieldOthers = child.filter(field => {
|
||
return field.attrType !== 'TEXTAREA' && field.attrType !== 'FILE'
|
||
})
|
||
location.child = [...fieldOthers, ...fieldsIsTextAreaOrFile]
|
||
location.one = one
|
||
location.half = half
|
||
location.showAll = false
|
||
})
|
||
|
||
this.$http.get('sarLawsAttrDetailedList/sar-laws-attr-detailed-list', {
|
||
id: this.$route.params.id
|
||
}, {
|
||
_this: this
|
||
}, res => {
|
||
displayLocation.map(item => {
|
||
if (item.value === '2URVBGR2Y4UG77KZ5YPL') {
|
||
for (let key in res.data) {
|
||
item.one.push({
|
||
attrName: key,
|
||
value: res.data[key].join(','),
|
||
isShowImp: '0',
|
||
id: key
|
||
})
|
||
}
|
||
}
|
||
})
|
||
this.dynamicFormField = displayLocation
|
||
})
|
||
console.log(displayLocation)
|
||
sessionStorage.setItem('displayLocation', JSON.stringify(displayLocation))
|
||
this.loading = false
|
||
})
|
||
/**
|
||
* 自定义鼠标滚轮事件
|
||
* chrome and ie
|
||
*/
|
||
window.addEventListener('mousewheel', this.handleScroll, false)
|
||
// firefox
|
||
window.addEventListener('DOMMouseScroll', this.handleScroll, false)
|
||
},
|
||
destroyed() {
|
||
window.removeEventListener('mousewheel', this.handleScroll, false)
|
||
window.removeEventListener('DOMMouseScroll', this.handleScroll, false)
|
||
sessionStorage.removeItem('displayLocation')
|
||
|
||
window.onresize = null
|
||
this.tableHeight = ''
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="less" scoped>
|
||
@import '~@/assets/styles/mixins';
|
||
@import '~@/assets/styles/style';
|
||
|
||
/deep/ .btn1 #question {
|
||
padding: 0 10px;
|
||
margin-left: 10px;
|
||
height: 30px;
|
||
line-height: 30px;
|
||
font-size: 14px;
|
||
color: #409EFF;;
|
||
border: 1px solid #409EFF;
|
||
background: rgba(64, 158, 255, 0.1);
|
||
|
||
.icon-separate {
|
||
display: inline-block;
|
||
margin-right: 3px;
|
||
width: 16px;
|
||
height: 16px;
|
||
background-repeat: no-repeat;
|
||
background-size: 100% 100%;
|
||
background-position: center center;
|
||
vertical-align: sub;
|
||
background-image: url("~assets/images/shangqi/standardDetails/separate.png");
|
||
}
|
||
}
|
||
|
||
.other-standard-details {
|
||
padding: 15px 30px 0;
|
||
width: 1200px;
|
||
margin: 0 auto;
|
||
height: 100%;
|
||
|
||
.itemsTextBox {
|
||
min-height: 300px;
|
||
max-height: 500px;
|
||
overflow: auto;
|
||
line-height: 20px;
|
||
|
||
/deep/ td {
|
||
border: 1px solid #606266;
|
||
text-align: center;
|
||
}
|
||
}
|
||
|
||
/deep/ .el-radio-group {
|
||
display: block;
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
.action-bar {
|
||
border-top: 0px;
|
||
}
|
||
|
||
.fileCss {
|
||
margin-right: 10px;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.fileCss:hover {
|
||
color: #0c91e5;
|
||
}
|
||
|
||
.myDialog1 {
|
||
/deep/ .el-dialog__body {
|
||
padding: 0px 20px 10px;
|
||
}
|
||
|
||
.myRadio {
|
||
min-height: 200px;
|
||
max-height: 400px;
|
||
overflow: auto;
|
||
}
|
||
}
|
||
|
||
.myDialog {
|
||
min-width: 700px;
|
||
|
||
.el-dialog {
|
||
min-width: 700px;
|
||
width: 70%;
|
||
}
|
||
|
||
/deep/ .el-dialog__body {
|
||
padding: 0px 20px 56px;
|
||
|
||
.basic-information-content {
|
||
color: #333333;
|
||
font-size: 16px;
|
||
/*font-weight: 400;*/
|
||
|
||
.standard-text {
|
||
height: 50px;
|
||
line-height: 50px;
|
||
border-bottom: 1px solid #E5E5E5;
|
||
}
|
||
|
||
& > p {
|
||
min-height: 55px;
|
||
line-height: 55px;
|
||
border-bottom: 1px solid #E5E5E5;
|
||
}
|
||
}
|
||
}
|
||
|
||
.knowContent {
|
||
height: 500px;
|
||
}
|
||
}
|
||
|
||
.details-header {
|
||
padding: 34px 0;
|
||
font-size: 20px;
|
||
font-weight: bold;
|
||
color: #555555;
|
||
text-align: center;
|
||
|
||
& > span {
|
||
width: 100%;
|
||
}
|
||
}
|
||
|
||
/deep/ .details-content {
|
||
/*padding: 0 67px;*/
|
||
|
||
.details-content-modular {
|
||
.modular-header {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
height: 50px;
|
||
border-bottom: 1px solid #E5E5E5;
|
||
.modular-header-title {
|
||
font-size: 18px;
|
||
font-weight: bold;
|
||
color: #3B424C;
|
||
|
||
& > .icon-modular-title {
|
||
display: inline-block;
|
||
margin-left: -28px;
|
||
width: 18px;
|
||
height: 18px;
|
||
background-size: 100% 100%;
|
||
background-position: center center;
|
||
background-image: url("~assets/images/shangqi/standardDetails/modular-title.png");
|
||
vertical-align: top;
|
||
}
|
||
|
||
& > span {
|
||
padding-left: 10px;
|
||
}
|
||
}
|
||
|
||
.modular-header-btn {
|
||
& > button {
|
||
height: 30px;
|
||
line-height: 30px;
|
||
font-size: 14px;
|
||
padding: 0 10px;
|
||
font-family: 'Microsoft Yahei', '\5FAE\8F6F\96C5\9ED1', Arial, sans-serif !important;
|
||
|
||
& > i {
|
||
display: inline-block;
|
||
margin-right: 3px;
|
||
width: 18px;
|
||
height: 18px;
|
||
background-repeat: no-repeat;
|
||
background-size: 100% 100%;
|
||
background-position: center center;
|
||
vertical-align: text-bottom;
|
||
}
|
||
}
|
||
|
||
.collection-btn {
|
||
padding: 0;
|
||
border: none;
|
||
|
||
i {
|
||
color: #F2CB51;
|
||
font-size: 18px;
|
||
width: 18px;
|
||
height: 18px;
|
||
}
|
||
|
||
/*background: rgba(244, 162, 39, 0.1);*/
|
||
|
||
.icon-collection {
|
||
background-image: url("~assets/images/shangqi/standardDetails/collection.png");
|
||
}
|
||
|
||
&:hover {
|
||
background: transparent;
|
||
}
|
||
}
|
||
|
||
.relation-btn {
|
||
color: #409EFF;
|
||
border: 1px solid #409EFF;
|
||
background: rgba(64, 158, 255, 0.1);
|
||
|
||
.icon-relation {
|
||
background-image: url("~assets/images/shangqi/standardDetails/relation.png");
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.basic-information-content {
|
||
color: #333333;
|
||
font-size: 16px;
|
||
/*font-weight: 400;*/
|
||
|
||
.standard-text {
|
||
height: 50px;
|
||
line-height: 50px;
|
||
border-bottom: 1px solid #E5E5E5;
|
||
}
|
||
}
|
||
|
||
.modular-content {
|
||
.modular-item-more {
|
||
padding: 5px 0;
|
||
width: 100%;
|
||
float: left;
|
||
text-align: center;
|
||
line-height: 30px;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
|
||
.wrap {
|
||
cursor: pointer;
|
||
|
||
span {
|
||
color: #409EFF;
|
||
}
|
||
|
||
img {
|
||
height: 10px;
|
||
margin-left: 5px;
|
||
transition: all .2s linear;
|
||
|
||
&.is-show-all {
|
||
transform: rotate(180deg);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
& > div:not(.modular-item-more) {
|
||
border-bottom: 1px solid #E5E5E5;
|
||
|
||
.modular-content-p-name {
|
||
display: inline-block;
|
||
width: 220px;
|
||
height: 50px;
|
||
line-height: 50px;
|
||
font-size: 16px;
|
||
color: #333333;
|
||
vertical-align: top;
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.modular-content-p-val {
|
||
display: inline-block;
|
||
width: calc(~'100% - 225px');
|
||
min-height: 50px;
|
||
line-height: 50px;
|
||
font-size: 16px;
|
||
color: #999999;
|
||
word-break: break-all;
|
||
//overflow: hidden;
|
||
//white-space: nowrap;
|
||
//text-overflow: ellipsis;
|
||
}
|
||
|
||
.modular-content-p-flies {
|
||
position: relative;
|
||
display: inline-block;
|
||
width: calc(~'100% - 225px');
|
||
min-height: 50px;
|
||
|
||
& > .files-title {
|
||
width: calc(~'100% - 120px');
|
||
min-height: 50px;
|
||
line-height: 50px;
|
||
font-size: 16px;
|
||
color: #409EFF;
|
||
|
||
& > a {
|
||
cursor: pointer;
|
||
}
|
||
|
||
& > i {
|
||
display: inline-block;
|
||
margin-left: 3px;
|
||
width: 18px;
|
||
height: 16px;
|
||
background-repeat: no-repeat;
|
||
background-size: 100% 100%;
|
||
background-position: center center;
|
||
vertical-align: sub;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.icon-download {
|
||
background-image: url("~assets/images/shangqi/img/download.png");
|
||
}
|
||
|
||
.icon-download2 {
|
||
background-image: url("~assets/images/shangqi/img/download2.png");
|
||
}
|
||
}
|
||
|
||
.decomposition-btn {
|
||
position: absolute;
|
||
top: 10px;
|
||
right: 0;
|
||
padding: 0 10px;
|
||
height: 30px;
|
||
line-height: 30px;
|
||
font-size: 14px;
|
||
color: #07C160;
|
||
border: 1px solid #07C160;
|
||
background: rgba(1, 193, 96, 0.1);
|
||
|
||
.icon-separate {
|
||
display: inline-block;
|
||
margin-right: 3px;
|
||
width: 16px;
|
||
height: 16px;
|
||
background-repeat: no-repeat;
|
||
background-size: 100% 100%;
|
||
background-position: center center;
|
||
vertical-align: sub;
|
||
background-image: url("~assets/images/shangqi/standardDetails/separate.png");
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.basic-information {
|
||
border-top: 2px dashed #D1D1D1;
|
||
|
||
.modular-header {
|
||
height: 60px;
|
||
border-bottom: none;
|
||
}
|
||
|
||
.basic-information-content {
|
||
& > p {
|
||
min-height: 55px;
|
||
line-height: 55px;
|
||
border-bottom: 1px solid #E5E5E5;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.more, .put-away {
|
||
position: fixed;
|
||
bottom: 0;
|
||
width: 1200px;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
//margin-bottom: 20px;
|
||
color: #409EFF;
|
||
font-size: 16px;
|
||
cursor: pointer;
|
||
background-image: linear-gradient(-180deg, rgba(255, 255, 255, 0) 0%, #fff 70%);
|
||
padding-bottom: 34px;
|
||
padding-top: 34px;
|
||
|
||
& > img {
|
||
margin-left: 5px;
|
||
width: 14px;
|
||
height: 14px;
|
||
}
|
||
}
|
||
|
||
.put-away {
|
||
& > img {
|
||
transform: rotate(180deg);
|
||
}
|
||
}
|
||
|
||
.not-footer-drawer {
|
||
.search-area {
|
||
margin-bottom: 0;
|
||
border-bottom: 5px solid #f6f6f6;
|
||
}
|
||
|
||
.content {
|
||
padding: 0 10px;
|
||
flex: auto;
|
||
//height: calc(~'100% - 105px - 56px');
|
||
}
|
||
|
||
.pagination {
|
||
position: static;
|
||
}
|
||
}
|
||
}
|
||
|
||
.half {
|
||
width: 50%;
|
||
float: left;
|
||
}
|
||
|
||
.hidden {
|
||
overflow: hidden;
|
||
}
|
||
|
||
.clearfix {
|
||
&:after {
|
||
clear: both;
|
||
}
|
||
|
||
&:after, &:before {
|
||
display: table;
|
||
content: "";
|
||
}
|
||
}
|
||
|
||
.details-container .el-divider {
|
||
height: 1px;
|
||
background-color: #d5d8da;
|
||
}
|
||
|
||
.span-line:hover {
|
||
text-decoration: underline;
|
||
}
|
||
|
||
.relateClass {
|
||
.el-dialog__body {
|
||
max-height: 460px;
|
||
overflow-y: auto;
|
||
}
|
||
}
|
||
.over{
|
||
word-break: break-all;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
display: -webkit-box;
|
||
-webkit-line-clamp: 2;
|
||
-webkit-box-orient: vertical;
|
||
}
|
||
|
||
::v-deep .el-drawer__header {
|
||
& > span:first-child {
|
||
outline: none !important;
|
||
}
|
||
}
|
||
|
||
::v-deep .el-drawer {
|
||
outline: none !important;
|
||
}
|
||
</style>
|