Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
4164b24bd9
|
@ -2,19 +2,21 @@
|
||||||
<box-content>
|
<box-content>
|
||||||
<div class="search">
|
<div class="search">
|
||||||
<el-form :inline="true" size="small" class="base-search-form">
|
<el-form :inline="true" size="small" class="base-search-form">
|
||||||
<el-form-item label="CRO Name:">
|
<!-- CRO Name -->
|
||||||
|
<el-form-item :label="$t('institutions:cros:label:croName')">
|
||||||
<el-input v-model="searchData.CROName" style="width: 100px" />
|
<el-input v-model="searchData.CROName" style="width: 100px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch"
|
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
||||||
>Search</el-button
|
{{ $t('common:button:search') }}
|
||||||
>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-refresh-left"
|
icon="el-icon-refresh-left"
|
||||||
@click="handleReset"
|
@click="handleReset"
|
||||||
>Reset</el-button
|
|
||||||
>
|
>
|
||||||
|
{{ $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">
|
||||||
|
@ -24,7 +26,7 @@
|
||||||
style="margin-left: auto"
|
style="margin-left: auto"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
@click="handleAddCro"
|
@click="handleAddCro"
|
||||||
>New</el-button
|
>{{ $t('common:button:new') }}</el-button
|
||||||
>
|
>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -37,30 +39,34 @@
|
||||||
@sort-change="handleSortByColumn"
|
@sort-change="handleSortByColumn"
|
||||||
>
|
>
|
||||||
<el-table-column type="index" width="40" />
|
<el-table-column type="index" width="40" />
|
||||||
|
<!-- CRO Code -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="CROCode"
|
prop="CROCode"
|
||||||
label="CRO Code"
|
:label="$t('institutions:cros:label:croCode')"
|
||||||
min-width="150"
|
min-width="150"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- CRO Name -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="CROName"
|
prop="CROName"
|
||||||
label="CRO Name"
|
:label="$t('institutions:cros:label:croName')"
|
||||||
min-width="150"
|
min-width="150"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- CRO NameCN -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="CRONameCN"
|
prop="CRONameCN"
|
||||||
label="CRO NameCN"
|
:label="$t('institutions:cros:label:croNameCN')"
|
||||||
min-width="150"
|
min-width="150"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Level -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="IsTrialLevel"
|
prop="IsTrialLevel"
|
||||||
label="Level"
|
:label="$t('institutions:cros:label:level')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
>
|
>
|
||||||
|
@ -68,7 +74,7 @@
|
||||||
<span>{{ $fd("IsTrialLevel", String(scope.row.IsTrialLevel)) }}</span>
|
<span>{{ $fd("IsTrialLevel", String(scope.row.IsTrialLevel)) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="Action" min-width="200">
|
<el-table-column :label="$t('common:action:action')" min-width="200">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
circle
|
circle
|
||||||
|
@ -160,13 +166,13 @@ export default {
|
||||||
// 新增CRO
|
// 新增CRO
|
||||||
handleAddCro() {
|
handleAddCro() {
|
||||||
this.rowData = {};
|
this.rowData = {};
|
||||||
this.title = "Add";
|
this.title =this.$t('common:button:new');
|
||||||
this.editVisible = true;
|
this.editVisible = true;
|
||||||
},
|
},
|
||||||
// 编辑CRO
|
// 编辑CRO
|
||||||
handleEdit(row) {
|
handleEdit(row) {
|
||||||
this.rowData = row;
|
this.rowData = row;
|
||||||
this.title = "Edit";
|
this.title = this.$t('common:action:edit');
|
||||||
this.editVisible = true;
|
this.editVisible = true;
|
||||||
},
|
},
|
||||||
// 删除CRO
|
// 删除CRO
|
||||||
|
|
|
@ -8,16 +8,20 @@
|
||||||
label-width="120px"
|
label-width="120px"
|
||||||
>
|
>
|
||||||
<div class="base-dialog-body">
|
<div class="base-dialog-body">
|
||||||
<el-form-item label="CRO Name: " prop="CROName">
|
<!-- CRO Name -->
|
||||||
|
<el-form-item :label="$t('institutions:cros:label:croName')" prop="CROName">
|
||||||
<el-input v-model="form.CROName" />
|
<el-input v-model="form.CROName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="CRO NameCN: " prop="CRONameCN">
|
<!-- CRO NameCN -->
|
||||||
|
<el-form-item :label="$t('institutions:cros:label:croNameCN')" prop="CRONameCN">
|
||||||
<el-input v-model="form.CRONameCN" />
|
<el-input v-model="form.CRONameCN" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="CRO Code: " prop="CROCode">
|
<!-- CRO Code -->
|
||||||
|
<el-form-item :label="$t('institutions:cros:label:croCode')" prop="CROCode">
|
||||||
<el-input v-model="form.CROCode" />
|
<el-input v-model="form.CROCode" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Level: ">
|
<!-- Level -->
|
||||||
|
<el-form-item :label="$t('institutions:cros:label:level')">
|
||||||
<el-switch
|
<el-switch
|
||||||
:disabled="!IsTrialLevel"
|
:disabled="!IsTrialLevel"
|
||||||
v-model="form.IsTrialLevel"
|
v-model="form.IsTrialLevel"
|
||||||
|
@ -30,10 +34,10 @@
|
||||||
<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>
|
<el-form-item>
|
||||||
<el-button :disabled="btnLoading" type="primary" @click="handleCancel"
|
<el-button :disabled="btnLoading" type="primary" @click="handleCancel"
|
||||||
>Cancel</el-button
|
>{{ $t('common:button:cancel') }}</el-button
|
||||||
>
|
>
|
||||||
<el-button type="primary" :loading="btnLoading" @click="handleSave"
|
<el-button type="primary" :loading="btnLoading" @click="handleSave"
|
||||||
>Save</el-button
|
>{{ $t('common:button:save') }}</el-button
|
||||||
>
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
@ -67,16 +71,16 @@ export default {
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
CROName: [
|
CROName: [
|
||||||
{ required: true, message: "Please specify", trigger: "blur" },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: "blur" },
|
||||||
{ max: 500, message: "The maximum length is 500" },
|
{ max: 500, message: this.$t('common:ruleMessage:maxLength') + ' 500' },
|
||||||
],
|
],
|
||||||
CRONameCN: [
|
CRONameCN: [
|
||||||
{ required: true, message: "Please specify", trigger: "blur" },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: "blur" },
|
||||||
{ max: 500, message: "The maximum length is 500" },
|
{ max: 500, message: this.$t('common:ruleMessage:maxLength') + ' 500' },
|
||||||
],
|
],
|
||||||
CROCode: [
|
CROCode: [
|
||||||
{ required: true, message: "Please specify", trigger: "blur" },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: "blur" },
|
||||||
{ max: 50, message: "The maximum length is 50" },
|
{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -95,7 +99,7 @@ export default {
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.btnLoading = false;
|
this.btnLoading = false;
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.$message.success("Saved successfully");
|
this.$message.success(this.$t('common:message:savedSuccessfully'));
|
||||||
this.$refs["CROForm"].resetFields();
|
this.$refs["CROForm"].resetFields();
|
||||||
this.$emit("getList");
|
this.$emit("getList");
|
||||||
this.$emit("close");
|
this.$emit("close");
|
||||||
|
|
|
@ -8,7 +8,8 @@
|
||||||
label-width="170px"
|
label-width="170px"
|
||||||
>
|
>
|
||||||
<div class="base-dialog-body">
|
<div class="base-dialog-body">
|
||||||
<el-form-item label="Site: ">
|
<!-- Site -->
|
||||||
|
<el-form-item :label="$t('institutions:hospitals:label:site')">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.SiteId"
|
v-model="form.SiteId"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
|
@ -25,40 +26,50 @@
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Hospital CN: " prop="HospitalNameCN">
|
<!-- Hospital CN -->
|
||||||
|
<el-form-item :label="$t('institutions:hospitals:label:hospitalCN')" prop="HospitalNameCN">
|
||||||
<el-input v-model="form.HospitalNameCN" />
|
<el-input v-model="form.HospitalNameCN" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Hospital EN: " prop="HospitalName">
|
<!-- Hospital EN -->
|
||||||
|
<el-form-item :label="$t('institutions:hospitals:label:hospital')" prop="HospitalName">
|
||||||
<el-input v-model="form.HospitalName" />
|
<el-input v-model="form.HospitalName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- Affiliated University CN -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="Affiliated University CN: "
|
:label="$t('institutions:hospitals:label:universityAffiliatedCN')"
|
||||||
prop="UniversityAffiliatedCN"
|
prop="UniversityAffiliatedCN"
|
||||||
>
|
>
|
||||||
<el-input v-model="form.UniversityAffiliatedCN" />
|
<el-input v-model="form.UniversityAffiliatedCN" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- Affiliated University EN -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="Affiliated University EN: "
|
:label="$t('institutions:hospitals:label:universityAffiliated')"
|
||||||
prop="UniversityAffiliated"
|
prop="UniversityAffiliated"
|
||||||
>
|
>
|
||||||
<el-input v-model="form.UniversityAffiliated" />
|
<el-input v-model="form.UniversityAffiliated" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Country CN: " prop="CountryCN">
|
<!-- Country CN -->
|
||||||
|
<el-form-item :label="$t('institutions:hospitals:label:countryCN')" prop="CountryCN">
|
||||||
<el-input v-model="form.CountryCN" />
|
<el-input v-model="form.CountryCN" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Country EN: " prop="Country">
|
<!-- Country EN -->
|
||||||
|
<el-form-item :label="$t('institutions:hospitals:label:country')" prop="Country">
|
||||||
<el-input v-model="form.Country" />
|
<el-input v-model="form.Country" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Province CN: " prop="ProvinceCN">
|
<!-- Province CN -->
|
||||||
|
<el-form-item :label="$t('institutions:hospitals:label:provinceCN')" prop="ProvinceCN">
|
||||||
<el-input v-model="form.ProvinceCN" />
|
<el-input v-model="form.ProvinceCN" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Province EN: " prop="Province">
|
<!-- Province EN -->
|
||||||
|
<el-form-item :label="$t('institutions:hospitals:label:province')" prop="Province">
|
||||||
<el-input v-model="form.Province" />
|
<el-input v-model="form.Province" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="City CN: " prop="CityCN">
|
<!-- City CN -->
|
||||||
|
<el-form-item :label="$t('institutions:hospitals:label:cityCN')" prop="CityCN">
|
||||||
<el-input v-model="form.CityCN" />
|
<el-input v-model="form.CityCN" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="City EN: " prop="City">
|
<!-- City EN -->
|
||||||
|
<el-form-item :label="$t('institutions:hospitals:label:city')" prop="City">
|
||||||
<el-input v-model="form.City" />
|
<el-input v-model="form.City" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
@ -69,14 +80,14 @@
|
||||||
size="small"
|
size="small"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleCancel"
|
@click="handleCancel"
|
||||||
>Cancel</el-button
|
>{{ $t('common:button:cancel') }}</el-button
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
size="small"
|
size="small"
|
||||||
type="primary"
|
type="primary"
|
||||||
:loading="btnLoading"
|
:loading="btnLoading"
|
||||||
@click="handleSave"
|
@click="handleSave"
|
||||||
>Save</el-button
|
>{{ $t('common:button:save') }}</el-button
|
||||||
>
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
@ -121,29 +132,29 @@ export default {
|
||||||
siteList: [],
|
siteList: [],
|
||||||
rules: {
|
rules: {
|
||||||
HospitalNameCN: [
|
HospitalNameCN: [
|
||||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
|
||||||
{ max: 50, message: 'The maximum length is 50' },
|
{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' },
|
||||||
],
|
],
|
||||||
UniversityAffiliated: [
|
UniversityAffiliated: [
|
||||||
{ max: 100, message: 'The maximum length is 100' },
|
{ max: 100, message: this.$t('common:ruleMessage:maxLength') + ' 100' },
|
||||||
],
|
],
|
||||||
UniversityAffiliatedCN: [
|
UniversityAffiliatedCN: [
|
||||||
{ max: 100, message: 'The maximum length is 100' },
|
{ max: 100, message: this.$t('common:ruleMessage:maxLength') + ' 100' },
|
||||||
],
|
],
|
||||||
Country: [{ max: 50, message: 'The maximum length is 50' }],
|
Country: [{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' }],
|
||||||
CountryCN: [
|
CountryCN: [
|
||||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
|
||||||
{ max: 50, message: 'The maximum length is 50' },
|
{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' },
|
||||||
],
|
],
|
||||||
Province: [{ max: 50, message: 'The maximum length is 50' }],
|
Province: [{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' }],
|
||||||
ProvinceCN: [
|
ProvinceCN: [
|
||||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
|
||||||
{ max: 50, message: 'The maximum length is 50' },
|
{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' },
|
||||||
],
|
],
|
||||||
City: [{ max: 50, message: 'The maximum length is 50' }],
|
City: [{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' }],
|
||||||
CityCN: [
|
CityCN: [
|
||||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
{ required: true, message: 'Please specify', trigger: 'blur' },
|
||||||
{ max: 50, message: 'The maximum length is 50' },
|
{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -184,7 +195,7 @@ export default {
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.btnLoading = false
|
this.btnLoading = false
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.$message.success('Saved successfully')
|
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
||||||
this.$refs['hospitalForm'].resetFields()
|
this.$refs['hospitalForm'].resetFields()
|
||||||
this.$emit('getList')
|
this.$emit('getList')
|
||||||
this.$emit('close')
|
this.$emit('close')
|
||||||
|
|
|
@ -2,18 +2,29 @@
|
||||||
<box-content>
|
<box-content>
|
||||||
<div class="search">
|
<div class="search">
|
||||||
<el-form :inline="true" size="small" class="base-search-form">
|
<el-form :inline="true" size="small" class="base-search-form">
|
||||||
<el-form-item label="Hospital:">
|
<!-- Hospital -->
|
||||||
|
<el-form-item :label="$t('institutions:hospitals:label:hospital')">
|
||||||
<el-input v-model="searchData.HospitalName" style="width:100px;" />
|
<el-input v-model="searchData.HospitalName" style="width:100px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Province:">
|
<!-- Province -->
|
||||||
|
<el-form-item :label="$t('institutions:hospitals:label:province')">
|
||||||
<el-input v-model="searchData.Province" style="width:100px;" />
|
<el-input v-model="searchData.Province" style="width:100px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="City:">
|
<!-- City -->
|
||||||
|
<el-form-item :label="$t('institutions:hospitals:label:city')">
|
||||||
<el-input v-model="searchData.City" style="width:100px;" />
|
<el-input v-model="searchData.City" style="width:100px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch">Search</el-button>
|
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
||||||
<el-button type="primary" icon="el-icon-refresh-left" @click="handleReset">Reset</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;">
|
||||||
|
@ -23,7 +34,7 @@
|
||||||
style="margin-left:auto;"
|
style="margin-left:auto;"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
@click="handleAddHospital"
|
@click="handleAddHospital"
|
||||||
>New</el-button>
|
>{{ $t('common:button:new') }}</el-button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<!-- hospital列表 -->
|
<!-- hospital列表 -->
|
||||||
|
@ -36,79 +47,89 @@
|
||||||
@sort-change="handleSortByColumn"
|
@sort-change="handleSortByColumn"
|
||||||
>
|
>
|
||||||
<el-table-column type="index" width="40" />
|
<el-table-column type="index" width="40" />
|
||||||
|
<!-- Hospital -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="HospitalName"
|
prop="HospitalName"
|
||||||
label="Hospital"
|
:label="$t('institutions:hospitals:label:hospital')"
|
||||||
min-width="120"
|
min-width="120"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Hospital CN -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="HospitalNameCN"
|
prop="HospitalNameCN"
|
||||||
label="Hospital CN"
|
label="Hospital CN"
|
||||||
|
:label="$t('institutions:hospitals:label:hospitalCN')"
|
||||||
min-width="120"
|
min-width="120"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- University Affiliated -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="UniversityAffiliated"
|
prop="UniversityAffiliated"
|
||||||
label="University Affiliated"
|
:label="$t('institutions:hospitals:label:universityAffiliated')"
|
||||||
min-width="170"
|
min-width="170"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- University Affiliated CN -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="UniversityAffiliatedCN"
|
prop="UniversityAffiliatedCN"
|
||||||
label="University Affiliated CN"
|
:label="$t('institutions:hospitals:label:universityAffiliatedCN')"
|
||||||
min-width="170"
|
min-width="170"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Country -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="Country"
|
prop="Country"
|
||||||
label="Country"
|
:label="$t('institutions:hospitals:label:country')"
|
||||||
width="120"
|
width="120"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Country CN -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="CountryCN"
|
prop="CountryCN"
|
||||||
label="Country CN"
|
:label="$t('institutions:hospitals:label:countryCN')"
|
||||||
width="140"
|
width="140"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Province -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="Province"
|
prop="Province"
|
||||||
label="Province"
|
:label="$t('institutions:hospitals:label:province')"
|
||||||
width="120"
|
width="120"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Province CN -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="ProvinceCN"
|
prop="ProvinceCN"
|
||||||
label="Province CN"
|
:label="$t('institutions:hospitals:label:provinceCN')"
|
||||||
width="140"
|
width="140"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- City -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="City"
|
prop="City"
|
||||||
label="City"
|
:label="$t('institutions:hospitals:label:city')"
|
||||||
width="120"
|
width="120"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- City CN -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="CityCN"
|
prop="CityCN"
|
||||||
label="City CN"
|
:label="$t('institutions:hospitals:label:cityCN')"
|
||||||
width="120"
|
width="120"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<el-table-column label="Action" width="150">
|
<el-table-column :label="$t('common:action:action')" width="150">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
circle
|
circle
|
||||||
|
@ -190,13 +211,13 @@ export default {
|
||||||
// 新增医院信息
|
// 新增医院信息
|
||||||
handleAddHospital() {
|
handleAddHospital() {
|
||||||
this.rowData = {}
|
this.rowData = {}
|
||||||
this.editDialog.title = 'Add'
|
this.editDialog.title = this.$t('common:button:new')
|
||||||
this.editDialog.visible = true
|
this.editDialog.visible = true
|
||||||
},
|
},
|
||||||
// 修改医院信息
|
// 修改医院信息
|
||||||
handleEdit(row) {
|
handleEdit(row) {
|
||||||
this.rowData = row
|
this.rowData = row
|
||||||
this.editDialog.title = 'Edit'
|
this.editDialog.title = this.$t('common:action:edit')
|
||||||
this.editDialog.visible = true
|
this.editDialog.visible = true
|
||||||
},
|
},
|
||||||
// 删除医院信息
|
// 删除医院信息
|
||||||
|
|
|
@ -9,49 +9,50 @@
|
||||||
label-width="150px"
|
label-width="150px"
|
||||||
>
|
>
|
||||||
<div class="base-dialog-body">
|
<div class="base-dialog-body">
|
||||||
<el-form-item label="Site Code: " v-if="form.Id" prop="SiteCode">
|
<!-- Site Code -->
|
||||||
|
<el-form-item :label="$t('institutions:sites:label:siteCode')" v-if="form.Id" prop="SiteCode">
|
||||||
<el-input v-model="form.SiteCode" disabled />
|
<el-input v-model="form.SiteCode" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- 中心名称 -->
|
<!-- 中心名称 -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('trials:customSite:form:siteName')"
|
:label="$t('institutions:sites:label:siteName')"
|
||||||
prop="SiteName"
|
prop="SiteName"
|
||||||
>
|
>
|
||||||
<el-input v-model="form.SiteName" />
|
<el-input v-model="form.SiteName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 中心名称(CN) -->
|
<!-- 中心名称(CN) -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('trials:customSite:form:siteName') + '(CN)'"
|
:label="$t('institutions:sites:label:siteNameCN')"
|
||||||
prop="SiteNameCN"
|
prop="SiteNameCN"
|
||||||
>
|
>
|
||||||
<el-input v-model="form.SiteNameCN" />
|
<el-input v-model="form.SiteNameCN" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- Alias Name -->
|
||||||
<el-form-item label="Alias Name: ">
|
<el-form-item :label="$t('institutions:sites:label:aliasName')">
|
||||||
<el-input v-model="form.AliasName" />
|
<el-input v-model="form.AliasName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- <el-form-item label="组织机构代码: ">
|
<!-- <el-form-item label="组织机构代码: ">
|
||||||
<el-input v-model="form.UniqueCode" />
|
<el-input v-model="form.UniqueCode" />
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
|
<!-- Country -->
|
||||||
<el-form-item label="Country: " prop="Country">
|
<el-form-item :label="$t('institutions:sites:label:country')" prop="Country">
|
||||||
<el-input v-model="form.Country" />
|
<el-input v-model="form.Country" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- City -->
|
||||||
<el-form-item label="City: " prop="City">
|
<el-form-item :label="$t('institutions:sites:label:city')" prop="City">
|
||||||
<el-input v-model="form.City" />
|
<el-input v-model="form.City" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Address: " prop="Address">
|
<!-- Address -->
|
||||||
|
<el-form-item :label="$t('institutions:sites:label:address')" prop="Address">
|
||||||
<el-input v-model="form.Address" />
|
<el-input v-model="form.Address" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- Affiliated Hospital -->
|
||||||
<el-form-item label="Affiliated Hospital: ">
|
<el-form-item :label="$t('institutions:sites:label:affiliatedHospital')">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.HospitalId"
|
v-model="form.HospitalId"
|
||||||
clearable
|
clearable
|
||||||
placeholder="Please select"
|
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
|
@ -62,20 +63,20 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- Director Name -->
|
||||||
<el-form-item label="Director Name: " prop="DirectorName">
|
<el-form-item :label="$t('institutions:sites:label:directorName')" prop="DirectorName">
|
||||||
<el-input v-model="form.DirectorName" />
|
<el-input v-model="form.DirectorName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- Director Phone -->
|
||||||
<el-form-item label="Director Phone: " prop="DirectorPhone">
|
<el-form-item :label="$t('institutions:sites:label:directorPhone')" prop="DirectorPhone">
|
||||||
<el-input v-model="form.DirectorPhone" />
|
<el-input v-model="form.DirectorPhone" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- Contact Name -->
|
||||||
<el-form-item label="Contact Name: " prop="ContactName">
|
<el-form-item :label="$t('institutions:sites:label:contactName')" prop="ContactName">
|
||||||
<el-input v-model="form.ContactName" />
|
<el-input v-model="form.ContactName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- Contact Phone -->
|
||||||
<el-form-item label="Contact Phone: " prop="ContactPhone">
|
<el-form-item :label="$t('institutions:sites:label:contactPhone')" prop="ContactPhone">
|
||||||
<el-input v-model="form.ContactPhone" />
|
<el-input v-model="form.ContactPhone" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
@ -86,14 +87,14 @@
|
||||||
size="small"
|
size="small"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleCancel"
|
@click="handleCancel"
|
||||||
>Cancel</el-button
|
>{{ $t('common:button:cancel') }}</el-button
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
size="small"
|
size="small"
|
||||||
type="primary"
|
type="primary"
|
||||||
:loading="btnLoading"
|
:loading="btnLoading"
|
||||||
@click="handleSave"
|
@click="handleSave"
|
||||||
>Save</el-button
|
>{{ $t('common:button:save') }}</el-button
|
||||||
>
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
@ -133,35 +134,35 @@ export default {
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
SiteName: [
|
SiteName: [
|
||||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
|
||||||
// { max: 50, message: 'The maximum length is 50' }
|
// { max: 50, message: 'The maximum length is 50' }
|
||||||
],
|
],
|
||||||
SiteNameCN: [
|
SiteNameCN: [
|
||||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
|
||||||
// { max: 50, message: 'The maximum length is 50' }
|
// { max: 50, message: 'The maximum length is 50' }
|
||||||
],
|
],
|
||||||
SiteCode: [
|
SiteCode: [
|
||||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
|
||||||
{ max: 50, message: 'The maximum length is 50' },
|
{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' },
|
||||||
],
|
],
|
||||||
Country: [
|
Country: [
|
||||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
|
||||||
{ max: 50, message: 'The maximum length is 50' },
|
{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' },
|
||||||
],
|
],
|
||||||
City: [
|
City: [
|
||||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
|
||||||
{ max: 50, message: 'The maximum length is 50' },
|
{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' },
|
||||||
],
|
],
|
||||||
// HospitalId: [
|
// HospitalId: [
|
||||||
// { required: true, message: 'Please specify', trigger: 'blur' }
|
// { required: true, message: 'Please specify', trigger: 'blur' }
|
||||||
// ],
|
// ],
|
||||||
Address: [
|
Address: [
|
||||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
|
||||||
],
|
],
|
||||||
DirectorName: [{ max: 50, message: 'The maximum length is 50' }],
|
DirectorName: [{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' }],
|
||||||
DirectorPhone: [{ max: 50, message: 'The maximum length is 50' }],
|
DirectorPhone: [{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' }],
|
||||||
ContactName: [{ max: 50, message: 'The maximum length is 50' }],
|
ContactName: [{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' }],
|
||||||
ContactPhone: [{ max: 50, message: 'The maximum length is 50' }],
|
ContactPhone: [{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' }],
|
||||||
},
|
},
|
||||||
loading: false,
|
loading: false,
|
||||||
show: false,
|
show: false,
|
||||||
|
@ -180,7 +181,7 @@ export default {
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.btnLoading = false
|
this.btnLoading = false
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.$message.success('Saved successfully')
|
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
||||||
this.$refs['siteForm'].resetFields()
|
this.$refs['siteForm'].resetFields()
|
||||||
this.$emit('getList')
|
this.$emit('getList')
|
||||||
this.$emit('close')
|
this.$emit('close')
|
||||||
|
|
|
@ -2,28 +2,33 @@
|
||||||
<box-content>
|
<box-content>
|
||||||
<div class="search">
|
<div class="search">
|
||||||
<el-form :inline="true" size="small" class="base-search-form">
|
<el-form :inline="true" size="small" class="base-search-form">
|
||||||
<el-form-item label="Site Name:">
|
<!-- Site Name -->
|
||||||
|
<el-form-item :label="$t('institutions:sites:label:siteName')">
|
||||||
<el-input v-model="searchData.SiteName" style="width: 120px" />
|
<el-input v-model="searchData.SiteName" style="width: 120px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Alias Name:">
|
<!-- Alias Name -->
|
||||||
|
<el-form-item :label="$t('institutions:sites:label:aliasName')">
|
||||||
<el-input v-model="searchData.AliasName" style="width: 120px" />
|
<el-input v-model="searchData.AliasName" style="width: 120px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Country:">
|
<!-- Country -->
|
||||||
|
<el-form-item :label="$t('institutions:sites:label:country')">
|
||||||
<el-input v-model="searchData.Country" style="width: 120px" />
|
<el-input v-model="searchData.Country" style="width: 120px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="City:">
|
<!-- City -->
|
||||||
|
<el-form-item :label="$t('institutions:sites:label:city')">
|
||||||
<el-input v-model="searchData.City" style="width: 120px" />
|
<el-input v-model="searchData.City" style="width: 120px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch"
|
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
||||||
>Search</el-button
|
{{ $t('common:button:search') }}
|
||||||
>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-refresh-left"
|
icon="el-icon-refresh-left"
|
||||||
@click="handleReset"
|
@click="handleReset"
|
||||||
>Reset</el-button
|
|
||||||
>
|
>
|
||||||
|
{{ $t('common:button:reset') }}
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div style="margin-left: auto">
|
<div style="margin-left: auto">
|
||||||
|
@ -40,7 +45,8 @@
|
||||||
style="margin-left: 10px"
|
style="margin-left: 10px"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
@click="handleAddSite"
|
@click="handleAddSite"
|
||||||
>New
|
>
|
||||||
|
{{ $t('common:button:new') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -53,23 +59,34 @@
|
||||||
@sort-change="handleSortByColumn"
|
@sort-change="handleSortByColumn"
|
||||||
>
|
>
|
||||||
<el-table-column type="index" width="40" />
|
<el-table-column type="index" width="40" />
|
||||||
|
<!-- Site Code -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="SiteCode"
|
prop="SiteCode"
|
||||||
label="Site Code"
|
:label="$t('institutions:sites:label:siteCode')"
|
||||||
min-width="120"
|
min-width="120"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Site Name -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="SiteName"
|
prop="SiteName"
|
||||||
label="Site Name"
|
:label="$t('institutions:sites:label:siteName')"
|
||||||
min-width="150"
|
min-width="150"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<el-table-column
|
||||||
|
prop="SiteNameCN"
|
||||||
|
:label="$t('institutions:sites:label:siteNameCN')"
|
||||||
|
min-width="150"
|
||||||
|
show-overflow-tooltip
|
||||||
|
sortable="custom"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!-- Alias Name -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="AliasName"
|
prop="AliasName"
|
||||||
label="Alias Name"
|
:label="$t('institutions:sites:label:aliasName')"
|
||||||
min-width="150"
|
min-width="150"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
|
@ -81,70 +98,79 @@
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/> -->
|
/> -->
|
||||||
|
<!-- Country -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="Country"
|
prop="Country"
|
||||||
label="Country"
|
:label="$t('institutions:sites:label:country')"
|
||||||
min-width="120"
|
min-width="120"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- City -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="City"
|
prop="City"
|
||||||
label="City"
|
:label="$t('institutions:sites:label:city')"
|
||||||
min-width="120"
|
min-width="120"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Address -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="Address"
|
prop="Address"
|
||||||
label="Address"
|
:label="$t('institutions:sites:label:address')"
|
||||||
min-width="120"
|
min-width="120"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Affiliated Hospital -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="HospitalName"
|
prop="HospitalName"
|
||||||
label="Affiliated Hospital"
|
:label="$t('institutions:sites:label:affiliatedHospital')"
|
||||||
min-width="180"
|
min-width="180"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Director Name -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="DirectorName"
|
prop="DirectorName"
|
||||||
label="Director Name"
|
:label="$t('institutions:sites:label:directorName')"
|
||||||
min-width="160"
|
min-width="160"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Director Phone -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="DirectorPhone"
|
prop="DirectorPhone"
|
||||||
label="Director Phone"
|
:label="$t('institutions:sites:label:directorPhone')"
|
||||||
min-width="150"
|
min-width="150"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Contact Name -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="ContactName"
|
prop="ContactName"
|
||||||
label="Contact Name"
|
:label="$t('institutions:sites:label:contactName')"
|
||||||
min-width="150"
|
min-width="150"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Contact Phone -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="ContactPhone"
|
prop="ContactPhone"
|
||||||
label="Contact Phone"
|
:label="$t('institutions:sites:label:contactPhone')"
|
||||||
min-width="160"
|
min-width="160"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- CreateTime -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="CreateTime"
|
prop="CreateTime"
|
||||||
label="CreateTime"
|
:label="$t('institutions:sites:label:createTime')"
|
||||||
min-width="160"
|
min-width="160"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
<el-table-column label="Action" fixed="right" width="150">
|
<el-table-column :label="$t('common:action:action')" fixed="right" width="150">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
circle
|
circle
|
||||||
|
@ -357,7 +383,7 @@ export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
editVisible: false,
|
editVisible: false,
|
||||||
title: "Add",
|
title: this.$t('common:button:new'),
|
||||||
searchData: searchDataDefault(),
|
searchData: searchDataDefault(),
|
||||||
list: [],
|
list: [],
|
||||||
total: 0,
|
total: 0,
|
||||||
|
@ -439,13 +465,13 @@ export default {
|
||||||
// 新增Site信息
|
// 新增Site信息
|
||||||
handleAddSite() {
|
handleAddSite() {
|
||||||
this.rowData = {};
|
this.rowData = {};
|
||||||
this.title = "Add";
|
this.title = this.$t('common:button:new');
|
||||||
this.editVisible = true;
|
this.editVisible = true;
|
||||||
},
|
},
|
||||||
// 编辑Site信息
|
// 编辑Site信息
|
||||||
handleEdit(row) {
|
handleEdit(row) {
|
||||||
this.rowData = row;
|
this.rowData = row;
|
||||||
this.title = "Edit";
|
this.title = this.$t('common:action:edit');
|
||||||
this.editVisible = true;
|
this.editVisible = true;
|
||||||
},
|
},
|
||||||
// 删除Site
|
// 删除Site
|
||||||
|
|
|
@ -8,16 +8,20 @@
|
||||||
label-width="150px"
|
label-width="150px"
|
||||||
>
|
>
|
||||||
<div class="base-dialog-body">
|
<div class="base-dialog-body">
|
||||||
<el-form-item label="Sponsor Name: " prop="SponsorName">
|
<!-- Sponsor Name -->
|
||||||
|
<el-form-item :label="$t('institutions:sponsors:label:sponsorName')" prop="SponsorName">
|
||||||
<el-input v-model="form.SponsorName" />
|
<el-input v-model="form.SponsorName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Sponsor NameCN: " prop="SponsorName">
|
<!-- Sponsor NameCN -->
|
||||||
|
<el-form-item :label="$t('institutions:sponsors:label:sponsorNameCN')" prop="SponsorName">
|
||||||
<el-input v-model="form.SponsorNameCN" />
|
<el-input v-model="form.SponsorNameCN" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Sponsor Code: " prop="SponsorCode">
|
<!-- Sponsor Code -->
|
||||||
|
<el-form-item :label="$t('institutions:sponsors:label:sponsorCode')" prop="SponsorCode">
|
||||||
<el-input v-model="form.SponsorCode" />
|
<el-input v-model="form.SponsorCode" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Level: ">
|
<!-- Level -->
|
||||||
|
<el-form-item :label="$t('institutions:sponsors:label:level')">
|
||||||
<el-switch
|
<el-switch
|
||||||
:disabled="!IsTrialLevel"
|
:disabled="!IsTrialLevel"
|
||||||
v-model="form.IsTrialLevel"
|
v-model="form.IsTrialLevel"
|
||||||
|
@ -34,15 +38,17 @@
|
||||||
size="small"
|
size="small"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleCancel"
|
@click="handleCancel"
|
||||||
>Cancel</el-button
|
|
||||||
>
|
>
|
||||||
|
{{ $t('common:button:cancel') }}
|
||||||
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
size="small"
|
size="small"
|
||||||
type="primary"
|
type="primary"
|
||||||
:loading="btnLoading"
|
:loading="btnLoading"
|
||||||
@click="handleSave"
|
@click="handleSave"
|
||||||
>Save</el-button
|
|
||||||
>
|
>
|
||||||
|
{{ $t('common:button:save') }}
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
@ -75,16 +81,16 @@ export default {
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
SponsorName: [
|
SponsorName: [
|
||||||
{ required: true, message: "Please specify", trigger: "blur" },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: "blur" },
|
||||||
{ max: 500, message: "The maximum length is 500" },
|
{ max: 500, message: this.$t('common:ruleMessage:maxLength') + ' 500' },
|
||||||
],
|
],
|
||||||
SponsorNameCN: [
|
SponsorNameCN: [
|
||||||
{ required: true, message: "Please specify", trigger: "blur" },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: "blur" },
|
||||||
{ max: 500, message: "The maximum length is 500" },
|
{ max: 500, message: this.$t('common:ruleMessage:maxLength') + ' 500' },
|
||||||
],
|
],
|
||||||
SponsorCode: [
|
SponsorCode: [
|
||||||
{ required: true, message: "Please specify", trigger: "blur" },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: "blur" },
|
||||||
{ max: 50, message: "The maximum length is 50" },
|
{ max: 50, message: this.$t('common:ruleMessage:maxLength') + ' 50' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -103,7 +109,7 @@ export default {
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.btnLoading = false;
|
this.btnLoading = false;
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.$message.success("Saved successfully");
|
this.$message.success(this.$t('common:message:savedSuccessfully'));
|
||||||
this.$refs["sponsorForm"].resetFields();
|
this.$refs["sponsorForm"].resetFields();
|
||||||
this.$emit("getList");
|
this.$emit("getList");
|
||||||
this.$emit("close");
|
this.$emit("close");
|
||||||
|
|
|
@ -2,19 +2,21 @@
|
||||||
<box-content>
|
<box-content>
|
||||||
<div class="search">
|
<div class="search">
|
||||||
<el-form :inline="true" size="small" class="base-search-form">
|
<el-form :inline="true" size="small" class="base-search-form">
|
||||||
<el-form-item label="Sponsor Name:">
|
<!-- Sponsor Name -->
|
||||||
|
<el-form-item :label="$t('institutions:sponsors:label:sponsorName')">
|
||||||
<el-input v-model="searchData.SponsorName" style="width: 100px" />
|
<el-input v-model="searchData.SponsorName" style="width: 100px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch"
|
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
||||||
>Search</el-button
|
{{ $t('common:button:search') }}
|
||||||
>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-refresh-left"
|
icon="el-icon-refresh-left"
|
||||||
@click="handleReset"
|
@click="handleReset"
|
||||||
>Reset</el-button
|
|
||||||
>
|
>
|
||||||
|
{{ $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">
|
||||||
|
@ -24,7 +26,7 @@
|
||||||
style="margin-left: auto"
|
style="margin-left: auto"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
@click="handleAddSponsor"
|
@click="handleAddSponsor"
|
||||||
>New</el-button
|
>{{ $t('common:button:new') }}</el-button
|
||||||
>
|
>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -37,30 +39,34 @@
|
||||||
@sort-change="handleSortByColumn"
|
@sort-change="handleSortByColumn"
|
||||||
>
|
>
|
||||||
<el-table-column type="index" width="40" />
|
<el-table-column type="index" width="40" />
|
||||||
|
<!-- Sponsor Code -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="SponsorCode"
|
prop="SponsorCode"
|
||||||
label="Sponsor Code"
|
:label="$t('institutions:sponsors:label:sponsorCode')"
|
||||||
min-width="100"
|
min-width="100"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Sponsor Name -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="SponsorName"
|
prop="SponsorName"
|
||||||
label="Sponsor Name"
|
:label="$t('institutions:sponsors:label:sponsorName')"
|
||||||
min-width="100"
|
min-width="100"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Sponsor NameCN -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="SponsorNameCN"
|
prop="SponsorNameCN"
|
||||||
label="Sponsor NameCN"
|
:label="$t('institutions:sponsors:label:sponsorNameCN')"
|
||||||
min-width="100"
|
min-width="100"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- Level -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="IsTrialLevel"
|
prop="IsTrialLevel"
|
||||||
label="Level"
|
:label="$t('institutions:sponsors:label:level')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
>
|
>
|
||||||
|
@ -68,7 +74,7 @@
|
||||||
<span>{{ $fd("IsTrialLevel", String(scope.row.IsTrialLevel)) }}</span>
|
<span>{{ $fd("IsTrialLevel", String(scope.row.IsTrialLevel)) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="Action" min-width="150">
|
<el-table-column :label="$t('common:action:action')" min-width="150">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
circle
|
circle
|
||||||
|
@ -160,13 +166,13 @@ export default {
|
||||||
// 新增Sponsor
|
// 新增Sponsor
|
||||||
handleAddSponsor() {
|
handleAddSponsor() {
|
||||||
this.rowData = {};
|
this.rowData = {};
|
||||||
this.title = "Add";
|
this.title = this.$t('common:button:new');
|
||||||
this.editVisible = true;
|
this.editVisible = true;
|
||||||
},
|
},
|
||||||
// 编辑Sponsor
|
// 编辑Sponsor
|
||||||
handleEdit(row) {
|
handleEdit(row) {
|
||||||
this.rowData = row;
|
this.rowData = row;
|
||||||
this.title = "Edit";
|
this.title = this.$t('common:action:edit');
|
||||||
this.editVisible = true;
|
this.editVisible = true;
|
||||||
},
|
},
|
||||||
// 删除Sponsor
|
// 删除Sponsor
|
||||||
|
|
|
@ -1,16 +1,20 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="institution-wrapper">
|
<div class="institution-wrapper">
|
||||||
<el-tabs v-model="activeTab" @tab-click="clickTab">
|
<el-tabs v-model="activeTab" @tab-click="clickTab">
|
||||||
<el-tab-pane label="Hospitals" name="Hospitals">
|
<!-- Hospitals -->
|
||||||
|
<el-tab-pane :label="$t('institutions:tab:hospitals')" name="Hospitals">
|
||||||
<Hospitals v-if="activeTab === 'Hospitals'" />
|
<Hospitals v-if="activeTab === 'Hospitals'" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="Sites" name="Sites">
|
<!-- Sites -->
|
||||||
|
<el-tab-pane :label="$t('institutions:tab:sites')" name="Sites">
|
||||||
<Sites v-if="activeTab === 'Sites'" />
|
<Sites v-if="activeTab === 'Sites'" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="CROs" name="CROs">
|
<!-- CROs -->
|
||||||
|
<el-tab-pane :label="$t('institutions:tab:CROs')" name="CROs">
|
||||||
<CROs v-if="activeTab === 'CROs'" />
|
<CROs v-if="activeTab === 'CROs'" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="Sponsors" name="Sponsors">
|
<!-- Sponsors -->
|
||||||
|
<el-tab-pane :label="$t('institutions:tab:sponsors')" name="Sponsors">
|
||||||
<Sponsors v-if="activeTab === 'Sponsors'" />
|
<Sponsors v-if="activeTab === 'Sponsors'" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 问题名称(EN) -->
|
<!-- 问题名称(EN) -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('trials:readingUnit:qsList:title:qNameEn')"
|
:label="$t('dictionary:template:criterionConfig:title:qsNameEn')"
|
||||||
prop="QuestionEnName"
|
prop="QuestionEnName"
|
||||||
>
|
>
|
||||||
<el-input v-model="form.QuestionEnName" />
|
<el-input v-model="form.QuestionEnName" />
|
||||||
|
@ -133,7 +133,7 @@
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</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="$t('dictionary:template:criterionConfig: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"
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
<!-- 分组名称 -->
|
<!-- 分组名称 -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-if="form.Type === 'group'"
|
v-if="form.Type === 'group'"
|
||||||
:label="$t('trials:readingUnit:qsList:title:groupNameEn')"
|
:label="$t('trials:readingUnit:qsList:title:groupName')"
|
||||||
prop="GroupName"
|
prop="GroupName"
|
||||||
>
|
>
|
||||||
<el-input v-model="form.GroupName" />
|
<el-input v-model="form.GroupName" />
|
||||||
|
@ -41,7 +41,7 @@
|
||||||
<!-- 分组名称(EN) -->
|
<!-- 分组名称(EN) -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-if="form.Type === 'group'"
|
v-if="form.Type === 'group'"
|
||||||
:label="$t('trials:readingUnit:qsList:title:groupNameEn')"
|
:label="$t('dictionary:template:criterionConfig:title:groupNameEn')"
|
||||||
prop="GroupEnName"
|
prop="GroupEnName"
|
||||||
>
|
>
|
||||||
<el-input v-model="form.GroupEnName" />
|
<el-input v-model="form.GroupEnName" />
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
<!-- 问题名称 -->
|
<!-- 问题名称 -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-if="form.Type !== 'group'"
|
v-if="form.Type !== 'group'"
|
||||||
:label="$t('trials:readingUnit:qsList:title:qsNameEn')"
|
:label="$t('trials:readingUnit:qsList:title:qsName')"
|
||||||
prop="QuestionName"
|
prop="QuestionName"
|
||||||
:rules="[
|
:rules="[
|
||||||
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
|
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
<!-- 问题名称(EN) -->
|
<!-- 问题名称(EN) -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-if="form.Type !== 'group'"
|
v-if="form.Type !== 'group'"
|
||||||
:label="$t('trials:readingUnit:qsList:title:qsNameEn')"
|
:label="$t('dictionary:template:criterionConfig:title:qsNameEn')"
|
||||||
prop="QuestionEnName"
|
prop="QuestionEnName"
|
||||||
:rules="[
|
:rules="[
|
||||||
{ max: form.Type === 'summary' ? 300 : 100, message: `${this.$t('common:ruleMessage:maxLength')} ${form.Type === 'summary' ? 300 : 100}` }
|
{ max: form.Type === 'summary' ? 300 : 100, message: `${this.$t('common:ruleMessage:maxLength')} ${form.Type === 'summary' ? 300 : 100}` }
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<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="$t('trials:readingUnit:qsList:title:qsNameEn')">
|
<el-form-item :label="$t('trials:readingUnit:qsList:title:qsName')">
|
||||||
<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>
|
||||||
|
@ -60,26 +60,28 @@
|
||||||
<!-- 分组 -->
|
<!-- 分组 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="GroupName"
|
prop="GroupName"
|
||||||
:label="$t('trials:readingUnit:qsList:title:groupNameEn')"
|
:label="$t('trials:readingUnit:qsList:title:groupName')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
/>
|
/>
|
||||||
<!-- 分组(EN) -->
|
<!-- 分组(EN) -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="GroupEnName"
|
prop="GroupEnName"
|
||||||
:label="$t('trials:readingUnit:qsList:title:groupNameEn')"
|
:label="$t('dictionary:template:criterionConfig:title:groupNameEn')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
|
width="140"
|
||||||
/>
|
/>
|
||||||
<!-- 名称 -->
|
<!-- 名称 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="QuestionName"
|
prop="QuestionName"
|
||||||
:label="$t('trials:readingUnit:qsList:title:qsNameEn')"
|
:label="$t('trials:readingUnit:qsList:title:qsName')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
/>
|
/>
|
||||||
<!-- 名称(EN) -->
|
<!-- 名称(EN) -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="QuestionEnName"
|
prop="QuestionEnName"
|
||||||
:label="$t('trials:readingUnit:qsList:title:qsNameEn')"
|
:label="$t('dictionary:template:criterionConfig:title:qsNameEn')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
|
width="140"
|
||||||
/>
|
/>
|
||||||
<!-- 题型 -->
|
<!-- 题型 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
|
Loading…
Reference in New Issue