Browse Source

技术交底、合同经营审核

lamphua 11 months ago
parent
commit
accb7f1721

+ 1
- 1
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcSafeMapper.xml View File

58
             <if test="disclosureTime != null "> and s.disclosure_time = #{disclosureTime}</if>
58
             <if test="disclosureTime != null "> and s.disclosure_time = #{disclosureTime}</if>
59
             <if test="acceptTime != null "> and s.accept_time = #{acceptTime}</if>
59
             <if test="acceptTime != null "> and s.accept_time = #{acceptTime}</if>
60
         </where>
60
         </where>
61
-        order by s.discloure_time desc
61
+        order by s.disclosure_time desc
62
     </select>
62
     </select>
63
     
63
     
64
     <select id="selectCmcSafeBySafeId" parameterType="String" resultMap="CmcSafeResult">
64
     <select id="selectCmcSafeBySafeId" parameterType="String" resultMap="CmcSafeResult">

+ 5
- 5
oa-back/sql/sql.sql
File diff suppressed because it is too large
View File


+ 9
- 0
oa-ui/src/api/system/post.js View File

75
   })
75
   })
76
 }
76
 }
77
 
77
 
78
+// 查询经营部门的部门负责人
79
+export function getDeptLeaders(query) {
80
+  return request({
81
+    url: '/system/post/deptLeaders',
82
+    method: 'get',
83
+    params: query
84
+  })
85
+}
86
+
78
 // 查询当前部门的部门负责人
87
 // 查询当前部门的部门负责人
