国际化更改

uat
caiyiling 2025-03-10 15:09:18 +08:00
parent a887e686a8
commit 7051312855
20 changed files with 580 additions and 397 deletions

View File

@ -2,7 +2,8 @@
<BaseContainer> <BaseContainer>
<template slot="search-container"> <template slot="search-container">
<el-form :inline="true" size="small"> <el-form :inline="true" size="small">
<el-form-item label="业务场景"> <!-- 业务场景 -->
<el-form-item :label="$t('dictionary:attachment:label:businessScenario')">
<el-select <el-select
v-model="searchData.BusinessScenarioEnum" v-model="searchData.BusinessScenarioEnum"
style="width:150px;" style="width:150px;"
@ -16,7 +17,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="文件名称"> <!-- 文件名称 -->
<el-form-item :label="$t('dictionary:attachment:label:name')">
<el-input <el-input
v-model="searchData.Name" v-model="searchData.Name"
style="width:130px;" style="width:130px;"
@ -57,14 +59,14 @@
<el-table-column type="index" width="40" /> <el-table-column type="index" width="40" />
<el-table-column <el-table-column
prop="Code" prop="Code"
label="Code" :label="$t('dictionary:attachment:label:code')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<el-table-column <el-table-column
prop="BusinessScenarioEnum" prop="BusinessScenarioEnum"
label="业务场景" :label="$t('dictionary:attachment:label:businessScenario')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
> >
@ -76,7 +78,7 @@
<el-table-column <el-table-column
prop="Name" prop="Name"
label="文件名称" :label="$t('dictionary:attachment:label:name')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
@ -92,12 +94,12 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="Description" prop="Description"
label="描述" :label="$t('dictionary:attachment:label:description')"
show-overflow-tooltip show-overflow-tooltip
/> />
<el-table-column <el-table-column
prop="IsDeleted" prop="IsDeleted"
label="是否废除" :label="$t('dictionary:attachment:label:isDeleted')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
> >
@ -108,18 +110,18 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="UpdateTime" prop="UpdateTime"
label="上传时间" :label="$t('dictionary:attachment:label:updateTime')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<el-table-column label="Action"> <el-table-column :label="$t('common:action:action')">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
@click="handleDownload(scope.row)" @click="handleDownload(scope.row)"
> >
下载 {{ $t('common:button:download') }}
</el-button> </el-button>
<!-- <el-button <!-- <el-button
type="text" type="text"

View File

