部分页面增加排序
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-08-05 17:17:15 +08:00
parent 6c71803a11
commit f2b07131aa
3 changed files with 68 additions and 3 deletions

View File

@ -43,6 +43,7 @@
:data="list" :data="list"
stripe stripe
height="100" height="100"
@sort-change="handleSortByColumn"
> >
<el-table-column type="index" width="60" /> <el-table-column type="index" width="60" />
<!-- Group --> <!-- Group -->
@ -50,6 +51,7 @@
prop="Group" prop="Group"
:label="$t('template:anonymization:label:group')" :label="$t('template:anonymization:label:group')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom"
/> />
<!-- Element --> <!-- Element -->
<el-table-column <el-table-column
@ -57,24 +59,28 @@
:label="$t('template:anonymization:label:element')" :label="$t('template:anonymization:label:element')"
show-overflow-tooltip show-overflow-tooltip
min-width="110" min-width="110"
sortable="custom"
/> />
<!-- Tag Description --> <!-- Tag Description -->
<el-table-column <el-table-column
prop="TagDescription" prop="TagDescription"
:label="$t('template:anonymization:label:tagDescription')" :label="$t('template:anonymization:label:tagDescription')"
min-width="110" min-width="110"
sortable="custom"
/> />
<!-- Tag DescriptionCN --> <!-- Tag DescriptionCN -->
<el-table-column <el-table-column
prop="TagDescriptionCN" prop="TagDescriptionCN"
:label="$t('template:anonymization:label:tagDescriptionCN')" :label="$t('template:anonymization:label:tagDescriptionCN')"
min-width="110" min-width="110"
sortable="custom"
/> />
<!-- Value Representation --> <!-- Value Representation -->
<el-table-column <el-table-column
prop="ValueRepresentation" prop="ValueRepresentation"
:label="$t('template:anonymization:label:valueRepresentation')" :label="$t('template:anonymization:label:valueRepresentation')"
min-width="110" min-width="110"
sortable="custom"
/> />
<!-- Is Fixed --> <!-- Is Fixed -->
<el-table-column :label="$t('template:anonymization:label:isFixed')" width="100"> <el-table-column :label="$t('template:anonymization:label:isFixed')" width="100">
@ -92,6 +98,7 @@
prop="ReplaceValue" prop="ReplaceValue"
:label="$t('template:anonymization:label:valueReplace')" :label="$t('template:anonymization:label:valueReplace')"
min-width="110" min-width="110"
sortable="custom"
/> />
<!-- Is Enable --> <!-- Is Enable -->
<el-table-column :label="$t('template:anonymization:label:isEnable')" width="100" fixed="right"> <el-table-column :label="$t('template:anonymization:label:isEnable')" width="100" fixed="right">
@ -139,7 +146,9 @@ const searchDataDefault = () => {
IsAdd: false, IsAdd: false,
TagDescriptionCN: '', TagDescriptionCN: '',
PageIndex: 1, PageIndex: 1,
PageSize: 500 PageSize: 500,
Asc: false,
SortField: ''
} }
} }
export default { export default {
@ -159,6 +168,17 @@ export default {
this.getList() this.getList()
}, },
methods: { methods: {
//
handleSortByColumn(column) {
if (column.order === 'ascending') {
this.searchData.Asc = true
} else {
this.searchData.Asc = false
}
this.searchData.SortField = column.prop
this.searchData.PageIndex = 1
this.getList()
},
switchChange(event, item) { switchChange(event, item) {
this.loading = true this.loading = true
addOrUpdateSystemAnonymization(item).then(res => { addOrUpdateSystemAnonymization(item).then(res => {

View File

@ -43,6 +43,7 @@
:data="list" :data="list"
stripe stripe
height="100" height="100"
@sort-change="handleSortByColumn"
> >
<el-table-column type="index" width="60" /> <el-table-column type="index" width="60" />
<!-- Group --> <!-- Group -->
@ -50,6 +51,7 @@
prop="Group" prop="Group"
:label="$t('template:anonymization:label:group')" :label="$t('template:anonymization:label:group')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom"
/> />
<!-- Element --> <!-- Element -->
<el-table-column <el-table-column
@ -57,24 +59,28 @@
:label="$t('template:anonymization:label:element')" :label="$t('template:anonymization:label:element')"
show-overflow-tooltip show-overflow-tooltip
min-width="110" min-width="110"
sortable="custom"
/> />
<!-- Tag Description --> <!-- Tag Description -->
<el-table-column <el-table-column
prop="TagDescription" prop="TagDescription"
:label="$t('template:anonymization:label:tagDescription')" :label="$t('template:anonymization:label:tagDescription')"
min-width="110" min-width="110"
sortable="custom"
/> />
<!-- Tag DescriptionCN --> <!-- Tag DescriptionCN -->
<el-table-column <el-table-column
prop="TagDescriptionCN" prop="TagDescriptionCN"
:label="$t('template:anonymization:label:tagDescriptionCN')" :label="$t('template:anonymization:label:tagDescriptionCN')"
min-width="110" min-width="110"
sortable="custom"
/> />
<!-- Value Representation --> <!-- Value Representation -->
<el-table-column <el-table-column
prop="ValueRepresentation" prop="ValueRepresentation"
:label="$t('template:anonymization:label:valueRepresentation')" :label="$t('template:anonymization:label:valueRepresentation')"
min-width="110" min-width="110"
sortable="custom"
/> />
<!-- Is Fixed --> <!-- Is Fixed -->
<el-table-column :label="$t('template:anonymization:label:isFixed')" width="100"> <el-table-column :label="$t('template:anonymization:label:isFixed')" width="100">
@ -92,6 +98,7 @@
prop="ReplaceValue" prop="ReplaceValue"
:label="$t('template:anonymization:label:valueReplace')" :label="$t('template:anonymization:label:valueReplace')"
min-width="110" min-width="110"
sortable="custom"
/> />
<!-- Is Enable --> <!-- Is Enable -->
<el-table-column :label="$t('template:anonymization:label:isEnable')" width="100" fixed="right"> <el-table-column :label="$t('template:anonymization:label:isEnable')" width="100" fixed="right">
@ -138,7 +145,9 @@ const searchDataDefault = () => {
TagDescriptionCN: '', TagDescriptionCN: '',
IsAdd: true, IsAdd: true,
PageIndex: 1, PageIndex: 1,
PageSize: 500 PageSize: 500,
Asc: false,
SortField: ''
} }
} }
export default { export default {
@ -158,6 +167,17 @@ export default {
this.getList() this.getList()
}, },
methods: { methods: {
//
handleSortByColumn(column) {
if (column.order === 'ascending') {
this.searchData.Asc = true
} else {
this.searchData.Asc = false
}
this.searchData.SortField = column.prop
this.searchData.PageIndex = 1
this.getList()
},
switchChange(event, item) { switchChange(event, item) {
this.loading = true this.loading = true
addOrUpdateSystemAnonymization(item).then(res => { addOrUpdateSystemAnonymization(item).then(res => {

View File

@ -69,6 +69,7 @@
:data="list" :data="list"
stripe stripe
height="100" height="100"
@sort-change="handleSortByColumn"
> >
<!-- 序号 --> <!-- 序号 -->
<el-table-column <el-table-column
@ -82,6 +83,7 @@
:label="$t('trials:MIMqcCfg:table:questionName')" :label="$t('trials:MIMqcCfg:table:questionName')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="140"
sortable="custom"
/> />
<!-- 审核问题 --> <!-- 审核问题 -->
<el-table-column <el-table-column
@ -89,6 +91,7 @@
:label="$t('common:title:languageType')" :label="$t('common:title:languageType')"
show-overflow-tooltip show-overflow-tooltip
min-width="160" min-width="160"
sortable="custom"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('LanguageType', scope.row.LanguageType) }} {{ $fd('LanguageType', scope.row.LanguageType) }}
@ -100,6 +103,7 @@
:label="$t('trials:qcCfg:table:type')" :label="$t('trials:qcCfg:table:type')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="140"
sortable="custom"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('QcType', scope.row.Type) }} {{ $fd('QcType', scope.row.Type) }}
@ -111,6 +115,7 @@
:label="$t('trials:qcCfg:table:typeValue')" :label="$t('trials:qcCfg:table:typeValue')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="140"
sortable="custom"
/> />
<!-- 任务类型 --> <!-- 任务类型 -->
<el-table-column <el-table-column
@ -118,6 +123,7 @@
:label="$t('trials:medicalFeedbackCfg:title:taskType')" :label="$t('trials:medicalFeedbackCfg:title:taskType')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="140"
sortable="custom"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.ReadingCategory === 1" type="primary"> <el-tag v-if="scope.row.ReadingCategory === 1" type="primary">
@ -139,6 +145,7 @@
:label="$t('trials:auditRecord:table:criterion')" :label="$t('trials:auditRecord:table:criterion')"
min-width="160" min-width="160"
show-overflow-tooltip show-overflow-tooltip
sortable="custom"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<div> <div>
@ -151,6 +158,7 @@
:label="$t('dictionary:medicalAudit:label:IsGeneral')" :label="$t('dictionary:medicalAudit:label:IsGeneral')"
min-width="120" min-width="120"
show-overflow-tooltip show-overflow-tooltip
sortable="custom"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<div> <div>
@ -164,6 +172,7 @@
:label="$t('trials:qcCfg:table:parentQs')" :label="$t('trials:qcCfg:table:parentQs')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="140"
sortable="custom"
/> />
<!-- 父问题触发值 --> <!-- 父问题触发值 -->
<el-table-column <el-table-column
@ -171,12 +180,14 @@
:label="$t('trials:qcCfg:table:parentTriggerValue')" :label="$t('trials:qcCfg:table:parentTriggerValue')"
show-overflow-tooltip show-overflow-tooltip
min-width="160" min-width="160"
sortable="custom"
/> />
<!-- 是否必填 --> <!-- 是否必填 -->
<el-table-column <el-table-column
prop="IsRequired" prop="IsRequired"
:label="$t('trials:qcCfg:table:isRequired')" :label="$t('trials:qcCfg:table:isRequired')"
min-width="120" min-width="120"
sortable="custom"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('YesOrNo', scope.row.IsRequired) }} {{ $fd('YesOrNo', scope.row.IsRequired) }}
@ -187,6 +198,7 @@
prop="IsEnable" prop="IsEnable"
:label="$t('trials:qcCfg:table:isEnable')" :label="$t('trials:qcCfg:table:isEnable')"
min-width="120" min-width="120"
sortable="custom"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('YesOrNo', scope.row.IsEnable) }} {{ $fd('YesOrNo', scope.row.IsEnable) }}
@ -231,7 +243,9 @@ const searchDataDefault = () => {
LanguageType: null, LanguageType: null,
Type: '', Type: '',
CriterionTypeEnum: null, CriterionTypeEnum: null,
IsGeneral: null IsGeneral: null,
Asc: false,
SortField: ''
} }
} }
export default { export default {
@ -254,6 +268,17 @@ export default {
async handleExport() { async handleExport() {
await GetReadingMedicineSystemQuestionList_Export(this.searchData) await GetReadingMedicineSystemQuestionList_Export(this.searchData)
}, },
//
handleSortByColumn(column) {
if (column.order === 'ascending') {
this.searchData.Asc = true
} else {
this.searchData.Asc = false
}
this.searchData.SortField = column.prop
this.searchData.PageIndex = 1
this.getList()
},
// //
getList() { getList() {
this.loading = true this.loading = true