添加虚拟清单列表页

This commit is contained in:
qq787203167
2022-04-02 17:36:26 +08:00
parent f3e891d508
commit bca6e26acc
6 changed files with 518 additions and 47 deletions
+54 -42
View File
@@ -536,48 +536,60 @@ module.exports = {
zoneOfApplication: 'zone of application',
releaseDate: 'release Date',
standardImplementationTime: 'Standard implementation time',
onlyPicture:'only upload pictures!',
fileUploadFailed:'file upload failed',
deletedSuccessfully:'deleted successfully',
uploadSuccessful:'upload successful',
noDelete:'the "exhibition area" has associated data, which cannot be deleted!',
numberRows:'number of rows',
numberColumns:'number of columns',
table:'table',
tableRowsColumns:'table rows and columns',
addQuantity:'add quantity',
enterQuantity:'Please enter quantity',
text:'text',
picture:'picture',
searchScope:'Search Scope',
newNode:'new node',
modifyNode:'modify node',
deleteNode:'delete node',
ImplementationDate:'Implementation Date',
vehicleInProductionDate:'vehicle in Production Date',
deleteNodes:'If there are child nodes under this node, they will be deleted synchronously. Are you sure to delete this data?',
onlyPicture: 'only upload pictures!',
fileUploadFailed: 'file upload failed',
deletedSuccessfully: 'deleted successfully',
uploadSuccessful: 'upload successful',
noDelete: 'the "exhibition area" has associated data, which cannot be deleted!',
numberRows: 'number of rows',
numberColumns: 'number of columns',
table: 'table',
tableRowsColumns: 'table rows and columns',
addQuantity: 'add quantity',
enterQuantity: 'Please enter quantity',
text: 'text',
picture: 'picture',
searchScope: 'Search Scope',
newNode: 'new node',
modifyNode: 'modify node',
deleteNode: 'delete node',
ImplementationDate: 'Implementation Date',
vehicleInProductionDate: 'vehicle in Production Date',
deleteNodes: 'If there are child nodes under this node, they will be deleted synchronously. Are you sure to delete this data?',
leastTwo: 'please select at least two pieces of data',
vehicleInProductionDate:'vehicle in Production Date',
mergeTerms:'determine merger terms',
documentSplitTemplate:'document split template',
batSetting:'batch setting',
selectDirectoryTerms:'please select the directory location to add terms',
StandardBreakdown:"Standard breakdown",
vehicleInProductionDate: 'vehicle in Production Date',
mergeTerms: 'determine merger terms',
documentSplitTemplate: 'document split template',
batSetting: 'batch setting',
selectDirectoryTerms: 'please select the directory location to add terms',
StandardBreakdown: 'Standard breakdown',
OnlyWord: 'only word files can be imported',
labelAreaDeleted:'If it is deleted, all label items under the display area will be deleted',
searchInResults:'Search in results',
searchContent:'Search content',
viewFile:'view file',
fileFormatIncorrect:'the file format is incorrect',
pleaseUploadFile:'please upload the file',
documentSplitList:'document split list display',
selectSplitListDisplay:'Please select whether to split the document list for display',
selectDisplayList:'please select whether to display in list',
documentSplitDisplay:'document splitting module display',
VirtualListName:'Virtual list name',
listStatus:'List status',
creater:'creater',
withdraw:'withdraw',
maintenanceList:'Maintenance list',
instructionForUse:'instruction for use'
labelAreaDeleted: 'If it is deleted, all label items under the display area will be deleted',
searchInResults: 'Search in results',
searchContent: 'Search content',
viewFile: 'view file',
fileFormatIncorrect: 'the file format is incorrect',
pleaseUploadFile: 'please upload the file',
documentSplitList: 'document split list display',
selectSplitListDisplay: 'Please select whether to split the document list for display',
selectDisplayList: 'please select whether to display in list',
documentSplitDisplay: 'document splitting module display',
VirtualListName: 'Virtual list name',
listStatus: 'List status',
creater: 'creater',
withdraw: 'withdraw',
maintenanceList: 'Maintenance list',
instructionForUse: 'instruction for use',
subtitle: 'subtitle',
scopeOfApplication: 'Scope of application',
correspondingStandard: 'Corresponding standard',
implementationCategory: 'Implementation category',
certificationType: 'Certification Type',
certificationLevel: 'Certification level',
areaOfResponsibility: 'Area of responsibility',
confirmationOfDesignConformity: 'Confirmation of design conformity',
Deliverables: 'Deliverables',
personLiable: 'person liable',
PrehomoConfirmation:'Prehomo confirmation',
verificationAndConformityconfirmation:'Verification and conformity confirmation',
}
+13 -1
View File
@@ -583,5 +583,17 @@ module.exports = {
creater:'创建人',
withdraw:'撤回',
maintenanceList:'维护清单',
instructionForUse:'使用说明'
instructionForUse:'使用说明',
subtitle:'子标题',
scopeOfApplication:'适用范围',
correspondingStandard:'对应标准',
implementationCategory:'实施类别',
certificationType:'认证类型',
certificationLevel:'认证级别',
areaOfResponsibility:'责任领域',
confirmationOfDesignConformity:'设计符合性确认',
Deliverables:'交付物',
personLiable:'责任人',
PrehomoConfirmation:'Prehomo确认',
verificationAndConformityconfirmation:'验证符合性确认',
}
@@ -88,7 +88,8 @@
isTrue() {
if (this.$route.path == '/docManage/library/detail' ||
this.$route.path == '/system/MessageDetails' ||
this.$route.path == '/ProcessMapping') {
this.$route.path == '/ProcessMapping' ||
this.$route.path == '/virtualListDetails') {
return false
} else {
return true
+7 -2
View File
@@ -319,7 +319,7 @@ export const constantRouterMap = [
path: 'alteration',
name: 'alteration',
component: () => import(/* webpackChunkName: "user" */ '@/views/user/alteration/Alteration')
},
}
]
},
{
@@ -327,6 +327,11 @@ export const constantRouterMap = [
name: 'docIndex',
component: () => import(/* webpackChunkName: "user" */ '@/views/documentManage/library/docDetail/index')
},
{
path: '/virtualListDetails',
name: 'virtualListDetails',
component: () => import(/* webpackChunkName: "user" */ '@/views/documentTools/virtualList/components/virtualListDetails')
},
{
path: '/docManage/form/detail',
name: 'processIndex',
@@ -371,5 +376,5 @@ export const constantRouterMap = [
{
path: '/404',
component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404')
},
}
]
@@ -0,0 +1,437 @@
<template>
<div class="doc-detail">
<div class="Virtual-detail-header" style="position: fixed;top: 0">
<div class="Virtual-detail-title">
<span style="line-height: 74px;display: inline-block;float: left">
<a-icon type="left-circle" theme="filled" style="margin-right: 6px;font-size: 30px;color: #21c9cc;"/>
</span>
<span>
{{this.title}}
</span>
</div>
<div class="Virtual-detail-right">
<div @click="UpdateLog" class="operator-text-text" :title="$t('UpdateLog')">
<a-icon type="reload"/>
{{$t('UpdateLog')}}
</div>
</div>
</div>
<div style="margin-top: 84px;background: #fff">
<div class="detail-content">
<div class="Virtual-detail-content">
<div class="box-title-text-add">
<div class="title-text-add">
<span :title="$t('VirtualListName')">
{{$t('VirtualListName')}}:是的开了房间都是立刻就的路上看见圣诞快乐 上看到了附件三零客机上的翻开历史交锋是开了房间都是付款了第三方</span>
</div>
</div>
<div class="box-title-text-add">
<div class="title-text-add">
<span>
{{$t('instructionForUse')}}:是的开了房间都是立刻就的路上看见圣诞快乐 上看到了附件三零客机上的翻开历史交锋是开了房间都是付款了第三方</span>
</div>
</div>
</div>
<a-divider orientation="left">
清单条目
</a-divider>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('VirtualListName')">
<span>{{$t('VirtualListName')}}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('VirtualListName')"
v-model="queryParam.db_field_name"></a-input>
</div>
</a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('listStatus')">
<span>{{$t('listStatus')}}</span>
</div>
<j-dict-select-tag class="box-input" v-model="queryParam.db_field_name"
:placeholder="$t('PleaseSelect')+$t('listStatus')"
:type="'select'"
:triggerChange="false" :dictCode="''"/>
</div>
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
</a-col>
</span>
</a-row>
</div>
<div class="table-operator">
<div class="operator-text" v-has="'document:importZip'">
<ImportFile :url="url"/>
</div>
<div @click="handleModule" class="operator-text">
<a-icon type="download"/>
{{$t('templateDownload')}}
</div>
<div @click="handleExport" class="operator-text">
<a-icon type="export" :rotate="-90"/>
{{$t('export')}}
</div>
<div @click="copyClick" class="operator-text">
<a-icon type="copy"/>
{{$t('copy')}}
</div>
<div @click="batSettingClick" class="operator-text">
<a-icon type="setting"/>
{{$t('batSetting')}}
</div>
<div @click="handleAdd" class="operator-text">
<a-icon type="plus"/>
{{$t('add')}}
</div>
<div @click="handleDel" class="operator-text">
<a-icon type="delete"/>
{{$t('BatchDelete')}}
</div>
</div>
<div style="width: 100%">
<a-table
ref="table"
:loading="loading"
:pagination="false"
:scroll="{x: true}"
rowKey="id"
:data-source="dataSource"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
>
<span slot="operation" slot-scope="text,record">
<a class="text-operation" @click="edit(record)">{{$t('edit')}}</a>
<a class="text-operation" @click="deleteLib(record)">{{$t('deleteLib')}}</a>
</span>
</a-table>
</div>
</a-card>
</div>
</div>
</div>
</template>
<script>
import ImportFile from '@/components/ImportFile/index'
export default {
name: 'virtualListDetails',
components: {
ImportFile
},
data() {
return {
title: '维护虚拟清单',
queryParam: {},
url: {},
loading: false,
dataSource: [],
columns: [
{
title: 'WVTA ID',
align: 'center',
dataIndex: 'WVTAID',
width: 100,
fixed: 'left'
},
{
title: this.$t('standard'),
align: 'center',
dataIndex: 'standard',
width: 100,
fixed: 'left'
},
{
title: this.$t('title'),
align: 'center',
dataIndex: 'title',
width: 100,
fixed: 'left'
},
{
title: this.$t('subtitle'),
align: 'center',
dataIndex: 'subtitle',
width: 100,
fixed: 'left'
},
{
title: this.$t('scopeOfApplication'),
align: 'center',
dataIndex: 'scopeOfApplication'
},
{
title: this.$t('status'),
align: 'center',
dataIndex: 'status'
},
{
title: this.$t('correspondingStandard'),
align: 'center',
dataIndex: 'correspondingStandard'
},
{
title: this.$t('implementationCategory'),
align: 'center',
dataIndex: 'implementationCategory'
},
{
title: this.$t('ImplementationDate'),
align: 'center',
dataIndex: 'ImplementationDate'
},
{
title: this.$t('vehicleInProductionDate'),
align: 'center',
dataIndex: 'vehicleInProductionDate'
},
{
title: this.$t('certificationType'),
align: 'center',
dataIndex: 'certificationType'
},
{
title: this.$t('certificationLevel'),
align: 'center',
dataIndex: 'certificationLevel'
},
{
title: this.$t('technicalField'),
align: 'center',
dataIndex: 'technicalField'
},
{
title: this.$t('areaOfResponsibility'),
align: 'center',
dataIndex: 'areaOfResponsibility'
},
{
title: this.$t('remarks'),
align: 'center',
dataIndex: 'remarks'
},
{
title: this.$t('confirmationOfDesignConformity'),
children: [
{
title: this.$t('Deliverables'),
dataIndex: 'Deliverables',
align: 'center'
},
{
title: this.$t('Sponsor'),
dataIndex: 'Sponsor',
align: 'center'
},
{
title: this.$t('personLiable'),
dataIndex: 'personLiable',
align: 'center'
}
]
},
{
title: this.$t('PrehomoConfirmation'),
children: [
{
title: this.$t('Deliverables'),
dataIndex: 'Deliverables',
align: 'center'
},
{
title: this.$t('Sponsor'),
dataIndex: 'Sponsor',
align: 'center'
},
{
title: this.$t('personLiable'),
dataIndex: 'personLiable',
align: 'center'
}
]
},
{
title: this.$t('verificationAndConformityconfirmation'),
children: [
{
title: this.$t('Deliverables'),
dataIndex: 'Deliverables',
align: 'center'
},
{
title: this.$t('Sponsor'),
dataIndex: 'Sponsor',
align: 'center'
},
{
title: this.$t('personLiable'),
dataIndex: 'personLiable',
align: 'center'
}
]
},
{
title: this.$t('operation'),
align: 'center',
fixed: 'right',
width: 140,
scopedSlots: { customRender: 'operation' }
}
],
selectedRowKeys: []
}
},
methods: {
UpdateLog() {
},
searchQuery() {
},
searchReset() {
},
handleModule() {
},
handleExport() {
},
copyClick() {
},
batSettingClick() {
},
handleAdd() {
},
handleDel() {
},
onSelectChange(value) {
this.selectedRowKeys = value
},
edit() {
},
deleteLib() {
}
}
}
</script>
<style lang="less" scoped>
@import '~@assets/less/common.less';
.doc-detail {
background: #fff;
height: 100%;
.Virtual-detail-header {
width: 100%;
height: 68px;
line-height: 68px;
padding: 0 32px 0 32px;
box-sizing: border-box;
display: flex;
justify-content: space-between;
border-bottom: 2px #eff1f3 solid;
background: #fff;
.Virtual-detail-title {
display: inline-block;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
font-size: 20px;
font-weight: 400;
color: #040B29;
line-height: 68px;
}
.doc-detail-right {
width: 800px;
line-height: 68px;
display: flex;
}
}
.Virtual-detail-content {
padding: 0 38px 0 38px;
box-sizing: border-box;
font-size: 16px;
.box-title-text-add {
line-height: 1.4;
}
.title-text-add {
display: inline-block;
font-weight: 500;
margin-right: 16px;
height: 42px;
line-height: 42px;
}
}
}
.box-title-text {
line-height: 1.4;
display: flex;
align-items: center;
margin-bottom: 10px;
}
.title-text {
width: 20%;
min-width: 110px;
color: #000F16;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
margin-top: 3px;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.box-input {
display: inline-block;
width: 70%;
height: 38px;
margin-top: 2px;
}
.box-button {
height: 38px;
}
.text-operation {
margin-right: 8px;
}
.page {
text-align: right;
margin-top: 20px;
}
</style>
<style>
.box-input .ant-select-selection {
height: 38px !important;
}
.box-input .ant-select-selection__rendered {
line-height: 38px;
}
</style>
@@ -187,7 +187,11 @@
},
//批量删除
handleDel() {
let newUrl = this.$router.resolve({
path: '/virtualListDetails',
query: {}
})
window.open(newUrl.href, '_blank')
},
//编辑
edit(item) {