@ -9,10 +9,10 @@
class="upload-temporary-file" class="upload-temporary-file"
> >
<div class="base-dialog-body"> <div class="base-dialog-body">
<el-form-item label="Code" prop="Code"> <el-form-item :label="$t('dictionary:attachment:label:code')" prop="Code">
<el-input v-model="form.Code" /> <el-input v-model="form.Code" />
</el-form-item> </el-form-item>
<el-form-item label="业务场景: " prop="BusinessScenarioEnum"> <el-form-item :label="$t('dictionary:attachment:label:businessScenario')" prop="BusinessScenarioEnum">
<el-select <el-select
v-model="form.BusinessScenarioEnum" v-model="form.BusinessScenarioEnum"
style="width: 100%" style="width: 100%"
@ -28,7 +28,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="文件: "> <el-form-item :label="$t('dictionary:attachment:label:file')">
<div class="upload-container"> <div class="upload-container">
<el-upload <el-upload
class="upload-demo" class="upload-demo"
@ -57,7 +57,7 @@
</el-upload> </el-upload>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="文件名" prop="Name"> <el-form-item :label="$t('dictionary:attachment:label:name')" prop="Name">
<el-input v-model="form.Name" /> <el-input v-model="form.Name" />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@ -66,7 +66,7 @@
> >
<el-input v-model="form.NameCN" /> <el-input v-model="form.NameCN" />
</el-form-item> </el-form-item>
<el-form-item v-if="form.Id !== ''" label="是否废除: "> <el-form-item v-if="form.Id !== ''" :label="$t('dictionary:attachment:label:isDeleted')">
<el-radio-group v-model="form.IsDeleted"> <el-radio-group v-model="form.IsDeleted">
<el-radio <el-radio
v-for="item of $d.YesOrNo" v-for="item of $d.YesOrNo"
@ -76,12 +76,11 @@
> >
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="描述"> <el-form-item :label="$t('dictionary:attachment:label:description')">
<el-input <el-input
v-model="form.Description" v-model="form.Description"
type="textarea" type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }" :autosize="{ minRows: 2, maxRows: 4 }"
placeholder="请输入内容"
/> />
</el-form-item> </el-form-item>
</div> </div>
@ -93,7 +92,7 @@
:disabled="!form.FileTypeEnum || !form.BusinessScenarioEnum" :disabled="!form.FileTypeEnum || !form.BusinessScenarioEnum"
:loading="saveBtnLoading" :loading="saveBtnLoading"
@click="handleSave" @click="handleSave"
>Save</el-button >{{ $t('common:button:save') }}</el-button
> >
</el-form-item> </el-form-item>
</div> </div>
@ -132,16 +131,16 @@ export default {
}, },
rules: { rules: {
Code: [ Code: [
{ required: true, message: 'Please specify', trigger: ['blur'] }, { required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] },
], ],
Name: [ Name: [
{ required: true, message: 'Please specify', trigger: ['blur'] }, { required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] },
], ],
NameCN: [ NameCN: [
{ required: true, message: 'Please specify', trigger: ['blur'] }, { required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] },
], ],
BusinessScenarioEnum: [ BusinessScenarioEnum: [
{ required: true, message: 'Please select', trigger: ['blur'] }, { required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] },
], ],
}, },
fileList: [], fileList: [],
@ -193,7 +192,7 @@ export default {
this.fileList = [] this.fileList = []
return true return true
} else { } else {
this.$alert('必须是word/excel格式') this.$alert(this.$t('dictionary:attachment:export:alert:formatFile'))
return false return false
} }
@ -220,7 +219,7 @@ export default {
this.$refs.sysTemplateFrom.validate((valid) => { this.$refs.sysTemplateFrom.validate((valid) => {
if (!valid) return if (!valid) return
if (!this.form.Name) { if (!this.form.Name) {
this.$alert('Please select file.') this.$alert(this.$t('dictionary:attachment:message:msg1'))
return return
} }
this.saveBtnLoading = true this.saveBtnLoading = true
@ -229,7 +228,7 @@ export default {
this.saveBtnLoading = false this.saveBtnLoading = false
this.$emit('closeDialog') this.$emit('closeDialog')
this.$emit('getList') this.$emit('getList')
this.$message.success('Uploaded successfully') this.$message.success(this.$t('common:message:savedSuccessfully'))
}) })
.catch(() => { .catch(() => {
this.saveBtnLoading = false this.saveBtnLoading = false
@ -248,7 +247,7 @@ export default {
} }
}, },
handleExceed(files, fileList) { handleExceed(files, fileList) {
this.$message.warning(`Upload is currently limited to 1 file`) this.$message.warning(this.$t('upload:rule:maxFile1'))
}, },
checkFileSuffix(fileName) { checkFileSuffix(fileName) {
var typeArr = ['xls', 'xlsx', 'doc', 'docx'] var typeArr = ['xls', 'xlsx', 'doc', 'docx']

View File

@ -2,7 +2,8 @@
<BaseContainer> <BaseContainer>
<template slot="search-container"> <template slot="search-container">
<el-form :inline="true" size="small"> <el-form :inline="true" size="small">
<el-form-item label="业务场景"> <!-- 业务场景 -->
<el-form-item :label="$t('dictionary:attachment:label:businessScenario')">
<el-select <el-select
v-model="searchData.BusinessScenarioEnum" v-model="searchData.BusinessScenarioEnum"
style="width: 150px" style="width: 150px"
@ -15,7 +16,8 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="文件名称"> <!-- 文件名称 -->
<el-form-item :label="$t('dictionary:attachment:label:name')">
<el-input v-model="searchData.Name" style="width: 130px" clearable /> <el-input v-model="searchData.Name" style="width: 130px" clearable />
</el-form-item> </el-form-item>
@ -56,14 +58,14 @@
<el-table-column type="index" width="40" /> <el-table-column type="index" width="40" />
<el-table-column <el-table-column
prop="Code" prop="Code"
label="Code" :label="$t('dictionary:attachment:label:code')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<!-- 业务场景 -->
<el-table-column <el-table-column
prop="BusinessScenarioEnum" prop="BusinessScenarioEnum"
label="业务场景" :label="$t('dictionary:attachment:label:businessScenario')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
> >
@ -76,10 +78,10 @@
}} }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 文件名称 -->
<el-table-column <el-table-column
prop="Name" prop="Name"
label="文件名称" :label="$t('dictionary:attachment:label:name')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
@ -89,14 +91,16 @@
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<!-- 描述 -->
<el-table-column <el-table-column
prop="Description" prop="Description"
label="描述" :label="$t('dictionary:attachment:label:description')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 是否废除 -->
<el-table-column <el-table-column
prop="IsDeleted" prop="IsDeleted"
label="是否废除" :label="$t('dictionary:attachment:label:isDeleted')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
> >
@ -109,26 +113,27 @@
}}</el-tag> }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- 上传时间 -->
<el-table-column <el-table-column
prop="UpdateTime" prop="UpdateTime"
label="上传时间" :label="$t('dictionary:attachment:label:updateTime')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<el-table-column label="Action"> <el-table-column :label="$t('common:action:action')">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="PreviewFile(scope.row)"> <el-button type="text" @click="PreviewFile(scope.row)">
{{ $t('common:button:preview') }} {{ $t('common:button:preview') }}
</el-button> </el-button>
<el-button type="text" @click="handleDownload(scope.row)"> <el-button type="text" @click="handleDownload(scope.row)">
下载 {{ $t('common:button:download') }}
</el-button> </el-button>
<el-button type="text" @click="handleEdit(scope.row)"> <el-button type="text" @click="handleEdit(scope.row)">
编辑 {{ $t('common:button:edit') }}
</el-button> </el-button>
<el-button type="text" @click="handleDelete(scope.row)"> <el-button type="text" @click="handleDelete(scope.row)">
删除 {{ $t('common:button:delete') }}
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -197,12 +202,13 @@ export default {
}, },
methods: { methods: {
handleDelete(row) { handleDelete(row) {
this.$confirm('确定删除该模版?').then(() => { //
this.$confirm(this.$t('dictionary:attachment:message:msg1')).then(() => {
deleteCommonDocument(row.Id).then(() => { deleteCommonDocument(row.Id).then(() => {
this.$message.success('删除成功') this.$message.success(this.$t('common:message:deletedSuccessfully'))
this.getList() this.getList()
}) })
}) }).catch(()=>{})
}, },
PreviewFile(row) { PreviewFile(row) {
let basePath = window.location.origin let basePath = window.location.origin
@ -229,7 +235,7 @@ export default {
}, },
// //
handleAdd() { handleAdd() {
this.editDialog.title = 'Add' this.editDialog.title = this.$t('common:button:new')
this.currentRow = { FileTypeEnum: FileTypeEnum } this.currentRow = { FileTypeEnum: FileTypeEnum }
this.editDialog.visible = true this.editDialog.visible = true
}, },
@ -246,7 +252,7 @@ export default {
}, },
// //
handleEdit(row) { handleEdit(row) {
this.editDialog.title = 'Edit' this.editDialog.title = this.$t('common:button:edit')
this.currentRow = { ...row } this.currentRow = { ...row }
this.editDialog.visible = true this.editDialog.visible = true
}, },

View File

@ -3,15 +3,25 @@
<!-- 搜索框 --> <!-- 搜索框 -->
<div class="search"> <div class="search">
<el-form :inline="true" size="mini" class="base-search-form"> <el-form :inline="true" size="mini" class="base-search-form">
<el-form-item label="编号:"> <!-- 编号 -->
<el-form-item :label="$t('dictionary:sign:label:code')">
<el-input v-model="searchData.Code" style="width:100px;" /> <el-input v-model="searchData.Code" style="width:100px;" />
</el-form-item> </el-form-item>
<el-form-item label="模板:"> <!-- 模板 -->
<el-form-item :label="$t('dictionary:sign:label:name')">
<el-input v-model="searchData.Name" style="width:100px;" /> <el-input v-model="searchData.Name" style="width:100px;" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="handleReset">Reset</el-button> <el-button type="primary" icon="el-icon-search" @click="handleSearch">
<el-button type="primary" @click="handleSearch">Search</el-button> {{ $t('common:button:search') }}
</el-button>
<el-button
type="primary"
icon="el-icon-refresh-left"
@click="handleReset"
>
{{ $t('common:button:reset') }}
</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span style="margin-left:auto;"> <span style="margin-left:auto;">
@ -20,7 +30,7 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
> >
New {{ $t('common:button:new') }}
</el-button> </el-button>
</span> </span>
@ -37,58 +47,65 @@
@sort-change="handleSortByColumn" @sort-change="handleSortByColumn"
> >
<el-table-column type="index" width="40" /> <el-table-column type="index" width="40" />
<!-- 编号 -->
<el-table-column <el-table-column
prop="Code" prop="Code"
label="Code" :label="$t('dictionary:sign:label:code')"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 模板 -->
<el-table-column <el-table-column
prop="Name" prop="Name"
label="模板" :label="$t('dictionary:sign:label:name')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<!-- 签名内容(EN) -->
<el-table-column <el-table-column
prop="Value" prop="Value"
label="签名内容(EN)" :label="$t('dictionary:sign:label:value')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 签名内容(CN) -->
<el-table-column <el-table-column
prop="ValueCN" prop="ValueCN"
label="签名内容(CN)" :label="$t('dictionary:sign:label:valueCN')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 更新时间 -->
<el-table-column <el-table-column
prop="UpdateTime" prop="UpdateTime"
label="更新时间" :label="$t('dictionary:sign:label:updateTime')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<!-- 创建时间 -->
<el-table-column <el-table-column
prop="CreateTime" prop="CreateTime"
label="创建时间" :label="$t('dictionary:sign:label:createTime')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<el-table-column label="Action" width="200" fixed="right"> <el-table-column :label="$t('common:action:action')" width="200" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
> >
Edit {{ $t('common:button:edit') }}
</el-button> </el-button>
<!-- 场景配置 -->
<el-button <el-button
type="text" type="text"
@click="handleConfig(scope.row)" @click="handleConfig(scope.row)"
> >
场景配置 {{ $t('dictionary:sign:button:config') }}
</el-button> </el-button>
<el-button type="text" @click="handleDelete(scope.row)">Delete</el-button> <el-button type="text" @click="handleDelete(scope.row)">
{{ $t('common:button:delete') }}
</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -113,7 +130,7 @@
<el-dialog <el-dialog
v-if="configVisible" v-if="configVisible"
:visible.sync="configVisible" :visible.sync="configVisible"
title="场景配置" :title="$t('dictionary:sign:button:config')"
:fullscreen="true" :fullscreen="true"
append-to-body append-to-body
custom-class="base-dialog-wrapper" custom-class="base-dialog-wrapper"
@ -167,13 +184,13 @@ export default {
// //
handleAdd() { handleAdd() {
this.rowData = {} this.rowData = {}
this.title = 'Add' this.title = this.$t('common:button:new')
this.editVisible = true this.editVisible = true
}, },
// //
handleEdit(row) { handleEdit(row) {
this.rowData = { ...row } this.rowData = { ...row }
this.title = 'Edit' this.title = this.$t('common:button:edit')
this.editVisible = true this.editVisible = true
}, },
// //

View File

@ -3,10 +3,12 @@
<!-- 搜索框 --> <!-- 搜索框 -->
<div class="search"> <div class="search">
<el-form :inline="true" size="mini" class="base-search-form"> <el-form :inline="true" size="mini" class="base-search-form">
<el-form-item label="临床数据名称"> <!-- 临床数据名称 -->
<el-form-item :label="$t('trials:processCfg:title:clinicalDataCfg')">
<el-input v-model="searchData.ClinicalDataSetName" /> <el-input v-model="searchData.ClinicalDataSetName" />
</el-form-item> </el-form-item>
<el-form-item label="数据级别"> <!-- 数据级别 -->
<el-form-item :label="$t('trials:processCfg:title:dataLevel')">
<el-select v-model="searchData.ClinicalDataLevel" clearable style="width:120px;"> <el-select v-model="searchData.ClinicalDataLevel" clearable style="width:120px;">
<el-option <el-option
v-for="(item,index) of $d.ClinicalLevel" v-for="(item,index) of $d.ClinicalLevel"
@ -16,7 +18,8 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="传输方式"> <!-- 传输方式 -->
<el-form-item :label="$t('trials:processCfg:title:transferType')">
<el-select v-model="searchData.ClinicalUploadType" clearable style="width:120px;"> <el-select v-model="searchData.ClinicalUploadType" clearable style="width:120px;">
<el-option <el-option
v-for="(item,index) of $d.ClinicalUploadType" v-for="(item,index) of $d.ClinicalUploadType"
@ -40,7 +43,8 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<span style="margin-left:auto"> <span style="margin-left:auto">
<el-button type="primary" size="mini" @click="handleAdd"></el-button> <!-- 新增 -->
<el-button type="primary" size="mini" @click="handleAdd">{{ $t('common:button:new') }}</el-button>
</span> </span>
</div> </div>
@ -53,97 +57,110 @@
height="100" height="100"
> >
<el-table-column type="index" width="60" /> <el-table-column type="index" width="60" />
<!-- 临床数据名称 -->
<el-table-column <el-table-column
prop="ClinicalDataSetName" prop="ClinicalDataSetName"
label="临床数据名称" :label="$t('trials:processCfg:title:clinicalDataName')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 临床数据名称EN -->
<el-table-column <el-table-column
prop="ClinicalDataSetEnName" prop="ClinicalDataSetEnName"
label="临床数据名称EN" :label="$t('dictionary:clinicalData:label:clinicalDataNameEn')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 上传人 -->
<el-table-column <el-table-column
prop="UploadRole" prop="UploadRole"
:label="$t('trials:uploadMonitor:table:uploader')" :label="$t('trials:processCfg:title:uploader')"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('ClinicalDataUploadRole',scope.row.UploadRole) }} {{ $fd('ClinicalDataUploadRole',scope.row.UploadRole) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 数据级别 -->
<el-table-column <el-table-column
prop="ClinicalDataLevel" prop="ClinicalDataLevel"
label="数据级别" :label="$t('trials:processCfg:title:dataLevel')"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('ClinicalLevel',scope.row.ClinicalDataLevel) }} {{ $fd('ClinicalLevel',scope.row.ClinicalDataLevel) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 传输方式 -->
<el-table-column <el-table-column
prop="ClinicalUploadType" prop="ClinicalUploadType"
label="传输方式" :label="$t('trials:processCfg:title:transferType')"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('ClinicalUploadType',scope.row.ClinicalUploadType) }} {{ $fd('ClinicalUploadType',scope.row.ClinicalUploadType) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 匹配的阅片标准 -->
<el-table-column <el-table-column
prop="CriterionEnumList" prop="CriterionEnumList"
:label="$t('trials:auditRecord:table:criterion')" :label="$t('trials:processCfg:label:criterion')"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.CriterionEnumList.map(v => $fd('CriterionType', v)).toString() }} {{ scope.row.CriterionEnumList.map(v => $fd('CriterionType', v)).toString() }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 模板名称 -->
<el-table-column <el-table-column
prop="FileName" prop="FileName"
label="模板名称" :label="$t('trials:processCfg:title:module')"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.FileName }} {{ scope.row.FileName }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 模板英文名称 -->
<el-table-column <el-table-column
prop="EnFileName" prop="EnFileName"
label="模板英文名称" :label="$t('trials:processCfg:title:enModule')"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.EnFileName }} {{ scope.row.EnFileName }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 状态 -->
<el-table-column <el-table-column
prop="IsEnable" prop="IsEnable"
label="状态" :label="$t('dictionary:clinicalData:label:status')"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.IsEnable"></el-tag> <!-- <el-tag v-if="scope.row.IsEnable"></el-tag>
<el-tag v-else type="danger">禁用</el-tag> <el-tag v-else type="danger">禁用</el-tag> -->
<el-tag v-if="!scope.row.IsEnable" type="danger">{{ $fd('IsEnable', scope.row.IsEnable) }}</el-tag>
<el-tag v-else>{{ $fd('IsEnable', scope.row.IsEnable) }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- 创建时间 -->
<el-table-column <el-table-column
prop="CreateTime" prop="CreateTime"
label="创建时间" :label="$t('dictionary:clinicalData:label:CreateTime')"
show-overflow-tooltip show-overflow-tooltip
/> />
<el-table-column label="操作" width="340" fixed="right"> <el-table-column :label="$t('common:action:action')" width="340" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 问题配置 -->
<el-button <el-button
type="primary" type="primary"
size="mini" size="mini"
:disabled="scope.row.ClinicalUploadType !== 2" :disabled="scope.row.ClinicalUploadType !== 2"
@click="handleConfigQuestion(scope.row)" @click="handleConfigQuestion(scope.row)"
> >
问题配置 {{ $t('dictionary:clinicalData:button:qsConfig') }}
</el-button> </el-button>
<!-- 下载 -->
<el-button <el-button
v-if="$i18n.locale === 'zh'" v-if="$i18n.locale === 'zh'"
type="primary" type="primary"
@ -151,8 +168,9 @@
:disabled="!scope.row.FileName" :disabled="!scope.row.FileName"
@click="handleDownloadTpl(scope.row.Path)" @click="handleDownloadTpl(scope.row.Path)"
> >
下载 {{ $t('common:button:download') }}
</el-button> </el-button>
<!-- 下载 -->
<el-button <el-button
v-else v-else
type="primary" type="primary"
@ -160,21 +178,23 @@
:disabled="!scope.row.EnFileName" :disabled="!scope.row.EnFileName"
@click="handleDownloadTpl(scope.row.EnPath)" @click="handleDownloadTpl(scope.row.EnPath)"
> >
下载 {{ $t('common:button:download') }}
</el-button> </el-button>
<!-- 编辑 -->
<el-button <el-button
type="primary" type="primary"
size="mini" size="mini"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
> >
编辑 {{ $t('common:action:edit') }}
</el-button> </el-button>
<!-- 删除 -->
<el-button <el-button
type="danger" type="danger"
size="mini" size="mini"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
> >
删除 {{ $t('common:button:delete') }}
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -184,11 +204,11 @@
:visible.sync="addOrEditCD.visible" :visible.sync="addOrEditCD.visible"
:close-on-click-modal="false" :close-on-click-modal="false"
:title="addOrEditCD.title" :title="addOrEditCD.title"
width="500px" width="600px"
append-to-body append-to-body
custom-class="base-dialog-wrapper" custom-class="base-dialog-wrapper"
> >
<ClinicalDataForm ref="addOrEditCD" :data="currentRow" @close="addOrEditCD.visible = false" @getList="getList" /> <clinical-data-form ref="addOrEditCD" :data="currentRow" @close="addOrEditCD.visible = false" @getList="getList" />
</el-dialog> </el-dialog>
<el-dialog <el-dialog
v-if="QuestionConfigVisible.visible" v-if="QuestionConfigVisible.visible"
@ -199,7 +219,7 @@
append-to-body append-to-body
custom-class="base-dialog-wrapper" custom-class="base-dialog-wrapper"
> >
<ClinicalQuestionConfig ref="QuestionConfigVisible" :data="currentRow" @close="QuestionConfigVisible.visible = false" @getList="getList" /> <clinical-question-config ref="QuestionConfigVisible" :data="currentRow" @close="QuestionConfigVisible.visible = false" @getList="getList" />
</el-dialog> </el-dialog>
</box-content> </box-content>
</template> </template>
@ -237,7 +257,8 @@ export default {
handleConfigQuestion(row) { handleConfigQuestion(row) {
this.currentRow = { ...row } this.currentRow = { ...row }
this.QuestionConfigVisible.visible = true this.QuestionConfigVisible.visible = true
this.QuestionConfigVisible.title = '问题配置' //
this.QuestionConfigVisible.title = this.$t('dictionary:clinicalData:button:qsConfig')
}, },
// //
getList() { getList() {
@ -250,13 +271,13 @@ export default {
// //
handleAdd() { handleAdd() {
this.currentRow = {} this.currentRow = {}
this.addOrEditCD.title = '新增' this.addOrEditCD.title = this.$t('common:button:new')
this.addOrEditCD.visible = true this.addOrEditCD.visible = true
}, },
// //
handleEdit(row) { handleEdit(row) {
this.currentRow = { ...row } this.currentRow = { ...row }
this.addOrEditCD.title = '编辑' this.addOrEditCD.title = this.$t('common:action:edit')
this.addOrEditCD.visible = true this.addOrEditCD.visible = true
}, },
// //
@ -272,7 +293,7 @@ export default {
this.loading = false this.loading = false
if (res.IsSuccess) { if (res.IsSuccess) {
this.getList() this.getList()
this.$message.success('删除成功!') this.$message.success(this.$t('common:message:deletedSuccessfully'))
} }
}).catch(() => { this.loading = false }) }).catch(() => { this.loading = false })
}) })

View File

