uat_us
caiyiling 2024-03-11 09:09:58 +08:00
commit ebddc9beb2
68 changed files with 3215 additions and 2853 deletions

View File

@ -129,7 +129,7 @@ export default {
this.fileList = []
this.$emit('getFileList', '', '')
this.$message({
message: 'Deleted successfully!',
message: this.$t('common:message:deletedSuccessfully'),
type: 'success'
})
}

View File

@ -9,7 +9,7 @@
:file-list="fileList"
:accept="accept"
>
<el-button size="small" type="primary" :disabled="isDisabled">Upload</el-button>
<el-button size="small" type="primary" :disabled="isDisabled">{{ $t('common:button:upload') }}</el-button>
</el-upload>
</div>
</template>
@ -143,8 +143,7 @@ export default {
this.$confirm('Sure to remove?', {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
}).then(() => {
deleteAttachment(file.Id, file.Path)
.then(res => {
@ -152,7 +151,7 @@ export default {
this.fileList.splice(this.fileList.findIndex(item => item.Id === file.Id), 1)
this.$emit('getFileList', this.fileList)
this.$message({
message: 'Deleted successfully!',
message: this.$t('common:message:deletedSuccessfully'),
type: 'success'
})
}

View File

@ -29,13 +29,10 @@
</span>
<el-dropdown-menu slot="dropdown" class="user-dropdown">
<el-dropdown-item v-if="!isReviewer">
<span style="display:block;" @click="editInfo">Edit Info</span>
</el-dropdown-item>
<el-dropdown-item>
<span style="display:block;" @click="account">Account</span>
<span style="display:block;" @click="editInfo">{{$t('system:navbar:button:Profile')}}</span>
</el-dropdown-item>
<el-dropdown-item divided>
<span style="display:block;" @click="logout">Log Out</span>
<span style="display:block;" @click="logout">{{$t('system:navbar:button:Log Out')}}</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
@ -93,9 +90,6 @@ export default {
editInfo() {
this.$router.push({ name: 'BaiscInfo' })
},
account() {
this.$router.push({ name: 'Account' })
}
}
}
</script>

View File

@ -255,12 +255,7 @@ export const constantRoutes = [
children: [{
path: 'baiscInfo',
name: 'BaiscInfo',
component: () => import('@/views/user/editInfo')
},
{
path: 'account',
name: 'Account',
component: () => import('@/views/user/account')
component: () => import('@/views/user/myInfo')
}
]
}

View File

@ -89,18 +89,16 @@ export default {
},
//
remove(node) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
distinguishCancelAndClose: true
})
.then(() => {
deleteMenuFunction(node.Id)
.then(res => {
if (res.IsSuccess) {
this.getlist()
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
})
})

View File

@ -89,16 +89,15 @@ export default {
})
},
handleDeleteRole(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
}).then(() => {
deleteUserTypeRole(row.Id).then((res) => {
if (res.IsSuccess) {
this.list.splice(this.list.findIndex((item) => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
})
})

View File

@ -20,8 +20,7 @@ export default {
this.$confirm('Sure to reset password?', {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
resetPassword(this.userId).then(res => {

View File

@ -113,18 +113,17 @@ export default {
},
//
handleDeleteUser(data) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
deleteSysUser(data.Id)
.then(res => {
if (res.IsSuccess) {
this.users.splice(this.users.findIndex(item => item.Id === data.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
})
})

View File

@ -126,8 +126,7 @@ export default {
this.$confirm('Sure to sign out', {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.$store.dispatch('user/logout').then(res => {

View File

@ -403,6 +403,7 @@ export default {
data.isReading = true
}
var message = this.$t('trials:audit:message:changeSeriesStatus').replace('xxx', statusStr)
message = message.replace('yyy', this.$fd('YesOrNo', !data.isReading))
this.$confirm(message, {
distinguishCancelAndClose: true,
type: 'warning'
@ -430,6 +431,7 @@ export default {
data.isDeleted = true
}
var message = this.$t('trials:audit:message:changeSeriesStatus').replace('xxx', statusStr)
message = message.replace('yyy', this.$fd('YesOrNo', !data.isDeleted))
this.$confirm(message, {
distinguishCancelAndClose: true,
type: 'warning'

View File

@ -353,6 +353,7 @@ export default {
data.isReading = true
}
var message = this.$t('trials:audit:message:changeSeriesStatus').replace('xxx', statusStr)
message = message.replace('yyy', this.$fd('YesOrNo', !data.isReading))
this.$confirm(message, {
distinguishCancelAndClose: true,
type: 'warning'
@ -380,6 +381,7 @@ export default {
data.isDeleted = true
}
var message = this.$t('trials:audit:message:changeSeriesStatus').replace('xxx', statusStr)
message = message.replace('yyy', this.$fd('YesOrNo', !data.isDeleted))
this.$confirm(message, {
distinguishCancelAndClose: true,
type: 'warning'

View File

@ -244,8 +244,7 @@ export default {
this.$confirm('是否确认废除此文件?', {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true

View File

@ -125,18 +125,17 @@ export default {
},
//
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
deleteDictionary(row.Id)
.then(res => {
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
this.$store.dispatch('global/setDictionary', {})
}
})

View File

@ -239,18 +239,17 @@ export default {
},
//
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
deleteEmailNoticeConfig(row.Id)
.then(res => {
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
})
})

View File

@ -139,11 +139,10 @@ export default {
},
// CRO
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -152,7 +151,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => {
this.loading = false

View File

@ -201,11 +201,10 @@ export default {
},
//
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -213,7 +212,7 @@ export default {
.then(res => {
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
this.loading = false
}).catch(() => {

View File

@ -213,11 +213,10 @@ export default {
},
// Site
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -227,7 +226,7 @@ export default {
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$store.dispatch('global/setSite', {})
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => {
this.loading = false

View File

@ -139,11 +139,10 @@ export default {
},
// Sponsor
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -152,7 +151,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => {
this.loading = false

View File

@ -182,11 +182,10 @@ export default {
})
},
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -195,7 +194,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => { this.loading = false })
})

View File

@ -154,11 +154,10 @@ export default {
})
},
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -167,7 +166,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => { this.loading = false })
})

View File

@ -183,11 +183,10 @@ export default {
})
},
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -196,7 +195,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => { this.loading = false })
})

View File

@ -182,11 +182,10 @@ export default {
})
},
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -195,7 +194,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => { this.loading = false })
})

View File

@ -153,11 +153,10 @@ export default {
})
},
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -166,7 +165,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => { this.loading = false })
})

View File

@ -206,11 +206,10 @@ export default {
})
},
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -219,7 +218,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => { this.loading = false })
})

View File

@ -183,11 +183,10 @@ export default {
})
},
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -196,7 +195,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => { this.loading = false })
})

View File

@ -122,11 +122,10 @@ export default {
})
},
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -135,7 +134,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => { this.loading = false })
})

View File

@ -137,18 +137,17 @@ export default {
},
//
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
deleteSystemBasicData(row.Id)
.then(res => {
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
})
})

View File

@ -178,18 +178,17 @@ export default {
},
//
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
deleteSystemBasicData(row.Id)
.then(res => {
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
})
})

View File

@ -162,11 +162,10 @@ export default {
})
},
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -175,7 +174,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => { this.loading = false })
})

View File

@ -137,11 +137,10 @@ export default {
})
},
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -150,7 +149,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => { this.loading = false })
})

View File

@ -170,11 +170,10 @@ export default {
})
},
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -183,7 +182,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => { this.loading = false })
})

