Compare commits

...

45 Commits

Author SHA1 Message Date
lihui_ocr ac9abbb360 feat:首页小狗加快捷键
1 year ago
赵辉 9e359c6a16 Merge pull request 'fix:可疑文件通过未通过样式' (#258) from fix/change_task into test
1 year ago
lihui_ocr e34a11759f fix:可疑文件通过未通过样式
1 year ago
yaoshuli 6da3df16bd Merge pull request 'feat: 修改按钮距离问题' (#255) from fix/updatesyspic into test
1 year ago
raofuzi f634fe008b feat: 修改图标展示问题
1 year ago
raofuzi a885893342 Merge branch 'test' of https://git.mcnetmart.com/guoxiangbin/ocr-web into fix/updatesyspic
1 year ago
raofuzi 721dfb5732 feat: 修改图片圆角问题
1 year ago
赵辉 2829fa9a8a Merge pull request 'fix:图标回显问题' (#257) from fix/change_task into test
1 year ago
lihui_ocr ae6cb69b19 fix:图标回显问题
1 year ago
赵辉 9f96a3d2a7 Merge pull request 'fix:快捷键弹筐效果调整' (#256) from fix/change_task into test
1 year ago
lihui_ocr 8a32b683af fix:快捷键弹筐效果调整
1 year ago
raofuzi 123f6f2392 Merge branch 'test' of https://git.mcnetmart.com/guoxiangbin/ocr-web into fix/updatesyspic
1 year ago
raofuzi b41389f192 feat: 修改按钮距离问题
1 year ago
赵辉 c7a5b5f26f Merge pull request 'fix:图片审批沉浸模式 消息公告名字 消息公告回显标题' (#254) from fix/change_task into test
1 year ago
lihui_ocr 63d49a6ef3 fix:图片审批沉浸模式 消息公告名字 消息公告回显标题
1 year ago
yaoshuli ffbd15443a Merge pull request 'fix/updatesyspic' (#252) from fix/updatesyspic into test
1 year ago
赵辉 b2b773c4a6 Merge pull request 'fix:- -的添加' (#253) from fix/change_task into test
1 year ago
lihui_ocr ebd93126bd fix:- -的添加
1 year ago
raofuzi 87063d3bf2 feat: 修改加载慢问题
1 year ago
raofuzi 88e2cbb7b1 Merge branch 'test' of https://git.mcnetmart.com/guoxiangbin/ocr-web into fix/updatesyspic
1 year ago
raofuzi 3bed6c559a feat: 修改按钮距离问题
1 year ago
赵辉 bcb0235eb4 Merge pull request 'fix' (#251) from fix/change_task into test
1 year ago
lihui_ocr aca9fd5a40 fix
1 year ago
赵辉 1917ac7b0a Merge pull request 'fix:无时间时展示内容' (#250) from fix/change_task into test
1 year ago
lihui_ocr b91eee93cc fix:无时间时展示内容
1 year ago
yaoshuli 94b4e1dc3b Merge pull request 'fix: 图检审批左右键异常处理' (#248) from 20240420keydown into test
1 year ago
yaoshuli 78cd69fe7d Merge pull request 'fix/updatesyspic' (#245) from fix/updatesyspic into test
1 year ago
赵辉 a27866f409 Merge pull request 'fix:提示栏背景颜色调整' (#249) from fix/change_task into test
1 year ago
lihui_ocr 45e6ef340c fix:提示栏背景颜色调整
1 year ago
赵辉 a57173da41 Merge pull request 'feat:删除按钮的联动' (#247) from fix/change_task into test
1 year ago
lihui_ocr 89c26a38a7 feat:删除按钮的联动
1 year ago
赵辉 475846b872 Merge pull request 'feat:已审批的不可移入可疑文件夹中' (#246) from fix/change_task into test
1 year ago
lihui_ocr 5aeccffdaf feat:已审批的不可移入可疑文件夹中
1 year ago
raofuzi 42d5e1b0ab feat: 修改加载慢问题
1 year ago
raofuzi 97ebc08c61 Merge branch 'test' of https://git.mcnetmart.com/guoxiangbin/ocr-web into fix/updatesyspic
1 year ago
raofuzi 9c25f60bee feat: 修改加载慢问题
1 year ago
赵辉 7c825aeb27 Merge pull request 'fix:全局样式问题调整' (#244) from fix/change_task into test
1 year ago
lihui_ocr 1642a60615 fix:全局样式问题调整
1 year ago
李忠 875eb84cdb Merge pull request 'fix: 处理图检审批左右按键异常' (#243) from 20240420keydown into test
1 year ago
李忠 baaad7926e Merge branch 'test' into 20240420keydown
1 year ago
李忠 fd4638c5dc Merge pull request 'fix/updatesyspic' (#242) from fix/updatesyspic into test
1 year ago
李忠 f68776c228 Merge branch 'test' into fix/updatesyspic
1 year ago
raofuzi 2b5b0f9a14 Merge branch 'test' of https://git.mcnetmart.com/guoxiangbin/ocr-web into fix/updatesyspic
1 year ago
raofuzi 1d35907097 feat: 修改加载问题
1 year ago
raofuzi 8a68a00d8a Merge branch 'test' of https://git.mcnetmart.com/guoxiangbin/ocr-web into fix/updatesyspic
1 year ago

@ -22,7 +22,7 @@ index 3aacec9..a63ab54 100644
+ class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--error flex` + class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--error flex`
+ }, [h('img', { + }, [h('img', {
+ style: { width: '1rem', height: '1rem' }, + style: { width: '1rem', height: '1rem' },
+ src: 'http://47.93.59.251/api/upload/ocr/1713246379185_c.png' + src: 'notice.svg'
+ }), feedbackNodes]) : mergedValidationStatus === 'success' ? h("div", { + }), feedbackNodes]) : mergedValidationStatus === 'success' ? h("div", {
key: "controlled-success", key: "controlled-success",
class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--success` class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--success`
@ -179,7 +179,7 @@ index 4f47aad..6dae078 100644
const feedbackNodes = children || feedback ? ((0, vue_1.h)("div", { key: "__feedback__", class: `${mergedClsPrefix}-form-item-feedback__line` }, children || feedback)) : this.renderExplains.length ? ((_a = this.renderExplains) === null || _a === void 0 ? void 0 : _a.map(({ key, render }) => ((0, vue_1.h)("div", { key: key, class: `${mergedClsPrefix}-form-item-feedback__line` }, render())))) : null; const feedbackNodes = children || feedback ? ((0, vue_1.h)("div", { key: "__feedback__", class: `${mergedClsPrefix}-form-item-feedback__line` }, children || feedback)) : this.renderExplains.length ? ((_a = this.renderExplains) === null || _a === void 0 ? void 0 : _a.map(({ key, render }) => ((0, vue_1.h)("div", { key: key, class: `${mergedClsPrefix}-form-item-feedback__line` }, render())))) : null;
- return feedbackNodes ? (mergedValidationStatus === 'warning' ? ((0, vue_1.h)("div", { key: "controlled-warning", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--warning` }, feedbackNodes)) : mergedValidationStatus === 'error' ? ((0, vue_1.h)("div", { key: "controlled-error", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--error` }, feedbackNodes)) : mergedValidationStatus === 'success' ? ((0, vue_1.h)("div", { key: "controlled-success", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--success` }, feedbackNodes)) : ((0, vue_1.h)("div", { key: "controlled-default", class: `${mergedClsPrefix}-form-item-feedback` }, feedbackNodes))) : null; - return feedbackNodes ? (mergedValidationStatus === 'warning' ? ((0, vue_1.h)("div", { key: "controlled-warning", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--warning` }, feedbackNodes)) : mergedValidationStatus === 'error' ? ((0, vue_1.h)("div", { key: "controlled-error", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--error` }, feedbackNodes)) : mergedValidationStatus === 'success' ? ((0, vue_1.h)("div", { key: "controlled-success", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--success` }, feedbackNodes)) : ((0, vue_1.h)("div", { key: "controlled-default", class: `${mergedClsPrefix}-form-item-feedback` }, feedbackNodes))) : null;
+ return feedbackNodes ? (mergedValidationStatus === 'warning' ? ((0, vue_1.h)("div", { key: "controlled-warning", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--warning` }, feedbackNodes)) : mergedValidationStatus === 'error' ? ((0, vue_1.h)("div", { key: "controlled-error", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--error flex` }, [h('img', { + return feedbackNodes ? (mergedValidationStatus === 'warning' ? ((0, vue_1.h)("div", { key: "controlled-warning", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--warning` }, feedbackNodes)) : mergedValidationStatus === 'error' ? ((0, vue_1.h)("div", { key: "controlled-error", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--error flex` }, [h('img', {
+ style: { width: '1rem', height: '1rem' },src: 'http://47.93.59.251/api/upload/ocr/1711419313955_c.png' + style: { width: '1rem', height: '1rem' },src: 'notice.svg'
+ }), feedbackNodes])) : mergedValidationStatus === 'success' ? ((0, vue_1.h)("div", { key: "controlled-success", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--success` }, feedbackNodes)) : ((0, vue_1.h)("div", { key: "controlled-default", class: `${mergedClsPrefix}-form-item-feedback` }, feedbackNodes))) : null; + }), feedbackNodes])) : mergedValidationStatus === 'success' ? ((0, vue_1.h)("div", { key: "controlled-success", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--success` }, feedbackNodes)) : ((0, vue_1.h)("div", { key: "controlled-default", class: `${mergedClsPrefix}-form-item-feedback` }, feedbackNodes))) : null;
}); });
} }

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>警示</title>
<defs>
<rect id="path-1" x="0" y="0" width="64" height="64"></rect>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-664.000000, -6389.000000)">
<g id="警示" transform="translate(664.000000, 6389.000000)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="蒙版"></g>
<path d="M32,4 C47.463973,4 60,16.536027 60,32 C60,47.463973 47.463973,60 32,60 C16.536027,60 4,47.463973 4,32 C4,16.536027 16.536027,4 32,4 Z M32,9 C19.2974508,9 9,19.2974508 9,32 C9,44.7025492 19.2974508,55 32,55 C44.7025492,55 55,44.7025492 55,32 C55,19.2974508 44.7025492,9 32,9 Z" id="形状结合" fill="#FF4E4F" mask="url(#mask-2)"></path>
<path d="M32,41.8150625 C33.5403559,41.8150625 34.7890611,43.0637676 34.7890611,44.6041236 C34.7890611,46.1444795 33.5403559,47.3931847 32,47.3931847 C30.4596441,47.3931847 29.2109389,46.1444795 29.2109389,44.6041236 C29.2109389,43.0637676 30.4596441,41.8150625 32,41.8150625 Z M33,16.6068153 C33.5522847,16.6068153 34,17.0545306 34,17.6068153 L34,36.7882606 C34,37.3405453 33.5522847,37.7882606 33,37.7882606 L31,37.7882606 C30.4477153,37.7882606 30,37.3405453 30,36.7882606 L30,17.6068153 C30,17.0545306 30.4477153,16.6068153 31,16.6068153 L33,16.6068153 Z" id="形状结合备份" fill="#FF4E4F" mask="url(#mask-2)"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>警示</title>
<defs>
<rect id="path-1" x="0" y="0" width="64" height="64"></rect>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-664.000000, -6389.000000)">
<g id="警示" transform="translate(664.000000, 6389.000000)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="蒙版"></g>
<path d="M32,4 C47.463973,4 60,16.536027 60,32 C60,47.463973 47.463973,60 32,60 C16.536027,60 4,47.463973 4,32 C4,16.536027 16.536027,4 32,4 Z M32,9 C19.2974508,9 9,19.2974508 9,32 C9,44.7025492 19.2974508,55 32,55 C44.7025492,55 55,44.7025492 55,32 C55,19.2974508 44.7025492,9 32,9 Z" id="形状结合" fill="#FF4E4F" mask="url(#mask-2)"></path>
<path d="M32,41.8150625 C33.5403559,41.8150625 34.7890611,43.0637676 34.7890611,44.6041236 C34.7890611,46.1444795 33.5403559,47.3931847 32,47.3931847 C30.4596441,47.3931847 29.2109389,46.1444795 29.2109389,44.6041236 C29.2109389,43.0637676 30.4596441,41.8150625 32,41.8150625 Z M33,16.6068153 C33.5522847,16.6068153 34,17.0545306 34,17.6068153 L34,36.7882606 C34,37.3405453 33.5522847,37.7882606 33,37.7882606 L31,37.7882606 C30.4477153,37.7882606 30,37.3405453 30,36.7882606 L30,17.6068153 C30,17.0545306 30.4477153,16.6068153 31,16.6068153 L33,16.6068153 Z" id="形状结合备份" fill="#FF4E4F" mask="url(#mask-2)"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -1,6 +1,5 @@
import type { AsideEntity } from './aside'
import { IzApprovalStatus, IzCustomlevel, IzCustomname, IzCustomtype, IzProductVue, IzProjectVue, IzProjecttype, IzShowAll, IzStatus, IzVisitcity, IzfirmVue, IztaskrromVue, IzvisitproVue, PictureDownloadVue, PlanVue, ReportUserVue, TimeVue } from '@/views/home/aside/comp/items'
import { defineAsyncComponent } from "vue" import { defineAsyncComponent } from "vue"
import type { AsideEntity } from './aside'
export interface RowData { export interface RowData {
id: string id: string
@ -114,7 +113,7 @@ export const asideMap: Recordable<AsideEntity> = {
izyear: { izyear: {
label: '提报时间', label: '提报时间',
defaultValue: null, defaultValue: null,
isDefaultFilter: false, isDefaultFilter: true,
key: 'izyear', key: 'izyear',
// component: TimeVue, // component: TimeVue,
component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/Time.vue")), component: defineAsyncComponent(() => import("@/views/home/aside/comp/items/Time.vue")),

@ -209,10 +209,11 @@ onUpdated(() => {
else { else {
removeDom() removeDom()
} }
// if(elwc.value) { nextTick(() => {
// on(elwc.value!, 'click', showjjj) setTimeout(() => {
// } layout()
layout() }, 50)
})
}) })
let start: { x: number, y: number } | null = null let start: { x: number, y: number } | null = null
@ -606,7 +607,6 @@ async function refreshHandler(filtersearchId?: any) {
useInfiniteScroll( useInfiniteScroll(
el as any, el as any,
() => { () => {
console.log('加载了333333333333333333333333---------------------------')
loadMore() loadMore()
}, },
{ distance: 10, canLoadMore: () => canloadMore }, { distance: 10, canLoadMore: () => canloadMore },
@ -620,25 +620,9 @@ watch(() => show.value, async (newVal) => {
pagination.pageNo = 1 pagination.pageNo = 1
const list = await featchList() const list = await featchList()
listData.value = list listData.value = list
console.log('加载了1111111111111---------------------------', listData.value)
layout() layout()
} }
}) })
watch(() => pagination.pageNo, (newVal, oldVal) => {
console.log('加载了22222222222222222---------------------------', newVal, oldVal, canloadMore)
if (newVal == oldVal)
return
if ((newVal == 1 || newVal == 2) && canloadMore) {
setTimeout(() => {
nextTick(() => {
loading = false
loadMore()
})
}, 500)
}
})
</script> </script>
<template> <template>
@ -712,17 +696,19 @@ watch(() => pagination.pageNo, (newVal, oldVal) => {
返回 返回
</n-button> </n-button>
<div style="cursor: pointer; margin-left: 16px" @click.stop="rejectHandler"> <div style="cursor: pointer; margin-left: 16px" @click.stop="rejectHandler">
<SvgIcon width="64" height="28" name="a1" /> <!--<SvgIcon width="64" height="28" name="a1" />-->
<img class="btn-approval btn-left" style="margin-left: 16px" src="@/assets/images/task/btn-not-pass.png" alt="" >
</div> </div>
<SvgIcon size="24" name="vs" /> <SvgIcon size="24" name="vs" />
<div style="cursor: pointer" @click.stop="approvalHandler"> <div style="cursor: pointer" @click.stop="approvalHandler">
<SvgIcon width="64" height="28" name="a2" /> <!-- <SvgIcon width="64" height="28" name="a2" />-->
<img class="btn-approval" src="@/assets/images/task/btn-pass.png" alt="" >
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div ref="el" class="scroll" :style="{ height: maxHeight }"> <div ref="el" class="scroll" :style="{ height: maxHeight, marginTop: '16px' }">
<!-- <n-scrollbar :on-scroll="scrollHandler"> --> <!-- <n-scrollbar :on-scroll="scrollHandler"> -->
<div ref="masonryRef" class="grid"> <div ref="masonryRef" class="grid">
<div <div
@ -739,6 +725,7 @@ watch(() => pagination.pageNo, (newVal, oldVal) => {
:class="{ :class="{
'img-fit': viewMode === 'horizontalVersion', 'img-fit': viewMode === 'horizontalVersion',
'img-full': viewMode === '3:4' || viewMode === 'verticalVersion' }" 'img-full': viewMode === '3:4' || viewMode === 'verticalVersion' }"
:style="{ backgroundImage: `url(${loading ? bgLoadingImg : 'none'})` }"
/> />
<n-checkbox <n-checkbox
v-if="batch && item.historyStates === 1" v-model:checked="item.checked" v-if="batch && item.historyStates === 1" v-model:checked="item.checked"
@ -768,12 +755,12 @@ watch(() => pagination.pageNo, (newVal, oldVal) => {
<div class="time-item" style="margin-bottom: 4px;"> <div class="time-item" style="margin-bottom: 4px;">
<SvgIcon color="#FFF" size="16" name="camera" style="margin-right: 4px;" /> <SvgIcon color="#FFF" size="16" name="camera" style="margin-right: 4px;" />
<span class="time-value">{{ item?.photoDateTimestamp <span class="time-value">{{ item?.photoDateTimestamp
? formatToDateHMS(Number(item.photoDateTimestamp)) : '-' }} </span> ? formatToDateHMS(Number(item.photoDateTimestamp)) : '- -' }} </span>
</div> </div>
<div class="time-item"> <div class="time-item">
<SvgIcon class="svg-time" color="#FFF" size="16" name="time" /> <SvgIcon class="svg-time" color="#FFF" size="16" name="time" />
<span>{{ item.submitDateTimestamp <span>{{ item.submitDateTimestamp
? formatToDateHMS(Number(item.submitDateTimestamp)) : '-' }}</span> ? formatToDateHMS(Number(item.submitDateTimestamp)) : '- -' }}</span>
</div> </div>
</div> </div>
</div> </div>
@ -794,6 +781,11 @@ watch(() => pagination.pageNo, (newVal, oldVal) => {
</template> </template>
<style lang="less" scoped> <style lang="less" scoped>
.btn-approval{
width: 68px;
height: 28px;
cursor: pointer;
}
.card { .card {
width: 100vw; width: 100vw;
height: calc(100vh - 64px); height: calc(100vh - 64px);
@ -954,7 +946,7 @@ watch(() => pagination.pageNo, (newVal, oldVal) => {
left: 16px; left: 16px;
bottom: 16px; bottom: 16px;
background: linear-gradient(180deg,rgba(6,0,0,0.01),rgba(0, 0, 0, 0.44) 100%); background: linear-gradient(180deg,rgba(6,0,0,0.01),rgba(0, 0, 0, 0.44) 100%);
border-radius: 0 0 7px 7px;
.time-item { .time-item {
display: flex; display: flex;
align-items: center; align-items: center;

@ -65,7 +65,7 @@ defineExpose({
全局快捷方式 全局快捷方式
</div> </div>
<div class="wrapper-global"> <div class="wrapper-global">
<table style="margin-left: 47px; width: 180px"> <table style="margin-left: 110px; width: 230px">
<tr> <tr>
<td><div class="key" data-key="g h" /></td> <td><div class="key" data-key="g h" /></td>
<td>进入一键查看主页</td> <td>进入一键查看主页</td>
@ -95,7 +95,7 @@ defineExpose({
<td>打开可疑文件夹</td> <td>打开可疑文件夹</td>
</tr> </tr>
</table> </table>
<table style="height: 30%; margin-left: 180px"> <table style="height: 30%; margin-left:115px">
<tr> <tr>
<td><div class="key" data-key="[" /></td> <td><div class="key" data-key="[" /></td>
<td>隐藏/显示当前场景左侧筛选区</td> <td>隐藏/显示当前场景左侧筛选区</td>
@ -123,38 +123,41 @@ defineExpose({
任务审批/任务终审/AI工单明细动作 任务审批/任务终审/AI工单明细动作
</div> </div>
<div class="wrapper-request"> <div class="wrapper-request">
<table style="margin-left: 47px; width: 180px"> <table style="margin-left: 120px; width: 290px">
<tr> <tr>
<td style="text-align: left; width: 53px">
<div class="key" data-key="p p" /> <td ><div class="key" style="float: left;
</td> margin-left: 5px;" data-key="c" /></td>
<td>通过</td> <td><div style="float: left;
margin-left: -60px;">关闭关闭当前场景弹窗</div></td>
</tr> </tr>
<tr> <tr>
<td style="text-align: left"> <td>
<div class="key" data-key="x x" /> <div class="key" data-key="&larr;" />
<span>/</span>
<div class="key" data-key="&rarr;" />
</td> </td>
<td>不通过</td> <td>打开上一条/下一条信息切换</td>
</tr> </tr>
</table> </table>
<table style="margin-left: 180px"> <table style="margin-left: 50px">
<tr> <tr>
<td><div class="key" data-key="c" /></td> <td style="text-align: left; width: 53px">
<td>关闭关闭当前场景弹窗</td> <div class="key" data-key="p p" />
</td>
<td>通过</td>
</tr> </tr>
<tr> <tr>
<td> <td style="text-align: left">
<div class="key" data-key="&larr;" /> <div class="key" data-key="x x" />
<span>/</span>
<div class="key" data-key="&rarr;" />
</td> </td>
<td>打开上一条/下一条信息切换</td> <td>不通过</td>
</tr> </tr>
</table> </table>
</div> </div>
<div class="wrapper-request"> <div class="wrapper-request">
<table style="margin-left: 47px; width: 180px"> <table style="margin-left: 120px; width: 180px">
<tr> <tr>
<td style="text-align: left; width: 53px"> <td style="text-align: left; width: 53px">
<div class="key" data-key="k k" /> <div class="key" data-key="k k" />

@ -1,5 +1,5 @@
import type { RouteRecordRaw } from 'vue-router'
import { Layout } from '@/router/constant' import { Layout } from '@/router/constant'
import type { RouteRecordRaw } from 'vue-router'
/** /**
* @param name , , * @param name , ,
@ -40,7 +40,7 @@ const routes: Array<RouteRecordRaw> = [
path: 'message-detail', path: 'message-detail',
name: 'message-detail', name: 'message-detail',
meta: { meta: {
title: 'message', title: '消息公告',
}, },
component: () => import('@/views/message/content/Detail.vue'), component: () => import('@/views/message/content/Detail.vue'),
}, },

@ -434,7 +434,7 @@ defineExpose({
z-index: 10; z-index: 10;
background: #ffffff; background: #ffffff;
left: 0; left: 0;
top:0;
&-left { &-left {
display: flex; display: flex;
align-items: center; align-items: center;

@ -66,7 +66,7 @@ function onChange(value: Array<string>) {
<template> <template>
<n-form :model="formValue" style="padding: 0px 10px;" :rules="rules"> <n-form :model="formValue" style="padding: 0px 10px;" :rules="rules">
<n-form-item :label="label" path="plans" :label-style="labStyle"> <n-form-item :label="label" path="plans" :label-style="labStyle">
<n-select filterable <n-select filterable clearable
v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择审核状态" multiple v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择审核状态" multiple
:options="options" @update:value="onChange" :options="options" @update:value="onChange"
/> />

@ -74,7 +74,7 @@ function onChange(value: Array<string>) {
<template> <template>
<n-form :model="formValue" style="padding: 0px 10px;" :rules="rules"> <n-form :model="formValue" style="padding: 0px 10px;" :rules="rules">
<n-form-item :label="label" path="plans" :label-style="labStyle"> <n-form-item :label="label" path="plans" :label-style="labStyle">
<n-select filterable <n-select filterable clearable
v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择拜访客户级别" multiple v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择拜访客户级别" multiple
:options="options" @update:value="onChange" :options="options" @update:value="onChange"
/> />

@ -71,7 +71,7 @@ function onChange(value: Array<string>) {
<template> <template>
<n-form :model="formValue" style="padding: 0px 10px;" :rules="rules"> <n-form :model="formValue" style="padding: 0px 10px;" :rules="rules">
<n-form-item :label="label" path="plans" :label-style="labStyle"> <n-form-item :label="label" path="plans" :label-style="labStyle">
<n-select filterable <n-select filterable clearable
v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择拜访客户名称" multiple v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择拜访客户名称" multiple
:options="options" @update:value="onChange" :options="options" @update:value="onChange"
/> />

@ -70,7 +70,7 @@ function onChange(value: Array<string>) {
<template> <template>
<n-form :model="formValue" style="padding: 0px 10px;" :rules="rules"> <n-form :model="formValue" style="padding: 0px 10px;" :rules="rules">
<n-form-item :label="label" path="plans" :label-style="labStyle"> <n-form-item :label="label" path="plans" :label-style="labStyle">
<n-select filterable <n-select filterable clearable
v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择拜访客户类型" multiple v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择拜访客户类型" multiple
:options="options" @update:value="onChange" :options="options" @update:value="onChange"
/> />

@ -70,7 +70,7 @@ function onChange(value: Array<string>) {
<template> <template>
<n-form :model="formValue" style="padding: 0px 10px;" :rules="rules"> <n-form :model="formValue" style="padding: 0px 10px;" :rules="rules">
<n-form-item :label="label" path="plans" :label-style="labStyle"> <n-form-item :label="label" path="plans" :label-style="labStyle">
<n-select filterable <n-select filterable clearable
v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择产品名称" multiple v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择产品名称" multiple
:options="options" @update:value="onChange" :options="options" @update:value="onChange"
/> />

@ -93,7 +93,7 @@ function onChange(value: Array<string>) {
<template> <template>
<n-form :model="formValue" style="padding: 0px 10px;" :rules="rules"> <n-form :model="formValue" style="padding: 0px 10px;" :rules="rules">
<n-form-item :label="label" path="plans" :label-style="labStyle"> <n-form-item :label="label" path="plans" :label-style="labStyle">
<n-select filterable <n-select filterable clearable
v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择所属项目" multiple v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择所属项目" multiple
:options="options" @update:value="onChange" :options="options" @update:value="onChange"
/> />

@ -92,7 +92,7 @@ function onChange(value: Array<string>) {
<template> <template>
<n-form :model="formValue" style="padding: 0px 10px;" :rules="rules"> <n-form :model="formValue" style="padding: 0px 10px;" :rules="rules">
<n-form-item :label="label" path="plans" :label-style="labStyle"> <n-form-item :label="label" path="plans" :label-style="labStyle">
<n-select filterable <n-select filterable clearable
v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择审核状态" multiple v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择审核状态" multiple
:options="options" @update:value="onChange" :options="options" @update:value="onChange"
/> />

@ -70,7 +70,7 @@ function onChange(value: Array<string>) {
<template> <template>
<n-form :model="formValue" style="padding: 0px 10px;" :rules="rules"> <n-form :model="formValue" style="padding: 0px 10px;" :rules="rules">
<n-form-item :label="label" path="plans" :label-style="labStyle"> <n-form-item :label="label" path="plans" :label-style="labStyle">
<n-select filterable <n-select filterable clearable
v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择发布地区" multiple v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择发布地区" multiple
:options="options" @update:value="onChange" :options="options" @update:value="onChange"
/> />

@ -70,7 +70,7 @@ function onChange(value: Array<string>) {
<template> <template>
<n-form :model="formValue" style="padding: 0px 10px;" :rules="rules"> <n-form :model="formValue" style="padding: 0px 10px;" :rules="rules">
<n-form-item :label="label" path="plans" :label-style="labStyle"> <n-form-item :label="label" path="plans" :label-style="labStyle">
<n-select filterable <n-select filterable clearable
v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择厂商" multiple v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择厂商" multiple
:options="options" @update:value="onChange" :options="options" @update:value="onChange"
/> />

@ -94,7 +94,7 @@ function onChange(value: Array<string>) {
<template> <template>
<n-form :model="formValue" style="padding: 0px 10px;" :rules="rules"> <n-form :model="formValue" style="padding: 0px 10px;" :rules="rules">
<n-form-item :label="label" path="plans" :label-style="labStyle"> <n-form-item :label="label" path="plans" :label-style="labStyle">
<n-select filterable <n-select filterable clearable
v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择任务来源" multiple :options="options" v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择任务来源" multiple :options="options"
@update:value="onChange" @update:value="onChange"
/> />

@ -70,7 +70,7 @@ function onChange(value: Array<string>) {
<template> <template>
<n-form :model="formValue" style="padding: 0px 10px;" :rules="rules"> <n-form :model="formValue" style="padding: 0px 10px;" :rules="rules">
<n-form-item :label="label" path="plans" :label-style="labStyle"> <n-form-item :label="label" path="plans" :label-style="labStyle">
<n-select filterable <n-select filterable clearable
v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择省份" multiple :options="options" v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择省份" multiple :options="options"
@update:value="onChange" @update:value="onChange"
/> />

@ -92,7 +92,7 @@ function onChange(value: Array<string>) {
<template> <template>
<n-form :model="formValue" style="padding: 0px 10px;" :rules="rules"> <n-form :model="formValue" style="padding: 0px 10px;" :rules="rules">
<n-form-item :label="label" path="plans" :label-style="labStyle"> <n-form-item :label="label" path="plans" :label-style="labStyle">
<n-select filterable <n-select filterable clearable
v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择计划" multiple :options="planOptons" v-model:value="formValue.plans" :max-tag-count="2" placeholder="请选择计划" multiple :options="planOptons"
@update:value="onChange" @update:value="onChange"
/> />

@ -98,7 +98,7 @@ function onChange(value: Array<string>) {
<n-form :model="formValue" style="padding: 0px 10px;" :rules="rules"> <n-form :model="formValue" style="padding: 0px 10px;" :rules="rules">
<n-form-item :label="label" path="users" :label-style="labStyle"> <n-form-item :label="label" path="users" :label-style="labStyle">
<n-select filterable <n-select filterable
clearable
v-model:value="formValue.users" :max-tag-count="2" multiple placeholder="请选择提报人(可多选)" v-model:value="formValue.users" :max-tag-count="2" multiple placeholder="请选择提报人(可多选)"
:options="personOptions" @update:value="onChange" :options="personOptions" @update:value="onChange"
/> />

@ -610,4 +610,16 @@ function handleOk() {
::v-deep(.n-input .n-input__input-el) { ::v-deep(.n-input .n-input__input-el) {
height: 24px; height: 24px;
} }
::v-deep(.n-dropdown){
width: 76px;
height: 84px;
background: #ffffff;
box-shadow: 0px 2px 8px 0px rgba(0,0,0,0.15);
>div{
text-align: center;
height: 50%;
color: #666666;
border-bottom: 1px solid #eeeeee;
}
}
</style> </style>

@ -402,7 +402,10 @@ async function showLoginSuccessModal() {
const modal = LoginSuccessModalRef.value as any const modal = LoginSuccessModalRef.value as any
modal.showModal() modal.showModal()
} }
async function closeLoginSuccessModal() {
const modal = LoginSuccessModalRef.value as any
modal.closeModal()
}
// id // id
const packageIdRef = ref('') const packageIdRef = ref('')
@ -638,6 +641,7 @@ const dropdownOptions = ref([
defineExpose({ defineExpose({
showLoginSuccessModal, showLoginSuccessModal,
closeLoginSuccessModal
}) })
</script> </script>

@ -41,7 +41,7 @@ async function viewRepeat(e: MouseEvent) {
} }
defineExpose({ defineExpose({
showModal, showModal,closeModal
}); });
</script> </script>

@ -3,12 +3,17 @@ import Aside from './aside/Aside.vue'
import Content from './content/Content.vue' import Content from './content/Content.vue'
import Robot from '@/components/Robot/index.vue' import Robot from '@/components/Robot/index.vue'
import {ref} from 'vue'; import {ref} from 'vue';
import { useKeydown } from '@/hooks/event/useKeydown'
const contentRef:any = ref(null) const contentRef:any = ref(null)
const showLoginModal = ()=>{ const showLoginModal = ()=>{
contentRef.value.showLoginSuccessModal(); contentRef.value.showLoginSuccessModal();
} }
const closeLoginModal = ()=>{
contentRef.value.closeLoginSuccessModal();
}
useKeydown('m m', showLoginModal)
useKeydown('enter', closeLoginModal)
</script> </script>
<template> <template>
@ -20,7 +25,7 @@ const showLoginModal = ()=>{
<Content ref="contentRef"/> <Content ref="contentRef"/>
<!-- 机器人 --> <!-- 机器人 -->
<!-- <Robot :canClick="true" @click="showLoginModal"/> --> <Robot :canClick="true" @click="showLoginModal"/>
</div> </div>
</template> </template>

@ -452,6 +452,7 @@ console.log(tabList)
text-align: left; text-align: left;
color: #666666; color: #666666;
line-height: 25px; line-height: 25px;
margin-bottom: 15px;
} }
.subtitle { .subtitle {

@ -128,31 +128,30 @@ useKeydown('right', forwardHandler)
useKeydown('left', backHandler) useKeydown('left', backHandler)
useKeydown('p p', () => { useKeydown('p p', () => {
const item = taskDetailInfo.value const item = taskDetailInfo.value
if (item?.userapprove?.statshis === 2 || item?.userapprove?.statshis == 3) { if (item?.userapprove?.statshis === 2 || item?.userapprove?.statshis == 3) {
overTask.value = null overTask.value = null
return return
} }
if (validate([item]) == null && batch.value === false) if (validate([item]) == null && batch.value === false)
overTask.value = item overTask.value = item
// //
approvalHandler() approvalHandler()
}) })
useKeydown('x x', () => { useKeydown('x x', () => {
const item = taskDetailInfo.value const item = taskDetailInfo.value
if (item?.userapprove?.statshis === 2 || item?.userapprove?.statshis == 3) { if (item?.userapprove?.statshis === 2 || item?.userapprove?.statshis == 3) {
overTask.value = null overTask.value = null
return return
} }
if (validate([item]) == null && batch.value === false) if (validate([item]) == null && batch.value === false)
overTask.value = item overTask.value = item
// //
const modal = unref(notPassModalRef)! as any const modal = unref(notPassModalRef)! as any
modal.showModal([taskDetailInfo.value]) modal.showModal([taskDetailInfo.value])
}) })
function setBatch(value: boolean) { function setBatch(value: boolean) {
// if (totalCount.value === 0) // if (totalCount.value === 0)
// return // return
@ -310,6 +309,10 @@ async function handleDragEnd(event, item) {
getTableData() getTableData()
getImgList() getImgList()
} }
else {
message.error(res.message)
}
taskStore.setInFile(false) taskStore.setInFile(false)
taskStore.setInFile(item.pictureId) taskStore.setInFile(item.pictureId)
} }
@ -327,6 +330,10 @@ async function addSuspicious() {
setBatch(false) setBatch(false)
getTableData() getTableData()
getImgList() getImgList()
const searchParams = new URLSearchParams(window.location.search)
const type = searchParams.get('type')
if (type)
router.push({ name: 'final', query: { type } })
} }
else { else {
message.error(res.message) message.error(res.message)
@ -354,8 +361,8 @@ async function getTableData() {
fieldList.forEach((v) => { fieldList.forEach((v) => {
if (userFieldList.includes(v.name)) { if (userFieldList.includes(v.name)) {
let locationobj = { address: '' } let locationobj = { address: '' }
if (v.name == 'location'&& taskDetailInfo.value.ocrPicture[v.name]!=null&& taskDetailInfo.value.ocrPicture[v.name]!="null") { if (v.name == 'location' && taskDetailInfo.value.ocrPicture[v.name] != null && taskDetailInfo.value.ocrPicture[v.name] != 'null') {
locationobj = JSON.parse( locationobj = JSON.parse(
taskDetailInfo.value.ocrPicture ? taskDetailInfo.value.ocrPicture[v.name] : {}, taskDetailInfo.value.ocrPicture ? taskDetailInfo.value.ocrPicture[v.name] : {},
) )
@ -418,7 +425,7 @@ function showActionsModal() {
onUnmounted(() => { onUnmounted(() => {
taskStore.reset() taskStore.reset()
window.removeEventListener('scroll', checkBottom) window.removeEventListener('scroll', checkBottom)
}) })
function immersionHandler() { function immersionHandler() {
@ -427,7 +434,8 @@ function immersionHandler() {
toggleFullScreen() toggleFullScreen()
} }
useKeydown('k k', () => { useKeydown('k k', () => {
if (isFullScreen.value) return if (isFullScreen.value)
return
isFullScreen.value = true isFullScreen.value = true
fetchData() fetchData()
window.addEventListener('scroll', checkBottom) window.addEventListener('scroll', checkBottom)
@ -490,13 +498,13 @@ function reloadList(param, text) {
} }
function goBack() { function goBack() {
const searchParams = new URLSearchParams(window.location.search); const searchParams = new URLSearchParams(window.location.search)
const type = searchParams.get('type'); const type = searchParams.get('type')
if(type){ if (type)
router.push({ name: 'final', query: { type: type} }) router.push({ name: 'final', query: { type } })
}else{
router.back() else
} router.back()
} }
function switchBatch() { function switchBatch() {
@ -618,6 +626,9 @@ function sortHandler(orderby: 'similarityScore' | 'createdate') {
sortBy.orderType = sortBy.orderType === 'asc' ? 'desc' : 'asc' sortBy.orderType = sortBy.orderType === 'asc' ? 'desc' : 'asc'
refreshHandler() refreshHandler()
} }
function nodrage() {
message.error('已审批无法移入可疑文件夹中!')
}
</script> </script>
<template> <template>
@ -875,7 +886,7 @@ function sortHandler(orderby: 'similarityScore' | 'createdate') {
<div class="time-item"> <div class="time-item">
<SvgIcon class="svg-time" color="#FFF" size="16" name="camera-time" /> <SvgIcon class="svg-time" color="#FFF" size="16" name="camera-time" />
<span>{{ taskDetailInfo?.ocrPicture?.photoDateTimestamp ?? "-" }}</span> <span>{{ taskDetailInfo?.ocrPicture?.photoDateTimestamp ?? "- -" }}</span>
</div> </div>
<div class="time-item time-item2"> <div class="time-item time-item2">
<SvgIcon class="svg-time" color="#FFF" size="16" name="submit-time" /> <SvgIcon class="svg-time" color="#FFF" size="16" name="submit-time" />
@ -883,7 +894,7 @@ function sortHandler(orderby: 'similarityScore' | 'createdate') {
<span>{{ <span>{{
taskDetailInfo?.ocrPicture?.submitDateTimestamp taskDetailInfo?.ocrPicture?.submitDateTimestamp
? formatToDateHMS(Number(taskDetailInfo.ocrPicture.submitDateTimestamp)) ? formatToDateHMS(Number(taskDetailInfo.ocrPicture.submitDateTimestamp))
: "-" : "- -"
}}</span> }}</span>
</div> </div>
</div> </div>
@ -948,9 +959,8 @@ function sortHandler(orderby: 'similarityScore' | 'createdate') {
class="item" class="item"
draggable="true" draggable="true"
@dragend=" @dragend="
(event) => { item.historyStates === 1 ? handleDragEnd(event, item) : nodrage()
handleDragEnd(event, item);
}
" "
> >
<div <div
@ -987,7 +997,7 @@ function sortHandler(orderby: 'similarityScore' | 'createdate') {
<span>{{ <span>{{
item.photoDateTimestamp item.photoDateTimestamp
? formatToDateHMS(Number(item.photoDateTimestamp)) ? formatToDateHMS(Number(item.photoDateTimestamp))
: "-" : "- -"
}}</span> }}</span>
</div> </div>
<div class="time-item time-item2"> <div class="time-item time-item2">
@ -995,7 +1005,7 @@ function sortHandler(orderby: 'similarityScore' | 'createdate') {
<span>{{ <span>{{
item.submitDateTimestamp item.submitDateTimestamp
? formatToDateHMS(Number(item.submitDateTimestamp)) ? formatToDateHMS(Number(item.submitDateTimestamp))
: "-" : "- -"
}}</span> }}</span>
</div> </div>
</div> </div>
@ -1173,9 +1183,9 @@ function sortHandler(orderby: 'similarityScore' | 'createdate') {
class="item" class="item"
draggable="true" draggable="true"
@dragend=" @dragend="
(event) => {
handleDragEnd(event, item); item.historyStates === 1 ? handleDragEnd(event, item) : nodrage()
}
" "
> >
<div <div
@ -1230,7 +1240,7 @@ function sortHandler(orderby: 'similarityScore' | 'createdate') {
<span>{{ <span>{{
item.photoDateTimestamp item.photoDateTimestamp
? formatToDateHMS(Number(item.photoDateTimestamp)) ? formatToDateHMS(Number(item.photoDateTimestamp))
: "-" : "- -"
}}</span> }}</span>
</div> </div>
<div class="time-item time-item2"> <div class="time-item time-item2">
@ -1238,7 +1248,7 @@ function sortHandler(orderby: 'similarityScore' | 'createdate') {
<span>{{ <span>{{
item.submitDateTimestamp item.submitDateTimestamp
? formatToDateHMS(Number(item.submitDateTimestamp)) ? formatToDateHMS(Number(item.submitDateTimestamp))
: "-" : "- -"
}}</span> }}</span>
</div> </div>
</div> </div>
@ -1554,6 +1564,7 @@ function sortHandler(orderby: 'similarityScore' | 'createdate') {
left: 0; left: 0;
bottom: 0; bottom: 0;
z-index: 0; z-index: 0;
border-radius: 0 0 8px 8px;
} }
.mark { .mark {

@ -37,6 +37,7 @@ function setAsideItemName(text) {
} }
:deep(.header_wrap){ :deep(.header_wrap){
margin-top: 3px !important; margin-top: 3px !important;
background: #FFFFFF;
} }
.main { .main {
display: flex; display: flex;

@ -1,5 +1,5 @@
<script lang="ts" setup> <script lang="ts" setup>
import { computed, nextTick, onMounted,onUnmounted, reactive, ref, watch } from 'vue' import { computed, nextTick, onMounted, onUnmounted, onUpdated, reactive, ref, watch } from 'vue'
import Masonry from 'masonry-layout' import Masonry from 'masonry-layout'
import { useInfiniteScroll } from '@vueuse/core' import { useInfiniteScroll } from '@vueuse/core'
import { debounce } from 'lodash-es' import { debounce } from 'lodash-es'
@ -14,6 +14,7 @@ import { TASK_STATUS_OBJ } from '@/enums/index'
import { formatToDateHMS } from '@/utils/dateUtil' import { formatToDateHMS } from '@/utils/dateUtil'
import { getSimilarityList, getTaskDetailInfo } from '@/api/task/task' import { getSimilarityList, getTaskDetailInfo } from '@/api/task/task'
import emitter from '@/utils/mitt' import emitter from '@/utils/mitt'
import bgLoading from '@/assets/images/bg-loading.png'
const emit = defineEmits<{ const emit = defineEmits<{
(e: 'reject', params: any) (e: 'reject', params: any)
@ -25,6 +26,7 @@ const cardStyle = {
'--n-padding-left': '120px', '--n-padding-left': '120px',
} }
const bgLoadingImg = ref(bgLoading)
const totalCount = ref(0) const totalCount = ref(0)
const timeRange = ref('all') const timeRange = ref('all')
const taskId = ref('') const taskId = ref('')
@ -257,7 +259,7 @@ onMounted(() => {
show.value && addListeners() show.value && addListeners()
window.addEventListener('keydown', handleKeydown) window.addEventListener('keydown', handleKeydown)
}) })
onUnmounted(()=>{ onUnmounted(() => {
window.removeEventListener('keydown', handleKeydown) window.removeEventListener('keydown', handleKeydown)
}) })
// //
@ -349,8 +351,7 @@ async function refreshHandler() {
if (!taskId.value) if (!taskId.value)
return return
const taskPackage = taskStore.getApprovalList[taskStore.getCurrentIndex] || {} const taskPackage = taskStore.getApprovalList[taskStore.getCurrentIndex] || {}
taskDetailInfo.value = await getTaskDetailInfo(taskId.value, taskPackage.packageid,taskPackage?.taskIndex || '') taskDetailInfo.value = await getTaskDetailInfo(taskId.value, taskPackage.packageid, taskPackage?.taskIndex || '')
nextTick(() => { nextTick(() => {
setTimeout(() => { setTimeout(() => {
useInfiniteScroll( useInfiniteScroll(
@ -412,6 +413,14 @@ defineExpose({
reload, reload,
closeModal, closeModal,
}) })
onUpdated(() => {
nextTick(() => {
setTimeout(() => {
layout()
}, 50)
})
})
</script> </script>
<template> <template>
@ -483,7 +492,7 @@ defineExpose({
</div> </div>
<div class="wrapper-content"> <div class="wrapper-content">
<div class="wrapper-content-form wrapper-m32"> <div class="wrapper-content-form wrapper-m32" style="margin-bottom: 16px;">
<div> <div>
<!-- <n-popselect v-model:value="timeRange" :options="timeOptions" trigger="click" @change="onChange"> <!-- <n-popselect v-model:value="timeRange" :options="timeOptions" trigger="click" @change="onChange">
<div class="wrapper-content-form-dropdown"> <div class="wrapper-content-form-dropdown">
@ -555,6 +564,8 @@ defineExpose({
}" }"
:src="item.serverThumbnailUrl ? item.serverThumbnailUrl : item.imgUrl" :src="item.serverThumbnailUrl ? item.serverThumbnailUrl : item.imgUrl"
:fallback-src="bgLoadingImg"
:style="{ backgroundImage: `url(${loading ? bgLoadingImg : 'none'})` }"
/> />
<div class="small-mark" /> <div class="small-mark" />
<div class="time"> <div class="time">
@ -629,6 +640,7 @@ defineExpose({
left: 0; left: 0;
bottom: 0; bottom: 0;
z-index: 0; z-index: 0;
border-radius: 0 0 8px 8px;
} }
.tag-status{ .tag-status{

@ -161,7 +161,7 @@ onMounted(async () => {})
</li> </li>
</ul> </ul>
</div> </div>
<template v-if="showFieldList?.length > 5"> <template v-if="showFieldList?.length > 6">
<div class="absolute bottom-0 py-[8px] pl-[36px] text-[#666] item-action"> <div class="absolute bottom-0 py-[8px] pl-[36px] text-[#666] item-action">
<span class="cursor-pointer" @click.stop="showFull = !showFull"> <span class="cursor-pointer" @click.stop="showFull = !showFull">
<SvgIcon v-if="showFull" style="margin-left: 6px" name="expand" size="16" /> <SvgIcon v-if="showFull" style="margin-left: 6px" name="expand" size="16" />

@ -340,13 +340,13 @@ onUnmounted(() => {
<div class="time"> <div class="time">
<SvgIcon color="#FFF" size="16" name="camera" /> <SvgIcon color="#FFF" size="16" name="camera" />
<span class="current-time">{{ item.photoDateTimestamp ? formatToDateHMS(Number(item.photoDateTimestamp) || <span class="current-time">{{ item.photoDateTimestamp ? formatToDateHMS(Number(item.photoDateTimestamp) ||
0) : '-' 0) : '- -'
}}</span> }}</span>
</div> </div>
<div class="time"> <div class="time">
<SvgIcon color="#FFF" size="16" name="save" /> <SvgIcon color="#FFF" size="16" name="save" />
<span class="current-time">{{ item.submitDateTimestamp ? formatToDateHMS(Number(item.submitDateTimestamp) <span class="current-time">{{ item.submitDateTimestamp ? formatToDateHMS(Number(item.submitDateTimestamp)
|| 0) : '-' || 0) : '- -'
}}</span> }}</span>
</div> </div>
</div> </div>

@ -190,7 +190,7 @@ function previewHandler(event: MouseEvent) {
<div class="time-item"> <div class="time-item">
<SvgIcon class="svg-time" color="#FFF" size="16" name="camera-time" /> <SvgIcon class="svg-time" color="#FFF" size="16" name="camera-time" />
<span>{{ taskDetailInfo?.ocrPicture?.photoDateTimestamp ?? "-" }}</span> <span>{{ taskDetailInfo?.ocrPicture?.photoDateTimestamp ?? "- -" }}</span>
</div> </div>
<div class="time-item time-item2"> <div class="time-item time-item2">
<SvgIcon class="svg-time" color="#FFF" size="16" name="submit-time" /> <SvgIcon class="svg-time" color="#FFF" size="16" name="submit-time" />

@ -148,7 +148,7 @@ async function loadMore() {
const more = await featchList() const more = await featchList()
listData.value.push(...more) listData.value.push(...more)
console.log("listData.value11111111111111111", listData.value); console.log('listData.value11111111111111111', listData.value)
} }
async function featchList() { async function featchList() {
@ -202,6 +202,9 @@ const fullscreenStyles = computed<any>(() => ({
// //
function toggleFullScreen() { function toggleFullScreen() {
isFullScreen.value = !isFullScreen.value isFullScreen.value = !isFullScreen.value
if(!isFullScreen.value){
imgbigshow.value=true
}
} }
onUpdated(() => { onUpdated(() => {
@ -595,10 +598,10 @@ defineExpose({
style="cursor: pointer" style="cursor: pointer"
@click="immersionHandler" @click="immersionHandler"
/> />
<n-tooltip <n-tooltip
v-else v-else
placement="bottom" placement="bottom"
> >
<template #trigger> <template #trigger>
<SvgIcon <SvgIcon
size="20" size="20"
@ -638,23 +641,29 @@ defineExpose({
class="left" class="left"
:style="{ :style="{
'background-image': `url(${taskDetailInfo?.imgurl})`, 'background-image': `url(${taskDetailInfo?.imgurl})`,
'flex': imgbigshow ? '0.6' : '1', 'flex': imgbigshow ? '0.6' : '0.98',
'height': imgbigshow ? ' 100%' : '80vh',
}" }"
@click="previewHandler"
@mouseover="showAction" @mouseover="showAction"
@mouseleave="leaveTaskHandler" @mouseleave="leaveTaskHandler"
> >
<div class="footer-times"> <div class="footer-times">
<div class="time" style="margin-bottom: 4px"> <div class="time" style="margin-bottom: 4px">
<SvgIcon color="#FFF" size="16" name="camera" /> <SvgIcon color="#FFF" size="16" name="camera" />
<span class="time-value">{{ taskDetailInfo?.photoDateTimestamp }} </span> <span class="time-value">{{
taskDetailInfo?.photoDateTimestamp
? format(taskDetailInfo?.photoDateTimestamp, "yyyy-MM-dd HH:mm:ss")
: "- -"
}}
</span>
</div> </div>
<div class="time"> <div class="time">
<SvgIcon color="#FFF" size="16" name="save" /> <SvgIcon color="#FFF" size="16" name="save" />
<span class="time-value">{{ <span class="time-value">{{
taskDetailInfo?.submitDateTimestamp taskDetailInfo?.submitDateTimestamp
? format(taskDetailInfo?.submitDateTimestamp, "yyyy-MM-dd HH:mm:ss") ? format(taskDetailInfo?.submitDateTimestamp, "yyyy-MM-dd HH:mm:ss")
: "-" : "- -"
}} }}
</span> </span>
</div> </div>
@ -738,47 +747,49 @@ defineExpose({
@click.stop="handleRejectMainImage" @click.stop="handleRejectMainImage"
/> />
<SvgIcon <SvgIcon
v-if="[1].includes(taskDetailInfo.historyStates)"
style="cursor: pointer; margin-left: 30px" style="cursor: pointer; margin-left: 30px"
name="t9" name="t9"
@click.stop="handleRejectdubiousfileyd(taskDetailInfo.id)" @click.stop="handleRejectdubiousfileyd(taskDetailInfo.id)"
/> />
</div> </div>
</div> <!-- 缩放线 -->
<div
<!-- 缩放线 --> v-show="isFullScreen"
<div :style="{
v-show="isFullScreen" position: 'absolute',
:style="{ zIndex: 169,
position: 'fixed', background: 'rgb(80, 122, 253)',
zIndex: 169, right: imgbigshow ? '-23px' : '0',
background: 'rgb(80, 122, 253)', marginTop: '5px',
right: imgbigshow ? '46%' : '16px', width: '2px',
marginTop: '5px', height: imgbigshow ? '340px' : '79vh',
width: '2px', }"
height: '350px',
}"
/>
<div
v-show="isFullScreen"
class="aside-collapse-btn"
:style="{
position: 'fixed',
right: imgbigshow ? '45%' : '0px',
top: '155px',
cursor: 'pointer',
zIndex: 170,
}"
>
<SvgIcon
:name="false ? 'expand-cir' : 'collapse-cir'"
size="40"
@click="changeimgbigshow"
/> />
<div
v-show="isFullScreen"
class="aside-collapse-btn"
:style="{
position: 'absolute',
right: imgbigshow ? '-40px' : '-16px',
top: '73px',
cursor: 'pointer',
zIndex: 170,
}"
>
<SvgIcon
:name="imgbigshow ? 'expand-cir' : 'collapse-cir'"
size="40"
@click="changeimgbigshow"
/>
</div>
</div> </div>
<PictureInfo v-show="imgbigshow" :task-detail-info="taskDetailInfo" /> <PictureInfo v-show="imgbigshow" :task-detail-info="taskDetailInfo" />
</div> </div>
<div <div
v-if="imgbigshow"
style="display: flex; justify-content: space-between; padding: 12px 0px 3px 0" style="display: flex; justify-content: space-between; padding: 12px 0px 3px 0"
> >
<div> <div>
@ -835,7 +846,7 @@ defineExpose({
</div> </div>
</div> </div>
</div> </div>
<div class="wrapper-list"> <div v-if="imgbigshow" class="wrapper-list">
<div <div
v-for="(item, index) in listData" v-for="(item, index) in listData"
:key="index" :key="index"
@ -847,7 +858,7 @@ defineExpose({
> >
<div <div
class="img-wrapper" class="img-wrapper"
:style="{ backgroundImage: `url(${item.serverThumbnailUrl ? item.serverThumbnailUrl : item.imgUrl ? item.imgUrl: bgLoadingImg})` }" :style="{ backgroundImage: `url(${item.serverThumbnailUrl ? item.serverThumbnailUrl : item.imgUrl ? item.imgUrl : bgLoadingImg})` }"
/> />
<div class="time-wrapper"> <div class="time-wrapper">
<div class="time"> <div class="time">
@ -855,7 +866,7 @@ defineExpose({
<span class="current-time">{{ <span class="current-time">{{
item.photoDateTimestamp item.photoDateTimestamp
? formatToDateHMS(Number(item.photoDateTimestamp) || 0) ? formatToDateHMS(Number(item.photoDateTimestamp) || 0)
: "-" : "- -"
}}</span> }}</span>
</div> </div>
<div class="time"> <div class="time">
@ -863,7 +874,7 @@ defineExpose({
<span class="current-time">{{ <span class="current-time">{{
item.submitDateTimestamp item.submitDateTimestamp
? formatToDateHMS(Number(item.submitDateTimestamp) || 0) ? formatToDateHMS(Number(item.submitDateTimestamp) || 0)
: "-" : "- -"
}}</span> }}</span>
</div> </div>
</div> </div>
@ -906,6 +917,7 @@ defineExpose({
@click.stop="singleRejectHandler(item)" @click.stop="singleRejectHandler(item)"
/> />
<SvgIcon <SvgIcon
v-if="[1].includes(item.historyStates)"
style="cursor: pointer; margin-left: 30px" style="cursor: pointer; margin-left: 30px"
name="t9" name="t9"
@click.stop="handleRejectdubiousfileyd(item.pictureid)" @click.stop="handleRejectdubiousfileyd(item.pictureid)"
@ -1031,7 +1043,7 @@ defineExpose({
&-detail { &-detail {
display: flex; display: flex;
height: 350px; height: 350px;
border-radius: 8px;
.left { .left {
flex: 0.6; flex: 0.6;
// background-size: auto 346px; // background-size: auto 346px;
@ -1095,7 +1107,7 @@ defineExpose({
rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 0.01),
rgba(0, 0, 0, 0.71) 100% rgba(0, 0, 0, 0.71) 100%
); );
border-radius: 0px 8px 8px 0px; border-radius: 0px 8px 8px 8px;
position: absolute; position: absolute;
bottom: 0; bottom: 0;
padding-left: 17px; padding-left: 17px;

@ -34,6 +34,7 @@ const ApprovalOver = (packageId) => {
<style lang="less" scoped> <style lang="less" scoped>
:deep(.header_wrap){ :deep(.header_wrap){
margin-top: 3px !important; margin-top: 3px !important;
background: #FFFFFF;
} }
.main { .main {
display: flex; display: flex;
@ -41,4 +42,8 @@ const ApprovalOver = (packageId) => {
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
} }
:deep(.ip_box){
z-index: 10;
}
</style> </style>

Loading…
Cancel
Save