瀏覽代碼

合同评审

lamphua 1 年之前
父節點
當前提交
323c34038c
共有 34 個文件被更改,包括 3826 次插入73 次删除
  1. 104
    0
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractController.java
  2. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java
  3. 1
    1
      oa-back/ruoyi-common/src/main/java/com/ruoyi/common/config/RuoYiConfig.java
  4. 295
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcContract.java
  5. 124
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcContractComment.java
  6. 111
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcContractPayment.java
  7. 125
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcContractWork.java
  8. 15
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcProject.java
  9. 61
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcContractCommentMapper.java
  10. 61
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcContractMapper.java
  11. 61
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcContractPaymentMapper.java
  12. 61
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcContractWorkMapper.java
  13. 61
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcContractCommentService.java
  14. 61
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcContractPaymentService.java
  15. 61
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcContractService.java
  16. 61
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcContractWorkService.java
  17. 93
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcContractCommentServiceImpl.java
  18. 93
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcContractPaymentServiceImpl.java
  19. 93
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcContractServiceImpl.java
  20. 93
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcContractWorkServiceImpl.java
  21. 83
    0
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractCommentMapper.xml
  22. 147
    0
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractMapper.xml
  23. 82
    0
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractPaymentMapper.xml
  24. 87
    0
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractWorkMapper.xml
  25. 6
    1
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectMapper.xml
  26. 168
    70
      oa-back/sql/sql.sql
  27. 44
    0
      oa-ui/src/api/oa/contract/contract.js
  28. 44
    0
      oa-ui/src/api/oa/contract/contractComment.js
  29. 44
    0
      oa-ui/src/api/oa/contract/contractPayment.js
  30. 44
    0
      oa-ui/src/api/oa/contract/contractWork.js
  31. 324
    0
      oa-ui/src/views/oa/contract/comment.vue
  32. 481
    0
      oa-ui/src/views/oa/contract/index.vue
  33. 315
    0
      oa-ui/src/views/oa/contract/payment.vue
  34. 321
    0
      oa-ui/src/views/oa/contract/work.vue

+ 104
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractController.java 查看文件

@@ -0,0 +1,104 @@
1
+package com.ruoyi.web.controller.oa;
2
+
3
+import java.util.List;
4
+import javax.servlet.http.HttpServletResponse;
5
+import org.springframework.security.access.prepost.PreAuthorize;
6
+import org.springframework.beans.factory.annotation.Autowired;
7
+import org.springframework.web.bind.annotation.GetMapping;
8
+import org.springframework.web.bind.annotation.PostMapping;
9
+import org.springframework.web.bind.annotation.PutMapping;
10
+import org.springframework.web.bind.annotation.DeleteMapping;
11
+import org.springframework.web.bind.annotation.PathVariable;
12
+import org.springframework.web.bind.annotation.RequestBody;
13
+import org.springframework.web.bind.annotation.RequestMapping;
14
+import org.springframework.web.bind.annotation.RestController;
15
+import com.ruoyi.common.annotation.Log;
16
+import com.ruoyi.common.core.controller.BaseController;
17
+import com.ruoyi.common.core.domain.AjaxResult;
18
+import com.ruoyi.common.enums.BusinessType;
19
+import com.ruoyi.oa.domain.CmcContract;
20
+import com.ruoyi.oa.service.ICmcContractService;
21
+import com.ruoyi.common.utils.poi.ExcelUtil;
22
+import com.ruoyi.common.core.page.TableDataInfo;
23
+
24
+/**
25
+ * cmc合同评审Controller
26
+ * 
27
+ * @author cmc
28
+ * @date 2024-03-15
29
+ */
30
+@RestController
31
+@RequestMapping("/oa/contract")
32
+public class CmcContractController extends BaseController
33
+{
34
+    @Autowired
35
+    private ICmcContractService cmcContractService;
36
+
37
+    /**
38
+     * 查询cmc合同评审列表
39
+     */
40
+    @PreAuthorize("@ss.hasPermi('oa:contract:list')")
41
+    @GetMapping("/list")
42
+    public TableDataInfo list(CmcContract cmcContract)
43
+    {
44
+        startPage();
45
+        List<CmcContract> list = cmcContractService.selectCmcContractList(cmcContract);
46
+        return getDataTable(list);
47
+    }
48
+
49
+    /**
50
+     * 导出cmc合同评审列表
51
+     */
52
+    @PreAuthorize("@ss.hasPermi('oa:contract:export')")
53
+    @Log(title = "cmc合同评审", businessType = BusinessType.EXPORT)
54
+    @PostMapping("/export")
55
+    public void export(HttpServletResponse response, CmcContract cmcContract)
56
+    {
57
+        List<CmcContract> list = cmcContractService.selectCmcContractList(cmcContract);
58
+        ExcelUtil<CmcContract> util = new ExcelUtil<CmcContract>(CmcContract.class);
59
+        util.exportExcel(response, list, "cmc合同评审数据");
60
+    }
61
+
62
+    /**
63
+     * 获取cmc合同评审详细信息
64
+     */
65
+    @PreAuthorize("@ss.hasPermi('oa:contract:query')")
66
+    @GetMapping(value = "/{contractId}")
67
+    public AjaxResult getInfo(@PathVariable("contractId") String contractId)
68
+    {
69
+        return success(cmcContractService.selectCmcContractByContractId(contractId));
70
+    }
71
+
72
+    /**
73
+     * 新增cmc合同评审
74
+     */
75
+    @PreAuthorize("@ss.hasPermi('oa:contract:add')")
76
+    @Log(title = "cmc合同评审", businessType = BusinessType.INSERT)
77
+    @PostMapping
78
+    public AjaxResult add(@RequestBody CmcContract cmcContract)
79
+    {
80
+        return toAjax(cmcContractService.insertCmcContract(cmcContract));
81
+    }
82
+
83
+    /**
84
+     * 修改cmc合同评审
85
+     */
86
+    @PreAuthorize("@ss.hasPermi('oa:contract:edit')")
87
+    @Log(title = "cmc合同评审", businessType = BusinessType.UPDATE)
88
+    @PutMapping
89
+    public AjaxResult edit(@RequestBody CmcContract cmcContract)
90
+    {
91
+        return toAjax(cmcContractService.updateCmcContract(cmcContract));
92
+    }
93
+
94
+    /**
95
+     * 删除cmc合同评审
96
+     */
97
+    @PreAuthorize("@ss.hasPermi('oa:contract:remove')")
98
+    @Log(title = "cmc合同评审", businessType = BusinessType.DELETE)
99
+	@DeleteMapping("/{contractIds}")
100
+    public AjaxResult remove(@PathVariable String[] contractIds)
101
+    {
102
+        return toAjax(cmcContractService.deleteCmcContractByContractIds(contractIds));
103
+    }
104
+}

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java 查看文件

@@ -35,7 +35,7 @@ public class SysNoticeController extends BaseController
35 35
     /**
36 36
      * 获取通知公告列表
37 37
      */
38
-    @PreAuthorize("@ss.hasPermi('system:notice:list')")
38
+//    @PreAuthorize("@ss.hasPermi('system:notice:list')")
39 39
     @GetMapping("/list")
40 40
     public TableDataInfo list(SysNotice notice)
