| applications/task-work-order/src/views/orderView/orderManage/inspectionReport/index.vue | ●●●●● patch | view | raw | blame | history | |
| uniapps/work-app/src/api/work/index1.js | ●●●●● patch | view | raw | blame | history | |
| uniapps/work-app/src/pages/user/index.vue | ●●●●● patch | view | raw | blame | history | |
| uniapps/work-app/src/subPackages/userDetail/infos/index.vue | ●●●●● patch | view | raw | blame | history | |
| uniapps/work-app/src/subPackages/userDetail/password/index.vue | ●●●●● patch | view | raw | blame | history | |
| uniapps/work-app/src/subPackages/workDetail/index.vue | ●●●●● patch | view | raw | blame | history | |
| uniapps/work-app/src/utils/requestGd/index.js | ●●●●● patch | view | raw | blame | history |
applications/task-work-order/src/views/orderView/orderManage/inspectionReport/index.vue
@@ -57,7 +57,7 @@ </el-table-column> <el-table-column label="操作" class-name="operation-btns"> <template v-slot="{ row }"> <el-link @click="seeOnlineWord(item)">查看</el-link> <el-link @click="seeOnlineWord(row)">查看</el-link> <el-link @click="openForm(row)">在线编辑</el-link> <el-link @click="handleDelete(row)">删除</el-link> </template> @@ -119,7 +119,12 @@ </template> </el-dialog> <PreviewFiles v-model="previewVisible" :src="searchUrl" type="docx"/> <el-image v-if="previewVisibleImg" :src="searchUrl" fit="contain" style="height: 100%;width: 100%" /> <!-- <el-image v-if="previewVisibleImg" :src="searchUrl" fit="contain" style="height: 100%;width: 100%" /> --> <el-image-viewer v-if="previewVisibleImg" :url-list="[searchUrl]" @close="previewVisibleImg = false" ></el-image-viewer> </basic-container> </template> <script setup> @@ -191,9 +196,7 @@ loading.value = true try { const res = await fjPageApi({ ...searchParams.value }) console.log(res?.data?.data?.records,'888') list.value = res?.data?.data?.records ?? [] console.log(list.value,'999') total.value = res?.data?.data?.total ?? 0 } finally { loading.value = false @@ -224,21 +227,22 @@ } // 在线查看文档 function seeOnlineWord(item) { console.log(item.link,'9999') if (!item.link) { ElMessage.error('文档链接不存在') function seeOnlineWord(row) { // 获取点之后的文件格式名 const fileType = row?.link?.split('.').pop() || '' if (!row.link) { ElMessage.warning('文件链接不存在') return } else if (!item.link.includes('docx') && !item.link.includes('pdf') && !item.link.includes('png') && !item.link.includes('jpg')) { ElMessage.error('可进行下载观看!') } else if (!row.link.includes('docx') && !row.link.includes('pdf') && !row.link.includes('png') && !row.link.includes('jpg')) { ElMessage.warning(`${fileType}文件格式,可以下载再查看`) return } else if (item.link.includes('png') || item.link.includes('jpg')) { } else if (row.link.includes('png') || row.link.includes('jpg')) { previewVisibleImg.value = true searchUrl.value = item.link searchUrl.value = row.link return } else if (item.link.includes('docx') || item.link.includes('pdf')) { } else if (row.link.includes('docx') || row.link.includes('pdf')) { previewVisible.value = true searchUrl.value = item.link searchUrl.value = row.link return } } @@ -269,6 +273,10 @@ async function handleDownload() { // 如果是勾选一个可以直接下载,超过一个打包下载 // 依次下载每个文件(添加延迟以避免浏览器限制) if (selectedFiles.value.length === 0) { ElMessage.warning('请选择要下载的文件') return } selectedFiles.value.forEach((file, index) => { setTimeout(() => { if (file.link) { uniapps/work-app/src/api/work/index1.js
@@ -48,3 +48,11 @@ params, }) } // 退回工单 export const backGdApi = (data) => { return request({ url: '/drone-gd/workOrder/gdClueEvent/reject', method: 'post', data, }) } uniapps/work-app/src/pages/user/index.vue
@@ -163,15 +163,15 @@ } .goOutStyle { width: 670rpx; height: 100rpx; height: 76rpx; background: #1D6FE9; border-radius: 8rpx 8rpx 8rpx 8rpx; font-family: "Source Han Sans CN"; font-weight: 400; font-size: 36rpx; font-size: 28rpx; color: #ffffff; text-align: center; line-height: 100rpx; line-height: 76rpx; margin: auto; margin-top: 114rpx; uniapps/work-app/src/subPackages/userDetail/infos/index.vue
@@ -361,13 +361,13 @@ .custom-style { width: 276rpx; height: 100rpx; height: 76rpx; font-family: "Source Han Sans CN"; font-weight: 400; font-size: 36rpx; font-size: 28rpx; } :deep(.u-button.data-v-461e713c){ width: 276rpx !important; height: 100rpx !important; height: 76rpx !important; } </style> uniapps/work-app/src/subPackages/userDetail/password/index.vue
@@ -388,14 +388,14 @@ .custom-style { width: 276rpx; height: 100rpx; height: 76rpx; font-family: "Source Han Sans CN"; font-weight: 400; font-size: 36rpx; font-size: 28rpx; } :deep(.u-button.data-v-461e713c){ width: 276rpx !important; height: 100rpx !important; height: 76rpx !important; } .getCode { margin-left: 20rpx; uniapps/work-app/src/subPackages/workDetail/index.vue
@@ -7,30 +7,6 @@ <div class="share-btn" @click="onShareClick"><img src="@/static/images/work/share.svg" alt=""></div> </template> </u-navbar> <!-- 分享弹出层 --> <div v-if="showShareModal" class="share-modal-overlay" @click="onShareModalClose"> <div class="share-modal-content" @click.stop> <div class="share-modal-header"> <div class="share-modal-title">分享到</div> <div class="share-modal-close" @click="onShareModalClose">×</div> </div> <div class="share-modal-body"> <div class="share-item" @click="shareToWechat"> <div class="share-icon wechat"></div> <div class="share-name">微信好友</div> </div> <div class="share-item" @click="shareToMoments"> <div class="share-icon moments"></div> <div class="share-name">朋友圈</div> </div> <div class="share-item" @click="copyLink"> <div class="share-icon link"></div> <div class="share-name">复制链接</div> </div> </div> </div> </div> <div class="detailTop"> <div class="image-container"> <u-swiper @@ -45,15 +21,8 @@ height="410rpx" @click="previewImage" ></u-swiper> <!-- <div class="detailTitle">--> <!-- <div class="titleText">--> <!-- <div class="itemName">{{workDetailData.event_name}}</div>--> <!-- <div class="itemTime">{{formatDate(workDetailData.create_time)}}</div>--> <!-- </div>--> <!-- </div>--> </div> </div> <!-- 工单内容 --> <div class="worderContainer"> <div class="workOrderContent"> @@ -69,7 +38,7 @@ </div> <div class="orderRow"> <div class="rowTitle">处置部门</div> <div>{{ workDetailData.disposeDept }}</div> <div>{{ workDetailData.disposeDeptName }}</div> </div> <div class="orderRow"> <div class="rowTitle">拍摄时间</div> @@ -98,8 +67,31 @@ <!-- 操作按钮 --> <div class="actionButton"> <div class="btngroups"> <up-button type="primary" color="#AEAEAE" text="退回"></up-button> <up-button type="primary" color="#1D6FE9" text="确认"></up-button> <up-button type="primary" color="#AEAEAE" text="退回" @click="rejectTicket"></up-button> <up-button type="primary" color="#1D6FE9" text="确认" @click="confirmTheTicket"></up-button> </div> </div> <!-- 分享弹出层 --> <div v-if="showShareModal" class="share-modal-overlay" @click="onShareModalClose"> <div class="share-modal-content" @click.stop> <div class="share-modal-header"> <div class="share-modal-title">分享到</div> <div class="share-modal-close" @click="onShareModalClose">×</div> </div> <div class="share-modal-body"> <div class="share-item" @click="shareToWechat"> <div class="share-icon wechat"></div> <div class="share-name">微信好友</div> </div> <div class="share-item" @click="shareToMoments"> <div class="share-icon moments"></div> <div class="share-name">朋友圈</div> </div> <div class="share-item" @click="copyLink"> <div class="share-icon link"></div> <div class="share-name">复制链接</div> </div> </div> </div> </div> </div> @@ -108,7 +100,7 @@ <script setup> // import { getShowImg, getSmallImg } from '@/utils/util' import { ref, computed } from 'vue' import {getGddetailedData} from '/src/api/work/index1.js' import {getGddetailedData,backGdApi} from '/src/api/work/index1.js' import dayjs from 'dayjs' const formatDate = dateString => { return dayjs(dateString).format('MM/DD HH:mm') @@ -129,10 +121,8 @@ workDetailData.value = response console.log('详情', workDetailData.value) } // 图片预览 const previewImage = index => { if (getImageList.value.length === 0) return const currentIndex = typeof index === 'number' ? index : 0 @@ -160,7 +150,27 @@ url: `/subPackages/workDetail/mapWork/index?eventNum=${item.event_num}`, }) } // 退回 const rejectTicket = () => { const id = workDetailData.value.id backGdApi({eventId : id,eventStutas:'0'}).then(res => { uni.showToast({ title: '退回成功', icon: 'success', }) }) } // 确认工单 const confirmTheTicket = () => { const id = workDetailData.value.id backGdApi({eventId : id,eventStutas:'1'}).then(res => { uni.showToast({ title: '确认成功', icon: 'success', }) }) } // 分享模态框状态 const showShareModal = ref(false) @@ -422,7 +432,7 @@ align-items: center; :deep(.u-button) { width: 276rpx !important; height: 100rpx !important; height: 76rpx !important; &:last-child { margin-left: 30rpx; } uniapps/work-app/src/utils/requestGd/index.js
@@ -28,7 +28,7 @@ const {detail} = useUserStore().$state?.userInfo || {} // 假设有token值需要在头部需要携带 // let accessToken = useUserStore()?.$state?.userInfo?.gd_access_token; let accessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJ1c2VyX25hbWUiOiJ5ankiLCJyZWFsX25hbWUiOiJ5ankiLCJhdmF0YXIiOiIiLCJhdXRob3JpdGllcyI6WyJrZmpzIl0sImNsaWVudF9pZCI6InNhYmVyIiwicm9sZV9uYW1lIjoia2ZqcyIsImxpY2Vuc2UiOiJwb3dlcmVkIGJ5IGJsYWRleCIsInBvc3RfaWQiOiIiLCJ1c2VyX2lkIjoiMjAwODc5MzU1MDA1OTkyNTUwNSIsInJvbGVfaWQiOiIyMDA4NzMzNDY5MTg3MzY2OTE0Iiwic2NvcGUiOlsiYWxsIl0sIm5pY2tfbmFtZSI6InlqeSIsIm9hdXRoX2lkIjoiIiwiZGV0YWlsIjp7ImFyZWFDb2RlIjpudWxsLCJhcmVhTmFtZSI6Iuaxn-ilv-ecgSIsImFjdGl2ZUxvYW5zQXJlYUNvZGUiOltdfSwiZXhwIjoxNzY5MDc1MzY1LCJkZXB0X2lkIjoiMTEyMzU5ODgxMzczODY3NTIwMSIsImp0aSI6ImUwMGFhNzIzLTU5YjgtNDNmNy1hZmU2LTNiMjZlNTM5NTUxMiIsImFjY291bnQiOiJ5ankifQ.CJTDqgL2wu2KgrUNncBz34VYPoxUfKXxgScBUUE-BhM' let accessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJ1c2VyX25hbWUiOiJhZG1pbiIsInJlYWxfbmFtZSI6IueuoeeQhuWRmCIsImF2YXRhciI6Imh0dHBzOi8vZ3cuYWxpcGF5b2JqZWN0cy5jb20vem9zL3Jtc3BvcnRhbC9CaWF6ZmFueG1hbU5Sb3h4VnhrYS5wbmciLCJhdXRob3JpdGllcyI6WyJhZG1pbmlzdHJhdG9yIl0sImNsaWVudF9pZCI6InNhYmVyIiwicm9sZV9uYW1lIjoiYWRtaW5pc3RyYXRvciIsImxpY2Vuc2UiOiJwb3dlcmVkIGJ5IGJsYWRleCIsInBvc3RfaWQiOiIxMTIzNTk4ODE3NzM4Njc1MjAxIiwidXNlcl9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJyb2xlX2lkIjoiMTEyMzU5ODgxNjczODY3NTIwMSIsInNjb3BlIjpbImFsbCJdLCJuaWNrX25hbWUiOiLnrqHnkIblkZgiLCJvYXV0aF9pZCI6IiIsImRldGFpbCI6eyJhcmVhQ29kZSI6bnVsbCwiYXJlYU5hbWUiOiLmsZ_opb_nnIEiLCJhY3RpdmVMb2Fuc0FyZWFDb2RlIjpbXX0sImV4cCI6MTc2OTEzNjM3OSwiZGVwdF9pZCI6IjExMjM1OTg4MTM3Mzg2NzUyMDEiLCJqdGkiOiI4MmIxOTdlYi0zY2NhLTQ0YmEtYjQ1OS0zODE5ZWIzZjUxN2IiLCJhY2NvdW50IjoiYWRtaW4ifQ.Mf--eQ96cYH1GhsySwoceM1c3dF-F7qt5RmQZ3MzYWY' if (accessToken) { config.header['Blade-Auth'] = 'bearer ' + accessToken; } @@ -75,7 +75,7 @@ // 引入拦截器配置 export function setupRequest () { httpGd.setConfig(defaultConfig => { /* defaultConfig 为默认全局配置 */ defaultConfig.baseURL = getEnvObj().VITE_API_BASE_URL_GD // #ifdef H5