Просмотр исходного кода

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

余思翰 9 месяцев назад
Родитель
Сommit
991ba5dc35

+ 7
- 8
oa-ui/src/views/flowable/form/projectProcess/arrangeProject.vue Просмотреть файл

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

+ 78
- 2
oa-ui/src/views/flowable/form/projectProcess/manageReview.vue Просмотреть файл

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-04-08 13:56:14
3
  * @Date: 2024-04-08 13:56:14
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-09-11 16:29:59
5
+ * @LastEditTime: 2024-09-12 11:35:24
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div class="app-container">
8
   <div class="app-container">
9
     <h2 style="text-align:center;">分管审核</h2>
9
     <h2 style="text-align:center;">分管审核</h2>
10
     <el-form :model="form" :rules="rules" label-width="100px" :disabled="disabled">
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
       <el-form-item label="审核意见:" prop="manageComment">
25
       <el-form-item label="审核意见:" prop="manageComment">
12
         <el-input type="textarea" :rows="4" placeholder="请输入审核意见" v-model="form.manageComment">
26
         <el-input type="textarea" :rows="4" placeholder="请输入审核意见" v-model="form.manageComment">
13
         </el-input>
27
         </el-input>
22
         <p style="text-align:center;"><el-button type="primary" @click="confirm">确认审核</el-button></p>
36
         <p style="text-align:center;"><el-button type="primary" @click="confirm">确认审核</el-button></p>
23
       </el-form-item>
37
       </el-form-item>
24
     </el-form>
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
   </div>
49
   </div>
26
 </template>
50
 </template>
27
 
51
 
32
 import { getProjectComment, addProjectComment, updateProjectComment } from "@/api/oa/project/projectComment"
56
 import { getProjectComment, addProjectComment, updateProjectComment } from "@/api/oa/project/projectComment"
33
 import { getProject } from "@/api/oa/project/project"
57
 import { getProject } from "@/api/oa/project/project"
34
 import { getUsersDeptLeaderByDept } from '@/api/system/post'
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
 export default {
65
 export default {
36
   computed: {
66
   computed: {
37
     ...mapGetters(['name', 'userId']),
67
     ...mapGetters(['name', 'userId']),
38
   },
68
   },
69
+  components: { safeTab, PlanTab, TechnicalTab },
39
   props: {
70
   props: {
40
     disabled: {
71
     disabled: {
41
       type: Boolean,
72
       type: Boolean,
56
       form: {
87
       form: {
57
         manageApprover: '',
88
         manageApprover: '',
58
         manageApproverName: '',
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
       rules: {
98
       rules: {
62
         manageComment: [{ required: true, message: "请输入审核意见", trigger: "blur" }]
99
         manageComment: [{ required: true, message: "请输入审核意见", trigger: "blur" }]
63
       },
100
       },
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
     getDeptLeader(val) {
165
     getDeptLeader(val) {
113
       this.deptLeaderList = [this.projectLeader];
166
       this.deptLeaderList = [this.projectLeader];
123
       }
176
       }
124
     },
177
     },
125
     confirm() {
178
     confirm() {
179
+      if (!(this.safe && this.tech)) {
180
+        this.$message.error('安全交底或者技术交底未全部完成,等待相关人员完成才可提交')
181
+        return
182
+      }
126
       this.form.projectId = this.taskForm.formId
183
       this.form.projectId = this.taskForm.formId
127
       updateProjectComment({ projectId: this.taskForm.formId, manageComment: this.form.manageComment })
184
       updateProjectComment({ projectId: this.taskForm.formId, manageComment: this.form.manageComment })
128
       const params = { taskId: this.taskForm.taskId };
185
       const params = { taskId: this.taskForm.taskId };
153
 </script>
210
 </script>
154
 
211
 
155
 <style lang="scss" scoped>
212
 <style lang="scss" scoped>
213
+@import "@/assets/styles/element-reset.scss";
214
+
156
 ::v-deep .el-textarea.is-disabled .el-textarea__inner {
215
 ::v-deep .el-textarea.is-disabled .el-textarea__inner {
157
   color: #121212 !important;
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
 </style>
235
 </style>

+ 12
- 6
oa-ui/src/views/flowable/form/technicalPlan.vue Просмотреть файл

157
           <el-row>
157
           <el-row>
158
             <el-col :span="6" :xs="24" :offset="12">
158
             <el-col :span="6" :xs="24" :offset="12">
159
               <el-form-item label="签名" prop="techDeptLeader">
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
               </el-form-item>
161
               </el-form-item>
162
             </el-col>
162
             </el-col>
163
             <el-col :span="6">
163
             <el-col :span="6">
164
               <el-form-item label="日期:" label-width="120px">
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
               </el-form-item>
166
               </el-form-item>
167
             </el-col>
167
             </el-col>
168
           </el-row>
168
           </el-row>
273
       baseUrl: process.env.VUE_APP_BASE_API,
273
       baseUrl: process.env.VUE_APP_BASE_API,
274
       planUser: '',
274
       planUser: '',
275
       managerUser: '',
275
       managerUser: '',
276
+      techUser:'',
276
       designUser: '',
277
       designUser: '',
277
       auditUser: '',
278
       auditUser: '',
278
       technicalTime: undefined,
279
       technicalTime: undefined,
279
       technicalUploadTime: undefined,
280
       technicalUploadTime: undefined,
280
       techApprovalTime: undefined,
281
       techApprovalTime: undefined,
281
       manageApprovalTime: undefined,
282
       manageApprovalTime: undefined,
283
+      techApprovalTime:undefined,
282
       // 遮罩层
284
       // 遮罩层
283
       loading: true,
285
       loading: true,
284
       // 选中数组
286
       // 选中数组
354
       this.auditUser = this.$store.getters.name;
356
       this.auditUser = this.$store.getters.name;
355
       this.techApprovalTime = parseTime(new Date(), '{y}-{m}-{d}')
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
     this.getProjectById();
367
     this.getProjectById();
362
     this.getUserList();
368
     this.getUserList();
363
     this.getList();
369
     this.getList();

Загрузка…
Отмена
Сохранить