1
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
7a91ccac80
commit
17f738aa5d
|
|
@ -26,8 +26,9 @@ Vue.use(VueClipboard)
|
|||
import permission from './utils/permission'
|
||||
Vue.use(permission)
|
||||
|
||||
import { formatSize } from "./utils"
|
||||
import { formatSize, guidToColor } from "./utils"
|
||||
Vue.prototype.$FormatSize = formatSize
|
||||
Vue.prototype.$GuidToColor = guidToColor
|
||||
|
||||
import Viewer from 'v-viewer'
|
||||
import './assets/css/viewer.css'
|
||||
|
|
|
|||
|
|
@ -222,4 +222,41 @@ export async function readEntry(entry) {
|
|||
}
|
||||
|
||||
return files;
|
||||
}
|
||||
// RGB转十六进制
|
||||
function rgbToHex(r, g, b) {
|
||||
return "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1).toUpperCase();
|
||||
}
|
||||
export function guidToColor(guid) {
|
||||
// 移除GUID中的连字符和花括号(如果有)
|
||||
const cleanGuid = guid.replace(/[{}()-]/g, '');
|
||||
|
||||
// 使用GUID的前6个字符作为颜色基础(确保一致性)
|
||||
const colorBase = cleanGuid.substring(0, 6);
|
||||
|
||||
// 将每个字符转换为数字并映射到0-255范围
|
||||
let r = 0, g = 0, b = 0;
|
||||
|
||||
for (let i = 0; i < 6; i++) {
|
||||
const charCode = colorBase.charCodeAt(i);
|
||||
if (i < 2) {
|
||||
r = (r * 16 + (charCode % 16)) % 256;
|
||||
} else if (i < 4) {
|
||||
g = (g * 16 + (charCode % 16)) % 256;
|
||||
} else {
|
||||
b = (b * 16 + (charCode % 16)) % 256;
|
||||
}
|
||||
}
|
||||
|
||||
// 确保颜色有足够的饱和度(避免生成过于灰暗的颜色)
|
||||
if (r + g + b < 100) {
|
||||
r = Math.min(255, r + 100);
|
||||
g = Math.min(255, g + 50);
|
||||
} else if (r + g + b > 600) {
|
||||
r = Math.max(0, r - 100);
|
||||
b = Math.max(0, b - 50);
|
||||
}
|
||||
|
||||
// 返回RGB对象
|
||||
return rgbToHex(r, g, b);
|
||||
}
|
||||
|
|
@ -86,11 +86,13 @@
|
|||
:content="`${$t('trials:reading:message:fused')}${item.TableQuestions.Answers[i].SplitOrMergeLesionName}`"
|
||||
placement="bottom">
|
||||
<div
|
||||
v-if="item.TableQuestions.Answers[i].SplitOrMergeType === '1' || item.TableQuestions.Answers[i].SplitOrMergeType === '3'">
|
||||
v-if="item.TableQuestions.Answers[i].SplitOrMergeType === '1' || item.TableQuestions.Answers[i].SplitOrMergeType === '3'"
|
||||
@click="acvd(item.TableQuestions.Answers[i])">
|
||||
<span class="login-cycle" />
|
||||
</div>
|
||||
</el-tooltip>
|
||||
<div v-if="item.TableQuestions.Answers[i].SplitOrMergeType === '4'">
|
||||
<div v-if="item.TableQuestions.Answers[i].SplitOrMergeType === '4'"
|
||||
@click="acvd(item.TableQuestions.Answers[i])">
|
||||
<span class="login-cycle" />
|
||||
</div>
|
||||
<el-tooltip v-if="!!item.TableQuestions.Answers[i].lesionPart" class="item" effect="dark"
|
||||
|
|
@ -335,6 +337,7 @@ export default {
|
|||
DicomEvent.$off('refreshQuestions')
|
||||
},
|
||||
methods: {
|
||||
acvd(item) { console.log(item) },
|
||||
handleReadingChart(e) {
|
||||
this.$emit('handleReadingChart', e)
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue