Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web
continuous-integration/drone/push Build is passing Details

uat_us
wangxiaoshuang 2025-01-13 16:13:32 +08:00
commit 0b00f4bc7e
3 changed files with 129 additions and 11 deletions

View File

@ -24,6 +24,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="标准分组" prop="CriterionGroup">
<el-select v-model="form.CriterionGroup">
<el-option
v-for="item of $d.CriterionGroup"
:key="item.id"
:value="item.value"
:label="item.label"
/>
</el-select>
</el-form-item>
<el-form-item v-if="form.Id !== ''" label="是否配置完成">
<el-switch v-model="form.IsCompleteConfig" />
@ -72,6 +82,7 @@ export default {
Id: '',
CriterionName: '',
CriterionType: null,
CriterionGroup: null,
IsEnable: true,
IsCompleteConfig: false,
ShowOrder: null,
@ -80,7 +91,8 @@ export default {
},
rules: {
CriterionName: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] }],
CriterionType: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] }]
CriterionType: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] }],
CriterionGroup: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] }]
},
loading: false,

View File

@ -8,6 +8,54 @@
>
<el-input v-model="searchData.CriterionName" clearable style="width:120px;" />
</el-form-item>
<el-form-item
label="标准类型"
>
<el-select v-model="searchData.CriterionType" clearable style="width:120px;">
<el-option
v-for="item of $d.CriterionType"
:key="item.id"
:value="item.value"
:label="item.label"
/>
</el-select>
</el-form-item>
<el-form-item
label="标准分组"
>
<el-select v-model="searchData.CriterionGroup" clearable style="width:120px;">
<el-option
v-for="item of $d.CriterionGroup"
:key="item.id"
:value="item.value"
:label="item.label"
/>
</el-select>
</el-form-item>
<el-form-item
label="是否配置完成"
>
<el-select v-model="searchData.IsCompleteConfig" clearable style="width:120px;">
<el-option
v-for="item of $d.YesOrNo"
:key="item.id"
:value="item.value"
:label="item.label"
/>
</el-select>
</el-form-item>
<el-form-item
label="是否启用"
>
<el-select v-model="searchData.IsEnable" clearable style="width:120px;">
<el-option
v-for="item of $d.YesOrNo"
:key="item.id"
:value="item.value"
:label="item.label"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleReset"></el-button>
<el-button type="primary" @click="handleSearch"></el-button>
@ -25,6 +73,8 @@
stripe
size="small"
height="100"
@sort-change="handleSortByColumn"
ref="criterionsTbl"
>
<el-table-column type="index" width="60" />
@ -32,20 +82,33 @@
prop="CriterionName"
label="标准名称"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
prop="CriterionType"
label="标准类型"
show-overflow-tooltip
sortable="custom"
>
<template slot-scope="scope">
{{ $fd('CriterionType',scope.row.CriterionType) }}
</template>
</el-table-column>
<el-table-column
prop="CriterionGroup"
label="标准分组"
show-overflow-tooltip
sortable="custom"
>
<template slot-scope="scope">
{{ $fd('CriterionGroup',scope.row.CriterionGroup) }}
</template>
</el-table-column>
<el-table-column
prop="IsCompleteConfig"
label="是否配置完成"
sortable="custom"
>
<template slot-scope="scope">
@ -62,22 +125,32 @@
label="描述"
show-overflow-tooltip
/>
<el-table-column
prop="ShowOrder"
label="显示序号"
show-overflow-tooltip
/>
<el-table-column
prop="IsEnable"
label="是否启用"
sortable="custom"
>
<template slot-scope="scope">
{{ $fd('YesOrNo', scope.row.IsEnable) }}
</template>
</el-table-column>
<el-table-column
prop="ShowOrder"
label="显示序号"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
prop="ShowOrder"
label="eCRF是否显示在影像阅片页面"
show-overflow-tooltip
sortable="custom"
width="210"
>
<template slot-scope="scope">
{{ $fd('YesOrNo', scope.row.IseCRFShowInDicomReading) }}
</template>
</el-table-column>
<el-table-column label="Action" min-width="200px">
<template slot-scope="scope">
<el-button
@ -172,8 +245,14 @@ import AddCriterion from './AddCriterion'
const searchDataDefault = () => {
return {
CriterionName: '',
CriterionType: null,
CriterionGroup: null,
IsCompleteConfig: null,
IsEnable: null,
PageIndex: 1,
PageSize: 20
PageSize: 20,
Asc: true,
SortField: ''
}
}
export default {
@ -271,6 +350,18 @@ export default {
//
handleReset() {
this.searchData = searchDataDefault()
this.$refs['criterionsTbl'].clearSort()
this.getList()
},
//
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()
}
}

View File

@ -26,7 +26,9 @@
<template v-slot="scope">
<el-checkbox
@change="() => changeState(scope, item.Code)"
:checked="getCheckState(scope, item.Code)">
:checked="getCheckState(scope, item.Code)"
:disabled="getDisabledState(scope.row, item)"
>
</el-checkbox>
</template>
</el-table-column>
@ -129,6 +131,19 @@ export default {
changeState(item, code) {
item.row.ExportResult.indexOf(code) > -1 ? item.row.ExportResult.splice(item.row.ExportResult.indexOf(code), 1) : item.row.ExportResult.push(code);
},
//
getDisabledState(row, item) {
// (1)(2)
if (this.exportInfo.CriterionGroup === 1 && (item.Code === 1 || item.Code === 2)) {
return true
} else if ((this.exportInfo.CriterionGroup === 0 || this.exportInfo.CriterionType === 0 ) && item.Code === 1 && (row.HasChildren || row.IsTableQuestion)) {
// (1)
return true
} else {
return false
}
}
}
}
</script>