From 9c207b18e63dfa6c4d3dcbea355c0fd039fe7ce7 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Wed, 30 Jul 2025 10:46:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BE=9B=E5=BA=94=E5=95=86=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E6=95=B0=E6=8D=AE=E3=80=81=E5=AF=BC=E5=87=BA=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SupplierController.java | 16 ++ .../service/IMdCsSupplierbaseService.java | 8 + .../impl/MdCsSupplierbaseServiceImpl.java | 73 +++++++++ .../impl/MdPbMeasureunitServiceImpl.java | 8 +- .../resources/excel/supplier_template.xlsx | Bin 0 -> 9463 bytes .../views/wms/basedata/supp/UploadDialog.vue | 155 ++++++++++++++++++ .../views/wms/basedata/supp/supplierbase.js | 18 +- 7 files changed, 273 insertions(+), 5 deletions(-) create mode 100644 lms/nladmin-system/nlsso-server/src/main/resources/excel/supplier_template.xlsx create mode 100644 lms/nladmin-ui/src/views/wms/basedata/supp/UploadDialog.vue diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/SupplierController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/SupplierController.java index 7426fe3..69abcdd 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/SupplierController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/SupplierController.java @@ -10,10 +10,13 @@ import org.nl.wms.basedata_manage.service.IMdCsSupplierbaseService; import org.nl.wms.basedata_manage.service.dao.MdCsSupplierbase; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; import java.util.Map; import java.util.Set; @@ -61,4 +64,17 @@ public class SupplierController { return new ResponseEntity<>(HttpStatus.OK); } + @PostMapping("/importExcel") + @Log("导入单位") + public ResponseEntity importExcel(@RequestPart("file") MultipartFile file) { + iMdCsSupplierbaseService.importExcel(file); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("下载导入模板") + @GetMapping(value = "/downloadImportSuppTemplate", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE) + public void downloadImportSuppTemplate(HttpServletResponse response) { + iMdCsSupplierbaseService.downloadImportSuppTemplate(response); + } + } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdCsSupplierbaseService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdCsSupplierbaseService.java index d5a0b83..2779c25 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdCsSupplierbaseService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdCsSupplierbaseService.java @@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.common.domain.query.PageQuery; import org.nl.wms.basedata_manage.service.dao.MdCsSupplierbase; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; import java.util.Map; import java.util.Set; @@ -43,4 +45,10 @@ public interface IMdCsSupplierbaseService extends IService { * @param ids 供应商标识集合 */ void delete(Set ids); + + void importExcel(MultipartFile file); + + void downloadImportSuppTemplate(HttpServletResponse response); + + MdCsSupplierbase getByCode(String code); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdCsSupplierbaseServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdCsSupplierbaseServiceImpl.java index 736881d..8221117 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdCsSupplierbaseServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdCsSupplierbaseServiceImpl.java @@ -8,17 +8,27 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.poi.ss.usermodel.*; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; +import org.nl.common.utils.FileUtil; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata_manage.enums.BaseDataEnum; import org.nl.wms.basedata_manage.service.IMdCsSupplierbaseService; import org.nl.wms.basedata_manage.service.dao.MdCsSupplierbase; +import org.nl.wms.basedata_manage.service.dao.MdPbMeasureunit; import org.nl.wms.basedata_manage.service.dao.mapper.MdCsSupplierbaseMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import java.util.Set; @@ -93,4 +103,67 @@ public class MdCsSupplierbaseServiceImpl extends ServiceImpl ids) { this.baseMapper.deleteBatchIds(ids); } + + @Override + public void importExcel(MultipartFile file) { + // 1. 校验文件 + if (file.isEmpty()) { + throw new IllegalArgumentException("上传文件不能为空"); + } + + try (InputStream inputStream = file.getInputStream(); + Workbook workbook = WorkbookFactory.create(inputStream)) { + DataFormatter formatter = new DataFormatter(); + // 2. 获取第一个Sheet + Sheet sheet = workbook.getSheetAt(0); + + // 3. 从第二行开始遍历 (索引1) + List dataList = new ArrayList<>(); + for (int rowIndex = 1; rowIndex <= sheet.getLastRowNum(); rowIndex++) { + Row row = sheet.getRow(rowIndex); + if (row == null) { + continue; // 跳过空行 + } + Cell cell1 = row.getCell(0); + MdCsSupplierbase byCode = this.getByCode(formatter.formatCellValue(cell1)); + if (ObjectUtil.isNotEmpty(byCode)) { + throw new BadRequestException("物料[" + cell1 + "]已存在!"); + } + + // 4. 读取6个字段 + MdCsSupplierbase entity = new MdCsSupplierbase(); + entity.setSupp_id(IdUtil.getStringId()); + entity.setSupp_code(formatter.formatCellValue(cell1)); + entity.setSupp_name(String.valueOf(row.getCell(1))); + entity.setIs_used("1"); + entity.setCreate_id(SecurityUtils.getCurrentUserId()); + entity.setCreate_name(SecurityUtils.getCurrentNickName()); + entity.setCreate_time(DateUtil.now()); + dataList.add(entity); + } + + // 6. 批量保存 + this.saveBatch(dataList); + + } catch (IOException e) { + throw new RuntimeException("文件读取失败: " + e.getMessage()); + } catch (Exception e) { + throw new RuntimeException("导入失败: " + e.getMessage()); + } + } + + @Override + public void downloadImportSuppTemplate(HttpServletResponse response) { + try { + byte[] byteByTemplate = FileUtil.getByteByTemplate("excel/supplier_template.xlsx"); + FileUtil.download("供应商导入模板.xlsx", byteByTemplate, response); + } catch (Exception e) { + log.error(">>> 下载导入模板失败:", e); + } + } + + @Override + public MdCsSupplierbase getByCode(String code) { + return getOne(new LambdaQueryWrapper().eq(MdCsSupplierbase::getSupp_code, code)); + } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbMeasureunitServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbMeasureunitServiceImpl.java index 92af76b..cfa6806 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbMeasureunitServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbMeasureunitServiceImpl.java @@ -125,7 +125,7 @@ public class MdPbMeasureunitServiceImpl extends ServiceImplFx$WO1isC_z!yT7vAsQ z_0L+o?^!Q<&z^bq%$}M3jFKD-EE3dX307PYeSH7BJcax)1)3;u8$Mle zlrEOisK$T<<0q)ph+VIpz2(Yt{IZubk)bV2MJ$ZRaFkC#SQaelUa+j4gkzcFe@rYx z&|iejQc^8qp0TFHrvuKcQ_aH6sLmObGnX{szB`lQYon(E&LzdN%%S*g=N~x9G9A@6m^} z-)R>r<2TG0>H&i-ZQ$^BA`azi$Zi@XxA?G~x^7 zdbRnb9)VO>nAapp$1<72*ybIuR^XU2o`#OO2}Q;9Y$%#!0@q_FjyvL$NOT|#GC7kesB4zSsQ=V zs?e9ftu%^vboS=>T6Iyo_LN(cJjBpTY!@T>xrzQ{X8kK$7r4WAcmpuI9sDI z+fCP=suoTdKZGB!zKBqyDd_N}_x2eWWE+!&)i6UMjXY;%V6ZK9JQfE(6NW1&ZWfZ zn)Fkg??vTRJ7vrgdZTluJOo11&WP?c`7o{n&N0sz%_>^ zE>x*zU9%@*EmvxRguJ~mq|YJ*KBJSfdxK4lZW>NsuMOA0THs7w z1-bDuq`WGR%i{9z9~YTe4@0phIHpl#Ba@ zC#$=sIS)H`M##gnlzlcp2xQ6(;c8pzpJlTxPZ+B`h*)q>_d$5~@ZSgLr^Dp!VSo@ zR^&|o?)iqSLuFGM344GMHJ}0|@5pWt>_^>r(l;FPiE}h%G!2A3 z<%;!UoK0F8+WIj4to=veFdAG}0k*ZFwEHWoPNvqes%+tR^_I${sg$#bVwWLl=f^Mv z@YqkEk`WqZ`z#ONCy-PnAuHF5eU07SF#seXhv%9J(Pf~7$uK2Y=eR0uO+ztGJEnQ$ zeJ#Mb;etX9UdsL4HCC@vR+aqxEA)q#Q3u2J_46)AiT83gJZ=L+{`q@L+`U_6#ml=> z<_#+=+`UUhHdk`WOx7C2KL|~as=2-Lw5`+y(DeO{WyiM(`NR6F6}eyHMYDej)(1DK z?vPeFU17o5(&y*o;#aD9geGR*hPy2ni7Qjf5cawU^;jZS*-^;Cr^3E8#ggMjnCiVYj)-Jba6WZCtrDR!;~Y7Crm|=@bcpKr4~c3-3BwSAVx)iHD;n zWkUx7H5bOhah;r}=X{R7J>g@ttBX*&noe4n2P5O5J|N*r$65^j^PvUtg1FgXX8%$d zFGd}9*FnLL^a+-Js?0Fw5en=VV7Dj?y3!ug-VcT*1oKp4&oF_~H>OJ%Rt(P4SiJ-D z7UbEpp+m=MnSJ>qyF9`!F-jOA9^r>3I|0Xp$ujX*Y8T4l`@Uop1h?UPL)W9-E&&1Z zuh`7QECK?L`sUY`$`a0YM}_aKL~>6%B|$Q|!f7u<*onTGPiTb44hHYXaMgS!3t>>g zhNF|eS?U=q!8k{A7v1i5{!TF?b9o`LRH*=;_Q-V zKu5hW+c<=BIO|F!xYVg57|b-}@$A57CTq?zG2Jjf?3`vtFZj*$$Bx=&31H#6Pctj4 z4!g5eH38S0UDLJVo#!F@$11u_Y_g|KKXA)$!oRTP2b_sL!$bJY9Q0DXJ9D8;fsfIY zmU5a4Q>+`77`-E+a1w!E&OWkd1FTi3`N@*~t#E96fXA0m;R1kK;$W!LCw-Hw*e7zx z{)SW-trs6L6L+OZ6%j&KVmR27%72t+7)<1WgOD=-@kI{U4^eeFmY-uCl4rN`tQ_Fo zuo=aT*j{K+5qG>rA&o;>p`J8{8+)p2fvP|i+*mCVEJ}8CdKtpy z(!LlO6a{YeMaI>8#W6nEBFi@{e7ci+ElRvJuNE4W?cXK=(2v34!Q~+cQ7{(+vF>>QQ#;IhNHWF&`pY8_gO8xHorY)i zQEhRm?z!e5(Q;s;%Z9q3uhUH7VeZP}%u4&Q8KCf7rCM5Y8)T}lPlt0cl@wr0Oamf9M* zn#u8Y*Y3%TQg-1?J$94L=`h@yh8D8KYS+c9O38;3!w0xl_{)z2Rm=S@QaNlSqW%{T zuz%l2q72Avv_ck$MabXd(Fw9pI9VEj%uH3CL00w_PLF$&%FkuJL(24WER4g0BbDkL zlblK_(nE5?ulfe%YSocY9Ve=lROkURgK{#1eIs(!>V@(w8Wpvx>lF+DfHKt15L1nM zKRp9O`S>)e;;{6P0`u1aR_P&_{_J(Ub=pLzddcmZE;z}8P=+pof&!ZQ=QmRD@a8x5 zp?k@~K4+-YiLrDTzE+&={76b!R9rztq*rYVFj#Cca{93-DOThE;eO{BA0R*kWK zt{g*<`6wfjHhSxI4IfY?JnHQV_4gi^ouVYJKkl3%J2LcNJ$~H183TbfKR05k%D@yh zj5iro4~Ex5?9tIQ^w~%Xqm10@3Ax)BT+ba~iwvpe2tMTgxcr7Ou9!lb9(jAWVDa6p z=Wat6cS}IJ3l{yefHNC(dPw}SNl1p8|4l|dclrIT#Su(oNNvB+?&8w5;--#vUS)rCgKojm|- zjQQic@mA6jf*b|;%cw`}v3ZRApW9Q1r6Pm-R;&j;afO~+jAUv6>lBoSz>GV1i93Rw z=^~EdyDS$3Gwjpm80nlY#iZ_eW6q{k$syp=ema{x8*|guH209}#3!6&Cjb|sz*6Rq zk|*>rsHlz`{ELGeOT~u?_LTfGxGNbkA`z)$gGAvbyrkg^A2>s@`oK$ND=`m!dJCmL zt~4#qzcHF?<~5+wYf%PbeITXHqTXM+pMBycn{1tVLp@~8vQeUKICkZy-&PC@V)Wsx3d&n*5WA}3KUe79uySnzvh6myRF&J!M~tu6Gfy+a39&}ga6zQ z9nqq+dC;}VXu5$)Jxu8Zv^X?&#QyO?$mgCkg1iRF1ZXQnY`CXzh-wM+CE{12xbz`X zIaUwydwXwISdY>_zU+v_0KW$An)fnMMyTwQwa?I-i*^89sV%EL7f*zT5C)iK85A;m!90Z3fi! zFI!r*wreC!6_rB7=;2~Z$a-#qDB3tI?lb`{jf?(CAW6gs`vxJU)!ZZ0<#AqCy;yss zvX7f&8rwhvACo=!GW8C0-4z|)z%cxGS=Wq}UJ_Xk-pBM_nO)g$vT}0Ypcr7Qh^MJj z#(HQae~xN2tTU*O1!nUMh~zL|=no2=+n8Ex96s+4QFeB#xjl%6)rukS-x?aOc}R2^ zaL!Ebr5D$mb`+w3s*;F5PWkw}yd5iU!a&I90xF50Lx_w~Mmpbmi=>oNx$iBiuOw@i zlGN1$e!`0MDVjh@n343+2ph(fZp^qiERUGsvr6swR^napTU;x>U{{N0j^=)OxUn>N zsObuFpE9xF%8W8w#3_;Cqu9%8Y)|p6W?TlGX{jPW=4ywy#9xTj3WKb@WYNPgj>ds9?-kdqwXr!LsTwk6f~4pk?TtqGN- zP25JTwA{n)I#F_2oBqgMiUk+9u3<@Hq|-GuTcWTqzYH4aTJzC~`1RtbFRS>O*QzP3 zPy)r-s&c}!4v>>9na4(G@e)rC{@X)-S9B}KneHE-_-aMffweL7if8^pds;oX&hK~Y zUQw$c;i&^uH5y8GnPPMBk7^0E8o19O&;6UXW5TZ^m_?;bTq@8m&dgTX3b*m6B88?>U&8T9f<1=OVO0`zesSRz@=j#Fc^{Vn+A7N^5YOSNtIC(NsRwwJc2qa?{_f?@2EccJt~+{n14+6haDxalkI zOP0}J@-jsxp+fR4sXvj!eMKlzjfTRGItNH&5bkq>ZJDL=nUJ=%(b*yZxoWX!%k+R0>ID<^XK5HVhT)cjYniD0tN|S@h;q zl1igeVJl{Kd-W!-%N35^C*N;qJx`*w+tkI1%yF^`o8`}wJz2+xFK$?N_mDQjD@dA8 zZlAoo=Hcu*oeUXgp*}2K=bKhe{_#enZ;4QLxyRdDjHre%vrDncJd)HXi^BtD!sW`$ zV$ON5W4V>E9jkC1&J~ZP)pfZDr!<-L(qhIM9O^-8&_*1Q`V3~xWP6!c>8;mX2Mfk^ zGtsV?zTWA4>kd447gn3*jg|Vb^`%rk63gA4VM0d%_@PURPrXBjpGRE1u!8d8gvkc~ z0T_iqGQfG%Os1k4uC57?HCfvj8hV=gDdEpKxsGBir_p)y-|H#U}#>f4WbjRF6zhbgw9|sLU9lJ;$@^Snrb!T3rYD0 z{zNjufvM4-jzKZ>sxqW!dY`EMnv$rPITUp>CIeN%N+XbQeU z(`=)TVpX`xRA)m2I3+%)s5@xO<@zfzvRLVIL^xShn`-Z>SjoI>Y(zybF>}`;B}~e6 zl;OlIp%F|{lVeJZ-cVYl6GY+~-KO2Tp2)oI3~RE=IKzYxh4= zp^XqlPqmfNOvQ%PX+xyGRy5k72grPL4NveN1p)u6w|eJ9`ZiEn|mf zSPM^0h_nSZE8=j!IomrHaPSq0rF8DDfl1jD|4^PrDe3Sqd}?t?*K&1z?b#C1harfl z1=iqROu^`TetWsvH<8f|ORo|DMV9$K;dCV`!#{fa`!kCCAzH30u2$xufbo5V@hD@f zd=i>?u>Uo)Sw5+xzc#nHzZ+AY<-OD8UEAh_fk@bTCQs04z-ETUJlpl!YUKp$Fj;yt z_%N+f%On2BQ=vuG=S)sFWi61j055I`7CVLSb8N-N;q*JRlN7hSmKI*`2Ov9%Yy`F* z_=Stq#5Tg^u*jW+{M$_ndaTmh5mF!6eg&Y2c}^Sq8*SZ)cTq~IP?8eVD>5ju?_RHEl9}lkjhlaidfeCbBIZG{F`gzg7=vQMa zV%VWc?IjZvK8q=f_dsT}K_lY!uF18r%51?DZfpQGZAL2Xx)v9`E?4UJ`){XtuduLi zk&*C_<3@yqZhJ^tuh#lHPSL-M+^+Y));I*jeGb(L#o4wISMN3JFoyGZno4hd`mOv* zx&EqP#G=C(X;v$ehuA6BqoBOiZ?%#b{)4{E%+fGc+iUQvPTQP;GbE#q6~*-xzywnO zs-W_@)_MnfL<04(FA+Yxu9vw-V7U={5r{oy8>c-;vb0~)K35Zw2)CXPub#M=`h&U| zJM#2hBZ>y(TV*+1cn9rcHSct1&U%gFwi5zS>)xVOcMnApmx;=^U%)T8zIdy!YRvQO zQAjJ|-8cC%3?60>Hvq)hBtGNoWBIABcO48zj_VHhdJLuR{m^6UjBC2PY=2q(mtc8s ziP2hY44m`6XOC$M>zU)xyZTGaLDH317esUxa3Do)JjTH$ZBbY=UMVrJTQ#~b5=hf$ zlMAY2=gL)D1Gz{R?C+^qId5m;jzmFN#~P<=@`{d<>^rM-pA9cx3@_k*cny7hY$PH@ zx0v&cVd#t2a3o2zdud1v_n|bVDxbI4+vof3@#}lbBLL#VB@vL&EsJQ#_8J+Mv^B-1 zVUqNFrMwc$2R%03(9s;VAAGhSne^N4W|F!@e}rM&k6%$&@{hH))iYJDB~!jHcqMx( zUe8|xy#o|RjN8+K{haRrV3X6LvqDeQZ(BiSnsxSwxv=I=@CF=VafAC>94g}mXz&UR za9`pT)Z!gu6>^UrqKyXDUbX6R{N2D zjrzXfL*^Hqq-1p&>scI$4#Tg`lra1eM*sVF zT&NvgbU{y38jhoAKoYH*brAEO_A~z30cG7vF>*tG{!&YhbXbi7-ZPKNh2pQMCM|{4 zQywn03yDQHZKbw*14HH|O(}RY&Y6a}gxb7W0OSC*?6vt;bN32MFAH6U%^(8g2H}Hj zm%)e{pv!_$lpL?f3L?!a+6krZhC;NTN&0$+5_tyJD`Qj4$U%vLa+W-|slC^c86h32 zbWWko7W^i4uLVol!Lw4-YL-XuP1$?hzB)Qg1@96psp5O`P{;T;1vUE^(of}9O&41i zsu%54H+lCm>^J@JmPo=b_`&1*Y(cHrh1mwL0abTgQmFAW@i6hgY~o>S+OmE;_!F#0 zTBD76KC9-K3l5(pWj-oymsH3bP~6S%!;}A>u7!sjEet?rw!c#Zo_wy250L+ThtLGb zf5-qHB}-yQWINd~x*;4I#zwP(8xH0-XI9ER1ygU|_wo;;w9jI-_M4l;l$j^LAVht* z-bnfGW!gZrK(5c88`~(EcKJo&;UhtDHZkmE|S955GZP+<6z76o-5R9J% zP{-(bsf=<23oyi4jcuzbiDn3JOXfWnF`@G3X|h+c?>~|1&LCA%5bRoH4DoD$cjOCf zyaoabcZZjRK75iG;bdA0GDybXz zUNvlfUAM)N`9qJcB3T$s=Fqk1#KdNMTg;eF)qpgA08Q5J12soa=USq>Ft>p;=!B)n z?Z0FBuhjQH!P#s34YUV=@e2e_LdYAE(fB3y*Hiw#&{eSRV8aN!3|tf&Y)(u|RFPe? zm8F>bD&!m8ofyjUbm*+7w#w!p$BQITE1O(Oq`7DQ%de38CxE^P>viDdp^zjjM<4|Ocr14}cJ0%vx zDW~`!Jff?dn}aZEk!}pc$!_w78k1+IdpIPSt>L}G8r%#?XMG{PV$};1B9(`x)s_L^ zpz0kszAWk%NE>Z->Yvk7VIG(^HpiA23 zj%*!HRR^PRBg1900_qi*$%|I5v&3}2ql_FmDBVHVFWlE$ zCsM|!HaqY5s@OlpQQzR6+4AKz^*{a;;JV?~T5}MQ6{;=9j?3PJB*#;C0wVSnRSYU@ zQIDKCn0I{nBG|0<82Hh`oQA>rnKDf}I!OOn6Dr{5d;dmwwX^9v + + + +
+ 将文件拖到此处,或 + 点击上传 +
+
+ 只能上传Excel文件,且不超过10MB + 下载模板 +
+
+ + 取 消 + 确 定 + +
+ + + + diff --git a/lms/nladmin-ui/src/views/wms/basedata/supp/supplierbase.js b/lms/nladmin-ui/src/views/wms/basedata/supp/supplierbase.js index d04cf8b..fe6fe97 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/supp/supplierbase.js +++ b/lms/nladmin-ui/src/views/wms/basedata/supp/supplierbase.js @@ -24,4 +24,20 @@ export function edit(data) { }) } -export default { add, edit, del } +export function excelImport(data) { + return request({ + url: 'api/supplierbase/importExcel', + method: 'post', + data + }) +} + +export function downloadImportSuppTemplate(data) { + return request({ + url: 'api/supplierbase/downloadImportSuppTemplate', + method: 'get', + responseType: 'blob' + }) +} + +export default { add, edit, del, downloadImportSuppTemplate, excelImport }