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

This commit is contained in:
yanyizhou
2021-11-08 14:28:41 +08:00
27 changed files with 1609 additions and 896 deletions
+8
View File
@@ -38,3 +38,11 @@ export function StandardsInfoPage (data) {
params: data
})
}
export function solostarData (data) {
return axios({
url: 'api/sarStandProjectLibrary/solostar',
method: 'get',
params: data
})
}
+55 -31
View File
@@ -1,31 +1,60 @@
<template>
<div class="header">
<div class="header-left">
<span class="logo" @click="toHome" title="回到首页"></span>
</div>
<div class="header-center">
<span style="color: #fff; line-height: 65px; font-size: 20px;">
标准法规管理系统 standard and regulations management system
<div style="background-color: #0068B7; height: 65px; width: 100%;">
<div class="header-left">
<div class="logo">
<img src="@/assets/images/shangqi/img/logo2.png" style="height: 61px; width: 160px;" />
</div>
</div>
<span style="color: #fff; line-height: 65px; float: left; font-size: 20px; font-weight: 600;">
标准法规管理系统 Standard and Regulations Management System
</span>
</div>
<div class="header-right">
<span class="date">{{ currentTime }}</span>
<span class="divide-line"> | </span>
<span class="user-img"></span>
<span class="user">{{ $store.getters.userInfo.uName }}</span>
<div class="user-info-panel-setting" @click.prevent="userInfoVisible = !userInfoVisible">
<el-dropdown
trigger="click"
:visible="userInfoVisible"
@command="userInfoOpen"
>
<div class="iconfont" style="color: #fff;"><i class="el-icon-arrow-down"></i></div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item name="logout" command="logout">{{ $t("m.exit") }}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<!-- header头部 右侧内容 当前登录人和退出-->
<div class="header-right" style="display: inline-block; float: right; margin-right: 20px; color: #fff">
<div>
<el-dropdown
trigger="click"
@command="handleCommand"
>
<div>
<img :src="userAvator" v-if="$store.getters.userInfo.avator">
<span class="iconfont" v-else style="color: #FFFFFF;">&#xe69b;</span>
<span style="color: #FFFFFF;">{{ $store.getters.userInfo.uName }}</span>
<i style="color: #FFFFFF;" class="el-icon-arrow-down"/>
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="loginOut">退出</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
</div>
<!-- <div class="header-left">-->
<!-- <span class="logo" @click="toHome" title="回到首页"></span>-->
<!-- </div>-->
<!-- <div class="header-center">-->
<!-- <span style="color: #fff; line-height: 65px; font-size: 20px;">-->
<!-- 标准法规管理系统 standard and regulations management system-->
<!-- </span>-->
<!-- </div>-->
<!-- <div class="header-right">-->
<!-- <span class="date">{{ currentTime }}</span>-->
<!-- <span class="divide-line"> | </span>-->
<!-- <span class="user-img"></span>-->
<!-- <span class="user">{{ $store.getters.userInfo.uName }}</span>-->
<!-- <div class="user-info-panel-setting" @click.prevent="userInfoVisible = !userInfoVisible">-->
<!-- <el-dropdown-->
<!-- trigger="click"-->
<!-- :visible="userInfoVisible"-->
<!-- @command="userInfoOpen"-->
<!-- >-->
<!-- <div class="iconfont" style="color: #fff;"><i class="el-icon-arrow-down"></i></div>-->
<!-- <el-dropdown-menu slot="dropdown">-->
<!-- <el-dropdown-item name="logout" command="logout">{{ $t("m.exit") }}</el-dropdown-item>-->
<!-- </el-dropdown-menu>-->
<!-- </el-dropdown>-->
<!-- </div>-->
<!-- </div>-->
</div>
</template>
@@ -105,15 +134,10 @@ export default {
color: #fff;
.header-left {
text-align: left;
//width: 50%;
float: left;
.logo {
display: inline-block;
width: 160px;
height: 61px;
background: url("~@/assets/images/shangqi/home/logo2.png") no-repeat;
background-size: cover;
cursor: pointer;
padding: 4px 42px 10px 10px;
text-align: left;
}
}
.header-center{
+103 -13
View File
@@ -57,7 +57,7 @@
<!-- <p><label style=" margin-right: 150px;">标准年份</label><span>{{ sarStandardsInfoEO.standYear || '-' }}</span></p>-->
<template v-for="(child, childIndex) in item.child1">
<p class="half files-title"
v-for="(file, fileIndex) in child.value"
v-for="(file, fileIndex) in child1Func(child.value)"
>
<label style=" margin-right: 102px;">{{ child.attrName }}</label>
<span>
@@ -76,6 +76,18 @@
/>
<!-- <span class="time-text">上传时间{{ dateFormat(file.modifyTime) }}</span>-->
</span>
<el-button
v-if="child.attrField === itemNam "
v-for="(itemNam,index) in itemExistList"
:key="index"
@click="showItemsModel(child.attrField)"
class="decomposition-btn"
style="right:62px"
icon="icon-separate"
>标准分解单
</el-button>
<el-button v-if="child.value.length > 1" style="color:#409EFF;border: 1px solid #409EFF;background: rgba(64, 158, 255, 0.1);"
class="decomposition-btn" icon="icon-relation" @click="relateEvent1(child.value)">更多</el-button>
</p>
</template>
<p><label style=" margin-right: 150px;">中文名称</label><span>{{
@@ -125,7 +137,7 @@
<!-- modular-item half 代替标准编号-->
<div
:key="child.id"
:class="item.label !== '文本信息' ? 'modular-item half' : 'modular-item'"
: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>
@@ -171,7 +183,7 @@
<div
v-else
:key="child.id"
:class="item.label !== '文本信息' ? 'modular-item half' : 'modular-item'"
:class="item.label !== '过程稿件' ? 'modular-item half' : 'modular-item'"
>
<label class="modular-content-p-name" :title="child.attrName">{{ child.attrName }}</label>
<span
@@ -259,7 +271,7 @@
>
<div
:key="child.id"
:class="item.label !== '文本信息' ? 'modular-item half' : 'modular-item'"
:class="item.label !== '过程稿件' ? 'modular-item half' : 'modular-item'"
>
<label class="modular-content-p-name" :title="child.attrName">{{ child.attrName }}</label>
<!--相关流程-->
@@ -353,7 +365,7 @@
</template>
<template
v-for="(child, childIndex) in item.one"
v-if="child.isShowImp === '0' && item.label == '文本信息'"
v-if="child.isShowImp === '0' && item.label == '过程稿件'"
>
<div
:key="child.id"
@@ -430,11 +442,11 @@
</template>
<template
v-for="(child, childIndex) in item.one"
v-if="child.isShowImp === '0' && item.label !== '关联信息' && item.label !== '文本信息' && (item.label !== '实施日期' || (childIndex < 6 || item.showAll))"
v-if="child.isShowImp === '0' && item.label !== '关联信息' && item.label !== '过程稿件' && (item.label !== '实施日期' || (childIndex < 6 || item.showAll))"
>
<div
:key="child.id"
:class="item.label !== '文本信息' ? 'modular-item half' : 'modular-item'"
:class="item.label !== '过程稿件' ? 'modular-item half' : 'modular-item'"
>
<label class="modular-content-p-name" :title="child.attrName">{{ child.attrName }}</label>
<!--相关流程-->
@@ -1036,6 +1048,40 @@
<!-- </div>-->
</div>
</el-drawer>
<el-dialog
title="更多发布稿"
:visible.sync="relateDialog1"
class="relateClass"
width="40%"
:before-close="relateDialogClose1">
<div
v-for="(file, index) in relateNowList1"
:key="index"
v-if="relateNowList1"
style="margin-bottom: 10px;line-height: 20px;max-height: 300px"
>
{{ index + 1 }}.
<a style="font-size: 16px;color: #409EFF;cursor: pointer" @click="openFileInPdf(file.id, file.oldFileName)" target="_blank" :title="file.oldFileName">{{ file.oldFileName }}</a>
<i
title="下载"
@click="downloadFile(file.id)"
class="icon-download"
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : 'a772afab2a6708883335500f3f86e771'"
/>
<i
title="下载带水印"
@click="downloadFileByWater(file.id, file.fileSuffix)"
class="icon-download2"
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? '02fd6eff0537c283dd071683de10689f' : '824f3bf9edef83fc7488917136167232'"
/>
<div v-if="relateNowList.length >1">
<el-divider></el-divider>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="relateDialogClose1">关 闭</el-button>
</div>
</el-dialog>
<!-- 更新LOG -->
<el-dialog
title="更新LOG"
@@ -1360,8 +1406,8 @@
filters: {
ellipsis (value) {
if (!value) return ''
if (value.length > 25) {
return value.slice(0,25) + '...'
if (value.length > 12) {
return value.slice(0,12) + '...'
}
return value
}
@@ -1424,8 +1470,10 @@
AddKnowledgDialog: false,
knowledgeSharingDialog: false,
relateDialog: false,
relateDialog1: false,
relateList: [],
relateNowList: [],
relateNowList1: [],
loading: false,
showItemInfoModal: false,
standShowItemEO: {},
@@ -1663,6 +1711,14 @@
props: {},
watch: {},
methods: {
child1Func(child1){
const list = []
if(child1 && child1.length > 1){
list.push(child1[0])
return list
}
return child1
},
handleChange(val) {
console.log(val);
},
@@ -2869,6 +2925,10 @@
})
}
},
relateEvent1(list){
this.relateDialog1 = true
this.relateNowList1 = list
},
// 更新LOG
relateEvent() {
this.$http.get('lawss/sarUpdLog/getLogList', {
@@ -2902,6 +2962,10 @@
this.relateDialog = false
this.relateNowList = []
},
relateDialogClose1() {
this.relateDialog1 = false
this.relateNowList = []
},
halfClass(data, nextData, index) {
const halfType = ['INPUT_STR', 'DATE_PICKER', 'SEL_OPTION', 'INPUT_NUM']
let flag = false
@@ -3036,7 +3100,7 @@
// }
}
}
if (location.label === '文本信息') {
if (location.label === '过程稿件') {
location.isShowImp = '0'
}
})
@@ -3044,7 +3108,7 @@
for (let i = 0; i < displayLocation.length; i++) {
// sss
if(displayLocation[i].label !== '基础信息' && displayLocation[i].label !== '文本信息'){
if(displayLocation[i].label !== '基础信息' && displayLocation[i].label !== '过程稿件'){
const childList = displayLocation[i].child.filter ( item => item.value !== null && item.value !== '');
if(childList.length === 0){
displayLocation.splice(i,1)
@@ -3053,19 +3117,20 @@
}
displayLocation.forEach(location => {
// 动态属性字段-FBGBJBD 单独添加至基础信息
const list = displayLocation.filter ( item => item.label === '文本信息');
const list = displayLocation.filter ( item => item.label === '过程稿件');
if(location.label === '基础信息' && list && list.length > 0){
if (!list[0].child) {
location['child1'] = []
}else {
const childList = list[0].child.filter ( item => item.attrField === 'FBGBJBD');
location['child1'] = childList
}
}
// 动态属性字段-SYRZ 单独添加至基础信息
const list2 = displayLocation.filter ( item => item.label === '适用范围');
if(location.label === '基础信息' && list2 && list2.length > 0){
if (!list[0].child) {
if (!list2[0].child) {
location['child2'] = []
}else {
const childList = list2[0].child.filter ( item => item.attrField === 'SYRZ');
@@ -3142,6 +3207,31 @@
@import '~@/assets/styles/mixins';
@import '~@/assets/styles/style';
/deep/ .decomposition-btn {
position: absolute;
top: 6px;
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);
/deep/ .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");
}
}
/deep/ .el-collapse-item__content {
padding-bottom: 0px;
font-size: 13px;
+2 -2
View File
@@ -326,8 +326,8 @@
:pageSize="pageConfig.oldStandPageSize"
:total="pageConfig.count4"
autoSize
@pageChange="page => handlePageChange('oldItems', page)"
@pageSizeChange="pageSize => handlePageSizeChange('oldItems', pageSize)"></pagination>
@pageChange="page => handlePageChange('oldStand', page)"
@pageSizeChange="pageSize => handlePageSizeChange('oldStand', pageSize)"></pagination>
</div>
</div>
<!-- </el-tab-pane>-->
@@ -18,7 +18,7 @@
<el-form ref="rh_pageData" :model="rh_pageData" :rules="rh_rules" label-width="150px">
<el-row>
<el-col :span="8">
<el-form-item label="协会名称:">
<el-form-item label="协会名称:" prop="comityName">
<el-select
v-model="rh_pageData.comityName"
placeholder="请选择标委会">
@@ -26,12 +26,12 @@
v-for="item in comityNameOptions"
:key="item.value"
:label="item.label"
:value="item.value"/>
:value="item.label"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item v-if="rh_pageData.comityName !== ''">
<el-form-item v-if="rh_pageData.comityName !== ''" prop="comityNameOne">
<el-select
v-model="rh_pageData.comityNameOne"
placeholder="请选择分标委">
@@ -39,12 +39,12 @@
v-for="item in comityNameOptions"
:key="item.value"
:label="item.label"
:value="item.value"/>
:value="item.label"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="" v-if="rh_pageData.comityName !== '' && rh_pageData.comityNameOne !== ''">
<el-form-item prop="comityNameTwo" v-if="rh_pageData.comityName !== '' && rh_pageData.comityNameOne !== ''">
<el-select
v-model="rh_pageData.comityNameTwo"
placeholder="请选择工作组">
@@ -52,7 +52,7 @@
v-for="item in comityNameOptions"
:key="item.value"
:label="item.label"
:value="item.value"/>
:value="item.label"/>
</el-select>
</el-form-item>
</el-col>
@@ -134,29 +134,30 @@
<el-row>
<el-col :span="8">
<el-form-item label="资质:">
<el-input v-model="rh_pageData.comityMake.makeQualification"></el-input>
<el-input
v-model="rh_pageData.comityMake.makeQualification" placeholder="请填写资质"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="成员:">
<el-input v-model="rh_pageData.comityMake.makeRole"></el-input>
<el-input v-model="rh_pageData.comityMake.makeRole" placeholder="请填写成员"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="费用估计:">
<el-input v-model="rh_pageData.comityMake.makeCost"></el-input>
<el-input v-model="rh_pageData.comityMake.makeCost" placeholder="请填写费用估计"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="职责:">
<el-input v-model="rh_pageData.comityMake.makeDuties"></el-input>
<el-input v-model="rh_pageData.comityMake.makeDuties" placeholder="请填写职责"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="任期:">
<el-input v-model="rh_pageData.comityMake.makeTime"></el-input>
<el-input v-model="rh_pageData.comityMake.makeTime" placeholder="请填写任期"/>
</el-form-item>
</el-col>
</el-row>
@@ -164,7 +165,7 @@
</el-form-item>
<el-divider/>
<el-form-item label="工作方向:" prop="workPath">
<el-input v-model="rh_pageData.workPath" type="textarea"></el-input>
<el-input v-model="rh_pageData.workPath" type="textarea"/>
</el-form-item>
<el-divider/>
<el-form-item label="协会外部联系方式:" style="margin-bottom: 50px">
@@ -455,9 +456,17 @@ export default {
engineerUserId: '',
},
rh_rules: {},
rh_rules: {
comityName: [{required: true, message: "请选择协会名称", trigger: ['blur', 'change']}],
comityNameOne: [{required: true, message: "请选择分标委", trigger: ['blur', 'change']}],
comityNameTwo: [{required: true, message: "请选择工作组", trigger: ['blur', 'change']}]
},
roleFormRules: {
dockUserName: [{required: true, message: "请选择标准法规工程师", trigger: ['blur', 'change']}]
dockUserName: [{required: true, message: "请选择标准法规工程师", trigger: ['blur', 'change']}],
startUserName: [{required: true, message: "请选择标准法规部人员", trigger: ['blur', 'change']}],
leaderUser: [{required: true, message: "请选择标准法规部主管领导", trigger: ['blur', 'change']}],
feeUser: [{required: true, message: "请选择费用管理部门人员", trigger: ['blur', 'change']}],
engineerUser: [{required: true, message: "请选择技术委员会常务副主任/总院院长", trigger: ['blur', 'change']}],
},
roleShowflag: false,
roleShowflagOne: false,
@@ -700,6 +709,8 @@ export default {
this.isSubmit = false
})
})
} else {
this.$message.warning('请完成流程信息的人员选择')
}
})
}
@@ -269,7 +269,9 @@ export default {
engineerUserId: '',
engineerUser: '',
},
roleFormRules: {},
roleFormRules: {
engineerUser: [{required: true, message: "选择法规工程师", trigger: ['blur', 'change']}],
},
upDialog: false,
upThemeDialog: false,
@@ -378,7 +378,11 @@ export default {
engineerUserId: '',
},
roleFormRules: {
dockUserName: [{required: true, message: "请选择标准法规工程师", trigger: ['blur', 'change']}]
dockUserName: [{required: true, message: "请选择标准法规工程师", trigger: ['blur', 'change']}],
startUserName: [{required: true, message: "请选择标准法规部人员", trigger: ['blur', 'change']}],
leaderUser: [{required: true, message: "请选择标准法规部主管中心主任", trigger: ['blur', 'change']}],
feeUser: [{required: true, message: "请选择管理推荐部", trigger: ['blur', 'change']}],
engineerUser: [{required: true, message: "请选择技术委员会常务副主任/总院院长", trigger: ['blur', 'change']}],
},
deleteDataList: [],
@@ -1217,6 +1217,7 @@
:before-upload="beginImportFile"
:on-success="importFileSuccess"
:on-change="fileChange"
:on-remove="removeOneFile"
:show-file-list="true"
>
<div style="padding: 20px 0">
@@ -2007,6 +2008,7 @@ export default {
}
},removeOneFile(file, fileList) {
switch (this.fileType){
case 'fbgbjbd':
this.FBGBJBDFileList=fileList;
@@ -2032,6 +2034,12 @@ export default {
case 'ca':
this.caFileList=fileList;
break;
case 'zbjbd':
this.zbjbdFileList=fileList
break;
case 'glwj':
this.glwjFileList=fileList
break
default : ;
}
},
@@ -2324,70 +2332,42 @@ export default {
},
fileInfoHandle(){
if(this.fileType === 'fbgbjbd'){
this.FBGBJBDFileList=fileList;
this.form.fbgbjbd += response.data.id+',';
if( this.form.fbgbjbdName=== undefined){
this.form.fbgbjbdName=''
}
this.form.fbgbjbdName += response.data.name+',';
}else if(this.fileType === 'xgd'){
this.xgdFileList=fileList;
console.log(this.xgdFileList)
//拼接文件名和id 提交到流程Activity
this.form.fbgbjbd=this.FBGBJBDFileList.map(item => item.response.data.id).join(",")
this.form.fbgbjbdName=this.FBGBJBDFileList.map(item => item.name).join(",")
this.form.xgd += response.data.id+',';
if( this.form.xgdName=== undefined){
this.form.xgdName=''
}
this.form.xgdName += response.data.name+',';
}else if(this.fileType === 'bpg'){
this.bpgFileList=fileList;
this.form.bpg += response.data.id+',';
if( this.form.bpgName=== undefined){
this.form.bpgName=''
}
this.form.bpgName += response.data.name+',';
}else if(this.fileType === 'ssg'){
this.ssgFileList=fileList;
this.form.ssg += response.data.id+',';
if( this.form.ssgName=== undefined){
this.form.ssgName=''
}
this.form.ssgName += response.data.name+',';
}else if(this.fileType === 'zqyjg'){
this.zqyjgFileList=fileList;
this.form.zqyjg += response.data.id+',';
if( this.form.zqyjgName=== undefined){
this.form.zqyjgName=''
}
this.form.zqyjgName += response.data.name+',';
}else if(this.fileType === 'jdwj'){
this.jdwjFileList=fileList;
this.form.jdwj += response.data.id+',';
if( this.form.jdwjName=== undefined){
this.form.jdwjName=''
}
this.form.jdwjName += response.data.name+',';
}else if(this.fileType === 'kwj'){
this.kwjFileList=fileList;
this.form.kwj += response.data.id+',';
if( this.form.kwjName=== undefined){
this.form.kwjName=''
}
this.form.kwjName += response.data.name+',';
}else if(this.fileType === 'ca'){
this.caFileList=fileList;
this.form.ca += response.data.id+',';
if( this.form.caName=== undefined){
this.form.caName=''
}
this.form.caName += response.data.name+',';
}
this.form.xgd=this.xgdFileList.map(item => item.response.data.id).join(",")
this.form.xgdName=this.xgdFileList.map(item => item.name).join(",")
this.form.bpg=this.bpgFileList.map(item => item.response.data.id).join(",")
this.form.bpgName=this.bpgFileList.map(item => item.name).join(",")
this.form.ssg=this.ssgFileList.map(item => item.response.data.id).join(",")
this.form.ssgName=this.ssgFileList.map(item => item.name).join(",")
this.form.zqyjg=this.zqyjgFileList.map(item => item.response.data.id).join(",")
this.form.zqyjgName=this.zqyjgFileList.map(item => item.name).join(",")
this.form.jdwj=this.jdwjFileList.map(item => item.response.data.id).join(",")
this.form.jdwjName=this.jdwjFileList.map(item => item.name).join(",")
this.form.kwj=this.kwjFileList.map(item => item.response.data.id).join(",")
this.form.kwjName=this.kwjFileList.map(item => item.name).join(",")
this.form.ca=this.caFileList.map(item => item.response.data.id).join(",")
this.form.caName=this.caFileList.map(item => item.name).join(",")
this.form.zbjbd=this.zbjbdFileList.map(item => item.response.data.id).join(",")
this.form.zbjbdName=this.zbjbdFileList.map(item => item.name).join(",")
this.form.glwj=this.glwjFileList.map(item => item.response.data.id).join(",")
this.form.glwjName=this.glwjFileList.map(item => item.name).join(",")
},
handleSubmit() {
this.form.country=this.countryArr;
this.$refs['form'].validate((valid) => {
if (valid) {
this.fileInfoHandle();
this.isSubmit = true
this.form.commentText = this.commentText
this.form.approvalOpinion = this.approvalOpinion
@@ -515,6 +515,11 @@ export default {
this.$http.get("sarStandProjectLibrary/queryStandInfo", { id: this.projectId }, {
_this: this
}, res => {
res.data.records.forEach(item => {
if(item.zrbm === "[]"){
item.zrbm = ''
}
})
this.listForm.dataList = res.data.records;
this.dataList = res.data.records;
let ids = [];
@@ -525,6 +525,11 @@ export default {
this.$http.get("sarStandProjectLibrary/queryStandInfo", { id: this.projectId }, {
_this: this
}, res => {
res.data.records.forEach(item => {
if(item.zrbm === "[]"){
item.zrbm = ''
}
})
this.listForm.dataList = res.data.records;
this.dataList = res.data.records;
this.listForm.dataList.forEach(item => {
@@ -337,7 +337,6 @@ export default {
},
// 点击查看
handlePreview(item) {
console.log(item);
let routeUrl = this.$router.resolve({
name: "OtherStandardDetails",
params: {
@@ -400,6 +399,11 @@ export default {
this.listForm["id"] = item.id;
this.listForm.dataList = item.dataList;
this.dataList = item.dataList;
this.dataList.forEach(item => {
if(item.zrbm === "[]"){
item.zrbm = ''
}
})
this.dataList.distributePerson = item.dataList[0].distributePerson;
this.listForm.breakdownList = item.breakdownList;
} else {
@@ -407,6 +407,7 @@ export default {
},
//动态表单读取
getFormFieldList(item) {
console.log(item);
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item));
if (item.form === undefined) {
@@ -472,6 +473,7 @@ export default {
//提交事件
handleSubmit() {
this.isSubmit = true;
console.log(this.dataList);
this.listForm.commentText = this.commentText;
this.listForm.children = this.dataList[0].children
this.listForm.dataList = this.dataList
@@ -44,7 +44,8 @@
</process-title>
<div class="tableTitle">
<div class="tableButton">
<el-button :disabled="acceptShow" class="common-button-primary add-button" type="primary" size="mini" @click="batchEdit">批量编辑
<el-button :disabled="acceptShow" class="common-button-primary add-button" type="primary" size="mini"
@click="batchEdit">批量编辑
</el-button>
</div>
</div>
@@ -121,206 +122,206 @@
<span>{{ scope.row.zccssrq ? $moment(scope.row.zccssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- prop="productType"-->
<!-- align="center"-->
<!-- label="在研产品">-->
<el-table-column
prop="researchCompliance"
align="center"
width="160"
label="合规">
<template slot-scope="scope">
<el-input
v-if="scope.row.noCompliance && scope.row.noCompliance.length>0
<!-- <el-table-column-->
<!-- prop="productType"-->
<!-- align="center"-->
<!-- label="在研产品">-->
<el-table-column
prop="researchCompliance"
align="center"
width="160"
label="合规">
<template slot-scope="scope">
<el-input
v-if="scope.row.noCompliance && scope.row.noCompliance.length>0
|| scope.row.countermeasures && scope.row.countermeasures.length>0
|| scope.row.completionTime && scope.row.completionTime !== null"
disabled
v-model="scope.row.complianceReasons"
placeholder="请输入合规原因"
disabled
v-model="scope.row.complianceReasons"
placeholder="请输入合规原因"
>
</el-input>
<el-input
v-else
:disabled="acceptShow"
v-model="scope.row.complianceReasons"
placeholder="请输入合规原因"
>
</el-input>
</template>
</el-table-column>
<el-table-column
align="center"
width="160"
prop="researchNonCompliance"
label="不合规">
<el-table-column
prop="researchNonCompliance"
align="center"
width="170"
label="不合规项目">
<template slot-scope="scope">
<el-input
v-if="scope.row.complianceReasons && scope.row.complianceReasons.length>0"
disabled
v-model="scope.row.noCompliance"
placeholder="请输入不合规项目"
>
</el-input>
<el-input
v-else
:disabled="acceptShow"
v-model="scope.row.complianceReasons"
placeholder="请输入合规原因"
v-else
:disabled="acceptShow"
v-model="scope.row.noCompliance"
placeholder="请输入合规项目"
>
</el-input>
</template>
</el-table-column>
<el-table-column
prop="researchCountermeasures"
align="center"
width="160"
prop="researchNonCompliance"
label="不合规">
<el-table-column
prop="researchNonCompliance"
align="center"
width="170"
label="不合规项目">
<template slot-scope="scope">
<el-input
v-if="scope.row.complianceReasons && scope.row.complianceReasons.length>0"
disabled
v-model="scope.row.noCompliance"
placeholder="请输入不合规项目"
>
</el-input>
<el-input
v-else
:disabled="acceptShow"
v-model="scope.row.noCompliance"
placeholder="请输入不合规项目"
>
</el-input>
</template>
</el-table-column>
<el-table-column
prop="researchCountermeasures"
align="center"
width="160"
label="应对措施">
<template slot-scope="scope">
<el-input
v-if="scope.row.complianceReasons && scope.row.complianceReasons.length>0"
disabled
v-model="scope.row.countermeasures"
placeholder="请输入应对措施"
>
</el-input>
<el-input
v-else
:disabled="acceptShow"
v-model="scope.row.countermeasures"
placeholder="请输入应对措施"
>
</el-input>
</template>
</el-table-column>
<el-table-column
prop="researchCompletionTime"
align="center"
width="140"
label="完成时间">
<template slot-scope="scope">
<el-date-picker
v-if="scope.row.complianceReasons && scope.row.complianceReasons.length>0"
disabled
v-model="scope.row.completionTime"
type="date"
placeholder="请选择日期">
</el-date-picker>
<el-date-picker
v-else
:disabled="acceptShow"
class="datePickLen"
clearable
v-model="scope.row.completionTime"
type="date"
placeholder="请选择日期">
</el-date-picker>
</template>
</el-table-column>
label="应对措施">
<template slot-scope="scope">
<el-input
v-if="scope.row.complianceReasons && scope.row.complianceReasons.length>0"
disabled
v-model="scope.row.countermeasures"
placeholder="请输入应对措施"
>
</el-input>
<el-input
v-else
:disabled="acceptShow"
v-model="scope.row.countermeasures"
placeholder="请输入应对措施"
>
</el-input>
</template>
</el-table-column>
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- align="center"-->
<!-- label="在产产品">-->
<!-- <el-table-column-->
<!-- prop="productionCompliance"-->
<!-- align="center"-->
<!-- width="160"-->
<!-- label="合规(具体情况)">-->
<!-- <template slot-scope="scope">-->
<!-- <el-input-->
<!-- v-if="scope.row.zcNoCompliance && scope.row.zcNoCompliance.length>0-->
<!-- || scope.row.zcCountermeasures && scope.row.zcCountermeasures>0-->
<!-- || scope.row.zcCompletionTime && scope.row.zcCompletionTime !== null"-->
<!-- disabled-->
<!-- v-model="scope.row.zcComplianceReasons"-->
<!-- placeholder="请输入合规原因"-->
<!-- >-->
<!-- </el-input>-->
<!-- <el-input-->
<!-- v-else-->
<!-- v-model="scope.row.zcComplianceReasons"-->
<!-- placeholder="请输入合规原因"-->
<!-- >-->
<!-- </el-input>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- align="center"-->
<!-- width="160"-->
<!-- label="不合规">-->
<!-- <el-table-column-->
<!-- prop="productionNonCompliance"-->
<!-- align="center"-->
<!-- width="170"-->
<!-- label="不合规项目">-->
<!-- <template slot-scope="scope">-->
<!-- <el-input-->
<!-- v-if="scope.row.zcComplianceReasons && scope.row.zcComplianceReasons.length>0"-->
<!-- disabled-->
<!-- v-model="scope.row.zcNoCompliance"-->
<!-- placeholder="请输入合规项目"-->
<!-- >-->
<!-- </el-input>-->
<!-- <el-input-->
<!-- v-else-->
<!-- v-model="scope.row.zcNoCompliance"-->
<!-- placeholder="请输入合规项目"-->
<!-- >-->
<!-- </el-input>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="productionCountermeasures"-->
<!-- align="center"-->
<!-- width="160"-->
<!-- label="应对措施">-->
<!-- <template slot-scope="scope">-->
<!-- <el-input-->
<!-- v-if="scope.row.zcComplianceReasons && scope.row.zcComplianceReasons.length>0"-->
<!-- disabled-->
<!-- v-model="scope.row.zcCountermeasures"-->
<!-- placeholder="请输入应对措施"-->
<!-- >-->
<!-- </el-input>-->
<!-- <el-input-->
<!-- v-else-->
<!-- v-model="scope.row.zcCountermeasures"-->
<!-- placeholder="请输入应对措施"-->
<!-- >-->
<!-- </el-input>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="productionCompletionTime"-->
<!-- align="center"-->
<!-- width="140"-->
<!-- label="完成时间">-->
<!-- <template slot-scope="scope">-->
<!-- <el-date-picker-->
<!-- v-if="scope.row.zcComplianceReasons && scope.row.zcComplianceReasons.length>0"-->
<!-- disabled-->
<!-- v-model="scope.row.zcCompletionTime"-->
<!-- type="date"-->
<!-- placeholder="请选择日期">-->
<!-- </el-date-picker>-->
<!-- <el-date-picker-->
<!-- v-else-->
<!-- class="datePickLen"-->
<!-- clearable-->
<!-- v-model="scope.row.zcCompletionTime"-->
<!-- type="date"-->
<!-- placeholder="请选择日期">-->
<!-- </el-date-picker>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<el-table-column
prop="researchCompletionTime"
align="center"
width="140"
label="完成时间">
<template slot-scope="scope">
<el-date-picker
v-if="scope.row.complianceReasons && scope.row.complianceReasons.length>0"
disabled
v-model="scope.row.completionTime"
type="date"
placeholder="请选择日期">
</el-date-picker>
<el-date-picker
v-else
:disabled="acceptShow"
class="datePickLen"
clearable
v-model="scope.row.completionTime"
type="date"
placeholder="请选择日期">
</el-date-picker>
</template>
</el-table-column>
</el-table-column>
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- align="center"-->
<!-- label="在产产品">-->
<!-- <el-table-column-->
<!-- prop="productionCompliance"-->
<!-- align="center"-->
<!-- width="160"-->
<!-- label="合规(具体情况)">-->
<!-- <template slot-scope="scope">-->
<!-- <el-input-->
<!-- v-if="scope.row.zcNoCompliance && scope.row.zcNoCompliance.length>0-->
<!-- || scope.row.zcCountermeasures && scope.row.zcCountermeasures>0-->
<!-- || scope.row.zcCompletionTime && scope.row.zcCompletionTime !== null"-->
<!-- disabled-->
<!-- v-model="scope.row.zcComplianceReasons"-->
<!-- placeholder="请输入合规原因"-->
<!-- >-->
<!-- </el-input>-->
<!-- <el-input-->
<!-- v-else-->
<!-- v-model="scope.row.zcComplianceReasons"-->
<!-- placeholder="请输入合规原因"-->
<!-- >-->
<!-- </el-input>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- align="center"-->
<!-- width="160"-->
<!-- label="不合规">-->
<!-- <el-table-column-->
<!-- prop="productionNonCompliance"-->
<!-- align="center"-->
<!-- width="170"-->
<!-- label="不合规项目">-->
<!-- <template slot-scope="scope">-->
<!-- <el-input-->
<!-- v-if="scope.row.zcComplianceReasons && scope.row.zcComplianceReasons.length>0"-->
<!-- disabled-->
<!-- v-model="scope.row.zcNoCompliance"-->
<!-- placeholder="请输入不合规项目"-->
<!-- >-->
<!-- </el-input>-->
<!-- <el-input-->
<!-- v-else-->
<!-- v-model="scope.row.zcNoCompliance"-->
<!-- placeholder="请输入不合规项目"-->
<!-- >-->
<!-- </el-input>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="productionCountermeasures"-->
<!-- align="center"-->
<!-- width="160"-->
<!-- label="应对措施">-->
<!-- <template slot-scope="scope">-->
<!-- <el-input-->
<!-- v-if="scope.row.zcComplianceReasons && scope.row.zcComplianceReasons.length>0"-->
<!-- disabled-->
<!-- v-model="scope.row.zcCountermeasures"-->
<!-- placeholder="请输入应对措施"-->
<!-- >-->
<!-- </el-input>-->
<!-- <el-input-->
<!-- v-else-->
<!-- v-model="scope.row.zcCountermeasures"-->
<!-- placeholder="请输入应对措施"-->
<!-- >-->
<!-- </el-input>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="productionCompletionTime"-->
<!-- align="center"-->
<!-- width="140"-->
<!-- label="完成时间">-->
<!-- <template slot-scope="scope">-->
<!-- <el-date-picker-->
<!-- v-if="scope.row.zcComplianceReasons && scope.row.zcComplianceReasons.length>0"-->
<!-- disabled-->
<!-- v-model="scope.row.zcCompletionTime"-->
<!-- type="date"-->
<!-- placeholder="请选择日期">-->
<!-- </el-date-picker>-->
<!-- <el-date-picker-->
<!-- v-else-->
<!-- class="datePickLen"-->
<!-- clearable-->
<!-- v-model="scope.row.zcCompletionTime"-->
<!-- type="date"-->
<!-- placeholder="请选择日期">-->
<!-- </el-date-picker>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<!-- 以后全选可能用-->
<!-- <el-table-column-->
<!-- prop="productionCompletionTime"-->
@@ -455,63 +456,107 @@
size="800px">
<div class="demo-drawer-content">
<el-form :model="batchEditForm" class="label-input-form" ref="projectComplianceForm" label-width="150">
<el-divider><span><b>在研产品</b></span></el-divider>
<!-- <el-divider><span><b>在研产品</b></span></el-divider>-->
<el-formItem label="合规原因" class="add-form-item">
<el-input
v-if="batchEditForm.noCompliance && batchEditForm.noCompliance.length>0
|| batchEditForm.countermeasures && batchEditForm.countermeasures.length>0
|| batchEditForm.completionTime && batchEditForm.completionTime !== null"
disabled
v-model="batchEditForm.complianceReasons"
placeholder="请输入合规原因"
></el-input>
>
</el-input>
<el-input
v-else
:disabled="acceptShow"
v-model="batchEditForm.complianceReasons"
placeholder="请输入合规原因"
>
</el-input>
</el-formItem>
<el-form-item label="不合规项目" class="add-form-item">
<el-input
v-model="batchEditForm.noCompliance"
placeholder="请输入不合规项目"
></el-input>
<el-input
v-if="batchEditForm.complianceReasons && batchEditForm.complianceReasons.length>0"
disabled
v-model="batchEditForm.noCompliance"
placeholder="请输入不合规项目"
>
</el-input>
<el-input
v-else
:disabled="acceptShow"
v-model="batchEditForm.noCompliance"
placeholder="请输入不合规项目"
>
</el-input>
</el-form-item>
<el-form-item label="不合规应对措施" class="add-form-item">
<el-input
v-if="batchEditForm.complianceReasons && batchEditForm.complianceReasons.length>0"
disabled
v-model="batchEditForm.countermeasures"
placeholder="请输入不合规应对措施"
></el-input>
>
</el-input>
<el-input
v-else
:disabled="acceptShow"
v-model="batchEditForm.countermeasures"
placeholder="请输入不合规应对措施"
>
</el-input>
</el-form-item>
<el-form-item label="完成时间" class="add-form-item">
<el-date-picker
v-if="batchEditForm.complianceReasons && batchEditForm.complianceReasons.length>0"
disabled
v-model="batchEditForm.completionTime"
type="date"
placeholder="选择日期">
placeholder="选择日期">
</el-date-picker>
<el-date-picker
v-else
:disabled="acceptShow"
class="datePickLen"
clearable
v-model="batchEditForm.completionTime"
type="date"
placeholder="请选择日期">
</el-date-picker>
</el-form-item>
<br>
<el-divider><span><b>在产产品</b></span></el-divider>
<el-formItem label="合规原因" class="add-form-item">
<el-input
v-model="batchEditForm.zcComplianceReasons"
placeholder="请输入合规原因"
></el-input>
</el-formItem>
<el-form-item label="不合规项目" class="add-form-item">
<el-input
v-model="batchEditForm.zcNoCompliance"
placeholder="请输入不合规项目"
></el-input>
</el-form-item>
<el-form-item label="不合规应对措施" class="add-form-item">
<el-input
v-model="batchEditForm.zcCountermeasures"
placeholder="请输入不合规应对措施"
></el-input>
</el-form-item>
<el-form-item label="完成时间" class="add-form-item">
<el-date-picker
v-model="batchEditForm.zcCompletionTime"
type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<!-- <el-divider><span><b>在产产品</b></span></el-divider>-->
<!-- <el-formItem label="合规原因" class="add-form-item">-->
<!-- <el-input-->
<!-- v-model="batchEditForm.zcComplianceReasons"-->
<!-- placeholder="请输入合规原因"-->
<!-- ></el-input>-->
<!-- </el-formItem>-->
<!-- <el-form-item label="不合规项目" class="add-form-item">-->
<!-- <el-input-->
<!-- v-model="batchEditForm.zcNoCompliance"-->
<!-- placeholder="请输入不合规项目"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="不合规应对措施" class="add-form-item">-->
<!-- <el-input-->
<!-- v-model="batchEditForm.zcCountermeasures"-->
<!-- placeholder="请输入不合规应对措施"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="完成时间" class="add-form-item">-->
<!-- <el-date-picker-->
<!-- v-model="batchEditForm.zcCompletionTime"-->
<!-- type="date"-->
<!-- placeholder="选择日期">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
</el-form>
</div>
<div class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveBatchEditForm">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary"
@click="saveBatchEditForm">
确定
</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancelBatchEditForm">取消
@@ -525,7 +570,8 @@
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import {inboundLiaisonDetail, saveTaskForPub, changeAssigneeNew, execTask} from "api/process";
import { inboundLiaisonDetail, saveTaskForPub, changeAssigneeNew, execTask } from "api/process";
import seeDatalis from "@/pages/localTool/standContrast/pages/seeDatalis";
export default {
name: "xmpg2Step6",
@@ -546,23 +592,23 @@ export default {
batchEditForm: {
// 在研产品
// 合规
complianceReasons: '',
complianceReasons: "",
// 不合规
noCompliance: '',
noCompliance: "",
// 应对措施
countermeasures: '',
countermeasures: "",
// 完成时间
completionTime: '',
completionTime: "",
// 在产产品
// 合规
zcComplianceReasons: '',
zcComplianceReasons: "",
// 不合规
zcNoCompliance: '',
zcNoCompliance: "",
// 应对措施
zcCountermeasures: '',
zcCountermeasures: "",
// 完成时间
zcCompletionTime: ''
zcCompletionTime: ""
},
hasChildren: true,
active: "1",
@@ -573,7 +619,7 @@ export default {
saveLoading: false,
submitShow: false,
acceptShow: false,
todoId: '',
todoId: "",
showColumn: true,
drawerTitle: "", //drawer标题
modalshowflag: false, // drawer开关
@@ -618,120 +664,135 @@ export default {
methods: {
//确认转办
checkedTransferRole(data) {
this.assigneeNewLoading = true
this.assigneeNewLoading = true;
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
assignee: data[0].id, // 被委托人
userId: this.$store.getters.userInfo.userId, // 委托人
pId: this.$route.query.prcId // 流程实例
}).then(res => {
this.isTransfer = false
this.isTransfer = false;
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.drawerModal = false;
this.$message.success("调整成功");
this.$router.push("/processCenter");
this.processNum()
this.processNum();
} else {
this.$message.warning(res.message)
this.$message.warning(res.message);
}
})
});
},
// 请求转换流程图
processNum(row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
url: "/api/lawss/activiti/getImg?_t=" + new Date().getTime(),
responseType: "blob",
method: "get",
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
this.processStep = window.URL.createObjectURL(res.data);
});
},
//转办事件
handleTransfer() {
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
this.drawerModal = true;
this.drawerTitle = "转办处理人";
this.selectPeople = row;
},
//批量编辑确定按钮事件
saveBatchEditForm() {
// console.log(this.selectList)
for (let a = 0; a < this.dataList.length; a++) {
for (let b = 0; b < this.selectList.length; b++) {
if (this.dataList[a].id === this.selectList[b]) {
//合规
this.dataList[a].complianceReasons = this.batchEditForm.complianceReasons
this.selectList = JSON.parse(localStorage.getItem("selectList"));
console.log("datalist", this.dataList);
console.log("select", this.selectList);
this.dataList.forEach(item => {
this.selectList.forEach(items => {
if (item.id === items) {
item.complianceReasons = this.batchEditForm.complianceReasons;
//不合规
this.dataList[a].noCompliance = this.batchEditForm.noCompliance
item.noCompliance = this.batchEditForm.noCompliance;
//应对措施
this.dataList[a].countermeasures = this.batchEditForm.countermeasures
item.countermeasures = this.batchEditForm.countermeasures;
//完成时间
this.dataList[a].completionTime = this.batchEditForm.completionTime
//合规
this.dataList[a].zcComplianceReasons = this.batchEditForm.zcComplianceReasons
//不合规
this.dataList[a].zcNoCompliance = this.batchEditForm.zcNoCompliance
//应对措施
this.dataList[a].zcCountermeasures = this.batchEditForm.zcCountermeasures
//完成时间
this.dataList[a].zcCompletionTime = this.batchEditForm.zcCompletionTime
} else {
for (let i = 0; i < this.dataList[a].children.length; i++) {
if (this.dataList[a].children[i].id === this.selectList[b]) {
//合规
this.dataList[a].children[i].complianceReasons = this.batchEditForm.complianceReasons
//不合规
this.dataList[a].children[i].noCompliance = this.batchEditForm.noCompliance
//应对措施
this.dataList[a].children[i].countermeasures = this.batchEditForm.countermeasures
//完成时间
this.dataList[a].children[i].completionTime = this.batchEditForm.completionTime
//合规
this.dataList[a].children[i].zcComplianceReasons = this.batchEditForm.zcComplianceReasons
//不合规
this.dataList[a].children[i].zcNoCompliance = this.batchEditForm.zcNoCompliance
//应对措施
this.dataList[a].children[i].zcCountermeasures = this.batchEditForm.zcCountermeasures
//完成时间
this.dataList[a].children[i].zcCompletionTime = this.batchEditForm.zcCompletionTime
}
}
item.completionTime = this.batchEditForm.completionTime;
}
}
}
this.modalshowflag = false
});
});
// for (let a = 0; a < this.dataList.length; a++) {
// for (let b = 0; b < this.selectList.length; b++) {
// if (this.dataList[a].id === this.selectList[b]) {
// console.log('11');
// //合规
// this.dataList[a].complianceReasons = this.batchEditForm.complianceReasons
// //不合规
// this.dataList[a].noCompliance = this.batchEditForm.noCompliance
// //应对措施
// this.dataList[a].countermeasures = this.batchEditForm.countermeasures
// //完成时间
// this.dataList[a].completionTime = this.batchEditForm.completionTime
// //合规
// this.dataList[a].zcComplianceReasons = this.batchEditForm.zcComplianceReasons
// //不合规
// this.dataList[a].zcNoCompliance = this.batchEditForm.zcNoCompliance
// //应对措施
// this.dataList[a].zcCountermeasures = this.batchEditForm.zcCountermeasures
// //完成时间
// this.dataList[a].zcCompletionTime = this.batchEditForm.zcCompletionTime
// } else {
// for (let i = 0; i < this.dataList[a].children.length; i++) {
// if (this.dataList[a].children[i].id === this.selectList[b]) {
// //合规
// this.dataList[a].children[i].complianceReasons = this.batchEditForm.complianceReasons
// //不合规
// this.dataList[a].children[i].noCompliance = this.batchEditForm.noCompliance
// //应对措施
// this.dataList[a].children[i].countermeasures = this.batchEditForm.countermeasures
// //完成时间
// this.dataList[a].children[i].completionTime = this.batchEditForm.completionTime
// //合规
// this.dataList[a].children[i].zcComplianceReasons = this.batchEditForm.zcComplianceReasons
// //不合规
// this.dataList[a].children[i].zcNoCompliance = this.batchEditForm.zcNoCompliance
// //应对措施
// this.dataList[a].children[i].zcCountermeasures = this.batchEditForm.zcCountermeasures
// //完成时间
// this.dataList[a].children[i].zcCompletionTime = this.batchEditForm.zcCompletionTime
// }
// }
// }
//
// }
// }
this.modalshowflag = false;
},
cancelBatchEditForm() {
this.modalshowflag = false
this.modalshowflag = false;
},
//批量编辑
batchEdit() {
if (this.selectList.length > 0) {
//合规
this.batchEditForm.complianceReasons = ''
this.batchEditForm.complianceReasons = "";
//不合规
this.batchEditForm.noCompliance = ''
this.batchEditForm.noCompliance = "";
//应对措施
this.batchEditForm.countermeasures = ''
this.batchEditForm.countermeasures = "";
//完成时间
this.batchEditForm.completionTime = ''
this.batchEditForm.completionTime = "";
//合规
this.batchEditForm.zcComplianceReasons = ''
this.batchEditForm.zcComplianceReasons = "";
//不合规
this.batchEditForm.zcNoCompliance = ''
this.batchEditForm.zcNoCompliance = "";
//应对措施
this.batchEditForm.zcCountermeasures = ''
this.batchEditForm.zcCountermeasures = "";
//完成时间
this.batchEditForm.zcCompletionTime = ''
this.modalshowflag = true
this.batchEditForm.zcCompletionTime = "";
this.modalshowflag = true;
} else {
this.$message.warning('请选择要编辑的数据')
this.$message.warning("请选择要编辑的数据");
}
},
// 点击查看
@@ -795,15 +856,15 @@ export default {
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg);
let commitStatus = res.commitStatus
if(commitStatus && commitStatus > 0){
this.acceptShow = true
this.submitShow = false
}else {
this.acceptShow = false
this.submitShow = true
let commitStatus = res.commitStatus;
if (commitStatus && commitStatus > 0) {
this.acceptShow = true;
this.submitShow = false;
} else {
this.acceptShow = false;
this.submitShow = true;
}
this.todoId = res.id
this.todoId = res.id;
this.getFormFieldList(processForm);
}
}).catch(e => {
@@ -819,18 +880,18 @@ export default {
this.listForm.prcName = this.prcName;
this.listForm["id"] = item.id;
// this.listForm.dataList = item.dataList;
this.dataList = this.listForm.dataList[0].children
this.dataList = this.listForm.dataList[0].children;
this.dataList.map(item => {
this.$set(item, 'standName', this.listForm.dataList[0].standName)
this.$set(item, 'standEnName', this.listForm.dataList[0].standEnName)
this.$set(item, 'standYear', this.listForm.dataList[0].standYear)
this.$set(item, 'standSort', this.listForm.dataList[0].standSort)
this.$set(item, 'standNumber', this.listForm.dataList[0].standNumber)
})
this.$set(item, "standName", this.listForm.dataList[0].standName);
this.$set(item, "standEnName", this.listForm.dataList[0].standEnName);
this.$set(item, "standYear", this.listForm.dataList[0].standYear);
this.$set(item, "standSort", this.listForm.dataList[0].standSort);
this.$set(item, "standNumber", this.listForm.dataList[0].standNumber);
});
this.total = this.listForm.dataList[0].children.length;
} else {
this.listForm = item.form;
this.dataList = item.form.dataList[0].children
this.dataList = item.form.dataList[0].children;
this.total = item.form.dataList[0].children.length;
}
@@ -860,17 +921,17 @@ export default {
});
},
// 接受按钮
handleAccept(){
this.isSubmit = true
handleAccept() {
this.isSubmit = true;
execTask({
todoId: this.todoId // 当前节点ID
}).then(res => {
if (res.sign && res.sign === '0') {
this.$message.success('接收成功')
this.$router.push('/processCenter')
if (res.sign && res.sign === "0") {
this.$message.success("接收成功");
this.$router.push("/processCenter");
}
this.isSubmit = false
})
this.isSubmit = false;
});
},
//提交事件
handleSubmit() {
@@ -897,8 +958,8 @@ export default {
this.selectList = [];
for (let i = 0; i < data.length; i++) {
this.selectList.push(data[i].id);
localStorage.setItem("selectList", JSON.stringify(this.selectList));
}
},
getTree() {
this.$http.get("SarInstitution/institution/institutionAndUser", {}, {}, res => {
@@ -382,21 +382,34 @@
</div>
</el-drawer>
<ProcessFooter
:show-save="submitShow"
:show-transfer="submitShow"
:show-affirm="submitShow"
:show-submit="submitShow"
:show-confirm="acceptShow"
show-save
show-transfer
show-affirm
:submitLoading="isSubmit"
:transfer-loading="isTransfer"
:saveLoading="saveLoading"
@submit="handleSubmit"
@transfer="handleTransfer"
@save="handleSave"
@accept="handleAccept"
:approval="true"
>
</ProcessFooter>
<!-- <ProcessFooter-->
<!-- :show-save="submitShow"-->
<!-- :show-transfer="submitShow"-->
<!-- :show-affirm="submitShow"-->
<!-- :show-submit="submitShow"-->
<!-- :show-confirm="acceptShow"-->
<!-- :submitLoading="isSubmit"-->
<!-- :transfer-loading="isTransfer"-->
<!-- :saveLoading="saveLoading"-->
<!-- @submit="handleSubmit"-->
<!-- @transfer="handleTransfer"-->
<!-- @save="handleSave"-->
<!-- @accept="handleAccept"-->
<!-- :approval="true"-->
<!-- >-->
<!-- </ProcessFooter>-->
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
@@ -2,19 +2,17 @@
<template>
<div id="accessStandardsAndRegulations" class="v-class">
<el-tabs v-model="tabValue" style="height: 100%;">
<el-tab-pane v-for="(item,index) in list" :key="index" :label="item.label" :name="item.name">
<div v-if="tabValue === 'listOfCountries'" style="position: absolute;top: 0;left: 0;right: 0;bottom: 0;">
<list-of-countries></list-of-countries>
</div>
<div v-else-if="tabValue === 'listProject'" style="position: absolute;top: 0;left: 0;right: 0;bottom: 0;">
<list-project></list-project>
</div>
<div v-else-if="tabValue === 'listOther'" style="position: absolute;top: 0;left: 0;right: 0;bottom: 0;">
<list-other></list-other>
</div>
<div v-else-if="tabValue === 'localProductsOrProjectLibrary'" style="position: absolute;top: 0;left: 0;right: 0;bottom: 0;">
<local-products-or-project-library></local-products-or-project-library>
</div>
<el-tab-pane label="国家/地区清单" name="listOfCountries" v-if="country">
<list-of-countries></list-of-countries>
</el-tab-pane>
<el-tab-pane label="车型类别清单" name="listProject" v-if="project">
<list-project></list-project>
</el-tab-pane>
<el-tab-pane label="其他清单" name="listOther" v-if="other">
<list-other></list-other>
</el-tab-pane>
<el-tab-pane label="项目清单" name="localProductsOrProjectLibrary" v-if="library">
<local-products-or-project-library></local-products-or-project-library>
</el-tab-pane>
</el-tabs>
</div>
@@ -30,12 +28,17 @@ export default {
name: "AccessStandardsAndRegulations",
data() {
return {
country: false,
project: false,
other: false,
library: false,
list: [],
tabValue: "listProject",
tabValue: "listOfCountries",
menuName: ["国家/地区清单", "车型类别清单", "其他清单", "项目清单"]
};
},
methods: {},
methods: {
},
components: {
localProductsOrProjectLibrary,
listOfCountries,
@@ -57,35 +60,18 @@ export default {
if (menuID.indexOf(entity.id) >= 0 && menuData.indexOf(entity.id) == -1) {
menuData.push(entity.id);
if (entity.id === "b05b562950cb6d0aef539fad30b7386a") {
list.push({
label: "国家/地区清单",
name: "listOfCountries"
});
continue;
this.country = true
} else if (entity.id === "63e05705d0c8013162caa34f9fe52865") {
list.push({
label: "车型类别清单",
name: "listProject"
});
continue;
this.project = true
}else if (entity.id === "5a75523729b04102a565167004d640e9") {
list.push({
label: "其他清单",
name: "listOther"
});
continue;
this.other = true
} else if (entity.id === "a1170d77f4332e5f45ce520e63b00e15") {
list.push({
label: "项目清单",
name: "localProductsOrProjectLibrary"
});
continue;
this.library = true
}
}
}
});
this.list = list;
this.tabValue = this.list[0].name;
this.list = list
},
beforeRouteLeave(to, from, next) {
const toName = ["ListOfStandardsAndRegulationsDetails", "AccessStandardDetails", "LocalProductDetail", "OtherAddEit"];
@@ -292,16 +292,16 @@ export default {
},
pageChange(page) {
this.sarSarAccessEOSearch.page = page;
// this.searchSarAccess();
this.searchSarAccess();
},
pageSizeChange(pageSize) {
this.sarSarAccessEOSearch.pageSize = this.$store.getters.userInfo.configContent;
// this.searchSarAccess();
this.searchSarAccess();
},
clearSearch() {
this.sarSarAccessEOSearch.countryArea = "";
this.sarSarAccessEOSearch.detailedListName = "";
// this.searchSarAccess();
this.searchSarAccess();
},
// 新增相关
openModal(row, optType) {
@@ -286,16 +286,16 @@ export default {
},
pageChange(page) {
this.sarSarAccessEOSearch.page = page;
// this.searchSarAccess();
this.searchSarAccess();
},
pageSizeChange(pageSize) {
this.sarSarAccessEOSearch.pageSize = this.$store.getters.userInfo.configContent;
// this.searchSarAccess();
this.searchSarAccess();
},
clearSearch() {
this.sarSarAccessEOSearch.detailedList = ''
this.sarSarAccessEOSearch.detailedListName = ''
// this.searchSarAccess();
this.searchSarAccess();
},
// 新增相关
openModal(row, optType) {
@@ -304,17 +304,17 @@ export default {
},
pageChange(page) {
this.sarSarAccessEOSearch.page = page;
// this.searchSarAccess();
this.searchSarAccess();
},
pageSizeChange(pageSize) {
this.sarSarAccessEOSearch.pageSize = this.$store.getters.userInfo.configContent;
// this.searchSarAccess();
this.searchSarAccess();
},
//清空
clearSearch() {
this.sarSarAccessEOSearch.projectName = ''
this.sarSarAccessEOSearch.detailedListName = ''
// this.searchSarAccess()
this.searchSarAccess()
},
// 新增相关
@@ -73,19 +73,27 @@
<div class="left">
<el-form :modal="standCommonlySearch" :inline="true" class="label-input-form"
@keyup.enter.native="searchBtnClick(standCommonlySearch)">
<el-form-item label="标准类别" class="search-item" style="margin-top:1px;">
<el-select v-model="standCommonlySearch.standSort" filterable>
<el-option
v-for="item in standSortOptions"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="标准号/名称" class="search-item search-item-last">
<!-- <el-form-item label="标准==类别" class="search-item" style="margin-top:1px;">-->
<!-- <el-select v-model="standCommonlySearch.standSort" filterable>-->
<!-- <el-option-->
<!-- v-for="item in standSortOptions"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="标准号" class="search-item search-item-last">
<el-input v-model="standCommonlySearch.standNumber"
placeholder="请输入"
placeholder="请输入标准号"
clearable
@keyup.enter="searchBtnClick(standCommonlySearch)"
:maxlength="100"
></el-input>
</el-form-item>
<el-form-item label="标准名称" class="search-item search-item-last">
<el-input v-model="standCommonlySearch.standName"
placeholder="请输入标准名称"
clearable
@keyup.enter="searchBtnClick(standCommonlySearch)"
:maxlength="100"
@@ -1843,7 +1851,8 @@ export default {
standType: 'INLAND',
validFlag: '0',
standSort: '',
standNumber: ''
standNumber: '',
standName:''
},
defaultCheckedKeys1: [],
defaultCheckedKeys2: [],
@@ -70,19 +70,27 @@
<div class="search-area">
<div class="left">
<el-form :modal="standCommonlySearch" inline class="label-input-form" @keyup.enter.native="searchBtnClick(standCommonlySearch)">
<el-form-item label="标准类别" class="search-item">
<el-select v-model="standCommonlySearch.standSort" filterable>
<el-option
v-for="item in standSortOptions"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="标准号/名称" class="search-item search-item-last">
<!-- <el-form-item label="标准类别" class="search-item">-->
<!-- <el-select v-model="standCommonlySearch.standSort" filterable>-->
<!-- <el-option-->
<!-- v-for="item in standSortOptions"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="标准号" class="search-item search-item-last">
<el-input v-model="standCommonlySearch.standNumber"
placeholder="请输入"
placeholder="请输入标准号"
clearable
@keyup.enter="searchBtnClick(standCommonlySearch)"
:maxlength="100"
></el-input>
</el-form-item>
<el-form-item label="标准名称" class="search-item search-item-last">
<el-input v-model="standCommonlySearch.standName"
placeholder="请输入标准名称"
clearable
@keyup.enter="searchBtnClick(standCommonlySearch)"
:maxlength="100"
@@ -1730,6 +1738,7 @@ export default {
validFlag: '0',
standSort: '',
standNumber: '',
standName:'',
menuId: '',
sarStandardsSearch: ''
},
@@ -303,6 +303,7 @@ import eventHub from "@/common/eventHub";
import ProjectRelatedPersonnel from "@/components/CustomFormComponents/ProjectRelatedPersonnel";
import { dateFormat } from "@/common/date/index";
import moment from "moment";
import { solostarData } from "@/api/unqualProcess";
function checkFD(rules, value, callback) {
this.value = value;
@@ -850,7 +851,11 @@ export default {
}
],
threeOptions: [],
loading: false
loading: false,
// 项目分类数组
notProjectData: [],
projectData: []
};
},
methods: {
@@ -880,9 +885,9 @@ export default {
this.energyKindOptions = res.data.ENERGYTYPES;
this.protypeOptions = res.data.PROTYPE;
this.probaseOptions = res.data.PROBASE;
this.productTypeOptions = res.data.XMLB;
// this.productTypeOptions = res.data.XMLB;
this.targetMarketOptions = res.data.SCXX;
});
})
},
// 更多
handleCommand(command) {
@@ -1207,11 +1212,12 @@ export default {
}, res => {
if (this.localProTableSearch.prodectCode === "Maintenance") {
this.localProTableList = res.data.Maintenance.records;
this.productTypeOptions = this.projectData
this.total = res.data.Maintenance.total;
} else if (this.localProTableSearch.prodectCode === "notMaintenance") {
this.localProTableList = res.data.notMaintenance.records;
this.productTypeOptions = this.notProjectData
this.total = res.data.notMaintenance.total;
}
// this.localProTableList.map((item) => {
// this.xmztOptions.map((opr) => {
@@ -1385,7 +1391,6 @@ export default {
},
// 分页点击后方法
pageChange(page) {
console.log(page);
this.page = page;
this.getLocalProductTable();
},
@@ -1538,9 +1543,26 @@ export default {
});
this.localProEO.productManager = userIdList.join(",");
this.localProEO.productManagerShow = userNameList.join(",");
},
selectSort() {
solostarData().then(res=>{
res.data.MaintenanceProjectStatus.forEach((item, index)=>{
this.projectData.push({
label: item,
value: index
})
})
res.data.notMaintenanceProjectStatus.forEach((item, index)=>{
this.notProjectData.push({
label: item,
value: index
})
})
})
}
},
created() {
this.selectSort()
this.getDept().then(res => {
this.getUser(res);
}, e => {
@@ -1590,7 +1612,7 @@ export default {
}
/deep/ .pagination {
position: relative;
position: absolute;
}
.row-col-box {
@@ -453,7 +453,7 @@
</div>
</el-drawer>
<!--导出-->
<el-dialog :visible.sync="exportModelFlag" title="导出文件" width="700" :show-close="false">
<el-dialog :visible.sync="exportModelFlag" title="导出文件" width="500px" :show-close="false">
<label-input v-model="exportName" placeholder="请输入导出文件名" clearable label="导出名称"/>
<div slot="footer">
<el-button class="common-button-primary" icon="el-icon-check" type="primary"
@@ -1065,7 +1065,7 @@ export default {
}
.pagination {
position: unset;
position: absolute!important;
}
.el-steps.el-steps--simple {
@@ -0,0 +1,300 @@
<template>
<div class="workingGroup1" ref="wrap">
<div id="container"></div>
</div>
</template>
<script>
import G6 from '@antv/g6'
export default {
name: "workingGroup1",
data() {
return {
activeName: 'workingGroup1',
graphData: {},
graph: null,
currentNode: '',
currentNodeData: {},
addForm: {
pMenuName: '',
menuType: '',
sarGroupMenuEO: {
pid: '',
menuType: '',
menuLevel: ''
}
},
pMenuName: '',
menuType: '',
detailData: {
menuId: '',
nodeType: '',
nodeName: '',
parentId: '',
standFlag: '',
data: ''
},
delData: {},
}
},
methods: {
getData () {
this.$http.get('wg_work_group/researchData', {
type: '0'
}, {
_this: this
}, res => {
if (res.ok) {
this.renderGraph(res.data)
}
})
},
handleNodeClick (node) {
let json = {
id: '123',
name: '123',
}
},
handleEdgeClick (node) {},
renderGraph(row) {
this.graphData = row
G6.registerNode(
'tree-node',
{
drawShape: function drawShape(cfg, group) {
const level = cfg.level
const nodeType = cfg.nature
if (nodeType === '0') {
const circle = group.addShape('circle', {
attrs: {
fill: '#CD7326'
// stroke: '#666',
},
name: 'circle-shape',
});
const content = cfg.name ? cfg.name.replace(/(.{19})/g, '$1\n') : ''
const text = group.addShape('text', {
attrs: {
text: content,
x: 0,
y: 0,
textAlign: 'center',
textBaseline: 'middle',
fill: '#fff',
},
name: 'text-shape',
});
const bbox = text.getBBox();
const hasChildren = cfg.children && cfg.children.length > 0;
let marker
if (hasChildren) {
marker = group.addShape('marker', {
attrs: {
x: bbox.maxX + 16,
y: 0,
r: 6,
symbol: cfg.collapsed ? G6.Marker.expand : G6.Marker.collapse,
stroke: '#666',
lineWidth: 2,
},
name: 'collapse-icon',
});
}
circle.attr({
x: 0,
y: 0,
r: (bbox.width + 12) / 2,
});
} else {
const rect = group.addShape('rect', {
attrs: {
fill: '#fff',
// stroke: '#666',
},
name: 'rect-shape',
});
const content = cfg.name ? cfg.name.replace(/(.{19})/g, '$1\n') : ''
const text = group.addShape('text', {
attrs: {
text: content,
x: 0,
y: 0,
textAlign: 'center',
textBaseline: 'middle',
fill: '#fff',
},
name: 'text-shape',
});
const bbox = text.getBBox();
const hasChildren = cfg.children && cfg.children.length > 0;
let marker
if (hasChildren) {
marker = group.addShape('marker', {
attrs: {
x: bbox.maxX + 16,
y: 0,
r: 6,
symbol: cfg.collapsed ? G6.Marker.expand : G6.Marker.collapse,
stroke: '#666',
lineWidth: 2,
},
name: 'collapse-icon',
nodeStateStyles: {
selected: {
fill: 'steelblue'
}
}
});
}
rect.attr({
x: bbox.minX - 6,
y: bbox.minY - 6,
width: bbox.width + 12,
height: bbox.height + 12,
radius: (bbox.height + 12) / 2
});
// 自定义层级颜色
if (nodeType === '1') {
rect.attr({
fill: '#1C98B8'
});
} else if (nodeType === '2') {
rect.attr({
fill: '#5165D4'
});
} else if (nodeType === '3') {
rect.attr({
fill: '#E23335'
});
} else if (nodeType === '4') {
rect.attr({
fill: '#ADAAA1'
});
}
}
return group;
},
},
'single-node',
);
this.graph = new G6.TreeGraph({
container: 'container',
width: this.$refs['wrap'].scrollWidth,
height: this.$refs['wrap'].scrollHeight,
modes: {
default: [
{
type: 'collapse-expand',
onChange: function onChange(item, collapsed) {
const data = item.get('model');
const icon = item.get('group').find((element) => element.get('name') === 'collapse-icon');
if (collapsed) {
icon.attr('symbol', G6.Marker.expand);
} else {
icon.attr('symbol', G6.Marker.collapse);
}
data.collapsed = collapsed;
return true;
},
shouldBegin: (e) => {
const target = e.target
const nodeType = target.cfg.name
if (nodeType === 'collapse-icon') return true;
return false;
}
},
'drag-canvas',
'zoom-canvas',
],
},
defaultNode: {
type: 'tree-node',
anchorPoints: [
[0, 0.5],
[1, 0.5],
],
},
defaultEdge: {
type: 'cubic-horizontal',
style: {
stroke: '#A3B1BF',
},
},
layout: {
type: 'compactBox',
direction: 'LR',
getId: function getId(d) {
return d.id;
},
getHeight: function getHeight() {
return 16;
},
getWidth: function getWidth() {
return 16;
},
getVGap: function getVGap() {
return 20;
},
getHGap: function getHGap() {
return 80;
},
},
});
let graphData = this.graphData
this.graph.data(graphData);
this.graph.render();
this.graph.fitView();
this.handleGraphNodeClickEvent(this.graph)
this.handleGraphEdgeClickEvent(this.graph)
this.handleGraphDraw(this.graph)
},
destoryGraph() {
this.graph.destroy()
},
handleGraphDraw () {},
handleGraphNodeClickEvent(graph) {
// 点击节点
graph.on('node:click', (e) => {
// 先将所有当前是 click 状态的节点置为非 click 状态
const clickNodes = graph.findAllByState('node', 'click');
clickNodes.forEach((cn) => {
graph.setItemState(cn, 'click', false);
});
const nodeItem = e.item; // 获取被点击的节点元素对象
this.handleNodeClick(nodeItem)
graph.setItemState(nodeItem, 'click', true); // 设置当前节点的 click 状态为 true
});
},
handleGraphEdgeClickEvent(graph) {
// 点击边
graph.on('edge:click', (e) => {
// 先将所有当前是 click 状态的边置为非 click 状态
const clickEdges = graph.findAllByState('edge', 'click');
clickEdges.forEach((ce) => {
graph.setItemState(ce, 'click', false);
});
const edgeItem = e.item; // 获取被点击的边元素对象
console.log('EdgeClick', edgeItem)
graph.setItemState(edgeItem, 'click', true); // 设置当前边的 click 状态为 true
this.handleEdgeClick (edgeItem)
});
},
},
mounted() {
this.getData();
},
created() {
// this.getData();
},
beforeDestroy() {
this.destoryGraph()
}
}
</script>
<style lang="less" scoped>
.workingGroup1{
height: 100%;
}
</style>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+167 -55
View File
@@ -5,7 +5,7 @@
<div class="standard-search-content">
<div style="position: absolute;left: 0;right: 0;top: 0;bottom: 0;">
<div class="content-left">
<div class="search" style="padding: 40px;">
<div class="search" style="padding: 20px 0 0;">
<div class="search-box">
<div class="home-input">
<el-input
@@ -34,10 +34,10 @@
<div class="condition-item" v-for="(condition, key) of searchOptions" :key="condition.index + key" v-if="condition.index < 5 || conditionBtnOpen">
<div class="condition-item-title">{{ condition.title }}</div>
<ul :class="[key, {'is-close': condition.isClose}]">
<li v-for="(conditionOpt, optIndex) in condition.options" :key="optIndex + condition.title">
<span :class="{ 'selected': searchCondition[key].indexOf(conditionOpt.value) !== -1 }" @click="optChecked(key, conditionOpt.value)">{{ conditionOpt.label }}
<span v-if="conditionOpt.number !== null && conditionOpt.number !== undefined">(<font style="color: red">{{ conditionOpt.number}}</font>)</span>
</span>
<li v-for="(conditionOpt, optIndex) in optionsFun(condition.options)" :key="optIndex + condition.title">
<span :class="{ 'selected': searchCondition[key].indexOf(conditionOpt.value) !== -1 }" @click="optChecked(key, conditionOpt.value)">{{ conditionOpt.label }}
<span v-if="conditionOpt.number !== null && conditionOpt.number !== undefined && selectIndex !== 'All'">(<font style="color: red">{{ conditionOpt.number}}</font>)</span>
</span>
</li>
</ul>
<div class="open-btn" v-if="condition.showOpenBtn" @click="condition.isClose = !condition.isClose">{{ condition.isClose ? '展开' : '收缩' }}</div>
@@ -268,7 +268,6 @@
</div>
</div>
<adc-back-top scroll-bind="standardSearch" windowScroll></adc-back-top>
<!-- 分享 -->
<el-drawer :title="$t('m.share')" :visible.sync="drawerModal" size="300px" :styles="drawerModalstyles" @close="treeCancel">
<div class="demo-drawer-content">
@@ -366,11 +365,11 @@
module: ['all']
},
seniortypeAll: ['selectIndex'],
seniortypeStand: ['selectIndex', 'standSort', 'category', 'nature', 'standState', 'applyArctic', 'applyAuth', 'CLLX', 'CBCD', 'ZRLX', 'CYSD'],
seniortypeBuss: ['selectIndex', 'country', 'standSort', 'category', 'nature', 'standState', 'textStatus', 'applyArctic', 'applyAuth', 'CLLX', 'CBCD', 'ZRLX', 'CYSD'],
seniortypeStand: ['selectIndex', 'standSort', 'category', 'nature', 'standState', 'applyArctic', 'applyAuth', 'CLLX', 'CBCD', 'ZRLX', 'CYSD','NYLX','NYLXCLASS'],
seniortypeBuss: ['selectIndex', 'country', 'standSort', 'category', 'nature', 'standState', 'textStatus', 'applyArctic', 'applyAuth', 'CLLX', 'CBCD', 'ZRLX', 'CYSD','NYLX','NYLXCLASS'],
// seniortypeLaws: ['selectIndex', 'country', 'SYCLLX', 'ZRLX', 'WSSFCY'], // 政策的适用车辆类型、我司是否参与 和 国内的字段不一样
seniortypeLaws: ['selectIndex', 'lawsSyqy', 'lawsSycx', 'CYSDLAWS'], // 政策的适用车辆类型、我司是否参与 和 国内的字段不一样
seniortypeEnterprise : ['selectIndex','BUSSSTATE','ORGLIST'],
seniortypeEnterprise : ['selectIndex','standSort','CLLX','BUSSSTATE','ORGLIST','NYLXCLASS','NYLX'],
seniortypeMsg: ['selectIndex', 'module'],
// 检索选项
searchOptions: {
@@ -405,6 +404,38 @@
index: 0
}
},
searchOptions2: {
selectIndex: {
title: '资源类型',
options: [
{
label: '全部',
value: 'All'
},
{
label: '国内标准法规',
value: 'stand'
},
{
label: '海外标准法规', // value没改
value: 'bussstand'
},
{
label: '国内外政策',
value: 'laws'
},
{
label: '企业标准',
value: 'enterprise'
}
// {
// label: '资料中心',
// value: 'msgdyinfo'
// }
],
index: 0
}
},
// 展开条件
conditionBtnOpen: false,
saveRoleBuss: [],
@@ -433,6 +464,13 @@
}
},
methods: {
optionsFun(items){
if(Object.prototype.toString.call(items) === '[object Object]'){
return items;
}
const list = items.filter ( item => !item.type || item.type === this.selectIndex);
return list
},
checkItems (item) {
this.itermsConditionsFlag = true
this.itermsConditionsTitle1 = item.textContent
@@ -700,6 +738,8 @@
* @date: 2018/12/19 11:38:21
*/
optChecked (key, value) {
console.log(value)
console.log(this.selectIndex)
if (value === 'All') {
this.AllCheck = true
// 点击全部-显示分页
@@ -736,12 +776,18 @@
index: 0
}
}
let originOptions = this.searchOriginOptions
this.searchOptions.NYLXCLASS = originOptions.NYLXCLASS
this.searchOptions.NYLXCLASS.title = '能源类型'
this.searchOptions.NYLXCLASS.index = 1
// 适用车辆类型
this.searchOptions.CLLX = originOptions.CLLX
this.searchOptions.CLLX.index = 2
this.searchCondition.selectIndex = ['All']
this.selectIndex = value
this.searchSarByInputKey()
this.$forceUpdate()
} else {
this.AllPage = false
this.Allitems = []
this.AllCheck = false
let index = this.searchCondition[key].indexOf(value)
// 资源类型为单选且必选
if (key !== 'selectIndex') {
@@ -837,6 +883,12 @@
this.searchCondition[key].splice(0, 1, value)
}
}
this.AllPage = this.selectIndex === 'All' ? true : false
this.Allitems = []
this.AllCheck = this.selectIndex === 'All' ? true : false
if (this.selectIndex === 'All'){
this.searchSarByInputKey()
}
}
},
// 统计搜索条件结果个数
@@ -878,30 +930,12 @@
// 检索栏每一项回显数字
if (seniortype[i] === 'standSort') {
renameType = 'standSort'
}else if (seniortype[i] === 'applyArctic') {
renameType = 'apply_arctic'
} else if (seniortype[i] === 'energyKind') {
renameType = 'energy_kind'
} else if (seniortype[i] === 'applyAuth') {
renameType = 'apply_auth'
} else if (this.selectIndex === 'laws' && seniortype[i] === 'CLLX') {
renameType = 'SYCLLX'
} else if (this.selectIndex === 'laws' && seniortype[i] === 'CYSD') {
renameType = 'WSSFCY'
} else if (this.selectIndex === 'enterprise' && seniortype[i] === 'ORGLIST'){
renameType = 'QCDW'
} else if (this.selectIndex === 'enterprise' && seniortype[i] === 'BUSSSTATE'){
renameType = 'textStatusBuss'
}else if (this.selectIndex === 'bussstand' && seniortype[i] === 'standState'){
renameType = 'textStatus'
}else {
}else{
renameType = seniortype[i]
}
console.log(renameType)
let resultsubdata = resultdata[renameType] || {}
let countAll = 0
if (nowdata) {
console.log(nowdata)
for (let ji = 0; ji < nowdata.length; ji++) {
if (resultsubdata[nowdata[ji].value] === undefined) {
nowdata[ji].number = 0
@@ -1055,6 +1089,36 @@
case 'CYSDLAWS':
option.title = '我司参与深度'
option.index = 18
case 'NYLXCLASS':
option.title = '能源类型'
option.index = 19
}
if(key === 'STANDCLASSIFY'){
const standVerify = ["GB","GB/T","QC/T","JT","JB","GA","GJB","HJ"];
const standEnVerify = ["ECE","EU","EC","EEC","ISO","IEC","GTR","CFR",
"JASO","JIS","GSO","GOST","ΓOCT","TP","SASO","UAE","CONTRAN","DENATRAN",
"ABNT NBR","NBR","INMETRO","CONAMA","Normative Instruction","ADR"];
const bussStandVerify = ["Q/FT A","Q/FT B","Q/FT E","Q/FT F","Q/FT G","Q/FT M",
"Q/FT Q","Q/FT R","Q/FT S","Q/FT T","Q/FT V","Q/FT X","Q/FT Y","Q/FT Z","Q/QCBFC"];
if(data[key]){
console.log(data[key])
const list = []
data[key].forEach( data => {
const listFilter1 = standVerify.filter ( item => item === data.label);
if(listFilter1 && listFilter1.length > 0){
list.push({label:data.label,value:data.value,type:'stand'});
}
const listFilter2 = standEnVerify.filter ( item => item === data.label);
if(listFilter2 && listFilter2.length > 0){
list.push({label:data.label,value:data.value,type:'bussstand'});
}
const listFilter3 = bussStandVerify.filter ( item => item === data.label);
if(listFilter3 && listFilter3.length > 0){
list.push({label:data.label,value:data.value,type:'enterprise'});
}
})
data[key] = list
}
}
option.showOpenBtn = false
option.options = data[key]
@@ -1102,9 +1166,9 @@
// filterOptions.standState.title = '标准状态'
// filterOptions.standState.index = 2
// 我司参与状态
filterOptions.CYSD = originOptions.CYSD
filterOptions.CYSD.title = '我司参与深度'
filterOptions.CYSD.index = 2
filterOptions.NYLXCLASS = originOptions.NYLXCLASS
filterOptions.NYLXCLASS.title = '能源类型'
filterOptions.NYLXCLASS.index = 2
// 监管类型
// filterOptions.ZRLX = originOptions.ZRLX
// filterOptions.ZRLX.title = '监管类型'
@@ -1142,9 +1206,9 @@
// filterOptions.standSort.options = [{label: '全部', value: 'all'}]
filterOptions.standSort.index = 1
// 标准状态
filterOptions.standState = originOptions.WBZTCLASS
filterOptions.standState.title = '文本状态'
filterOptions.standState.index = 2
filterOptions.NYLXCLASS = originOptions.NYLXCLASS
filterOptions.NYLXCLASS.title = '能源类型'
filterOptions.NYLXCLASS.index = 2
// 我司参与状态
// filterOptions.CYSD = originOptions.CYSD
// filterOptions.CYSD.title = '我司参与深度'
@@ -1162,14 +1226,16 @@
break
// 企业标准
case 'enterprise':
//标准状态
filterOptions.BUSSSTATE = originOptions.TEXTSTATUSBUSS
filterOptions.BUSSSTATE.title = '文本状态'
filterOptions.BUSSSTATE.index = 1
//主起草部门
filterOptions.ORGLIST = originOptions.QCDW
filterOptions.ORGLIST.title = '主起草部门'
filterOptions.ORGLIST.index = 2
// 标准类别
filterOptions.standSort = originOptions.standSort
filterOptions.standSort.index = 1
// 我司参与状态
filterOptions.NYLXCLASS = originOptions.NYLXCLASS
filterOptions.NYLXCLASS.title = '能源类型'
filterOptions.NYLXCLASS.index = 2
// 适用车辆类型
filterOptions.CLLX = originOptions.CLLX
filterOptions.CLLX.index = 3
break
// 资料中心
case 'msgdyinfo':
@@ -1204,6 +1270,12 @@
if (filterOptions.module) {
filterOptions.module.options = []
}
filterOptions.NYLXCLASS = originOptions.NYLXCLASS
filterOptions.NYLXCLASS.title = '能源类型'
filterOptions.NYLXCLASS.index = 1
// 适用车辆类型
filterOptions.CLLX = originOptions.CLLX
filterOptions.CLLX.index = 2
break
}
this.searchOptions = filterOptions
@@ -1234,13 +1306,52 @@
if (this.keywords === undefined) {
this.keywords = ''
}
const Alllist = {
selectIndex: 'fulltextserch',
selectValue: this.keywords,
page: this.pageAll,
pageSize: this.$store.getters.userInfo.configContent
const AllList = {}
console.log(this.searchOptions)
console.log(this.searchCondition)
let searchCondition = this.searchCondition
let searchKeys = Object.keys(this.searchOptions)
console.log(searchCondition)
console.log(searchKeys)
for (let key in searchCondition) {
if (searchKeys.indexOf(key) !== -1) {
if(key !== 'CLLX' && key !== 'NYLXCLASS'){
AllList[key] = searchCondition[key].join(',') === 'all' ? '' : searchCondition[key].join(',')
}else {
AllList[key] = searchCondition[key].join(',') === 'all' ? '' : searchCondition[key].join(',')
const list = AllList[key].split(",")
const listSum = []
list.forEach(item =>{
if(key === 'CLLX' && this.searchOptions.CLLX && this.searchOptions.CLLX.options){
const ids = this.searchOptions.CLLX.options
ids.forEach(data =>{
if(data.value === item){
listSum.push(data.label)
}
})
}else if(key === 'NYLXCLASS' && this.searchOptions.NYLXCLASS && this.searchOptions.NYLXCLASS.options){
const ids = this.searchOptions.NYLXCLASS.options
ids.forEach(data =>{
if(data.value === item){
listSum.push(data.label)
}
})
}
})
AllList[key] = listSum.join(',')
}
}
}
this.$http.post('search/searchCenter/searchSarBykey', Alllist, {
if(AllList[""]){
}
AllList.selectIndex = 'fulltextserch'
AllList.selectValue = this.keywords
AllList.page = this.pageAll
AllList.pageSize = this.$store.getters.userInfo.configContent
this.$http.post('search/searchCenter/searchSarBykey', AllList, {
_this: this,
loading: 'resultLoading'
}, res => {
@@ -1265,6 +1376,7 @@
}
},
searchSarBykey () {
console.log(this.searchOptions)
let searchCondition = this.searchCondition
let condition = {}
let searchKeys = Object.keys(this.searchOptions)
@@ -1282,15 +1394,12 @@
if (condition.selectIndex === 'bussstand') {
condition.selectIndex = 'stand'
condition.standType = 'FOREIGN'
condition.textStatus = condition.standState
} else if (condition.selectIndex === 'stand') {
condition.standType = 'INLAND'
}
if(condition.selectIndex === 'enterprise'){
condition.selectIndex='bussstand'
condition.standType = 'bussstand'
condition.textStatusBuss = condition.BUSSSTATE
condition.QCDW = condition.ORGLIST
}
// 查询为国内外政策时,改变查询参数名
if (condition.selectIndex === 'laws') {
@@ -2500,7 +2609,7 @@
this.filterOptions(val).then(() => {
this.resultColumns = this.getResultColumns()
this.$nextTick(() => {
let options = this.searchOptions
let options = this.optionsFun(this.searchOptions)
for (let key in options) {
let dom = document.getElementsByClassName(key)
if ($(dom).height() > 38) {
@@ -2510,6 +2619,9 @@
}
})
})
this.searchCondition['standSort'].splice(0, 1, 'all')
this.searchCondition['NYLXCLASS'].splice(0, 1, 'all')
this.searchCondition['CLLX'].splice(0, 1, 'all')
}
},
mounted () {
+4 -3
View File
@@ -6,9 +6,10 @@
// 服务器地址
// const devIp = '39.98.140.126'
// const devInterfacePORT = '10005'
const devIp = '192.168.10.50'
// const devIp = '62.234.136.153'
const devInterfacePORT = '9999'
// const devIp = '192.168.10.249'
const devIp = '62.234.136.153'
// const devInterfacePORT = '9999'
const devInterfacePORT = '8033'
// 配置 idm 认证
const ssoLogin = 'http://sso.foton.com.cn/oauth2.0/authorize?client_id=app_slrs&response_type=code&redirect_uri='
// 配置 前端服务