@ -5,12 +5,13 @@
:model="form" :model="form"
size="small" size="small"
:rules="rules" :rules="rules"
label-width="110px" label-width="200px"
> >
<div class="base-dialog-body"> <div class="base-dialog-body">
<el-form-item label="临床数据名称" prop="ClinicalDataSetEnum"> <!-- 临床数据名称 -->
<el-form-item :label="$t('trials:processCfg:title:clinicalDataName')" prop="ClinicalDataSetEnum">
<!-- <el-input v-model="form.ClinicalDataSetName" /> --> <!-- <el-input v-model="form.ClinicalDataSetName" /> -->
<el-select v-model="form.ClinicalDataSetEnum" placeholder="请选择" style="width:100%;"> <el-select v-model="form.ClinicalDataSetEnum" style="width:100%;">
<el-option <el-option
v-for="(item,index) of $d.ClinicalDataType" v-for="(item,index) of $d.ClinicalDataType"
:key="index" :key="index"
@ -19,11 +20,10 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 上传人 -->
<el-form-item :label="$t('trials:studyList:table:uploader')" prop="UploadRole"> <el-form-item :label="$t('trials:processCfg:title:uploader')" prop="UploadRole">
<el-select <el-select
v-model="form.UploadRole" v-model="form.UploadRole"
placeholder="请选择"
style="width:100%;" style="width:100%;"
@change="handleUploadRoleChange" @change="handleUploadRoleChange"
> >
@ -35,11 +35,10 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 数据级别 -->
<el-form-item label="数据级别" prop="ClinicalDataLevel"> <el-form-item :label="$t('trials:processCfg:title:dataLevel')" prop="ClinicalDataLevel">
<el-select <el-select
v-model="form.ClinicalDataLevel" v-model="form.ClinicalDataLevel"
placeholder="请选择"
style="width:100%;" style="width:100%;"
> >
<el-option <el-option
@ -51,11 +50,10 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 传输方式 -->
<el-form-item label="传输方式" prop="ClinicalUploadType"> <el-form-item :label="$t('trials:processCfg:title:transferType')" prop="ClinicalUploadType">
<el-select <el-select
v-model="form.ClinicalUploadType" v-model="form.ClinicalUploadType"
placeholder="请选择"
style="width:100%;" style="width:100%;"
> >
<el-option <el-option
@ -67,13 +65,13 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 阅片标准 -->
<el-form-item <el-form-item
:label="$t('trials:auditRecord:table:criterion')" :label="$t('trials:processCfg:label:criterion')"
prop="CriterionEnumList" prop="CriterionEnumList"
> >
<el-select <el-select
v-model="form.CriterionEnumList" v-model="form.CriterionEnumList"
placeholder="请选择"
multiple multiple
style="width:100%;" style="width:100%;"
> >
@ -85,7 +83,8 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="form.ClinicalUploadType === 1" label="模板: "> <!-- 模板 -->
<el-form-item v-if="form.ClinicalUploadType === 1" :label="$t('trials:processCfg:title:module')">
<div class="upload-container"> <div class="upload-container">
<el-upload <el-upload
class="upload-demo" class="upload-demo"
@ -101,19 +100,21 @@
:on-exceed="handleExceed" :on-exceed="handleExceed"
:disabled="form.Type === ''" :disabled="form.Type === ''"
> >
<el-button size="small" type="primary">选择</el-button> <el-button size="small" type="primary">
{{ $t('trials:processCfg:button:select') }}
</el-button>
<span <span
slot="tip" slot="tip"
style="margin-left:10px;" style="margin-left:10px;"
class="el-upload__tip" class="el-upload__tip"
> >
(必须是doc/docx格式) {{ $t('system:tip:file:docx') }}
</span> </span>
</el-upload> </el-upload>
</div> </div>
</el-form-item> </el-form-item>
<!-- 英文模板 -->
<el-form-item v-if="form.ClinicalUploadType === 1" label="英文模板: "> <el-form-item v-if="form.ClinicalUploadType === 1" :label="$t('trials:processCfg:title:enModule')">
<div class="upload-container"> <div class="upload-container">
<el-upload <el-upload
class="upload-demo" class="upload-demo"
@ -129,19 +130,21 @@
:on-exceed="handleExceed" :on-exceed="handleExceed"
:disabled="form.Type === ''" :disabled="form.Type === ''"
> >
<el-button size="small" type="primary">选择</el-button> <el-button size="small" type="primary">
{{ $t('trials:processCfg:button:select') }}
</el-button>
<span <span
slot="tip" slot="tip"
style="margin-left:10px;" style="margin-left:10px;"
class="el-upload__tip" class="el-upload__tip"
> >
(必须是doc/docx格式) {{ $t('system:tip:file:docx') }}
</span> </span>
</el-upload> </el-upload>
</div> </div>
</el-form-item> </el-form-item>
<!-- 是否启用 -->
<el-form-item v-if="form.Id !== ''" label="是否启用"> <el-form-item v-if="form.Id !== ''" :label="$t('dictionary:clinicalData:label:IsEnable')">
<el-switch v-model="form.IsEnable" /> <el-switch v-model="form.IsEnable" />
</el-form-item> </el-form-item>
</div> </div>
@ -270,7 +273,7 @@ export default {
this.fileList = [] this.fileList = []
return true return true
} else { } else {
this.$alert('(必须是doc/docx格式)') this.$alert(this.$t('system:tip:file:docx'))
return false return false
} }
@ -286,7 +289,7 @@ export default {
} }
}, },
handleExceed(files, fileList) { handleExceed(files, fileList) {
this.$message.warning(`只允许上传一个文件`) this.$message.warning(this.$t('trials:processCfg:title:onlyOneFile'))
}, },
beforeUploadEnFile(file) { beforeUploadEnFile(file) {
// //
@ -294,7 +297,7 @@ export default {
this.enFileList = [] this.enFileList = []
return true return true
} else { } else {
this.$alert('(必须是doc/docx格式)') this.$alert(this.$t('system:tip:file:docx'))
return false return false
} }

View File

@ -2,39 +2,49 @@
<div class="criterion-config"> <div class="criterion-config">
<div class="search-form" style="display:flex;justify-content: space-between;"> <div class="search-form" style="display:flex;justify-content: space-between;">
<el-form :inline="true" size="mini" class="base-search-form"> <el-form :inline="true" size="mini" class="base-search-form">
<el-form-item label="名称"> <!-- 名称 -->
<el-form-item :label="$t('trials:readingUnit:qsList:title:qName')">
<el-input v-model="searchData.QuestionName" clearable style="width:120px;" /> <el-input v-model="searchData.QuestionName" clearable style="width:120px;" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="handleReset"></el-button> <el-button type="primary" icon="el-icon-search" @click="handleSearch">
<el-button type="primary" @click="handleSearch"></el-button> {{ $t('common:button:search') }}
</el-button>
<el-button
type="primary"
icon="el-icon-refresh-left"
@click="handleReset"
>
{{ $t('common:button:reset') }}
</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div> <div>
<!-- 预览 -->
<el-button <el-button
:disabled="list.length === 0" :disabled="list.length === 0"
size="mini" size="mini"
type="primary" type="primary"
@click="preview.visible = true" @click="preview.visible = true"
> >
预览 {{ $t('common:button:preview') }}
</el-button> </el-button>
<!-- 添加 -->
<el-button <el-button
v-if="Object.keys(data).length > 0 && !data.IsBeUsed" v-if="Object.keys(data).length > 0 && !data.IsBeUsed"
size="mini" size="mini"
type="primary" type="primary"
@click="handleAdd" @click="handleAdd"
> >
添加 {{ $t('common:button:add') }}
</el-button> </el-button>
<!-- 应用 -->
<el-button <el-button
size="mini" size="mini"
type="primary" type="primary"
@click="handleApply" @click="handleApply"
> >
应用 {{ $t('dictionary:clinicalDataQs:button:apply') }}
</el-button> </el-button>
</div> </div>
</div> </div>
@ -52,81 +62,92 @@
label="" label=""
width="50" width="50"
/> />
<!-- 名称 -->
<el-table-column <el-table-column
prop="QuestionName" prop="QuestionName"
label="名称" :label="$t('trials:readingUnit:qsList:title:qName')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 名称(EN) -->
<el-table-column <el-table-column
prop="QuestionEnName" prop="QuestionEnName"
label="名称(EN)" :label="$t('trials:readingUnit:qsList:title:qNameEn')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 题型 -->
<el-table-column <el-table-column
prop="Type" prop="Type"
label="题型" :label="$t('trials:readingUnit:qsList:title:type')"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('ClinicalQuestionType',scope.row.ClinicalQuestionType) }} {{ $fd('ClinicalQuestionType',scope.row.ClinicalQuestionType) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 选项 -->
<el-table-column <el-table-column
prop="TypeValue" prop="TypeValue"
label="选项" :label="$t('trials:readingUnit:qsList:title:type')"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<!-- 是否显示 -->
<el-table-column <el-table-column
prop="ClinicalQuestionShowEnum" prop="ClinicalQuestionShowEnum"
label="是否显示" :label="$t('trials:readingUnit:qsList:title:isShow')"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('ShowQuestion',scope.row.ClinicalQuestionShowEnum) }} {{ $fd('ShowQuestion',scope.row.ClinicalQuestionShowEnum) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 是否必填 -->
<el-table-column <el-table-column
prop="IsRequired" prop="IsRequired"
label="是否必填" :label="$t('trials:qcCfg:table:isRequired')"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('YesOrNo',scope.row.IsRequired) }} {{ $fd('YesOrNo',scope.row.IsRequired) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 操作 -->
<el-table-column <el-table-column
prop="" prop=""
label="操作" :label="$t('common:action:action')"
width="250" width="250"
show-overflow-tooltip show-overflow-tooltip
fixed="right" fixed="right"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 编辑 -->
<el-button <el-button
v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)" v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)"
type="primary" type="primary"
size="mini" size="mini"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
> >
编辑 {{ $t('trials:readingUnit:qsList:title:edit') }}
</el-button> </el-button>
<!-- 查看 -->
<el-button <el-button
v-else v-else
type="primary" type="primary"
size="mini" size="mini"
@click="handleLook(scope.row)" @click="handleLook(scope.row)"
> >
查看 {{ $t('trials:enrolledReviews:button:view') }}
</el-button> </el-button>
<!-- 表格问题 -->
<el-button <el-button
type="primary" type="primary"
size="mini" size="mini"
:disabled="scope.row.ClinicalQuestionType !== 'table'" :disabled="scope.row.ClinicalQuestionType !== 'table'"
@click="handleConfig(scope.row)" @click="handleConfig(scope.row)"
> >
表格问题 {{ $t('trials:readingUnit:qsList:title:tableQs') }}
</el-button> </el-button>
<!-- 删除 -->
<el-button <el-button
v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)" v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)"
type="danger" type="danger"
@ -134,7 +155,7 @@
:disabled="scope.row.IsEnable" :disabled="scope.row.IsEnable"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
> >
删除 {{ $t('common:button:delete') }}
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -149,7 +170,7 @@
append-to-body append-to-body
custom-class="base-dialog-wrapper" custom-class="base-dialog-wrapper"
> >
<ClinicalQuestionForm <clinical-question-form
ref="addOrEdit" ref="addOrEdit"
:list="this.list" :list="this.list"
:clinical-id="clinicalId" :clinical-id="clinicalId"
@ -254,7 +275,8 @@ export default {
applySystemClinical({ applySystemClinical({
SystemClinicalId: this.clinicalId SystemClinicalId: this.clinicalId
}).then(res => { }).then(res => {
this.$message.success('应用成功') //
this.$message.success(this.$t('dictionary:clinicalDataQs:message:msg1'))
this.$emit('close') this.$emit('close')
}) })
}, },
@ -271,19 +293,19 @@ export default {
handleAdd() { handleAdd() {
this.rowData = { SystemClinicalId: this.data.Id, Id: '' } this.rowData = { SystemClinicalId: this.data.Id, Id: '' }
this.type = 'add' this.type = 'add'
this.addOrEdit.title = '添加' this.addOrEdit.title = this.$t('common:button:add')
this.addOrEdit.visible = true this.addOrEdit.visible = true
}, },
handleLook(row) { handleLook(row) {
this.rowData = { ...row } this.rowData = { ...row }
this.type = 'look' this.type = 'look'
this.addOrEdit.title = '查看' this.addOrEdit.title = this.$t('trials:enrolledReviews:button:view')
this.addOrEdit.visible = true this.addOrEdit.visible = true
}, },
handleEdit(row) { handleEdit(row) {
this.rowData = { ...row } this.rowData = { ...row }
this.type = 'edit' this.type = 'edit'
this.addOrEdit.title = '编辑' this.addOrEdit.title = this.$t('trials:readingUnit:qsList:title:edit')
this.addOrEdit.visible = true this.addOrEdit.visible = true
}, },
handleDelete(row) { handleDelete(row) {
@ -298,14 +320,14 @@ export default {
this.loading = false this.loading = false
if (res.IsSuccess) { if (res.IsSuccess) {
this.getList() this.getList()
this.$message.success('删除成功!') this.$message.success(this.$t('common:message:deletedSuccessfully'))
} }
}).catch(() => { this.loading = false }) }).catch(() => { this.loading = false })
}) })
}, },
handleConfig(row) { handleConfig(row) {
this.rowData = { ...row } this.rowData = { ...row }
this.config.title = `表格问题` this.config.title = this.$t('trials:readingUnit:qsList:title:tableQs')
this.config.visible = true this.config.visible = true
}, },
// //

View File

@ -6,10 +6,11 @@
size="small" size="small"
:rules="rules" :rules="rules"
:disabled="type === 'look'" :disabled="type === 'look'"
label-width="130px" label-width="180px"
> >
<div class="base-dialog-body"> <div class="base-dialog-body">
<el-form-item label="类型" prop="ClinicalQuestionType"> <!-- 类型 -->
<el-form-item :label="$t('trials:readingUnit:qsList:title:type')" prop="ClinicalQuestionType">
<el-select v-model="form.ClinicalQuestionType" clearable @change="((val)=>{typeChange(val, form)})"> <el-select v-model="form.ClinicalQuestionType" clearable @change="((val)=>{typeChange(val, form)})">
<el-option <el-option
v-for="item of $d.ClinicalQuestionType" v-for="item of $d.ClinicalQuestionType"
@ -19,31 +20,35 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 问题名称 -->
<el-form-item <el-form-item
label="问题名称" :label="$t('trials:readingUnit:qsList:title:qName')"
prop="QuestionName" prop="QuestionName"
> >
<el-input v-model="form.QuestionName" /> <el-input v-model="form.QuestionName" />
</el-form-item> </el-form-item>
<!-- 问题名称EN -->
<el-form-item <el-form-item
label="问题名称EN" :label="$t('trials:readingUnit:qsList:title:qNameEn')"
prop="QuestionEnName" prop="QuestionEnName"
> >
<el-input v-model="form.QuestionEnName" /> <el-input v-model="form.QuestionEnName" />
</el-form-item> </el-form-item>
<!-- 选项 -->
<el-form-item <el-form-item
v-if="form.ClinicalQuestionType === 'select' || form.ClinicalQuestionType === 'radio' || form.ClinicalQuestionType === 'checkbox'" v-if="form.ClinicalQuestionType === 'select' || form.ClinicalQuestionType === 'radio' || form.ClinicalQuestionType === 'checkbox'"
label="选项" :label="$t('trials:qcCfg:table:typeValue')"
prop="TypeValue" prop="TypeValue"
> >
<el-input <el-input
v-model="form.TypeValue" v-model="form.TypeValue"
placeholder="选项请用‘|’分割多个选项" :placeholder="$t('trials:qcCfg:message:typeValue')"
/> />
</el-form-item> </el-form-item>
<!-- 小数位数 -->
<el-form-item <el-form-item
v-if="form.ClinicalQuestionType === 'number'" v-if="form.ClinicalQuestionType === 'number'"
label="小数位数" :label="$t('trials:processCfg:form:digitPlaces')"
prop="DigitPlaces" prop="DigitPlaces"
> >
<el-radio-group <el-radio-group
@ -59,16 +64,17 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 单位 -->
<el-form-item <el-form-item
v-if="form.ClinicalQuestionType === 'number'" v-if="form.ClinicalQuestionType === 'number'"
label="单位" :label="$t('trials:readingUnit:qsList:title:unit')"
prop="Unit" prop="Unit"
> >
<el-input <el-input
v-model="form.Unit" v-model="form.Unit"
/> />
</el-form-item> </el-form-item>
<el-form-item v-if="form.ClinicalQuestionType !== 'group'" label="是否显示" prop="ClinicalQuestionShowEnum"> <el-form-item v-if="form.ClinicalQuestionType !== 'group'" :label="$t('trials:readingUnit:qsList:title:isShow')" prop="ClinicalQuestionShowEnum">
<el-radio-group <el-radio-group
v-model="form.ClinicalQuestionShowEnum" v-model="form.ClinicalQuestionShowEnum"
@change="((val)=>{isShowQuestionChange(val, form)})" @change="((val)=>{isShowQuestionChange(val, form)})"
@ -82,9 +88,10 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 显示依赖父问题 -->
<el-form-item <el-form-item
v-if="form.ClinicalQuestionType !== 'group' && form.ClinicalQuestionShowEnum===1" v-if="form.ClinicalQuestionType !== 'group' && form.ClinicalQuestionShowEnum===1"
label="显示依赖父问题" :label="$t('trials:readingUnit:qsList:title:parentId')"
prop="ParentId" prop="ParentId"
> >
<el-select <el-select
@ -101,7 +108,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 显示时依赖父问题触发值 --> <!-- 显示时依赖父问题触发值 -->
<el-form-item v-if="form.ParentId && form.ClinicalQuestionShowEnum===1" label="显示触发值" prop="ParentTriggerValue"> <el-form-item v-if="form.ParentId && form.ClinicalQuestionShowEnum===1" :label="$t('trials:qcCfg:table:parentTriggerValue')" prop="ParentTriggerValue">
<el-select v-model="form.ParentTriggerValue" clearable> <el-select v-model="form.ParentTriggerValue" clearable>
<el-option <el-option
v-for="item of parentTriggerValOptions" v-for="item of parentTriggerValOptions"
@ -111,7 +118,8 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="form.ClinicalQuestionType !== 'group' && form.ClinicalQuestionType !== 'table'" label="是否必填" prop="IsRequired"> <!-- 是否必填 -->
<el-form-item v-if="form.ClinicalQuestionType !== 'group' && form.ClinicalQuestionType !== 'table'" :label="$t('trials:readingUnit:qsList:title:isRequired')" prop="IsRequired">
<el-radio-group <el-radio-group
v-model="form.IsRequired" v-model="form.IsRequired"
> >
@ -124,7 +132,8 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item v-if="form.ClinicalQuestionType !== 'group'" label="问题分组"> <!-- 问题分组 -->
<el-form-item v-if="form.ClinicalQuestionType !== 'group'" :label="$t('trials:readingUnit:qsList:title:groupNameEn')">
<el-select v-model="form.GroupId" clearable :disabled="isParentExistGroup"> <el-select v-model="form.GroupId" clearable :disabled="isParentExistGroup">
<el-option <el-option
v-for="group of groupOptions" v-for="group of groupOptions"
@ -147,7 +156,8 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item v-if="form.ClinicalQuestionType !== 'table' && form.ClinicalQuestionType !== 'group' && form.ClinicalQuestionType !== 'number' && form.ClinicalQuestionType !== 'select'" label="最大长度"> <!-- 最大长度 -->
<el-form-item v-if="form.ClinicalQuestionType !== 'table' && form.ClinicalQuestionType !== 'group' && form.ClinicalQuestionType !== 'number' && form.ClinicalQuestionType !== 'select'" :label="$t('trials:readingUnit:qsList:title:MaxAnswerLength')">
<el-input-number <el-input-number
v-model="form.MaxAnswerLength" v-model="form.MaxAnswerLength"
controls-position="right" controls-position="right"
@ -155,7 +165,8 @@
:max="2000" :max="2000"
/> />
</el-form-item> </el-form-item>
<el-form-item v-if="form.ClinicalQuestionType === 'table'" label="最大行数"> <!-- 最大行数 -->
<el-form-item v-if="form.ClinicalQuestionType === 'table'" :label="$t('trials:readingUnit:qsList:title:maxQuestionCount')">
<el-input-number <el-input-number
v-model="form.MaxQuestionCount" v-model="form.MaxQuestionCount"
controls-position="right" controls-position="right"
@ -163,10 +174,12 @@
:max="10" :max="10"
/> />
</el-form-item> </el-form-item>
<el-form-item v-if="form.ClinicalQuestionType === 'upload'" label="最大上传个数"> <!-- 最大上传个数 -->
<el-form-item v-if="form.ClinicalQuestionType === 'upload'" :label="$t('trials:readingUnit:qsList:title:imageCount')">
<el-input-number v-model="form.ImageCount" controls-position="right" :min="1" :max="10" /> <el-input-number v-model="form.ImageCount" controls-position="right" :min="1" :max="10" />
</el-form-item> </el-form-item>
<el-form-item label="序号" prop="ShowOrder"> <!-- 序号 -->
<el-form-item :label="$t('trials:readingUnit:qsList:title:order')" prop="ShowOrder">
<el-input-number <el-input-number
v-model="form.ShowOrder" v-model="form.ShowOrder"
controls-position="right" controls-position="right"
@ -227,7 +240,7 @@ export default {
} else { } else {
var arr = value.split('|') var arr = value.split('|')
if (new Set(arr).size !== arr.length) { if (new Set(arr).size !== arr.length) {
callback(new Error('选项不允许存在相同值')) callback(new Error(this.$t('trials:qcCfg:message:msg1')))
} else { } else {
callback() callback()
} }
@ -264,29 +277,29 @@ export default {
}, },
rules: { rules: {
Type: [ Type: [
{ required: true, message: '请选择', trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }
], ],
LesionType: [ LesionType: [
{ required: true, message: '请选择', trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }
], ],
QuestionName: [{ required: true, message: '请注明', trigger: 'blur' }, QuestionName: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
{ max: 300, message: '最大长度为 300' }], { max: 300, message: this.$t('common:ruleMessage:maxLength') + ' 300' }],
QuestionGenre: [{ required: true, message: '请选择', trigger: 'blur' }], QuestionGenre: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
TypeValue: [{ required: true, message: '请注明', trigger: 'blur' }, TypeValue: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
{ validator: validateTypeVal, trigger: 'blur' }, { validator: validateTypeVal, trigger: 'blur' },
{ max: 500, message: '最大长度为 500' }], { max: 500, message: this.$t('common:ruleMessage:maxLength') + ' 500' }],
DictionaryCode: [{ required: true, message: '请选择', trigger: 'blur' }], DictionaryCode: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
IsCheckDate: [{ required: true, message: '请选择', trigger: 'blur' }], IsCheckDate: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
ClinicalQuestionShowEnum: [{ required: true, message: '请选择', trigger: 'blur' }], ClinicalQuestionShowEnum: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
IsRequired: [{ required: true, message: '请选择', trigger: 'blur' }], IsRequired: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
ParentId: [{ required: true, message: '请选择', trigger: 'blur' }], ParentId: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
ParentTriggerValue: [ ParentTriggerValue: [
{ required: true, message: '请选择', trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }
], ],
RelevanceId: [{ required: true, message: '请选择', trigger: 'blur' }], RelevanceId: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
RelevanceValue: [{ required: true, message: '请选择', trigger: 'blur' }], RelevanceValue: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
GroupName: [{ required: true, message: '请注明', trigger: 'blur' }, GroupName: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
{ max: 50, message: '最大长度为 50' }] { max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' }]
}, },
loading: false, loading: false,
btnLoading: false, btnLoading: false,

View File

