增加一键复制功能,修改返修申请权限判断,添加复制插件库
This commit is contained in:
parent
be889c5e23
commit
31c40d68f6
@ -65,6 +65,7 @@
|
||||
"url": "^0.11.3",
|
||||
"video.js": "^7.21.5",
|
||||
"vue": "3.4.21",
|
||||
"vue-clipboard3": "^2.0.0",
|
||||
"vue-dompurify-html": "^4.1.4",
|
||||
"vue-i18n": "9.10.2",
|
||||
"vue-qrcode": "^2.2.2",
|
||||
|
@ -128,6 +128,9 @@ importers:
|
||||
vue:
|
||||
specifier: 3.4.21
|
||||
version: 3.4.21(typescript@5.3.3)
|
||||
vue-clipboard3:
|
||||
specifier: ^2.0.0
|
||||
version: 2.0.0
|
||||
vue-dompurify-html:
|
||||
specifier: ^4.1.4
|
||||
version: 4.1.4(vue@3.4.21(typescript@5.3.3))
|
||||
@ -2621,6 +2624,9 @@ packages:
|
||||
resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
clipboard@2.0.11:
|
||||
resolution: {integrity: sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==}
|
||||
|
||||
cliui@6.0.0:
|
||||
resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
|
||||
|
||||
@ -2917,6 +2923,9 @@ packages:
|
||||
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
|
||||
engines: {node: '>=0.4.0'}
|
||||
|
||||
delegate@3.2.0:
|
||||
resolution: {integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==, tarball: https://r2.cnpmjs.org/delegate/-/delegate-3.2.0.tgz}
|
||||
|
||||
destr@2.0.3:
|
||||
resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
|
||||
|
||||
@ -3066,7 +3075,7 @@ packages:
|
||||
engines: {node: '>=6'}
|
||||
|
||||
errno@0.1.8:
|
||||
resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
|
||||
resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==, tarball: https://r2.cnpmjs.org/errno/-/errno-0.1.8.tgz}
|
||||
hasBin: true
|
||||
|
||||
error-ex@1.3.2:
|
||||
@ -3477,6 +3486,9 @@ packages:
|
||||
globjoin@0.1.4:
|
||||
resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==}
|
||||
|
||||
good-listener@1.2.2:
|
||||
resolution: {integrity: sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==, tarball: https://r2.cnpmjs.org/good-listener/-/good-listener-1.2.2.tgz}
|
||||
|
||||
gopd@1.0.1:
|
||||
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
|
||||
|
||||
@ -3602,7 +3614,7 @@ packages:
|
||||
engines: {node: '>= 4'}
|
||||
|
||||
image-size@0.5.5:
|
||||
resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
|
||||
resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==, tarball: https://r2.cnpmjs.org/image-size/-/image-size-0.5.5.tgz}
|
||||
engines: {node: '>=0.10.0'}
|
||||
hasBin: true
|
||||
|
||||
@ -4101,7 +4113,7 @@ packages:
|
||||
resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==}
|
||||
|
||||
make-dir@2.1.0:
|
||||
resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
|
||||
resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==, tarball: https://r2.cnpmjs.org/make-dir/-/make-dir-2.1.0.tgz}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
map-cache@0.2.2:
|
||||
@ -4166,7 +4178,7 @@ packages:
|
||||
engines: {node: '>= 0.6'}
|
||||
|
||||
mime@1.6.0:
|
||||
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
|
||||
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, tarball: https://r2.cnpmjs.org/mime/-/mime-1.6.0.tgz}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
|
||||
@ -4833,6 +4845,9 @@ packages:
|
||||
scule@1.3.0:
|
||||
resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==}
|
||||
|
||||
select@1.1.2:
|
||||
resolution: {integrity: sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==, tarball: https://r2.cnpmjs.org/select/-/select-1.1.2.tgz}
|
||||
|
||||
selection-update@0.1.2:
|
||||
resolution: {integrity: sha512-4jzoJNh7VT2s2tvm/kUSskSw7pD0BVcrrGccbfOMK+3AXLBPz6nIy1yo+pbXgvNoTNII96Pq92+sAY+rF0LUAA==}
|
||||
|
||||
@ -4950,7 +4965,7 @@ packages:
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
source-map@0.6.1:
|
||||
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
|
||||
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, tarball: https://r2.cnpmjs.org/source-map/-/source-map-0.6.1.tgz}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
split-string@3.1.0:
|
||||
@ -5152,6 +5167,9 @@ packages:
|
||||
through@2.3.8:
|
||||
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
|
||||
|
||||
tiny-emitter@2.1.0:
|
||||
resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==, tarball: https://r2.cnpmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz}
|
||||
|
||||
tiny-svg@2.2.4:
|
||||
resolution: {integrity: sha512-NOi39lBknf4UdDEahNkbEAJnzhu1ZcN2j75IS2vLRmIhsfxdZpTChfLKBcN1ShplVmPIXJAIafk6YY5/Aa80lQ==}
|
||||
|
||||
@ -5452,6 +5470,9 @@ packages:
|
||||
terser:
|
||||
optional: true
|
||||
|
||||
vue-clipboard3@2.0.0:
|
||||
resolution: {integrity: sha512-Q9S7dzWGax7LN5iiSPcu/K1GGm2gcBBlYwmMsUc5/16N6w90cbKow3FnPmPs95sungns4yvd9/+JhbAznECS2A==}
|
||||
|
||||
vue-demi@0.14.7:
|
||||
resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
|
||||
engines: {node: '>=12'}
|
||||
@ -8291,6 +8312,12 @@ snapshots:
|
||||
slice-ansi: 5.0.0
|
||||
string-width: 7.1.0
|
||||
|
||||
clipboard@2.0.11:
|
||||
dependencies:
|
||||
good-listener: 1.2.2
|
||||
select: 1.1.2
|
||||
tiny-emitter: 2.1.0
|
||||
|
||||
cliui@6.0.0:
|
||||
dependencies:
|
||||
string-width: 4.2.3
|
||||
@ -8563,6 +8590,8 @@ snapshots:
|
||||
|
||||
delayed-stream@1.0.0: {}
|
||||
|
||||
delegate@3.2.0: {}
|
||||
|
||||
destr@2.0.3: {}
|
||||
|
||||
diagram-js-direct-editing@1.8.0(diagram-js@7.9.0):
|
||||
@ -9326,6 +9355,10 @@ snapshots:
|
||||
|
||||
globjoin@0.1.4: {}
|
||||
|
||||
good-listener@1.2.2:
|
||||
dependencies:
|
||||
delegate: 3.2.0
|
||||
|
||||
gopd@1.0.1:
|
||||
dependencies:
|
||||
get-intrinsic: 1.2.4
|
||||
@ -10632,6 +10665,8 @@ snapshots:
|
||||
|
||||
scule@1.3.0: {}
|
||||
|
||||
select@1.1.2: {}
|
||||
|
||||
selection-update@0.1.2: {}
|
||||
|
||||
semver@5.7.2:
|
||||
@ -11017,6 +11052,8 @@ snapshots:
|
||||
|
||||
through@2.3.8: {}
|
||||
|
||||
tiny-emitter@2.1.0: {}
|
||||
|
||||
tiny-svg@2.2.4: {}
|
||||
|
||||
tiny-svg@3.0.1: {}
|
||||
@ -11398,6 +11435,10 @@ snapshots:
|
||||
sass: 1.75.0
|
||||
terser: 5.30.4
|
||||
|
||||
vue-clipboard3@2.0.0:
|
||||
dependencies:
|
||||
clipboard: 2.0.11
|
||||
|
||||
vue-demi@0.14.7(vue@3.4.21(typescript@5.3.3)):
|
||||
dependencies:
|
||||
vue: 3.4.21(typescript@5.3.3)
|
||||
|
5
src/types/vue-clipboard3.d.ts
vendored
Normal file
5
src/types/vue-clipboard3.d.ts
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
declare module 'vue-clipboard3' {
|
||||
export default function useClipboard(): {
|
||||
toClipboard: (text: string) => Promise<void>;
|
||||
}
|
||||
}
|
@ -28,29 +28,24 @@
|
||||
<!--头部 功能按钮-->
|
||||
<el-header style="height: 40px; padding: 0px">
|
||||
<el-button-group class="ml-4" style="margin-top: 4px; margin-left: 0px">
|
||||
<el-button type="primary" plain
|
||||
><el-icon><Filter /></el-icon> 采集</el-button
|
||||
>
|
||||
<el-popover
|
||||
placement="bottom"
|
||||
title="分享二维码"
|
||||
:width="250"
|
||||
trigger="click"
|
||||
:disabled="isshare"
|
||||
>
|
||||
<template #reference>
|
||||
<el-button type="primary" plain :icon="Share" @click="shareclick()"
|
||||
>分享</el-button
|
||||
>
|
||||
</template>
|
||||
<div>
|
||||
<div style="display: flex; flex-direction: column; align-items: center;">
|
||||
<canvas ref="qrcodeRef" width="200" height="200"></canvas>
|
||||
<el-button
|
||||
type="primary"
|
||||
style="margin-top: 10px; width: 120px;"
|
||||
@click="touchCopy"
|
||||
>复制链接</el-button>
|
||||
</div>
|
||||
<template #reference>
|
||||
<el-button type="primary" plain :icon="Share" @click="shareclick()">分享</el-button>
|
||||
</template>
|
||||
</el-popover>
|
||||
|
||||
<el-button type="primary" plain>
|
||||
<el-icon><RefreshLeft /></el-icon> 重采</el-button
|
||||
>
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
@ -585,6 +580,8 @@ import ECGReport from '@/views/ECG/ECGWaring/ECGReport.vue'
|
||||
import { WarningApi, WarningVO } from '@/api/system/warning'
|
||||
import ECGCopmareDialog from '@/views/ECG/ECGCompare.vue'
|
||||
import ECGApplyforRepair from '@/views/ECG/ECGModify/ECGApplyforRepair.vue'
|
||||
import useClipboard from "vue-clipboard3";//复制组件
|
||||
const { toClipboard } = useClipboard();
|
||||
/** 提交表单 */
|
||||
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
||||
const message = useMessage() // 消息弹窗
|
||||
@ -867,7 +864,8 @@ function ECGApplyDialog() {
|
||||
rowinfo.value,
|
||||
Profilevo.value.orgId,
|
||||
Profilevo.value.doctorname,
|
||||
Profilevo.value.id
|
||||
Profilevo.value.id,
|
||||
applyFormVO.value.reportstatus
|
||||
)
|
||||
}
|
||||
//危急值弹窗
|
||||
@ -891,7 +889,16 @@ function iscorrect() {
|
||||
function Refresh() {
|
||||
isrefresh.value = isrefresh.value ? false : true
|
||||
}
|
||||
|
||||
//复制链接
|
||||
function touchCopy () {
|
||||
// 调用
|
||||
if (rowinfo.value.pdfurl) {
|
||||
toClipboard(rowinfo.value.pdfurl)
|
||||
message.alertSuccess('复制成功')
|
||||
} else {
|
||||
message.alertError('请先保存后再进行复制')
|
||||
}
|
||||
}
|
||||
/** 申请后更新上级机构字段*/
|
||||
const getuporghiorgid = async (id: number, orgId: string) => {
|
||||
try {
|
||||
|
@ -86,10 +86,8 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
import { getUserProfile, ProfileVO } from '@/api/system/user/profile'
|
||||
import { formatDate } from '@/utils/formatTime'
|
||||
import { ProcessManageApi,ProcessManageVO } from '@/api/ECG/processManage'
|
||||
const Profilevo = ref<ProfileVO>({} as ProfileVO) //当前登录人信息
|
||||
const { t } = useI18n() // 国际化
|
||||
const message = useMessage() // 消息弹窗
|
||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||
@ -112,7 +110,8 @@ const formData = ref({
|
||||
remark: '',
|
||||
processstats:'',
|
||||
refuseremark: '',
|
||||
pname: ''
|
||||
pname: '',
|
||||
reviewStatus:''
|
||||
})
|
||||
const formRef = ref()
|
||||
const rules = {
|
||||
@ -141,13 +140,14 @@ const resetForm = () => {
|
||||
remark: '',
|
||||
processstats:'',
|
||||
refuseremark: '',
|
||||
pname: ''
|
||||
pname: '',
|
||||
reviewStatus:''
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
const opendiag = async (type: string, row: any, orgId: string, doctorname: string,id:string) => {
|
||||
const opendiag = async (type: string, row: any, orgId: string, doctorname: string,id:string,reviewStatus:string) => {
|
||||
resetForm()
|
||||
const data = await ProcessManageApi.getPage({
|
||||
examId: row.examId
|
||||
@ -159,6 +159,11 @@ const opendiag = async (type: string, row: any, orgId: string, doctorname: strin
|
||||
message.alertError('已申请')
|
||||
return
|
||||
}
|
||||
if(reviewStatus !== '已审核'){
|
||||
dialogVisible.value = false
|
||||
message.alertError('未审核无法进行申请返修')
|
||||
return
|
||||
}
|
||||
|
||||
rowinfo.value = row
|
||||
// 设置基础数据
|
||||
@ -168,6 +173,7 @@ const opendiag = async (type: string, row: any, orgId: string, doctorname: strin
|
||||
formData.value.pname = row.pname
|
||||
formData.value.applyDoctor = doctorname
|
||||
formData.value.userId = id
|
||||
formData.value.reviewStatus = reviewStatus
|
||||
dialogTitle.value = t('action.' + type)
|
||||
if(data?.list?.[0]?.processstats === 0){
|
||||
dialogVisible.value = false
|
||||
|
Loading…
Reference in New Issue
Block a user