From 8bdbb19592cc9c924567e6a3b98d17246623744e Mon Sep 17 00:00:00 2001 From: wangweidong <850489345@qq.com> Date: Fri, 24 Oct 2025 17:12:14 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .hbuilderx/launch.json | 2 +- pages/Warehouse/components/calculator.vue | 7 +- pages/Warehouse/procurecart.vue | 170 +++++++++++++----- pages/Warehouse/procurement.vue | 66 +++++-- pages/Warehouse/purchaseorder.vue | 35 +--- .../warehouse/procurement/ctrl/Ctrl0.png | Bin 0 -> 1641 bytes .../warehouse/procurement/ctrl/Ctrl1.png | Bin 0 -> 1191 bytes .../warehouse/procurement/ctrl/Ctrl2.png | Bin 0 -> 1271 bytes .../warehouse/procurement/ctrl/Ctrl3.png | Bin 0 -> 1394 bytes .../warehouse/procurement/ctrl/Ctrl4.png | Bin 0 -> 1277 bytes .../warehouse/procurement/ctrl/Ctrl5.png | Bin 0 -> 1455 bytes .../warehouse/procurement/ctrl/Ctrl6.png | Bin 0 -> 1337 bytes .../warehouse/procurement/ctrl/Ctrl7.png | Bin 0 -> 1400 bytes .../warehouse/procurement/ctrl/Ctrl8.png | Bin 0 -> 1505 bytes 14 files changed, 189 insertions(+), 91 deletions(-) create mode 100644 static/index/warehouse/procurement/ctrl/Ctrl0.png create mode 100644 static/index/warehouse/procurement/ctrl/Ctrl1.png create mode 100644 static/index/warehouse/procurement/ctrl/Ctrl2.png create mode 100644 static/index/warehouse/procurement/ctrl/Ctrl3.png create mode 100644 static/index/warehouse/procurement/ctrl/Ctrl4.png create mode 100644 static/index/warehouse/procurement/ctrl/Ctrl5.png create mode 100644 static/index/warehouse/procurement/ctrl/Ctrl6.png create mode 100644 static/index/warehouse/procurement/ctrl/Ctrl7.png create mode 100644 static/index/warehouse/procurement/ctrl/Ctrl8.png diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json index 5c90f56..29998cf 100644 --- a/.hbuilderx/launch.json +++ b/.hbuilderx/launch.json @@ -2,7 +2,7 @@ "version" : "1.0", "configurations" : [ { - "customPlaygroundType" : "device", + "customPlaygroundType" : "local", "playground" : "custom", "type" : "uni-app:app-android" } diff --git a/pages/Warehouse/components/calculator.vue b/pages/Warehouse/components/calculator.vue index e5a0600..79c738f 100644 --- a/pages/Warehouse/components/calculator.vue +++ b/pages/Warehouse/components/calculator.vue @@ -19,12 +19,13 @@ - - 确认 - 取消 + + 确认 + + diff --git a/pages/Warehouse/procurecart.vue b/pages/Warehouse/procurecart.vue index ea458ff..3461b84 100644 --- a/pages/Warehouse/procurecart.vue +++ b/pages/Warehouse/procurecart.vue @@ -82,7 +82,7 @@ - + @@ -293,14 +293,19 @@ 提示 - - - + + 是否删除? + + + 是否清空所有物料? + + + {{i+1}}、{{v}}
取消 - 确认 确认 + 确认
@@ -337,7 +342,7 @@ const form = reactive({ nuId: '', pageNo: 1, - pageSize: 9, + pageSize: 10, categoryId: '', typeId: '', medicationId: '', @@ -500,7 +505,7 @@ queryShoppingCartList(form).then(res => { res.result.records.forEach((item,i)=>{ item.flag = false - if(i==0){ + if(i==0&&form.pageNo == 1){ item.flag = true } }) @@ -589,78 +594,132 @@ } const anmidex = ref(-1) const generatedOrder = ref([]) - const delstr = ref('') + const delstr = ref([]) + const tmr = ref(true) const admiclick = (i : number) => { - if (anmidex.value == 2) { - anmidex.value = -1 - } else { + if(tmr.value == false){return} + tmr.value = false; anmidex.value = i; switch (i) { case 0: + if(InvoicingList.value.length==0){ + uni.showToast({ + title:'请选择物料~', + icon:'none' + }) + anmidex.value = -1; + tmr.value = true; + return + } InvoicingList.value[shopitem.value].flag = !InvoicingList.value[shopitem.value].flag; setTimeout(()=>{ - anmidex.value = -1 + anmidex.value = -1; + tmr.value = true; },1000) break; - case 1: + case 2: let arr = []; InvoicingList.value.forEach(item=>{ if(item.flag){ arr.push(item) } }) + if(arr.length==0){ + uni.showToast({ + title:'请选择物料~', + icon:'none' + }) + tmr.value = true; + anmidex.value = -1; + return + } + tmr.value = true; generatedPurchaseViewOrder(arr).then(res=>{ - generatedOrder.value = res.result + generatedOrder.value = res.result; }) - cgd.value = true - break; - case 2: - queryWlInfo(); + cgd.value = true; break; case 3: - let str = '' + if(InvoicingList.value.length==0){ + uni.showToast({ + title:'请选择物料~', + icon:'none' + }) + tmr.value = true; + anmidex.value = -1; + return + } + tmr.value = true; + queryWlInfo(); + break; + case 4: let a = [] InvoicingList.value.forEach((item,i)=>{ if(item.flag){ - str+='
'+' · '+item.wlName; - a.push(item) + a.push(item.wlName) } }) if(a.length==0){ uni.showToast({ - title:'购物车暂无物料~', + title:'请选择物料~', icon:'none' }) + tmr.value = true; + anmidex.value = -1; return } - delstr.value = '是否删除'+str + tmr.value = true; + delstr.value = a ; tost.value = true; - break; - case 4: + case 5: if(InvoicingList.value.length==0){ uni.showToast({ title:'购物车已清空~', icon:'none' }) + tmr.value = true; + anmidex.value = -1; return - } - delstr.value = ' 是否清空购物车? ' + } + tmr.value = true; tost.value = true; break; - case 5: - uni.navigateTo({ - url:'/pages/Warehouse/procurecart' - }) + case 1: + let arrs = []; + if(InvoicingList.value.length==0){ + uni.showToast({ + title:'购物车为空~', + icon:'none' + }) + tmr.value = true; + anmidex.value = -1; + return + } + InvoicingList.value.forEach((item,i)=>{ + if(item.flag){ + arrs.push(i) + }else{ + item.flag = true; + } + }) + if(arrs.length==InvoicingList.value.length){ + InvoicingList.value.forEach((item,i)=>{ + item.flag = false; + }) + } + setTimeout(()=>{ + anmidex.value = -1; + tmr.value = true; + },1000) break; default: break; } - } } const del = (e:number)=>{ - if(e==3){ + if(e==4){ let arr = []; let delstr = ''; InvoicingList.value.forEach((item,i)=>{ @@ -670,17 +729,25 @@ } }) if(delstr.indexOf(",")>-1) delstr = delstr.substring(0,delstr.length-1) - arr.sort((a, b) => b - a) deleteQgInfoById(delstr).then(res=>{ uni.showToast({ icon:res.success?'success':'none', title:res.message }) if(res.success){ - arr.forEach(item=>{ - InvoicingList.value.splice(item,1) + form.pageNo = 1; + queryShoppingCartList(form).then(res => { + res.result.records.forEach((item,i)=>{ + item.flag = false + if(i==0){ + item.flag = true + } + }) + InvoicingList.value = []; + InvoicingList.value.push(...res.result.records); + status.value = res.result.total == InvoicingList.value.length ? 'nomore' : 'loadmore' + qingkong() }) - qingkong() } }) }else{ @@ -722,6 +789,18 @@ name: '选择/取消', imgurl: '/static/index/warehouse/procurement/select/select1.png' }, + { + url: genPaths( + '/static/index/warehouse/procurement/ctrl', + 'Ctrl', + 9, // 张数 + 'png', + 0, // 起始索引为 1 + false // 不补零 + ), + name: '全选', + imgurl: '/static/index/warehouse/procurement/select/Ctrl0.png' + }, { url: genPaths( '/static/index/warehouse/procurement/procure', @@ -807,12 +886,18 @@ } } .cont{ + width: 70%; + font-size: 1.3vw; + margin: 0.5vw auto 0; + max-height: 21.5vh; + overflow-y: scroll; + } + .xunw{ width: 100%; font-size: 1.3vw; margin: 0.5vw auto 0; - overflow-y: scroll; - max-height: 23.5vh; text-align: center; + font-weight: 600; } .tit{ width: 100%; @@ -1105,7 +1190,7 @@ } .life { - width: 60%; + width: 66%; height: 2vw; margin: 0 auto 3vw; display: flex; @@ -1123,6 +1208,7 @@ font-size: .9vw; color: #555555; margin-left: .6vw; + white-space: nowrap; } } @@ -1249,10 +1335,6 @@ background: #FFFFFF; margin: 0.25vw 0; border-radius: 1.6vw; - &:nth-child(1),&:nth-child(2){ - width: 12.5vw; - } - view { margin-right: .4vw; diff --git a/pages/Warehouse/procurement.vue b/pages/Warehouse/procurement.vue index 6cc6c27..733759a 100644 --- a/pages/Warehouse/procurement.vue +++ b/pages/Warehouse/procurement.vue @@ -163,7 +163,7 @@ - + @@ -217,7 +217,7 @@ - + @@ -278,7 +278,7 @@ - - + {{caigouobj.Limitnum}} @@ -422,7 +422,8 @@ categoryId: '', typeId: '', medicationId: '', - wlParamInfo: '' + wlParamInfo: '', + isWaring:0 }) const switchshyp = () => { let obj = { @@ -514,6 +515,7 @@ crk.value = false; wlxq.value = false; gysnum.value = false; + gysflag.value = false; } const colse = () => { @@ -620,14 +622,14 @@ break; case 1: // → - shopitem.value = shopitem.value > InvoicingList.value.length ? shopitem.value = 0 : shopitem.value + 1 + shopitem.value = shopitem.value >= InvoicingList.value.length -1? shopitem.value = 0 : shopitem.value + 1 break; case 2: // 下 - shopitem.value = shopitem.value > InvoicingList.value.length ? shopitem.value = 0 : shopitem.value + 3 + shopitem.value = shopitem.value >= InvoicingList.value.length-3 ? shopitem.value = 0 : shopitem.value + 3 break; case 3: - shopitem.value = shopitem.value == 0 ? shopitem.value = InvoicingList.value.length : shopitem.value - 1 + shopitem.value = shopitem.value == 0 ? shopitem.value = InvoicingList.value.length-1 : shopitem.value - 1 // ← break; case 4: @@ -675,15 +677,38 @@ return } if (anmidex.value == i) { - anmidex.value = -1 + if(i==0){ + animArray.value[0].flag = false; + form.isWaring = 0; + form.pageNo = 1; + InvoicingList.value = []; + queryInvo(); + } + anmidex.value = -1; } else { anmidex.value = i; switch (i) { case 0: + animArray.value[0].flag = !animArray.value[0].flag; + if(animArray.value[0].flag == true){ + form.isWaring = 1; + form.pageNo = 1; + InvoicingList.value = []; + shopitem.value = 0; + }else{ + anmidex.value = -1; + form.isWaring = 0; + form.pageNo = 1; + InvoicingList.value = []; + shopitem.value = 0; + } + queryInvo(); + break; case 1: + gysarr.value = []; caigouobj.value = InvoicingList.value[shopitem.value]; - caigouobj.value.Limitnum = Number(caigouobj.value.upperLimit)-Number(caigouobj.value.kcsl); + caigouobj.value.Limitnum = Number(caigouobj.value?.upperLimit)-Number(caigouobj.value.kcsl); let n = []; let id = []; n = caigouobj.value.suppliers_dictText.split(/[, ]+/); @@ -697,7 +722,7 @@ uni.navigateTo({ url:'/pages/Warehouse/purchaseorder' }) - + anmidex.value = -1; break; case 3: let obj = { @@ -738,8 +763,10 @@ purchaseQuantity:caigouobj.value.Limitnum, suppliersId:gysarr.value[gysidnum.value].id, suppliersName:gysarr.value[gysidnum.value].name, - wlId:caigouobj.value.wlId + wlId:caigouobj.value.wlId, + kcsl:caigouobj.value.kcsl } + console.log(dt) addShoppingCartList([dt]).then(res=>{ uni.showToast({ icon:res.success?'success':'none', @@ -756,7 +783,12 @@ } const carnum = ref(0) const shoppcar=()=>{ - queryShoppingCartList(form).then(resr=>{ + let c = { + nuId: form.nuId, + pageNo: 1, + pageSize: 10 + } + queryShoppingCartList(c).then(resr=>{ carnum.value = resr.result.total }) } @@ -771,7 +803,8 @@ false // 不补零 ), name: '库存预警', - imgurl: '/static/index/warehouse/procurement/store/store01.png' + imgurl: '/static/index/warehouse/procurement/store/store01.png', + flag:false, }, { url: genPaths( @@ -904,12 +937,12 @@ } .life { - width: 60%; + width: 66%; height: 2vw; margin: 0 auto 3vw; display: flex; justify-content: space-around; - + flex: 1; view { width: 5.3vw; height: 1.8vw; @@ -922,6 +955,7 @@ font-size: .9vw; color: #555555; margin-left: .6vw; + white-space: nowrap; } } @@ -1418,6 +1452,7 @@ height: 100%; display: flex; justify-content: space-between; + white-space: nowrap; &:nth-child(2) { display: flex; @@ -1434,6 +1469,7 @@ margin-left: 2.1vw; margin-top: -0.2vw; padding-right: 2.1vw; + white-space: nowrap; .l { color: rgba(3, 133, 250, 1); diff --git a/pages/Warehouse/purchaseorder.vue b/pages/Warehouse/purchaseorder.vue index a6ec249..4973abf 100644 --- a/pages/Warehouse/purchaseorder.vue +++ b/pages/Warehouse/purchaseorder.vue @@ -57,13 +57,13 @@ 规格型号: {{v.wlMaterialNo}} 采购金额: - {{(v.kcsl * Number(v.procurementPrice)).toFixed(2) }} + {{(v.purchaseQuantity * Number(v.procurementPrice)).toFixed(2) }} 采购数量: - {{v.kcsl }} + {{v.purchaseQuantity }} {{ `(${v.wlUnits})` }} @@ -87,7 +87,7 @@ mode="aspectFill"> - {{v.purchaseQuantity}} + {{v.kcsl}} 库存数量 @@ -470,6 +470,7 @@ InvoicingList.value = []; leftitem.value = saveleftgo.value; shopitem.value = -1; + form.cgdId = plsbuy.value[leftitem.value].id queryInvo(); } onLoad(() => { @@ -587,6 +588,8 @@ const queryInvo = () => { // console.log("form", form) queryCgdInfoList(form).then(res => { + console.log(form) + console.log(res.result) InvoicingList.value.push(...res.result.records); // console.log("chu", InvoicingList.value) detailform.wlId = InvoicingList.value[0].wlId @@ -718,31 +721,7 @@ default: break; } - // if (anmidex.value == i) { - // anmidex.value = -1 - // } else { - // anmidex.value = i; - // switch (i) { - // case 0: - // break; - // case 1: - // // gys.value = true - // shareToWeixin() - // break; - // case 2: - // break; - // case 3: - // break; - // case 4: - // // crk.value = true - // break; - // case 5: - // break; - - // default: - // break; - // } - // } + } const badshow = ref(false); const donghuacs = ref(false); diff --git a/static/index/warehouse/procurement/ctrl/Ctrl0.png b/static/index/warehouse/procurement/ctrl/Ctrl0.png new file mode 100644 index 0000000000000000000000000000000000000000..e319c54b46516217bcc3686dfba3e431042e22e4 GIT binary patch literal 1641 zcmbVMeM}Q~7;aEhbTBn)oMCc1a2BDx>y@^&P`iFHy3xXF#iAW@ZLhRK@5*pr z2kMNQ*+3@~~e6KNDu2hYRu_MUrl05RvS#V)de=G9aJm^QoS-(z>U!;;B^<`l*}s!M|EZFJh%;k zz$k<+kb`4Rne|zKnjkSi$`|l#FpK~aDIc@il7+Askt6~LjEEo@fdmpB0?U#FGGQ_> z{(!7O((aHMHEHAK*p(b~(zHhgK@7w286lq_^C5v$Dh+BN2#-bZs8XCpy*!+X4Jl|a z%0{|8w2Q!jpdxA|ifK8>Iy)AH+oRV%7sjdaT(Mb$yr>5f@L|a94u&?0rf4Jfj~g#U zQ>Ic61{pDmC?;*}l{jKUWHx;-HxvZ2-pDdZ7ke*gp@y&(yD^;BY2+Y#!neEZGJzcx zN)SZMbD%Z{4~3Ipo>Tyfcp|G+;E*Osl0*($Nasa-l|T!piNq=uEKvyrX|PHy)Tosz z70ZMrLa{Q$)!`J4;x;T~+r`=*=PF;ym8nS#r3unR5QU*a$Z`@iK{*KzfQa}41mG@n z;dX+d;)9no7PAH;T_u=3jU?Q_XqIKJ7kKdBq95bi|8Mpn)+s1hD*q~-&=y;d!Rhl} zU>DE33B%bIBH3P1+>PRKIAQB`8l}m5^|!5Z=Pc#iN@|gGdR(X3m7p{Y_a%31$kSvr zfL&a%cwW=`J$v_T+@amrv3R=QvTN^+7{7i~v~^e+=QjSRId?|e{MVYny2KX8GR{&4)kQRi{X-9?8kJD+^upK_-{xT`O> zVM@oKI-?-KwAKO5;*Opwb(a6yk;wVYjqSfrXfD49Cwk=->#wCt;)@=7GBdy8;ZcTk zudb8YUN%wNt3#ren%CW&S!xJtd@FolQ2&F-L6!9dB)-&B2k3q@VslZu!a4BSP{Pdl z_($8PU9ZgmYCmqyK7TUeL{x%jW|7c$d&0oZlyAKI%hy_ch2_3Olc3!iB>T#NdU0jL zCXRqpJ zY}E_iywYpBRk=b(HI;q3qlvp^aPH8V+}qn?hxr#(ij%$>U0_<0gSuBtFgek0kSQmP z#z3;F7M^%7uj-u^=Dp6Yzy+gl>E{s}jv+>@a9>5%Q&m^#DSOMA%**ZObB|^p%})Pm zZ#7qYw)Jpz4)^Dpk<*gE7YnHcyKCx?q-2>7mh|*>CqCW8)G6nzY;CKrt^NcR=M2t> z`IC3ItF4F-+<9WiEoyIz989RF*>~wn=+~8#hr7Ms-9M^(aK7!sIYeh5S+P~TI6H5- zqQCQ1$1nYBhMJC*UpgG~%8)dQjtAepIc&M=WnMQ8v~gPkahA&b?eo{I_&VcO|Dxz2 zN6r15*{dE>>iDVk!p2z1ZhyhZb;GxY$hDObInS`2_mB5n2)`9JQsO%uK9|#QBrd&w SV{dEl=daTmG>24q{=Wf(*K;=j literal 0 HcmV?d00001 diff --git a/static/index/warehouse/procurement/ctrl/Ctrl1.png b/static/index/warehouse/procurement/ctrl/Ctrl1.png new file mode 100644 index 0000000000000000000000000000000000000000..fd7388213d552f2f53b47ccbf87f99701d0d8c3a GIT binary patch literal 1191 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 literal 0 HcmV?d00001 diff --git a/static/index/warehouse/procurement/ctrl/Ctrl4.png b/static/index/warehouse/procurement/ctrl/Ctrl4.png new file mode 100644 index 0000000000000000000000000000000000000000..44206bc47aa5c385d3c80b0202c0b0af6dba86a2 GIT binary patch literal 1277 zcmbVMTWs4@81}lALQzSpL4kF2#x0Pc`kJe)m^O(Q7O4p#&D3h*p^kmhnASeVc8OaA ztm|M}VL}4Iwr)sy0bUqyohI=>K~!vF+K>=DAT*VMDnvJxNp#%G<+yDM57mUQWS`sj zegEbBzmMdyk2W>#Xv8qADZN+9qtWlZx88!jFaLQ~N5j3&o&l#1mYj-g0W7Yz(?4`LX$wW1XUoPkWQpg^6HJq+dQCSqe)tlKqZWf(Yk5e#XDNG!eo0fB3( zNc4v?OvX%tvbJ~J0)6Azf-*j=@G8;$2p)3^P=C)0Ikvsst!#4bd#m^PUFBkqANBV}>KUq+xf|6eM6PmS#E{G;mK* zF2YeqB#^UfQRrqSvmtEQ>$yT%qg~mgS&E@`-3x6MZ994Jj~kn!?ZTJ|=sd9DsHLDQ zDRtDyD1A3KN~PxA}=I`>PxOIx~TrtWTTJALr=hR?F^iU;OfViWrWaS|sU4j1($U+eux z;Wu}^B%OY>DY|vn?SbvC`uqa8rX5e)-*LNrE&jT{;??>W2kYC_xl_xF-;P|k)LY-x z^GEX824TK<#kYU@Y~cI4!_JAmnFsvGo1@hO+sz4|@$pdhizllvG5E^jJx_G}(EsI6 zm!(UCvpO~T`{DMJ$5P9!pRZgv^xzry)0to2dS`CAoR~kgcqsC-xYI+{Uz}|(e7M7{ zO0k8)wb{$(&VAy~-M4b)M(b}a;xjk4y`6ec-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!ovP&e7Yz(~Q|QZF?r z*}~Ys%*b3v!N|bKRNufz-_Tsw$iT|P(8}0C0Sc6W78a$XSp~VcL9GMwY?U%fN(!v> z^~=l4^~#O)@{7{-4J|D#L1q{k=>k>g7FXt#Bv$C=6)VF`a7isrF3Kz@$;{7F0GXJW zlwVq6s|0i`#22{*zP@mS^NOKi1q?O)io^naLp=li++2{?z^aQ&f>IIAz^b}9q_QAY zKPa_0zqBYB7$s@SFwMZ=!*3BtA<#8e{zaLYnChA)B^jn!nwXoIrX|D7!KUBU#KP6Z*uuiez}(5u z(9OWoz}Uda&>2XYIT@L|xxw^$<`tJD<|U`X?9K$*4b^LoSFe?GQEFmIeo;t%ehw@l z1Z3owKPg-XoP3xrR0|vYl0#P;%ArCqRg_?6t|-MTm^6_TV-N#0dc;E z=uaUx^z?y_(g!6Kq@)8A0;We06P_1<9C&U@%>!nkB4A#rOS&L5v5m)2qIpz*K9rv7>VYz*A`G!;H?=auXDN53jI{B8bX!gpLKaP~oIWAMA zW?{cdpyEvB@Cp3+g zuX?p|vUn29nkJ?Sb=GxD=fq8v&t10Z+1I5icn8iKbLh*2~7Z^_!=Gn literal 0 HcmV?d00001 diff --git a/static/index/warehouse/procurement/ctrl/Ctrl6.png b/static/index/warehouse/procurement/ctrl/Ctrl6.png new file mode 100644 index 0000000000000000000000000000000000000000..cd9910bf30d98f696862f16db51f2c33769383ed GIT binary patch literal 1337 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n9DOmB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!ovP&e7Yz(~Q|QZF?r z*}~Ys%*b3v!N|bKRNufz-_Tsw$iT|P(8}0C0Sc6W78a$XSp~VcL9GMwY?U%fN(!v> z^~=l4^~#O)@{7{-4J|D#L1q{k=>k>g7FXt#Bv$C=6)VF`a7isrF3Kz@$;{7F0GXJW zlwVq6s|0i`#22{*zP@mS^NOKi1q?O)io^naLp=li++2{?z^aQ&f>IIAz^b}9q_QAY zKPa_0zqBYB7$s@SFwMZ=!*3BtA<#8e{zaLYnChA)B^jn!nwXoIrX|D7!KUBU+``=4!o}Fhz}(5u z(9OURsKv?9)z!_&)!Ep>*c_(UGq1QLF)uk4W_KpgZm3=(yn3yii&7Iy@{2<9^K)Pc zAs{2aB)>Q#zd*srRL{^zK_fgfFD1XcSQ8XU5I?)57G;*DrnnX5=PH0h*(wu@3yAYQ zM1Kmop{EaYls+h_ASE4`5HLN0nDD#+mh9^P6P&hv zl>X7;8m2ohKmDNO4?~0Zx;1a!o%z#s_4|$q&jYod)a+=`dtl4*K}?1oJr+4j2ZP<_#8^|J8nm1hfblpjoB{MW$Gv_X;ay3blpHZ!Jg zmi`Bl)wAoTp{p`*Q7*pEEjhYaZ#Jd&_OBKc_yIWlmw;<8!vM zrPn6yoyj(*iNoZ8`imy_OHXI5{JX)t)JB8N#QtCQBORWgDy464a$`%MwNU(lj2);8ec6#<){3bvy0!W*6%L+QoH5vnuF$_p2~kL>il#O zB%$4%{9gR87N1``W#0Z>o=fbW*IZyNVSI1*z_Edm!O(r?pWbO*=Rt*;r>mdKI;Vst E0KQ(?tN;K2 literal 0 HcmV?d00001 diff --git a/static/index/warehouse/procurement/ctrl/Ctrl7.png b/static/index/warehouse/procurement/ctrl/Ctrl7.png new file mode 100644 index 0000000000000000000000000000000000000000..56fd91cc507437e0ead310b93355fd3717add406 GIT binary patch literal 1400 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n9DOmB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!ovP&e7Yz(~Q|QZF?r z*}~Ys%*b3v!N|bKRNufz-_Tsw$iT|P(8}0C0Sc6W78a$XSp~VcL9GMwY?U%fN(!v> z^~=l4^~#O)@{7{-4J|D#L1q{k=>k>g7FXt#Bv$C=6)VF`a7isrF3Kz@$;{7F0GXJW zlwVq6s|0i`#22{*zP@mS^NOKi1q?O)io^naLp=li++2{?z^aQ&f>IIAz^b}9q_QAY zKPa_0zqBYB7$s@SFwMZ=!*3BtA<#8e{zaLYnChA)B^jn!nwXoIrX|D7!KUBMz{%0Y$iUnQhzt$g z3@puz+?-r344hod4cttPTw!`W^NLFn^O93xc4q?ZhUzuLtJli8C^fMpzbGU>KL?f& z0y6ST@{2R_3lxk@^$d*^G{Q6UQu51-H9?UC@v}>6QD#|cid#{Bt^zoetunE=fH>bn z^rw&;dip>|>4TCAQqqA50n;Oh3C{~a4m>xd<^i)%5iqZO4zCVlU|^i?>EaktaqG=A zdv9h(fuoZ}mb)G?3A>h*_;9|`wWf#_p&T4_4F4NCw#qwf5I^Ftz;QiOxhd75N#df@ zn#&o&qTL0(`42hWJEq?`*C&2L?~lZcnXS|BynAz6ynpc>h4oH(2d0a^VC8E*!0@J7 z>W7l)v!=M&pHC&H3B@$+w135)AZxPu2Yd639pM42szIseuB_^8xD=M-DrW z6LVIcZCb0tl4m5>6gIu8duv60R-<*op`Zs$kA0oan?Bytd%(7UE00y_ckIO81Kb~Y z(sW$!8SANkSz};#lcR>&n`z?n9``*v=dL~ywa5IcWQ}--4KuF+?>h(9o{3z=%f6k6 zdmVj8vuLq@WA27yi8emT%%Bf9LFypYqGH)L!FjvEQEsB?0Cye$MjxT^%R1a{lMK3*29r+T$Md bGcYr3NLbN+uryT(R2F)=`njxgN@xNAGlcbh literal 0 HcmV?d00001 diff --git a/static/index/warehouse/procurement/ctrl/Ctrl8.png b/static/index/warehouse/procurement/ctrl/Ctrl8.png new file mode 100644 index 0000000000000000000000000000000000000000..0cd628979c9b6fb5b84bf2e027109d3923136f73 GIT binary patch literal 1505 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n9DOmB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!ovP&e7Yz(~Q|QZF?r z*}~Ys%*b3v!N|bKRNufz-_Tsw$iT|P(8}0C0Sc6W78a$XSp~VcL9GMwY?U%fN(!v> z^~=l4^~#O)@{7{-4J|D#L1q{k=>k>g7FXt#Bv$C=6)VF`a7isrF3Kz@$;{7F0GXJW zlwVq6s|0i`#22{*zP@mS^NOKi1q?O)io^naLp=li++2{?z^aQ&f>IIAz^b}9q_QAY zKPa_0zqBYB7$s@SFwMZ=!*3BtA<#8e{zaLYnChA)B^jn!nwXoIrX|D7!KUBM#K6SV$i>LXz}(5u z(9OWn&B(;U%+Scu$->yu$=D61*E6rUBrz{J6=ruP&~B(+L%e#eoQqNuOY)0C^7C_G z2_YaOza+mnBfmhw$W+hJNI@e!GcP5-yjT+yNf1A~q!wkCrKY$Q<>xAZL)j`5iwlVJ zJw$&BxuK^Ibd)|QsURgCm=G{Mf|&5U0OY`PQ)(VC3l#zL${Z!$$qWok44y8IAr-gY zOxx@26ew|QtCMn1%$#4$QYybB*622M>?@cs?N-#UhOTE>YZk0rsQ8Op<&fga1sqLc znkrh^9M|W>tnuLBtm3md^z_l*>#ujZyS(GJ@0(W~SNrZ~#rwy+Z>HPy%IMBx;}2h; zz2PQHStD!geEv1fB0tnLzx`ZOx8bZ~q3i>mo(2UAhPw}BzPx_MC;ZXCSYde;YqaB> zM|KA^!-6mCmT{*%3pc`HW@tNVj%4k=Tj zwUc;NRLd5IbRQ7@z;;N~h3{if$LWn{*)JYfzHK=9zeM`)sO|$c5^EJUiN|bQ!;!d~ z?PuY(>ODJuaTNJjU;ie#M&;8aR?CxXO}mmm@KhaO?r8KAN}exK{qRoL!?l