feat(员工信息): 新增查看功能并优化附件展示

refactor(异常管理): 重构异常记录表格布局和保存逻辑

feat(库存管理): 新增CRM卷材库存视图和分组筛选功能
This commit is contained in:
砂糖
2026-04-08 17:40:30 +08:00
parent 9c83c9d9a5
commit 7930991eb8
7 changed files with 1024 additions and 95 deletions

View File

@@ -67,6 +67,7 @@
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)">查看</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
</template>
@@ -244,6 +245,30 @@
<el-button @click="cancelSupplement"> </el-button>
</div>
</el-dialog>
<!-- 查看员工入职记录对话框 -->
<el-dialog title="查看员工入职记录" :visible.sync="viewOpen" width="500px" append-to-body>
<el-descriptions :column="1" border>
<el-descriptions-item label="员工姓名">
{{ viewRecord.wmsEmployeeInfo && viewRecord.wmsEmployeeInfo.name }}
</el-descriptions-item>
<el-descriptions-item label="入职时间">
{{ parseTime(viewRecord.changeTime, '{y}-{m}-{d} {h}:{i}:{s}') }}
</el-descriptions-item>
<el-descriptions-item label="入职原因">
{{ viewRecord.changeReason }}
</el-descriptions-item>
<el-descriptions-item label="负责人">
{{ viewRecord.changeHandler }}
</el-descriptions-item>
<el-descriptions-item label="附件">
<file-list :oss-ids="viewRecord.attachment"></file-list>
</el-descriptions-item>
<el-descriptions-item label="备注">
{{ viewRecord.remark }}
</el-descriptions-item>
</el-descriptions>
</el-dialog>
</div>
</template>
@@ -251,11 +276,13 @@
import { listEmployeeChange, getEmployeeChange, delEmployeeChange, updateEmployeeChange, addEmployeeChange, employeeEntry } from "@/api/wms/employeeChange";
import { listDept } from "@/api/wms/dept";
import EmployeeSelector from "@/components/EmployeeSelector";
import FileList from "@/components/FileList";
export default {
name: "EmployeeEntry",
components: {
EmployeeSelector
EmployeeSelector,
FileList
},
data() {
return {
@@ -317,7 +344,19 @@ export default {
},
supplementRules: {
},
supplementAttachment: undefined
supplementAttachment: undefined,
// 查看记录对话框相关
viewOpen: false,
viewRecord: {
changeId: undefined,
infoId: undefined,
changeType: undefined,
changeTime: undefined,
changeReason: undefined,
changeHandler: undefined,
attachment: undefined,
remark: undefined
}
};
},
dicts: ['hrm_employee_education'],
@@ -522,6 +561,11 @@ export default {
this.download('system/employeeChange/export', {
...this.queryParams
}, `employeeChange_${new Date().getTime()}.xlsx`)
},
/** 查看按钮操作 */
handleView(row) {
this.viewRecord = row;
this.viewOpen = true;
}
}
};

View File

