Selaa lähdekoodia

Merge branch 'master' of http://oa.sccehui.com:6101/cmc-coding/cmc-oa

lamphua 1 vuosi sitten
vanhempi
commit
195980bff2

+ 127
- 71
oa-ui/src/views/flowable/form/projectProcess/addproject.vue Näytä tiedosto

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-02-27 14:49:15
3
  * @Date: 2024-02-27 14:49:15
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-07 13:55:49
5
+ * @LastEditTime: 2024-04-07 16:53:39
6
 -->
6
 -->
7
 
7
 
8
 <template>
8
 <template>
9
   <div class="project-wrapper">
9
   <div class="project-wrapper">
10
     <!-- 项目登记 -->
10
     <!-- 项目登记 -->
11
-    <h2 style="text-align: center;">项目登记</h2>
12
-    <el-form :model="addForm" :rules="rules" label-width="100px" :disable="disable">
11
+    <h2 style="text-align: center">项目登记</h2>
12
+    <el-form :model="addForm" :rules="rules" label-width="100px" :disabled="disabled">
13
       <el-form-item label="项目编号:" prop="projectNumber">
13
       <el-form-item label="项目编号:" prop="projectNumber">
14
         <el-input v-model="addForm.projectNumber"></el-input>
14
         <el-input v-model="addForm.projectNumber"></el-input>
15
       </el-form-item>
15
       </el-form-item>
16
       <el-form-item label="项目名称:" prop="projectName">
16
       <el-form-item label="项目名称:" prop="projectName">
17
         <el-input v-model="addForm.projectName"></el-input>
17
         <el-input v-model="addForm.projectName"></el-input>
18
-      </el-form-item>      
18
+      </el-form-item>
19
       <el-form-item label="项目类型:" prop="projectType">
19
       <el-form-item label="项目类型:" prop="projectType">
20
         <el-input v-model="addForm.projectType"></el-input>
20
         <el-input v-model="addForm.projectType"></el-input>
21
       </el-form-item>
21
       </el-form-item>
29
       </el-form-item>
29
       </el-form-item>
30
       <el-form-item label="甲方单位:" prop="partyA">
30
       <el-form-item label="甲方单位:" prop="partyA">
31
         <el-autocomplete class="inline-input" v-model="addForm.partyA" :fetch-suggestions="querySearch"
31
         <el-autocomplete class="inline-input" v-model="addForm.partyA" :fetch-suggestions="querySearch"
32
-          placeholder="请输入内容" style="width:100%"></el-autocomplete>
32
+          placeholder="请输入内容" style="width: 100%"></el-autocomplete>
33
         <!-- <el-input v-model="addForm.partyA"></el-input> -->
33
         <!-- <el-input v-model="addForm.partyA"></el-input> -->
34
       </el-form-item>
34
       </el-form-item>
35
       <el-form-item label="联系人:" prop="contactPerson">
35
       <el-form-item label="联系人:" prop="contactPerson">
38
       <el-form-item label="联系电话:" prop="telephone">
38
       <el-form-item label="联系电话:" prop="telephone">
39
         <el-input v-model="addForm.telephone"></el-input>
39
         <el-input v-model="addForm.telephone"></el-input>
40
       </el-form-item>
40
       </el-form-item>
41
-      <el-form-item label="项目概况:" prop="workList">
41
+      <el-form-item label="项目概况:">
42
         <table border="1">
42
         <table border="1">
43
           <tr>
43
           <tr>
44
-            <td style="width:250px;">工作内容</td>
44
+            <td style="width: 250px">工作内容</td>
45
             <td>等级或比例尺</td>
45
             <td>等级或比例尺</td>
46
             <td>单位</td>
46
             <td>单位</td>
47
             <td>工作量</td>
47
             <td>工作量</td>
48
-            <td style="width:100px;">要求完成时间</td>
48
+            <td style="width: 100px">要求完成时间</td>
49
             <td>备注</td>
49
             <td>备注</td>
50
           </tr>
50
           </tr>
51
           <tr v-for="(work, index) in workList" :key="index">
51
           <tr v-for="(work, index) in workList" :key="index">
62
               <el-input v-model="work.workload" clearable></el-input>
62
               <el-input v-model="work.workload" clearable></el-input>
63
             </td>
63
             </td>
64
             <td>
64
             <td>
65
-              <el-date-picker style="width:140px;" v-model="work.deadline" value-format="yyyy-MM-dd" type="date"
65
+              <el-date-picker style="width: 140px" v-model="work.deadline" value-format="yyyy-MM-dd" type="date"
66
                 placeholder="选择日期">
66
                 placeholder="选择日期">
67
               </el-date-picker>
67
               </el-date-picker>
68
             </td>
68
             </td>
70
               <el-input v-model="work.remark" type="textarea" autosize clearable></el-input>
70
               <el-input v-model="work.remark" type="textarea" autosize clearable></el-input>
71
             </td>
71
             </td>
72
             <td>
72
             <td>
73
-              <el-button type="danger" icon="el-icon-minus" size="mini" circle @click="deletWorkItem(index)"></el-button>
73
+              <el-button type="danger" icon="el-icon-minus" size="mini" circle
74
+                @click="deletWorkItem(index)"></el-button>
74
             </td>
75
             </td>
75
           </tr>
76
           </tr>
76
         </table>
77
         </table>
77
 
78
 
78
         <el-button icon="el-icon-plus" size="mini" @click="addWorkList"></el-button>
79
         <el-button icon="el-icon-plus" size="mini" @click="addWorkList"></el-button>
79
       </el-form-item>
80
       </el-form-item>
80
-      <el-form-item label="项目登记人:" prop="projectRegistrantName">
81
-        <el-tag>{{ addForm.projectRegistrantName }}</el-tag>
81
+      <el-form-item label="项目登记人:" prop="projectRegistrantUser.nickName">
82
+        <el-tag>{{ addForm.projectRegistrantUser.nickName }}</el-tag>
82
         <!-- <el-input v-model="addForm.projectRegistrant"></el-input> -->
83
         <!-- <el-input v-model="addForm.projectRegistrant"></el-input> -->
83
       </el-form-item>
84
       </el-form-item>
84
       <el-form-item label="备注:" prop="remark">
85
       <el-form-item label="备注:" prop="remark">
85
         <el-input v-model="addForm.remark" type="textarea" rows="3"></el-input>
86
         <el-input v-model="addForm.remark" type="textarea" rows="3"></el-input>
86
       </el-form-item>
87
       </el-form-item>
87
-
88
     </el-form>
88
     </el-form>
89
-    <div slot="footer" class="dialog-footer" style="text-align: center;">
90
-      <el-button type="primary" @click="confirmAddForm">确 定</el-button>
91
-      <el-button @click="cancel">取 消</el-button>
89
+    <div slot="footer" class="dialog-footer" style="text-align: center">
90
+      <el-button type="primary" @click="confirmAddForm" :disabled="disabled">确 定</el-button>
91
+      <el-button @click="cancel" :disabled="disabled">取 消</el-button>
92
     </div>
92
     </div>
93
-    
94
-
95
   </div>
93
   </div>
96
 </template>
94
 </template>
97
 
95
 
98
 <script>
96
 <script>
99
 import { mapGetters } from "vuex";
97
 import { mapGetters } from "vuex";
100
-import { listProject, addProject, updateProject, delProject,submitProject } from "@/api/oa/project/project";
101
-import { getUser } from '@/api/system/user'
102
-import { getUsersDeptLeaderByDept } from '@/api/system/post'
103
-import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
98
+import {
99
+  listProject,
100
+  getProject,
101
+  addProject,
102
+  updateProject,
103
+  delProject,
104
+  submitProject,
105
+} from "@/api/oa/project/project";
106
+import { getUser } from "@/api/system/user";
107
+import { getUsersDeptLeaderByDept } from "@/api/system/post";
108
+import {
109
+  complete,
110
+  rejectTask,
111
+  returnList,
112
+  returnTask,
113
+  getNextFlowNode,
114
+  delegate,
115
+  flowTaskForm,
116
+} from "@/api/flowable/todo";
117
+import { getProjectWork } from "@/api/oa/project/projectWork";
104
 export default {
118
 export default {
105
   props: {
119
   props: {
106
-    disable: {
120
+    disabled: {
107
       type: Boolean,
121
       type: Boolean,
108
-      require: true
122
+      require: true,
109
     },
123
     },
110
     taskForm: {
124
     taskForm: {
111
       type: Object,
125
       type: Object,
112
-      required: true
113
-    }
126
+      required: true,
127
+    },
114
   },
128
   },
115
   computed: {
129
   computed: {
116
-    ...mapGetters(["userId","name"]),
130
+    ...mapGetters(["userId", "name"]),
117
   },
131
   },
118
   data() {
132
   data() {
119
     return {
133
     return {
121
       queryParams: {
135
       queryParams: {
122
         pageNum: 1,
136
         pageNum: 1,
123
         pageSize: 10,
137
         pageSize: 10,
124
-        projectNumber: '',
125
-        projectLeader: '',
138
+        projectNumber: "",
139
+        projectLeader: "",
126
         projectLeaderName: undefined,
140
         projectLeaderName: undefined,
127
-        projectName: '',
141
+        projectName: "",
128
       },
142
       },
129
       projectList: [],
143
       projectList: [],
130
       total: 0,
144
       total: 0,
131
       loading: true,
145
       loading: true,
132
       modifyOpen: false,
146
       modifyOpen: false,
133
       addForm: {
147
       addForm: {
134
-        projectRegistrant:'',
135
-        projectRegistrantName:''
148
+        projectRegistrant: "",
149
+        projectRegistrantUser: {
150
+          nickName: ''
151
+        }
136
       },
152
       },
137
       rules: {
153
       rules: {
138
-        projectNumber: [{ required: true, message: '请输入项目编号', trigger: 'blur' }],
139
-        projectName: [{ required: true, message: '请输入项目名称', trigger: 'blur' }]
154
+        projectNumber: [{ required: true, message: "请输入项目编号", trigger: "blur" }],
155
+        projectName: [{ required: true, message: "请输入项目名称", trigger: "blur" }],
140
       },
156
       },
141
-      workList: [{
142
-        content: '',
143
-        scale: '',
144
-        unit: '',
145
-        workload: '',
146
-        deadline: '',
147
-        remark: ''
148
-      }],
149
-      restaurants: [
150
-        { "value": "中国电建集团成都勘测设计研究院有限公司" }
151
-      ]
152
-    }
157
+      workList: [
158
+        {
159
+          content: "",
160
+          scale: "",
161
+          unit: "",
162
+          workload: "",
163
+          deadline: "",
164
+          remark: "",
165
+        },
166
+      ],
167
+      restaurants: [{ value: "中国电建集团成都勘测设计研究院有限公司" }],
168
+    };
153
   },
169
   },
154
   created() {
170
   created() {
155
-    this.addForm.projectRegistrant = this.userId
156
-    this.addForm.projectRegistrantName = this.name
171
+    if (this.$route.query.taskName != '项目登记') {
172
+      this.getProjectInfo();
173
+      this.getProjectWorkList();
174
+    } else {
175
+      this.addForm.projectRegistrant = this.userId;
176
+      this.addForm.projectRegistrantUser.nickName = this.name;
177
+    }
157
     this.getList();
178
     this.getList();
158
   },
179
   },
159
-  mounted() {
160
-    
161
-  },
180
+  mounted() { },
162
   methods: {
181
   methods: {
163
     // 查询项目列表
182
     // 查询项目列表
164
     getList() {
183
     getList() {
165
-      this.loading = true
184
+      this.loading = true;
166
       listProject(this.queryParams).then(response => {
185
       listProject(this.queryParams).then(response => {
167
         this.projectList = [];
186
         this.projectList = [];
168
         for (let p of response.rows) {
187
         for (let p of response.rows) {
169
           if (p.projectLeader != null) {
188
           if (p.projectLeader != null) {
170
             getUser(Number(p.projectLeader)).then(res => {
189
             getUser(Number(p.projectLeader)).then(res => {
171
               p.projectLeaderName = res.data.nickName;
190
               p.projectLeaderName = res.data.nickName;
172
-            })
191
+            });
173
           }
192
           }
174
           this.projectList.push(p);
193
           this.projectList.push(p);
175
         }
194
         }
176
         this.total = response.total;
195
         this.total = response.total;
177
         this.loading = false;
196
         this.loading = false;
197
+      });
198
+    },
199
+    getProjectInfo() {
200
+      getProject(this.$route.query.formId).then(res => {
201
+        this.addForm = res.data;
202
+      })
203
+    },
204
+    getProjectWorkList() {
205
+      getProjectWork(this.$route.query.formId).then(res => {
206
+        this.workList = res.data;
207
+        console.log(res);
178
       })
208
       })
179
     },
209
     },
180
     confirmAddForm() {
210
     confirmAddForm() {
181
       this.addForm.projectId = this.taskForm.formId;
211
       this.addForm.projectId = this.taskForm.formId;
182
       this.addForm.workList = this.workList;
212
       this.addForm.workList = this.workList;
183
       let forms = new FormData();
213
       let forms = new FormData();
184
-      forms.append('form',JSON.stringify(this.addForm));
214
+      forms.append("form", JSON.stringify(this.addForm));
185
       submitProject(forms).then(response => {
215
       submitProject(forms).then(response => {
186
         this.$modal.msgSuccess("新增成功");
216
         this.$modal.msgSuccess("新增成功");
187
         this.getList();
217
         this.getList();
194
           this.$set(this.taskForm.variables, "approval", userId);
224
           this.$set(this.taskForm.variables, "approval", userId);
195
           complete(this.taskForm).then(response => {
225
           complete(this.taskForm).then(response => {
196
             this.$modal.msgSuccess(response.msg);
226
             this.$modal.msgSuccess(response.msg);
197
-            this.$emit('goBack')
227
+            this.$emit("goBack");
198
           });
228
           });
199
-        })
200
-      })
229
+        });
230
+      });
201
     },
231
     },
202
     cancel() {
232
     cancel() {
203
-      this.addForm = {}
233
+      this.addForm = {};
204
     },
234
     },
205
     addWorkList() {
235
     addWorkList() {
206
       this.workList.push({
236
       this.workList.push({
207
-        content: '',
208
-        scale: '',
209
-        unit: '',
210
-        workload: '',
211
-        deadline: '',
212
-        remark: ''
237
+        content: "",
238
+        scale: "",
239
+        unit: "",
240
+        workload: "",
241
+        deadline: "",
242
+        remark: "",
213
       });
243
       });
214
     },
244
     },
