Sfoglia il codice sorgente

合同拟稿增加表单

lamphua 1 anno fa
parent
commit
a2d7e16b97

+ 55
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcContract.java Vedi File

@@ -47,6 +47,8 @@ public class CmcContract extends BaseEntity
47 47
 
48 48
     private SysUser draftUser;
49 49
 
50
+    private SysUser managerUser;
51
+
50 52
     /** 拟稿日期 */
51 53
     @JsonFormat(pattern = "yyyy-MM-dd")
52 54
     @Excel(name = "拟稿日期", width = 30, dateFormat = "yyyy-MM-dd")
@@ -69,6 +71,19 @@ public class CmcContract extends BaseEntity
69 71
     @Excel(name = "评审方式")
70 72
     private String commentType;
71 73
 
74
+    /** 分管审批意见 */
75
+    @Excel(name = "分管审批意见")
76
+    private String managerComment;
77
+
78
+    /** 分管审批人 */
79
+    @Excel(name = "分管审批人")
80
+    private Long managerUserId;
81
+
82
+    /** 分管审批日期 */
83
+    @JsonFormat(pattern = "yyyy-MM-dd")
84
+    @Excel(name = "分管审批日期", width = 30, dateFormat = "yyyy-MM-dd")
85
+    private Date managerTime;
86
+
72 87
     public void setContractId(String contractId)
73 88
     {
74 89
         this.contractId = contractId;
@@ -142,6 +157,15 @@ public class CmcContract extends BaseEntity
142 157
     {
143 158
         return draftUser;
144 159
     }
160
+    public void setManagerUser(SysUser managerUser)
161
+    {
162
+        this.managerUser = managerUser;
163
+    }
164
+
165
+    public SysUser getManagerUser()
166
+    {
167
+        return managerUser;
168
+    }
145 169
     public void setDraftTime(Date draftTime)
146 170
     {
147 171
         this.draftTime = draftTime;
@@ -188,6 +212,34 @@ public class CmcContract extends BaseEntity
188 212
         return commentType;
189 213
     }
190 214
 
215
+    public void setManagerComment(String managerComment)
216
+    {
217
+        this.managerComment = managerComment;
218
+    }
219
+
220
+    public String getManagerComment()
221
+    {
222
+        return managerComment;
223
+    }
224
+    public void setManagerUserId(Long managerUserId)
225
+    {
226
+        this.managerUserId = managerUserId;
227
+    }
228
+
229
+    public Long getManagerUserId()
230
+    {
231
+        return managerUserId;
232
+    }
233
+    public void setManagerTime(Date managerTime)
234
+    {
235
+        this.managerTime = managerTime;
236
+    }
237
+
238
+    public Date getManagerTime()
239
+    {
240
+        return managerTime;
241
+    }
242
+
191 243
     @Override
192 244
     public String toString() {
193 245
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -203,6 +255,9 @@ public class CmcContract extends BaseEntity
203 255
                 .append("signRemark", getSignRemark())
204 256
                 .append("signScan", getSignScan())
205 257
                 .append("commentType", getCommentType())
258
+                .append("managerComment", getManagerComment())
259
+                .append("managerUserId", getManagerUserId())
260
+                .append("managerTime", getManagerTime())
206 261
                 .toString();
207 262
     }
208 263
 }

+ 20
- 1
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractMapper.xml Vedi File

@@ -18,7 +18,11 @@
18 18
         <result property="signRemark"    column="sign_remark"    />
19 19
         <result property="signScan"    column="sign_scan"    />
20 20
         <result property="commentType"    column="comment_type"    />
21
+        <result property="managerComment"    column="manager_comment"    />
22
+        <result property="managerUserId"    column="manager_user_id"    />
23
+        <result property="managerTime"    column="manager_time"    />
21 24
         <association property="draftUser"    javaType="SysUser"         resultMap="DraftUserResult" />
25
+        <association property="managerUser"    javaType="SysUser"         resultMap="ManagerUserResult" />
22 26
     </resultMap>
23 27
 
24 28
     <resultMap type="SysUser" id="DraftUserResult">
@@ -26,10 +30,16 @@
26 30
         <result property="nickName"    column="draft_nick_name"    />
27 31
     </resultMap>
28 32
 
33
+    <resultMap type="SysUser" id="ManagerUserResult">
34
+        <result property="userId"    column="user_id"    />
35
+        <result property="nickName"    column="manager_nick_name"    />
36
+    </resultMap>
37
+
29 38
     <sql id="selectCmcContractVo">
30 39
         select c.contract_id, c.contract_number, c.tender_id, c.amount, c.deposit, c.contract_document, c.drafter, u.nick_name as draft_nick_name, c.draft_time, c.remark, c.sign_date, c.sign_remark,
31
-               c.sign_scan, c.comment_type from cmc_contract as c
40
+               c.sign_scan, c.comment_type, c.manager_comment, c.manager_user_id, u1.nick_name as manager_nick_name, c.manager_time from cmc_contract as c
32 41
         left join sys_user as u on u.user_id = c.drafter
42
+        left join sys_user as u1 on u1.user_id = c.manager_user_id
33 43
     </sql>
34 44
 
35 45
     <select id="selectCmcContractList" parameterType="CmcContract" resultMap="CmcContractResult">
@@ -72,6 +82,9 @@
72 82
             <if test="signRemark != null">sign_remark,</if>
73 83
             <if test="signScan != null">sign_scan,</if>
74 84
             <if test="commentType != null">comment_type,</if>
85
+            <if test="managerComment != null">manager_comment,</if>
86
+            <if test="managerUserId != null">manager_user_id,</if>
87
+            <if test="managerTime != null">manager_time,</if>
75 88
         </trim>
76 89
         <trim prefix="values (" suffix=")" suffixOverrides=",">
77 90
             <if test="contractId != null">#{contractId},</if>
@@ -87,6 +100,9 @@
87 100
             <if test="signRemark != null">#{signRemark},</if>
88 101
             <if test="signScan != null">#{signScan},</if>
89 102
             <if test="commentType != null">#{commentType},</if>
103
+            <if test="managerComment != null">#{managerComment},</if>
104
+            <if test="managerUserId != null">#{managerUserId},</if>
105
+            <if test="managerTime != null">#{managerTime},</if>
90 106
         </trim>
91 107
     </insert>
92 108
 
@@ -105,6 +121,9 @@
105 121
             <if test="signRemark != null">sign_remark = #{signRemark},</if>
106 122
             <if test="signScan != null">sign_scan = #{signScan},</if>
107 123
             <if test="commentType != null">comment_type = #{commentType},</if>
124
+            <if test="managerComment != null">manager_comment = #{managerComment},</if>
125
+            <if test="managerUserId != null">manager_user_id = #{managerUserId},</if>
126
+            <if test="managerTime != null">manager_time = #{managerTime},</if>
108 127
         </trim>
109 128
         where contract_id = #{contractId}
110 129
     </update>

+ 17
- 14
oa-back/sql/sql.sql
File diff soppresso perché troppo grande
Vedi File


+ 44
- 0
oa-ui/src/api/oa/contract/contractMeeting.js Vedi File

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

+ 392
- 10
oa-ui/src/views/flowable/form/contractForm.vue Vedi File

@@ -2,7 +2,7 @@
2 2
   <div class="app-container">
3 3
     <el-row :gutter="20">
4 4
       <el-col :span="18" :xs="24">
5
-        <el-form ref="form" :model="form" :rules="rules" label-width="120px">
5
+        <el-form ref="form" :model="form" :rules="rules" label-width="130px">
6 6
           <el-form-item label="项目名称:" prop="tenderName">
7 7
             <el-select v-model="form.tenderId" filterable placeholder="请选择" @change="handleSelectTender"
8 8
               :disabled="taskName != '合同拟稿'" clearable>
@@ -49,10 +49,99 @@
49 49
           <el-form-item label="合同文件" prop="contractDocument">
50 50
             <el-input v-model="form.contractDocument" placeholder="请输入合同文件" />
51 51
           </el-form-item>
52
+          <el-form-item label="合同计划工作量:">
53
+            <table border="1">
54
+              <tr>
55
+                <td>序号</td>
56
+                <td>工作内容</td>
57
+                <td>等级或比例尺</td>
58
+                <td>单位</td>
59
+                <td>工作量</td>
60
+                <td>要求完成时间</td>
61
+                <td>备注</td>
62
+              </tr>
63
+              <tr v-for="(work, index) in workList" :key="index">
64
+                <td>
65
+                  {{ index + 1 }}
66
+                </td>
67
+                <td>
68
+                  <el-input v-model="work.content" type="textarea" clearable
69
+                    :autosize="{ minRows: 4, maxRows: 10 }"></el-input>
70
+                </td>
71
+                <td>
72
+                  <el-input v-model="work.scale" clearable></el-input>
73
+                </td>
74
+                <td>
75
+                  <el-input v-model="work.unit" clearable></el-input>
76
+                </td>
77
+                <td>
78
+                  <el-input v-model="work.workload" clearable></el-input>
79
+                </td>
80
+                <td>
81
+                  <el-date-picker style="width: 140px" v-model="work.deadline" value-format="yyyy-MM-dd" type="date"
82
+                    placeholder="选择日期">
83
+                  </el-date-picker>
84
+                </td>
85
+                <td>
86
+                  <el-input v-model="work.remark" type="textarea" clearable
87
+                    :autosize="{ minRows: 4, maxRows: 10 }"></el-input>
88
+                </td>
89
+                <td>
90
+                  <el-button type="danger" icon="el-icon-minus" size="mini" circle
91
+                    @click="deletWorkItem(index)"></el-button>
92
+                </td>
93
+              </tr>
94
+            </table>
95
+            <el-button icon="el-icon-plus" size="mini" @click="addWorkList()" type="primary" plain></el-button>
96
+          </el-form-item>
97
+          <el-form-item label="合同回款计划:">
98
+            <table border="1">
99
+              <tr>
100
+                <td>序号</td>
101
+                <td>回款条件</td>
102
+                <td>回款比例(%)</td>
103
+                <td>回款金额(元)</td>
104
+                <td>预计时间</td>
105
+                <td>备注</td>
106
+              </tr>
107
+              <tr v-for="(payment, index) in paymentList" :key="index">
108
+                <td>
109
+                  {{ index + 1 }}
110
+                </td>
111
+                <td>
112
+                  <el-input v-model="payment.paymentCondition" type="textarea" clearable
113
+                    :autosize="{ minRows: 4, maxRows: 10 }"></el-input>
114
+                </td>
115
+                <td>
116
+                  <el-input v-model="payment.paymentPercentage" clearable></el-input>
117
+                </td>
118
+                <td>
119
+                  <el-input v-model="payment.paymentAmount" clearable></el-input>
120
+                </td>
121
+                <td>
122
+                  <el-date-picker style="width: 140px" v-model="payment.paymentTime" value-format="yyyy-MM-dd" type="date"
123
+                    placeholder="选择日期">
124
+                  </el-date-picker>
125
+                </td>
126
+                <td>
127
+                  <el-input v-model="payment.remark" type="textarea" clearable
128
+                    :autosize="{ minRows: 4, maxRows: 10 }"></el-input>
129
+                </td>
130
+                <td>
131
+                  <el-button type="danger" icon="el-icon-minus" size="mini" circle
132
+                    @click="deletPaymentItem(index)"></el-button>
133
+                </td>
134
+              </tr>
135
+            </table>
136
+            <el-button icon="el-icon-plus" size="mini" @click="addPaymentList()" type="primary" plain></el-button>
137
+          </el-form-item>
138
+          <el-form-item label="合同备注" prop="remark">
139
+            <el-input v-model="form.remark" placeholder="请输入合同备注" />
140
+          </el-form-item>
52 141
           <el-row>
