cornerstone3D库升级及其他文件调整
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
parent
0f50ff6ded
commit
4da35daa3c
292
.eslintrc.js
292
.eslintrc.js
|
@ -1,48 +1,58 @@
|
||||||
module.exports = {
|
module.exports = {
|
||||||
root: true,
|
root: true,
|
||||||
parserOptions: {
|
parserOptions: {
|
||||||
parser: 'babel-eslint',
|
parser: '@babel/eslint-parser',
|
||||||
sourceType: 'module'
|
sourceType: 'module'
|
||||||
},
|
},
|
||||||
globals: {
|
globals: {
|
||||||
"zzSessionStorage": true
|
'zzSessionStorage': true
|
||||||
},
|
},
|
||||||
env: {
|
env: {
|
||||||
browser: true,
|
browser: true,
|
||||||
node: true,
|
node: true,
|
||||||
es6: true
|
es6: true
|
||||||
},
|
},
|
||||||
extends: ["plugin:vue/recommended"],
|
extends: ['plugin:vue/recommended'],
|
||||||
|
|
||||||
// add your custom rules here
|
// add your custom rules here
|
||||||
// it is base on https://github.com/vuejs/eslint-config-vue
|
// it is base on https://github.com/vuejs/eslint-config-vue
|
||||||
rules: {
|
rules: {
|
||||||
"vue/max-attributes-per-line": [
|
// "rule-name": "off"
|
||||||
2,
|
// "vue/max-attributes-per-line": [
|
||||||
|
// 2,
|
||||||
|
// {
|
||||||
|
// singleline: 10,
|
||||||
|
// multiline: {
|
||||||
|
// max: 1,
|
||||||
|
// allowFirstLine: false
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
'vue/max-attributes-per-line': [
|
||||||
|
'error',
|
||||||
{
|
{
|
||||||
singleline: 10,
|
singleline: 10,
|
||||||
multiline: {
|
multiline: {
|
||||||
max: 1,
|
max: 1
|
||||||
allowFirstLine: false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"vue/singleline-html-element-content-newline": "off",
|
'vue/singleline-html-element-content-newline': 'off',
|
||||||
"vue/multiline-html-element-content-newline": "off",
|
'vue/multiline-html-element-content-newline': 'off',
|
||||||
"vue/name-property-casing": ["error", "PascalCase"],
|
'vue/name-property-casing': ['error', 'PascalCase'],
|
||||||
"vue/no-v-html": "off",
|
'vue/no-v-html': 'off',
|
||||||
"accessor-pairs": 2,
|
'accessor-pairs': 2,
|
||||||
"arrow-spacing": [
|
'arrow-spacing': [
|
||||||
2,
|
2,
|
||||||
{
|
{
|
||||||
before: true,
|
before: true,
|
||||||
after: true
|
after: true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"block-spacing": [2, "always"],
|
'block-spacing': [2, 'always'],
|
||||||
"brace-style": [
|
'brace-style': [
|
||||||
2,
|
2,
|
||||||
"1tbs",
|
'1tbs',
|
||||||
{
|
{
|
||||||
allowSingleLine: true
|
allowSingleLine: true
|
||||||
}
|
}
|
||||||
|
@ -50,31 +60,31 @@ module.exports = {
|
||||||
camelcase: [
|
camelcase: [
|
||||||
0,
|
0,
|
||||||
{
|
{
|
||||||
properties: "always"
|
properties: 'always'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"comma-dangle": [2, "never"],
|
'comma-dangle': [2, 'never'],
|
||||||
"comma-spacing": [
|
'comma-spacing': [
|
||||||
2,
|
2,
|
||||||
{
|
{
|
||||||
before: false,
|
before: false,
|
||||||
after: true
|
after: true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"comma-style": [2, "last"],
|
'comma-style': [2, 'last'],
|
||||||
"constructor-super": 2,
|
'constructor-super': 2,
|
||||||
curly: [2, "multi-line"],
|
curly: [2, 'multi-line'],
|
||||||
"dot-location": [2, "property"],
|
'dot-location': [2, 'property'],
|
||||||
"eol-last": 2,
|
'eol-last': 2,
|
||||||
eqeqeq: ["error", "always", { null: "ignore" }],
|
eqeqeq: ['error', 'always', { null: 'ignore' }],
|
||||||
"generator-star-spacing": [
|
'generator-star-spacing': [
|
||||||
2,
|
2,
|
||||||
{
|
{
|
||||||
before: true,
|
before: true,
|
||||||
after: true
|
after: true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"handle-callback-err": [2, "^(err|error)$"],
|
'handle-callback-err': [2, '^(err|error)$'],
|
||||||
indent: [
|
indent: [
|
||||||
2,
|
2,
|
||||||
2,
|
2,
|
||||||
|
@ -82,197 +92,197 @@ module.exports = {
|
||||||
SwitchCase: 1
|
SwitchCase: 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"jsx-quotes": [2, "prefer-single"],
|
'jsx-quotes': [2, 'prefer-single'],
|
||||||
"key-spacing": [
|
'key-spacing': [
|
||||||
2,
|
2,
|
||||||
{
|
{
|
||||||
beforeColon: false,
|
beforeColon: false,
|
||||||
afterColon: true
|
afterColon: true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"keyword-spacing": [
|
'keyword-spacing': [
|
||||||
2,
|
2,
|
||||||
{
|
{
|
||||||
before: true,
|
before: true,
|
||||||
after: true
|
after: true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"new-cap": [
|
'new-cap': [
|
||||||
2,
|
2,
|
||||||
{
|
{
|
||||||
newIsCap: true,
|
newIsCap: true,
|
||||||
capIsNew: false
|
capIsNew: false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"new-parens": 2,
|
'new-parens': 2,
|
||||||
"no-array-constructor": 2,
|
'no-array-constructor': 2,
|
||||||
"no-caller": 2,
|
'no-caller': 2,
|
||||||
"no-console": "off",
|
'no-console': 'off',
|
||||||
"no-class-assign": 2,
|
'no-class-assign': 2,
|
||||||
"no-cond-assign": 2,
|
'no-cond-assign': 2,
|
||||||
"no-const-assign": 2,
|
'no-const-assign': 2,
|
||||||
"no-control-regex": 0,
|
'no-control-regex': 0,
|
||||||
"no-delete-var": 2,
|
'no-delete-var': 2,
|
||||||
"no-dupe-args": 2,
|
'no-dupe-args': 2,
|
||||||
"no-dupe-class-members": 2,
|
'no-dupe-class-members': 2,
|
||||||
"no-dupe-keys": 2,
|
'no-dupe-keys': 2,
|
||||||
"no-duplicate-case": 2,
|
'no-duplicate-case': 2,
|
||||||
"no-empty-character-class": 2,
|
'no-empty-character-class': 2,
|
||||||
"no-empty-pattern": 2,
|
'no-empty-pattern': 2,
|
||||||
"no-eval": 2,
|
'no-eval': 2,
|
||||||
"no-ex-assign": 2,
|
'no-ex-assign': 2,
|
||||||
"no-extend-native": 2,
|
'no-extend-native': 2,
|
||||||
"no-extra-bind": 2,
|
'no-extra-bind': 2,
|
||||||
"no-extra-boolean-cast": 2,
|
'no-extra-boolean-cast': 2,
|
||||||
"no-extra-parens": [2, "functions"],
|
'no-extra-parens': [2, 'functions'],
|
||||||
"no-fallthrough": 2,
|
'no-fallthrough': 2,
|
||||||
"no-floating-decimal": 2,
|
'no-floating-decimal': 2,
|
||||||
"no-func-assign": 2,
|
'no-func-assign': 2,
|
||||||
"no-implied-eval": 2,
|
'no-implied-eval': 2,
|
||||||
"no-inner-declarations": [2, "functions"],
|
'no-inner-declarations': [2, 'functions'],
|
||||||
"no-invalid-regexp": 2,
|
'no-invalid-regexp': 2,
|
||||||
"no-irregular-whitespace": 2,
|
'no-irregular-whitespace': 2,
|
||||||
"no-iterator": 2,
|
'no-iterator': 2,
|
||||||
"no-label-var": 2,
|
'no-label-var': 2,
|
||||||
"no-labels": [
|
'no-labels': [
|
||||||
2,
|
2,
|
||||||
{
|
{
|
||||||
allowLoop: false,
|
allowLoop: false,
|
||||||
allowSwitch: false
|
allowSwitch: false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"no-lone-blocks": 2,
|
'no-lone-blocks': 2,
|
||||||
"no-mixed-spaces-and-tabs": 2,
|
'no-mixed-spaces-and-tabs': 2,
|
||||||
"no-multi-spaces": 2,
|
'no-multi-spaces': 2,
|
||||||
"no-multi-str": 2,
|
'no-multi-str': 2,
|
||||||
"no-multiple-empty-lines": [
|
'no-multiple-empty-lines': [
|
||||||
2,
|
2,
|
||||||
{
|
{
|
||||||
max: 1
|
max: 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"no-native-reassign": 2,
|
'no-native-reassign': 2,
|
||||||
"no-negated-in-lhs": 2,
|
'no-negated-in-lhs': 2,
|
||||||
"no-new-object": 2,
|
'no-new-object': 2,
|
||||||
"no-new-require": 2,
|
'no-new-require': 2,
|
||||||
"no-new-symbol": 2,
|
'no-new-symbol': 2,
|
||||||
"no-new-wrappers": 2,
|
'no-new-wrappers': 2,
|
||||||
"no-obj-calls": 2,
|
'no-obj-calls': 2,
|
||||||
"no-octal": 2,
|
'no-octal': 2,
|
||||||
"no-octal-escape": 2,
|
'no-octal-escape': 2,
|
||||||
"no-path-concat": 2,
|
'no-path-concat': 2,
|
||||||
"no-proto": 2,
|
'no-proto': 2,
|
||||||
"no-redeclare": 2,
|
'no-redeclare': 2,
|
||||||
"no-regex-spaces": 2,
|
'no-regex-spaces': 2,
|
||||||
"no-return-assign": [2, "except-parens"],
|
'no-return-assign': [2, 'except-parens'],
|
||||||
"no-self-assign": 2,
|
'no-self-assign': 2,
|
||||||
"no-self-compare": 2,
|
'no-self-compare': 2,
|
||||||
"no-sequences": 2,
|
'no-sequences': 2,
|
||||||
"no-shadow-restricted-names": 2,
|
'no-shadow-restricted-names': 2,
|
||||||
"no-spaced-func": 2,
|
'no-spaced-func': 2,
|
||||||
"no-sparse-arrays": 2,
|
'no-sparse-arrays': 2,
|
||||||
"no-this-before-super": 2,
|
'no-this-before-super': 2,
|
||||||
"no-throw-literal": 2,
|
'no-throw-literal': 2,
|
||||||
"no-trailing-spaces": 2,
|
'no-trailing-spaces': 2,
|
||||||
"no-undef": 2,
|
'no-undef': 2,
|
||||||
"no-undef-init": 2,
|
'no-undef-init': 2,
|
||||||
"no-unexpected-multiline": 2,
|
'no-unexpected-multiline': 2,
|
||||||
"no-unmodified-loop-condition": 2,
|
'no-unmodified-loop-condition': 2,
|
||||||
"no-unneeded-ternary": [
|
'no-unneeded-ternary': [
|
||||||
2,
|
2,
|
||||||
{
|
{
|
||||||
defaultAssignment: false
|
defaultAssignment: false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"no-unreachable": 2,
|
'no-unreachable': 2,
|
||||||
"no-unsafe-finally": 2,
|
'no-unsafe-finally': 2,
|
||||||
"no-unused-vars": [
|
'no-unused-vars': [
|
||||||
2,
|
2,
|
||||||
{
|
{
|
||||||
vars: "all",
|
vars: 'all',
|
||||||
args: "none"
|
args: 'none'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"no-useless-call": 2,
|
'no-useless-call': 2,
|
||||||
"no-useless-computed-key": 2,
|
'no-useless-computed-key': 2,
|
||||||
"no-useless-constructor": 2,
|
'no-useless-constructor': 2,
|
||||||
"no-useless-escape": 0,
|
'no-useless-escape': 0,
|
||||||
"no-whitespace-before-property": 2,
|
'no-whitespace-before-property': 2,
|
||||||
"no-with": 2,
|
'no-with': 2,
|
||||||
"one-var": [
|
'one-var': [
|
||||||
2,
|
2,
|
||||||
{
|
{
|
||||||
initialized: "never"
|
initialized: 'never'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"operator-linebreak": [
|
'operator-linebreak': [
|
||||||
2,
|
2,
|
||||||
"after",
|
'after',
|
||||||
{
|
{
|
||||||
overrides: {
|
overrides: {
|
||||||
"?": "before",
|
'?': 'before',
|
||||||
":": "before"
|
':': 'before'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"padded-blocks": [2, "never"],
|
'padded-blocks': [2, 'never'],
|
||||||
quotes: [
|
quotes: [
|
||||||
2,
|
2,
|
||||||
"single",
|
'single',
|
||||||
{
|
{
|
||||||
avoidEscape: true,
|
avoidEscape: true,
|
||||||
allowTemplateLiterals: true
|
allowTemplateLiterals: true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
semi: [2, "never"],
|
semi: [2, 'never'],
|
||||||
"semi-spacing": [
|
'semi-spacing': [
|
||||||
2,
|
2,
|
||||||
{
|
{
|
||||||
before: false,
|
before: false,
|
||||||
after: true
|
after: true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"space-before-blocks": [2, "always"],
|
'space-before-blocks': [2, 'always'],
|
||||||
"space-before-function-paren": [2, "never"],
|
'space-before-function-paren': [2, 'never'],
|
||||||
"space-in-parens": [2, "never"],
|
'space-in-parens': [2, 'never'],
|
||||||
"space-infix-ops": 2,
|
'space-infix-ops': 2,
|
||||||
"space-unary-ops": [
|
'space-unary-ops': [
|
||||||
2,
|
2,
|
||||||
{
|
{
|
||||||
words: true,
|
words: true,
|
||||||
nonwords: false
|
nonwords: false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"spaced-comment": [
|
'spaced-comment': [
|
||||||
2,
|
2,
|
||||||
"always",
|
'always',
|
||||||
{
|
{
|
||||||
markers: [
|
markers: [
|
||||||
"global",
|
'global',
|
||||||
"globals",
|
'globals',
|
||||||
"eslint",
|
'eslint',
|
||||||
"eslint-disable",
|
'eslint-disable',
|
||||||
"*package",
|
'*package',
|
||||||
"!",
|
'!',
|
||||||
","
|
','
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"template-curly-spacing": [2, "never"],
|
'template-curly-spacing': [2, 'never'],
|
||||||
"use-isnan": 2,
|
'use-isnan': 2,
|
||||||
"valid-typeof": 2,
|
'valid-typeof': 2,
|
||||||
"wrap-iife": [2, "any"],
|
'wrap-iife': [2, 'any'],
|
||||||
"yield-star-spacing": [2, "both"],
|
'yield-star-spacing': [2, 'both'],
|
||||||
yoda: [2, "never"],
|
yoda: [2, 'never'],
|
||||||
"prefer-const": 2,
|
'prefer-const': 2,
|
||||||
// "no-debugger": process.env.NODE_ENV === "production" ? 2 : 0,
|
// "no-debugger": process.env.NODE_ENV === "production" ? 2 : 0,
|
||||||
"object-curly-spacing": [
|
'object-curly-spacing': [
|
||||||
2,
|
2,
|
||||||
"always",
|
'always',
|
||||||
{
|
{
|
||||||
objectsInObjects: false
|
objectsInObjects: false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"array-bracket-spacing": [2, "never"]
|
'array-bracket-spacing': [2, 'never']
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
module.exports = {
|
module.exports = {
|
||||||
presets: [
|
presets: [
|
||||||
'@vue/cli-plugin-babel/preset',
|
// '@vue/cli-plugin-babel/preset',
|
||||||
|
// ["@babel/preset-env", { "modules": false }]
|
||||||
'@babel/preset-env'
|
'@babel/preset-env'
|
||||||
],
|
],
|
||||||
plugins: [
|
plugins: [
|
||||||
'@babel/plugin-proposal-optional-chaining',
|
'@vue/babel-plugin-transform-vue-jsx'
|
||||||
'@babel/plugin-proposal-nullish-coalescing-operator'
|
// '@babel/plugin-proposal-optional-chaining',
|
||||||
|
// '@babel/plugin-proposal-nullish-coalescing-operator'
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
136
package.json
136
package.json
|
@ -14,23 +14,20 @@
|
||||||
"i18n:en": "node i18nGenerate.js lang=en keyCol=5 valCol=7"
|
"i18n:en": "node i18nGenerate.js lang=en keyCol=5 valCol=7"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-sdk/client-s3": "^3.370.0",
|
"@aws-sdk/client-s3": "^3.701.0",
|
||||||
|
"@cornerstonejs/adapters": "^2.19.7",
|
||||||
"@cornerstonejs/calculate-suv": "^1.1.0",
|
"@cornerstonejs/calculate-suv": "^1.1.0",
|
||||||
"@cornerstonejs/core": "^1.27.4",
|
"@cornerstonejs/core": "^2.19.7",
|
||||||
"@cornerstonejs/dicom-image-loader": "^1.27.4",
|
"@cornerstonejs/dicom-image-loader": "^2.19.7",
|
||||||
"@cornerstonejs/streaming-image-volume-loader": "1.23.2",
|
"@cornerstonejs/tools": "^2.19.7",
|
||||||
"@cornerstonejs/tools": "^1.27.4",
|
"@icr/polyseg-wasm": "^0.4.0",
|
||||||
"@ffmpeg/core": "^0.10.0",
|
"@microsoft/signalr": "^8.0.7",
|
||||||
"@ffmpeg/ffmpeg": "^0.10.1",
|
"@riophae/vue-treeselect": "^0.4.0",
|
||||||
"@microsoft/signalr": "^6.0.8",
|
|
||||||
"@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",
|
"@vue/composition-api": "^1.7.2",
|
||||||
"ali-oss": "^6.17.1",
|
"ali-oss": "^6.17.1",
|
||||||
"axios": "0.18.1",
|
"axios": "^0.18.1",
|
||||||
"babel-eslint": "7.2.3",
|
|
||||||
"copy-webpack-plugin": "^4.5.2",
|
|
||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
"cornerstone-core": "^2.6.1",
|
"cornerstone-core": "^2.6.1",
|
||||||
"cornerstone-math": "^0.1.10",
|
"cornerstone-math": "^0.1.10",
|
||||||
|
@ -41,67 +38,68 @@
|
||||||
"dicom-parser": "^1.8.9",
|
"dicom-parser": "^1.8.9",
|
||||||
"dicomedit": "^0.1.0",
|
"dicomedit": "^0.1.0",
|
||||||
"echarts": "^4.8.0",
|
"echarts": "^4.8.0",
|
||||||
"element-ui": "^2.15.8",
|
"element-ui": "^2.15.14",
|
||||||
"exceljs": "^4.1.0",
|
"exceljs": "^4.4.0",
|
||||||
"file-saver": "^2.0.5",
|
"file-saver": "^2.0.5",
|
||||||
"hammerjs": "^2.0.8",
|
"hammerjs": "^2.0.8",
|
||||||
"html2canvas": "^1.4.1",
|
"html2canvas": "^1.4.1",
|
||||||
"js-md5": "^0.7.3",
|
"js-md5": "^0.8.3",
|
||||||
"jsencrypt": "^3.3.2",
|
"jsencrypt": "^3.3.2",
|
||||||
"jszip": "^3.7.1",
|
"jszip": "^3.10.1",
|
||||||
"moment": "^2.27.0",
|
"minio": "^7.1.3",
|
||||||
"node-polyfill-webpack-plugin": "^2.0.1",
|
"moment": "^2.30.1",
|
||||||
"node-sass": "^4.14.1",
|
"moment-timezone": "^0.5.46",
|
||||||
"normalize.css": "7.0.0",
|
"node-xlsx": "^0.24.0",
|
||||||
"nprogress": "0.2.0",
|
"normalize.css": "^8.0.1",
|
||||||
"path-to-regexp": "2.4.0",
|
"nprogress": "^0.2.0",
|
||||||
"pdfobject": "^2.2.8",
|
"path-to-regexp": "^0.1.10",
|
||||||
"popper.js": "^1.16.1",
|
"pdfobject": "^2.3.0",
|
||||||
"qrcodejs2": "0.0.2",
|
"qrcodejs2": "^0.0.2",
|
||||||
"sass-loader": "^8.0.0",
|
"screenfull": "^6.0.2",
|
||||||
"screenfull": "^4.2.0",
|
"sortablejs": "^1.15.5",
|
||||||
"sortablejs": "^1.15.0",
|
|
||||||
"streamsaver": "^2.0.6",
|
"streamsaver": "^2.0.6",
|
||||||
"v-viewer": "^1.6.4",
|
"svg-sprite-loader": "^4.1.3",
|
||||||
|
"svgo": "^1.2.2",
|
||||||
|
"v-viewer": "^1.7.4",
|
||||||
"vcrontab": "^0.3.5",
|
"vcrontab": "^0.3.5",
|
||||||
"vue": "^2.6.11",
|
"vue": "^2.6.14",
|
||||||
"vue-clipboard2": "^0.3.1",
|
"vue-clipboard2": "^0.3.3",
|
||||||
"vue-contextmenujs": "^1.3.13",
|
"vue-contextmenujs": "^1.4.11",
|
||||||
"vue-count-to": "^1.0.13",
|
"vue-count-to": "^1.0.13",
|
||||||
"vue-demi": "^0.14.6",
|
"vue-demi": "^0.14.10",
|
||||||
"vue-i18n": "^8.7.0",
|
"vue-i18n": "^8.28.2",
|
||||||
"vue-pdf": "^4.3.0",
|
|
||||||
"vue-puzzle-vcode": "^1.1.10",
|
"vue-puzzle-vcode": "^1.1.10",
|
||||||
"vue-router": "3.0.6",
|
"vue-router": "^3.0.6",
|
||||||
"vue-seamless-scroll": "^1.1.21",
|
"vue-seamless-scroll": "^1.1.23",
|
||||||
"vuedraggable": "^2.24.3",
|
"vuedraggable": "^2.24.3",
|
||||||
"vuex": "3.1.0",
|
"vuex": "^3.1.0",
|
||||||
"webpack-aliyun-oss": "^0.4.9"
|
"webpack-aliyun-oss": "^0.3.13"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
|
"@babel/core": "^7.12.16",
|
||||||
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
|
"@babel/eslint-parser": "^7.12.16",
|
||||||
"@vue/cli-plugin-babel": "~4.5.4",
|
"@babel/plugin-transform-class-static-block": "^7.26.0",
|
||||||
"@vue/cli-plugin-eslint": "~4.5.4",
|
"@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
|
||||||
"@vue/cli-service": "~4.5.4",
|
"@vue/cli-plugin-babel": "~5.0.0",
|
||||||
"autoprefixer": "^9.5.1",
|
"@vue/cli-plugin-eslint": "~5.0.0",
|
||||||
"aws-sdk": "^2.1532.0",
|
"@vue/cli-service": "~5.0.0",
|
||||||
"babel-eslint": "^10.1.0",
|
"autoprefixer": "^10.4.20",
|
||||||
"chalk": "2.4.2",
|
"clean-webpack-plugin": "^4.0.0",
|
||||||
"connect": "3.6.6",
|
"copy-webpack-plugin": "^12.0.2",
|
||||||
"eslint": "^6.7.2",
|
"css-minimizer-webpack-plugin": "^7.0.0",
|
||||||
"eslint-plugin-vue": "^6.2.2",
|
"eslint": "^7.32.0",
|
||||||
"html-webpack-plugin": "3.2.0",
|
"eslint-plugin-vue": "^8.0.3",
|
||||||
"minio": "^7.1.3",
|
"html-webpack-plugin": "^5.6.3",
|
||||||
"moment-timezone": "^0.5.45",
|
"mini-css-extract-plugin": "^2.9.2",
|
||||||
"node-xlsx": "^0.21.0",
|
"node-polyfill-webpack-plugin": "^4.0.0",
|
||||||
"runjs": "^4.3.2",
|
"path-browserify": "^1.0.1",
|
||||||
"script-ext-html-webpack-plugin": "2.1.3",
|
"process": "^0.11.10",
|
||||||
"script-loader": "0.7.2",
|
"sass": "^1.63.2",
|
||||||
"serve-static": "^1.13.2",
|
"sass-loader": "^10.4.1",
|
||||||
"svg-sprite-loader": "4.1.3",
|
"terser-webpack-plugin": "^5.3.10",
|
||||||
"svgo": "1.2.2",
|
"vue-template-compiler": "^2.6.14",
|
||||||
"vue-template-compiler": "^2.6.11"
|
"webpack": "^5.96.1",
|
||||||
|
"webpack-bundle-analyzer": "^4.10.2"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
"root": true,
|
"root": true,
|
||||||
|
@ -109,19 +107,19 @@
|
||||||
"node": true
|
"node": true
|
||||||
},
|
},
|
||||||
"extends": [
|
"extends": [
|
||||||
"plugin:vue/essential"
|
"plugin:vue/essential",
|
||||||
|
"eslint:recommended"
|
||||||
],
|
],
|
||||||
"parserOptions": {
|
"parserOptions": {
|
||||||
"parser": "babel-eslint"
|
"parser": "@babel/eslint-parser",
|
||||||
|
"requireConfigFile": false
|
||||||
},
|
},
|
||||||
"rules": {}
|
"rules": {}
|
||||||
},
|
},
|
||||||
"engines": {
|
|
||||||
"node": ">=8.9",
|
|
||||||
"npm": ">= 3.0.0"
|
|
||||||
},
|
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"> 1%",
|
"> 1%",
|
||||||
"last 2 versions"
|
"last 2 versions",
|
||||||
|
"not dead",
|
||||||
|
"not op_mini all"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -593,7 +593,7 @@ export default {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.my_dialog{
|
.my_dialog{
|
||||||
.criterion-form-item{
|
.criterion-form-item{
|
||||||
>>>.el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -614,7 +614,7 @@ export default {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.disabled{
|
.disabled{
|
||||||
>>>.el-upload--picture-card {
|
::v-deep .el-upload--picture-card {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -222,7 +222,7 @@ export default {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.my_dialog{
|
.my_dialog{
|
||||||
.criterion-form-item{
|
.criterion-form-item{
|
||||||
>>>.el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -233,7 +233,7 @@ export default {
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
>>>.el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
width: 500px;
|
width: 500px;
|
||||||
}
|
}
|
||||||
.el-input{
|
.el-input{
|
||||||
|
@ -243,7 +243,7 @@ export default {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.disabled{
|
.disabled{
|
||||||
>>>.el-upload--picture-card {
|
::v-deep .el-upload--picture-card {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,11 +112,11 @@ export default {
|
||||||
margin: auto;
|
margin: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .el-radio__original {
|
::v-deep .el-radio__original {
|
||||||
display: none !important; /* 隐藏原生 radio 输入,但仍然允许交互 */
|
display: none !important; /* 隐藏原生 radio 输入,但仍然允许交互 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import Logo from './Logo'
|
import Logo from './Logo'
|
||||||
import SidebarItem from './SidebarItem'
|
import SidebarItem from './SidebarItem'
|
||||||
import variables from '@/styles/variables.scss'
|
import variables from '@/styles/variables.module.scss'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { SidebarItem, Logo },
|
components: { SidebarItem, Logo },
|
||||||
|
|
|
@ -73,7 +73,7 @@ export default {
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
/deep/ {
|
::v-deep {
|
||||||
.el-scrollbar__bar {
|
.el-scrollbar__bar {
|
||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,7 +57,7 @@ export default {
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "~@/styles/mixin.scss";
|
@import "~@/styles/mixin.scss";
|
||||||
@import "~@/styles/variables.scss";
|
@import "~@/styles/variables.module.scss";
|
||||||
|
|
||||||
.app-wrapper {
|
.app-wrapper {
|
||||||
@include clearfix;
|
@include clearfix;
|
||||||
|
|
|
@ -50,6 +50,11 @@ export const constantRoutes = [
|
||||||
component: () => import('@/views/login/index'),
|
component: () => import('@/views/login/index'),
|
||||||
hidden: true
|
hidden: true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/test',
|
||||||
|
component: () => import('@/views/test/index'),
|
||||||
|
hidden: true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/resetpassword',
|
path: '/resetpassword',
|
||||||
component: () => import('@/views/forgetpassword/index'),
|
component: () => import('@/views/forgetpassword/index'),
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
@import "./variables.scss";
|
@import "./variables.module.scss";
|
||||||
@import "./mixin.scss";
|
@import "./mixin.scss";
|
||||||
@import "./transition.scss";
|
@import "./transition.scss";
|
||||||
@import "./element-ui.scss";
|
@import "./element-ui.scss";
|
||||||
|
|
|
@ -71,29 +71,49 @@ $sideBarWidth: 200px;
|
||||||
border: none;
|
border: none;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
|
background-color: $menuBg;
|
||||||
}
|
}
|
||||||
|
|
||||||
// menu hover
|
// menu hover
|
||||||
.submenu-title-noDropdown,
|
.submenu-title-noDropdown,
|
||||||
.el-submenu__title {
|
.el-submenu__title {
|
||||||
|
color: $menuText !important;
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: $menuHover !important;
|
background-color: $menuHover !important;
|
||||||
|
color: $menuActiveText !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.is-active>.el-submenu__title {
|
.is-active>.el-submenu__title {
|
||||||
color: $subMenuActiveText !important;
|
color: $subMenuActiveText !important;
|
||||||
}
|
}
|
||||||
|
.el-menu-item {
|
||||||
& .nest-menu .el-submenu>.el-submenu__title,
|
color: $menuText !important;
|
||||||
& .el-submenu .el-menu-item {
|
}
|
||||||
|
.el-menu-item:focus,
|
||||||
|
.el-menu-item:hover {
|
||||||
|
background-color: $subMenuBg !important;
|
||||||
|
color: $menuActiveText !important;
|
||||||
|
}
|
||||||
|
.el-submenu .el-menu-item {
|
||||||
min-width: $sideBarWidth !important;
|
min-width: $sideBarWidth !important;
|
||||||
background-color: $subMenuBg !important;
|
background-color: $subMenuBg !important;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: $subMenuHover !important;
|
background-color: $subMenuHover !important;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// &.nest-menu .el-submenu>.el-submenu__title,
|
||||||
|
// &.el-submenu .el-menu-item {
|
||||||
|
// min-width: $sideBarWidth !important;
|
||||||
|
// background-color: $subMenuBg !important;
|
||||||
|
|
||||||
|
// &:hover {
|
||||||
|
// background-color: $subMenuHover !important;
|
||||||
|
|
||||||
|
// }
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
.hideSidebar {
|
.hideSidebar {
|
||||||
|
|
|
@ -27,7 +27,7 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
/deep/ .el-collapse-item__header{
|
::v-deep .el-collapse-item__header{
|
||||||
background-color: #e9eef1;
|
background-color: #e9eef1;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -195,7 +195,7 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
/deep/ .el-collapse-item__header{
|
::v-deep .el-collapse-item__header{
|
||||||
background-color: #e9eef1;
|
background-color: #e9eef1;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="form.Id !== ''" label="是否废除: ">
|
<el-form-item v-if="form.Id !== ''" label="是否废除: ">
|
||||||
<el-radio-group v-model="form.IsDeleted">
|
<el-radio-group v-model="form.IsDeleted">
|
||||||
<el-radio v-for="item of $d.YesOrNo" :label="item.value">{{ item.label }}</el-radio>
|
<el-radio v-for="item of $d.YesOrNo" :key="`IsDeleted${item.value}`" :label="item.value">{{ item.label }}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="描述">
|
<el-form-item label="描述">
|
||||||
|
|
|
@ -78,7 +78,7 @@
|
||||||
<el-form-item v-if="form.Id !== ''" label="是否废除: ">
|
<el-form-item v-if="form.Id !== ''" label="是否废除: ">
|
||||||
<el-radio-group v-model="form.IsDeleted">
|
<el-radio-group v-model="form.IsDeleted">
|
||||||
|
|
||||||
<el-radio v-for="item of $d.YesOrNo" :label="item.value">{{ item.label }}</el-radio>
|
<el-radio v-for="item of $d.YesOrNo" :key="`IsDeleted${item.value}`" :label="item.value">{{ item.label }}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="描述">
|
<el-form-item label="描述">
|
||||||
|
|
|
@ -1,411 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="app-container my_menu">
|
|
||||||
<el-form :inline="true">
|
|
||||||
<el-form-item label="操作名">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.menuName"
|
|
||||||
placeholder="请输入操作名"
|
|
||||||
clearable
|
|
||||||
size="small"
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="模块">
|
|
||||||
<el-select v-model="queryParams.visible" placeholder="模块" clearable size="small" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
||||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
<div>
|
|
||||||
<el-button
|
|
||||||
type="info"
|
|
||||||
plain
|
|
||||||
icon="el-icon-sort"
|
|
||||||
size="mini"
|
|
||||||
@click="toggleExpandAll"
|
|
||||||
>展开/折叠</el-button>
|
|
||||||
</div>
|
|
||||||
<el-table
|
|
||||||
v-if="refreshTable"
|
|
||||||
v-loading="loading"
|
|
||||||
:data="menuList"
|
|
||||||
:default-expand-all="isExpandAll"
|
|
||||||
row-key="Id"
|
|
||||||
:tree-props="{children: 'Children', hasChildren: 'hasChildren'}"
|
|
||||||
>
|
|
||||||
<el-table-column prop="ModuleTypeValueCN" label="模块" align="left" min-width="230px" />
|
|
||||||
<el-table-column prop="OptTypeValueCN" label="操作类型" min-width="120px" />
|
|
||||||
<el-table-column prop="ChildrenTypeValueCN" label="操作子类" min-width="120px" show-overflow-tooltip />
|
|
||||||
<el-table-column prop="Description" label="操作名称" :show-overflow-tooltip="true" min-width="200px" />
|
|
||||||
<el-table-column prop="Code" label="字段名" min-width="120px" :show-overflow-tooltip="true" />
|
|
||||||
<el-table-column prop="Value" label="字段英文" min-width="120px" :show-overflow-tooltip="true" />
|
|
||||||
<el-table-column prop="ValueCN" label="字段中文" min-width="120px" :show-overflow-tooltip="true" />
|
|
||||||
<el-table-column label="启用" align="center" prop="CreateTime" min-width="80">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-tag v-if="scope.row.IsEnable" size="success">启用</el-tag>
|
|
||||||
<el-tag v-else size="danger">禁用</el-tag>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="是否使用父数据" align="center" prop="CreateTime" min-width="130">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-tag v-if="scope.row.IsShowParent" size="success">父数据</el-tag>
|
|
||||||
<el-tag v-else size="danger">子数据</el-tag>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作" align="center" min-width="180" class-name="small-padding fixed-width">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button
|
|
||||||
size="mini"
|
|
||||||
type="text"
|
|
||||||
icon="el-icon-edit"
|
|
||||||
@click="handleUpdate(scope.row)"
|
|
||||||
>修改</el-button>
|
|
||||||
<el-button
|
|
||||||
size="mini"
|
|
||||||
type="text"
|
|
||||||
v-if="scope.row.ConfigType === 'M'"
|
|
||||||
icon="el-icon-plus"
|
|
||||||
@click="handleAdd(scope.row)"
|
|
||||||
>新增</el-button>
|
|
||||||
<el-button
|
|
||||||
size="mini"
|
|
||||||
type="text"
|
|
||||||
icon="el-icon-delete"
|
|
||||||
@click="handleDelete(scope.row)"
|
|
||||||
>删除</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
|
|
||||||
<!-- 添加或修改菜单对话框 -->
|
|
||||||
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="680px" append-to-body>
|
|
||||||
<el-form ref="form" :model="form" label-width="100px">
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="24">
|
|
||||||
<el-form-item label="选择操作">
|
|
||||||
<treeselect
|
|
||||||
v-model="form.ParentId"
|
|
||||||
:options="menuOptions"
|
|
||||||
:normalizer="normalizer"
|
|
||||||
:show-count="true"
|
|
||||||
placeholder="选择上级操作"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12" v-show="form.ConfigType === 'M'">
|
|
||||||
<el-form-item label="模块" prop="menuType">
|
|
||||||
<el-select v-model="form.ModuleTypeId" placeholder="模块" clearable size="small" @change="changeDescription">
|
|
||||||
<el-option v-for="item of dict.type.ModuleType" :value="item.value" :label="item.raw.ValueCN"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12" v-show="form.ConfigType === 'M'">
|
|
||||||
<el-form-item label="操作类型" prop="menuType">
|
|
||||||
<el-select v-model="form.OptTypeId" placeholder="操作类型" clearable size="small" @change="changeDescription">
|
|
||||||
<el-option v-for="item of dict.type.OptType" :value="item.value" :label="item.raw.ValueCN"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12" v-show="form.ConfigType === 'M'">
|
|
||||||
<el-form-item label="操作子类" prop="menuType">
|
|
||||||
<el-select v-model="form.ChildrenTypeId" placeholder="操作子类" clearable size="small" @change="changeDescription">
|
|
||||||
<el-option v-for="item of dict.type.ChildrenType" :value="item.value" :label="item.raw.ValueCN"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12" v-show="form.ConfigType == 'M'">
|
|
||||||
<el-form-item label="名称" prop="Description">
|
|
||||||
<el-input v-model="form.Description" placeholder="请输入名称" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="显示排序" prop="ShowOrder">
|
|
||||||
<el-input-number v-model="form.Sort" controls-position="right" :min="0" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item>
|
|
||||||
<span slot="label">
|
|
||||||
是否启用
|
|
||||||
</span>
|
|
||||||
<el-switch
|
|
||||||
v-model="form.IsEnable"
|
|
||||||
:active-value="true"
|
|
||||||
:inactive-value="false"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12" v-show="form.ConfigType === 'C'">
|
|
||||||
<el-form-item>
|
|
||||||
<span slot="label">
|
|
||||||
继承父数据
|
|
||||||
</span>
|
|
||||||
<el-switch
|
|
||||||
v-model="form.IsShowParent"
|
|
||||||
:active-value="true"
|
|
||||||
:inactive-value="false"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="24" v-show="form.ConfigType === 'C'">
|
|
||||||
<el-form-item label="字段key">
|
|
||||||
<el-input v-model="form.Code" placeholder="请输入字段key" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12" v-show="form.ConfigType === 'C'">
|
|
||||||
<el-form-item label="字段英文">
|
|
||||||
<el-input v-model="form.Value" placeholder="请输入字段英文" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12" v-show="form.ConfigType === 'C'">
|
|
||||||
<el-form-item label="字段中文">
|
|
||||||
<el-input v-model="form.ValueCN" placeholder="请输入字段中文" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="24" v-show="form.ConfigType === 'C'">
|
|
||||||
<el-form-item label="枚举类型">
|
|
||||||
<el-radio-group v-model="form.EnumType">
|
|
||||||
<el-radio :label="null">无</el-radio>
|
|
||||||
<el-radio label="E">枚举</el-radio>
|
|
||||||
<el-radio label="D">字典</el-radio>
|
|
||||||
</el-radio-group>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="24" v-show="form.ConfigType === 'C' && form.EnumType === 'E'">
|
|
||||||
<el-form-item label="枚举">
|
|
||||||
<el-input v-model="form.EnumList" placeholder="请输入枚举" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="24" v-show="form.ConfigType === 'C' && form.EnumType === 'D'">
|
|
||||||
<el-form-item label="字典code">
|
|
||||||
<el-input v-model="form.dictionaryKey" placeholder="请输入字典code" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
<div slot="footer" class="dialog-footer">
|
|
||||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
||||||
<el-button @click="cancel">取 消</el-button>
|
|
||||||
</div>
|
|
||||||
</el-dialog>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { getFrontAuditConfigList, addOrUpdateFrontAuditConfig, deleteFrontAuditConfig } from '@/api/dictionary/checkConfig'
|
|
||||||
import Treeselect from '@riophae/vue-treeselect'
|
|
||||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
|
||||||
import IconSelect from '@/components/IconSelect'
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'checkConfig',
|
|
||||||
dicts: [ 'OptType', 'ModuleType', 'ChildrenType' ],
|
|
||||||
components: { Treeselect, IconSelect },
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
// 遮罩层
|
|
||||||
loading: true,
|
|
||||||
// 菜单表格树数据
|
|
||||||
menuList: [],
|
|
||||||
// 菜单树选项
|
|
||||||
menuOptions: [],
|
|
||||||
// 弹出层标题
|
|
||||||
title: '',
|
|
||||||
// 是否显示弹出层
|
|
||||||
open: false,
|
|
||||||
// 菜单状态数据字典
|
|
||||||
visibleOptions: [],
|
|
||||||
// 查询参数
|
|
||||||
queryParams: {
|
|
||||||
menuName: undefined,
|
|
||||||
visible: undefined,
|
|
||||||
},
|
|
||||||
// 是否展开,默认全部折叠
|
|
||||||
isExpandAll: false,
|
|
||||||
// 重新渲染表格状态
|
|
||||||
refreshTable: true,
|
|
||||||
// 表单参数
|
|
||||||
form: {},
|
|
||||||
// 表单校验
|
|
||||||
rules: {
|
|
||||||
MenuName: [
|
|
||||||
{ required: true, message: '菜单名称不能为空', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
ShowOrder: [
|
|
||||||
{ required: true, message: '菜单顺序不能为空', trigger: 'blur' }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.getList()
|
|
||||||
// this.getDicts("sys_show_hide").then(response => {
|
|
||||||
// this.visibleOptions = response.data;
|
|
||||||
// });
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
toggleExpandAll() {
|
|
||||||
this.refreshTable = false
|
|
||||||
this.isExpandAll = !this.isExpandAll
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.refreshTable = true
|
|
||||||
})
|
|
||||||
},
|
|
||||||
normalizer(node) {
|
|
||||||
if (node.Children && !node.Children.length) {
|
|
||||||
delete node.Children
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
id: node.Id,
|
|
||||||
label: node.Description,
|
|
||||||
children: node.Children
|
|
||||||
}
|
|
||||||
},
|
|
||||||
toTree(arr, ParentId) {
|
|
||||||
function loop(ParentId) {
|
|
||||||
const res = []
|
|
||||||
for (let i = 0; i < arr.length; i++) {
|
|
||||||
const item = arr[i]
|
|
||||||
item.hasChildren = false
|
|
||||||
if (item.ParentId !== ParentId) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
item.Children = loop(item.Id)
|
|
||||||
res.push(item)
|
|
||||||
}
|
|
||||||
return res
|
|
||||||
}
|
|
||||||
return loop(ParentId)
|
|
||||||
},
|
|
||||||
// 选择图标
|
|
||||||
selected(name) {
|
|
||||||
this.form.MenuIcon = name
|
|
||||||
},
|
|
||||||
/** 查询菜单列表 */
|
|
||||||
getList() {
|
|
||||||
this.loading = true
|
|
||||||
getFrontAuditConfigList(this.queryParams).then(res => {
|
|
||||||
this.menuList = this.toTree(res.Result, '00000000-0000-0000-0000-000000000000')
|
|
||||||
const menu = { Id: '00000000-0000-0000-0000-000000000000', Description: '操作', Children: [] }
|
|
||||||
menu.Children = this.menuList
|
|
||||||
this.menuOptions = Object.assign([], [menu])
|
|
||||||
this.loading = false
|
|
||||||
}).catch(function() {})
|
|
||||||
},
|
|
||||||
/** 查询菜单下拉树结构 */
|
|
||||||
getTreeselect() {
|
|
||||||
this.loading = true
|
|
||||||
getFrontAuditConfigList({}).then(res => {
|
|
||||||
const menu = { Id: '00000000-0000-0000-0000-000000000000', Description: '操作', Children: [] }
|
|
||||||
menu.Children = this.toTree(res.Result, '00000000-0000-0000-0000-000000000000')
|
|
||||||
this.menuOptions = Object.assign([], [menu])
|
|
||||||
this.loading = false
|
|
||||||
}).catch(function() {})
|
|
||||||
},
|
|
||||||
// 菜单显示状态字典翻译
|
|
||||||
visibleFormat(row, column) {
|
|
||||||
if (row.MenuType === 'F') {
|
|
||||||
return ''
|
|
||||||
}
|
|
||||||
return this.selectDictLabel(this.visibleOptions, row.visible)
|
|
||||||
},
|
|
||||||
// 取消按钮
|
|
||||||
cancel() {
|
|
||||||
this.open = false
|
|
||||||
this.reset()
|
|
||||||
},
|
|
||||||
// 表单重置
|
|
||||||
reset() {
|
|
||||||
this.form = {
|
|
||||||
Id: null,
|
|
||||||
ParentId: null,
|
|
||||||
ConfigType: 'M',
|
|
||||||
Description: null,
|
|
||||||
IsEnable: true,
|
|
||||||
ModuleTypeId: null,
|
|
||||||
OptTypeId: null,
|
|
||||||
ChildrenTypeId: null,
|
|
||||||
IsShowParent: false,
|
|
||||||
Sort: 0,
|
|
||||||
Code: null,
|
|
||||||
Value: null,
|
|
||||||
ValueCN: null,
|
|
||||||
EnumType: null
|
|
||||||
}
|
|
||||||
this.resetForm('form')
|
|
||||||
},
|
|
||||||
findName (id, dict, type) {
|
|
||||||
if (id) {
|
|
||||||
return this.dict.type[dict].find(v => {
|
|
||||||
return v.value === id
|
|
||||||
}).raw[type]
|
|
||||||
}
|
|
||||||
return ''
|
|
||||||
},
|
|
||||||
changeDescription () {
|
|
||||||
this.form.Description = this.findName(this.form.OptTypeId, 'OptType', 'ValueCN') + this.findName(this.form.ModuleTypeId, 'ModuleType', 'ValueCN') + this.findName(this.form.ChildrenTypeId, 'ChildrenType', 'ValueCN')
|
|
||||||
},
|
|
||||||
/** 搜索按钮操作 */
|
|
||||||
handleQuery() {
|
|
||||||
this.getList()
|
|
||||||
},
|
|
||||||
/** 新增按钮操作 */
|
|
||||||
handleAdd(row) {
|
|
||||||
this.reset()
|
|
||||||
this.getTreeselect()
|
|
||||||
if (row != null) {
|
|
||||||
this.form.ParentId = row.Id
|
|
||||||
this.form.ModuleTypeId = row.ModuleTypeId
|
|
||||||
this.form.OptTypeId = row.OptTypeId
|
|
||||||
this.form.ChildrenTypeId = row.ChildrenTypeId
|
|
||||||
if (row.ModuleTypeId && row.OptTypeId && row.ChildrenTypeId) {
|
|
||||||
this.form.ConfigType = 'C'
|
|
||||||
}
|
|
||||||
this.form.Description = row.OptTypeValueCN + row.ModuleTypeValueCN + row.ChildrenTypeValueCN
|
|
||||||
}
|
|
||||||
this.open = true
|
|
||||||
this.title = '添加'
|
|
||||||
},
|
|
||||||
/** 修改按钮操作 */
|
|
||||||
handleUpdate(row) {
|
|
||||||
this.reset()
|
|
||||||
this.getTreeselect()
|
|
||||||
this.form = Object.assign({}, row)
|
|
||||||
this.open = true
|
|
||||||
this.title = '修改'
|
|
||||||
},
|
|
||||||
/** 提交按钮 */
|
|
||||||
submitForm: function() {
|
|
||||||
this.$refs['form'].validate(valid => {
|
|
||||||
if (valid) {
|
|
||||||
addOrUpdateFrontAuditConfig(this.form).then(response => {
|
|
||||||
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
|
||||||
this.open = false
|
|
||||||
this.getList()
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
/** 删除按钮操作 */
|
|
||||||
handleDelete(row) {
|
|
||||||
this.$confirm('是否确认删除名称为"' + row.Description + '"的数据项?', '警告', {
|
|
||||||
confirmButtonText: '确定',
|
|
||||||
cancelButtonText: '取消',
|
|
||||||
type: 'warning'
|
|
||||||
}).then(function() {
|
|
||||||
return deleteFrontAuditConfig(row.Id)
|
|
||||||
}).then(() => {
|
|
||||||
this.getList()
|
|
||||||
this.$message.success('删除成功')
|
|
||||||
}).catch(function() {})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<style lang="scss">
|
|
||||||
.vue-treeselect div{
|
|
||||||
line-height: 40px;
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -340,7 +340,7 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.upload-container{
|
.upload-container{
|
||||||
/deep/ .el-upload {
|
::v-deep .el-upload {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
|
@ -265,7 +265,7 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
width: calc(100% - 110px);
|
width: calc(100% - 110px);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -231,7 +231,7 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
width: calc(100% - 110px);
|
width: calc(100% - 110px);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -396,7 +396,7 @@ export default {
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
width: 500px;
|
width: 500px;
|
||||||
}
|
}
|
||||||
.el-input{
|
.el-input{
|
||||||
|
@ -406,7 +406,7 @@ export default {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.disabled{
|
.disabled{
|
||||||
/deep/ .el-upload--picture-card {
|
::v-deep .el-upload--picture-card {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -190,7 +190,7 @@ export default {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.disabled{
|
.disabled{
|
||||||
/deep/ .el-upload--picture-card {
|
::v-deep .el-upload--picture-card {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,7 +79,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="form.Id !== ''" label="是否废除: ">
|
<el-form-item v-if="form.Id !== ''" label="是否废除: ">
|
||||||
<el-radio-group v-model="form.IsDeleted">
|
<el-radio-group v-model="form.IsDeleted">
|
||||||
<el-radio v-for="item of $d.YesOrNo" :label="item.value">{{ item.label }}</el-radio>
|
<el-radio v-for="item of $d.YesOrNo" :key="`IsDeleted${item.value}`" :label="item.value">{{ item.label }}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="描述">
|
<el-form-item label="描述">
|
||||||
|
|
|
@ -419,7 +419,7 @@ export default {
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
/*/deep/ .is-error{*/
|
/*::v-deep .is-error{*/
|
||||||
/* margin-bottom: 40px;*/
|
/* margin-bottom: 40px;*/
|
||||||
/*}*/
|
/*}*/
|
||||||
.is-error.my_new_pwd {
|
.is-error.my_new_pwd {
|
||||||
|
|
|
@ -220,7 +220,7 @@ export default {
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
background: #d0d0d0;
|
background: #d0d0d0;
|
||||||
}
|
}
|
||||||
/deep/ .el-card__body {
|
::v-deep .el-card__body {
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -234,7 +234,7 @@ export default {
|
||||||
width: 220px;
|
width: 220px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
/deep/ .el-card__body {
|
::v-deep .el-card__body {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -254,13 +254,13 @@ export default {
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
// /deep/ .el-tabs{
|
// ::v-deep .el-tabs{
|
||||||
// height: 100%;
|
// height: 100%;
|
||||||
// }
|
// }
|
||||||
// /deep/ .el-tabs__header{
|
// ::v-deep .el-tabs__header{
|
||||||
// height: 40px;
|
// height: 40px;
|
||||||
// }
|
// }
|
||||||
// /deep/ .el-tabs__content{
|
// ::v-deep .el-tabs__content{
|
||||||
// flex: 1;
|
// flex: 1;
|
||||||
// overflow-y: auto;
|
// overflow-y: auto;
|
||||||
// padding: 0;
|
// padding: 0;
|
||||||
|
@ -299,7 +299,7 @@ export default {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
/deep/ .el-card__body {
|
::v-deep .el-card__body {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
|
@ -271,7 +271,7 @@ export default {
|
||||||
padding: 5px 20px;
|
padding: 5px 20px;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
/deep/.el-form-item {
|
::v-deep.el-form-item {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -285,10 +285,10 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.form-label-width{
|
.form-label-width{
|
||||||
/deep/.el-form-item__label{
|
::v-deep.el-form-item__label{
|
||||||
width: 140px;
|
width: 140px;
|
||||||
}
|
}
|
||||||
/deep/.el-form-item__content{
|
::v-deep.el-form-item__content{
|
||||||
margin-left: 140px;
|
margin-left: 140px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -297,7 +297,7 @@ export default {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
/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;
|
||||||
/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;
|
||||||
|
|
|
@ -292,7 +292,7 @@ export default {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.participants_form_content{
|
.participants_form_content{
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
/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;
|
||||||
|
|
|
@ -306,7 +306,7 @@ export default {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.participants_form_content{
|
.participants_form_content{
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
/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;
|
||||||
|
|
|
@ -375,7 +375,7 @@ export default {
|
||||||
padding: 5px 20px;
|
padding: 5px 20px;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
/deep/.el-form-item {
|
::v-deep.el-form-item {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -392,7 +392,7 @@ export default {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
/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;
|
||||||
|
|
|
@ -338,19 +338,19 @@ export default {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
>>>.el-card__body{
|
::v-deep .el-card__body{
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
// >>>.el-dialog__body{
|
// >>>.el-dialog__body{
|
||||||
// padding: 10px 20px 20px 20px;
|
// padding: 10px 20px 20px 20px;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
>>>.full-dialog-container{
|
::v-deep .full-dialog-container{
|
||||||
.el-dialog__body{
|
.el-dialog__body{
|
||||||
height: calc(100% - 80px);
|
height: calc(100% - 80px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
>>>.dialog-container{
|
::v-deep .dialog-container{
|
||||||
// margin-top: 50px !important;
|
// margin-top: 50px !important;
|
||||||
width:75%;
|
width:75%;
|
||||||
height:80%;
|
height:80%;
|
||||||
|
|
|
@ -387,19 +387,19 @@ export default {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
/deep/.el-card__body{
|
::v-deep.el-card__body{
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
// >>>.el-dialog__body{
|
// >>>.el-dialog__body{
|
||||||
// padding: 10px 20px 20px 20px;
|
// padding: 10px 20px 20px 20px;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
/deep/.full-dialog-container{
|
::v-deep.full-dialog-container{
|
||||||
.el-dialog__body{
|
.el-dialog__body{
|
||||||
height: calc(100% - 80px);
|
height: calc(100% - 80px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/deep/.dialog-container{
|
::v-deep.dialog-container{
|
||||||
// margin-top: 50px !important;
|
// margin-top: 50px !important;
|
||||||
width:75%;
|
width:75%;
|
||||||
height:80%;
|
height:80%;
|
||||||
|
|
|
@ -206,7 +206,7 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
/deep/ .el-collapse-item__header{
|
::v-deep .el-collapse-item__header{
|
||||||
background-color: #e9eef1;
|
background-color: #e9eef1;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -526,7 +526,7 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
/deep/ .box-body .search .base-search-form .el-form-item {
|
::v-deep .box-body .search .base-search-form .el-form-item {
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -0,0 +1,105 @@
|
||||||
|
<template>
|
||||||
|
<div class="grid-container" :style="gridStyle">
|
||||||
|
<div
|
||||||
|
v-for="(cell, index) in cells"
|
||||||
|
:key="index"
|
||||||
|
class="grid-cell"
|
||||||
|
:style="cellStyle"
|
||||||
|
@dblclick="toggleFullScreen(index)"
|
||||||
|
>
|
||||||
|
<div v-if="fullScreenIndex === index" class="full-screen">
|
||||||
|
<div class="content">
|
||||||
|
<canvas class="canvas" :ref="`canvas-${fullScreenIndex}`"></canvas>
|
||||||
|
<!-- 这里可以放置单元格的内容 -->
|
||||||
|
<!-- Cell {{ index + 1 }} -->
|
||||||
|
<!-- <button @click="toggleFullScreen(null)">Exit Full Screen</button> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-else class="content">
|
||||||
|
<!-- Cell {{ index + 1 }} -->
|
||||||
|
<canvas class="canvas" :ref="`canvas-${index}`"></canvas>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
rows: {
|
||||||
|
type: Number,
|
||||||
|
default: 1,
|
||||||
|
},
|
||||||
|
cols: {
|
||||||
|
type: Number,
|
||||||
|
default: 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
fullScreenIndex: null,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
gridStyle() {
|
||||||
|
return {
|
||||||
|
display: 'grid',
|
||||||
|
gridTemplateRows: `repeat(${this.rows}, 1fr)`,
|
||||||
|
gridTemplateColumns: `repeat(${this.cols}, 1fr)`,
|
||||||
|
height: '100vh',
|
||||||
|
width: '100vw',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
cellStyle() {
|
||||||
|
return {
|
||||||
|
border: '1px solid #ccc',
|
||||||
|
display: 'flex',
|
||||||
|
alignItems: 'center',
|
||||||
|
justifyContent: 'center',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
cells() {
|
||||||
|
return Array(this.rows * this.cols).fill(0);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
toggleFullScreen(index) {
|
||||||
|
this.fullScreenIndex = this.fullScreenIndex === index ? null : index;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.grid-container {
|
||||||
|
display: grid;
|
||||||
|
height: 100vh;
|
||||||
|
width: 100vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.grid-cell {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.full-screen {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
background: white;
|
||||||
|
z-index: 1000;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
/* text-align: center; */
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,25 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<!-- <label>行数: </label>
|
||||||
|
<input v-model.number="rows" type="number" min="1" max="3" />
|
||||||
|
<label>列数: </label>
|
||||||
|
<input v-model.number="cols" type="number" min="1" max="3" /> -->
|
||||||
|
<GridLayout :rows="rows" :cols="cols" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import GridLayout from './GridLayout.vue';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
GridLayout,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
rows: 2,
|
||||||
|
cols: 2,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
|
@ -158,7 +158,7 @@ export default {
|
||||||
// border: 1px solid #e0e0e0;
|
// border: 1px solid #e0e0e0;
|
||||||
max-height: 650px;
|
max-height: 650px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
// /deep/ .el-form-item__label{
|
// ::v-deep .el-form-item__label{
|
||||||
// color: #fff;
|
// color: #fff;
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,10 +73,10 @@ export default {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
/deep/ .el-dialog__header{
|
::v-deep .el-dialog__header{
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
/deep/ .el-dialog__body{
|
::v-deep .el-dialog__body{
|
||||||
padding: 10px 20px;
|
padding: 10px 20px;
|
||||||
line-height: 25px;
|
line-height: 25px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ export default {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
/deep/.el-card__body {
|
::v-deep.el-card__body {
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
.trials-tab{
|
.trials-tab{
|
||||||
|
|
|
@ -29,7 +29,7 @@ export default {
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "~@/styles/mixin.scss";
|
@import "~@/styles/mixin.scss";
|
||||||
@import "~@/styles/variables.scss";
|
@import "~@/styles/variables.module.scss";
|
||||||
|
|
||||||
.trials-wrapper {
|
.trials-wrapper {
|
||||||
@include clearfix;
|
@include clearfix;
|
||||||
|
@ -39,10 +39,10 @@ export default {
|
||||||
.trials-container {
|
.trials-container {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
/deep/ .el-tag {
|
::v-deep .el-tag {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
/deep/ .el-tag--danger {
|
::v-deep .el-tag--danger {
|
||||||
color: #f56c6c;
|
color: #f56c6c;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -787,22 +787,22 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
/deep/ .hidden-row{
|
::v-deep .hidden-row{
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
/deep/ .el-dialog__body {
|
::v-deep .el-dialog__body {
|
||||||
padding: 15px 20px;
|
padding: 15px 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .el-tag--danger.el-tag--dark {
|
::v-deep .el-tag--danger.el-tag--dark {
|
||||||
// background-color: #f56c6c!important;
|
// background-color: #f56c6c!important;
|
||||||
border-color: none!important;
|
border-color: none!important;
|
||||||
// color: #fff!important;
|
// color: #fff!important;
|
||||||
}
|
}
|
||||||
/deep/ #TaskAllocationRuleList thead .el-checkbox__inner{
|
::v-deep #TaskAllocationRuleList thead .el-checkbox__inner{
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
/deep/ .el-descriptions-item__label.has-colon:after{
|
::v-deep .el-descriptions-item__label.has-colon:after{
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -60,7 +60,7 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
/deep/ .el-collapse-item__header {
|
::v-deep .el-collapse-item__header {
|
||||||
background-color: #e9eef1;
|
background-color: #e9eef1;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -936,14 +936,14 @@ export default {
|
||||||
margin: 10px 0;
|
margin: 10px 0;
|
||||||
}
|
}
|
||||||
.disabled {
|
.disabled {
|
||||||
/deep/ .el-upload--picture-card {
|
::v-deep .el-upload--picture-card {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/deep/ .el-upload-list__item {
|
::v-deep .el-upload-list__item {
|
||||||
transition: none !important;
|
transition: none !important;
|
||||||
}
|
}
|
||||||
/deep/ .el-upload-list__item-thumbnail {
|
::v-deep .el-upload-list__item-thumbnail {
|
||||||
/* 图片在方框内显示长边 */
|
/* 图片在方框内显示长边 */
|
||||||
object-fit: scale-down !important;
|
object-fit: scale-down !important;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1642,22 +1642,22 @@ export default {
|
||||||
color: #f56c6c;
|
color: #f56c6c;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
}
|
}
|
||||||
/deep/ .hidden-row {
|
::v-deep .hidden-row {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
/deep/ .el-dialog__body {
|
::v-deep .el-dialog__body {
|
||||||
padding: 15px 20px;
|
padding: 15px 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .el-tag--danger.el-tag--dark {
|
::v-deep .el-tag--danger.el-tag--dark {
|
||||||
// background-color: #f56c6c!important;
|
// background-color: #f56c6c!important;
|
||||||
border-color: none !important;
|
border-color: none !important;
|
||||||
// color: #fff!important;
|
// color: #fff!important;
|
||||||
}
|
}
|
||||||
/deep/ #TaskAllocationRuleList thead .el-checkbox__inner {
|
::v-deep #TaskAllocationRuleList thead .el-checkbox__inner {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
/deep/ .el-descriptions-item__label.has-colon:after {
|
::v-deep .el-descriptions-item__label.has-colon:after {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -2793,12 +2793,12 @@ export default {
|
||||||
|
|
||||||
}
|
}
|
||||||
.personal_config {
|
.personal_config {
|
||||||
/deep/ .el-tabs__content{
|
::v-deep .el-tabs__content{
|
||||||
height: 450px;
|
height: 450px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/deep/ .manuals-dialog-container{
|
::v-deep .manuals-dialog-container{
|
||||||
margin-top: 50px !important;
|
margin-top: 50px !important;
|
||||||
width:75%;
|
width:75%;
|
||||||
height:80%;
|
height:80%;
|
||||||
|
@ -2810,7 +2810,7 @@ export default {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/deep/ .manuals-full-dialog-container{
|
::v-deep .manuals-full-dialog-container{
|
||||||
.el-dialog__body{
|
.el-dialog__body{
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
height: calc(100% - 50px) !important;
|
height: calc(100% - 50px) !important;
|
||||||
|
@ -2827,23 +2827,23 @@ export default {
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
}
|
}
|
||||||
.series-table{
|
.series-table{
|
||||||
/deep/.el-table{
|
::v-deep.el-table{
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
}
|
}
|
||||||
/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;
|
||||||
}
|
}
|
||||||
/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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/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;
|
||||||
|
@ -2852,7 +2852,7 @@ export default {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/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{
|
||||||
/deep/.el-table{
|
::v-deep.el-table{
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #dfdfdf;
|
color: #dfdfdf;
|
||||||
}
|
}
|
||||||
/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;
|
||||||
}
|
}
|
||||||
/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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/deep/.el-table__empty-block{
|
::v-deep.el-table__empty-block{
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -346,6 +346,7 @@ import {
|
||||||
// CONSTANTS,
|
// CONSTANTS,
|
||||||
setVolumesForViewports,
|
setVolumesForViewports,
|
||||||
volumeLoader,
|
volumeLoader,
|
||||||
|
resetInitialization,
|
||||||
getRenderingEngine,
|
getRenderingEngine,
|
||||||
eventTarget,
|
eventTarget,
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
@ -385,7 +386,7 @@ import { mat4, vec3 } from 'gl-matrix'
|
||||||
import html2canvas from 'html2canvas'
|
import html2canvas from 'html2canvas'
|
||||||
// import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction'
|
// import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction'
|
||||||
// import vtkMath from '@kitware/vtk.js/Common/Core/Math'
|
// import vtkMath from '@kitware/vtk.js/Common/Core/Math'
|
||||||
import CircleROITool from './tools/CircleROITool'
|
// import CircleROITool from './tools/CircleROITool'
|
||||||
// import ScaleOverlayTool from './tools/ScaleOverlayTool'
|
// import ScaleOverlayTool from './tools/ScaleOverlayTool'
|
||||||
const { registerColormap, getColormapNames, getColormap } = csUtils.colormap
|
const { registerColormap, getColormapNames, getColormap } = csUtils.colormap
|
||||||
const {
|
const {
|
||||||
|
@ -394,15 +395,17 @@ const {
|
||||||
WindowLevelTool,
|
WindowLevelTool,
|
||||||
PanTool,
|
PanTool,
|
||||||
ZoomTool,
|
ZoomTool,
|
||||||
StackScrollMouseWheelTool,
|
// StackScrollMouseWheelTool,
|
||||||
|
StackScrollTool,
|
||||||
synchronizers,
|
synchronizers,
|
||||||
MIPJumpToClickTool,
|
MIPJumpToClickTool,
|
||||||
VolumeRotateMouseWheelTool,
|
// VolumeRotateMouseWheelTool,
|
||||||
|
VolumeRotateTool,
|
||||||
OrientationMarkerTool,
|
OrientationMarkerTool,
|
||||||
// SynchronizerManager,
|
// SynchronizerManager,
|
||||||
// LengthTool,
|
// LengthTool,
|
||||||
EllipticalROITool,
|
EllipticalROITool,
|
||||||
// CircleROITool,
|
CircleROITool,
|
||||||
CrosshairsTool,
|
CrosshairsTool,
|
||||||
TrackballRotateTool,
|
TrackballRotateTool,
|
||||||
ProbeTool,
|
ProbeTool,
|
||||||
|
@ -634,9 +637,12 @@ export default {
|
||||||
this.screenshotWindow.close()
|
this.screenshotWindow.close()
|
||||||
}
|
}
|
||||||
cornerstoneTools.destroy()
|
cornerstoneTools.destroy()
|
||||||
eventTarget.reset()
|
// eventTarget.reset()
|
||||||
cache.purgeCache()
|
// cache.purgeCache()
|
||||||
|
// renderingEngine.destroy()
|
||||||
|
resetInitialization()
|
||||||
renderingEngine.destroy()
|
renderingEngine.destroy()
|
||||||
|
cache.purgeCache()
|
||||||
imageLoader.unregisterAllImageLoaders()
|
imageLoader.unregisterAllImageLoaders()
|
||||||
ToolGroupManager.destroyToolGroup('volume')
|
ToolGroupManager.destroyToolGroup('volume')
|
||||||
FusionEvent.$off('getAnnotations')
|
FusionEvent.$off('getAnnotations')
|
||||||
|
@ -953,8 +959,15 @@ export default {
|
||||||
measureData.frame = 0
|
measureData.frame = 0
|
||||||
measureData.data = annotation
|
measureData.data = annotation
|
||||||
measureData.type = metadata.toolName
|
measureData.type = metadata.toolName
|
||||||
measureData.suvMax = data.cachedStats[`volumeId:${ptVolumeId}`] && data.cachedStats[`volumeId:${ptVolumeId}`].max ? data.cachedStats[`volumeId:${ptVolumeId}`].max.toFixed(this.digitPlaces) : null
|
let obj = null
|
||||||
measureData.modalityUnit = data.cachedStats[`volumeId:${ptVolumeId}`].modalityUnit
|
for (let key in data.cachedStats) {
|
||||||
|
if (key.includes(`volumeId:${ptVolumeId}`)) {
|
||||||
|
obj = data.cachedStats[key]
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
measureData.suvMax = obj && obj.max ? obj.max.toFixed(this.digitPlaces) : null
|
||||||
|
measureData.modalityUnit = obj.modalityUnit
|
||||||
if (data.remark === 'Liver' || data.remark === 'Mediastinum') {
|
if (data.remark === 'Liver' || data.remark === 'Mediastinum') {
|
||||||
this.$refs['questions'].setMeasuredData(measureData)
|
this.$refs['questions'].setMeasuredData(measureData)
|
||||||
this.isNonTargetMeasurement = false
|
this.isNonTargetMeasurement = false
|
||||||
|
@ -1046,9 +1059,9 @@ export default {
|
||||||
setUpToolGroups() {
|
setUpToolGroups() {
|
||||||
cornerstoneTools.addTool(WindowLevelTool)
|
cornerstoneTools.addTool(WindowLevelTool)
|
||||||
cornerstoneTools.addTool(ZoomTool)
|
cornerstoneTools.addTool(ZoomTool)
|
||||||
cornerstoneTools.addTool(StackScrollMouseWheelTool)
|
cornerstoneTools.addTool(StackScrollTool)
|
||||||
cornerstoneTools.addTool(MIPJumpToClickTool)
|
cornerstoneTools.addTool(MIPJumpToClickTool)
|
||||||
cornerstoneTools.addTool(VolumeRotateMouseWheelTool)
|
cornerstoneTools.addTool(VolumeRotateTool)
|
||||||
cornerstoneTools.addTool(EllipticalROITool)
|
cornerstoneTools.addTool(EllipticalROITool)
|
||||||
cornerstoneTools.addTool(CircleROITool)
|
cornerstoneTools.addTool(CircleROITool)
|
||||||
cornerstoneTools.addTool(CrosshairsTool)
|
cornerstoneTools.addTool(CrosshairsTool)
|
||||||
|
@ -1070,7 +1083,7 @@ export default {
|
||||||
toolGroups.forEach((toolGroup) => {
|
toolGroups.forEach((toolGroup) => {
|
||||||
toolGroup.addTool(PanTool.toolName)
|
toolGroup.addTool(PanTool.toolName)
|
||||||
toolGroup.addTool(ZoomTool.toolName)
|
toolGroup.addTool(ZoomTool.toolName)
|
||||||
toolGroup.addTool(StackScrollMouseWheelTool.toolName)
|
toolGroup.addTool(StackScrollTool.toolName)
|
||||||
toolGroup.addTool(EllipticalROITool.toolName)
|
toolGroup.addTool(EllipticalROITool.toolName)
|
||||||
toolGroup.addTool(CircleROITool.toolName, {
|
toolGroup.addTool(CircleROITool.toolName, {
|
||||||
getTextLines: this.getTextLines
|
getTextLines: this.getTextLines
|
||||||
|
@ -1083,7 +1096,7 @@ export default {
|
||||||
|
|
||||||
fusionToolGroup.addTool(PanTool.toolName)
|
fusionToolGroup.addTool(PanTool.toolName)
|
||||||
fusionToolGroup.addTool(ZoomTool.toolName)
|
fusionToolGroup.addTool(ZoomTool.toolName)
|
||||||
fusionToolGroup.addTool(StackScrollMouseWheelTool.toolName)
|
fusionToolGroup.addTool(StackScrollTool.toolName)
|
||||||
fusionToolGroup.addTool(EllipticalROITool.toolName, {
|
fusionToolGroup.addTool(EllipticalROITool.toolName, {
|
||||||
volumeId: ptVolumeId
|
volumeId: ptVolumeId
|
||||||
})
|
})
|
||||||
|
@ -1124,7 +1137,10 @@ export default {
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
||||||
toolGroup.setToolActive(StackScrollMouseWheelTool.toolName)
|
// toolGroup.setToolActive(StackScrollTool.toolName)
|
||||||
|
toolGroup.setToolActive(StackScrollTool.toolName, {
|
||||||
|
bindings: [{ mouseButton: MouseBindings.Wheel }],
|
||||||
|
});
|
||||||
// toolGroup.setToolPassive(EllipticalROITool.toolName)
|
// toolGroup.setToolPassive(EllipticalROITool.toolName)
|
||||||
if (this.readingTaskState === 2) {
|
if (this.readingTaskState === 2) {
|
||||||
toolGroup.setToolEnabled(CircleROITool.toolName)
|
toolGroup.setToolEnabled(CircleROITool.toolName)
|
||||||
|
@ -1189,7 +1205,10 @@ export default {
|
||||||
mipToolGroup = ToolGroupManager.getToolGroup(mipToolGroupUID)
|
mipToolGroup = ToolGroupManager.getToolGroup(mipToolGroupUID)
|
||||||
}
|
}
|
||||||
|
|
||||||
mipToolGroup.addTool('VolumeRotateMouseWheel')
|
mipToolGroup.addTool(VolumeRotateTool.toolName)
|
||||||
|
mipToolGroup.setToolActive(VolumeRotateTool.toolName, {
|
||||||
|
bindings: [{ mouseButton: MouseBindings.Wheel }],
|
||||||
|
});
|
||||||
mipToolGroup.addTool('MIPJumpToClickTool', {
|
mipToolGroup.addTool('MIPJumpToClickTool', {
|
||||||
//
|
//
|
||||||
toolGroupId: ptToolGroupId
|
toolGroupId: ptToolGroupId
|
||||||
|
@ -1206,7 +1225,7 @@ export default {
|
||||||
})
|
})
|
||||||
// As the Stack Scroll mouse wheel is a tool using the `mouseWheelCallback`
|
// As the Stack Scroll mouse wheel is a tool using the `mouseWheelCallback`
|
||||||
// hook instead of mouse buttons, it does not need to assign any mouse button.
|
// hook instead of mouse buttons, it does not need to assign any mouse button.
|
||||||
mipToolGroup.setToolActive('VolumeRotateMouseWheel')
|
// mipToolGroup.setToolActive('VolumeRotateMouseWheel')
|
||||||
// mipToolGroup.addTool(OrientationMarkerTool.toolName)
|
// mipToolGroup.addTool(OrientationMarkerTool.toolName)
|
||||||
// mipToolGroup.setToolActive(OrientationMarkerTool.toolName)
|
// mipToolGroup.setToolActive(OrientationMarkerTool.toolName)
|
||||||
mipToolGroup.addViewport(viewportIds.PETMIP.CORONAL, renderingEngineId)
|
mipToolGroup.addViewport(viewportIds.PETMIP.CORONAL, renderingEngineId)
|
||||||
|
@ -1480,9 +1499,10 @@ export default {
|
||||||
// Set the volumes to load
|
// Set the volumes to load
|
||||||
this.ptVolume.load()
|
this.ptVolume.load()
|
||||||
this.ctVolume.load()
|
this.ctVolume.load()
|
||||||
const windowCenter = this.ctVolume.cornerstoneImageMetaData.windowCenter[0]
|
console.log(this.ctVolume.cornerstoneImageMetaData)
|
||||||
const windowWidth = this.ctVolume.cornerstoneImageMetaData.windowWidth[0]
|
// const windowCenter = this.ctVolume.cornerstoneImageMetaData.windowCenter[0]
|
||||||
setCtMappingRange(windowWidth, windowCenter)
|
// const windowWidth = this.ctVolume.cornerstoneImageMetaData.windowWidth[0]
|
||||||
|
// setCtMappingRange(windowWidth, windowCenter)
|
||||||
// Set volumes on the viewports
|
// Set volumes on the viewports
|
||||||
await setVolumesForViewports(
|
await setVolumesForViewports(
|
||||||
renderingEngine,
|
renderingEngine,
|
||||||
|
@ -2191,7 +2211,7 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async receiveMsg(event) {
|
async receiveMsg(event) {
|
||||||
console.log(event.data.type)
|
// console.log(event.data.type)
|
||||||
if (event.data.type === 'readingPageUpdate') {
|
if (event.data.type === 'readingPageUpdate') {
|
||||||
// this.$refs['questions'].initList()
|
// this.$refs['questions'].initList()
|
||||||
this.$refs['tableQuestions'].initList(true)
|
this.$refs['tableQuestions'].initList(true)
|
||||||
|
@ -2250,7 +2270,7 @@ export default {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
padding: 5px 2px;
|
padding: 5px 2px;
|
||||||
/deep/.el-dialog {
|
::v-deep.el-dialog {
|
||||||
background: #1e1e1e;
|
background: #1e1e1e;
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
@ -2490,7 +2510,7 @@ export default {
|
||||||
|
|
||||||
}
|
}
|
||||||
.colorBar{
|
.colorBar{
|
||||||
/deep/ .el-input--mini .el-input__inner{
|
::v-deep .el-input--mini .el-input__inner{
|
||||||
height: 25px;
|
height: 25px;
|
||||||
line-height: 25px;
|
line-height: 25px;
|
||||||
border: none;
|
border: none;
|
||||||
|
|
|
@ -507,7 +507,7 @@ export default {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.disabled{
|
.disabled{
|
||||||
/deep/ .el-upload--picture-card {
|
::v-deep .el-upload--picture-card {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -516,13 +516,13 @@ export default {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
/deep/ .el-input.is-disabled .el-input__inner{
|
::v-deep .el-input.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-input-group__append, .el-input-group__prepend{
|
::v-deep .el-input-group__append, .el-input-group__prepend{
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
}
|
}
|
||||||
/deep/ .el-select.is-disabled .el-input__inner{
|
::v-deep .el-select.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -761,30 +761,30 @@ export default {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.ecrf-wrapper{
|
.ecrf-wrapper{
|
||||||
|
|
||||||
/deep/ .el-form-item__label{
|
::v-deep .el-form-item__label{
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
/deep/ .el-input__inner{
|
::v-deep .el-input__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-textarea__inner{
|
::v-deep .el-textarea__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item{
|
::v-deep .el-form-item{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
/deep/ .el-button--mini, .el-button--mini.is-round {
|
::v-deep .el-button--mini, .el-button--mini.is-round {
|
||||||
padding: 7px 10px;
|
padding: 7px 10px;
|
||||||
}
|
}
|
||||||
.el-form-item__content
|
.el-form-item__content
|
||||||
|
|
|
@ -1055,34 +1055,34 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.measurement-form{
|
.measurement-form{
|
||||||
/deep/ .el-form-item__label{
|
::v-deep .el-form-item__label{
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
// text-align: left;
|
// text-align: left;
|
||||||
}
|
}
|
||||||
/deep/ .el-input .el-input__inner{
|
::v-deep .el-input .el-input__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item{
|
::v-deep .el-form-item{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
/deep/ .el-input.is-disabled .el-input__inner{
|
::v-deep .el-input.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-input-group__append, .el-input-group__prepend{
|
::v-deep .el-input-group__append, .el-input-group__prepend{
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
}
|
}
|
||||||
/deep/ .el-select.is-disabled .el-input__inner{
|
::v-deep .el-select.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-button--mini, .el-button--mini.is-round {
|
::v-deep .el-button--mini, .el-button--mini.is-round {
|
||||||
padding: 7px 10px;
|
padding: 7px 10px;
|
||||||
}
|
}
|
||||||
.el-form-item__content
|
.el-form-item__content
|
||||||
|
|
|
@ -855,12 +855,12 @@ export default {
|
||||||
.el-collapse{
|
.el-collapse{
|
||||||
border-bottom:none;
|
border-bottom:none;
|
||||||
border-top:none;
|
border-top:none;
|
||||||
/deep/ .el-collapse-item{
|
::v-deep .el-collapse-item{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__header{
|
::v-deep .el-collapse-item__header{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border-bottom-color:#5a5a5a;
|
border-bottom-color:#5a5a5a;
|
||||||
|
@ -868,11 +868,11 @@ export default {
|
||||||
height: 35px;
|
height: 35px;
|
||||||
line-height: 35px;
|
line-height: 35px;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__wrap{
|
::v-deep .el-collapse-item__wrap{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__content{
|
::v-deep .el-collapse-item__content{
|
||||||
width:260px;
|
width:260px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
|
|
|
@ -200,7 +200,7 @@ export default {
|
||||||
mounted() {
|
mounted() {
|
||||||
const digitPlaces = parseInt(this.$route.query.digitPlaces)
|
const digitPlaces = parseInt(this.$route.query.digitPlaces)
|
||||||
this.digitPlaces = digitPlaces === -1 ? 2 : digitPlaces
|
this.digitPlaces = digitPlaces === -1 ? 2 : digitPlaces
|
||||||
// console.log(toolsUtilities)
|
console.log(toolsUtilities)
|
||||||
this.subjectCode = this.$route.query.subjectCode
|
this.subjectCode = this.$route.query.subjectCode
|
||||||
var element = document.getElementById(`viewport${this.index}`)
|
var element = document.getElementById(`viewport${this.index}`)
|
||||||
|
|
||||||
|
@ -346,7 +346,7 @@ export default {
|
||||||
index[2] = Math.floor(index[2])
|
index[2] = Math.floor(index[2])
|
||||||
this.mousePosition.index = index
|
this.mousePosition.index = index
|
||||||
|
|
||||||
this.mousePosition.value = this.getValue(this.volume, worldPoint)
|
// this.mousePosition.value = this.getValue(this.volume, worldPoint)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getValue(volume, worldPos) {
|
getValue(volume, worldPos) {
|
||||||
|
@ -364,7 +364,7 @@ export default {
|
||||||
|
|
||||||
const yMultiple = dimensions[0]
|
const yMultiple = dimensions[0]
|
||||||
const zMultiple = dimensions[0] * dimensions[1]
|
const zMultiple = dimensions[0] * dimensions[1]
|
||||||
|
// const scalarIndex = index[2] * zMultiple + index[1] * yMultiple + index[0];
|
||||||
const value = scalarData[index[2] * zMultiple + index[1] * yMultiple + index[0]]
|
const value = scalarData[index[2] * zMultiple + index[1] * yMultiple + index[0]]
|
||||||
|
|
||||||
return value
|
return value
|
||||||
|
@ -492,7 +492,7 @@ export default {
|
||||||
this.rotate(angle)
|
this.rotate(angle)
|
||||||
this.rotateBarLeft = x
|
this.rotateBarLeft = x
|
||||||
},
|
},
|
||||||
scroll(index) {
|
async scroll(index) {
|
||||||
renderingEngine = getRenderingEngine(this.renderingEngineId)
|
renderingEngine = getRenderingEngine(this.renderingEngineId)
|
||||||
viewport = renderingEngine.getViewport(this.viewportId)
|
viewport = renderingEngine.getViewport(this.viewportId)
|
||||||
const actorEntries = viewport.getActors()
|
const actorEntries = viewport.getActors()
|
||||||
|
@ -500,11 +500,14 @@ export default {
|
||||||
if (!actorEntries) {
|
if (!actorEntries) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const delta = index - this.seriesInfo.imageIdIndex
|
// const delta = index - this.seriesInfo.imageIdIndex
|
||||||
toolsUtilities.scroll(viewport, {
|
await utilities.jumpToSlice(viewport.element, {
|
||||||
delta,
|
imageIndex: index,
|
||||||
volumeId: actorEntries.uid
|
});
|
||||||
})
|
// toolsUtilities.scroll(viewport, {
|
||||||
|
// delta,
|
||||||
|
// volumeId: actorEntries.uid
|
||||||
|
// })
|
||||||
renderingEngine.render()
|
renderingEngine.render()
|
||||||
},
|
},
|
||||||
rotateBarMouseup(e) {
|
rotateBarMouseup(e) {
|
||||||
|
|
|
@ -70,30 +70,30 @@ export default {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.ecrf-wrapper{
|
.ecrf-wrapper{
|
||||||
|
|
||||||
/deep/ .el-form-item__label{
|
::v-deep .el-form-item__label{
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
/deep/ .el-input__inner{
|
::v-deep .el-input__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-textarea__inner{
|
::v-deep .el-textarea__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item{
|
::v-deep .el-form-item{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
/deep/ .el-button--mini, .el-button--mini.is-round {
|
::v-deep .el-button--mini, .el-button--mini.is-round {
|
||||||
padding: 7px 10px;
|
padding: 7px 10px;
|
||||||
}
|
}
|
||||||
.el-form-item__content
|
.el-form-item__content
|
||||||
|
|
|
@ -112,30 +112,30 @@ export default {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.ecrf-wrapper{
|
.ecrf-wrapper{
|
||||||
|
|
||||||
/deep/ .el-form-item__label{
|
::v-deep .el-form-item__label{
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
/deep/ .el-input__inner{
|
::v-deep .el-input__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-textarea__inner{
|
::v-deep .el-textarea__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item{
|
::v-deep .el-form-item{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
/deep/ .el-button--mini, .el-button--mini.is-round {
|
::v-deep .el-button--mini, .el-button--mini.is-round {
|
||||||
padding: 7px 10px;
|
padding: 7px 10px;
|
||||||
}
|
}
|
||||||
.el-form-item__content
|
.el-form-item__content
|
||||||
|
|
|
@ -272,7 +272,7 @@ export default {
|
||||||
}
|
}
|
||||||
.lesion_list{
|
.lesion_list{
|
||||||
position: relative;
|
position: relative;
|
||||||
/deep/ .el-table, .el-table__expanded-cell {
|
::v-deep .el-table, .el-table__expanded-cell {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color:#444444;
|
border-color:#444444;
|
||||||
|
@ -293,25 +293,25 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/deep/ .el-table th, .el-table tr {
|
::v-deep .el-table th, .el-table tr {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color:#444444;
|
border-color:#444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table__body tr > td{
|
::v-deep .el-table__body tr > td{
|
||||||
background-color:#000 !important;
|
background-color:#000 !important;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color:#444444;
|
border-color:#444444;
|
||||||
}
|
}
|
||||||
// /deep/ .el-table__body tr:hover > td{
|
// ::v-deep .el-table__body tr:hover > td{
|
||||||
// background-color:#858282 !important;
|
// background-color:#858282 !important;
|
||||||
// color: #fff;
|
// color: #fff;
|
||||||
// border-color:#444444;
|
// border-color:#444444;
|
||||||
// }
|
// }
|
||||||
/deep/ .el-table--border th.gutter:last-of-type{
|
::v-deep .el-table--border th.gutter:last-of-type{
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
/deep/ .el-card__header{
|
::v-deep .el-card__header{
|
||||||
border: none;
|
border: none;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
@ -319,12 +319,12 @@ export default {
|
||||||
.el-collapse{
|
.el-collapse{
|
||||||
border-bottom:none;
|
border-bottom:none;
|
||||||
border-top:none;
|
border-top:none;
|
||||||
/deep/ .el-collapse-item{
|
::v-deep .el-collapse-item{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__header{
|
::v-deep .el-collapse-item__header{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border-bottom-color:#5a5a5a;
|
border-bottom-color:#5a5a5a;
|
||||||
|
@ -332,11 +332,11 @@ export default {
|
||||||
height: 35px;
|
height: 35px;
|
||||||
line-height: 35px;
|
line-height: 35px;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__wrap{
|
::v-deep .el-collapse-item__wrap{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__content{
|
::v-deep .el-collapse-item__content{
|
||||||
width:260px;
|
width:260px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
|
|
|
@ -492,7 +492,7 @@ export default {
|
||||||
this.rotate(angle)
|
this.rotate(angle)
|
||||||
this.rotateBarLeft = x
|
this.rotateBarLeft = x
|
||||||
},
|
},
|
||||||
scroll(index) {
|
async scroll(index) {
|
||||||
renderingEngine = getRenderingEngine(this.renderingEngineId)
|
renderingEngine = getRenderingEngine(this.renderingEngineId)
|
||||||
viewport = renderingEngine.getViewport(this.viewportId)
|
viewport = renderingEngine.getViewport(this.viewportId)
|
||||||
const actorEntries = viewport.getActors()
|
const actorEntries = viewport.getActors()
|
||||||
|
@ -500,11 +500,14 @@ export default {
|
||||||
if (!actorEntries) {
|
if (!actorEntries) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const delta = index - this.seriesInfo.imageIdIndex
|
// const delta = index - this.seriesInfo.imageIdIndex
|
||||||
toolsUtilities.scroll(viewport, {
|
// toolsUtilities.scroll(viewport, {
|
||||||
delta,
|
// delta,
|
||||||
volumeId: actorEntries.uid
|
// volumeId: actorEntries.uid
|
||||||
})
|
// })
|
||||||
|
await utilities.jumpToSlice(viewport.element, {
|
||||||
|
imageIndex: index,
|
||||||
|
});
|
||||||
renderingEngine.render()
|
renderingEngine.render()
|
||||||
},
|
},
|
||||||
rotateBarMouseup(e) {
|
rotateBarMouseup(e) {
|
||||||
|
|
|
@ -1903,7 +1903,7 @@ export default {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
padding: 5px 2px;
|
padding: 5px 2px;
|
||||||
/deep/.el-dialog {
|
::v-deep.el-dialog {
|
||||||
background: #1e1e1e;
|
background: #1e1e1e;
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
@ -2143,7 +2143,7 @@ export default {
|
||||||
|
|
||||||
}
|
}
|
||||||
.colorBar{
|
.colorBar{
|
||||||
/deep/ .el-input--mini .el-input__inner{
|
::v-deep .el-input--mini .el-input__inner{
|
||||||
height: 25px;
|
height: 25px;
|
||||||
line-height: 25px;
|
line-height: 25px;
|
||||||
border: none;
|
border: none;
|
||||||
|
|
|
@ -1,90 +1,234 @@
|
||||||
import { Enums } from '@cornerstonejs/core'
|
import { Enums, utilities } from '@cornerstonejs/core'
|
||||||
|
|
||||||
const { CalibrationTypes } = Enums
|
const { CalibrationTypes } = Enums;
|
||||||
const PIXEL_UNITS = 'px'
|
const PIXEL_UNITS = 'px';
|
||||||
|
const SUPPORTED_REGION_DATA_TYPES = [
|
||||||
|
1, // Tissue
|
||||||
|
2, // Color Flow
|
||||||
|
3, // PW Spectral Doppler
|
||||||
|
4, // CW Spectral Doppler
|
||||||
|
];
|
||||||
|
const SUPPORTED_LENGTH_VARIANT = [
|
||||||
|
'3,3', // x: cm & y:cm
|
||||||
|
'4,7', // x: seconds & y : cm/sec
|
||||||
|
];
|
||||||
|
const SUPPORTED_PROBE_VARIANT = [
|
||||||
|
'4,3', // x: seconds & y : cm
|
||||||
|
'4,7', // x: seconds & y : cm/sec
|
||||||
|
];
|
||||||
|
const UNIT_MAPPING = {
|
||||||
|
0: 'px',
|
||||||
|
1: 'percent',
|
||||||
|
2: 'dB',
|
||||||
|
3: 'cm',
|
||||||
|
4: 'seconds',
|
||||||
|
5: 'hertz',
|
||||||
|
6: 'dB/seconds',
|
||||||
|
7: 'cm/sec',
|
||||||
|
8: 'cm\xb2',
|
||||||
|
9: 'cm\xb2/s',
|
||||||
|
0xc: 'degrees',
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
const EPS = 1e-3;
|
||||||
* Extracts the length units and the type of calibration for those units
|
const SQUARE = '\xb2';
|
||||||
* into the response. The length units will typically be either mm or px
|
const getCalibratedLengthUnitsAndScale = (image, handles) => {
|
||||||
* while the calibration type can be any of a number of different calibraiton types.
|
const { calibration, hasPixelSpacing } = image;
|
||||||
*
|
let unit = hasPixelSpacing ? 'mm' : PIXEL_UNITS;
|
||||||
* Volumetric images have no calibration type, so are just the raw mm.
|
let areaUnit = unit + SQUARE;
|
||||||
*
|
let scale = 1;
|
||||||
* TODO: Handle region calibration
|
let calibrationType = '';
|
||||||
*
|
|
||||||
* @param handles - used to detect if the spacing information is different
|
if (
|
||||||
* between various points (eg angled ERMF or US Region).
|
!calibration ||
|
||||||
* Currently unused, but needed for correct US Region handling
|
(!calibration.type && !calibration.sequenceOfUltrasoundRegions)
|
||||||
* @param image - to extract the calibration from
|
) {
|
||||||
* image.calibration - calibration value to extract units form
|
return { unit, areaUnit, scale };
|
||||||
* @returns String containing the units and type of calibration
|
|
||||||
*/
|
|
||||||
const getCalibratedLengthUnits = (handles, image) => {
|
|
||||||
const { calibration, hasPixelSpacing } = image
|
|
||||||
// Anachronistic - moving to using calibration consistently, but not completed yet
|
|
||||||
const units = hasPixelSpacing ? 'mm' : PIXEL_UNITS
|
|
||||||
if (!calibration || !calibration.type) {
|
|
||||||
return units
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (calibration.type === CalibrationTypes.UNCALIBRATED) {
|
if (calibration.type === CalibrationTypes.UNCALIBRATED) {
|
||||||
return PIXEL_UNITS
|
return { unit: PIXEL_UNITS, areaUnit: PIXEL_UNITS + SQUARE, scale };
|
||||||
}
|
|
||||||
// TODO - handle US regions properly
|
|
||||||
if (calibration.SequenceOfUltrasoundRegions) {
|
|
||||||
return 'US Region'
|
|
||||||
}
|
|
||||||
return `${units} ${calibration.type}`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const SQUARE = '\xb2'
|
if (calibration.sequenceOfUltrasoundRegions) {
|
||||||
/**
|
let imageIndex1, imageIndex2;
|
||||||
* Extracts the area units, including the squared sign plus calibration type.
|
if (Array.isArray(handles) && handles.length === 2) {
|
||||||
*/
|
[imageIndex1, imageIndex2] = handles;
|
||||||
const getCalibratedAreaUnits = (handles, image) => {
|
} else if (typeof handles === 'function') {
|
||||||
const { calibration, hasPixelSpacing } = image
|
const points = handles();
|
||||||
const units = (hasPixelSpacing ? 'mm' : PIXEL_UNITS) + SQUARE
|
imageIndex1 = points[0];
|
||||||
if (!calibration || !calibration.type) {
|
imageIndex2 = points[1];
|
||||||
return units
|
|
||||||
}
|
|
||||||
if (calibration.SequenceOfUltrasoundRegions) {
|
|
||||||
return 'US Region'
|
|
||||||
}
|
|
||||||
return `${units} ${calibration.type}`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
let regions = calibration.sequenceOfUltrasoundRegions.filter(
|
||||||
* Gets the scale divisor for converting from internal spacing to
|
(region) =>
|
||||||
* image spacing for calibrated images.
|
imageIndex1[0] >= region.regionLocationMinX0 &&
|
||||||
*/
|
imageIndex1[0] <= region.regionLocationMaxX1 &&
|
||||||
|
imageIndex1[1] >= region.regionLocationMinY0 &&
|
||||||
|
imageIndex1[1] <= region.regionLocationMaxY1 &&
|
||||||
|
imageIndex2[0] >= region.regionLocationMinX0 &&
|
||||||
|
imageIndex2[0] <= region.regionLocationMaxX1 &&
|
||||||
|
imageIndex2[1] >= region.regionLocationMinY0 &&
|
||||||
|
imageIndex2[1] <= region.regionLocationMaxY1
|
||||||
|
);
|
||||||
|
|
||||||
const getCalibratedScale = (image) => {
|
// If we are not in a region at all we should show the underlying calibration
|
||||||
let scale = null
|
// which might be the mm spacing for the image
|
||||||
if (image.calibration && image.calibration.scale) {
|
if (!regions?.length) {
|
||||||
scale = image.calibration.scale
|
return { unit, areaUnit, scale };
|
||||||
}
|
|
||||||
return scale || 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets the aspect ratio of the screen display relative to the image
|
// if we are in a region then it is the question of whether we support it
|
||||||
* display in order to square up measurement values.
|
// or not. If we do not support it we should show px
|
||||||
* That is, suppose the spacing on the image is 1, 0.5 (x,y spacing)
|
|
||||||
* This is displayed at 1, 1 spacing on screen, then the
|
|
||||||
* aspect value will be 1/0.5 = 2
|
|
||||||
*/
|
|
||||||
|
|
||||||
const getCalibratedAspect = (image) => {
|
regions = regions.filter(
|
||||||
let aspect = null
|
(region) =>
|
||||||
if (image.calibration && image.calibration.aspect) {
|
SUPPORTED_REGION_DATA_TYPES.includes(region.regionDataType) &&
|
||||||
aspect = image.calibration.aspect
|
SUPPORTED_LENGTH_VARIANT.includes(
|
||||||
}
|
`${region.physicalUnitsXDirection},${region.physicalUnitsYDirection}`
|
||||||
return aspect || 1
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!regions.length) {
|
||||||
|
return {
|
||||||
|
unit: PIXEL_UNITS,
|
||||||
|
areaUnit: PIXEL_UNITS + SQUARE,
|
||||||
|
scale,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export default getCalibratedLengthUnits
|
// Todo: expand on this logic
|
||||||
|
const region = regions[0];
|
||||||
|
|
||||||
|
const physicalDeltaX = Math.abs(region.physicalDeltaX);
|
||||||
|
const physicalDeltaY = Math.abs(region.physicalDeltaY);
|
||||||
|
|
||||||
|
// if we are in a supported region then we should check if the
|
||||||
|
// physicalDeltaX and physicalDeltaY are the same. If they are not
|
||||||
|
// then we should show px again, but if they are the same then we should
|
||||||
|
// show the units
|
||||||
|
const isSamePhysicalDelta = utilities.isEqual(
|
||||||
|
physicalDeltaX,
|
||||||
|
physicalDeltaY,
|
||||||
|
EPS
|
||||||
|
);
|
||||||
|
|
||||||
|
if (isSamePhysicalDelta) {
|
||||||
|
// 1 to 1 aspect ratio, we use just one of them
|
||||||
|
scale = 1 / physicalDeltaX;
|
||||||
|
calibrationType = 'US Region';
|
||||||
|
unit = UNIT_MAPPING[region.physicalUnitsXDirection] || 'unknown';
|
||||||
|
areaUnit = unit + SQUARE;
|
||||||
|
} else {
|
||||||
|
// here we are showing at the aspect ratio of the physical delta
|
||||||
|
// if they are not the same, then we should show px, but the correct solution
|
||||||
|
// is to grab each point separately and scale them individually
|
||||||
|
// Todo: implement this
|
||||||
|
return {
|
||||||
|
unit: PIXEL_UNITS,
|
||||||
|
areaUnit: PIXEL_UNITS + SQUARE,
|
||||||
|
scale,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
} else if (calibration.scale) {
|
||||||
|
scale = calibration.scale;
|
||||||
|
}
|
||||||
|
|
||||||
|
// everything except REGION/Uncalibrated
|
||||||
|
const types = [
|
||||||
|
CalibrationTypes.ERMF,
|
||||||
|
CalibrationTypes.USER,
|
||||||
|
CalibrationTypes.ERROR,
|
||||||
|
CalibrationTypes.PROJECTION,
|
||||||
|
];
|
||||||
|
|
||||||
|
if (types.includes(calibration?.type)) {
|
||||||
|
calibrationType = calibration.type;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
unit: unit + (calibrationType ? ` ${calibrationType}` : ''),
|
||||||
|
areaUnit: areaUnit + (calibrationType ? ` ${calibrationType}` : ''),
|
||||||
|
scale,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
const getCalibratedProbeUnitsAndValue = (image, handles) => {
|
||||||
|
const [imageIndex] = handles;
|
||||||
|
const { calibration } = image;
|
||||||
|
let units = ['raw'];
|
||||||
|
let values = [null];
|
||||||
|
let calibrationType = '';
|
||||||
|
|
||||||
|
if (
|
||||||
|
!calibration ||
|
||||||
|
(!calibration.type && !calibration.sequenceOfUltrasoundRegions)
|
||||||
|
) {
|
||||||
|
return { units, values };
|
||||||
|
// Todo: add support for other scenarios
|
||||||
|
}
|
||||||
|
|
||||||
|
if (calibration.sequenceOfUltrasoundRegions) {
|
||||||
|
// for Probe tool
|
||||||
|
const supportedRegionsMetadata =
|
||||||
|
calibration.sequenceOfUltrasoundRegions.filter(
|
||||||
|
(region) =>
|
||||||
|
SUPPORTED_REGION_DATA_TYPES.includes(region.regionDataType) &&
|
||||||
|
SUPPORTED_PROBE_VARIANT.includes(
|
||||||
|
`${region.physicalUnitsXDirection},${region.physicalUnitsYDirection}`
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!supportedRegionsMetadata?.length) {
|
||||||
|
return { units, values };
|
||||||
|
}
|
||||||
|
|
||||||
|
const region = supportedRegionsMetadata.find(
|
||||||
|
(region) =>
|
||||||
|
imageIndex[0] >= region.regionLocationMinX0 &&
|
||||||
|
imageIndex[0] <= region.regionLocationMaxX1 &&
|
||||||
|
imageIndex[1] >= region.regionLocationMinY0 &&
|
||||||
|
imageIndex[1] <= region.regionLocationMaxY1
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!region) {
|
||||||
|
return { units, values };
|
||||||
|
}
|
||||||
|
|
||||||
|
// Todo: I think this is a ok assumption for now that if the referencePixelX0 and referencePixelY0
|
||||||
|
// are not defined, then we can assume 0 for them
|
||||||
|
const { referencePixelX0 = 0, referencePixelY0 = 0 } = region;
|
||||||
|
const { physicalDeltaX, physicalDeltaY } = region;
|
||||||
|
|
||||||
|
const yValue =
|
||||||
|
(imageIndex[1] - region.regionLocationMinY0 - referencePixelY0) *
|
||||||
|
physicalDeltaY;
|
||||||
|
|
||||||
|
const xValue =
|
||||||
|
(imageIndex[0] - region.regionLocationMinX0 - referencePixelX0) *
|
||||||
|
physicalDeltaX;
|
||||||
|
|
||||||
|
calibrationType = 'US Region';
|
||||||
|
values = [xValue, yValue];
|
||||||
|
units = [
|
||||||
|
UNIT_MAPPING[region.physicalUnitsXDirection],
|
||||||
|
UNIT_MAPPING[region.physicalUnitsYDirection],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
units,
|
||||||
|
values,
|
||||||
|
calibrationType,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
const getCalibratedAspect = (image) => image.calibration?.aspect || 1;
|
||||||
|
|
||||||
|
// export default getCalibratedLengthUnits
|
||||||
|
|
||||||
export {
|
export {
|
||||||
getCalibratedAreaUnits,
|
getCalibratedLengthUnitsAndScale,
|
||||||
getCalibratedLengthUnits,
|
getCalibratedAspect,
|
||||||
getCalibratedScale,
|
getCalibratedProbeUnitsAndValue,
|
||||||
getCalibratedAspect
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
import { metaData } from '@cornerstonejs/core';
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines the appropriate pixel value units based on the image modality and options.
|
||||||
|
* @param modality - The modality of the image (e.g., 'CT', 'PT').
|
||||||
|
* @param imageId - The unique identifier for the image.
|
||||||
|
* @param options - Additional options for determining pixel units.
|
||||||
|
* @returns The appropriate pixel value units as a string.
|
||||||
|
*/
|
||||||
|
function getPixelValueUnits(
|
||||||
|
modality,
|
||||||
|
imageId,
|
||||||
|
options
|
||||||
|
) {
|
||||||
|
if (modality === 'CT') {
|
||||||
|
return 'HU';
|
||||||
|
} else if (modality === 'PT') {
|
||||||
|
return _handlePTModality(imageId, options);
|
||||||
|
} else {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles the determination of pixel value units for PT (Positron Emission Tomography) modality.
|
||||||
|
* @param imageId - The unique identifier for the image.
|
||||||
|
* @param options - Additional options for determining pixel units.
|
||||||
|
* @returns The appropriate pixel value units for PT modality as a string.
|
||||||
|
*/
|
||||||
|
function _handlePTModality(
|
||||||
|
imageId,
|
||||||
|
options
|
||||||
|
) {
|
||||||
|
if (!options.isPreScaled) {
|
||||||
|
return 'raw';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (options.isSuvScaled) {
|
||||||
|
return 'SUV';
|
||||||
|
}
|
||||||
|
|
||||||
|
const generalSeriesModule = metaData.get('generalSeriesModule', imageId);
|
||||||
|
|
||||||
|
// It might be possible that the reference ImageId is not the one
|
||||||
|
// that is being displayed. So we need to get the modality from imageId again
|
||||||
|
if (generalSeriesModule?.modality === 'PT') {
|
||||||
|
const petSeriesModule = metaData.get('petSeriesModule', imageId);
|
||||||
|
return petSeriesModule?.units || 'unitless';
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'unknown';
|
||||||
|
}
|
||||||
|
|
||||||
|
export { getPixelValueUnits };
|
|
@ -1,14 +1,27 @@
|
||||||
import initProviders from './initProviders'
|
import initProviders from './initProviders'
|
||||||
import initCornerstoneDICOMImageLoader from './initCornerstoneDICOMImageLoader'
|
// import initCornerstoneDICOMImageLoader from './initCornerstoneDICOMImageLoader'
|
||||||
import initVolumeLoader from './initVolumeLoader'
|
import initVolumeLoader from './initVolumeLoader'
|
||||||
import { init as csRenderInit } from '@cornerstonejs/core'
|
import {
|
||||||
import { init as csToolsInit } from '@cornerstonejs/tools'
|
init as csRenderInit,
|
||||||
|
imageLoader,
|
||||||
|
volumeLoader,
|
||||||
|
metaData,
|
||||||
|
} from '@cornerstonejs/core';
|
||||||
|
import * as cornerstoneTools from '@cornerstonejs/tools';
|
||||||
|
import * as cornerstone from '@cornerstonejs/core';
|
||||||
|
import { init as csToolsInit } from '@cornerstonejs/tools';
|
||||||
|
import cornerstoneDICOMImageLoader from '@cornerstonejs/dicom-image-loader';
|
||||||
|
|
||||||
|
window.cornerstone = cornerstone;
|
||||||
|
window.cornerstoneTools = cornerstoneTools;
|
||||||
export default async function initLibraries() {
|
export default async function initLibraries() {
|
||||||
initProviders()
|
initProviders();
|
||||||
initCornerstoneDICOMImageLoader()
|
cornerstoneDICOMImageLoader.init();
|
||||||
initVolumeLoader()
|
initVolumeLoader();
|
||||||
await csRenderInit()
|
await csRenderInit({
|
||||||
await csToolsInit()
|
// peerImport,
|
||||||
|
// ...(config?.core ? config.core : {}),
|
||||||
|
});
|
||||||
|
await csToolsInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,19 +1,14 @@
|
||||||
import { volumeLoader } from '@cornerstonejs/core'
|
|
||||||
import {
|
import {
|
||||||
cornerstoneStreamingImageVolumeLoader,
|
volumeLoader,
|
||||||
cornerstoneStreamingDynamicImageVolumeLoader
|
cornerstoneStreamingImageVolumeLoader
|
||||||
} from '@cornerstonejs/streaming-image-volume-loader'
|
} from '@cornerstonejs/core';
|
||||||
|
|
||||||
export default function initVolumeLoader() {
|
export default function initVolumeLoader() {
|
||||||
volumeLoader.registerUnknownVolumeLoader(
|
volumeLoader.registerUnknownVolumeLoader(
|
||||||
cornerstoneStreamingImageVolumeLoader
|
cornerstoneStreamingImageVolumeLoader
|
||||||
)
|
);
|
||||||
volumeLoader.registerVolumeLoader(
|
volumeLoader.registerVolumeLoader(
|
||||||
'cornerstoneStreamingImageVolume',
|
'cornerstoneStreamingImageVolume',
|
||||||
cornerstoneStreamingImageVolumeLoader
|
cornerstoneStreamingImageVolumeLoader
|
||||||
)
|
);
|
||||||
volumeLoader.registerVolumeLoader(
|
|
||||||
'cornerstoneStreamingDynamicImageVolume',
|
|
||||||
cornerstoneStreamingDynamicImageVolumeLoader
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,20 +25,12 @@ const { isAnnotationLocked } = annotation.locking
|
||||||
const drawHandlesSvg = drawing.drawHandles
|
const drawHandlesSvg = drawing.drawHandles
|
||||||
const drawCircleSvg = drawing.drawCircle
|
const drawCircleSvg = drawing.drawCircle
|
||||||
const drawLinkedTextBoxSvg = drawing.drawLinkedTextBox
|
const drawLinkedTextBoxSvg = drawing.drawLinkedTextBox
|
||||||
const { triggerAnnotationRenderForViewportIds } = utilities
|
const { triggerAnnotationRenderForViewportIds, } = utilities
|
||||||
const { getTextBoxCoordsCanvas } = utilities.drawing
|
const { getTextBoxCoordsCanvas } = utilities.drawing
|
||||||
const { getViewportIdsWithToolToRender } = utilities.viewportFilters
|
const { getViewportIdsWithToolToRender } = utilities.viewportFilters
|
||||||
// const getCanvasCircleRadius
|
|
||||||
// const getCanvasCircleCorners
|
|
||||||
// const { getCanvasCircleRadius, getCanvasCircleCorners } = utilities.math.circle
|
|
||||||
import {
|
import {
|
||||||
getCalibratedLengthUnits,
|
getCalibratedAspect, getCalibratedLengthUnitsAndScale
|
||||||
getCalibratedAreaUnits,
|
|
||||||
getCalibratedScale,
|
|
||||||
getCalibratedAspect
|
|
||||||
} from './../js/getCalibratedUnits'
|
} from './../js/getCalibratedUnits'
|
||||||
import { getModalityUnit } from './../js/getModalityUnit'
|
|
||||||
import { pointInShapeCallback } from './../js/pointInShapeCallback'
|
|
||||||
import { vec3 } from 'gl-matrix'
|
import { vec3 } from 'gl-matrix'
|
||||||
class CircleROITool extends cornerstoneTools.CircleROITool {
|
class CircleROITool extends cornerstoneTools.CircleROITool {
|
||||||
static toolName;
|
static toolName;
|
||||||
|
@ -114,7 +106,8 @@ class CircleROITool extends cornerstoneTools.CircleROITool {
|
||||||
viewPlaneNormal: [...viewPlaneNormal],
|
viewPlaneNormal: [...viewPlaneNormal],
|
||||||
viewUp: [...viewUp],
|
viewUp: [...viewUp],
|
||||||
FrameOfReferenceUID,
|
FrameOfReferenceUID,
|
||||||
referencedImageId
|
referencedImageId,
|
||||||
|
...viewport.getViewReference({ points: [worldPos] }),
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
label: '',
|
label: '',
|
||||||
|
@ -126,15 +119,15 @@ class CircleROITool extends cornerstoneTools.CircleROITool {
|
||||||
topLeft: [0, 0, 0],
|
topLeft: [0, 0, 0],
|
||||||
topRight: [0, 0, 0],
|
topRight: [0, 0, 0],
|
||||||
bottomLeft: [0, 0, 0],
|
bottomLeft: [0, 0, 0],
|
||||||
bottomRight: [0, 0, 0]
|
bottomRight: [0, 0, 0],
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
points: [[...worldPos], [...worldPos]],
|
points: [[...worldPos], [...worldPos]],
|
||||||
activeHandleIndex: 1
|
activeHandleIndex: null,
|
||||||
},
|
},
|
||||||
cachedStats: {}
|
cachedStats: {},
|
||||||
}
|
},
|
||||||
}
|
};
|
||||||
addAnnotation(annotation, element)
|
addAnnotation(annotation, element)
|
||||||
|
|
||||||
const viewportIdsToRender = getViewportIdsWithToolToRender(
|
const viewportIdsToRender = getViewportIdsWithToolToRender(
|
||||||
|
@ -193,17 +186,21 @@ class CircleROITool extends cornerstoneTools.CircleROITool {
|
||||||
const { annotationUID, data } = annotation
|
const { annotationUID, data } = annotation
|
||||||
const { handles } = data
|
const { handles } = data
|
||||||
// const { points, activeHandleIndex } = handles
|
// const { points, activeHandleIndex } = handles
|
||||||
const { points } = handles
|
const { points, activeHandleIndex } = handles
|
||||||
var activeHandleIndex = null
|
// var activeHandleIndex = null
|
||||||
if (annotation.highlighted && !annotation.isLocked && annotation.isVisible) {
|
// if (annotation.highlighted && !annotation.isLocked && annotation.isVisible) {
|
||||||
activeHandleIndex = 1
|
// activeHandleIndex = 1
|
||||||
}
|
// }
|
||||||
|
|
||||||
styleSpecifier.annotationUID = annotationUID
|
styleSpecifier.annotationUID = annotationUID
|
||||||
|
const { color, lineWidth, lineDash } = this.getAnnotationStyle({
|
||||||
|
annotation,
|
||||||
|
styleSpecifier,
|
||||||
|
});
|
||||||
|
|
||||||
const lineWidth = this.getStyle('lineWidth', styleSpecifier, annotation)
|
// const lineWidth = this.getStyle('lineWidth', styleSpecifier, annotation)
|
||||||
const lineDash = this.getStyle('lineDash', styleSpecifier, annotation)
|
// const lineDash = this.getStyle('lineDash', styleSpecifier, annotation)
|
||||||
const color = this.getStyle('color', styleSpecifier, annotation)
|
// const color = this.getStyle('color', styleSpecifier, annotation)
|
||||||
|
|
||||||
const canvasCoordinates = points.map((p) =>
|
const canvasCoordinates = points.map((p) =>
|
||||||
viewport.worldToCanvas(p)
|
viewport.worldToCanvas(p)
|
||||||
|
@ -214,15 +211,15 @@ class CircleROITool extends cornerstoneTools.CircleROITool {
|
||||||
|
|
||||||
const { centerPointRadius } = this.configuration
|
const { centerPointRadius } = this.configuration
|
||||||
|
|
||||||
const modalityUnitOptions = {
|
// const modalityUnitOptions = {
|
||||||
isPreScaled: utilities.viewport.isViewportPreScaled(viewport, targetId),
|
// isPreScaled: utilities.viewport.isViewportPreScaled(viewport, targetId),
|
||||||
|
|
||||||
isSuvScaled: this.isSuvScaled(
|
// isSuvScaled: this.isSuvScaled(
|
||||||
viewport,
|
// viewport,
|
||||||
targetId,
|
// targetId,
|
||||||
annotation.metadata.referencedImageId
|
// annotation.metadata.referencedImageId
|
||||||
)
|
// )
|
||||||
}
|
// }
|
||||||
|
|
||||||
// If cachedStats does not exist, or the unit is missing (as part of import/hydration etc.),
|
// If cachedStats does not exist, or the unit is missing (as part of import/hydration etc.),
|
||||||
// force to recalculate the stats from the points
|
// force to recalculate the stats from the points
|
||||||
|
@ -246,7 +243,7 @@ class CircleROITool extends cornerstoneTools.CircleROITool {
|
||||||
viewport,
|
viewport,
|
||||||
renderingEngine,
|
renderingEngine,
|
||||||
enabledElement,
|
enabledElement,
|
||||||
modalityUnitOptions
|
// modalityUnitOptions
|
||||||
)
|
)
|
||||||
} else if (annotation.invalidated) {
|
} else if (annotation.invalidated) {
|
||||||
this._throttledCalculateCachedStats(
|
this._throttledCalculateCachedStats(
|
||||||
|
@ -254,7 +251,7 @@ class CircleROITool extends cornerstoneTools.CircleROITool {
|
||||||
viewport,
|
viewport,
|
||||||
renderingEngine,
|
renderingEngine,
|
||||||
enabledElement,
|
enabledElement,
|
||||||
modalityUnitOptions
|
// modalityUnitOptions
|
||||||
)
|
)
|
||||||
|
|
||||||
// If the invalidated data is as a result of volumeViewport manipulation
|
// If the invalidated data is as a result of volumeViewport manipulation
|
||||||
|
@ -424,155 +421,164 @@ class CircleROITool extends cornerstoneTools.CircleROITool {
|
||||||
annotation,
|
annotation,
|
||||||
viewport,
|
viewport,
|
||||||
renderingEngine,
|
renderingEngine,
|
||||||
enabledElement,
|
enabledElement
|
||||||
modalityUnitOptions
|
|
||||||
) => {
|
) => {
|
||||||
const data = annotation.data
|
const data = annotation.data;
|
||||||
const { viewportId, renderingEngineId } = enabledElement
|
const { element } = viewport;
|
||||||
|
|
||||||
const { points } = data.handles
|
const { points } = data.handles;
|
||||||
|
|
||||||
const canvasCoordinates = points.map((p) => viewport.worldToCanvas(p))
|
const canvasCoordinates = points.map((p) => viewport.worldToCanvas(p));
|
||||||
const { viewPlaneNormal, viewUp } = viewport.getCamera()
|
const { viewPlaneNormal, viewUp } = viewport.getCamera();
|
||||||
|
|
||||||
const [topLeftCanvas, bottomRightCanvas] = (
|
const [topLeftCanvas, bottomRightCanvas] = (
|
||||||
getCanvasCircleCorners(canvasCoordinates)
|
getCanvasCircleCorners(canvasCoordinates)
|
||||||
)
|
);
|
||||||
|
|
||||||
const topLeftWorld = viewport.canvasToWorld(topLeftCanvas)
|
const topLeftWorld = viewport.canvasToWorld(topLeftCanvas);
|
||||||
const bottomRightWorld = viewport.canvasToWorld(bottomRightCanvas)
|
const bottomRightWorld = viewport.canvasToWorld(bottomRightCanvas);
|
||||||
const { cachedStats } = data
|
const { cachedStats } = data;
|
||||||
|
|
||||||
|
const targetIds = Object.keys(cachedStats);
|
||||||
|
const worldPos1 = topLeftWorld;
|
||||||
|
const worldPos2 = bottomRightWorld;
|
||||||
|
|
||||||
const targetIds = Object.keys(cachedStats)
|
|
||||||
const worldPos1 = topLeftWorld
|
|
||||||
const worldPos2 = bottomRightWorld
|
|
||||||
for (let i = 0; i < targetIds.length; i++) {
|
for (let i = 0; i < targetIds.length; i++) {
|
||||||
const targetId = targetIds[i]
|
const targetId = targetIds[i];
|
||||||
|
|
||||||
const image = this.getTargetIdImage(targetId, renderingEngine)
|
const image = this.getTargetImageData(targetId);
|
||||||
|
|
||||||
// If image does not exists for the targetId, skip. This can be due
|
// If image does not exists for the targetId, skip. This can be due
|
||||||
// to various reasons such as if the target was a volumeViewport, and
|
// to various reasons such as if the target was a volumeViewport, and
|
||||||
// the volumeViewport has been decached in the meantime.
|
// the volumeViewport has been decached in the meantime.
|
||||||
if (!image) {
|
if (!image) {
|
||||||
continue
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const { dimensions, imageData, metadata } = image
|
const { dimensions, imageData, metadata, voxelManager } = image;
|
||||||
|
|
||||||
const worldPos1Index = transformWorldToIndex(imageData, worldPos1)
|
const pos1Index = transformWorldToIndex(imageData, worldPos1);
|
||||||
|
|
||||||
worldPos1Index[0] = Math.floor(worldPos1Index[0])
|
pos1Index[0] = Math.floor(pos1Index[0]);
|
||||||
worldPos1Index[1] = Math.floor(worldPos1Index[1])
|
pos1Index[1] = Math.floor(pos1Index[1]);
|
||||||
worldPos1Index[2] = Math.floor(worldPos1Index[2])
|
pos1Index[2] = Math.floor(pos1Index[2]);
|
||||||
|
|
||||||
const worldPos2Index = transformWorldToIndex(imageData, worldPos2)
|
const pos2Index = transformWorldToIndex(imageData, worldPos2);
|
||||||
|
|
||||||
worldPos2Index[0] = Math.floor(worldPos2Index[0])
|
pos2Index[0] = Math.floor(pos2Index[0]);
|
||||||
worldPos2Index[1] = Math.floor(worldPos2Index[1])
|
pos2Index[1] = Math.floor(pos2Index[1]);
|
||||||
worldPos2Index[2] = Math.floor(worldPos2Index[2])
|
pos2Index[2] = Math.floor(pos2Index[2]);
|
||||||
|
|
||||||
// Check if one of the indexes are inside the volume, this then gives us
|
// Check if one of the indexes are inside the volume, this then gives us
|
||||||
// Some area to do stats over.
|
// Some area to do stats over.
|
||||||
|
|
||||||
if (this._isInsideVolume(worldPos1Index, worldPos2Index, dimensions)) {
|
if (this._isInsideVolume(pos1Index, pos2Index, dimensions)) {
|
||||||
const iMin = Math.min(worldPos1Index[0], worldPos2Index[0])
|
const iMin = Math.min(pos1Index[0], pos2Index[0]);
|
||||||
const iMax = Math.max(worldPos1Index[0], worldPos2Index[0])
|
const iMax = Math.max(pos1Index[0], pos2Index[0]);
|
||||||
|
|
||||||
const jMin = Math.min(worldPos1Index[1], worldPos2Index[1])
|
const jMin = Math.min(pos1Index[1], pos2Index[1]);
|
||||||
const jMax = Math.max(worldPos1Index[1], worldPos2Index[1])
|
const jMax = Math.max(pos1Index[1], pos2Index[1]);
|
||||||
|
|
||||||
const kMin = Math.min(worldPos1Index[2], worldPos2Index[2])
|
const kMin = Math.min(pos1Index[2], pos2Index[2]);
|
||||||
const kMax = Math.max(worldPos1Index[2], worldPos2Index[2])
|
const kMax = Math.max(pos1Index[2], pos2Index[2]);
|
||||||
|
|
||||||
const boundsIJK = [
|
const boundsIJK = [
|
||||||
[iMin, iMax],
|
[iMin, iMax],
|
||||||
[jMin, jMax],
|
[jMin, jMax],
|
||||||
[kMin, kMax]
|
[kMin, kMax],
|
||||||
]
|
];
|
||||||
|
|
||||||
const center = [
|
const center = [
|
||||||
(topLeftWorld[0] + bottomRightWorld[0]) / 2,
|
(topLeftWorld[0] + bottomRightWorld[0]) / 2,
|
||||||
(topLeftWorld[1] + bottomRightWorld[1]) / 2,
|
(topLeftWorld[1] + bottomRightWorld[1]) / 2,
|
||||||
(topLeftWorld[2] + bottomRightWorld[2]) / 2
|
(topLeftWorld[2] + bottomRightWorld[2]) / 2,
|
||||||
]
|
];
|
||||||
|
|
||||||
const ellipseObj = {
|
const ellipseObj = {
|
||||||
center,
|
center,
|
||||||
xRadius: Math.abs(topLeftWorld[0] - bottomRightWorld[0]) / 2,
|
xRadius: Math.abs(topLeftWorld[0] - bottomRightWorld[0]) / 2,
|
||||||
yRadius: Math.abs(topLeftWorld[1] - bottomRightWorld[1]) / 2,
|
yRadius: Math.abs(topLeftWorld[1] - bottomRightWorld[1]) / 2,
|
||||||
zRadius: Math.abs(topLeftWorld[2] - bottomRightWorld[2]) / 2
|
zRadius: Math.abs(topLeftWorld[2] - bottomRightWorld[2]) / 2,
|
||||||
}
|
};
|
||||||
|
|
||||||
const { worldWidth, worldHeight } = getWorldWidthAndHeightFromTwoPoints(
|
const { worldWidth, worldHeight } = getWorldWidthAndHeightFromTwoPoints(
|
||||||
viewPlaneNormal,
|
viewPlaneNormal,
|
||||||
viewUp,
|
viewUp,
|
||||||
worldPos1,
|
worldPos1,
|
||||||
worldPos2
|
worldPos2
|
||||||
)
|
);
|
||||||
const isEmptyArea = worldWidth === 0 && worldHeight === 0
|
const isEmptyArea = worldWidth === 0 && worldHeight === 0;
|
||||||
const scale = getCalibratedScale(image)
|
const handles = [pos1Index, pos2Index];
|
||||||
const aspect = getCalibratedAspect(image)
|
const { scale, unit, areaUnit } = getCalibratedLengthUnitsAndScale(
|
||||||
|
image,
|
||||||
|
handles
|
||||||
|
);
|
||||||
|
const aspect = getCalibratedAspect(image);
|
||||||
const area = Math.abs(
|
const area = Math.abs(
|
||||||
Math.PI *
|
Math.PI *
|
||||||
(worldWidth / scale / 2) *
|
(worldWidth / scale / 2) *
|
||||||
(worldHeight / aspect / scale / 2)
|
(worldHeight / aspect / scale / 2)
|
||||||
)
|
);
|
||||||
|
|
||||||
const modalityUnit = getModalityUnit(
|
const pixelUnitsOptions = {
|
||||||
|
isPreScaled: isViewportPreScaled(viewport, targetId),
|
||||||
|
isSuvScaled: this.isSuvScaled(
|
||||||
|
viewport,
|
||||||
|
targetId,
|
||||||
|
annotation.metadata.referencedImageId
|
||||||
|
),
|
||||||
|
};
|
||||||
|
|
||||||
|
const modalityUnit = getPixelValueUnits(
|
||||||
metadata.Modality,
|
metadata.Modality,
|
||||||
annotation.metadata.referencedImageId,
|
annotation.metadata.referencedImageId,
|
||||||
modalityUnitOptions
|
pixelUnitsOptions
|
||||||
)
|
);
|
||||||
const pointsInShape = pointInShapeCallback(
|
|
||||||
imageData,
|
|
||||||
(pointLPS, pointIJK) => pointInEllipse(ellipseObj, pointLPS),
|
|
||||||
this.configuration.statsCalculator.statsCallback,
|
|
||||||
boundsIJK
|
|
||||||
)
|
|
||||||
|
|
||||||
const stats = this.configuration.statsCalculator.getStatistics()
|
const pointsInShape = voxelManager.forEach(
|
||||||
|
this.configuration.statsCalculator.statsCallback,
|
||||||
|
{
|
||||||
|
isInObject: (pointLPS) =>
|
||||||
|
pointInEllipse(ellipseObj, pointLPS, { fast: true }),
|
||||||
|
boundsIJK,
|
||||||
|
imageData,
|
||||||
|
returnPoints: this.configuration.storePointData,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
const stats = this.configuration.statsCalculator.getStatistics();
|
||||||
|
|
||||||
cachedStats[targetId] = {
|
cachedStats[targetId] = {
|
||||||
Modality: metadata.Modality,
|
Modality: metadata.Modality,
|
||||||
area,
|
area,
|
||||||
mean: stats[1] && stats[1].value ? stats[1].value : null,
|
mean: stats.mean?.value,
|
||||||
max: stats[0] && stats[0].value ? stats[0].value : null,
|
max: stats.max?.value,
|
||||||
stdDev: stats[2] && stats[2].value ? stats[2].value : null,
|
pointsInShape,
|
||||||
statsArray: stats,
|
stdDev: stats.stdDev?.value,
|
||||||
pointsInShape: pointsInShape,
|
statsArray: stats.array,
|
||||||
isEmptyArea,
|
isEmptyArea,
|
||||||
areaUnit: getCalibratedAreaUnits(null, image),
|
areaUnit,
|
||||||
radius: worldWidth / 2 / scale,
|
radius: worldWidth / 2 / scale,
|
||||||
radiusUnit: getCalibratedLengthUnits(null, image),
|
radiusUnit: unit,
|
||||||
perimeter: (2 * Math.PI * (worldWidth / 2)) / scale,
|
perimeter: (2 * Math.PI * (worldWidth / 2)) / scale,
|
||||||
modalityUnit
|
modalityUnit,
|
||||||
}
|
};
|
||||||
annotation.isHandleOutsideImage = false
|
|
||||||
} else {
|
} else {
|
||||||
this.isHandleOutsideImage = true
|
this.isHandleOutsideImage = true;
|
||||||
|
|
||||||
cachedStats[targetId] = {
|
cachedStats[targetId] = {
|
||||||
Modality: metadata.Modality,
|
Modality: metadata.Modality,
|
||||||
areaUnit: getCalibratedAreaUnits(null, image)
|
};
|
||||||
}
|
|
||||||
annotation.isHandleOutsideImage = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
annotation.invalidated = false
|
annotation.invalidated = false;
|
||||||
|
|
||||||
// Dispatching annotation modified
|
// Dispatching annotation modified
|
||||||
const eventType = Enums.Events.ANNOTATION_MODIFIED
|
triggerAnnotationModified(annotation, element);
|
||||||
|
|
||||||
const eventDetail = {
|
return cachedStats;
|
||||||
annotation,
|
};
|
||||||
viewportId,
|
|
||||||
renderingEngineId
|
|
||||||
}
|
|
||||||
triggerEvent(eventTarget, eventType, eventDetail)
|
|
||||||
|
|
||||||
return cachedStats
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getCanvasCircleCorners(
|
function getCanvasCircleCorners(
|
||||||
|
|
|
@ -2168,29 +2168,29 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.measurement-form{
|
.measurement-form{
|
||||||
/deep/ .el-form-item__label{
|
::v-deep .el-form-item__label{
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
}
|
}
|
||||||
/deep/ .el-input .el-input__inner{
|
::v-deep .el-input .el-input__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item{
|
::v-deep .el-form-item{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
/deep/ .el-input.is-disabled .el-input__inner{
|
::v-deep .el-input.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-select.is-disabled .el-input__inner{
|
::v-deep .el-select.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-button--mini, .el-button--mini.is-round {
|
::v-deep .el-button--mini, .el-button--mini.is-round {
|
||||||
padding: 7px 10px;
|
padding: 7px 10px;
|
||||||
}
|
}
|
||||||
.el-form-item__content
|
.el-form-item__content
|
||||||
|
|
|
@ -1233,12 +1233,12 @@ export default {
|
||||||
.el-collapse{
|
.el-collapse{
|
||||||
border-bottom:none;
|
border-bottom:none;
|
||||||
border-top:none;
|
border-top:none;
|
||||||
/deep/ .el-collapse-item{
|
::v-deep .el-collapse-item{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__header{
|
::v-deep .el-collapse-item__header{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border-bottom-color:#5a5a5a;
|
border-bottom-color:#5a5a5a;
|
||||||
|
@ -1246,11 +1246,11 @@ export default {
|
||||||
height: 35px;
|
height: 35px;
|
||||||
line-height: 35px;
|
line-height: 35px;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__wrap{
|
::v-deep .el-collapse-item__wrap{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__content{
|
::v-deep .el-collapse-item__content{
|
||||||
width:260px;
|
width:260px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
|
|
|
@ -782,32 +782,32 @@ export default {
|
||||||
}
|
}
|
||||||
.lesion_list{
|
.lesion_list{
|
||||||
position: relative;
|
position: relative;
|
||||||
/deep/ .el-form-item__label{
|
::v-deep .el-form-item__label{
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
/deep/ .el-input .el-input__inner{
|
::v-deep .el-input .el-input__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-textarea__inner{
|
::v-deep .el-textarea__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item{
|
::v-deep .el-form-item{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
/deep/ .el-input.is-disabled .el-input__inner{
|
::v-deep .el-input.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-select.is-disabled .el-input__inner{
|
::v-deep .el-select.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -825,48 +825,48 @@ export default {
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
background: #d0d0d0;
|
background: #d0d0d0;
|
||||||
}
|
}
|
||||||
/deep/ .el-table,
|
::v-deep .el-table,
|
||||||
.el-table__expanded-cell {
|
.el-table__expanded-cell {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color: #444444;
|
border-color: #444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table th,
|
::v-deep .el-table th,
|
||||||
.el-table tr {
|
.el-table tr {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color: #444444;
|
border-color: #444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table__body tr > td {
|
::v-deep .el-table__body tr > td {
|
||||||
background-color: #000 !important;
|
background-color: #000 !important;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color: #444444;
|
border-color: #444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table__body tr:hover > td {
|
::v-deep .el-table__body tr:hover > td {
|
||||||
background-color: #858282 !important;
|
background-color: #858282 !important;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color: #444444;
|
border-color: #444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table--border th.gutter:last-of-type {
|
::v-deep .el-table--border th.gutter:last-of-type {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
/deep/ .el-table__fixed-right {
|
::v-deep .el-table__fixed-right {
|
||||||
height: 100% !important;
|
height: 100% !important;
|
||||||
}
|
}
|
||||||
// /deep/ .el-table .cell {
|
// ::v-deep .el-table .cell {
|
||||||
// line-height: 20px;
|
// line-height: 20px;
|
||||||
// }
|
// }
|
||||||
/deep/ .el-table__cell {
|
::v-deep .el-table__cell {
|
||||||
padding: 5px 0;
|
padding: 5px 0;
|
||||||
}
|
}
|
||||||
/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;
|
||||||
}
|
}
|
||||||
/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;
|
||||||
}
|
}
|
||||||
/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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -273,7 +273,7 @@ export default {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.disabled{
|
.disabled{
|
||||||
/deep/ .el-upload--picture-card {
|
::v-deep .el-upload--picture-card {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -282,16 +282,16 @@ export default {
|
||||||
flex-direction: column !important;
|
flex-direction: column !important;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
/deep/ .el-input.is-disabled .el-input__inner{
|
::v-deep .el-input.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-input-group__append, .el-input-group__prepend{
|
::v-deep .el-input-group__append, .el-input-group__prepend{
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content {
|
::v-deep .el-form-item__content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
/deep/ .el-select.is-disabled .el-input__inner{
|
::v-deep .el-select.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -1838,33 +1838,33 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.measurement-form{
|
.measurement-form{
|
||||||
/deep/ .el-form-item__label{
|
::v-deep .el-form-item__label{
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
}
|
}
|
||||||
/deep/ .el-input .el-input__inner{
|
::v-deep .el-input .el-input__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item{
|
::v-deep .el-form-item{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
/deep/ .el-input.is-disabled .el-input__inner{
|
::v-deep .el-input.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-input-group__append, .el-input-group__prepend{
|
::v-deep .el-input-group__append, .el-input-group__prepend{
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
}
|
}
|
||||||
/deep/ .el-select.is-disabled .el-input__inner{
|
::v-deep .el-select.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-button--mini, .el-button--mini.is-round {
|
::v-deep .el-button--mini, .el-button--mini.is-round {
|
||||||
padding: 7px 10px;
|
padding: 7px 10px;
|
||||||
}
|
}
|
||||||
.el-form-item__content
|
.el-form-item__content
|
||||||
|
@ -1878,7 +1878,7 @@ export default {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
}
|
}
|
||||||
.suv_viewer{
|
.suv_viewer{
|
||||||
/deep/ .viewer-play {
|
::v-deep .viewer-play {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1407,12 +1407,12 @@ export default {
|
||||||
.el-collapse{
|
.el-collapse{
|
||||||
border-bottom:none;
|
border-bottom:none;
|
||||||
border-top:none;
|
border-top:none;
|
||||||
/deep/ .el-collapse-item{
|
::v-deep .el-collapse-item{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__header{
|
::v-deep .el-collapse-item__header{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border-bottom-color:#5a5a5a;
|
border-bottom-color:#5a5a5a;
|
||||||
|
@ -1420,11 +1420,11 @@ export default {
|
||||||
height: 35px;
|
height: 35px;
|
||||||
line-height: 35px;
|
line-height: 35px;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__wrap{
|
::v-deep .el-collapse-item__wrap{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__content{
|
::v-deep .el-collapse-item__content{
|
||||||
width:260px;
|
width:260px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
|
@ -1440,24 +1440,24 @@ export default {
|
||||||
}
|
}
|
||||||
.merge-table{
|
.merge-table{
|
||||||
padding:0 10px;
|
padding:0 10px;
|
||||||
/deep/.el-table{
|
::v-deep.el-table{
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
color: #383838;
|
color: #383838;
|
||||||
}
|
}
|
||||||
/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 #383838;
|
border-bottom: 1px solid #383838;
|
||||||
}
|
}
|
||||||
.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;
|
||||||
}
|
}
|
||||||
/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;
|
||||||
border-bottom: 1px solid #383838;
|
border-bottom: 1px solid #383838;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/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;
|
||||||
|
@ -1466,7 +1466,7 @@ export default {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/deep/.el-table__empty-block{
|
::v-deep.el-table__empty-block{
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
.merge-label{
|
.merge-label{
|
||||||
|
|
|
@ -837,32 +837,32 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.measurement-form{
|
.measurement-form{
|
||||||
/deep/ .el-form-item__label{
|
::v-deep .el-form-item__label{
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
}
|
}
|
||||||
/deep/ .el-input .el-input__inner{
|
::v-deep .el-input .el-input__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item{
|
::v-deep .el-form-item{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
/deep/ .el-input.is-disabled .el-input__inner{
|
::v-deep .el-input.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-select.is-disabled .el-input__inner{
|
::v-deep .el-select.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-button--mini, .el-button--mini.is-round {
|
::v-deep .el-button--mini, .el-button--mini.is-round {
|
||||||
padding: 7px 10px;
|
padding: 7px 10px;
|
||||||
}
|
}
|
||||||
/deep/ .el-input-group__append, .el-input-group__prepend {
|
::v-deep .el-input-group__append, .el-input-group__prepend {
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
}
|
}
|
||||||
.el-form-item__content
|
.el-form-item__content
|
||||||
|
|
|
@ -583,12 +583,12 @@ export default {
|
||||||
.el-collapse{
|
.el-collapse{
|
||||||
border-bottom:none;
|
border-bottom:none;
|
||||||
border-top:none;
|
border-top:none;
|
||||||
/deep/ .el-collapse-item{
|
::v-deep .el-collapse-item{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__header{
|
::v-deep .el-collapse-item__header{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border-bottom-color:#5a5a5a;
|
border-bottom-color:#5a5a5a;
|
||||||
|
@ -596,11 +596,11 @@ export default {
|
||||||
height: 35px;
|
height: 35px;
|
||||||
line-height: 35px;
|
line-height: 35px;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__wrap{
|
::v-deep .el-collapse-item__wrap{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__content{
|
::v-deep .el-collapse-item__content{
|
||||||
width:260px;
|
width:260px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
|
|
|
@ -795,32 +795,32 @@ export default {
|
||||||
}
|
}
|
||||||
.lesion_list{
|
.lesion_list{
|
||||||
position: relative;
|
position: relative;
|
||||||
/deep/ .el-form-item__label{
|
::v-deep .el-form-item__label{
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
/deep/ .el-input .el-input__inner{
|
::v-deep .el-input .el-input__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-textarea__inner{
|
::v-deep .el-textarea__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item{
|
::v-deep .el-form-item{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
/deep/ .el-input.is-disabled .el-input__inner{
|
::v-deep .el-input.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-select.is-disabled .el-input__inner{
|
::v-deep .el-select.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -838,48 +838,48 @@ export default {
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
background: #d0d0d0;
|
background: #d0d0d0;
|
||||||
}
|
}
|
||||||
/deep/ .el-table,
|
::v-deep .el-table,
|
||||||
.el-table__expanded-cell {
|
.el-table__expanded-cell {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color: #444444;
|
border-color: #444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table th,
|
::v-deep .el-table th,
|
||||||
.el-table tr {
|
.el-table tr {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color: #444444;
|
border-color: #444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table__body tr > td {
|
::v-deep .el-table__body tr > td {
|
||||||
background-color: #000 !important;
|
background-color: #000 !important;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color: #444444;
|
border-color: #444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table__body tr:hover > td {
|
::v-deep .el-table__body tr:hover > td {
|
||||||
background-color: #858282 !important;
|
background-color: #858282 !important;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color: #444444;
|
border-color: #444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table--border th.gutter:last-of-type {
|
::v-deep .el-table--border th.gutter:last-of-type {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
/deep/ .el-table__fixed-right {
|
::v-deep .el-table__fixed-right {
|
||||||
height: 100% !important;
|
height: 100% !important;
|
||||||
}
|
}
|
||||||
// /deep/ .el-table .cell {
|
// ::v-deep .el-table .cell {
|
||||||
// line-height: 20px;
|
// line-height: 20px;
|
||||||
// }
|
// }
|
||||||
/deep/ .el-table__cell {
|
::v-deep .el-table__cell {
|
||||||
padding: 5px 0;
|
padding: 5px 0;
|
||||||
}
|
}
|
||||||
/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;
|
||||||
}
|
}
|
||||||
/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;
|
||||||
}
|
}
|
||||||
/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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -273,7 +273,7 @@ export default {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.disabled{
|
.disabled{
|
||||||
/deep/ .el-upload--picture-card {
|
::v-deep .el-upload--picture-card {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -282,16 +282,16 @@ export default {
|
||||||
flex-direction: column !important;
|
flex-direction: column !important;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
/deep/ .el-input.is-disabled .el-input__inner{
|
::v-deep .el-input.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-input-group__append, .el-input-group__prepend{
|
::v-deep .el-input-group__append, .el-input-group__prepend{
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content {
|
::v-deep .el-form-item__content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
/deep/ .el-select.is-disabled .el-input__inner{
|
::v-deep .el-select.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -892,26 +892,26 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.measurement-form{
|
.measurement-form{
|
||||||
/deep/ .el-form-item__label{
|
::v-deep .el-form-item__label{
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
}
|
}
|
||||||
/deep/ .el-input .el-input__inner{
|
::v-deep .el-input .el-input__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item{
|
::v-deep .el-form-item{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
/deep/ .el-input.is-disabled .el-input__inner{
|
::v-deep .el-input.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-select.is-disabled .el-input__inner{
|
::v-deep .el-select.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
.el-form-item__content
|
.el-form-item__content
|
||||||
|
|
|
@ -855,12 +855,12 @@ export default {
|
||||||
.el-collapse{
|
.el-collapse{
|
||||||
border-bottom:none;
|
border-bottom:none;
|
||||||
border-top:none;
|
border-top:none;
|
||||||
/deep/ .el-collapse-item{
|
::v-deep .el-collapse-item{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__header{
|
::v-deep .el-collapse-item__header{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border-bottom-color:#5a5a5a;
|
border-bottom-color:#5a5a5a;
|
||||||
|
@ -868,11 +868,11 @@ export default {
|
||||||
height: 35px;
|
height: 35px;
|
||||||
line-height: 35px;
|
line-height: 35px;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__wrap{
|
::v-deep .el-collapse-item__wrap{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__content{
|
::v-deep .el-collapse-item__content{
|
||||||
width:260px;
|
width:260px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
|
|
|
@ -483,7 +483,7 @@ export default {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.disabled{
|
.disabled{
|
||||||
/deep/ .el-upload--picture-card {
|
::v-deep .el-upload--picture-card {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -492,16 +492,16 @@ export default {
|
||||||
flex-direction: column !important;
|
flex-direction: column !important;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
/deep/ .el-input.is-disabled .el-input__inner{
|
::v-deep .el-input.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-input-group__append, .el-input-group__prepend{
|
::v-deep .el-input-group__append, .el-input-group__prepend{
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content {
|
::v-deep .el-form-item__content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
/deep/ .el-select.is-disabled .el-input__inner{
|
::v-deep .el-select.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -857,34 +857,34 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.ecrf-wrapper{
|
.ecrf-wrapper{
|
||||||
/deep/ .el-form-item__label{
|
::v-deep .el-form-item__label{
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
/deep/ .el-input__inner{
|
::v-deep .el-input__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-textarea__inner{
|
::v-deep .el-textarea__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .el-form-item{
|
::v-deep .el-form-item{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
/deep/ .el-button--mini, .el-button--mini.is-round {
|
::v-deep .el-button--mini, .el-button--mini.is-round {
|
||||||
padding: 7px 10px;
|
padding: 7px 10px;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content
|
::v-deep .el-form-item__content
|
||||||
.el-select{
|
.el-select{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
|
@ -586,7 +586,7 @@ export default {
|
||||||
// border: 1px solid #ccc;
|
// border: 1px solid #ccc;
|
||||||
|
|
||||||
}
|
}
|
||||||
/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%;
|
||||||
|
@ -629,7 +629,7 @@ export default {
|
||||||
background-color: #607d8b!important;
|
background-color: #607d8b!important;
|
||||||
border: 1px solid #607d8b!important;
|
border: 1px solid #607d8b!important;
|
||||||
}
|
}
|
||||||
/deep/.el-progress__text{
|
::v-deep.el-progress__text{
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1501,29 +1501,29 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.measurement-form{
|
.measurement-form{
|
||||||
/deep/ .el-form-item__label{
|
::v-deep .el-form-item__label{
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
}
|
}
|
||||||
/deep/ .el-input .el-input__inner{
|
::v-deep .el-input .el-input__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item{
|
::v-deep .el-form-item{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
/deep/ .el-input.is-disabled .el-input__inner{
|
::v-deep .el-input.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-select.is-disabled .el-input__inner{
|
::v-deep .el-select.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-button--mini, .el-button--mini.is-round {
|
::v-deep .el-button--mini, .el-button--mini.is-round {
|
||||||
padding: 7px 10px;
|
padding: 7px 10px;
|
||||||
}
|
}
|
||||||
.el-form-item__content
|
.el-form-item__content
|
||||||
|
|
|
@ -1115,12 +1115,12 @@ export default {
|
||||||
.el-collapse{
|
.el-collapse{
|
||||||
border-bottom:none;
|
border-bottom:none;
|
||||||
border-top:none;
|
border-top:none;
|
||||||
/deep/ .el-collapse-item{
|
::v-deep .el-collapse-item{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__header{
|
::v-deep .el-collapse-item__header{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border-bottom-color:#5a5a5a;
|
border-bottom-color:#5a5a5a;
|
||||||
|
@ -1128,11 +1128,11 @@ export default {
|
||||||
height: 35px;
|
height: 35px;
|
||||||
line-height: 35px;
|
line-height: 35px;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__wrap{
|
::v-deep .el-collapse-item__wrap{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__content{
|
::v-deep .el-collapse-item__content{
|
||||||
width:260px;
|
width:260px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
|
|
|
@ -1182,29 +1182,29 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.measurement-form{
|
.measurement-form{
|
||||||
/deep/ .el-form-item__label{
|
::v-deep .el-form-item__label{
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
}
|
}
|
||||||
/deep/ .el-input .el-input__inner{
|
::v-deep .el-input .el-input__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item{
|
::v-deep .el-form-item{
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
/deep/ .el-input.is-disabled .el-input__inner{
|
::v-deep .el-input.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-select.is-disabled .el-input__inner{
|
::v-deep .el-select.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-button--mini, .el-button--mini.is-round {
|
::v-deep .el-button--mini, .el-button--mini.is-round {
|
||||||
padding: 7px 10px;
|
padding: 7px 10px;
|
||||||
}
|
}
|
||||||
.el-form-item__content
|
.el-form-item__content
|
||||||
|
|
|
@ -1044,12 +1044,12 @@ export default {
|
||||||
.el-collapse{
|
.el-collapse{
|
||||||
border-bottom:none;
|
border-bottom:none;
|
||||||
border-top:none;
|
border-top:none;
|
||||||
/deep/ .el-collapse-item{
|
::v-deep .el-collapse-item{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__header{
|
::v-deep .el-collapse-item__header{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border-bottom-color:#5a5a5a;
|
border-bottom-color:#5a5a5a;
|
||||||
|
@ -1057,11 +1057,11 @@ export default {
|
||||||
height: 35px;
|
height: 35px;
|
||||||
line-height: 35px;
|
line-height: 35px;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__wrap{
|
::v-deep .el-collapse-item__wrap{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__content{
|
::v-deep .el-collapse-item__content{
|
||||||
width:260px;
|
width:260px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
|
|
|
@ -904,57 +904,57 @@ export default {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
border:none;
|
border:none;
|
||||||
/deep/ .el-card__body{
|
::v-deep .el-card__body{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// /deep/ .el-table__cell{
|
// ::v-deep .el-table__cell{
|
||||||
// background-color: #000;
|
// background-color: #000;
|
||||||
// color: #ffffff;
|
// color: #ffffff;
|
||||||
// }
|
// }
|
||||||
// /deep/ .el-table{
|
// ::v-deep .el-table{
|
||||||
// background-color: #000;
|
// background-color: #000;
|
||||||
// color: #ffffff;
|
// color: #ffffff;
|
||||||
// }
|
// }
|
||||||
// /deep/ .el-table__cell{
|
// ::v-deep .el-table__cell{
|
||||||
// background-color: #000;
|
// background-color: #000;
|
||||||
// color: #ffffff;
|
// color: #ffffff;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
/deep/ .el-table, .el-table__expanded-cell {
|
::v-deep .el-table, .el-table__expanded-cell {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color:#444444;
|
border-color:#444444;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .el-table th, .el-table tr {
|
::v-deep .el-table th, .el-table tr {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color:#444444;
|
border-color:#444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table__body tr > td{
|
::v-deep .el-table__body tr > td{
|
||||||
background-color:#000 !important;
|
background-color:#000 !important;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color:#444444;
|
border-color:#444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table__body tr:hover > td{
|
::v-deep .el-table__body tr:hover > td{
|
||||||
background-color:#858282 !important;
|
background-color:#858282 !important;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color:#444444;
|
border-color:#444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table--border th.gutter:last-of-type{
|
::v-deep .el-table--border th.gutter:last-of-type{
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
/deep/ .el-card__header{
|
::v-deep .el-card__header{
|
||||||
border: none;
|
border: none;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/deep/ .el-switch__label{
|
::v-deep .el-switch__label{
|
||||||
color:#fff;
|
color:#fff;
|
||||||
}
|
}
|
||||||
/deep/ .el-switch__label.is-active{
|
::v-deep .el-switch__label.is-active{
|
||||||
color: #428bca;
|
color: #428bca;
|
||||||
}
|
}
|
||||||
.colorOfRed{
|
.colorOfRed{
|
||||||
|
|
|
@ -918,7 +918,7 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.study-wrapper{
|
.study-wrapper{
|
||||||
/deep/ .el-progress-bar__inner{
|
::v-deep .el-progress-bar__inner{
|
||||||
transition: width 0s ease;
|
transition: width 0s ease;
|
||||||
}
|
}
|
||||||
width:100%;
|
width:100%;
|
||||||
|
@ -941,7 +941,7 @@ export default {
|
||||||
background-color: #607d8b!important;
|
background-color: #607d8b!important;
|
||||||
border: 1px solid #607d8b!important;
|
border: 1px solid #607d8b!important;
|
||||||
}
|
}
|
||||||
/deep/.el-progress__text{
|
::v-deep.el-progress__text{
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
@ -1011,7 +1011,7 @@ export default {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/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;
|
||||||
|
@ -1032,7 +1032,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.sr-wrapper{
|
.sr-wrapper{
|
||||||
/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;
|
||||||
|
@ -1040,12 +1040,12 @@ export default {
|
||||||
color:#fff;
|
color:#fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/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%;
|
||||||
}
|
}
|
||||||
/deep/.el-dialog__body{
|
::v-deep.el-dialog__body{
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
height: calc(100% - 50px);
|
height: calc(100% - 50px);
|
||||||
}
|
}
|
||||||
|
@ -1053,7 +1053,7 @@ export default {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
.sr-full-dialog-container{
|
.sr-full-dialog-container{
|
||||||
/deep/.is-fullscreen .el-dialog__body{
|
::v-deep.is-fullscreen .el-dialog__body{
|
||||||
height: calc(100% - 50px);
|
height: calc(100% - 50px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -133,7 +133,7 @@ export default {
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.wl-container {
|
.wl-container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
// /deep/ .el-table{
|
// ::v-deep .el-table{
|
||||||
// background-color: #1e1e1e !important;
|
// background-color: #1e1e1e !important;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
@ -157,7 +157,7 @@ export default {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// /deep/ .el-table th,.el-table tr{
|
// ::v-deep .el-table th,.el-table tr{
|
||||||
// background-color: #1e1e1e !important;
|
// background-color: #1e1e1e !important;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
|
@ -2615,12 +2615,12 @@ export default {
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
.personal_config {
|
.personal_config {
|
||||||
/deep/ .el-tabs__content {
|
::v-deep .el-tabs__content {
|
||||||
height: 450px;
|
height: 450px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/deep/ .manuals-dialog-container {
|
::v-deep .manuals-dialog-container {
|
||||||
margin-top: 50px !important;
|
margin-top: 50px !important;
|
||||||
width: 75%;
|
width: 75%;
|
||||||
height: 80%;
|
height: 80%;
|
||||||
|
@ -2632,7 +2632,7 @@ export default {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/deep/ .manuals-full-dialog-container {
|
::v-deep .manuals-full-dialog-container {
|
||||||
.el-dialog__body {
|
.el-dialog__body {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
height: calc(100% - 50px) !important;
|
height: calc(100% - 50px) !important;
|
||||||
|
|
|
@ -515,12 +515,12 @@ export default {
|
||||||
}
|
}
|
||||||
.el-collapse{
|
.el-collapse{
|
||||||
border-bottom:none;
|
border-bottom:none;
|
||||||
/deep/ .el-collapse-item{
|
::v-deep .el-collapse-item{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__header{
|
::v-deep .el-collapse-item__header{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border-bottom-color:#5a5a5a;
|
border-bottom-color:#5a5a5a;
|
||||||
|
@ -528,11 +528,11 @@ export default {
|
||||||
height: 35px;
|
height: 35px;
|
||||||
line-height: 35px;
|
line-height: 35px;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__wrap{
|
::v-deep .el-collapse-item__wrap{
|
||||||
background-color: #000!important;
|
background-color: #000!important;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__content{
|
::v-deep .el-collapse-item__content{
|
||||||
width:260px;
|
width:260px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
|
|
|
@ -990,34 +990,34 @@ export default {
|
||||||
.my_dialog{
|
.my_dialog{
|
||||||
.criterion-form-item{
|
.criterion-form-item{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
///deep/ .el-input-goup__append{
|
//::v-deep .el-input-goup__append{
|
||||||
// background-color: transparent;
|
// background-color: transparent;
|
||||||
// color: #ddd;
|
// color: #ddd;
|
||||||
// border: 1px solid #5e5e5e;
|
// border: 1px solid #5e5e5e;
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__label{
|
::v-deep .el-form-item__label{
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
}
|
}
|
||||||
/deep/ .el-radio__label{
|
::v-deep .el-radio__label{
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
}
|
}
|
||||||
/deep/ .el-input-group__append{
|
::v-deep .el-input-group__append{
|
||||||
background: #000;
|
background: #000;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
/deep/ .el-input .el-input__inner{
|
::v-deep .el-input .el-input__inner{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: 1px solid #5e5e5e;
|
border: 1px solid #5e5e5e;
|
||||||
}
|
}
|
||||||
.criterion-form-item{
|
.criterion-form-item{
|
||||||
/deep/ .criterion-form-item .el-form-item{
|
::v-deep .criterion-form-item .el-form-item{
|
||||||
display: block;
|
display: block;
|
||||||
.el-form-item__label{
|
.el-form-item__label{
|
||||||
display: block;
|
display: block;
|
||||||
|
@ -1031,7 +1031,7 @@ export default {
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
}
|
}
|
||||||
.el-input{
|
.el-input{
|
||||||
width:100%;
|
width:100%;
|
||||||
|
@ -1040,7 +1040,7 @@ export default {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.disabled{
|
.disabled{
|
||||||
/deep/ .el-upload--picture-card {
|
::v-deep .el-upload--picture-card {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1050,13 +1050,13 @@ export default {
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/deep/ .el-table__body-wrapper::-webkit-scrollbar{
|
::v-deep .el-table__body-wrapper::-webkit-scrollbar{
|
||||||
height: 10px!important;
|
height: 10px!important;
|
||||||
}
|
}
|
||||||
/deep/ .el-table__fixed-right::before{
|
::v-deep .el-table__fixed-right::before{
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
/deep/ .el-upload-list__item-name{
|
::v-deep .el-upload-list__item-name{
|
||||||
color: #0a84ff;
|
color: #0a84ff;
|
||||||
.el-icon-document{
|
.el-icon-document{
|
||||||
color: #0a84ff;
|
color: #0a84ff;
|
||||||
|
|
|
@ -341,7 +341,7 @@ export default {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.disabled{
|
.disabled{
|
||||||
/deep/ .el-upload--picture-card {
|
::v-deep .el-upload--picture-card {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -350,10 +350,10 @@ export default {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
/deep/ .el-input.is-disabled .el-input__inner{
|
::v-deep .el-input.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
/deep/ .el-select.is-disabled .el-input__inner{
|
::v-deep .el-select.is-disabled .el-input__inner{
|
||||||
background-color: #646464a1;
|
background-color: #646464a1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -568,7 +568,7 @@ export default {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.my_dialog{
|
.my_dialog{
|
||||||
.criterion-form-item{
|
.criterion-form-item{
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -579,7 +579,7 @@ export default {
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
width: 500px;
|
width: 500px;
|
||||||
}
|
}
|
||||||
.el-input{
|
.el-input{
|
||||||
|
@ -589,7 +589,7 @@ export default {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.disabled{
|
.disabled{
|
||||||
/deep/ .el-upload--picture-card {
|
::v-deep .el-upload--picture-card {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -715,33 +715,33 @@ export default {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
/deep/ .el-table,
|
::v-deep .el-table,
|
||||||
.el-table__expanded-cell {
|
.el-table__expanded-cell {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color: #444444;
|
border-color: #444444;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .el-table th,
|
::v-deep .el-table th,
|
||||||
.el-table tr {
|
.el-table tr {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color: #444444;
|
border-color: #444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table__body tr > td {
|
::v-deep .el-table__body tr > td {
|
||||||
background-color: #000 !important;
|
background-color: #000 !important;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color: #444444;
|
border-color: #444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table__body tr:hover > td {
|
::v-deep .el-table__body tr:hover > td {
|
||||||
background-color: #858282 !important;
|
background-color: #858282 !important;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color: #444444;
|
border-color: #444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table--border th.gutter:last-of-type {
|
::v-deep .el-table--border th.gutter:last-of-type {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
/deep/ .el-card__header {
|
::v-deep .el-card__header {
|
||||||
border: none;
|
border: none;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
@ -796,18 +796,18 @@ export default {
|
||||||
.el-tabs__item {
|
.el-tabs__item {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
/deep/ .el-tabs__header {
|
::v-deep .el-tabs__header {
|
||||||
height: 55px;
|
height: 55px;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
/deep/ .el-tabs__content {
|
::v-deep .el-tabs__content {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
/deep/ .el-tabs__item {
|
::v-deep .el-tabs__item {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -827,7 +827,7 @@ export default {
|
||||||
background-color: #607d8b !important;
|
background-color: #607d8b !important;
|
||||||
border: 1px solid #607d8b !important;
|
border: 1px solid #607d8b !important;
|
||||||
}
|
}
|
||||||
/deep/ .el-progress__text {
|
::v-deep .el-progress__text {
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -892,61 +892,61 @@ export default {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
border:none;
|
border:none;
|
||||||
}
|
}
|
||||||
// /deep/ .el-table__cell{
|
// ::v-deep .el-table__cell{
|
||||||
// background-color: #000;
|
// background-color: #000;
|
||||||
// color: #ffffff;
|
// color: #ffffff;
|
||||||
// }
|
// }
|
||||||
// /deep/ .el-table{
|
// ::v-deep .el-table{
|
||||||
// background-color: #000;
|
// background-color: #000;
|
||||||
// color: #ffffff;
|
// color: #ffffff;
|
||||||
// }
|
// }
|
||||||
// /deep/ .el-table__cell{
|
// ::v-deep .el-table__cell{
|
||||||
// background-color: #000;
|
// background-color: #000;
|
||||||
// color: #ffffff;
|
// color: #ffffff;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
/deep/ .el-table, .el-table__expanded-cell {
|
::v-deep .el-table, .el-table__expanded-cell {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color:#444444;
|
border-color:#444444;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .el-table th, .el-table tr {
|
::v-deep .el-table th, .el-table tr {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color:#444444;
|
border-color:#444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table__body tr > td{
|
::v-deep .el-table__body tr > td{
|
||||||
background-color:#000 !important;
|
background-color:#000 !important;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color:#444444;
|
border-color:#444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table__body tr:hover > td{
|
::v-deep .el-table__body tr:hover > td{
|
||||||
background-color:#858282 !important;
|
background-color:#858282 !important;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color:#444444;
|
border-color:#444444;
|
||||||
}
|
}
|
||||||
/deep/ .el-table--border th.gutter:last-of-type{
|
::v-deep .el-table--border th.gutter:last-of-type{
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
/deep/ .el-card__header{
|
::v-deep .el-card__header{
|
||||||
border: none;
|
border: none;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
/deep/ .el-upload-list--picture-card .el-upload-list__item{
|
::v-deep .el-upload-list--picture-card .el-upload-list__item{
|
||||||
width: 30px;
|
width: 30px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
}
|
}
|
||||||
/deep/ .el-upload--picture-card{
|
::v-deep .el-upload--picture-card{
|
||||||
width: 30px;
|
width: 30px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/deep/ .el-switch__label{
|
::v-deep .el-switch__label{
|
||||||
color:#fff;
|
color:#fff;
|
||||||
}
|
}
|
||||||
/deep/ .el-switch__label.is-active{
|
::v-deep .el-switch__label.is-active{
|
||||||
color: #428bca;
|
color: #428bca;
|
||||||
}
|
}
|
||||||
.uploadWrapper{
|
.uploadWrapper{
|
||||||
|
|
|
@ -166,7 +166,7 @@ name: "CustomizeReportPageUpload",
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.disabled{
|
.disabled{
|
||||||
/deep/ .el-upload--picture-card {
|
::v-deep .el-upload--picture-card {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -854,7 +854,7 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.study-wrapper{
|
.study-wrapper{
|
||||||
/deep/ .el-progress-bar__inner{
|
::v-deep .el-progress-bar__inner{
|
||||||
transition: width 0s ease;
|
transition: width 0s ease;
|
||||||
}
|
}
|
||||||
width:100%;
|
width:100%;
|
||||||
|
@ -877,7 +877,7 @@ export default {
|
||||||
background-color: #607d8b!important;
|
background-color: #607d8b!important;
|
||||||
border: 1px solid #607d8b!important;
|
border: 1px solid #607d8b!important;
|
||||||
}
|
}
|
||||||
/deep/.el-progress__text{
|
::v-deep.el-progress__text{
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
@ -946,7 +946,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/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;
|
||||||
|
@ -967,7 +967,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.sr-wrapper{
|
.sr-wrapper{
|
||||||
/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;
|
||||||
|
@ -975,12 +975,12 @@ export default {
|
||||||
color:#fff;
|
color:#fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/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%;
|
||||||
}
|
}
|
||||||
/deep/.el-dialog__body{
|
::v-deep.el-dialog__body{
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
height: calc(100% - 50px);
|
height: calc(100% - 50px);
|
||||||
}
|
}
|
||||||
|
@ -988,7 +988,7 @@ export default {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
.sr-full-dialog-container{
|
.sr-full-dialog-container{
|
||||||
/deep/.is-fullscreen .el-dialog__body{
|
::v-deep.is-fullscreen .el-dialog__body{
|
||||||
height: calc(100% - 50px);
|
height: calc(100% - 50px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -133,7 +133,7 @@ export default {
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.wl-container {
|
.wl-container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
// /deep/ .el-table{
|
// ::v-deep .el-table{
|
||||||
// background-color: #1e1e1e !important;
|
// background-color: #1e1e1e !important;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
@ -157,7 +157,7 @@ export default {
|
||||||
background-color: #1e1e1e !important;
|
background-color: #1e1e1e !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// /deep/ .el-table th,.el-table tr{
|
// ::v-deep .el-table th,.el-table tr{
|
||||||
// background-color: #1e1e1e !important;
|
// background-color: #1e1e1e !important;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
|
@ -505,7 +505,7 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
/deep/.el-message-box__headerbtn{
|
::v-deep.el-message-box__headerbtn{
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
.dicom-container{
|
.dicom-container{
|
||||||
|
@ -515,7 +515,7 @@ export default {
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
/deep/.el-tabs{
|
::v-deep.el-tabs{
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -541,20 +541,20 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
/deep/.hot-keys-label{
|
::v-deep.hot-keys-label{
|
||||||
color: #dfdfdf !important;
|
color: #dfdfdf !important;
|
||||||
}
|
}
|
||||||
/deep/.shortcut-key-input span{
|
::v-deep.shortcut-key-input span{
|
||||||
color: #dfdfdf !important;
|
color: #dfdfdf !important;
|
||||||
}
|
}
|
||||||
// /deep/ .el-dialog{
|
// ::v-deep .el-dialog{
|
||||||
// background: #1e1e1e;
|
// background: #1e1e1e;
|
||||||
// /deep/ .el-dialog__body{
|
// ::v-deep .el-dialog__body{
|
||||||
// padding: 10px;
|
// padding: 10px;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// }
|
// }
|
||||||
/deep/.el-dialog{
|
::v-deep.el-dialog{
|
||||||
background: #1e1e1e;
|
background: #1e1e1e;
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
|
@ -575,12 +575,12 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
/deep/.dialog-container{
|
::v-deep.dialog-container{
|
||||||
margin-top: 50px !important;
|
margin-top: 50px !important;
|
||||||
width:75%;
|
width:75%;
|
||||||
height:80%;
|
height:80%;
|
||||||
}
|
}
|
||||||
/deep/.el-dialog__body{
|
::v-deep.el-dialog__body{
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
height: calc(100% - 70px);
|
height: calc(100% - 70px);
|
||||||
}
|
}
|
||||||
|
@ -590,7 +590,7 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.full-dialog-container{
|
.full-dialog-container{
|
||||||
/deep/.is-fullscreen .el-dialog__body{
|
::v-deep.is-fullscreen .el-dialog__body{
|
||||||
height: calc(100% - 70px);
|
height: calc(100% - 70px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -218,7 +218,7 @@ export default {
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
background: #d0d0d0;
|
background: #d0d0d0;
|
||||||
}
|
}
|
||||||
/deep/ .el-card__body{
|
::v-deep .el-card__body{
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -232,7 +232,7 @@ export default {
|
||||||
width:240px;
|
width:240px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
/deep/ .el-card__body{
|
::v-deep .el-card__body{
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -251,18 +251,18 @@ export default {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
/deep/ .el-tabs{
|
::v-deep .el-tabs{
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display:flex;
|
display:flex;
|
||||||
|
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
/deep/ .el-tabs__header{
|
::v-deep .el-tabs__header{
|
||||||
height: 40px;
|
height: 40px;
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
/deep/ .el-tabs__content{
|
::v-deep .el-tabs__content{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
|
@ -300,7 +300,7 @@ export default {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
/deep/ .el-card__body{
|
::v-deep .el-card__body{
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
|
@ -409,23 +409,23 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
/deep/ .el-form-item label:before {
|
::v-deep .el-form-item label:before {
|
||||||
content: '*';
|
content: '*';
|
||||||
color: #F56C6C;
|
color: #F56C6C;
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
/deep/ .el-textarea .el-input__count{
|
::v-deep .el-textarea .el-input__count{
|
||||||
background: rgba(0,0,0,0);
|
background: rgba(0,0,0,0);
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item{
|
::v-deep .el-form-item{
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.global-form{
|
.global-form{
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
padding-bottom: 10px;
|
padding-bottom: 10px;
|
||||||
}
|
}
|
||||||
/deep/ .form-item .el-form-item__error{
|
::v-deep .form-item .el-form-item__error{
|
||||||
top: 60%;
|
top: 60%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -464,23 +464,23 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
/deep/ .el-form-item label:before {
|
::v-deep .el-form-item label:before {
|
||||||
content: '*';
|
content: '*';
|
||||||
color: #F56C6C;
|
color: #F56C6C;
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
/deep/ .el-textarea .el-input__count{
|
::v-deep .el-textarea .el-input__count{
|
||||||
background: rgba(0,0,0,0);
|
background: rgba(0,0,0,0);
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
}
|
}
|
||||||
/deep/ .el-form-item{
|
::v-deep .el-form-item{
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.global-form{
|
.global-form{
|
||||||
/deep/ .el-form-item__content{
|
::v-deep .el-form-item__content{
|
||||||
padding-bottom: 10px;
|
padding-bottom: 10px;
|
||||||
}
|
}
|
||||||
/deep/ .form-item .el-form-item__error{
|
::v-deep .form-item .el-form-item__error{
|
||||||
top: 60%;
|
top: 60%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue