From e616e186b81bc98a35c58573cc2caf8b513e6457 Mon Sep 17 00:00:00 2001 From: Dragon <> Date: Fri, 29 Mar 2024 16:54:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=AE=A1=E6=89=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components.d.ts | 1 + src/assets/images/task/btn-not-pass.png | Bin 0 -> 2870 bytes src/assets/images/task/btn-pass.png | Bin 0 -> 2840 bytes src/views/task/aside/ListItem.vue | 16 +-- src/views/task/content/Content.vue | 145 +++++++++++------------- src/views/task/modal/BatchModal.vue | 2 +- 6 files changed, 77 insertions(+), 87 deletions(-) create mode 100644 src/assets/images/task/btn-not-pass.png create mode 100644 src/assets/images/task/btn-pass.png diff --git a/components.d.ts b/components.d.ts index 896d6e9..2e87e2e 100644 --- a/components.d.ts +++ b/components.d.ts @@ -21,6 +21,7 @@ declare module 'vue' { NDialogProvider: typeof import('naive-ui')['NDialogProvider'] NDivider: typeof import('naive-ui')['NDivider'] NDropdown: typeof import('naive-ui')['NDropdown'] + NEllipsis: typeof import('naive-ui')['NEllipsis'] NEmpty: typeof import('naive-ui')['NEmpty'] NForm: typeof import('naive-ui')['NForm'] NFormItem: typeof import('naive-ui')['NFormItem'] diff --git a/src/assets/images/task/btn-not-pass.png b/src/assets/images/task/btn-not-pass.png new file mode 100644 index 0000000000000000000000000000000000000000..ef7ad59d43a8f8d7c6042acd2a54c4a9ef191b9c GIT binary patch literal 2870 zcmV-63(53}P)r0024&0{{R3Sd%d$0003;P)t-s00030 zfPnmGV*F=f{AgtSW?=ttaQ}RF|9p7-XJY(nWcz1g`)6YNXJY(kV*h)1`)6YRe0cn4 zWB+`3{b*wRXJY+nWdCSr{AXhSe0TqRc>jEN|9p7=dwBnSc>jKS|9pJ^eR%(Tc>jHP z|9*J?fPnvlegArQ|9p4*n zZD{^`cl%{w{BdmjZ)*N`a{O#({BUdjd3E|^U;cP>{d#u&ac%zF+WzqH{D6G@wX**E z`~KM1{e^-3o0$ETlK%Gg{i2`zeR=-4wf?B3{g{>gjfwn&fBvhf{_E@h)YAQ?qyFLF z{?X6=<>mg&%l^p6{CRc#aBTgst^J>z{f~?O`1t*jj{J#+{-dD&=jQ&z!v4Oz{=B;W z-Q51q&i?Z9{=mNe@`X46001gKZ8^6uZe ziC{V@tEWy(7!}^bC#SDT{Qv+7bV)=(R9M5!nOA=jQ4q!Lz4zX0HY`frg(WO1NsNL- z&_sCxmRY}Ea zkrc-<{Z5k4Ns>gJB&t*@5j{wSN&yN2`lV_F4JZuT?N&&SR#+yb<%g%IaO~TA_$lcL zX_i?^0wZD&hAA=(kt7Mh#7T!>SVR+nMP)&V1ZuZK2qX+stCg?sz_I(x{(8L*5U|XG zML}kn1HZ);;eam$0uf86LlA&rQfXq}`az9|CYvJ@c+P|T^)i8>JkoB~jC z0a8=i4d!UII6i5)My?$2Nlw-0KvK6TPmCoBqaaOdN>N;iI|*DdNo!%ev=xvxnt$XU?E#>xFq}GiH1iCNJ(q~!4?C;C<-E#OrCTQ9s!vM zPs4<#-A2{|LqKZKEhjqgL^4G|#Fl)3{92A#(%=9iwjfbFl!jYD6d&;SGDC2~n7Oo1oBXcGonEix9_ za@U|7og*npT}%OqZ;JLefIv2DMbh5@!ZIZ82(keRk+qU52+)1g?U`fFWXiPYC`wa6 z{H|}x2TyL!T8Sy}r3DcNg!o)F6L3!*t_Vxr9Y8(OiyicKjbJ)&Nj+kT-Y(+hVx|`; zAb#bxmGJ`fqY-j{BOyF$%Iys0j9~cnGfR)+%rte$lENmv7?CAgGrm5-l%II@*2&rp z`8#x#w%Vfglh)2=D0C{&T(R+CnzvI?UL!)E@MGBj`h7EZYGVxC^D1ltRlzVhFFSa{8q zOdKI|z!x)?_iCnq#bkeRJn{9Oaz)bXXRz3XdO?u#8_(phPcV`y z{$cWj=_z;!iaV0O&A6KHWu10;h2MA+=0Cq!n~cvZ)bd*iRS=35Pe8KS@}e=Rr}=2Yr4oh7q1VU;quIT7qDeQzU3eoHxKB6(m4FU+5}B{$5JgA8ciyRo$}(I2l0D1A}5s zfxLrcfy1+j&WTvOlEl>m+zQw7=Pt7L{g6}R{Rh+(T=~wSLcjk2rHv6I@vTr#wW(wZ z#=pI!1Hnkq5PCS<0FDo%X&iCcqP8dO<7Hm`Qz>o z&e^QBr&?%T3WiRStMY@Z)rux=jIk_LlmJzLYtn{_3vJ$CmyQa;mHO)~esdi%Gvg=eI}+Ut+c zCbUZN;WxYC%WuynwJ4V#Ys!^fuJ%iSrtUJ5HTfX!0->m@ zCRwV$7PG6(Ur?ctU1{rjM;aXK-o#qcIlr-XhJh3Y5}1fhL4b1MvBn@g4e2R>0SE#l zW7*eHkT?U#-_=f#Kum&E>6mMKg*A17021YBNpx6ObNg#2Rc4(Pc77SCiK4gmSeAh{ zRTw0;gf0t$<)G=XLSOv|2V>FF#jw0hcg{x2yHriY|@C5;()BH^6vf*|4~Ya0%WSxdHbmtnSn z)3y7|5rEiF=<*xvq6}r}a2>WpX?EJB3k#c~Ta{FY@*^ia(?7;^O4$n!NSyl7;<4fJ zSxn2%>Zc4(G(4A2@BW7mcd@_r;#1ZBW=xS;s3f-8PPhUT(`q?BR}Njjzw7_iU)ke{ UAP80eqW}N^07*qoM6N<$g2z;wo&W#< literal 0 HcmV?d00001 diff --git a/src/assets/images/task/btn-pass.png b/src/assets/images/task/btn-pass.png new file mode 100644 index 0000000000000000000000000000000000000000..31b38c134066cef3a3a941666dc255818067ad3c GIT binary patch literal 2840 zcmV+z3+MESP)r0024&0{{R3Sd%d$00045P)t-s00010 zoc}_4@Irj?Ns9ABlJP^6@j`v^LVWNLVNH-eepw*@j`s?M3eGCeDOkj z@I#XELw)f?e)2_=@l<`B9@I#RC zLXGf4lJQ2B@=2cmLw@o@l=4H4@c;k+L4EK-iSR>^@Iim@L4fc=gYQCw@Ir&|L4oi> zjqgH+??R05LW}T0d++=0vm-7Ao{++=0&*A%jtMvN({-4A5i?sDeitya%{Jz!scd7JbobsZ@_m;f& z(c=5U*ZQ;0`GK$XT$=Jvi}CLC{pIid;q3f#rSwvf@ygu#t;_gZl=4@W@k@{J^!Wad zxb|tG^Ix3uR*~_y()p;z_|)b5lezY7pYvy$^1dp%od5s;Ds)m#Qve9=t{eN6`Q+f= z)zZSMn}vmWb8=5kNi`}A?&;6TyklYV@a}v(3S&8m=m3WR00~4%L_t(o!_ApzbJIW& zhUvZc-m5^yl97xtc5tD^;KYQI5JCwg^!oolu69*;7jsAdF0pVdoZjzuib38YCRX-*eWBv?d}B#gr#!U8ia_49SuvgJE} zPI4&9hy-^87HGmCAxjQjzye)}B}tqpU{O)n9Ej4?+x1$lwrtzdAERvQfI(G(DDV-( zI5VoymBT@xU{z981O^hr0`png?K)uA9QhH+c9KFCXd)E_Bo;>f)4WV5%`p)rN3`Is zh$sn>R7|iaiFFaIU8~Wmt=~P`JtrclA}sh2Re%#jE?9_0RiO{!z$L2i2T+VEzyXRE zFKtG-a%Jl%lwDCt1d&jIFiZmTNniwm1(FoH5DgY{h%W4-p(O1(NWfBCzHd0ns!|6C zx~h=Ixd;}xh%bp-P^d7%L9&==5fY#{7u84>kdQ7LRt!ZsREoqyE?(dv(8Ptv%>jd8 z(a23qtf(vkqYf%FjFaVjTVbw{9T>*4bY%y!WRlPFt+4_Y=OL>KErzkdA_)y`)IlzA zt#RCnDkKZ(GQ>w`OQli-7&YXOz$lB7Xs~Fs}lFB7; zs380ej^VP9AS4V#VOb!Eh6>995YIyl;=wS8@zAh5+Qg!iA~m=Pp$k>2Vc<$W14WW3 zC1DIrMRW-R7s3Pumo5!l*mw11ZK(y4j$mY}k90%{T-On`%87%JMLAbFToSekWGUmi z02pYZFm>FuI%K(`EbEIcxda1BW6mP8@CWhsRLcIC@e0QG;$q@l_eKl zAc|&C%DUK|Sf(2!VG==>T3z!Qwk<$8OcVs87#b|5$}z~|W3mCU%s;*r*nm`-TUfZY zFqbB_^v}(_fGvnF00|=31dG_R0OdGwkabYyY!kw>O`(Z%WRrw){ak48Ntfq%c$6}W z1j`KnHYXt8r;w{GFn^ZXOC${ARH6jBZbDE(9@F~)n6OpUHtZ% zqeWX{08_Ip#X5Hs7$|bIK;Y(E$RZ{86aCxci*fw)rm;T$+%v8$kMQ_BnYnJP&zRSz zw6cUbM9a3JqK8&N6f9-QOm%UMD1QEc?0y`-oq!GUd~zIr?j={;w^LJ7GdJeX740r` z35%RYuBsw9-t2v_rLy4GP?0a_0+PjhZ1ZtUo+6vQJi*@|;hw>Lw)rpLq0Fd<3S&zf zs(AUl!)wcsq$M1TB6`rLL3tqm^!>s3I6vTvzxz~hugUY9_jinu!=TumueK$+sgf2* z{3^HEqMT{~!$vL~qc}t(!7?R(?bW;D|NAL9=ph~uE3*&D?okQ}`In1j+n+(=!{{g{ zG#g!81`1@6HslH}z9m>5AxF;Lj3GdOdK#KMo4!e(FG!Uh{YbWuGVnAN7a^asEwNB= znZyg+bzWO;l#DEqv#Rcfn5D~qC58ZZ2d{wgd@zG*G6ojTmptX~CzQ^T%OZ-aEn%?K zMU*gw);2^IGR$&z$kmX^GD3NZfBZxIvgn|P=s_PityEaBc%QT*@r^$T@k;v{IpTpYUHhYi&Wmlus zXh^KIr21#B{Vv((ia2VL+w+Ls zb6ayL4BNxxA6g*MXvut0BFs+@C6^bA{<(>JWIont z_;HJ1@#B_*UQx5HHpm=gsgrazlu zJL|J5cWz8f^sdE=6TOMve6QELG2pYX+Z;8M?^Cw-ldv0ec5eof0t<^`ba4rE@ak1& zVH(Kd21~Ovmob67xfa-4B9UB1QhmG;*sPGaoxEpmP;jHu>6Hzj2!^tBEQ2N!G#_eH zG;7a}`tc@?TEgA)g@T8miybIWkth-^;IIP}%$D1CT)I%ri}s+I51x+taT+ASmemtR z@;UI&cJWV3vk1$Z`bCz9x5=ieZy$7T!@AurZhTy8=FjaCQ$(6N^Xai6~%7lN9_}vP2I}lOd+vbBAA@}D2zHN^iYkK+mfw?gH#q)MccET zSF}BkI+gomwD@52K>+fikTm zx1#X6NXyk05yhE^vfk~MufjwY1g#x%weGtiSKL!@5O1FKJUMme38^nj*$oO|BjRCu zx7#fn5`}^Ju~L;MpcHoUmvIpZpFshIF0e3>IXLB=d>FWH-bR(%>g|@9L}f9hrK61q zOQ+mw29mgNbefyPZSoMVgfSosNC?DqM4np8@Q@|JRr5E7$J9Y=%)#c(D^mQ~0OFf~ zz;byH!lz*{fJhFBm4|Q5{A0nrO2RB!;##s}<#5sT;g6BgLdGn44i=WhWsy#mwh#FZ z3Jyz;3W_?&bwwAq#rH$F{`mb+If&cv2zix)&uOn q=^%^#iy8_{ql16f46T`SBi}#Pk{vh0000 { class="list-item-header-name" :class="{ 'list-item-header-selected': selected }" > - 任务ID:{{ listItem.fromtaskname }} + + 任务ID:{{ listItem.fromtaskname }} + @@ -55,7 +57,9 @@ const svgName = computed(() => { 提交时间:{{ format(listItem.createdate, "yyyy-MM-dd HH:mm:ss") }}
  • - {{ item.name }}:{{ listItem[item.id] }} + + {{ item.name }}:{{ listItem[item.id] }} +
  • @@ -145,14 +149,6 @@ const svgName = computed(() => { line-height: 18px; } - .ellipsis{ - display: block; - width: 226px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - &-selected { background: rgba(68,113,232,0.07); } diff --git a/src/views/task/content/Content.vue b/src/views/task/content/Content.vue index cad5a84..452a5d1 100644 --- a/src/views/task/content/Content.vue +++ b/src/views/task/content/Content.vue @@ -3,8 +3,12 @@ import { computed, onMounted, onUnmounted, reactive, ref, unref, watch } from 'v import { chunk, clone } from 'lodash-es' import { useDialog, useMessage } from 'naive-ui' import { useRoute } from 'vue-router' -import NotPassed from '@/components/Approval/NotPassed.vue' import BatchModal from '../modal/BatchModal.vue' +import CustomSettingModal from '../modal/CustomSettingModal.vue' +import PictureTable from './PictureTable.vue' +import TaskTable from './TaskTable.vue' +import History from './History.vue' +import NotPassed from '@/components/Approval/NotPassed.vue' import { getAllfieldList, getfieldList } from '@/api/home/filter' import { TASK_STATUS_OBJ } from '@/enums/index' @@ -14,12 +18,6 @@ import { useUser } from '@/store/modules/user' import { isEmpty } from '@/utils' import { formatToDateHMS } from '@/utils/dateUtil' import { hideDownload } from '@/utils/image' -import emitter from '@/utils/mitt' -import CustomSettingModal from '../modal/CustomSettingModal.vue' -import PictureTable from './PictureTable.vue' -import TaskTable from './TaskTable.vue' -import History from './History.vue' -import type { ApprovalParam } from '/#/api' const batch = ref(false) const selectItems = ref([]) @@ -28,12 +26,14 @@ const dialog = useDialog() const notPassModalRef = ref(null) const batchModalRef = ref(null) const totalCount = ref(0) +const taskId: any = ref('') // 任务id +const packageId: any = ref('') // 包id const CustomSettingModalRef = ref(null) const taskTableData = ref([]) const route = useRoute() const sortBy: any = { - orderType: 'asc', + orderType: 'desc', orderName: 'similarityScore', } @@ -77,8 +77,11 @@ let processItems: any[] = [] onMounted(() => { window.addEventListener('keydown', handleKeydown) - if (route.query.id) - getDetail(route.query.id, route.query.packageid) + if (route.query.id) { + taskId.value = route.query.id + packageId.value = route.query.packageid + getDetail() + } }) // 键盘左右箭头快捷切换 @@ -91,12 +94,6 @@ function handleKeydown(event) { // 在这里执行右箭头的逻辑 } -// 从任务终审列表跳转过来的 -async function getDetail(taskId, packageid) { - taskDetailInfo.value = await getTaskDetailInfo(taskId, packageid) - getTableData() - getImgList() -} // states:1未提交,2待审批,3通过,4不通过 function validate(items: any[]) { if (items.length === 0) @@ -140,13 +137,32 @@ function approvalHandler(items?: any) { return } + const list: any = [] + processItems.forEach((item) => { + list.push({ + formId: item.id, + taskId: item.taskId, + taskName: item.fromTaskName, + }) + }) + + const param = { + result: true, + comment: '', + disposeType: '', + disposeTypeId: '', + failCauseId: '', + failCauseName: '', + flowTaskInfoList: list, + } + dialog.info({ title: '确认提示', content: '确认给该任务审批为【通过】吗?', positiveText: '确定', negativeText: '取消', onPositiveClick: () => { - approval() + doAudit(param) }, onNegativeClick: () => {}, }) @@ -176,46 +192,17 @@ function rejectHandler(items?: any) { modal.showModal(selectItems.value) } -function approval() { - const formIds: string[] = processItems.map(item => item.id) - const taskIds: string[] = processItems.map(item => item.taskId) - const tasknames: string[] = processItems.map(item => item.taskname) - - const param: ApprovalParam = { - formid: formIds, - taskId: taskIds, - approvd: true, - taskComment: 'approval', - taskname: tasknames, - } - - doAudit(param) -} - function doAudit(param: any) { audit(param).then((res) => { const { code } = res setBatch(false) - if (code === 'OK') - emitter.emit('refresh') - else message.error(res.message) - }) -} - -function reject(idOrDesc: string, backId: string, isOther: boolean) { - const formIds: string[] = processItems.map(item => item.id) - const taskIds: string[] = processItems.map(item => item.taskId) - const tasknames: string[] = processItems.map(item => item.taskname) - - const param: ApprovalParam = { - formid: formIds, - taskId: taskIds, - approvd: false, - taskComment: idOrDesc, - taskname: isOther ? tasknames : ['其他'], - } + if (code === 'OK') { + message.success('审核成功') + reloadList() + } - doAudit(param) + else { message.error(res.message) } + }) } function showModal(modalRef: any) { @@ -286,20 +273,6 @@ async function getImgList() { } } -watch( - () => [taskStore.activeId], - async () => { - const packageid = taskStore.getPackageid - const taskId = taskStore.getActiveId - setBatch(false) - if (isEmpty(taskId)) - return - taskDetailInfo.value = await getTaskDetailInfo(taskId, packageid) - getTableData() - getImgList() - }, -) - // 从store里面获取任务id const currentTaskId = computed(() => { const index = taskStore.getCurrentIndex @@ -343,9 +316,26 @@ function previewHandler(event: MouseEvent) { (imageRef.value as any).mergedOnClick() } -function reloadList() { +watch( + () => [taskStore.activeId], + () => { + taskId.value = taskStore.getPackageid + packageId.value = taskStore.getActiveId + getDetail() + }, +) + +// 获取数据 +async function getDetail() { + taskDetailInfo.value = await getTaskDetailInfo(taskId.value, packageId.value) + setBatch(false) + getTableData() getImgList() } + +function reloadList() { + getDetail() +} 返回 -
    - -
    + -
    - -
    + @@ -733,6 +716,16 @@ function reloadList() { .batch { display: flex; align-items: center; + + .btn-approval{ + width: 68px; + height: 28px; + cursor: pointer; + } + + .btn-left{ + margin-left: 16px; + } } } diff --git a/src/views/task/modal/BatchModal.vue b/src/views/task/modal/BatchModal.vue index dfd2f6f..54b7b46 100644 --- a/src/views/task/modal/BatchModal.vue +++ b/src/views/task/modal/BatchModal.vue @@ -57,7 +57,7 @@ let _masonry: null | Masonry = null const show = ref(false) const sortBy: any = { - orderType: 'asc', + orderType: 'desc', orderName: 'similarityScore', } const batch = ref(false)