53 142
             <el-col :span="6" :xs="24" :offset="12">
54 143
               <el-form-item label="拟稿人:" label-width="120px">
55
-                <span class="auditor"> {{ form.draftUser ? form.draftUser.nickName : drafter }} </span>
144
+                <span class="auditor"> {{ form.draftUser ? form.draftUser.nickName : draftUser }} </span>
56 145
               </el-form-item>
57 146
             </el-col>
58 147
             <el-col :span="6">
@@ -61,9 +150,133 @@
61 150
               </el-form-item>
62 151
             </el-col>
63 152
           </el-row>
64
-          <el-form-item label="合同备注" prop="remark">
65
-            <el-input v-model="form.remark" placeholder="请输入合同备注" />
153
+          <el-divider></el-divider>
154
+          <el-form-item label="评审方式" prop="commentType">
155
+            <el-radio-group v-model="form.commentType" @change="changeCommentType">
156
+              <el-radio :label="0">无须评审</el-radio>
157
+              <el-radio :label="1">会议评审</el-radio>
158
+              <el-radio :label="2">线上评审</el-radio>
159
+            </el-radio-group>
66 160
           </el-form-item>
161
+          <el-form-item label="线上评审:" v-if="commentOpen">
162
+            <table border="1">
163
+              <tr>
164
+                <td>序号</td>
165
+                <td>会审部门</td>
166
+                <td>会审人</td>
167
+                <td>会审意见</td>
168
+                <td>会审附件</td>
169
+                <td>签名</td>
170
+                <td>日期</td>
171
+              </tr>
172
+              <tr v-for="(comment, index) in commentList" :key="index">
173
+                <td>
174
+                  {{ index + 1 }}
175
+                </td>
176
+                <td>
177
+                  <el-select v-model="comment.deptId" clearable style="width:120px" :disabled="index < 4" @change="getDeptLeader">
178
+                    <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId">
179
+                    </el-option>
180
+                  </el-select>
181
+                </td>
182
+                <td>
183
+                  <el-select v-model="comment.userId" clearable style="width:120px" :disabled="index < 4">
184
+                    <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
185
+                    </el-option>
186
+                  </el-select>
187
+                </td>
188
+                <td>
189
+                  <el-input v-model="comment.comment" type="textarea" clearable
190
+                    :autosize="{ minRows: 4, maxRows: 10 }"></el-input>
191
+                </td>
192
+                <td>
193
+                  <el-input v-model="comment.document" clearable></el-input>
194
+                </td>
195
+                <td>
196
+                  <span class="auditor"> {{ comment.User ? comment.User.nickName : commentUser }} </span>
197
+                </td>
198
+                <td>
199
+                  <span> {{ form.commentTime ? form.commentTime : commentTime }} </span>
200
+                </td>
201
+                <td>
202
+                  <el-button type="danger" icon="el-icon-minus" size="mini" circle
203
+                    @click="deletCommentItem(index)"></el-button>
204
+                </td>
205
+              </tr>
206
+            </table>
207
+            <el-button icon="el-icon-plus" size="mini" @click="addCommentList()" type="primary" plain></el-button>
208
+          </el-form-item>
209
+          <el-form-item label="会议评审:" v-if="meetingOpen">
210
+            <table border="1">
211
+              <tr>
212
+                <td>评审时间</td>
213
+                <td>
214
+                  <el-date-picker clearable v-model="meetingForm.meetingTime" type="date" value-format="yyyy-MM-dd"
215
+                    placeholder="请选择评审日期">
216
+                  </el-date-picker>
217
+                </td>
218
+                <td>评审地点</td>
219
+                <td>
220
+                  <el-select v-model="meetingForm.place" clearable style="width:120px">
221
+                    <el-option v-for="item in placeList" :key="item.id" :label="item.name" :value="item.id">
222
+                    </el-option>
223
+                  </el-select>
224
+                </td>
225
+                <td>评审主持人</td>
226
+                <td>
227
+                  <el-select v-model="meetingForm.hostId" clearable style="width:120px">
228
+                    <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
229
+                    </el-option>
230
+                  </el-select>
231
+                </td>
232
+              </tr>
233
+              <tr>
234
+                <td>参与评审人员</td>
235
+                <td colspan="5">
236
+                  <el-select v-model="meetingForm.users" multiple clearable style="width:600px">
237
+                    <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
238
+                    </el-option>
239
+                  </el-select>
240
+                </td>
241
+              </tr>
242
+              <tr>
243
+                <td>评审意见表</td>
244
+                <td colspan="5">
245
+                  <el-input v-model="meetingForm.document" clearable></el-input>
246
+                </td>
247
+              </tr>
248
+              <tr>
249
+                <td>评审结论</td>
250
+                <td colspan="5">
251
+                  <el-input type="textarea" v-model="meetingForm.conclusion" clearable></el-input>
252
+                </td>
253
+              </tr>
254
+              <tr>
255
+                <td>
256
+                  <span class="auditor"> {{ meetingForm.User ? meetingForm.User.nickName : meetingUser }} </span>
257
+                </td>
258
+                <td>
259
+                  <span> {{ meetingForm.commentTime ? meetingForm.commentTime : commentTime }} </span>
260
+                </td>
261
+              </tr>
262
+            </table>
263
+          </el-form-item>
264
+          <el-form-item label="分管审批意见" prop="remark">
265
+            <el-input v-model="form.managerComment" placeholder="请输入分管审批意见" />
266
+          </el-form-item>
267
+          <el-row>
268
+            <el-col :span="6" :xs="24" :offset="12">
269
+              <el-form-item label="签名:" label-width="120px">
270
+                <span class="auditor"> {{ form.managerUser ? form.managerUser.nickName : managerUser }} </span>
271
+              </el-form-item>
272
+            </el-col>
273
+            <el-col :span="6">
274
+              <el-form-item label="日期:" label-width="120px">
275
+                <span> {{ form.managerTime ? form.managerTime : managerTime }} </span>
276
+              </el-form-item>
277
+            </el-col>
278
+          </el-row>
279
+          <el-divider></el-divider>
67 280
           <el-form-item label="签订日期" prop="signDate">