@@ -296,7 +296,7 @@
{{ regularRecord.changeHandler }}
</el-descriptions-item>
<el-descriptions-item label="附件">
<file-upload v-model="regularRecord.attachment"></file-upload>
<file-list :oss-ids="regularRecord.attachment"></file-list>
</el-descriptions-item>
<el-descriptions-item label="备注">
{{ regularRecord.remark }}
@@ -310,9 +310,13 @@
import { listEmployeeInfo, getEmployeeInfo, delEmployeeInfo, updateEmployeeInfo } from "@/api/wms/employeeInfo";
import { listDept } from "@/api/wms/dept";
import { employeeEntry, employeeRegular, listEmployeeChange } from '@/api/wms/employeeChange'
import FileList from "@/components/FileList";
export default {
name: "EmployeeInfo",
components: {
FileList
},
data() {
return {
// 按钮loading

View File

@@ -64,6 +64,7 @@
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)">查看</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
</template>
@@ -102,6 +103,30 @@
<el-button @click="cancelSupplement"> </el-button>
</div>
</el-dialog>
<!-- 查看员工离职记录对话框 -->
<el-dialog title="查看员工离职记录" :visible.sync="viewOpen" width="500px" append-to-body>
<el-descriptions :column="1" border>
<el-descriptions-item label="员工姓名">
{{ viewRecord.wmsEmployeeInfo && viewRecord.wmsEmployeeInfo.name }}
</el-descriptions-item>
<el-descriptions-item label="离职时间">
{{ parseTime(viewRecord.changeTime, '{y}-{m}-{d} {h}:{i}:{s}') }}
</el-descriptions-item>
<el-descriptions-item label="离职原因">
{{ viewRecord.changeReason }}
</el-descriptions-item>
<el-descriptions-item label="负责人">
{{ viewRecord.changeHandler }}
</el-descriptions-item>
<el-descriptions-item label="附件">
<file-list :oss-ids="viewRecord.attachment"></file-list>
</el-descriptions-item>
<el-descriptions-item label="备注">
{{ viewRecord.remark }}
</el-descriptions-item>
</el-descriptions>
</el-dialog>
</div>
</template>
@@ -109,11 +134,13 @@
import { listEmployeeChange, getEmployeeChange, delEmployeeChange, updateEmployeeChange, addEmployeeChange, employeeEntry, employeeLeave } from "@/api/wms/employeeChange";
import { listDept } from "@/api/wms/dept";
import EmployeeSelector from "@/components/EmployeeSelector";
import FileList from "@/components/FileList";
export default {
name: "EmployeeLeave",
components: {
EmployeeSelector
EmployeeSelector,
FileList
},
data() {
return {
@@ -175,7 +202,19 @@ export default {
},
supplementRules: {
},
supplementAttachment: undefined
supplementAttachment: undefined,
// 查看记录对话框相关
viewOpen: false,
viewRecord: {
changeId: undefined,
infoId: undefined,
changeType: undefined,
changeTime: undefined,
changeReason: undefined,
changeHandler: undefined,
attachment: undefined,
remark: undefined
}
};
},
dicts: ['hrm_employee_education'],
@@ -359,6 +398,11 @@ export default {
this.download('system/employeeChange/export', {
...this.queryParams
}, `employeeChange_${new Date().getTime()}.xlsx`)
},
/** 查看按钮操作 */
handleView(row) {
this.viewRecord = row;
this.viewOpen = true;
}
}
};

View File

@@ -66,6 +66,7 @@
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)">查看</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
</template>
@@ -112,6 +113,42 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 查看员工调岗记录对话框 -->
<el-dialog title="查看员工调岗记录" :visible.sync="viewOpen" width="500px" append-to-body>
<el-descriptions :column="1" border>
<el-descriptions-item label="员工姓名">
{{ viewRecord.wmsEmployeeInfo && viewRecord.wmsEmployeeInfo.name }}
</el-descriptions-item>
<el-descriptions-item label="原部门">
{{ viewRecord.oldDept }}
</el-descriptions-item>
<el-descriptions-item label="原岗位工种">
{{ viewRecord.oldJobType }}
</el-descriptions-item>
<el-descriptions-item label="新部门">
{{ viewRecord.newDept }}
</el-descriptions-item>
<el-descriptions-item label="新岗位工种">
{{ viewRecord.newJobType }}
</el-descriptions-item>
<el-descriptions-item label="转岗生效时间">
{{ parseTime(viewRecord.transferTime, '{y}-{m}-{d} {h}:{i}:{s}') }}
</el-descriptions-item>
<el-descriptions-item label="转岗原因">
{{ viewRecord.transferReason }}
</el-descriptions-item>
<el-descriptions-item label="转岗经办人">
{{ viewRecord.transferHandler }}
</el-descriptions-item>
<el-descriptions-item label="附件">
<file-list :oss-ids="viewRecord.attachment"></file-list>
</el-descriptions-item>
<el-descriptions-item label="备注">
{{ viewRecord.remark }}
</el-descriptions-item>
</el-descriptions>
</el-dialog>
</div>
</template>
@@ -119,11 +156,13 @@
import { listEmployeeTransfer, getEmployeeTransfer, delEmployeeTransfer, updateEmployeeTransfer, transferEmployee } from "@/api/wms/employeeTransfer";
import EmployeeSelector from "@/components/EmployeeSelector";
import { listDept } from "@/api/wms/dept";
import FileList from "@/components/FileList";
export default {
name: "EmployeeTransfer",
components: {
EmployeeSelector,
FileList
},
data() {
return {
@@ -194,6 +233,21 @@ export default {
transferHandler: [
{ required: true, message: "转岗经办人不能为空", trigger: "blur" }
],
},
// 查看记录对话框相关
viewOpen: false,
viewRecord: {
transferId: undefined,
infoId: undefined,
oldDept: undefined,
oldJobType: undefined,
newDept: undefined,
newJobType: undefined,
transferTime: undefined,
transferReason: undefined,
transferHandler: undefined,
attachment: undefined,
remark: undefined
}
};
},
@@ -335,6 +389,11 @@ export default {
this.download('wms/employeeTransfer/export', {
...this.queryParams
}, `employeeTransfer_${new Date().getTime()}.xlsx`)
},
/** 查看按钮操作 */
handleView(row) {
this.viewRecord = row;
this.viewOpen = true;
}
}
};