@ -9,7 +9,8 @@
label-width="120px" label-width="120px"
> >
<div class="base-dialog-body"> <div class="base-dialog-body">
<el-form-item label="类型" prop="ClinicalTableQuestionType"> <!-- 类型 -->
<el-form-item :label="$t('trials:readingUnit:qsList:title:type')" prop="ClinicalTableQuestionType">
<el-select <el-select
v-model="form.ClinicalTableQuestionType" v-model="form.ClinicalTableQuestionType"
@change="((val)=>{qsTypeChange(val, form)})" @change="((val)=>{qsTypeChange(val, form)})"
@ -23,28 +24,31 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 问题名称 -->
<el-form-item <el-form-item
v-if="form.ClinicalTableQuestionType !== 'group'" v-if="form.ClinicalTableQuestionType !== 'group'"
label="问题名称" :label="$t('trials:readingUnit:qsList:title:qName')"
prop="QuestionName" prop="QuestionName"
> >
<el-input <el-input
v-model="form.QuestionName" v-model="form.QuestionName"
/> />
</el-form-item> </el-form-item>
<!-- 选项 -->
<el-form-item <el-form-item
label="选项" :label="$t('trials:readingUnit:qsList:title:typeValue')"
v-if="form.ClinicalTableQuestionType === 'select' || form.ClinicalTableQuestionType === 'radio'" v-if="form.ClinicalTableQuestionType === 'select' || form.ClinicalTableQuestionType === 'radio'"
prop="TypeValue" prop="TypeValue"
> >
<el-input <el-input
v-model="form.TypeValue" v-model="form.TypeValue"
placeholder="选项请用‘|’分割多个选项" :placeholder="$t('trials:readingUnit:qsList:message:msg3')"
/> />
</el-form-item> </el-form-item>
<!-- 小数位数 -->
<el-form-item <el-form-item
v-if="form.ClinicalTableQuestionType === 'number'" v-if="form.ClinicalTableQuestionType === 'number'"
label="小数位数" :label="$t('trials:readingUnit:qsList:title:digitPlaces')"
> >
<el-radio-group <el-radio-group
v-model="form.DigitPlaces" v-model="form.DigitPlaces"
@ -58,19 +62,18 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 数值单位 --> <!-- 单位 -->
<el-form-item <el-form-item
v-if="form.ClinicalTableQuestionType === 'number'" v-if="form.ClinicalTableQuestionType === 'number'"
label="单位" :label="$t('trials:readingUnit:qsList:title:unit')"
> >
<el-input <el-input
v-model="form.Unit" v-model="form.Unit"
placeholder="请输入单位"
/> />
</el-form-item> </el-form-item>
<!-- 数值单位 --> <!-- 问题标记 -->
<el-form-item <el-form-item
label="问题标记" :label="$t('dictionary:clinicalDataQs:title:qsMark')"
> >
<el-select <el-select
v-model="form.clinicalTableQuestionMarkEnum" v-model="form.clinicalTableQuestionMarkEnum"
@ -84,16 +87,17 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 数值单位 --> <!-- 是否必填 -->
<el-form-item <el-form-item
label="是否必填" :label="$t('trials:readingUnit:qsList:title:isRequired')"
prop="IsRequired" prop="IsRequired"
> >
<el-radio-group v-model="form.IsRequired"> <el-radio-group v-model="form.IsRequired">
<el-radio v-for="item of $d.QuestionRequired" :key="`IsRequired${item.value}`" :label="item.value">{{ item.label }}</el-radio> <el-radio v-for="item of $d.QuestionRequired" :key="`IsRequired${item.value}`" :label="item.value">{{ item.label }}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="序号" prop="ShowOrder"> <!-- 序号 -->
<el-form-item :label="$t('trials:qcCfg:table:order')" prop="ShowOrder">
<el-input-number <el-input-number
v-model="form.ShowOrder" v-model="form.ShowOrder"
controls-position="right" controls-position="right"
@ -156,7 +160,7 @@ export default {
} else { } else {
var arr = value.split('|') var arr = value.split('|')
if (new Set(arr).size !== arr.length) { if (new Set(arr).size !== arr.length) {
callback(new Error('选项不允许存在相同值')) callback(new Error(this.$t('trials:qcCfg:message:msg1')))
} else { } else {
callback() callback()
} }
@ -193,26 +197,26 @@ export default {
}, },
rules: { rules: {
Type: [ Type: [
{ required: true, message: '请选择', trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }
], ],
QuestionName: [{ required: true, message: '请注明', trigger: 'blur' }, QuestionName: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
{ max: 300, message: '最大长度为 300' }], { max: 300, message: this.$t('common:ruleMessage:maxLength') + ' 300' }],
TypeValue: [{ required: true, message: '请注明', trigger: 'blur' }, TypeValue: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
{ validator: validateTypeVal, trigger: 'blur' }, { validator: validateTypeVal, trigger: 'blur' },
{ max: 200, message: '最大长度为 200' }], { max: 200, message: this.$t('common:ruleMessage:maxLength') + ' 200' }],
ShowQuestion: [{ required: true, message: '请选择', trigger: 'blur' }], ShowQuestion: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
IsRequired: [{ required: true, message: '请选择', trigger: 'blur' }], IsRequired: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
ParentId: [{ required: true, message: '请选择', trigger: 'blur' }], ParentId: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
ParentTriggerValue: [ ParentTriggerValue: [
{ required: true, message: '请选择', trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }
], ],
RelevanceId: [{ required: true, message: '请选择', trigger: 'blur' }], RelevanceId: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
RelevanceValue: [{ required: true, message: '请选择', trigger: 'blur' }], RelevanceValue: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
DataTableName: [{ required: true, message: '请选择', trigger: 'blur' }], DataTableName: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
DataTableColumn: [{ required: true, message: '请选择', trigger: 'blur' }], DataTableColumn: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
// DictionaryCode: [{ required: true, message: '', trigger: 'blur' }], // DictionaryCode: [{ required: true, message: '', trigger: 'blur' }],
DependParentId: [{ required: true, message: '请选择', trigger: 'blur' }] DependParentId: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }]
}, },
loading: false, loading: false,
parentOptions: [], parentOptions: [],

View File

@ -10,7 +10,7 @@
type="primary" type="primary"
@click="handleAdd" @click="handleAdd"
> >
新增 {{ $t('common:button:new') }}
</el-button> </el-button>
</div> </div>
@ -20,39 +20,45 @@
size="small" size="small"
height="500" height="500"
> >
<!-- 序号 -->
<el-table-column <el-table-column
prop="ShowOrder" prop="ShowOrder"
label="序号" :label="$t('trials:qcCfg:table:order')"
min-width="70" min-width="70"
/> />
<!-- 名称 -->
<el-table-column <el-table-column
prop="QuestionName" prop="QuestionName"
label="名称" :label="$t('trials:readingUnit:qsList:title:qName')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 名称(EN) -->
<el-table-column <el-table-column
prop="QuestionEnName" prop="QuestionEnName"
label="名称(EN)" :label="$t('trials:readingUnit:qsList:title:qNameEn')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 类型 -->
<el-table-column <el-table-column
prop="Type" prop="Type"
label="类型" :label="$t('trials:readingUnit:qsList:title:type')"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('ClinicalTableQuestionType',scope.row.ClinicalTableQuestionType) }} {{ $fd('ClinicalTableQuestionType',scope.row.ClinicalTableQuestionType) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 选项 -->
<el-table-column <el-table-column
prop="TypeValue" prop="TypeValue"
label="选项" :label="$t('trials:readingUnit:qsList:title:typeValue')"
show-overflow-tooltip show-overflow-tooltip
min-width="110" min-width="110"
/> />
<!-- 是否必填 -->
<el-table-column <el-table-column
prop="IsRequired" prop="IsRequired"
label="是否必填" :label="$t('trials:qcCfg:table:isRequired')"
min-width="90" min-width="90"
show-overflow-tooltip show-overflow-tooltip
> >
@ -60,36 +66,40 @@
{{ $fd('YesOrNo',scope.row.IsRequired) }} {{ $fd('YesOrNo',scope.row.IsRequired) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 操作 -->
<el-table-column <el-table-column
prop="" prop=""
label="操作" :label="$t('common:action:action')"
width="150" width="150"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 查看 -->
<el-button <el-button
v-if="isCompleteConfig" v-if="isCompleteConfig"
type="primary" type="primary"
size="mini" size="mini"
@click="handleLook(scope.row)" @click="handleLook(scope.row)"
> >
查看 {{ $t('trials:readingUnit:qsList:title:view') }}
</el-button> </el-button>
<!-- 编辑 -->
<el-button <el-button
v-if="!isCompleteConfig" v-if="!isCompleteConfig"
type="primary" type="primary"
size="mini" size="mini"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
> >
编辑 {{ $t('common:button:edit') }}
</el-button> </el-button>
<!-- 删除 -->
<el-button <el-button
v-if="!isCompleteConfig" v-if="!isCompleteConfig"
type="danger" type="danger"
size="mini" size="mini"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
> >
删除 {{ $t('common:button:delete') }}
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -104,7 +114,7 @@
append-to-body append-to-body
custom-class="base-dialog-wrapper" custom-class="base-dialog-wrapper"
> >
<ClinicalQuestionTableForm <clinical-question-table-form
:clinical-id="clinicalId" :clinical-id="clinicalId"
:clinical-info="clinicalInfo" :clinical-info="clinicalInfo"
ref="addOrEdit" ref="addOrEdit"
@ -165,7 +175,7 @@ export default {
handleLook(row) { handleLook(row) {
this.type = 'look' this.type = 'look'
this.rowData = { ...row } this.rowData = { ...row }
this.addOrEdit.title = '编辑' this.addOrEdit.title = this.$t('common:button:edit')
this.addOrEdit.visible = true this.addOrEdit.visible = true
}, },
getList() { getList() {
@ -178,13 +188,13 @@ export default {
handleAdd() { handleAdd() {
this.type = 'add' this.type = 'add'
this.rowData = {} this.rowData = {}
this.addOrEdit.title = '添加' this.addOrEdit.title = this.$t('common:button:add')
this.addOrEdit.visible = true this.addOrEdit.visible = true
}, },
handleEdit(row) { handleEdit(row) {
this.type = 'edit' this.type = 'edit'
this.rowData = { ...row } this.rowData = { ...row }
this.addOrEdit.title = '编辑' this.addOrEdit.title = this.$t('common:button:edit')
this.addOrEdit.visible = true this.addOrEdit.visible = true
}, },
handleDelete(row) { handleDelete(row) {
@ -199,7 +209,7 @@ export default {
this.loading = false this.loading = false
if (res.IsSuccess) { if (res.IsSuccess) {
this.getList() this.getList()
this.$message.success('删除成功!') this.$message.success(this.$t('common:message:deletedSuccessfully'))
} }
}).catch(() => { this.loading = false }) }).catch(() => { this.loading = false })
}) })

View File

@ -3,7 +3,8 @@
<!-- 搜索框 --> <!-- 搜索框 -->
<div class="search"> <div class="search">
<el-form :inline="true" size="mini" class="base-search-form"> <el-form :inline="true" size="mini" class="base-search-form">
<el-form-item label="问题名称:"> <!-- 问题名称 -->
<el-form-item :label="$t('trials:MIMqcCfg:table:questionName')">
<el-input v-model="searchData.QuestionName" clearable style="width:120px;" /> <el-input v-model="searchData.QuestionName" clearable style="width:120px;" />
</el-form-item> </el-form-item>
<!-- 语言类型 --> <!-- 语言类型 -->
@ -22,7 +23,8 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="类型:"> <!-- 类型 -->
<el-form-item :label="$t('trials:medicalFeedbackCfg:title:taskType')">
<el-input v-model="searchData.Type" clearable style="width:120px;" /> <el-input v-model="searchData.Type" clearable style="width:120px;" />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@ -32,7 +34,8 @@
<el-option v-for="item of $d.CriterionType" :key="item.id" :value="item.value" :label="item.label" /> <el-option v-for="item of $d.CriterionType" :key="item.id" :value="item.value" :label="item.label" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否通用:"> <!-- 是否通用 -->
<el-form-item :label="$t('dictionary:medicalAudit:label:IsGeneral')">
<el-select v-model="searchData.IsGeneral"> <el-select v-model="searchData.IsGeneral">
<el-option v-for="item of $d.YesOrNo" :key="item.id" :value="item.value" :label="item.label" /> <el-option v-for="item of $d.YesOrNo" :key="item.id" :value="item.value" :label="item.label" />
</el-select> </el-select>
@ -51,7 +54,9 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<span style="margin-left:auto"> <span style="margin-left:auto">
<el-button type="primary" size="mini" @click="handleAdd"></el-button> <el-button type="primary" size="mini" @click="handleAdd">
{{ $t('common:button:new') }}
</el-button>
</span> </span>
</div> </div>
@ -66,13 +71,13 @@
<!-- 序号 --> <!-- 序号 -->
<el-table-column <el-table-column
prop="ShowOrder" prop="ShowOrder"
label="序号" :label="$t('trials:qcCfg:table:order')"
width="60" width="60"
/> />
<!-- 审核问题 --> <!-- 审核问题 -->
<el-table-column <el-table-column
prop="QuestionName" prop="QuestionName"
label="问题名称" :label="$t('trials:MIMqcCfg:table:questionName')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 审核问题 --> <!-- 审核问题 -->
@ -88,7 +93,7 @@
<!-- 类型 --> <!-- 类型 -->
<el-table-column <el-table-column
prop="Type" prop="Type"
label="类型" :label="$t('trials:qcCfg:table:type')"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
@ -98,13 +103,13 @@
<!-- 选项 --> <!-- 选项 -->
<el-table-column <el-table-column
prop="TypeValue" prop="TypeValue"
label="选项" :label="$t('trials:qcCfg:table:typeValue')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 任务类型 --> <!-- 任务类型 -->
<el-table-column <el-table-column
prop="ReadingCategory" prop="ReadingCategory"
label="任务类型" :label="$t('trials:medicalFeedbackCfg:title:taskType')"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
@ -136,7 +141,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="IsGeneral" prop="IsGeneral"
label="是否通用" :label="$t('dictionary:medicalAudit:label:IsGeneral')"
width="80" width="80"
show-overflow-tooltip show-overflow-tooltip
> >
@ -149,19 +154,19 @@
<!-- 父问题 --> <!-- 父问题 -->
<el-table-column <el-table-column
prop="ParentShowOrder" prop="ParentShowOrder"
label="父问题" :label="$t('trials:qcCfg:table:parentQs')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 父问题触发值 --> <!-- 父问题触发值 -->
<el-table-column <el-table-column
prop="ParentTriggerValue" prop="ParentTriggerValue"
label="父问题触发值" :label="$t('trials:qcCfg:table:parentTriggerValue')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 是否必填 --> <!-- 是否必填 -->
<el-table-column <el-table-column
prop="IsRequired" prop="IsRequired"
label="是否必填" :label="$t('trials:qcCfg:table:isRequired')"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('YesOrNo', scope.row.IsRequired) }} {{ $fd('YesOrNo', scope.row.IsRequired) }}
@ -170,28 +175,28 @@
<!-- 启用状态 --> <!-- 启用状态 -->
<el-table-column <el-table-column
prop="IsEnable" prop="IsEnable"
label="启用状态" :label="$t('trials:qcCfg:table:isEnable')"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('YesOrNo', scope.row.IsEnable) }} {{ $fd('YesOrNo', scope.row.IsEnable) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="Action" width="200" fixed="right"> <el-table-column :label="$t('common:action:action')" width="200" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="primary" type="primary"
size="mini" size="mini"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
> >
编辑 {{ $t('common:button:edit') }}
</el-button> </el-button>
<el-button <el-button
type="danger" type="danger"
size="mini" size="mini"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
> >
删除 {{ $t('common:button:delete') }}
</el-button> </el-button>
</template> </template>
@ -249,13 +254,13 @@ export default {
// //
handleAdd() { handleAdd() {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['medicalAuditForm'].openDialog('新增', {}) this.$refs['medicalAuditForm'].openDialog(this.$t('common:button:new'), {})
}) })
}, },
// //
handleEdit(row) { handleEdit(row) {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['medicalAuditForm'].openDialog('编辑', row) this.$refs['medicalAuditForm'].openDialog(this.$t('common:button:edit'), row)
}) })
}, },
// //
@ -271,7 +276,7 @@ export default {
this.loading = false this.loading = false
if (res.IsSuccess) { if (res.IsSuccess) {
this.getList() this.getList()
this.$message.success('删除成功!') this.$message.success(this.$t('common:message:deletedSuccessfully'))
} }
}).catch(() => { this.loading = false }) }).catch(() => { this.loading = false })
}) })