68 281
             <el-date-picker clearable v-model="form.signDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择签订日期">
69 282
             </el-date-picker>
@@ -94,11 +307,16 @@
94 307
 
95 308
 <script>
96 309
 import { parseTime } from "@/utils/ruoyi";
310
+import { listDept } from '@/api/system/dept'
311
+import { listUser } from '@/api/system/user'
97 312
 import { listContract, getContract, delContract, addContract, updateContract } from "@/api/oa/contract/contract";
98 313
 import { getContractWork } from "@/api/oa/contract/contractWork";
314
+import { getContractPayment } from "@/api/oa/contract/contractPayment";
315
+import { getContractComment } from "@/api/oa/contract/contractComment";
316
+import { getContractMeeting } from "@/api/oa/contract/contractMeeting";
99 317
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
100 318
 import { listTender, getTender } from "@/api/oa/tender/tender";
101
-import { getUsersDeptLeader, getUsersManageLeader } from '@/api/system/post.js'
319
+import { getUsersDeptLeader, getUsersManageLeader, getUsersDeptLeaderByDept } from '@/api/system/post.js'
102 320
 import flow from '@/views/flowable/task/todo/detail/flow'
103 321
 import { flowXmlAndNode } from "@/api/flowable/definition";
104 322
 export default {
@@ -118,8 +336,12 @@ export default {
118 336
   name: "Contract",
119 337
   data() {
120 338
     return {
121
-      drafter: '',
339
+      draftUser: '',
122 340
       draftTime: undefined,
341
+      managerUser: '',
342
+      managerTime: undefined,
343
+      commentUser: '',
344
+      commentTime: undefined,
123 345
       // 遮罩层
124 346
       loading: true,
125 347
       // 选中数组
@@ -155,11 +377,49 @@ export default {
155 377
       },
156 378
       // 表单参数
157 379
       form: {},
380
+      meetingForm: {},
158 381
       // 表单校验
159 382
       rules: {
160 383
       },
384
+      meetingOpen: false,
385
+      commentOpen: false,
386
+      deptList: [],
387
+      userList: [],
161 388
       workList: [],
389
+      paymentList: [],
390
+      placeList: [{ id: 0, name: '301会议室' }, { id: 1, name: '216会议室' }],
391
+      commentList: [
392
+        {
393
+          deptId: 105,
394
+          userId: '',
395
+          comment: '',
396
+          document: '',
397
+          commentTime: undefined
398
+        },
399
+        {
400
+          deptId: 110,
401
+          userId: '',
402
+          comment: '',
403
+          document: '',
404
+          commentTime: undefined
405
+        },
406
+        {
407
+          deptId: 107,
408
+          userId: '',
409
+          comment: '',
410
+          document: '',
411
+          commentTime: undefined
412
+        },
413
+        {
414
+          deptId: 106,
415
+          userId: '',
416
+          comment: '',
417
+          document: '',
418
+          commentTime: undefined
419
+        },
420
+      ],
162 421
       tenderList: [],
422
+      commentType: '',
163 423
       chooseTender: {},
164 424
       isSelect: false,
165 425
       formTotal: 0,
@@ -168,10 +428,16 @@ export default {
168 428
   },
169 429
   created() {
170 430
     if (this.taskName == '合同拟稿') {
171
-      this.drafter = this.$store.getters.name;
431
+      this.draftUser = this.$store.getters.name;
172 432
       this.draftTime = parseTime(new Date(), '{y}-{m}-{d}')
173 433
     }
434
+    else if (this.taskName == '分管审核') {
435
+      this.managerUser = this.$store.getters.name;
436
+      this.managerTime = parseTime(new Date(), '{y}-{m}-{d}')
437
+    }
438
+    this.getDeptList();
174 439
     this.getTenderList();
440
+    this.getUserList();
175 441
     this.getList();
176 442
     flowXmlAndNode({ procInsId: this.taskForm.procInsId, deployId: this.taskForm.deployId }).then(res => {
177 443
       this.flowData = res.data;
@@ -182,9 +448,6 @@ export default {
182 448
   },
183 449
   methods: {
184 450
     initForm() {
185
-      getContractWork(this.taskForm.formId).then(res => {
186
-        this.workList = res.data;
187
-      });
188 451
       getContract(this.taskForm.formId).then(res => {
189 452
         if (this.isEmptyObject(res.data)) {
190 453
           this.formTotal = 0;
@@ -199,6 +462,22 @@ export default {
199 462
               this.isSelect = true
200 463
             })
201 464
           }
465
+          getContractWork(this.taskForm.formId).then(res => {
466
+            if (res.data)
467
+              this.workList = res.data;
468
+          });
469
+          getContractPayment(this.taskForm.formId).then(res => {
470
+            if (res.data)
471
+              this.paymentList = res.data;
472
+          });
473
+          getContractComment(this.taskForm.formId).then(res => {
474
+            if (res.data)
475
+              this.commentList = res.data;
476
+          });
477
+          getContractMeeting(this.taskForm.formId).then(res => {
478
+            if (res.data)
479
+              this.meetingForm = res.data;
480
+          });
202 481
         }
203 482
       })
204 483
     },
@@ -211,6 +490,16 @@ export default {
211 490
         this.loading = false;
212 491
       });
213 492
     },
493
+    getUserList() {
494
+      listUser({ pageSize: 9999, pageNum: 1 }).then(res => {
495
+        this.userList = res.rows
496
+      })
497
+    },
498
+    getDeptList() {
499
+      listDept({ pageSize: 9999, pageNum: 1 }).then(res => {
500
+        this.deptList = res.data
501
+      })
502
+    },
214 503
     // 查询项目列表
215 504
     getTenderList() {
216 505
       this.loading = true
@@ -283,6 +572,88 @@ export default {
283 572
         fullNumber = number;
284 573
       return fullNumber;
285 574
     },
575
+    addWorkList() {
576
+      this.workList.push({
577
+        content: "",
578
+        scale: "",
579
+        unit: "",
580
+        workload: "",
581
+        deadline: undefined,
582
+        remark: "",
583
+      });
584
+    },
585
+    addPaymentList() {
586
+      this.paymentList.push({
587
+        paymentCondition: "",
588
+        paymentPercentage: "",
589
+        paymentAmount: "",
590
+        paymentTime: undefined,
591
+        remark: "",
592
+      });
593
+    },
594
+    addCommentList() {
595
+      this.commentList.push({
596
+        deptId: "",
597
+        userId: "",
598
+        comment: "",
599
+        document: "",
600
+        commentTime: undefined,
601
+      });
602
+    },
603
+    deletWorkItem(index) {
604
+      let arr = this.workList;
605
+      if (arr.length == 1) {
606
+        return;
607
+      }
608
+      if (index >= 0 && index < arr.length) {
609
+        arr.splice(index, 1);
610
+      }
611
+    },
612
+    deletPaymentItem(index) {
613
+      let arr = this.paymentList;
614
+      if (arr.length == 1) {
615
+        return;
616
+      }
617
+      if (index >= 0 && index < arr.length) {
618
+        arr.splice(index, 1);
619
+      }
620
+    },
621
+    deletCommentItem(index) {
622
+      let arr = this.commentList;
623
+      if (arr.length == 1) {
624
+        return;
625
+      }
626
+      if (index >= 0 && index < arr.length) {
627
+        arr.splice(index, 1);
628
+      }
629
+    },
630
+    changeCommentType(val) {
631
+      if (val == 0) {
632
+        this.commentOpen = false;
633
+        this.meetingOpen = false;
634
+      }
635
+      else if (val == 1) {
636
+        this.commentOpen = false;
637
+        this.meetingOpen = true;
638
+      }
639
+      else if (val == 2) {
640
+        this.commentOpen = true;
641
+        this.meetingOpen = false;
642
+        for (let comment of this.commentList) {
643
+          getUsersDeptLeaderByDept({ deptId: comment.deptId }).then(res => {
644
+            comment.userId = res.data.userId;
645
+          })
646
+        }
647
+      }
648
+    },    
649
+    getDeptLeader(val) {
650
+        getUsersDeptLeaderByDept({ deptId: Number(val) }).then(res => {
651
+          for(let comment of this.commentList) {
652
+            if (comment.deptId == val)
653
+              comment.userId = res.data.userId;
654
+          }
655
+        })
656
+    },
286 657
     // 表单重置
287 658
     reset() {
288 659
       this.form = {
@@ -386,6 +757,17 @@ export default {
386 757
 </script>
387 758
 
388 759
 <style>
760
+table {
761
+  /*居中*/
762
+  margin: 0 auto;
763
+  /*边框*/
764
+  /* border: 1px solid black; */
765
+  text-align: center;
766
+  border-collapse: collapse;
767
+  /*设置背景颜色*/
768
+  /* background-color: #bfa; */
769
+}
770
+
389 771
 .auditor {
390 772
   font-family: '华文行楷';
391 773
   font-size: 20px;

Loading…
Annulla
Salva