z`W8+1h6~2WB`4@n;CE-
w#*#n!l2Z$+qkdXxt7bjg@9f))n6ns5xuV1pTSDSUSVklwQE?@PUVVJy4b%9Vsy*a3ukP3W&i*J
zJOBU()c^ns7>m7UZfIp;WB>pP6aWAKF8}}lHY(c09cXA}VE_OML;wH)8~^|SBnRFD
zj%aOkcmMzjU;qFB4*&oFG&BGJ0Bmn#VE_OMZ~y=R8~^|S91)%q;B8@eZ~y=bi~s-t
z9{>OVAORvO0J3gjZDjxe3akJC0YCr%0%s7TJg{(Yb94Xz3+w;@0DAxc0H^Bvr0bIi
z0fT>%u?>Sj3`PGPgph~H?C@RCu>jcTB2CBw@#&pppKN{k
zK7a#&Ot~vL5Z(x|cxg4HdWLhV=Xhv-!__JTBU^UtIdJ5}MQUkeURU7P+fD?X`~8^0
zBTgt#se+hPT~tx2O~vlK|A{Ky&re1;_OpMCj&2Za9o;3^Il5J_cT(@*m=icUuo;tM
zPT}I1JEV5>M<9)3ZjsqRxdDXCO85W(0C=3OR%>hLP)J)CGyht_o<8R)7S5kWf5u?$~XL7XC4FeeQYO9CFEbP(RDgP
zCdn?cpAawv@aRU;3Ko=bQP;R)p$erum~H)iP%M;7NmDmGZb=D`Lr~HH$Dz8)mGT@d
zXdnq-+a4)B8(0*8QkgVbiV=`bs1wuX8Qx%GuWrp
z^YOecY_h~a^DX?J+?YBrRvRBs;J#?C!2FOjZ(x`0?#?1lT!_O3`Zs!#@Fagg6w-}I
z=yK80Ej_5G@E4MG%anCl4^oui2hcNVKWp!W=O^tqz_?}Ko`S>h%_;j$(7C0x*KgTN
zQ_yF7zOeTCuiypyDd;24H?Gk?&~0P@v0f&J2}u~KJXES+B~$n!r1(l-D*mGzb5^~nw>4)M*~yy%K>boXZ-Uk>z9u`9@fyNio&Zp?0u
zL6_Up>4sjJre{_IXu(!d7e%NsH5ntt#TOT^G*TQG-fro##K3evvBFEP*
z?OHu?Y;&!)`PhloU6*S97kN){WadoCT)9}|J2`$+$Yah;4+n$8({pBL#7*sMJ~8Np
zIltfjzNbs{Rhxu(5Vs%E6DI&Q5>0MR2-aFoWD@V^-CQIpma}3fSaWta4Ts7NMjoJ=|qzu(X+G>(6qN_3JZ<77Ko#P~Z&
z&XOyLqvU3ZT`CvCG6qg6k%uZM9U4FjAH%I6fUP=!VE%sv8S9GMG+6wX82rV8Vi~64
zVQNXyKnWKx%+bP;Pj|^V>USPsdd^
zoDFn!1%A$m{r7-KOPm~aD7+Y8GYv)g_D8&8ZiAiR+aKY@xee{&hIZcu`#$eoHgNyN
z{tV7$&ns+NP~VsdKBs5LY6Krv&p$zbOdrEsiQqmH7U+LfP6L@$;8rHIpa*Bmv9Rl?
z?Y$EMRj#OGf-spQ^A~FI4}asy{WGhLk%N`W!G{@v!=jXJWbHjjq+ZFaFATtUs}EKs
zIJp1GXCH~zF3dMpXW)(Ya3t$nBw;Pr$YvY4H9L3qFt2^bZCF#+Wy@ge8v5tu`8~UtwgfysuQ+_W?%WvVBmg
zsrEiqg)3@Jf#+rJxV`3&ciLa{`{86~+z%^$?n`Y?BzCIpiUeHnbyc;O(b3+kFz3k$
zbY?D&pWj~NO~Tq5-?{{=hU`-n^LJlhKS(gPTH^2{Y2X9_j0gzXH-vZy-4h-o(k$zX<$ijpK6{W$m@D;uVgk#Kh%weD2kgoQm@3p0St~yLR$Ij7T&_}VJ4wEHkH8(71apwrPFryTWa}H=vv7K27-9ZE|StWLaTX`;(6gU|VewL?hlWi!yy1pjLvPged
z7-f8KvG;9XA*QG24wdTF+<^zMJLoD1CE}DfM3>{U)E%QATz|*7N^8)+T{T`Gw7SRe^MAogXE=<8S*hxu9?;c
zb!>2?-KP}R>2MToh*4iK=!=R!@oifiqt@b#aKm-8bNk{bS6P@5UUR+LIgLsB@V*SK+FY%3=IFldatd&EdT4-fqWB>pN@Bjb+F8}}lHY$%X!Dwh@VE_OLAOHXW8~^|SBnRFD
zjA(6icmMziJOBUy4*&oFEGz&30Bmn#VE_OLOaK4?7ytkO7!8aMoNZxvZ~y=aWB>pF
z9smFUAORpM0J3gjZDjxe34{Ou0YCr%0%s7TJg{(Yb94Xz3d8^a0B8UJ0E}5g1q71_
z0fT>$%?-jZ3`Sr26QJV2rS#GfSg;ZUWE4&ux=MF&4jrP{ac`6faP%VilkG(QfEK8g
zhtfcJ6R>!x8j4=i6}{o9`JJ08QIJYTnIy?9OYZZK*KLDe`auMp^?mF&Ehl}gqtcoS
zXQCFz!x{e-*K(&l>ulSOIVhE5j>_oh9+7{^F?S_7rFV9)zQr-ebMNTp$%CUFkXMKJ
z0Wiiq0C=3OR%>hL%S~cVTUk3W029KmLG#Yk@u2-Dt0jS85a}ypBoT(qoF!!mX)v%I|xFo~`9C9+*
zx%oC!(X>zB2jX&A)A&G0EA)SjbK{Bp{_$o)&T7T|yQ_%?_v2)DbJAK8Vtp|onb)fS
z1?v=(HBGBEEKRePlldeLu4;eL$48Z5EEbGL(%DOw2F<>NB!^T`5y)hkoJ<19->>Km
znnEo`bW$Lbec{u`7wVyDiT<3K(zo!
z=Kpsg3*hyb2Fw2{qrXyCEyFat43<<4RHck*juwtY_eXJn$|*tnPa(mjgdiRg?7PuK
z6vqi(42!%YmU%HE`g|z(*&b^3)Qn?ucB%ZH%6obn{AU-AylZ{wSg}+p9$Q)uhC;!W
zBMX<4x}LneaO9hZ7cPINVjg%h6p4g>%7p#*kVvbXoNy$(5@L}?6MXkaeBy9Vo#wkg
z!i$SNbft%$>Z$Mb-BUvkT^k(2XpX{1WTl^4L&5$)egfd*I6u|U|GBTHACsSkbih1Gxgt@hZNdi~7fOu)mU
zlyB$l<0zzl$!sl;z_%NZG$c5)`odS9NHwo6wYTQsx83b1b`DCy_Ha9&Zx3$^66%HJ
zmf3iui3`Gd;&b$Gbkm79N5)yi_eDurPur_m9SFx6i1}n0+c1gB!7?3SX1C3-)#}6|g@W48mi9R1h|T+~>NU
zDC}(46$QB9%dwcfhK}}0l{wE$qcd}H{DSs2ZxRmAam7XG6+B0T5T29kDrPE-@(`tI
zcQ_57fm`Xj(r2xUfZ<)X#d2%10FbQ=bwN6@W;5j_O&Nq&AtjB1$BqK
z{4y+ki`^;X==bzB+9DbTa&n)Xq>+Uuy^h=w9EDMGt*ncruR&6q2
z+8seMnBgO$B#Fi#Zobb7>Ha~s6oE?OIYD|+kZylV!g*#p@2D^KRyX@{_uF!PHyx#0
zV^`?U=u_BFN6882HZm;evLbo1`feS;r1J^4u%c9rb3V}CO1HAoy2FT(!K1Q|e}T(p
z1Wv{eKdV!Z$u5-M+}RdoS)?0GGQGdj|CYa;)N_mLwbtVY08C>f@D`%-&e!RHEZTn+
z<-vbUJPxH}#mpf~iz$OcyXX};Da)F&t%$GU_UTFUoyF?<`~c9|541|BGo?91Ulo=4
z=R{c%CobgTGwH%R${ZxBhthg8K5}tPRAiCmAs+sh+$GGwNpg@J##*(qRczcCv6nRw
z0sk{;;JGa%L%z4r%gH^9o3)v0O@p4oCPsf8eHubRS?hdWlY^n565m`oAm(!}FUUhh
z|MWvM!blDzABCZkpP7a`IlZXkfV15>tFlRlbMU5^@Q1_xg!n`M+{y&CR_28_U3UTx
zu8ec_<$2*pt~Ua+h}V|e>*!N3Kv%o-QItkOC;tZh`MI0`004NLV_;-pU;yH+*XDn8
z#q-;IW#DFE0D;HbzuiU9|La*8n7e^o4hANWC;)*>4ORenoMT{QU|??e-@p*V!TE-!KA!8
z*%NA|#P6^k1YpsRF=&(I+9p7I9VJ~L83Vbc057+A-C;vP=-CS+LswAk9^;N{Ailx`
z?NjX@@TGPC;(rE+YS1usF>P3F!3Kgx=stfp~I)0+QlYazKha(e_Vl(E31
zia0TB47464NGz&Pf4mriw^46fz`KG*F&}~kN)?1wpu{0810@FG6R_okBcK=%E`y`I
z@Dvms!ZX-^LqJVqinN5LpjZ(82fMR_z%j;Y0SpBF02qgm#n~3G@BE-Dq$6spoX(gS
z;O=Awl?$TvooYuBtRCJ}4tu6>XXq=YL
z=F3-QP`>V$u30KN5Ia*LgR}kx%T}Fsd7XDlX?T}^&q`-MXMT70AN7x1xYIc}z2Dn+
zN}W02A3Qt9l!ep1<{*WwDAb%pr0&cBk-`E2jy^pgwW6YGl9|=?YFU&Lq^n+vlzPSS
z>2)2g>R}%lOxNrje8p}
zNUvX7{y(I$u9r>+YuEajj0!^^C7L-;OHCqw=g(ON88jBknooQT@Z93`Nd(DqIeD~W
zN|lcIn1B~WGnYNsD;AfUU)FQH(i+
z)j16BysR5s6uQ*BOZVPPrZ(Q}?4~z2TAX;v%Rcp`iSD>%*5oRaQuukxMh3Yq)wAN9
zvQ?He|Dtq+-zBXZPH>)y*c-=dvF8CLZpI=}zrblqzpZ+JxE(Yhwvh&sHnHjbuR`90J;eF7R
zLQY1$GABpTQ3CSF&!CfAi8>fo#?YkEmEKXo1Q-0v3B+Z21E+SXKnAw`
z8!!#%jlQB5q0Ld__rQQWO)VN>`5BOKh&&*Q
zigb05n&tJf)R1l!q$QyAYPOEOO3MZS^lk8)!2fQIBfIctuosfPMeG^;E+ZS&%D#P-
zs=Jll%FDZXR1k8HGh8Bf550soDL+@G%FSDsC%{g~pF}H3i;jeUz>Pv-BV4eKZ?CJf
z3(on$|H=ERRDEZtV9IAW`7}4mJC~Gn#tBG{(+cNN7cQ^~dM;VeQ_#9(X{*4xbg7gg
zatNHx-Oy^6uCiNYHTbuE2N#SrH#Kj%GW1^SaVWx!1)waEai3(AeF_5tWKD_D9hd88B_^0!^t@kl&
zq)L`J@A$r^_5TVSrmE_5fjBxNE}saQUmW{6lHm>9Vo`s`SZpDLt;pimJ059Y-)k8Bsi=q3EGe
z%9Nx@GdTS^_Q`3fOe1l5js*;R-bMk}=_hvzSuHH#&Xe?`GkNmRrk70t;!;{uu5#?L
zl8}TGvk*mpSkn(zh{~fH^P_#7j1T34!?Sp@u;=7uw8lKuweCrP2O=JT<|d9#=2Qtp
z@F)lXYd!{YhT4<*-sUrKMqi-
z83wpW9Rv`g{}AB)1?Z35g`eJe^xChX5q}EZ{=9pCAVNge_74R0c~Sl8&a&Chd!Z|{
zQR5j6j*(P*8e4<8!yY0MG{91tzz2L-1MamWHe}0wUc`o;g+>)EiJqj{ff&&2VPPT}
zKw{7wZDG+9*~F5Dc%UMTIM9W`un^Q^rG-WvP7@uP$B6;W>lP+Wcur!_{A*#65K+^U
zbP;BM34x&`W`Uahki+bDSygw^>S+UJ^Wi8F7vCNuybi=dMMz;dRe`xMqKXl`t+ry4
zv_e+G?S$mVg<&}EhCGD31v8U~og_WgJf1aa1jOui0to~dD5PQ20z@-@hYrlRabazo
z3_iXFFl_k1K_Qr`?E?tBf}x&66oF94P*w1ME>@*IDd?pY8^w?mUQ9;)Ffjaj)o(!S{2;5^%|N_kd}(1b1wVTzcj64fFuEb)E*
zGDp-wE_dJ#pV^MNY(?ST#f6ZB!)C*XV8ZPqF(Sx<;ix~{OQHl>;PYZcn8RhpeO^Z*
lD;8*Wd;Gz6)Mdf3Fsv;hAO!WSnetXF)PoWzj$=3g002P;1gHQ2
delta 2324
zcmV+v3G4R66qphicTYw#00961000RX01E&B000pP000Qfkr*C-HVTt0kP87e0we=0
z3m5
zW_JC=ktSx1=%rsIYJ>!#dm?%BQq)VhDcZC>j_6@Y14Q(Q$uy*5K!liKF(+wEiQct-
z*E$euJz^Diq^2Q%?;784Ew4nvN7XILvn7u{H~SZdUM5SfLYw~ITC2LRA5H8`8lh1t
zsr=bJWOmQyd^yZKK@~8h3!;VY8|Zul&%v_jry=>E
zrQbl*>CB=rIIbcks4BDzWx;e>M65hXM-QX?h(a?Ti$yngL(HhT5Y5}0Z>5Pk2#$7u
zd(8+LL$hX;hMgo5zbYE!l-zYGX3~Ek-CO|&~lFQ3`V1#-yo4%Jv5>ncjen5poir
zs2U9=CwdGUH`kd@>E%u?8BIX$`J4-Q6c7Ub0>>8mnucQSZf`j4d!KtVB{oJ(KoCAj
zj)PKv^$@2>J1{uPF4Xjw?f(lAV=_#mA$xmqt(H)$TLkD{oY|UqiY)%h3LzvLBCKC0
z(s)d!e|{5?3ZqeRjHe_F8qx}YYdT#Pv8KTEdeUgb4F=VXCmIaavWa$H@TYq(NGLq9!}tn<
z?jeZN?Mpvscm`Pf)fJZQ)Ga+PMZON2Z)vx=1+;D=+$fwhLc0ux`6s`{A^e2e(A)8!jjHSv)AZ7era}(_W|EY_~YYp-Uhr`_t@=Ak|62JKmf30NZtk}2eagtjoyB$Kev{$c5vU`RX&Zv
zM&E4-70*6TtzoTkm(X|%1#B?eLHBU-pg+te=Fpw
zC6-tx-AY!pIo>D9FS8&$BqcaFB_!=~NP5AAzODk=<#0MpmgFAq+SuqC@18W_o+wbk
zc()|Ci9|O5*yo_i1GBl3_1S_xx4lix``r2j+3O|ov0YuUac>sp&Yz!uTNkjgu9}a-
zJI~}Zwgvjf#rX#u3^1I`z-(HK7Vaw2Pi?D2XI0_1{5LQ>8bDyk9-Ojm9LO=J@
zJh0L1XwgyK>bEV=+U4(m-_`1y59Wca<~-F!j)fXH-45L^Suh1c_qaxS;PxmJ+T$K2
zq7nzxA<}`DoIBs4P*jN8()i797~Jb0v3IN
zRg6fca#UuZgA6{y?gB5v<`eS6GQ_gLFF3emnmp13Au?d+F
zIQ9aoVMe({F|!0$F=Oj|ATjfl%hf=auXj6sbXSCg`Q|6Y=JQfTlv;5_9S||m9QGsY
z=&xM@uezLKisxZ*p4*vG%sE>QwAiO2W1W4t7d<33W$uU6D2GUwC@+uhj84Dh3+M2h
zHTMFJTu?&bE%VNQ8IkL9SJ9a}%p3h7(U#J$q?Cv-hSWcH<4wK=`}RO^jFt3H85BOB
zE(!dnxMOF@1J?#Z#8%$w^B9tVI72=cgb0rJpomlP-eO
zXLAiK5WdR8u)DAaJ`a<^?fH9HCH$B#!QsMx^JN$=gykoH@Cp#7=694vxpg{s4LgW@
z=F;CRk-ys!-%tJiMkKBDP{HXeT6vRUGcu_zhuLNEES#cE5@u)Y;GRU{o^T&^L+Xs5
z_4f4oIkr~P*3UK4q_Gy~DQX=qpteaXgMGLLbyC{fPQ3D9P91x$e64EejT$)UJ
zjx(rRxPUT$N-K*@xCV9Mzx3X3Jgx7+bC?$aD;hfOG??Jq7_=DeC%W0PjAi^n(m)zj
zdD+kVfQKBhKw7$5wWU^qqjzm*ur^SXFv4iwtHxtdv{MV@Cb+{30ZcRH207V74vfHS
zyVma8`vjet#f0hp%Znsv8a=7xN{0If=UGkONabX6(Wxo%ElRLZu0!4p09!pfAaOc#
z1jcpc`W>0kQ4w|3a=HBSdiP~>zPo0_4GobZM~N!xXrhfS`uHQ6$IV3 {
}
/** 预测流程节点会因为输入的参数值而产生新的预测结果值,所以需重新预测一次 */
-watch(
- detailForm.value,
- (newValue) => {
- if (newValue && Object.keys(newValue.value).length > 0) {
- // 记录之前的节点审批人
- tempStartUserSelectAssignees.value = startUserSelectAssignees.value
- startUserSelectAssignees.value = {}
- // 加载最新的审批详情
- getApprovalDetail({
- id: props.selectProcessDefinition.id,
- processVariablesStr: JSON.stringify(newValue.value) // 解决 GET 无法传递对象的问题,后端 String 再转 JSON
- })
- }
- },
- {
- immediate: true
- }
-)
+// watch(
+// detailForm.value,
+// (newValue) => {
+// if (newValue && Object.keys(newValue.value).length > 0) {
+// // 记录之前的节点审批人
+// tempStartUserSelectAssignees.value = startUserSelectAssignees.value
+// startUserSelectAssignees.value = {}
+// // 加载最新的审批详情
+// getApprovalDetail({
+// id: props.selectProcessDefinition.id,
+// processVariablesStr: JSON.stringify(newValue.value) // 解决 GET 无法传递对象的问题,后端 String 再转 JSON
+// })
+// }
+// },
+// {
+// immediate: true
+// }
+// )
/** 获取审批详情 */
const getApprovalDetail = async (row: any) => {
diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue b/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue
index 8d1d3fc6..540bb62c 100644
--- a/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue
+++ b/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue
@@ -85,7 +85,9 @@ const setSimpleModelNodeTaskStatus = (
if (
simpleModel.type === NodeType.START_USER_NODE ||
simpleModel.type === NodeType.USER_TASK_NODE ||
- simpleModel.type === NodeType.TRANSACTOR_NODE
+ simpleModel.type === NodeType.TRANSACTOR_NODE ||
+ simpleModel.type === NodeType.CHILD_PROCESS_NODE ||
+ simpleModel.type === NodeType.ASYNC_CHILD_PROCESS_NODE
) {
simpleModel.activityStatus = TaskStatusEnum.NOT_START
if (rejectedTaskActivityIds.includes(simpleModel.id)) {
diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceTimeline.vue b/src/views/bpm/processInstance/detail/ProcessInstanceTimeline.vue
index b7891249..f93a2d9c 100644
--- a/src/views/bpm/processInstance/detail/ProcessInstanceTimeline.vue
+++ b/src/views/bpm/processInstance/detail/ProcessInstanceTimeline.vue
@@ -181,6 +181,8 @@ import conditionSvg from '@/assets/svgs/bpm/condition.svg'
import parallelSvg from '@/assets/svgs/bpm/parallel.svg'
import finishSvg from '@/assets/svgs/bpm/finish.svg'
import transactorSvg from '@/assets/svgs/bpm/transactor.svg'
+import childProcessSvg from '@/assets/svgs/bpm/child-process.svg'
+import asyncChildProcessSvg from '@/assets/svgs/bpm/async-child-process.svg'
defineOptions({ name: 'BpmProcessInstanceTimeline' })
withDefaults(
@@ -249,7 +251,11 @@ const nodeTypeSvgMap = {
// 条件分支节点
[NodeType.CONDITION_NODE]: { color: '#14bb83', svg: conditionSvg },
// 并行分支节点
- [NodeType.PARALLEL_BRANCH_NODE]: { color: '#14bb83', svg: parallelSvg }
+ [NodeType.PARALLEL_BRANCH_NODE]: { color: '#14bb83', svg: parallelSvg },
+ // 子流程节点
+ [NodeType.CHILD_PROCESS_NODE]: { color: '#14bb83', svg: childProcessSvg },
+ // 异步子流程节点
+ [NodeType.ASYNC_CHILD_PROCESS_NODE]: { color: '#14bb83', svg: asyncChildProcessSvg }
}
// 只有只有状态是 -1、0、1 才展示头像右小角状态小icon
@@ -269,6 +275,8 @@ const getApprovalNodeIcon = (taskStatus: number, nodeType: NodeType) => {
nodeType === NodeType.START_USER_NODE ||
nodeType === NodeType.USER_TASK_NODE ||
nodeType === NodeType.TRANSACTOR_NODE ||
+ nodeType === NodeType.CHILD_PROCESS_NODE ||
+ nodeType === NodeType.ASYNC_CHILD_PROCESS_NODE ||
nodeType === NodeType.END_EVENT_NODE
) {
return statusIconMap[taskStatus]?.icon
From e85c1b0a55ee9769d621aadc4a31f85f6845c54e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8D=A2=E8=B6=8A?= <552369664@qq.com>
Date: Fri, 21 Feb 2025 17:03:49 +0800
Subject: [PATCH 180/273] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E3=80=911.=20=E4=B8=8A=E4=BC=A0=E5=9B=BE=E7=89=87?=
=?UTF-8?q?=E7=AD=89=E5=BE=85=E6=97=B6=E9=97=B4=E8=B0=83=E6=95=B4=E6=88=90?=
=?UTF-8?q?15=E7=A7=92=EF=BC=9B2.=20=E5=95=86=E5=9F=8E=E5=AE=A2=E6=9C=8D?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=8C=B9=E9=85=8D=E6=9A=97=E9=BB=91=E6=A8=A1?=
=?UTF-8?q?=E5=BC=8F=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Editor/src/Editor.vue | 2 +-
.../mall/promotion/kefu/components/KeFuConversationList.vue | 2 +-
.../mall/promotion/kefu/components/KeFuMessageList.vue | 6 +++---
.../mall/promotion/kefu/components/member/MemberInfo.vue | 4 ++--
.../mall/promotion/kefu/components/message/OrderItem.vue | 2 +-
.../mall/promotion/kefu/components/message/ProductItem.vue | 3 ++-
6 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/src/components/Editor/src/Editor.vue b/src/components/Editor/src/Editor.vue
index 38c34e25..3b0513b8 100644
--- a/src/components/Editor/src/Editor.vue
+++ b/src/components/Editor/src/Editor.vue
@@ -105,7 +105,7 @@ const editorConfig = computed((): IEditorConfig => {
},
// 超时时间,默认为 10 秒
- timeout: 5 * 1000, // 5 秒
+ timeout: 15 * 1000, // 15 秒
// form-data fieldName,后端接口参数名称,默认值wangeditor-uploaded-image
fieldName: 'file',
diff --git a/src/views/mall/promotion/kefu/components/KeFuConversationList.vue b/src/views/mall/promotion/kefu/components/KeFuConversationList.vue
index 075edc33..318e27d1 100644
--- a/src/views/mall/promotion/kefu/components/KeFuConversationList.vue
+++ b/src/views/mall/promotion/kefu/components/KeFuConversationList.vue
@@ -200,7 +200,7 @@ onBeforeUnmount(() => {
+
From 303bbbdd7f1dcab50cedc0721b0c100551539c9e Mon Sep 17 00:00:00 2001
From: smallNorthLee <18210040298@163.com>
Date: Tue, 25 Feb 2025 22:42:46 +0800
Subject: [PATCH 196/273] =?UTF-8?q?review=EF=BC=9A=E4=BB=A3=E7=A0=81?=
=?UTF-8?q?=E5=AE=A1=E6=9F=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../detail/ProcessInstanceOperationButton.vue | 95 ++++++++-----------
.../detail/ProcessInstanceSimpleViewer.vue | 2 +-
.../bpm/processInstance/detail/index.vue | 14 +--
3 files changed, 46 insertions(+), 65 deletions(-)
diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue b/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue
index 5e1c5082..fcb984ce 100644
--- a/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue
+++ b/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue
@@ -36,8 +36,16 @@
:rule="approveForm.rule"
/>
+
+
+
@@ -48,14 +56,6 @@
@select-user-confirm="selectUserConfirm"
/>
-
-
-
{
message.warning('表单校验不通过,请先完善表单!!')
return
}
- // 获取修改的流程变量, 暂时只支持流程表单
- const variables = getUpdatedProcessInstanceVariables()
- const param = {
- processInstanceId: props.processInstance.id,
- processVariablesStr: JSON.stringify(variables)
- }
- // 流程通过时,根据表单变量查询新的流程节点,判断下一个节点类型是否为自选审批人
- const res = await ProcessInstanceApi.getApprovalDetail(param)
- //当前待审批节点id
- const activityId = res.todoTask?.taskDefinitionKey
- if (res.activityNodes && res.activityNodes.length > 0) {
- // 找到当前节点的索引
- const currentNodeIndex = res.activityNodes.findIndex((node) => node.id === activityId)
- const nextNode = res.activityNodes[currentNodeIndex + 1]
- if (
- nextNode.candidateStrategy === CandidateStrategy.START_USER_SELECT &&
- !nextNode.tasks &&
- nextNode.candidateUsers?.length === 0
- ) {
- // 自选审批人,则弹出选择审批人弹窗
- activityNodes.value = [nextNode]
- dialogVisibleSelectApproveUser.value = true
- }
- }
+ initNextTaskSelectAssigneeFormField()
}
if (type === 'return') {
// 获取退回节点
@@ -744,6 +721,33 @@ const closePropover = (type: string, formRef: FormInstance | undefined) => {
dialogVisibleSelectApproveUser.value = false
}
+/** // 流程通过时,根据表单变量查询新的流程节点,判断下一个节点类型是否为自选审批人 */
+const initNextTaskSelectAssigneeFormField = async () => {
+ // 获取修改的流程变量, 暂时只支持流程表单
+ const variables = getUpdatedProcessInstanceVariables()
+ const param = {
+ processInstanceId: props.processInstance.id,
+ processVariablesStr: JSON.stringify(variables)
+ }
+ const res = await ProcessInstanceApi.getApprovalDetail(param)
+ //当前待审批节点id
+ const activityId = res.todoTask?.taskDefinitionKey
+ if (res.activityNodes && res.activityNodes.length > 0) {
+ // 找到当前节点的索引
+ const currentNodeIndex = res.activityNodes.findIndex((node) => node.id === activityId)
+ const nextNode = res.activityNodes[currentNodeIndex + 1]
+ if (
+ nextNode.candidateStrategy === CandidateStrategy.START_USER_SELECT &&
+ !nextNode.tasks &&
+ nextNode.candidateUsers?.length === 0
+ ) {
+ // 自选审批人,则弹出选择审批人弹窗
+ activityNodes.value = [nextNode]
+ dialogVisibleSelectApproveUser.value = true
+ }
+ }
+}
+
/** 处理审批通过和不通过的操作 */
const handleAudit = async (pass: boolean, formRef: FormInstance | undefined) => {
formLoading.value = true
@@ -764,33 +768,10 @@ const handleAudit = async (pass: boolean, formRef: FormInstance | undefined) =>
dialogVisibleSelectApproveUser.value &&
Object.keys(approveReasonForm.selectApproveUser).length === 0
) {
- message.warning('审批人不能为空!')
+ message.warning('下一个节点的审批人不能为空!')
return
}
- // 获取修改的流程变量, 暂时只支持流程表单
const variables = getUpdatedProcessInstanceVariables()
- const param = {
- processInstanceId: props.processInstance.id,
- processVariablesStr: JSON.stringify(variables)
- }
- // 流程通过时,根据表单变量查询新的流程节点,判断下一个节点类型是否为自选审批人
- const res = await ProcessInstanceApi.getApprovalDetail(param)
- //当前待审批节点id
- const activityId = res.todoTask?.taskDefinitionKey
- if (res.activityNodes && res.activityNodes.length > 0) {
- // 找到当前节点的索引
- const currentNodeIndex = res.activityNodes.findIndex((node) => node.id === activityId)
- const nextNode = res.activityNodes[currentNodeIndex + 1]
- if (
- nextNode.candidateStrategy === CandidateStrategy.START_USER_SELECT &&
- !nextNode.tasks &&
- nextNode.candidateUsers?.length === 0
- ) {
- // 自选审批人,则弹出选择审批人弹窗
- activityNodes.value = [nextNode]
- dialogVisibleSelectApproveUser.value = true
- }
- }
// 审批通过数据
const data = {
id: runningTask.value.id,
diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue b/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue
index 60209619..87f8119d 100644
--- a/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue
+++ b/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue
@@ -48,7 +48,7 @@ watch(
finishedActivityIds,
finishedSequenceFlowActivityIds
)
- simpleModel.value = newModelView.simpleModel == null ? {} : newModelView.simpleModel
+ simpleModel.value = newModelView.simpleModel ? newModelView.simpleModel : {}
}
}
)
diff --git a/src/views/bpm/processInstance/detail/index.vue b/src/views/bpm/processInstance/detail/index.vue
index ab6c4380..46ecaaee 100644
--- a/src/views/bpm/processInstance/detail/index.vue
+++ b/src/views/bpm/processInstance/detail/index.vue
@@ -178,21 +178,21 @@ const writableFields: Array = [] // 表单可以编辑的字段
/** 获得详情 */
const getDetail = () => {
- const param = {
- processInstanceId: props.id,
- activityId: props.activityId,
- taskId: props.taskId
- }
- getApprovalDetail(param)
+ getApprovalDetail()
getProcessModelView()
}
/** 加载流程实例 */
const BusinessFormComponent = ref(null) // 异步组件
/** 获取审批详情 */
-const getApprovalDetail = async (param?: any) => {
+const getApprovalDetail = async () => {
processInstanceLoading.value = true
try {
+ const param = {
+ processInstanceId: props.id,
+ activityId: props.activityId,
+ taskId: props.taskId
+ }
const data = await ProcessInstanceApi.getApprovalDetail(param)
if (!data) {
message.error('查询不到审批详情信息!')
From d7664c92cd9ab38a8c7cdfba168da8531e1d6487 Mon Sep 17 00:00:00 2001
From: smallNorthLee <18210040298@163.com>
Date: Tue, 25 Feb 2025 22:44:33 +0800
Subject: [PATCH 197/273] =?UTF-8?q?fix:=20processVariablesStr=E5=8F=82?=
=?UTF-8?q?=E6=95=B0=E8=BD=ACstring=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../bpm/processInstance/create/ProcessDefinitionDetail.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue b/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue
index 169d7ff6..8856fac7 100644
--- a/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue
+++ b/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue
@@ -167,7 +167,7 @@ watch(
// 加载最新的审批详情
getApprovalDetail({
id: props.selectProcessDefinition.id,
- processVariablesStr: newValue.value // 解决 GET 无法传递对象的问题,后端 String 再转 JSON
+ processVariablesStr: JSON.stringify(newValue.value) // 解决 GET 无法传递对象的问题,后端 String 再转 JSON
})
}
},
@@ -183,7 +183,7 @@ const getApprovalDetail = async (row: any) => {
const data = await ProcessInstanceApi.getApprovalDetail({
processDefinitionId: row.id,
activityId: NodeId.START_USER_NODE_ID,
- processVariablesStr: JSON.stringify(row.processVariablesStr) // 解决 GET 无法传递对象的问题,后端 String 再转 JSON
+ processVariablesStr: row.processVariablesStr // 解决 GET 无法传递对象的问题,后端 String 再转 JSON
})
if (!data) {
From 2ff1bccbaff7be85c11669247073f27f1ebee329 Mon Sep 17 00:00:00 2001
From: Lesan <1960681385@qq.com>
Date: Wed, 26 Feb 2025 09:38:10 +0800
Subject: [PATCH 198/273] =?UTF-8?q?fix:=20=E4=BB=A3=E7=A0=81=E8=AF=84?=
=?UTF-8?q?=E5=AE=A1=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../SimpleProcessDesignerV2/src/consts.ts | 39 ++++++++++--
.../nodes-config/ChildProcessNodeConfig.vue | 62 ++++++++++++-------
2 files changed, 76 insertions(+), 25 deletions(-)
diff --git a/src/components/SimpleProcessDesignerV2/src/consts.ts b/src/components/SimpleProcessDesignerV2/src/consts.ts
index c7285f93..b8d08b79 100644
--- a/src/components/SimpleProcessDesignerV2/src/consts.ts
+++ b/src/components/SimpleProcessDesignerV2/src/consts.ts
@@ -824,17 +824,48 @@ export type ChildProcessSetting = {
}
export type IOParameter = {
source: string
- sourceExpression: string
target: string
- targetExpression: string
}
export type StartUserSetting = {
- type: number
+ type: ChildProcessStartUserTypeEnum
formField?: string
- emptyType?: number
+ emptyType?: ChildProcessStartUserEmptyTypeEnum
}
export type TimeoutSetting = {
enable: boolean,
type?: DelayTypeEnum,
timeExpression?: string,
}
+export enum ChildProcessStartUserTypeEnum {
+ /**
+ * 同主流程发起人
+ */
+ MAIN_PROCESS_START_USER = 1,
+ /**
+ * 表单
+ */
+ FROM_FORM = 2,
+}
+export const CHILD_PROCESS_START_USER_TYPE = [
+ { label: '同主流程发起人', value: ChildProcessStartUserTypeEnum.MAIN_PROCESS_START_USER },
+ { label: '表单', value: ChildProcessStartUserTypeEnum.FROM_FORM }
+]
+export enum ChildProcessStartUserEmptyTypeEnum {
+ /**
+ * 同主流程发起人
+ */
+ MAIN_PROCESS_START_USER = 1,
+ /**
+ * 子流程管理员
+ */
+ CHILD_PROCESS_ADMIN = 2,
+ /**
+ * 主流程管理员
+ */
+ MAIN_PROCESS_ADMIN = 3,
+}
+export const CHILD_PROCESS_START_USER_EMPTY_TYPE = [
+ { label: '同主流程发起人', value: ChildProcessStartUserEmptyTypeEnum.MAIN_PROCESS_START_USER },
+ { label: '子流程管理员', value: ChildProcessStartUserEmptyTypeEnum.CHILD_PROCESS_ADMIN },
+ { label: '主流程管理员', value: ChildProcessStartUserEmptyTypeEnum.MAIN_PROCESS_ADMIN }
+]
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes-config/ChildProcessNodeConfig.vue b/src/components/SimpleProcessDesignerV2/src/nodes-config/ChildProcessNodeConfig.vue
index 9e2ce4a2..0289151b 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes-config/ChildProcessNodeConfig.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes-config/ChildProcessNodeConfig.vue
@@ -95,7 +95,7 @@