View File

@ -217,11 +217,10 @@ export default {
},
//
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -230,7 +229,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => { this.loading = false })
})

View File

@ -109,18 +109,17 @@ export default {
this.template_model.visible = true
},
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
deleteQATemplate(row.Id)
.then(res => {
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
})
})

View File

@ -107,18 +107,17 @@ export default {
this.setting_model.visible = true
},
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
deleteQATemplateItem(row.Id)
.then(res => {
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
})
})

View File

@ -137,18 +137,17 @@ export default {
},
//
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
deleteSystemBasicData(row.Id)
.then(res => {
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
})
})

View File

@ -178,18 +178,17 @@ export default {
},
//
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
deleteSystemBasicData(row.Id)
.then(res => {
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
})
})

View File

@ -177,8 +177,7 @@ export default {
this.$confirm('Confirm to delete?', {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
deletePaymentAdjustment(row.Id)

View File

@ -160,7 +160,7 @@ export default {
.then(res => {
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
})
})

View File

@ -263,15 +263,14 @@ export default {
this.$confirm('Confirm to delete?', {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
deleteRankPrice(row.Id)
.then(res => {
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
})
.catch(err => {

View File

@ -340,11 +340,10 @@ export default {
},
handleView(row) { row.SowFullPath ? window.open(row.SowFullPath, '_blank') : '' },
handleDeleteSOW(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'OK',
cancelButtonText: 'Cancel'
})
.then(() => {
const param = { SowPath: row.SowPath, TrialId: row.TrialId }

View File

@ -92,7 +92,7 @@ export default {
if (res.IsSuccess) {
this.fileList = []
this.$message({
message: 'Deleted successfully!',
message: this.$t('common:message:deletedSuccessfully'),
type: 'success'
})
this.$emit('getFileList', this.fileList)

View File

@ -274,7 +274,8 @@ export default {
if (this.userTypeEnumInt !== 0) {
this.$emit('refreshPage')
}
this.$message.success(this.$t('common:message:savedSuccessfully'))
// this.$message.success(this.$t('common:message:savedSuccessfully'))
this.$message.success(this.$t('trials:researchForm:message:savedSuccessfully'))
}
}).catch(() => { this.loading = false })
}).catch(() => {})

View File

@ -64,7 +64,7 @@
<span style="margin-right: 20px">
{{$t('trials:enrolledReviews:message:EQC')}}
</span>
<el-button size="small" type="primary" :disabled="$route.query.ReviewStatus === '1'" @click="addCol(1, $t('trials:enrolledReviews:message:EQC'))">Upload</el-button>
<el-button size="small" type="primary" :disabled="$route.query.ReviewStatus === '1'" @click="addCol(1, $t('trials:enrolledReviews:message:EQC'))">{{$t('common:button:upload')}}</el-button>
</div>
<el-table :data="ackSowList" size="small" v-if="!$route.query.ReviewStatus">
<el-table-column type="index" width="40" />

View File

@ -567,8 +567,7 @@ export default {
this.$confirm('Confirm to delete?', {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'OK',
cancelButtonText: 'Cancel'
})
.then(() => {
deleteEducationInfo(row.Id)
@ -636,8 +635,7 @@ export default {
this.$confirm('Confirm to delete?', {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'OK',
cancelButtonText: 'Cancel'
})
.then(() => {
deletePostgraduateInfo(row.Id)

View File

@ -181,7 +181,7 @@ export default {
this.fileList = []
this.GCPID = ''
this.$message({
message: 'Deleted successfully!',
message: this.$t('common:message:deletedSuccessfully'),
type: 'success'
})
}

View File

@ -266,11 +266,10 @@ export default {
}
},
handleRemoveFile(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
}).then(() => {
deleteAttachment(row.Id, row.Path)
.then(res => {
@ -278,7 +277,7 @@ export default {
this.resumeList.splice(this.resumeList.findIndex(item => item.Id === row.Id), 1)
this.filterByLanguage()
this.$message({
message: 'Deleted successfully!',
message: this.$t('common:message:deletedSuccessfully'),
type: 'success'
})
}

View File

@ -78,7 +78,7 @@
</div>
</el-form>
<el-dialog
:label="$t('system:Setting:title:Vacation')"
:title="$t('system:Setting:title:Vacation')"
:visible.sync="dialogVisible"
width="50%"
:close-on-click-modal="false"
@ -87,6 +87,7 @@
<div>
<el-date-picker
v-model="daterange"
style="width: 360px"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
type="daterange"
@ -117,7 +118,7 @@
</template>
</el-table-column>
</el-table>
<div class="pagination">
<div class="pagination" style="padding: 10px 0;text-align: right">
<el-pagination
background
layout="total,sizes,prev, pager, next"
@ -165,7 +166,6 @@ export default {
rules: {
AdminComment: [{ max: 500, message: 'The maximum length is 500' }],
BlindName: [{ required: true, message: 'Please specify', trigger: 'blur' }],
BlindNameCN: [{ required: true, message: 'Please specify', trigger: 'blur' }]
},
doctorId: this.$route.query.Id,
isDisabled: false,
@ -258,7 +258,7 @@ export default {
}
},
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
})
@ -272,7 +272,7 @@ export default {
this.gridData.splice(index, 1)
this.totalItems = this.totalItems - 1
}
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
this.loading2 = false
})

View File

@ -2,7 +2,7 @@
<div class="form-container">
<div class="title-wrapper">
<p>{{$t('system:TrialExperience:title:Clinical Trial Experience')}}</p>
<el-button :disabled="$route.query.ReviewStatus === '1'" class="add" size="small" @click="handleAddClinicalTrial">Add</el-button>
<el-button :disabled="$route.query.ReviewStatus === '1'" class="add" size="small" @click="handleAddClinicalTrial">{{$t('common:button:add')}}</el-button>
</div>
<div style="padding:0 40px;">
<el-table
@ -73,7 +73,7 @@
size="small"
>
<el-form-item :label="$t('system:TrialExperience:label:Phase')" prop="PhaseId">
<el-select v-model="clinicalTrialForm.PhaseId" placeholder="Please select">
<el-select v-model="clinicalTrialForm.PhaseId">
<!-- <el-option
v-for="(key,value) of dictionaryList.Phase"
:key="value"
@ -91,7 +91,6 @@
<el-form-item :label="$t('system:TrialExperience:label:Review Criteria')" prop="EvaluationCriteriaIdList">
<el-select
v-model="clinicalTrialForm.EvaluationCriteriaIdList"
placeholder="Please select"
multiple
>
<!-- <el-option v-for="(key,value) of dictionaryList.ReadingStandard" :key="value" :label="key" :value="value" /> -->
@ -267,8 +266,7 @@ export default {
this.$confirm('Confirm to delete?', {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'OK',
cancelButtonText: 'Cancel'
})
.then(() => {
deleteTrialExperience(row.Id)

View File

@ -69,13 +69,13 @@
</el-form>
</div>
<span style="margin-left:auto;">
<el-switch
v-model="isEN"
active-text="EN"
inactive-text="中文"
style="margin-right:10px;"
@change="handleIsEnChange"
/>
<!-- <el-switch-->
<!-- v-model="isEN"-->
<!-- active-text="EN"-->
<!-- inactive-text="中文"-->
<!-- style="margin-right:10px;"-->
<!-- @change="handleIsEnChange"-->
<!-- />-->
<el-button size="small" icon="el-icon-plus" type="primary" @click="handleNew">{{$t('common:button:new')}}</el-button>
</span>
</div>
@ -367,17 +367,20 @@ export default {
},
tokenKey: getToken(),
share_model: { visible: false, title: '', width: '500px' },
shareLink: null
shareLink: null,
isEnglish: false
}
},
dicts: ['ReadingType', 'Subspeciality', 'Department', 'Rank', 'Position', 'ReadingStandard'],
computed: {
...mapGetters(['hospitalList', 'reviewersQuery', 'isEnglish'])
...mapGetters(['hospitalList', 'reviewersQuery'])
},
created() {
this.isEN = this.isEnglish
this.reviewersQuery ? this.listQuery = this.reviewersQuery : ''
this.initPage()
// this.isEnglish = !!((this.$route.query.isEnglish === true || this.$route.query.isEnglish === 'true'))
this.isEnglish = this.$i18n.locale === 'zh' ? false : true
this.isEN = this.isEnglish
},
methods: {
copyCode() {

View File

@ -43,9 +43,6 @@
<el-date-picker
v-model="datetimerange"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00', '23:59:59']"
@change="handleDatetimeChange"
@ -77,7 +74,7 @@
<el-table-column
:label="$t('system:loginLog:table:OptType')"
prop="OptType"
min-width="90"
min-width="150"
show-overflow-tooltip
sortable="custom"
>
@ -88,28 +85,28 @@
<el-table-column
label="IP"
prop="IP"
min-width="90"
min-width="150"
sortable="custom"
show-overflow-tooltip
/>
<el-table-column
:label="$t('system:loginLog:table:LoginFaildName')"
prop="LoginFaildName"
min-width="90"
min-width="180"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
:label="$t('system:loginLog:table:LoginUserName')"
prop="LoginUserName"
min-width="90"
min-width="140"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
:label="$t('system:loginLog:table:LoginUserType')"
prop="LoginUserTypeEnum"
min-width="90"
min-width="120"
sortable="custom"
show-overflow-tooltip
>
@ -120,14 +117,14 @@
<el-table-column
:label="$t('system:loginLog:table:OptUserName')"
prop="OptUserName"
min-width="90"
min-width="200"
sortable="custom"
show-overflow-tooltip
/>
<el-table-column
:label="$t('system:loginLog:table:OptUserType')"
prop="OptUserTypeEnum"
min-width="90"
min-width="200"
sortable="custom"
show-overflow-tooltip
>
@ -138,7 +135,7 @@
<el-table-column
:label="$t('system:loginLog:table:CreateTime')"
prop="CreateTime"
min-width="90"
min-width="180"
sortable="custom"
show-overflow-tooltip
/>

View File

@ -5,7 +5,7 @@
ref="NoticeForm"
:model="form"
:rules="rules"
label-width="120px"
label-width="180px"
size="small"
>
<el-form-item :label="$t('system:notice:label:NoticeLevel')" prop="NoticeLevelEnum">

View File

@ -136,16 +136,15 @@ export default {
// })
},
handleDeleteRole(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
}).then(() => {
deleteUserTypeRole(row.Id).then((res) => {
if (res.IsSuccess) {
this.list.splice(this.list.findIndex((item) => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
})
})

View File

@ -9,27 +9,26 @@
</el-card>
</template>
<script>
import { params } from '@/utils/ruoyi'
import { resetPassword } from '@/api/admin'
export default {
name: 'Account',
props: {
userId: { type: String, default: '' }
userId: { type: String, default: '' },
},
methods: {
handleReset() {
this.$confirm('Sure to reset password?', {
this.$confirm(this.$t('system:userlist:message:ResetPassword').replace('xxx', params('userName')), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
resetPassword(this.userId).then(res => {
if (res.IsSuccess) {
this.$message({
message: 'Reset password successfully',
type: 'success'
})
let msg = this.$t('system:userlist:message:ResetPassword2')
msg = msg.replace('xxx', params('userName'))
msg = msg.replace('yyy', params('email'))
this.$alert(msg)
}
})
})

View File

@ -38,10 +38,12 @@
<el-input v-model="user.Phone" />
</el-form-item>
<el-form-item v-if="type==1" :label="$t('system:userlist:table:Disable')">
<el-switch v-model="user.Status" :active-value="0" :inactive-value="1" />
<el-switch v-model="user.Status" :active-value="1" :inactive-value="0" />
</el-form-item>
<el-form-item :label="$t('system:userlist:table:IsTestUser')">
<el-switch v-model="user.IsTestUser" />
<el-radio-group v-model="user.IsTestUser">
<el-radio v-for="item of $d.NoOrYes" :label="item.value">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item :label="$t('system:userlist:table:UserType')" prop="UserTypeId">
<el-select ref="userType" v-model="user.UserTypeId" size="small" placeholder="Please select" style="width:100%;" :disabled="user.CanEditUserType === false">
@ -105,11 +107,29 @@ export default {
}
},
methods: {
updateQueryParam(param, newValue,wurl) {
// URL
let url = wurl || window.location.href;
//
let regex = new RegExp('([?&])' + param + '=.*?(&|$)');
let separator = url.indexOf('?') !== -1 ? '&' : '?';
//
if (regex.test(url)) {
return url.replace(regex, '$1' + param + '=' + newValue + '$2');
} else {
return url + separator + param + '=' + newValue;
}
},
handleSave() {
this.$refs.userForm.validate(valid => {
if (valid) {
this.isDisabled = true
const selectedUserType = this.userTypeOptions.filter(item => item.Id === this.user.UserTypeId)
let newUrl = this.updateQueryParam('userName', this.user.UserName)
newUrl = this.updateQueryParam('email', this.user.EMail, newUrl)
window.history.pushState({ path: newUrl }, '', newUrl)
if (selectedUserType.length > 0) {
this.user.UserTypeEnum = selectedUserType[0].UserTypeEnum
}

View File

@ -9,13 +9,14 @@
:search-handle="searchHandle"
@search="handleSearch"
@reset="handleReset"
@new="handleAddUser"
/>
<el-button
type="primary"
size="mini"
style="margin-left:auto;height: 28px;position: absolute;bottom: 0;right: 10px"
@click="handleAddUser"
>{{$t('common:button:new')}}</el-button>
<!-- <el-button-->
<!-- type="primary"-->
<!-- size="mini"-->
<!-- style="margin-left:auto;height: 28px;position: absolute;bottom: 0;right: 10px"-->
<!-- @click="handleAddUser"-->
<!-- >{{$t('common:button:new')}}</el-button>-->
</div>
<base-table
v-loading="loading"
@ -36,13 +37,13 @@
{{ scope.row.RoleNameList.map(role => role.RoleName).join(',') }}
</template>
<template slot="isZhiZhunSlot" slot-scope="{scope}">
{{scope.row.IsZhiZhun ? 'Internal' : 'External'}}
{{scope.row.IsZhiZhun ? $t('system:userlist:table:InternalOrExternal:Internal') : $t('system:userlist:table:InternalOrExternal:External')}}
</template>
<template slot="isTestUserSlot" slot-scope="{scope}">
{{scope.row.IsTestUser ? 'Yes' : 'No'}}
{{scope.row.IsTestUser ? $t('system:userlist:table:IsTestUser:Yes') : $t('system:userlist:table:IsTestUser:No')}}
</template>
<template slot="statusSlot" slot-scope="{scope}">
{{ scope.row.Status?'Enable':'Disable' }}
{{ scope.row.Status? $t('system:userlist:table:Status:Enable') : $t('system:userlist:table:Status:Disable') }}
</template>
</base-table>
</box-content>
@ -166,8 +167,8 @@ export default {
label: this.$t('common:action:action'),
minWidth: 200,
operates: [
{ name: 'Edit', type: 'primary', emitKey: 'editCb' },
{ name: 'Delete', type: 'danger', emitKey: 'deleteCb' }
{ name: this.$t('common:button:edit'), type: 'primary', emitKey: 'editCb' },
{ name: this.$t('common:button:delete'), type: 'danger', emitKey: 'deleteCb' }
] }
],
searchForm: [
@ -205,8 +206,8 @@ export default {
prop: 'IsZhiZhun',
width: '100px',
options: [
{ label: 'Internal', value: true },
{ label: 'External', value: false }
{ label: this.$t('system:userlist:label:InternalOrExternal:Internal'), value: true },
{ label: this.$t('system:userlist:label:InternalOrExternal:External'), value: false }
],
props: { label: 'label', value: 'value' },
change: scope => '',
@ -218,8 +219,8 @@ export default {
prop: 'IsTestUser',
width: '100px',
options: [
{ label: 'Yes', value: true },
{ label: 'No', value: false }
{ label: this.$t('system:userlist:label:IsTestUser:Yes'), value: true },
{ label: this.$t('system:userlist:label:IsTestUser:No'), value: false }
],
props: { label: 'label', value: 'value' },
change: scope => '',
@ -231,8 +232,8 @@ export default {
prop: 'UserState',
width: '100px',
options: [
{ label: 'Enable', value: 1 },
{ label: 'Disable', value: 0 }
{ label: this.$t('system:userlist:label:Status:Enable'), value: 1 },
{ label: this.$t('system:userlist:label:Status:Disable'), value: 0 }
],
props: { label: 'label', value: 'value' },
change: scope => '',
@ -250,7 +251,8 @@ export default {
],
searchHandle: [
{ label: this.$t('common:button:reset'), type: 'primary', emitKey: 'reset' },
{ label: this.$t('common:button:search'), type: 'primary', emitKey: 'search' }
{ label: this.$t('common:button:search'), type: 'primary', emitKey: 'search' },
{ label: this.$t('common:button:new'), type: 'primary', emitKey: 'new' }
],
userTypeOptions: [],
loading: false,
@ -289,22 +291,21 @@ export default {
},
//
handleEditUser(data) {
this.$router.push({ path: '/system/user/edit', query: { Id: data.Id }})
this.$router.push({ path: '/system/user/edit', query: { Id: data.Id, userName: data.UserName, email: data.EMail }})
},
//
handleDeleteUser(data) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
deleteSysUser(data.Id)
.then(res => {
if (res.IsSuccess) {
this.users.splice(this.users.findIndex(item => item.Id === data.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
})
})

View File

@ -555,14 +555,14 @@
@click.stop="handleAbandon(scope.row)"
/>
<!-- 代办详情-->
<el-button
v-hasPermi="['trials:trials-list:abolish']"
circle
icon="el-icon-receiving"
:disabled="scope.row.TrialStatusStr === 'Initializing'"
:title="$t('trials:trials-list:action:commission')"
@click.stop="handleCommission(scope.row)"
/>
<!-- <el-button-->
<!-- v-hasPermi="['trials:trials-list:abolish']"-->
<!-- circle-->
<!-- icon="el-icon-receiving"-->
<!-- :disabled="scope.row.TrialStatusStr === 'Initializing'"-->
<!-- :title="$t('trials:trials-list:action:commission')"-->
<!-- @click.stop="handleCommission(scope.row)"-->
<!-- />-->
</template>
</el-table-column>
</el-table>

View File

@ -8,15 +8,15 @@
<div v-if="trialInfo" class="trial-wrapper">
<div class="div-row">
<div class="div-col">
<label class="el-label">{{ $t('trials:trials-list:form:indication') }}</label>
<label class="el-label">{{ $t('trials:trials-list:form:indication:') }}</label>
<span>{{$fd('Indication', trialInfo.IndicationEnum)}}{{trialInfo.Indication ? '-' + trialInfo.Indication : '' }}</span>
</div>
<div class="div-col">
<label class="el-label">{{ $t('trials:trials-list:form:criterion') }}</label>
<label class="el-label">{{ $t('trials:trials-list:form:criterion:') }}</label>
<span>{{ (trialInfo.CriterionList && trialInfo.CriterionList.length>0)? trialInfo.CriterionList.join(', '): '' }}</span>
</div>
<div class="div-col">
<label class="el-label">{{ $t('trials:trials-list:form:modality') }}</label>
<label class="el-label">{{ $t('trials:trials-list:form:modality:') }}</label>
<el-tooltip
class="item"
:content="trialInfo.Modalitys"
@ -34,11 +34,11 @@
<!-- <span>{{ $fd('ReadingMethod', trialInfo.ReadingType) }}</span>-->
<!-- </div>-->
<div class="div-col">
<label class="el-label">{{ $t('trials:trials-list:form:totalReviewers') }}</label>
<label class="el-label">{{ $t('trials:trials-list:form:totalReviewers:') }}</label>
<span>{{ trialInfo.TotalReviewers }}</span>
</div>
<div class="div-col">
<label class="el-label">{{ $t('trials:trials-list:form:typeofReviewers') }}</label>
<label class="el-label">{{ $t('trials:trials-list:form:typeofReviewers:') }}</label>
<span>{{ trialInfo.AttendedReviewerTypeEnumList.map(v => $fd('AttendedReviewerType', v)).toString() }}</span>
<!-- <span>{{ $fd('AttendedReviewerType', trialInfo.AttendedReviewerType) }}</span>-->
</div>

View File

@ -8,15 +8,15 @@
<div v-if="trialInfo" class="trial-wrapper">
<div class="div-row">
<div class="div-col">
<label class="el-label">{{ $t('trials:trials-list:form:indication') }}</label>
<label class="el-label">{{ $t('trials:trials-list:form:indication:') }}</label>
<span>{{$fd('Indication', trialInfo.IndicationEnum)}}{{trialInfo.Indication ? '-' + trialInfo.Indication : '' }}</span>
</div>
<div class="div-col">
<label class="el-label">{{ $t('trials:trials-list:form:criterion') }}</label>
<label class="el-label">{{ $t('trials:trials-list:form:criterion:') }}</label>
<span>{{ (trialInfo.CriterionList && trialInfo.CriterionList.length>0)? trialInfo.CriterionList.join(', '): '' }}</span>
</div>
<div class="div-col">
<label class="el-label">{{ $t('trials:trials-list:form:modality') }}</label>
<label class="el-label">{{ $t('trials:trials-list:form:modality:') }}</label>
<el-tooltip
class="item"
:content="trialInfo.Modalitys"
@ -34,11 +34,11 @@
<!-- <span>{{ $fd('ReadingMethod', trialInfo.ReadingType) }}</span>-->
<!-- </div>-->
<div class="div-col">
<label class="el-label">{{ $t('trials:trials-list:form:totalReviewers') }}</label>
<label class="el-label">{{ $t('trials:trials-list:form:totalReviewers:') }}</label>
<span>{{ trialInfo.TotalReviewers }}</span>
</div>
<div class="div-col">
<label class="el-label">{{ $t('trials:trials-list:form:typeofReviewers') }}</label>
<label class="el-label">{{ $t('trials:trials-list:form:typeofReviewers:') }}</label>
<span>{{ trialInfo.AttendedReviewerTypeEnumList.map(v => $fd('AttendedReviewerType', v)).toString() }}</span>
<!-- <span>{{ $fd('AttendedReviewerType', trialInfo.AttendedReviewerType) }}</span>-->
</div>

View File

@ -94,7 +94,7 @@ export default {
if (res.IsSuccess) {
this.fileList = []
this.$message({
message: 'Deleted successfully!',
message: this.$t('common:message:deletedSuccessfully'),
type: 'success'
})
this.$emit('getFileList', this.fileList)

View File

@ -18,22 +18,6 @@
style="width:120px;"
/>
</el-form-item>
<!-- 语言类型 -->
<!-- <el-form-item-->
<!-- :label="$t('common:title:languageType')"-->
<!-- >-->
<!-- <el-select-->
<!-- v-model="searchData.LanguageType"-->
<!-- clearable-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item of $d.LanguageType"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- 类型 -->
<el-form-item
:label="$t('trials:medicalFeedbackCfg:title:taskType')"
@ -80,7 +64,7 @@
/>
</el-select>
</el-form-item>
<el-form-item style="margin-top: 10px">
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"

View File

@ -53,7 +53,7 @@
sortable="custom"
min-width="100"
>
<template slot-scope="scope">{{ scope.row.LastName + '/' + scope.row.FirstName }}</template>
<template slot-scope="scope">{{ scope.row.LastName + ' / ' + scope.row.FirstName }}</template>
</el-table-column>
<el-table-column
prop="UserType"

View File

@ -137,11 +137,10 @@ export default {
})
},
handleDelete(row) {
this.$confirm('Sure to delete?', {
this.$confirm(this.$t('trials:uploadedDicoms:message:deleteMes'), {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading = true
@ -150,7 +149,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.list.splice(this.list.findIndex(item => item.Id === row.Id), 1)
this.$message.success('Deleted successfully!')
this.$message.success(this.$t('common:message:deletedSuccessfully'))
}
}).catch(() => { this.loading = false })
})

View File

@ -175,6 +175,8 @@
v-model="scope.row.IsReading"
:disabled="scope.row.IsDeleted || isAudit"
@change="changeReadingStatus($event, scope.row)"
:active-text="$fd('YesOrNo', true)"
:inactive-text="$fd('YesOrNo', false)"
/>
</template>
</el-table-column>
@ -188,6 +190,8 @@
v-model="scope.row.IsDeleted"
:disabled="isAudit"
@change="changeDeleteStatus($event, scope.row)"
:active-text="$fd('YesOrNo', true)"
:inactive-text="$fd('YesOrNo', false)"
/>
</template>
</el-table-column>
@ -1258,6 +1262,7 @@ export default {
row.IsReading = true
}
var message = this.$t('trials:audit:message:changeSeriesStatus').replace('xxx', statusStr)
message = message.replace('yyy', this.$fd('YesOrNo', !row.IsReading))
this.$confirm(message, {
distinguishCancelAndClose: true,
type: 'warning'
@ -1283,6 +1288,7 @@ export default {
row.IsDeleted = true
}
var message = this.$t('trials:audit:message:changeSeriesStatus').replace('xxx', statusStr)
message = message.replace('yyy', this.$fd('YesOrNo', !row.IsDeleted))
this.$confirm(message, {
distinguishCancelAndClose: true,
type: 'warning'

View File

@ -229,9 +229,9 @@
<template slot-scope="scope">
<el-tooltip placement="bottom">
<div slot="content">
<span>{{ $t('trials:crcUpload:label:dicom') }}: {{ scope.row.DicomStudyCount }},</span>
<span>{{ $t('trials:crcUpload:label:dicom') }}: {{ scope.row.DicomStudyCount }}, </span>
<span v-if="scope.row.IsBaseLine && OtherInfo.ClinicalInformationTransmissionEnum > 0">
<span>{{ $t('trials:crcUpload:label:noneDicom') }}: {{ scope.row.NoneDicomStudyCount }},</span>
<span>{{ $t('trials:crcUpload:label:noneDicom') }}: {{ scope.row.NoneDicomStudyCount }}, </span>
<span>{{ $t('trials:crcUpload:label:clinicalData') }}: {{ scope.row.IsHaveClinicalData?'w/':'w/o' }}</span>
</span>
<span v-else>{{ $t('trials:crcUpload:label:noneDicom') }}: {{ scope.row.NoneDicomStudyCount }}</span>

View File

@ -5,7 +5,7 @@
</div>
<div class="workbench-content" style="height: 100%">
<div style="height: 100%;position: relative">
<div style="font-size: 20px;position: absolute;line-height: 40px;text-align: right" :style="{width: width + 'px'}">
<div style="font-weight:900;font-size: 20px;position: absolute;line-height: 60px;text-align: left;white-space: nowrap;padding-left: 20px" :style="{width: width + 'px'}">
{{ $t('trials:workbench:label:pendingTasksStats') }} ({{tabList.TotalCount}})
</div>
<el-tabs v-model="activeName" style="height: 100%" tab-position="left">
@ -157,7 +157,7 @@ export default {
console.log(res)
this.trialIdList = res.Result
this.$nextTick(() => {
this.width = document.querySelector('.el-tabs__nav-scroll').clientWidth - 75
this.width = document.querySelector('.el-tabs__nav-scroll').clientWidth - 20
var list = document.querySelectorAll('div[aria-controls]')
list.forEach((v, i) => {
if (i === 0) {
@ -180,10 +180,11 @@ export default {
<style lang="scss">
.workbench-container{
.el-tabs__nav{
transform: translateY(40px)!important;
transform: translateY(60px)!important;
}
.el-tabs__header{
position: relative;
width: 260px!important;
}
::-webkit-scrollbar {
width: 7px;

View File

@ -1,30 +1,30 @@
<template>
<div class="app-container">
<el-card class="Security" style="width:800px;">
<div slot="header" class="clearfix">
<span>Security</span>
</div>
<el-form
ref="userAccount"
:model="user"
:rules="userFormRules"
label-width="150px"
style="width:600px;"
>
<el-form-item label="Current Password" prop="OldPassWord">
<el-input v-model="user.OldPassWord" type="password" />
</el-form-item>
<el-form-item label="New Password" prop="NewPassWord">
<el-input v-model="user.NewPassWord" type="password" />
</el-form-item>
<el-form-item label="Confirm Password" prop="ConfirmPassWord">
<el-input v-model="user.ConfirmPassWord" type="password" />
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" @click="save">save</el-button>
</el-form-item>
</el-form>
</el-card>
<!-- <el-card class="Security" style="width:800px;">-->
<!-- <div slot="header" class="clearfix">-->
<!-- <span>Security</span>-->
<!-- </div>-->
<!-- <el-form-->
<!-- ref="userAccount"-->
<!-- :model="user"-->
<!-- :rules="userFormRules"-->
<!-- label-width="150px"-->
<!-- style="width:600px;"-->
<!-- >-->
<!-- <el-form-item label="Current Password" prop="OldPassWord">-->
<!-- <el-input v-model="user.OldPassWord" type="password" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="New Password" prop="NewPassWord">-->
<!-- <el-input v-model="user.NewPassWord" type="password" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="Confirm Password" prop="ConfirmPassWord">-->
<!-- <el-input v-model="user.ConfirmPassWord" type="password" />-->
<!-- </el-form-item>-->
<!-- <el-form-item>-->
<!-- <el-button type="primary" size="small" @click="save">save</el-button>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- </el-card>-->
</div>
</template>
<script>

View File

@ -1,132 +1,150 @@
<template>
<div class="app-container">
<el-form
ref="userForm"
size="small"
:model="user"
:rules="userFormRules"
label-width="150px"
style="width:800px;"
>
<el-card class="Basic" shadow="never" size="small">
<div slot="header" class="clearfix">
<span>Basic Information</span>
</div>
<el-form-item v-if="user.Code" label="ID: " prop="Code">
<el-input v-model="user.Code" disabled />
</el-form-item>
<el-card class="Security" style="width:800px;">
<div slot="header" class="clearfix">
<span>Security</span>
</div>
<el-form
ref="userForm"
size="small"
:model="user"
:rules="userFormRules"
label-width="210px"
style="width:600px;"
>
<el-form-item v-if="user.Code" label="ID: " prop="Code">
<el-input v-model="user.Code" disabled />
</el-form-item>
<el-form-item label="User Name: " prop="UserName">
<el-input v-model="user.UserName" disabled />
</el-form-item>
<el-form-item label="User Name: " prop="UserName">
<el-input v-model="user.UserName" disabled />
</el-form-item>
<el-form-item v-if="user.UserTypeEnum !== 8" label="Surname: " prop="LastName">
<el-input v-model="user.LastName" />
</el-form-item>
<el-form-item v-if="user.UserTypeEnum !== 8" label="Given Name: " prop="FirstName">
<el-input v-model="user.FirstName" />
</el-form-item>
<el-form-item label="Gender: " prop="Sex" style="margin-right:40px;">
<el-radio-group v-model="user.Sex">
<el-radio :label="1">Male</el-radio>
<el-radio :label="0">Female</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Email: " prop="EMail">
<el-input v-model="user.EMail" />
</el-form-item>
<el-form-item label="Phone: ">
<el-input v-model="user.Phone" />
</el-form-item>
<el-form-item v-if="user.UserTypeEnum !== 8" label="Disable">
<el-switch v-model="user.Status" :active-value="0" :inactive-value="1" disabled />
</el-form-item>
<!-- <el-form-item label="User Type: " prop="UserTypeId">
<el-select v-model="user.UserTypeId" size="small" placeholder="Please select" disabled>
<el-option
v-for="(value,key) of dictionaryList.UserType"
:key="key"
:label="value"
:value="key"
/>
</el-select>
</el-form-item> -->
<!-- <el-form-item label="User Type: " prop="UserTypeId">
<el-select ref="userType" v-model="user.UserTypeId" size="small" placeholder="Please select" style="width:100%;">
<el-option
v-for="(userType,key) of userTypeOptions"
:key="key"
:label="userType.UserType"
:value="userType.Id"
/>
</el-select>
</el-form-item> -->
<!-- <el-form-item label="Real Name: " prop="RealName">
<el-input v-model="user.RealName" />
</el-form-item> -->
<el-form-item v-if="user.UserTypeEnum !== 8" label="Surname: " prop="LastName">
<el-input v-model="user.LastName" />
</el-form-item>
<el-form-item v-if="user.UserTypeEnum !== 8" label="Given Name: " prop="FirstName">
<el-input v-model="user.FirstName" />
</el-form-item>
<el-form-item label="Gender: " prop="Sex" style="margin-right:40px;">
<el-radio-group v-model="user.Sex">
<el-radio :label="1">Male</el-radio>
<el-radio :label="0">Female</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Email: " prop="EMail">
<el-input v-model="user.EMail" />
</el-form-item>
<el-form-item label="Phone: ">
<el-input v-model="user.Phone" />
</el-form-item>
<el-form-item v-if="user.UserTypeEnum !== 8" label="Disable">
<el-switch v-model="user.Status" :active-value="0" :inactive-value="1" disabled />
</el-form-item>
<!-- <el-form-item label="User Type: " prop="UserTypeId">
<el-select v-model="user.UserTypeId" size="small" placeholder="Please select" disabled>
<el-option
v-for="(value,key) of dictionaryList.UserType"
:key="key"
:label="value"
:value="key"
/>
</el-select>
</el-form-item> -->
<!-- <el-form-item label="User Type: " prop="UserTypeId">
<el-select ref="userType" v-model="user.UserTypeId" size="small" placeholder="Please select" style="width:100%;">
<el-option
v-for="(userType,key) of userTypeOptions"
:key="key"
:label="userType.UserType"
:value="userType.Id"
/>
</el-select>
</el-form-item> -->
<el-form-item label="User Type: " prop="UserType">
<el-input v-model="user.UserType" disabled />
</el-form-item>
<el-form-item label="User Type: " prop="UserType">
<el-input v-model="user.UserType" disabled />
</el-form-item>
</el-card>
<!-- <div slot="header" class="clearfix">-->
<!-- <span>Affiliation</span>-->
<!-- </div>-->
<el-form-item prop="IsZhiZhun">
<el-radio-group v-model="user.IsZhiZhun">
<el-radio :label="true">Internal</el-radio>
<el-radio :label="false">External</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-show="user.IsZhiZhun === false" label="Organization Name: " prop="OrganizationName">
<el-input v-model="user.OrganizationName" />
</el-form-item>
<!-- <el-form-item label="Orgnization Type: " prop="OrganizationTypeId">
<el-select
v-model="user.OrganizationTypeId"
placeholder="Please select"
@change="handelOrgnizationTypeChange"
>
<el-option
v-for="(value,key) of dictionaryList.InstitutionalType"
:key="key"
:label="value"
:value="key"
/>
</el-select>
</el-form-item>
<el-card v-if="user.UserTypeEnum !== 8" class="Affiliation" shadow="never" style="margin-top:10px;" size="small">
<div slot="header" class="clearfix">
<span>Affiliation</span>
</div>
<el-form-item prop="IsZhiZhun">
<el-radio-group v-model="user.IsZhiZhun">
<el-radio :label="true">Internal</el-radio>
<el-radio :label="false">External</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-show="user.IsZhiZhun === false" label="Organization Name: " prop="OrganizationName">
<el-input v-model="user.OrganizationName" />
</el-form-item>
<!-- <el-form-item label="Orgnization Type: " prop="OrganizationTypeId">
<el-select
v-model="user.OrganizationTypeId"
placeholder="Please select"
@change="handelOrgnizationTypeChange"
>
<el-option
v-for="(value,key) of dictionaryList.InstitutionalType"
:key="key"
:label="value"
:value="key"
/>
</el-select>
</el-form-item>
<el-form-item v-show="user.OrganizationTypeId" label="Orgnization: " prop="OrganizationId">
<el-select v-model="user.OrganizationId" placeholder="Please select">
<el-option
v-for="(item) of OrganizationOptions"
:key="item.Id"
:label="item.InstitutionName"
:value="item.Id"
/>
</el-select>
</el-form-item> -->
<el-form-item v-show="user.OrganizationTypeId" label="Orgnization: " prop="OrganizationId">
<el-select v-model="user.OrganizationId" placeholder="Please select">
<el-option
v-for="(item) of OrganizationOptions"
:key="item.Id"
:label="item.InstitutionName"
:value="item.Id"
/>
</el-select>
</el-form-item> -->
<el-form-item label="Department: " prop="DepartmentName">
<el-input v-model="user.DepartmentName" />
<el-form-item label="Department: " prop="DepartmentName">
<el-input v-model="user.DepartmentName" />
</el-form-item>
<el-form-item label="Position: " prop="PositionName">
<el-input v-model="user.PositionName" />
</el-form-item>
<el-form-item>
<el-button
type="primary"
size="small"
:disabled="isDisabled"
style="margin:10px 15px"
@click="handleSave"
>Save</el-button>
</el-form-item>
<el-form-item label="Position: " prop="PositionName">
<el-input v-model="user.PositionName" />
</el-form>
</el-card>
<el-card class="Security" style="width:800px;">
<div slot="header" class="clearfix">
<span>Security</span>
</div>
<el-form
ref="userAccount"
:model="user"
:rules="userFormRules"
label-width="210px"
style="width:600px;"
>
<el-form-item label="Current Password" prop="OldPassWord">
<el-input v-model="user.OldPassWord" type="password" />
</el-form-item>
</el-card>
<el-form-item>
<el-button
type="primary"
size="small"
:disabled="isDisabled"
style="margin:10px 15px"
@click="handleSave"
>Save</el-button>
</el-form-item>
</el-form>
<el-form-item label="New Password" prop="NewPassWord">
<el-input v-model="user.NewPassWord" type="password" />
</el-form-item>
<el-form-item label="Confirm New Password" prop="ConfirmPassWord">
<el-input v-model="user.ConfirmPassWord" type="password" />
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" @click="save">save</el-button>
</el-form-item>
</el-form>
</el-card>
</div>
</template>
<script>

View File

@ -1,11 +1,392 @@
<template>
<div />
<div class="trial-myinfo">
<div class="trial-myinfo-left">
<div class="trial-myinfo-left-top">
<div class="trial-myinfo-head">
<!-- 个人头像 -->
{{ $t('trials:trials-myinfo:title:avater') }}
</div>
<div class="trial-myinfo-body">
<div>
{{ user.LastName }}
</div>
</div>
</div>
<div class="trial-myinfo-left-bottom">
<div class="trial-myinfo-head">
<!-- 用户基本信息 -->
{{ $t('trials:trials-myinfo:title:basicInfo') }}
</div>
<el-form ref="userForm" label-position="right" :model="user" :rules="userFormRules" label-width="120px">
<el-form-item v-if="user.Code" label="ID: " prop="Code">
<el-input v-model="user.Code" disabled />
</el-form-item>
<!-- -->
<el-form-item :disabled="user.UserTypeEnum === 8" :label="$t('trials:trials-myinfo:form:surname')" prop="LastName">
<el-input v-model="user.LastName" :placeholder="$t('trials:trials-myinfo:form:surname')"/>
</el-form-item>
<!-- -->
<el-form-item :disabled="user.UserTypeEnum === 8" :label="$t('trials:trials-myinfo:form:givenname')" prop="FirstName">
<el-input v-model="user.FirstName" :placeholder="$t('trials:trials-myinfo:form:givenname')"/>
</el-form-item>
<!-- 性别 -->
<el-form-item :label="$t('trials:trials-myinfo:form:gender')" prop="Sex" style="margin-right:40px;">
<el-radio-group v-model="user.Sex">
<el-radio :label="1">Male</el-radio>
<el-radio :label="0">Female</el-radio>
</el-radio-group>
</el-form-item>
<!-- 单位 -->
<el-form-item :label="$t('trials:trials-myinfo:form:organization')" prop="OrganizationName">
<el-input v-model="user.OrganizationName" :placeholder="$t('trials:trials-myinfo:form:organization')"/>
</el-form-item>
<!-- 部门 -->
<el-form-item :label="$t('trials:trials-myinfo:form:department')" prop="DepartmentName">
<el-input v-model="user.DepartmentName" :placeholder="$t('trials:trials-myinfo:form:organization')"/>
</el-form-item>
<!-- 职位 -->
<el-form-item :label="$t('trials:trials-myinfo:form:position')" prop="PositionName">
<el-input v-model="user.PositionName" :placeholder="$t('trials:trials-myinfo:form:position')"/>
</el-form-item>
</el-form>
<!-- 保存 -->
<el-button
class="trial-info-btn"
type="primary"
size="small"
@click="handleSave"
>
{{ $t('trials:trials-myinfo:button:save') }}
</el-button>
</div>
</div>
<div class="trial-myinfo-right">
<div class="trial-myinfo-right-box">
<div class="trial-myinfo-head">
<!-- 账号信息 -->
{{ $t('trials:trials-myinfo:title:accountInfo') }}
</div>
<el-form label-position="right" label-width="180px">
<!-- 用户名 -->
<el-form-item :label="$t('trials:trials-myinfo:form:userName')" style="margin-bottom: 5px;" prop="UserName">
<span>{{ user.UserName }}</span>
</el-form-item>
<el-form-item label="" style="position: relative" prop="UserName">
<el-input v-model="userForm.UserName" :placeholder="$t('trials:trials-myinfo:form:userName')"/>
<!-- 修改 -->
<el-button :disabled="!userForm.UserName" class="saveBtn" type="primary" size="small" @click="setNewUserName">
{{ $t('trials:trials-myinfo:button:update') }}
</el-button>
</el-form-item>
<!-- 电话 -->
<el-form-item :label="$t('trials:trials-myinfo:form:phone')" style="margin-bottom: 5px;" prop="UserName">
<span>{{ user.Phone }}</span>
</el-form-item>
<el-form-item label="" style="position: relative" prop="UserName">
<el-input v-model="userForm.Phone" :placeholder="$t('trials:trials-myinfo:form:phone')"/>
<!-- 修改 -->
<el-button :disabled="!userForm.Phone" class="saveBtn" type="primary" size="small" @click="setNewPhone">
{{ $t('trials:trials-myinfo:button:update') }}
</el-button>
</el-form-item>
<!-- 邮箱 -->
<el-form-item :label="$t('trials:trials-myinfo:form:email')" style="margin-bottom: 5px;" prop="UserName">
<span>{{ user.EMail }}</span>
</el-form-item>
<el-form-item label="" style="margin-bottom: 10px;position: relative" prop="EMail">
<el-input v-model="userForm.EMail" @input="handleEmailChange" :placeholder="$t('trials:trials-myinfo:form:email')"/>
<el-button class="sendCode" :disabled="sendDisabled" type="primary" size="mini" @click="sendVerificationCode">{{ sendTitle }}</el-button>
</el-form-item>
<el-form-item label="" style="position: relative" prop="VerificationCode">
<el-input v-model="userForm.VerificationCode" :placeholder="$t('trials:researchForm:form:verifyCode')"/>
<!-- 修改 -->
<el-button :disabled="!userForm.EMail || !userForm.VerificationCode" class="saveBtn" type="primary" size="small" @click="setNewEmail">
{{ $t('trials:trials-myinfo:button:update') }}
</el-button>
</el-form-item>
</el-form>
</div>
<div class="trial-myinfo-right-box">
<div class="trial-myinfo-head">
<!-- 修改密码 -->
{{ $t('trials:trials-myinfo:title:updatePaasord') }}
</div>
<el-form ref="passwordForm" label-position="right" :model="password" :rules="passwordFormRules" label-width="180px">
<!-- 旧密码 -->
<el-form-item :label="$t('recompose:form:oldPassword')" prop="OldPassWord">
<el-input v-model="password.OldPassWord" type="password" show-password auto-complete="new-password" :placeholder="$t('recompose:form:oldPassword')"/>
</el-form-item>
<!-- 新密码 -->
<el-form-item class="my_new_pwd" :label="$t('recompose:form:newPassword')" prop="NewPassWord">
<el-input v-model="password.NewPassWord" type="password" show-password auto-complete="new-password" :placeholder="$t('recompose:form:newPassword')"/>
</el-form-item>
<!-- 确认密码 -->
<el-form-item :label="$t('recompose:form:confirmPassword')" prop="ConfirmPassWord">
<el-input v-model="password.ConfirmPassWord" type="password" show-password auto-complete="new-password" :placeholder="$t('recompose:form:confirmPassword')"/>
</el-form-item>
</el-form>
<el-button
type="primary"
size="small"
class="trial-info-btn"
@click="save"
>
{{ $t('trials:trials-myinfo:button:save') }}
</el-button>
</div>
</div>
</div>
</template>
<script>
export default {}
import { getUserTypeList, getUser, updateUser, modifyPassword } from '@/api/admin.js'
import { sendVerificationCode, setNewEmail, setNewPhone, setNewUserName } from '@/api/system/user.js'
import md5 from 'js-md5'
var timer = ''
var countdown = 60
import store from '@/store'
import {mapGetters, mapMutations} from 'vuex'
export default {
name: 'TrialsMyinfo',
data() {
return {
userTypeOptions: [],
user: {},
password: {},
userForm: {},
sendDisabled: true,
sendTitle: this.$t('trials:trials-myinfo:button:getVCode'),
userFormRules: {
UserName: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }],
UserTypeId: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }],
IsZhiZhun: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }],
OrganizationName: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }],
LastName: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, { max: 50, message: `${this.$t('common:ruleMessage:maxLength')} 50` }],
FirstName: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, { max: 50, message: `${this.$t('common:ruleMessage:maxLength')} 50` }],
Sex: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }],
Status: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }]
},
passwordFormRules: {
OldPassWord: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }],
NewPassWord: [
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
{
required: true,
trigger: 'blur',
validator: this.$validatePassword
},
],
ConfirmPassWord: [
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
{
required: true,
trigger: 'blur',
validator: this.$validatePassword
},
]
}
}
},
computed: {
...mapGetters(['userId', 'name'])
},
mounted() {
this.getUserInfo()
this.getUserTypeList()
},
methods: {
...mapMutations({ setLanguage: 'lang/setLanguage' }),
handleSave() {
this.$refs.userForm.validate(valid => {
console.log(valid)
if (valid) {
this.isDisabled = true
const selectedUserType = this.userTypeOptions.filter((item) => {
return item.Id === this.user.UserTypeId
})
if (selectedUserType.length > 0) {
this.user.userTypeEnum = selectedUserType[0].UserTypeEnum
}
// if (this.user.IsZhiZhun === true) {
// this.user.OrganizationName = 'ZhiZhun'
// }
if (this.user.Id) {
updateUser(this.user).then(res => {
this.isDisabled = false
this.$message.success(this.$t('trials:trials-myinfo:message:updateSuccessfully'))
this.getUserInfo()
}).catch(() => { this.isDisabled = false })
}
}
})
},
handleEmailChange() {
var reg = /^[A-Za-z0-9]+([_\.][A-Za-z0-9]+)*@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,6}$/
if (this.userForm.EMail && reg.test(this.userForm.EMail)) {
this.sendDisabled = false
} else {
this.sendDisabled = true
}
},
sendVerificationCode() {
sendVerificationCode(this.userForm.EMail).then(() => {
this.settime(this)
//
this.$message.success(this.$t('trials:trials-myinfo:message:sendSuccessfully'))
})
},
save() {
this.$refs.passwordForm.validate(valid => {
if (valid) {
if (this.password.NewPassWord !== this.password.ConfirmPassWord) {
this.$alert(this.$t('passwordReset:formRule:passwordsDiffer'))
return
}
const param = {
UserId: this.userId,
NewPassWord: md5(this.password.NewPassWord),
OldPassWord: md5(this.password.OldPassWord)
}
modifyPassword(param).then(res => {
if (res.IsSuccess) {
// ,
this.$message.success(this.$t('trials:trials-myinfo:message:modifyPWSuccessfully'))
setTimeout(() => {
this.logout()
}, 1000)
}
})
}
})
},
setNewEmail() {
setNewEmail(this.userForm.EMail, this.userForm.VerificationCode).then(() => {
this.userForm.EMail = ''
this.userForm.VerificationCode = ''
this.$message.success(this.$t('trials:trials-myinfo:message:updateSuccessfully'))
this.getUserInfo()
})
},
setNewUserName() {
setNewUserName(this.userForm.UserName).then(() => {
this.$store.dispatch('user/changeUserName', this.userForm.UserName).then((res) => {
this.userForm.UserName = ''
this.$message.success(this.$t('trials:trials-myinfo:message:updateSuccessfully'))
this.getUserInfo()
})
})
},
setNewPhone() {
setNewPhone(this.userForm.Phone).then(() => {
this.userForm.Phone = ''
this.$message.success(this.$t('trials:trials-myinfo:message:updateSuccessfully'))
this.getUserInfo()
})
},
getUserInfo() {
const loading = this.$loading({
fullscreen: false,
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.07)'
})
getUser(this.userId).then(async res => {
this.user = res.Result
/* eslint-disable */
zzSessionStorage.setItem('realName', this.user.RealName)
await store.dispatch('user/updateInfo')
loading.close()
}).catch(() => { loading.close() })
},
settime(obj) {
if (countdown === 0) {
obj.sendDisabled = false
obj.sendTitle = this.$t('trials:trials-myinfo:button:getVCode')// ''
countdown = 60
clearTimeout(timer)
return
} else {
obj.sendDisabled = true
obj.sendTitle = `${this.$t('trials:trials-myinfo:button:wait')}(${countdown}s)`
countdown--
// eslint-disable-next-line no-self-assign
countdown = countdown
timer = setTimeout(function() {
obj.settime(obj)
}, 1000)
}
},
getUserTypeList() {
getUserTypeList().then(res => {
if (res.IsSuccess) {
this.userTypeOptions = res.Result
}
})
},
async logout() {
/* eslint-disable */
var loginType = zzSessionStorage.getItem('loginType')
await this.$store.dispatch('user/logout')
if (loginType) {
this.$router.push(`/login?loginType=${loginType}`)
} else {
this.$router.push(`/login`)
}
this.$i18n.locale = 'zh'
this.setLanguage('zh')
this.$updateDictionary()
}
}
}
</script>
<style scoped>
<style lang="scss">
.trial-myinfo{
background: #f3f3f3;
flex: 1;overflow: auto;display: flex;flex-direction: row;justify-content: space-around;
.trial-myinfo-head{
position: absolute;top: 40px;left: -10%;font-size: 14px;
}
.trial-myinfo-left{
overflow: auto;
background: #fff;width: calc(50% - 9px);margin: 6px 0;
padding-bottom: 50px;
.trial-myinfo-left-top{
width: 70%;padding-top: 100px;position: relative;margin: 0 auto;margin-bottom: 10px;
.trial-myinfo-body{
width:160px;height:160px;border-radius: 50%;background: #428bca;display: flex;justify-content: center;align-items: center;
div{
color:#fff;font-size: 30px;
}
}
}
}
.saveBtn{
position: absolute;right: -10px;top:2px;transform: translateX(100%)
}
.trial-info-btn{
position: absolute;bottom: -60px;left: calc(100% + 10px);min-width: 97px;
}
.trial-myinfo-left-bottom{
width: 70%;padding-top: 100px;position: relative;margin: 0 auto;
}
.trial-myinfo-right{
overflow: auto;
background: #fff;width: calc(50% - 9px);margin: 6px 0;
padding-bottom: 50px;
.sendCode {
position: absolute;right: -10px;top: 50%;transform: translate(100%, -50%);
}
.trial-myinfo-right-box{
width: 70%;padding-top: 100px;position: relative;margin: 0 auto;
}
}
}
</style>
<style scoped>
/deep/ .is-error.my_new_pwd{
margin-bottom: 40px;
}
</style>