41 41
     {

+ 1
- 1
oa-back/ruoyi-common/src/main/java/com/ruoyi/common/config/RuoYiConfig.java 查看文件

@@ -9,7 +9,7 @@ import org.springframework.stereotype.Component;
9 9
  * @author ruoyi
10 10
  */
11 11
 @Component
12
-@ConfigurationProperties(prefix = "ruoyi")
12
+@ConfigurationProperties(prefix = "cmc")
13 13
 public class RuoYiConfig
14 14
 {
15 15
     /** 项目名称 */

+ 295
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcContract.java 查看文件

@@ -0,0 +1,295 @@
1
+package com.ruoyi.oa.domain;
2
+
3
+import java.math.BigDecimal;
4
+import java.util.Date;
5
+import com.fasterxml.jackson.annotation.JsonFormat;
6
+import org.apache.commons.lang3.builder.ToStringBuilder;
7
+import org.apache.commons.lang3.builder.ToStringStyle;
8
+import com.ruoyi.common.annotation.Excel;
9
+import com.ruoyi.common.core.domain.BaseEntity;
10
+
11
+/**
12
+ * cmc合同评审对象 cmc_contract
13
+ *
14
+ * @author cmc
15
+ * @date 2024-03-15
16
+ */
17
+public class CmcContract extends BaseEntity
18
+{
19
+    private static final long serialVersionUID = 1L;
20
+
21
+    /** 合同id(ht2024w002) */
22
+    private String contractId;
23
+
24
+    /** 合同编号 */
25
+    @Excel(name = "合同编号")
26
+    private String contractNumber;
27
+
28
+    /** 合同名称 */
29
+    @Excel(name = "合同名称")
30
+    private String contractName;
31
+
32
+    /** 甲方单位 */
33
+    @Excel(name = "甲方单位")
34
+    private String partyA;
35
+
36
+    /** 甲方单位联系人 */
37
+    @Excel(name = "甲方单位联系人")
38
+    private String contactPerson;
39
+
40
+    /** 甲方单位联系电话 */
41
+    @Excel(name = "甲方单位联系电话")
42
+    private String telephone;
43
+
44
+    /** 项目类型 */
45
+    @Excel(name = "项目类型")
46
+    private String projectType;
47
+
48
+    /** 项目来源(0院内、1院外) */
49
+    @Excel(name = "项目来源", readConverterExp = "0=院内、1院外")
50
+    private String projectSource;
51
+
52
+    /** 拟承担部门 */
53
+    @Excel(name = "拟承担部门")
54
+    private String undertakingDept;
55
+
56
+    /** 合同金额 */
57
+    @Excel(name = "合同金额")
58
+    private BigDecimal amount;
59
+
60
+    /** 履约保证金 */
61
+    @Excel(name = "履约保证金")
62
+    private BigDecimal deposit;
63
+
64
+    /** 合同文件 */
65
+    @Excel(name = "合同文件")
66
+    private String contractDocument;
67
+
68
+    /** 拟稿人 */
69
+    @Excel(name = "拟稿人")
70
+    private Long drafter;
71
+
72
+    /** 拟稿日期 */
73
+    @JsonFormat(pattern = "yyyy-MM-dd")
74
+    @Excel(name = "拟稿日期", width = 30, dateFormat = "yyyy-MM-dd")
75
+    private Date draftTime;
76
+
77
+    /** 关联项目 */
78
+    @Excel(name = "关联项目")
79
+    private String projectIds;
80
+
81
+    /** 签订日期 */
82
+    @JsonFormat(pattern = "yyyy-MM-dd")
83
+    @Excel(name = "签订日期", width = 30, dateFormat = "yyyy-MM-dd")
84
+    private Date signDate;
85
+
86
+    /** 签订备注 */
87
+    @Excel(name = "签订备注")
88
+    private String signRemark;
89
+
90
+    /** 签订扫描件 */
91
+    @Excel(name = "签订扫描件")
92
+    private String signScan;
93
+
94
+    /** 评审方式 */
95
+    @Excel(name = "评审方式")
96
+    private String commentType;
97
+
98
+    public void setContractId(String contractId)
99
+    {
100
+        this.contractId = contractId;
101
+    }
102
+
103
+    public String getContractId()
104
+    {
105
+        return contractId;
106
+    }
107
+    public void setContractNumber(String contractNumber)
108
+    {
109
+        this.contractNumber = contractNumber;
110
+    }
111
+
112
+    public String getContractNumber()
113
+    {
114
+        return contractNumber;
115
+    }
116
+    public void setContractName(String contractName)
117
+    {
118
+        this.contractName = contractName;
119
+    }
120
+
121
+    public String getContractName()
122
+    {
123
+        return contractName;
124
+    }
125
+    public void setPartyA(String partyA)
126
+    {
127
+        this.partyA = partyA;
128
+    }
129
+
130
+    public String getPartyA()
131
+    {
132
+        return partyA;
133
+    }
134
+    public void setContactPerson(String contactPerson)
135
+    {
136
+        this.contactPerson = contactPerson;
137
+    }
138
+
139
+    public String getContactPerson()
140
+    {
141
+        return contactPerson;
142
+    }
143
+    public void setTelephone(String telephone)
144
+    {
145
+        this.telephone = telephone;
146
+    }
147
+
148
+    public String getTelephone()
149
+    {
150
+        return telephone;
151
+    }
152
+    public void setProjectType(String projectType)
153
+    {
154
+        this.projectType = projectType;
155
+    }
156
+
157
+    public String getProjectType()
158
+    {
159
+        return projectType;
160
+    }
161
+    public void setProjectSource(String projectSource)
162
+    {
163
+        this.projectSource = projectSource;
164
+    }
165
+
166
+    public String getProjectSource()
167
+    {
168
+        return projectSource;
169
+    }
170
+    public void setUndertakingDept(String undertakingDept)
171
+    {
172
+        this.undertakingDept = undertakingDept;
173
+    }
174
+
175
+    public String getUndertakingDept()
176
+    {
177
+        return undertakingDept;
178
+    }
179
+    public void setAmount(BigDecimal amount)
180
+    {
181
+        this.amount = amount;
182
+    }
183
+
184
+    public BigDecimal getAmount()
185
+    {
186
+        return amount;
187
+    }
188
+    public void setDeposit(BigDecimal deposit)
189
+    {
190
+        this.deposit = deposit;
191
+    }
192
+
193
+    public BigDecimal getDeposit()
194
+    {
195
+        return deposit;
196
+    }
197
+    public void setContractDocument(String contractDocument)
198
+    {
199
+        this.contractDocument = contractDocument;
200
+    }
201
+
202
+    public String getContractDocument()
203
+    {
204
+        return contractDocument;
205
+    }
206
+    public void setDrafter(Long drafter)
207
+    {
208
+        this.drafter = drafter;
209
+    }
210
+
211
+    public Long getDrafter()
212
+    {
213
+        return drafter;
214
+    }
215
+    public void setDraftTime(Date draftTime)
216
+    {
217
+        this.draftTime = draftTime;
218
+    }
219
+
220
+    public Date getDraftTime()
221
+    {
222
+        return draftTime;
223
+    }
224
+    public void setProjectIds(String projectIds)
225
+    {
226
+        this.projectIds = projectIds;
227
+    }
228
+
229
+    public String getProjectIds()
230
+    {
231
+        return projectIds;
232
+    }
233
+    public void setSignDate(Date signDate)
234
+    {
235
+        this.signDate = signDate;
236
+    }
237
+
238
+    public Date getSignDate()
239
+    {
240
+        return signDate;
241
+    }
242
+    public void setSignRemark(String signRemark)
243
+    {
244
+        this.signRemark = signRemark;
245
+    }
246
+
247
+    public String getSignRemark()
248
+    {
249
+        return signRemark;
250
+    }
251
+    public void setSignScan(String signScan)
252
+    {
253
+        this.signScan = signScan;
254
+    }
255
+
256
+    public String getSignScan()
257
+    {
258
+        return signScan;
259
+    }
260
+    public void setCommentType(String commentType)
261
+    {
262
+        this.commentType = commentType;
263
+    }
264
+
265
+    public String getCommentType()
266
+    {
267
+        return commentType;
268
+    }
269
+
270
+    @Override
271
+    public String toString() {
272
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
273
+                .append("contractId", getContractId())
274
+                .append("contractNumber", getContractNumber())
275
+                .append("contractName", getContractName())
276
+                .append("partyA", getPartyA())
277
+                .append("contactPerson", getContactPerson())
278
+                .append("telephone", getTelephone())
279
+                .append("projectType", getProjectType())
280
+                .append("projectSource", getProjectSource())
281
+                .append("undertakingDept", getUndertakingDept())
282
+                .append("amount", getAmount())
283
+                .append("deposit", getDeposit())
284
+                .append("contractDocument", getContractDocument())
285
+                .append("drafter", getDrafter())
286
+                .append("draftTime", getDraftTime())
287
+                .append("projectIds", getProjectIds())
288
+                .append("remark", getRemark())
289
+                .append("signDate", getSignDate())
290
+                .append("signRemark", getSignRemark())
291
+                .append("signScan", getSignScan())
292
+                .append("commentType", getCommentType())
293
+                .toString();
294
+    }
295
+}

+ 124
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcContractComment.java 查看文件

@@ -0,0 +1,124 @@
1
+package com.ruoyi.oa.domain;
2
+
3
+import java.util.Date;
4
+import com.fasterxml.jackson.annotation.JsonFormat;
5
+import org.apache.commons.lang3.builder.ToStringBuilder;
6
+import org.apache.commons.lang3.builder.ToStringStyle;
7
+import com.ruoyi.common.annotation.Excel;
8
+import com.ruoyi.common.core.domain.BaseEntity;
9
+
10
+/**
11
+ * cmc合同意见对象 cmc_contract_comment
12
+ * 
13
+ * @author cmc
14
+ * @date 2024-03-15
15
+ */
16
+public class CmcContractComment extends BaseEntity
17
+{
18
+    private static final long serialVersionUID = 1L;
19
+
20
+    /** 合同会审意见id */
21
+    private String commentId;
22
+
23
+    /** 合同id */
24
+    @Excel(name = "合同id")
25
+    private String contractId;
26
+
27
+    /** 会审部门 */
28
+    @Excel(name = "会审部门")
29
+    private Long deptId;
30
+
31
+    /** 会审人 */
32
+    @Excel(name = "会审人")
33
+    private Long userId;
34
+
35
+    /** 会审意见 */
36
+    @Excel(name = "会审意见")
37
+    private String comment;
38
+
39
+    /** 会审日期 */
40
+    @JsonFormat(pattern = "yyyy-MM-dd")
41
+    @Excel(name = "会审日期", width = 30, dateFormat = "yyyy-MM-dd")
42
+    private Date commentTime;
43
+
44
+    /** 是否签名 */
45
+    @Excel(name = "是否签名")
46
+    private String isSign;
47
+
48
+    public void setCommentId(String commentId) 
49
+    {
50
+        this.commentId = commentId;
51
+    }
52
+
53
+    public String getCommentId() 
54
+    {
55
+        return commentId;
56
+    }
57
+    public void setContractId(String contractId) 
58
+    {
59
+        this.contractId = contractId;
60
+    }
61
+
62
+    public String getContractId() 
63
+    {
64
+        return contractId;
65
+    }
66
+    public void setDeptId(Long deptId) 
67
+    {
68
+        this.deptId = deptId;
69
+    }
70
+
71
+    public Long getDeptId() 
72
+    {
73
+        return deptId;
74
+    }
75
+    public void setUserId(Long userId) 
76
+    {
77
+        this.userId = userId;
78
+    }
79
+
80
+    public Long getUserId() 
81
+    {
82
+        return userId;
83
+    }
84
+    public void setComment(String comment) 
85
+    {
86
+        this.comment = comment;
87
+    }
88
+
89
+    public String getComment() 
90
+    {
91
+        return comment;
92
+    }
93
+    public void setCommentTime(Date commentTime) 
94
+    {
95
+        this.commentTime = commentTime;
96
+    }
97
+
98
+    public Date getCommentTime() 
99
+    {
100
+        return commentTime;
101
+    }
102
+    public void setIsSign(String isSign) 
103
+    {
104
+        this.isSign = isSign;
105
+    }
106
+
107
+    public String getIsSign() 
108
+    {
109
+        return isSign;
110
+    }
111
+
112
+    @Override
113
+    public String toString() {
114
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
115
+            .append("commentId", getCommentId())
116
+            .append("contractId", getContractId())
117
+            .append("deptId", getDeptId())
118
+            .append("userId", getUserId())
119
+            .append("comment", getComment())
120
+            .append("commentTime", getCommentTime())
121
+            .append("isSign", getIsSign())
122
+            .toString();
123
+    }
124
+}

+ 111
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcContractPayment.java 查看文件

@@ -0,0 +1,111 @@
1
+package com.ruoyi.oa.domain;
2
+
3
+import java.util.Date;
4
+import com.fasterxml.jackson.annotation.JsonFormat;
5
+import org.apache.commons.lang3.builder.ToStringBuilder;
6
+import org.apache.commons.lang3.builder.ToStringStyle;
7
+import com.ruoyi.common.annotation.Excel;
8
+import com.ruoyi.common.core.domain.BaseEntity;
9
+
10
+/**
11
+ * cmc合同回款对象 cmc_contract_payment
12
+ * 
13
+ * @author cmc
14
+ * @date 2024-03-15
15
+ */
16
+public class CmcContractPayment extends BaseEntity
17
+{
18
+    private static final long serialVersionUID = 1L;
19
+
20
+    /** 合同回款id */
21
+    private String paymentId;
22
+
23
+    /** 合同id */
24
+    @Excel(name = "合同id")
25
+    private String contractId;
26
+
27
+    /** 回款条件 */
28
+    @Excel(name = "回款条件")
29
+    private String paymentCondition;
30
+
31
+    /** 回款比例 */
32
+    @Excel(name = "回款比例")
33
+    private String paymentPercentage;
34
+
35
+    /** 回款金额 */
36
+    @Excel(name = "回款金额")
37
+    private String paymentAmount;
38
+
39
+    /** 回款预计时间 */
40
+    @JsonFormat(pattern = "yyyy-MM-dd")
41
+    @Excel(name = "回款预计时间", width = 30, dateFormat = "yyyy-MM-dd")
42
+    private Date paymentTime;
43
+
44
+    public void setPaymentId(String paymentId) 
45
+    {
46
+        this.paymentId = paymentId;
47
+    }
48
+
49
+    public String getPaymentId() 
50
+    {
51
+        return paymentId;
52
+    }
53
+    public void setContractId(String contractId) 
54
+    {
55
+        this.contractId = contractId;
56
+    }
57
+
58
+    public String getContractId() 
59
+    {
60
+        return contractId;
61
+    }
62
+    public void setPaymentCondition(String paymentCondition) 
63
+    {
64
+        this.paymentCondition = paymentCondition;
65
+    }
66
+
67
+    public String getPaymentCondition() 
68
+    {
69
+        return paymentCondition;
70
+    }
71
+    public void setPaymentPercentage(String paymentPercentage) 
72
+    {
73
+        this.paymentPercentage = paymentPercentage;
74
+    }
75
+
76
+    public String getPaymentPercentage() 
77
+    {
78
+        return paymentPercentage;
79
+    }
80
+    public void setPaymentAmount(String paymentAmount) 
81
+    {
82
+        this.paymentAmount = paymentAmount;
83
+    }
84
+
85
+    public String getPaymentAmount() 
86
+    {
87
+        return paymentAmount;
88
+    }
89
+    public void setPaymentTime(Date paymentTime) 
90
+    {
91
+        this.paymentTime = paymentTime;
92
+    }
93
+
94
+    public Date getPaymentTime() 
95
+    {
96
+        return paymentTime;
97
+    }
98
+
99
+    @Override
100
+    public String toString() {
101
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
102
+            .append("paymentId", getPaymentId())
103
+            .append("contractId", getContractId())
104
+            .append("paymentCondition", getPaymentCondition())
105
+            .append("paymentPercentage", getPaymentPercentage())
106
+            .append("paymentAmount", getPaymentAmount())
107
+            .append("paymentTime", getPaymentTime())
108
+            .append("remark", getRemark())
109
+            .toString();
110
+    }
111
+}

+ 125
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcContractWork.java 查看文件

@@ -0,0 +1,125 @@
1
+package com.ruoyi.oa.domain;
2
+
3
+import java.util.Date;
4
+import com.fasterxml.jackson.annotation.JsonFormat;
5
+import org.apache.commons.lang3.builder.ToStringBuilder;
6
+import org.apache.commons.lang3.builder.ToStringStyle;
7
+import com.ruoyi.common.annotation.Excel;
8
+import com.ruoyi.common.core.domain.BaseEntity;
9
+
10
+/**
11
+ * cmc合同内容对象 cmc_contract_work
12
+ * 
13
+ * @author cmc
14
+ * @date 2024-03-15
15
+ */
16
+public class CmcContractWork extends BaseEntity
17
+{
18
+    private static final long serialVersionUID = 1L;
19
+
20
+    /** 工作内容id */
21
+    private String workId;
22
+
23
+    /** 合同id */
24
+    @Excel(name = "合同id")
25
+    private String contractId;
26
+
27
+    /** 工作内容 */
28
+    @Excel(name = "工作内容")
29
+    private String content;
30
+
31
+    /** 等级或比例尺 */
32
+    @Excel(name = "等级或比例尺")
33
+    private String scale;
34
+
35
+    /** 单位 */
36
+    @Excel(name = "单位")
37
+    private String unit;
38
+
39
+    /** 工作量 */
40
+    @Excel(name = "工作量")
41
+    private String workload;
42
+
43
+    /** 要求完成时间 */
44
+    @JsonFormat(pattern = "yyyy-MM-dd")
45
+    @Excel(name = "要求完成时间", width = 30, dateFormat = "yyyy-MM-dd")
46
+    private Date deadline;
47
+
48
+    public void setWorkId(String workId) 
49
+    {
50
+        this.workId = workId;
51
+    }
52
+
53
+    public String getWorkId() 
54
+    {
55
+        return workId;
56
+    }
57
+    public void setContractId(String contractId) 
58
+    {
59
+        this.contractId = contractId;
60
+    }
61
+
62
+    public String getContractId() 
63
+    {
64
+        return contractId;
65
+    }
66
+    public void setContent(String content) 
67
+    {
68
+        this.content = content;
69
+    }
70
+
71
+    public String getContent() 
72
+    {
73
+        return content;
74
+    }
75
+    public void setScale(String scale) 
76
+    {
77
+        this.scale = scale;
78
+    }
79
+
80
+    public String getScale() 
81
+    {
82
+        return scale;
83
+    }
84
+    public void setUnit(String unit) 
85
+    {
86
+        this.unit = unit;
87
+    }
88
+
89
+    public String getUnit() 
90
+    {
91
+        return unit;
92
+    }
93
+    public void setWorkload(String workload) 
94
+    {
95
+        this.workload = workload;
96
+    }
97
+
98
+    public String getWorkload() 
99
+    {
100
+        return workload;
101
+    }
102
+    public void setDeadline(Date deadline) 
103
+    {
104
+        this.deadline = deadline;
105
+    }
106
+
107
+    public Date getDeadline() 
108
+    {
109
+        return deadline;
110
+    }
111
+
112
+    @Override
113
+    public String toString() {
114
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
115
+            .append("workId", getWorkId())
116
+            .append("contractId", getContractId())
117
+            .append("content", getContent())
118
+            .append("scale", getScale())
119
+            .append("unit", getUnit())
120
+            .append("workload", getWorkload())
121
+            .append("deadline", getDeadline())
122
+            .append("remark", getRemark())
123
+            .toString();
124
+    }
125
+}

+ 15
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcProject.java 查看文件

@@ -54,6 +54,10 @@ public class CmcProject extends BaseEntity
54 54
     @Excel(name = "联系电话")
55 55
     private String telephone;
56 56
 
57
+    /** 合同编码 */
58
+    @Excel(name = "合同编码")
59
+    private String contractId;
60
+
57 61
     /** 项目类型 */
58 62
     @Excel(name = "项目类型")
59 63
     private String projectType;
@@ -160,6 +164,16 @@ public class CmcProject extends BaseEntity
160 164
     {
161 165
         return telephone;
162 166
     }
167
+    public void setContractId(String contractId)
168
+{
169
+    this.contractId = contractId;
170
+}
171
+
172
+    public String getContractId()
173
+    {
174
+        return contractId;
175
+    }
176
+
163 177
     public void setProjectType(String projectType)
164 178
     {
165 179
         this.projectType = projectType;
@@ -209,6 +223,7 @@ public class CmcProject extends BaseEntity
209 223
                 .append("partyA", getPartyA())
210 224
                 .append("contactPerson", getContactPerson())
211 225
                 .append("telephone", getTelephone())
226
+                .append("contractId", getContractId())
212 227
                 .append("projectType", getProjectType())
213 228
                 .append("projectLevel", getProjectLevel())
214 229
                 .append("projectRegistrant", getProjectRegistrant())

+ 61
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcContractCommentMapper.java 查看文件

@@ -0,0 +1,61 @@
1
+package com.ruoyi.oa.mapper;
2
+
3
+import java.util.List;
4
+import com.ruoyi.oa.domain.CmcContractComment;
5
+
6
+/**
7
+ * cmc合同意见Mapper接口
8
+ * 
9
+ * @author cmc
10
+ * @date 2024-03-15
11
+ */
12
+public interface CmcContractCommentMapper 
13
+{
14
+    /**
15
+     * 查询cmc合同意见
16
+     * 
17
+     * @param commentId cmc合同意见主键
18
+     * @return cmc合同意见
19
+     */
20
+    public CmcContractComment selectCmcContractCommentByCommentId(String commentId);
21
+
22
+    /**
23
+     * 查询cmc合同意见列表
24
+     * 
25
+     * @param cmcContractComment cmc合同意见
26
+     * @return cmc合同意见集合
27
+     */
28
+    public List<CmcContractComment> selectCmcContractCommentList(CmcContractComment cmcContractComment);
29
+
30
+    /**
31
+     * 新增cmc合同意见
32
+     * 
33
+     * @param cmcContractComment cmc合同意见
34
+     * @return 结果
35
+     */
36
+    public int insertCmcContractComment(CmcContractComment cmcContractComment);
37
+
38
+    /**
39
+     * 修改cmc合同意见
40
+     * 
41
+     * @param cmcContractComment cmc合同意见
42
+     * @return 结果
43
+     */
44
+    public int updateCmcContractComment(CmcContractComment cmcContractComment);
45
+
46
+    /**
47
+     * 删除cmc合同意见
48
+     * 
49
+     * @param commentId cmc合同意见主键
50
+     * @return 结果
51
+     */
52
+    public int deleteCmcContractCommentByCommentId(String commentId);
53
+
54
+    /**
55
+     * 批量删除cmc合同意见
56
+     * 
57
+     * @param commentIds 需要删除的数据主键集合
58
+     * @return 结果
59
+     */
60
+    public int deleteCmcContractCommentByCommentIds(String[] commentIds);
61
+}

+ 61
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcContractMapper.java 查看文件

@@ -0,0 +1,61 @@
1
+package com.ruoyi.oa.mapper;
2
+
3
+import java.util.List;
4
+import com.ruoyi.oa.domain.CmcContract;
5
+
6
+/**
7
+ * cmc合同评审Mapper接口
8
+ * 
9
+ * @author cmc
10
+ * @date 2024-03-15
11
+ */
12
+public interface CmcContractMapper 
13
+{
14
+    /**
15
+     * 查询cmc合同评审
16
+     * 
17
+     * @param contractId cmc合同评审主键
18
+     * @return cmc合同评审
19
+     */
20
+    public CmcContract selectCmcContractByContractId(String contractId);
21
+
22
+    /**
23
+     * 查询cmc合同评审列表
24
+     * 
25
+     * @param cmcContract cmc合同评审
26
+     * @return cmc合同评审集合
27
+     */
28
+    public List<CmcContract> selectCmcContractList(CmcContract cmcContract);
29
+
30
+    /**
31
+     * 新增cmc合同评审
32
+     * 
33
+     * @param cmcContract cmc合同评审
34
+     * @return 结果
35
+     */
36
+    public int insertCmcContract(CmcContract cmcContract);
37
+
38
+    /**
39
+     * 修改cmc合同评审
40
+     * 
41
+     * @param cmcContract cmc合同评审
42
+     * @return 结果
43
+     */
44
+    public int updateCmcContract(CmcContract cmcContract);
45
+
46
+    /**
47
+     * 删除cmc合同评审
48
+     * 
49
+     * @param contractId cmc合同评审主键
50
+     * @return 结果
51
+     */
52
+    public int deleteCmcContractByContractId(String contractId);
53
+
54
+    /**
55
+     * 批量删除cmc合同评审
56
+     * 
57
+     * @param contractIds 需要删除的数据主键集合
58
+     * @return 结果
59
+     */
60
+    public int deleteCmcContractByContractIds(String[] contractIds);
61
+}

+ 61
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcContractPaymentMapper.java 查看文件

@@ -0,0 +1,61 @@
1
+package com.ruoyi.oa.mapper;
2
+
3
+import java.util.List;
4
+import com.ruoyi.oa.domain.CmcContractPayment;
5
+
6
+/**
7
+ * cmc合同回款Mapper接口
8
+ * 
9
+ * @author cmc
10
+ * @date 2024-03-15
11
+ */
12
+public interface CmcContractPaymentMapper 
13
+{
14
+    /**
15
+     * 查询cmc合同回款
16
+     * 
17
+     * @param paymentId cmc合同回款主键
18
+     * @return cmc合同回款
19
+     */
20
+    public CmcContractPayment selectCmcContractPaymentByPaymentId(String paymentId);
21
+
22
+    /**
23
+     * 查询cmc合同回款列表
24
+     * 
25
+     * @param cmcContractPayment cmc合同回款
26
+     * @return cmc合同回款集合
27
+     */
28
+    public List<CmcContractPayment> selectCmcContractPaymentList(CmcContractPayment cmcContractPayment);
29
+
30
+    /**
31
+     * 新增cmc合同回款
32
+     * 
33
+     * @param cmcContractPayment cmc合同回款
34
+     * @return 结果
35
+     */
36
+    public int insertCmcContractPayment(CmcContractPayment cmcContractPayment);
37
+
38
+    /**
39
+     * 修改cmc合同回款
40
+     * 
41
+     * @param cmcContractPayment cmc合同回款
42
+     * @return 结果
43
+     */
44
+    public int updateCmcContractPayment(CmcContractPayment cmcContractPayment);
45
+
46
+    /**
47
+     * 删除cmc合同回款
48
+     * 
49
+     * @param paymentId cmc合同回款主键
50
+     * @return 结果
51
+     */
52
+    public int deleteCmcContractPaymentByPaymentId(String paymentId);
53
+
54
+    /**
55
+     * 批量删除cmc合同回款
56
+     * 
57
+     * @param paymentIds 需要删除的数据主键集合
58
+     * @return 结果
59
+     */
60
+    public int deleteCmcContractPaymentByPaymentIds(String[] paymentIds);
61
+}

+ 61
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcContractWorkMapper.java 查看文件

@@ -0,0 +1,61 @@
1
+package com.ruoyi.oa.mapper;
2
+
3
+import java.util.List;
4
+import com.ruoyi.oa.domain.CmcContractWork;
5
+
6
+/**
7
+ * cmc合同内容Mapper接口
8
+ * 
9
+ * @author cmc
10
+ * @date 2024-03-15
11
+ */
12
+public interface CmcContractWorkMapper 
13
+{
14
+    /**
15
+     * 查询cmc合同内容
16
+     * 
17
+     * @param workId cmc合同内容主键
18
+     * @return cmc合同内容
19
+     */
20
+    public CmcContractWork selectCmcContractWorkByWorkId(String workId);
21
+
22
+    /**
23
+     * 查询cmc合同内容列表
24
+     * 
25
+     * @param cmcContractWork cmc合同内容
26
+     * @return cmc合同内容集合
27
+     */
28
+    public List<CmcContractWork> selectCmcContractWorkList(CmcContractWork cmcContractWork);
29
+
30
+    /**
31
+     * 新增cmc合同内容
32
+     * 
33
+     * @param cmcContractWork cmc合同内容
34
+     * @return 结果
35
+     */
36
+    public int insertCmcContractWork(CmcContractWork cmcContractWork);
37
+
38
+    /**
39
+     * 修改cmc合同内容
40
+     * 
41
+     * @param cmcContractWork cmc合同内容
42
+     * @return 结果
43
+     */
44
+    public int updateCmcContractWork(CmcContractWork cmcContractWork);
45
+
46
+    /**
47
+     * 删除cmc合同内容
48
+     * 
49
+     * @param workId cmc合同内容主键
50
+     * @return 结果
51
+     */
52
+    public int deleteCmcContractWorkByWorkId(String workId);
53
+
54
+    /**
55
+     * 批量删除cmc合同内容
56
+     * 
57
+     * @param workIds 需要删除的数据主键集合
58
+     * @return 结果
59
+     */
60
+    public int deleteCmcContractWorkByWorkIds(String[] workIds);
61
+}

+ 61
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcContractCommentService.java 查看文件

@@ -0,0 +1,61 @@
1
+package com.ruoyi.oa.service;
2
+
3
+import java.util.List;
4
+import com.ruoyi.oa.domain.CmcContractComment;
5
+
6
+/**
7
+ * cmc合同意见Service接口
8
+ * 
9
+ * @author cmc
10
+ * @date 2024-03-15
11
+ */
12
+public interface ICmcContractCommentService 
13
+{
14
+    /**
15
+     * 查询cmc合同意见
16
+     * 
17
+     * @param commentId cmc合同意见主键
18
+     * @return cmc合同意见
19
+     */
20
+    public CmcContractComment selectCmcContractCommentByCommentId(String commentId);
21
+
22
+    /**
23
+     * 查询cmc合同意见列表
24
+     * 
25
+     * @param cmcContractComment cmc合同意见
26
+     * @return cmc合同意见集合
27
+     */
28
+    public List<CmcContractComment> selectCmcContractCommentList(CmcContractComment cmcContractComment);
29
+
30
+    /**
31
+     * 新增cmc合同意见
32
+     * 
33
+     * @param cmcContractComment cmc合同意见
34
+     * @return 结果
35
+     */
36
+    public int insertCmcContractComment(CmcContractComment cmcContractComment);
37
+
38
+    /**
39
+     * 修改cmc合同意见
40
+     * 
41
+     * @param cmcContractComment cmc合同意见
42
+     * @return 结果
43
+     */
44
+    public int updateCmcContractComment(CmcContractComment cmcContractComment);
45
+
46
+    /**
47
+     * 批量删除cmc合同意见
48
+     * 
49
+     * @param commentIds 需要删除的cmc合同意见主键集合
50
+     * @return 结果
51
+     */
52
+    public int deleteCmcContractCommentByCommentIds(String[] commentIds);
53
+
54
+    /**
55
+     * 删除cmc合同意见信息
56
+     * 
57
+     * @param commentId cmc合同意见主键
58
+     * @return 结果
59
+     */
60
+    public int deleteCmcContractCommentByCommentId(String commentId);
61
+}

+ 61
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcContractPaymentService.java 查看文件

@@ -0,0 +1,61 @@
1
+package com.ruoyi.oa.service;
2
+
3
+import java.util.List;
4
+import com.ruoyi.oa.domain.CmcContractPayment;
5
+
6
+/**
7
+ * cmc合同回款Service接口
8
+ * 
9
+ * @author cmc
10
+ * @date 2024-03-15
11
+ */
12
+public interface ICmcContractPaymentService 
13
+{
14
+    /**
15
+     * 查询cmc合同回款
16
+     * 
17
+     * @param paymentId cmc合同回款主键
18
+     * @return cmc合同回款
19
+     */
20
+    public CmcContractPayment selectCmcContractPaymentByPaymentId(String paymentId);
21
+
22
+    /**
23
+     * 查询cmc合同回款列表
24
+     * 
25
+     * @param cmcContractPayment cmc合同回款
26
+     * @return cmc合同回款集合
27
+     */
28
+    public List<CmcContractPayment> selectCmcContractPaymentList(CmcContractPayment cmcContractPayment);
29
+
30
+    /**
31
+     * 新增cmc合同回款
32
+     * 
33
+     * @param cmcContractPayment cmc合同回款
34
+     * @return 结果
35
+     */
36
+    public int insertCmcContractPayment(CmcContractPayment cmcContractPayment);
37
+
38
+    /**
39
+     * 修改cmc合同回款
40
+     * 
41
+     * @param cmcContractPayment cmc合同回款
42
+     * @return 结果
43
+     */
44
+    public int updateCmcContractPayment(CmcContractPayment cmcContractPayment);
45
+
46
+    /**
47
+     * 批量删除cmc合同回款
48
+     * 
49
+     * @param paymentIds 需要删除的cmc合同回款主键集合
50
+     * @return 结果
51
+     */
52
+    public int deleteCmcContractPaymentByPaymentIds(String[] paymentIds);
53
+
54
+    /**
55
+     * 删除cmc合同回款信息
56
+     * 
57
+     * @param paymentId cmc合同回款主键
58
+     * @return 结果
59
+     */
60
+    public int deleteCmcContractPaymentByPaymentId(String paymentId);
61
+}

+ 61
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcContractService.java 查看文件

@@ -0,0 +1,61 @@
1
+package com.ruoyi.oa.service;
2
+
3
+import java.util.List;
4
+import com.ruoyi.oa.domain.CmcContract;
5
+
6
+/**
7
+ * cmc合同评审Service接口
8
+ * 
9
+ * @author cmc
10
+ * @date 2024-03-15
11
+ */
12
+public interface ICmcContractService 
13
+{
14
+    /**
15
+     * 查询cmc合同评审
16
+     * 
17
+     * @param contractId cmc合同评审主键
18
+     * @return cmc合同评审
19
+     */
20
+    public CmcContract selectCmcContractByContractId(String contractId);
21
+
22
+    /**
23
+     * 查询cmc合同评审列表
24
+     * 
25
+     * @param cmcContract cmc合同评审
26
+     * @return cmc合同评审集合
27
+     */
28
+    public List<CmcContract> selectCmcContractList(CmcContract cmcContract);
29
+
30
+    /**
31
+     * 新增cmc合同评审
32
+     * 
33
+     * @param cmcContract cmc合同评审
34
+     * @return 结果
35
+     */
36
+    public int insertCmcContract(CmcContract cmcContract);
37
+
38
+    /**
39
+     * 修改cmc合同评审
40
+     * 
41
+     * @param cmcContract cmc合同评审
42
+     * @return 结果
43
+     */
44
+    public int updateCmcContract(CmcContract cmcContract);
45
+
46
+    /**
47
+     * 批量删除cmc合同评审
48
+     * 
49
+     * @param contractIds 需要删除的cmc合同评审主键集合
50
+     * @return 结果
51
+     */
52
+    public int deleteCmcContractByContractIds(String[] contractIds);
53
+
54
+    /**
55
+     * 删除cmc合同评审信息
56
+     * 
57
+     * @param contractId cmc合同评审主键
58
+     * @return 结果
59
+     */
60
+    public int deleteCmcContractByContractId(String contractId);
61
+}

+ 61
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcContractWorkService.java 查看文件

@@ -0,0 +1,61 @@
1
+package com.ruoyi.oa.service;
2
+
3
+import java.util.List;
4
+import com.ruoyi.oa.domain.CmcContractWork;
5
+
6
+/**
7
+ * cmc合同内容Service接口
8
+ * 
9
+ * @author cmc
10
+ * @date 2024-03-15
11
+ */
12
+public interface ICmcContractWorkService 
13
+{
14
+    /**
15
+     * 查询cmc合同内容
16
+     * 
17
+     * @param workId cmc合同内容主键
18
+     * @return cmc合同内容
19
+     */
20
+    public CmcContractWork selectCmcContractWorkByWorkId(String workId);
21
+
22
+    /**
23
+     * 查询cmc合同内容列表
24
+     * 
25
+     * @param cmcContractWork cmc合同内容
26
+     * @return cmc合同内容集合
27
+     */
28
+    public List<CmcContractWork> selectCmcContractWorkList(CmcContractWork cmcContractWork);
29
+
30
+    /**
31
+     * 新增cmc合同内容
32
+     * 
33
+     * @param cmcContractWork cmc合同内容
34
+     * @return 结果
35
+     */
36
+    public int insertCmcContractWork(CmcContractWork cmcContractWork);
37
+
38
+    /**
39
+     * 修改cmc合同内容
40
+     * 
41
+     * @param cmcContractWork cmc合同内容
42
+     * @return 结果
43
+     */
44
+    public int updateCmcContractWork(CmcContractWork cmcContractWork);
45
+
46
+    /**
47
+     * 批量删除cmc合同内容
48
+     * 
49
+     * @param workIds 需要删除的cmc合同内容主键集合
50
+     * @return 结果
51
+     */
52
+    public int deleteCmcContractWorkByWorkIds(String[] workIds);
53
+
54
+    /**
55
+     * 删除cmc合同内容信息
56
+     * 
57
+     * @param workId cmc合同内容主键
58
+     * @return 结果
59
+     */
60
+    public int deleteCmcContractWorkByWorkId(String workId);
61
+}

+ 93
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcContractCommentServiceImpl.java 查看文件

@@ -0,0 +1,93 @@
1
+package com.ruoyi.oa.service.impl;
2
+
3
+import java.util.List;
4
+import org.springframework.beans.factory.annotation.Autowired;
5
+import org.springframework.stereotype.Service;
6
+import com.ruoyi.oa.mapper.CmcContractCommentMapper;
7
+import com.ruoyi.oa.domain.CmcContractComment;
8
+import com.ruoyi.oa.service.ICmcContractCommentService;
9
+
10
+/**
11
+ * cmc合同意见Service业务层处理
12
+ * 
13
+ * @author cmc
14
+ * @date 2024-03-15
15
+ */
16
+@Service
17
+public class CmcContractCommentServiceImpl implements ICmcContractCommentService 
18
+{
19
+    @Autowired
20
+    private CmcContractCommentMapper cmcContractCommentMapper;
21
+
22
+    /**
23
+     * 查询cmc合同意见
24
+     * 
25
+     * @param commentId cmc合同意见主键
26
+     * @return cmc合同意见
27
+     */
28
+    @Override
29
+    public CmcContractComment selectCmcContractCommentByCommentId(String commentId)
30
+    {
31
+        return cmcContractCommentMapper.selectCmcContractCommentByCommentId(commentId);
32
+    }
33
+
34
+    /**
35
+     * 查询cmc合同意见列表
36
+     * 
37
+     * @param cmcContractComment cmc合同意见
38
+     * @return cmc合同意见
39
+     */
40
+    @Override
41
+    public List<CmcContractComment> selectCmcContractCommentList(CmcContractComment cmcContractComment)
42
+    {
43
+        return cmcContractCommentMapper.selectCmcContractCommentList(cmcContractComment);
44
+    }
45
+
46
+    /**
47
+     * 新增cmc合同意见
48
+     * 
49
+     * @param cmcContractComment cmc合同意见
50
+     * @return 结果
51
+     */
52
+    @Override
53
+    public int insertCmcContractComment(CmcContractComment cmcContractComment)
54
+    {
55
+        return cmcContractCommentMapper.insertCmcContractComment(cmcContractComment);
56
+    }
57
+
58
+    /**
59
+     * 修改cmc合同意见
60
+     * 
61
+     * @param cmcContractComment cmc合同意见
62
+     * @return 结果
63
+     */
64
+    @Override
65
+    public int updateCmcContractComment(CmcContractComment cmcContractComment)
66
+    {
67
+        return cmcContractCommentMapper.updateCmcContractComment(cmcContractComment);
68
+    }
69
+
70
+    /**
71
+     * 批量删除cmc合同意见
72
+     * 
73
+     * @param commentIds 需要删除的cmc合同意见主键
74
+     * @return 结果
75
+     */
76
+    @Override
77
+    public int deleteCmcContractCommentByCommentIds(String[] commentIds)
78
+    {
79
+        return cmcContractCommentMapper.deleteCmcContractCommentByCommentIds(commentIds);
80
+    }
81
+
82
+    /**
83
+     * 删除cmc合同意见信息
84
+     * 
85
+     * @param commentId cmc合同意见主键
86
+     * @return 结果
87
+     */
88
+    @Override
89
+    public int deleteCmcContractCommentByCommentId(String commentId)
90
+    {
91
+        return cmcContractCommentMapper.deleteCmcContractCommentByCommentId(commentId);
92
+    }
93
+}

+ 93
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcContractPaymentServiceImpl.java 查看文件

@@ -0,0 +1,93 @@
1
+package com.ruoyi.oa.service.impl;
2
+
3
+import java.util.List;
4
+import org.springframework.beans.factory.annotation.Autowired;
5
+import org.springframework.stereotype.Service;
6
+import com.ruoyi.oa.mapper.CmcContractPaymentMapper;
7
+import com.ruoyi.oa.domain.CmcContractPayment;
8
+import com.ruoyi.oa.service.ICmcContractPaymentService;
9
+
10
+/**
11
+ * cmc合同回款Service业务层处理
12
+ * 
13
+ * @author cmc
14
+ * @date 2024-03-15
15
+ */
16
+@Service
17
+public class CmcContractPaymentServiceImpl implements ICmcContractPaymentService 
18
+{
19
+    @Autowired
20
+    private CmcContractPaymentMapper cmcContractPaymentMapper;
21
+
22
+    /**
23
+     * 查询cmc合同回款
24
+     * 
25
+     * @param paymentId cmc合同回款主键
26
+     * @return cmc合同回款
27
+     */
28
+    @Override
29
+    public CmcContractPayment selectCmcContractPaymentByPaymentId(String paymentId)
30
+    {
31
+        return cmcContractPaymentMapper.selectCmcContractPaymentByPaymentId(paymentId);
32
+    }
33
+
34
+    /**
35
+     * 查询cmc合同回款列表
36
+     * 
37
+     * @param cmcContractPayment cmc合同回款
38
+     * @return cmc合同回款
39
+     */
40
+    @Override
41
+    public List<CmcContractPayment> selectCmcContractPaymentList(CmcContractPayment cmcContractPayment)
42
+    {
43
+        return cmcContractPaymentMapper.selectCmcContractPaymentList(cmcContractPayment);
44
+    }
45
+
46
+    /**
47
+     * 新增cmc合同回款
48
+     * 
49
+     * @param cmcContractPayment cmc合同回款
50
+     * @return 结果
51
+     */
52
+    @Override
53
+    public int insertCmcContractPayment(CmcContractPayment cmcContractPayment)
54
+    {
55
+        return cmcContractPaymentMapper.insertCmcContractPayment(cmcContractPayment);
56
+    }
57
+
58
+    /**
59
+     * 修改cmc合同回款
60
+     * 
61
+     * @param cmcContractPayment cmc合同回款
62
+     * @return 结果
63
+     */
64
+    @Override
65
+    public int updateCmcContractPayment(CmcContractPayment cmcContractPayment)
66
+    {
67
+        return cmcContractPaymentMapper.updateCmcContractPayment(cmcContractPayment);
68
+    }
69
+
70
+    /**
71
+     * 批量删除cmc合同回款
72
+     * 
73
+     * @param paymentIds 需要删除的cmc合同回款主键
74
+     * @return 结果
75
+     */
76
+    @Override
77
+    public int deleteCmcContractPaymentByPaymentIds(String[] paymentIds)
78
+    {
79
+        return cmcContractPaymentMapper.deleteCmcContractPaymentByPaymentIds(paymentIds);
80
+    }
81
+
82
+    /**
83
+     * 删除cmc合同回款信息
84
+     * 
85
+     * @param paymentId cmc合同回款主键
86
+     * @return 结果
87
+     */
88
+    @Override
89
+    public int deleteCmcContractPaymentByPaymentId(String paymentId)
90
+    {
91
+        return cmcContractPaymentMapper.deleteCmcContractPaymentByPaymentId(paymentId);
92
+    }
93
+}

+ 93
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcContractServiceImpl.java 查看文件

@@ -0,0 +1,93 @@
1
+package com.ruoyi.oa.service.impl;
2
+
3
+import java.util.List;
4
+import org.springframework.beans.factory.annotation.Autowired;
5
+import org.springframework.stereotype.Service;
6
+import com.ruoyi.oa.mapper.CmcContractMapper;
7
+import com.ruoyi.oa.domain.CmcContract;
8
+import com.ruoyi.oa.service.ICmcContractService;
9
+
10
+/**
11
+ * cmc合同评审Service业务层处理
12
+ * 
13
+ * @author cmc
14
+ * @date 2024-03-15
15
+ */
16
+@Service
17
+public class CmcContractServiceImpl implements ICmcContractService 
18
+{
19
+    @Autowired
20
+    private CmcContractMapper cmcContractMapper;
21
+
22
+    /**
23
+     * 查询cmc合同评审
24
+     * 
25
+     * @param contractId cmc合同评审主键
26
+     * @return cmc合同评审
27
+     */
28
+    @Override
29
+    public CmcContract selectCmcContractByContractId(String contractId)
30
+    {
31
+        return cmcContractMapper.selectCmcContractByContractId(contractId);
32
+    }
33
+
34
+    /**
35
+     * 查询cmc合同评审列表
36
+     * 
37
+     * @param cmcContract cmc合同评审
38
+     * @return cmc合同评审
39
+     */
40
+    @Override
41
+    public List<CmcContract> selectCmcContractList(CmcContract cmcContract)
42
+    {
43
+        return cmcContractMapper.selectCmcContractList(cmcContract);
44
+    }
45
+
46
+    /**
47
+     * 新增cmc合同评审
48
+     * 
49
+     * @param cmcContract cmc合同评审
50
+     * @return 结果
51
+     */
52
+    @Override
53
+    public int insertCmcContract(CmcContract cmcContract)
54
+    {
55
+        return cmcContractMapper.insertCmcContract(cmcContract);
56
+    }
57
+
58
+    /**
59
+     * 修改cmc合同评审
60
+     * 
61
+     * @param cmcContract cmc合同评审
62
+     * @return 结果
63
+     */
64
+    @Override
65
+    public int updateCmcContract(CmcContract cmcContract)
66
+    {
67
+        return cmcContractMapper.updateCmcContract(cmcContract);
68
+    }
69
+
70
+    /**
71
+     * 批量删除cmc合同评审
72
+     * 
73
+     * @param contractIds 需要删除的cmc合同评审主键
74
+     * @return 结果
75
+     */
76
+    @Override
77
+    public int deleteCmcContractByContractIds(String[] contractIds)
78
+    {
79
+        return cmcContractMapper.deleteCmcContractByContractIds(contractIds);
80
+    }
81
+
82
+    /**
83
+     * 删除cmc合同评审信息
84
+     * 
85
+     * @param contractId cmc合同评审主键
86
+     * @return 结果
87
+     */
88
+    @Override
89
+    public int deleteCmcContractByContractId(String contractId)
90
+    {
91
+        return cmcContractMapper.deleteCmcContractByContractId(contractId);
92
+    }
93
+}

+ 93
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcContractWorkServiceImpl.java 查看文件

@@ -0,0 +1,93 @@
1
+package com.ruoyi.oa.service.impl;
2
+
3
+import java.util.List;
4
+import org.springframework.beans.factory.annotation.Autowired;
5
+import org.springframework.stereotype.Service;
6
+import com.ruoyi.oa.mapper.CmcContractWorkMapper;
7
+import com.ruoyi.oa.domain.CmcContractWork;
8
+import com.ruoyi.oa.service.ICmcContractWorkService;
9
+
10
+/**
11
+ * cmc合同内容Service业务层处理
12
+ * 
13
+ * @author cmc
14
+ * @date 2024-03-15
15
+ */
16
+@Service
17
+public class CmcContractWorkServiceImpl implements ICmcContractWorkService 
18
+{
19
+    @Autowired
20
+    private CmcContractWorkMapper cmcContractWorkMapper;
21
+
22
+    /**
23
+     * 查询cmc合同内容
24
+     * 
25
+     * @param workId cmc合同内容主键
26
+     * @return cmc合同内容
27
+     */
28
+    @Override
29
+    public CmcContractWork selectCmcContractWorkByWorkId(String workId)
30
+    {
31
+        return cmcContractWorkMapper.selectCmcContractWorkByWorkId(workId);
32
+    }
33
+
34
+    /**
35
+     * 查询cmc合同内容列表
36
+     * 
37
+     * @param cmcContractWork cmc合同内容
38
+     * @return cmc合同内容
39
+     */
40
+    @Override
41
+    public List<CmcContractWork> selectCmcContractWorkList(CmcContractWork cmcContractWork)
42
+    {
43
+        return cmcContractWorkMapper.selectCmcContractWorkList(cmcContractWork);
44
+    }
45
+
46
+    /**
47
+     * 新增cmc合同内容
48
+     * 
49
+     * @param cmcContractWork cmc合同内容
50
+     * @return 结果
51
+     */
52
+    @Override
53
+    public int insertCmcContractWork(CmcContractWork cmcContractWork)
54
+    {
55
+        return cmcContractWorkMapper.insertCmcContractWork(cmcContractWork);
56
+    }
57
+
58
+    /**
59
+     * 修改cmc合同内容
60
+     * 
61
+     * @param cmcContractWork cmc合同内容
62
+     * @return 结果
63
+     */
64
+    @Override
65
+    public int updateCmcContractWork(CmcContractWork cmcContractWork)
66
+    {
67
+        return cmcContractWorkMapper.updateCmcContractWork(cmcContractWork);
68
+    }
69
+
70
+    /**
71
+     * 批量删除cmc合同内容
72
+     * 
73
+     * @param workIds 需要删除的cmc合同内容主键
74
+     * @return 结果
75
+     */
76
+    @Override
77
+    public int deleteCmcContractWorkByWorkIds(String[] workIds)
78
+    {
79
+        return cmcContractWorkMapper.deleteCmcContractWorkByWorkIds(workIds);
80
+    }
81
+
82
+    /**
83
+     * 删除cmc合同内容信息
84
+     * 
85
+     * @param workId cmc合同内容主键
86
+     * @return 结果
87
+     */
88
+    @Override
89
+    public int deleteCmcContractWorkByWorkId(String workId)
90
+    {
91
+        return cmcContractWorkMapper.deleteCmcContractWorkByWorkId(workId);
92
+    }
93
+}

+ 83
- 0
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractCommentMapper.xml 查看文件

@@ -0,0 +1,83 @@
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper
3
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5
+<mapper namespace="com.ruoyi.oa.mapper.CmcContractCommentMapper">
6
+    
7
+    <resultMap type="CmcContractComment" id="CmcContractCommentResult">
8
+        <result property="commentId"    column="comment_id"    />
9
+        <result property="contractId"    column="contract_id"    />
10
+        <result property="deptId"    column="dept_id"    />
11
+        <result property="userId"    column="user_id"    />
12
+        <result property="comment"    column="comment"    />
13
+        <result property="commentTime"    column="comment_time"    />
14
+        <result property="isSign"    column="is_sign"    />
15
+    </resultMap>
16
+
17
+    <sql id="selectCmcContractCommentVo">
18
+        select comment_id, contract_id, dept_id, user_id, comment, comment_time, is_sign from cmc_contract_comment
19
+    </sql>
20
+
21
+    <select id="selectCmcContractCommentList" parameterType="CmcContractComment" resultMap="CmcContractCommentResult">
22
+        <include refid="selectCmcContractCommentVo"/>
23
+        <where>  
24
+            <if test="contractId != null  and contractId != ''"> and contract_id like concat('%', #{contractId}, '%')</if>
25
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
26
+            <if test="userId != null "> and user_id = #{userId}</if>
27
+            <if test="comment != null  and comment != ''"> and comment = #{comment}</if>
28
+            <if test="commentTime != null "> and comment_time = #{commentTime}</if>
29
+            <if test="isSign != null  and isSign != ''"> and is_sign = #{isSign}</if>
30
+        </where>
31
+    </select>
32
+    
33
+    <select id="selectCmcContractCommentByCommentId" parameterType="String" resultMap="CmcContractCommentResult">
34
+        <include refid="selectCmcContractCommentVo"/>
35
+        where comment_id = #{commentId}
36
+    </select>
37
+        
38
+    <insert id="insertCmcContractComment" parameterType="CmcContractComment">
39
+        insert into cmc_contract_comment
40
+        <trim prefix="(" suffix=")" suffixOverrides=",">
41
+            <if test="commentId != null">comment_id,</if>
42
+            <if test="contractId != null">contract_id,</if>
43
+            <if test="deptId != null">dept_id,</if>
44
+            <if test="userId != null">user_id,</if>
45
+            <if test="comment != null">comment,</if>
46
+            <if test="commentTime != null">comment_time,</if>
47
+            <if test="isSign != null">is_sign,</if>
48
+         </trim>
49
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
50
+            <if test="commentId != null">#{commentId},</if>
51
+            <if test="contractId != null">#{contractId},</if>
52
+            <if test="deptId != null">#{deptId},</if>
53
+            <if test="userId != null">#{userId},</if>
54
+            <if test="comment != null">#{comment},</if>
55
+            <if test="commentTime != null">#{commentTime},</if>
56
+            <if test="isSign != null">#{isSign},</if>
57
+         </trim>
58
+    </insert>
59
+
60
+    <update id="updateCmcContractComment" parameterType="CmcContractComment">
61
+        update cmc_contract_comment
62
+        <trim prefix="SET" suffixOverrides=",">
63
+            <if test="contractId != null">contract_id = #{contractId},</if>
64
+            <if test="deptId != null">dept_id = #{deptId},</if>
65
+            <if test="userId != null">user_id = #{userId},</if>
66
+            <if test="comment != null">comment = #{comment},</if>
67
+            <if test="commentTime != null">comment_time = #{commentTime},</if>
68
+            <if test="isSign != null">is_sign = #{isSign},</if>
69
+        </trim>
70
+        where comment_id = #{commentId}
71
+    </update>
72
+
73
+    <delete id="deleteCmcContractCommentByCommentId" parameterType="String">
74
+        delete from cmc_contract_comment where comment_id = #{commentId}
75
+    </delete>
76
+
77
+    <delete id="deleteCmcContractCommentByCommentIds" parameterType="String">
78
+        delete from cmc_contract_comment where comment_id in 
79
+        <foreach item="commentId" collection="array" open="(" separator="," close=")">
80
+            #{commentId}
81
+        </foreach>
82
+    </delete>
83
+</mapper>

+ 147
- 0
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractMapper.xml 查看文件

@@ -0,0 +1,147 @@
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper
3
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5
+<mapper namespace="com.ruoyi.oa.mapper.CmcContractMapper">
6
+
7
+    <resultMap type="CmcContract" id="CmcContractResult">
8
+        <result property="contractId"    column="contract_id"    />
9
+        <result property="contractNumber"    column="contract_number"    />
10
+        <result property="contractName"    column="contract_name"    />
11
+        <result property="partyA"    column="party_a"    />
12
+        <result property="contactPerson"    column="contact_person"    />
13
+        <result property="telephone"    column="telephone"    />
14
+        <result property="projectType"    column="project_type"    />
15
+        <result property="projectSource"    column="project_source"    />
16
+        <result property="undertakingDept"    column="undertaking_dept"    />
17
+        <result property="amount"    column="amount"    />
18
+        <result property="deposit"    column="deposit"    />
19
+        <result property="contractDocument"    column="contract_document"    />
20
+        <result property="drafter"    column="drafter"    />
21
+        <result property="draftTime"    column="draft_time"    />
22
+        <result property="projectIds"    column="project_ids"    />
23
+        <result property="remark"    column="remark"    />
24
+        <result property="signDate"    column="sign_date"    />
25
+        <result property="signRemark"    column="sign_remark"    />
26
+        <result property="signScan"    column="sign_scan"    />
27
+        <result property="commentType"    column="comment_type"    />
28
+    </resultMap>
29
+
30
+    <sql id="selectCmcContractVo">
31
+        select contract_id, contract_number, contract_name, party_a, contact_person, telephone, project_type, project_source, undertaking_dept, amount, deposit, contract_document, drafter, draft_time, project_ids, remark, sign_date, sign_remark, sign_scan, comment_type from cmc_contract
32
+    </sql>
33
+
34
+    <select id="selectCmcContractList" parameterType="CmcContract" resultMap="CmcContractResult">
35
+        <include refid="selectCmcContractVo"/>
36
+        <where>
37
+            <if test="contractNumber != null  and contractNumber != ''"> and contract_number like concat('%', #{contractNumber}, '%')</if>
38
+            <if test="contractName != null  and contractName != ''"> and contract_name like concat('%', #{contractName}, '%')</if>
39
+            <if test="partyA != null  and partyA != ''"> and party_a like concat('%', #{partyA}, '%')</if>
40
+            <if test="contactPerson != null  and contactPerson != ''"> and contact_person like concat('%', #{contactPerson}, '%')</if>
41
+            <if test="telephone != null  and telephone != ''"> and telephone like concat('%', #{telephone}, '%')</if>
42
+            <if test="projectType != null  and projectType != ''"> and project_type like concat('%', #{projectType}, '%')</if>
43
+            <if test="projectSource != null  and projectSource != ''"> and project_source = #{projectSource}</if>
44
+            <if test="undertakingDept != null  and undertakingDept != ''"> and undertaking_dept = #{undertakingDept}</if>
45
+            <if test="amount != null "> and amount = #{amount}</if>
46
+            <if test="deposit != null "> and deposit = #{deposit}</if>
47
+            <if test="contractDocument != null  and contractDocument != ''"> and contract_document = #{contractDocument}</if>
48
+            <if test="drafter != null "> and drafter = #{drafter}</if>
49
+            <if test="draftTime != null "> and draft_time = #{draftTime}</if>
50
+            <if test="projectIds != null  and projectIds != ''"> and project_ids = #{projectIds}</if>
51
+            <if test="signDate != null "> and sign_date = #{signDate}</if>
52
+            <if test="signRemark != null  and signRemark != ''"> and sign_remark = #{signRemark}</if>
53
+            <if test="signScan != null  and signScan != ''"> and sign_scan = #{signScan}</if>
54
+            <if test="commentType != null  and commentType != ''"> and comment_type = #{commentType}</if>
55
+        </where>
56
+    </select>
57
+
58
+    <select id="selectCmcContractByContractId" parameterType="String" resultMap="CmcContractResult">
59
+        <include refid="selectCmcContractVo"/>
60
+        where contract_id = #{contractId}
61
+    </select>
62
+
63
+    <insert id="insertCmcContract" parameterType="CmcContract">
64
+        insert into cmc_contract
65
+        <trim prefix="(" suffix=")" suffixOverrides=",">
66
+            <if test="contractId != null">contract_id,</if>
67
+            <if test="contractNumber != null">contract_number,</if>
68
+            <if test="contractName != null">contract_name,</if>
69
+            <if test="partyA != null">party_a,</if>
70
+            <if test="contactPerson != null">contact_person,</if>
71
+            <if test="telephone != null">telephone,</if>
72
+            <if test="projectType != null">project_type,</if>
73
+            <if test="projectSource != null">project_source,</if>
74
+            <if test="undertakingDept != null">undertaking_dept,</if>
75
+            <if test="amount != null">amount,</if>
76
+            <if test="deposit != null">deposit,</if>
77
+            <if test="contractDocument != null">contract_document,</if>
78
+            <if test="drafter != null">drafter,</if>
79
+            <if test="draftTime != null">draft_time,</if>
80
+            <if test="projectIds != null">project_ids,</if>
81
+            <if test="remark != null">remark,</if>
82
+            <if test="signDate != null">sign_date,</if>
83
+            <if test="signRemark != null">sign_remark,</if>
84
+            <if test="signScan != null">sign_scan,</if>
85
+            <if test="commentType != null">comment_type,</if>
86
+        </trim>
87
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
88
+            <if test="contractId != null">#{contractId},</if>
89
+            <if test="contractNumber != null">#{contractNumber},</if>
90
+            <if test="contractName != null">#{contractName},</if>
91
+            <if test="partyA != null">#{partyA},</if>
92
+            <if test="contactPerson != null">#{contactPerson},</if>
93
+            <if test="telephone != null">#{telephone},</if>
94
+            <if test="projectType != null">#{projectType},</if>
95
+            <if test="projectSource != null">#{projectSource},</if>
96
+            <if test="undertakingDept != null">#{undertakingDept},</if>
97
+            <if test="amount != null">#{amount},</if>
98
+            <if test="deposit != null">#{deposit},</if>
99
+            <if test="contractDocument != null">#{contractDocument},</if>
100
+            <if test="drafter != null">#{drafter},</if>
101
+            <if test="draftTime != null">#{draftTime},</if>
102
+            <if test="projectIds != null">#{projectIds},</if>
103
+            <if test="remark != null">#{remark},</if>
104
+            <if test="signDate != null">#{signDate},</if>
105
+            <if test="signRemark != null">#{signRemark},</if>
106
+            <if test="signScan != null">#{signScan},</if>
107
+            <if test="commentType != null">#{commentType},</if>
108
+        </trim>
109
+    </insert>
110
+
111
+    <update id="updateCmcContract" parameterType="CmcContract">
112
+        update cmc_contract
113
+        <trim prefix="SET" suffixOverrides=",">
114
+            <if test="contractNumber != null">contract_number = #{contractNumber},</if>
115
+            <if test="contractName != null">contract_name = #{contractName},</if>
116
+            <if test="partyA != null">party_a = #{partyA},</if>
117
+            <if test="contactPerson != null">contact_person = #{contactPerson},</if>
118
+            <if test="telephone != null">telephone = #{telephone},</if>
119
+            <if test="projectType != null">project_type = #{projectType},</if>
120
+            <if test="projectSource != null">project_source = #{projectSource},</if>
121
+            <if test="undertakingDept != null">undertaking_dept = #{undertakingDept},</if>
122
+            <if test="amount != null">amount = #{amount},</if>
123
+            <if test="deposit != null">deposit = #{deposit},</if>
124
+            <if test="contractDocument != null">contract_document = #{contractDocument},</if>
125
+            <if test="drafter != null">drafter = #{drafter},</if>
126
+            <if test="draftTime != null">draft_time = #{draftTime},</if>
127
+            <if test="projectIds != null">project_ids = #{projectIds},</if>
128
+            <if test="remark != null">remark = #{remark},</if>
129
+            <if test="signDate != null">sign_date = #{signDate},</if>
130
+            <if test="signRemark != null">sign_remark = #{signRemark},</if>
131
+            <if test="signScan != null">sign_scan = #{signScan},</if>
132
+            <if test="commentType != null">comment_type = #{commentType},</if>
133
+        </trim>
134
+        where contract_id = #{contractId}
135
+    </update>
136
+
137
+    <delete id="deleteCmcContractByContractId" parameterType="String">
138
+        delete from cmc_contract where contract_id = #{contractId}
139
+    </delete>
140
+
141
+    <delete id="deleteCmcContractByContractIds" parameterType="String">
142
+        delete from cmc_contract where contract_id in
143
+        <foreach item="contractId" collection="array" open="(" separator="," close=")">
144
+            #{contractId}
145
+        </foreach>
146
+    </delete>
147
+</mapper>

+ 82
- 0
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractPaymentMapper.xml 查看文件

@@ -0,0 +1,82 @@
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper
3
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5
+<mapper namespace="com.ruoyi.oa.mapper.CmcContractPaymentMapper">
6
+    
7
+    <resultMap type="CmcContractPayment" id="CmcContractPaymentResult">
8
+        <result property="paymentId"    column="payment_id"    />
9
+        <result property="contractId"    column="contract_id"    />
10
+        <result property="paymentCondition"    column="payment_condition"    />
11
+        <result property="paymentPercentage"    column="payment_percentage"    />
12
+        <result property="paymentAmount"    column="payment_amount"    />
13
+        <result property="paymentTime"    column="payment_time"    />
14
+        <result property="remark"    column="remark"    />
15
+    </resultMap>
16
+
17
+    <sql id="selectCmcContractPaymentVo">
18
+        select payment_id, contract_id, payment_condition, payment_percentage, payment_amount, payment_time, remark from cmc_contract_payment
19
+    </sql>
20
+
21
+    <select id="selectCmcContractPaymentList" parameterType="CmcContractPayment" resultMap="CmcContractPaymentResult">
22
+        <include refid="selectCmcContractPaymentVo"/>
23
+        <where>  
24
+            <if test="contractId != null  and contractId != ''"> and contract_id like concat('%', #{contractId}, '%')</if>
25
+            <if test="paymentCondition != null  and paymentCondition != ''"> and payment_condition = #{paymentCondition}</if>
26
+            <if test="paymentPercentage != null  and paymentPercentage != ''"> and payment_percentage = #{paymentPercentage}</if>
27
+            <if test="paymentAmount != null  and paymentAmount != ''"> and payment_amount = #{paymentAmount}</if>
28
+            <if test="paymentTime != null "> and payment_time = #{paymentTime}</if>
29
+        </where>
30
+    </select>
31
+    
32
+    <select id="selectCmcContractPaymentByPaymentId" parameterType="String" resultMap="CmcContractPaymentResult">
33
+        <include refid="selectCmcContractPaymentVo"/>
34
+        where payment_id = #{paymentId}
35
+    </select>
36
+        
37
+    <insert id="insertCmcContractPayment" parameterType="CmcContractPayment">
38
+        insert into cmc_contract_payment
39
+        <trim prefix="(" suffix=")" suffixOverrides=",">
40
+            <if test="paymentId != null">payment_id,</if>
41
+            <if test="contractId != null">contract_id,</if>
42
+            <if test="paymentCondition != null">payment_condition,</if>
43
+            <if test="paymentPercentage != null">payment_percentage,</if>
44
+            <if test="paymentAmount != null">payment_amount,</if>
45
+            <if test="paymentTime != null">payment_time,</if>
46
+            <if test="remark != null">remark,</if>
47
+         </trim>
48
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
49
+            <if test="paymentId != null">#{paymentId},</if>
50
+            <if test="contractId != null">#{contractId},</if>
51
+            <if test="paymentCondition != null">#{paymentCondition},</if>
52
+            <if test="paymentPercentage != null">#{paymentPercentage},</if>
53
+            <if test="paymentAmount != null">#{paymentAmount},</if>
54
+            <if test="paymentTime != null">#{paymentTime},</if>
55
+            <if test="remark != null">#{remark},</if>
56
+         </trim>
57
+    </insert>
58
+
59
+    <update id="updateCmcContractPayment" parameterType="CmcContractPayment">
60
+        update cmc_contract_payment
61
+        <trim prefix="SET" suffixOverrides=",">
62
+            <if test="contractId != null">contract_id = #{contractId},</if>
63
+            <if test="paymentCondition != null">payment_condition = #{paymentCondition},</if>
64
+            <if test="paymentPercentage != null">payment_percentage = #{paymentPercentage},</if>
65
+            <if test="paymentAmount != null">payment_amount = #{paymentAmount},</if>
66
+            <if test="paymentTime != null">payment_time = #{paymentTime},</if>
67
+            <if test="remark != null">remark = #{remark},</if>
68
+        </trim>
69
+        where payment_id = #{paymentId}
70
+    </update>
71
+
72
+    <delete id="deleteCmcContractPaymentByPaymentId" parameterType="String">
73
+        delete from cmc_contract_payment where payment_id = #{paymentId}
74
+    </delete>
75
+
76
+    <delete id="deleteCmcContractPaymentByPaymentIds" parameterType="String">
77
+        delete from cmc_contract_payment where payment_id in 
78
+        <foreach item="paymentId" collection="array" open="(" separator="," close=")">
79
+            #{paymentId}
80
+        </foreach>
81
+    </delete>
82
+</mapper>

+ 87
- 0
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractWorkMapper.xml 查看文件

@@ -0,0 +1,87 @@
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper
3
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5
+<mapper namespace="com.ruoyi.oa.mapper.CmcContractWorkMapper">
6
+    
7
+    <resultMap type="CmcContractWork" id="CmcContractWorkResult">
8
+        <result property="workId"    column="work_id"    />
9
+        <result property="contractId"    column="contract_id"    />
10
+        <result property="content"    column="content"    />
11
+        <result property="scale"    column="scale"    />
12
+        <result property="unit"    column="unit"    />
13
+        <result property="workload"    column="workload"    />
14
+        <result property="deadline"    column="deadline"    />
15
+        <result property="remark"    column="remark"    />
16
+    </resultMap>
17
+
18
+    <sql id="selectCmcContractWorkVo">
19
+        select work_id, contract_id, content, scale, unit, workload, deadline, remark from cmc_contract_work
20
+    </sql>
21
+
22
+    <select id="selectCmcContractWorkList" parameterType="CmcContractWork" resultMap="CmcContractWorkResult">
23
+        <include refid="selectCmcContractWorkVo"/>
24
+        <where>  
25
+            <if test="contractId != null  and contractId != ''"> and contract_id like concat('%', #{contractId}, '%')</if>
26
+            <if test="content != null  and content != ''"> and content = #{content}</if>
27
+            <if test="scale != null  and scale != ''"> and scale = #{scale}</if>
28
+            <if test="unit != null  and unit != ''"> and unit = #{unit}</if>
29
+            <if test="workload != null  and workload != ''"> and workload = #{workload}</if>
30
+            <if test="deadline != null "> and deadline = #{deadline}</if>
31
+        </where>
32
+    </select>
33
+    
34
+    <select id="selectCmcContractWorkByWorkId" parameterType="String" resultMap="CmcContractWorkResult">
35
+        <include refid="selectCmcContractWorkVo"/>
36
+        where work_id = #{workId}
37
+    </select>
38
+        
39
+    <insert id="insertCmcContractWork" parameterType="CmcContractWork">
40
+        insert into cmc_contract_work
41
+        <trim prefix="(" suffix=")" suffixOverrides=",">
42
+            <if test="workId != null">work_id,</if>
43
+            <if test="contractId != null">contract_id,</if>
44
+            <if test="content != null">content,</if>
45
+            <if test="scale != null">scale,</if>
46
+            <if test="unit != null">unit,</if>
47
+            <if test="workload != null">workload,</if>
48
+            <if test="deadline != null">deadline,</if>
49
+            <if test="remark != null">remark,</if>
50
+         </trim>
51
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
52
+            <if test="workId != null">#{workId},</if>
53
+            <if test="contractId != null">#{contractId},</if>
54
+            <if test="content != null">#{content},</if>
55
+            <if test="scale != null">#{scale},</if>
56
+            <if test="unit != null">#{unit},</if>
57
+            <if test="workload != null">#{workload},</if>
58
+            <if test="deadline != null">#{deadline},</if>
59
+            <if test="remark != null">#{remark},</if>
60
+         </trim>
61
+    </insert>
62
+
63
+    <update id="updateCmcContractWork" parameterType="CmcContractWork">
64
+        update cmc_contract_work
65
+        <trim prefix="SET" suffixOverrides=",">
66
+            <if test="contractId != null">contract_id = #{contractId},</if>
67
+            <if test="content != null">content = #{content},</if>
68
+            <if test="scale != null">scale = #{scale},</if>
69
+            <if test="unit != null">unit = #{unit},</if>
70
+            <if test="workload != null">workload = #{workload},</if>
71
+            <if test="deadline != null">deadline = #{deadline},</if>
72
+            <if test="remark != null">remark = #{remark},</if>
73
+        </trim>
74
+        where work_id = #{workId}
75
+    </update>
76
+
77
+    <delete id="deleteCmcContractWorkByWorkId" parameterType="String">
78
+        delete from cmc_contract_work where work_id = #{workId}
79
+    </delete>
80
+
81
+    <delete id="deleteCmcContractWorkByWorkIds" parameterType="String">
82
+        delete from cmc_contract_work where work_id in 
83
+        <foreach item="workId" collection="array" open="(" separator="," close=")">
84
+            #{workId}
85
+        </foreach>
86
+    </delete>
87
+</mapper>

+ 6
- 1
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectMapper.xml 查看文件

@@ -14,6 +14,7 @@
14 14
         <result property="partyA"    column="party_a"    />
15 15
         <result property="contactPerson"    column="contact_person"    />
16 16
         <result property="telephone"    column="telephone"    />
17
+        <result property="contractId"    column="contract_id"    />
17 18
         <result property="projectType"    column="project_type"    />
18 19
         <result property="projectLevel"    column="project_level"    />
19 20
         <result property="projectRegistrant"    column="project_registrant"    />
@@ -23,7 +24,7 @@
23 24
     </resultMap>
24 25
 
25 26
     <sql id="selectCmcProjectVo">
26
-        select project_id, project_number, project_name, project_leader, is_finished, project_source, party_a, contact_person, telephone, project_type, project_level, project_registrant, undertaking_dept, create_time, remark from cmc_project
27
+        select project_id, project_number, project_name, project_leader, is_finished, project_source, party_a, contact_person, telephone, contract_id, project_type, project_level, project_registrant, undertaking_dept, create_time, remark from cmc_project
27 28
     </sql>
28 29
 
29 30
     <select id="selectCmcProjectList" parameterType="CmcProject" resultMap="CmcProjectResult">
@@ -36,6 +37,7 @@
36 37
             <if test="partyA != null  and partyA != ''"> and party_a like concat('%', #{partyA}, '%')</if>
37 38
             <if test="contactPerson != null  and contactPerson != ''"> and contact_person like concat('%', #{contactPerson}, '%')</if>
38 39
             <if test="telephone != null  and telephone != ''"> and telephone like concat('%', #{telephone}, '%')</if>
40
+            <if test="contractId != null  and contractId != ''"> and contract_id like concat('%', #{contractId}, '%')</if>
39 41
             <if test="projectType != null  and projectType != ''"> and project_type like concat('%', #{projectType}, '%')</if>
40 42
             <if test="projectLevel != null  and projectLevel != ''"> and project_level = #{projectLevel}</if>
41 43
         </where>
@@ -58,6 +60,7 @@
58 60
             <if test="partyA != null">party_a,</if>
59 61
             <if test="contactPerson != null">contact_person,</if>
60 62
             <if test="telephone != null">telephone,</if>
63
+            <if test="contractId != null">contract_id,</if>
61 64
             <if test="projectType != null">project_type,</if>
62 65
             <if test="projectLevel != null">project_level,</if>
63 66
             <if test="projectRegistrant != null">project_registrant,</if>
@@ -75,6 +78,7 @@
75 78
             <if test="partyA != null">#{partyA},</if>
76 79
             <if test="contactPerson != null">#{contactPerson},</if>
77 80
             <if test="telephone != null">#{telephone},</if>
81
+            <if test="contractId != null">#{contractId},</if>
78 82
             <if test="projectType != null">#{projectType},</if>
79 83
             <if test="projectLevel != null">#{projectLevel},</if>
80 84
             <if test="projectRegistrant != null">#{projectRegistrant},</if>
@@ -95,6 +99,7 @@
95 99
             <if test="partyA != null">party_a = #{partyA},</if>
96 100
             <if test="contactPerson != null">contact_person = #{contactPerson},</if>
97 101
             <if test="telephone != null">telephone = #{telephone},</if>
102
+            <if test="contractId != null">contract_id = #{contractId},</if>
98 103
             <if test="projectType != null">project_type = #{projectType},</if>
99 104
             <if test="projectLevel != null">project_level = #{projectLevel},</if>
100 105
             <if test="projectRegistrant != null">project_registrant = #{projectRegistrant},</if>

+ 168
- 70
oa-back/sql/sql.sql
文件差異過大導致無法顯示
查看文件


+ 44
- 0
oa-ui/src/api/oa/contract/contract.js 查看文件

@@ -0,0 +1,44 @@
1
+import request from '@/utils/request'
2
+
3
+// 查询cmc合同评审列表
4
+export function listContract(query) {
5
+  return request({
6
+    url: '/oa/contract/list',
7
+    method: 'get',
8
+    params: query
9
+  })
10
+}
11
+
12
+// 查询cmc合同评审详细
13
+export function getContract(contractId) {
14
+  return request({
15
+    url: '/oa/contract/' + contractId,
16
+    method: 'get'
17
+  })
18
+}
19
+
20
+// 新增cmc合同评审
21
+export function addContract(data) {
22
+  return request({
23
+    url: '/oa/contract',
24
+    method: 'post',
25
+    data: data
26
+  })
27
+}
28
+
29
+// 修改cmc合同评审
30
+export function updateContract(data) {
31
+  return request({
32
+    url: '/oa/contract',
33
+    method: 'put',
34
+    data: data
35
+  })
36
+}
37
+
38
+// 删除cmc合同评审
39
+export function delContract(contractId) {
40
+  return request({
41
+    url: '/oa/contract/' + contractId,
42
+    method: 'delete'
43
+  })
44
+}

+ 44
- 0
oa-ui/src/api/oa/contract/contractComment.js 查看文件

@@ -0,0 +1,44 @@
1
+import request from '@/utils/request'
2
+
3
+// 查询cmc合同意见列表
4
+export function listContractComment(query) {
5
+  return request({
6
+    url: '/oa/contractComment/list',
7
+    method: 'get',
8
+    params: query
9
+  })
10
+}
11
+
12
+// 查询cmc合同意见详细
13
+export function getContractComment(commentId) {
14
+  return request({
15
+    url: '/oa/contractComment/' + commentId,
16
+    method: 'get'
17
+  })
18
+}
19
+
20
+// 新增cmc合同意见
21
+export function addContractComment(data) {
22
+  return request({
23
+    url: '/oa/contractComment',
24
+    method: 'post',
25
+    data: data
26
+  })
27
+}
28
+
29
+// 修改cmc合同意见
30
+export function updateContractComment(data) {
31
+  return request({
32
+    url: '/oa/contractComment',
33
+    method: 'put',
34
+    data: data
35
+  })
36
+}
37
+
38
+// 删除cmc合同意见
39
+export function delContractComment(commentId) {
40
+  return request({
41
+    url: '/oa/contractComment/' + commentId,
42
+    method: 'delete'
43
+  })
44
+}

+ 44
- 0
oa-ui/src/api/oa/contract/contractPayment.js 查看文件

@@ -0,0 +1,44 @@
1
+import request from '@/utils/request'
2
+
3
+// 查询cmc合同回款列表
4
+export function listContractPayment(query) {
5
+  return request({
6
+    url: '/oa/contractPayment/list',
7
+    method: 'get',
8
+    params: query
9
+  })
10
+}
11
+
12
+// 查询cmc合同回款详细
13
+export function getContractPayment(paymentId) {
14
+  return request({
15
+    url: '/oa/contractPayment/' + paymentId,
16
+    method: 'get'
17
+  })
18
+}
19
+
20
+// 新增cmc合同回款
21
+export function addContractPayment(data) {
22
+  return request({
23
+    url: '/oa/contractPayment',
24
+    method: 'post',
25
+    data: data
26
+  })
27
+}
28
+
29
+// 修改cmc合同回款
30
+export function updateContractPayment(data) {
31
+  return request({
32
+    url: '/oa/contractPayment',
33
+    method: 'put',
34
+    data: data
35
+  })
36
+}
37
+
38
+// 删除cmc合同回款
39
+export function delContractPayment(paymentId) {
40
+  return request({
41
+    url: '/oa/contractPayment/' + paymentId,
42
+    method: 'delete'
43
+  })
44
+}

+ 44
- 0
oa-ui/src/api/oa/contract/contractWork.js 查看文件

@@ -0,0 +1,44 @@
1
+import request from '@/utils/request'
2
+
3
+// 查询cmc合同内容列表
4
+export function listContractWork(query) {
5
+  return request({
6
+    url: '/oa/contractWork/list',
7
+    method: 'get',
8
+    params: query
9
+  })
10
+}
11
+
12
+// 查询cmc合同内容详细
13
+export function getContractWork(workId) {
14
+  return request({
15
+    url: '/oa/contractWork/' + workId,
16
+    method: 'get'
17
+  })
18
+}
19
+
20
+// 新增cmc合同内容
21
+export function addContractWork(data) {
22
+  return request({
23
+    url: '/oa/contractWork',
24
+    method: 'post',
25
+    data: data
26
+  })
27
+}
28
+
29
+// 修改cmc合同内容
30
+export function updateContractWork(data) {
31
+  return request({
32
+    url: '/oa/contractWork',
33
+    method: 'put',
34
+    data: data
35
+  })
36
+}
37
+
38
+// 删除cmc合同内容
39
+export function delContractWork(workId) {
40
+  return request({
41
+    url: '/oa/contractWork/' + workId,
42
+    method: 'delete'
43
+  })
44
+}

+ 324
- 0
oa-ui/src/views/oa/contract/comment.vue 查看文件

@@ -0,0 +1,324 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
+      <el-form-item label="合同id" prop="contractId">
5
+        <el-input
6
+          v-model="queryParams.contractId"
7
+          placeholder="请输入合同id"
8
+          clearable
9
+          @keyup.enter.native="handleQuery"
10
+        />
11
+      </el-form-item>
12
+      <el-form-item label="会审部门" prop="deptId">
13
+        <el-input
14
+          v-model="queryParams.deptId"
15
+          placeholder="请输入会审部门"
16
+          clearable
17
+          @keyup.enter.native="handleQuery"
18
+        />
19
+      </el-form-item>
20
+      <el-form-item label="会审人" prop="userId">
21
+        <el-input
22
+          v-model="queryParams.userId"
23
+          placeholder="请输入会审人"
24
+          clearable
25
+          @keyup.enter.native="handleQuery"
26
+        />
27
+      </el-form-item>
28
+      <el-form-item label="会审意见" prop="comment">
29
+        <el-input
30
+          v-model="queryParams.comment"
31
+          placeholder="请输入会审意见"
32
+          clearable
33
+          @keyup.enter.native="handleQuery"
34
+        />
35
+      </el-form-item>
36
+      <el-form-item label="会审日期" prop="commentTime">
37
+        <el-date-picker clearable
38
+          v-model="queryParams.commentTime"
39
+          type="date"
40
+          value-format="yyyy-MM-dd"
41
+          placeholder="请选择会审日期">
42
+        </el-date-picker>
43
+      </el-form-item>
44
+      <el-form-item label="是否签名" prop="isSign">
45
+        <el-input
46
+          v-model="queryParams.isSign"
47
+          placeholder="请输入是否签名"
48
+          clearable
49
+          @keyup.enter.native="handleQuery"
50
+        />
51
+      </el-form-item>
52
+      <el-form-item>
53
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
54
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
55
+      </el-form-item>
56
+    </el-form>
57
+
58
+    <el-row :gutter="10" class="mb8">
59
+      <el-col :span="1.5">
60
+        <el-button
61
+          type="primary"
62
+          plain
63
+          icon="el-icon-plus"
64
+          size="mini"
65
+          @click="handleAdd"
66
+          v-hasPermi="['oa:contractComment:add']"
67
+        >新增</el-button>
68
+      </el-col>
69
+      <el-col :span="1.5">
70
+        <el-button
71
+          type="success"
72
+          plain
73
+          icon="el-icon-edit"
74
+          size="mini"
75
+          :disabled="single"
76
+          @click="handleUpdate"
77
+          v-hasPermi="['oa:contractComment:edit']"
78
+        >修改</el-button>
79
+      </el-col>
80
+      <el-col :span="1.5">
81
+        <el-button
82
+          type="danger"
83
+          plain
84
+          icon="el-icon-delete"
85
+          size="mini"
86
+          :disabled="multiple"
87
+          @click="handleDelete"
88
+          v-hasPermi="['oa:contractComment:remove']"
89
+        >删除</el-button>
90
+      </el-col>
91
+      <el-col :span="1.5">
92
+        <el-button
93
+          type="warning"
94
+          plain
95
+          icon="el-icon-download"
96
+          size="mini"
97
+          @click="handleExport"
98
+          v-hasPermi="['oa:contractComment:export']"
99
+        >导出</el-button>
100
+      </el-col>
101
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
102
+    </el-row>
103
+
104
+    <el-table v-loading="loading" :data="contractCommentList" @selection-change="handleSelectionChange">
105
+      <el-table-column type="selection" width="55" align="center" />
106
+      <el-table-column label="合同会审意见id" align="center" prop="commentId" />
107
+      <el-table-column label="合同id" align="center" prop="contractId" />
108
+      <el-table-column label="会审部门" align="center" prop="deptId" />
109
+      <el-table-column label="会审人" align="center" prop="userId" />
110
+      <el-table-column label="会审意见" align="center" prop="comment" />
111
+      <el-table-column label="会审日期" align="center" prop="commentTime" width="180">
112
+        <template slot-scope="scope">
113
+          <span>{{ parseTime(scope.row.commentTime, '{y}-{m}-{d}') }}</span>
114
+        </template>
115
+      </el-table-column>
116
+      <el-table-column label="是否签名" align="center" prop="isSign" />
117
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
118
+        <template slot-scope="scope">
119
+          <el-button
120
+            size="mini"
121
+            type="text"
122
+            icon="el-icon-edit"
123
+            @click="handleUpdate(scope.row)"
124
+            v-hasPermi="['oa:contractComment:edit']"
125
+          >修改</el-button>
126
+          <el-button
127
+            size="mini"
128
+            type="text"
129
+            icon="el-icon-delete"
130
+            @click="handleDelete(scope.row)"
131
+            v-hasPermi="['oa:contractComment:remove']"
132
+          >删除</el-button>
133
+        </template>
134
+      </el-table-column>
135
+    </el-table>
136
+    
137
+    <pagination
138
+      v-show="total>0"
139
+      :total="total"
140
+      :page.sync="queryParams.pageNum"
141
+      :limit.sync="queryParams.pageSize"
142
+      @pagination="getList"
143
+    />
144
+
145
+    <!-- 添加或修改cmc合同意见对话框 -->
146
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
147
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
148
+        <el-form-item label="合同id" prop="contractId">
149
+          <el-input v-model="form.contractId" placeholder="请输入合同id" />
150
+        </el-form-item>
151
+        <el-form-item label="会审部门" prop="deptId">
152
+          <el-input v-model="form.deptId" placeholder="请输入会审部门" />
153
+        </el-form-item>
154
+        <el-form-item label="会审人" prop="userId">
155
+          <el-input v-model="form.userId" placeholder="请输入会审人" />
156
+        </el-form-item>
157
+        <el-form-item label="会审意见" prop="comment">
158
+          <el-input v-model="form.comment" placeholder="请输入会审意见" />
159
+        </el-form-item>
160
+        <el-form-item label="会审日期" prop="commentTime">
161
+          <el-date-picker clearable
162
+            v-model="form.commentTime"
163
+            type="date"
164
+            value-format="yyyy-MM-dd"
165
+            placeholder="请选择会审日期">
166
+          </el-date-picker>
167
+        </el-form-item>
168
+        <el-form-item label="是否签名" prop="isSign">
169
+          <el-input v-model="form.isSign" placeholder="请输入是否签名" />
170
+        </el-form-item>
171
+      </el-form>
172
+      <div slot="footer" class="dialog-footer">
173
+        <el-button type="primary" @click="submitForm">确 定</el-button>
174
+        <el-button @click="cancel">取 消</el-button>
175
+      </div>
176
+    </el-dialog>
177
+  </div>
178
+</template>
179
+
180
+<script>
181
+import { listContractComment, getContractComment, delContractComment, addContractComment, updateContractComment } from "@/api/oa/contract/contractComment";
182
+
183
+export default {
184
+  name: "ContractComment",
185
+  data() {
186
+    return {
187
+      // 遮罩层
188
+      loading: true,
189
+      // 选中数组
190
+      ids: [],
191
+      // 非单个禁用
192
+      single: true,
193
+      // 非多个禁用
194
+      multiple: true,
195
+      // 显示搜索条件
196
+      showSearch: true,
197
+      // 总条数
198
+      total: 0,
199
+      // cmc合同意见表格数据
200
+      contractCommentList: [],
201
+      // 弹出层标题
202
+      title: "",
203
+      // 是否显示弹出层
204
+      open: false,
205
+      // 查询参数
206
+      queryParams: {
207
+        pageNum: 1,
208
+        pageSize: 10,
209
+        contractId: null,
210
+        deptId: null,
211
+        userId: null,
212
+        comment: null,
213
+        commentTime: null,
214
+        isSign: null
215
+      },
216
+      // 表单参数
217
+      form: {},
218
+      // 表单校验
219
+      rules: {
220
+      }
221
+    };
222
+  },
223
+  created() {
224
+    this.getList();
225
+  },
226
+  methods: {
227
+    /** 查询cmc合同意见列表 */
228
+    getList() {
229
+      this.loading = true;
230
+      listContractComment(this.queryParams).then(response => {
231
+        this.contractCommentList = response.rows;
232
+        this.total = response.total;
233
+        this.loading = false;
234
+      });
235
+    },
236
+    // 取消按钮
237
+    cancel() {
238
+      this.open = false;
239
+      this.reset();
240
+    },
241
+    // 表单重置
242
+    reset() {
243
+      this.form = {
244
+        commentId: null,
245
+        contractId: null,
246
+        deptId: null,
247
+        userId: null,
248
+        comment: null,
249
+        commentTime: null,
250
+        isSign: null
251
+      };
252
+      this.resetForm("form");
253
+    },
254
+    /** 搜索按钮操作 */
255
+    handleQuery() {
256
+      this.queryParams.pageNum = 1;
257
+      this.getList();
258
+    },
259
+    /** 重置按钮操作 */
260
+    resetQuery() {
261
+      this.resetForm("queryForm");
262
+      this.handleQuery();
263
+    },
264
+    // 多选框选中数据
265
+    handleSelectionChange(selection) {
266
+      this.ids = selection.map(item => item.commentId)
267
+      this.single = selection.length!==1
268
+      this.multiple = !selection.length
269
+    },
270
+    /** 新增按钮操作 */
271
+    handleAdd() {
272
+      this.reset();
273
+      this.open = true;
274
+      this.title = "添加cmc合同意见";
275
+    },
276
+    /** 修改按钮操作 */
277
+    handleUpdate(row) {
278
+      this.reset();
279
+      const commentId = row.commentId || this.ids
280
+      getContractComment(commentId).then(response => {
281
+        this.form = response.data;
282
+        this.open = true;
283
+        this.title = "修改cmc合同意见";
284
+      });
285
+    },
286
+    /** 提交按钮 */
287
+    submitForm() {
288
+      this.$refs["form"].validate(valid => {
289
+        if (valid) {
290
+          if (this.form.commentId != null) {
291
+            updateContractComment(this.form).then(response => {
292
+              this.$modal.msgSuccess("修改成功");
293
+              this.open = false;
294
+              this.getList();
295
+            });
296
+          } else {
297
+            addContractComment(this.form).then(response => {
298
+              this.$modal.msgSuccess("新增成功");
299
+              this.open = false;
300
+              this.getList();
301
+            });
302
+          }
303
+        }
304
+      });
305
+    },
306
+    /** 删除按钮操作 */
307
+    handleDelete(row) {
308
+      const commentIds = row.commentId || this.ids;
309
+      this.$modal.confirm('是否确认删除cmc合同意见编号为"' + commentIds + '"的数据项?').then(function() {
310
+        return delContractComment(commentIds);
311
+      }).then(() => {
312
+        this.getList();
313
+        this.$modal.msgSuccess("删除成功");
314
+      }).catch(() => {});
315
+    },
316
+    /** 导出按钮操作 */
317
+    handleExport() {
318
+      this.download('oa/contractComment/export', {
319
+        ...this.queryParams
320
+      }, `contractComment_${new Date().getTime()}.xlsx`)
321
+    }
322
+  }
323
+};
324
+</script>

+ 481
- 0
oa-ui/src/views/oa/contract/index.vue 查看文件

@@ -0,0 +1,481 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
+      <el-form-item label="合同编号" prop="contractNumber">
5
+        <el-input
6
+          v-model="queryParams.contractNumber"
7
+          placeholder="请输入合同编号"
8
+          clearable
9
+          @keyup.enter.native="handleQuery"
10
+        />
11
+      </el-form-item>
12
+      <el-form-item label="合同名称" prop="contractName">
13
+        <el-input
14
+          v-model="queryParams.contractName"
15
+          placeholder="请输入合同名称"
16
+          clearable
17
+          @keyup.enter.native="handleQuery"
18
+        />
19
+      </el-form-item>
20
+      <el-form-item label="甲方单位" prop="partyA">
21
+        <el-input
22
+          v-model="queryParams.partyA"
23
+          placeholder="请输入甲方单位"
24
+          clearable
25
+          @keyup.enter.native="handleQuery"
26
+        />
27
+      </el-form-item>
28
+      <el-form-item label="甲方单位联系人" prop="contactPerson">
29
+        <el-input
30
+          v-model="queryParams.contactPerson"
31
+          placeholder="请输入甲方单位联系人"
32
+          clearable
33
+          @keyup.enter.native="handleQuery"
34
+        />
35
+      </el-form-item>
36
+      <el-form-item label="甲方单位联系电话" prop="telephone">
37
+        <el-input
38
+          v-model="queryParams.telephone"
39
+          placeholder="请输入甲方单位联系电话"
40
+          clearable
41
+          @keyup.enter.native="handleQuery"
42
+        />
43
+      </el-form-item>
44
+      <el-form-item label="项目来源" prop="projectSource">
45
+        <el-input
46
+          v-model="queryParams.projectSource"
47
+          placeholder="请输入项目来源"
48
+          clearable
49
+          @keyup.enter.native="handleQuery"
50
+        />
51
+      </el-form-item>
52
+      <el-form-item label="拟承担部门" prop="undertakingDept">
53
+        <el-input
54
+          v-model="queryParams.undertakingDept"
55
+          placeholder="请输入拟承担部门"
56
+          clearable
57
+          @keyup.enter.native="handleQuery"
58
+        />
59
+      </el-form-item>
60
+      <el-form-item label="合同金额" prop="amount">
61
+        <el-input
62
+          v-model="queryParams.amount"
63
+          placeholder="请输入合同金额"
64
+          clearable
65
+          @keyup.enter.native="handleQuery"
66
+        />
67
+      </el-form-item>
68
+      <el-form-item label="履约保证金" prop="deposit">
69
+        <el-input
70
+          v-model="queryParams.deposit"
71
+          placeholder="请输入履约保证金"
72
+          clearable
73
+          @keyup.enter.native="handleQuery"
74
+        />
75
+      </el-form-item>
76
+      <el-form-item label="合同文件" prop="contractDocument">
77
+        <el-input
78
+          v-model="queryParams.contractDocument"
79
+          placeholder="请输入合同文件"
80
+          clearable
81
+          @keyup.enter.native="handleQuery"
82
+        />
83
+      </el-form-item>
84
+      <el-form-item label="拟稿人" prop="drafter">
85
+        <el-input
86
+          v-model="queryParams.drafter"
87
+          placeholder="请输入拟稿人"
88
+          clearable
89
+          @keyup.enter.native="handleQuery"
90
+        />
91
+      </el-form-item>
92
+      <el-form-item label="拟稿日期" prop="draftTime">
93
+        <el-date-picker clearable
94
+          v-model="queryParams.draftTime"
95
+          type="date"
96
+          value-format="yyyy-MM-dd"
97
+          placeholder="请选择拟稿日期">
98
+        </el-date-picker>
99
+      </el-form-item>
100
+      <el-form-item label="关联项目" prop="projectIds">
101
+        <el-input
102
+          v-model="queryParams.projectIds"
103
+          placeholder="请输入关联项目"
104
+          clearable
105
+          @keyup.enter.native="handleQuery"
106
+        />
107
+      </el-form-item>
108
+      <el-form-item label="签订日期" prop="signDate">
109
+        <el-date-picker clearable
110
+          v-model="queryParams.signDate"
111
+          type="date"
112
+          value-format="yyyy-MM-dd"
113
+          placeholder="请选择签订日期">
114
+        </el-date-picker>
115
+      </el-form-item>
116
+      <el-form-item label="签订备注" prop="signRemark">
117
+        <el-input
118
+          v-model="queryParams.signRemark"
119
+          placeholder="请输入签订备注"
120
+          clearable
121
+          @keyup.enter.native="handleQuery"
122
+        />
123
+      </el-form-item>
124
+      <el-form-item label="签订扫描件" prop="signScan">
125
+        <el-input
126
+          v-model="queryParams.signScan"
127
+          placeholder="请输入签订扫描件"
128
+          clearable
129
+          @keyup.enter.native="handleQuery"
130
+        />
131
+      </el-form-item>
132
+      <el-form-item>
133
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
134
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
135
+      </el-form-item>
136
+    </el-form>
137
+
138
+    <el-row :gutter="10" class="mb8">
139
+      <el-col :span="1.5">
140
+        <el-button
141
+          type="primary"
142
+          plain
143
+          icon="el-icon-plus"
144
+          size="mini"
145
+          @click="handleAdd"
146
+          v-hasPermi="['oa:contract:add']"
147
+        >新增</el-button>
148
+      </el-col>
149
+      <el-col :span="1.5">
150
+        <el-button
151
+          type="success"
152
+          plain
153
+          icon="el-icon-edit"
154
+          size="mini"
155
+          :disabled="single"
156
+          @click="handleUpdate"
157
+          v-hasPermi="['oa:contract:edit']"
158
+        >修改</el-button>
159
+      </el-col>
160
+      <el-col :span="1.5">
161
+        <el-button
162
+          type="danger"
163
+          plain
164
+          icon="el-icon-delete"
165
+          size="mini"
166
+          :disabled="multiple"
167
+          @click="handleDelete"
168
+          v-hasPermi="['oa:contract:remove']"
169
+        >删除</el-button>
170
+      </el-col>
171
+      <el-col :span="1.5">
172
+        <el-button
173
+          type="warning"
174
+          plain
175
+          icon="el-icon-download"
176
+          size="mini"
177
+          @click="handleExport"
178
+          v-hasPermi="['oa:contract:export']"
179
+        >导出</el-button>
180
+      </el-col>
181
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
182
+    </el-row>
183
+
184
+    <el-table v-loading="loading" :data="contractList" @selection-change="handleSelectionChange">
185
+      <el-table-column type="selection" width="55" align="center" />
186
+      <el-table-column label="合同id" align="center" prop="contractId" />
187
+      <el-table-column label="合同编号" align="center" prop="contractNumber" />
188
+      <el-table-column label="合同名称" align="center" prop="contractName" />
189
+      <el-table-column label="甲方单位" align="center" prop="partyA" />
190
+      <el-table-column label="甲方单位联系人" align="center" prop="contactPerson" />
191
+      <el-table-column label="甲方单位联系电话" align="center" prop="telephone" />
192
+      <el-table-column label="项目类型" align="center" prop="projectType" />
193
+      <el-table-column label="项目来源" align="center" prop="projectSource" />
194
+      <el-table-column label="拟承担部门" align="center" prop="undertakingDept" />
195
+      <el-table-column label="合同金额" align="center" prop="amount" />
196
+      <el-table-column label="履约保证金" align="center" prop="deposit" />
197
+      <el-table-column label="合同文件" align="center" prop="contractDocument" />
198
+      <el-table-column label="拟稿人" align="center" prop="drafter" />
199
+      <el-table-column label="拟稿日期" align="center" prop="draftTime" width="180">
200
+        <template slot-scope="scope">
201
+          <span>{{ parseTime(scope.row.draftTime, '{y}-{m}-{d}') }}</span>
202
+        </template>
203
+      </el-table-column>
204
+      <el-table-column label="关联项目" align="center" prop="projectIds" />
205
+      <el-table-column label="合同备注" align="center" prop="remark" />
206
+      <el-table-column label="签订日期" align="center" prop="signDate" width="180">
207
+        <template slot-scope="scope">
208
+          <span>{{ parseTime(scope.row.signDate, '{y}-{m}-{d}') }}</span>
209
+        </template>
210
+      </el-table-column>
211
+      <el-table-column label="签订备注" align="center" prop="signRemark" />
212
+      <el-table-column label="签订扫描件" align="center" prop="signScan" />
213
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
214
+        <template slot-scope="scope">
215
+          <el-button
216
+            size="mini"
217
+            type="text"
218
+            icon="el-icon-edit"
219
+            @click="handleUpdate(scope.row)"
220
+            v-hasPermi="['oa:contract:edit']"
221
+          >修改</el-button>
222
+          <el-button
223
+            size="mini"
224
+            type="text"
225
+            icon="el-icon-delete"
226
+            @click="handleDelete(scope.row)"
227
+            v-hasPermi="['oa:contract:remove']"
228
+          >删除</el-button>
229
+        </template>
230
+      </el-table-column>
231
+    </el-table>
232
+    
233
+    <pagination
234
+      v-show="total>0"
235
+      :total="total"
236
+      :page.sync="queryParams.pageNum"
237
+      :limit.sync="queryParams.pageSize"
238
+      @pagination="getList"
239
+    />
240
+
241
+    <!-- 添加或修改cmc合同评审对话框 -->
242
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
243
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
244
+        <el-form-item label="合同编号" prop="contractNumber">
245
+          <el-input v-model="form.contractNumber" placeholder="请输入合同编号" />
246
+        </el-form-item>
247
+        <el-form-item label="合同名称" prop="contractName">
248
+          <el-input v-model="form.contractName" placeholder="请输入合同名称" />
249
+        </el-form-item>
250
+        <el-form-item label="甲方单位" prop="partyA">
251
+          <el-input v-model="form.partyA" placeholder="请输入甲方单位" />
252
+        </el-form-item>
253
+        <el-form-item label="甲方单位联系人" prop="contactPerson">
254
+          <el-input v-model="form.contactPerson" placeholder="请输入甲方单位联系人" />
255
+        </el-form-item>
256
+        <el-form-item label="甲方单位联系电话" prop="telephone">
257
+          <el-input v-model="form.telephone" placeholder="请输入甲方单位联系电话" />
258
+        </el-form-item>
259
+        <el-form-item label="项目来源" prop="projectSource">
260
+          <el-input v-model="form.projectSource" placeholder="请输入项目来源" />
261
+        </el-form-item>
262
+        <el-form-item label="拟承担部门" prop="undertakingDept">
263
+          <el-input v-model="form.undertakingDept" placeholder="请输入拟承担部门" />
264
+        </el-form-item>
265
+        <el-form-item label="合同金额" prop="amount">
266
+          <el-input v-model="form.amount" placeholder="请输入合同金额" />
267
+        </el-form-item>
268
+        <el-form-item label="履约保证金" prop="deposit">
269
+          <el-input v-model="form.deposit" placeholder="请输入履约保证金" />
270
+        </el-form-item>
271
+        <el-form-item label="合同文件" prop="contractDocument">
272
+          <el-input v-model="form.contractDocument" placeholder="请输入合同文件" />
273
+        </el-form-item>
274
+        <el-form-item label="拟稿人" prop="drafter">
275
+          <el-input v-model="form.drafter" placeholder="请输入拟稿人" />
276
+        </el-form-item>
277
+        <el-form-item label="拟稿日期" prop="draftTime">
278
+          <el-date-picker clearable
279
+            v-model="form.draftTime"
280
+            type="date"
281
+            value-format="yyyy-MM-dd"
282
+            placeholder="请选择拟稿日期">
283
+          </el-date-picker>
284
+        </el-form-item>
285
+        <el-form-item label="关联项目" prop="projectIds">
286
+          <el-input v-model="form.projectIds" placeholder="请输入关联项目" />
287
+        </el-form-item>
288
+        <el-form-item label="合同备注" prop="remark">
289
+          <el-input v-model="form.remark" placeholder="请输入合同备注" />
290
+        </el-form-item>
291
+        <el-form-item label="签订日期" prop="signDate">
292
+          <el-date-picker clearable
293
+            v-model="form.signDate"
294
+            type="date"
295
+            value-format="yyyy-MM-dd"
296
+            placeholder="请选择签订日期">
297
+          </el-date-picker>
298
+        </el-form-item>
299
+        <el-form-item label="签订备注" prop="signRemark">
300
+          <el-input v-model="form.signRemark" placeholder="请输入签订备注" />
301
+        </el-form-item>
302
+        <el-form-item label="签订扫描件" prop="signScan">
303
+          <el-input v-model="form.signScan" placeholder="请输入签订扫描件" />
304
+        </el-form-item>
305
+      </el-form>
306
+      <div slot="footer" class="dialog-footer">
307
+        <el-button type="primary" @click="submitForm">确 定</el-button>
308
+        <el-button @click="cancel">取 消</el-button>
309
+      </div>
310
+    </el-dialog>
311
+  </div>
312
+</template>
313
+
314
+<script>
315
+import { listContract, getContract, delContract, addContract, updateContract } from "@/api/oa/contract/contract";
316
+
317
+export default {
318
+  name: "Contract",
319
+  data() {
320
+    return {
321
+      // 遮罩层
322
+      loading: true,
323
+      // 选中数组
324
+      ids: [],
325
+      // 非单个禁用
326
+      single: true,
327
+      // 非多个禁用
328
+      multiple: true,
329
+      // 显示搜索条件
330
+      showSearch: true,
331
+      // 总条数
332
+      total: 0,
333
+      // cmc合同评审表格数据
334
+      contractList: [],
335
+      // 弹出层标题
336
+      title: "",
337
+      // 是否显示弹出层
338
+      open: false,
339
+      // 查询参数
340
+      queryParams: {
341
+        pageNum: 1,
342
+        pageSize: 10,
343
+        contractNumber: null,
344
+        contractName: null,
345
+        partyA: null,
346
+        contactPerson: null,
347
+        telephone: null,
348
+        projectType: null,
349
+        projectSource: null,
350
+        undertakingDept: null,
351
+        amount: null,
352
+        deposit: null,
353
+        contractDocument: null,
354
+        drafter: null,
355
+        draftTime: null,
356
+        projectIds: null,
357
+        signDate: null,
358
+        signRemark: null,
359
+        signScan: null
360
+      },
361
+      // 表单参数
362
+      form: {},
363
+      // 表单校验
364
+      rules: {
365
+      }
366
+    };
367
+  },
368
+  created() {
369
+    this.getList();
370
+  },
371
+  methods: {
372
+    /** 查询cmc合同评审列表 */
373
+    getList() {
374
+      this.loading = true;
375
+      listContract(this.queryParams).then(response => {
376
+        this.contractList = response.rows;
377
+        this.total = response.total;
378
+        this.loading = false;
379
+      });
380
+    },
381
+    // 取消按钮
382
+    cancel() {
383
+      this.open = false;
384
+      this.reset();
385
+    },
386
+    // 表单重置
387
+    reset() {
388
+      this.form = {
389
+        contractId: null,
390
+        contractNumber: null,
391
+        contractName: null,
392
+        partyA: null,
393
+        contactPerson: null,
394
+        telephone: null,
395
+        projectType: null,
396
+        projectSource: null,
397
+        undertakingDept: null,
398
+        amount: null,
399
+        deposit: null,
400
+        contractDocument: null,
401
+        drafter: null,
402
+        draftTime: null,
403
+        projectIds: null,
404
+        remark: null,
405
+        signDate: null,
406
+        signRemark: null,
407
+        signScan: null
408
+      };
409
+      this.resetForm("form");
410
+    },
411
+    /** 搜索按钮操作 */
412
+    handleQuery() {
413
+      this.queryParams.pageNum = 1;
414
+      this.getList();
415
+    },
416
+    /** 重置按钮操作 */
417
+    resetQuery() {
418
+      this.resetForm("queryForm");
419
+      this.handleQuery();
420
+    },
421
+    // 多选框选中数据
422
+    handleSelectionChange(selection) {
423
+      this.ids = selection.map(item => item.contractId)
424
+      this.single = selection.length!==1
425
+      this.multiple = !selection.length
426
+    },
427
+    /** 新增按钮操作 */
428
+    handleAdd() {
429
+      this.reset();
430
+      this.open = true;
431
+      this.title = "添加cmc合同评审";
432
+    },
433
+    /** 修改按钮操作 */
434
+    handleUpdate(row) {
435
+      this.reset();
436
+      const contractId = row.contractId || this.ids
437
+      getContract(contractId).then(response => {
438
+        this.form = response.data;
439
+        this.open = true;
440
+        this.title = "修改cmc合同评审";
441
+      });
442
+    },
443
+    /** 提交按钮 */
444
+    submitForm() {
445
+      this.$refs["form"].validate(valid => {
446
+        if (valid) {
447
+          if (this.form.contractId != null) {
448
+            updateContract(this.form).then(response => {
449
+              this.$modal.msgSuccess("修改成功");
450
+              this.open = false;
451
+              this.getList();
452
+            });
453
+          } else {
454
+            addContract(this.form).then(response => {
455
+              this.$modal.msgSuccess("新增成功");
456
+              this.open = false;
457
+              this.getList();
458
+            });
459
+          }
460
+        }
461
+      });
462
+    },
463
+    /** 删除按钮操作 */
464
+    handleDelete(row) {
465
+      const contractIds = row.contractId || this.ids;
466
+      this.$modal.confirm('是否确认删除cmc合同评审编号为"' + contractIds + '"的数据项?').then(function() {
467
+        return delContract(contractIds);
468
+      }).then(() => {
469
+        this.getList();
470
+        this.$modal.msgSuccess("删除成功");
471
+      }).catch(() => {});
472
+    },
473
+    /** 导出按钮操作 */
474
+    handleExport() {
475
+      this.download('oa/contract/export', {
476
+        ...this.queryParams
477
+      }, `contract_${new Date().getTime()}.xlsx`)
478
+    }
479
+  }
480
+};
481
+</script>

+ 315
- 0
oa-ui/src/views/oa/contract/payment.vue 查看文件

@@ -0,0 +1,315 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
+      <el-form-item label="合同id" prop="contractId">
5
+        <el-input
6
+          v-model="queryParams.contractId"
7
+          placeholder="请输入合同id"
8
+          clearable
9
+          @keyup.enter.native="handleQuery"
10
+        />
11
+      </el-form-item>
12
+      <el-form-item label="回款条件" prop="paymentCondition">
13
+        <el-input
14
+          v-model="queryParams.paymentCondition"
15
+          placeholder="请输入回款条件"
16
+          clearable
17
+          @keyup.enter.native="handleQuery"
18
+        />
19
+      </el-form-item>
20
+      <el-form-item label="回款比例" prop="paymentPercentage">
21
+        <el-input
22
+          v-model="queryParams.paymentPercentage"
23
+          placeholder="请输入回款比例"
24
+          clearable
25
+          @keyup.enter.native="handleQuery"
26
+        />
27
+      </el-form-item>
28
+      <el-form-item label="回款金额" prop="paymentAmount">
29
+        <el-input
30
+          v-model="queryParams.paymentAmount"
31
+          placeholder="请输入回款金额"
32
+          clearable
33
+          @keyup.enter.native="handleQuery"
34
+        />
35
+      </el-form-item>
36
+      <el-form-item label="回款预计时间" prop="paymentTime">
37
+        <el-date-picker clearable
38
+          v-model="queryParams.paymentTime"
39
+          type="date"
40
+          value-format="yyyy-MM-dd"
41
+          placeholder="请选择回款预计时间">
42
+        </el-date-picker>
43
+      </el-form-item>
44
+      <el-form-item>
45
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
46
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
47
+      </el-form-item>
48
+    </el-form>
49
+
50
+    <el-row :gutter="10" class="mb8">
51
+      <el-col :span="1.5">
52
+        <el-button
53
+          type="primary"
54
+          plain
55
+          icon="el-icon-plus"
56
+          size="mini"
57
+          @click="handleAdd"
58
+          v-hasPermi="['oa:contractPayment:add']"
59
+        >新增</el-button>
60
+      </el-col>
61
+      <el-col :span="1.5">
62
+        <el-button
63
+          type="success"
64
+          plain
65
+          icon="el-icon-edit"
66
+          size="mini"
67
+          :disabled="single"
68
+          @click="handleUpdate"
69
+          v-hasPermi="['oa:contractPayment:edit']"
70
+        >修改</el-button>
71
+      </el-col>
72
+      <el-col :span="1.5">
73
+        <el-button
74
+          type="danger"
75
+          plain
76
+          icon="el-icon-delete"
77
+          size="mini"
78
+          :disabled="multiple"
79
+          @click="handleDelete"
80
+          v-hasPermi="['oa:contractPayment:remove']"
81
+        >删除</el-button>
82
+      </el-col>
83
+      <el-col :span="1.5">
84
+        <el-button
85
+          type="warning"
86
+          plain
87
+          icon="el-icon-download"
88
+          size="mini"
89
+          @click="handleExport"
90
+          v-hasPermi="['oa:contractPayment:export']"
91
+        >导出</el-button>
92
+      </el-col>
93
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
94
+    </el-row>
95
+
96
+    <el-table v-loading="loading" :data="contractPaymentList" @selection-change="handleSelectionChange">
97
+      <el-table-column type="selection" width="55" align="center" />
98
+      <el-table-column label="合同回款id" align="center" prop="paymentId" />
99
+      <el-table-column label="合同id" align="center" prop="contractId" />
100
+      <el-table-column label="回款条件" align="center" prop="paymentCondition" />
101
+      <el-table-column label="回款比例" align="center" prop="paymentPercentage" />
102
+      <el-table-column label="回款金额" align="center" prop="paymentAmount" />
103
+      <el-table-column label="回款预计时间" align="center" prop="paymentTime" width="180">
104
+        <template slot-scope="scope">
105
+          <span>{{ parseTime(scope.row.paymentTime, '{y}-{m}-{d}') }}</span>
106
+        </template>
107
+      </el-table-column>
108
+      <el-table-column label="回款备注" align="center" prop="remark" />
109
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
110
+        <template slot-scope="scope">
111
+          <el-button
112
+            size="mini"
113
+            type="text"
114
+            icon="el-icon-edit"
115
+            @click="handleUpdate(scope.row)"
116
+            v-hasPermi="['oa:contractPayment:edit']"
117
+          >修改</el-button>
118
+          <el-button
119
+            size="mini"
120
+            type="text"
121
+            icon="el-icon-delete"
122
+            @click="handleDelete(scope.row)"
123
+            v-hasPermi="['oa:contractPayment:remove']"
124
+          >删除</el-button>
125
+        </template>
126
+      </el-table-column>
127
+    </el-table>
128
+    
129
+    <pagination
130
+      v-show="total>0"
131
+      :total="total"
132
+      :page.sync="queryParams.pageNum"
133
+      :limit.sync="queryParams.pageSize"
134
+      @pagination="getList"
135
+    />
136
+
137
+    <!-- 添加或修改cmc合同回款对话框 -->
138
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
139
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
140
+        <el-form-item label="合同id" prop="contractId">
141
+          <el-input v-model="form.contractId" placeholder="请输入合同id" />
142
+        </el-form-item>
143
+        <el-form-item label="回款条件" prop="paymentCondition">
144
+          <el-input v-model="form.paymentCondition" placeholder="请输入回款条件" />
145
+        </el-form-item>
146
+        <el-form-item label="回款比例" prop="paymentPercentage">
147
+          <el-input v-model="form.paymentPercentage" placeholder="请输入回款比例" />
148
+        </el-form-item>
149
+        <el-form-item label="回款金额" prop="paymentAmount">
150
+          <el-input v-model="form.paymentAmount" placeholder="请输入回款金额" />
151
+        </el-form-item>
152
+        <el-form-item label="回款预计时间" prop="paymentTime">
153
+          <el-date-picker clearable
154
+            v-model="form.paymentTime"
155
+            type="date"
156
+            value-format="yyyy-MM-dd"
157
+            placeholder="请选择回款预计时间">
158
+          </el-date-picker>
159
+        </el-form-item>
160
+        <el-form-item label="回款备注" prop="remark">
161
+          <el-input v-model="form.remark" placeholder="请输入回款备注" />
162
+        </el-form-item>
163
+      </el-form>
164
+      <div slot="footer" class="dialog-footer">
165
+        <el-button type="primary" @click="submitForm">确 定</el-button>
166
+        <el-button @click="cancel">取 消</el-button>
167
+      </div>
168
+    </el-dialog>
169
+  </div>
170
+</template>
171
+
172
+<script>
173
+import { listContractPayment, getContractPayment, delContractPayment, addContractPayment, updateContractPayment } from "@/api/oa/contract/contractPayment";
174
+
175
+export default {
176
+  name: "ContractPayment",
177
+  data() {
178
+    return {
179
+      // 遮罩层
180
+      loading: true,
181
+      // 选中数组
182
+      ids: [],
183
+      // 非单个禁用
184
+      single: true,
185
+      // 非多个禁用
186
+      multiple: true,
187
+      // 显示搜索条件
188
+      showSearch: true,
189
+      // 总条数
190
+      total: 0,
191
+      // cmc合同回款表格数据
192
+      contractPaymentList: [],
193
+      // 弹出层标题
194
+      title: "",
195
+      // 是否显示弹出层
196
+      open: false,
197
+      // 查询参数
198
+      queryParams: {
199
+        pageNum: 1,
200
+        pageSize: 10,
201
+        contractId: null,
202
+        paymentCondition: null,
203
+        paymentPercentage: null,
204
+        paymentAmount: null,
205
+        paymentTime: null,
206
+      },
207
+      // 表单参数
208
+      form: {},
209
+      // 表单校验
210
+      rules: {
211
+      }
212
+    };
213
+  },
214
+  created() {
215
+    this.getList();
216
+  },
217
+  methods: {
218
+    /** 查询cmc合同回款列表 */
219
+    getList() {
220
+      this.loading = true;
221
+      listContractPayment(this.queryParams).then(response => {
222
+        this.contractPaymentList = response.rows;
223
+        this.total = response.total;
224
+        this.loading = false;
225
+      });
226
+    },
227
+    // 取消按钮
228
+    cancel() {
229
+      this.open = false;
230
+      this.reset();
231
+    },
232
+    // 表单重置
233
+    reset() {
234
+      this.form = {
235
+        paymentId: null,
236
+        contractId: null,
237
+        paymentCondition: null,
238
+        paymentPercentage: null,
239
+        paymentAmount: null,
240
+        paymentTime: null,
241
+        remark: null
242
+      };
243
+      this.resetForm("form");
244
+    },
245
+    /** 搜索按钮操作 */
246
+    handleQuery() {
247
+      this.queryParams.pageNum = 1;
248
+      this.getList();
249
+    },
250
+    /** 重置按钮操作 */
251
+    resetQuery() {
252
+      this.resetForm("queryForm");
253
+      this.handleQuery();
254
+    },
255
+    // 多选框选中数据
256
+    handleSelectionChange(selection) {
257
+      this.ids = selection.map(item => item.paymentId)
258
+      this.single = selection.length!==1
259
+      this.multiple = !selection.length
260
+    },
261
+    /** 新增按钮操作 */
262
+    handleAdd() {
263
+      this.reset();
264
+      this.open = true;
265
+      this.title = "添加cmc合同回款";
266
+    },
267
+    /** 修改按钮操作 */
268
+    handleUpdate(row) {
269
+      this.reset();
270
+      const paymentId = row.paymentId || this.ids
271
+      getContractPayment(paymentId).then(response => {
272
+        this.form = response.data;
273
+        this.open = true;
274
+        this.title = "修改cmc合同回款";
275
+      });
276
+    },
277
+    /** 提交按钮 */
278
+    submitForm() {
279
+      this.$refs["form"].validate(valid => {
280
+        if (valid) {
281
+          if (this.form.paymentId != null) {
282
+            updateContractPayment(this.form).then(response => {
283
+              this.$modal.msgSuccess("修改成功");
284
+              this.open = false;
285
+              this.getList();
286
+            });
287
+          } else {
288
+            addContractPayment(this.form).then(response => {
289
+              this.$modal.msgSuccess("新增成功");
290
+              this.open = false;
291
+              this.getList();
292
+            });
293
+          }
294
+        }
295
+      });
296
+    },
297
+    /** 删除按钮操作 */
298
+    handleDelete(row) {
299
+      const paymentIds = row.paymentId || this.ids;
300
+      this.$modal.confirm('是否确认删除cmc合同回款编号为"' + paymentIds + '"的数据项?').then(function() {
301
+        return delContractPayment(paymentIds);
302
+      }).then(() => {
303
+        this.getList();
304
+        this.$modal.msgSuccess("删除成功");
305
+      }).catch(() => {});
306
+    },
307
+    /** 导出按钮操作 */
308
+    handleExport() {
309
+      this.download('oa/contractPayment/export', {
310
+        ...this.queryParams
311
+      }, `contractPayment_${new Date().getTime()}.xlsx`)
312
+    }
313
+  }
314
+};
315
+</script>

+ 321
- 0
oa-ui/src/views/oa/contract/work.vue 查看文件

@@ -0,0 +1,321 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
+      <el-form-item label="合同id" prop="contractId">
5
+        <el-input
6
+          v-model="queryParams.contractId"
7
+          placeholder="请输入合同id"
8
+          clearable
9
+          @keyup.enter.native="handleQuery"
10
+        />
11
+      </el-form-item>
12
+      <el-form-item label="等级或比例尺" prop="scale">
13
+        <el-input
14
+          v-model="queryParams.scale"
15
+          placeholder="请输入等级或比例尺"
16
+          clearable
17
+          @keyup.enter.native="handleQuery"
18
+        />
19
+      </el-form-item>
20
+      <el-form-item label="单位" prop="unit">
21
+        <el-input
22
+          v-model="queryParams.unit"
23
+          placeholder="请输入单位"
24
+          clearable
25
+          @keyup.enter.native="handleQuery"
26
+        />
27
+      </el-form-item>
28
+      <el-form-item label="工作量" prop="workload">
29
+        <el-input
30
+          v-model="queryParams.workload"
31
+          placeholder="请输入工作量"
32
+          clearable
33
+          @keyup.enter.native="handleQuery"
34
+        />
35
+      </el-form-item>
36
+      <el-form-item label="要求完成时间" prop="deadline">
37
+        <el-date-picker clearable
38
+          v-model="queryParams.deadline"
39
+          type="date"
40
+          value-format="yyyy-MM-dd"
41
+          placeholder="请选择要求完成时间">
42
+        </el-date-picker>
43
+      </el-form-item>
44
+      <el-form-item>
45
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
46
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
47
+      </el-form-item>
48
+    </el-form>
49
+
50
+    <el-row :gutter="10" class="mb8">
51
+      <el-col :span="1.5">
52
+        <el-button
53
+          type="primary"
54
+          plain
55
+          icon="el-icon-plus"
56
+          size="mini"
57
+          @click="handleAdd"
58
+          v-hasPermi="['oa:contractWork:add']"
59
+        >新增</el-button>
60
+      </el-col>
61
+      <el-col :span="1.5">
62
+        <el-button
63
+          type="success"
64
+          plain
65
+          icon="el-icon-edit"
66
+          size="mini"
67
+          :disabled="single"
68
+          @click="handleUpdate"
69
+          v-hasPermi="['oa:contractWork:edit']"
70
+        >修改</el-button>
71
+      </el-col>
72
+      <el-col :span="1.5">
73
+        <el-button
74
+          type="danger"
75
+          plain
76
+          icon="el-icon-delete"
77
+          size="mini"
78
+          :disabled="multiple"
79
+          @click="handleDelete"
80
+          v-hasPermi="['oa:contractWork:remove']"
81
+        >删除</el-button>
82
+      </el-col>
83
+      <el-col :span="1.5">
84
+        <el-button
85
+          type="warning"
86
+          plain
87
+          icon="el-icon-download"
88
+          size="mini"
89
+          @click="handleExport"
90
+          v-hasPermi="['oa:contractWork:export']"
91
+        >导出</el-button>
92
+      </el-col>
93
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
94
+    </el-row>
95
+
96
+    <el-table v-loading="loading" :data="contractWorkList" @selection-change="handleSelectionChange">
97
+      <el-table-column type="selection" width="55" align="center" />
98
+      <el-table-column label="工作内容id" align="center" prop="workId" />
99
+      <el-table-column label="合同id" align="center" prop="contractId" />
100
+      <el-table-column label="工作内容" align="center" prop="content" />
101
+      <el-table-column label="等级或比例尺" align="center" prop="scale" />
102
+      <el-table-column label="单位" align="center" prop="unit" />
103
+      <el-table-column label="工作量" align="center" prop="workload" />
104
+      <el-table-column label="要求完成时间" align="center" prop="deadline" width="180">
105
+        <template slot-scope="scope">
106
+          <span>{{ parseTime(scope.row.deadline, '{y}-{m}-{d}') }}</span>
107
+        </template>
108
+      </el-table-column>
109
+      <el-table-column label="工作内容备注" align="center" prop="remark" />
110
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
111
+        <template slot-scope="scope">
112
+          <el-button
113
+            size="mini"
114
+            type="text"
115
+            icon="el-icon-edit"
116
+            @click="handleUpdate(scope.row)"
117
+            v-hasPermi="['oa:contractWork:edit']"
118
+          >修改</el-button>
119
+          <el-button
120
+            size="mini"
121
+            type="text"
122
+            icon="el-icon-delete"
123
+            @click="handleDelete(scope.row)"
124
+            v-hasPermi="['oa:contractWork:remove']"
125
+          >删除</el-button>
126
+        </template>
127
+      </el-table-column>
128
+    </el-table>
129
+    
130
+    <pagination
131
+      v-show="total>0"
132
+      :total="total"
133
+      :page.sync="queryParams.pageNum"
134
+      :limit.sync="queryParams.pageSize"
135
+      @pagination="getList"
136
+    />
137
+
138
+    <!-- 添加或修改cmc合同内容对话框 -->
139
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
140
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
141
+        <el-form-item label="合同id" prop="contractId">
142
+          <el-input v-model="form.contractId" placeholder="请输入合同id" />
143
+        </el-form-item>
144
+        <el-form-item label="工作内容">
145
+          <editor v-model="form.content" :min-height="192"/>
146
+        </el-form-item>
147
+        <el-form-item label="等级或比例尺" prop="scale">
148
+          <el-input v-model="form.scale" placeholder="请输入等级或比例尺" />
149
+        </el-form-item>
150
+        <el-form-item label="单位" prop="unit">
151
+          <el-input v-model="form.unit" placeholder="请输入单位" />
152
+        </el-form-item>
153
+        <el-form-item label="工作量" prop="workload">
154
+          <el-input v-model="form.workload" placeholder="请输入工作量" />
155
+        </el-form-item>
156
+        <el-form-item label="要求完成时间" prop="deadline">
157
+          <el-date-picker clearable
158
+            v-model="form.deadline"
159
+            type="date"
160
+            value-format="yyyy-MM-dd"
161
+            placeholder="请选择要求完成时间">
162
+          </el-date-picker>
163
+        </el-form-item>
164
+        <el-form-item label="工作内容备注" prop="remark">
165
+          <el-input v-model="form.remark" placeholder="请输入工作内容备注" />
166
+        </el-form-item>
167
+      </el-form>
168
+      <div slot="footer" class="dialog-footer">
169
+        <el-button type="primary" @click="submitForm">确 定</el-button>
170
+        <el-button @click="cancel">取 消</el-button>
171
+      </div>
172
+    </el-dialog>
173
+  </div>
174
+</template>
175
+
176
+<script>
177
+import { listContractWork, getContractWork, delContractWork, addContractWork, updateContractWork } from "@/api/oa/contract/contractWork";
178
+
179
+export default {
180
+  name: "ContractWork",
181
+  data() {
182
+    return {
183
+      // 遮罩层
184
+      loading: true,
185
+      // 选中数组
186
+      ids: [],
187
+      // 非单个禁用
188
+      single: true,
189
+      // 非多个禁用
190
+      multiple: true,
191
+      // 显示搜索条件
192
+      showSearch: true,
193
+      // 总条数
194
+      total: 0,
195
+      // cmc合同内容表格数据
196
+      contractWorkList: [],
197
+      // 弹出层标题
198
+      title: "",
199
+      // 是否显示弹出层
200
+      open: false,
201
+      // 查询参数
202
+      queryParams: {
203
+        pageNum: 1,
204
+        pageSize: 10,
205
+        contractId: null,
206
+        content: null,
207
+        scale: null,
208
+        unit: null,
209
+        workload: null,
210
+        deadline: null,
211
+      },
212
+      // 表单参数
213
+      form: {},
214
+      // 表单校验
215
+      rules: {
216
+      }
217
+    };
218
+  },
219
+  created() {
220
+    this.getList();
221
+  },
222
+  methods: {
223
+    /** 查询cmc合同内容列表 */
224
+    getList() {
225
+      this.loading = true;
226
+      listContractWork(this.queryParams).then(response => {
227
+        this.contractWorkList = response.rows;
228
+        this.total = response.total;
229
+        this.loading = false;
230
+      });
231
+    },
232
+    // 取消按钮
233
+    cancel() {
234
+      this.open = false;
235
+      this.reset();
236
+    },
237
+    // 表单重置
238
+    reset() {
239
+      this.form = {
240
+        workId: null,
241
+        contractId: null,
242
+        content: null,
243
+        scale: null,
244
+        unit: null,
245
+        workload: null,
246
+        deadline: null,
247
+        remark: null
248
+      };
249
+      this.resetForm("form");
250
+    },
251
+    /** 搜索按钮操作 */
252
+    handleQuery() {
253
+      this.queryParams.pageNum = 1;
254
+      this.getList();
255
+    },
256
+    /** 重置按钮操作 */
257
+    resetQuery() {
258
+      this.resetForm("queryForm");
259
+      this.handleQuery();
260
+    },
261
+    // 多选框选中数据
262
+    handleSelectionChange(selection) {
263
+      this.ids = selection.map(item => item.workId)
264
+      this.single = selection.length!==1
265
+      this.multiple = !selection.length
266
+    },
267
+    /** 新增按钮操作 */
268
+    handleAdd() {
269
+      this.reset();
270
+      this.open = true;
271
+      this.title = "添加cmc合同内容";
272
+    },
273
+    /** 修改按钮操作 */
274
+    handleUpdate(row) {
275
+      this.reset();
276
+      const workId = row.workId || this.ids
277
+      getContractWork(workId).then(response => {
278
+        this.form = response.data;
279
+        this.open = true;
280
+        this.title = "修改cmc合同内容";
281
+      });
282
+    },
283
+    /** 提交按钮 */
284
+    submitForm() {
285
+      this.$refs["form"].validate(valid => {
286
+        if (valid) {
287
+          if (this.form.workId != null) {
288
+            updateContractWork(this.form).then(response => {
289
+              this.$modal.msgSuccess("修改成功");
290
+              this.open = false;
291
+              this.getList();
292
+            });
293
+          } else {
294
+            addContractWork(this.form).then(response => {
295
+              this.$modal.msgSuccess("新增成功");
296
+              this.open = false;
297
+              this.getList();
298
+            });
299
+          }
300
+        }
301
+      });
302
+    },
303
+    /** 删除按钮操作 */
304
+    handleDelete(row) {
305
+      const workIds = row.workId || this.ids;
306
+      this.$modal.confirm('是否确认删除cmc合同内容编号为"' + workIds + '"的数据项?').then(function() {
307
+        return delContractWork(workIds);
308
+      }).then(() => {
309
+        this.getList();
310
+        this.$modal.msgSuccess("删除成功");
311
+      }).catch(() => {});
312
+    },
313
+    /** 导出按钮操作 */
314
+    handleExport() {
315
+      this.download('oa/contractWork/export', {
316
+        ...this.queryParams
317
+      }, `contractWork_${new Date().getTime()}.xlsx`)
318
+    }
319
+  }
320
+};
321
+</script>

Loading…
取消
儲存