From 46bfa429d393269350294b302cde9b90578b510a Mon Sep 17 00:00:00 2001 From: tcy <1193318383@qq.com> Date: Mon, 25 Aug 2025 17:31:37 +0800 Subject: [PATCH 01/40] =?UTF-8?q?refactor(ctr):=20=E9=87=8D=E6=96=B0?= =?UTF-8?q?=E5=90=AF=E7=94=A8=E5=90=88=E5=90=8C=E6=94=B6=E5=85=A5=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 恢复了根据路由查询参数 id 获取合同信息的逻辑 - 移除了无用的下载文件代码 - 优化了页面加载时的数据处理流程 --- src/views/ctr/update/index.vue | 98 +++------------------------------- 1 file changed, 8 insertions(+), 90 deletions(-) diff --git a/src/views/ctr/update/index.vue b/src/views/ctr/update/index.vue index c6aa4d8..13be196 100644 --- a/src/views/ctr/update/index.vue +++ b/src/views/ctr/update/index.vue @@ -220,96 +220,14 @@ const handleChoose = async () => { } onMounted(async () => { - // const id = route.query.id; - // if (id) { - // const { data } = await getIncomeContract(id); - // form.value.id = data.id; - // form.value.contractOwner = data.contractOwner - // } else { - // router.push('/ctr/incomeContract'); - // } - - proxy?.download( - '/progress/progressCategory/export', - { - "ids": [ - "1951552037761114114", - "1951552037811445761", - "1951552037811445762", - "1951552037811445763", - "1951552037811445764", - "1951552037811445765", - "1951552037811445766", - "1951552037811445767", - "1951552037865971713", - "1951552037865971714", - "1951552037865971715", - "1951552037865971716", - "1951552037865971717", - "1951552037865971718", - "1951552037865971719", - "1951552037865971720", - "1951552037865971721", - "1951552037865971722", - "1951552037865971723", - "1951552037865971724", - "1951552037865971725", - "1951552037924691969", - "1951552037924691970", - "1951552037924691971", - "1951552037924691972", - "1951552037924691973", - "1951552037924691974", - "1951552037924691975", - "1951552037924691976", - "1951552037924691977", - "1951552037962440706", - "1951552037962440707", - "1951552037962440708", - "1951552037962440709", - "1951552037962440710", - "1951552037962440711", - "1951552037962440712", - "1951552038004383745", - "1951552038004383746", - "1951552038004383747", - "1951552038004383748", - "1951552038004383749", - "1951552038004383750", - "1951552038004383751", - "1951552038004383752", - "1951552038004383753", - "1951552038004383754", - "1951552038058909698", - "1951552038058909699", - "1951552038058909700", - "1951552038058909701", - "1951552038058909702", - "1951552038058909703", - "1951552038058909704", - "1951552038096658434", - "1951552038096658435", - "1951552038096658436", - "1951552038096658437", - "1951552038096658438", - "1951552038096658439", - "1951552038096658440", - "1951552038096658441", - "1951552038096658442", - "1951552038096658443", - "1951552038096658444", - "1951552038146990081", - "1951552038146990082", - "1951552038146990083", - "1951552038146990084", - "1951552038146990085", - "1951552038188933122", - "1951552038188933123", - "1951552038188933124" - ] - }, - `1.xlsx` - ); + const id = route.query.id; + if (id) { + const { data } = await getIncomeContract(id); + form.value.id = data.id; + form.value.contractOwner = data.contractOwner + } else { + router.push('/ctr/incomeContract'); + } }) + 天气时间轴 + + + +
+
+
16:00
+
30°C
+ +
+
+
17:00
+
29°C
+ +
+
+
18:00
+
25°C
+ +
+
+
现在
+
25°C
+ +
+
+
20:00
+
25°C
+ +
+
+
21:00
+
20°C
+ +
+
+ + + \ No newline at end of file diff --git a/src/views/demo/components/ChartBox.vue b/src/views/demo/components/ChartBox.vue new file mode 100644 index 0000000..434eb2d --- /dev/null +++ b/src/views/demo/components/ChartBox.vue @@ -0,0 +1,311 @@ + + + + + diff --git a/src/views/demo/components/TitleComponent.vue b/src/views/demo/components/TitleComponent.vue new file mode 100644 index 0000000..d974a27 --- /dev/null +++ b/src/views/demo/components/TitleComponent.vue @@ -0,0 +1,23 @@ + + \ No newline at end of file diff --git a/src/views/demo/components/qixiang.vue b/src/views/demo/components/qixiang.vue new file mode 100644 index 0000000..6512011 --- /dev/null +++ b/src/views/demo/components/qixiang.vue @@ -0,0 +1,222 @@ + + + diff --git a/src/views/demo/index.vue b/src/views/demo/index.vue new file mode 100644 index 0000000..4088f03 --- /dev/null +++ b/src/views/demo/index.vue @@ -0,0 +1,207 @@ + + + From fa1f3215cf52144a5309deca3b779f48794854c2 Mon Sep 17 00:00:00 2001 From: fengsen <2548667232@qq.com> Date: Wed, 27 Aug 2025 17:12:52 +0800 Subject: [PATCH 03/40] =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E9=87=8F=E6=B8=85?= =?UTF-8?q?=E5=8D=95=E6=B7=BB=E5=8A=A0=E6=A8=A1=E6=9D=BF=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 4 +- public/billOfQuantities.xlsx | Bin 0 -> 90112 bytes public/materialsEquipment.xlsx | Bin 0 -> 10264 bytes src/views/design/billofQuantities/index.vue | 41 +++++++++++++++++++- 4 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 public/billOfQuantities.xlsx create mode 100644 public/materialsEquipment.xlsx diff --git a/.env.development b/.env.development index 4c056ae..500d6b0 100644 --- a/.env.development +++ b/.env.development @@ -6,9 +6,9 @@ VITE_APP_ENV = 'development' # 开发环境 # 李陈杰 209 -# VITE_APP_BASE_API = 'http://192.168.110.209:8899' +VITE_APP_BASE_API = 'http://192.168.110.209:8899' # 曾涛 -VITE_APP_BASE_API = 'http://192.168.110.180:8899' +# VITE_APP_BASE_API = 'http://192.168.110.180:8899' # 罗成 # VITE_APP_BASE_API = 'http://192.168.110.213:8899' # 朱银 diff --git a/public/billOfQuantities.xlsx b/public/billOfQuantities.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..04375166b08bcaca83d4e4b75c44c24bb573e367 GIT binary patch literal 90112 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 literal 0 HcmV?d00001 diff --git a/public/materialsEquipment.xlsx b/public/materialsEquipment.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..eaa076209ce6f1b18db356d2c98cb9fdc1959e86 GIT binary patch literal 10264 zcmeHtWmFx_(k{UXZXvk4YjC&V5Hz^EZ`|G82_D=D?#{+75D0F;T|)jFocBBH zyFc$*w|~sco?X)ORCjfERVheAK)wWfY9VqPf=~B(k-T0rNe5%@u2~AAH5bBRouWpG+ zxlA?(Ki8iqG_>riFf4mq$K-LaS+aqGRgVjVyZiqwR!<_ zfWgtbmXi?AF*x5Um&TNM2Un0k;itz}UQT2`1fmGcSB@Pd=kJIWs&Z6aQLJ$@r-R-r z@&*^!8Jn|ZaC_+nkTVk?#Xy$BS-t4*vW0iE$l$nKo$lF7Mz+PmCG<0P-taQ6%WG27 z!NJFCiJ$-aUL+~3BTd`a0yvQbM^zhKh-l{Em+KaK0nAvY4s77qiFzrn5q@P&htI9; zmQN(0lfAl1Ads!Yf_e{_8}hEJ8q3W9_)$3rSPN~04lu0uC_uTYjH~46`citWMH8=6 zWE^0EMg8#9oF2z{v?iZ^C_T<3Sw$u}yMMQZ^>?6a?x$Z0gMj7-0gd`spbc#ujGvJ9 ziW8FSWkM0Vkz67^=dZ~uRVXJ*0&@~0C-WCPr1Mx1?~69ZonG;Sw|kka1!v>;p)eP= zZ~BMN%H8dFp{0t%gr4^7F5XmN4s4y7Q9%k<3%%(Xq}aG4z1yc*p7|$Ua@+edBskeKcy#btBS> znIJ-V=&5jFWJrT@g@Ce06^F#%3SqAu(LzW+#KY#2) zkPmz+)Dz~2og#hh-st*hvm$kGMFS=so6C${QLa+U$>9dY&KjpYx%QUYX^f8Hih)B4 zg4R=kenT-{W;6XP7&Czn!D;d4@=YRZ^>5am9*U-!$e}vss$-WII@-iFJsS;Lb{?1Coc+5V zHq93~ERw>`xAXJnaxN*LTbFQY4=`&Z8MeK_W4Luj;iI(yA1QH$BUg%Q#{xGxB<{8* z(^uZqSp9?qcYud_AB1M=SCKe@^c}kq4S4h-I__ICp&p#D5g;LYO1#r6J_I1Vg!8#? zhxh)3VP`>eM==3hssYQHx}Q;Jp5|j?-QrJ*MVPhL;k+DsfNa>3W;gD4a2OQVR7IJk zRgw5eIqh?;m!pB5`P<_^5@!y{XD~nIlbYUt6r9`CKjv{oi_L-+rrPkNdT1mDutgP; zDqj@ZDev~$j;}wC;K3Yqc-Rz1G$+#wb$*na3ujh>Zr|C?dDXwfE^GRRvv4W*1T~t6 z3fB^7 zIoo4{xK%NZU+^~kg?=^-m2vv$3a{wxFroB2pC;|$+ajPU7z8B1!juQ7-8Uu;pXA9m zOmAErs$zD;`(C^yNmP|GZ-r|4a>nnsOq-Vqe&6?)!*|9nId;Z(IiV+>G^5IDqg~=> zb)>PB#M8ML(fN0mv*mf6-vV+u=AcROKMZA-Uqd-z#Afly)kFP2hP*-jR%pI2sH8B@ zv>@h}vu7wPO&Z2Dq(7vXczGbL7`NG@ZB*bE3Uh-L(tq@E>hOi9f|+#3u)}!QmwBqi zq&wiva=*kl_}fLvs8>=CkbbMGwyPMVKSXw4go^nilAnYvMWN&#cMrzqLg4byyOUBE zcA$5=#maIU)w!nZ5C+B#pQqVv>h^XusIXhr5Fn_h6BE?s7Yket2L)Zvw}sESa*0<( zWTA&GHal)rtYq)8mR`TEE+`i#H8I~|m@~MKk$;!%_rOX=darMXg?gCR+&&$i6~8Qo zG6`>r2ebkZmmSrHC%mYrgqk#g4K$&BdtNH}#%@PUg^fnezQuhzm;Sa0Gp2v$p+paX zlKI22M~rJKj&6GV4mvE`%;&AN$ZVK--!EZ3JtycnoM>emx>e?d}jt52!15jh&s8xv;~-GY{9wE;B#*nVW6ux;c-fWy|NMP8RHAntJ4O zMvxzDN(pNv@wRT2i{+EMZLdHeMsw|Tt(FO#L5ZsDs%Ul8Ig-2V4oQn86k|6?C#HsP zl9oJx|6kji_5a)Z|8;x+^Ro7|rv|Ni05fB2<7a#7z#l&mzJpe?4v-Ic+Ijpz_KWz} zVs@l47K6)<(MftH5V^f_Og08|p0%pK-4}LQR7q&qpL&}Si96wH#M3&4ST8|FCMu*A z+hi{&SfIM0^pGAzLZ$Qwm31`KCx@5!Dlo@Fjx}r5!<(@4<}Qv_jgX9uvtJ7(nWJaA zp9;Z_+lVw?4rl$y`=-a{HEh^4Y93vGlwGu#tJCBCO=S)r_9i3@QFb`r46Gq_ZF?p@ zbD%yM!zYBIQ|nPzf3mjoq4Cg;tXuGEB^7$j0%@heTNETp)ZbCD!&LFU%G2q|`arE(WW+Q~ZrA@LZa8}rz1EZO<&vY;PQiAz|4Gb}4t+1wls#&wDE}iQOc$!4a z@wiR%lGADOgR~`w%g9(j@!=Z#;BHm<`oXM8>&6EA;98mGcWFgh3st;(9HY~EcF&^s z<|;f$Ispb!(|b7F;luTE>=Ib9%pXH^T-)F66Vy3=M}xAWDlRB|U90RKmYnl5(q+9& zSdr{4&Y)W`&nS*wWKUoC^2Q4RUn}W>`VQUtJ#Ya z9X=nNHus0EyYWKcfi9b%*PQ_UeUe2SDv?HMLwQail;w6SLyOUEX81PJfxfm zJlqyd+zC?U6^Jo*xSk)>QZjbjZ8h2wdaS|VAzHa+lc__#In}U>AYc1{6luvta5|T; z3k>B%qk>*0n8nBD>B4ms^=hJU4sZz(c|3hlHFnI?aBaY!(8qdl#cA&gjGUs_TmjQk zbJRdRo|q2vap14DZ$#m~8e0}FNmv-C3#feSNu$Z^Jj$C(m1O4sjt=4~N|yQB)g=an zvJz-Cn5Jily+kU6j%q9U!)Oh~oEjjBHaN0mN|e74Hg=YoGgLfrz`^enr+^ab9(iK8 zA9#k7{x{FxG=%(!1oKC4E?kA@t@u{G2XhEgkFKvBy4SObn$pj;uj3GNL5R*C1|-du~@ z;c^#QPsbDOk3@PnxFNEJbhdNhla{w40Gx_+Dan=>+Qtx07Mw|W*ZMShLukj`(T{!R z^A^pLv-FC?ugLecL%ip5dmB4MY)ilSbTBe%G6T%(vDp@_+i&IWJWiN%>nL|H2;tiA zUseBzY+))6yc9ymf~lbkmQWeUS?-qQq%oo(nPWp08i2$@?u{y)f#H_6i3V=FYLu#d zG-LMTkM9X|ZwccsVNgyU4RidcW0)8JLK;3mj})crIu|whK%77hCUhf?g*m1AzB*g? zbCGK>d^SU3nH|PsOjChbO}t(D!d{WN9kdGujj%qGs0JxsuO9+I0>TE_j0w~foR%R1 z`5QMc^bRAfK@PNc1*;Q6(HXr1sI3df-yy-c$W)3?Q z-jK^Lw<+5Ar7$3$xkiRen-sF=HRu&e$e6NhKB|W*b?VhP}9s}gh+^Xops{8 z$ee-KQd6OIyJ8H(v!ggc!@e;{>`v-Ujt(+=MJl45Y9L~aMX|@G{>8scN3E{PGRvN~ z5Cyi0E0DGa;#+7s$}zIUsROkSucEc8NBwDId4|@N+9>XNP@B`X3a_u@eCbKy#>)Ig z&zUhp>6KEwq}ZN=k&X@}=Jjl5I2dPa=YmTgm|Nes^5&WUQ^4H=`% zvKno$`Nj(lGwjyuM0VYXRhA14M?fhu3;23k`=1BaFXk2UOXr(0+AS}}p|(^t;6*n3 zujOmS9xL=7p}L@Na!2achn>U=nD7Myt{)-)zJFNKE?t`gEf8d&J>yeI2DDH(n&~?j z8@&TKnA?~-KJ6W}Cu*c1gfO5cbp{0xs@~KV!jiBi2%o}_!XUIx9CnR=a9S-lW6XbV zfNlv-ocsd*!}mAG19xJoqJi`$%}X1lU)ve`@Kq1N%{g%?iDIW?x!#+l>gr}@1+1A- z*NPF%ocbcLvT`eqDqdCx@cu?yB&R}2mUr1BCMMr89JSKPvAcs54f3rKolq=z$flPHg-%@k z>iyXCp*Z334xDd;=t6@P2&!qw$-{=JX2qhl7dv{O^zqnVzWXX6l20A6r_=}ZcUTUU zOh-rDD~n7jRgu2F63H|XyXh@e?oBncIBrJbe>drw{3+u&oj^UGj!^PNQkH|!H_<(n z9yVFqJAJE?i?@Cf?n!HOVcDOw|a5q?m^`CCstkQ8L?Gxfr~@%s)x0tZ+)C6Z8@G!CP4A!;d7P z#EHxZ{%E$jarz=nZiEms(UeReSg{osAVh2uzigA4w)@0=Mn!=TYlrH*S+<4s9o3Ehfl(5 zD8i{p>vD&Y<3s<%(Z0k_$cMVz*Ct32i*f{wKH;|lf1fhA?@hx=K|8Wkc`z`Bs}mXh8(5+Qb{5*zz@QH*8b?8RW|*;ud|DlwZW7EoANjw%T#UQYJ~Ts(=F?4 zbUx~!2tuO8@Ye6BSytmK?NIzT=eEkD>ksFRw%9@GbWpi_&ayzqib78lsPn5YDV;O0 zJ*>bMHv^4aNV=sQ>g>REyH0fkZptrR2-j`7-+D5$c92I=6oH9_AQ*XYMA7{j`;w;yWghw{SO1uD~$)oVS|(YrJZAO=fV};92w?t zo3g13EgT~iKdO(k72>DS03aae0~M7p{=}IlHDsMg;u+=~o_c=&_l*?BY=OQCIT-<8 zIbm3KeC=LsG7GNi7uCB4af3uYF^XjXb8^vYZu5^A=H8D@)VShs-Uy@#lI8Ob7s;^Y zeqHZ5a9Lks+_HR%o^O;oXj+>^F-4+zPoW{DT09>SpvFFFOA&|dHI$~N)99ALcG%*? zosht>I--Wx0#!VNFjlM@>zLwvQ5G1*Our8;nbW|ZF$&LSql_#~d$eWVEzRBXLZA$= z=l|V$yk(9?5WD767t`xH>N3PdaQ!O|W&fmW|DYb4Z&#YHf-DQVu(0djtFLvx1=}QA zw2xnBRHkw$nDxzdHM^~R(O9ti{mWOB0Wk(%_8bN^(L`y@8?Or)MSIyHaTM3+WwG~{ zi+5%+FRj^x8IR0U7wrM7&aGccpgvx{BnZXCZm-?vq>Ue9IO1S&LjSaIZrS(Kf8A6a|z`>HuhsRGrqStr@A zZFek#RhIScVo>Z-2f_Po_c)Jzm#K;3JBe9G&YgQl2Un$1v2QiuSP4uk zI^U=@;F*X&sP_DNU1nM7rZ`<}!!;UtR}q*N*O|n$=~i@gW1>zFDzTthGWN%7TQgWN zT53&1R#G2YeUq)nZ2f_W`cpEm!&_~2=Y+fhvbq*ghI*XnS@?CX>BgUwyFR;!Q|}6} zf~)0bEdbWFC(VTrA^oW&4>45w%}A=-=?<>ow3cTxj+e3SIeEIuVBy8)WTd1}Utr1- z;=nLsuEr&WBDHKtUlX0n(HZMG9ZeB2^J9ynrw|KN%8E|Q0xt9O)UK3N7|Sp>F3Pw2 zokN8scP?s!V{->z2?rAy!eWQ3%uDX%)h-Mw7}drR51NsRoV9Q`x1*LzQo3e*u*cG9 zPBd8=FCYV#PMJ2UcY2$GF~W?XzTYbi5j$Kt%^1WNbZ|0ay`9deL@L!7+s2c;xg=_S z&C^a6a6lE5eVvNwF)!_>>Nr&h27pD+nIe8Wx0OH3gx`9CM2GbylwP2Y$1JEBqUe>z zEB>Rg>e(}#JC=@kE-uW&{Ct`oy@#lryA{JN&v`0qZJY@7|A5Vlr%UQiWYleLHd264kg zRA*^J3S$3rHe&Dw`%n!y|ijK337O2kD5}|JOg_z?AyAPJHo6!39kSPypvE}v*fhWzui_KG}iQ>egtGtwJ zD8hKR!d1|)PhIFQqLiQIpK#?Xbp)v(P`ZrFSoH zI;tn3zmLUoTHy zf+d!J@6fbW>S$BHHSCmCw`G^MI^4U#(pV7EOKz4iA=76O7JX4d9wF`8Y=KobYJId$ zlC`+dYn}$Wtg|%MhkSmzM7Y{mA{QBhE?8$vUkFsC=|L}}nv(xbDdu@lUo==blz{1O zVz1LWz0d|&Xx%5_yYxjE8DjQfQR|l($a5JVbLG?FKJ)yEul~cp8QN%xwyU^%w0~SU zTrJ=b+jrX)JZf~i-?U5-75Fl**D8OlQIV`BadNRr*6r@_>*Y}EDSHSN!Svanvz`b^ z7?KrV8mX(@$+rub&Fsg+^ZV64qvF&jG7{U*^FLw)LrD?$Qzyc`1NENva5 z>)>QTeXKJk<`3nBixrJ6K1ERsRE!ACF&FJKge=s7LJIr!+$(}QKu_Xdh>9A6EIAMU z_A?eT@CF^=3s*jui&hYu;gc-6j`|`7KoTDz(B9&j7<-zkaCSY&h2iDtat;J;!gS)V zcD}hiy$DPO2GJm3_}$^r)086=D(h!w-EDe0+z8Zg-UUk83+c#ZsyN+!cbm=%38V?^ z`~Ep1pDzYlB{X=XRlw`^&|J93PzcjN|L)fGbLT2VWK1@H%iV6k9wUElH54i58(90? zrM5&T*UEKtU-&m;Tp4`ahkeXp=(}DVa?#2zTCkcy+OBY8qCTrq zH7Z-_FvYD%cy+tsKz=>1-f>Lh!aR&fe4 z61;J{mz}HGjI>3`y`;^F9Ex?O?z)6tNc4z_X=uO zN>Q&Fk%%0Q+lVMC=po9h_m2=yyUBkJ=s|;ale!MZR?qWO9-Pi?kD&inK{+b;KWG@9 zC@bP8r23dp22Mc9@$C*-7fjTz07jBSStBpsRGG&~3iNo5qmFhVMY@?5n3%NN?GLM- zMy$ME)A$9M;K0?Gj=QZ`SVUscifa_-H0T2AbH-wBN+>@Z!6i2pIukd;hetA<$uQV zU%}CTf>X>j)afS(#u-qK1P62noq2zg{q?~23*GjFZi`+fgy55aj({mI`*<7UMDF%T zp(@R5Fbc(u$v&jy26kJ41fdVYLkziCy^QORk96zH4>R=}xP0v6G?IC*As2d*qAD;w zw{2q>i9+k?oet<|UdQTXR}eU#%v&I(46^Zstr@)a(?4!hQqr&fjL}SBy{kO#k{)nb zf9PaC!#>Ow{bpL8kErz=BSgthAQ2bkb~0q^v0Yn*9jc>cqfBJv4GG!VWH3yq)=wOb z?(ArA(!s^EiHHH*qnbNC!a|;c)Z`t#tmMG;YSOkygG2}31g_w#cm#oQ!XcvbpiM0j zF6S?fOnaI7(_E=r<4im3LuH+*_s`M{wr)@)j-b;qK4^$O#gjEfY;6F>HUM2^H#=iT z?WYrRed35s&r?Pz=?8LLBPO##Nhu9@1b;HU(jH9Hb)aY;vKvBB=SiO+ISSPDq%0XQ z%i~x}0QzG=WjvHCUB!?(=RpET7`_`+o>SXQsE!8tHj37@y+ zuUb+P&=?JEy6cY(r`lE06u@pJGDa?Z1aJf<(rn_;Nrk*I3OEZ0bl-OADm;$LJ1g)v zqVsgcOt-Q#{x+`}l7UbFR6&}rbJLL`ifS%|RVvn0&EbwF>kdKl<|Q17$tfYVjQgI^bFhmog5)BHT;hVl~LH>V6B;o+f-)UWdsw(KQ?4N-U& z5loA6*Jk4!w=b0=_;=&`!_NyEmh;{ViSDIh=HqKXdf^4HQuEcT%D9$Js-;PZ#~#1C zS>Tb+&$TmqLT`{Kc>#{`D{S+-lIFRUK!yT)0Y(J6ju8K&&3+5`pPkW@fZs(q{&DP)TsRHP!{iRsw@A{sX3q2A4)<^kQwtp25J%{Ld z4a}e1v7q7ohthvn#5`wzUeWO<`wNgW`IG&R`i}qh(NA>?zuVJCYk>k!AW!t)82*lu zJ<(rW*Yl1(_i;~pexsE7SGND~c+cfLj}QJSCm&Qo^iR>k=MtWWOa7EF2MRboN%$jp z^1uIfWzaGRV*PjO>+d7vdGhN|jUInx`!f~xyvxsHfqx39K>MZludw~MPCpf%{BBPc z_WEt%C+0uOQ2yTY=Y=RwyuYnh@*li^mZd!J{_`4uKcxU*{^e*GUv;nK 一键收起 + + 下载模板 + @@ -187,6 +203,9 @@ import TitleComponent from './components/TitleComponent.vue'; import ChartBox from './components/ChartBox.vue'; import QiXiang from './components/qixiang.vue'; +import status from './components/status.vue'; +import zhiban from './components/zhiban.vue'; +import gaojing from './components/gaojing.vue'; + \ No newline at end of file diff --git a/src/views/demo1/index.vue b/src/views/demo1/index.vue new file mode 100644 index 0000000..5517244 --- /dev/null +++ b/src/views/demo1/index.vue @@ -0,0 +1,23 @@ + + + \ No newline at end of file From a21bf2f755a105d7e911b31772727076a33f4d7b Mon Sep 17 00:00:00 2001 From: dhr <2216804034@qq.com> Date: Fri, 29 Aug 2025 14:47:58 +0800 Subject: [PATCH 07/40] 0829 --- .env.development | 2 +- src/views/ProjectScreen/index.vue | 1 - src/views/patch/index.vue | 69 +++++++++++++++---------------- 3 files changed, 35 insertions(+), 37 deletions(-) diff --git a/.env.development b/.env.development index 500d6b0..16dfc46 100644 --- a/.env.development +++ b/.env.development @@ -6,7 +6,7 @@ VITE_APP_ENV = 'development' # 开发环境 # 李陈杰 209 -VITE_APP_BASE_API = 'http://192.168.110.209:8899' +VITE_APP_BASE_API = 'http://192.168.110.149:8899' # 曾涛 # VITE_APP_BASE_API = 'http://192.168.110.180:8899' # 罗成 diff --git a/src/views/ProjectScreen/index.vue b/src/views/ProjectScreen/index.vue index 306c494..612dd7d 100644 --- a/src/views/ProjectScreen/index.vue +++ b/src/views/ProjectScreen/index.vue @@ -14,7 +14,6 @@ import Header from './components/header.vue'; import leftPage from './components/leftPage.vue'; import centerPage from './components/centerPage.vue'; import rightPage from './components/rightPage.vue'; - From 2290eb28d7adb56807db1b82609c75513be46484 Mon Sep 17 00:00:00 2001 From: tcy <1193318383@qq.com> Date: Fri, 29 Aug 2025 14:55:08 +0800 Subject: [PATCH 08/40] =?UTF-8?q?ci:=20=E6=9B=B4=E6=96=B0=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E7=8E=AF=E5=A2=83=20API=20=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 VITE_APP_BASE_API 的值从 'http://192.168.110.180:8899' 修改为 'http://192.168.110.210:8899' - 此更新是为了适应开发环境的变化,确保开发人员使用正确的 API 地址 --- .env.development | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env.development b/.env.development index 2ef074f..3cc6ede 100644 --- a/.env.development +++ b/.env.development @@ -6,7 +6,7 @@ VITE_APP_ENV = 'development' # 开发环境 # 李陈杰 209 -VITE_APP_BASE_API = 'http://192.168.110.180:8899' +VITE_APP_BASE_API = 'http://192.168.110.210:8899' # 曾涛 # VITE_APP_BASE_API = 'http://192.168.110.180:8899' # 罗成 From 395f6f352a1735504ed5a1f3fc388331360ec528 Mon Sep 17 00:00:00 2001 From: tcy <1193318383@qq.com> Date: Fri, 29 Aug 2025 14:55:22 +0800 Subject: [PATCH 09/40] =?UTF-8?q?style:=20=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=A0=BC=E5=BC=8F=E5=92=8C=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 调整了多个组件中的缩进和换行方式 - 优化了部分长代码行的断行逻辑 - 统一了某些属性的格式 - 删除了一些不必要的空格 --- src/views/cory/workMessage/index.vue | 52 +++--- .../component/recyclingStation.vue | 37 ++-- src/views/quality/knowledgeDocument/index.vue | 176 +++++++++--------- src/views/system/role/index.vue | 136 ++++++-------- src/views/system/user/index.vue | 160 +++++++--------- 5 files changed, 256 insertions(+), 305 deletions(-) diff --git a/src/views/cory/workMessage/index.vue b/src/views/cory/workMessage/index.vue index 27204d5..71595ea 100644 --- a/src/views/cory/workMessage/index.vue +++ b/src/views/cory/workMessage/index.vue @@ -1,12 +1,15 @@ @@ -139,7 +139,7 @@ const onRecyclingStation = (row: any, flag: boolean) => { }); } }) - .catch(() => {}); + .catch(() => { }); }; const filterfilenPath = (val: string): string => { @@ -155,6 +155,7 @@ defineExpose({ .colBlock { display: block; } + .colNone { display: none; } diff --git a/src/views/quality/knowledgeDocument/index.vue b/src/views/quality/knowledgeDocument/index.vue index 2d68be4..595db09 100644 --- a/src/views/quality/knowledgeDocument/index.vue +++ b/src/views/quality/knowledgeDocument/index.vue @@ -5,48 +5,39 @@
-
- +
+ + - 上传文件 + + + 上传文件
- 下载 - 查看全项目文件 + + + 下载 + + + 查看全项目文件
- + @@ -59,22 +50,18 @@ - + - 搜索 - 重置 + + + 搜索 + + + 重置 - + @@ -163,15 +166,9 @@ - + @@ -197,20 +194,16 @@ - + - + @@ -219,20 +212,16 @@ - + - + @@ -245,7 +234,8 @@ - {{ dict.label }} + {{ dict.label }} + @@ -266,18 +256,9 @@ - + @@ -289,7 +270,8 @@ 是否更新已经存在的用户数据
仅允许导入xls、xlsx格式文件。 - 下载模板 + 下载模板
From 54651368795ee2393678aed7f99d019d9e501a1d Mon Sep 17 00:00:00 2001 From: Teo <2642673902@qq.com> Date: Fri, 29 Aug 2025 14:57:52 +0800 Subject: [PATCH 10/40] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E7=8F=AD=E7=BB=84?= =?UTF-8?q?=E9=99=90=E5=88=B6=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- src/App.vue | 2 -- src/store/modules/user.ts | 1 + src/utils/projectTeam.ts | 4 ++++ src/views/out/monthPlan/index.vue | 12 ++++++++++-- src/views/out/monthPlanAudit/index.vue | 9 ++++++++- 6 files changed, 24 insertions(+), 6 deletions(-) diff --git a/.env.development b/.env.development index 1db4544..2439ac8 100644 --- a/.env.development +++ b/.env.development @@ -6,7 +6,7 @@ VITE_APP_ENV = 'development' # 开发环境 # 李陈杰 209 -VITE_APP_BASE_API = 'http://192.168.110.180:8899' +VITE_APP_BASE_API = 'http://192.168.110.209:8899' # 曾涛 # VITE_APP_BASE_API = 'http://192.168.110.180:8899' # 罗成 diff --git a/src/App.vue b/src/App.vue index a0780e4..8621d55 100644 --- a/src/App.vue +++ b/src/App.vue @@ -8,14 +8,12 @@ import useSettingsStore from '@/store/modules/settings'; import { handleThemeStyle } from '@/utils/theme'; import useAppStore from '@/store/modules/app'; -import { getProjectTeam } from './utils/projectTeam'; const appStore = useAppStore(); onMounted(() => { nextTick(() => { // 初始化主题样式 handleThemeStyle(useSettingsStore().theme); - getProjectTeam(); }); }); diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 086d45c..e04a9f5 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -134,6 +134,7 @@ export const useUserStore = defineStore('user', () => { roles.value = projectRole; const projectPermissions = permissionList.value.find((item) => item.projectId == selectedProject.value?.id)?.projectPermissions || []; permissions.value = projectPermissions; + getProjectTeam(); }; // 注销 diff --git a/src/utils/projectTeam.ts b/src/utils/projectTeam.ts index 1134b68..176c032 100644 --- a/src/utils/projectTeam.ts +++ b/src/utils/projectTeam.ts @@ -2,7 +2,11 @@ import $cache from '@/plugins/cache'; //获取班组列表 import { listProjectTeam } from '@/api/project/projectTeam'; import { ProjectTeamVO } from '@/api/project/projectTeam/types'; +import useUserStore from '@/store/modules/user'; export const getProjectTeam = async () => { + const isPermission = useUserStore().permissions.some((item) => item == 'project:team:list'); + if (!isPermission) return; + const { id } = $cache.local.getJSON('selectedProject'); const res = await listProjectTeam({ pageNum: 1, diff --git a/src/views/out/monthPlan/index.vue b/src/views/out/monthPlan/index.vue index e24ca17..dcaa8d1 100644 --- a/src/views/out/monthPlan/index.vue +++ b/src/views/out/monthPlan/index.vue @@ -8,7 +8,7 @@ - + @@ -113,6 +113,13 @@ import { useUserStoreHook } from '@/store/modules/user'; const userStore = useUserStoreHook(); // 从 store 中获取项目列表和当前选中的项目 const currentProject = computed(() => userStore.selectedProject); +const month = computed(() => { + const now = new Date(); + const year = now.getFullYear(); + const month = String(now.getMonth() + 1).padStart(2, '0'); // getMonth() 从0开始 + const currentMonth = `${year}-${month}`; + return currentMonth; +}); const monthPlanList = ref([]); const buttonLoading = ref(false); const loading = ref(true); @@ -152,7 +159,8 @@ const data = reactive({ planValue: undefined, completeValue: undefined, differenceValue: undefined, - planMonth: undefined, + planMonth: month.value, + valueType: undefined, planAuditStatus: undefined, completeAuditStatus: undefined, diff --git a/src/views/out/monthPlanAudit/index.vue b/src/views/out/monthPlanAudit/index.vue index b134549..28c058e 100644 --- a/src/views/out/monthPlanAudit/index.vue +++ b/src/views/out/monthPlanAudit/index.vue @@ -80,6 +80,13 @@ import { useUserStoreHook } from '@/store/modules/user'; const userStore = useUserStoreHook(); // 从 store 中获取项目列表和当前选中的项目 const currentProject = computed(() => userStore.selectedProject); +const month = computed(() => { + const now = new Date(); + const year = now.getFullYear(); + const month = String(now.getMonth() + 1).padStart(2, '0'); // getMonth() 从0开始 + const currentMonth = `${year}-${month}`; + return currentMonth; +}); const monthPlanAuditList = ref([]); const buttonLoading = ref(false); const loading = ref(true); @@ -116,7 +123,7 @@ const data = reactive>({ purchaseValue: undefined, constructionValue: undefined, totalValue: undefined, - planMonth: undefined, + planMonth: month.value, params: {} }, rules: { From 7c2e4d7e149170ebe6127f5079bce59ed815ed89 Mon Sep 17 00:00:00 2001 From: ljx <15723110242@139.com> Date: Fri, 29 Aug 2025 14:58:31 +0800 Subject: [PATCH 11/40] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- src/api/bidding/appointment/index.ts | 2 +- src/views/contract/division/index.vue | 12 +++++------- src/views/contract/limitPrice/index.vue | 13 ++++++------- src/views/tender/bidd/index.vue | 12 +++++------- 5 files changed, 18 insertions(+), 23 deletions(-) diff --git a/.env.development b/.env.development index 1db4544..c0501b7 100644 --- a/.env.development +++ b/.env.development @@ -6,7 +6,7 @@ VITE_APP_ENV = 'development' # 开发环境 # 李陈杰 209 -VITE_APP_BASE_API = 'http://192.168.110.180:8899' +VITE_APP_BASE_API = 'http://192.168.110.158:8899' # 曾涛 # VITE_APP_BASE_API = 'http://192.168.110.180:8899' # 罗成 diff --git a/src/api/bidding/appointment/index.ts b/src/api/bidding/appointment/index.ts index 8f58106..4db7a6e 100644 --- a/src/api/bidding/appointment/index.ts +++ b/src/api/bidding/appointment/index.ts @@ -21,7 +21,7 @@ export const AddbiddingUser = (data) => { data }); }; -// 新增招投标人员 +// 查询招投标人员 export const biddingUserList = (projectId) => { return request({ url: '/bidding/biddingUser/list', diff --git a/src/views/contract/division/index.vue b/src/views/contract/division/index.vue index 3f80b55..0bca716 100644 --- a/src/views/contract/division/index.vue +++ b/src/views/contract/division/index.vue @@ -96,10 +96,7 @@ - 一键展开 - - - 一键收起 + {{ isExpandAll ? '一键收起' : '一键展开' }} @@ -413,11 +410,12 @@ const changeSheet = () => { getTreeList(); }; -const toggleExpandAll = (isExpand: boolean) => { +const toggleExpandAll = () => { + isExpandAll.value = !isExpandAll.value; + console.log(isExpandAll.value); treeData.value.forEach((row) => { - treeTableRef.value.toggleRowExpansion(row, isExpand); + treeTableRef.value.toggleRowExpansion(row, isExpandAll.value); }); - isExpandAll.value = isExpand; }; //打开获取表数据 const getTreeList = async () => { diff --git a/src/views/contract/limitPrice/index.vue b/src/views/contract/limitPrice/index.vue index c38b70b..e10bd99 100644 --- a/src/views/contract/limitPrice/index.vue +++ b/src/views/contract/limitPrice/index.vue @@ -14,11 +14,9 @@ - 一键展开 - - - 一键收起 + {{ isExpandAll ? '一键收起' : '一键展开' }} + { }; const tableRef = ref(); -const toggleExpandAll = (isExpand: boolean) => { +const toggleExpandAll = () => { + isExpandAll.value = !isExpandAll.value; + console.log(isExpandAll.value); tableData.value.forEach((row) => { - tableRef.value.toggleRowExpansion(row, isExpand); + tableRef.value.toggleRowExpansion(row, isExpandAll.value); }); - isExpandAll.value = isExpand; }; //导入 const importExcel = (options: any): any => { diff --git a/src/views/tender/bidd/index.vue b/src/views/tender/bidd/index.vue index 27afe21..3c3972b 100644 --- a/src/views/tender/bidd/index.vue +++ b/src/views/tender/bidd/index.vue @@ -17,10 +17,7 @@ - 一键展开 - - - 一键收起 + {{ isExpandAll ? '一键收起' : '一键展开' }} @@ -163,11 +160,12 @@ const changeSheet = (val: any) => { getTableData(); }; //展开树 -const toggleExpandAll = (isExpand: boolean) => { +const toggleExpandAll = () => { + isExpandAll.value = !isExpandAll.value; + console.log(isExpandAll.value); tableData.value.forEach((row) => { - tableRef.value.toggleRowExpansion(row, isExpand); + tableRef.value.toggleRowExpansion(row, isExpandAll.value); }); - isExpandAll.value = isExpand; }; //获取版本号 From 70aa152b1a43e877ec5b9e172801ebeb09715f80 Mon Sep 17 00:00:00 2001 From: Teo <2642673902@qq.com> Date: Fri, 29 Aug 2025 15:08:26 +0800 Subject: [PATCH 12/40] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E7=8F=AD=E7=BB=84?= =?UTF-8?q?=E9=99=90=E5=88=B6=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/projectTeam.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/utils/projectTeam.ts b/src/utils/projectTeam.ts index 176c032..23f482d 100644 --- a/src/utils/projectTeam.ts +++ b/src/utils/projectTeam.ts @@ -5,7 +5,9 @@ import { ProjectTeamVO } from '@/api/project/projectTeam/types'; import useUserStore from '@/store/modules/user'; export const getProjectTeam = async () => { const isPermission = useUserStore().permissions.some((item) => item == 'project:team:list'); - if (!isPermission) return; + console.log(useUserStore().permissions); + + if (!isPermission && useUserStore().permissions[0] != '*:*:*') return; const { id } = $cache.local.getJSON('selectedProject'); const res = await listProjectTeam({ From 31b00165cf19657136103406632c8d45fa0bef1b Mon Sep 17 00:00:00 2001 From: dhr <2216804034@qq.com> Date: Fri, 29 Aug 2025 16:12:14 +0800 Subject: [PATCH 13/40] 1 --- src/views/design/appointment/index copy 2.vue | 9 +++++++-- src/views/design/appointment/index.vue | 2 ++ src/views/design/received/index.vue | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/views/design/appointment/index copy 2.vue b/src/views/design/appointment/index copy 2.vue index d87d820..8609bfd 100644 --- a/src/views/design/appointment/index copy 2.vue +++ b/src/views/design/appointment/index copy 2.vue @@ -5,7 +5,12 @@

人员配置

请配置项目相关负责人员信息

- + 点击编辑
@@ -220,7 +225,7 @@
-
+
{ + console.log(1111111111111); + if (!deptId) { ElMessage.warning('请先选择部门'); return; diff --git a/src/views/design/received/index.vue b/src/views/design/received/index.vue index b28478f..51604eb 100644 --- a/src/views/design/received/index.vue +++ b/src/views/design/received/index.vue @@ -112,7 +112,7 @@ Date: Fri, 29 Aug 2025 16:16:47 +0800 Subject: [PATCH 14/40] =?UTF-8?q?=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 4 ++-- src/views/design/received/index.vue | 9 +++++++-- src/views/out/monthPlan/index.vue | 12 ++++++------ src/views/out/monthPlanAudit/index.vue | 16 ++++++++-------- src/views/tender/supplierInput/index.vue | 19 ++----------------- 5 files changed, 25 insertions(+), 35 deletions(-) diff --git a/.env.development b/.env.development index 2439ac8..ab16fab 100644 --- a/.env.development +++ b/.env.development @@ -6,11 +6,11 @@ VITE_APP_ENV = 'development' # 开发环境 # 李陈杰 209 -VITE_APP_BASE_API = 'http://192.168.110.209:8899' +# VITE_APP_BASE_API = 'http://192.168.110.209:8899' # 曾涛 # VITE_APP_BASE_API = 'http://192.168.110.180:8899' # 罗成 -# VITE_APP_BASE_API = 'http://192.168.110.213:8899' +VITE_APP_BASE_API = 'http://192.168.110.188:8899' # 朱银 # VITE_APP_BASE_API = 'http://192.168.110.180:8899' diff --git a/src/views/design/received/index.vue b/src/views/design/received/index.vue index b28478f..950a8d4 100644 --- a/src/views/design/received/index.vue +++ b/src/views/design/received/index.vue @@ -17,6 +17,7 @@ @@ -93,6 +94,7 @@ @@ -181,6 +183,7 @@ import { systemUserList } from '@/api/design/appointment'; import { collectBatch, byProjectId, exportWord } from '@/api/design/received'; import { getUser } from '@/api/system/user'; import type { ComponentInternalInstance, ElFormInstance } from 'element-plus'; +import { getInfo } from '@/api/login'; // 全局实例与状态管理 const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -202,7 +205,7 @@ const disabledAll = ref(false); // 表单是否全部禁用 const form = reactive({ projectId: currentProject.value?.id, userId: '', // 收资人 - user_major: '', // 专业 + user_major: '1', // 专业 phone: '', // 电话 email: '', // 邮箱 id: '', // 表单ID @@ -273,6 +276,8 @@ const byProjectIdAll = async () => { disabledAll.value = false; if (res.code == 200 && res.data) { + console.log('🚀 ~ byProjectIdAll ~ res:', res); + const data = res.data; // 回显基本信息 form.userId = data.userId || ''; @@ -415,7 +420,7 @@ const onView = () => { /** 获取当前用户详情(回显个人信息) */ const getUserDetail = async () => { try { - const res = await getUser(userId.value); + const res = await getInfo(); if (res.data?.user) { form.userId = res.data.user.userId; form.phone = res.data.user.phonenumber || ''; diff --git a/src/views/out/monthPlan/index.vue b/src/views/out/monthPlan/index.vue index dcaa8d1..c426eca 100644 --- a/src/views/out/monthPlan/index.vue +++ b/src/views/out/monthPlan/index.vue @@ -40,9 +40,9 @@ - - - + + + +
+ + + + + + + + + + + + + +
diff --git a/src/views/materials/appointment/index.vue b/src/views/materials/appointment/index.vue index cda181e..710abb2 100644 --- a/src/views/materials/appointment/index.vue +++ b/src/views/materials/appointment/index.vue @@ -10,7 +10,7 @@ @click="isDisabled = false" class="px-8 py-2.5 transition-all duration-300 font-medium" v-if="isDisabled" - v-hasPermi="['ailiaoshebei:purchaseUser:byProject']" + v-hasPermi="['cailiaoshebei:purchaseUser:addOrUpdate']" > 点击编辑 @@ -38,7 +38,7 @@ @click="submitForm" icon="Check" class="px-8 py-2.5 transition-all duration-300 transform hover:scale-105 bg-blue-500 hover:bg-blue-600 text-white font-medium" - v-hasPermi="['cailiaoshebei:purchaseUser:add']" + v-hasPermi="['cailiaoshebei:purchaseUser:addOrUpdate']" > 确认提交 @@ -121,6 +121,7 @@ const designUser = async () => { return; } Object.assign(form, res.data); + // form.userId = res.data.userId; isDisabled.value = true; } } catch (error) { diff --git a/src/views/tender/plan/index.vue b/src/views/tender/plan/index.vue index dfc29b3..63a4eff 100644 --- a/src/views/tender/plan/index.vue +++ b/src/views/tender/plan/index.vue @@ -167,10 +167,7 @@
- 一键展开 - - - 一键收起 + {{ isExpandAll ? '一键收起' : '一键展开' }} @@ -514,11 +511,12 @@ const changeSheet = () => { getTreeList(); }; -const toggleExpandAll = (isExpand: boolean) => { +const toggleExpandAll = () => { + isExpandAll.value = !isExpandAll.value; + console.log(isExpandAll.value); treeData.value.forEach((row) => { - treeTableRef.value.toggleRowExpansion(row, isExpand); + treeTableRef.value.toggleRowExpansion(row, isExpandAll.value); }); - isExpandAll.value = isExpand; }; //打开获取表数据 const getTreeList = async () => { From 99b7183e36566f8e703d4fc318ca95c04a728afa Mon Sep 17 00:00:00 2001 From: fengsen <2548667232@qq.com> Date: Fri, 29 Aug 2025 16:50:24 +0800 Subject: [PATCH 16/40] youhua --- .env.development | 2 +- src/views/design/appointment/index.vue | 20 ++++++++++---------- src/views/design/billofQuantities/index.vue | 12 ++++++------ 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.env.development b/.env.development index 2439ac8..0fcb698 100644 --- a/.env.development +++ b/.env.development @@ -6,7 +6,7 @@ VITE_APP_ENV = 'development' # 开发环境 # 李陈杰 209 -VITE_APP_BASE_API = 'http://192.168.110.209:8899' +VITE_APP_BASE_API = 'http://192.168.110.188:8899' # 曾涛 # VITE_APP_BASE_API = 'http://192.168.110.180:8899' # 罗成 diff --git a/src/views/design/appointment/index.vue b/src/views/design/appointment/index.vue index 644b26b..bad33f9 100644 --- a/src/views/design/appointment/index.vue +++ b/src/views/design/appointment/index.vue @@ -47,9 +47,9 @@ 专业 设计人员(可多选) - 校审人员(可多选) - 审定人员(可多选) - 审核人员(可多选) + 校审人员 + 审定人员 + 审核人员 @@ -65,7 +65,7 @@ > - + -
+
-
+
-
+
- 一键展开 - - - 一键收起 + {{ isExpandAll ? '一键收起' : '一键展开' }} 下载模板 @@ -126,6 +123,7 @@ const { proxy } = getCurrentInstance(); const { work_order_type } = toRefs(proxy?.useDict('work_order_type')); const tableRef = ref({}); console.log(work_order_type); +const isExpandAll = ref(true); // tableData // 版本号 @@ -155,6 +153,7 @@ const state = reactive({ }); // tab切换 const handleTabChange = (tab) => { + isExpandAll.value = true; console.log('tab', tab); state.tableData = []; state.options = []; @@ -314,13 +313,14 @@ function handleChangeVersion(versions) { handleQueryList(); } // 在 openTable 方法中通过索引获取对应的表格实例 -function openTable(flag, index) { +function openTable( index) { + isExpandAll.value = !isExpandAll.value; nextTick(() => { // 通过索引获取当前标签页的表格实例 const currentTable = tableRef.value[index]; console.log(currentTable, index); if (currentTable) { - handleArr(state.tableData, flag, currentTable); + handleArr(state.tableData, isExpandAll.value, currentTable); } }); } From b0abb5f47b2043608a777b859cecaca26d641ea1 Mon Sep 17 00:00:00 2001 From: Teo <2642673902@qq.com> Date: Fri, 29 Aug 2025 16:51:40 +0800 Subject: [PATCH 17/40] =?UTF-8?q?hse=E4=BF=AE=E6=94=B9=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 4 ++-- src/api/system/post/index.ts | 4 ++-- src/views/safety/violationLevel/index.vue | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.env.development b/.env.development index ab16fab..6f65255 100644 --- a/.env.development +++ b/.env.development @@ -6,11 +6,11 @@ VITE_APP_ENV = 'development' # 开发环境 # 李陈杰 209 -# VITE_APP_BASE_API = 'http://192.168.110.209:8899' +VITE_APP_BASE_API = 'http://192.168.110.209:8899' # 曾涛 # VITE_APP_BASE_API = 'http://192.168.110.180:8899' # 罗成 -VITE_APP_BASE_API = 'http://192.168.110.188:8899' +# VITE_APP_BASE_API = 'http://192.168.110.188:8899' # 朱银 # VITE_APP_BASE_API = 'http://192.168.110.180:8899' diff --git a/src/api/system/post/index.ts b/src/api/system/post/index.ts index 54a64b2..9f028ab 100644 --- a/src/api/system/post/index.ts +++ b/src/api/system/post/index.ts @@ -12,9 +12,9 @@ export function listPost(query: { pageNum: number; pageSize: number }): AxiosPro } // 查询岗位列表 -export function listTreeByProject(projectId: string): AxiosPromise { +export function listTreeByProject(): AxiosPromise { return request({ - url: '/system/dept/list/treeByProjectId/' + projectId, + url: '/system/dept/list/tree', method: 'get' }); } diff --git a/src/views/safety/violationLevel/index.vue b/src/views/safety/violationLevel/index.vue index 0e02a41..b954995 100644 --- a/src/views/safety/violationLevel/index.vue +++ b/src/views/safety/violationLevel/index.vue @@ -145,7 +145,7 @@ const state = reactive({ }); const postList = () => { - listTreeByProject(currentProject.value?.id).then((res) => { + listTreeByProject().then((res) => { console.log('🚀 ~ listTreeByProject ~ res:', res); state.postListAll = res.data ?? []; }); From 621084cd82ee052cabc7d4fd8680b8aa7541923a Mon Sep 17 00:00:00 2001 From: ljx <15723110242@139.com> Date: Fri, 29 Aug 2025 17:15:35 +0800 Subject: [PATCH 18/40] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/materials/overallPlanMaterialSupply/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/materials/overallPlanMaterialSupply/index.vue b/src/views/materials/overallPlanMaterialSupply/index.vue index 686a1f8..6e73a63 100644 --- a/src/views/materials/overallPlanMaterialSupply/index.vue +++ b/src/views/materials/overallPlanMaterialSupply/index.vue @@ -9,7 +9,7 @@ 审批 - 查看流程 + 查看流程 From c1b891b4b2d971a9331273786dbc9057d332e796 Mon Sep 17 00:00:00 2001 From: Teo <2642673902@qq.com> Date: Fri, 29 Aug 2025 18:06:42 +0800 Subject: [PATCH 19/40] =?UTF-8?q?hse=E4=BF=AE=E6=94=B9=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../overallPlanMaterialSupply/index.ts | 11 ++- .../overallPlanMaterialSupply/index.vue | 81 +++++++++++++++---- 2 files changed, 75 insertions(+), 17 deletions(-) diff --git a/src/api/materials/overallPlanMaterialSupply/index.ts b/src/api/materials/overallPlanMaterialSupply/index.ts index ae73e0b..f28216e 100644 --- a/src/api/materials/overallPlanMaterialSupply/index.ts +++ b/src/api/materials/overallPlanMaterialSupply/index.ts @@ -21,7 +21,7 @@ export const totalsupplyplan = (params: any): AxiosPromise => { export const totalSupplyplanDetails = (id: any): AxiosPromise => { return request({ url: '/design/totalsupplyplan/' + id, - method: 'get', + method: 'get' }); }; // 修改物资-总供应计划 @@ -33,4 +33,11 @@ export const materialChangeSupplyplan = (data: any): AxiosPromise => { }); }; - +// 总供应计划-批量编辑 +export const totalSupplyplanBatchEdit = (data: any): AxiosPromise => { + return request({ + url: '/design/totalsupplyplan/batchEdit', + method: 'put', + data + }); +}; diff --git a/src/views/materials/overallPlanMaterialSupply/index.vue b/src/views/materials/overallPlanMaterialSupply/index.vue index 686a1f8..7211808 100644 --- a/src/views/materials/overallPlanMaterialSupply/index.vue +++ b/src/views/materials/overallPlanMaterialSupply/index.vue @@ -9,7 +9,24 @@ 审批 - 查看流程 + 查看流程 + + + 保存 + + + + 导入 + + + + 导出 @@ -30,18 +47,38 @@ - - - - - + + + + + + + + + + + + + + + - + @@ -124,7 +161,8 @@ import { obtainMasterDataList, totalsupplyplan, totalSupplyplanDetails, - materialChangeSupplyplan + materialChangeSupplyplan, + totalSupplyplanBatchEdit } from '@/api/materials/overallPlanMaterialSupply/index'; import { useUserStoreHook } from '@/store/modules/user'; const userStore = useUserStoreHook(); @@ -261,11 +299,13 @@ async function totalSupplyplanDetail(id) { } } // 修改 -function editApprovalSheet(row) { - console.log(row); - totalSupplyplanDetail(row.id); - visible.value = true; -} +const editApprovalSheet = async () => { + state.loading.list = true; + await totalSupplyplanBatchEdit(state.tableData); + proxy.$modal.msgSuccess('修改成功'); + + state.loading.list = false; +}; // 提交表单 const handleSubmit = async () => { try { @@ -292,6 +332,17 @@ function editMaterialSupply(formData) { }); } +const handleExport = async () => { + proxy?.download( + '/design/totalsupplyplan/export', + { + projectId: currentProject.value?.id + }, + `物资供应总计划.xlsx`, + true + ); +}; + // 关闭弹窗 const handleClose = () => { visible.value = false; From 15c4ad54844d9252e74e5f2ed94632c06572b508 Mon Sep 17 00:00:00 2001 From: dhr <2216804034@qq.com> Date: Fri, 29 Aug 2025 18:17:19 +0800 Subject: [PATCH 20/40] 1 --- src/views/design/condition/comm/filePage.vue | 2 +- src/views/design/volumeCatalog/index.vue | 8 +++++++- .../formalities/formalitiesAreConsolidated/index.vue | 1 + src/views/patch/index.vue | 9 ++++++++- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/views/design/condition/comm/filePage.vue b/src/views/design/condition/comm/filePage.vue index fe0111c..bd2b3f7 100644 --- a/src/views/design/condition/comm/filePage.vue +++ b/src/views/design/condition/comm/filePage.vue @@ -6,7 +6,7 @@
- + 上传文件 diff --git a/src/views/design/volumeCatalog/index.vue b/src/views/design/volumeCatalog/index.vue index 35fde86..fa340e5 100644 --- a/src/views/design/volumeCatalog/index.vue +++ b/src/views/design/volumeCatalog/index.vue @@ -146,7 +146,13 @@ /> - + diff --git a/src/views/formalities/formalitiesAreConsolidated/index.vue b/src/views/formalities/formalitiesAreConsolidated/index.vue index 728c60a..0f9bbe8 100644 --- a/src/views/formalities/formalitiesAreConsolidated/index.vue +++ b/src/views/formalities/formalitiesAreConsolidated/index.vue @@ -198,6 +198,7 @@ v-model="file" ref="uploadRef" uploadUrl="/formalities/formalitiesAnnex" + v-hasPermi="['formalities:formalitiesAnnex:add']" :data="{ formalitiesId: form.id }" :fileType="['pdf']" :auto-upload="false" diff --git a/src/views/patch/index.vue b/src/views/patch/index.vue index ce0cc0d..3f87d2e 100644 --- a/src/views/patch/index.vue +++ b/src/views/patch/index.vue @@ -93,7 +93,14 @@