View File

@ -6,11 +6,12 @@
v-loading="loading" v-loading="loading"
:model="form" :model="form"
:rules="rules" :rules="rules"
label-width="120px" label-width="140px"
size="small" size="small"
> >
<el-form-item label="问题名称" prop="QuestionName"> <el-form-item :label="$t('trials:MIMqcCfg:table:questionName')" prop="QuestionName">
<el-input v-model="form.QuestionName" /> <el-input v-model="form.QuestionName" type="textarea"
:rows="2"/>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
:label="$t('common:title:languageType')" :label="$t('common:title:languageType')"
@ -27,20 +28,24 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="类型"> <!-- 类型 -->
<el-form-item :label="$t('trials:qcCfg:table:type')">
<el-select v-model="form.Type" @change="((val)=>{typeChange(val, form)})"> <el-select v-model="form.Type" @change="((val)=>{typeChange(val, form)})">
<el-option value="select" label="下拉框" /> <el-option
<el-option value="input" label="单行文本框" /> v-for="item of $d.QcType"
<el-option value="textarea" label="多行文本框" /> :key="item.value"
<el-option value="radio" label="单选框" /> :value="item.value"
:label="item.label"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="form.Type !== 'textarea' && form.Type !== 'input'" label="选项: " prop="TypeValue"> <!-- 选项 -->
<el-input v-model="form.TypeValue" placeholder="选项请用‘|’分割多个选项" /> <el-form-item v-if="form.Type !== 'textarea' && form.Type !== 'input'" :label="$t('trials:qcCfg:table:typeValue')" prop="TypeValue">
<el-input v-model="form.TypeValue" :placeholder="$t('trials:qcCfg:message:typeValue')" />
</el-form-item> </el-form-item>
<!-- 任务类型 --> <!-- 是否通用 -->
<el-form-item <el-form-item
label="是否通用" :label="$t('dictionary:medicalAudit:label:IsGeneral')"
prop="IsGeneral" prop="IsGeneral"
> >
<el-switch <el-switch
@ -58,9 +63,10 @@
<el-option v-for="item of $d.CriterionType" :key="item.id" :value="item.value" :label="item.label" /> <el-option v-for="item of $d.CriterionType" :key="item.id" :value="item.value" :label="item.label" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 任务类型 -->
<el-form-item <el-form-item
v-if="form.Type === 'select' || form.Type === 'radio'" v-if="form.Type === 'select' || form.Type === 'radio'"
label="任务类型" :label="$t('trials:medicalFeedbackCfg:title:taskType')"
prop="ReadingCategory" prop="ReadingCategory"
> >
<el-select v-model="form.ReadingCategory" @change="((val)=>{readingCategoryChange(val, form)})"> <el-select v-model="form.ReadingCategory" @change="((val)=>{readingCategoryChange(val, form)})">
@ -69,7 +75,7 @@
</el-form-item> </el-form-item>
<!-- 父问题 --> <!-- 父问题 -->
<el-form-item <el-form-item
label="父问题" :label="$t('trials:qcCfg:table:parentQs')"
> >
<el-select <el-select
v-model="form.ParentId" v-model="form.ParentId"
@ -87,7 +93,7 @@
<!-- 父问题触发值 --> <!-- 父问题触发值 -->
<el-form-item <el-form-item
v-if="form.ParentId" v-if="form.ParentId"
label="父问题触发值" :label="$t('trials:qcCfg:table:parentTriggerValue')"
prop="ParentTriggerValue" prop="ParentTriggerValue"
> >
<el-select <el-select
@ -101,26 +107,40 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否必填"> <el-form-item :label="$t('trials:qcCfg:table:isRequired')">
<el-radio-group v-model="form.IsRequired"> <el-radio-group v-model="form.IsRequired">
<el-radio :label="true"></el-radio> <el-radio
<el-radio :label="false"></el-radio> v-for="item of $d.YesOrNo"
:key="`IsRequired${item.value}`"
:label="item.value"
>
{{ item.label }}
</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="启用状态"> <el-form-item :label="$t('trials:qcCfg:table:isEnable')">
<el-radio-group v-model="form.IsEnable"> <el-radio-group v-model="form.IsEnable">
<el-radio :label="true">启用</el-radio> <el-radio
<el-radio :label="false">停用</el-radio> v-for="item of $d.YesOrNo"
:key="item.value"
:label="item.value"
>
{{ item.label }}
</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="序号" prop="ShowOrder"> <el-form-item :label="$t('trials:qcCfg:table:order')" prop="ShowOrder">
<el-input-number v-model="form.ShowOrder" controls-position="right" :min="0" /> <el-input-number v-model="form.ShowOrder" controls-position="right" :min="0" />
</el-form-item> </el-form-item>
</el-form> </el-form>
</template> </template>
<template slot="dialog-footer"> <template slot="dialog-footer">
<el-button :disabled="btnLoading" size="small" type="primary" @click="handleCancle"></el-button> <el-button :disabled="btnLoading" size="small" type="primary" @click="handleCancle">
<el-button size="small" type="primary" :loading="btnLoading" @click="handleSave"></el-button> {{ $t('common:button:cancel') }}
</el-button>
<el-button size="small" type="primary" :loading="btnLoading" @click="handleSave">
{{ $t('common:button:save') }}
</el-button>
</template> </template>
</base-model> </base-model>
</template> </template>
@ -154,7 +174,7 @@ export default {
} else { } else {
var arr = value.split('|') var arr = value.split('|')
if (new Set(arr).size !== arr.length) { if (new Set(arr).size !== arr.length) {
callback(new Error('选项不允许存在相同值')) callback(new Error(this.$t('trials:medicalFeedbackCfg:message:msg2')))
} else { } else {
callback() callback()
} }
@ -164,11 +184,11 @@ export default {
btnLoading: false, btnLoading: false,
form: formDataDefault(), form: formDataDefault(),
rules: { rules: {
QuestionName: [{ required: true, message: 'Please specify', trigger: 'blur' }, QuestionName: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
{ max: 300, message: 'The maximum length is 300' }], { max: 300, message: `${this.$t('common:ruleMessage:maxLength')} 300` }],
TypeValue: [{ required: true, message: 'Please specify', trigger: 'blur' }, TypeValue: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
{ validator: validateTypeVal, trigger: 'blur' }, { validator: validateTypeVal, trigger: 'blur' },
{ max: 200, message: 'The maximum length is 200' }], { max: 200, message: `${this.$t('common:ruleMessage:maxLength')} 200` }],
ParentTriggerValue: [ ParentTriggerValue: [
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }
], ],

View File

@ -9,22 +9,26 @@
> >
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<!-- Code -->
<el-form-item label="Code: " prop="Code"> <el-form-item label="Code: " prop="Code">
<el-input style="width: 300px" v-model="form.Code" /> <el-input style="width: 300px" v-model="form.Code" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="邮件主题CN" prop="EmailTopicCN"> <!-- 邮件主题CN -->
<el-form-item :label="$t('trials:emailManageCfg:table:EmailTopicCN')" prop="EmailTopicCN">
<el-input style="width: 300px" v-model="form.EmailTopicCN" /> <el-input style="width: 300px" v-model="form.EmailTopicCN" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="邮件主题EN" prop="EmailTopic"> <!-- 邮件主题EN -->
<el-form-item :label="$t('trials:emailManageCfg:table:EmailTopic')" prop="EmailTopic">
<el-input style="width: 300px" v-model="form.EmailTopic" /> <el-input style="width: 300px" v-model="form.EmailTopic" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="邮件延时发送s数" prop="EmailDelaySeconds"> <!-- 邮件延时发送s数 -->
<el-form-item :label="$t('dictionary:email:label:emailDelaySeconds')" prop="EmailDelaySeconds">
<el-input <el-input
v-model.number="form.EmailDelaySeconds" v-model.number="form.EmailDelaySeconds"
style="width: 300px" style="width: 300px"
@ -35,7 +39,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="业务层级" prop="BusinessLevelEnum"> <!-- 业务层级 -->
<el-form-item :label="$t('dictionary:email:label:businessLevel')" prop="BusinessLevelEnum">
<el-select v-model="form.BusinessLevelEnum" clearable class="mr"> <el-select v-model="form.BusinessLevelEnum" clearable class="mr">
<el-option <el-option
v-for="item of $d.BusinessLevel" v-for="item of $d.BusinessLevel"
@ -47,7 +52,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="业务模块" prop="BusinessModuleEnum"> <!-- 业务模块 -->
<el-form-item :label="$t('dictionary:email:label:businessModule')" prop="BusinessModuleEnum">
<el-select v-model="form.BusinessModuleEnum" clearable class="mr"> <el-select v-model="form.BusinessModuleEnum" clearable class="mr">
<el-option <el-option
v-for="item of $d.BusinessModule" v-for="item of $d.BusinessModule"
@ -59,7 +65,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="业务场景" prop="BusinessScenarioEnum"> <!-- 业务场景 -->
<el-form-item :label="$t('trials:emailManageCfg:table:BusinessScenarioEnum')" prop="BusinessScenarioEnum">
<el-select v-model="form.BusinessScenarioEnum" clearable class="mr"> <el-select v-model="form.BusinessScenarioEnum" clearable class="mr">
<el-option <el-option
v-for="item of $d.Email_BusinessScenario" v-for="item of $d.Email_BusinessScenario"
@ -71,7 +78,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="收件人" prop="ToUserTypeList"> <!-- 收件人 -->
<el-form-item :label="$t('trials:emailManageCfg:title:toUserTypeList')" prop="ToUserTypeList">
<el-select <el-select
v-model="form.ToUserTypeList" v-model="form.ToUserTypeList"
clearable clearable
@ -88,7 +96,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="抄送人" prop="CopyUserTypeList"> <!-- 抄送人 -->
<el-form-item :label="$t('trials:emailManageCfg:title:copyUserTypeList')" prop="CopyUserTypeList">
<el-select <el-select
v-model="form.CopyUserTypeList" v-model="form.CopyUserTypeList"
clearable clearable
@ -105,7 +114,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="加急状态" prop="EmailUrgentEnum"> <!-- 加急状态 -->
<el-form-item :label="$t('dictionary:email:label:IsUrgent')" prop="EmailUrgentEnum">
<el-select <el-select
v-model="form.EmailUrgentEnum" v-model="form.EmailUrgentEnum"
@change=" @change="
@ -126,33 +136,46 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<!-- 发送周期和时间 -->
<el-form-item <el-form-item
label="发送周期和时间" :label="$t('trials:emailManageCfg:table:EmailCron')"
v-if="form.EmailUrgentEnum !== 1" v-if="form.EmailUrgentEnum !== 1"
prop="EmailCron" prop="EmailCron"
> >
<el-input style="width: 300px" readonly v-model="form.EmailCron" /> <el-input style="width: 300px" readonly v-model="form.EmailCron" />
<el-button type="primary" @click="showDialog"> cron</el-button> <!-- 生成 cron -->
<el-button type="primary" @click="showDialog"> {{ $t('dictionary:email:button:cron') }} </el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否需要回执" prop="IsReturnRequired"> <!-- 是否需要回执 -->
<el-form-item :label="$t('trials:emailManageCfg:title:isReturnRequired')" prop="IsReturnRequired">
<el-radio-group v-model="form.IsReturnRequired"> <el-radio-group v-model="form.IsReturnRequired">
<el-radio :label="true"></el-radio> <el-radio
<el-radio :label="false"></el-radio> v-for="item of $d.YesOrNo"
:label="item.value"
:key="`IsReturnRequired${item.value}`"
>{{ item.label }}</el-radio
>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否自动发送" prop="IsAutoSend"> <!-- 是否自动发送 -->
<el-form-item :label="$t('trials:emailManageCfg:table:IsAutoSend')" prop="IsAutoSend">
<el-radio-group v-model="form.IsAutoSend"> <el-radio-group v-model="form.IsAutoSend">
<el-radio :label="true"></el-radio> <el-radio
<el-radio :label="false"></el-radio> v-for="item of $d.YesOrNo"
:label="item.value"
:key="`IsAutoSend${item.value}`"
>{{ item.label }}</el-radio
>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" v-if="systemLevel"> <el-col :span="12" v-if="systemLevel">
<el-form-item label="是否区分标准" prop="IsDistinguishCriteria"> <!-- 是否区分标准 -->
<el-form-item :label="$t('dictionary:email:button:isDistinguishCriteria')" prop="IsDistinguishCriteria">
<el-radio-group <el-radio-group
v-model="form.IsDistinguishCriteria" v-model="form.IsDistinguishCriteria"
@change=" @change="
@ -161,8 +184,12 @@
} }
" "
> >
<el-radio :label="true"></el-radio> <el-radio
<el-radio :label="false"></el-radio> v-for="item of $d.YesOrNo"
:label="item.value"
:key="`IsDistinguishCriteria${item.value}`"
>{{ item.label }}</el-radio
>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -183,15 +210,21 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否启用" prop="IsEnable"> <!-- 是否启用 -->
<el-form-item :label="$t('trials:emailManageCfg:table:IsEnable')" prop="IsEnable">
<el-radio-group v-model="form.IsEnable"> <el-radio-group v-model="form.IsEnable">
<el-radio :label="true"></el-radio> <el-radio
<el-radio :label="false"></el-radio> v-for="item of $d.YesOrNo"
:label="item.value"
:key="`IsEnable${item.value}`"
>{{ item.label }}</el-radio
>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="附件CN" prop="IsEnable"> <!-- 附件CN -->
<el-form-item :label="$t('trials:emailManageCfg:table:fileListCN')" prop="IsEnable">
<el-upload <el-upload
class="upload-demo" class="upload-demo"
action action
@ -213,7 +246,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="附件EN" prop="IsEnable"> <!-- 附件EN -->
<el-form-item :label="$t('trials:emailManageCfg:table:fileListEN')" prop="IsEnable">
<el-upload <el-upload
class="upload-demo" class="upload-demo"
action action
@ -235,8 +269,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<!-- 邮件内容模版CN -->
<el-form-item <el-form-item
label="邮件内容模版CN" :label="$t('dictionary:email:label:emailHtmlContentCN')"
prop="EmailHtmlContentCN" prop="EmailHtmlContentCN"
style="position: relative" style="position: relative"
> >
@ -254,8 +289,9 @@
{{ $t('common:button:preview') }} {{ $t('common:button:preview') }}
</el-button> </el-button>
</el-form-item> </el-form-item>
<!-- 邮件内容模版EN -->
<el-form-item <el-form-item
label="邮件内容模版EN" :label="$t('dictionary:email:label:emailHtmlContent')"
prop="EmailHtmlContent" prop="EmailHtmlContent"
style="position: relative" style="position: relative"
> >
@ -278,18 +314,20 @@
style="text-align: right; margin-top: 10px; padding-bottom: 10px" style="text-align: right; margin-top: 10px; padding-bottom: 10px"
> >
<el-form-item style="text-align: right"> <el-form-item style="text-align: right">
<el-button size="small" type="primary" @click="handleSave" <el-button size="small" type="primary" @click="handleSave">
>Save</el-button {{ $t('common:button:save') }}
> </el-button>
</el-form-item> </el-form-item>
</div> </div>
<el-dialog append-to-body title="生成 cron" :visible.sync="showCron"> <!-- 生成 cron -->
<el-dialog append-to-body :title="$t('dictionary:email:button:cron')" :visible.sync="showCron">
<vcrontab <vcrontab
:hideComponent="['year']" :hideComponent="['year']"
@hide="showCron = false" @hide="showCron = false"
@fill="crontabFill" @fill="crontabFill"
:expression="expression" :expression="expression"
></vcrontab> >
</vcrontab>
</el-dialog> </el-dialog>
</el-form> </el-form>
</template> </template>
@ -349,18 +387,18 @@ export default {
EmailDelaySeconds: null, EmailDelaySeconds: null,
}, },
rules: { rules: {
Code: [{ required: true, message: 'Please select', trigger: ['blur'] }], Code: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] }],
BusinessScenarioEnum: [ BusinessScenarioEnum: [
{ required: true, message: 'Please select', trigger: ['blur'] }, { required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] },
], ],
EmailTopicCN: [ EmailTopicCN: [
{ required: true, message: 'Please select', trigger: ['blur'] }, { required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] },
], ],
EmailTopic: [ EmailTopic: [
{ required: true, message: 'Please select', trigger: ['blur'] }, { required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] },
], ],
BusinessLevelEnum: [ BusinessLevelEnum: [
{ required: true, message: 'Please select', trigger: ['blur'] }, { required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] },
], ],
// ToUserTypeList: [ // ToUserTypeList: [
// { required: true, message: 'Please select', trigger: ['blur'] }, // { required: true, message: 'Please select', trigger: ['blur'] },
@ -369,16 +407,16 @@ export default {
// { required: true, message: 'Please select', trigger: ['blur'] }, // { required: true, message: 'Please select', trigger: ['blur'] },
// ], // ],
EmailUrgentEnum: [ EmailUrgentEnum: [
{ required: true, message: 'Please select', trigger: ['blur'] }, { required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] },
], ],
EmailHtmlContentCN: [ EmailHtmlContentCN: [
{ required: true, message: 'Please select', trigger: ['blur'] }, { required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] },
], ],
EmailHtmlContent: [ EmailHtmlContent: [
{ required: true, message: 'Please select', trigger: ['blur'] }, { required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] },
], ],
CriterionTypeEnum: [ CriterionTypeEnum: [
{ required: true, message: 'Please select', trigger: ['blur'] }, { required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] },
], ],
}, },
scenarioOption: [], scenarioOption: [],
@ -416,7 +454,7 @@ export default {
}, },
beforeUploadCN() { beforeUploadCN() {
if (this.fileListCN.length > 0) { if (this.fileListCN.length > 0) {
this.$alert('最多只能传一个附件') this.$alert(this.$t('trials:emailManageCfg:message:msg1'))
return return
} }
}, },
@ -464,7 +502,7 @@ export default {
}, },
beforeUploadEN() { beforeUploadEN() {
if (this.fileListEN.length > 0) { if (this.fileListEN.length > 0) {
this.$alert('最多只能传一个附件') this.$alert(this.$t('trials:emailManageCfg:message:msg1'))
return return
} }
}, },
@ -511,7 +549,7 @@ export default {
this.loading = false this.loading = false
this.$emit('closeDialog') this.$emit('closeDialog')
this.$emit('getList') this.$emit('getList')
this.$message.success('Saved successfully') this.$message.success(this.$t('common:message:savedSuccessfully'))
}) })
.catch(() => { .catch(() => {
this.loading = false this.loading = false

View File

@ -2,7 +2,8 @@
<box-content> <box-content>
<div class="search"> <div class="search">
<el-form :inline="true" size="mini" class="base-search-form"> <el-form :inline="true" size="mini" class="base-search-form">
<el-form-item label="是否需要回执:" v-if="!systemLevel"> <!-- 是否需要回执 -->
<el-form-item :label="$t('trials:emailManageCfg:title:isReturnRequired')" v-if="!systemLevel">
<el-select <el-select
v-model="searchData.IsReturnRequired" v-model="searchData.IsReturnRequired"
clearable clearable
@ -16,7 +17,8 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否加急:" v-if="!systemLevel"> <!-- 是否加急 -->
<el-form-item :label="$t('dictionary:email:label:IsUrgent')" v-if="!systemLevel">
<el-select <el-select
v-model="searchData.IsUrgent" v-model="searchData.IsUrgent"
clearable clearable
@ -30,7 +32,8 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否启用:" v-if="!systemLevel"> <!-- 是否启用 -->
<el-form-item :label="$t('trials:emailManageCfg:table:IsEnable')" v-if="!systemLevel">
<el-select <el-select
v-model="searchData.IsEnable" v-model="searchData.IsEnable"
clearable clearable
@ -146,7 +149,7 @@
场景配置 场景配置
</el-button> --> </el-button> -->
<el-button type="primary" size="mini" @click="handleAdd"> <el-button type="primary" size="mini" @click="handleAdd">
新增 {{ $t('common:button:new') }}
</el-button> </el-button>
</span> </span>
</div> </div>
@ -181,23 +184,26 @@
{{ $fd('CriterionType', scope.row.CriterionTypeEnum) }} {{ $fd('CriterionType', scope.row.CriterionTypeEnum) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 邮件主题中文 -->
<el-table-column <el-table-column
prop="EmailTopicCN" prop="EmailTopicCN"
label="邮件主题(中文)" :label="$t('trials:emailManageCfg:table:EmailTopicCN')"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
min-width="160" min-width="160"
/> />
<!-- 邮件主题英文 -->
<el-table-column <el-table-column
prop="EmailTopic" prop="EmailTopic"
label="邮件主题(英文)" :label="$t('trials:emailManageCfg:table:EmailTopic')"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
min-width="160" min-width="160"
/> />
<!-- 业务层级 -->
<el-table-column <el-table-column
prop="BusinessLevelEnum" prop="BusinessLevelEnum"
label="业务层级" :label="$t('dictionary:email:label:businessLevel')"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
min-width="100" min-width="100"
@ -206,9 +212,10 @@
{{ $fd('BusinessLevel', scope.row.BusinessLevelEnum) }} {{ $fd('BusinessLevel', scope.row.BusinessLevelEnum) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 业务模块 -->
<el-table-column <el-table-column
prop="BusinessModuleEnum" prop="BusinessModuleEnum"
label="业务模块" :label="$t('dictionary:email:label:businessModule')"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
min-width="100" min-width="100"
@ -217,9 +224,10 @@
{{ $fd('BusinessModule', scope.row.BusinessModuleEnum) }} {{ $fd('BusinessModule', scope.row.BusinessModuleEnum) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 业务场景 -->
<el-table-column <el-table-column
prop="BusinessScenarioEnum" prop="BusinessScenarioEnum"
label="业务场景" :label="$t('trials:emailManageCfg:table:BusinessScenarioEnum')"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
min-width="130" min-width="130"
@ -262,10 +270,10 @@
}} }}
</template> </template>
</el-table-column> </el-table-column>
<!---v-if="!systemLevel"--> <!-- 加急状态 -->
<el-table-column <el-table-column
prop="EmailUrgentEnum" prop="EmailUrgentEnum"
label="加急状态" :label="$t('dictionary:email:label:IsUrgent')"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
min-width="100" min-width="100"
@ -274,13 +282,13 @@
{{ $fd('EmailUrgent', scope.row.EmailUrgentEnum) }} {{ $fd('EmailUrgent', scope.row.EmailUrgentEnum) }}
</template> </template>
</el-table-column> </el-table-column>
<!---v-if="!systemLevel"--> <!-- 发送周期和时间 -->
<el-table-column <el-table-column
prop="EmailCron" prop="EmailCron"
label="发送周期和时间" :label="$t('trials:emailManageCfg:table:EmailCron')"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
min-width="160" min-width="180"
/> />
<!-- 附件 --> <!-- 附件 -->
<el-table-column <el-table-column
@ -306,7 +314,7 @@
:label="$t('trials:emailManageCfg:title:isReturnRequired')" :label="$t('trials:emailManageCfg:title:isReturnRequired')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
min-width="140" min-width="160"
v-if="!systemLevel" v-if="!systemLevel"
> >
<template slot-scope="scope"> <template slot-scope="scope">
@ -369,22 +377,21 @@
sortable="custom" sortable="custom"
min-width="160" min-width="160"
/> />
<el-table-column label="Action" min-width="140" fixed="right"> <el-table-column label="Action" min-width="180" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="handleEdit(scope.row)"> <el-button type="text" @click="handleEdit(scope.row)">
编辑 {{ $t('common:button:edit') }}
</el-button> </el-button>
<el-button type="text" @click="handleDelete(scope.row)" <el-button type="text" @click="handleDelete(scope.row)">
>删除</el-button {{ $t('common:button:delete') }}
> </el-button>
<el-button <el-button
type="text" type="text"
@click=" @click="
preview(scope.row.EmailHtmlContentCN, scope.row.EmailHtmlContent) preview(scope.row.EmailHtmlContentCN, scope.row.EmailHtmlContent)
" "
>{{ $t('common:button:preview') }}</el-button >{{ $t('common:button:preview') }}</el-button>
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -422,7 +429,7 @@
v-if="attachmentVisible" v-if="attachmentVisible"
:visible.sync="attachmentVisible" :visible.sync="attachmentVisible"
:close-on-click-modal="false" :close-on-click-modal="false"
title="附件" :title="$t('trials:emailManageCfg:title:fileName')"
width="80%" width="80%"
custom-class="base-dialog-wrapper" custom-class="base-dialog-wrapper"
append-to-body append-to-body
@ -438,7 +445,7 @@
v-if="previewVisible" v-if="previewVisible"
:visible.sync="previewVisible" :visible.sync="previewVisible"
:close-on-click-modal="false" :close-on-click-modal="false"
title="预览" :title="$t('common:button:preview')"
fullscreen fullscreen
custom-class="base-dialog-wrapper" custom-class="base-dialog-wrapper"
> >
@ -451,11 +458,13 @@
" "
> >
<div style="min-width: 50%"> <div style="min-width: 50%">
<h3>邮件内容模版CN</h3> <!-- 邮件内容模版CN -->
<h3>{{ $t('dictionary:email:title:title1') }}</h3>
<div v-html="previewHTML"></div> <div v-html="previewHTML"></div>
</div> </div>
<div style="min-width: 50%"> <div style="min-width: 50%">
<h3>邮件内容模版EN</h3> <!-- 邮件内容模版EN -->
<h3>{{ $t('dictionary:email:title:title2') }}</h3>
<div v-html="previewHTMLEN"></div> <div v-html="previewHTMLEN"></div>
</div> </div>
</div> </div>
@ -554,13 +563,13 @@ export default {
// //
handleAdd() { handleAdd() {
this.rowData = {} this.rowData = {}
this.title = '新增' this.title = this.$t('common:button:new')
this.editVisible = true this.editVisible = true
}, },
// //
handleEdit(row) { handleEdit(row) {
this.rowData = { ...row } this.rowData = { ...row }
this.title = '编辑' this.title = this.$t('common:button:edit')
this.editVisible = true this.editVisible = true
}, },
// //
@ -572,7 +581,7 @@ export default {
deleteEmailNoticeConfig(row.Id).then((res) => { deleteEmailNoticeConfig(row.Id).then((res) => {
if (res.IsSuccess) { if (res.IsSuccess) {
this.getList() this.getList()
this.$message.success('删除成功!') this.$message.success(this.$t('common:message:deletedSuccessfully'))
} }
}) })
}) })

View File

@ -8,22 +8,22 @@
:rules="rules" :rules="rules"
> >
<div class="base-dialog-body"> <div class="base-dialog-body">
<el-form-item label="编号: " prop="Code"> <el-form-item :label="$t('dictionary:sign:label:code')" prop="Code">
<el-input v-model="form.Code" /> <el-input v-model="form.Code" />
</el-form-item> </el-form-item>
<el-form-item label="场景类型: " prop="Name"> <el-form-item :label="$t('dictionary:sign:label:sceneType')" prop="Name">
<el-input v-model="form.Name" /> <el-input v-model="form.Name" />
</el-form-item> </el-form-item>
<el-form-item label="签名内容(EN): " prop="Value"> <el-form-item label="$t('dictionary:sign:label:value')" prop="Value">
<el-input v-model="form.Value" type="textarea" rows="5" /> <el-input v-model="form.Value" type="textarea" rows="5" />
</el-form-item> </el-form-item>
<el-form-item label="签名内容(CN): " prop="ValueCN"> <el-form-item :label="$t('dictionary:sign:label:valueCN')" prop="ValueCN">
<el-input v-model="form.ValueCN" type="textarea" rows="5" /> <el-input v-model="form.ValueCN" type="textarea" rows="5" />
</el-form-item> </el-form-item>
</div> </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-form-item style="text-align:right;"> <el-form-item style="text-align:right;">
<el-button size="small" type="primary" :disabled="form.Type === '' || form.Name === ''" :loading="saveBtnLoading" @click="handleSave">Save</el-button> <el-button size="small" type="primary" :disabled="form.Type === '' || form.Name === ''" :loading="saveBtnLoading" @click="handleSave">{{ $t('common:button:save') }}</el-button>
</el-form-item> </el-form-item>
</div> </div>
</el-form> </el-form>
@ -53,10 +53,10 @@ export default {
ParentId: '' ParentId: ''
}, },
rules: { rules: {
Code: [{ required: true, message: 'Please specify', trigger: ['blur'] }], Code: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] }],
Name: [{ required: true, message: 'Please specify', trigger: ['blur'] }], Name: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] }],
Value: [{ required: true, message: 'Please specify', trigger: ['blur'] }], Value: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] }],
ValueCN: [{ required: true, message: 'Please specify', trigger: ['blur'] }] ValueCN: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] }]
}, },
scenarioOption: [], scenarioOption: [],
saveBtnLoading: false, saveBtnLoading: false,
@ -86,7 +86,7 @@ export default {
this.saveBtnLoading = false this.saveBtnLoading = false
this.$emit('closeDialog') this.$emit('closeDialog')
this.$emit('getList') this.$emit('getList')
this.$message.success('Saved successfully') this.$message.success(this.$t('common:message:savedSuccessfully'))
}).catch(() => { }).catch(() => {
this.saveBtnLoading = false this.saveBtnLoading = false
}) })

