Compare commits

..

No commits in common. "d117bac7f601bc04c1754fa72170837b7c14df3d" and "ff5a8683775b781f90a4c0d969653d706f095499" have entirely different histories.

20 changed files with 397 additions and 580 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -9,7 +9,7 @@
>
<el-row>
<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-form-item>
</el-col>

View File

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