79
 export function getUsersDeptLeaderByDept(query) {
88
 export function getUsersDeptLeaderByDept(query) {
80
   return request({
89
   return request({

+ 50
- 37
oa-ui/src/views/flowable/form/business/contractForm.vue View File

1
 <!--
1
 <!--
2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-05-10 15:31:57
3
  * @Date: 2024-05-10 15:31:57
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-07-05 10:31:53
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-07-05 17:33:58
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div class="app-container">
8
   <div class="app-container">
9
     <el-row :gutter="20">
9
     <el-row :gutter="20">
10
-      <el-col :span="flowDisabled ? 18:24" :xs="24">
10
+      <el-col :span="flowDisabled ? 18 : 24" :xs="24">
11
         <h2 class="text-center"><b>承接合同评审表</b></h2>
11
         <h2 class="text-center"><b>承接合同评审表</b></h2>
12
         <el-divider></el-divider>
12
         <el-divider></el-divider>
13
         <el-form ref="form" :model="form" :rules="rules" label-width="130px" :disabled="formDisabled">
13
         <el-form ref="form" :model="form" :rules="rules" label-width="130px" :disabled="formDisabled">
14
           <el-row :gutter="20">
14
           <el-row :gutter="20">
15
             <el-col :span="12" :xs="24">
15
             <el-col :span="12" :xs="24">
16
               <el-form-item label="投标项目名称:" prop="tenderId">
16
               <el-form-item label="投标项目名称:" prop="tenderId">
17
-                <el-button type="primary" size="mini" @click="tbOpen = true"
18
-                  v-if="taskName == '合同拟稿'">选择投标项目</el-button>
17
+                <el-button type="primary" size="mini" @click="tbOpen = true" v-if="taskName == '合同拟稿'">选择投标项目</el-button>
19
                 <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="3" direction="vertical">
18
                 <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="3" direction="vertical">
20
                   <el-descriptions-item label="投标项目名称" label-class-name="my-label" :span="3">{{ chooseTender.projectName
19
                   <el-descriptions-item label="投标项目名称" label-class-name="my-label" :span="3">{{ chooseTender.projectName
21
-                    }}</el-descriptions-item>
20
+                  }}</el-descriptions-item>
22
                   <el-descriptions-item label="项目来源" label-class-name="my-label">{{ getProjectSource(chooseTender)
21
                   <el-descriptions-item label="项目来源" label-class-name="my-label">{{ getProjectSource(chooseTender)
23
-                    }}</el-descriptions-item>
22
+                  }}</el-descriptions-item>
24
                   <el-descriptions-item label="联系人" label-class-name="my-label">{{ chooseTender.aPerson
23
                   <el-descriptions-item label="联系人" label-class-name="my-label">{{ chooseTender.aPerson
25
-                    }}</el-descriptions-item>
24
+                  }}</el-descriptions-item>
26
                   <el-descriptions-item label="联系电话" label-class-name="my-label">{{ chooseTender.aPhone
25
                   <el-descriptions-item label="联系电话" label-class-name="my-label">{{ chooseTender.aPhone
27
-                    }}</el-descriptions-item>
26
+                  }}</el-descriptions-item>
28
                 </el-descriptions>
27
                 </el-descriptions>
29
               </el-form-item>
28
               </el-form-item>
30
               <el-form-item label="合同名称" prop="contractName">
29
               <el-form-item label="合同名称" prop="contractName">
31
-                <el-input type="textarea" :rows="3" style="width: 100%;" v-model="form.contractName"
32
-                  placeholder="请输入合同名称" :disabled="taskName != '合同拟稿'"></el-input>
30
+                <el-input type="textarea" :rows="3" style="width: 100%;" v-model="form.contractName" placeholder="请输入合同名称"
31
+                  :disabled="taskName != '合同拟稿'"></el-input>
33
               </el-form-item>
32
               </el-form-item>
34
               <el-form-item label="甲方单位" prop="partyAId">
33
               <el-form-item label="甲方单位" prop="partyAId">
35
                 <el-select v-model="form.partyAId" filterable placeholder="请选择" disabled style="width: 100%;">
34
                 <el-select v-model="form.partyAId" filterable placeholder="请选择" disabled style="width: 100%;">
36
-                  <el-option v-for="item in partyAList" :key="item.value" :label="item.partyAName"
37
-                    :value="item.partyAId" :disabled="taskName != '合同拟稿'">
35
+                  <el-option v-for="item in partyAList" :key="item.value" :label="item.partyAName" :value="item.partyAId"
36
+                    :disabled="taskName != '合同拟稿'">
38
                   </el-option>
37
                   </el-option>
39
                 </el-select>
38
                 </el-select>
40
                 <el-button type="primary" @click="partyAOpen = true" size="mini"
39
                 <el-button type="primary" @click="partyAOpen = true" size="mini"
49
                   :disabled="taskName != '合同拟稿'"></el-input>
48
                   :disabled="taskName != '合同拟稿'"></el-input>
50
               </el-form-item>
49
               </el-form-item>
51
               <el-form-item label="合同金额" prop="amount">
50
               <el-form-item label="合同金额" prop="amount">
52
-                <el-input style="width:100%;" v-model="form.amount" placeholder="请输入合同金额"
53
-                  :disabled="taskName != '合同拟稿'">
51
+                <el-input style="width:100%;" v-model="form.amount" placeholder="请输入合同金额" :disabled="taskName != '合同拟稿'">
54
                   <template slot="append">元</template>
52
                   <template slot="append">元</template>
55
                 </el-input>
53
                 </el-input>
56
               </el-form-item>
54
               </el-form-item>
171
                     clearable :disabled="taskName != '合同拟稿'"></el-input-number>
169
                     clearable :disabled="taskName != '合同拟稿'"></el-input-number>
172
                 </td>
170
                 </td>
173
                 <td>
171
                 <td>
174
-                  <el-date-picker style="width: 140px" v-model="payment.paymentTime" value-format="yyyy-MM-dd"
175
-                    type="date" placeholder="选择日期" :disabled="taskName != '合同拟稿'">
172
+                  <el-date-picker style="width: 140px" v-model="payment.paymentTime" value-format="yyyy-MM-dd" type="date"
173
+                    placeholder="选择日期" :disabled="taskName != '合同拟稿'">
176
                   </el-date-picker>
174
                   </el-date-picker>
177
                 </td>
175
                 </td>
178
                 <td>
176
                 <td>
362
           </el-form-item>
360
           </el-form-item>
363
           <el-row>
361
           <el-row>
364
             <el-col :span="6" :xs="24" :offset="12">
362
             <el-col :span="6" :xs="24" :offset="12">
365
-              <el-form-item label="签名:" label-width="120px" v-if="taskName != '合同拟稿' && taskName != '线上会审' && taskName != '会议评审'">
363
+              <el-form-item label="签名:" label-width="120px"
364
+                v-if="taskName != '合同拟稿' && taskName != '线上会审' && taskName != '会议评审'">
366
                 <span class="auditor"> {{ form.managerUser ? form.managerUser.nickName : managerUser }} </span>
365
                 <span class="auditor"> {{ form.managerUser ? form.managerUser.nickName : managerUser }} </span>
367
               </el-form-item>
366
               </el-form-item>
368
             </el-col>
367
             </el-col>
369
             <el-col :span="6">
368
             <el-col :span="6">
370
-              <el-form-item label="日期:" label-width="120px" v-if="taskName != '合同拟稿' && taskName != '线上会审' && taskName != '会议评审'">
369
+              <el-form-item label="日期:" label-width="120px"
370
+                v-if="taskName != '合同拟稿' && taskName != '线上会审' && taskName != '会议评审'">
371
                 <span> {{ form.managerTime ? form.managerTime : managerTime }} </span>
371
                 <span> {{ form.managerTime ? form.managerTime : managerTime }} </span>
372
               </el-form-item>
372
               </el-form-item>
373
             </el-col>
373
             </el-col>
374
           </el-row>
374
           </el-row>
375
           <el-divider></el-divider>
375
           <el-divider></el-divider>
376
           <el-form-item label="签订日期" prop="signDate">
376
           <el-form-item label="签订日期" prop="signDate">
377
-            <el-date-picker clearable v-model="form.signDate" type="date" value-format="yyyy-MM-dd"
378
-              placeholder="请选择签订日期" :disabled="taskName != '合同签订'">
377
+            <el-date-picker clearable v-model="form.signDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择签订日期"
378
+              :disabled="taskName != '合同签订'">
379
             </el-date-picker>
379
             </el-date-picker>
380
           </el-form-item>
380
           </el-form-item>
381
           <el-form-item label="签订备注" prop="signRemark">
381
           <el-form-item label="签订备注" prop="signRemark">
453
 import { listProjectContract, addProjectContract, delProjectContract } from "@/api/oa/contract/projectContract";
453
 import { listProjectContract, addProjectContract, delProjectContract } from "@/api/oa/contract/projectContract";
454
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
454
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
455
 import { listTender, getTender } from "@/api/oa/tender/tender";
455
 import { listTender, getTender } from "@/api/oa/tender/tender";
456
-import { getUsersDeptLeader, getUsersManageLeader, getUsersDeptLeaderByDept } from '@/api/system/post.js'
456
+import { getUsersDeptLeader, getUsersManageLeader, getUsersDeptLeaderByDept, getDeptLeadersByDeptId, getUsersManageLeaderByDept } from '@/api/system/post.js'
457
 import flow from '@/views/flowable/task/todo/detail/flow'
457
 import flow from '@/views/flowable/task/todo/detail/flow'
458
 import { flowXmlAndNode } from "@/api/flowable/definition";
458
 import { flowXmlAndNode } from "@/api/flowable/definition";
459
 import ChooseProject from '../components/chooseProject.vue';
459
 import ChooseProject from '../components/chooseProject.vue';
569
           commentTime: undefined
569
           commentTime: undefined
570
         },
570
         },
571
         {
571
         {
572
-          deptId: 110,
572
+          deptId: 106,
573
           userId: '',
573
           userId: '',
574
           comment: '',
574
           comment: '',
575
           document: '',
575
           document: '',
583
         //   commentTime: undefined
583
         //   commentTime: undefined
584
         // },
584
         // },
585
         {
585
         {
586
-          deptId: 107,
586
+          deptId: 109,
587
           userId: '',
587
           userId: '',
588
           comment: '',
588
           comment: '',
589
           document: '',
589
           document: '',
727
                 },
727
                 },
728
               ]
728
               ]
729
               for (let comment of this.commentList) {
729
               for (let comment of this.commentList) {
730
-                getUsersDeptLeaderByDept({ deptId: comment.deptId }).then(res => {
731
-                  comment.userId = res.data.userId;
732
-                })
730
+                if (comment.deptId == 105)
731
+                  getDeptLeadersByDeptId({ deptId: comment.deptId }).then(res => {
732
+                    comment.userId = res.data[1].userId;
733
+                  })
734
+                else
735
+                  getUsersDeptLeaderByDept({ deptId: comment.deptId }).then(res => {
736
+                    comment.userId = res.data.userId;
737
+                  })
733
               }
738
               }
734
             }
739
             }
735
 
740
 
910
         this.commentOpen = true;
915
         this.commentOpen = true;
911
         this.meetingOpen = false;
916
         this.meetingOpen = false;
912
         for (let comment of this.commentList) {
917
         for (let comment of this.commentList) {
913
-          getUsersDeptLeaderByDept({ deptId: comment.deptId }).then(res => {
914
-            comment.userId = res.data.userId;
915
-          })
918
+          if (comment.deptId == 105)
919
+            getDeptLeadersByDeptId({ deptId: comment.deptId }).then(res => {
920
+              comment.userId = res.data[1].userId;
921
+            })
922
+          else
923
+            getUsersDeptLeaderByDept({ deptId: comment.deptId }).then(res => {
924
+              comment.userId = res.data.userId;
925
+            })
916
         }
926
         }
917
       }
927
       }
918
     },
928
     },
1003
                   updateContractComment(comment);
1013
                   updateContractComment(comment);
1004
                 }
1014
                 }
1005
                 getUsersManageLeader({ userId: this.form.drafter }).then(res => {
1015
                 getUsersManageLeader({ userId: this.form.drafter }).then(res => {
1006
-                  let userId = res.data.userId;
1007
-                  this.$set(this.taskForm.variables, "approval", userId);
1016
+                  let userIdList = [];
1017
+                  userIdList.push(res.data[0].userId)
1018
+                  this.$set(this.taskForm.variables, "approvalList", userIdList);
1008
                   complete(this.taskForm).then(response => {
1019
                   complete(this.taskForm).then(response => {
1009
                     this.$modal.msgSuccess(response.msg);
1020
                     this.$modal.msgSuccess(response.msg);
1010
                     this.$emit('goBack')
1021
                     this.$emit('goBack')
1018
                 formData.append("form", jsonForm);
1029
                 formData.append("form", jsonForm);
1019
                 updateContractMeeting(formData);
1030
                 updateContractMeeting(formData);
1020
                 getUsersManageLeader({ userId: this.form.drafter }).then(res => {
1031
                 getUsersManageLeader({ userId: this.form.drafter }).then(res => {
1021
-                  let userId = res.data.userId;
1022
-                  this.$set(this.taskForm.variables, "approval", userId);
1032
+            let userIdList = [];
1033
+            userIdList.push(res.data[0].userId)
1034
+            this.$set(this.taskForm.variables, "approvalList", userIdList);
1023
                   complete(this.taskForm).then(response => {
1035
                   complete(this.taskForm).then(response => {
1024
                     this.$modal.msgSuccess(response.msg);
1036
                     this.$modal.msgSuccess(response.msg);
1025
                     this.$emit('goBack')
1037
                     this.$emit('goBack')
1089
       const params = { taskId: this.taskForm.taskId };
1101
       const params = { taskId: this.taskForm.taskId };
1090
       getNextFlowNode(params).then(res => {
1102
       getNextFlowNode(params).then(res => {
1091
         if (this.commentOpen == false && this.meetingOpen == false) {
1103
         if (this.commentOpen == false && this.meetingOpen == false) {
1092
-          getUsersManageLeader({ userId: this.$store.getters.userId }).then(res => {
1093
-            let userId = res.data.userId;
1094
-            this.$set(this.taskForm.variables, "approval", userId);
1104
+          getUsersManageLeaderByDept({ deptId: 105 }).then(res => {
1105
+            let userIdList = [];
1106
+            userIdList.push(res.data[0].userId)
1107
+            this.$set(this.taskForm.variables, "approvalList", userIdList);
1095
             this.$set(this.taskForm.variables, "commentType", '0');
1108
             this.$set(this.taskForm.variables, "commentType", '0');
1096
             complete(this.taskForm).then(response => {
1109
             complete(this.taskForm).then(response => {
1097
               this.$modal.msgSuccess(response.msg);
1110
               this.$modal.msgSuccess(response.msg);

+ 54
- 38
oa-ui/src/views/flowable/form/business/subContract.vue View File

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-05-10 15:31:57
3
  * @Date: 2024-05-10 15:31:57
4
  * @LastEditors: wrh
4
  * @LastEditors: wrh
5
- * @LastEditTime: 2024-07-03 13:51:41
5
+ * @LastEditTime: 2024-07-05 17:29:38
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div class="app-container">
8
   <div class="app-container">
9
     <el-row :gutter="20">
9
     <el-row :gutter="20">
10
-      <el-col :span="flowDisabled ? 18:24" :xs="24">
10
+      <el-col :span="flowDisabled ? 18 : 24" :xs="24">
11
         <h2 class="text-center">分包合同评审表</h2>
11
         <h2 class="text-center">分包合同评审表</h2>
12
         <el-form ref="form" :model="form" :rules="rules" label-width="130px" :formDisabled="formDisabled">
12
         <el-form ref="form" :model="form" :rules="rules" label-width="130px" :formDisabled="formDisabled">
13
           <el-divider></el-divider>
13
           <el-divider></el-divider>
41
           <el-row :gutter="20">
41
           <el-row :gutter="20">
42
             <el-col :span="16" :xs="24">
42
             <el-col :span="16" :xs="24">
43
               <el-form-item label="分包合同名称" prop="subContractName">
43
               <el-form-item label="分包合同名称" prop="subContractName">
44
-                <el-input type="textarea" :rows="3" v-model="form.subContractName" placeholder="请输入分包合同名称" :disabled="taskName != '合同拟稿'" />
44
+                <el-input type="textarea" :rows="3" v-model="form.subContractName" placeholder="请输入分包合同名称"
45
+                  :disabled="taskName != '合同拟稿'" />
45
               </el-form-item>
46
               </el-form-item>
46
             </el-col>
47
             </el-col>
47
             <el-col :span="8" :xs="24">
48
             <el-col :span="8" :xs="24">
54
           <el-row :gutter="20">
55
           <el-row :gutter="20">
55
             <el-col :span="16" :xs="24">
56
             <el-col :span="16" :xs="24">
56
               <el-form-item label="承接单位" prop="partnerId">
57
               <el-form-item label="承接单位" prop="partnerId">
57
-                <el-select allow-create v-model="form.partnerId" multiple filterable placeholder="请选择"
58
-                  style="width: 84%;" disabled clearable>
58
+                <el-select allow-create v-model="form.partnerId" multiple filterable placeholder="请选择" style="width: 84%;"
59
+                  disabled clearable>
59
                   <el-option v-for="item in partnerList" :key="item.value" :label="item.partnerName"
60
                   <el-option v-for="item in partnerList" :key="item.value" :label="item.partnerName"
60
                     :value="item.partnerId">
61
                     :value="item.partnerId">
61
                   </el-option>
62
                   </el-option>
75
             <el-col :span="16" :xs="24">
76
             <el-col :span="16" :xs="24">
76
               <el-form-item label="合同文件" prop="contractDocument">
77
               <el-form-item label="合同文件" prop="contractDocument">
77
                 <FileUpload v-if="formTotal == 0" :disabled="taskName != '合同拟稿'" ref="contractFile" :limit="1"
78
                 <FileUpload v-if="formTotal == 0" :disabled="taskName != '合同拟稿'" ref="contractFile" :limit="1"
78
-                  :filePathName="'分包合同/合同文件'" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']"
79
-                  @input="getContractPath">
79
+                  :filePathName="'分包合同/合同文件'" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="getContractPath">
80
                 </FileUpload>
80
                 </FileUpload>
81
                 <div v-if="taskName != '合同拟稿' && form.contractDocument">
81
                 <div v-if="taskName != '合同拟稿' && form.contractDocument">
82
                   <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + form.contractDocument}`)">
82
                   <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + form.contractDocument}`)">
174
                     :disabled="taskName != '合同拟稿'"></el-input-number>
174
                     :disabled="taskName != '合同拟稿'"></el-input-number>
175
                 </td>
175
                 </td>
176
                 <td>
176
                 <td>
177
-                  <el-date-picker style="width: 140px" v-model="payment.paymentTime" value-format="yyyy-MM-dd"
178
-                    type="date" placeholder="选择日期" :disabled="taskName != '合同拟稿'">
177
+                  <el-date-picker style="width: 140px" v-model="payment.paymentTime" value-format="yyyy-MM-dd" type="date"
178
+                    placeholder="选择日期" :disabled="taskName != '合同拟稿'">
179
                   </el-date-picker>
179
                   </el-date-picker>
180
                 </td>
180
                 </td>
181
                 <td>
181
                 <td>
357
           </el-form-item>
357
           </el-form-item>
358
           <el-row>
358
           <el-row>
359
             <el-col :span="6" :xs="24" :offset="12">
359
             <el-col :span="6" :xs="24" :offset="12">
360
-              <el-form-item label="签名:" label-width="120px" v-if="taskName != '合同拟稿' && taskName != '线上会审' && taskName != '会议评审'">
360
+              <el-form-item label="签名:" label-width="120px"
361
+                v-if="taskName != '合同拟稿' && taskName != '线上会审' && taskName != '会议评审'">
361
                 <span class="auditor"> {{ form.managerUser ? form.managerUser.nickName : managerUser }} </span>
362
                 <span class="auditor"> {{ form.managerUser ? form.managerUser.nickName : managerUser }} </span>
362
               </el-form-item>
363
               </el-form-item>
363
             </el-col>
364
             </el-col>
364
             <el-col :span="6">
365
             <el-col :span="6">
365
-              <el-form-item label="日期:" label-width="120px" v-if="taskName != '合同拟稿' && taskName != '线上会审' && taskName != '会议评审'">
366
+              <el-form-item label="日期:" label-width="120px"
367
+                v-if="taskName != '合同拟稿' && taskName != '线上会审' && taskName != '会议评审'">
366
                 <span> {{ form.managerTime ? form.managerTime : managerTime }} </span>
368
                 <span> {{ form.managerTime ? form.managerTime : managerTime }} </span>
367
               </el-form-item>
369
               </el-form-item>
368
             </el-col>
370
             </el-col>
369
           </el-row>
371
           </el-row>
370
           <el-divider></el-divider>
372
           <el-divider></el-divider>
371
           <el-form-item label="签订日期" prop="signDate">
373
           <el-form-item label="签订日期" prop="signDate">
372
-            <el-date-picker clearable v-model="form.signDate" type="date" value-format="yyyy-MM-dd"
373
-              placeholder="请选择签订日期" :disabled="taskName != '合同签订'">
374
+            <el-date-picker clearable v-model="form.signDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择签订日期"
375
+              :disabled="taskName != '合同签订'">
374
             </el-date-picker>
376
             </el-date-picker>
375
           </el-form-item>
377
           </el-form-item>
376
           <el-form-item label="签订备注" prop="signRemark">
378
           <el-form-item label="签订备注" prop="signRemark">
428
 import { getContract } from "@/api/oa/contract/contract";
430
 import { getContract } from "@/api/oa/contract/contract";
429
 import { listSubContract, getSubContract, delSubContract, addSubContract, updateSubContract } from "@/api/oa/contract/subContract";
431
 import { listSubContract, getSubContract, delSubContract, addSubContract, updateSubContract } from "@/api/oa/contract/subContract";
430
 import { listProjectSubcontract, addProjectSubcontract, delProjectSubcontract } from '@/api/oa/contract/projectSubcontract'
432
 import { listProjectSubcontract, addProjectSubcontract, delProjectSubcontract } from '@/api/oa/contract/projectSubcontract'
431
-import { getUsersDeptLeader, getUsersManageLeader, getUsersDeptLeaderByDept } from '@/api/system/post.js'
433
+import { getUsersDeptLeader, getUsersManageLeader, getUsersDeptLeaderByDept, getDeptLeadersByDeptId, getUsersManageLeaderByDept } from '@/api/system/post.js'
432
 import flow from '@/views/flowable/task/todo/detail/flow'
434
 import flow from '@/views/flowable/task/todo/detail/flow'
433
 import { flowXmlAndNode } from "@/api/flowable/definition";
435
 import { flowXmlAndNode } from "@/api/flowable/definition";
434
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
436
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
566
           commentTime: undefined
568
           commentTime: undefined
567
         },
569
         },
568
         {
570
         {
569
-          deptId: 110,
571
+          deptId: 106,
570
           userId: '',
572
           userId: '',
571
           comment: '',
573
           comment: '',
572
           document: '',
574
           document: '',
580
         //   commentTime: undefined
582
         //   commentTime: undefined
581
         // },
583
         // },
582
         {
584
         {
583
-          deptId: 106,
585
+          deptId: 109,
584
           userId: '',
586
           userId: '',
585
           comment: '',
587
           comment: '',
586
           document: '',
588
           document: '',
712
                   commentTime: undefined
714
                   commentTime: undefined
713
                 },
715
                 },
714
                 {
716
                 {
715
-                  deptId: 110,
716
-                  userId: '',
717
-                  comment: '',
718
-                  document: '',
719
-                  commentTime: undefined
720
-                },
721
-                {
722
-                  deptId: 107,
717
+                  deptId: 106,
723
                   userId: '',
718
                   userId: '',
724
                   comment: '',
719
                   comment: '',
725
                   document: '',
720
                   document: '',
726
                   commentTime: undefined
721
                   commentTime: undefined
727
                 },
722
                 },
723
+                // {
724
+                //   deptId: 107,
725
+                //   userId: '',
726
+                //   comment: '',
727
+                //   document: '',
728
+                //   commentTime: undefined
729
+                // },
728
                 {
730
                 {
729
-                  deptId: 106,
731
+                  deptId: 109,
730
                   userId: '',
732
                   userId: '',
731
                   comment: '',
733
                   comment: '',
732
                   document: '',
734
                   document: '',
734
                 },
736
                 },
735
               ]
737
               ]
736
               for (let comment of this.commentList) {
738
               for (let comment of this.commentList) {
737
-                getUsersDeptLeaderByDept({ deptId: comment.deptId }).then(res => {
738
-                  comment.userId = res.data.userId;
739
-                })
739
+                if (comment.deptId == 105)
740
+                  getDeptLeadersByDeptId({ deptId: comment.deptId }).then(res => {
741
+                    comment.userId = res.data[1].userId;
742
+                    console.log(comment.userId);
743
+                  })
744
+                else
745
+                  getUsersDeptLeaderByDept({ deptId: comment.deptId }).then(res => {
746
+                    comment.userId = res.data.userId;
747
+                  })
740
               }
748
               }
741
             }
749
             }
742
           });
750
           });
874
         this.commentOpen = true;
882
         this.commentOpen = true;
875
         this.meetingOpen = false;
883
         this.meetingOpen = false;
876
         for (let comment of this.commentList) {
884
         for (let comment of this.commentList) {
877
-          getUsersDeptLeaderByDept({ deptId: comment.deptId }).then(res => {
878
-            comment.userId = res.data.userId;
879
-          })
885
+          if (comment.deptId == 105)
886
+            getDeptLeadersByDeptId({ deptId: comment.deptId }).then(res => {
887
+              comment.userId = res.data[1].userId;
888
+            })
889
+          else
890
+            getUsersDeptLeaderByDept({ deptId: comment.deptId }).then(res => {
891
+              comment.userId = res.data.userId;
892
+            })
880
         }
893
         }
881
       }
894
       }
882
     },
895
     },
935
                   updateContractComment(comment);
948
                   updateContractComment(comment);
936
                 }
949
                 }
937
                 getUsersManageLeader({ userId: this.form.drafter }).then(res => {
950
                 getUsersManageLeader({ userId: this.form.drafter }).then(res => {
938
-                  let userId = res.data.userId;
939
-                  this.$set(this.taskForm.variables, "approval", userId);
951
+                  let userIdList = [];
952
+                  userIdList.push(res.data[0].userId)
953
+                  this.$set(this.taskForm.variables, "approvalList", userIdList);
940
                   handleComplete(this.taskForm);
954
                   handleComplete(this.taskForm);
941
                 })
955
                 })
942
               }
956
               }
947
                 formData.append("form", jsonForm);
961
                 formData.append("form", jsonForm);
948
                 updateContractMeeting(formData);
962
                 updateContractMeeting(formData);
949
                 getUsersManageLeader({ userId: this.form.drafter }).then(res => {
963
                 getUsersManageLeader({ userId: this.form.drafter }).then(res => {
950
-                  let userId = res.data.userId;
951
-                  this.$set(this.taskForm.variables, "approval", userId);
964
+                  let userIdList = [];
965
+                  userIdList.push(res.data[0].userId)
966
+                  this.$set(this.taskForm.variables, "approvalList", userIdList);
952
                   handleComplete(this.taskForm);
967
                   handleComplete(this.taskForm);
953
                 })
968
                 })
954
               }
969
               }
989
     // 合同拟稿提交事件
1004
     // 合同拟稿提交事件
990
     contractDraftSubmit(handleComplete) {
1005
     contractDraftSubmit(handleComplete) {
991
       if (this.commentOpen == false && this.meetingOpen == false) {
1006
       if (this.commentOpen == false && this.meetingOpen == false) {
992
-        getUsersManageLeader({ userId: this.$store.getters.userId }).then(res => {
993
-          let userId = res.data.userId;
994
-          this.$set(this.taskForm.variables, "approval", userId);
1007
+        getUsersManageLeaderByDept({ deptId: 105 }).then(res => {
1008
+          let userIdList = [];
1009
+          userIdList.push(res.data[0].userId)
1010
+          this.$set(this.taskForm.variables, "approvalList", userIdList);
995
           this.$set(this.taskForm.variables, "commentType", '0');
1011
           this.$set(this.taskForm.variables, "commentType", '0');
996
           handleComplete(this.taskForm);
1012
           handleComplete(this.taskForm);
997
         })
1013
         })

+ 31
- 22
oa-ui/src/views/flowable/form/finance/borrowForm.vue View File

46
             </el-select> -->
46
             </el-select> -->
47
             <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
47
             <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
48
               <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
48
               <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
49
-                }}</el-descriptions-item>
49
+              }}</el-descriptions-item>
50
               <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
50
               <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
51
-                }}</el-descriptions-item>
51
+              }}</el-descriptions-item>
52
               <el-descriptions-item label="项目负责人" label-class-name="my-label">{{ chooseProject.projectLeaderUser ?
52
               <el-descriptions-item label="项目负责人" label-class-name="my-label">{{ chooseProject.projectLeaderUser ?
53
-    chooseProject.projectLeaderUser.nickName : ''
54
-                }}</el-descriptions-item>
53
+                chooseProject.projectLeaderUser.nickName : ''
54
+              }}</el-descriptions-item>
55
               <el-descriptions-item label="承担部门" label-class-name="my-label">
55
               <el-descriptions-item label="承担部门" label-class-name="my-label">
56
                 <el-tag size="small">{{ chooseProject.undertakingDeptName }}</el-tag>
56
                 <el-tag size="small">{{ chooseProject.undertakingDeptName }}</el-tag>
57
               </el-descriptions-item>
57
               </el-descriptions-item>
58
               <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
58
               <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
59
-                }}</el-descriptions-item>
59
+              }}</el-descriptions-item>
60
             </el-descriptions>
60
             </el-descriptions>
61
           </el-form-item>
61
           </el-form-item>
62
           <el-form-item label="借款明细">
62
           <el-form-item label="借款明细">
83
                   <el-input v-model="detail.unit" :disabled="taskName != '借款申请'"></el-input>
83
                   <el-input v-model="detail.unit" :disabled="taskName != '借款申请'"></el-input>
84
                 </td>
84
                 </td>
85
                 <td>
85
                 <td>
86
-                  <el-input-number :controls="false" style="width:100%" v-model="detail.price" @change="calculateAmount(detail)"
87
-                    :disabled="taskName != '借款申请'"></el-input-number>
86
+                  <el-input-number :controls="false" style="width:100%" v-model="detail.price"
87
+                    @change="calculateAmount(detail)" :disabled="taskName != '借款申请'"></el-input-number>
88
                 </td>
88
                 </td>
89
                 <td>
89
                 <td>
90
-                  <el-input-number :controls="false" style="width:100%" v-model="detail.quantity" @change="calculateAmount(detail)"
91
-                    :disabled="taskName != '借款申请'"></el-input-number>
90
+                  <el-input-number :controls="false" style="width:100%" v-model="detail.quantity"
91
+                    @change="calculateAmount(detail)" :disabled="taskName != '借款申请'"></el-input-number>
92
                 </td>
92
                 </td>
93
                 <td>
93
                 <td>
94
                   <el-input v-model="detail.applyAmount" :disabled="taskName != '借款申请'"></el-input>
94
                   <el-input v-model="detail.applyAmount" :disabled="taskName != '借款申请'"></el-input>
154
           <!-- 非党工团审核 -->
154
           <!-- 非党工团审核 -->
155
           <div v-if="form.borrowUsage == 0 || form.borrowUsage == 1">
155
           <div v-if="form.borrowUsage == 0 || form.borrowUsage == 1">
156
             <el-form-item label="部门负责人意见" prop="deptComment">
156
             <el-form-item label="部门负责人意见" prop="deptComment">
157
-              <el-input type="textarea" v-model="form.deptComment" placeholder="请输入部门负责人意见"
158
-                :disabled="taskName != '部门审核'" :autosize="{ minRows: 4 }" />
157
+              <el-input type="textarea" v-model="form.deptComment" placeholder="请输入部门负责人意见" :disabled="taskName != '部门审核'"
158
+                :autosize="{ minRows: 4 }" />
159
             </el-form-item>
159
             </el-form-item>
160
             <el-row>
160
             <el-row>
161
               <el-col :span="6" :xs="24" :offset="12">
161
               <el-col :span="6" :xs="24" :offset="12">
202
               </el-col>
202
               </el-col>
203
             </el-row>
203
             </el-row>
204
             <el-form-item label="总经理审批意见" prop="zjlComment">
204
             <el-form-item label="总经理审批意见" prop="zjlComment">
205
-              <el-input type="textarea" v-model="form.zjlComment" placeholder="请输入总经理审批意见"
206
-                :disabled="taskName != '总经理审核'" :autosize="{ minRows: 4 }" />
205
+              <el-input type="textarea" v-model="form.zjlComment" placeholder="请输入总经理审批意见" :disabled="taskName != '总经理审核'"
206
+                :autosize="{ minRows: 4 }" />
207
             </el-form-item>
207
             </el-form-item>
208
             <el-row>
208
             <el-row>
209
               <el-col :span="6" :xs="24" :offset="12">
209
               <el-col :span="6" :xs="24" :offset="12">
692
                   this.$emit('goBack')
692
                   this.$emit('goBack')
693
                 });
