jhprjv2/ruoyi-ui/src/views/project/surProjectAttendance/attendanceDrawer.vue

148 lines
4.1 KiB
Vue
Raw Normal View History

2023-08-14 00:02:33 +08:00
<template>
2023-08-16 01:14:41 +08:00
<div class="projectect-attendance-drawer">
2023-08-15 23:58:19 +08:00
<el-drawer
v-if="isOpen"
:visible.sync="isOpen"
direction="rtl"
size="30%"
style="padding-left: 20px"
>
<template slot="title">
<div>{{ title + " 【今日出勤】" }}</div>
</template>
2023-08-16 01:14:41 +08:00
<el-tabs v-model="activeName" style="padding-left: 20px">
<el-tab-pane
v-for="(it, idx) in nodes"
:label="it.unitName + ''"
:name="it.unitId + ''"
:key="idx"
></el-tab-pane>
</el-tabs>
<el-form label-width="120px" ref="form" :rules="rules">
<div
style="
padding: 8px 16px;
background-color: #ecf8ff;
border-radius: 4px;
border-left: 5px solid #50bfff;
margin: 20px;
"
>
<el-form-item label="在册劳务人员" prop="servicePersonnel">
<el-input style="width: 80%" v-model="vform.servicePersonnel" :readonly="true"
><i slot="suffix"></i></el-input
>
</el-form-item>
<el-form-item label="在册管理人员" prop="supervisorPersonnel">
<el-input
style="width: 80%"
v-model="vform.supervisorPersonnel"
:readonly="true"
><i slot="suffix"></i></el-input
>
</el-form-item>
<el-form-item label="在册总包人员" prop="contractorPersonnel">
<el-input
style="width: 80%"
v-model="vform.contractorPersonnel"
:readonly="true"
><i slot="suffix"></i></el-input
>
</el-form-item>
</div>
2023-08-15 23:58:19 +08:00
<el-form-item label="劳务人员" prop="servicePersonnel">
<el-input-number
2023-08-16 01:14:41 +08:00
style="width: 80%"
v-model="form.servicePersonnel"
2023-08-15 23:58:19 +08:00
:min="0"
:max="10000"
label="请输入劳务人员"
></el-input-number>
2023-08-14 00:02:33 +08:00
</el-form-item>
<el-form-item label="管理人员" prop="supervisorPersonnel">
2023-08-15 23:58:19 +08:00
<el-input-number
2023-08-16 01:14:41 +08:00
style="width: 80%"
v-model="form.supervisorPersonnel"
2023-08-15 23:58:19 +08:00
:min="0"
:max="10000"
label="请输入管理人员"
></el-input-number>
2023-08-14 00:02:33 +08:00
</el-form-item>
<el-form-item label="总包人员" prop="contractorPersonnel">
2023-08-15 23:58:19 +08:00
<el-input-number
2023-08-16 01:14:41 +08:00
style="width: 80%"
v-model="form.contractorPersonnel"
2023-08-15 23:58:19 +08:00
:min="0"
:max="10000"
label="请输入总包人员"
></el-input-number>
2023-08-14 00:02:33 +08:00
</el-form-item>
2023-08-15 23:58:19 +08:00
</el-form>
<div style="text-align: center">
<el-button type="primary" @click="doOk"></el-button>
<el-button @click="doCanel"></el-button>
</div>
</el-drawer>
</div>
2023-08-14 00:02:33 +08:00
</template>
<script>
2023-08-15 23:58:19 +08:00
import { mapGetters } from "vuex";
2023-08-16 01:14:41 +08:00
import {
unitList,
listProjectDeptWroks2,
updateProjectDeptWroks,
} from "@/api/project/projectDeptWroks";
2023-08-14 00:02:33 +08:00
export default {
2023-08-16 01:14:41 +08:00
name: "RuoyiUiProjectDeptWroksDrawer",
2023-08-15 23:58:19 +08:00
data() {
return {
isOpen: false,
2023-08-16 01:14:41 +08:00
project: null,
2023-08-15 23:58:19 +08:00
title: "",
2023-08-16 01:14:41 +08:00
nodes: [],
vform: {},
form: {},
2023-08-15 23:58:19 +08:00
rules: {},
2023-08-16 01:14:41 +08:00
activeName: "",
2023-08-15 23:58:19 +08:00
};
},
computed: {
...mapGetters(["dept"]),
},
mounted() {},
2023-08-14 00:02:33 +08:00
2023-08-15 23:58:19 +08:00
methods: {
2023-08-16 01:14:41 +08:00
doOk() {
updateProjectDeptWroks(this.form).then((response) => {
this.$modal.msgSuccess("保存成功");
this.isOpen = false;
});
},
2023-08-15 23:58:19 +08:00
doCanel() {
this.isOpen = false;
2023-08-14 00:02:33 +08:00
},
2023-08-16 01:14:41 +08:00
show(project) {
this.project = project;
this.title = project.projectName;
2023-08-15 23:58:19 +08:00
this.isOpen = true;
2023-08-16 01:14:41 +08:00
unitList({
projectId: project.id,
unitType: 2,
2023-08-15 23:58:19 +08:00
}).then((d) => {
2023-08-16 01:14:41 +08:00
this.nodes = d.rows;
if (this.nodes.length > 0) {
this.activeName = this.nodes[0].unitId + "";
listProjectDeptWroks2({
projectId: this.project.id,
}).then((d) => {
this.vform = d.rows[0];
});
}
2023-08-15 23:58:19 +08:00
});
2023-08-14 00:02:33 +08:00
},
2023-08-15 23:58:19 +08:00
},
2023-08-14 00:02:33 +08:00
};
</script>
2023-08-15 23:58:19 +08:00
<style lang="scss" scoped></style>