From 72248b160e5789edee647c351f1981d8418b291f Mon Sep 17 00:00:00 2001 From: Harry Yang Date: Mon, 12 Dec 2022 17:52:25 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E9=94=80=E5=94=AE=E5=90=88=E5=90=8C?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E8=A1=A8=E5=8D=95=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/backend/ProcessController.java | 76 ++ .../palmte/work/model/ProjectRepository.java | 6 + .../static/assets/process/业务采购流程@2x.png | Bin 0 -> 991 bytes .../static/assets/process/业务采购流程@3x.png | Bin 0 -> 1397 bytes .../static/assets/process/销售合同流程@2x.png | Bin 0 -> 993 bytes .../static/assets/process/销售合同流程@3x.png | Bin 0 -> 1568 bytes .../admin/business/process-completed.ftl | 44 ++ .../templates/admin/business/process-new.ftl | 669 ++++++++++++++++++ .../admin/business/process-review.ftl | 44 ++ 9 files changed, 839 insertions(+) create mode 100644 src/main/java/cn/palmte/work/controller/backend/ProcessController.java create mode 100644 src/main/resources/static/assets/process/业务采购流程@2x.png create mode 100644 src/main/resources/static/assets/process/业务采购流程@3x.png create mode 100644 src/main/resources/static/assets/process/销售合同流程@2x.png create mode 100644 src/main/resources/static/assets/process/销售合同流程@3x.png create mode 100644 src/main/resources/templates/admin/business/process-completed.ftl create mode 100644 src/main/resources/templates/admin/business/process-new.ftl create mode 100644 src/main/resources/templates/admin/business/process-review.ftl diff --git a/src/main/java/cn/palmte/work/controller/backend/ProcessController.java b/src/main/java/cn/palmte/work/controller/backend/ProcessController.java new file mode 100644 index 0000000..bac191e --- /dev/null +++ b/src/main/java/cn/palmte/work/controller/backend/ProcessController.java @@ -0,0 +1,76 @@ +package cn.palmte.work.controller.backend; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import cn.palmte.work.model.Project; +import cn.palmte.work.model.ProjectRepository; + +/** + * @author Harry Yang + * @since 1.0 2022/12/8 11:03 + */ +@Controller +@RequestMapping("/process") +public class ProcessController { + + private final ProjectRepository projectRepository; + + public ProcessController(ProjectRepository projectRepository) { + this.projectRepository = projectRepository; + } + + /** + * 新建流程 + */ + @GetMapping("/new") + public String newProcess() { + return "/admin/business/process-new"; + } + + /** + * 已办流程 + */ + @GetMapping("/completed") + public String completed() { + return "/admin/business/process-completed"; + } + + /** + * 待我审核 + */ + @GetMapping("/review") + public String review() { + return "/admin/business/process-review"; + } + + @ResponseBody + @GetMapping("/projects") + public List> query(@RequestParam String q) { + return projectRepository.findByProjectNoOrName(q) + .stream() + .map(project -> { + HashMap map = new HashMap<>(); + map.put("id", project.getId()); + map.put("name", project.getName()); + return map; + }) + .collect(Collectors.toList()); + } + + @ResponseBody + @GetMapping("/projects/{id}") + public Project query(@PathVariable int id) { + return projectRepository.findById(id); + } + +} diff --git a/src/main/java/cn/palmte/work/model/ProjectRepository.java b/src/main/java/cn/palmte/work/model/ProjectRepository.java index 7d359e2..76e21a4 100644 --- a/src/main/java/cn/palmte/work/model/ProjectRepository.java +++ b/src/main/java/cn/palmte/work/model/ProjectRepository.java @@ -3,6 +3,7 @@ package cn.palmte.work.model; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import javax.transaction.Transactional; import java.util.Date; @@ -38,4 +39,9 @@ public interface ProjectRepository extends JpaRepository { @Transactional(rollbackOn = Exception.class) @Query(value = "update project set approve_id=?, approve_name=? where approve_id = ?", nativeQuery = true) int batchUpdateApprove(int targetAdminId, String targetAdminName, int adminId); + + @Query(value = "select * from project where `project_no` like concat('%', :q, '%') or `name` like concat('%', :q, '%')", + nativeQuery = true) + List findByProjectNoOrName(@Param("q") String query); + } diff --git a/src/main/resources/static/assets/process/业务采购流程@2x.png b/src/main/resources/static/assets/process/业务采购流程@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..32ec71c665942c56b1e62a585a9e835676e71bb9 GIT binary patch literal 991 zcmV<510ei~P)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR918lVFJ1ONa40RR917ytkO05%EbY5)KONl8ROR7ef2R!vA$Q4~Jsj=wXy zsK6|&s2LF?kT%g~bSP4YB7&CD&L{*&D5FiSY!S7{F$2L!t8ElmAYx_XqE%3vD4YyU z!=xziZ~S@hbj};^aNmn7fnB(Be!lOV^WMGZ-8%q05}EFpOwm=-*WRrTIyDZhj(HCG z8I86+7bycZHKbPOl+c8};=qg&SW{6FEoSF`iqjmU)oti8#ThOs+lE-UJ4e6|BJ-d` z6Rn-efmACpUp?o{{f@+1G6nj9O+W&?bcpx_lsfLsbw+_F5x#|s!f(tc%{>6Y(qeXD zRHuuNbq;s{5nTeHT7}r_fr|R9FRP{9DL63_ZF^?8AfD-*;AOjG4T61jgYmK3WCkHnM>>|gsrFPkb0(m5C-Z()UK|0Z zauTM~v9_y%W8=(&$jbcO4o$X6*=LPm@DVf+l!)qlI@a1F{(Nf%NgLVzg+TaZl94b% zKvkws^gxihXcCazI$pl(rtj|{*Y)j-8)UEBzDn{vX`b2A;wx0{Q;qq8@}J50)(TlqRAI#9yKu) zD*taqBr_2@gfX*-=(e>B@-}VzcGk?s`*4d7gLcyw)ax@{hlw2D5(PQhwic43m|KdE zWBcGDb})cg3!%d9(xS+<03Vi?mm@^0)|L$NwQVg#F17II*rJK11gZY#CYno>(F-bM`GA(EhHBrA>PvoxSQ^B=M24$C7TmdsVZ85y?M+~Y%`N?0i>$ttW~s6mY2Q1NR>P? z!gx!0{Oc8{168qFdb#VuwAhK+?y`}JmU+?njj`$b!|+h$*#)u9@dvRHKJ0!|6jJ~I N002ovPDHLkV1fv?x(omS literal 0 HcmV?d00001 diff --git a/src/main/resources/static/assets/process/业务采购流程@3x.png b/src/main/resources/static/assets/process/业务采购流程@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..a17a35b9cee50963a3e6a38f40243b46cf517133 GIT binary patch literal 1397 zcmV-*1&aEKP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91C!hlW1ONa40RR91Bme*a0C|+ScmMzd-$_J4R9Fe^SWjpiRTzKY%x1UI zB()nTttQ5%o0CN^YEj5;gS4n8Z{n#45vkSP_25CY+6M8Um))vVP*AC!1VOMCO>Mio z;K75mq3tCTLowDOQn68*ZFcAL`(FA@UuWKA$8-@74(xvafA4$q=6&y*QOa@w>&9m* zD7Kz;nIT662jGK%7sf}NWPW+6xe$1=g1yse=WgaB7np;vwJ}x(9c~W72Cb~+N>3BN z$O^u+k|8K;fRe7TGLk$i&5I{bNO) zd*-5dp(*I*NTQ3SksB2D6to-edDzL6gIP9b8=Uk^`SVkRY>KjuI^H#u4L17S6 zwgQ?^ty8%AY%vujigW&N^#`^b8J2fY8F+ z!B>6XKOnNuws%^WAdwTTa(=e@X>Dt9N`h9S*D|C%0eDxuBW}ohZ$ClP0xB!-Wzz1{ z^6<7_+jBFA8@bYx@o_h40ov+Qw8i(W2?x}bMy`B|#PYq{EW$sgsCvzqLc1^^0X~re6~7b(~B+wrV#Im+nbb?#93(+ zOsPwBNPlj6`wAZ<9Q#>sI7Yz$7Ooxcfg3&fRmv#>MrHk@z=@bBm}Qy-osas;pIyr9C zYzZMHc7QMc=3qyi_<4d zPT@8h=#My%I6c*zG;+yZM@7ih1n@NnZlO>mMS@j`~s@N&%r1oUVAr6@@ zt#RPGU5PV>^t9wZ)V7xHqhls^;gcn&RJL=Gh7bF)&O=8Bi^jW9D5H=Fs;o71bp1li zPxQN>6{x1^`^3A+l8aeZZdRzV+d)mn!N3#q2McXq4e3FW{P}nrwH2G_W6;Cj zjug+CA&HWs8{c2}v9i+)WZw57tJ_zA4PtAx@BrxwA}6F*!-;WRqU2EF7PP*R%j3cc zt#q!A3;X;w))OYB-RSw7vH5rB_(HsMrQj-68!a{zz%kokaXM-(gKp6D=}vNlNSkg- zfL%BBA~k;3KL&{*hJu4Nn@J}}%XY&j37cal9TnWo<6d=|zeb$gviB6d1XKGDUsBfR zsW1DDO2!fW6~lo&q`yq^EMYF{PfDZZPdefM=j?w2pxBz!lQn8w00000NkvXXu0mjf DsF9U8 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/assets/process/销售合同流程@2x.png b/src/main/resources/static/assets/process/销售合同流程@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1899213884ec36c8bf186fd84f35d33d1ab52aed GIT binary patch literal 993 zcmV<710MW|P)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR918lVFJ1ONa40RR918UO$Q08GiY3IG5DOG!jQR7ee_R!c}!VH7^+&K1+1 zN-dgM1Z^UMqN3Uu5w(z3(ZU`stccMJsa23GH(|>nnr1Z6O53yuqS{p(Q?#O8U_nt( z6jAno!0_I`@7(G9{^PyQ4EBrnoc}z&^Y~xGX9moQ-_tZj7=0bgo=!v{!z&VenZ85< zCK?uonQmtD#;|-M0nr<44#`?OiTvcF!}_Q|X_SLblp^A!@+FueG)y~G$=QPWNrslH zK&U__#zO&DVsPpiQ>52X4T?GtQ}pcS88-AOrVuD(_tjTSp`J&_qJ{x0Fx6iOi-DdJs7S4VwVqwn)Tup|73KsoFYu;VghCQLX=P z#m}N@+uV6Ot%yp+FxomqH&9cXMNk8mBHv5w)9rAEMoQ%Ec{7AGT3ulx&vX=ZT^F5K zm4jFs8WbWUab=6D`Mc+B(^EMC**6$HxEoiaJqS zuC|6YiK=4D;jq<9(Q`4re4L9{lT79vOyk%EKiz|axb)Gn?Oa{{8 zbD&bD0uD|`d%rns0=lJQp{VQ;F7Q3VCsp(S&)pERiU&$j#)OoEX0bTS&`ksRB#;gM z+_ru$S~>5H3Km3}cA~10&VI9gCZLysfoM5Yb4v04d)J|&u|k%f2w)IUT7f}J?x3XB zIksh3rgy0&wE1c)Pt`Y=I=m?x(Y7x2z#2E<);S0|hHBr-74!p(5&bAoqiU%9Y{_SN z5dIh8f4Zy>o*S>Ome!!3!)WTSvc_|i0ACr2YG?qyZ|A7(6xh?)#pnM5Z`UEsrIO1O P00000NkvXXu0mjfKtjJh literal 0 HcmV?d00001 diff --git a/src/main/resources/static/assets/process/销售合同流程@3x.png b/src/main/resources/static/assets/process/销售合同流程@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..2ab1d02d0ff0bbc60ad29b2109725fb992af9e4a GIT binary patch literal 1568 zcmV+*2H*LKP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91C!hlW1ONa40RR91CjbBd06sLrr~m*3ib+I4R9FecSX*daRS=yyHxI2f zikQ|EgP>3)f>nXrY1##S%qn$-TFd_=q1OBJ@WDKdL3w9PcFnnWPR{e*bCO06gqb~i?X_pm%zoT3;mh|KBT~MG zCA73g3^f+Dl}tqA6Lcwn(h;nRB1KyMMt_l6+7YC5xJa4EKbbd?pW8*Mq3fV&h;lN$ zo?|*1naJ;r>fYpPs3dE&6AO7wbp-4sv`;{;Q=12rPBn@YkW8ry;Jj`2!Me>45}kAO zq?x7tYEJ~Z0Hz=M3w*oiRveqMpl_w>u8&B`X~gPTHHw^d=soy(tJ+*3>SFbbp;0x) zNjEjbv_)1Zf6zY?Aj0#B+b)kPEuZNk8+u!88YX{eL@&kB&~*wZ6U+&wJ<=#mJ!g(+ z2v1ickZbAgrw2{501AEP%S52PozKop(U<_>(ke+~<;(~&#pjPs-!l`*XhV$5b{B2)vPY)Me5FIQUB^~Eixikf z1`65A(R#~JWUKj!;K_2wp%48w)dOUG9ehGNDoGS?Y;(UwQ-H{b$4uAYT%7P@L=Sit85BmNZCSLnFV7P=Ku1w) zt?+QtF7j0Z4S0rS?!mSQEYmREi9ru5uXryvlU_P53DGbJHwHY@`%MR`jCkx&z4p11 zOYNX%0YpNB=@CqN7>DR76v+L8(pYES0SJRF1X%tnA`!D+M9P<$45JU1hEkJAkgh1V zvys7zb9R9XG8i>hBJtg5nPR4~!Ku4p*3bvY@)9Aon7SKkXm9Fe!m9xpD4E6aJ*-4x za}4eJdz!{mlOZ61`V*4yXVuryG6ePKa7U!=lx`^O#a)p;7~uJNy#vm|Z8tk{z(ut& zeO=#7Z9SWKGCYq}zMTFa$HW^$cTJ7a$6?2$EziPiw`Ls60&Un!u|A|PxCJ^epW%Un z(ocYbybmYoX}@hDda>VZ!`-_t3rC`JAUTD@^;5{ITeRwg>^=(asfr5$5}m_|FDZW@ zgr8p%WL3V%P8EEjb4cq3q;;eUsn?C0`T#c96P_VXVfrd((T?5@J`>j+wk6&Ta84e` z@1{9<;ZzHLct02>*EYC*tXoQ}dLHL-u?-EG-0=&v8L4T-JMc10hj2%Kr+Af#&M9D_ z5{`{G-9U{yxA2s36>M_^3)vjUi%0ERyhTrHU!}A@inJb5U^R)f$}Q`?r93>-F?Fms zVAeUa@s0@||ALX-?EUacjvUh%UNO5P?^bWtIR%kufn(2&XiR^uSV>Jg*Yb=s z5xL{QuNOV?F+GL!?pJ%VbBeeE5)YyG@hEyssfv3|n=?b7Ya6Nm9$C6W+baK?8^X}N zI-y8*=q7&~*Vl4?TlGbE4pI3HKj7Esgd&mF;6uaE_0JEPtNj?!6E{Q{n6(Y3zOk;Q zHNEY8Av_kxM|0RVahYz0?VR7fC^ZMi&Y*@?%S3Xfjr>JNuvs?wC$6Y7P2*jiw^F@Y zD>B7&TJ)J(M=nx(CdXu;p;|l=-m&UysTB_Xs$^F}qNW;^2Sxpp>RBYBfBs)mbLH15 SN20m_0000 +<#import "../../common/defaultLayout.ftl" as defaultLayout> +<@defaultLayout.layout> + + +
{{ message }}
+ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/templates/admin/business/process-new.ftl b/src/main/resources/templates/admin/business/process-new.ftl new file mode 100644 index 0000000..fef3f9d --- /dev/null +++ b/src/main/resources/templates/admin/business/process-new.ftl @@ -0,0 +1,669 @@ +<#assign base=request.contextPath /> +<#import "../../common/defaultLayout.ftl" as defaultLayout> +<@defaultLayout.layout> +<#-- --> + + + +
+
+
+
业务应用 / + {{subTitle}}
+
+ +
+
+ + + +
+ + <#-- 业务采购流程 --> +
+
+
项目编号
+
+ +
+ +
+
+ + <#-- 选择 业务采购清单明细 --> + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + <#-- 新增销售合同流程 --> + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+ +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + 点击上传 +
只能上传PDF、excel、word、图片、压缩包,且不超过50MB
+
+
+
+ +
+ + 详细清单 + +
+ +
+ +
+ + <#-- 新增业务采购合同流程 --> + +
+
+
+ +
+ + + + +
+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/templates/admin/business/process-review.ftl b/src/main/resources/templates/admin/business/process-review.ftl new file mode 100644 index 0000000..f82c5c9 --- /dev/null +++ b/src/main/resources/templates/admin/business/process-review.ftl @@ -0,0 +1,44 @@ +<#assign base=request.contextPath /> +<#import "../../common/defaultLayout.ftl" as defaultLayout> +<@defaultLayout.layout> + + +
{{ message }}
+ + + + + + + + + + + + + + + + + + + + + + From b313dd6f6b5584853c231b5134a323c7712ede0e Mon Sep 17 00:00:00 2001 From: Harry Yang Date: Tue, 13 Dec 2022 17:37:06 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E9=94=80=E5=94=AE=E5=90=88=E5=90=8C?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E8=A1=A8=E5=8D=95=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/backend/ProcessController.java | 124 +++- .../work/model/enums/ProcessStatus.java | 12 + .../work/model/enums/ProcessTaxRate.java | 23 + .../cn/palmte/work/model/enums/SealType.java | 41 ++ .../templates/admin/business/process-new.ftl | 623 +++++++++++------- 5 files changed, 568 insertions(+), 255 deletions(-) create mode 100644 src/main/java/cn/palmte/work/model/enums/ProcessStatus.java create mode 100644 src/main/java/cn/palmte/work/model/enums/ProcessTaxRate.java create mode 100644 src/main/java/cn/palmte/work/model/enums/SealType.java diff --git a/src/main/java/cn/palmte/work/controller/backend/ProcessController.java b/src/main/java/cn/palmte/work/controller/backend/ProcessController.java index bac191e..734da7d 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProcessController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProcessController.java @@ -1,19 +1,27 @@ package cn.palmte.work.controller.backend; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import cn.palmte.work.model.DeptRepository; import cn.palmte.work.model.Project; import cn.palmte.work.model.ProjectRepository; +import cn.palmte.work.model.enums.ProcessStatus; +import cn.palmte.work.model.enums.SealType; /** * @author Harry Yang @@ -22,18 +30,43 @@ import cn.palmte.work.model.ProjectRepository; @Controller @RequestMapping("/process") public class ProcessController { + static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + private final DeptRepository deptRepository; private final ProjectRepository projectRepository; - public ProcessController(ProjectRepository projectRepository) { + public ProcessController(ProjectRepository projectRepository, DeptRepository deptRepository) { this.projectRepository = projectRepository; + this.deptRepository = deptRepository; + } + + static class FormMetadata { + // 部门 + + // 印章类型 + public Map sealTypes; + + // 税率 + public List taxRate; + } + + @ResponseBody + @GetMapping("/form/metadata") + public FormMetadata metadata() { + FormMetadata metadata = new FormMetadata(); + metadata.sealTypes = Arrays.stream(SealType.values()) + .collect(Collectors.toMap(SealType::getDescription, Enum::name)); + metadata.taxRate = Arrays.asList(0, 1, 3, 4, 5, 6, 9, 10, 13); + return metadata; } /** * 新建流程 */ @GetMapping("/new") - public String newProcess() { + public String newProcess(Model model) { + model.addAttribute("sealTypes", SealType.values()); + model.addAttribute("taxRate", Arrays.asList(0, 1, 3, 4, 5, 6, 9, 10, 13)); return "/admin/business/process-new"; } @@ -67,10 +100,95 @@ public class ProcessController { .collect(Collectors.toList()); } + public static class ProjectReturnValue { + public final String applyDate = LocalDate.now().format(formatter); + public String projectNo; + public Integer projectId; + + // 申请人 + public String applyPersonName; + + // 项目类型 + public String projectType; + // 合作类型 + public String cooperationType; + + // 合同金额 + public String contractAmount; + + } + @ResponseBody @GetMapping("/projects/{id}") public Project query(@PathVariable int id) { - return projectRepository.findById(id); + Project byId = projectRepository.findById(id); + + // projectType + // cooperationType + return byId; + } + + // 销售合同流程 + + static class SaleContractForm { + + public Integer projectId; + + // 项目编号 + public String projectNo; + + public LocalDate applyDate; + + // 项目标题 + public String title; + + // 项目类型 + public String projectType; + + // 合作类型 + public String cooperationType; + + // 申请人 + public String applyPersonName; + + public String applyDept; + + // 申请部门领导 + + public String applyDeptLeaderName; + + // 申请人电话 + public String applyPersonPhone; + + // 合同编号 + public String contractNo; + + // 合同名称 + public String contractName; + + // 客户名称 + public String clientName; + + // 用印类型 + public String[] sealType; + + // 税率 + public String taxRate; + + // 是否垫资 + + // 收款条件 + public String paymentTerms; + + public ProcessStatus status; + + } + + @ResponseBody + @PostMapping + public void post(SaleContractForm form) { + System.out.println(form); + } } diff --git a/src/main/java/cn/palmte/work/model/enums/ProcessStatus.java b/src/main/java/cn/palmte/work/model/enums/ProcessStatus.java new file mode 100644 index 0000000..f6b4ca0 --- /dev/null +++ b/src/main/java/cn/palmte/work/model/enums/ProcessStatus.java @@ -0,0 +1,12 @@ +package cn.palmte.work.model.enums; + +/** + * @author Harry Yang + * @since 1.0 2022/12/13 16:12 + */ +public enum ProcessStatus { + + draft, + completed + ; +} diff --git a/src/main/java/cn/palmte/work/model/enums/ProcessTaxRate.java b/src/main/java/cn/palmte/work/model/enums/ProcessTaxRate.java new file mode 100644 index 0000000..7004b84 --- /dev/null +++ b/src/main/java/cn/palmte/work/model/enums/ProcessTaxRate.java @@ -0,0 +1,23 @@ +package cn.palmte.work.model.enums; + +/** + * 业务应用里面的税率 + * + * @author Harry Yang + * @since 1.0 2022/12/13 15:41 + */ +public enum ProcessTaxRate { + + ; + + private final String description; + + ProcessTaxRate(String description) { + this.description = description; + } + + public String getDescription() { + return description; + } + +} diff --git a/src/main/java/cn/palmte/work/model/enums/SealType.java b/src/main/java/cn/palmte/work/model/enums/SealType.java new file mode 100644 index 0000000..817f469 --- /dev/null +++ b/src/main/java/cn/palmte/work/model/enums/SealType.java @@ -0,0 +1,41 @@ +package cn.palmte.work.model.enums; + +/** + * 印章类型 + * + * @author Harry Yang + * @since 1.0 2022/12/13 15:25 + */ +public enum SealType { + + // "公章" + // "法人章" + // "合同专用章" + // "项目章" + // "法人签名章" + // "总经理签名章" + // "财务专用章" + // "电子合同章" + // "其他" + + official("公章"), + legal("法人章"), + contract_special("合同专用章"), + project("项目章"), + legal_person_signature("法人签名章"), + general_manager_signature("总经理签名章"), + financial("财务专用章"), + electronic_contract("电子合同章"), + other("其他"); + + private final String description; + + SealType(String description) { + this.description = description; + } + + public String getDescription() { + return description; + } + +} diff --git a/src/main/resources/templates/admin/business/process-new.ftl b/src/main/resources/templates/admin/business/process-new.ftl index fef3f9d..6eae1b4 100644 --- a/src/main/resources/templates/admin/business/process-new.ftl +++ b/src/main/resources/templates/admin/business/process-new.ftl @@ -21,6 +21,13 @@ display: none !important; } + .el-textarea .el-input__count { + line-height: 15px; + } + + .admin-content-body { + margin-bottom: 100px; + }
@@ -32,7 +39,7 @@
- @@ -55,12 +62,265 @@ 查询
+
+ + <#-- 新增销售合同流程 --> + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+ +
+ + + + + + + +
+ +
+ + + <#list sealTypes as sealType> + ${sealType.description} + + + +
+ +
+ + + + <#list taxRate as rate> + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + 点击上传 +
只能上传PDF、excel、word、图片、压缩包,且不超过50MB
+
+
+
+ +
+ + 详细清单 + +
+ +
+ + <#-- --> + + 返回上一级 + 保存草稿 + 提交 + + + +
+ + <#-- 销售合同清单明细 --> + +
+ + + + + + + + + + + + + + + + + + + + 保存并返回上一级 + + +
+ + <#-- 新增业务采购合同流程 --> + +
+
+
+ +
+ + + + +
+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ +
+ +
+ + + + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+
<#-- 选择 业务采购清单明细 -->
- + @@ -91,236 +351,6 @@
- <#-- 新增销售合同流程 --> - -
- - -
- - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - - - - -
- -
- - - - - - - -
- -
- - - - - - - - - - - - - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -
- - - -
- -
- - - 点击上传 -
只能上传PDF、excel、word、图片、压缩包,且不超过50MB
-
-
-
- -
- - 详细清单 - -
- -
- -
- - <#-- 新增业务采购合同流程 --> - -
-
-
- -
- - - - -
- -
- - -
-
- - -
-
- - -
-
- - -
- -
- -
- -
- - - - -
- -
- - -
- -
- - -
- -
- -
- -
- -
- -
- -
- -
- @@ -333,13 +363,32 @@ From 3204b10b5fd7e3631172fb5eb8fce1a6acd0eca9 Mon Sep 17 00:00:00 2001 From: Harry Yang Date: Wed, 14 Dec 2022 14:51:18 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E9=94=80=E5=94=AE=E5=90=88=E5=90=8C?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E6=98=8E=E7=BB=86=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../templates/admin/business/process-new.ftl | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/main/resources/templates/admin/business/process-new.ftl b/src/main/resources/templates/admin/business/process-new.ftl index fc360aa..d3f5a8a 100644 --- a/src/main/resources/templates/admin/business/process-new.ftl +++ b/src/main/resources/templates/admin/business/process-new.ftl @@ -239,12 +239,11 @@ - + - - - - + + +