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
# Conflicts: # src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue # src/views/trials/trials-panel/reading/dicoms3D/components/StudyList.vueuat_us
commit
d07adc4948
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: ssh
|
type: ssh
|
||||||
name: ssh-linux-test-irc-publish
|
name: ssh-linux-uat-irc-publish
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
os: Linux
|
os: Linux
|
||||||
|
|
@ -33,6 +33,38 @@ trigger:
|
||||||
- uat
|
- uat
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: ssh
|
||||||
|
name: ssh-linux-test-irc-publish
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: Linux
|
||||||
|
arch: 386
|
||||||
|
|
||||||
|
clone:
|
||||||
|
disable: true #禁用默认克隆
|
||||||
|
|
||||||
|
server:
|
||||||
|
host: 106.14.89.110
|
||||||
|
user: root
|
||||||
|
password:
|
||||||
|
from_secret: local_pwd
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: publish-test-irc-web
|
||||||
|
commands:
|
||||||
|
- bash /opt/1panel/xc-deploy-new/devops-center/build-vue-then-publish.sh IRC_Web main
|
||||||
|
- name: notify-wecom
|
||||||
|
commands:
|
||||||
|
- echo $DRONE_COMMIT_AUTHOR "$DRONE_COMMIT_MESSAGE"
|
||||||
|
- bash /opt/1panel/xc-deploy-new/devops-center/drone-notify-wecom.sh "$DRONE_BUILD_STATUS" "$DRONE_REPO_NAME" "$DRONE_BRANCH" "$DRONE_BUILD_NUMBER" "4355b98e-1e72-4678-8dfb-2fc6ad0bf449" "$DRONE_COMMIT_MESSAGE" "$DRONE_COMMIT_AUTHOR" "Test_IRC_WEB" "irc.test.extimaging.com"
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- success
|
||||||
|
- failure
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
- main
|
||||||
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
19
package.json
19
package.json
|
|
@ -15,18 +15,17 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-sdk/client-s3": "^3.701.0",
|
"@aws-sdk/client-s3": "^3.701.0",
|
||||||
"@cornerstonejs/adapters": "^2.19.7",
|
"@cornerstonejs/adapters": "4.19.2",
|
||||||
"@cornerstonejs/calculate-suv": "^1.1.0",
|
"@cornerstonejs/calculate-suv": "^1.1.0",
|
||||||
"@cornerstonejs/core": "^2.19.7",
|
"@cornerstonejs/core": "^4.19.2",
|
||||||
"@cornerstonejs/dicom-image-loader": "^2.19.7",
|
"@cornerstonejs/dicom-image-loader": "^4.19.2",
|
||||||
"@cornerstonejs/tools": "^2.19.7",
|
"@cornerstonejs/tools": "^4.19.2",
|
||||||
"@fingerprintjs/fingerprintjs": "^4.6.2",
|
"@fingerprintjs/fingerprintjs": "^4.6.2",
|
||||||
"@icr/polyseg-wasm": "^0.4.0",
|
"@icr/polyseg-wasm": "^0.4.0",
|
||||||
"@microsoft/signalr": "^8.0.7",
|
"@microsoft/signalr": "^8.0.7",
|
||||||
"@riophae/vue-treeselect": "^0.4.0",
|
"@riophae/vue-treeselect": "^0.4.0",
|
||||||
"@vue-office/docx": "^1.6.2",
|
"@vue-office/docx": "^1.6.2",
|
||||||
"@vue-office/excel": "^1.7.11",
|
"@vue-office/excel": "^1.7.11",
|
||||||
"@vue/composition-api": "^1.7.2",
|
|
||||||
"ali-oss": "^6.17.1",
|
"ali-oss": "^6.17.1",
|
||||||
"axios": "^0.18.1",
|
"axios": "^0.18.1",
|
||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
|
|
@ -60,11 +59,10 @@
|
||||||
"screenfull": "^6.0.2",
|
"screenfull": "^6.0.2",
|
||||||
"sortablejs": "^1.15.5",
|
"sortablejs": "^1.15.5",
|
||||||
"streamsaver": "^2.0.6",
|
"streamsaver": "^2.0.6",
|
||||||
"svg-sprite-loader": "^4.1.3",
|
|
||||||
"svgo": "^1.2.2",
|
"svgo": "^1.2.2",
|
||||||
"v-viewer": "^1.7.4",
|
"v-viewer": "^1.7.4",
|
||||||
"vcrontab": "^0.3.5",
|
"vcrontab": "^0.3.5",
|
||||||
"vue": "^2.6.14",
|
"vue": "2.7.16",
|
||||||
"vue-clipboard2": "^0.3.3",
|
"vue-clipboard2": "^0.3.3",
|
||||||
"vue-contextmenujs": "^1.4.11",
|
"vue-contextmenujs": "^1.4.11",
|
||||||
"vue-count-to": "^1.0.13",
|
"vue-count-to": "^1.0.13",
|
||||||
|
|
@ -98,9 +96,10 @@
|
||||||
"path-browserify": "^1.0.1",
|
"path-browserify": "^1.0.1",
|
||||||
"process": "^0.11.10",
|
"process": "^0.11.10",
|
||||||
"sass": "^1.63.2",
|
"sass": "^1.63.2",
|
||||||
"sass-loader": "^10.4.1",
|
"sass-loader": "^16.0.7",
|
||||||
|
"svg-sprite-loader": "^6.0.11",
|
||||||
"terser-webpack-plugin": "^5.3.10",
|
"terser-webpack-plugin": "^5.3.10",
|
||||||
"vue-template-compiler": "^2.6.14",
|
"vue-template-compiler": "2.7.16",
|
||||||
"webpack": "^5.96.1",
|
"webpack": "^5.96.1",
|
||||||
"webpack-bundle-analyzer": "^4.10.2"
|
"webpack-bundle-analyzer": "^4.10.2"
|
||||||
},
|
},
|
||||||
|
|
@ -125,4 +124,4 @@
|
||||||
"not dead",
|
"not dead",
|
||||||
"not op_mini all"
|
"not op_mini all"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -74,10 +74,11 @@ export default {
|
||||||
zzSessionStorage.setItem('lastWorkbench', `${v.path}${query ? '?' : ''}${query}`)
|
zzSessionStorage.setItem('lastWorkbench', `${v.path}${query ? '?' : ''}${query}`)
|
||||||
var firstGoIn = this.trialsRouter.children.find(v => { return v.name === 'TrialsPanel' }).children[0]
|
var firstGoIn = this.trialsRouter.children.find(v => { return v.name === 'TrialsPanel' }).children[0]
|
||||||
if (this.trialsTab === '/trials/trials-panel') {
|
if (this.trialsTab === '/trials/trials-panel') {
|
||||||
this.$router.replace({ path: `${firstGoIn.path}${query ? '?' : ''}${query}` })
|
var targetPath = firstGoIn.path
|
||||||
if (firstGoIn.children && firstGoIn.children.length > 0) {
|
if (firstGoIn.children && firstGoIn.children.length > 0) {
|
||||||
this.$router.replace({ path: `${firstGoIn.children[0].path}${query ? '?' : ''}${query}` })
|
targetPath = firstGoIn.children[0].path
|
||||||
}
|
}
|
||||||
|
this.$router.replace({ path: `${targetPath}${query ? '?' : ''}${query}` })
|
||||||
}
|
}
|
||||||
// document.cookie = 'TrialId=' + this.$route.query.trialId + ';path=/'
|
// document.cookie = 'TrialId=' + this.$route.query.trialId + ';path=/'
|
||||||
},
|
},
|
||||||
|
|
@ -112,10 +113,11 @@ export default {
|
||||||
this.getTrialList()
|
this.getTrialList()
|
||||||
var firstGoIn = this.trialsRouter.children.find(v => { return v.name === 'TrialsPanel' }).children[0]
|
var firstGoIn = this.trialsRouter.children.find(v => { return v.name === 'TrialsPanel' }).children[0]
|
||||||
if (this.trialsTab === '/trials/trials-panel') {
|
if (this.trialsTab === '/trials/trials-panel') {
|
||||||
this.$router.replace({ path: `${firstGoIn.path}${query ? '?' : ''}${query}` })
|
var targetPath = firstGoIn.path
|
||||||
if (firstGoIn.children && firstGoIn.children.length > 0) {
|
if (firstGoIn.children && firstGoIn.children.length > 0) {
|
||||||
this.$router.replace({ path: `${firstGoIn.children[0].path}${query ? '?' : ''}${query}` })
|
targetPath = firstGoIn.children[0].path
|
||||||
}
|
}
|
||||||
|
this.$router.replace({ path: `${targetPath}${query ? '?' : ''}${query}` })
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
@ -201,15 +203,19 @@ export default {
|
||||||
if (~url.indexOf('?')) {
|
if (~url.indexOf('?')) {
|
||||||
query = url.split('?')[1]
|
query = url.split('?')[1]
|
||||||
}
|
}
|
||||||
this.$router.push({ path: `${v.name}${query ? '?' : ''}${query}` })
|
var trialsPanelList = this.trialsRouter.children.find(item => { return item.name === 'TrialsPanel' }).children
|
||||||
var trialsPanelList = this.trialsRouter.children.find(v => { return v.name === 'TrialsPanel' }).children
|
var currentRoute = trialsPanelList.find(c => { return c.path === v.name })
|
||||||
var isHasChild = trialsPanelList.find(c => { return c.path === v.name }) && trialsPanelList.find(c => { return c.path === v.name }).children
|
|
||||||
if (trialsPanelList.find(c => { return c.path === v.name }) && trialsPanelList.find(c => { return c.path === v.name }).tabHiddn) {
|
if (currentRoute && currentRoute.tabHiddn) {
|
||||||
|
this.$router.push({ path: `${v.name}${query ? '?' : ''}${query}` })
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
var isHasChild = currentRoute && currentRoute.children
|
||||||
if (isHasChild && isHasChild.length > 0) {
|
if (isHasChild && isHasChild.length > 0) {
|
||||||
this.trialsTabChild = isHasChild[0].path
|
this.trialsTabChild = isHasChild[0].path
|
||||||
this.$router.push({ path: `${this.trialsTabChild}${query ? '?' : ''}${query}` })
|
this.$router.push({ path: `${this.trialsTabChild}${query ? '?' : ''}${query}` })
|
||||||
|
} else {
|
||||||
|
this.$router.push({ path: `${v.name}${query ? '?' : ''}${query}` })
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ export default {
|
||||||
display: none !important; /* 隐藏原生 radio 输入,但仍然允许交互 */
|
display: none !important; /* 隐藏原生 radio 输入,但仍然允许交互 */
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled)
|
::v-deep .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled)
|
||||||
.el-radio__inner {
|
.el-radio__inner {
|
||||||
box-shadow: none !important;
|
box-shadow: none !important;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -86,16 +86,16 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
::v-deep.el-tabs--left .el-tabs__header.is-left {
|
::v-deep .el-tabs--left .el-tabs__header.is-left {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.uploadDicomAndNonedicom {
|
.uploadDicomAndNonedicom {
|
||||||
::v-deep.el-tabs--border-card>.el-tabs__header .el-tabs__item {
|
::v-deep .el-tabs--border-card>.el-tabs__header .el-tabs__item {
|
||||||
color: #909399;
|
color: #909399;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active {
|
::v-deep .el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active {
|
||||||
color: #428bca;
|
color: #428bca;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border-right-color: #dcdfe6;
|
border-right-color: #dcdfe6;
|
||||||
|
|
|
||||||
|
|
@ -56,8 +56,10 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "~@/styles/mixin.scss";
|
@use "@/styles/mixin.scss" as *;
|
||||||
@import "~@/styles/variables.module.scss";
|
@use "@/styles/variables.module.scss" as *;
|
||||||
|
// @import "~@/styles/mixin.scss";
|
||||||
|
// @import "~@/styles/variables.module.scss";
|
||||||
|
|
||||||
.app-wrapper {
|
.app-wrapper {
|
||||||
@include clearfix;
|
@include clearfix;
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,16 @@
|
||||||
@import "./variables.module.scss";
|
@use "./variables.module.scss";
|
||||||
@import "./mixin.scss";
|
@use "./mixin.scss";
|
||||||
@import "./transition.scss";
|
@use "./transition.scss";
|
||||||
@import "./element-ui.scss";
|
@use "./element-ui.scss";
|
||||||
@import "./sidebar.scss";
|
@use "./sidebar.scss";
|
||||||
|
|
||||||
body {
|
body {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
-moz-osx-font-smoothing: grayscale;
|
-moz-osx-font-smoothing: grayscale;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
text-rendering: optimizeLegibility;
|
text-rendering: optimizeLegibility;
|
||||||
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
|
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB",
|
||||||
|
"Microsoft YaHei", "微软雅黑", Arial, sans-serif;
|
||||||
// font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
|
// font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||||
// font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
|
// font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
|
||||||
// "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial,
|
// "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial,
|
||||||
|
|
@ -205,133 +206,139 @@ body .el-table th.gutter {
|
||||||
.el-descriptions {
|
.el-descriptions {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #303133
|
color: #303133;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions__header {
|
.el-descriptions__header {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 20px
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions__title {
|
.el-descriptions__title {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 700
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions__body {
|
.el-descriptions__body {
|
||||||
color: #606266;
|
color: #606266;
|
||||||
background-color: #fff
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions__body .el-descriptions__table {
|
.el-descriptions__body .el-descriptions__table {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
table-layout: fixed
|
table-layout: fixed;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell {
|
.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
line-height: 1.5
|
line-height: 1.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-left {
|
.el-descriptions__body
|
||||||
text-align: left
|
.el-descriptions__table
|
||||||
|
.el-descriptions-item__cell.is-left {
|
||||||
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-center {
|
.el-descriptions__body
|
||||||
text-align: center
|
.el-descriptions__table
|
||||||
|
.el-descriptions-item__cell.is-center {
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-right {
|
.el-descriptions__body
|
||||||
text-align: right
|
.el-descriptions__table
|
||||||
|
.el-descriptions-item__cell.is-right {
|
||||||
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions .is-bordered {
|
.el-descriptions .is-bordered {
|
||||||
table-layout: auto
|
table-layout: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions .is-bordered .el-descriptions-item__cell {
|
.el-descriptions .is-bordered .el-descriptions-item__cell {
|
||||||
border: 1px solid #ebeef5;
|
border: 1px solid #ebeef5;
|
||||||
padding: 12px 10px
|
padding: 12px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions :not(.is-bordered) .el-descriptions-item__cell {
|
.el-descriptions :not(.is-bordered) .el-descriptions-item__cell {
|
||||||
padding-bottom: 12px
|
padding-bottom: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions--medium.is-bordered .el-descriptions-item__cell {
|
.el-descriptions--medium.is-bordered .el-descriptions-item__cell {
|
||||||
padding: 10px
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell {
|
.el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell {
|
||||||
padding-bottom: 10px
|
padding-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions--small {
|
.el-descriptions--small {
|
||||||
font-size: 12px
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions--small.is-bordered .el-descriptions-item__cell {
|
.el-descriptions--small.is-bordered .el-descriptions-item__cell {
|
||||||
padding: 8px 10px
|
padding: 8px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions--small:not(.is-bordered) .el-descriptions-item__cell {
|
.el-descriptions--small:not(.is-bordered) .el-descriptions-item__cell {
|
||||||
padding-bottom: 8px
|
padding-bottom: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions--mini {
|
.el-descriptions--mini {
|
||||||
font-size: 12px
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions--mini.is-bordered .el-descriptions-item__cell {
|
.el-descriptions--mini.is-bordered .el-descriptions-item__cell {
|
||||||
padding: 6px 10px
|
padding: 6px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions--mini:not(.is-bordered) .el-descriptions-item__cell {
|
.el-descriptions--mini:not(.is-bordered) .el-descriptions-item__cell {
|
||||||
padding-bottom: 6px
|
padding-bottom: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions-item {
|
.el-descriptions-item {
|
||||||
vertical-align: top
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions-item__container {
|
.el-descriptions-item__container {
|
||||||
display: flex
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions-item__container .el-descriptions-item__content,
|
.el-descriptions-item__container .el-descriptions-item__content,
|
||||||
.el-descriptions-item__container .el-descriptions-item__label {
|
.el-descriptions-item__container .el-descriptions-item__label {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
align-items: baseline
|
align-items: baseline;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions-item__container .el-descriptions-item__content {
|
.el-descriptions-item__container .el-descriptions-item__content {
|
||||||
flex: 1
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions-item__label.has-colon:after {
|
.el-descriptions-item__label.has-colon:after {
|
||||||
content: ":";
|
content: ":";
|
||||||
position: relative;
|
position: relative;
|
||||||
top: -.5px
|
top: -0.5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions-item__label.is-bordered-label {
|
.el-descriptions-item__label.is-bordered-label {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
color: #909399;
|
color: #909399;
|
||||||
background: #fafafa
|
background: #fafafa;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions-item__label:not(.is-bordered-label) {
|
.el-descriptions-item__label:not(.is-bordered-label) {
|
||||||
margin-right: 10px
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-descriptions-item__content {
|
.el-descriptions-item__content {
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
overflow-wrap: break-word
|
overflow-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
.feedBack-box {
|
.feedBack-box {
|
||||||
|
|
@ -350,7 +357,7 @@ body .el-table th.gutter {
|
||||||
top: 0;
|
top: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
opacity: .5;
|
opacity: 0.5;
|
||||||
background: #000;
|
background: #000;
|
||||||
z-index: 3999;
|
z-index: 3999;
|
||||||
}
|
}
|
||||||
|
|
@ -371,4 +378,4 @@ body .el-table th.gutter {
|
||||||
height: 20px !important;
|
height: 20px !important;
|
||||||
vertical-align: -0.4em !important;
|
vertical-align: -0.4em !important;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8366,7 +8366,7 @@
|
||||||
|
|
||||||
for (var i = 0; i < valarr.length; i++) {
|
for (var i = 0; i < valarr.length; i++) {
|
||||||
var checkValue = valarr[i],
|
var checkValue = valarr[i],
|
||||||
checklen = lengths[i],
|
checklen = lengths[i] || 0,
|
||||||
isString = false,
|
isString = false,
|
||||||
displaylen = checklen;
|
displaylen = checklen;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -965,8 +965,8 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss">
|
||||||
.imageBox {
|
.viewerContainer .imageBox {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
i {
|
i {
|
||||||
|
|
|
||||||
|
|
@ -158,108 +158,105 @@
|
||||||
<div class="viewerSidethumbinner">
|
<div class="viewerSidethumbinner">
|
||||||
|
|
||||||
<el-collapse v-model="relationActiveName" @change="handelRelationActiveChange">
|
<el-collapse v-model="relationActiveName" @change="handelRelationActiveChange">
|
||||||
<template v-for="item in relationStudyListByVisitName">
|
<div v-for="item in relationStudyListByVisitName" :key="`${item.VisitName}`">
|
||||||
<div :key="`${item.VisitName}`">
|
<div v-show="item.VisitName" class="text-desc" style="background-color: #1f1f1f;">
|
||||||
<div v-show="item.VisitName" class="text-desc" style="background-color: #1f1f1f;">
|
{{ item.VisitName }}
|
||||||
{{ item.VisitName }}
|
</div>
|
||||||
</div>
|
<template v-for="(study, studyIndex) in relationStudyList">
|
||||||
<template v-for="(study, studyIndex) in relationStudyList">
|
<el-collapse-item :key="`${study.StudyId}`" :name="`${study.StudyId}`"
|
||||||
<el-collapse-item :key="`${study.StudyId}`" :name="`${study.StudyId}`"
|
v-if="study.VisitName === item.VisitName">
|
||||||
v-if="study.VisitName === item.VisitName">
|
<template slot="title">
|
||||||
<template slot="title">
|
|
||||||
|
|
||||||
<div class="text-desc">
|
<div class="text-desc">
|
||||||
{{ study.StudyCode }}
|
{{ study.StudyCode }}
|
||||||
</div>
|
|
||||||
<!-- <div v-show="study.Description" class="text-desc">
|
|
||||||
{{ study.Description }}
|
|
||||||
</div> -->
|
|
||||||
|
|
||||||
<div v-show="study.SeriesCount" class="text-desc">
|
|
||||||
{{ study.Modalities }} : {{ study.SeriesCount }} Series
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<div v-show="study.Description" class="text-desc" style="background-color: #1f1f1f;">
|
|
||||||
{{ study.Description }}
|
|
||||||
</div>
|
</div>
|
||||||
<div class="viewerSidethumbs ps" style="position: relative;">
|
<!-- <div v-show="study.Description" class="text-desc">
|
||||||
<div class="viewerSidethumbinner">
|
{{ study.Description }}
|
||||||
<div v-for="(seriesItem, index) in study.seriesList" :key="seriesItem.seriesId">
|
</div> -->
|
||||||
<div class="viewernavigatorwrapper"
|
|
||||||
style="position: relative;border:1px solid #434343;" series-type="relation"
|
|
||||||
@click="showRelationSeriesImage($event, seriesItem, studyIndex, index)">
|
|
||||||
<div class="imageBox" style="width: 72px;height:72px;">
|
|
||||||
<img class="image-preview" :src="seriesItem.previewImageUrl"
|
|
||||||
crossorigin="anonymous" alt="" style="width: 72px;height:72px;" fit="fill" />
|
|
||||||
<i class="el-icon-refresh" :title="$t('tip:refreshImage')"
|
|
||||||
@click.stop="refreshImage(item)"></i>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="viewernavitextwrapper">
|
<div v-show="study.SeriesCount" class="text-desc">
|
||||||
<div
|
{{ study.Modalities }} : {{ study.SeriesCount }} Series
|
||||||
style="padding: 1px 5px 1px 1px;display: flex;justify-content: space-between;">
|
</div>
|
||||||
<div v-if="seriesItem.keySeries" style="color:red">
|
</template>
|
||||||
Key Images
|
<div v-show="study.Description" class="text-desc" style="background-color: #1f1f1f;">
|
||||||
</div>
|
{{ study.Description }}
|
||||||
<div v-else>#{{ seriesItem.seriesNumber }}</div>
|
</div>
|
||||||
<div v-if="seriesItem.isExistMutiFrames && seriesItem.instanceCount > 1">
|
<div class="viewerSidethumbs ps" style="position: relative;">
|
||||||
<el-popover placement="right-start" trigger="click"
|
<div class="viewerSidethumbinner">
|
||||||
popper-class="instance_frame_wrapper">
|
<div v-for="(seriesItem, index) in study.seriesList" :key="seriesItem.seriesId">
|
||||||
<div class="frame_list">
|
<div class="viewernavigatorwrapper"
|
||||||
<div v-for="(instance, idx) in seriesItem.instanceInfoList"
|
style="position: relative;border:1px solid #434343;" series-type="relation"
|
||||||
:key="instance.Id" class="frame_content"
|
@click="showRelationSeriesImage($event, seriesItem, studyIndex, index)">
|
||||||
:style="{ 'margin-bottom': idx < seriesItem.instanceInfoList.length - 1 ? '5px' : '0px' }"
|
<div class="imageBox" style="width: 72px;height:72px;">
|
||||||
@click="showMultiFrames(studyIndex, seriesItem, index, instance)">
|
<img class="image-preview" :src="seriesItem.previewImageUrl"
|
||||||
<div>
|
crossorigin="anonymous" alt="" style="width: 72px;height:72px;" fit="fill" />
|
||||||
<div>{{ instance.InstanceNumber }}</div>
|
<i class="el-icon-refresh" :title="$t('tip:refreshImage')"
|
||||||
<div>{{ `${instance.NumberOfFrames > 0 ? instance.NumberOfFrames : 1}
|
@click.stop="refreshImage(item)"></i>
|
||||||
frame`
|
</div>
|
||||||
}}</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<div class="viewernavitextwrapper">
|
||||||
|
<div
|
||||||
|
style="padding: 1px 5px 1px 1px;display: flex;justify-content: space-between;">
|
||||||
|
<div v-if="seriesItem.keySeries" style="color:red">
|
||||||
|
Key Images
|
||||||
|
</div>
|
||||||
|
<div v-else>#{{ seriesItem.seriesNumber }}</div>
|
||||||
|
<div v-if="seriesItem.isExistMutiFrames && seriesItem.instanceCount > 1">
|
||||||
|
<el-popover placement="right-start" trigger="click"
|
||||||
|
popper-class="instance_frame_wrapper">
|
||||||
|
<div class="frame_list">
|
||||||
|
<div v-for="(instance, idx) in seriesItem.instanceInfoList"
|
||||||
|
:key="instance.Id" class="frame_content"
|
||||||
|
:style="{ 'margin-bottom': idx < seriesItem.instanceInfoList.length - 1 ? '5px' : '0px' }"
|
||||||
|
@click="showMultiFrames(studyIndex, seriesItem, index, instance)">
|
||||||
|
<div>
|
||||||
|
<div>{{ instance.InstanceNumber }}</div>
|
||||||
|
<div>{{ `${instance.NumberOfFrames > 0 ? instance.NumberOfFrames : 1}
|
||||||
|
frame`
|
||||||
|
}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<i slot="reference" class="el-icon-connection"
|
|
||||||
style="font-size: 15px;cursor: pointer;" />
|
|
||||||
</el-popover>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<i slot="reference" class="el-icon-connection"
|
||||||
|
style="font-size: 15px;cursor: pointer;" />
|
||||||
|
</el-popover>
|
||||||
</div>
|
</div>
|
||||||
<div v-show="seriesItem.instanceCount" style="padding: 1px;">
|
|
||||||
{{ seriesItem.modality }}: {{ seriesItem.instanceCount }} image
|
|
||||||
</div>
|
|
||||||
<div v-show="seriesItem.sliceThickness" style="padding: 1px;">
|
|
||||||
T: {{ seriesItem.sliceThickness }}
|
|
||||||
</div>
|
|
||||||
<el-tooltip v-show="seriesItem.description" class="item" effect="dark"
|
|
||||||
:content="seriesItem.description" placement="bottom">
|
|
||||||
<div v-show="seriesItem.description"
|
|
||||||
style="width: 120px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;padding: 1x;">
|
|
||||||
{{ seriesItem.description }}
|
|
||||||
</div>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div v-show="seriesItem.instanceCount" style="padding: 1px;">
|
||||||
|
{{ seriesItem.modality }}: {{ seriesItem.instanceCount }} image
|
||||||
|
</div>
|
||||||
|
<div v-show="seriesItem.sliceThickness" style="padding: 1px;">
|
||||||
|
T: {{ seriesItem.sliceThickness }}
|
||||||
|
</div>
|
||||||
|
<el-tooltip v-show="seriesItem.description" class="item" effect="dark"
|
||||||
|
:content="seriesItem.description" placement="bottom">
|
||||||
|
<div v-show="seriesItem.description"
|
||||||
|
style="width: 120px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;padding: 1x;">
|
||||||
|
{{ seriesItem.description }}
|
||||||
|
</div>
|
||||||
|
</el-tooltip>
|
||||||
</div>
|
</div>
|
||||||
<!-- <el-image
|
</div>
|
||||||
class="image-preview"
|
<!-- <el-image
|
||||||
style="height:72px;width:72px;"
|
class="image-preview"
|
||||||
:src="seriesItem.previewImageUrl"
|
style="height:72px;width:72px;"
|
||||||
fit="fill"
|
:src="seriesItem.previewImageUrl"
|
||||||
/> -->
|
fit="fill"
|
||||||
<div
|
/> -->
|
||||||
v-if="seriesItem.prefetchInstanceCount > 0 && seriesItem.prefetchInstanceCount < seriesItem.instanceCount * 100">
|
<div
|
||||||
<el-progress
|
v-if="seriesItem.prefetchInstanceCount > 0 && seriesItem.prefetchInstanceCount < seriesItem.instanceCount * 100">
|
||||||
:percentage="parseInt((seriesItem.prefetchInstanceCount / seriesItem.instanceCount).toFixed(2))" />
|
<el-progress
|
||||||
</div>
|
:percentage="parseInt((seriesItem.prefetchInstanceCount / seriesItem.instanceCount).toFixed(2))" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-collapse-item>
|
</div>
|
||||||
</template>
|
</el-collapse-item>
|
||||||
|
</template>
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
|
</div>
|
||||||
</el-collapse>
|
</el-collapse>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -1012,7 +1009,7 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.imageBox {
|
.viewerContainer .imageBox {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
i {
|
i {
|
||||||
|
|
|
||||||
|
|
@ -278,7 +278,7 @@ export default {
|
||||||
padding: 5px 20px;
|
padding: 5px 20px;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
::v-deep.el-form-item {
|
::v-deep .el-form-item {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -292,10 +292,10 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.form-label-width{
|
.form-label-width{
|
||||||
::v-deep.el-form-item__label{
|
::v-deep .el-form-item__label{
|
||||||
width: 140px;
|
width: 140px;
|
||||||
}
|
}
|
||||||
::v-deep.el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
margin-left: 140px;
|
margin-left: 140px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -304,7 +304,7 @@ export default {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-form-item {
|
::v-deep .el-form-item {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
padding-top: 5px;
|
padding-top: 5px;
|
||||||
border-bottom: 1px solid #f5f7fa;
|
border-bottom: 1px solid #f5f7fa;
|
||||||
|
|
|
||||||
|
|
@ -156,7 +156,7 @@ export default {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.equipment_form_content{
|
.equipment_form_content{
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
::v-deep.el-form-item {
|
::v-deep .el-form-item {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
padding: 5px 0 20px 0;
|
padding: 5px 0 20px 0;
|
||||||
border-bottom: 1px solid #f5f7fa;
|
border-bottom: 1px solid #f5f7fa;
|
||||||
|
|
|
||||||
|
|
@ -295,7 +295,7 @@ export default {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.participants_form_content{
|
.participants_form_content{
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
::v-deep.el-form-item {
|
::v-deep .el-form-item {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
padding: 5px 0 20px 0;
|
padding: 5px 0 20px 0;
|
||||||
border-bottom: 1px solid #f5f7fa;
|
border-bottom: 1px solid #f5f7fa;
|
||||||
|
|
|
||||||
|
|
@ -309,7 +309,7 @@ export default {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.participants_form_content{
|
.participants_form_content{
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
::v-deep.el-form-item {
|
::v-deep .el-form-item {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
padding: 5px 0 20px 0;
|
padding: 5px 0 20px 0;
|
||||||
border-bottom: 1px solid #f5f7fa;
|
border-bottom: 1px solid #f5f7fa;
|
||||||
|
|
|
||||||
|
|
@ -381,7 +381,7 @@ export default {
|
||||||
padding: 5px 20px;
|
padding: 5px 20px;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
::v-deep.el-form-item {
|
::v-deep .el-form-item {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -398,7 +398,7 @@ export default {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-form-item {
|
::v-deep .el-form-item {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
padding-top: 5px;
|
padding-top: 5px;
|
||||||
border-bottom: 1px solid #f5f7fa;
|
border-bottom: 1px solid #f5f7fa;
|
||||||
|
|
|
||||||
|
|
@ -357,7 +357,7 @@ export default {
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-card__body {
|
::v-deep .el-card__body {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -365,13 +365,13 @@ export default {
|
||||||
// padding: 10px 20px 20px 20px;
|
// padding: 10px 20px 20px 20px;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
::v-deep.full-dialog-container {
|
::v-deep .full-dialog-container {
|
||||||
.el-dialog__body {
|
.el-dialog__body {
|
||||||
height: calc(100% - 80px);
|
height: calc(100% - 80px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.dialog-container {
|
::v-deep .dialog-container {
|
||||||
// margin-top: 50px !important;
|
// margin-top: 50px !important;
|
||||||
width: 75%;
|
width: 75%;
|
||||||
height: 80%;
|
height: 80%;
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ export default {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
::v-deep.el-card__body {
|
::v-deep .el-card__body {
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
.trials-tab{
|
.trials-tab{
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,10 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "~@/styles/mixin.scss";
|
// @import "~@/styles/mixin.scss";
|
||||||
@import "~@/styles/variables.module.scss";
|
// @import "~@/styles/variables.module.scss";
|
||||||
|
@use "@/styles/mixin.scss" as *;
|
||||||
|
@use "@/styles/variables.module.scss" as *;
|
||||||
|
|
||||||
.trials-wrapper {
|
.trials-wrapper {
|
||||||
@include clearfix;
|
@include clearfix;
|
||||||
|
|
|
||||||
|
|
@ -2928,12 +2928,12 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.series-table {
|
.series-table {
|
||||||
::v-deep.el-table {
|
::v-deep .el-table {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table td.el-table__cell,
|
::v-deep .el-table td.el-table__cell,
|
||||||
.el-table th.el-table__cell.is-leaf {
|
.el-table th.el-table__cell.is-leaf {
|
||||||
border-bottom: 1px solid #dfdfdf;
|
border-bottom: 1px solid #dfdfdf;
|
||||||
}
|
}
|
||||||
|
|
@ -2944,14 +2944,14 @@ export default {
|
||||||
background-color: #1e1e1e;
|
background-color: #1e1e1e;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__header-wrapper {
|
::v-deep .el-table__header-wrapper {
|
||||||
th {
|
th {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__body-wrapper {
|
::v-deep .el-table__body-wrapper {
|
||||||
tr {
|
tr {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -2962,7 +2962,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__empty-block {
|
::v-deep .el-table__empty-block {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -319,23 +319,23 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.series-table{
|
.series-table{
|
||||||
::v-deep.el-table{
|
::v-deep .el-table{
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
}
|
}
|
||||||
::v-deep.el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf{
|
::v-deep .el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf{
|
||||||
border-bottom: 1px solid #dfdfdf;
|
border-bottom: 1px solid #dfdfdf;
|
||||||
}
|
}
|
||||||
.el-table--border::after, .el-table--group::after, .el-table::before{
|
.el-table--border::after, .el-table--group::after, .el-table::before{
|
||||||
background-color: #1e1e1e;
|
background-color: #1e1e1e;
|
||||||
}
|
}
|
||||||
::v-deep.el-table__header-wrapper{
|
::v-deep .el-table__header-wrapper{
|
||||||
th{
|
th{
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep.el-table__body-wrapper{
|
::v-deep .el-table__body-wrapper{
|
||||||
tr{
|
tr{
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -344,7 +344,7 @@ export default {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep.el-table__empty-block{
|
::v-deep .el-table__empty-block{
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2262,7 +2262,7 @@ export default {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
padding: 5px 2px;
|
padding: 5px 2px;
|
||||||
|
|
||||||
::v-deep.el-dialog {
|
::v-deep .el-dialog {
|
||||||
background: #1e1e1e;
|
background: #1e1e1e;
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
|
|
||||||
|
|
@ -1903,7 +1903,7 @@ export default {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
padding: 5px 2px;
|
padding: 5px 2px;
|
||||||
::v-deep.el-dialog {
|
::v-deep .el-dialog {
|
||||||
background: #1e1e1e;
|
background: #1e1e1e;
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
|
|
||||||
|
|
@ -1319,12 +1319,12 @@ export default {
|
||||||
.merge-table {
|
.merge-table {
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
|
|
||||||
::v-deep.el-table {
|
::v-deep .el-table {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #383838;
|
color: #383838;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table td.el-table__cell,
|
::v-deep .el-table td.el-table__cell,
|
||||||
.el-table th.el-table__cell.is-leaf {
|
.el-table th.el-table__cell.is-leaf {
|
||||||
border-bottom: 1px solid #383838;
|
border-bottom: 1px solid #383838;
|
||||||
}
|
}
|
||||||
|
|
@ -1335,7 +1335,7 @@ export default {
|
||||||
background-color: #1e1e1e;
|
background-color: #1e1e1e;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__header-wrapper {
|
::v-deep .el-table__header-wrapper {
|
||||||
th {
|
th {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -1343,7 +1343,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__body-wrapper {
|
::v-deep .el-table__body-wrapper {
|
||||||
tr {
|
tr {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -1354,7 +1354,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__empty-block {
|
::v-deep .el-table__empty-block {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -989,21 +989,21 @@ export default {
|
||||||
padding: 5px 0;
|
padding: 5px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__fixed-right-patch {
|
::v-deep .el-table__fixed-right-patch {
|
||||||
background-color: #000 !important;
|
background-color: #000 !important;
|
||||||
border-color: #444444;
|
border-color: #444444;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__fixed-body-wrapper tr:hover>td {
|
::v-deep .el-table__fixed-body-wrapper tr:hover>td {
|
||||||
background-color: #000 !important;
|
background-color: #000 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table--scrollable-x .el-table__body-wrapper {
|
::v-deep .el-table--scrollable-x .el-table__body-wrapper {
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
::v-deep.el-tag.el-tag--info {
|
::v-deep .el-tag.el-tag--info {
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1436,12 +1436,12 @@ export default {
|
||||||
.merge-table {
|
.merge-table {
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
|
|
||||||
::v-deep.el-table {
|
::v-deep .el-table {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #383838;
|
color: #383838;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table td.el-table__cell,
|
::v-deep .el-table td.el-table__cell,
|
||||||
.el-table th.el-table__cell.is-leaf {
|
.el-table th.el-table__cell.is-leaf {
|
||||||
border-bottom: 1px solid #383838;
|
border-bottom: 1px solid #383838;
|
||||||
}
|
}
|
||||||
|
|
@ -1452,7 +1452,7 @@ export default {
|
||||||
background-color: #1e1e1e;
|
background-color: #1e1e1e;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__header-wrapper {
|
::v-deep .el-table__header-wrapper {
|
||||||
th {
|
th {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -1460,7 +1460,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__body-wrapper {
|
::v-deep .el-table__body-wrapper {
|
||||||
tr {
|
tr {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -1471,7 +1471,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__empty-block {
|
::v-deep .el-table__empty-block {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1436,12 +1436,12 @@ export default {
|
||||||
.merge-table {
|
.merge-table {
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
|
|
||||||
::v-deep.el-table {
|
::v-deep .el-table {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #383838;
|
color: #383838;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table td.el-table__cell,
|
::v-deep .el-table td.el-table__cell,
|
||||||
.el-table th.el-table__cell.is-leaf {
|
.el-table th.el-table__cell.is-leaf {
|
||||||
border-bottom: 1px solid #383838;
|
border-bottom: 1px solid #383838;
|
||||||
}
|
}
|
||||||
|
|
@ -1452,7 +1452,7 @@ export default {
|
||||||
background-color: #1e1e1e;
|
background-color: #1e1e1e;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__header-wrapper {
|
::v-deep .el-table__header-wrapper {
|
||||||
th {
|
th {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -1460,7 +1460,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__body-wrapper {
|
::v-deep .el-table__body-wrapper {
|
||||||
tr {
|
tr {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -1471,7 +1471,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__empty-block {
|
::v-deep .el-table__empty-block {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -999,20 +999,20 @@ export default {
|
||||||
padding: 5px 0;
|
padding: 5px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__fixed-right-patch {
|
::v-deep .el-table__fixed-right-patch {
|
||||||
background-color: #000 !important;
|
background-color: #000 !important;
|
||||||
border-color: #444444;
|
border-color: #444444;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__fixed-body-wrapper tr:hover>td {
|
::v-deep .el-table__fixed-body-wrapper tr:hover>td {
|
||||||
background-color: #000 !important;
|
background-color: #000 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table--scrollable-x .el-table__body-wrapper {
|
::v-deep .el-table--scrollable-x .el-table__body-wrapper {
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep.el-tag.el-tag--info {
|
::v-deep .el-tag.el-tag--info {
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -614,7 +614,7 @@ export default {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-tabs {
|
::v-deep .el-tabs {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
@ -665,7 +665,7 @@ export default {
|
||||||
border: 1px solid #607d8b !important;
|
border: 1px solid #607d8b !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-progress__text {
|
::v-deep .el-progress__text {
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1203,12 +1203,12 @@ export default {
|
||||||
.merge-table {
|
.merge-table {
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
|
|
||||||
::v-deep.el-table {
|
::v-deep .el-table {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #383838;
|
color: #383838;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table td.el-table__cell,
|
::v-deep .el-table td.el-table__cell,
|
||||||
.el-table th.el-table__cell.is-leaf {
|
.el-table th.el-table__cell.is-leaf {
|
||||||
border-bottom: 1px solid #383838;
|
border-bottom: 1px solid #383838;
|
||||||
}
|
}
|
||||||
|
|
@ -1219,7 +1219,7 @@ export default {
|
||||||
background-color: #1e1e1e;
|
background-color: #1e1e1e;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__header-wrapper {
|
::v-deep .el-table__header-wrapper {
|
||||||
th {
|
th {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -1227,7 +1227,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__body-wrapper {
|
::v-deep .el-table__body-wrapper {
|
||||||
tr {
|
tr {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -1238,7 +1238,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__empty-block {
|
::v-deep .el-table__empty-block {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1130,12 +1130,12 @@ export default {
|
||||||
.merge-table {
|
.merge-table {
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
|
|
||||||
::v-deep.el-table {
|
::v-deep .el-table {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #383838;
|
color: #383838;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table td.el-table__cell,
|
::v-deep .el-table td.el-table__cell,
|
||||||
.el-table th.el-table__cell.is-leaf {
|
.el-table th.el-table__cell.is-leaf {
|
||||||
border-bottom: 1px solid #383838;
|
border-bottom: 1px solid #383838;
|
||||||
}
|
}
|
||||||
|
|
@ -1146,7 +1146,7 @@ export default {
|
||||||
background-color: #1e1e1e;
|
background-color: #1e1e1e;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__header-wrapper {
|
::v-deep .el-table__header-wrapper {
|
||||||
th {
|
th {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -1154,7 +1154,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__body-wrapper {
|
::v-deep .el-table__body-wrapper {
|
||||||
tr {
|
tr {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -1165,7 +1165,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__empty-block {
|
::v-deep .el-table__empty-block {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -952,7 +952,7 @@ export default {
|
||||||
background-color: #607d8b!important;
|
background-color: #607d8b!important;
|
||||||
border: 1px solid #607d8b!important;
|
border: 1px solid #607d8b!important;
|
||||||
}
|
}
|
||||||
::v-deep.el-progress__text{
|
::v-deep .el-progress__text{
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
@ -1022,7 +1022,7 @@ export default {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep.el-collapse{
|
::v-deep .el-collapse{
|
||||||
border: none;
|
border: none;
|
||||||
.el-collapse-item{
|
.el-collapse-item{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
|
|
@ -1043,7 +1043,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.sr-wrapper{
|
.sr-wrapper{
|
||||||
::v-deep.el-dialog{
|
::v-deep .el-dialog{
|
||||||
background: #fff !important;
|
background: #fff !important;
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
// color: #ddd;
|
// color: #ddd;
|
||||||
|
|
@ -1051,12 +1051,12 @@ export default {
|
||||||
color:#fff;
|
color:#fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep.sr-dialog-container{
|
::v-deep .sr-dialog-container{
|
||||||
margin-top: 50px !important;
|
margin-top: 50px !important;
|
||||||
width:75%;
|
width:75%;
|
||||||
height:80%;
|
height:80%;
|
||||||
}
|
}
|
||||||
::v-deep.el-dialog__body{
|
::v-deep .el-dialog__body{
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
height: calc(100% - 50px);
|
height: calc(100% - 50px);
|
||||||
}
|
}
|
||||||
|
|
@ -1064,7 +1064,7 @@ export default {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
.sr-full-dialog-container{
|
.sr-full-dialog-container{
|
||||||
::v-deep.is-fullscreen .el-dialog__body{
|
::v-deep .is-fullscreen .el-dialog__body{
|
||||||
height: calc(100% - 50px);
|
height: calc(100% - 50px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -887,7 +887,7 @@ export default {
|
||||||
background-color: #607d8b!important;
|
background-color: #607d8b!important;
|
||||||
border: 1px solid #607d8b!important;
|
border: 1px solid #607d8b!important;
|
||||||
}
|
}
|
||||||
::v-deep.el-progress__text{
|
::v-deep .el-progress__text{
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
@ -956,7 +956,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep.el-collapse{
|
::v-deep .el-collapse{
|
||||||
border: none;
|
border: none;
|
||||||
.el-collapse-item{
|
.el-collapse-item{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
|
|
@ -977,7 +977,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.sr-wrapper{
|
.sr-wrapper{
|
||||||
::v-deep.el-dialog{
|
::v-deep .el-dialog{
|
||||||
background: #fff !important;
|
background: #fff !important;
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
// color: #ddd;
|
// color: #ddd;
|
||||||
|
|
@ -985,12 +985,12 @@ export default {
|
||||||
color:#fff;
|
color:#fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep.sr-dialog-container{
|
::v-deep .sr-dialog-container{
|
||||||
margin-top: 50px !important;
|
margin-top: 50px !important;
|
||||||
width:75%;
|
width:75%;
|
||||||
height:80%;
|
height:80%;
|
||||||
}
|
}
|
||||||
::v-deep.el-dialog__body{
|
::v-deep .el-dialog__body{
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
height: calc(100% - 50px);
|
height: calc(100% - 50px);
|
||||||
}
|
}
|
||||||
|
|
@ -998,7 +998,7 @@ export default {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
.sr-full-dialog-container{
|
.sr-full-dialog-container{
|
||||||
::v-deep.is-fullscreen .el-dialog__body{
|
::v-deep .is-fullscreen .el-dialog__body{
|
||||||
height: calc(100% - 50px);
|
height: calc(100% - 50px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -529,7 +529,7 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
::v-deep.el-message-box__headerbtn {
|
::v-deep .el-message-box__headerbtn {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -541,7 +541,7 @@ export default {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
|
|
||||||
::v-deep.el-tabs {
|
::v-deep .el-tabs {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -573,11 +573,11 @@ export default {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.hot-keys-label {
|
::v-deep .hot-keys-label {
|
||||||
color: #dfdfdf !important;
|
color: #dfdfdf !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.shortcut-key-input span {
|
::v-deep .shortcut-key-input span {
|
||||||
color: #dfdfdf !important;
|
color: #dfdfdf !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -588,7 +588,7 @@ export default {
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// }
|
// }
|
||||||
::v-deep.el-dialog {
|
::v-deep .el-dialog {
|
||||||
background: #1e1e1e;
|
background: #1e1e1e;
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
|
@ -614,13 +614,13 @@ export default {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.dialog-container {
|
::v-deep .dialog-container {
|
||||||
margin-top: 50px !important;
|
margin-top: 50px !important;
|
||||||
width: 75%;
|
width: 75%;
|
||||||
height: 80%;
|
height: 80%;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-dialog__body {
|
::v-deep .el-dialog__body {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
height: calc(100% - 70px);
|
height: calc(100% - 70px);
|
||||||
}
|
}
|
||||||
|
|
@ -636,7 +636,7 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.full-dialog-container {
|
.full-dialog-container {
|
||||||
::v-deep.is-fullscreen .el-dialog__body {
|
::v-deep .is-fullscreen .el-dialog__body {
|
||||||
height: calc(100% - 70px);
|
height: calc(100% - 70px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -142,7 +142,7 @@ export default {
|
||||||
getStudyList(obj) {
|
getStudyList(obj) {
|
||||||
if (obj) {
|
if (obj) {
|
||||||
var studyList = obj.StudyList || []
|
var studyList = obj.StudyList || []
|
||||||
studyList = studyList.filter(i => !i.IsCriticalSequence && (i.Modalities.indexOf('CT') !== -1 || i.Modalities.indexOf('MR') !== -1) && i.Modalities.indexOf('PT') !== -1)
|
studyList = studyList.filter(i => !i.IsCriticalSequence && (i.Modalities.indexOf('CT') !== -1 || i.Modalities.indexOf('MR') !== -1) && (i.Modalities.indexOf('PT') !== -1 || i.Modalities.indexOf('NM') !== -1))
|
||||||
if (studyList.length === 0) return
|
if (studyList.length === 0) return
|
||||||
this.studyList = studyList
|
this.studyList = studyList
|
||||||
}
|
}
|
||||||
|
|
@ -200,7 +200,7 @@ export default {
|
||||||
var series = seriesList.filter(series => series.Modality === 'CT' || series.Modality === 'MR')
|
var series = seriesList.filter(series => series.Modality === 'CT' || series.Modality === 'MR')
|
||||||
this.ctSeries = series.sort((a, b) => b.instanceCount - a.instanceCount)
|
this.ctSeries = series.sort((a, b) => b.instanceCount - a.instanceCount)
|
||||||
|
|
||||||
series = seriesList.filter(series => series.Modality === 'PT')
|
series = seriesList.filter(series => series.Modality === 'PT' || series.Modality === 'NM')
|
||||||
this.petSeries = series.sort((a, b) => b.instanceCount - a.instanceCount)
|
this.petSeries = series.sort((a, b) => b.instanceCount - a.instanceCount)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -235,12 +235,12 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.series-table {
|
.series-table {
|
||||||
::v-deep.el-table {
|
::v-deep .el-table {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table td.el-table__cell,
|
::v-deep .el-table td.el-table__cell,
|
||||||
.el-table th.el-table__cell.is-leaf {
|
.el-table th.el-table__cell.is-leaf {
|
||||||
border-bottom: 1px solid #dfdfdf;
|
border-bottom: 1px solid #dfdfdf;
|
||||||
}
|
}
|
||||||
|
|
@ -251,14 +251,14 @@ export default {
|
||||||
background-color: #1e1e1e;
|
background-color: #1e1e1e;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__header-wrapper {
|
::v-deep .el-table__header-wrapper {
|
||||||
th {
|
th {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__body-wrapper {
|
::v-deep .el-table__body-wrapper {
|
||||||
tr {
|
tr {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -269,7 +269,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__empty-block {
|
::v-deep .el-table__empty-block {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@
|
||||||
<div class="dropdown-content">
|
<div class="dropdown-content">
|
||||||
<ul style="width:165px;">
|
<ul style="width:165px;">
|
||||||
<li v-for="item in wwwcArr" :key="item.label">
|
<li v-for="item in wwwcArr" :key="item.label">
|
||||||
<a href="#" @click.stop="changeVoiRange(item)">
|
<span @click.stop="changeVoiRange(item)">
|
||||||
<div v-if="item.wc !== null"
|
<div v-if="item.wc !== null"
|
||||||
style="display:flex;flex-direction: row;justify-content: space-between;">
|
style="display:flex;flex-direction: row;justify-content: space-between;">
|
||||||
<div>{{ item.label }}</div>
|
<div>{{ item.label }}</div>
|
||||||
|
|
@ -104,7 +104,7 @@
|
||||||
<div v-else style="text-align:left;">
|
<div v-else style="text-align:left;">
|
||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</span>
|
||||||
<el-divider v-if="item.val === 1" class="divider" content-position="center">
|
<el-divider v-if="item.val === 1" class="divider" content-position="center">
|
||||||
{{ ` ${$t('trials:reading:title:preset')}` }}
|
{{ ` ${$t('trials:reading:title:preset')}` }}
|
||||||
</el-divider>
|
</el-divider>
|
||||||
|
|
@ -145,9 +145,9 @@
|
||||||
<div class="dropdown-content">
|
<div class="dropdown-content">
|
||||||
<ul style="width:100px;">
|
<ul style="width:100px;">
|
||||||
<li v-for="rotate in rotateOptions" :key="rotate.label" style="text-align:left;">
|
<li v-for="rotate in rotateOptions" :key="rotate.label" style="text-align:left;">
|
||||||
<a href="#" @click.prevent="setViewportRotate(rotate.val)">
|
<span @click.prevent="setViewportRotate(rotate.val)">
|
||||||
{{ rotate.label }}
|
{{ rotate.label }}
|
||||||
</a>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -239,10 +239,10 @@
|
||||||
<!--v-if="readingTaskState < 2"-->
|
<!--v-if="readingTaskState < 2"-->
|
||||||
<ul style="width:100px;">
|
<ul style="width:100px;">
|
||||||
<li v-for="i in customizeStandards" :key="i.toolName" style="text-align:left;">
|
<li v-for="i in customizeStandards" :key="i.toolName" style="text-align:left;">
|
||||||
<a href="#" @click.prevent="setMoreToolActive(i.toolName)">
|
<span @click.prevent="setMoreToolActive(i.toolName)">
|
||||||
<svg-icon :icon-class="i.icon" class="svg-icon" style="margin-right: 5px;" />
|
<svg-icon :icon-class="i.icon" class="svg-icon" style="margin-right: 5px;" />
|
||||||
{{ $t(i.i18nKey) }}
|
{{ $t(i.i18nKey) }}
|
||||||
</a>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -327,10 +327,10 @@
|
||||||
@renderAnnotations="renderAnnotations" @contentMouseup="contentMouseup" />
|
@renderAnnotations="renderAnnotations" @contentMouseup="contentMouseup" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="readingTool === 2" :class="['viewports-box', !isFusion ? 'viewports-box-down' : '']"
|
<div v-if="readingTool === 2"
|
||||||
|
:class="['viewports-box', !isFusion ? 'viewports-box-down' : '', fullScreenIndex !== null ? 'viewports-box-full-screen' : '']"
|
||||||
:style="gridStyle">
|
:style="gridStyle">
|
||||||
<div v-for="(v, index) in cellsMax" v-show="index < cells.length" :key="`viewport-fusion-${index}`"
|
<div v-for="(v, index) in cellsMax" v-show="index < cells.length" :key="`viewport-fusion-${index}`"
|
||||||
:style="cellStyle"
|
|
||||||
:class="['grid-cell', index === activeViewportIndex ? 'cell_active' : '', index === fullScreenIndex ? 'cell-full-screen' : '']"
|
:class="['grid-cell', index === activeViewportIndex ? 'cell_active' : '', index === fullScreenIndex ? 'cell-full-screen' : '']"
|
||||||
@dblclick="toggleFullScreen($event, index)" @click="activeViewport(index)">
|
@dblclick="toggleFullScreen($event, index)" @click="activeViewport(index)">
|
||||||
<PetCtViewport :ref="`viewport-fusion-${index}`" :data-viewport-uid="`viewport-fusion-${index}`"
|
<PetCtViewport :ref="`viewport-fusion-${index}`" :data-viewport-uid="`viewport-fusion-${index}`"
|
||||||
|
|
@ -364,7 +364,8 @@
|
||||||
<Segmentations ref="Segmentations" :visitInfo="taskInfo" :isMPR="isMPR"
|
<Segmentations ref="Segmentations" :visitInfo="taskInfo" :isMPR="isMPR"
|
||||||
:volumeToolGroupId="volumeToolGroupId" :viewportKey="viewportKey"
|
:volumeToolGroupId="volumeToolGroupId" :viewportKey="viewportKey"
|
||||||
:activeViewportIndex="activeViewportIndex" :activeTool.sync="activeTool"
|
:activeViewportIndex="activeViewportIndex" :activeTool.sync="activeTool"
|
||||||
:actionConfiguration="actionConfiguration" @setToolsPassive="setToolsPassive" @resetQuestion="resetQuestion"/>
|
:actionConfiguration="actionConfiguration" @setToolsPassive="setToolsPassive"
|
||||||
|
@resetQuestion="resetQuestion" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
|
|
@ -570,6 +571,7 @@ const {
|
||||||
synchronizers,
|
synchronizers,
|
||||||
PlanarFreehandContourSegmentationTool,
|
PlanarFreehandContourSegmentationTool,
|
||||||
BrushTool,
|
BrushTool,
|
||||||
|
SegmentBidirectionalTool,
|
||||||
utilities: CStUtils,
|
utilities: CStUtils,
|
||||||
// cursors
|
// cursors
|
||||||
} = cornerstoneTools
|
} = cornerstoneTools
|
||||||
|
|
@ -889,7 +891,7 @@ export default {
|
||||||
this.getSystemInfoReading();
|
this.getSystemInfoReading();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
resetQuestion(){
|
resetQuestion() {
|
||||||
this.$refs[`ecrf_${this.lastViewportTaskId}`][0].getQuestions(false)
|
this.$refs[`ecrf_${this.lastViewportTaskId}`][0].getQuestions(false)
|
||||||
},
|
},
|
||||||
handleSegmentSave(obj) {
|
handleSegmentSave(obj) {
|
||||||
|
|
@ -1323,6 +1325,7 @@ export default {
|
||||||
cornerstoneTools.addTool(CrosshairsTool)
|
cornerstoneTools.addTool(CrosshairsTool)
|
||||||
cornerstoneTools.addTool(PlanarFreehandContourSegmentationTool)
|
cornerstoneTools.addTool(PlanarFreehandContourSegmentationTool)
|
||||||
cornerstoneTools.addTool(BrushTool)
|
cornerstoneTools.addTool(BrushTool)
|
||||||
|
cornerstoneTools.addTool(SegmentBidirectionalTool)
|
||||||
viewportIds.forEach((viewportId, i) => {
|
viewportIds.forEach((viewportId, i) => {
|
||||||
// const toolGroupId = `viewport-${i}`
|
// const toolGroupId = `viewport-${i}`
|
||||||
let toolGroupId = viewportId
|
let toolGroupId = viewportId
|
||||||
|
|
@ -1364,6 +1367,7 @@ export default {
|
||||||
toolGroup.addTool(PlanarFreehandContourSegmentationTool.toolName, {
|
toolGroup.addTool(PlanarFreehandContourSegmentationTool.toolName, {
|
||||||
cachedStats: true,
|
cachedStats: true,
|
||||||
});
|
});
|
||||||
|
toolGroup.addTool(SegmentBidirectionalTool.toolName, {});
|
||||||
// toolGroup.setToolActive(PlanarFreehandContourSegmentationTool.toolName, {
|
// toolGroup.setToolActive(PlanarFreehandContourSegmentationTool.toolName, {
|
||||||
// bindings: [
|
// bindings: [
|
||||||
// {
|
// {
|
||||||
|
|
@ -1485,7 +1489,10 @@ export default {
|
||||||
toolGroup.setToolPassive(FixedRadiusCircleROITool.toolName)
|
toolGroup.setToolPassive(FixedRadiusCircleROITool.toolName)
|
||||||
toolGroup.setToolPassive(AngleTool.toolName)
|
toolGroup.setToolPassive(AngleTool.toolName)
|
||||||
toolGroup.setToolPassive(CobbAngleTool.toolName)
|
toolGroup.setToolPassive(CobbAngleTool.toolName)
|
||||||
if (this.readingTool === 3) toolGroup.setToolPassive(PlanarFreehandContourSegmentationTool.toolName)
|
if (this.readingTool === 3) {
|
||||||
|
toolGroup.setToolPassive(PlanarFreehandContourSegmentationTool.toolName)
|
||||||
|
toolGroup.setToolPassive(SegmentBidirectionalTool.toolName, {});
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
toolGroup.setToolEnabled(ArrowAnnotateTool.toolName)
|
toolGroup.setToolEnabled(ArrowAnnotateTool.toolName)
|
||||||
toolGroup.setToolEnabled(RectangleROITool.toolName)
|
toolGroup.setToolEnabled(RectangleROITool.toolName)
|
||||||
|
|
@ -3038,8 +3045,7 @@ export default {
|
||||||
if (obj.segment) {
|
if (obj.segment) {
|
||||||
let study = studyList.find(item => item.StudyId === obj.segmentGroup.StudyId)
|
let study = studyList.find(item => item.StudyId === obj.segmentGroup.StudyId)
|
||||||
series = study.SeriesList.find(item => item.Id === obj.segmentGroup.SeriesId)
|
series = study.SeriesList.find(item => item.Id === obj.segmentGroup.SeriesId)
|
||||||
let sliceIndex = obj.segment.bidirectional.sliceIndex || 0
|
series.SliceIndex = 0
|
||||||
series.SliceIndex = series.InstanceCount - 1 - sliceIndex
|
|
||||||
series.segment = obj.segment
|
series.segment = obj.segment
|
||||||
} else {
|
} else {
|
||||||
series = this.getMarkedSeries(studyList, obj.annotation, true)
|
series = this.getMarkedSeries(studyList, obj.annotation, true)
|
||||||
|
|
@ -3976,14 +3982,14 @@ export default {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
li {
|
li {
|
||||||
a {
|
span {
|
||||||
display: block;
|
display: block;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ul li a:hover {
|
ul li span:hover {
|
||||||
background-color: #727272;
|
background-color: #727272;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -4075,10 +4081,29 @@ export default {
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
z-index: 9;
|
z-index: 9;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.viewports-box-down {
|
.viewports-box-down {
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
|
opacity: 0;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.viewports-box-down {
|
||||||
|
>.grid-cell {
|
||||||
|
border-color: transparent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.viewports-box-full-screen {
|
||||||
|
>.grid-cell {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
>.grid-cell.cell-full-screen {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid-cell {
|
.grid-cell {
|
||||||
|
|
@ -4086,6 +4111,9 @@ export default {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
overflow: hidden;
|
||||||
|
min-width: 0;
|
||||||
|
min-height: 0;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -4121,61 +4149,6 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .manuals-dialog-container {
|
|
||||||
margin-top: 50px !important;
|
|
||||||
width: 75%;
|
|
||||||
height: 80%;
|
|
||||||
|
|
||||||
.el-dialog__body {
|
|
||||||
padding: 10px;
|
|
||||||
height: calc(100% - 50px) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-dialog__header {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
::v-deep .manuals-full-dialog-container {
|
|
||||||
.el-dialog__body {
|
|
||||||
padding: 10px;
|
|
||||||
height: calc(100% - 50px) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-dialog__header {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
::v-deep .cd-dialog-container {
|
|
||||||
background: #fff !important;
|
|
||||||
margin-top: 50px !important;
|
|
||||||
width: 75%;
|
|
||||||
height: 80%;
|
|
||||||
|
|
||||||
.el-dialog__body {
|
|
||||||
padding: 20px 20px 0 20px;
|
|
||||||
height: calc(100% - 70px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-dialog__header {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
::v-deep .cd-full-dialog-container {
|
|
||||||
background: #fff !important;
|
|
||||||
|
|
||||||
.el-dialog__body {
|
|
||||||
padding: 10px;
|
|
||||||
height: calc(100% - 50px) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-dialog__header {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
::v-deep .el-dropdown-menu {
|
::v-deep .el-dropdown-menu {
|
||||||
.el-dropdown-menu__item {
|
.el-dropdown-menu__item {
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
|
|
@ -4218,3 +4191,60 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.manuals-dialog-container {
|
||||||
|
margin-top: 50px !important;
|
||||||
|
width: 75%;
|
||||||
|
height: 80%;
|
||||||
|
|
||||||
|
.el-dialog__body {
|
||||||
|
padding: 10px;
|
||||||
|
height: calc(100% - 50px) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-dialog__header {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.manuals-full-dialog-container {
|
||||||
|
.el-dialog__body {
|
||||||
|
padding: 10px;
|
||||||
|
height: calc(100% - 50px) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-dialog__header {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-dialog-container {
|
||||||
|
background: #fff !important;
|
||||||
|
margin-top: 50px !important;
|
||||||
|
width: 75%;
|
||||||
|
height: 80%;
|
||||||
|
|
||||||
|
.el-dialog__body {
|
||||||
|
padding: 20px 20px 0 20px;
|
||||||
|
height: calc(100% - 70px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-dialog__header {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cd-full-dialog-container {
|
||||||
|
background: #fff !important;
|
||||||
|
|
||||||
|
.el-dialog__body {
|
||||||
|
padding: 10px;
|
||||||
|
height: calc(100% - 50px) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-dialog__header {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -1986,12 +1986,12 @@ export default {
|
||||||
.merge-table {
|
.merge-table {
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
|
|
||||||
::v-deep.el-table {
|
::v-deep .el-table {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #383838;
|
color: #383838;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table td.el-table__cell,
|
::v-deep .el-table td.el-table__cell,
|
||||||
.el-table th.el-table__cell.is-leaf {
|
.el-table th.el-table__cell.is-leaf {
|
||||||
border-bottom: 1px solid #383838;
|
border-bottom: 1px solid #383838;
|
||||||
}
|
}
|
||||||
|
|
@ -2002,7 +2002,7 @@ export default {
|
||||||
background-color: #1e1e1e;
|
background-color: #1e1e1e;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__header-wrapper {
|
::v-deep .el-table__header-wrapper {
|
||||||
th {
|
th {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -2010,7 +2010,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__body-wrapper {
|
::v-deep .el-table__body-wrapper {
|
||||||
tr {
|
tr {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -2021,7 +2021,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__empty-block {
|
::v-deep .el-table__empty-block {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -208,9 +208,11 @@ const {
|
||||||
Enums: csToolsEnums,
|
Enums: csToolsEnums,
|
||||||
segmentation,
|
segmentation,
|
||||||
annotation,
|
annotation,
|
||||||
|
SegmentBidirectionalTool,
|
||||||
utilities: CStUtils,
|
utilities: CStUtils,
|
||||||
} = cornerstoneTools;
|
} = cornerstoneTools;
|
||||||
const { MouseBindings, Events: toolsEvents } = csToolsEnums
|
const { MouseBindings, Events: toolsEvents } = csToolsEnums
|
||||||
|
const { segmentation: segmentationUtils, roundNumber } = CStUtils;
|
||||||
const { cache, getRenderingEngine, imageLoader, eventTarget, metaData, utilities: csUtils, volumeLoader } = cornerstone;
|
const { cache, getRenderingEngine, imageLoader, eventTarget, metaData, utilities: csUtils, volumeLoader } = cornerstone;
|
||||||
const { downloadDICOMData } = cornerstoneAdapters.helpers;
|
const { downloadDICOMData } = cornerstoneAdapters.helpers;
|
||||||
const { Cornerstone3D } = cornerstoneAdapters.adaptersSEG;
|
const { Cornerstone3D } = cornerstoneAdapters.adaptersSEG;
|
||||||
|
|
@ -378,26 +380,34 @@ export default {
|
||||||
const viewportId = `${this.viewportKey}-${this.activeViewportIndex}`
|
const viewportId = `${this.viewportKey}-${this.activeViewportIndex}`
|
||||||
const viewport = renderingEngine.getViewport(viewportId);
|
const viewport = renderingEngine.getViewport(viewportId);
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
[viewport.element].forEach((element) => {
|
[viewport.element].forEach(async (element) => {
|
||||||
const bidirectional = this.actionConfiguration.contourBidirectional.method(
|
const bidirectionalData =
|
||||||
element,
|
await CStUtils.segmentation.getSegmentLargestBidirectional({
|
||||||
this.actionConfiguration.contourBidirectional
|
segmentationId: item.segmentationId,
|
||||||
);
|
segmentIndices: [item.segmentIndex],
|
||||||
if (!bidirectional) {
|
});
|
||||||
console.log('No bidirectional found');
|
bidirectionalData.forEach((bidirectional) => {
|
||||||
return;
|
const { segmentIndex } = bidirectional;
|
||||||
}
|
const { majorAxis, minorAxis, maxMajor, maxMinor } = bidirectional;
|
||||||
item.bidirectional = bidirectional
|
|
||||||
let an = annotation.state.getAllAnnotations().find(i => i.data.segment && i.data.segment.segmentationId === bidirectional.segmentationId && i.data.segment.segmentIndex === bidirectional.segmentIndex && i.metadata.toolName === "Bidirectional");
|
SegmentBidirectionalTool.hydrate(viewportId, [majorAxis, minorAxis], {
|
||||||
annotation.locking.setAnnotationLocked(an.annotationUID, true)
|
segmentIndex,
|
||||||
if (DATA) {
|
segmentationId: item.segmentationId,
|
||||||
this.segmentationId = DATA.SegmentationId;
|
});
|
||||||
// this.segmentIndex = this.segmentList[this.segmentList.length - 1].segments[0].segmentIndex;
|
item.bidirectional = bidirectional
|
||||||
this.segmentIndex = DATA.SegmentMumber;
|
let an = annotation.state.getAllAnnotations().find(i => i.metadata.segmentationId === item.segmentationId && i.metadata.segmentIndex === bidirectional.segmentIndex && i.metadata.toolName === "SegmentBidirectional");
|
||||||
setTimeout(() => {
|
if (an) {
|
||||||
this.selectSegment(DATA)
|
annotation.locking.setAnnotationLocked(an.annotationUID, true)
|
||||||
})
|
}
|
||||||
}
|
if (DATA) {
|
||||||
|
this.segmentationId = DATA.SegmentationId;
|
||||||
|
this.segmentIndex = DATA.SegmentMumber;
|
||||||
|
setTimeout(() => {
|
||||||
|
this.selectSegment(DATA)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// render the bidirectional tool data
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
@ -427,7 +437,7 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
viewBidirectional(item, view) {
|
viewBidirectional(item, view) {
|
||||||
let bidirectional = annotation.state.getAllAnnotations().find(i => i.data.segment && i.data.segment.segmentationId === this.segmentationId && i.data.segment.segmentIndex === item.segmentIndex && i.metadata.toolName === "Bidirectional");
|
let bidirectional = annotation.state.getAllAnnotations().find(i => i.metadata.segmentationId === item.segmentationId && i.metadata.segmentIndex === item.segmentIndex && i.metadata.toolName === "SegmentBidirectional");
|
||||||
annotation.visibility.setAnnotationVisibility(bidirectional.annotationUID, view)
|
annotation.visibility.setAnnotationVisibility(bidirectional.annotationUID, view)
|
||||||
item.bidirectionalView = view
|
item.bidirectionalView = view
|
||||||
this.resetViewport()
|
this.resetViewport()
|
||||||
|
|
@ -469,16 +479,15 @@ export default {
|
||||||
this.segmentationId = item.segmentationId;
|
this.segmentationId = item.segmentationId;
|
||||||
this.segmentIndex = item.segmentIndex;
|
this.segmentIndex = item.segmentIndex;
|
||||||
segmentation.segmentIndex.setActiveSegmentIndex(item.segmentationId, item.segmentIndex);
|
segmentation.segmentIndex.setActiveSegmentIndex(item.segmentationId, item.segmentIndex);
|
||||||
console.log(item.bidirectional)
|
|
||||||
if (item.bidirectional) {
|
if (item.bidirectional) {
|
||||||
let sliceIndex = item.bidirectional.sliceIndex
|
let an = annotation.state.getAllAnnotations().find(i => i.metadata.segmentationId === item.segmentationId && i.metadata.segmentIndex === item.segmentIndex && i.metadata.toolName === "SegmentBidirectional");
|
||||||
|
if (!an) return false
|
||||||
|
let referencedImageId = an.metadata.referencedImageId;
|
||||||
|
let sliceIndex = metaData.get('generalImageModule', referencedImageId).instanceNumber
|
||||||
const renderingEngine = getRenderingEngine(this.renderingEngineId)
|
const renderingEngine = getRenderingEngine(this.renderingEngineId)
|
||||||
const viewportId = `${this.viewportKey}-${this.activeViewportIndex}`
|
const viewportId = `${this.viewportKey}-${this.activeViewportIndex}`
|
||||||
const viewport = renderingEngine.getViewport(viewportId)
|
const viewport = renderingEngine.getViewport(viewportId)
|
||||||
const segmentGroup =
|
csUtils.jumpToSlice(viewport.element, { imageIndex: sliceIndex - 1 });
|
||||||
segmentation.state.getSegmentation(this.segmentationId);
|
|
||||||
const { imageIds } = segmentGroup.representationData.Labelmap;
|
|
||||||
csUtils.jumpToSlice(viewport.element, { imageIndex: imageIds.length - 1 - sliceIndex });
|
|
||||||
}
|
}
|
||||||
if (item.lock) {
|
if (item.lock) {
|
||||||
this.$emit('setToolsPassive')
|
this.$emit('setToolsPassive')
|
||||||
|
|
@ -596,7 +605,7 @@ export default {
|
||||||
delAllSegment() {
|
delAllSegment() {
|
||||||
segmentation.removeAllSegmentations()
|
segmentation.removeAllSegmentations()
|
||||||
segmentation.state.removeAllSegmentations()
|
segmentation.state.removeAllSegmentations()
|
||||||
let annotations = annotation.state.getAllAnnotations().filter(item => item.data.segmentation || item.data.segment);
|
let annotations = annotation.state.getAllAnnotations().filter(item => item.metadata.segmentationId && item.metadata.segmentIndex && item.metadata.toolName === "SegmentBidirectional");
|
||||||
annotations.forEach(item => {
|
annotations.forEach(item => {
|
||||||
annotation.state.removeAnnotation(item.annotationUID)
|
annotation.state.removeAnnotation(item.annotationUID)
|
||||||
})
|
})
|
||||||
|
|
@ -613,7 +622,7 @@ export default {
|
||||||
segmentation.state.removeSegmentation(this.segmentationId)
|
segmentation.state.removeSegmentation(this.segmentationId)
|
||||||
let groupIndex = this.segmentList.findIndex(item => item.segmentationId === this.segmentationId)
|
let groupIndex = this.segmentList.findIndex(item => item.segmentationId === this.segmentationId)
|
||||||
this.segmentList.splice(groupIndex, 1)
|
this.segmentList.splice(groupIndex, 1)
|
||||||
let annotations = annotation.state.getAllAnnotations().filter(item => (item.data.segmentation && item.data.segmentation.segmentationId === this.segmentationId) || (item.data.segment && item.data.segment.segmentationId === this.segmentationId));
|
let annotations = annotation.state.getAllAnnotations().filter(item => item.metadata.segmentationId === this.segmentationId);
|
||||||
annotations.forEach(item => {
|
annotations.forEach(item => {
|
||||||
annotation.state.removeAnnotation(item.annotationUID)
|
annotation.state.removeAnnotation(item.annotationUID)
|
||||||
})
|
})
|
||||||
|
|
@ -637,7 +646,7 @@ export default {
|
||||||
// segmentation.updateSegmentations({ segmentationId: this.segmentationId })
|
// segmentation.updateSegmentations({ segmentationId: this.segmentationId })
|
||||||
let index = this.segmentList[groupIndex].segments.findIndex(item => item.segmentIndex === segmentIndex)
|
let index = this.segmentList[groupIndex].segments.findIndex(item => item.segmentIndex === segmentIndex)
|
||||||
this.segmentList[groupIndex].segments.splice(index, 1)
|
this.segmentList[groupIndex].segments.splice(index, 1)
|
||||||
let annotations = annotation.state.getAllAnnotations().filter(item => (item.data.segmentation && item.data.segmentation.segmentationId === this.segmentationId && item.data.segmentation.segmentIndex === segmentIndex) || (item.data.segment && item.data.segment.segmentationId === this.segmentationId && item.data.segment.segmentIndex === segmentIndex));
|
let annotations = annotation.state.getAllAnnotations().filter(item => item.metadata.segmentationId === this.segmentationId && item.metadata.segmentIndex === segmentIndex);
|
||||||
annotations.forEach(item => {
|
annotations.forEach(item => {
|
||||||
annotation.state.removeAnnotation(item.annotationUID)
|
annotation.state.removeAnnotation(item.annotationUID)
|
||||||
})
|
})
|
||||||
|
|
@ -740,9 +749,7 @@ export default {
|
||||||
segmentation.state.getSegmentation(segmentationId);
|
segmentation.state.getSegmentation(segmentationId);
|
||||||
|
|
||||||
let { imageIds } = segmentGroup.representationData.Labelmap;
|
let { imageIds } = segmentGroup.representationData.Labelmap;
|
||||||
// imageIds.forEach(id => {
|
|
||||||
// console.log(metaData.get('generalImageModule', id))
|
|
||||||
// })
|
|
||||||
let segImages = imageIds.map(imageId => cache.getImage(imageId));
|
let segImages = imageIds.map(imageId => cache.getImage(imageId));
|
||||||
segImages = segImages.reverse()
|
segImages = segImages.reverse()
|
||||||
let referencedImages = segImages.map(image =>
|
let referencedImages = segImages.map(image =>
|
||||||
|
|
@ -818,6 +825,7 @@ export default {
|
||||||
labelmap3D,
|
labelmap3D,
|
||||||
metaData
|
metaData
|
||||||
);
|
);
|
||||||
|
console.log(generatedSegmentation.dataset, 'generatedSegmentation.dataset')
|
||||||
if (!isFile) {
|
if (!isFile) {
|
||||||
const buffer = Buffer.from(dcmjs.data.datasetToDict(generatedSegmentation.dataset).write());
|
const buffer = Buffer.from(dcmjs.data.datasetToDict(generatedSegmentation.dataset).write());
|
||||||
let blob = new Blob([buffer], { type: "application/dicom" });
|
let blob = new Blob([buffer], { type: "application/dicom" });
|
||||||
|
|
@ -970,18 +978,35 @@ export default {
|
||||||
}
|
}
|
||||||
this.drawing = true
|
this.drawing = true
|
||||||
},
|
},
|
||||||
calculateStatistics(indices, segmentationId) {
|
async calculateStatistics(indices, segmentationId, mode) {
|
||||||
const renderingEngine = getRenderingEngine(this.renderingEngineId)
|
const stats = await segmentationUtils.getStatistics({
|
||||||
const toolGroupId = this.isMPR ? this.volumeToolGroupId : `${this.viewportKey}-${this.activeViewportIndex}`
|
segmentationId,
|
||||||
const viewportId = `${this.viewportKey}-${this.activeViewportIndex}`
|
segmentIndices: indices,
|
||||||
const viewport = renderingEngine.getViewport(viewportId)
|
mode,
|
||||||
const toolGroup = ToolGroupManager.getToolGroup(toolGroupId);
|
});
|
||||||
const activeName = toolGroup.getActivePrimaryMouseButtonTool();
|
|
||||||
const brush = toolGroup.getToolInstance(activeName);
|
if (mode === 'individual') {
|
||||||
const stats = brush.getStatistics(viewport.element, { indices });
|
// Handle individual mode where stats is an object with segment indices as keys
|
||||||
let segmentGroup = this.segmentList.find(item => item.segmentationId === segmentationId)
|
const segmentStats = stats;
|
||||||
let segment = segmentGroup.segments.find(item => item.segmentIndex === indices[0])
|
|
||||||
segment.stats = stats;
|
for (const segmentIndex of indices) {
|
||||||
|
if (segmentStats[segmentIndex]) {
|
||||||
|
const segmentStat = segmentStats[segmentIndex];
|
||||||
|
console.log(segmentStat, 'segmentStat')
|
||||||
|
segmentStat.count.label = 'Voxels';
|
||||||
|
let segmentGroup = this.segmentList.find(item => item.segmentationId === segmentationId)
|
||||||
|
let segment = segmentGroup.segments.find(item => item.segmentIndex === segmentIndex)
|
||||||
|
segment.stats = segmentStat;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const items = [`Statistics on ${indices.join(', ')}`];
|
||||||
|
// Handle collective mode where stats is a NamedStatistics object
|
||||||
|
const namedStats = stats;
|
||||||
|
namedStats.count.label = 'Voxels';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
createSegmentationRepresentation(segmentationId) {
|
createSegmentationRepresentation(segmentationId) {
|
||||||
this.viewprotIds.forEach(id => {
|
this.viewprotIds.forEach(id => {
|
||||||
|
|
@ -1004,7 +1029,7 @@ export default {
|
||||||
this.timeoutId = null;
|
this.timeoutId = null;
|
||||||
this.drawing = false;
|
this.drawing = false;
|
||||||
if (!this.isDel) {
|
if (!this.isDel) {
|
||||||
this.calculateStatistics([this.segmentIndex], this.segmentationId);
|
this.calculateStatistics([this.segmentIndex], this.segmentationId, 'individual');
|
||||||
let segmentGroup = this.segmentList.find(item => item.segmentationId === this.segmentationId)
|
let segmentGroup = this.segmentList.find(item => item.segmentationId === this.segmentationId)
|
||||||
let segment = segmentGroup.segments.find(item => item.segmentIndex === this.segmentIndex)
|
let segment = segmentGroup.segments.find(item => item.segmentIndex === this.segmentIndex)
|
||||||
this.getBidirectional(segment)
|
this.getBidirectional(segment)
|
||||||
|
|
@ -1015,7 +1040,7 @@ export default {
|
||||||
segmentIndexs.push(item.segmentIndex)
|
segmentIndexs.push(item.segmentIndex)
|
||||||
this.getBidirectional(item)
|
this.getBidirectional(item)
|
||||||
})
|
})
|
||||||
this.calculateStatistics(segmentIndexs, this.segmentationId);
|
this.calculateStatistics(segmentIndexs, this.segmentationId, 'individual');
|
||||||
}
|
}
|
||||||
this.isDel = false
|
this.isDel = false
|
||||||
|
|
||||||
|
|
@ -1067,9 +1092,10 @@ export default {
|
||||||
}
|
}
|
||||||
let res = await this.getSegmentBindingList(data)
|
let res = await this.getSegmentBindingList(data)
|
||||||
if (res && res.length > 0) questionNeedChange = true
|
if (res && res.length > 0) questionNeedChange = true
|
||||||
res.forEach(async i => {
|
for (let j = 0; j < res.length; j++) {
|
||||||
let segment = segmentGroup.find(d => d.id === i.SegmentId)
|
let item = res[j]
|
||||||
let question = await this.getQuestionConfig(i.TableQuestionId ? i.TableQuestionId : i.QuestionId, !!i.TableQuestionId);
|
let segment = segmentGroup.segments.find(d => d.id === item.SegmentId)
|
||||||
|
let question = await this.getQuestionConfig(item.TableQuestionId ? item.TableQuestionId : item.QuestionId, !!item.TableQuestionId);
|
||||||
let imageToolAttribute = question.ImageToolAttribute
|
let imageToolAttribute = question.ImageToolAttribute
|
||||||
let answer = ''
|
let answer = ''
|
||||||
if (imageToolAttribute === 'length' || imageToolAttribute === 'width') {
|
if (imageToolAttribute === 'length' || imageToolAttribute === 'width') {
|
||||||
|
|
@ -1077,21 +1103,21 @@ export default {
|
||||||
length: "maxMajor",
|
length: "maxMajor",
|
||||||
width: 'maxMinor'
|
width: 'maxMinor'
|
||||||
}
|
}
|
||||||
answer = segment.bidirectional && segment.stats[s[imageToolAttribute]] ? (segment.bidirectional[s[imageToolAttribute]]).toFixed(this.digitPlaces) : ''
|
answer = segment.bidirectional && segment.bidirectional[s[imageToolAttribute]] ? Number(segment.bidirectional[s[imageToolAttribute]]).toFixed(this.digitPlaces) : ''
|
||||||
} else {
|
} else {
|
||||||
answer = segment.stats && segment.stats[imageToolAttribute] ? Number((segment.stats[imageToolAttribute]).value).toFixed(this.digitPlaces) : ''
|
answer = segment.stats && segment.stats[imageToolAttribute] ? Number((segment.stats[imageToolAttribute]).value).toFixed(this.digitPlaces) : ''
|
||||||
}
|
}
|
||||||
let o = {
|
let o = {
|
||||||
Answer: answer,
|
Answer: answer,
|
||||||
QuestionId: i.QuestionId,
|
QuestionId: item.QuestionId,
|
||||||
RowId: i.RowId,
|
RowId: item.RowId,
|
||||||
SegmentId: i.SegmentId,
|
SegmentId: item.SegmentId,
|
||||||
SegmentationId: i.SegmentationId,
|
SegmentationId: item.SegmentationId,
|
||||||
TableQuestionId: i.TableQuestionId,
|
TableQuestionId: item.TableQuestionId,
|
||||||
VisitTaskId: this.visitInfo.VisitTaskId,
|
VisitTaskId: this.visitInfo.VisitTaskId,
|
||||||
}
|
}
|
||||||
bindingList.push(o)
|
bindingList.push(o)
|
||||||
})
|
}
|
||||||
}
|
}
|
||||||
if (questionNeedChange) {
|
if (questionNeedChange) {
|
||||||
let confirm = await this.$confirm(this.$t("segment:confirm:questionNeedChange"))
|
let confirm = await this.$confirm(this.$t("segment:confirm:questionNeedChange"))
|
||||||
|
|
@ -1196,12 +1222,16 @@ export default {
|
||||||
this.selectSegment(o)
|
this.selectSegment(o)
|
||||||
this.changeColor(s.ColorRgb, o)
|
this.changeColor(s.ColorRgb, o)
|
||||||
this.lockSegment(o, true)
|
this.lockSegment(o, true)
|
||||||
setTimeout(() => {
|
// setTimeout(() => {
|
||||||
if (SEGMENT && index === segments.length - 1) {
|
// if (SEGMENT && index === segments.length - 1) {
|
||||||
return this.getBidirectional(o, SEGMENT)
|
// return this.getBidirectional(o, SEGMENT)
|
||||||
}
|
// }
|
||||||
this.getBidirectional(o)
|
// this.getBidirectional(o)
|
||||||
})
|
// })
|
||||||
|
if (SEGMENT && index === segments.length - 1) {
|
||||||
|
return this.getBidirectional(o, SEGMENT)
|
||||||
|
}
|
||||||
|
this.getBidirectional(o)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -248,8 +248,7 @@ export default {
|
||||||
background-color: #607d8b !important;
|
background-color: #607d8b !important;
|
||||||
border: 1px solid #607d8b !important;
|
border: 1px solid #607d8b !important;
|
||||||
}
|
}
|
||||||
|
::v-deep .el-progress__text{
|
||||||
::v-deep.el-progress__text {
|
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
@ -300,8 +299,7 @@ export default {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
::v-deep .el-collapse{
|
||||||
::v-deep.el-collapse {
|
|
||||||
border: none;
|
border: none;
|
||||||
|
|
||||||
.el-collapse-item {
|
.el-collapse-item {
|
||||||
|
|
|
||||||
|
|
@ -517,7 +517,7 @@ export default {
|
||||||
width: 'maxMinor'
|
width: 'maxMinor'
|
||||||
}
|
}
|
||||||
if (!obj.bidirectional || !obj.bidirectional.maxMajor) return this.$confirm(this.$t("segment:error:notValue"))
|
if (!obj.bidirectional || !obj.bidirectional.maxMajor) return this.$confirm(this.$t("segment:error:notValue"))
|
||||||
answer = obj.bidirectional[s[imageToolAttribute]] ? (obj.bidirectional[s[imageToolAttribute]]).toFixed(this.digitPlaces) : ''
|
answer = obj.bidirectional[s[imageToolAttribute]] ? Number(obj.bidirectional[s[imageToolAttribute]]).toFixed(this.digitPlaces) : ''
|
||||||
} else {
|
} else {
|
||||||
if (!obj.stats) return this.$confirm(this.$t("segment:error:notValue"))
|
if (!obj.stats) return this.$confirm(this.$t("segment:error:notValue"))
|
||||||
answer = obj.stats[imageToolAttribute] ? Number((obj.stats[imageToolAttribute]).value).toFixed(this.digitPlaces) : ''
|
answer = obj.stats[imageToolAttribute] ? Number((obj.stats[imageToolAttribute]).value).toFixed(this.digitPlaces) : ''
|
||||||
|
|
|
||||||
|
|
@ -2070,12 +2070,12 @@ export default {
|
||||||
.merge-table {
|
.merge-table {
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
|
|
||||||
::v-deep.el-table {
|
::v-deep .el-table {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #383838;
|
color: #383838;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table td.el-table__cell,
|
::v-deep .el-table td.el-table__cell,
|
||||||
.el-table th.el-table__cell.is-leaf {
|
.el-table th.el-table__cell.is-leaf {
|
||||||
border-bottom: 1px solid #383838;
|
border-bottom: 1px solid #383838;
|
||||||
}
|
}
|
||||||
|
|
@ -2086,7 +2086,7 @@ export default {
|
||||||
background-color: #1e1e1e;
|
background-color: #1e1e1e;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__header-wrapper {
|
::v-deep .el-table__header-wrapper {
|
||||||
th {
|
th {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -2094,7 +2094,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__body-wrapper {
|
::v-deep .el-table__body-wrapper {
|
||||||
tr {
|
tr {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
|
|
@ -2105,7 +2105,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-table__empty-block {
|
::v-deep .el-table__empty-block {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -317,7 +317,7 @@ export default {
|
||||||
color: yellow;
|
color: yellow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep.el-button--text{
|
::v-deep .el-button--text{
|
||||||
color: #d0d0d0;
|
color: #d0d0d0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -494,7 +494,7 @@ export default {
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.medical-feedback-ir{
|
.medical-feedback-ir{
|
||||||
::v-deep.search {
|
::v-deep .search {
|
||||||
padding: 0px !important;
|
padding: 0px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -366,7 +366,7 @@ export default {
|
||||||
color: yellow;
|
color: yellow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep.el-button--text{
|
::v-deep .el-button--text{
|
||||||
color: #d0d0d0;
|
color: #d0d0d0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -161,16 +161,16 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.issues-form{
|
.issues-form{
|
||||||
::v-deep.el-radio-group{
|
::v-deep .el-radio-group{
|
||||||
width:300px;
|
width:300px;
|
||||||
}
|
}
|
||||||
::v-deep.el-textarea{
|
::v-deep .el-textarea{
|
||||||
width:300px;
|
width:300px;
|
||||||
}
|
}
|
||||||
::v-deep.el-input{
|
::v-deep .el-input{
|
||||||
width:300px;
|
width:300px;
|
||||||
}
|
}
|
||||||
::v-deep.el-select{
|
::v-deep .el-select{
|
||||||
width:300px;
|
width:300px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -297,7 +297,7 @@ export default {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
::v-deep.el-tabs{
|
::v-deep .el-tabs{
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -324,12 +324,12 @@ export default {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep.dialog-container{
|
::v-deep .dialog-container{
|
||||||
margin-top: 50px !important;
|
margin-top: 50px !important;
|
||||||
width:75%;
|
width:75%;
|
||||||
height:80%;
|
height:80%;
|
||||||
}
|
}
|
||||||
::v-deep.el-dialog__body{
|
::v-deep .el-dialog__body{
|
||||||
padding: 20px 20px 0 20px;
|
padding: 20px 20px 0 20px;
|
||||||
height: calc(100% - 70px);
|
height: calc(100% - 70px);
|
||||||
}
|
}
|
||||||
|
|
@ -339,7 +339,7 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.full-dialog-container{
|
.full-dialog-container{
|
||||||
::v-deep.is-fullscreen .el-dialog__body{
|
::v-deep .is-fullscreen .el-dialog__body{
|
||||||
height: calc(100% - 70px);
|
height: calc(100% - 70px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -884,7 +884,7 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.read-task-allocation {
|
.read-task-allocation {
|
||||||
::v-deep.search {
|
::v-deep .search {
|
||||||
padding: 0px !important;
|
padding: 0px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -548,7 +548,7 @@ export default {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|
||||||
::v-deep.search {
|
::v-deep .search {
|
||||||
padding: 0px !important;
|
padding: 0px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -408,7 +408,7 @@ export default {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|
||||||
::v-deep.search {
|
::v-deep .search {
|
||||||
padding: 0px !important;
|
padding: 0px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -466,7 +466,7 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.reread-task{
|
.reread-task{
|
||||||
::v-deep.search {
|
::v-deep .search {
|
||||||
padding: 0px !important;
|
padding: 0px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -246,7 +246,7 @@ export default {
|
||||||
border: 1px solid #607d8b !important;
|
border: 1px solid #607d8b !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-progress__text {
|
::v-deep .el-progress__text {
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
@ -295,7 +295,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-collapse {
|
::v-deep .el-collapse {
|
||||||
border: none;
|
border: none;
|
||||||
|
|
||||||
.el-collapse-item {
|
.el-collapse-item {
|
||||||
|
|
|
||||||
|
|
@ -221,12 +221,12 @@ export default {
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-collapse-item__header {
|
::v-deep .el-collapse-item__header {
|
||||||
background: #e5ecef;
|
background: #e5ecef;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep.el-collapse-item__content {
|
::v-deep .el-collapse-item__content {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -562,7 +562,7 @@ export default {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
padding: 0px 10px;
|
padding: 0px 10px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
::v-deep.search {
|
::v-deep .search {
|
||||||
padding: 0px !important;
|
padding: 0px !important;
|
||||||
}
|
}
|
||||||
::v-deep .el-tabs--border-card>.el-tabs__content {
|
::v-deep .el-tabs--border-card>.el-tabs__content {
|
||||||
|
|
|
||||||
|
|
@ -689,7 +689,7 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.reading-period {
|
.reading-period {
|
||||||
::v-deep.search {
|
::v-deep .search {
|
||||||
padding: 0px !important;
|
padding: 0px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -435,7 +435,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.menuSwitch {
|
.menuSwitch {
|
||||||
::v-deep.el-switch__core {
|
::v-deep .el-switch__core {
|
||||||
height: 14px;
|
height: 14px;
|
||||||
width: 28px !important;
|
width: 28px !important;
|
||||||
&::after {
|
&::after {
|
||||||
|
|
@ -446,7 +446,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.el-switch.is-checked {
|
.el-switch.is-checked {
|
||||||
::v-deep.el-switch__core {
|
::v-deep .el-switch__core {
|
||||||
height: 14px;
|
height: 14px;
|
||||||
width: 28px !important;
|
width: 28px !important;
|
||||||
&::after {
|
&::after {
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ module.exports = defineConfig({
|
||||||
|
|
||||||
'/api': {
|
'/api': {
|
||||||
target: 'http://106.14.89.110:30000',
|
target: 'http://106.14.89.110:30000',
|
||||||
// target: 'http://101.132.253.119:7010', // uat
|
// target: 'http://101.132.253.119:7010', // uat
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
secure: false,
|
secure: false,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
|
|
@ -99,7 +99,7 @@ module.exports = defineConfig({
|
||||||
]
|
]
|
||||||
}),
|
}),
|
||||||
// new BundleAnalyzerPlugin(),
|
// new BundleAnalyzerPlugin(),
|
||||||
process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'production' || process.env.VUE_APP_OSS_CONFIG_BUCKET === 'zyypacs-usa' ? function () { }
|
process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'production' || process.env.VUE_APP_OSS_CONFIG_BUCKET === 'zyypacs-usa' ? function() { }
|
||||||
: new WebpackAliyunOss({
|
: new WebpackAliyunOss({
|
||||||
from: ['./dist/**'],
|
from: ['./dist/**'],
|
||||||
dist: process.env.VUE_APP_OSS_PATH + distDate,
|
dist: process.env.VUE_APP_OSS_PATH + distDate,
|
||||||
|
|
@ -186,7 +186,7 @@ module.exports = defineConfig({
|
||||||
// 生成文件的最大体积
|
// 生成文件的最大体积
|
||||||
maxAssetSize: 3000000000,
|
maxAssetSize: 3000000000,
|
||||||
// 只给出js的性能提示
|
// 只给出js的性能提示
|
||||||
assetFilter: function (assetFileName) {
|
assetFilter: function(assetFileName) {
|
||||||
return assetFileName.endsWith('.js')
|
return assetFileName.endsWith('.js')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue