|
@@ -2,7 +2,7 @@
|
2
|
2
|
* @Author: wrh
|
3
|
3
|
* @Date: 2024-08-14 14:24:11
|
4
|
4
|
* @LastEditors: Please set LastEditors
|
5
|
|
- * @LastEditTime: 2024-08-19 11:47:08
|
|
5
|
+ * @LastEditTime: 2024-10-21 15:00:50
|
6
|
6
|
-->
|
7
|
7
|
<template>
|
8
|
8
|
<div class="app-container">
|
|
@@ -22,9 +22,9 @@
|
22
|
22
|
</el-option>
|
23
|
23
|
</el-select>
|
24
|
24
|
</el-form-item>
|
25
|
|
- <el-form-item label="填报时间" prop="submitTime">
|
26
|
|
- <el-date-picker clearable v-model="queryParams.submitTime" type="date" value-format="yyyy-MM-dd"
|
27
|
|
- placeholder="请选择填报时间">
|
|
25
|
+ <el-form-item label="填报月份" prop="submitTime">
|
|
26
|
+ <el-date-picker clearable v-model="queryParams.submitTime" type="month" value-format="yyyy-MM"
|
|
27
|
+ placeholder="请选择填报月份">
|
28
|
28
|
</el-date-picker>
|
29
|
29
|
</el-form-item>
|
30
|
30
|
<el-form-item>
|
|
@@ -74,10 +74,10 @@
|
74
|
74
|
</el-row>
|
75
|
75
|
|
76
|
76
|
<el-table v-loading="loading" :data="declareList" @selection-change="handleSelectionChange">
|
77
|
|
- <el-table-column type="selection" width="55" align="center" />
|
|
77
|
+ <el-table-column type="index" width="55" align="center" />
|
78
|
78
|
<!-- <el-table-column label="填报id" align="center" prop="formId" /> -->
|
79
|
|
- <el-table-column label="项目编号" align="center" prop="project.projectNumber" />
|
80
|
|
- <el-table-column label="项目名称" align="center" prop="project.projectName" />
|
|
79
|
+ <el-table-column label="项目编号" align="center" prop="project.projectNumber" :formatter="formatterProjectNumber" />
|
|
80
|
+ <el-table-column label="项目名称" align="center" prop="project.projectName" :formatter="formatterProjectName" />
|
81
|
81
|
<el-table-column label="填报人" align="center" prop="user.nickName" />
|
82
|
82
|
<el-table-column label="工作类别" align="center" prop="workType" />
|
83
|
83
|
<el-table-column label="工作项目" align="center" prop="workItem" />
|
|
@@ -110,24 +110,19 @@
|
110
|
110
|
<span>{{ parseTime(scope.row.submitTime, '{y}-{m}-{d}') }}</span>
|
111
|
111
|
</template>
|
112
|
112
|
</el-table-column>
|
113
|
|
- <!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
113
|
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
114
|
114
|
<template slot-scope="scope">
|
115
|
|
- <el-button
|
116
|
|
- size="mini"
|
117
|
|
- type="text"
|
118
|
|
- icon="el-icon-edit"
|
119
|
|
- @click="handleUpdate(scope.row)"
|
120
|
|
- v-hasPermi="['oa:declare:edit']"
|
121
|
|
- >修改</el-button>
|
122
|
|
- <el-button
|
|
115
|
+ <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
|
116
|
+ v-hasPermi="['oa:declare:edit']">修改</el-button>
|
|
117
|
+ <!-- <el-button
|
123
|
118
|
size="mini"
|
124
|
119
|
type="text"
|
125
|
120
|
icon="el-icon-delete"
|
126
|
121
|
@click="handleDelete(scope.row)"
|
127
|
122
|
v-hasPermi="['oa:declare:remove']"
|
128
|
|
- >删除</el-button>
|
|
123
|
+ >删除</el-button> -->
|
129
|
124
|
</template>
|
130
|
|
- </el-table-column> -->
|
|
125
|
+ </el-table-column>
|
131
|
126
|
</el-table>
|
132
|
127
|
|
133
|
128
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
|
@@ -136,31 +131,37 @@
|
136
|
131
|
<!-- 添加或修改工作填报对话框 -->
|
137
|
132
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
138
|
133
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
139
|
|
- <el-form-item label="项目id" prop="projectId">
|
140
|
|
- <el-input v-model="form.projectId" placeholder="请输入项目id" />
|
|
134
|
+ <el-form-item label="项目名称" prop="project.projectNumber" v-if="form.projectId">
|
|
135
|
+ {{ form.project.projectNumber + '-' + form.project.projectName }}
|
|
136
|
+ </el-form-item>
|
|
137
|
+ <el-form-item label="项目名称" v-else>
|
|
138
|
+ {{ form.submitTime ? form.submitTime.substring(0, 4) + '年借调、零星项目' : '借调、零星项目' }}
|
|
139
|
+ </el-form-item>
|
|
140
|
+ <el-form-item label="填报人" prop="userId">
|
|
141
|
+ {{ getUserName(form.userId) }}
|
141
|
142
|
</el-form-item>
|
142
|
|
- <el-form-item label="用户id" prop="userId">
|
143
|
|
- <el-input v-model="form.userId" placeholder="请输入用户id" />
|
|
143
|
+ <el-form-item label="填报时间" prop="submitTime">
|
|
144
|
+ <el-date-picker clearable v-model="form.submitTime" type="date" value-format="yyyy-MM-dd" disabled
|
|
145
|
+ placeholder="请选择填报时间">
|
|
146
|
+ </el-date-picker>
|
144
|
147
|
</el-form-item>
|
145
|
148
|
<el-form-item label="工作项目" prop="workItem">
|
146
|
|
- <el-input v-model="form.workItem" placeholder="请输入工作项目" />
|
|
149
|
+ <el-input v-model="form.workItem" placeholder="请输入工作项目" disabled />
|
147
|
150
|
</el-form-item>
|
148
|
151
|
<el-form-item label="工作内容">
|
149
|
|
- <editor v-model="form.workContent" :min-height="192" />
|
|
152
|
+ <el-input type="textarea" v-model="form.workContent" :autosize="{ minRows: 4 }" disabled></el-input>
|
150
|
153
|
</el-form-item>
|
151
|
154
|
<el-form-item label="工天" prop="workLoad">
|
152
|
|
- <el-input v-model="form.workLoad" placeholder="请输入工天" />
|
|
155
|
+ <el-input v-model="form.workLoad" placeholder="请输入工天" disabled />
|
153
|
156
|
</el-form-item>
|
154
|
157
|
<el-form-item label="工天单价" prop="price">
|
155
|
|
- <el-input v-model="form.price" placeholder="请输入工天单价" />
|
|
158
|
+ <el-input v-model="form.price" placeholder="请输入工天单价" disabled />
|
156
|
159
|
</el-form-item>
|
157
|
160
|
<el-form-item label="系数" prop="coefficient">
|
158
|
|
- <el-input v-model="form.coefficient" placeholder="请输入系数" />
|
|
161
|
+ <el-input v-model="form.coefficient" placeholder="请输入系数" @blur="predictMoney(this.form)" />
|
159
|
162
|
</el-form-item>
|
160
|
|
- <el-form-item label="填报时间" prop="submitTime">
|
161
|
|
- <el-date-picker clearable v-model="form.submitTime" type="date" value-format="yyyy-MM-dd"
|
162
|
|
- placeholder="请选择填报时间">
|
163
|
|
- </el-date-picker>
|
|
163
|
+ <el-form-item label="预估绩效">
|
|
164
|
+ <el-tag type="warning">{{ predictMoney(this.form) }}</el-tag>
|
164
|
165
|
</el-form-item>
|
165
|
166
|
</el-form>
|
166
|
167
|
<div slot="footer" class="dialog-footer">
|
|
@@ -216,7 +217,9 @@ export default {
|
216
|
217
|
confirmStatus: null
|
217
|
218
|
},
|
218
|
219
|
// 表单参数
|
219
|
|
- form: {},
|
|
220
|
+ form: {
|
|
221
|
+ submitTime: ''
|
|
222
|
+ },
|
220
|
223
|
// 表单校验
|
221
|
224
|
rules: {
|
222
|
225
|
}
|
|
@@ -229,6 +232,7 @@ export default {
|
229
|
232
|
/** 查询工作填报列表 */
|
230
|
233
|
getList() {
|
231
|
234
|
this.loading = true;
|
|
235
|
+ this.queryParams.deptId = this.$store.getters.deptId;
|
232
|
236
|
listDeclare(this.queryParams).then(response => {
|
233
|
237
|
this.declareList = response.rows;
|
234
|
238
|
this.total = response.total;
|
|
@@ -356,10 +360,28 @@ export default {
|
356
|
360
|
else
|
357
|
361
|
return 'warning'
|
358
|
362
|
},
|
359
|
|
- predictMoney(row){
|
|
363
|
+ predictMoney(row) {
|
360
|
364
|
let result = parseFloat(row.price * row.workLoad * row.coefficient)
|
361
|
365
|
return result.toFixed(2)
|
362
|
|
- }
|
|
366
|
+ },
|
|
367
|
+ formatterProjectNumber(row) {
|
|
368
|
+ if (!row.projectId) {
|
|
369
|
+ return '无'
|
|
370
|
+ } else {
|
|
371
|
+ return row.project.projectNumber
|
|
372
|
+ }
|
|
373
|
+ },
|
|
374
|
+ formatterProjectName(row) {
|
|
375
|
+ if (!row.projectId) {
|
|
376
|
+ let year = row.submitTime.substring(0, 4)
|
|
377
|
+ return year + '年借调、零星项目'
|
|
378
|
+ } else {
|
|
379
|
+ return row.project.projectName
|
|
380
|
+ }
|
|
381
|
+ },
|
363
|
382
|
}
|
364
|
383
|
};
|
365
|
384
|
</script>
|
|
385
|
+<style lang="scss" scoped>
|
|
386
|
+@import "@/assets/styles/element-reset.scss";
|
|
387
|
+</style>
|