693
                 });
694
               } else {
694
               } else {
695
-                getUsersDeptLeader({ userId: this.$store.getters.userId }).then(res => {
696
-                  let userId = res.data.userId;
697
-                  this.$set(this.taskForm.variables, "approval", userId);
698
-                  this.$set(this.taskForm.variables, "dept", this.deptId);
699
-                  complete(this.taskForm).then(response => {
700
-                    this.$modal.msgSuccess(response.msg);
701
-                    this.$emit('goBack')
702
-                  });
703
-                })
695
+                if (this.deptId == 105)
696
+                  getDeptLeaders({ userId: this.form.drafter }).then(res => {
697
+                    this.$set(this.taskForm.variables, "approval", res.data[1].userId);
698
+                    complete(this.taskForm).then(response => {
699
+                      this.$modal.msgSuccess(response.msg);
700
+                      this.$emit('goBack')
701
+                    });
702
+                  })
703
+                else
704
+                  getUsersDeptLeader({ userId: this.$store.getters.userId }).then(res => {
705
+                    let userId = res.data.userId;
706
+                    this.$set(this.taskForm.variables, "approval", userId);
707
+                    this.$set(this.taskForm.variables, "dept", this.deptId);
708
+                    complete(this.taskForm).then(response => {
709
+                      this.$modal.msgSuccess(response.msg);
710
+                      this.$emit('goBack')
711
+                    });
712
+                  })
704
               }
713
               }
705
 
714
 
706
             })
715
             })

+ 26
- 17
oa-ui/src/views/flowable/form/oa/carForm.vue View File

1
 <!--
1
 <!--
2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-02-29 11:44:28
3
  * @Date: 2024-02-29 11:44:28
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-06-21 14:35:59
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-07-05 17:57:11
6
 -->
6
 -->
7
 
7
 
8
 <template>
8
 <template>
56
                 </el-select> -->
56
                 </el-select> -->
57
                 <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
57
                 <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
58
                   <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
58
                   <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
59
-                    }}</el-descriptions-item>
59
+                  }}</el-descriptions-item>
60
                   <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
60
                   <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
61
-                    }}</el-descriptions-item>
61
+                  }}</el-descriptions-item>
62
                   <el-descriptions-item label="项目负责人" label-class-name="my-label">{{ chooseProject.projectLeaderUser ?
62
                   <el-descriptions-item label="项目负责人" label-class-name="my-label">{{ chooseProject.projectLeaderUser ?
63
-    chooseProject.projectLeaderUser.nickName : ''
64
-                    }}</el-descriptions-item>
63
+                    chooseProject.projectLeaderUser.nickName : ''
64
+                  }}</el-descriptions-item>
65
                   <el-descriptions-item label="承担部门" label-class-name="my-label">
65
                   <el-descriptions-item label="承担部门" label-class-name="my-label">
66
                     <el-tag size="small">{{ chooseProject.undertakingDeptName }}</el-tag>
66
                     <el-tag size="small">{{ chooseProject.undertakingDeptName }}</el-tag>
67
                   </el-descriptions-item>
67
                   </el-descriptions-item>
68
                   <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
68
                   <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
69
-                    }}</el-descriptions-item>
69
+                  }}</el-descriptions-item>
70
                 </el-descriptions>
70
                 </el-descriptions>
71
               </el-form-item>
71
               </el-form-item>
72
               <el-form-item label="用车事由:" prop="applyReason">
72
               <el-form-item label="用车事由:" prop="applyReason">
215
             </el-row>
215
             </el-row>
216
             <el-row style="text-align: center;" v-else>
216
             <el-row style="text-align: center;" v-else>
217
               <el-button type="primary" :disabled="taskName == ''" @click="completeApply">{{ taskName == '申请确认' ? "确认" :
217
               <el-button type="primary" :disabled="taskName == ''" @click="completeApply">{{ taskName == '申请确认' ? "确认" :
218
-    "完成审批" }}</el-button>
218
+                "完成审批" }}</el-button>
219
             </el-row>
219
             </el-row>
220
           </div>
220
           </div>
221
         </el-card>
221
         </el-card>
246
 import { listCarApproval, getCarApproval, updateCarApproval, addCarApproval, modifyCarApproval } from '@/api/oa/car/carApproval'
246
 import { listCarApproval, getCarApproval, updateCarApproval, addCarApproval, modifyCarApproval } from '@/api/oa/car/carApproval'
247
 import { getUserByPost } from "@/api/system/post";
247
 import { getUserByPost } from "@/api/system/post";
248
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
248
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
249
-import { getUsersDeptLeader, getUsersManageLeader } from '@/api/system/post.js'
249
+import { getUsersDeptLeader, getUsersManageLeader, getDeptLeaders } from '@/api/system/post.js'
250
 import flow from '@/views/flowable/task/todo/detail/flow'
250
 import flow from '@/views/flowable/task/todo/detail/flow'
251
 import { flowXmlAndNode } from "@/api/flowable/definition";
251
 import { flowXmlAndNode } from "@/api/flowable/definition";
252
 import { listUser } from '@/api/system/user';
252
 import { listUser } from '@/api/system/user';
273
       default: true
273
       default: true
274
     }
274
     }
275
   },
275
   },
276
-  watch:{
277
-    'taskForm.formId'(){
276
+  watch: {
277
+    'taskForm.formId'() {
278
       this.initForm();
278
       this.initForm();
279
     }
279
     }
280
   },
280
   },
533
           })
533
           })
534
         }
534
         }
535
         else {
535
         else {
536
-          getUsersDeptLeader({ userId: this.$store.getters.userId }).then(res => {
537
-            if (res.data) {
538
-              this.$set(this.taskForm.variables, "approval", res.data.userId);
536
+          if (this.deptId == 105)
537
+          getDeptLeaders({ userId: this.form.drafter }).then(res => {
538
+              this.$set(this.taskForm.variables, "approval", res.data[1].userId);
539
               complete(this.taskForm).then(response => {
539
               complete(this.taskForm).then(response => {
540
                 this.$modal.msgSuccess(response.msg);
540
                 this.$modal.msgSuccess(response.msg);
541
                 this.$emit('goBack')
541
                 this.$emit('goBack')
542
-              })
543
-            }
544
-          })
542
+              });
543
+            })
544
+          else
545
+            getUsersDeptLeader({ userId: this.$store.getters.userId }).then(res => {
546
+              if (res.data) {
547
+                this.$set(this.taskForm.variables, "approval", res.data.userId);
548
+                complete(this.taskForm).then(response => {
549
+                  this.$modal.msgSuccess(response.msg);
550
+                  this.$emit('goBack')
551
+                })
552
+              }
553
+            })
545
         }
554
         }
546
       } else if (this.taskName == '部门审核') {
555
       } else if (this.taskName == '部门审核') {
547
         getUsersManageLeader({ userId: this.$store.getters.userId }).then(res => {
556
         getUsersManageLeader({ userId: this.$store.getters.userId }).then(res => {

Loading…
Cancel
Save