From 5d36d46434a7f4d23844dc94c34e7716eae172a8 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期三, 24 四月 2024 11:43:02 +0800
Subject: [PATCH] 员工信息 员工编号调整为不可修改
---
src/api/employeeSalary/salaryPlan.js | 42 ++++++++++
src/views/employeeSalary/salaryPlan/index.vue | 94 +++++++++++++++++++----
src/views/employeeManage/employeeInfo/components/AddEmployee.vue | 4
src/views/employeeSalary/attendanceStatistics/components/AttendanceStatisticsDetails.vue | 20 +++-
src/views/employeeSalary/salaryPlan/components/addDialog.vue | 52 +++----------
5 files changed, 147 insertions(+), 65 deletions(-)
diff --git a/src/api/employeeSalary/salaryPlan.js b/src/api/employeeSalary/salaryPlan.js
new file mode 100644
index 0000000..0754228
--- /dev/null
+++ b/src/api/employeeSalary/salaryPlan.js
@@ -0,0 +1,42 @@
+import request from "@/common/untils/request.js"
+
+// 钖祫鏂规鍒楄〃
+export function getSalaryPlanList(data) {
+ return request({
+ url: "/api-jl/v1/salary/getSalaryPlanList",
+ method: "post",
+ data
+ })
+}
+// 鍒犻櫎钖祫鏂规
+export function deleteSalaryPlanInfo(data) {
+ return request({
+ url: "/api-jl/v1/salary/deleteSalaryPlanInfo/"+data.id,
+ method: "delete",
+ data
+ })
+}
+//鑾峰彇钖祫绫诲瀷
+export function getSalaryTypeList(data) {
+ return request({
+ url: "/api-jl/v1/salary/getSalaryTypeList/"+data.number,
+ method: "get",
+ data
+ })
+}
+// 淇濆瓨钖祫绫诲瀷
+export function saveSalaryType(data) {
+ return request({
+ url: "/api-jl/v1/salary/saveSalaryType",
+ method: "post",
+ data
+ })
+}
+// 淇濆瓨钖祫鏂规
+export function saveSalaryPlan(data) {
+ return request({
+ url: "/api-jl/v1/salary/saveSalaryPlan",
+ method: "post",
+ data
+ })
+}
\ No newline at end of file
diff --git a/src/views/employeeManage/employeeInfo/components/AddEmployee.vue b/src/views/employeeManage/employeeInfo/components/AddEmployee.vue
index 7980c3a..4b00518 100644
--- a/src/views/employeeManage/employeeInfo/components/AddEmployee.vue
+++ b/src/views/employeeManage/employeeInfo/components/AddEmployee.vue
@@ -4,8 +4,8 @@
<div slot="title" class="tac drawerHeader">{{ editRow.title }}浜哄憳</div>
<div class="dialog-content-box">
<el-form class="form-box" ref="form" :rules="rules" :model="form" label-width="120px" label-position="right">
- <el-form-item label="鍛樺伐缂栫爜锛�" prop="id">
- <el-input v-model="form.id" placeholder="璇疯緭鍏�"></el-input>
+ <el-form-item label="鍛樺伐缂栫爜锛�" prop="id" >
+ <el-input v-model="form.id" placeholder="璇疯緭鍏�" :disabled="editRow.title=='缂栬緫'?true:false"></el-input>
</el-form-item>
<el-form-item label="浜哄憳濮撳悕锛�" prop="name">
<el-input v-model="form.name" placeholder="璇疯緭鍏�"></el-input>
diff --git a/src/views/employeeSalary/attendanceStatistics/components/AttendanceStatisticsDetails.vue b/src/views/employeeSalary/attendanceStatistics/components/AttendanceStatisticsDetails.vue
index 0e4ac96..40e89bd 100644
--- a/src/views/employeeSalary/attendanceStatistics/components/AttendanceStatisticsDetails.vue
+++ b/src/views/employeeSalary/attendanceStatistics/components/AttendanceStatisticsDetails.vue
@@ -29,7 +29,7 @@
<el-option v-for="item in attendanceStatusList" :key="item.id" :label="item.value" :value="item.id">
</el-option>
</el-select>
- <el-button type="text" @click="submitEditOneClick('form')">纭畾</el-button>
+ <el-button type="text" :loading="isAddloadingOne" @click="submitEditOneClick('form')">纭畾</el-button>
<el-button type="text" @click="cancelEditClick('isEditOne')">鍙栨秷</el-button>
</template>
</el-form-item>
@@ -62,7 +62,7 @@
placeholder="璇疯緭鍏�"
class="margin_right_15px"
></el-input>
- <el-button type="text" @click="submitEditTwoClick('form')">纭畾</el-button>
+ <el-button type="text" :loading="isAddloadingTwo" @click="submitEditTwoClick('form')">纭畾</el-button>
<el-button type="text" @click="cancelEditClick('isEditTwo')">鍙栨秷</el-button>
</template>
</el-form-item>
@@ -108,6 +108,8 @@
},
],
},
+ isAddloadingOne:false,
+ isAddloadingTwo:false,
};
},
created() {
@@ -152,13 +154,13 @@
this.isEditOne=true
},
submitEditOneClick(){
- this.submitForm('form','isEditOne')
+ this.submitForm('form','isEditOne','isAddloadingOne')
},
editTwoClick(){
this.isEditTwo=true
},
submitEditTwoClick(){
- this.submitForm('form','isEditTwo')
+ this.submitForm('form','isEditTwo','isAddloadingTwo')
},
formInfo() {
if (this.islook) {
@@ -198,7 +200,7 @@
this.islook = false;
this.$emit('shutdown')
},
- submitForm(formName,name) {
+ submitForm(formName,name,loading) {
this.$refs[formName].validate((valid) => {
if (valid) {
let form = JSON.parse(JSON.stringify(this.form));
@@ -216,6 +218,7 @@
workTypeId:form.workTypeId,
workerName:form.workerName,
}
+ this[loading]=true
updateAttendance(params).then((res) => {
if (res.code == 200) {
this.$message({
@@ -225,7 +228,12 @@
this[name]=false
this.cancelMethod();
}
- });
+ this[loading]=false
+ }).catch(() => {
+ setTimeout(() => {
+ this[loading]=false
+ }, 2000);
+ });
} else {
console.log('error submit!!');
return false;
diff --git a/src/views/employeeSalary/salaryPlan/components/addDialog.vue b/src/views/employeeSalary/salaryPlan/components/addDialog.vue
index 0959c77..45899f7 100644
--- a/src/views/employeeSalary/salaryPlan/components/addDialog.vue
+++ b/src/views/employeeSalary/salaryPlan/components/addDialog.vue
@@ -1,15 +1,15 @@
<template>
<div class="add_wordshop">
- <el-dialog :title="editConfig.dialogTitle + '杞﹂棿绠$悊'" :visible.sync="editConfig.visible" width="30%"
+ <el-dialog :title="form.title + '钖祫鏂规'" :visible.sync="islook" width="30%"
:before-close="handleClose">
- <el-form :inline="true" label-width="20%" style="width: 100%;" :model="editConfig.infomitton" :rules="rules"
- ref="ruleForm">
+ <el-form label-width="120px" style="width: 100%;" :model="form" :rules="rules"
+ ref="form">
<el-form-item label="鏂规鍚嶇О" style="width: 100%;" prop="groupNumber">
- <el-input v-model="editConfig.infomitton.workshop" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
+ <el-input v-model="form.workshop" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
</el-form-item>
<el-form-item prop="workshop" label="宸ョ" style="width: 100%;" >
<el-select
- :disabled="this.editConfig.dialogTitle==='鏌ョ湅'" v-model="editConfig.infomitton.workshop" value-key="name" placeholder="璇烽�夋嫨杞﹂棿">
+ v-model="form.workshop" value-key="name" placeholder="璇烽�夋嫨杞﹂棿">
<el-option
v-for="item in workshopList"
:key="item.ID"
@@ -20,7 +20,7 @@
</el-form-item>
<el-form-item prop="workshop" label="钖祫绫诲瀷" style="width: 100%;" >
<el-select
- :disabled="this.editConfig.dialogTitle==='鏌ョ湅'" v-model="editConfig.infomitton.groupNumber" value-key="name" placeholder="璇烽�夋嫨杞﹂棿">
+ v-model="form.groupNumber" value-key="name" placeholder="璇烽�夋嫨杞﹂棿">
<el-option
v-for="item in workshopList"
:key="item.ID"
@@ -34,13 +34,13 @@
type="textarea"
:autosize="{ minRows: 2, maxRows: 4}"
placeholder="璇疯緭鍏ュ唴瀹�"
- v-model="editConfig.infomitton.workshop">
+ v-model="form.workshop">
</el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
- <el-button @click="editConfig.visible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="commitForm('ruleForm')">纭� 瀹�</el-button>
+ <el-button type="cancel" @click="cancelMethod()">鍙栨秷</el-button>
+ <el-button type="primary" @click="commitForm('form')">纭� 瀹�</el-button>
</span>
</el-dialog>
</div>
@@ -50,25 +50,14 @@
// import {} from "@/api/systemSetting/workshopManage"
export default {
props: {
- editDiaConfig: {
+ editRow: {
type: Object,
- default: () => {
- return {
- visible: false,
- dialogTitle: "娣诲姞",
- isReadonly: true,
- infomitton: {
- },
- }
- }
}
},
data() {
return {
- editConfig: this.editDiaConfig,
+ form: {},
workshopList: [],
- carFlagList: [
- ],
rules: {
workshopNumber: [
{ required: true, message: '璇烽�夋嫨杞﹂棿', trigger: 'change' }
@@ -90,21 +79,7 @@
},
methods: {
- handleClose(done) {
- done();
- },
- setParams() {
- let params = {
- workshopNumber: this.editConfig.infomitton.workshopNumber + '',
- groupNumber: Number(this.editConfig.infomitton.groupNumber),
- startCarNumber: Number(this.editConfig.infomitton.startCarNumber),
- endCarNumber: Number(this.editConfig.infomitton.endCarNumber),
- carFlag: Number(this.editConfig.infomitton.carFlag),
- notes: this.editConfig.infomitton.notes,
- // id:Number(this.editConfig.infomitton.workshopId),
- }
- return params
- },
+
async commitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
@@ -117,9 +92,6 @@
}
- },
- components: {
-
},
};
</script>
diff --git a/src/views/employeeSalary/salaryPlan/index.vue b/src/views/employeeSalary/salaryPlan/index.vue
index 3dbae58..df91ded 100644
--- a/src/views/employeeSalary/salaryPlan/index.vue
+++ b/src/views/employeeSalary/salaryPlan/index.vue
@@ -17,9 +17,8 @@
<template slot="tableButton">
<el-table-column label="鎿嶄綔" width="180">
<template slot-scope="scope">
- <el-button @click.stop="handleClick(scope.row, '鏌ョ湅')" type="text" size="small">鏌ョ湅</el-button>
- <el-button @click.stop="handleClick(scope.row, '淇敼')" type="text" size="small">淇敼</el-button>
- <el-button @click.stop="handleClick(scope.row, '鍒犻櫎')" type="text" size="small">鍒犻櫎</el-button>
+ <el-button @click.stop="handleClick(scope.row)" type="text" size="small">淇敼</el-button>
+ <el-button @click.stop="delClick(scope.row)" type="text" size="small">鍒犻櫎</el-button>
</template>
</el-table-column>
@@ -27,7 +26,7 @@
</TableCommonView>
</div>
<AddDialog
- :editDiaConfig="editConfig"
+ ref="add" :editRow="editRow" @refresh="refresh"
/>
<div class="btn-pager">
<PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
@@ -39,6 +38,7 @@
<script>
import AddDialog from "@/views/employeeSalary/salaryPlan/components/addDialog.vue"
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
+import { getSalaryPlanList, deleteSalaryPlanInfo } from "@/api/employeeSalary/salaryPlan.js"
export default {
name: "salaryPlan",
props: {},
@@ -55,24 +55,17 @@
{ label: "宸ョ", prop: "groupNumber",min:100 },
{ label: "钖祫绫诲瀷", prop: "startCarNumber",min:110 },
{ label: "璁¤垂鍛ㄦ湡", prop: "endCarNumber",min:110 },
- { label: "璁¤垂鍏紡瀹氫箟", prop: "carFlag", },
+ { label: "璁¤垂鍏紡瀹氫箟", prop: "carFlag",min:140 },
{ label: "娣诲姞鏃堕棿", prop: "notes",min:130 },
{ label: "娣诲姞浜�", prop: "notes",min:110 },
],
- editConfig:{
- visible:false,
- infomitton:{
- TabsIndex:0,
- workshopId:null,
- }
- },
- getDataParams: {
- keyWord: '',
- },
+ keyword: '',
+ editRow:{},
}
},
created() {
this.setTable()
+ this.getData(this.keyword)
},
methods: {
setTable() {
@@ -107,6 +100,34 @@
this.showcol = val
this.tableList.tableColumn = this.setColumnVisible(val, this.tableColumn)
},
+ // 璇锋眰鏁版嵁
+ async getData() {
+ this.loading = true
+ await getSalaryPlanList({
+ keyword: this.keyword,
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ if (res.data) {
+ const list = res.data
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.total
+ } else {
+ this.tableList.tableInfomation = []
+ }
+ } else {
+ this.tableList.tableInfomation = []
+ }
+ this.loading = false
+ })
+ .catch((err) => {
+ console.log(err)
+ this.tableList.tableInfomation = []
+ this.loading = false
+ })
+ },
// 鏂板
addBtnClick() {
this.editConfig.infomitton={}
@@ -115,13 +136,52 @@
},
// 鎼滅储
onFilterSearch(searchText) {
- this.getDataParams.keyWord = searchText,
- this.getData()
+ this.keyword= searchText,
+ this.pagerOptions.currPage = 1
+ this.getData()
+ },
+ refresh(){
+ this.getData()
},
// 琛ㄦ牸琛岀偣鍑�
tableRowClick(row) {
console.log(row, "row")
},
+ // 缂栬緫
+ handleClick(row) {
+ let config=JSON.parse(JSON.stringify(row));
+ this.editRow = { ...config,
+ title:'缂栬緫',
+ type:'edit',
+ shopNameObj:{
+ value:config.shopId,
+ label:config.shopName,
+ },
+ workTypeObj:{
+ value:config.workTypeId,
+ label:config.workType,
+ }
+ }
+ this.$refs.add.islook = true;
+ },
+ // 鍒犻櫎
+ delClick(row) {
+ this.$confirm("鏄惁纭鍒犻櫎?", "璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ })
+ .then(() => {
+ deleteSalaryPlanInfo({ id: row.id }).then((response) => {
+ if (response.code === 200) {
+ this.$message.success("鍒犻櫎鎴愬姛")
+ this.getData()
+ }
+ })
+ })
+ .catch(() => {})
+ },
+
}
}
</script>
--
Gitblit v1.8.0