Bladeren bron

修改安全、技术交底完分管才能审核通过,修改技术方案由部门负责人安排

余思翰 7 maanden geleden
bovenliggende
commit
991ba5dc35

+ 7
- 8
oa-ui/src/views/flowable/form/projectProcess/arrangeProject.vue Bestand weergeven

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-19 09:24:06
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-09-05 16:56:04
5
+ * @LastEditTime: 2024-09-12 10:08:01
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -175,13 +175,12 @@ export default {
175 175
         this.peopleForm.deptList = res.data
176 176
       })
177 177
     },
178
-    getDeptLeader(val) {
178
+    async getDeptLeader(val) {
179 179
       this.deptLeaderList = [];
180 180
       for (let v of val) {
181
-        getUsersDeptLeaderByDept({ deptId: Number(v) }).then(res => {
182
-          this.deptLeaderList.push(res.data.userId);
183
-          this.form.deptLeader = this.deptLeaderList;
184
-        })
181
+        let res = await getUsersDeptLeaderByDept({ deptId: Number(v) })
182
+        this.deptLeaderList.push(res.data.userId);
183
+        this.form.deptLeader = this.deptLeaderList;
185 184
       }
186 185
       val.forEach(item => {
187 186
         listUser({ pageSize: 999, deptId: item }).then(res => {
@@ -257,8 +256,8 @@ export default {
257 256
             // 获取下一个流程节点
258 257
             getNextFlowNode(params).then(res => {
259 258
               this.$set(this.taskForm.variables, "formId", this.taskForm.formId);
260
-              this.$set(this.taskForm.variables, "budgetInitiator", this.peopleForm.userId || this.form.projectLeader);
261
-              this.$set(this.taskForm.variables, "planInitiator", this.peopleForm.userId || this.form.projectLeader);
259
+              this.$set(this.taskForm.variables, "budgetInitiator", this.form.projectLeader);
260
+              this.$set(this.taskForm.variables, "planInitiator", this.deptLeaderList[0]);
262 261
               this.$set(this.taskForm.variables, "approval", approvalId);
263 262
               complete(this.taskForm).then(response => {
264 263
                 this.$modal.msgSuccess(response.msg);

+ 78
- 2
oa-ui/src/views/flowable/form/projectProcess/manageReview.vue Bestand weergeven

@@ -2,12 +2,26 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-04-08 13:56:14
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-09-11 16:29:59
5
+ * @LastEditTime: 2024-09-12 11:35:24
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
9 9
     <h2 style="text-align:center;">分管审核</h2>
10 10
     <el-form :model="form" :rules="rules" label-width="100px" :disabled="disabled">
11
+      <el-form-item label="交底情况:">
12
+        <el-row>
13
+          <el-checkbox v-model="safe" disabled>安全交底</el-checkbox>
14
+          <el-link class="ml20" type="primary" @click="openSafe = true">安全交底记录表</el-link>
15
+        </el-row>
16
+        <el-row>
17
+          <el-checkbox v-model="tech" disabled>技术交底</el-checkbox>
18
+          <el-link class="ml20" type="primary" @click="openTech = true">技术交底记录表</el-link>
19
+        </el-row>
20
+        <el-row>
21
+          <el-checkbox v-model="plan" disabled>技术方案</el-checkbox>
22
+          <el-link class="ml20" type="primary" @click="openPlan = true">技术方案</el-link>
23
+        </el-row>
24
+      </el-form-item>
11 25
       <el-form-item label="审核意见:" prop="manageComment">
12 26
         <el-input type="textarea" :rows="4" placeholder="请输入审核意见" v-model="form.manageComment">
13 27
         </el-input>
@@ -22,6 +36,16 @@
22 36
         <p style="text-align:center;"><el-button type="primary" @click="confirm">确认审核</el-button></p>
23 37
       </el-form-item>
24 38
     </el-form>
39
+
40
+    <el-dialog title="安全交底记录表" :visible.sync="openSafe" width="1000px" append-to-body>
41
+      <safe-tab :taskForm="taskForm"></safe-tab>
42
+    </el-dialog>
43
+    <el-dialog title="技术交底记录表" :visible.sync="openTech" width="1000px" append-to-body>
44
+      <technical-tab :taskForm="taskForm"></technical-tab>
45
+    </el-dialog>
46
+    <el-dialog title="技术方案" :visible.sync="openPlan" width="1000px" append-to-body>
47
+      <plan-tab :taskForm="taskForm"></plan-tab>
48
+    </el-dialog>
25 49
   </div>
26 50
 </template>
27 51
 
@@ -32,10 +56,17 @@ import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate
32 56
 import { getProjectComment, addProjectComment, updateProjectComment } from "@/api/oa/project/projectComment"
33 57
 import { getProject } from "@/api/oa/project/project"
34 58
 import { getUsersDeptLeaderByDept } from '@/api/system/post'
59
+import { getSafe } from "@/api/oa/safe/safe";
60
+import { getTechnical } from "@/api/oa/technical/technical";
61
+import { getTechnicalPlan } from "@/api/oa/technical/technicalPlan";
62
+import safeTab from '@/views/flowable/form/projectProcess/safeTab.vue';
63
+import PlanTab from '@/views/flowable/form/projectProcess/planTab.vue';
64
+import TechnicalTab from '@/views/flowable/form/projectProcess/technicalTab.vue';
35 65
 export default {
36 66
   computed: {
37 67
     ...mapGetters(['name', 'userId']),
38 68
   },
69
+  components: { safeTab, PlanTab, TechnicalTab },
39 70
   props: {
40 71
     disabled: {
41 72
       type: Boolean,
@@ -56,8 +87,14 @@ export default {
56 87
       form: {
57 88
         manageApprover: '',
58 89
         manageApproverName: '',
59
-        manageApprovalTime: ''
90
+        manageApprovalTime: '',
60 91
       },
92
+      safe: false,
93
+      tech: false,
94
+      plan: false,
95
+      openSafe: false,
96
+      openTech: false,
97
+      openPlan: false,
61 98
       rules: {
62 99
         manageComment: [{ required: true, message: "请输入审核意见", trigger: "blur" }]
63 100
       },
@@ -108,6 +145,22 @@ export default {
108 145
           }
109 146
         }
110 147
       })
148
+      this.haveJD();
149
+    },
150
+    async haveJD() {
151
+      let formId = this.taskForm.formId;
152
+      let resSafe = await getSafe(formId);
153
+      let resPlan = await getTechnicalPlan(formId);
154
+      let resTech = await getTechnical(formId);
155
+      if (resSafe.data) {
156
+        this.safe = true
157
+      }
158
+      if (resPlan.data) {
159
+        this.plan = true
160
+      }
161
+      if (resTech.data) {
162
+        this.tech = true
163
+      }
111 164
     },
112 165
     getDeptLeader(val) {
113 166
       this.deptLeaderList = [this.projectLeader];
@@ -123,6 +176,10 @@ export default {
123 176
       }
124 177
     },
125 178
     confirm() {
179
+      if (!(this.safe && this.tech)) {
180
+        this.$message.error('安全交底或者技术交底未全部完成,等待相关人员完成才可提交')
181
+        return
182
+      }
126 183
       this.form.projectId = this.taskForm.formId
127 184
       updateProjectComment({ projectId: this.taskForm.formId, manageComment: this.form.manageComment })
128 185
       const params = { taskId: this.taskForm.taskId };
@@ -153,7 +210,26 @@ export default {
153 210
 </script>
154 211
 
155 212
 <style lang="scss" scoped>
213
+@import "@/assets/styles/element-reset.scss";
214
+
156 215
 ::v-deep .el-textarea.is-disabled .el-textarea__inner {
157 216
   color: #121212 !important;
158 217
 }
218
+
219
+::v-deep .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after {
220
+  border-color: #fff;
221
+}
222
+
223
+::v-deep .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
224
+  background-color: #409eff;
225
+  border-color: #409eff;
226
+}
227
+
228
+::v-deep .el-checkbox__input.is-disabled+span.el-checkbox__label {
229
+  color: #000;
230
+}
231
+
232
+::v-deep .el-checkbox__label {
233
+  font-size: 12px;
234
+}
159 235
 </style>

+ 12
- 6
oa-ui/src/views/flowable/form/technicalPlan.vue Bestand weergeven

@@ -157,12 +157,12 @@
157 157
           <el-row>
158 158
             <el-col :span="6" :xs="24" :offset="12">
159 159
               <el-form-item label="签名" prop="techDeptLeader">
160
-                <span class="auditor"> {{ form.techDeptLeader ? form.techDeptUser.nickName : managerUser }} </span>
160
+                <span class="auditor"> {{ form.techDeptLeader ? form.techDeptUser.nickName : techUser }} </span>
161 161
               </el-form-item>
162 162
             </el-col>
163 163
             <el-col :span="6">
164 164
               <el-form-item label="日期:" label-width="120px">
165
-                <span> {{ form.techDeptTime ? form.techDeptTime : manageApprovalTime }} </span>
165
+                <span> {{ form.techDeptTime ? form.techDeptTime : techApprovalTime }} </span>
166 166
               </el-form-item>
167 167
             </el-col>
168 168
           </el-row>
@@ -273,12 +273,14 @@ export default {
273 273
       baseUrl: process.env.VUE_APP_BASE_API,
274 274
       planUser: '',
275 275
       managerUser: '',
276
+      techUser:'',
276 277
       designUser: '',
277 278
       auditUser: '',
278 279
       technicalTime: undefined,
279 280
       technicalUploadTime: undefined,
280 281
       techApprovalTime: undefined,
281 282
       manageApprovalTime: undefined,
283
+      techApprovalTime:undefined,
282 284
       // 遮罩层
283 285
       loading: true,
284 286
       // 选中数组
@@ -354,10 +356,14 @@ export default {
354 356
       this.auditUser = this.$store.getters.name;
355 357
       this.techApprovalTime = parseTime(new Date(), '{y}-{m}-{d}')
356 358
     }
357
-    // if (this.taskName == '总工审核') {
358
-    this.managerUser = this.$store.getters.name;
359
-    this.manageApprovalTime = parseTime(new Date(), '{y}-{m}-{d}')
360
-    // }
359
+    if (this.taskName == '总工审核') {
360
+      this.managerUser = this.$store.getters.name;
361
+      this.manageApprovalTime = parseTime(new Date(), '{y}-{m}-{d}')
362
+    }
363
+    if(this.taskName == '技术质量部审核'){
364
+      this.techUser = this.$store.getters.name;
365
+      this.techApprovalTime = parseTime(new Date(), '{y}-{m}-{d}')
366
+    }
361 367
     this.getProjectById();
362 368
     this.getUserList();
363 369
     this.getList();

Laden…
Annuleren
Opslaan