View File

@ -8,7 +8,7 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
> >
Add {{ $t('common:button:new') }}
</el-button> </el-button>
</span> </span>
@ -27,48 +27,50 @@
<el-table-column <el-table-column
prop="Code" prop="Code"
label="编号" :label="$t('dictionary:sign:label:code')"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
/> />
<el-table-column <el-table-column
prop="Name" prop="Name"
label="场景类型" :label="$t('dictionary:sign:label:sceneType')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<el-table-column <el-table-column
prop="Value" prop="Value"
label="签名内容(EN)" :label="$t('dictionary:sign:label:value')"
show-overflow-tooltip show-overflow-tooltip
/> />
<el-table-column <el-table-column
prop="ValueCN" prop="ValueCN"
label="签名内容(CN)" :label="$t('dictionary:sign:label:valueCN')"
show-overflow-tooltip show-overflow-tooltip
/> />
<el-table-column <el-table-column
prop="UpdateTime" prop="UpdateTime"
label="更新时间" :label="$t('dictionary:sign:label:updateTime')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<el-table-column <el-table-column
prop="CreateTime" prop="CreateTime"
label="创建时间" :label="$t('dictionary:sign:label:createTime')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<el-table-column label="Action" width="200" fixed="right"> <el-table-column :label="$t('common:action:action')" width="200" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
> >
Edit {{ $t('common:button:edit') }}
</el-button>
<el-button type="text" @click="handleDelete(scope.row)">
{{ $t('common:button:delete') }}
</el-button> </el-button>
<el-button type="text" @click="handleDelete(scope.row)">Delete</el-button>
</template> </template>
</el-table-column> </el-table-column>

