1
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-07-10 14:35:28 +08:00
parent b3dfffe182
commit a42beeb47e
1 changed files with 60 additions and 161 deletions

View File

@ -1,39 +1,19 @@
<template>
<div>
<el-form
ref="dicomConfigForm"
v-loading="loading"
:model="form"
label-width="300px"
style="width: 800px"
:rules="rules"
size="small"
>
<el-form ref="dicomConfigForm" v-loading="loading" :model="form" label-width="300px" style="width: 800px"
:rules="rules" size="small">
<!-- pacs直连 -->
<el-form-item
:label="$t('trials:dicomCfg:form:pacsLine')"
prop="IsPACSConnect"
>
<el-radio-group
v-model="form.IsPACSConnect"
:disabled="form.IsTrialPACSConfirmed && !isEdit"
@change="changeConnect"
>
<el-radio
v-for="item of $d.PACSConnectMode"
:key="item.id"
:label="item.value"
>
<el-form-item :label="$t('trials:dicomCfg:form:pacsLine')" prop="IsPACSConnect">
<el-radio-group v-model="form.IsPACSConnect" :disabled="form.IsTrialPACSConfirmed && !isEdit"
@change="changeConnect">
<el-radio v-for="item of $d.PACSConnectMode" :key="item.id" :label="item.value">
{{ item.label }}
</el-radio>
</el-radio-group>
</el-form-item>
<template v-if="form.IsPACSConnect">
<!--AE名称-->
<el-form-item
:label="$t('trials:dicomCfg:form:CalledAE')"
prop="CalledAE"
>
<el-form-item :label="$t('trials:dicomCfg:form:CalledAE')" prop="CalledAE">
<p class="form_p copyBox">
{{ form.CalledAE }}
<el-tooltip placement="right" effect="light" v-if="form.CalledAE">
@ -51,143 +31,83 @@
<p class="form_p">{{ form.Port }}</p>
</el-form-item>
<!--状态-->
<el-form-item
:label="$t('trials:dicomCfg:form:IsTestOK')"
prop="IsTestOK"
style="position: relative"
>
<el-tag
:type="form.IsTestOK ? 'success' : 'danger'"
effect="plain"
v-if="form.IsTestOK !== null"
>
<el-form-item :label="$t('trials:dicomCfg:form:IsTestOK')" prop="IsTestOK" style="position: relative">
<el-tag :type="form.IsTestOK ? 'success' : 'danger'" effect="plain" v-if="form.IsTestOK !== null">
{{ $fd('DicomTest', form.IsTestOK) }}
</el-tag>
<!-- 测试DICOM AE style="position: absolute; right: 100px; top: 0"-->
<el-button
v-if="
hasPermi(['trials:trials-panel:setting:trial-config:save']) &&
form.IsPACSConnect
"
style="margin-left: 10px"
type="primary"
size="mini"
@click.stop="testSCPServerConnect"
>
<el-button v-if="
hasPermi(['trials:trials-panel:setting:trial-config:save']) &&
form.IsPACSConnect
" style="margin-left: 10px" type="primary" size="mini" @click.stop="testSCPServerConnect">
{{ $t('common:button:DicomTest') }}
</el-button>
</el-form-item>
</template>
<el-form-item>
<!-- 保存 -->
<el-button
v-if="
form.IsTrialPACSConfirmed === false &&
hasPermi(['trials:trials-panel:setting:trial-config:save'])
"
type="primary"
@click="addOrUpdateDicomAE"
>
<el-button v-if="
form.IsTrialPACSConfirmed === false &&
hasPermi(['trials:trials-panel:setting:trial-config:save'])
" type="primary" @click="addOrUpdateDicomAE">
{{ $t('common:button:save') }}
</el-button>
<!-- 配置确认:disabled="!form.IsTestOK" -->
<el-button
v-if="
form.IsTrialPACSConfirmed === false &&
hasPermi(['trials:trials-panel:setting:trial-config:save'])
"
type="primary"
@click="handleConfirm"
>
<el-button v-if="
form.IsTrialPACSConfirmed === false &&
hasPermi(['trials:trials-panel:setting:trial-config:save'])
" type="primary" @click="handleConfirm">
{{ $t('trials:trialCfg:button:confirm') }}
</el-button>
<!-- 配置更新 -->
<el-button
v-if="
form.IsTrialPACSConfirmed === true &&
!isEdit &&
hasPermi(['trials:trials-panel:setting:trial-config:save'])
"
type="primary"
@click="isEdit = true"
>
<el-button v-if="
form.IsTrialPACSConfirmed === true &&
!isEdit &&
hasPermi(['trials:trials-panel:setting:trial-config:save'])
" type="primary" @click="isEdit = true">
{{ $t('trials:trialCfg:button:update') }}
</el-button>
<!-- 配置更新确认:disabled="!form.IsTestOK" -->
<el-button
v-if="
form.IsTrialPACSConfirmed === true &&
isEdit &&
hasPermi(['trials:trials-panel:setting:trial-config:save'])
"
type="primary"
@click="handleUpdate"
>
<el-button v-if="
form.IsTrialPACSConfirmed === true &&
isEdit &&
hasPermi(['trials:trials-panel:setting:trial-config:save'])
" type="primary" @click="handleUpdate">
{{ $t('trials:trialCfg:button:updateAndConfirm') }}
</el-button>
<!-- 取消 -->
<el-button
v-if="
form.IsTrialPACSConfirmed === true &&
isEdit &&
hasPermi(['trials:trials-panel:setting:trial-config:save'])
"
type="primary"
@click.stop="confirmCancel"
>
<el-button v-if="
form.IsTrialPACSConfirmed === true &&
isEdit &&
hasPermi(['trials:trials-panel:setting:trial-config:save'])
" type="primary" @click.stop="confirmCancel">
{{ $t('common:button:cancel') }}
</el-button>
</el-form-item>
</el-form>
<!-- 配置信息签名框 -->
<el-dialog
v-if="signVisible"
:visible.sync="signVisible"
:close-on-click-modal="false"
width="600px"
custom-class="base-dialog-wrapper"
>
<el-dialog v-if="signVisible" :visible.sync="signVisible" :close-on-click-modal="false" width="600px"
custom-class="base-dialog-wrapper">
<div slot="title">
<span style="font-size: 18px">{{ $t('common:dialogTitle:sign') }}</span>
<span style="font-size: 12px; margin-left: 5px">{{
`(${$t('common:label:sign')}${currentUser})`
}}</span>
</div>
<SignForm
ref="signForm"
:sign-code-enum="signCode"
@closeDialog="closeSignDialog"
/>
<SignForm ref="signForm" :sign-code-enum="signCode" @closeDialog="closeSignDialog" />
</el-dialog>
<!-- 配置信息确认框 -->
<el-dialog
v-if="confirmVisible"
:visible.sync="confirmVisible"
:close-on-click-modal="false"
width="600px"
:title="$t('trials:trialCfg:dialogTitle:cfgConfirm')"
custom-class="base-dialog-wrapper"
>
<el-dialog v-if="confirmVisible" :visible.sync="confirmVisible" :close-on-click-modal="false" width="600px"
:title="$t('trials:trialCfg:dialogTitle:cfgConfirm')" custom-class="base-dialog-wrapper">
<div class="base-dialog-body">
<el-table :data="confirmData" border style="width: 100%" size="small">
<!-- 配置项 -->
<el-table-column
prop="Name"
:label="$t('trials:trialCfg:table:cfgItem')"
show-overflow-tooltip
/>
<el-table-column prop="Name" :label="$t('trials:trialCfg:table:cfgItem')" show-overflow-tooltip />
<!-- 配置值 -->
<el-table-column
prop="NewVal"
:label="$t('trials:trialCfg:table:cfgVal')"
show-overflow-tooltip
/>
<el-table-column prop="NewVal" :label="$t('trials:trialCfg:table:cfgVal')" show-overflow-tooltip />
</el-table>
</div>
<div
class="base-dialog-footer"
style="text-align: right; margin-top: 10px"
>
<div class="base-dialog-footer" style="text-align: right; margin-top: 10px">
<!-- 确认 -->
<el-button size="small" type="primary" @click="handleConfirmConfigData">
{{ $t('trials:trialCfg:button:confirmCfg') }}
@ -196,51 +116,27 @@
</el-dialog>
<!-- 配置信息更新框 -->
<el-dialog
v-if="updateVisible"
:visible.sync="updateVisible"
:close-on-click-modal="false"
width="600px"
:title="$t('trials:trialCfg:dialogTitle:cfgConfirm')"
custom-class="base-dialog-wrapper"
>
<el-dialog v-if="updateVisible" :visible.sync="updateVisible" :close-on-click-modal="false" width="600px"
:title="$t('trials:trialCfg:dialogTitle:cfgConfirm')" custom-class="base-dialog-wrapper">
<div class="base-dialog-body">
<el-table :data="confirmData" border style="width: 100%" size="small">
<!-- 配置项 -->
<el-table-column
prop="Name"
:label="$t('trials:trialCfg:table:cfgItem')"
show-overflow-tooltip
/>
<el-table-column prop="Name" :label="$t('trials:trialCfg:table:cfgItem')" show-overflow-tooltip />
<!-- 配置值更改前 -->
<el-table-column
prop="OldVal"
:label="`${$t('trials:trialCfg:table:cfgVal')} ${$t(
'trials:trialCfg:table:beforeChange'
)}`"
show-overflow-tooltip
/>
<el-table-column prop="OldVal" :label="`${$t('trials:trialCfg:table:cfgVal')} ${$t(
'trials:trialCfg:table:beforeChange'
)}`" show-overflow-tooltip />
<!-- 配置值更改后 -->
<el-table-column
prop="NewVal"
:label="`${$t('trials:trialCfg:table:cfgVal')} ${$t(
'trials:trialCfg:table:updated'
)}`"
show-overflow-tooltip
>
<el-table-column prop="NewVal" :label="`${$t('trials:trialCfg:table:cfgVal')} ${$t(
'trials:trialCfg:table:updated'
)}`" show-overflow-tooltip>
<template slot-scope="scope">
<span
:class="{ fontColor: scope.row.NewVal !== scope.row.OldVal }"
>{{ scope.row.NewVal }}</span
>
<span :class="{ fontColor: scope.row.NewVal !== scope.row.OldVal }">{{ scope.row.NewVal }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div
class="base-dialog-footer"
style="text-align: right; margin-top: 10px"
>
<div class="base-dialog-footer" style="text-align: right; margin-top: 10px">
<!-- 确认 -->
<el-button size="small" type="primary" @click="handleUpdateConfigData">
{{ $t('trials:trialCfg:button:confirmCfg') }}
@ -381,8 +277,7 @@ export default {
methods: {
copyLink() {
this.$copyText(
`${this.$t('trials:dicomCfg:form:CalledAE')}: ${
this.form.CalledAE
`${this.$t('trials:dicomCfg:form:CalledAE')}: ${this.form.CalledAE
}\n${this.$t('trials:dicomCfg:form:Ip')}: ${this.form.Ip}\n${this.$t(
'trials:dicomCfg:form:Port'
)}: ${this.form.Port}\n${this.$t(
@ -503,6 +398,8 @@ export default {
if (!validate) return
if (this.Id && !this.form.IsPACSConnect) {
this.form.Id = this.Id
} else {
this.form.Id = null
}
this.form.TrialId = this.$route.query.trialId
this.loading = true
@ -625,9 +522,11 @@ export default {
.fontColor {
color: red;
}
.form_p {
margin: 0;
}
.copyBox {
cursor: pointer;
}