feat(员工信息): 添加转正记录查看功能并优化状态显示

- 在员工信息页面添加转正记录查看按钮和对话框
- 将超过90天未转正的状态显示从warning改为danger
- 移除表单中未使用的备注和附件字段
- 修改综合报表的时间参数命名以保持一致性
This commit is contained in:
砂糖
2026-03-21 13:47:58 +08:00
parent 69c43a7edf
commit e266f36e39
3 changed files with 63 additions and 36 deletions

View File

@@ -106,6 +106,7 @@
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button> <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
<el-button v-if="scope.row.isLeave === 0 && scope.row.isRegular === 0" size="mini" type="text" icon="el-icon-check" <el-button v-if="scope.row.isLeave === 0 && scope.row.isRegular === 0" size="mini" type="text" icon="el-icon-check"
@click="handleResignation(scope.row)">转正</el-button> @click="handleResignation(scope.row)">转正</el-button>
<el-button v-if="scope.row.isRegular === 1" size="mini" type="text" icon="el-icon-view" @click="handleViewRegular(scope.row)">转正记录</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -232,22 +233,6 @@
</el-col> </el-col>
</el-row> </el-row>
</el-card> </el-card>
<!-- 备注和附件 -->
<el-card class="mb-4" shadow="hover">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="24" v-if="!form.infoId">
<el-form-item label="附件" prop="attachment">
<file-upload v-model="attachment"></file-upload>
</el-form-item>
</el-col>
</el-row>
</el-card>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button> <el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
@@ -286,13 +271,34 @@
<el-button @click="cancelResignation"> </el-button> <el-button @click="cancelResignation"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 查看转正记录对话框 -->
<el-dialog title="转正记录" :visible.sync="regularRecordOpen" width="500px" append-to-body>
<el-descriptions :column="1" border>
<el-descriptions-item label="转正时间">
{{ regularRecord.changeTime }}
</el-descriptions-item>
<el-descriptions-item label="转正原因">
{{ regularRecord.changeReason }}
</el-descriptions-item>
<el-descriptions-item label="负责人">
{{ regularRecord.changeHandler }}
</el-descriptions-item>
<el-descriptions-item label="附件">
<file-upload v-model="regularRecord.attachment"></file-upload>
</el-descriptions-item>
<el-descriptions-item label="备注">
{{ regularRecord.remark }}
</el-descriptions-item>
</el-descriptions>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { listEmployeeInfo, getEmployeeInfo, delEmployeeInfo, updateEmployeeInfo } from "@/api/wms/employeeInfo"; import { listEmployeeInfo, getEmployeeInfo, delEmployeeInfo, updateEmployeeInfo } from "@/api/wms/employeeInfo";
import { listDept } from "@/api/wms/dept"; import { listDept } from "@/api/wms/dept";
import { employeeEntry, employeeLeave, employeeRegular } from '@/api/wms/employeeChange' import { employeeEntry, employeeRegular, listEmployeeChange } from '@/api/wms/employeeChange'
export default { export default {
name: "EmployeeInfo", name: "EmployeeInfo",
@@ -360,7 +366,17 @@ export default {
} }
], ],
}, },
resignationAttachment: undefined resignationAttachment: undefined,
// 转正记录相关
regularRecordOpen: false,
regularRecord: {
name: undefined,
changeTime: undefined,
changeReason: undefined,
changeHandler: undefined,
attachment: undefined,
remark: undefined
}
}; };
}, },
dicts: ['hrm_employee_education'], dicts: ['hrm_employee_education'],
@@ -383,6 +399,17 @@ export default {
this.deptList = response.data; this.deptList = response.data;
}); });
}, },
/** 查询转正记录 */
getRegularRecords() {
listEmployeeChange({
infoId: this.form.infoId,
changeType: "2"
}).then(response => {
this.regularRecord = response.rows[0];
});
},
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false;
@@ -462,20 +489,6 @@ export default {
}).finally(() => { }).finally(() => {
this.buttonLoading = false; this.buttonLoading = false;
}); });
} else {
employeeEntry({
changeType: 0,
changeTime: this.form.entryTime,
changeHandler: this.$store.getters.nickName,
attachment: this.attachment,
...this.form
}).then(response => {
this.$modal.msgSuccess("员工入职成功");
this.open = false;
this.getList();
}).finally(() => {
this.buttonLoading = false;
});
} }
} }
}); });
@@ -581,7 +594,7 @@ export default {
type = 'info'; type = 'info';
} else if (diffDays >= 90) { } else if (diffDays >= 90) {
// 3个月以上未转正 // 3个月以上未转正
type = 'warning'; type = 'danger';
} }
} else { } else {
// 已转正 // 已转正
@@ -589,6 +602,20 @@ export default {
} }
return { days: diffDays, type, status }; return { days: diffDays, type, status };
},
/** 查看转正记录 */
handleViewRegular(row) {
this.form = row;
this.getRegularRecords();
this.regularRecordOpen = true;
},
/** 下载附件 */
downloadAttachment(attachment) {
if (attachment) {
window.open(attachment);
}
} }
} }
}; };

View File

@@ -587,7 +587,7 @@ export default {
type = 'info'; type = 'info';
} else if (diffDays >= 90) { } else if (diffDays >= 90) {
// 3个月以上未转正 // 3个月以上未转正
type = 'warning'; type = 'danger';
} }
} else { } else {
// 已转正 // 已转正

View File

@@ -3,11 +3,11 @@
<el-row> <el-row>
<el-form label-width="80px" inline> <el-form label-width="80px" inline>
<el-form-item label="开始时间" prop="startDate"> <el-form-item label="开始时间" prop="startDate">
<el-date-picker style="width: 200px;" v-model="queryParams.startDate" type="date" value-format="yyyy-MM-dd" <el-date-picker style="width: 200px;" v-model="queryParams.byCreateTimeStart" type="date" value-format="yyyy-MM-dd"
placeholder="选择开始日期" @change="handleDateChange"></el-date-picker> placeholder="选择开始日期" @change="handleDateChange"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="结束时间" prop="endDate"> <el-form-item label="结束时间" prop="endDate">
<el-date-picker style="width: 200px;" v-model="queryParams.endDate" type="date" value-format="yyyy-MM-dd" <el-date-picker style="width: 200px;" v-model="queryParams.byCreateTimeEnd" type="date" value-format="yyyy-MM-dd"
placeholder="选择结束日期" @change="handleDateChange"></el-date-picker> placeholder="选择结束日期" @change="handleDateChange"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="入场钢卷号" prop="enterCoilNo"> <el-form-item label="入场钢卷号" prop="enterCoilNo">