View File

@ -8,22 +8,25 @@
:rules="rules" :rules="rules"
> >
<div class="base-dialog-body"> <div class="base-dialog-body">
<el-form-item label="Code: " prop="Code"> <el-form-item :label="$t('dictionary:sign:label:code')" prop="Code">
<el-input v-model="form.Code" /> <el-input v-model="form.Code" />
</el-form-item> </el-form-item>
<el-form-item label="模板: " prop="Name"> <!-- 模板 -->
<el-form-item :label="$t('dictionary:sign:label:name')" prop="Name">
<el-input v-model="form.Name" /> <el-input v-model="form.Name" />
</el-form-item> </el-form-item>
<el-form-item label="签名内容(EN): " prop="Value"> <!-- 签名内容(EN) -->
<el-form-item :label="$t('dictionary:sign:label:value')" prop="Value">
<el-input v-model="form.Value" type="textarea" rows="5" /> <el-input v-model="form.Value" type="textarea" rows="5" />
</el-form-item> </el-form-item>
<el-form-item label="签名内容(CN): " prop="ValueCN"> <!-- 签名内容(CN) -->
<el-form-item :label="$t('dictionary:sign:label:valueCN')" prop="ValueCN">
<el-input v-model="form.ValueCN" type="textarea" rows="5" /> <el-input v-model="form.ValueCN" type="textarea" rows="5" />
</el-form-item> </el-form-item>
</div> </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-form-item style="text-align:right;"> <el-form-item style="text-align:right;">
<el-button size="small" type="primary" :disabled="form.Type === '' || form.Name === ''" :loading="saveBtnLoading" @click="handleSave">Save</el-button> <el-button size="small" type="primary" :disabled="form.Type === '' || form.Name === ''" :loading="saveBtnLoading" @click="handleSave">{{ $t('common:button:save') }}</el-button>
</el-form-item> </el-form-item>
</div> </div>
</el-form> </el-form>
@ -48,10 +51,10 @@ export default {
ValueCN: '' ValueCN: ''
}, },
rules: { rules: {
Code: [{ required: true, message: 'Please specify', trigger: ['blur'] }], Code: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] }],
Name: [{ required: true, message: 'Please specify', trigger: ['blur'] }], Name: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] }],
Value: [{ required: true, message: 'Please specify', trigger: ['blur'] }], Value: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] }],
ValueCN: [{ required: true, message: 'Please specify', trigger: ['blur'] }] ValueCN: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] }]
}, },
scenarioOption: [], scenarioOption: [],
saveBtnLoading: false, saveBtnLoading: false,
@ -80,7 +83,7 @@ export default {
this.saveBtnLoading = false this.saveBtnLoading = false
this.$emit('closeDialog') this.$emit('closeDialog')
this.$emit('getList') this.$emit('getList')
this.$message.success('Saved successfully') this.$message.success(this.$t('common:message:savedSuccessfully'))
}).catch(() => { }).catch(() => {
this.saveBtnLoading = false this.saveBtnLoading = false
}) })

View File

@ -3,10 +3,12 @@
<!-- 搜索框 --> <!-- 搜索框 -->
<div class="search"> <div class="search">
<el-form :inline="true" size="mini" class="base-search-form"> <el-form :inline="true" size="mini" class="base-search-form">
<el-form-item label="Code:"> <!-- Code -->
<el-form-item :label="$t('dictionary:sign:label:code')">
<el-input v-model="searchData.Code" style="width:100px;" /> <el-input v-model="searchData.Code" style="width:100px;" />
</el-form-item> </el-form-item>
<el-form-item label="模板:"> <!-- 模板 -->
<el-form-item :label="$t('dictionary:sign:label:name')">
<el-input v-model="searchData.Name" style="width:100px;" /> <el-input v-model="searchData.Name" style="width:100px;" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -28,7 +30,7 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
> >
New {{ $t('common:button:new') }}
</el-button> </el-button>
</span> </span>
@ -48,55 +50,62 @@
<el-table-column <el-table-column
prop="Code" prop="Code"
label="Code" :label="$t('dictionary:sign:label:code')"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 模板 -->
<el-table-column <el-table-column
prop="Name" prop="Name"
label="模板" :label="$t('dictionary:sign:label:name')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<!-- 签名内容(EN) -->
<el-table-column <el-table-column
prop="Value" prop="Value"
label="签名内容(EN)" :label="$t('dictionary:sign:label:value')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 签名内容(CN) -->
<el-table-column <el-table-column
prop="ValueCN" prop="ValueCN"
label="签名内容(CN)" :label="$t('dictionary:sign:label:valueCN')"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 更新时间 -->
<el-table-column <el-table-column
prop="UpdateTime" prop="UpdateTime"
label="更新时间" :label="$t('dictionary:sign:label:updateTime')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<!-- 创建时间 -->
<el-table-column <el-table-column
prop="CreateTime" prop="CreateTime"
label="创建时间" :label="$t('dictionary:sign:label:createTime')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<el-table-column label="Action" width="200" fixed="right"> <el-table-column :label="$t('common:action:action')" width="200" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
> >
Edit {{ $t('common:button:edit') }}
</el-button> </el-button>
<!-- 场景配置 -->
<el-button <el-button
type="text" type="text"
@click="handleConfig(scope.row)" @click="handleConfig(scope.row)"
> >
场景配置 {{ $t('dictionary:sign:button:config') }}
</el-button> </el-button>
<el-button type="text" @click="handleDelete(scope.row)">Delete</el-button> <el-button type="text" @click="handleDelete(scope.row)">
{{ $t('common:button:delete') }}
</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -121,7 +130,7 @@
<el-dialog <el-dialog
v-if="configVisible" v-if="configVisible"
:visible.sync="configVisible" :visible.sync="configVisible"
title="场景配置" :title="$t('dictionary:sign:button:config')"
:fullscreen="true" :fullscreen="true"
append-to-body append-to-body
custom-class="base-dialog-wrapper" custom-class="base-dialog-wrapper"
@ -175,13 +184,13 @@ export default {
// //
handleAdd() { handleAdd() {
this.rowData = {} this.rowData = {}
this.title = 'Add' this.title = this.$t('common:button:new')
this.editVisible = true this.editVisible = true
}, },
// //
handleEdit(row) { handleEdit(row) {
this.rowData = { ...row } this.rowData = { ...row }
this.title = 'Edit' this.title = this.$t('common:button:edit')
this.editVisible = true this.editVisible = true
}, },
// //

View File

@ -9,7 +9,7 @@
> >
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="Code: " prop="Code"> <el-form-item label="Code" prop="Code">
<el-input style="width: 300px" disabled v-model="form.Code" /> <el-input style="width: 300px" disabled v-model="form.Code" />
</el-form-item> </el-form-item>
</el-col> </el-col>

View File

@ -145,7 +145,7 @@ export default {
} else { } else {
var arr = value.split('|') var arr = value.split('|')
if (new Set(arr).size !== arr.length) { if (new Set(arr).size !== arr.length) {
callback(new Error('选项不允许存在相同值')) callback(new Error(this.$t('trials:qcCfg:message:msg1')))
} else { } else {
callback() callback()
} }