Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a66e15eb39 | |||
| 895e3a6bed | |||
| 9dddc0c012 | |||
| a965f08a1e | |||
| 9962b1a829 | |||
| 049128b90e | |||
| 45e6a20988 | |||
| 5141eb5cbd | |||
| 073b06a76f | |||
| 20723e8d2c | |||
| fba00157a1 | |||
| e0321bae72 | |||
| 1e720e399d | |||
| 1368397da9 | |||
| c8c049b5d0 |
+137
-10
@@ -39,6 +39,108 @@ function getNumberValues(dataSet, tag, minimumLength) {
|
||||
|
||||
return values;
|
||||
}
|
||||
function getLutDescriptor(dataSet, tag) {
|
||||
if (!dataSet.elements[tag] || dataSet.elements[tag].length !== 6) {
|
||||
return;
|
||||
}
|
||||
|
||||
return [
|
||||
dataSet.uint16(tag, 0),
|
||||
dataSet.uint16(tag, 1),
|
||||
dataSet.uint16(tag, 2),
|
||||
];
|
||||
}
|
||||
|
||||
function getLutData(lutDataSet, tag, lutDescriptor) {
|
||||
const lut = [];
|
||||
const lutData = lutDataSet.elements[tag];
|
||||
|
||||
for (let i = 0; i < lutDescriptor[0]; i++) {
|
||||
// Output range is always unsigned
|
||||
if (lutDescriptor[2] === 16) {
|
||||
lut[i] = lutDataSet.uint16(tag, i);
|
||||
} else {
|
||||
lut[i] = lutDataSet.byteArray[i + lutData.dataOffset];
|
||||
}
|
||||
}
|
||||
|
||||
return lut;
|
||||
}
|
||||
function populateSmallestLargestPixelValues(dataSet, imagePixelModule) {
|
||||
const pixelRepresentation = dataSet.uint16('x00280103');
|
||||
if (pixelRepresentation === 0) {
|
||||
imagePixelModule.smallestPixelValue = dataSet.uint16('x00280106');
|
||||
imagePixelModule.largestPixelValue = dataSet.uint16('x00280107');
|
||||
} else {
|
||||
imagePixelModule.smallestPixelValue = dataSet.int16('x00280106');
|
||||
imagePixelModule.largestPixelValue = dataSet.int16('x00280107');
|
||||
}
|
||||
imagePixelModule.largestPixelValue = imagePixelModule.largestPixelValue === 0 ? undefined : imagePixelModule.largestPixelValue;
|
||||
}
|
||||
function populatePaletteColorLut(dataSet, imagePixelModule) {
|
||||
imagePixelModule.redPaletteColorLookupTableDescriptor = getLutDescriptor(
|
||||
dataSet,
|
||||
'x00281101'
|
||||
);
|
||||
imagePixelModule.greenPaletteColorLookupTableDescriptor = getLutDescriptor(
|
||||
dataSet,
|
||||
'x00281102'
|
||||
);
|
||||
imagePixelModule.bluePaletteColorLookupTableDescriptor = getLutDescriptor(
|
||||
dataSet,
|
||||
'x00281103'
|
||||
);
|
||||
|
||||
// The first Palette Color Lookup Table Descriptor value is the number of entries in the lookup table.
|
||||
// When the number of table entries is equal to 2ˆ16 then this value shall be 0.
|
||||
// See http://dicom.nema.org/MEDICAL/DICOM/current/output/chtml/part03/sect_C.7.6.3.html#sect_C.7.6.3.1.5
|
||||
if (imagePixelModule.redPaletteColorLookupTableDescriptor[0] === 0) {
|
||||
imagePixelModule.redPaletteColorLookupTableDescriptor[0] = 65536;
|
||||
imagePixelModule.greenPaletteColorLookupTableDescriptor[0] = 65536;
|
||||
imagePixelModule.bluePaletteColorLookupTableDescriptor[0] = 65536;
|
||||
}
|
||||
|
||||
// The third Palette Color Lookup Table Descriptor value specifies the number of bits for each entry in the Lookup Table Data.
|
||||
// It shall take the value of 8 or 16.
|
||||
// The LUT Data shall be stored in a format equivalent to 8 bits allocated when the number of bits for each entry is 8, and 16 bits allocated when the number of bits for each entry is 16, where in both cases the high bit is equal to bits allocated-1.
|
||||
// The third value shall be identical for each of the Red, Green and Blue Palette Color Lookup Table Descriptors.
|
||||
//
|
||||
// Note: Some implementations have encoded 8 bit entries with 16 bits allocated, padding the high bits;
|
||||
// this can be detected by comparing the number of entries specified in the LUT Descriptor with the actual value length of the LUT Data entry.
|
||||
// The value length in bytes should equal the number of entries if bits allocated is 8, and be twice as long if bits allocated is 16.
|
||||
const numLutEntries =
|
||||
imagePixelModule.redPaletteColorLookupTableDescriptor[0];
|
||||
const lutData = dataSet.elements.x00281201;
|
||||
const lutBitsAllocated = lutData.length === numLutEntries ? 8 : 16;
|
||||
|
||||
// If the descriptors do not appear to have the correct values, correct them
|
||||
if (
|
||||
imagePixelModule.redPaletteColorLookupTableDescriptor[2] !==
|
||||
lutBitsAllocated
|
||||
) {
|
||||
imagePixelModule.redPaletteColorLookupTableDescriptor[2] = lutBitsAllocated;
|
||||
imagePixelModule.greenPaletteColorLookupTableDescriptor[2] =
|
||||
lutBitsAllocated;
|
||||
imagePixelModule.bluePaletteColorLookupTableDescriptor[2] =
|
||||
lutBitsAllocated;
|
||||
}
|
||||
|
||||
imagePixelModule.redPaletteColorLookupTableData = getLutData(
|
||||
dataSet,
|
||||
'x00281201',
|
||||
imagePixelModule.redPaletteColorLookupTableDescriptor
|
||||
);
|
||||
imagePixelModule.greenPaletteColorLookupTableData = getLutData(
|
||||
dataSet,
|
||||
'x00281202',
|
||||
imagePixelModule.greenPaletteColorLookupTableDescriptor
|
||||
);
|
||||
imagePixelModule.bluePaletteColorLookupTableData = getLutData(
|
||||
dataSet,
|
||||
'x00281203',
|
||||
imagePixelModule.bluePaletteColorLookupTableDescriptor
|
||||
);
|
||||
}
|
||||
function metaDataProvider(type, imageId) {
|
||||
const parsedImageId = parseImageId(imageId);
|
||||
const dataSet = cornerstoneWADOImageLoader.wadouri.dataSetCacheManager.get(parsedImageId.url);
|
||||
@@ -100,7 +202,7 @@ function metaDataProvider(type, imageId) {
|
||||
};
|
||||
}
|
||||
if (type === 'imagePixelModule') {
|
||||
return {
|
||||
const imagePixelModule = {
|
||||
samplesPerPixel: dataSet.uint16('x00280002'),
|
||||
photometricInterpretation: dataSet.string('x00280004'),
|
||||
rows: dataSet.uint16('x00280010'),
|
||||
@@ -110,16 +212,41 @@ function metaDataProvider(type, imageId) {
|
||||
highBit: dataSet.uint16('x00280102'),
|
||||
pixelRepresentation: dataSet.uint16('x00280103'),
|
||||
planarConfiguration: dataSet.uint16('x00280006'),
|
||||
pixelAspectRatio: dataSet.uint16('x00280034'),
|
||||
smallestPixelValue: null,
|
||||
largestPixelValue: null,
|
||||
redPaletteColorLookupTableDescriptor: dataSet.string('x00281101'),
|
||||
greenPaletteColorLookupTableDescriptor: dataSet.string('x00281102'),
|
||||
bluePaletteColorLookupTableDescriptor: dataSet.string('x00281103'),
|
||||
redPaletteColorLookupTableData: dataSet.string('x00281201'),
|
||||
greenPaletteColorLookupTableData: dataSet.string('x00281202'),
|
||||
bluePaletteColorLookupTableData: dataSet.string('x00281203')
|
||||
pixelAspectRatio: dataSet.string('x00280034'),
|
||||
};
|
||||
populateSmallestLargestPixelValues(dataSet, imagePixelModule);
|
||||
|
||||
if (
|
||||
imagePixelModule.photometricInterpretation === 'PALETTE COLOR' &&
|
||||
dataSet.elements.x00281101
|
||||
) {
|
||||
populatePaletteColorLut(dataSet, imagePixelModule);
|
||||
}
|
||||
return imagePixelModule;
|
||||
}
|
||||
// if (type === 'imagePixelModule') {
|
||||
// return {
|
||||
// samplesPerPixel: dataSet.uint16('x00280002'),
|
||||
// photometricInterpretation: dataSet.string('x00280004'),
|
||||
// rows: dataSet.uint16('x00280010'),
|
||||
// columns: dataSet.uint16('x00280011'),
|
||||
// bitsAllocated: dataSet.uint16('x00280100'),
|
||||
// bitsStored: dataSet.uint16('x00280101'),
|
||||
// highBit: dataSet.uint16('x00280102'),
|
||||
// pixelRepresentation: dataSet.uint16('x00280103'),
|
||||
// planarConfiguration: dataSet.uint16('x00280006'),
|
||||
// pixelAspectRatio: dataSet.uint16('x00280034'),
|
||||
// smallestPixelValue: null,
|
||||
// largestPixelValue: null,
|
||||
// // smallestPixelValue: dataSet.uint16('x00280106'),
|
||||
// // largestPixelValue: dataSet.uint16('x00280107'),
|
||||
// redPaletteColorLookupTableDescriptor: dataSet.string('x00281101'),
|
||||
// greenPaletteColorLookupTableDescriptor: dataSet.string('x00281102'),
|
||||
// bluePaletteColorLookupTableDescriptor: dataSet.string('x00281103'),
|
||||
// redPaletteColorLookupTableData: dataSet.string('x00281201'),
|
||||
// greenPaletteColorLookupTableData: dataSet.string('x00281202'),
|
||||
// bluePaletteColorLookupTableData: dataSet.string('x00281203')
|
||||
// }
|
||||
// }
|
||||
}
|
||||
export default metaDataProvider;
|
||||
@@ -124,7 +124,7 @@
|
||||
<el-table-column prop="Name" :label="$t('trials:signRecords:table:fileName')" show-overflow-tooltip
|
||||
sortable="custom" />
|
||||
<el-table-column :label="$t('trials:signRecords:table:AttachmentCount')" prop="AttachmentCount"
|
||||
show-overflow-tooltip sortable="custom">
|
||||
show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" @click.stop="openAttachment(scope.row, true)">{{ scope.row.AttachmentCount
|
||||
}}</el-button>
|
||||
|
||||
@@ -263,7 +263,7 @@ export default {
|
||||
series: '',
|
||||
ToolStateManager: null,
|
||||
renderedMeasured: [],
|
||||
measuredTools: ['Length', 'Bidirectional', 'ArrowAnnotate', 'RectangleRoi'],
|
||||
measuredTools: ['Length', 'Bidirectional', 'ArrowAnnotate', 'RectangleRoi', 'Probe'],
|
||||
measureData: [],
|
||||
selectedLesion: null,
|
||||
activeTool: 0, // 0:enable 1:passive 2:active
|
||||
@@ -303,8 +303,8 @@ export default {
|
||||
|
||||
],
|
||||
scrollSyncInfo: { offset: 0 },
|
||||
hideMeasureArr: []
|
||||
|
||||
hideMeasureArr: [],
|
||||
isInitWwwc: true
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -565,7 +565,6 @@ export default {
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
} else if (this.activeToolName === 'Length' || this.activeToolName === 'Bidirectional' && this.readingTaskState < 2) {
|
||||
console.log(e.detail.image)
|
||||
if (!e.detail.image.columnPixelSpacing || !e.detail.image.rowPixelSpacing) {
|
||||
// '该影像不具备测量长度所需的必要数据,不能进行长度测量。请选择其他工具进行标注。'
|
||||
this.$confirm(this.$t('trials:reading:warnning:msg56'), '', {
|
||||
@@ -578,6 +577,13 @@ export default {
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
}
|
||||
} else if (this.CriterionType === 21 && this.activeToolName === 'Probe' && this.readingTaskState < 2) {
|
||||
if (!(e.detail.image.imageFrame.photometricInterpretation === 'MONOCHROME1' || e.detail.image.imageFrame.photometricInterpretation === 'MONOCHROME2')) {
|
||||
this.$alert(this.$t('trials:MRIPDFF:message:message5'))
|
||||
e.stopImmediatePropagation()
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
}
|
||||
}
|
||||
},
|
||||
pointNearTool(e) {
|
||||
@@ -607,7 +613,11 @@ export default {
|
||||
if ((i.LesionType === 0 || i.LesionType === 1 || i.LesionType === 7) && i.IsFirstChangeTask) {
|
||||
arr.push(i.OrderMarkName)
|
||||
}
|
||||
if (i.Id && this.readingTaskState >= 2) {
|
||||
arr.push(i.OrderMarkName)
|
||||
}
|
||||
})
|
||||
console.log(arr)
|
||||
return arr
|
||||
},
|
||||
getMergeMarks(measureDatas) {
|
||||
@@ -616,6 +626,9 @@ export default {
|
||||
if ((i.LesionType === 0) && i.SplitOrMergeType === 1) {
|
||||
arr.push(i.OrderMarkName)
|
||||
}
|
||||
if (i.Id && this.readingTaskState >= 2) {
|
||||
arr.push(i.OrderMarkName)
|
||||
}
|
||||
})
|
||||
return arr
|
||||
},
|
||||
@@ -661,7 +674,7 @@ export default {
|
||||
},
|
||||
sliderMousemove(e) {
|
||||
if (!this.sliderInfo.isMove) return
|
||||
console.log('sliderMousemove')
|
||||
// console.log('sliderMousemove')
|
||||
var PX = this.sliderInfo.oldB - (this.sliderInfo.oldM - e.clientY)
|
||||
var boxHeight = this.$refs['sliderBox'].clientHeight
|
||||
if (PX < 0) return
|
||||
@@ -692,7 +705,7 @@ export default {
|
||||
} else if (criterionType === 2) {
|
||||
this.disabledMarks = this.getMergeMarks(this.visitTaskList[idx].MeasureData)
|
||||
} else {
|
||||
this.disabledMarks = []
|
||||
this.disabledMarks = this.getDisabledMarks(this.visitTaskList[idx].MeasureData)
|
||||
}
|
||||
return true
|
||||
},
|
||||
@@ -785,6 +798,8 @@ export default {
|
||||
} else if (toolType === 'Length') {
|
||||
// toolState.data[i].length = this.calculateLenth(toolState.data[i])
|
||||
}
|
||||
measureData.largestPixelValue = image.imageFrame.largestPixelValue
|
||||
measureData.imageId = imageId
|
||||
measureData.studyId = this.stack.studyId
|
||||
measureData.seriesId = this.stack.seriesId
|
||||
measureData.instanceId = instanceId
|
||||
@@ -901,6 +916,9 @@ export default {
|
||||
}
|
||||
} else if (this.activeTool === 1 && this.readingTaskState < 2) {
|
||||
cornerstoneTools.setToolPassiveForElement(element, data.MeasureData.type, { mouseButtonMask: 1 })
|
||||
} else if (this.readingTaskState >= 2 && this.isCurrentTask) {
|
||||
// setToolPassiveForElement
|
||||
cornerstoneTools.setToolEnabledForElement(element, data.MeasureData.type, { mouseButtonMask: 1 })
|
||||
} else {
|
||||
cornerstoneTools.setToolEnabledForElement(element, data.MeasureData.type, { mouseButtonMask: 1 })
|
||||
}
|
||||
@@ -919,6 +937,9 @@ export default {
|
||||
}
|
||||
}
|
||||
})
|
||||
if (this.readingTaskState >= 2 && this.activeToolName && this.isCurrentTask) {
|
||||
cornerstoneTools.setToolActiveForElement(element, this.activeToolName, { mouseButtonMask: 1 })
|
||||
}
|
||||
},
|
||||
setMeasureDataVisible() {
|
||||
if (this.readingTaskState >= 2) return
|
||||
@@ -986,6 +1007,7 @@ export default {
|
||||
}
|
||||
},
|
||||
mouseClick(e) {
|
||||
if (this.readingTaskState >= 2) return
|
||||
const { element, currentPoints, image, viewport } = e.detail
|
||||
var imageId = image.imageId
|
||||
const imageInfo = this.getInstanceInfo(imageId)
|
||||
@@ -1010,6 +1032,8 @@ export default {
|
||||
var questionInfo = this.measureData[idx]
|
||||
// const canvas = this.canvas.querySelector('canvas')
|
||||
// measureData.pictureBaseStr = canvas.toDataURL('image/png', 1)
|
||||
measureData.largestPixelValue = image.imageFrame.largestPixelValue
|
||||
measureData.imageId = imageId
|
||||
measureData.studyId = this.stack.studyId
|
||||
measureData.seriesId = this.stack.seriesId
|
||||
measureData.instanceId = instanceId
|
||||
@@ -1035,6 +1059,7 @@ export default {
|
||||
},
|
||||
loadImageStack(dicomSeries) {
|
||||
return new Promise(resolve => {
|
||||
this.isInitWwwc = true
|
||||
this.isCurrentTask = dicomSeries.isCurrentTask
|
||||
this.isBaseline = dicomSeries.isBaseLineTask
|
||||
this.readingTaskState = dicomSeries.readingTaskState
|
||||
@@ -1073,7 +1098,8 @@ export default {
|
||||
} else if (criterionType === 2) {
|
||||
this.disabledMarks = this.getMergeMarks(this.visitTaskList[idx].MeasureData)
|
||||
} else {
|
||||
this.disabledMarks = []
|
||||
// this.disabledMarks = []
|
||||
this.disabledMarks = this.getDisabledMarks(this.visitTaskList[idx].MeasureData)
|
||||
}
|
||||
|
||||
this.maxVistNum = this.visitTaskList[this.visitTaskList.length - 1].VisitTaskNum
|
||||
@@ -1202,7 +1228,7 @@ export default {
|
||||
this.stack.frame = this.stack.isExistMutiFrames ? parseInt(frame) : null
|
||||
this.stack.instanceId = instanceId
|
||||
this.height = (this.stack.currentImageIdIndex) * 100 / (this.stack.imageIds.length - 1)
|
||||
// this.resetWwwc()
|
||||
|
||||
resolve()
|
||||
})
|
||||
},
|
||||
@@ -1300,6 +1326,9 @@ export default {
|
||||
this.scrollSyncInfo.offset = 0
|
||||
}
|
||||
this.renderMeasuredData(e)
|
||||
if (this.isInitWwwc) {
|
||||
this.resetWwwc()
|
||||
}
|
||||
},
|
||||
getOrientationMarker(element) {
|
||||
const enabledElement = cornerstone.getEnabledElement(element)
|
||||
@@ -1336,6 +1365,8 @@ export default {
|
||||
this.stack.frame = this.stack.isExistMutiFrames ? parseInt(frame) : null
|
||||
if (e.detail.toolName === 'Length' || e.detail.toolName === 'ArrowAnnotate' || e.detail.toolName === 'RectangleRoi') {
|
||||
const measureData = {}
|
||||
measureData.largestPixelValue = element.image.imageFrame.largestPixelValue
|
||||
measureData.imageId = imageId
|
||||
measureData.studyId = this.stack.studyId
|
||||
measureData.seriesId = this.stack.seriesId
|
||||
measureData.instanceId = instanceId
|
||||
@@ -1353,6 +1384,8 @@ export default {
|
||||
cornerstoneTools.setToolPassiveForElement(this.canvas, e.detail.toolName)
|
||||
} else if (e.detail.toolName === 'Bidirectional') {
|
||||
const measureData = {}
|
||||
measureData.largestPixelValue = element.image.imageFrame.largestPixelValue
|
||||
measureData.imageId = imageId
|
||||
measureData.studyId = this.stack.studyId
|
||||
measureData.seriesId = this.stack.seriesId
|
||||
measureData.instanceId = instanceId
|
||||
@@ -1369,6 +1402,8 @@ export default {
|
||||
cornerstoneTools.setToolPassiveForElement(this.canvas, e.detail.toolName)
|
||||
} else if (e.detail.toolName === 'Probe') {
|
||||
const measureData = {}
|
||||
measureData.largestPixelValue = element.image.imageFrame.largestPixelValue
|
||||
measureData.imageId = imageId
|
||||
measureData.studyId = this.stack.studyId
|
||||
measureData.seriesId = this.stack.seriesId
|
||||
measureData.instanceId = instanceId
|
||||
@@ -1478,6 +1513,8 @@ export default {
|
||||
var questionInfo = this.measureData[idx]
|
||||
// const canvas = this.canvas.querySelector('canvas')
|
||||
// measureData.pictureBaseStr = canvas.toDataURL('image/png', 1)
|
||||
measureData.largestPixelValue = element.image.imageFrame.largestPixelValue
|
||||
measureData.imageId = imageId
|
||||
measureData.studyId = this.stack.studyId
|
||||
measureData.seriesId = this.stack.seriesId
|
||||
measureData.instanceId = instanceId
|
||||
@@ -1669,6 +1706,8 @@ export default {
|
||||
},
|
||||
|
||||
resetWwwc() {
|
||||
// console.log('resetWwwc')
|
||||
this.isInitWwwc = true
|
||||
this.toolState.viewportInvert = false
|
||||
var viewport = cornerstone.getViewport(this.canvas)
|
||||
// viewport.invert = false
|
||||
@@ -1679,7 +1718,7 @@ export default {
|
||||
},
|
||||
|
||||
setWwwc(ww, wc) {
|
||||
// console.log('setWwwc', ww, wc)
|
||||
this.isInitWwwc = false
|
||||
var viewport = cornerstone.getViewport(this.canvas)
|
||||
viewport.voi.windowWidth = ww
|
||||
viewport.voi.windowCenter = wc
|
||||
|
||||
@@ -416,7 +416,7 @@
|
||||
<dicom-canvas
|
||||
v-if="canvasW"
|
||||
:ref="`dicomCanvas${i-1}`"
|
||||
:style="{width:canvasW,height: canvasH}"
|
||||
:style="{width: fullScreenIndex === i-1 ? fullScreenWidth : canvasW,height: fullScreenIndex === i-1 ? fullScreenHeight : canvasH}"
|
||||
:canvas-index="i-1"
|
||||
:is-active="i-1===currentDicomCanvasIndex"
|
||||
:is-scroll-sync="isScrollSync"
|
||||
@@ -989,7 +989,10 @@ export default {
|
||||
signVisible: false,
|
||||
signCode: null,
|
||||
currentUser: zzSessionStorage.getItem('userName'),
|
||||
tmpData: null
|
||||
tmpData: null,
|
||||
fullScreenIndex: -1,
|
||||
fullScreenWidth: window.innerWidth - 570 + 'px',
|
||||
fullScreenHeight: window.innerHeight - 130 + 'px'
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1379,22 +1382,25 @@ export default {
|
||||
this.personalConfigDialog.visible = true
|
||||
},
|
||||
setCornerstoneStyle(i) {
|
||||
if (this.layoutCol === 1 && this.layoutRow === 1) {
|
||||
this.fullScreenIndex = -1
|
||||
return
|
||||
}
|
||||
if (this.cornerstoneStyle.position) {
|
||||
this.cornerstoneStyle = {}
|
||||
this.setCanvasStyle()
|
||||
this.fullScreenIndex = -1
|
||||
} else {
|
||||
this.cornerstoneStyle = {
|
||||
position: 'absolute',
|
||||
top: '72px',
|
||||
top: '67px',
|
||||
left: '0px',
|
||||
right: '350px',
|
||||
zIndex: 10
|
||||
zIndex: 10,
|
||||
}
|
||||
this.canvasW = window.innerWidth - 570 + 'px'
|
||||
this.canvasH = window.innerHeight - 130 + 'px'
|
||||
this.fullScreenIndex = this.currentDicomCanvasIndex
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
// this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].reloadCanvas()
|
||||
for (var i = 0; i < this.maxCanvas; i++) {
|
||||
this.$refs[`dicomCanvas${i}`][0].reloadCanvas()
|
||||
}
|
||||
@@ -1941,6 +1947,7 @@ export default {
|
||||
},
|
||||
// 切换布局
|
||||
changeLayout(name) {
|
||||
this.fullScreenIndex = -1
|
||||
if (this.activeTool) {
|
||||
if (this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].isCurrentTask && this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].readingTaskState < 2) {
|
||||
this.$nextTick(() => {
|
||||
@@ -2043,14 +2050,17 @@ export default {
|
||||
if (i === -1) return
|
||||
var isCurrentTask = this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].isCurrentTask
|
||||
var readingTaskState = this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].readingTaskState
|
||||
if (!isCurrentTask || readingTaskState >= 2) {
|
||||
if (!isCurrentTask) {
|
||||
this.measuredTools[i].isDisabled = true
|
||||
e.target.style.cursor = 'not-allowed'
|
||||
if (this.activeTool) {
|
||||
this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].setToolEnabled(toolName)
|
||||
this.activeTool = ''
|
||||
}
|
||||
} else {
|
||||
} else if (isCurrentTask && readingTaskState >= 2) {
|
||||
this.measuredTools[i].isDisabled = false
|
||||
e.target.style.cursor = 'pointer'
|
||||
} else if (isCurrentTask && readingTaskState < 2) {
|
||||
// var obj = this.$refs['measurementList'].isCanActiveTool(toolName, true)
|
||||
var obj = this.$refs['measurementList'].isCanActiveTool(toolName, true)
|
||||
this.measuredTools[i].disabledReason = obj.reason
|
||||
@@ -2087,7 +2097,7 @@ export default {
|
||||
var toolObj = this.measuredTools.find(i => i.toolName === toolName)
|
||||
if (!toolObj || toolObj.isDisabled) return
|
||||
var dicomSeries = this.canvasObj[this.currentDicomCanvasIndex]
|
||||
if (dicomSeries.isCurrentTask && isMeasuredTool && dicomSeries.readingTaskState < 2) {
|
||||
if (dicomSeries.isCurrentTask && isMeasuredTool) {
|
||||
if (this.activeTool) {
|
||||
this.measuredTools.forEach(item => {
|
||||
this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].setToolPassive(item.toolName)
|
||||
@@ -2248,13 +2258,14 @@ export default {
|
||||
this.customWwc.visible = false
|
||||
},
|
||||
toggleInvert() {
|
||||
if (this.activeTool === 'reversecolor') {
|
||||
this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].resetWwwc()
|
||||
this.activeTool = ''
|
||||
} else {
|
||||
this.activeTool = 'reversecolor'
|
||||
this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].toggleInvert()
|
||||
}
|
||||
// if (this.activeTool === 'reversecolor') {
|
||||
// this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].resetWwwc()
|
||||
// this.activeTool = ''
|
||||
// } else {
|
||||
// this.activeTool = 'reversecolor'
|
||||
// this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].toggleInvert()
|
||||
// }
|
||||
this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].toggleInvert()
|
||||
},
|
||||
setImageIndexSync() {
|
||||
this.isScrollSync = !this.isScrollSync
|
||||
|
||||
@@ -205,6 +205,7 @@
|
||||
import { saveTableQuestionMark, submitTaskRowInfo, deleteTableQuestionMark, deleteSingleTableQuestionMark } from '@/api/reading'
|
||||
import DicomEvent from './../DicomEvent'
|
||||
import store from '@/store'
|
||||
import * as cornerstone from 'cornerstone-core'
|
||||
export default {
|
||||
name: 'MeasurementForm',
|
||||
props: {
|
||||
@@ -444,7 +445,12 @@ export default {
|
||||
// 维护标记信息
|
||||
measureData.data.remark = this.getLesionName(this.orderMark, this.activeQuestionMark)
|
||||
}
|
||||
const val = measureData.data.cachedStats.mean / 10
|
||||
// const val = measureData.data.cachedStats.mean / 10
|
||||
let val = parseFloat(measureData.data.cachedStats.mean)
|
||||
// let imagePixelModule = cornerstone.metaData.get('imagePixelModule', measureData.imageId)
|
||||
if (measureData.largestPixelValue >= 500) {
|
||||
val = val / 10
|
||||
}
|
||||
this.$set(this.questionForm, measureData.tableQuestionId, val.toFixed(this.digitPlaces))
|
||||
data = {
|
||||
Id: '',
|
||||
@@ -574,14 +580,26 @@ export default {
|
||||
let params = {}
|
||||
if (i > -1 && this.markList[i].measureData && this.markList[i].measureData.MeasureData) {
|
||||
const measureData = this.markList[i].measureData.MeasureData
|
||||
const tableQuestionId = this.markList[i].tableQuestionId
|
||||
if (this.questionForm[tableQuestionId] > 100) {
|
||||
const confirm = await this.$confirm(
|
||||
this.$t('trials:MRIPDFF:message:message4'),
|
||||
{
|
||||
type: 'warning',
|
||||
distinguishCancelAndClose: true
|
||||
}
|
||||
)
|
||||
if (confirm !== 'confirm') return
|
||||
}
|
||||
// 上传截图
|
||||
|
||||
DicomEvent.$emit('getScreenshots', { questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex, visitTaskId: this.visitTaskId, lesionName: measureData.OrderMarkName, lesionType: null, isMarked: !!measureData }, async val => {
|
||||
params = Object.assign({}, this.markList[i].measureData)
|
||||
if (val) {
|
||||
const pictureObj = await this.uploadScreenshots(`${new Date().getTime()}`, val)
|
||||
params.PicturePath = pictureObj.isSuccess ? this.$getObjectName(pictureObj.result.url) : ''
|
||||
}
|
||||
const tableQuestionId = this.markList[i].tableQuestionId
|
||||
|
||||
params.Answer = this.questionForm[tableQuestionId]
|
||||
params.MeasureData = JSON.stringify(this.markList[i].measureData.MeasureData)
|
||||
loading.close()
|
||||
|
||||
@@ -264,7 +264,6 @@ export default {
|
||||
if (item.Type === 'table' && item.Id === obj.questionId) {
|
||||
var idx = item.TableQuestions.Answers.findIndex(i => i.RowIndex === obj.rowIndex)
|
||||
item.TableQuestions.Answers[idx].isMeasurable = obj.isMeasurable
|
||||
console.log(obj.isMeasurable)
|
||||
item.TableQuestions.Answers[idx].mean = obj.mean
|
||||
item.TableQuestions.Answers[idx].saveTypeEnum = obj.saveTypeEnum
|
||||
|
||||
|
||||
@@ -556,7 +556,7 @@
|
||||
<dicom-canvas
|
||||
v-if="canvasW"
|
||||
:ref="`dicomCanvas${i - 1}`"
|
||||
:style="{ width: canvasW, height: canvasH }"
|
||||
:style="{width: fullScreenIndex === i-1 ? fullScreenWidth : canvasW,height: fullScreenIndex === i-1 ? fullScreenHeight : canvasH}"
|
||||
:canvas-index="i - 1"
|
||||
:is-active="i - 1 === currentDicomCanvasIndex"
|
||||
:is-scroll-sync="isScrollSync"
|
||||
@@ -895,6 +895,9 @@ export default {
|
||||
uploadTrialCriterion: {},
|
||||
uploadStatus: 'upload',
|
||||
taskId: '',
|
||||
fullScreenIndex: -1,
|
||||
fullScreenWidth: window.innerWidth - 570 + 'px',
|
||||
fullScreenHeight: window.innerHeight - 128 + 'px'
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1314,22 +1317,25 @@ export default {
|
||||
this.personalConfigDialog.visible = true
|
||||
},
|
||||
setCornerstoneStyle(i) {
|
||||
if (this.layoutCol === 1 && this.layoutRow === 1) {
|
||||
this.fullScreenIndex = -1
|
||||
return
|
||||
}
|
||||
if (this.cornerstoneStyle.position) {
|
||||
this.cornerstoneStyle = {}
|
||||
this.setCanvasStyle()
|
||||
this.fullScreenIndex = -1
|
||||
} else {
|
||||
this.cornerstoneStyle = {
|
||||
position: 'absolute',
|
||||
top: '72px',
|
||||
top: '70px',
|
||||
left: '205px',
|
||||
right: '350px',
|
||||
zIndex: 10,
|
||||
}
|
||||
this.canvasW = window.innerWidth - 570 + 'px'
|
||||
this.canvasH = window.innerHeight - 130 + 'px'
|
||||
this.fullScreenIndex = this.currentDicomCanvasIndex
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
// this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].reloadCanvas()
|
||||
for (var i = 0; i < this.maxCanvas; i++) {
|
||||
this.$refs[`dicomCanvas${i}`][0].reloadCanvas()
|
||||
}
|
||||
@@ -1928,6 +1934,7 @@ export default {
|
||||
},
|
||||
// 切换布局
|
||||
changeLayout(name) {
|
||||
this.fullScreenIndex = -1
|
||||
if (this.activeTool) {
|
||||
if (
|
||||
this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0]
|
||||
@@ -2301,15 +2308,16 @@ export default {
|
||||
this.customWwc.visible = false
|
||||
},
|
||||
toggleInvert() {
|
||||
if (this.activeTool === 'reversecolor') {
|
||||
this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].resetWwwc()
|
||||
this.activeTool = ''
|
||||
} else {
|
||||
this.activeTool = 'reversecolor'
|
||||
this.$refs[
|
||||
`dicomCanvas${this.currentDicomCanvasIndex}`
|
||||
][0].toggleInvert()
|
||||
}
|
||||
// if (this.activeTool === 'reversecolor') {
|
||||
// this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].resetWwwc()
|
||||
// this.activeTool = ''
|
||||
// } else {
|
||||
// this.activeTool = 'reversecolor'
|
||||
// this.$refs[
|
||||
// `dicomCanvas${this.currentDicomCanvasIndex}`
|
||||
// ][0].toggleInvert()
|
||||
// }
|
||||
this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].toggleInvert()
|
||||
},
|
||||
setImageIndexSync() {
|
||||
this.isScrollSync = !this.isScrollSync
|
||||
|
||||
-7
@@ -359,7 +359,6 @@ export default {
|
||||
status: 'add',
|
||||
upload: null,
|
||||
},
|
||||
DATA: {},
|
||||
doctorList: [],
|
||||
}
|
||||
},
|
||||
@@ -632,12 +631,6 @@ export default {
|
||||
},
|
||||
immediate: true,
|
||||
},
|
||||
rowData: {
|
||||
handler() {
|
||||
this.DATA = Object.assign({}, this.rowData)
|
||||
},
|
||||
immediate: true,
|
||||
},
|
||||
},
|
||||
created() {
|
||||
let typeArr = ['', 'Report', 'Doc', 'Record', 'Reviewer', 'Template']
|
||||
|
||||
+65
-82
@@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<div v-loading="loading" class="chat-wrapper">
|
||||
<div v-if="recordContent.length>0" class="chat-content">
|
||||
<div v-for="(record,index) in recordContent" :key="`${record.CreateTime}${index}`">
|
||||
<div v-if="recordContent.length > 0" class="chat-content">
|
||||
<div v-for="(record, index) in recordContent" :key="`${record.CreateTime}${index}`">
|
||||
<div v-if="!record.IsCurrentUser" class="word">
|
||||
<img v-if="record.UserTypeEnum*1 === 8" :src="adminAvatar" alt="Admin">
|
||||
<img v-else-if="record.UserTypeEnum*1 === 1" :src="pmAvatar" alt="PM">
|
||||
<img v-else-if="record.UserTypeEnum*1 === 2" :src="crcAvatar" alt="CRC">
|
||||
<img v-if="record.UserTypeEnum * 1 === 8" :src="adminAvatar" alt="Admin">
|
||||
<img v-else-if="record.UserTypeEnum * 1 === 1" :src="pmAvatar" alt="PM">
|
||||
<img v-else-if="record.UserTypeEnum * 1 === 2" :src="crcAvatar" alt="CRC">
|
||||
<div class="info">
|
||||
<p class="user-info">
|
||||
<span style="font-weight:700;">{{ record.CreateUserName }} </span>
|
||||
@@ -24,9 +24,9 @@
|
||||
<div class="info-content" v-html="record.TalkContent" />
|
||||
</div>
|
||||
<!-- <img :src="record.headUrl"> -->
|
||||
<img v-if="record.UserTypeEnum*1 === 8" :src="adminAvatar" alt="Admin">
|
||||
<img v-else-if="record.UserTypeEnum*1 === 1" :src="pmAvatar" alt="PM">
|
||||
<img v-else-if="record.UserTypeEnum*1 === 2" :src="crcAvatar" alt="CRC">
|
||||
<img v-if="record.UserTypeEnum * 1 === 8" :src="adminAvatar" alt="Admin">
|
||||
<img v-else-if="record.UserTypeEnum * 1 === 1" :src="pmAvatar" alt="PM">
|
||||
<img v-else-if="record.UserTypeEnum * 1 === 2" :src="crcAvatar" alt="CRC">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -36,83 +36,50 @@
|
||||
</div>
|
||||
<div v-if="checkChallengeState !== 3 && checkState !== 11" class="chat-message">
|
||||
<div class="message">
|
||||
<el-input
|
||||
v-model="newMessage"
|
||||
v-hasPermi="['trials:trials-panel:visit:consistency-check:fallback']"
|
||||
type="textarea"
|
||||
:rows="2"
|
||||
/>
|
||||
<el-input v-model="newMessage" v-hasPermi="['trials:trials-panel:visit:consistency-check:fallback']"
|
||||
type="textarea" :rows="2" />
|
||||
</div>
|
||||
<div class="function">
|
||||
<!-- 申请回退 -->
|
||||
<el-button
|
||||
v-hasPermi="['trials:trials-panel:visit:consistency-check:apply-fallback']"
|
||||
type="primary"
|
||||
<el-button v-hasPermi="['trials:trials-panel:visit:consistency-check:apply-fallback']" type="primary"
|
||||
:disabled="!(checkState === 10 && (requestBackState === 0 || requestBackState === 3))"
|
||||
@click="handleApplyBack"
|
||||
>
|
||||
@click="handleApplyBack">
|
||||
{{ $t('trials:consistencyCheck:action:applyFallback') }}
|
||||
</el-button>
|
||||
<!-- 拒绝回退 -->
|
||||
<el-button
|
||||
v-hasPermi="['trials:trials-panel:visit:consistency-check:fallback']"
|
||||
type="primary"
|
||||
:disabled="!(requestBackState === 1)"
|
||||
@click="handleRejectBack"
|
||||
>
|
||||
<el-button v-hasPermi="['trials:trials-panel:visit:consistency-check:fallback']" type="primary"
|
||||
:disabled="!(requestBackState === 1)" @click="handleRejectBack">
|
||||
{{ $t('trials:consistencyCheck:button:rejectBack') }}
|
||||
</el-button>
|
||||
<!-- 回退 -->
|
||||
<el-button
|
||||
v-hasPermi="['trials:trials-panel:visit:consistency-check:fallback']"
|
||||
type="primary"
|
||||
:disabled="!(requestBackState === 1)"
|
||||
@click="handleBack"
|
||||
>
|
||||
<el-button v-hasPermi="['trials:trials-panel:visit:consistency-check:fallback']" type="primary"
|
||||
:disabled="!(requestBackState === 1)" @click="handleBack">
|
||||
{{ $t('trials:consistencyCheck:action:fallback') }}
|
||||
</el-button>
|
||||
<!-- 发送 -->
|
||||
<el-button
|
||||
v-hasPermi="['role:pm']"
|
||||
:disabled="!(checkState === 10 && checkChallengeState !== 3) || newMessage === ''"
|
||||
type="primary"
|
||||
:loading="btnLoading"
|
||||
@click="handleReply()"
|
||||
>
|
||||
<el-button v-hasPermi="['role:pm']"
|
||||
:disabled="!(checkState === 10 && checkChallengeState !== 3) || newMessage === ''" type="primary"
|
||||
:loading="btnLoading" @click="handleReply()">
|
||||
{{ $t('trials:consistencyCheck:button:sendMessage') }}
|
||||
</el-button>
|
||||
<!-- 回复 -->
|
||||
<el-button
|
||||
v-hasPermi="['role:crc']"
|
||||
<el-button v-hasPermi="['role:crc']" type="primary"
|
||||
:disabled="!(checkState === 10 && checkChallengeState !== 3) || (recordContent && recordContent.length > 0 ? recordContent[recordContent.length - 1].UserTypeEnum * 1 === 2 : false)"
|
||||
type="primary"
|
||||
:loading="btnLoading"
|
||||
@click="handleCRCReply"
|
||||
>
|
||||
:loading="btnLoading" @click="handleCRCReply">
|
||||
{{ $t('trials:consistencyCheck:title:reply') }}
|
||||
</el-button>
|
||||
<!-- 关闭 -->
|
||||
<el-button
|
||||
type="primary"
|
||||
:loading="btnLoading"
|
||||
@click="close"
|
||||
>
|
||||
<el-button type="primary" :loading="btnLoading" @click="close">
|
||||
{{ $t('trials:consistencyCheck:title:close') }}
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 回复一致性核查 -->
|
||||
<el-dialog
|
||||
v-if="sendMessageCRCVisible"
|
||||
v-dialogDrag
|
||||
:visible.sync="sendMessageCRCVisible"
|
||||
:close-on-click-modal="false"
|
||||
append-to-body
|
||||
custom-class="base-dialog-wrapper"
|
||||
:width="'600px'"
|
||||
:title="$t('trials:consistencyCheck:title:replyConsistency')"
|
||||
>
|
||||
<crcSendMessage :crc-message-info="crcMessageInfo" @sendMessage="handleReply" />
|
||||
<el-dialog v-if="sendMessageCRCVisible" v-dialogDrag :visible.sync="sendMessageCRCVisible"
|
||||
:close-on-click-modal="false" append-to-body custom-class="base-dialog-wrapper" :width="'600px'"
|
||||
:title="$t('trials:consistencyCheck:title:replyConsistency')">
|
||||
<crcSendMessage :crc-message-info="crcMessageInfo" :visible.sync="sendMessageCRCVisible"
|
||||
@sendMessage="handleReply" />
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
@@ -277,46 +244,54 @@ export default {
|
||||
}
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.chat-wrapper{
|
||||
::-webkit-scrollbar {
|
||||
.chat-wrapper {
|
||||
::-webkit-scrollbar {
|
||||
width: 7px;
|
||||
height: 7px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px;
|
||||
background: #d0d0d0;
|
||||
}
|
||||
.chat-content{
|
||||
width:100%;
|
||||
|
||||
.chat-content {
|
||||
width: 100%;
|
||||
padding: 20px;
|
||||
height: 500px;
|
||||
overflow-y: auto;
|
||||
.word{
|
||||
|
||||
.word {
|
||||
display: flex;
|
||||
margin-bottom: 20px;
|
||||
img{
|
||||
width:40px;
|
||||
|
||||
img {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.info{
|
||||
|
||||
.info {
|
||||
margin-left: 10px;
|
||||
.user-info{
|
||||
|
||||
.user-info {
|
||||
font-size: 12px;
|
||||
color:rgba(51,51,51,0.8);
|
||||
margin:0;
|
||||
color: rgba(51, 51, 51, 0.8);
|
||||
margin: 0;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
margin-top: -5px;
|
||||
}
|
||||
.info-content{
|
||||
|
||||
.info-content {
|
||||
padding: 10px;
|
||||
font-size: 14px;
|
||||
background-color: #ebeef5;
|
||||
position: relative;
|
||||
margin-top: 8px;
|
||||
}
|
||||
.info-content::before{
|
||||
|
||||
.info-content::before {
|
||||
position: absolute;
|
||||
left: -8px;
|
||||
top: 8px;
|
||||
@@ -327,29 +302,34 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
.word-my{
|
||||
|
||||
.word-my {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
margin-bottom: 20px;
|
||||
img{
|
||||
|
||||
img {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.info{
|
||||
|
||||
.info {
|
||||
width: 90%;
|
||||
margin-left: 10px;
|
||||
text-align: right;
|
||||
.user-info{
|
||||
|
||||
.user-info {
|
||||
font-size: 12px;
|
||||
color: rgba(51,51,51,0.8);
|
||||
color: rgba(51, 51, 51, 0.8);
|
||||
margin: 0;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
margin-top: -5px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.info-content{
|
||||
|
||||
.info-content {
|
||||
position: relative;
|
||||
max-width: 70%;
|
||||
padding: 10px;
|
||||
@@ -361,7 +341,8 @@ export default {
|
||||
color: #fff;
|
||||
text-align: left;
|
||||
}
|
||||
.info-content::after{
|
||||
|
||||
.info-content::after {
|
||||
position: absolute;
|
||||
right: -8px;
|
||||
top: 8px;
|
||||
@@ -373,9 +354,11 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
.chat-message{
|
||||
|
||||
.chat-message {
|
||||
padding: 0 50px;
|
||||
.function{
|
||||
|
||||
.function {
|
||||
margin-top: 10px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
+11
@@ -71,6 +71,10 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="function">
|
||||
<!-- 取消 -->
|
||||
<el-button @click="close">
|
||||
{{ $t('common:button:cancel') }}
|
||||
</el-button>
|
||||
<!-- 发送 -->
|
||||
<el-button type="primary" @click="handleReply">
|
||||
{{ $t('trials:consistencyCheck:button:sendMessage') }}
|
||||
@@ -118,6 +122,10 @@ export default {
|
||||
TalkContent: null
|
||||
}
|
||||
}
|
||||
},
|
||||
visible: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
@@ -149,6 +157,9 @@ export default {
|
||||
this.compareStudy()
|
||||
},
|
||||
methods: {
|
||||
close() {
|
||||
this.$emit('update:visible', false)
|
||||
},
|
||||
compareStudy() {
|
||||
var isLackOf = false
|
||||
this.IRCList = []
|
||||
|
||||
@@ -194,10 +194,10 @@
|
||||
<template slot="dialog-body">
|
||||
<el-form ref="imageBackform" :model="form" class="demo-form-inline" :rules="rules"
|
||||
:label-width="isEN ? '150px' : '100px'">
|
||||
<el-form-item :label="$t('trials:reuploadAudit:table:Matters') + ': '" prop="Matters">
|
||||
<el-form-item :label="$t('trials:reuploadAudit:table:Matters')" prop="Matters">
|
||||
<span>{{ rowData.title }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('trials:reuploadAudit:table:ApplyReason') + ': '" prop="ApplyReason">
|
||||
<el-form-item :label="$t('trials:reuploadAudit:form:ApplyReason')" prop="ApplyReason">
|
||||
<span>{{ rowData.ApplyReason }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('trials:reuploadAudit:form:IsAgree')" prop="IsAgree">
|
||||
@@ -206,7 +206,7 @@
|
||||
<el-radio :label="false">{{ $t('trials:reuploadAudit:button:auditNo') }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('trials:reuploadAudit:table:ResultRemark') + ': '" prop="ResultRemark">
|
||||
<el-form-item :label="$t('trials:reuploadAudit:form:ResultRemark')" prop="ResultRemark">
|
||||
<el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder=""
|
||||
v-model="form.ResultRemark">
|
||||
</el-input>
|
||||
|
||||
+1
-1
@@ -97,7 +97,7 @@ module.exports = defineConfig({
|
||||
]
|
||||
}),
|
||||
// new BundleAnalyzerPlugin(),
|
||||
process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'prod' || process.env.NODE_ENV === 'production' || process.env.VUE_APP_OSS_CONFIG_BUCKET === 'zyypacs-usa' ? function () { }
|
||||
process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'production' || process.env.VUE_APP_OSS_CONFIG_BUCKET === 'zyypacs-usa' ? function () { }
|
||||
: new WebpackAliyunOss({
|
||||
from: ['./dist/**'],
|
||||
dist: process.env.VUE_APP_OSS_PATH + distDate,
|
||||
|
||||
Reference in New Issue
Block a user