215
     deletWorkItem(index) {
245
     deletWorkItem(index) {
216
-      let arr = this.workList
246
+      let arr = this.workList;
217
       if (arr.length == 1) {
247
       if (arr.length == 1) {
218
-        return
248
+        return;
219
       }
249
       }
220
       if (index >= 0 && index < arr.length) {
250
       if (index >= 0 && index < arr.length) {
221
         arr.splice(index, 1);
251
         arr.splice(index, 1);
223
     },
253
     },
224
     querySearch(queryString, cb) {
254
     querySearch(queryString, cb) {
225
       var restaurants = this.restaurants;
255
       var restaurants = this.restaurants;
226
-      var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
256
+      var results = queryString
257
+        ? restaurants.filter(this.createFilter(queryString))
258
+        : restaurants;
227
       // 调用 callback 返回建议列表的数据
259
       // 调用 callback 返回建议列表的数据
228
       cb(results);
260
       cb(results);
229
     },
261
     },
230
     createFilter(queryString) {
262
     createFilter(queryString) {
231
-      return (restaurant) => {
232
-        return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
263
+      return restaurant => {
264
+        return restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0;
233
       };
265
       };
234
     },
266
     },
235
   },
267
   },
236
-}
268
+};
237
 </script>
269
 </script>
238
 
270
 
239
 <style lang="scss" scoped>
271
 <style lang="scss" scoped>
261
   /*设置背景颜色*/
293
   /*设置背景颜色*/
262
   /* background-color: #bfa; */
294
   /* background-color: #bfa; */
263
 }
295
 }
264
-</style>
296
+
297
+::v-deep .el-input.is-disabled .el-input__inner {
298
+  color: #686a6e;
299
+}
300
+
301
+::v-deep .el-textarea.is-disabled .el-textarea__inner,
302
+.el-radio__input.is-disabled+span.el-radio__label {
303
+  color: #686a6e;
304
+}
305
+
306
+::v-deep .el-radio__input.is-disabled+span.el-radio__label {
307
+  color: #686a6e;
308
+}
309
+
310
+::v-deep .el-radio__input.is-disabled.is-checked .el-radio__inner::after {
311
+  background-color: var(--current-color);
312
+  width: 6px;
313
+  height: 6px;
314
+}
315
+
316
+::v-deep .el-radio__input.is-disabled .el-radio__inner,
317
+.el-radio__input.is-disabled.is-checked .el-radio__inner {
318
+  border-color: var(--current-color);
319
+}
320
+</style>

+ 37
- 29
oa-ui/src/views/flowable/form/projectProcess/arrangeProject.vue Näytä tiedosto

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-04-07 11:02:16
5
+ * @LastEditTime: 2024-04-07 17:31:15
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">
10
+    <el-form :model="form" :rules="rules" label-width="100px" :disabled="disabled">
11
       <el-form-item label="承担部门:" prop="undertakingDept">
11
       <el-form-item label="承担部门:" prop="undertakingDept">
12
         <el-select v-model="form.deptId" multiple clearable style="width:500px" @change="getDeptLeader">
12
         <el-select v-model="form.deptId" multiple clearable style="width:500px" @change="getDeptLeader">
13
           <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId"
13
           <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId"
17
       </el-form-item>
17
       </el-form-item>
18
       <el-form-item label="部门负责人" prop="deptLeader">
18
       <el-form-item label="部门负责人" prop="deptLeader">
19
         <el-select v-model="form.deptLeader" multiple clearable style="width:500px">
19
         <el-select v-model="form.deptLeader" multiple clearable style="width:500px">
20
-          <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"
21
-            v-if="item.nickName != 'admin'">
20
+          <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
22
           </el-option>
21
           </el-option>
23
         </el-select>
22
         </el-select>
24
       </el-form-item>
23
       </el-form-item>
25
       <el-form-item label="项目负责人" prop="projectLeader">
24
       <el-form-item label="项目负责人" prop="projectLeader">
26
-        <el-tag effect="plain" type="warning" style="margin-right: 10px;">{{ form.projectLeader }}</el-tag>
25
+        <el-tag effect="plain" type="warning" style="margin-right: 10px;" v-if="form.projectLeader != ''">{{
26
+      form.projectLeaderName }}</el-tag>
27
         <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="choosePeople">选择</el-button>
27
         <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="choosePeople">选择</el-button>
28
       </el-form-item>
28
       </el-form-item>
29
       <el-form-item label="现场负责人" prop="siteLeader">
29
       <el-form-item label="现场负责人" prop="siteLeader">
33
           </el-option>
33
           </el-option>
34
         </el-select>
34
         </el-select>
35
       </el-form-item>
35
       </el-form-item>
36
-      <el-form-item label="项目预算">
37
-        <el-input v-model="form.deptLeader"></el-input>
38
-      </el-form-item>
39
     </el-form>
36
     </el-form>
40
     <!-- 人员选择对话框 -->
37
     <!-- 人员选择对话框 -->
41
     <el-dialog width="320px" title="选择项目负责人" :visible.sync="peopleVisible" append-to-body>
38
     <el-dialog width="320px" title="选择项目负责人" :visible.sync="peopleVisible" append-to-body>
42
       <el-form>
39
       <el-form>
43
         <el-form-item label="部门:">
40
         <el-form-item label="部门:">
44
           <el-select v-model="peopleForm.deptId" @change="handleChangeDept">
41
           <el-select v-model="peopleForm.deptId" @change="handleChangeDept">
45
-            <el-option v-for="item in peopleForm.deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId"
46
-              v-if="item.deptName != '四川中水成勘院测绘工程有限责任公司'">
42
+            <el-option v-for="item in peopleForm.deptList" :key="item.deptId" :label="item.deptName"
43
+              :value="item.deptId" v-if="item.deptName != '四川中水成勘院测绘工程有限责任公司'">
47
             </el-option>
44
             </el-option>
48
           </el-select>
45
           </el-select>
49
         </el-form-item>
46
         </el-form-item>
50
         <el-form-item label="人员:">
47
         <el-form-item label="人员:">
51
           <el-select v-model="peopleForm.userId">
48
           <el-select v-model="peopleForm.userId">
52
-            <el-option v-for="item in peopleForm.userList" :key="item.userId" :label="item.nickName" :value="item.userId">
49
+            <el-option v-for="item in peopleForm.userList" :key="item.userId" :label="item.nickName"
50
+              :value="item.userId">
53
             </el-option>
51
             </el-option>
54
           </el-select>
52
           </el-select>
55
         </el-form-item>
53
         </el-form-item>
60
       </el-form>
58
       </el-form>
61
     </el-dialog>
59
     </el-dialog>
62
     <div slot="footer" class="dialog-footer" style="text-align: center;">
60
     <div slot="footer" class="dialog-footer" style="text-align: center;">
63
-      <el-button type="primary" @click="confirmPlanForm">确 定</el-button>
64
-      <el-button @click="cancel">取 消</el-button>
61
+      <el-button type="primary" @click="confirmPlanForm" :disabled="disabled">确 定</el-button>
62
+      <el-button @click="cancel" :disabled="disabled">取 消</el-button>
65
     </div>
63
     </div>
66
   </div>
64
   </div>
67
 </template>
65
 </template>
71
 import { listUser } from '@/api/system/user'
69
 import { listUser } from '@/api/system/user'
72
 import { getUsersDeptLeaderByDept } from '@/api/system/post'
70
 import { getUsersDeptLeaderByDept } from '@/api/system/post'
73
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
71
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
72
+import { listProject, getProject, addProject, updateProject, delProject, submitProject,modifyProject } from "@/api/oa/project/project";
74
 export default {
73
 export default {
75
   props: {
74
   props: {
75
+    disabled: {
76
+      type: Boolean,
77
+      require: true,
78
+    },
76
     taskForm: {
79
     taskForm: {
77
       type: Object,
80
       type: Object,
78
       required: true
81
       required: true
80
   },
83
   },
81
   data() {
84
   data() {
82
     return {
85
     return {
83
-      form: {},
86
+      form: {
87
+        projectLeader: ''
88
+      },
84
       rules: {},
89
       rules: {},
85
       deptList: [],
90
       deptList: [],
86
       userList: [],
91
       userList: [],
140
     // 确定项目负责人
145
     // 确定项目负责人
141
     confirmPeople() {
146
     confirmPeople() {
142
       this.form.projectLeader = this.peopleForm.userId;
147
       this.form.projectLeader = this.peopleForm.userId;
143
-      this.form.projectLeader = this.tagLeader()
148
+      this.form.projectLeaderName = this.tagLeader()
144
       this.peopleVisible = false
149
       this.peopleVisible = false
145
     },
150
     },
146
     tagLeader() {
151
     tagLeader() {
160
       this.peopleVisible = false;
165
       this.peopleVisible = false;
161
     },
166
     },
162
     confirmPlanForm() {
167
     confirmPlanForm() {
168
+      console.log(this.form);
163
       let formData = new FormData();
169
       let formData = new FormData();
164
-      let form = JSON.stringify(this.form);
165
-      formData.append("form", form);
170
+      formData.append("form", JSON.stringify(this.form));
171
+      modifyProject(formData).then(res=>{
172
+        console.log(res);
173
+      })
166
       const params = { taskId: this.taskForm.taskId };
174
       const params = { taskId: this.taskForm.taskId };
167
       // 获取下一个流程节点
175
       // 获取下一个流程节点
168
-      getNextFlowNode(params).then(res => {
169
-        this.$set(this.taskForm.variables, "formId", this.taskForm.formId);
170
-        this.$set(this.taskForm.variables, "budgetInitiator", this.peopleForm.userId);
171
-        getUsersDeptLeaderByDept({ deptId: 105 }).then(res => {
172
-          let userId = res.data.userId;
173
-          this.$set(this.taskForm.variables, "approval", userId);
174
-          complete(this.taskForm).then(response => {
175
-            this.$modal.msgSuccess(response.msg);
176
-            this.$emit('goBack')
177
-          });
178
-        })
179
-      })
176
+      // getNextFlowNode(params).then(res => {
177
+      //   this.$set(this.taskForm.variables, "formId", this.taskForm.formId);
178
+      //   this.$set(this.taskForm.variables, "budgetInitiator", this.peopleForm.userId);
179
+      //   getUsersDeptLeaderByDept({ deptId: 105 }).then(res => {
180
+      //     let userId = res.data.userId;
181
+      //     this.$set(this.taskForm.variables, "approval", userId);
182
+      //     complete(this.taskForm).then(response => {
183
+      //       this.$modal.msgSuccess(response.msg);
184
+      //       this.$emit('goBack')
185
+      //     });
186
+      //   })
187
+      // })
180
     },
188
     },
181
     cancel() {
189
     cancel() {
182
       this.form = {}
190
       this.form = {}

+ 16
- 14
oa-ui/src/views/flowable/form/projectProcess/index.vue Näytä tiedosto

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-02-27 14:49:15
3
  * @Date: 2024-02-27 14:49:15
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-07 11:10:57
5
+ * @LastEditTime: 2024-04-07 16:38:10
6
 -->
6
 -->
7
 
7
 
8
 <template>
8
 <template>
9
   <div class="project-wrapper">
9
   <div class="project-wrapper">
10
 
10
 
11
     <el-tabs tabPosition="left" type="card" class="tabs-border" v-model="activeName">
11
     <el-tabs tabPosition="left" type="card" class="tabs-border" v-model="activeName">
12
-      <el-tab-pane label="项目登记" name="项目登记" :disabled="taskName != '项目登记'">
13
-        <addproject :taskForm="taskForm"></addproject>
12
+      <el-tab-pane label="项目登记" name="项目登记">
13
+        <addproject :taskForm="taskForm" :disabled="taskName != '项目登记'" @goBack="goBack"></addproject>
14
       </el-tab-pane>
14
       </el-tab-pane>
15
-      <el-tab-pane label="项目安排" name="项目安排" :disabled="taskName != '项目安排'">
16
-        <!-- <arrangeProject :taskForm ="taskForm"></arrangeProject> -->
15
+      <el-tab-pane label="项目安排" name="项目安排">
16
+        <arrangeProject :taskForm ="taskForm" :disabled="taskName != '项目安排'" @goBack="goBack"></arrangeProject>
17
       </el-tab-pane>
17
       </el-tab-pane>
18
-      <el-tab-pane label="技术交底" name="技术交底" :disabled="taskName != '技术交底'"></el-tab-pane>
19
-      <el-tab-pane label="安全交底" name="安全交底" :disabled="taskName != '安全交底'"></el-tab-pane>
20
-      <el-tab-pane label="经营审核" name="经营审核" :disabled="taskName != '经营审核'"></el-tab-pane>
21
-      <el-tab-pane label="分管审核" name="分管审核" :disabled="taskName != '分管审核'"></el-tab-pane>
22
-      <el-tab-pane label="生产确认" name="生产确认" :disabled="taskName != '生产确认'"></el-tab-pane>
23
-      <el-tab-pane label="项目生产" name="项目生产" :disabled="taskName != '项目生产'"></el-tab-pane>
24
-      <el-tab-pane label="质量检查" name="质量检查" :disabled="taskName != '质量检查'"></el-tab-pane>
25
-      <el-tab-pane label="成果归档" name="成果归档" :disabled="taskName != '成果归档'"></el-tab-pane>
18
+      <el-tab-pane label="经营审核" name="经营审核"></el-tab-pane>
19
+      <el-tab-pane label="分管审核" name="分管审核"></el-tab-pane>
20
+      <el-tab-pane label="生产确认" name="生产确认"></el-tab-pane>
21
+      <el-tab-pane label="项目生产" name="项目生产"></el-tab-pane>
22
+      <el-tab-pane label="质量检查" name="质量检查"></el-tab-pane>
23
+      <el-tab-pane label="成果归档" name="成果归档"></el-tab-pane>
26
     </el-tabs>
24
     </el-tabs>
27
 
25
 
28
 
26
 
89
     }
87
     }
90
   },
88
   },
91
   created() {
89
   created() {
92
-    // this.activeName = this.taskName;
90
+    this.activeName = this.taskName;
91
+    console.log(this.taskName);
93
     this.getList();
92
     this.getList();
94
     this.getDeptList();
93
     this.getDeptList();
95
     // console.log(this.activeName);
94
     // console.log(this.activeName);
202
       this.peopleForm.deptId = '';
201
       this.peopleForm.deptId = '';
203
       this.peopleForm.userId = '';
202
       this.peopleForm.userId = '';
204
       this.peopleVisible = false;
203
       this.peopleVisible = false;
204
+    },
205
+    goBack(){
206
+      this.$emit('goBack')
205
     }
207
     }
206
   },
208
   },
207
 }
209
 }

+ 2
- 2
oa-ui/src/views/flowable/task/finished/detail/index.vue Näytä tiedosto

58
                         <template slot="label"><i class="el-icon-time"></i>耗时</template>
58
                         <template slot="label"><i class="el-icon-time"></i>耗时</template>
59
                         {{ item.duration }}
59
                         {{ item.duration }}
60
                       </el-descriptions-item>
60
                       </el-descriptions-item>
61
-                      <el-descriptions-item v-if="item.comment" label-class-name="my-label">
61
+                      <!-- <el-descriptions-item v-if="item.comment" label-class-name="my-label">
62
                         <template slot="label"><i class="el-icon-tickets"></i>处理意见</template>
62
                         <template slot="label"><i class="el-icon-tickets"></i>处理意见</template>
63
                         {{ item.comment.comment }}
63
                         {{ item.comment.comment }}
64
-                      </el-descriptions-item>
64
+                      </el-descriptions-item> -->
65
                     </el-descriptions>
65
                     </el-descriptions>
66
                   </el-card>
66
                   </el-card>
67
                 </el-timeline-item>
67
                 </el-timeline-item>

+ 2
- 2
oa-ui/src/views/flowable/task/myProcess/detail/index.vue Näytä tiedosto

52
                         <template slot="label"><i class="el-icon-time"></i>耗时</template>
52
                         <template slot="label"><i class="el-icon-time"></i>耗时</template>
53
                         {{item.duration}}
53
                         {{item.duration}}
54
                       </el-descriptions-item>
54
                       </el-descriptions-item>
55
-                      <el-descriptions-item v-if="item.comment" label-class-name="my-label">
55
+                      <!-- <el-descriptions-item v-if="item.comment" label-class-name="my-label">
56
                         <template slot="label"><i class="el-icon-tickets"></i>处理意见</template>
56
                         <template slot="label"><i class="el-icon-tickets"></i>处理意见</template>
57
                         {{item.comment.comment}}
57
                         {{item.comment.comment}}
58
-                      </el-descriptions-item>
58
+                      </el-descriptions-item> -->
59
                     </el-descriptions>
59
                     </el-descriptions>
60
                   </el-card>
60
                   </el-card>
61
                 </el-timeline-item>
61
                 </el-timeline-item>

+ 2
- 2
oa-ui/src/views/flowable/task/myProcess/send/rowDetail.vue Näytä tiedosto

36
                   <template slot="label"><i class="el-icon-time"></i>耗时</template>
36
                   <template slot="label"><i class="el-icon-time"></i>耗时</template>
37
                   {{ item.duration }}
37
                   {{ item.duration }}
38
                 </el-descriptions-item>
38
                 </el-descriptions-item>
39
-                <el-descriptions-item v-if="item.comment" label-class-name="my-label">
39
+                <!-- <el-descriptions-item v-if="item.comment" label-class-name="my-label">
40
                   <template slot="label"><i class="el-icon-tickets"></i>处理意见</template>
40
                   <template slot="label"><i class="el-icon-tickets"></i>处理意见</template>
41
                   {{ item.comment.comment }}
41
                   {{ item.comment.comment }}
42
-                </el-descriptions-item>
42
+                </el-descriptions-item> -->
43
               </el-descriptions>
43
               </el-descriptions>
44
             </el-card>
44
             </el-card>
45
           </el-timeline-item>
45
           </el-timeline-item>

+ 2
- 2
oa-ui/src/views/flowable/task/todo/detail/index.vue Näytä tiedosto

76
                         <template slot="label"><i class="el-icon-time"></i>耗时</template>
76
                         <template slot="label"><i class="el-icon-time"></i>耗时</template>
77
                         {{ item.duration }}
77
                         {{ item.duration }}
78
                       </el-descriptions-item>
78
                       </el-descriptions-item>
79
-                      <el-descriptions-item v-if="item.comment" label-class-name="my-label">
79
+                      <!-- <el-descriptions-item v-if="item.comment" label-class-name="my-label">
80
 
80
 
81
                         <template slot="label"><i class="el-icon-tickets"></i>处理意见</template>
81
                         <template slot="label"><i class="el-icon-tickets"></i>处理意见</template>
82
                         {{ item.comment }}
82
                         {{ item.comment }}
83
-                      </el-descriptions-item>
83
+                      </el-descriptions-item> -->
84
                     </el-descriptions>
84
                     </el-descriptions>
85
                   </el-card>
85
                   </el-card>
86
                 </el-timeline-item>
86
                 </el-timeline-item>

+ 19
- 27
oa-ui/src/views/oa/budget/addBudget.vue Näytä tiedosto

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-03-25 15:05:59
3
  * @Date: 2024-03-25 15:05:59
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-03 17:29:25
5
+ * @LastEditTime: 2024-04-07 16:09:20
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div>
8
   <div>
101
             <el-form-item label="联系方式:">
101
             <el-form-item label="联系方式:">
102
               {{ projectForm.telephone }}
102
               {{ projectForm.telephone }}
103
             </el-form-item>
103
             </el-form-item>
104
-            <el-form-item label="备注:">
105
-              {{ projectForm.remark }}
106
-            </el-form-item>
107
             <el-form-item label="项目登记人:">
104
             <el-form-item label="项目登记人:">
108
-              {{ projectForm.projectRegistrant }}
105
+              {{ projectForm.projectRegistrantUser.nickName }}
109
             </el-form-item>
106
             </el-form-item>
110
             <el-form-item label="登记时间:">
107
             <el-form-item label="登记时间:">
111
               {{ projectForm.createTime }}
108
               {{ projectForm.createTime }}
112
             </el-form-item>
109
             </el-form-item>
110
+            <el-form-item label="备注:">
111
+              {{ projectForm.remark }}
112
+            </el-form-item>
113
           </el-form>
113
           </el-form>
114
         </div>
114
         </div>
115
 
115
 
493
 
493
 
494
 <script>
494
 <script>
495
 import { getProject } from "@/api/oa/project/project";
495
 import { getProject } from "@/api/oa/project/project";
496
+import { getProjectWork } from "@/api/oa/project/projectWork";
496
 import { getSalary } from "@/api/oa/staff/salary";
497
 import { getSalary } from "@/api/oa/staff/salary";
497
 import choosePeople from "./components/choosePeople.vue";
498
 import choosePeople from "./components/choosePeople.vue";
498
 import chooseCar from "./components/chooseCar.vue";
499
 import chooseCar from "./components/chooseCar.vue";
566
         projectName: "",
567
         projectName: "",
567
       },
568
       },
568
       projectTotal: 0,
569
       projectTotal: 0,
569
-      projectForm: {},
570
-      workList: [
571
-        {
572
-          content: "实景三维制作(影像分辨率优于5cm)",
573
-          scale: "1:500",
574
-          workload: "10",
575
-          unit: "km²",
576
-          deadline: "2024-01-31",
577
-          remark: "此为备注此为备注此为备注此为备注此为备注此为备注",
578
-        },
579
-        {
580
-          content: "XXXXXXXXXXXXXXXXXX",
581
-          scale: "1:500",
582
-          workload: "10",
583
-          unit: "km²",
584
-          deadline: "2024-01-31",
585
-          remark: "此为备注此为备注此为备注此为备注此为备注此为备注",
586
-        },
587
-      ],
570
+      projectForm: {
571
+        projectRegistrantUser:{
572
+          nickName:''
573
+        }
574
+      },
575
+      workList: [],
588
       projectRule: {
576
       projectRule: {
589
         projectNumber: [{ required: true, message: "请选择项目编号", trigger: "blur" }],
577
         projectNumber: [{ required: true, message: "请选择项目编号", trigger: "blur" }],
590
       },
578
       },
600
   },
588
   },
601
   created() {
589
   created() {
602
     this.getProjectList();
590
     this.getProjectList();
603
-    console.log(this.taskForm);
591
+    this.getProjectWorkList();
604
   },
592
   },
605
   methods: {
593
   methods: {
606
     goBack() {
594
     goBack() {
610
     },
598
     },
611
     // 查询项目列表
599
     // 查询项目列表
612
     getProjectList() {
600
     getProjectList() {
613
-      getProject(this.taskForm.formId).then(response => {
601
+      getProject(this.$route.query.formId).then(response => {
614
         // console.log(response.rows);
602
         // console.log(response.rows);
615
         // this.projectList = response.rows;
603
         // this.projectList = response.rows;
616
         // this.projectTotal = response.total;
604
         // this.projectTotal = response.total;
617
         this.projectForm = response.data;
605
         this.projectForm = response.data;
618
       });
606
       });
619
     },
607
     },
608
+    getProjectWorkList() {
609
+      getProjectWork(this.$route.query.formId).then(res => {
610
+        this.workList = res.data;
611
+      })
612
+    },
620
     // 选择项目
613
     // 选择项目
621
     chooseProject(row) {
614
     chooseProject(row) {
622
       this.projectForm = row;
615
       this.projectForm = row;
639
         this.activeStep += 1;
632
         this.activeStep += 1;
640
         this.calculateThatCost();
633
         this.calculateThatCost();
641
       } else if (this.activeStep == 3) {
634
       } else if (this.activeStep == 3) {
642
-        console.log(this.budgetForm);
643
         this.addBudgetForm(this.budgetForm);
635
         this.addBudgetForm(this.budgetForm);
644
         this.activeStep += 1;
636
         this.activeStep += 1;
645
       } else {
637
       } else {

Loading…
Peruuta
Tallenna