Merge remote-tracking branch 'origin/feature_dev_20230109_BTTZ' into dev_2nd_20230213

# Conflicts:
#	jero-web/src/mixins/header.js
#	jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/components/evaluationResultsList.vue
#	jero-web/src/views/documentManage/collection/index.vue
#	jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue
#	jero-web/src/views/projectManagement/components/customizeList.vue
This commit is contained in:
高嵩
2023-02-13 09:51:53 +08:00
120 changed files with 1852 additions and 950 deletions
@@ -99,7 +99,8 @@
pti.verify_person_charge_feedback as "verifyPersonChargeFeedback", pti.verify_person_charge_feedback as "verifyPersonChargeFeedback",
plb.studio_engineer as "studioEngineer", plb.studio_engineer as "studioEngineer",
plb.target_market as "targetMarket", plb.target_market as "targetMarket",
pti.id as "projectTaskInventoryId" pti.id as "projectTaskInventoryId",
plb.project_version as projectVersion
FROM FROM
project_laws_inventory pli project_laws_inventory pli
LEFT JOIN project_task_inventory pti ON ( pli.id = pti.project_laws_inventory_id ) LEFT JOIN project_task_inventory pti ON ( pli.id = pti.project_laws_inventory_id )
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.constant.enums.CutEnum; import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryRuleEnum; import com.jero.common.system.query.QueryRuleEnum;
import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.LoginUser;
import com.jero.modules.document.enums.FieldTypeEnum; import com.jero.modules.document.enums.FieldTypeEnum;
import com.jero.modules.document.service.IBussDocumentLibraryEOService; import com.jero.modules.document.service.IBussDocumentLibraryEOService;
@@ -24,7 +25,9 @@ import com.jero.modules.project.mapper.ProjectTaskInventoryDetailEOMapper;
import com.jero.modules.project.service.ILawsComplianceBoardService; import com.jero.modules.project.service.ILawsComplianceBoardService;
import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.enums.DicCodeEnum;
import com.jero.modules.system.service.ISysDictItemService; import com.jero.modules.system.service.ISysDictItemService;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
@@ -72,6 +75,9 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
@Autowired @Autowired
private ISysUserService sysUserService; private ISysUserService sysUserService;
@Autowired
private ISysDictService sysDictService;
@Override @Override
public IPage queryPageList(Map<String, Object> params) { public IPage queryPageList(Map<String, Object> params) {
int pageNo = Integer.parseInt(params.get("pageNo").toString()); int pageNo = Integer.parseInt(params.get("pageNo").toString());
@@ -181,6 +187,20 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
String cut = (String) params.get("cut"); String cut = (String) params.get("cut");
List<Map<String,Object>> complianceResultList = this.lawsComplianceBoardMapper.queryComplianceResultList(params); List<Map<String,Object>> complianceResultList = this.lawsComplianceBoardMapper.queryComplianceResultList(params);
if(CollectionUtils.isNotEmpty(complianceResultList)){ if(CollectionUtils.isNotEmpty(complianceResultList)){
for (Map<String, Object> map : complianceResultList) {
//处理相关项目名称
String projectName = String.valueOf(map.get("projectName"));
String yearName = String.valueOf(map.get("yearName"));
String targetMarket = String.valueOf(map.get("targetMarket"));
String projectVersion = String.valueOf(map.get("projectVersion"));
List<DictModel> regionList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
targetMarket = getTargetMarket(cut, regionList, targetMarket);
if(ObjectUtils.isEmpty(map.get("projectVersion"))){
map.put("projectName",projectName+"-"+yearName+"-"+targetMarket);
}else{
map.put("projectName",projectName+"-"+yearName+"-"+targetMarket+"-"+projectVersion);
}
}
List<String> projectLawsInventoryIdList = complianceResultList.stream().map(map-> (String) map.get("id")).collect(Collectors.toList()); List<String> projectLawsInventoryIdList = complianceResultList.stream().map(map-> (String) map.get("id")).collect(Collectors.toList());
QueryWrapper<ProjectTaskInventoryDetailEO> taskDetailQueryWrapper = new QueryWrapper<>(); QueryWrapper<ProjectTaskInventoryDetailEO> taskDetailQueryWrapper = new QueryWrapper<>();
taskDetailQueryWrapper.lambda().in(ProjectTaskInventoryDetailEO::getProjectTaskInventoryId,projectLawsInventoryIdList); taskDetailQueryWrapper.lambda().in(ProjectTaskInventoryDetailEO::getProjectTaskInventoryId,projectLawsInventoryIdList);
@@ -215,6 +235,34 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
return result; return result;
} }
private String getTargetMarket(String cut, List<DictModel> regionList, String targetMarket) {
//适用地区
List<DictModel> dictModelList = new ArrayList<>();
String region = "";
if(com.jero.modules.system.util.StringUtils.isNotBlank(targetMarket)){
for (String s : targetMarket.split(",")) {
List<DictModel> dictModelListTemp = regionList.stream()
.filter(e -> s.equals(e.getValue())).collect(Collectors.toList());
dictModelList.addAll(dictModelListTemp);
}
if(dictModelList.size() != 0){
StringBuilder sb = new StringBuilder();
for (DictModel dictModel : dictModelList) {
if(CutEnum.CN.getValue().equals(cut)){
sb.append(dictModel.getText()+",");
}else{
sb.append(dictModel.getTextEn()+",");
}
}
if(com.jero.modules.system.util.StringUtils.isNotBlank(sb)){
region = sb.substring(0,sb.length()-1);
}
}
}
return region;
}
/** /**
* 创建任务清单列表数据 * 创建任务清单列表数据
* @param complianceResultList * @param complianceResultList
@@ -747,9 +747,11 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
} }
if(StringUtils.isNotBlank(projectLibraryBase.getYearName())){ if(StringUtils.isNotBlank(projectLibraryBase.getYearName())){
projectLibraryBase.setProjectName(projectLibraryBase.getProjectName() projectLibraryBase.setProjectName(projectLibraryBase.getProjectName()
+ "-" + projectLibraryBase.getYearName() + "-" + projectLibraryBase.getYearName());
+ "-" + targetMarket // projectLibraryBase.setProjectName(projectLibraryBase.getProjectName()
+ "-" + projectVersion); // + "-" + projectLibraryBase.getYearName()
// + "-" + targetMarket
// + "-" + projectVersion);
} }
} }
return records; return records;
@@ -440,6 +440,11 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
List<String> userIdList = new ArrayList<>(); List<String> userIdList = new ArrayList<>();
datas.forEach(data -> { datas.forEach(data -> {
String standardInfo = data.getStandardInfo();
if(StringUtils.isNotBlank(standardInfo)){
String standardInfoTemp = standardInfo.replaceAll("、", " ");
data.setStandardInfo(standardInfoTemp);
}
//设置上一个操作人。 //设置上一个操作人。
for (Map.Entry<String, List<ProcessInfoDetailEO>> detailMap : lastAssigneeDetailMap.entrySet()) { for (Map.Entry<String, List<ProcessInfoDetailEO>> detailMap : lastAssigneeDetailMap.entrySet()) {
if(StringUtils.equals(data.getId(),detailMap.getKey())){ if(StringUtils.equals(data.getId(),detailMap.getKey())){
+4 -2
View File
@@ -185,10 +185,12 @@
.ant-table-thead > tr > th { .ant-table-thead > tr > th {
background: #f3f6f6!important; background: #f3f6f6!important;
padding: 12px 8px!important; padding-top: 12px!important;
padding-bottom: 12px!important;
} }
.ant-table-tbody > tr > td { .ant-table-tbody > tr > td {
padding: 12px 8px!important; padding-top: 12px!important;
padding-bottom: 12px!important;
} }
</style> </style>
+4 -2
View File
@@ -129,11 +129,13 @@
.ant-table-thead > tr > th { .ant-table-thead > tr > th {
background: #f3f6f6!important; background: #f3f6f6!important;
padding: 12px 8px!important; padding-top: 12px!important;
padding-bottom: 12px!important;
} }
.ant-table-tbody > tr > td { .ant-table-tbody > tr > td {
padding: 12px 8px!important; padding-top: 12px!important;
padding-bottom: 12px!important;
} }
.ant-tooltip-inner { .ant-tooltip-inner {
@@ -829,6 +829,7 @@
.selectWid { .selectWid {
min-width: 150px; min-width: 150px;
width: 100%;
} }
.inputWid { .inputWid {
@@ -760,6 +760,7 @@
.selectWid { .selectWid {
min-width: 150px; min-width: 150px;
width: 100%;
} }
.inputWid { .inputWid {
+14 -3
View File
@@ -1,12 +1,13 @@
<template> <template>
<div style="height: 100%"> <div style="height: 100%">
<div class="box"> <div class="box" v-if="isTrue">
<a-table <a-table
class="table" class="table"
rowKey="id" rowKey="id"
:components="drag(columns,'columns')"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:pagination="false" :pagination="false"
:scroll="{x: true}" :scroll="{x: '100%'}"
:data-source="dataSource" :data-source="dataSource"
:loading="loading" :loading="loading"
:columns="columns" :columns="columns"
@@ -63,6 +64,7 @@
<script> <script>
import eventBUs from '../../common/event' import eventBUs from '../../common/event'
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'docTable', name: 'docTable',
@@ -91,6 +93,7 @@
default: '' default: ''
} }
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
jsonBody: [], jsonBody: [],
@@ -102,6 +105,7 @@
dataSource: [], dataSource: [],
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
isTrue: false,
total: 0, total: 0,
searchParmes: {}, searchParmes: {},
loading: false, loading: false,
@@ -164,7 +168,8 @@
dataIndex: res.db_field_name, dataIndex: res.db_field_name,
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
sorter: res.sort sorter: res.sort,
width:170,
}) })
if (res.click) { if (res.click) {
this.columns[index].scopedSlots = { this.columns[index].scopedSlots = {
@@ -196,6 +201,10 @@
scopedSlots: { customRender: 'operation' } scopedSlots: { customRender: 'operation' }
}) })
} }
this.isTrue = false
setTimeout(()=>{
this.isTrue = true
},500)
} }
}) })
}, },
@@ -254,6 +263,8 @@
} }
</style> </style>
<style scoped> <style scoped>
@import '~@assets/less/common.less';
.box { .box {
width: 100%; width: 100%;
height: calc(100% - 100px); height: calc(100% - 100px);
+17 -1
View File
@@ -1,9 +1,10 @@
<template> <template>
<div style="height: 100%"> <div style="height: 100%">
<div class="box"> <div class="box" v-if='isTrue'>
<a-table <a-table
class="table" class="table"
rowKey="id" rowKey="id"
:components="drag(columns,'columns')"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:pagination="false" :pagination="false"
:scroll="{x: '100%'}" :scroll="{x: '100%'}"
@@ -65,9 +66,11 @@
import eventBUs from '../../common/event' import eventBUs from '../../common/event'
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'ocrTable', name: 'ocrTable',
mixins:[ResizeHeader, ResizeColumnProvide],
props: { props: {
//接口 //接口
url: { url: {
@@ -92,6 +95,7 @@
data() { data() {
return { return {
jsonBody: [], jsonBody: [],
isTrue:false,
checkboxList: [], checkboxList: [],
userData: {}, userData: {},
tableAll: false, tableAll: false,
@@ -201,9 +205,19 @@
scopedSlots: { customRender: 'operation' } scopedSlots: { customRender: 'operation' }
}) })
} }
this.isTrue = false
setTimeout(()=>{
this.isTrue = true
},100)
} }
}) })
}, },
getDataAdmin(){
this.isTrue = false
setTimeout(()=>{
this.isTrue = true
},100)
},
tableOnChange(pagination, filters, sorter) { tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2' this.orderBy = sorter.order == 'ascend' ? '1' : '2'
this.orderByField = sorter.columnKey this.orderByField = sorter.columnKey
@@ -263,6 +277,8 @@
</style> </style>
<style scoped> <style scoped>
@import '~@assets/less/common.less';
.box { .box {
width: 100%; width: 100%;
height: calc(100% - 100px); height: calc(100% - 100px);
@@ -1,9 +1,10 @@
<template> <template>
<div style="height: 100%"> <div style="height: 100%">
<div class="box"> <div class="box" v-if="isTrue">
<a-table <a-table
class="table" class="table"
rowKey="id" rowKey="id"
:components="drag(columns,'columns')"
:row-selection="{ fixed: true, selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ fixed: true, selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:pagination="false" :pagination="false"
:scroll="{x: true}" :scroll="{x: true}"
@@ -62,6 +63,7 @@
<script> <script>
import eventBUs from '../../common/event' import eventBUs from '../../common/event'
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'SplitDetailTable', name: 'SplitDetailTable',
@@ -94,6 +96,7 @@
default:'' default:''
} }
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
jsonBody: [], jsonBody: [],
@@ -105,6 +108,7 @@
dataSource: [], dataSource: [],
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
isTrue: false,
total: 0, total: 0,
searchParmes: {}, searchParmes: {},
loading: false, loading: false,
@@ -173,7 +177,8 @@
dataIndex: res.db_field_name, dataIndex: res.db_field_name,
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
sorter: res.sort sorter: res.sort,
width: 100
}) })
if (res.urlClick) { if (res.urlClick) {
@@ -208,6 +213,10 @@
}) })
} }
// console.log('columns',this.columns) // console.log('columns',this.columns)
this.isTrue = false
this.$nextTick(()=>{
this.isTrue = true
})
} }
}) })
}, },
@@ -308,6 +317,8 @@
} }
</style> </style>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@assets/less/common.less';
.ant-table td { .ant-table td {
white-space: nowrap; white-space: nowrap;
} }
@@ -1,9 +1,10 @@
<template> <template>
<div style="height: 100%"> <div style="height: 100%">
<div class="box"> <div class="box" v-if="isTrue">
<a-table <a-table
class="table" class="table"
rowKey="id" rowKey="id"
:components="drag(columns,'columns')"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:pagination="false" :pagination="false"
:scroll="{x: '100%'}" :scroll="{x: '100%'}"
@@ -59,6 +60,7 @@
<script> <script>
import eventBUs from '../../common/event' import eventBUs from '../../common/event'
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'SplitDocTable', name: 'SplitDocTable',
@@ -87,6 +89,7 @@
default: '' default: ''
} }
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
jsonBody: [], jsonBody: [],
@@ -98,6 +101,7 @@
dataSource: [], dataSource: [],
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
isTrue: false,
total: 0, total: 0,
searchParmes: {}, searchParmes: {},
loading: false, loading: false,
@@ -193,6 +197,10 @@
scopedSlots: { customRender: 'operation' } scopedSlots: { customRender: 'operation' }
}) })
} }
this.isTrue = false
this.$nextTick(()=>{
this.isTrue = true
})
} }
}) })
}, },
+18 -1
View File
@@ -1,9 +1,10 @@
<template> <template>
<div style="height: 100%"> <div style="height: 100%">
<div class="box"> <div class="box" v-if="isTrue">
<a-table <a-table
class="table" class="table"
rowKey="id" rowKey="id"
:components="drag(columns,'columns')"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:pagination="false" :pagination="false"
:scroll="{x: '100%'}" :scroll="{x: '100%'}"
@@ -65,6 +66,7 @@
import eventBUs from '../../common/event' import eventBUs from '../../common/event'
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'SplitTable', name: 'SplitTable',
@@ -93,6 +95,7 @@
default: '' default: ''
} }
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
jsonBody: [], jsonBody: [],
@@ -104,6 +107,7 @@
dataSource: [], dataSource: [],
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
isTrue: false,
total: 0, total: 0,
searchParmes: {}, searchParmes: {},
loading: false, loading: false,
@@ -224,9 +228,19 @@
scopedSlots: { customRender: 'operation' } scopedSlots: { customRender: 'operation' }
}) })
} }
this.isTrue = false
this.$nextTick(()=>{
this.isTrue = true
})
} }
}) })
}, },
getDataAdmin(){
this.isTrue = false
setTimeout(()=>{
this.isTrue = true
},100)
},
tableOnChange(pagination, filters, sorter) { tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2' this.orderBy = sorter.order == 'ascend' ? '1' : '2'
this.orderByField = sorter.columnKey this.orderByField = sorter.columnKey
@@ -291,6 +305,9 @@
} }
</style> </style>
<style scoped> <style scoped>
@import '~@assets/less/common.less';
.box { .box {
width: 100%; width: 100%;
height: calc(100% - 100px); height: calc(100% - 100px);
@@ -26,6 +26,7 @@
@searchReset="searchReset" @searchReset="searchReset"
/> />
<a-table <a-table
:components="drag(columns,'cloumns')"
:columns="columns" :columns="columns"
rowKey="serial_number" rowKey="serial_number"
:scroll="{x: 1500}" :scroll="{x: 1500}"
@@ -60,6 +61,7 @@
<script> <script>
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import currencySearch from '@/components/currencySearch/index' import currencySearch from '@/components/currencySearch/index'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
@@ -75,6 +77,7 @@
return false return false
} }
}, },
mixins: [ResizeColumnProvide,ResizeHeader],
data() { data() {
return { return {
visible: false, visible: false,
@@ -88,18 +91,21 @@
title: this.$t('standard'), title: this.$t('standard'),
dataIndex: 'serial_number', dataIndex: 'serial_number',
ellipsis: true, ellipsis: true,
align: 'left' align: 'left',
width: 480
}, },
{ {
title: this.$t('title'), title: this.$t('title'),
dataIndex: 'title', dataIndex: 'title',
ellipsis: true, ellipsis: true,
align: 'left' align: 'left',
width: 480
}, },
{ {
title: this.$t('TextStatus'), title: this.$t('TextStatus'),
dataIndex: 'state', dataIndex: 'state',
align: 'left' align: 'left',
width: 480
} }
], ],
dataList: [], dataList: [],
+9 -4
View File
@@ -5,18 +5,19 @@
:visible="visible" :visible="visible"
:confirm-loading="confirmLoading" :confirm-loading="confirmLoading"
:maskClosable="false" :maskClosable="false"
@cancel="visible = false" @cancel="visible = false;$emit('visible')"
> >
<template slot="footer"> <template slot="footer">
<a-button key="back" @click="visible = false"> <a-button key="back" @click="visible = false;$emit('visible')">
{{$t('cancel')}} {{$t('cancel')}}
</a-button> </a-button>
</template> </template>
<a-table <a-table
class="table" class="table"
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
:pagination="false" :pagination="false"
:scroll="{y: 420}" :scroll="{x:'100%',y: 420}"
:data-source="dataSource" :data-source="dataSource"
:loading="loading" :loading="loading"
> >
@@ -46,9 +47,12 @@
<script> <script>
import { getAction, postAction, } from '@/api/manage' import { getAction, postAction, } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
props:['url'], props:['url'],
mixins:[ResizeHeader, ResizeColumnProvide],
data(){ data(){
return{ return{
visible:false, visible:false,
@@ -65,7 +69,8 @@
dataIndex: 'logContent', dataIndex: 'logContent',
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'content' } scopedSlots: { customRender: 'content' },
width: 664
}, },
{ {
title: this.$t('OperationTime'), title: this.$t('OperationTime'),
@@ -36,6 +36,7 @@
ref='table' ref='table'
size='middle' size='middle'
rowKey='id' rowKey='id'
:components="drag(columns,'columns')"
:columns='columns' :columns='columns'
:dataSource='areaTable' :dataSource='areaTable'
:pagination='false' :pagination='false'
@@ -72,10 +73,12 @@ import { putAction, postAction, getAction, deleteAction ,downloadFile } from '@/
import axios from 'axios' import axios from 'axios'
import Vue from 'vue' import Vue from 'vue'
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'diolagArea', name: 'diolagArea',
components: {}, components: {},
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
token:Vue.ls.get(ACCESS_TOKEN), token:Vue.ls.get(ACCESS_TOKEN),
@@ -102,20 +105,23 @@ export default {
title: this.$t('Exporttype'), title: this.$t('Exporttype'),
align: 'left', align: 'left',
dataIndex: 'exportType', dataIndex: 'exportType',
ellipsis: true ellipsis: true,
width: 260
}, },
{ {
title: this.$t('Exporttime'), title: this.$t('Exporttime'),
align: 'left', align: 'left',
dataIndex: 'exportTime', dataIndex: 'exportTime',
ellipsis: true ellipsis: true,
width: 260
}, },
{ {
title: this.$t('file'), title: this.$t('file'),
align: 'left', align: 'left',
dataIndex: 'exportFileName', dataIndex: 'exportFileName',
scopedSlots: { customRender: 'file' }, scopedSlots: { customRender: 'file' },
ellipsis: true ellipsis: true,
width: 260
} }
], ],
newVisible: false, newVisible: false,
@@ -0,0 +1,39 @@
<template>
<a-table
:components="drag(columnshistory,'columnshistory')"
class="table"
:columns="columnshistory"
:pagination="false"
:scroll="{x: '100%',y: 400}"
:data-source="dataSourcehistory"
:loading="loading"
>
<span slot="content" slot-scope="text,record">
<a-tooltip placement="topLeft">
<template slot="title">
<span v-html="text"></span>
</template>
<span v-html="text"></span>
</a-tooltip>
</span>
<span slot="detailText" slot-scope="text,record">
<span class="text" :title="text">
{{text && text.length > 10?text.slice(0,9)+'...':text}}
</span>
</span>
</a-table>
</template>
<script>
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default {
name: 'historyTable.vue',
props:['columnshistory','dataSourcehistory'],
mixins:[ResizeHeader, ResizeColumnProvide],
}
</script>
<style scoped>
</style>
@@ -0,0 +1,39 @@
<template>
<a-table
class="table"
:components="drag(columnshistory,'columnshistory')"
:columns="columnshistory"
:pagination="false"
:scroll="{x: '100%', y: 400}"
:data-source="dataSourcehistory"
:loading="loading"
>
<span slot="content" slot-scope="text,record">
<a-tooltip placement="topLeft">
<template slot="title">
<span v-html="text"></span>
</template>
<span v-html="text"></span>
</a-tooltip>
</span>
<span slot="detailText" slot-scope="text,record">
<span class="text" :title="text">
{{text && text.length > 10?text.slice(0,9)+'...':text}}
</span>
</span>
</a-table>
</template>
<script>
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default {
name: 'historyTable1',
props:['columnshistory','dataSourcehistory'],
mixins:[ResizeHeader, ResizeColumnProvide],
}
</script>
<style scoped>
</style>
@@ -3,6 +3,7 @@
<div class="box"> <div class="box">
<!-- --> <!-- -->
<a-table <a-table
:components="drag(columns,'columns',JSON.parse(JSON.stringify(minWidthColumns)))"
class="table" class="table"
rowKey="id" rowKey="id"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
@@ -179,28 +180,29 @@
@ok="handleOk" @ok="handleOk"
@cancel="handleCancel" @cancel="handleCancel"
> >
<a-table <historyTable :columnshistory='columnshistory' :dataSourcehistory='dataSourcehistory'></historyTable>
class="table" <!-- <a-table-->
:columns="columnshistory" <!-- class="table"-->
:pagination="false" <!-- :columns="columnshistory"-->
:scroll="{y: 400}" <!-- :pagination="false"-->
:data-source="dataSourcehistory" <!-- :scroll="{y: 400}"-->
:loading="loading" <!-- :data-source="dataSourcehistory"-->
> <!-- :loading="loading"-->
<span slot="content" slot-scope="text,record"> <!-- >-->
<a-tooltip placement="topLeft"> <!-- <span slot="content" slot-scope="text,record">-->
<template slot="title"> <!-- <a-tooltip placement="topLeft">-->
<span v-html="text"></span> <!-- <template slot="title">-->
</template> <!-- <span v-html="text"></span>-->
<span v-html="text"></span> <!-- </template>-->
</a-tooltip> <!-- <span v-html="text"></span>-->
</span> <!-- </a-tooltip>-->
<span slot="detailText" slot-scope="text,record"> <!-- </span>-->
<span class="text" :title="text"> <!-- <span slot="detailText" slot-scope="text,record">-->
{{text && text.length > 10?text.slice(0,9)+'...':text}} <!-- <span class="text" :title="text">-->
</span> <!-- {{text && text.length > 10?text.slice(0,9)+'...':text}}-->
</span> <!-- </span>-->
</a-table> <!-- </span>-->
<!-- </a-table>-->
<div class="page" v-if="dataSourcehistory.length > 0"> <div class="page" v-if="dataSourcehistory.length > 0">
<a-pagination <a-pagination
:show-total="total => $t('total')+` ${total} `+$t('strip')" :show-total="total => $t('total')+` ${total} `+$t('strip')"
@@ -271,11 +273,14 @@
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
import axios from 'axios' import axios from 'axios'
import Vue from 'vue' import Vue from 'vue'
import VueDraggableResizable from 'vue-draggable-resizable' // import VueDraggableResizable from 'vue-draggable-resizable'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
import historyTable from './historyTable.vue'
export default { export default {
name: 'index', name: 'index',
mixins:[ResizeHeader, ResizeColumnProvide],
props: { props: {
//接口 //接口
url: { url: {
@@ -304,48 +309,51 @@
}, },
components: { components: {
CollectionType, CollectionType,
VueDraggableResizable // VueDraggableResizable
historyTable
}, },
data() { data() {
this.components = { // this.components = {
header: { // header: {
cell: (h, props, children) => { // cell: (h, props, children) => {
const { key, ...restProps } = props // const { key, ...restProps } = props
//
// 此处的this.columns 是定义的table的表头属性变量 // // 此处的this.columns 是定义的table的表头属性变量
//
const col = this.columns.find((col) => { // const col = this.columns.find((col) => {
const k = col.dataIndex || col.key // const k = col.dataIndex || col.key
return k === key // return k === key
}) // })
//
if (!col || !col.width) { // if (!col || !col.width) {
return h('th', { ...restProps }, [...children]) // return h('th', { ...restProps }, [...children])
} // }
//
const dragProps = { // const dragProps = {
key: col.dataIndex || col.key, // key: col.dataIndex || col.key,
class: 'table-draggable-handle', // class: 'table-draggable-handle',
attrs: { // attrs: {
w: 10, // w: 10,
x: col.width, // x: col.width,
z: 1, // z: 1,
axis: 'x', // axis: 'x',
draggable: false, // draggable: false,
resizable: false // resizable: false
}, // },
on: { // on: {
dragging: (x, y) => { // dragging: (x, y) => {
col.width = Math.max(x, 1) // col.width = Math.max(x, 1)
} // }
} // }
} // }
const drag = h('vue-draggable-resizable', { ...dragProps }) // const drag = h('vue-draggable-resizable', { ...dragProps })
return h('th', { ...restProps, class: 'resize-table-th' }, [...children, drag]) // return h('th', { ...restProps, class: 'resize-table-th' }, [...children, drag])
} // }
} // }
} // }
return { return {
colIndexs:[],
minWidthColumns:[],
token: Vue.ls.get(ACCESS_TOKEN), token: Vue.ls.get(ACCESS_TOKEN),
jsonBody: [], jsonBody: [],
checkboxList: [], checkboxList: [],
@@ -411,14 +419,15 @@
{ {
title: this.$t('OperationDetails'), title: this.$t('OperationDetails'),
dataIndex: 'logContent', dataIndex: 'logContent',
align: 'center', align: 'left',
width: 320,
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'content' } scopedSlots: { customRender: 'content' }
}, },
{ {
title: this.$t('OperationTime'), title: this.$t('OperationTime'),
dataIndex: 'createTime', dataIndex: 'createTime',
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
width: 180 width: 180
} }
@@ -767,10 +776,10 @@
let num = 0 let num = 0
this.content = [] this.content = []
jsonHead.forEach((res, index) => { jsonHead.forEach((res, index) => {
console.log(res) // console.log(res)
// 配置列 // 配置列
if (res.type) { if (res.type) {
console.log('配置') // console.log('配置')
this.columns.push({ this.columns.push({
dataIndex: res.db_field_name, dataIndex: res.db_field_name,
align: 'left', align: 'left',
@@ -834,8 +843,15 @@
} }
} }
} }
if(res.isLock && res.isLock === '0'){
this.colIndexs.push(index)
}
}) })
this.columns = [...this.columns] this.columns = [...this.columns]
this.colIndexs.forEach((item)=>{
this.minWidthColumns.push([this.columns[item],500])
})
this.$forceUpdate() this.$forceUpdate()
} }
}) })
@@ -976,7 +992,7 @@
Object.keys(Obj).forEach((item) => { Object.keys(Obj).forEach((item) => {
if (Obj[item] instanceof Object && Obj[item].controlType !== undefined) { if (Obj[item] instanceof Object && Obj[item].controlType !== undefined) {
Obj[item].list.forEach((itemLi) => { Obj[item].list.forEach((itemLi) => {
console.log(item) // console.log(item)
if((this.currentPersonRole == 'homo' || this.currentPersonRole == 'admin') && item == 'referencesCol'){ if((this.currentPersonRole == 'homo' || this.currentPersonRole == 'admin') && item == 'referencesCol'){
itemLi.isLock = 0 itemLi.isLock = 0
}else{ }else{
@@ -1163,6 +1179,10 @@
text-justify: inter-ideograph; text-justify: inter-ideograph;
word-break: break-all word-break: break-all
} }
::v-deep .ant-table-placeholder{
margin-top: 8px !important;
}
</style> </style>
<style> <style>
.resize-table-th { .resize-table-th {
@@ -1,6 +1,6 @@
<template> <template>
<div style="height: 100%"> <div style="height: 100%">
<div class="box"> <div class="box" v-if='isTrue'>
<!-- --> <!-- -->
<a-table <a-table
class="table" class="table"
@@ -11,7 +11,7 @@
:data-source="dataSource" :data-source="dataSource"
:loading="loading" :loading="loading"
sticky sticky
:components="components" :components="drag(columns,'columns',JSON.parse(JSON.stringify(minWidthColumns)))"
:columns="columns" :columns="columns"
:rowClassName="rowClassName" :rowClassName="rowClassName"
@change="tableOnChange" @change="tableOnChange"
@@ -168,28 +168,30 @@
@ok="handleOk" @ok="handleOk"
@cancel="handleCancel" @cancel="handleCancel"
> >
<a-table <history-table1 :columnshistory='columnshistory' :dataSourcehistory='dataSourcehistory'></history-table1>
class="table" <!-- :components="drag(columnshistory,'columnshistory')"-->
:columns="columnshistory" <!-- <a-table-->
:pagination="false" <!-- class="table"-->
:scroll="{y: 400}" <!-- :columns="columnshistory"-->
:data-source="dataSourcehistory" <!-- :pagination="false"-->
:loading="loading" <!-- :scroll="{x: '100%', y: 400}"-->
> <!-- :data-source="dataSourcehistory"-->
<span slot="content" slot-scope="text,record"> <!-- :loading="loading"-->
<a-tooltip placement="topLeft"> <!-- >-->
<template slot="title"> <!-- <span slot="content" slot-scope="text,record">-->
<span v-html="text"></span> <!-- <a-tooltip placement="topLeft">-->
</template> <!-- <template slot="title">-->
<span v-html="text"></span> <!-- <span v-html="text"></span>-->
</a-tooltip> <!-- </template>-->
</span> <!-- <span v-html="text"></span>-->
<span slot="detailText" slot-scope="text,record"> <!-- </a-tooltip>-->
<span class="text" :title="text"> <!-- </span>-->
{{text && text.length > 10?text.slice(0,9)+'...':text}} <!-- <span slot="detailText" slot-scope="text,record">-->
</span> <!-- <span class="text" :title="text">-->
</span> <!-- {{text && text.length > 10?text.slice(0,9)+'...':text}}-->
</a-table> <!-- </span>-->
<!-- </span>-->
<!-- </a-table>-->
<div class="page" v-if="dataSourcehistory.length > 0"> <div class="page" v-if="dataSourcehistory.length > 0">
<a-pagination <a-pagination
:show-total="total => $t('total')+` ${total} `+$t('strip')" :show-total="total => $t('total')+` ${total} `+$t('strip')"
@@ -213,8 +215,10 @@
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
import axios from 'axios' import axios from 'axios'
import Vue from 'vue' import Vue from 'vue'
import VueDraggableResizable from 'vue-draggable-resizable' // import VueDraggableResizable from 'vue-draggable-resizable'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
import historyTable1 from './historyTable1.vue'
export default { export default {
name: 'index', name: 'index',
@@ -241,48 +245,52 @@
}, },
components: { components: {
CollectionType, CollectionType,
VueDraggableResizable // VueDraggableResizable
historyTable1
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
this.components = { // this.components = {
header: { // header: {
cell: (h, props, children) => { // cell: (h, props, children) => {
const { key, ...restProps } = props // const { key, ...restProps } = props
//
// 此处的this.columns 是定义的table的表头属性变量 // // 此处的this.columns 是定义的table的表头属性变量
//
const col = this.columns.find((col) => { // const col = this.columns.find((col) => {
const k = col.dataIndex || col.key // const k = col.dataIndex || col.key
return k === key // return k === key
}) // })
//
if (!col || !col.width) { // if (!col || !col.width) {
return h('th', { ...restProps }, [...children]) // return h('th', { ...restProps }, [...children])
} // }
//
const dragProps = { // const dragProps = {
key: col.dataIndex || col.key, // key: col.dataIndex || col.key,
class: 'table-draggable-handle', // class: 'table-draggable-handle',
attrs: { // attrs: {
w: 10, // w: 10,
x: col.width, // x: col.width,
z: 1, // z: 1,
axis: 'x', // axis: 'x',
draggable: false, // draggable: false,
resizable: false // resizable: false
}, // },
on: { // on: {
dragging: (x, y) => { // dragging: (x, y) => {
col.width = Math.max(x, 1) // col.width = Math.max(x, 1)
} // }
} // }
} // }
const drag = h('vue-draggable-resizable', { ...dragProps }) // const drag = h('vue-draggable-resizable', { ...dragProps })
return h('th', { ...restProps, class: 'resize-table-th' }, [...children, drag]) // return h('th', { ...restProps, class: 'resize-table-th' }, [...children, drag])
} // }
} // }
} // }
return { return {
colIndexs:[],
minWidthColumns:[],
token: Vue.ls.get(ACCESS_TOKEN), token: Vue.ls.get(ACCESS_TOKEN),
jsonBody: [], jsonBody: [],
checkboxList: [], checkboxList: [],
@@ -297,6 +305,8 @@
pageNo: 1, pageNo: 1,
pageSize: 100, pageSize: 100,
pageNohistory: 1, pageNohistory: 1,
description:'',
isTrue:false,
pageSizehistory: 10, pageSizehistory: 10,
pageSizeOptions: ['100', '200'], pageSizeOptions: ['100', '200'],
total: 0, total: 0,
@@ -340,14 +350,15 @@
{ {
title: this.$t('OperationDetails'), title: this.$t('OperationDetails'),
dataIndex: 'logContent', dataIndex: 'logContent',
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'content' } scopedSlots: { customRender: 'content' },
width: 484
}, },
{ {
title: this.$t('remarks'), title: this.$t('remarks'),
dataIndex: 'remarks', dataIndex: 'remarks',
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
width: 180, width: 180,
scopedSlots: { customRender: 'detailText' } scopedSlots: { customRender: 'detailText' }
@@ -355,7 +366,7 @@
{ {
title: this.$t('OperationTime'), title: this.$t('OperationTime'),
dataIndex: 'createTime', dataIndex: 'createTime',
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
width: 180 width: 180
} }
@@ -629,8 +640,20 @@
} }
} }
} }
if(res.type){
this.colIndexs.push(index)
}
}) })
this.columns = [...this.columns]
this.isTrue = false
setTimeout(()=>{
this.isTrue = true
this.columns = [...this.columns]
this.colIndexs.forEach((item)=>{
this.minWidthColumns.push([this.columns[item],500])
})
},300)
console.log(this.columns) console.log(this.columns)
} }
}) })
@@ -861,6 +884,7 @@
} }
</style> </style>
<style scoped lang="less"> <style scoped lang="less">
@import'~@assets/less/common.less';
.inputWid { .inputWid {
min-width: 100px; min-width: 100px;
height: 38px; height: 38px;
@@ -971,6 +995,10 @@
text-justify: inter-ideograph; text-justify: inter-ideograph;
word-break: break-all word-break: break-all
} }
::v-deep .ant-table-placeholder{
margin-top: 8px !important;
}
</style> </style>
<style> <style>
.resize-table-th { .resize-table-th {
+9 -1
View File
@@ -1,12 +1,13 @@
<template> <template>
<div style="height: 100%"> <div style="height: 100%">
<div class="box"> <div class="box" v-if="isTrue">
<a-table <a-table
class="table" class="table"
rowKey="id" rowKey="id"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:pagination="false" :pagination="false"
:scroll="{x: '100%'}" :scroll="{x: '100%'}"
:components="drag(columns,'columns')"
:data-source="dataSource" :data-source="dataSource"
:loading="loading" :loading="loading"
:rowClassName="rowClassName" :rowClassName="rowClassName"
@@ -62,9 +63,11 @@
<script> <script>
import eventBUs from '../../common/event' import eventBUs from '../../common/event'
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import {ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
mixins: [ResizeColumnProvide,ResizeHeader],
props: { props: {
//接口 //接口
url: { url: {
@@ -97,6 +100,7 @@
dataSource: [], dataSource: [],
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
isTrue:false,
total: 0, total: 0,
searchParmes: {}, searchParmes: {},
loading: false, loading: false,
@@ -193,6 +197,10 @@
scopedSlots: { customRender: 'operation' } scopedSlots: { customRender: 'operation' }
}) })
} }
this.isTrue = false
this.$nextTick(()=>{
this.isTrue = true
})
} }
}) })
}, },
@@ -5,15 +5,16 @@
style="z-index: 1007" style="z-index: 1007"
:visible="visibleFile" :visible="visibleFile"
:maskClosable="false" :maskClosable="false"
@cancel="visibleFile = false" @cancel="visibleFile = false;$emit('visible')"
> >
<template slot="footer"> <template slot="footer">
<a-button key="back" @click="visibleFile = false"> <a-button key="back" @click="visibleFile = false;$emit('visible')">
{{$t('cancel')}} {{$t('cancel')}}
</a-button> </a-button>
</template> </template>
<a-table <a-table
class="table" class="table"
:components="drag(columnsFile,'columnsFile')"
:columns="columnsFile" :columns="columnsFile"
:pagination="false" :pagination="false"
:scroll="{x:500,y: 400}" :scroll="{x:500,y: 400}"
@@ -39,10 +40,11 @@
import { Base64 } from 'js-base64' import { Base64 } from 'js-base64'
import { getAction, postAction, downloadFile, putAction } from '@/api/manage' import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'viewFileModel', name: 'viewFileModel',
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
dataSourceFile: [], dataSourceFile: [],
+63 -14
View File
@@ -5,8 +5,10 @@ const events = {
move: 'mousemove', move: 'mousemove',
stop: 'mouseup' stop: 'mouseup'
} }
let tableAll = [] // 单个页面存放多个表格的columns
var columnsAll = [] var columnsAll = []
var columnsKey = '' var columnsKey = ''
let minColumn = [] // 存放设置最小宽的列及宽度
const DragHandler = { const DragHandler = {
name: 'nio-drag-handler', name: 'nio-drag-handler',
//获取混入的方法(重新设置表头宽度) //获取混入的方法(重新设置表头宽度)
@@ -85,26 +87,63 @@ const DragHandler = {
return h('div', { class: 'nio-drag-handler', on: { mousedown: this.handleMouseDown } }, [line]) return h('div', { class: 'nio-drag-handler', on: { mousedown: this.handleMouseDown } }, [line])
} }
} }
const ResizeHeaderOne = function(val, name) { const ResizeHeaderOne = function(val, name ,minWidths) {
columnsAll = val columnsAll = val
columnsKey = name columnsKey = name
minColumn = minWidths
if(tableAll.indexOf(val) === -1){
tableAll.push(val)
}
return (h, props, children) => { return (h, props, children) => {
const { key, column, ...restProps } = props const { key, column, ...restProps } = props
let col = {} let col = {}
// 处理多级表头 // 处理多级表头
col = getRenderCoL(key, val) // col = getRenderCoL(key, val)
col = getRenderCoL(key, columnsAll)
let content = [].concat(children) let content = [].concat(children)
if (col ) { if (col) {
const handlerVNode = h(DragHandler, { let handlerVNode;
props: { if(minColumn && minWidths !== undefined && minColumn.length>0){
width: col.width, // 存放所有需要手动设置最小宽度的列的dataIndex
minWidth: Math.min(col.width, 100), let colsdataIndex = []
column: col minColumn.forEach((item)=>{
colsdataIndex.push(item[0].dataIndex)
handlerVNode = h(DragHandler, {
props: {
width: col.width,
minWidth: Math.min(item[1]),
column: col
}
}, [])
content = content.concat(
handlerVNode
)
})
// 不需要手动设置最小宽度的列
if(colsdataIndex.indexOf(col.dataIndex) === -1){
handlerVNode = h(DragHandler, {
props: {
width: col.width,
minWidth: Math.min(col.width, 100),
column: col
}
}, [])
content = content.concat(
handlerVNode
)
} }
}, []) }else{
content = content.concat( handlerVNode = h(DragHandler, {
handlerVNode props: {
) width: col.width,
minWidth: Math.min(col.width, 100),
column: col
}
}, [])
content = content.concat(
handlerVNode
)
}
} }
console.log(restProps) console.log(restProps)
let className = '' let className = ''
@@ -120,10 +159,12 @@ const ResizeHeaderOne = function(val, name) {
} }
export const ResizeHeader = { export const ResizeHeader = {
methods: { methods: {
drag(columns, name) { drag(columns, name ,minWidths) {
console.log(minWidths)
return { return {
header: { header: {
cell: ResizeHeaderOne(columns, name) // minWidths : 最小宽度 => [[需要设置的列,最小宽],[需要设置的列,最小宽],...]
cell: ResizeHeaderOne(columns, name,minWidths)
} }
} }
} }
@@ -197,6 +238,14 @@ export const ResizeColumnProvide = {
}, },
methods: { methods: {
_resizeColumn(w, column) { _resizeColumn(w, column) {
console.log(column)
tableAll.forEach(item=>{
item.forEach((i)=>{
if(i === column && i.dataIndex === column.dataIndex){
columnsAll = item
}
})
})
this.moving = true this.moving = true
let time = setTimeout(() => { let time = setTimeout(() => {
this.moving = false this.moving = false
+278
View File
@@ -0,0 +1,278 @@
import _ from 'lodash'
const events = {
start: 'mousedown',
move: 'mousemove',
stop: 'mouseup'
}
let istableAll = [] // 单个页面存放多个表格的columns
var tablecolumnsAll = []
var tablecolumnsKey = ''
let tableminColumn = [] // 存放设置最小宽的列及宽度
const tableDragHandler = {
name: 'nio-drag-handler',
//获取混入的方法(重新设置表头宽度)
inject: ['onResizeColumn'],
props: {
column: { type: Object, required: true },
minWidth: { type: Number, required: true }
},
data() {
return {
dragging: false,
thWidth: 0,// 列头的宽度,用于计算
startX: 0,
moveEvent: {
remove: function() {
}
},
stopEvent: {
remove: function() {
}
}
}
},
//销毁监听
tablebeforeDestroy() {
this.removeEvents()
},
methods: {
//鼠标开始拖拽
tablehandleMouseDown(e) {
e.stopPropagation()
e.preventDefault()
this.tablehandleStart(e)
},
tablehandleStart(e) {
console.log(e)
this.dragging = true
this.removeEvents()
this.thWidth = this.$el.parentNode.getBoundingClientRect().width
if (e instanceof MouseEvent && e.which !== 1) {
return
}
if (e.stopPropagation) e.stopPropagation()
this.startX = e.pageX
this.moveEvent = addEventListenerWrap(document.documentElement, events.move, this.handleMove)
this.stopEvent = addEventListenerWrap(document.documentElement, events.stop, this.handleStop)
},
handleMove(e) {
this.updateWidth(e)
},
handleStop(e) {
this.dragging = false
this.updateWidth(e)
this.removeEvents()
},
updateWidth(e) {
let pageX = e.pageX
const tmpDeltaX = this.startX - pageX
let w = Math.max(this.thWidth - tmpDeltaX, this.minWidth)
w = Math.min(w, Infinity)
this.onResizeColumn(w, this.column)
},
removeEvents() {
this.moveEvent.remove()
this.stopEvent.remove()
}
},
//渲染div 绑定拖拽
render(h) {
const line = h('div', { class: 'nio-drag-handler-line' }, [])
return h('div', { class: 'nio-drag-handler', on: { mousedown: this.tablehandleMouseDown } }, [line])
}
}
const tableResizeHeaderOne = function(val, name ,minWidths) {
tablecolumnsAll = val
tablecolumnsKey = name
tableminColumn = minWidths
if(istableAll.indexOf(val) === -1){
istableAll.push(val)
}
return (h, props, children) => {
const { key, column, ...restProps } = props
let col = {}
// 处理多级表头
// col = getRenderCoL(key, val)
col = getRenderCoL(key, tablecolumnsAll)
let content = [].concat(children)
if (col) {
let handlerVNode;
if(tableminColumn && minWidths !== undefined && tableminColumn.length>0){
// 存放所有需要手动设置最小宽度的列的dataIndex
let colsdataIndex = []
tableminColumn.forEach((item)=>{
colsdataIndex.push(item[0].dataIndex)
handlerVNode = h(tableDragHandler, {
props: {
width: col.width,
minWidth: Math.min(item[1]),
column: col
}
}, [])
content = content.concat(
handlerVNode
)
})
// 不需要手动设置最小宽度的列
if(colsdataIndex.indexOf(col.dataIndex) === -1){
handlerVNode = h(tableDragHandler, {
props: {
width: col.width,
minWidth: Math.min(col.width, 100),
column: col
}
}, [])
content = content.concat(
handlerVNode
)
}
}else{
handlerVNode = h(tableDragHandler, {
props: {
width: col.width,
minWidth: Math.min(col.width, 100),
column: col
}
}, [])
content = content.concat(
handlerVNode
)
}
}
return h('th', {
key,
props: { col },
...Object.assign({}, restProps, { class: (restProps.class || '') + ' nio-header-th' })
}, content)
}
}
export const tableResizeHeader = {
methods: {
tabledrag(columns, name ,minWidths) {
console.log(minWidths)
return {
header: {
// minWidths : 最小宽度 => [[需要设置的列,最小宽],[需要设置的列,最小宽],...]
cell: tableResizeHeaderOne(columns, name,minWidths)
}
}
}
}
}
const getRenderCoL = (key, tbCols) => {
let result = ''
_.forEach(tbCols, (item) => {
if (item.children) {
result = getRenderCoL(key, item.children)
return !result
} else {
const k = item.dataIndex || item.key
if (k === key) {
result = item
return false
}
}
})
return result
}
//拖拽的节流方法
const throttle2 = (fn, delay) => {
let valid = true
return (...args) => {
if (!valid) {
return
}
valid = false
setTimeout(() => {
fn(...args)
valid = true
}, delay)
}
}
//对table组件进行重构的核心方法组件
//监听鼠标移动的方法
function addEventListenerWrap(target, eventType, cb) {
if (target && target.addEventListener) {
target.addEventListener(eventType, cb)
}
return {
remove: () => {
if (target && target.removeEventListener) {
target.removeEventListener(eventType, cb)
}
}
}
}
//在table组件中混入的一个方法 provide => onResizeColumn
//目的是在table重写中(tableDragHandler方法)
//可以用到构造的onResizeColumn方法(重新设置表头的宽度)
export const tableResizeColumnProvide = {
name: 'ResizeColumnProvideMixin',
provide() {
return {
onResizeColumn: this.onResizeColumn
}
},
data() {
const onResizeColumn = throttle2(this._resizeColumn, 30)
return {
moving: false, //这个属性是为了在拖拽时 阻止表头触发排序的功能
onResizeColumn
}
},
methods: {
_resizeColumn(w, column) {
console.log(column)
istableAll.forEach(item=>{
item.forEach((i)=>{
if(i === column && i.dataIndex === column.dataIndex){
tablecolumnsAll = item
}
})
})
this.moving = true
let time = setTimeout(() => {
this.moving = false
clearTimeout(time)
}, 2000)
//在拖拽时找到对应表头 重新设置表头的宽度
let num = -1
let numOne = -1
for (let i = 0; i < tablecolumnsAll.length; i++) {
if (tablecolumnsAll[i].dataIndex === column.dataIndex) {
num = i
break
}
if (tablecolumnsAll[i].children && tablecolumnsAll[i].children.length > 0) {
for (let j = 0; j < tablecolumnsAll[i].children.length; j++) {
if (tablecolumnsAll[i].children[j].dataIndex === column.dataIndex) {
num = i
numOne = j
break
}
}
}
}
// const matchedIndex = columns.findIndex(item => item.dataIndex === column.dataIndex)
// console.log(matchedIndex)
// columns[matchedIndex].width = w
if (numOne > -1) {
tablecolumnsAll[num].children[numOne].width = w
} else {
tablecolumnsAll[num].width = w
}
this[tablecolumnsKey] = tablecolumnsAll
}
}
}
@@ -26,8 +26,10 @@
</div> </div>
</div> </div>
<a-table <a-table
v-if="isTrue"
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 320px)'}" :scroll="{x: '100%',y:'calc(100vh - 320px)'}"
@@ -71,7 +73,7 @@
</div> </div>
</div> </div>
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"></uploadFile> <uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"></uploadFile>
<viewFileModel ref="viewFileModelRef"/> <viewFileModel ref="viewFileModelRef" @visible="sVisible"/>
</div> </div>
</template> </template>
@@ -81,6 +83,7 @@
import { getAction, putAction, downloadFile } from '@/api/manage' import { getAction, putAction, downloadFile } from '@/api/manage'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { postAction } from '../../../../api/manage' import { postAction } from '../../../../api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'evaluationResultsList', name: 'evaluationResultsList',
@@ -88,12 +91,14 @@
uploadFile, uploadFile,
viewFileModel viewFileModel
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
loading: false, loading: false,
total: 0, total: 0,
pageSize: 10, pageSize: 10,
pageNo: 1, pageNo: 1,
isTrue: true,
flag: false, flag: false,
dataSource: [], dataSource: [],
formInline: {}, formInline: {},
@@ -173,6 +178,9 @@
}, },
methods: { methods: {
...mapGetters(['userInfo']), ...mapGetters(['userInfo']),
sVisible(){
this.getDataAdmin()
},
clickButtonToUpload(item) { clickButtonToUpload(item) {
this.$refs.uploadFile.perentHandleFunc() this.$refs.uploadFile.perentHandleFunc()
this.$refs.uploadFile.visible = true this.$refs.uploadFile.visible = true
@@ -218,7 +226,7 @@
actiProcInstId: this.actiProcInstId actiProcInstId: this.actiProcInstId
} }
downloadFile('/lawsOpinionGather/lawsOpinionAssessmentResultEO/exportXls', downloadFile('/lawsOpinionGather/lawsOpinionAssessmentResultEO/exportXls',
this.$route.query.serialNumber + ' ' + this.$t('evaluationResults') + '.zip', query) this.$route.query.serialNumber+ ' ' +this.$t('evaluationResults') + '.zip', query)
}, },
getData() { getData() {
this.formInline = JSON.parse(JSON.stringify(this.$route.query)) this.formInline = JSON.parse(JSON.stringify(this.$route.query))
@@ -260,6 +268,12 @@
seeFileClick(item) { seeFileClick(item) {
this.$refs.viewFileModelRef.clickButtonToUpload(item) this.$refs.viewFileModelRef.clickButtonToUpload(item)
}, },
getDataAdmin(){
this.isTrue = false
setTimeout(()=>{
this.isTrue = true
},100)
},
endProcessClick() { endProcessClick() {
let query = { let query = {
ids: this.$route.query.id ids: this.$route.query.id
@@ -279,7 +293,7 @@
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
@import '~@assets/less/common.less'; @import'~@assets/less/common.less';
.doc-detail { .doc-detail {
background: #fff; background: #fff;
@@ -385,6 +399,10 @@
text-align: right; text-align: right;
} }
::v-deep .ant-table-placeholder{
margin-top: 8px !important;
}
.operator-text-index { .operator-text-index {
display: inline-block; display: inline-block;
/*margin-right: 16px;*/ /*margin-right: 16px;*/
@@ -13,6 +13,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%'}" :scroll="{x: '100%'}"
@@ -137,6 +138,7 @@
import moment from 'moment' import moment from 'moment'
import eventBUs from '../../../../common/event' import eventBUs from '../../../../common/event'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'initiatingProcess', name: 'initiatingProcess',
@@ -147,6 +149,7 @@
footerProcess, footerProcess,
PersonnelSelection PersonnelSelection
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
title: this.$t('regulatoryEngineer') + this.$t('initiatingProcess'), title: this.$t('regulatoryEngineer') + this.$t('initiatingProcess'),
@@ -100,6 +100,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 260px)'}" :scroll="{x: '100%',y:'calc(100vh - 260px)'}"
@@ -141,9 +142,11 @@
<script> <script>
import { getAction, postAction, deleteAction } from '@/api/manage' import { getAction, postAction, deleteAction } from '@/api/manage'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
//url传参严格按照当前命名 //url传参严格按照当前命名
@@ -462,4 +465,8 @@
::v-deep .ant-table-body { ::v-deep .ant-table-body {
background: transparent !important; background: transparent !important;
} }
::v-deep .ant-table-placeholder {
margin-top: 8px !important;
}
</style> </style>
@@ -17,6 +17,7 @@
</div> </div>
</div> </div>
<a-table <a-table
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
:scroll="{x: '100%',y:'calc(100vh - 300px)'}" :scroll="{x: '100%',y:'calc(100vh - 300px)'}"
:data-source="dataList" :data-source="dataList"
@@ -54,12 +55,14 @@
<script> <script>
import { getAction, postAction, deleteAction } from '@/api/manage' import { getAction, postAction, deleteAction } from '@/api/manage'
import classificationMaintenanceAdd from './classificationMaintenanceAdd' import classificationMaintenanceAdd from './classificationMaintenanceAdd'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'classificationMaintenanceModel', name: 'classificationMaintenanceModel',
components: { components: {
classificationMaintenanceAdd classificationMaintenanceAdd
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
url: { url: {
@@ -60,6 +60,7 @@
</a-form> </a-form>
</div> </div>
<a-table <a-table
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
:rowKey="(record)=>JSON.stringify(record)" :rowKey="(record)=>JSON.stringify(record)"
:scroll="{x: 1200}" :scroll="{x: 1200}"
@@ -93,6 +94,7 @@
<script> <script>
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index' import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'listAddModel', name: 'listAddModel',
@@ -100,6 +102,7 @@
globalAdvancedQuery globalAdvancedQuery
}, },
props: ['url'], props: ['url'],
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
toggleSearchStatus: false, toggleSearchStatus: false,
@@ -113,31 +116,36 @@
title: this.$t('standard'), title: this.$t('standard'),
dataIndex: 'serial_number', dataIndex: 'serial_number',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
{ {
title: this.$t('title'), title: this.$t('title'),
dataIndex: 'title', dataIndex: 'title',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
{ {
title: this.$t('zoneOfApplication'), title: this.$t('zoneOfApplication'),
dataIndex: 'region', dataIndex: 'region',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
{ {
title: this.$t('ImplementationDate'), title: this.$t('ImplementationDate'),
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1', dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
{ {
title: this.$t('vehicleInProductionDate'), title: this.$t('vehicleInProductionDate'),
dataIndex: 'implement_time', dataIndex: 'implement_time',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
} }
], ],
dataList: [], dataList: [],
@@ -674,7 +674,7 @@
} }
</style> </style>
<style scoped lang="less"> <style scoped lang="less">
@import '~@assets/less/common.less'; @import'~@assets/less/common.less';
.doc-detail { .doc-detail {
background: #fff; background: #fff;
@@ -3,7 +3,7 @@
<div class="search-detail-wrap"> <div class="search-detail-wrap">
<div class="box-content-left"> <div class="box-content-left">
<div class="classification">{{$t('classification')}}:</div> <div class="classification">{{$t('classification')}}:</div>
<template v-for="tag in tagList"> <template v-for='tag in tagList.slice(0,4)' v-if='!toggleSearchStatus'>
<a-checkable-tag <a-checkable-tag
:key="tag.id" :key="tag.id"
:title="tag.problemLabel" :title="tag.problemLabel"
@@ -13,6 +13,24 @@
{{ tag.problemLabel }} {{ tag.problemLabel }}
</a-checkable-tag> </a-checkable-tag>
</template> </template>
<template v-for='tag in tagList' v-if='toggleSearchStatus'>
<a-checkable-tag
:key="tag.id"
:title="tag.problemLabel"
:checked="selectedTags.indexOf(tag.id) > -1"
@change="checked => handleChange(tag.id, checked)"
>
{{ tag.problemLabel }}
</a-checkable-tag>
</template>
<div style='display: inline-block;margin-bottom: 7px;'>
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a @click="handleToggleSearch">
{{ !toggleSearchStatus ? $t('open') : $t('away') }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
</span>
</div>
</div> </div>
<div class="box-content-content"> <div class="box-content-content">
<div class="box-content-content-index" <div class="box-content-content-index"
@@ -207,6 +225,7 @@
total: 0, total: 0,
selectedTags: [], selectedTags: [],
loading: false, loading: false,
toggleSearchStatus: false,
queryBase: {}, queryBase: {},
pageSize: 10, pageSize: 10,
queryForm: {}, queryForm: {},
@@ -444,6 +463,9 @@
this.$refs.problemKnowledgeBaseListViewRef.getData(JSON.parse(JSON.stringify(val))) this.$refs.problemKnowledgeBaseListViewRef.getData(JSON.parse(JSON.stringify(val)))
}) })
}, },
handleToggleSearch() {
this.toggleSearchStatus = !this.toggleSearchStatus
}
} }
} }
</script> </script>
@@ -73,6 +73,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%'}" :scroll="{x: '100%'}"
@@ -130,6 +131,7 @@
import fillAdd from './modules/fillAdd' import fillAdd from './modules/fillAdd'
import moment from 'moment' import moment from 'moment'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'RegulationMonthlyFill', name: 'RegulationMonthlyFill',
@@ -137,6 +139,7 @@
fillTable, fillTable,
fillAdd fillAdd
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
//url传参严格按照当前命名 //url传参严格按照当前命名
@@ -35,6 +35,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%'}" :scroll="{x: '100%'}"
@@ -88,12 +89,14 @@
import { getAction, postAction, downloadFile } from '@/api/manage' import { getAction, postAction, downloadFile } from '@/api/manage'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { Base64 } from 'js-base64' import { Base64 } from 'js-base64'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'RegulationMonthlyManagement', name: 'RegulationMonthlyManagement',
components: { components: {
managementAdd managementAdd
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
//url传参严格按照当前命名 //url传参严格按照当前命名
@@ -61,6 +61,7 @@
</div> </div>
<div style="width: 100%"> <div style="width: 100%">
<a-table <a-table
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
rowKey="id" rowKey="id"
:scroll="{x: 1200}" :scroll="{x: 1200}"
@@ -96,12 +97,14 @@
<script> <script>
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index' import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'addModel', name: 'addModel',
components: { components: {
globalAdvancedQuery globalAdvancedQuery
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
props: { props: {
}, },
data() { data() {
@@ -116,19 +119,22 @@
title: this.$t('standard'), title: this.$t('standard'),
dataIndex: 'serial_number', dataIndex: 'serial_number',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
{ {
title: this.$t('title'), title: this.$t('title'),
dataIndex: 'title', dataIndex: 'title',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
{ {
title: this.$t('zoneOfApplication'), title: this.$t('zoneOfApplication'),
dataIndex: 'region', dataIndex: 'region',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
// { // {
// title: this.$t('status'), // title: this.$t('status'),
@@ -146,13 +152,15 @@
title: this.$t('ImplementationDate'), title: this.$t('ImplementationDate'),
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1', dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
{ {
title: this.$t('vehicleInProductionDate'), title: this.$t('vehicleInProductionDate'),
dataIndex: 'implement_time', dataIndex: 'implement_time',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
} }
// { // {
// title: this.$t('correspondingStandard'), // title: this.$t('correspondingStandard'),
@@ -22,6 +22,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:500}" :scroll="{x: '100%',y:500}"
@@ -55,12 +56,14 @@
<script> <script>
import fillTableAdd from './fillTableAdd' import fillTableAdd from './fillTableAdd'
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'fillTable', name: 'fillTable',
components: { components: {
fillTableAdd fillTableAdd
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
visible: false, visible: false,
@@ -84,6 +84,7 @@
</div> </div>
</div> </div>
<a-table <a-table
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
:scroll="{x: '100%'}" :scroll="{x: '100%'}"
:data-source="dataList" :data-source="dataList"
@@ -131,6 +132,7 @@
import PersonnelSelection from '@/components/PersonnelSelection/index' import PersonnelSelection from '@/components/PersonnelSelection/index'
import ImportFile from '@/components/ImportFile/index' import ImportFile from '@/components/ImportFile/index'
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage' import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'TermInformation', name: 'TermInformation',
@@ -139,6 +141,7 @@
ImportFile ImportFile
}, },
props: ['gatherResultList'], props: ['gatherResultList'],
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
url: { url: {
@@ -158,25 +161,29 @@
title: this.$t('clauseName'), title: this.$t('clauseName'),
dataIndex: 'itemName', dataIndex: 'itemName',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 234
}, },
{ {
title: this.$t('clauseContent'), title: this.$t('clauseContent'),
dataIndex: 'itemContent', dataIndex: 'itemContent',
align: 'left', align: 'left',
scopedSlots: { customRender: 'clauseContent' } scopedSlots: { customRender: 'clauseContent' },
width: 234
}, },
{ {
title: this.$t('evaluationMethod'), title: this.$t('evaluationMethod'),
dataIndex: 'evaluationMethods', dataIndex: 'evaluationMethods',
align: 'left', align: 'left',
scopedSlots: { customRender: 'evaluationMethod' } scopedSlots: { customRender: 'evaluationMethod' },
width: 234
}, },
{ {
title: this.$t('Assessor'), title: this.$t('Assessor'),
dataIndex: 'Assessor', dataIndex: 'Assessor',
align: 'left', align: 'left',
scopedSlots: { customRender: 'Assessor' } scopedSlots: { customRender: 'Assessor' },
width: 234
}, },
{ {
title: this.$t('operation'), title: this.$t('operation'),
@@ -92,6 +92,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 260px)'}" :scroll="{x: '100%',y:'calc(100vh - 260px)'}"
@@ -130,6 +131,7 @@
import { getAction, postAction, downloadFile } from '@/api/manage' import { getAction, postAction, downloadFile } from '@/api/manage'
import viewFileModel from '@/components/viewFileModel/index' import viewFileModel from '@/components/viewFileModel/index'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'evaluationResultsClause', name: 'evaluationResultsClause',
@@ -137,6 +139,7 @@
PersonnelSelection, PersonnelSelection,
viewFileModel viewFileModel
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
queryParam: {}, queryParam: {},
@@ -161,70 +164,70 @@
{ {
title: this.$t('clauseNo'), title: this.$t('clauseNo'),
dataIndex: 'itemNum', dataIndex: 'itemNum',
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
width: 160 width: 160
}, },
{ {
title: this.$t('clauseName'), title: this.$t('clauseName'),
dataIndex: 'itemName', dataIndex: 'itemName',
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
width: 160 width: 160
}, },
{ {
title: this.$t('clauseContent'), title: this.$t('clauseContent'),
dataIndex: 'itemContent', dataIndex: 'itemContent',
align: 'center', align: 'left',
width: 260, width: 260,
scopedSlots: { customRender: 'clauseContent' } scopedSlots: { customRender: 'clauseContent' }
}, },
{ {
title: this.$t('Assessor'), title: this.$t('Assessor'),
dataIndex: 'evaluatorName', dataIndex: 'evaluatorName',
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
width: 160 width: 160
}, },
{ {
title: this.$t('evaluationMethod'), title: this.$t('evaluationMethod'),
dataIndex: 'evaluationMethodsName', dataIndex: 'evaluationMethodsName',
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
width: 160 width: 160
}, },
{ {
title: this.$t('complianceResults'), title: this.$t('complianceResults'),
dataIndex: 'complianceResultName', dataIndex: 'complianceResultName',
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
width: 160 width: 160
}, },
{ {
title: this.$t('nameTechnicalDocument'), title: this.$t('nameTechnicalDocument'),
dataIndex: 'technicalFileName', dataIndex: 'technicalFileName',
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
width: 260 width: 260
}, },
{ {
title: this.$t('chapter'), title: this.$t('chapter'),
dataIndex: 'section', dataIndex: 'section',
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
width: 260 width: 260
}, },
{ {
title: this.$t('opinion'), title: this.$t('opinion'),
dataIndex: 'opinion', dataIndex: 'opinion',
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
width: 260 width: 260
}, },
{ {
title: this.$t('enclosure'), title: this.$t('enclosure'),
dataIndex: 'accessoryFile', dataIndex: 'accessoryFile',
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
width: 160, width: 160,
scopedSlots: { customRender: 'accessoryFile' } scopedSlots: { customRender: 'accessoryFile' }
@@ -232,7 +235,7 @@
{ {
title: this.$t('feedbackTime'), title: this.$t('feedbackTime'),
dataIndex: 'feedbackTime', dataIndex: 'feedbackTime',
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
width: 160 width: 160
} }
@@ -327,7 +330,7 @@
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@assets/less/common.less'; @import'~@assets/less/common.less';
.doc-detail { .doc-detail {
background: #fff; background: #fff;
@@ -57,6 +57,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:350}" :scroll="{x: '100%',y:350}"
@@ -85,6 +86,7 @@
import { getAction, postAction, downloadFile } from '@/api/manage' import { getAction, postAction, downloadFile } from '@/api/manage'
import viewFileModel from '@/components/viewFileModel/index' import viewFileModel from '@/components/viewFileModel/index'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'evaluationResultsWhole', name: 'evaluationResultsWhole',
@@ -92,6 +94,7 @@
PersonnelSelection, PersonnelSelection,
viewFileModel viewFileModel
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
queryParam: {}, queryParam: {},
@@ -156,6 +159,7 @@
title: this.$t('problemDescription'), title: this.$t('problemDescription'),
dataIndex: 'issueOrSuggest', dataIndex: 'issueOrSuggest',
align: 'left', align: 'left',
width: 573,
ellipsis: true ellipsis: true
}, },
{ {
@@ -264,7 +268,7 @@
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@assets/less/common.less'; @import'~@assets/less/common.less';
.doc-detail { .doc-detail {
background: #fff; background: #fff;
@@ -433,6 +437,10 @@
/deep/.ant-table-column-title{ /deep/.ant-table-column-title{
font-weight: bold!important; font-weight: bold!important;
} }
::v-deep .ant-table-placeholder{
margin-top: 8px !important;
}
</style> </style>
<style> <style>
.box-clause .ant-card-body { .box-clause .ant-card-body {
@@ -14,6 +14,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%'}" :scroll="{x: '100%'}"
@@ -244,6 +245,7 @@
import moment from 'moment' import moment from 'moment'
import eventBUs from '../../../../common/event' import eventBUs from '../../../../common/event'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'evaluationInitiationProcess', name: 'evaluationInitiationProcess',
@@ -256,6 +258,7 @@
standardDecompositionSheet, standardDecompositionSheet,
TermInformation TermInformation
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
title: this.$t('regulatoryEngineer') + this.$t('initiatingProcess'), title: this.$t('regulatoryEngineer') + this.$t('initiatingProcess'),
@@ -103,6 +103,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 140px)'}" :scroll="{x: '100%',y:'calc(100vh - 140px)'}"
@@ -181,12 +182,14 @@
import { getAction, postAction, deleteAction } from '@/api/manage' import { getAction, postAction, deleteAction } from '@/api/manage'
import processInformation from './components/processInformation' import processInformation from './components/processInformation'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
components: { components: {
processInformation processInformation
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
//url传参严格按照当前命名 //url传参严格按照当前命名
@@ -585,4 +588,8 @@
::v-deep .ant-table-body { ::v-deep .ant-table-body {
background: transparent !important; background: transparent !important;
} }
::v-deep .ant-table-placeholder {
margin-top: 8px !important;
}
</style> </style>
@@ -34,6 +34,7 @@
</div> </div>
<a-table <a-table
:components="drag(columns,'columns')"
ref="table" ref="table"
rowKey="id" rowKey="id"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
@@ -55,10 +56,11 @@
<script> <script>
import { getAction, putAction, deleteAction } from '@/api/manage' import { getAction, putAction, deleteAction } from '@/api/manage'
import { JeroListMixin } from '@/mixins/JeroListMixin' import { JeroListMixin } from '@/mixins/JeroListMixin'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'customContentList', name: 'customContentList',
mixins: [JeroListMixin], mixins: [JeroListMixin,ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
queryParam: {}, queryParam: {},
@@ -69,6 +71,7 @@
align: 'left', align: 'left',
dataIndex: 'msgContent', dataIndex: 'msgContent',
ellipsis: true, ellipsis: true,
width: 700,
scopedSlots: { customRender: 'msgContent' } scopedSlots: { customRender: 'msgContent' }
}, },
{ {
@@ -57,6 +57,7 @@
</div> </div>
<div class="colloction-table"> <div class="colloction-table">
<a-table <a-table
:components="drag(columns,'columns')"
ref="table" ref="table"
size="middle" size="middle"
rowKey="id" rowKey="id"
@@ -102,12 +103,13 @@
<script> <script>
import { getAction, postAction, deleteAction, putAction } from '@/api/manage' import { getAction, postAction, deleteAction, putAction } from '@/api/manage'
import problemKnowledgeBaseList from './components/problemKnowledgeBaseList' import problemKnowledgeBaseList from './components/problemKnowledgeBaseList'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'collection', name: 'collection',
components: { components: {
problemKnowledgeBaseList problemKnowledgeBaseList
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
selectedRowKeys: [], selectedRowKeys: [],
@@ -323,7 +325,7 @@
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@assets/less/common.less'; @import'~@assets/less/common.less';
.collection { .collection {
.collection-search-wrapper { .collection-search-wrapper {
@@ -369,6 +371,16 @@
height: 38px; height: 38px;
} }
///deep/ .nio-drag-handler {
// position: absolute;
// right: 0;
// top: 0;
// height: 100%;
// width: 1px;
// z-index: 1;
// border-left: 1px #e8e8e8 solid;
//}
::v-deep .ant-card-body { ::v-deep .ant-card-body {
padding: 0 24px!important; padding: 0 24px!important;
} }
@@ -177,9 +177,10 @@
> >
<a-table <a-table
class="table" class="table"
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
:pagination="false" :pagination="false"
:scroll="{y: 400}" :scroll="{x: '100%',y: 400}"
:data-source="dataSource" :data-source="dataSource"
:loading="loading" :loading="loading"
> >
@@ -217,7 +218,7 @@
class="table" class="table"
:columns="columnsRelated" :columns="columnsRelated"
:pagination="false" :pagination="false"
:scroll="{y: 400}" :scroll="{x: '100%',y: 400}"
:data-source="dataSourceRelated" :data-source="dataSourceRelated"
:loading="loading" :loading="loading"
> >
@@ -273,12 +274,14 @@
import { Base64 } from 'js-base64' import { Base64 } from 'js-base64'
import uploadFile from '@/components/uploadFile/file' import uploadFile from '@/components/uploadFile/file'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'docIndex', name: 'docIndex',
components: { components: {
uploadFile uploadFile
}, },
mixins: [ResizeColumnProvide,ResizeHeader],
data() { data() {
return { return {
url: { url: {
@@ -295,7 +298,8 @@
dataIndex: 'title', dataIndex: 'title',
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'operation' } scopedSlots: { customRender: 'operation' },
width: 544
} }
], ],
columnsFile: [ columnsFile: [
@@ -333,7 +337,8 @@
dataIndex: 'content', dataIndex: 'content',
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'content' } scopedSlots: { customRender: 'content' },
width: 484
}, },
{ {
title: this.$t('ModificationTime'), title: this.$t('ModificationTime'),
@@ -828,4 +833,8 @@
///deep/.table .ant-table-tbody > tr > td { ///deep/.table .ant-table-tbody > tr > td {
// color: #040B29 ; // color: #040B29 ;
//} //}
/deep/ .ant-table-placeholder{
margin-top: 8px !important;
}
</style> </style>
@@ -69,6 +69,7 @@
@actionSynchron="actionSynchron" @actionSynchron="actionSynchron"
:url="url" :url="url"
showAction showAction
ref='tableAdmin'
@actionDown="actionDown" @actionDown="actionDown"
@onSelectChange="onSelectChange" @onSelectChange="onSelectChange"
@actionDelete="actionDelete" @actionDelete="actionDelete"
@@ -441,7 +442,7 @@
}, },
docVisible(val){ docVisible(val){
this.drawVisible=val this.drawVisible=val
this.$refs.tableAdmin.getDataAdmin()
}, },
//文件详情跳转 //文件详情跳转
detailClick(val){ detailClick(val){
@@ -24,6 +24,7 @@
:flag="'3'" :flag="'3'"
:OperationList="OperationList" :OperationList="OperationList"
showAction showAction
ref='tableAdmin'
@onSelectChange="onSelectChange" @onSelectChange="onSelectChange"
@backDocument="backDocument" @backDocument="backDocument"
@deleteDetail="deleteDetail" @deleteDetail="deleteDetail"
@@ -249,6 +250,7 @@
if (num == 1){ if (num == 1){
eventBUs.$emit('searchGetData') eventBUs.$emit('searchGetData')
} }
this.$refs.tableAdmin.getDataAdmin()
}, },
iVisible(val,num) { iVisible(val,num) {
this.importsVisible = val this.importsVisible = val
@@ -60,6 +60,7 @@
</div> </div>
<div class="colloction-table"> <div class="colloction-table">
<a-table <a-table
:components="drag(columns,'columns')"
ref="table" ref="table"
size="middle" size="middle"
rowKey="id" rowKey="id"
@@ -101,12 +102,14 @@
<script> <script>
import { getAction, postAction, deleteAction, putAction } from '@/api/manage' import { getAction, postAction, deleteAction, putAction } from '@/api/manage'
import SubArea from './module/SubArea' import SubArea from './module/SubArea'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'subscribtion', name: 'subscribtion',
components: { components: {
SubArea SubArea
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
selectedRowKeys: [], selectedRowKeys: [],
@@ -336,7 +339,7 @@
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@assets/less/common.less'; @import'~@assets/less/common.less';
.subscribtion { .subscribtion {
.subscribtion-search-wrapper { .subscribtion-search-wrapper {
@@ -379,6 +382,16 @@
.box-button { .box-button {
height: 38px; height: 38px;
} }
///deep/ .nio-drag-handler {
// position: absolute;
// right: 0;
// top: 0;
// height: 100%;
// width: 1px;
// z-index: 1;
// border-left: 1px #e8e8e8 solid;
//}
</style> </style>
<style lang="less"> <style lang="less">
.subscribtion { .subscribtion {
@@ -65,11 +65,12 @@
ref="table" ref="table"
size="middle" size="middle"
rowKey="id" rowKey="id"
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
:dataSource="areaTable" :dataSource="areaTable"
:pagination="false" :pagination="false"
:loading="loading" :loading="loading"
:scroll="{x: 600}" :scroll="{x: '100%'}"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
@change="handleTableChange"> @change="handleTableChange">
<a slot="name" slot-scope="text">{{ text }}</a> <a slot="name" slot-scope="text">{{ text }}</a>
@@ -95,11 +96,14 @@
<script> <script>
import { putAction,postAction,getAction,deleteAction } from '@/api/manage' import { putAction,postAction,getAction,deleteAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'diolagArea', name: 'diolagArea',
components:{ components:{
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data(){ data(){
return{ return{
title:this.$t('add'), title:this.$t('add'),
@@ -2,6 +2,7 @@
<div class="list-table"> <div class="list-table">
<a-table :data-source="tableData" :scroll="{x: 900}" <a-table :data-source="tableData" :scroll="{x: 900}"
:columns="columns" rowKey="id" :columns="columns" rowKey="id"
:components="drag(columns,'columns')"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:pagination="false" :pagination="false"
class="tag-con-table"> class="tag-con-table">
@@ -27,6 +28,8 @@
</template> </template>
<script> <script>
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'listTable', name: 'listTable',
props:{ props:{
@@ -34,6 +37,7 @@
total:Number, total:Number,
queryParams: Object queryParams: Object
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data(){ data(){
return{ return{
// tableData:[], // tableData:[],
@@ -3,6 +3,7 @@
<div class="tree-table-content"> <div class="tree-table-content">
<a-table <a-table
class="tree-table-con" class="tree-table-con"
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
:data-source="tabData" :data-source="tabData"
rowKey="id" rowKey="id"
@@ -35,6 +36,8 @@
<script> <script>
import { getAction, postAction, deleteAction, putAction } from '@/api/manage' import { getAction, postAction, deleteAction, putAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'treeTable', name: 'treeTable',
props:{ props:{
@@ -47,6 +50,7 @@
default: true default: true
} }
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data(){ data(){
return{ return{
loading:false, //搜索条件 loading:false, //搜索条件
@@ -56,18 +60,21 @@
dataIndex: 'name', dataIndex: 'name',
key: 'name', key: 'name',
ellipsis: true, ellipsis: true,
width: 100
}, },
{ {
title: this.$t('enName'), title: this.$t('enName'),
dataIndex: 'enName', dataIndex: 'enName',
key: 'enName', key: 'enName',
ellipsis: true, ellipsis: true,
width: 100
}, },
{ {
title: this.$t('describe'), title: this.$t('describe'),
dataIndex: 'description', dataIndex: 'description',
key: 'description', key: 'description',
ellipsis: true, ellipsis: true,
width: 100
}, },
{ {
title: this.$t('operation'), title: this.$t('operation'),
@@ -4,6 +4,8 @@
ref="table" ref="table"
size="middle" size="middle"
rowKey="id" rowKey="id"
:scroll="{x: '100%'}"
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
:dataSource="tableData" :dataSource="tableData"
:pagination="false" :pagination="false"
@@ -31,8 +33,11 @@
</template> </template>
<script> <script>
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'tabTable', name: 'tabTable',
mixins:[ResizeHeader, ResizeColumnProvide],
data(){ data(){
return{ return{
queryParams:{ queryParams:{
@@ -92,6 +97,8 @@
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import'~@assets/less/common.less';
.tab-table{ .tab-table{
.action-edit{ .action-edit{
margin-right: 10px; margin-right: 10px;
@@ -67,6 +67,7 @@
<a-table :data-source="tableData" rowKey="id" :columns="columns" <a-table :data-source="tableData" rowKey="id" :columns="columns"
:scroll="{x: true}" :scroll="{x: true}"
:components="drag(columns,'columns')"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :pagination="false" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :pagination="false"
:loading="loading" class="tag-con-table"> :loading="loading" class="tag-con-table">
@@ -115,6 +116,7 @@
import DicList from '../dialog/DicList' import DicList from '../dialog/DicList'
import Vue from 'vue' import Vue from 'vue'
import { UI_CACHE_DB_DICT_DATA } from '@/store/mutation-types' import { UI_CACHE_DB_DICT_DATA } from '@/store/mutation-types'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'tagContent', name: 'tagContent',
@@ -122,6 +124,7 @@
// tabTable, // tabTable,
DicList DicList
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
title: this.$t('add'), title: this.$t('add'),
@@ -42,18 +42,7 @@
</span> </span>
</a-row> </a-row>
</a-form> </a-form>
<a-table <table-left :tablecolumns='tablecolumns' :dataSourceLeft='dataSourceLeft' :loadingLeft='loadingLeft' :selectedRowKeysLeft='selectedRowKeysLeft' :onSelectChangeLeft='onSelectChangeLeft'></table-left>
ref="table"
size="middle"
:loading="loadingLeft"
:pagination="false"
:scroll="{x: '100%',y:340}"
rowKey="id"
:data-source="dataSourceLeft"
:row-selection="{ selectedRowKeys: selectedRowKeysLeft, onChange: onSelectChangeLeft,columnTitle:' ' }"
:columns="columns"
>
</a-table>
<div class="page"> <div class="page">
<a-pagination <a-pagination
:show-total="total => $t('total')+` ${total} `+$t('strip')" :show-total="total => $t('total')+` ${total} `+$t('strip')"
@@ -111,6 +100,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loadingRight" :loading="loadingRight"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:340}" :scroll="{x: '100%',y:340}"
@@ -174,9 +164,15 @@
import { getAction, postAction, deleteAction ,downloadFile} from '@/api/manage' import { getAction, postAction, deleteAction ,downloadFile} from '@/api/manage'
import { Base64 } from 'js-base64' import { Base64 } from 'js-base64'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
import tableLeft from './tableLeft'
export default { export default {
name: 'initiateDocumentComparison', name: 'initiateDocumentComparison',
mixins:[ResizeHeader, ResizeColumnProvide],
components:{
tableLeft
},
data() { data() {
return { return {
loading: false, loading: false,
@@ -219,25 +215,67 @@
title: this.$t('standard'), title: this.$t('standard'),
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
dataIndex: 'serialNumber' dataIndex: 'serialNumber',
width: 79
}, },
{ {
title: this.$t('title'), title: this.$t('title'),
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
dataIndex: 'title' dataIndex: 'title',
width: 79
}, },
{ {
title: this.$t('TextStatus'), title: this.$t('TextStatus'),
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
dataIndex: 'fileType' dataIndex: 'fileType',
width: 79
}, },
{ {
title: this.$t('fileName'), title: this.$t('fileName'),
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
dataIndex: 'fileName' dataIndex: 'fileName',
width: 79
}
],
tablecolumns: [
{
title: this.$t('number'),
align: 'left',
width: 70,
customRender: function(t, r, index) {
return parseInt(index) + 1
}
},
{
title: this.$t('standard'),
align: 'left',
ellipsis: true,
dataIndex: 'serialNumber',
width: 79
},
{
title: this.$t('title'),
align: 'left',
ellipsis: true,
dataIndex: 'title',
width: 79
},
{
title: this.$t('TextStatus'),
align: 'left',
ellipsis: true,
dataIndex: 'fileType',
width: 79
},
{
title: this.$t('fileName'),
align: 'left',
ellipsis: true,
dataIndex: 'fileName',
width: 79
} }
], ],
dataSourceLeft: [], dataSourceLeft: [],
@@ -434,7 +472,7 @@
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@assets/less/common.less'; @import'~@assets/less/common.less';
.doc-detail { .doc-detail {
background: #fff; background: #fff;
@@ -611,4 +649,8 @@
color: #040B29; color: #040B29;
cursor: pointer; cursor: pointer;
} }
::v-deep .ant-table-placeholder{
margin-top: 8px !important;
}
</style> </style>
@@ -0,0 +1,33 @@
<template>
<a-table
ref="table"
size="middle"
:components="tabledrag(tablecolumns,'tablecolumns')"
:loading="loadingLeft"
:pagination="false"
:scroll="{x: '100%',y:340}"
rowKey="id"
:data-source="dataSourceLeft"
:row-selection="{ selectedRowKeys: selectedRowKeysLeft, onChange: onSelectChangeLeft,columnTitle:' ' }"
:columns="tablecolumns"
>
</a-table>
</template>
<script>
import { tableResizeHeader, tableResizeColumnProvide } from '@/mixins/tableheader'
export default {
name: 'tableLeft',
mixins:[tableResizeHeader, tableResizeColumnProvide],
props:['tablecolumns',
'dataSourceLeft',
'loadingLeft',
'selectedRowKeysLeft',
'onSelectChangeLeft']
}
</script>
<style scoped>
</style>
@@ -55,6 +55,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 280px)'}" :scroll="{x: '100%',y:'calc(100vh - 280px)'}"
@@ -111,10 +112,12 @@
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage' import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { Base64 } from 'js-base64' import { Base64 } from 'js-base64'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
components: {}, components: {},
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
//url传参严格按照当前命名 //url传参严格按照当前命名
@@ -46,6 +46,7 @@
</a-form> </a-form>
</div> </div>
<a-table <a-table
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
rowKey="id" rowKey="id"
:scroll="{x: '100%',y:'calc(100vh - 440px)'}" :scroll="{x: '100%',y:'calc(100vh - 440px)'}"
@@ -105,10 +106,12 @@
<script> <script>
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'RetrieveFilesList', name: 'RetrieveFilesList',
components: {}, components: {},
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
toggleSearchStatus: false, toggleSearchStatus: false,
@@ -147,31 +150,36 @@
title: this.$t('standard'), title: this.$t('standard'),
dataIndex: 'serial_number', dataIndex: 'serial_number',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 163
}, },
{ {
title: this.$t('title'), title: this.$t('title'),
dataIndex: 'title', dataIndex: 'title',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 163
}, },
{ {
title: this.$t('TextStatus'), title: this.$t('TextStatus'),
dataIndex: 'state', dataIndex: 'state',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 162
}, },
{ {
title: this.$t('fileName'), title: this.$t('fileName'),
dataIndex: 'file_name', dataIndex: 'file_name',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 163
}, },
{ {
title: this.$t('textInformation'), title: this.$t('textInformation'),
dataIndex: 'text_info', dataIndex: 'text_info',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 163
} }
], ],
dataList: [], dataList: [],
@@ -257,6 +265,7 @@
}, },
handleCancel() { handleCancel() {
this.visible = false this.visible = false
this.$emit('visible')
}, },
handleSubmit() { handleSubmit() {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
@@ -74,8 +74,10 @@
</div> </div>
<div> <div>
<a-table <a-table
v-if="isTrue"
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 140px)'}" :scroll="{x: '100%',y:'calc(100vh - 140px)'}"
@@ -128,7 +130,7 @@
</div> </div>
</div> </div>
<addModel ref="addModelRef" @addModelForm="addModelForm"/> <addModel ref="addModelRef" @addModelForm="addModelForm"/>
<RetrieveFilesList ref="RetrieveFilesListRef" @RetrieveFilesListForm="RetrieveFilesListForm"/> <RetrieveFilesList ref="RetrieveFilesListRef" @RetrieveFilesListForm="RetrieveFilesListForm" @visible='sVisible'/>
</a-card> </a-card>
</template> </template>
@@ -138,6 +140,7 @@
import RetrieveFilesList from './components/RetrieveFilesList' import RetrieveFilesList from './components/RetrieveFilesList'
import eventBUs from '../../../common/event' import eventBUs from '../../../common/event'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
@@ -145,8 +148,10 @@
addModel, addModel,
RetrieveFilesList RetrieveFilesList
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
isTrue: true,
//url传参严格按照当前命名 //url传参严格按照当前命名
url: { url: {
list: '/docTranslation/docTranslationEO/page', list: '/docTranslation/docTranslationEO/page',
@@ -249,6 +254,9 @@
}, },
methods: { methods: {
...mapGetters(['userInfo']), ...mapGetters(['userInfo']),
sVisible(){
this.getDataAdmin()
},
addModelForm() { addModelForm() {
this.pageNo = 1 this.pageNo = 1
this.getList() this.getList()
@@ -360,6 +368,12 @@
RetrieveFilesClick() { RetrieveFilesClick() {
this.$refs.RetrieveFilesListRef.addModel() this.$refs.RetrieveFilesListRef.addModel()
}, },
getDataAdmin(){
this.isTrue = false
setTimeout(()=>{
this.isTrue = true
},100)
},
BatchDelete() { BatchDelete() {
if (this.selectedRowKeys.length > 0) { if (this.selectedRowKeys.length > 0) {
let _this = this let _this = this
@@ -482,4 +496,8 @@
::v-deep .ant-table-body { ::v-deep .ant-table-body {
background: transparent !important; background: transparent !important;
} }
::v-deep .ant-table-placeholder{
margin-top: 8px !important;
}
</style> </style>
@@ -88,6 +88,7 @@
ref="table" ref="table"
size="middle" size="middle"
@change="tableOnChange" @change="tableOnChange"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%'}" :scroll="{x: '100%'}"
@@ -239,12 +240,14 @@
import moment from 'moment' import moment from 'moment'
import { Base64 } from 'js-base64' import { Base64 } from 'js-base64'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'DocumentLibrary', name: 'DocumentLibrary',
components: { components: {
libraryPush libraryPush
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
searchOption: [], searchOption: [],
@@ -62,6 +62,7 @@
<div style="width: 100%"> <div style="width: 100%">
<a-table <a-table
:columns="columns" :columns="columns"
:components="drag(columns,'columns')"
rowKey="id" rowKey="id"
:scroll="{x: 1200}" :scroll="{x: 1200}"
:data-source="dataList" :data-source="dataList"
@@ -96,6 +97,7 @@
<script> <script>
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index' import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'addModel', name: 'addModel',
@@ -108,6 +110,7 @@
default: {} default: {}
} }
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
toggleSearchStatus: false, toggleSearchStatus: false,
@@ -120,19 +123,22 @@
title: this.$t('standard'), title: this.$t('standard'),
dataIndex: 'serial_number', dataIndex: 'serial_number',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
{ {
title: this.$t('title'), title: this.$t('title'),
dataIndex: 'title', dataIndex: 'title',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
{ {
title: this.$t('zoneOfApplication'), title: this.$t('zoneOfApplication'),
dataIndex: 'region', dataIndex: 'region',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
// { // {
// title: this.$t('status'), // title: this.$t('status'),
@@ -150,13 +156,15 @@
title: this.$t('ImplementationDate'), title: this.$t('ImplementationDate'),
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1', dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
{ {
title: this.$t('vehicleInProductionDate'), title: this.$t('vehicleInProductionDate'),
dataIndex: 'implement_time', dataIndex: 'implement_time',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
} }
// { // {
// title: this.$t('correspondingStandard'), // title: this.$t('correspondingStandard'),
@@ -250,6 +258,7 @@
}, },
handleCancel() { handleCancel() {
this.visible = false this.visible = false
this.$emit('visible')
}, },
handleSubmit() { handleSubmit() {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
@@ -737,6 +737,7 @@
}, },
handleCancel() { handleCancel() {
this.visible = false this.visible = false
this.$emit('visible')
}, },
handleSubmit() { handleSubmit() {
this.$refs.ruleForm.validate(valid => { this.$refs.ruleForm.validate(valid => {
@@ -31,6 +31,7 @@
</a-form> </a-form>
</div> </div>
<a-table <a-table
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
rowKey="id" rowKey="id"
:scroll="{x: 800}" :scroll="{x: 800}"
@@ -63,11 +64,13 @@
<script> <script>
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'transferList', name: 'transferList',
components: {}, components: {},
props: ['url'], props: ['url'],
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
visible: false, visible: false,
@@ -78,26 +81,30 @@
{ {
title: this.$t('VirtualListName'), title: this.$t('VirtualListName'),
dataIndex: 'name', dataIndex: 'name',
align: 'center', align: 'left',
ellipsis: true ellipsis: true,
width: 223
}, },
{ {
title: this.$t('instructionForUse'), title: this.$t('instructionForUse'),
dataIndex: 'useExplain', dataIndex: 'useExplain',
align: 'center', align: 'left',
ellipsis: true ellipsis: true,
width: 223
}, },
{ {
title: this.$t('updateTime'), title: this.$t('updateTime'),
dataIndex: 'updateTime', dataIndex: 'updateTime',
align: 'center', align: 'left',
ellipsis: true ellipsis: true,
width: 223
}, },
{ {
title: this.$t('creater'), title: this.$t('creater'),
dataIndex: 'createBy', dataIndex: 'createBy',
align: 'center', align: 'left',
ellipsis: true ellipsis: true,
width: 223
} }
], ],
dataList: [], dataList: [],
@@ -161,6 +168,7 @@
}, },
handleCancel() { handleCancel() {
this.visible = false this.visible = false
this.$emit('visible')
}, },
handleSubmit(flag) { handleSubmit(flag) {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
@@ -178,7 +178,7 @@
{{$t('BatchDelete')}} {{$t('BatchDelete')}}
</div> </div>
</div> </div>
<div style="width: 100%"> <div style="width: 100%" v-if="istable">
<a-table <a-table
ref="table" ref="table"
:loading="loading" :loading="loading"
@@ -187,6 +187,7 @@
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 356px)'}" :scroll="{x: '100%',y:'calc(100vh - 356px)'}"
rowKey="id" rowKey="id"
:components="drag(columns,'columnsAll')"
:data-source="dataSource" :data-source="dataSource"
@change="tableOnChange" @change="tableOnChange"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
@@ -255,10 +256,10 @@
</a-card> </a-card>
</div> </div>
</div> </div>
<addModel :url="url" ref="addModelRef" @addModelList="addModelList"/> <addModel :url="url" ref="addModelRef" @addModelList="addModelList" @visible='sVisible'/>
<editModel :url="url" ref="editModelRef" @editModelList="editModelList"/> <editModel :url="url" ref="editModelRef" @editModelList="editModelList" @visible='sVisible'/>
<UpdateLog :url="url" ref="UpdateLogRef"/> <UpdateLog :url="url" ref="UpdateLogRef" @visible='sVisible'/>
<transferList :url="url" @transferListForm="transferListForm" ref="transferListRef"/> <transferList :url="url" @transferListForm="transferListForm" ref="transferListRef" @visible='sVisible'/>
<transferListvirtal :url="url" @transferListFormHomo="transferListFormHomo" ref="transferListvirtalRef"/> <transferListvirtal :url="url" @transferListFormHomo="transferListFormHomo" ref="transferListvirtalRef"/>
<batSetting :url="url" ref="batSettingRef" @batSettingList="batSettingList"/> <batSetting :url="url" ref="batSettingRef" @batSettingList="batSettingList"/>
<a-modal <a-modal
@@ -309,6 +310,7 @@
import {ResizeHeader, ResizeColumnProvide } from '@/mixins/header' import {ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
import { Base64 } from 'js-base64' import { Base64 } from 'js-base64'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'virtualListDetails', name: 'virtualListDetails',
@@ -331,6 +333,7 @@
visibleFile: false, visibleFile: false,
transferList: false, transferList: false,
orderBy: '1', orderBy: '1',
istable: true,
orderByField: '', orderByField: '',
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download', downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download', downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
@@ -1330,11 +1333,18 @@
} }
} }
} }
this.isTruee = false
this.$nextTick(()=>{
this.isTruee = true
})
return columnResult return columnResult
} }
}, },
methods: { methods: {
...mapGetters(['userInfo']), ...mapGetters(['userInfo']),
sVisible(){
this.getDataAdmin()
},
handleSuperQuery(params, matchType) { handleSuperQuery(params, matchType) {
let sqp = {} let sqp = {}
if (!params || (params && params.length == 0)) { if (!params || (params && params.length == 0)) {
@@ -1368,6 +1378,12 @@
transferClick() { transferClick() {
this.$refs.transferListRef.transferModel() this.$refs.transferListRef.transferModel()
}, },
getDataAdmin(){
this.isTrue = false
setTimeout(()=>{
this.isTrue = true
},100)
},
//导出 //导出
handleExport() { handleExport() {
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys)) let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
@@ -1729,7 +1745,7 @@
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@assets/less/common.less'; @import'~@assets/less/common.less';
.doc-detail { .doc-detail {
background: #fff; background: #fff;
@@ -1925,7 +1941,7 @@
//} //}
::v-deep .ant-table-body-inner { ::v-deep .ant-table-body-inner {
padding-bottom: 16px; padding-bottom: 9px;
} }
::v-deep .ant-table-scroll .ant-table-header::-webkit-scrollbar { ::v-deep .ant-table-scroll .ant-table-header::-webkit-scrollbar {
@@ -51,6 +51,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%'}" :scroll="{x: '100%'}"
@@ -160,6 +161,7 @@
import tableDragResize from '@/mixins/tableDragResize' import tableDragResize from '@/mixins/tableDragResize'
import setCreator from '@/components/setCreator/index' import setCreator from '@/components/setCreator/index'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
@@ -167,7 +169,7 @@
VueDraggableResizable, VueDraggableResizable,
setCreator setCreator
}, },
mixins: [tableDragResize], mixins: [tableDragResize, ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
loading: false, loading: false,
@@ -219,21 +221,21 @@
title: this.$t('VirtualListName'), title: this.$t('VirtualListName'),
align: 'left', align: 'left',
dataIndex: 'name', dataIndex: 'name',
width: '25%', width: 260,
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'VirtualListName' } scopedSlots: { customRender: 'VirtualListName' }
}, },
{ {
title: this.$t('listStatus'), title: this.$t('listStatus'),
align: 'left', align: 'left',
width: '25%', width: 260,
ellipsis: true, ellipsis: true,
dataIndex: 'state_dictText' dataIndex: 'state_dictText'
}, },
{ {
title: this.$t('creater'), title: this.$t('creater'),
align: 'left', align: 'left',
width: '25%', width: 260,
ellipsis: true, ellipsis: true,
dataIndex: 'createBy' dataIndex: 'createBy'
}, },
@@ -133,6 +133,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
rowKey="id" rowKey="id"
@@ -296,6 +297,7 @@
import eventBUs from '@/common/event' import eventBUs from '@/common/event'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import PersonnelSelection from '@/components/PersonnelSelection/index' import PersonnelSelection from '@/components/PersonnelSelection/index'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'SplitDetail', name: 'SplitDetail',
@@ -306,6 +308,7 @@
globalAdvancedQuery globalAdvancedQuery
// ImportFile // ImportFile
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
toggleSearchStatus: false, toggleSearchStatus: false,
@@ -52,6 +52,7 @@
size="middle" size="middle"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:components="drag(columns,'columns')"
:scroll="{x: '100%',y:'calc(100vh - 130px)'}" :scroll="{x: '100%',y:'calc(100vh - 130px)'}"
rowKey="id" rowKey="id"
:data-source="dataSource" :data-source="dataSource"
@@ -120,11 +121,14 @@ import axios from 'axios'
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
import eventBUs from '../../../common/event' import eventBUs from '../../../common/event'
import Vue from 'vue' import Vue from 'vue'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
components: { components: {
addModel, addModel,
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
token:Vue.ls.get(ACCESS_TOKEN), token:Vue.ls.get(ACCESS_TOKEN),
@@ -180,6 +184,7 @@ export default {
ellipsis: true, ellipsis: true,
dataIndex: 'description', dataIndex: 'description',
// scopedSlots: { customRender: 'titleName' } // scopedSlots: { customRender: 'titleName' }
width: 192
}, },
// { // {
// title: this.$t('zoneOfApplication'), // title: this.$t('zoneOfApplication'),
@@ -535,4 +540,8 @@ export default {
::v-deep .ant-table-body { ::v-deep .ant-table-body {
background: transparent!important; background: transparent!important;
} }
::v-deep .ant-table-placeholder{
margin-top: 8px !important;
}
</style> </style>
@@ -34,6 +34,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 158px)'}" :scroll="{x: '100%',y:'calc(100vh - 158px)'}"
@@ -43,9 +44,9 @@
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns" :columns="columns"
> >
<span slot="projectName" slot-scope="text,record" :title="text"> <!-- <span slot="projectName" slot-scope="text,record" :title="text">-->
{{ text && text.length > 20 ? text.slice(0, 19) + '...' : text }} <!-- {{ text && text.length > 20 ? text.slice(0, 19) + '...' : text }}-->
</span> <!-- </span>-->
<span slot="operation" slot-scope="text,record"> <span slot="operation" slot-scope="text,record">
<a class="text-operation" @click="handlecody(record)" v-has="'params:report:history'">{{$t('Exporthistory')}}</a> <a class="text-operation" @click="handlecody(record)" v-has="'params:report:history'">{{$t('Exporthistory')}}</a>
<a class="text-operation" @click="deleteLib(record)" v-has="'report:detail:list'">{{$t('See')}}</a> <a class="text-operation" @click="deleteLib(record)" v-has="'report:detail:list'">{{$t('See')}}</a>
@@ -110,12 +111,14 @@
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
import eventBUs from '../../../common/event' import eventBUs from '../../../common/event'
import Vue from 'vue' import Vue from 'vue'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
components: { components: {
ExportHistory ExportHistory
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
token: Vue.ls.get(ACCESS_TOKEN), token: Vue.ls.get(ACCESS_TOKEN),
@@ -157,7 +160,7 @@
{ {
title: this.$t('entryName'), title: this.$t('entryName'),
align: 'left', align: 'left',
width: '17%', width: 210,
dataIndex: 'projectName', dataIndex: 'projectName',
sorter:true, sorter:true,
scopedSlots: { customRender: 'projectName' } scopedSlots: { customRender: 'projectName' }
@@ -165,11 +168,13 @@
{ {
title: this.$t('ListTitle'), title: this.$t('ListTitle'),
align: 'left', align: 'left',
dataIndex: 'title' width: 380,
dataIndex: 'title',
}, },
{ {
title: this.$t('Version'), title: this.$t('Version'),
align: 'left', align: 'left',
width: 382,
dataIndex: 'version' dataIndex: 'version'
}, },
{ {
@@ -483,4 +488,14 @@
::v-deep .ant-table-body { ::v-deep .ant-table-body {
background: transparent!important; background: transparent!important;
} }
::v-deep .ant-table-row-cell-break-word{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
::v-deep .ant-table-placeholder{
margin-top: 8px !important
}
</style> </style>
@@ -46,6 +46,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 160px)'}" :scroll="{x: '100%',y:'calc(100vh - 160px)'}"
@@ -114,11 +115,14 @@ import axios from 'axios'
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
import eventBUs from '../../../common/event' import eventBUs from '../../../common/event'
import Vue from 'vue' import Vue from 'vue'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
components: { components: {
addModel, addModel,
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
token:Vue.ls.get(ACCESS_TOKEN), token:Vue.ls.get(ACCESS_TOKEN),
@@ -166,7 +170,7 @@ export default {
dataIndex: 'templateName', dataIndex: 'templateName',
sorter:true, sorter:true,
ellipsis: true, ellipsis: true,
width: 300, width: 201,
scopedSlots: { customRender: 'templateName' } scopedSlots: { customRender: 'templateName' }
}, },
{ {
@@ -174,7 +178,7 @@ export default {
align: 'left', align: 'left',
dataIndex: 'description', dataIndex: 'description',
ellipsis: true, ellipsis: true,
width: 300, width: 192,
scopedSlots: { customRender: 'projectName' } scopedSlots: { customRender: 'projectName' }
}, },
{ {
@@ -70,6 +70,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 130px)'}" :scroll="{x: '100%',y:'calc(100vh - 130px)'}"
@@ -113,12 +114,15 @@ import axios from 'axios'
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
import ImportFileOnlyList from '@/components/ImportFileOnlyList/index' import ImportFileOnlyList from '@/components/ImportFileOnlyList/index'
import Vue from 'vue' import Vue from 'vue'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
components: { components: {
addModel, addModel,
ImportFileOnlyList ImportFileOnlyList
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
certCategoryParamsInfoEOList: [], certCategoryParamsInfoEOList: [],
@@ -174,6 +178,7 @@ export default {
align: 'left', align: 'left',
dataIndex: 'description', dataIndex: 'description',
ellipsis: true, ellipsis: true,
width: 180,
// scopedSlots: { customRender: 'titleName' } // scopedSlots: { customRender: 'titleName' }
}, },
{ {
@@ -527,4 +532,8 @@ export default {
::v-deep .ant-table-body { ::v-deep .ant-table-body {
background: transparent!important; background: transparent!important;
} }
::v-deep .ant-table-placeholder{
margin-top: 8px !important;
}
</style> </style>
@@ -7,6 +7,7 @@
</div> </div>
<div style="width: 100%"> <div style="width: 100%">
<a-table <a-table
:components="drag(columns,'columns')"
ref="table" ref="table"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
@@ -26,9 +27,11 @@
import { getAction, postAction, downloadFile } from '@/api/manage' import { getAction, postAction, downloadFile } from '@/api/manage'
import moment from 'moment' import moment from 'moment'
import { Base64 } from 'js-base64' import { Base64 } from 'js-base64'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'circulationHistory', name: 'circulationHistory',
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
dataSource: [], dataSource: [],
@@ -44,32 +47,32 @@
title: this.$t('OperationNode'), title: this.$t('OperationNode'),
dataIndex: 'name', dataIndex: 'name',
align: 'left', align: 'left',
width:'20%', width:200,
}, },
{ {
title: this.$t('Operator'), title: this.$t('Operator'),
dataIndex: 'assignee', dataIndex: 'assignee',
align: 'left', align: 'left',
width:'20%', width:200,
}, },
{ {
title: this.$t('result'), title: this.$t('result'),
dataIndex: 'approvalResult', dataIndex: 'approvalResult',
align: 'left', align: 'left',
width:'20%', width:200,
scopedSlots: { customRender: 'approvalResult' } scopedSlots: { customRender: 'approvalResult' }
}, },
{ {
title: this.$t('opinion'), title: this.$t('opinion'),
dataIndex: 'approvalOpinion', dataIndex: 'approvalOpinion',
align: 'left', align: 'left',
width:'20%', width:200,
}, },
{ {
title: this.$t('OperationTime'), title: this.$t('OperationTime'),
dataIndex: 'createTime', dataIndex: 'createTime',
align: 'left', align: 'left',
width:'20%', width:200,
customRender: function(t, r, index) { customRender: function(t, r, index) {
return moment(t).format('YYYY-MM-DD HH:mm:ss') return moment(t).format('YYYY-MM-DD HH:mm:ss')
} }
@@ -29,6 +29,7 @@
</div> </div>
<a-table <a-table
ref="table" ref="table"
:components="drag(columnsAll,'columnsAll')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: 1600}" :scroll="{x: 1600}"
@@ -320,6 +321,7 @@
import uploadFile from '@/components/uploadFile/file' import uploadFile from '@/components/uploadFile/file'
import viewFileModel from '@/components/viewFileModel/index' import viewFileModel from '@/components/viewFileModel/index'
import { Base64 } from 'js-base64' import { Base64 } from 'js-base64'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'engineeringConfirmation', name: 'engineeringConfirmation',
@@ -328,6 +330,7 @@
uploadFile, uploadFile,
viewFileModel viewFileModel
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
loading: false, loading: false,
@@ -404,39 +407,45 @@
{ {
title: 'ID', title: 'ID',
dataIndex: 'serialNumber', dataIndex: 'serialNumber',
align: 'left' align: 'left',
width: 235
}, },
{ {
title: this.$t('completedBy'), title: this.$t('completedBy'),
dataIndex: 'createBy', dataIndex: 'createBy',
ellipsis: true, ellipsis: true,
align: 'left' align: 'left',
width: 235
}, },
{ {
title: this.$t('completedTime'), title: this.$t('completedTime'),
dataIndex: 'createTime', dataIndex: 'createTime',
ellipsis: true, ellipsis: true,
align: 'left' align: 'left',
width: 235
}, },
{ {
title: this.$t('feedbackFromTheEngineer'), title: this.$t('feedbackFromTheEngineer'),
dataIndex: 'engineerFeedbackContent', dataIndex: 'engineerFeedbackContent',
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'engineerFeedbackContent' } scopedSlots: { customRender: 'engineerFeedbackContent' },
width: 235
}, },
{ {
title: this.$t('Deliverables'), title: this.$t('Deliverables'),
dataIndex: 'fileId', dataIndex: 'fileId',
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'Deliverables' } scopedSlots: { customRender: 'Deliverables' },
width: 235
}, },
{ {
title: this.$t('replyFromProjectContactPerson'), title: this.$t('replyFromProjectContactPerson'),
dataIndex: 'engineeringInterfacePersonReply', dataIndex: 'engineeringInterfacePersonReply',
ellipsis: true, ellipsis: true,
align: 'left' align: 'left',
width: 235
}, },
{ {
title: this.$t('operation'), title: this.$t('operation'),
@@ -141,70 +141,70 @@
{ {
title: this.$t('clauseNo'), title: this.$t('clauseNo'),
dataIndex: 'itemNum', dataIndex: 'itemNum',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('clauseName'), title: this.$t('clauseName'),
dataIndex: 'itemName', dataIndex: 'itemName',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('clauseContent'), title: this.$t('clauseContent'),
dataIndex: 'itemContent', dataIndex: 'itemContent',
align: 'center', align: 'left',
width: 280, width: 280,
scopedSlots: { customRender: 'clauseContent' } scopedSlots: { customRender: 'clauseContent' }
}, },
{ {
title: this.$t('evaluationMethod'), title: this.$t('evaluationMethod'),
dataIndex: 'evaluationMethodsName', dataIndex: 'evaluationMethodsName',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('complianceResults'), title: this.$t('complianceResults'),
dataIndex: 'complianceResult', dataIndex: 'complianceResult',
align: 'center', align: 'left',
width: 180, width: 180,
scopedSlots: { customRender: 'complianceResults' } scopedSlots: { customRender: 'complianceResults' }
}, },
{ {
title: this.$t('nameTechnicalDocument'), title: this.$t('nameTechnicalDocument'),
dataIndex: 'technicalFileName', dataIndex: 'technicalFileName',
align: 'center', align: 'left',
width: 280, width: 280,
scopedSlots: { customRender: 'nameTechnicalDocument' } scopedSlots: { customRender: 'nameTechnicalDocument' }
}, },
{ {
title: this.$t('chapter'), title: this.$t('chapter'),
dataIndex: 'section', dataIndex: 'section',
align: 'center', align: 'left',
width: 180, width: 180,
scopedSlots: { customRender: 'chapter' } scopedSlots: { customRender: 'chapter' }
}, },
{ {
title: this.$t('opinion'), title: this.$t('opinion'),
dataIndex: 'opinion', dataIndex: 'opinion',
align: 'center', align: 'left',
width: 180, width: 180,
scopedSlots: { customRender: 'opinion' } scopedSlots: { customRender: 'opinion' }
}, },
{ {
title: this.$t('enclosure'), title: this.$t('enclosure'),
dataIndex: 'accessoryFile', dataIndex: 'accessoryFile',
align: 'center', align: 'left',
width: 180, width: 180,
scopedSlots: { customRender: 'enclosure' } scopedSlots: { customRender: 'enclosure' }
}, },
{ {
title: this.$t('sponsorFeedback'), title: this.$t('sponsorFeedback'),
dataIndex: 'sponsorFeedback', dataIndex: 'sponsorFeedback',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'sponsorFeedbackIndex' } scopedSlots: { customRender: 'sponsorFeedbackIndex' }
@@ -214,35 +214,35 @@
{ {
title: this.$t('clauseNo'), title: this.$t('clauseNo'),
dataIndex: 'itemNum', dataIndex: 'itemNum',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('clauseName'), title: this.$t('clauseName'),
dataIndex: 'itemName', dataIndex: 'itemName',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('clauseContent'), title: this.$t('clauseContent'),
dataIndex: 'itemContent', dataIndex: 'itemContent',
align: 'center', align: 'left',
width: 280, width: 280,
scopedSlots: { customRender: 'clauseContent' } scopedSlots: { customRender: 'clauseContent' }
}, },
{ {
title: this.$t('evaluationMethod'), title: this.$t('evaluationMethod'),
dataIndex: 'evaluationMethodsName', dataIndex: 'evaluationMethodsName',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('complianceResults'), title: this.$t('complianceResults'),
dataIndex: 'complianceResult', dataIndex: 'complianceResult',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'Results' } scopedSlots: { customRender: 'Results' }
@@ -250,28 +250,28 @@
{ {
title: this.$t('nameTechnicalDocument'), title: this.$t('nameTechnicalDocument'),
dataIndex: 'technicalFileName', dataIndex: 'technicalFileName',
align: 'center', align: 'left',
width: 280, width: 280,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('chapter'), title: this.$t('chapter'),
dataIndex: 'section', dataIndex: 'section',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('opinion'), title: this.$t('opinion'),
dataIndex: 'opinion', dataIndex: 'opinion',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('enclosure'), title: this.$t('enclosure'),
dataIndex: 'accessoryFile', dataIndex: 'accessoryFile',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'accessoryFile' } scopedSlots: { customRender: 'accessoryFile' }
@@ -279,7 +279,7 @@
{ {
title: this.$t('sponsorFeedback'), title: this.$t('sponsorFeedback'),
dataIndex: 'sponsorFeedback', dataIndex: 'sponsorFeedback',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'sponsorFeedback' } scopedSlots: { customRender: 'sponsorFeedback' }
@@ -289,35 +289,35 @@
{ {
title: this.$t('clauseNo'), title: this.$t('clauseNo'),
dataIndex: 'itemNum', dataIndex: 'itemNum',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('clauseName'), title: this.$t('clauseName'),
dataIndex: 'itemName', dataIndex: 'itemName',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('clauseContent'), title: this.$t('clauseContent'),
dataIndex: 'itemContent', dataIndex: 'itemContent',
align: 'center', align: 'left',
width: 280, width: 280,
scopedSlots: { customRender: 'clauseContent' } scopedSlots: { customRender: 'clauseContent' }
}, },
{ {
title: this.$t('evaluationMethod'), title: this.$t('evaluationMethod'),
dataIndex: 'evaluationMethodsName', dataIndex: 'evaluationMethodsName',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('complianceResults'), title: this.$t('complianceResults'),
dataIndex: 'complianceResult', dataIndex: 'complianceResult',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'Results' } scopedSlots: { customRender: 'Results' }
@@ -325,28 +325,28 @@
{ {
title: this.$t('nameTechnicalDocument'), title: this.$t('nameTechnicalDocument'),
dataIndex: 'technicalFileName', dataIndex: 'technicalFileName',
align: 'center', align: 'left',
width: 280, width: 280,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('chapter'), title: this.$t('chapter'),
dataIndex: 'section', dataIndex: 'section',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('opinion'), title: this.$t('opinion'),
dataIndex: 'opinion', dataIndex: 'opinion',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('enclosure'), title: this.$t('enclosure'),
dataIndex: 'accessoryFile', dataIndex: 'accessoryFile',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'accessoryFile' } scopedSlots: { customRender: 'accessoryFile' }
@@ -354,7 +354,7 @@
{ {
title: this.$t('sponsorFeedback'), title: this.$t('sponsorFeedback'),
dataIndex: 'sponsorFeedback', dataIndex: 'sponsorFeedback',
align: 'center', align: 'left',
width: 180, width: 180,
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'sponsorFeedbackIndex' } scopedSlots: { customRender: 'sponsorFeedbackIndex' }
@@ -8,6 +8,7 @@
<div style="width: 100%"> <div style="width: 100%">
<a-table <a-table
ref="table" ref="table"
:components="drag(columnsAll,'columnsAll')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%'}" :scroll="{x: '100%'}"
@@ -23,6 +24,7 @@
import { getAction, postAction, downloadFile } from '@/api/manage' import { getAction, postAction, downloadFile } from '@/api/manage'
import moment from 'moment' import moment from 'moment'
import { Base64 } from 'js-base64' import { Base64 } from 'js-base64'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'regulatoryCirculationHistory', name: 'regulatoryCirculationHistory',
@@ -32,6 +34,7 @@
default: false default: false
} }
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
dataSource: [], dataSource: [],
@@ -41,35 +44,35 @@
title: this.$t('OperationContent'), title: this.$t('OperationContent'),
dataIndex: 'taskDefinitionKeyName', dataIndex: 'taskDefinitionKeyName',
align: 'left', align: 'left',
width: '20%', width: 370,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('opinion'), title: this.$t('opinion'),
dataIndex: 'approvalOpinion', dataIndex: 'approvalOpinion',
align: 'left', align: 'left',
width: '20%', width: 370,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('Operator'), title: this.$t('Operator'),
dataIndex: 'createBy', dataIndex: 'createBy',
align: 'left', align: 'left',
width: '20%', width: 370,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('role'), title: this.$t('role'),
dataIndex: 'operatorRoleName', dataIndex: 'operatorRoleName',
align: 'left', align: 'left',
width: '20%', width: 370,
ellipsis: true ellipsis: true
}, },
{ {
title: this.$t('OperationTime'), title: this.$t('OperationTime'),
dataIndex: 'createTime', dataIndex: 'createTime',
align: 'left', align: 'left',
width: '20%', width: 370,
ellipsis: true, ellipsis: true,
customRender: function(t, r, index) { customRender: function(t, r, index) {
return moment(t).format('YYYY-MM-DD HH:mm:ss') return moment(t).format('YYYY-MM-DD HH:mm:ss')
@@ -1,6 +1,7 @@
<template> <template>
<div style="width: 100%;padding: 0 24px 24px 24px"> <div style="width: 100%;padding: 0 24px 24px 24px">
<a-table <a-table
:components="drag(columns,'columns')"
ref="table" ref="table"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
@@ -58,6 +59,7 @@
import { Base64 } from 'js-base64' import { Base64 } from 'js-base64'
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage' import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'standardContentList', name: 'standardContentList',
@@ -67,6 +69,7 @@
default: {} default: {}
} }
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
dataSource: [], dataSource: [],
@@ -175,6 +178,7 @@
remark: this.standardContentListQuery.verifyRemark remark: this.standardContentListQuery.verifyRemark
}) })
} }
}, },
methods: { methods: {
...mapGetters(['userInfo']), ...mapGetters(['userInfo']),
@@ -8,6 +8,7 @@
<div style="width: 100%"> <div style="width: 100%">
<a-table <a-table
ref="table" ref="table"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: true}" :scroll="{x: true}"
@@ -26,9 +27,11 @@
import { getAction, postAction, downloadFile } from '@/api/manage' import { getAction, postAction, downloadFile } from '@/api/manage'
import moment from 'moment' import moment from 'moment'
import { Base64 } from 'js-base64' import { Base64 } from 'js-base64'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'circulationHistory', name: 'circulationHistory',
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
dataSource: [], dataSource: [],
@@ -45,23 +48,27 @@
{ {
title: this.$t('OperationNode'), title: this.$t('OperationNode'),
dataIndex: 'name', dataIndex: 'name',
align: 'left' align: 'left',
width: 470
}, },
{ {
title: this.$t('Operator'), title: this.$t('Operator'),
dataIndex: 'assignee', dataIndex: 'assignee',
align: 'left' align: 'left',
width: 270
}, },
{ {
title: this.$t('result'), title: this.$t('result'),
dataIndex: 'reviewResult', dataIndex: 'reviewResult',
align: 'left', align: 'left',
scopedSlots: { customRender: 'reviewResult' } scopedSlots: { customRender: 'reviewResult' },
width: 270
}, },
{ {
title: this.$t('opinion'), title: this.$t('opinion'),
dataIndex: 'approvalOpinion', dataIndex: 'approvalOpinion',
align: 'left' align: 'left',
width: 270
}, },
{ {
title: this.$t('operationTime'), title: this.$t('operationTime'),
@@ -9,6 +9,7 @@
</div> </div>
</div> </div>
<a-table <a-table
:components="drag(columns,'columns')"
class="table" class="table"
key="id" key="id"
:pagination="false" :pagination="false"
@@ -103,10 +104,12 @@
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage' import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import eventBUs from '../../../common/event' import eventBUs from '../../../common/event'
import moment from 'moment' import moment from 'moment'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'ProcessClassification', name: 'ProcessClassification',
components: {}, components: {},
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
tableDataLoading: false, tableDataLoading: false,
@@ -112,12 +112,12 @@
class="taskTable" class="taskTable"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: true,y:'calc(100vh - 335px)'}" :scroll="{x: '100%',y:'calc(100vh - 300px)'}"
:data-source="dataSource" :data-source="dataSource"
rowKey="id" rowKey="id"
@change="tableOnChange" @change="tableOnChange"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns" :columns="columns" :components="drag(columns,'columns',JSON.parse(JSON.stringify([[columns[3],200],[columns[4],200],[columns[5],200]])))"
> >
<div slot="standardInformation" slot-scope="text,result" class="box-left"> <div slot="standardInformation" slot-scope="text,result" class="box-left">
<div class="content"> <div class="content">
@@ -234,6 +234,7 @@
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage' import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import store from '@/store/' import store from '@/store/'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'TaskList', name: 'TaskList',
@@ -246,6 +247,7 @@
taskBatSetting taskBatSetting
}, },
props: ['isDisplayNum', 'areaOfResponsibility'], props: ['isDisplayNum', 'areaOfResponsibility'],
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
toggleSearchStatus: false, toggleSearchStatus: false,
@@ -936,6 +938,10 @@
/deep/ .ant-table-tbody > tr > td { /deep/ .ant-table-tbody > tr > td {
padding: 16px 16px!important; padding: 16px 16px!important;
} }
::v-deep .ant-table-placeholder {
margin-top: 8px !important;
}
</style> </style>
<style> <style>
.box-input .ant-select-selection { .box-input .ant-select-selection {
@@ -45,6 +45,7 @@
ref='table' ref='table'
size='middle' size='middle'
rowKey='id' rowKey='id'
:components="drag(columns,'columns')"
:columns='columns' :columns='columns'
:dataSource='dataSource' :dataSource='dataSource'
:pagination='false' :pagination='false'
@@ -138,6 +139,7 @@
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
import eventBUs from '@/common/event' import eventBUs from '@/common/event'
import store from '@/store/' import store from '@/store/'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'TaskParameterCollection', name: 'TaskParameterCollection',
@@ -148,6 +150,7 @@
HistoricalVersion, HistoricalVersion,
ProjectCollectionParameters ProjectCollectionParameters
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
columns: [ columns: [
@@ -17,6 +17,7 @@
</div> </div>
</div> </div>
<a-table <a-table
:components="drag(columns,'columnsAll')"
:columns="columns" :columns="columns"
:scroll="{x: 900}" :scroll="{x: 900}"
:data-source="dataList" :data-source="dataList"
@@ -67,6 +68,7 @@
import { getAction, postAction, deleteAction } from '@/api/manage' import { getAction, postAction, deleteAction } from '@/api/manage'
import certificationDirectoryAdd from './certificationDirectoryAdd' import certificationDirectoryAdd from './certificationDirectoryAdd'
import viewFileModel from '@/components/viewFileModel/index' import viewFileModel from '@/components/viewFileModel/index'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'certificationDirectory', name: 'certificationDirectory',
@@ -75,6 +77,7 @@
viewFileModel viewFileModel
}, },
props: ['isDisplayNum'], props: ['isDisplayNum'],
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
visible: false, visible: false,
@@ -86,45 +89,52 @@
title: this.$t('directoryName'), title: this.$t('directoryName'),
dataIndex: 'directoryName', dataIndex: 'directoryName',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 132
}, },
{ {
title: this.$t('batch'), title: this.$t('batch'),
dataIndex: 'lot', dataIndex: 'lot',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 132
}, },
{ {
title: this.$t('catalogFile'), title: this.$t('catalogFile'),
dataIndex: 'directoryFile', dataIndex: 'directoryFile',
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'operationFile' } scopedSlots: { customRender: 'operationFile' },
width: 132
}, },
{ {
title: this.$t('testScheme'), title: this.$t('testScheme'),
dataIndex: 'experimentFile', dataIndex: 'experimentFile',
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'operationFile' } scopedSlots: { customRender: 'operationFile' },
width: 132
}, },
{ {
title: this.$t('testReportLocation'), title: this.$t('testReportLocation'),
dataIndex: 'detectionReportLocation', dataIndex: 'detectionReportLocation',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 132
}, },
{ {
title: this.$t('explain'), title: this.$t('explain'),
dataIndex: 'explainInfo', dataIndex: 'explainInfo',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 132
}, },
{ {
title: this.$t('uploadTime'), title: this.$t('uploadTime'),
dataIndex: 'uploadTime', dataIndex: 'uploadTime',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 130
}, },
{ {
title: this.$t('operation'), title: this.$t('operation'),
@@ -7,6 +7,7 @@
<div id="main-right"> <div id="main-right">
<a-table <a-table
ref="table" ref="table"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: true}" :scroll="{x: true}"
@@ -27,6 +28,7 @@
import * as echarts from 'echarts' import * as echarts from 'echarts'
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage' import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import responsibilityList from './responsibilityList' import responsibilityList from './responsibilityList'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'certificationProgress', name: 'certificationProgress',
@@ -39,6 +41,7 @@
default: [] default: []
} }
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
loading: false, loading: false,
@@ -50,28 +53,33 @@
columns: [ columns: [
{ {
title: this.$t('notInvolved'), title: this.$t('notInvolved'),
align: 'center', align: 'left',
dataIndex: 'notInvolved' dataIndex: 'notInvolved',
width: 102
}, },
{ {
title: this.$t('toBeStarted'), title: this.$t('toBeStarted'),
align: 'center', align: 'left',
dataIndex: 'toBeStarted' dataIndex: 'toBeStarted',
width: 102
}, },
{ {
title: this.$t('inProgress'), title: this.$t('inProgress'),
align: 'center', align: 'left',
dataIndex: 'inProgress' dataIndex: 'inProgress',
width: 102
}, },
{ {
title: this.$t('experimentFailed'), title: this.$t('experimentFailed'),
align: 'center', align: 'left',
dataIndex: 'experimentFailed' dataIndex: 'experimentFailed',
width: 122
}, },
{ {
title: this.$t('experimentPassed'), title: this.$t('experimentPassed'),
align: 'center', align: 'left',
dataIndex: 'experimentPassed' dataIndex: 'experimentPassed',
width: 122
} }
] ]
} }
@@ -14,6 +14,7 @@
<div id="main-right"> <div id="main-right">
<a-table <a-table
ref="table" ref="table"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: true}" :scroll="{x: true}"
@@ -34,6 +35,7 @@
import * as echarts from 'echarts' import * as echarts from 'echarts'
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage' import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import responsibilityList from './responsibilityList' import responsibilityList from './responsibilityList'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'CurrentStatusOfTheProjectEcharts', name: 'CurrentStatusOfTheProjectEcharts',
@@ -46,6 +48,7 @@
default: [] default: []
} }
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
loading: false, loading: false,
@@ -57,23 +60,27 @@
columns: [ columns: [
{ {
title: this.$t('red'), title: this.$t('red'),
align: 'center', align: 'left',
dataIndex: 'redCount' dataIndex: 'redCount',
width: 139
}, },
{ {
title: this.$t('yellow'), title: this.$t('yellow'),
align: 'center', align: 'left',
dataIndex: 'yellowCount' dataIndex: 'yellowCount',
width: 139
}, },
{ {
title: this.$t('green'), title: this.$t('green'),
align: 'center', align: 'left',
dataIndex: 'greenCount' dataIndex: 'greenCount',
width: 139
}, },
{ {
title: this.$t('blue'), title: this.$t('blue'),
align: 'center', align: 'left',
dataIndex: 'blueCount' dataIndex: 'blueCount',
width: 139
} }
] ]
} }
@@ -10,6 +10,7 @@
style="height: 100%;overflow: auto;padding-bottom: 53px;"> style="height: 100%;overflow: auto;padding-bottom: 53px;">
<div style="margin-bottom: 60px"> <div style="margin-bottom: 60px">
<a-table <a-table
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
:rowKey="record=> record.key" :rowKey="record=> record.key"
:scroll="{x: 800}" :scroll="{x: 800}"
@@ -41,486 +42,187 @@
</template> </template>
<script> <script>
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'transferList', name: 'transferList',
components: {}, components: {},
props: ['url'], props: ['url'],
data() { mixins:[ResizeHeader, ResizeColumnProvide],
return { data() {
visible: false, return {
queryParam: {}, visible: false,
confirmLoading: false, queryParam: {},
selectedRowKeys: [], confirmLoading: false,
selectedRows: [], selectedRowKeys: [],
columns: [ columns: [
{ {
title: this.$t('customColumn'), title: this.$t('customColumn'),
dataIndex: 'name', dataIndex: 'name',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
}, width: 884
], },
dataList: [ ],
{ dataList: [
sort: '1', {
name: this.$t('standard'), orderBy: '1',
headFieldCn:'编号', name: '1',
headFieldEn:'Number', id: '1',
field: 'serialNumber', status:1,
key: 1, },
moduleFlag:'法规清单', {
status:1, orderBy: '2',
}, name: '2',
{ id: '12',
sort: '2', status:2,
name: this.$t('title'), },
headFieldCn:'标题', {
headFieldEn:'title', orderBy: '3',
field: 'title', name: '3',
key: 2, id: '13',
moduleFlag:'法规清单', },
status:2, {
}, orderBy: '4',
{ name: '4',
sort: '', id: '15',
name: this.$t('subtitle'), },
headFieldCn:'子标题', {
headFieldEn:'Sub-title', orderBy: '5',
field: 'subtitle', name: '4',
key: 3, id: '16',
moduleFlag:'法规清单', },
}, {
{ orderBy: '6',
sort: '', name: '4',
name: this.$t('listConfirmationStatus'), id: '17',
headFieldCn:'清单确认状态', },
headFieldEn:'List Confirmation Status', {
field: 'inventoryAffirmStatusName', orderBy: '7',
key: 4, name: '4',
moduleFlag:'法规清单', id: '18',
}, },
{ {
sort: '', orderBy: '8',
name: this.$t('taskAffirmStatus'), name: '4',
headFieldCn:'任务确认状态', id: '19',
headFieldEn:'Task Confirmation Status', status:2,
field: 'taskAffirmStatusName', },
key: 5, ],
moduleFlag:'法规清单', content: [],
}, loading: false,
{ pageNo: 1,
sort: '', pageSize: 10,
name: this.$t('zoneOfApplication'), total: 0
headFieldCn:'适用地区',
headFieldEn:'Area',
field: 'region_dictText',
key: 6,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('correspondingStandard'),
headFieldCn:'对应标准',
headFieldEn:'Compare EU/CN',
field: 'correspondingStandard',
key: 7,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('implementationCategory'),
headFieldCn:'实施类别',
headFieldEn:'Usage',
field: 'implementType_dictText',
key: 8,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('ImplementationDate'),
headFieldCn:'标准实施日期',
headFieldEn:'New Type Execution Date',
field: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
key: 9,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('vehicleInProductionDate'),
headFieldCn:'在产车实施日期',
headFieldEn:'New Vehicle Execution Date',
field: 'implementTime',
key: 10,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('certificationType'),
headFieldCn:'认证类型',
headFieldEn:'Certification Type',
field: 'attestationType_dictText',
key: 11,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('certificationLevel'),
headFieldCn:'认证级别',
headFieldEn:'Certification Level',
field: 'attestationRank_dictText',
key: 12,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('applicableSupplement'),
headFieldCn:'适用增补件',
headFieldEn:'Applicable Supplement',
field: 'applicableSupplement',
key: 13,
moduleFlag:'法规清单',
},
{
sort: '',
name: 'WVTA ID',
headFieldCn:'WVTA ID',
headFieldEn:'WVTA ID',
field: 'wvtaId',
key: 14,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('areaOfResponsibility'),
headFieldCn:'责任领域',
headFieldEn:'Responsible Field',
field: 'dutyTerritory_dictText',
key: 15,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('regulatoryEngineer'),
headFieldCn:'法规工程师',
headFieldEn:'Regulation Engineer',
field: 'regulationOwnerName',
key: 16,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('certifiedEngineer'),
headFieldCn:'认证工程师',
headFieldEn:'Homo Engineer',
field: 'homologationEngineerName',
key: 17,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('engineeringInterfacePerson'),
headFieldCn:'工程接口人',
headFieldEn:'Eng. Interface',
field: 'engineeringInterfacePersonName',
key: 18,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('remarks'),
headFieldCn:'备注',
headFieldEn:'Comments',
field: 'remark',
key: 19,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('confirmationOfDesignConformity') + '/' + this.$t('Deliverables'),
headFieldCn:'交付物',
headFieldEn:'Deliverables',
field: 'designDeliverableTemplateName',
affirmFlag:'1',
key: 20,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('confirmationOfDesignConformity') + '/' + this.$t('Sponsor'),
headFieldCn:'发起人',
headFieldEn:'Creator',
field: 'designInitiatorName',
affirmFlag:'1',
key: 21,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('confirmationOfDesignConformity') + '/' + this.$t('personLiable'),
headFieldCn:'责任人',
headFieldEn:'Assignee',
field: 'designDutyName',
affirmFlag:'1',
key: 22,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('confirmationOfDesignConformity') + '/' + this.$t('TaskCutOffTime'),
headFieldCn:'截止时间',
headFieldEn:'Due Date',
field: 'designDueDate',
affirmFlag:'1',
key: 23,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('confirmationOfDesignConformity') + '/' + this.$t('descriptionDeliverables'),
headFieldCn:'交付物说明',
headFieldEn:'Instruction',
field: 'designRemark',
affirmFlag:'1',
key: 24,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('PrehomoConfirmation') + '/' + this.$t('Deliverables'),
headFieldCn:'交付物',
headFieldEn:'Deliverables',
field: 'prehomoDeliverableTemplateName',
affirmFlag:'2',
key: 25,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('PrehomoConfirmation') + '/' + this.$t('Sponsor'),
headFieldCn:'发起人',
headFieldEn:'Creator',
field: 'prehomoInitiatorName',
affirmFlag:'2',
key:26,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('PrehomoConfirmation') + '/' + this.$t('personLiable'),
headFieldCn:'责任人',
headFieldEn:'Assignee',
field: 'prehomoDutyName',
affirmFlag:'2',
key: 27,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('PrehomoConfirmation') + '/' + this.$t('TaskCutOffTime'),
headFieldCn:'截止时间',
headFieldEn:'Due Date',
field: 'prehomoDueDate',
affirmFlag:'2',
key: 28,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('PrehomoConfirmation') + '/' + this.$t('descriptionDeliverables'),
headFieldCn:'交付物说明',
headFieldEn:'Instruction',
field: 'prehomoRemark',
affirmFlag:'2',
key: 29,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('verificationAndConformityconfirmation') + '/' + this.$t('Deliverables'),
headFieldCn:'交付物',
headFieldEn:'Deliverables',
field: 'verifyDeliverableTemplateName',
affirmFlag:'3',
key: 30,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('verificationAndConformityconfirmation') + '/' + this.$t('Sponsor'),
headFieldCn:'发起人',
headFieldEn:'Creator',
field: 'verifyInitiatorName',
affirmFlag:'3',
key: 31,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('verificationAndConformityconfirmation') + '/' + this.$t('personLiable'),
headFieldCn:'责任人',
headFieldEn:'Assignee',
field: 'verifyDutyName',
affirmFlag:'3',
key: 32,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('verificationAndConformityconfirmation') + '/' + this.$t('TaskCutOffTime'),
headFieldCn:'截止时间',
headFieldEn:'Due Date',
field: 'verifyDueDate',
affirmFlag:'3',
key: 33,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('verificationAndConformityconfirmation') + '/' + this.$t('descriptionDeliverables'),
headFieldCn:'交付物说明',
headFieldEn:'Instruction',
field: 'verifyRemark',
affirmFlag:'3',
key: 34,
moduleFlag:'法规清单',
},
{
sort: '',
name: this.$t('operation'),
headFieldCn:'操作',
headFieldEn:'Operation',
key: 35,
moduleFlag:'法规清单',
status:2,
},
],
content: [],
columnsAll:[],
loading: false,
pageNo: 1,
pageSize: 10,
total: 0
}
},
mounted() {
},
methods: {
transferModel(val) {
this.visible = true
this.queryParam = {}
this.columnsAll = val
// this.$nextTick(() => {
// this.selectedRowKeys = []
// this.selectedRows = []
// })
//
// this.getCheckboxProps()
},
searchQuery() {
this.pageNo = 1
this.replacePage()
},
searchReset() {
this.pageNo = 1
this.queryParam = {}
this.replacePage()
},
onChange(page, pageSize) {
this.pageNo = page
this.replacePage()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.replacePage()
},
replacePage() {
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
...this.queryParam
} }
this.loading = true },
postAction(this.url.transferUrl, query).then((res) => { mounted() {
if (res.success) {
this.dataList = res.result.records || [] },
this.total = res.result.total methods: {
this.loading = false transferModel() {
} else { this.visible = true
this.loading = false this.queryParam = {}
this.selectedRowKeys = []
// this.replacePage()
},
searchQuery() {
this.pageNo = 1
this.replacePage()
},
searchReset() {
this.pageNo = 1
this.queryParam = {}
this.replacePage()
},
onChange(page, pageSize) {
this.pageNo = page
this.replacePage()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.replacePage()
},
replacePage() {
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
...this.queryParam
} }
}) this.loading = true
}, postAction(this.url.transferUrl, query).then((res) => {
onSelectChange(value, rows) {
this.selectedRowKeys = value
this.selectedRows = rows
// if (this.selectedRowKeys.length > 1) {
// this.selectedRowKeys.shift()
// }
},
getCheckboxProps(record) {
let titleList = []
this.columnsAll.forEach((item) => {
if(item.children){
item.children.forEach((val) => {
titleList.push(item.dataIndex,val.dataIndex)
})
}else {
titleList.push(item.dataIndex)
}
})
console.log(titleList)
return ({
props: {
//当状态是1或者2的时候执行disable
disabled: record.status === 1 || record.status === 2,
defaultChecked: titleList.includes(record.field)
}
})
},
handleCancel() {
this.visible = false
},
handleSubmit(flag) {
// if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
this.confirmLoading = true
// let selectedRows = JSON.parse(JSON.stringify(this.selectedRows))
// this.confirmLoading = false
// this.$emit('transferListForm',selectedRowKeys.join(','))
// this.selectedRowKeys = []
this.selectedRows.forEach((item,index) => {
item.sort = index + 1
})
let headCustomEOList = JSON.parse(JSON.stringify(this.selectedRows))
let query ={
headCustomEOList :headCustomEOList
}
postAction('head/headCustomEO/add', query).then((res) => {
if (res.success) { if (res.success) {
this.confirmLoading = false this.dataList = res.result.records || []
this.visible = false this.total = res.result.total
this.$message.success(this.$t('OperationSuccessful')) this.loading = false
this.$emit('customizeListForm')
} else { } else {
this.$message.warning(this.$t('operationFailed')) this.loading = false
this.confirmLoading = false
this.visible = false
} }
}) })
}, },
getAdd() { onSelectChange(value) {
let _this = this this.selectedRowKeys = value
this.$confirm({ // if (this.selectedRowKeys.length > 1) {
content: _this.$t('TheDoesNotContainData'), // this.selectedRowKeys.shift()
onOk() { // }
_this.handleSubmit('1') },
getCheckboxProps(record) {
console.log(record.status, 'status');
return ({
props: {
//当状态是1或者2的时候执行disable
disabled: record.status === 1 || record.status === 2
}
})
},
handleCancel() {
this.visible = false
},
handleSubmit(flag) {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
this.confirmLoading = true
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
this.confirmLoading = false
this.$emit('transferListForm',selectedRowKeys.join(','))
this.selectedRowKeys = []
// postAction(this.url.addModel, {
// dummyInventoryBaseId: selectedRowKeys.join(','),
// projectLibraryId: this.$route.query.id,
// flag: flag
// }).then((res) => {
// if (res.success) {
// this.confirmLoading = false
// this.$message.success(this.$t('OperationSuccessful'))
// this.visible = false
// this.selectedRowKeys = []
// this.$emit('transferListForm')
// } else {
// if (res.message == '该虚拟清单的维护清单中没有数据,是否需要添加') {
// this.confirmLoading = false
// this.getAdd()
// return
// }
// this.$message.warning(this.$t('operationFailed'))
// this.confirmLoading = false
// }
// })
} else {
this.$message.warning(this.$t('selectLeastOne'))
} }
}) },
getAdd() {
let _this = this
this.$confirm({
content: _this.$t('TheDoesNotContainData'),
onOk() {
_this.handleSubmit('1')
}
})
}
} }
} }
}
</script> </script>
<style scoped> <style scoped>
@@ -14,9 +14,10 @@
</template> </template>
<a-table <a-table
class="table" class="table"
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
:pagination="false" :pagination="false"
:scroll="{y: 400}" :scroll="{x:'100%',y: 400}"
:data-source="dataSource" :data-source="dataSource"
:loading="loading" :loading="loading"
> >
@@ -29,9 +30,11 @@
<script> <script>
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'historicalVersionList', name: 'historicalVersionList',
mixins: [ResizeColumnProvide, ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
visible: false, visible: false,
@@ -46,13 +49,15 @@
title: this.$t('versionName'), title: this.$t('versionName'),
dataIndex: 'versionsName', dataIndex: 'versionsName',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 362
}, },
{ {
title: this.$t('finalizationTime'), title: this.$t('finalizationTime'),
dataIndex: 'createTime', dataIndex: 'createTime',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 362
}, },
{ {
title: this.$t('operation'), title: this.$t('operation'),
@@ -60,6 +60,7 @@
</a-form> </a-form>
</div> </div>
<a-table <a-table
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
rowKey="id" rowKey="id"
:scroll="{x: 1200}" :scroll="{x: 1200}"
@@ -93,6 +94,7 @@
<script> <script>
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index' import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'listAddModel', name: 'listAddModel',
@@ -100,6 +102,7 @@
globalAdvancedQuery globalAdvancedQuery
}, },
props: ['url'], props: ['url'],
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
toggleSearchStatus: false, toggleSearchStatus: false,
@@ -112,19 +115,22 @@
title: this.$t('standard'), title: this.$t('standard'),
dataIndex: 'serial_number', dataIndex: 'serial_number',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
{ {
title: this.$t('title'), title: this.$t('title'),
dataIndex: 'title', dataIndex: 'title',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
{ {
title: this.$t('zoneOfApplication'), title: this.$t('zoneOfApplication'),
dataIndex: 'region', dataIndex: 'region',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
// { // {
// title: this.$t('status'), // title: this.$t('status'),
@@ -142,13 +148,15 @@
title: this.$t('ImplementationDate'), title: this.$t('ImplementationDate'),
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1', dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
{ {
title: this.$t('vehicleInProductionDate'), title: this.$t('vehicleInProductionDate'),
dataIndex: 'implement_time', dataIndex: 'implement_time',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 228
}, },
// { // {
// title: this.$t('correspondingStandard'), // title: this.$t('correspondingStandard'),
@@ -244,7 +244,7 @@
class="customizetable" class="customizetable"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 356px)'}" :scroll="{x: '100%',y:'calc(100vh - 300px)'}"
rowKey="id" rowKey="id"
:data-source="dataSource" :data-source="dataSource"
@change="tableOnChange" @change="tableOnChange"
@@ -813,7 +813,7 @@
title: this.$t('operation'), title: this.$t('operation'),
align: 'left', align: 'left',
fixed: 'right', fixed: 'right',
width: 240, width: 200,
scopedSlots: { customRender: 'operation' } scopedSlots: { customRender: 'operation' }
}, },
{ {
@@ -105,6 +105,7 @@
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"--> :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"-->
<a-table <a-table
class="table" class="table"
:components="drag(columns,'columnsAll')"
:columns="columns" :columns="columns"
rowKey="id" rowKey="id"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
@@ -270,6 +271,7 @@
import { getAction, postAction, downloadFile, putAction } from '@/api/manage' import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
import ImportFile from '@/components/ImportFile/index' import ImportFile from '@/components/ImportFile/index'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'listOfRelevantPersonnel', name: 'listOfRelevantPersonnel',
@@ -278,6 +280,7 @@
ImportFile, ImportFile,
personBatting personBatting
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
toggleSearchStatus: false, toggleSearchStatus: false,
@@ -288,31 +291,36 @@
title: this.$t('areaOfResponsibility'), title: this.$t('areaOfResponsibility'),
align: 'left', align: 'left',
dataIndex: 'dutyTerritory_dictText', dataIndex: 'dutyTerritory_dictText',
ellipsis: true ellipsis: true,
width: 153
}, },
{ {
align: 'left', align: 'left',
dataIndex: 'lawEngineerName', dataIndex: 'lawEngineerName',
slots: { title: 'regulatoryEngineer' }, slots: { title: 'regulatoryEngineer' },
ellipsis: true ellipsis: true,
width: 153
}, },
{ {
align: 'left', align: 'left',
slots: { title: 'engineeringInterfacePerson' }, slots: { title: 'engineeringInterfacePerson' },
dataIndex: 'engineeringInterfacePersonName', dataIndex: 'engineeringInterfacePersonName',
ellipsis: true ellipsis: true,
width: 153
}, },
{ {
align: 'left', align: 'left',
slots: { title: 'certifiedEngineer' }, slots: { title: 'certifiedEngineer' },
dataIndex: 'certificationEngineerName', dataIndex: 'certificationEngineerName',
ellipsis: true ellipsis: true,
width: 153
}, },
{ {
title: this.$t('remarks'), title: this.$t('remarks'),
align: 'left', align: 'left',
dataIndex: 'remark', dataIndex: 'remark',
ellipsis: true ellipsis: true,
width: 153
}, },
{ {
title: this.$t('operation'), title: this.$t('operation'),
@@ -689,4 +697,8 @@
/*/deep/.table .ant-table-tbody > tr > td {*/ /*/deep/.table .ant-table-tbody > tr > td {*/
/* color: #040B29 ;*/ /* color: #040B29 ;*/
/*}*/ /*}*/
.table {
margin-bottom: 60px;
}
</style> </style>
@@ -51,6 +51,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
rowKey="uuid" rowKey="uuid"
:pagination="false" :pagination="false"
@@ -85,9 +86,11 @@
<script> <script>
import { getAction, postAction, downloadFile, deleteAction,downloadFilePost } from '@/api/manage' import { getAction, postAction, downloadFile, deleteAction,downloadFilePost } from '@/api/manage'
import store from '@/store/' import store from '@/store/'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'nonConformance', name: 'nonConformance',
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
queryParam: {}, queryParam: {},
@@ -101,7 +104,6 @@
title: this.$t('standard'), title: this.$t('standard'),
align: 'left', align: 'left',
dataIndex: 'serialNumber', dataIndex: 'serialNumber',
scopedSlots: { customRender: 'standard' },
ellipsis: true, ellipsis: true,
sorter:true, sorter:true,
width: 180 width: 180
@@ -111,13 +113,13 @@
align: 'left', align: 'left',
dataIndex: 'title', dataIndex: 'title',
ellipsis: true, ellipsis: true,
width: 180, width: 180
scopedSlots: { customRender: 'standard' }
}, },
{ {
title: this.$t('ProcessType'), title: this.$t('ProcessType'),
align: 'left', align: 'left',
dataIndex: 'flowType', dataIndex: 'flowType',
scopedSlots: { customRender: 'standard' },
ellipsis: true, ellipsis: true,
sorter:true, sorter:true,
width: 180 width: 180
@@ -20,6 +20,7 @@
</div> </div>
<a-table <a-table
ref="table" ref="table"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: true,y:400}" :scroll="{x: true,y:400}"
@@ -36,9 +37,11 @@
<script> <script>
import { getAction, postAction, downloadFile } from '@/api/manage' import { getAction, postAction, downloadFile } from '@/api/manage'
import moment from 'moment' import moment from 'moment'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'responsibilityList', name: 'responsibilityList',
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
visible: false, visible: false,
@@ -55,7 +58,7 @@
{ {
title: this.$t('areaOfResponsibility'), title: this.$t('areaOfResponsibility'),
dataIndex: 'dutyTerritoryName', dataIndex: 'dutyTerritoryName',
align: 'center', align: 'left',
width: 400, width: 400,
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'areaOfResponsibility' } scopedSlots: { customRender: 'areaOfResponsibility' }
@@ -63,7 +66,7 @@
{ {
title: this.$t('Quantity'), title: this.$t('Quantity'),
dataIndex: 'amount', dataIndex: 'amount',
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
width: 300 width: 300
} }
@@ -13,7 +13,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span> <!-- <span class="Required">*</span>-->
<span class="title-text-text" :title="$t('confirmationOfRegulationsList')"> <span class="title-text-text" :title="$t('confirmationOfRegulationsList')">
{{$t('confirmationOfRegulationsList')}}</span> {{$t('confirmationOfRegulationsList')}}</span>
</div> </div>
@@ -32,7 +32,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span> <!-- <span class="Required">*</span>-->
<span class="title-text-text" :title="$t('regulatoryTaskConfirmation')"> <span class="title-text-text" :title="$t('regulatoryTaskConfirmation')">
{{$t('regulatoryTaskConfirmation')}}</span> {{$t('regulatoryTaskConfirmation')}}</span>
</div> </div>
@@ -51,7 +51,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span> <!-- <span class="Required">*</span>-->
<span class="title-text-text" :title="$t('confirmationOfDesignConformity')"> <span class="title-text-text" :title="$t('confirmationOfDesignConformity')">
{{$t('confirmationOfDesignConformity')}}</span> {{$t('confirmationOfDesignConformity')}}</span>
</div> </div>
@@ -70,7 +70,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span> <!-- <span class="Required">*</span>-->
<span class="title-text-text" :title="$t('preHomoCompletion')"> <span class="title-text-text" :title="$t('preHomoCompletion')">
{{$t('preHomoCompletion')}}</span> {{$t('preHomoCompletion')}}</span>
</div> </div>
@@ -89,7 +89,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span> <!-- <span class="Required">*</span>-->
<span class="title-text-text" :title="$t('certificationStart')"> <span class="title-text-text" :title="$t('certificationStart')">
{{$t('certificationStart')}}</span> {{$t('certificationStart')}}</span>
</div> </div>
@@ -109,7 +109,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span> <!-- <span class="Required">*</span>-->
<span class="title-text-text" :title="$t('certificationEnd')"> <span class="title-text-text" :title="$t('certificationEnd')">
{{$t('certificationEnd')}}</span> {{$t('certificationEnd')}}</span>
</div> </div>
@@ -129,7 +129,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span> <!-- <span class="Required">*</span>-->
<span class="title-text-text" :title="$t('verificationAndConformityconfirmation')"> <span class="title-text-text" :title="$t('verificationAndConformityconfirmation')">
{{$t('verificationAndConformityconfirmation')}}</span> {{$t('verificationAndConformityconfirmation')}}</span>
</div> </div>
@@ -163,55 +163,55 @@
confirmLoading: false, confirmLoading: false,
formInline: {}, formInline: {},
rules: { rules: {
listConfirmation: [ // listConfirmation: [
{ // {
required: true, // required: true,
message: this.$t('confirmationOfRegulationsList') + this.$t('cannotEmpty'), // message: this.$t('confirmationOfRegulationsList') + this.$t('cannotEmpty'),
trigger: 'change' // trigger: 'change'
} // }
], // ],
legalTaskConfirmation: [ // legalTaskConfirmation: [
{ // {
required: true, // required: true,
message: this.$t('regulatoryTaskConfirmation') + this.$t('cannotEmpty'), // message: this.$t('regulatoryTaskConfirmation') + this.$t('cannotEmpty'),
trigger: 'change' // trigger: 'change'
} // }
], // ],
designDeadline: [ // designDeadline: [
{ // {
required: true, // required: true,
message: this.$t('confirmationOfDesignConformity') + this.$t('cannotEmpty'), // message: this.$t('confirmationOfDesignConformity') + this.$t('cannotEmpty'),
trigger: 'change' // trigger: 'change'
} // }
], // ],
prehomoDeadline: [ // prehomoDeadline: [
{ // {
required: true, // required: true,
message: this.$t('preHomoCompletion') + this.$t('cannotEmpty'), // message: this.$t('preHomoCompletion') + this.$t('cannotEmpty'),
trigger: 'change' // trigger: 'change'
} // }
], // ],
attestationStartTime: [ // attestationStartTime: [
{ // {
required: true, // required: true,
message: this.$t('certificationStart') + this.$t('cannotEmpty'), // message: this.$t('certificationStart') + this.$t('cannotEmpty'),
trigger: 'change' // trigger: 'change'
} // }
], // ],
attestationEndTime: [ // attestationEndTime: [
{ // {
required: true, // required: true,
message: this.$t('certificationEnd') + this.$t('cannotEmpty'), // message: this.$t('certificationEnd') + this.$t('cannotEmpty'),
trigger: 'change' // trigger: 'change'
} // }
], // ],
verifyDeadline: [ // verifyDeadline: [
{ // {
required: true, // required: true,
message: this.$t('verificationConfirmationDeadline') + this.$t('cannotEmpty'), // message: this.$t('verificationConfirmationDeadline') + this.$t('cannotEmpty'),
trigger: 'change' // trigger: 'change'
} // }
] // ]
}, },
ids: [] ids: []
} }
@@ -31,6 +31,7 @@
</a-form> </a-form>
</div> </div>
<a-table <a-table
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
rowKey="id" rowKey="id"
:scroll="{x: 1000}" :scroll="{x: 1000}"
@@ -63,11 +64,13 @@
<script> <script>
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'transferList', name: 'transferList',
components: {}, components: {},
props: ['url'], props: ['url'],
mixins: [ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
visible: false, visible: false,
@@ -79,25 +82,29 @@
title: this.$t('VirtualListName'), title: this.$t('VirtualListName'),
dataIndex: 'name', dataIndex: 'name',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 235
}, },
{ {
title: this.$t('instructionForUse'), title: this.$t('instructionForUse'),
dataIndex: 'useExplain', dataIndex: 'useExplain',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 235
}, },
{ {
title: this.$t('updateTime'), title: this.$t('updateTime'),
dataIndex: 'updateTime', dataIndex: 'updateTime',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 235
}, },
{ {
title: this.$t('creater'), title: this.$t('creater'),
dataIndex: 'createBy', dataIndex: 'createBy',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 235
} }
], ],
dataList: [], dataList: [],
@@ -31,6 +31,7 @@
<!-- </a-form>--> <!-- </a-form>-->
<!-- </div>--> <!-- </div>-->
<a-table <a-table
:components="drag(columns,'columns')"
:columns="columns" :columns="columns"
:rowKey="(record)=>JSON.stringify(record)" :rowKey="(record)=>JSON.stringify(record)"
:scroll="{x: '100%',y:500}" :scroll="{x: '100%',y:500}"
@@ -63,9 +64,11 @@
<script> <script>
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'versionStatistics', name: 'versionStatistics',
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
visible: false, visible: false,
@@ -39,6 +39,7 @@
ref='table' ref='table'
size='middle' size='middle'
rowKey='id' rowKey='id'
:components="drag(columns,'columns')"
:columns='columns' :columns='columns'
:dataSource='areaTable' :dataSource='areaTable'
:pagination='false' :pagination='false'
@@ -72,12 +73,14 @@ import axios from 'axios'
import Vue from 'vue' import Vue from 'vue'
import ParameterTemplate from '../dialog/ParameterTemplate' import ParameterTemplate from '../dialog/ParameterTemplate'
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'diolagArea', name: 'diolagArea',
components: { components: {
ParameterTemplate ParameterTemplate
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
token:Vue.ls.get(ACCESS_TOKEN), token:Vue.ls.get(ACCESS_TOKEN),
@@ -91,13 +94,15 @@ export default {
title: this.$t('zoneOfApplication'), title: this.$t('zoneOfApplication'),
dataIndex: 'region_dictText', dataIndex: 'region_dictText',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 296
}, },
{ {
title: this.$t('parameterTemplate'), title: this.$t('parameterTemplate'),
align: 'left', align: 'left',
dataIndex: 'paramsTemplateName', dataIndex: 'paramsTemplateName',
ellipsis: true ellipsis: true,
width: 296
} }
], ],
newVisible: false, newVisible: false,
@@ -148,6 +148,7 @@
ref='table' ref='table'
size='middle' size='middle'
rowKey='id' rowKey='id'
:components="drag(columns,'columns')"
:columns='columns' :columns='columns'
:dataSource='areaTable' :dataSource='areaTable'
:pagination='false' :pagination='false'
@@ -178,10 +179,12 @@
<script> <script>
import { putAction, postAction, getAction, deleteAction } from '@/api/manage' import { putAction, postAction, getAction, deleteAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'diolagArea', name: 'diolagArea',
components: {}, components: {},
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
title: this.$t('add'), title: this.$t('add'),
@@ -193,15 +196,17 @@
{ {
title: this.$t('zoneOfApplication'), title: this.$t('zoneOfApplication'),
dataIndex: 'region_dictText', dataIndex: 'region_dictText',
key: 'showArea', // key: 'showArea',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 363
}, },
{ {
title: this.$t('parameterTemplate'), title: this.$t('parameterTemplate'),
align: 'left', align: 'left',
dataIndex: 'paramsTemplateName', dataIndex: 'paramsTemplateName',
ellipsis: true ellipsis: true,
width: 363
} }
], ],
projectVersionList: [], projectVersionList: [],
@@ -95,6 +95,7 @@
ref='table' ref='table'
size='middle' size='middle'
rowKey='id' rowKey='id'
:components="drag(columns,'columns')"
:columns='columns' :columns='columns'
:dataSource='areaTable' :dataSource='areaTable'
:pagination='false' :pagination='false'
@@ -141,12 +142,14 @@
import Vue from 'vue' import Vue from 'vue'
import ParameterTemplate from '../dialog/ParameterTemplate' import ParameterTemplate from '../dialog/ParameterTemplate'
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'ProjectCollectionParameters', name: 'ProjectCollectionParameters',
components: { components: {
ParameterTemplate ParameterTemplate
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
token: Vue.ls.get(ACCESS_TOKEN), token: Vue.ls.get(ACCESS_TOKEN),
@@ -160,22 +163,25 @@
{ {
title: this.$t('entryName'), title: this.$t('entryName'),
dataIndex: 'projectName', dataIndex: 'projectName',
key: 'showArea', // key: 'showArea',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 242
}, },
{ {
title: this.$t('ListTitle'), title: this.$t('ListTitle'),
align: 'left', align: 'left',
dataIndex: 'title', dataIndex: 'title',
ellipsis: true ellipsis: true,
width: 242
}, },
{ {
title: this.$t('parameterTemplate'), title: this.$t('parameterTemplate'),
align: 'left', align: 'left',
dataIndex: 'paramsTemplateName', dataIndex: 'paramsTemplateName',
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'parameterTemplateSlot' } scopedSlots: { customRender: 'parameterTemplateSlot' },
width: 242
} }
], ],
newVisible: false, newVisible: false,
@@ -5,6 +5,7 @@
ref='table' ref='table'
size='middle' size='middle'
rowKey='id' rowKey='id'
:components="drag(columns,'columns')"
:columns='columns' :columns='columns'
:dataSource='areaTable' :dataSource='areaTable'
:pagination='false' :pagination='false'
@@ -23,10 +24,12 @@ import { putAction, postAction, getAction, deleteAction } from '@/api/manage'
import axios from 'axios' import axios from 'axios'
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
import Vue from 'vue' import Vue from 'vue'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'diolagArea', name: 'diolagArea',
components: {}, components: {},
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
token:Vue.ls.get(ACCESS_TOKEN), token:Vue.ls.get(ACCESS_TOKEN),
@@ -40,14 +43,16 @@ export default {
title: this.$t('VersionNumber'), title: this.$t('VersionNumber'),
dataIndex: 'version', dataIndex: 'version',
align: 'left', align: 'left',
ellipsis: true ellipsis: true,
width: 351
}, },
{ {
title: this.$t('operation'), title: this.$t('operation'),
align: 'left', align: 'left',
dataIndex: 'paramsTemplateName', dataIndex: 'paramsTemplateName',
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'action' } scopedSlots: { customRender: 'action' },
width: 351
} }
], ],
newVisible: false, newVisible: false,
@@ -127,6 +127,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%'}" :scroll="{x: '100%'}"
@@ -180,6 +181,7 @@
import changeExtensionModel from './components/changeExtensionModel' import changeExtensionModel from './components/changeExtensionModel'
import PersonnelSelection from '@/components/PersonnelSelection/index' import PersonnelSelection from '@/components/PersonnelSelection/index'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
@@ -188,6 +190,7 @@
PersonnelSelection, PersonnelSelection,
changeExtensionModel changeExtensionModel
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
loading: false, loading: false,
@@ -214,7 +217,7 @@
title: this.$t('entryName'), title: this.$t('entryName'),
align: 'left', align: 'left',
dataIndex: 'projectName', dataIndex: 'projectName',
width: 180, width: 260,
sorter:true, sorter:true,
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'projectName' } scopedSlots: { customRender: 'projectName' }
@@ -244,7 +247,7 @@
{ {
title: this.$t('brand'), title: this.$t('brand'),
align: 'left', align: 'left',
width: 180, width: 140,
ellipsis: true, ellipsis: true,
dataIndex: 'brandText' dataIndex: 'brandText'
}, },
@@ -282,7 +285,7 @@
title: this.$t('operation'), title: this.$t('operation'),
align: 'left', align: 'left',
fixed: 'right', fixed: 'right',
width: 302, width: 260,
scopedSlots: { customRender: 'operation' } scopedSlots: { customRender: 'operation' }
} }
], ],
@@ -152,6 +152,7 @@
ref="table" ref="table"
size="middle" size="middle"
rowKey="uuid" rowKey="uuid"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%'}" :scroll="{x: '100%'}"
@@ -186,12 +187,14 @@
import { getAction, postAction, downloadFile, deleteAction ,downloadFilePost} from '@/api/manage' import { getAction, postAction, downloadFile, deleteAction ,downloadFilePost} from '@/api/manage'
import PersonnelSelection from '@/components/PersonnelSelection/index' import PersonnelSelection from '@/components/PersonnelSelection/index'
import store from '@/store/' import store from '@/store/'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'projectNonConformance', name: 'projectNonConformance',
components: { components: {
PersonnelSelection PersonnelSelection
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
queryParam: {}, queryParam: {},
@@ -228,7 +231,7 @@
title: this.$t('areaOfResponsibility'), title: this.$t('areaOfResponsibility'),
align: 'left', align: 'left',
dataIndex: 'dutyTerritory', dataIndex: 'dutyTerritory',
width: 180, width: 120,
sorter:true, sorter:true,
ellipsis: true ellipsis: true
}, },
@@ -12,6 +12,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 180px)'}" :scroll="{x: '100%',y:'calc(100vh - 180px)'}"
@@ -54,9 +55,11 @@
<script> <script>
import { getAction, postAction, deleteAction } from '@/api/manage' import { getAction, postAction, deleteAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'projectStatusAndProgress', name: 'projectStatusAndProgress',
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
url: { url: {
@@ -152,7 +155,7 @@
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@assets/less/common.less'; @import'~@assets/less/common.less';
.doc-detail { .doc-detail {
background: #fff; background: #fff;
@@ -233,4 +236,8 @@
/deep/.ant-table-column-title{ /deep/.ant-table-column-title{
font-weight: bold!important; font-weight: bold!important;
} }
::v-deep .ant-table-placeholder{
margin-top: 8px !important;
}
</style> </style>
@@ -119,6 +119,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:500}" :scroll="{x: '100%',y:500}"
@@ -163,9 +164,11 @@
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage' import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import * as echarts from 'echarts' import * as echarts from 'echarts'
import moment from 'moment' import moment from 'moment'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
queryParam: {}, queryParam: {},
@@ -230,18 +233,21 @@
align: 'left', align: 'left',
dataIndex: 'design', dataIndex: 'design',
width: 440, width: 440,
ellipsis: true,
scopedSlots: { title: 'designComplianceReviewTitle' } scopedSlots: { title: 'designComplianceReviewTitle' }
}, },
{ {
dataIndex: 'pre', dataIndex: 'pre',
align: 'left', align: 'left',
width: 440, width: 440,
ellipsis: true,
scopedSlots: { title: 'preHomeConfirmationTitle' } scopedSlots: { title: 'preHomeConfirmationTitle' }
}, },
{ {
dataIndex: 'verify', dataIndex: 'verify',
align: 'left', align: 'left',
width: 440, width: 440,
ellipsis: true,
scopedSlots: { title: 'verificationComplianceReviewTitle' } scopedSlots: { title: 'verificationComplianceReviewTitle' }
} }
], ],
@@ -503,7 +509,7 @@
} }
</style> </style>
<style scoped lang="less"> <style scoped lang="less">
@import '~@assets/less/common.less'; @import'~@assets/less/common.less';
.box-title-text { .box-title-text {
line-height: 1.4; line-height: 1.4;
@@ -736,4 +742,8 @@
/deep/.ant-table-column-title{ /deep/.ant-table-column-title{
font-weight: bold!important; font-weight: bold!important;
} }
::v-deep .ant-table-placeholder{
margin-top: 8px !important;
}
</style> </style>
@@ -68,6 +68,7 @@
ref='table' ref='table'
size='middle' size='middle'
rowKey='id' rowKey='id'
:components="drag(columns,'columns')"
:columns='columns' :columns='columns'
:dataSource='areaTable' :dataSource='areaTable'
:pagination='false' :pagination='false'
@@ -161,10 +162,12 @@
import axios from 'axios' import axios from 'axios'
import Vue from 'vue' import Vue from 'vue'
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'diolagArea', name: 'diolagArea',
components: {}, components: {},
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
token: Vue.ls.get(ACCESS_TOKEN), token: Vue.ls.get(ACCESS_TOKEN),
@@ -84,6 +84,7 @@
<a-table <a-table
class="table" class="table"
rowKey="id" rowKey="id"
:components="drag(columns,'columns')"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 155px)'}" :scroll="{x: '100%',y:'calc(100vh - 155px)'}"
@@ -136,6 +137,7 @@ import { ACCESS_TOKEN } from '@/store/mutation-types'
// import eventBUs from '../../../common/event' // import eventBUs from '../../../common/event'
import Vue from 'vue' import Vue from 'vue'
import moment from 'moment' import moment from 'moment'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
@@ -143,6 +145,7 @@ export default {
ExportHistory, ExportHistory,
globalAdvancedQuery globalAdvancedQuery
}, },
mixins:[ResizeHeader, ResizeColumnProvide],
data() { data() {
return { return {
token: Vue.ls.get(ACCESS_TOKEN), token: Vue.ls.get(ACCESS_TOKEN),
@@ -30,6 +30,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
:components="drag(columns,'columnsAll')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 180px)'}" :scroll="{x: '100%',y:'calc(100vh - 180px)'}"
@@ -102,6 +103,7 @@
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage' import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import moment from 'moment' import moment from 'moment'
import eventBUs from '../../common/event' import eventBUs from '../../common/event'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
@@ -109,6 +111,7 @@
search, search,
libraryPush libraryPush
}, },
mixins: [ResizeColumnProvide,ResizeHeader],
data() { data() {
return { return {
//url传参严格按照当前命名 //url传参严格按照当前命名
@@ -410,4 +413,8 @@
::v-deep .ant-table-body { ::v-deep .ant-table-body {
background: transparent !important; background: transparent !important;
} }
/deep/ .ant-table-placeholder{
margin-top: 8px !important;
}
</style> </style>

Some files were not shown because too many files have changed in this diff Show More