From c8435fd9afcf1e211c38fa9848a8d27c2d989f04 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期一, 22 四月 2024 15:54:36 +0800
Subject: [PATCH] 工种管理 列表的接口联调+删除工种的接口联调+添加工种,编辑工种 2个接口联调
---
src/api/employeeManage/employeeInfo.js | 51 +++++--
src/common/untils/request.js | 2
src/views/employeeManage/employeeInfo/index.vue | 18 ++
src/views/employeeManage/employeeInfo/components/AddEmployee.vue | 126 ++++++++++++++++----
src/views/employeeManage/workKindManage/components/AddWorkKind.vue | 70 ++++------
src/views/employeeManage/workKindManage/index.vue | 52 ++++----
6 files changed, 205 insertions(+), 114 deletions(-)
diff --git a/src/api/employeeManage/employeeInfo.js b/src/api/employeeManage/employeeInfo.js
index 090b173..6aa6388 100644
--- a/src/api/employeeManage/employeeInfo.js
+++ b/src/api/employeeManage/employeeInfo.js
@@ -8,14 +8,7 @@
data
})
}
-// 娣诲姞璺熻繘璁板綍
-export function getAddFollowRecord(data) {
- return request({
- url: "/api/followRecord/add",
- method: "post",
- data
- })
-}
+
// 鍒犻櫎鍛樺伐淇℃伅
export function getDeleteWorkerInfo(data) {
return request({
@@ -24,19 +17,43 @@
data
})
}
-// 鏇存柊璺熻繘璁板綍
-export function getUpdateFollowRecord(data) {
+// 娣诲姞鍛樺伐
+export function createWorkerInfo(data) {
return request({
- url: "/api/followRecord/update",
- method: "put",
+ url: "/api-jl/v1/worker/createWorkerInfo",
+ method: "post",
data
})
}
-
-// 鑱旂郴鏂瑰紡鍒楄〃
-export function getContactInfoList() {
+// 鏇存柊鍛樺伐
+export function updateWorkerInfo(data) {
return request({
- url: "/api/contactInformation/list",
- method: "get"
+ url: "/api-jl/v1/worker/updateWorkerInfo",
+ method: "post",
+ data
})
}
+// 宸ョ鍒楄〃
+export function getWorkTypeList(data) {
+ return request({
+ url: "/api-jl/v1/worker/getWorkTypeList",
+ method: "post",
+ data
+ })
+}
+// 鍒犻櫎宸ョ
+export function deleteWorkTypeInfo(data) {
+ return request({
+ url: "/api-jl/v1/worker/deleteWorkTypeInfo/"+data.id,
+ method: "delete",
+ data
+ })
+}
+// 娣诲姞宸ョ
+export function saveWorkTypeInfo(data) {
+ return request({
+ url: "/api-jl/v1/worker/saveWorkTypeInfo",
+ method: "post",
+ data
+ })
+}
\ No newline at end of file
diff --git a/src/common/untils/request.js b/src/common/untils/request.js
index 3c3e22c..d7bddfd 100644
--- a/src/common/untils/request.js
+++ b/src/common/untils/request.js
@@ -21,7 +21,7 @@
"$1",
);
// 鏆傛棤鐧诲綍锛屽啓姝籺oken
- token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOiI3NjFlM2NmNi05ZjRmLTQyMGQtYjc0ZC01NzNlZDc2NzA5MjAiLCJVc2VybmFtZSI6ImFkbWluIiwiTmlja05hbWUiOiIiLCJQYXJlbnRJZCI6ImFkbWluIiwiVXNlclR5cGUiOjIsIlJvbGVJZHMiOlsxXSwiT3JnSUQiOjEsIk1vZGlmaWVkUHdkIjp0cnVlLCJCdWZmZXJUaW1lIjo4NjQwMCwiZXhwIjoxNzEyNzI4MzI5LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE3MTIxMjI1Mjl9.KBJRT2PkRPG4UJD2hsO-fU_bylHMJ78xrWidq8xYMnw'
+ // token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOiI3NjFlM2NmNi05ZjRmLTQyMGQtYjc0ZC01NzNlZDc2NzA5MjAiLCJVc2VybmFtZSI6ImFkbWluIiwiTmlja05hbWUiOiIiLCJQYXJlbnRJZCI6ImFkbWluIiwiVXNlclR5cGUiOjIsIlJvbGVJZHMiOlsxXSwiT3JnSUQiOjEsIk1vZGlmaWVkUHdkIjp0cnVlLCJCdWZmZXJUaW1lIjo4NjQwMCwiZXhwIjoxNzEyNzI4MzI5LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE3MTIxMjI1Mjl9.KBJRT2PkRPG4UJD2hsO-fU_bylHMJ78xrWidq8xYMnw'
if (token) {
config.headers.Authorization = "Bearer " + token;
}
diff --git a/src/views/employeeManage/employeeInfo/components/AddEmployee.vue b/src/views/employeeManage/employeeInfo/components/AddEmployee.vue
index d5d9149..cc662c9 100644
--- a/src/views/employeeManage/employeeInfo/components/AddEmployee.vue
+++ b/src/views/employeeManage/employeeInfo/components/AddEmployee.vue
@@ -13,26 +13,29 @@
<el-form-item label="鎵嬫満鍙凤細" prop="phoneNum">
<el-input v-model="form.phoneNum" placeholder="璇疯緭鍏�" maxlength="11" show-word-limit></el-input>
</el-form-item>
- <el-form-item label="鍏ヨ亴鏃堕棿锛�" prop="date">
- <el-date-picker v-model="form.date" style="width:100%;" type="date" placeholder="閫夋嫨鏃ユ湡"
+ <el-form-item label="鍏ヨ亴鏃堕棿锛�" prop="employmentTime">
+ <el-date-picker v-model="form.employmentTime" style="width:100%;" type="date" placeholder="閫夋嫨鏃ユ湡"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
- <el-form-item label="杞﹂棿锛�" prop="phoneNum">
- <el-select v-model="form.phoneNum" filterable placeholder="璇烽�夋嫨" style="width: 100%">
- <el-option v-for="item in DeviceList" :key="item.id" :label="item.name" :value="item.id">
+ <el-form-item label="杞﹂棿锛�" prop="shopNameObj">
+ <el-select v-model="form.shopNameObj" filterable placeholder="璇烽�夋嫨" style="width: 100%" @change='getGroupNumber'>
+ <el-option v-for="item in shopList" :key="item.number"
+ :label="item.name"
+ :value="{ value: item.number, label: item.name }">
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="缁勫埆锛�" prop="phoneNum">
- <el-select v-model="form.phoneNum" filterable placeholder="璇烽�夋嫨" style="width: 100%">
- <el-option v-for="item in DeviceList" :key="item.id" :label="item.name" :value="item.id">
+ <el-form-item label="缁勫埆锛�" prop="groupNumber">
+ <el-select v-model="form.groupNumber" filterable placeholder="璇烽�夋嫨" style="width: 100%">
+ <el-option v-for="item in groupNumberList" :key="item" :label="item" :value="item">
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="宸ョ锛�" prop="phoneNum">
- <el-select v-model="form.phoneNum" filterable placeholder="璇烽�夋嫨" style="width: 100%">
- <el-option v-for="item in DeviceList" :key="item.id" :label="item.name" :value="item.id">
+ <el-form-item label="宸ョ锛�" prop="workTypeObj">
+ <el-select v-model="form.workTypeObj" filterable placeholder="璇烽�夋嫨" style="width: 100%">
+ <el-option v-for="item in workTypeList" :key="item.id" :label="item.name"
+ :value="{ value: item.id, label: item.name }">
</el-option>
</el-select>
</el-form-item>
@@ -46,7 +49,14 @@
</template>
<script>
-import { getDeleteFollowRecord } from "@/api/employeeManage/employeeInfo.js"
+
+import { createWorkerInfo,updateWorkerInfo,getWorkTypeList } from "@/api/employeeManage/employeeInfo.js"
+import {
+ getDictList,
+} from "@/api/productManage/silkRegisterForm.js";
+import {
+ getWorkshopManageGroup,
+} from "@/api/productManage/productRegisterForm.js";
export default {
props: {
editRow: {
@@ -60,7 +70,14 @@
id: '',
name: '',
phoneNum: '',
+ employmentTime:'',
+ shopNameObj:{},
+ groupNumber:'',
+ workTypeObj:{},
},
+ shopList:[],//杞﹂棿
+ groupNumberList:[],//缁勫埆
+ workTypeList:[], //宸ョ
rules: {
id: [
{
@@ -91,10 +108,10 @@
},
],
},
- DeviceList: [],
};
},
created() {
+ this.getSelectDataList()
},
watch: {
islook(newVal) {
@@ -110,50 +127,105 @@
formInfo() {
if (this.islook) {
this.form = {
- explain: "",
- prefixId: "",
- id: "",
- number: 0,
- remark: "",
- status: "",
- frockLife: "",
- frockName: "",
- vendor: "",
+ id: '',
+ name: '',
+ phoneNum: '',
+ employmentTime:'',
+ shopNameObj:{},
+ groupNumber:'',
+ workTypeObj:{},
};
this.$nextTick(()=>{
this.$refs["form"].resetFields();
if (this.editRow.id) {
this.form = JSON.parse(JSON.stringify(this.editRow));
+ this.getGroupNumber(true)
}
})
}
},
- cancelMethod() {
+ getGroupNumber(val){
+ // shopName
+ if(this.form.shopNameObj.value){
+ //缁勫埆
+ getWorkshopManageGroup({number:this.form.shopNameObj.value}).then((res) => {
+ if (res.code == 200) {
+ let groupNumberList = res.data || {};
+ this.groupNumberList=[]
+ if(Object.keys(groupNumberList).length>0){
+ for(let i in groupNumberList){
+ this.groupNumberList.push(groupNumberList[i])
+ }
+ this.form.shopName=''
+ // 缂栬緫
+ if(val){
+ setTimeout(()=>{
+ this.$set(this.form,'shopName',this.form.shopName)
+ },200)
+ }
+ }
+ }else{
+ this.groupNumberList=[]
+ this.form.shopName=''
+ }
+ });
+ }else{
+ this.workshopGroupList =[]
+ }
+ },
+ getSelectDataList() {
+ //杞﹂棿
+ getDictList({
+ dictType: 1,
+ }).then((res) => {
+ if (res.code == 200) {
+ this.shopList = res.data || [];
+ }
+ });
+ getWorkTypeList({
+ page:0,
+ pageSize:0,
+ keyWord:''
+ }).then((res) => {
+ if (res.code == 200) {
+ this.workTypeList = res.data || [];
+ }
+ });
+ },
+ cancelMethod(val) {
this.$refs["form"].resetFields();
this.islook = false;
+ if(val){
+ this.$emit('refresh')
+ }
+
},
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let form = JSON.parse(JSON.stringify(this.form));
+ form.shopId=form.shopNameObj.value
+ form.shopName=form.shopNameObj.label
+ form.workTypeId=form.workTypeObj.value
+ form.workType=form.workTypeObj.label
if (this.editRow.type == "add") {
- getDeleteFollowRecord(form).then((res) => {
+ createWorkerInfo(form).then((res) => {
if (res.code == 200) {
this.$message({
message: "娣诲姞鎴愬姛锛�",
type: "success",
});
- this.cancelMethod();
+ this.cancelMethod(true);
}
});
} else {
- getDeleteFollowRecord(form).then((res) => {
+ updateWorkerInfo(form).then((res) => {
if (res.code == 200) {
this.$message({
message: "缂栬緫鎴愬姛锛�",
type: "success",
});
- this.cancelMethod();
+ this.cancelMethod(true);
}
});
}
diff --git a/src/views/employeeManage/employeeInfo/index.vue b/src/views/employeeManage/employeeInfo/index.vue
index 706a4ef..ef3ae38 100644
--- a/src/views/employeeManage/employeeInfo/index.vue
+++ b/src/views/employeeManage/employeeInfo/index.vue
@@ -41,7 +41,7 @@
</div>
</div>
</div>
- <AddEmployee ref="addEmployee" :editRow="editRow" @shutdown="shutdown" />
+ <AddEmployee ref="addEmployee" :editRow="editRow" @refresh="shutdown" />
</div>
</template>
@@ -136,7 +136,7 @@
if (res.data) {
const list = res.data
this.tableList.tableInfomation = list || []
- this.pagerOptions.totalCount = res.count
+ this.pagerOptions.totalCount = res.total
} else {
this.tableList.tableInfomation = []
}
@@ -158,6 +158,7 @@
this.getData()
},
shutdown() {
+ this.pagerOptions.currPage = 1
this.getData();
},
// 鏂板缓
@@ -168,7 +169,18 @@
// 缂栬緫
handleClick(row) {
let config=JSON.parse(JSON.stringify(row));
- this.editRow = { ...config, title:'缂栬緫',type:'add' }
+ this.editRow = { ...config,
+ title:'缂栬緫',
+ type:'edit',
+ shopNameObj:{
+ value:config.shopId,
+ label:config.shopName,
+ },
+ workTypeObj:{
+ value:config.workTypeId,
+ label:config.workType,
+ }
+ }
this.$refs.addEmployee.islook = true;
},
// 鍒犻櫎
diff --git a/src/views/employeeManage/workKindManage/components/AddWorkKind.vue b/src/views/employeeManage/workKindManage/components/AddWorkKind.vue
index 8646b88..ef0760f 100644
--- a/src/views/employeeManage/workKindManage/components/AddWorkKind.vue
+++ b/src/views/employeeManage/workKindManage/components/AddWorkKind.vue
@@ -4,20 +4,20 @@
<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="workName">
+ <el-input v-model="form.workName" placeholder="璇疯緭鍏�"></el-input>
</el-form-item>
- <el-form-item label="涓嶈揪鏍囦繚搴曪細" prop="isCore">
+ <el-form-item label="涓嶈揪鏍囦繚搴曪細" prop="isGuaranteed">
<el-switch
- v-model="form.isCore"
+ v-model="form.isGuaranteed"
active-color="#409EFF"
inactive-color="#C0CCDA"
>
</el-switch>
</el-form-item>
- <el-form-item label="淇濆簳宸ヨ祫锛�" prop="produceAheadDay">
+ <el-form-item label="淇濆簳宸ヨ祫锛�" prop="guaranteedWages">
<el-input
- v-model.number="form.produceAheadDay"
+ v-model.number="form.guaranteedWages"
maxlength="20"
style="width: calc(100% - 40px)"
clearable
@@ -25,8 +25,8 @@
></el-input>
<span class="float_right">鍏�/澶�</span>
</el-form-item>
- <el-form-item label="钖祫鏂规锛�" prop="name">
- 鎸¤溅宸ョ敓浜у伐璧勬柟妗�+婊″嫟鏂规+宸ラ緞琛ヨ创鏂规
+ <el-form-item label="钖祫鏂规锛�" prop="salaryPlansName">
+ {{ form.salaryPlansName }}
</el-form-item>
</el-form>
</div>
@@ -38,7 +38,7 @@
</template>
<script>
-import { getDeleteFollowRecord } from "@/api/employeeManage/employeeInfo.js"
+import { saveWorkTypeInfo } from "@/api/employeeManage/employeeInfo.js"
export default {
props: {
editRow: {
@@ -49,26 +49,20 @@
return {
islook: false,
form: {
- id: '',
- isCore: '',
- phoneNum: '',
+ workName: '',
+ isGuaranteed: true,
+ guaranteedWages: null,
+ salaryPlansName:'',
},
rules: {
- id: [
+ workName: [
{
required: true,
- message: "璇疯緭鍏ヤ汉鍛樺鍚�",
+ message: "璇疯緭鍏�",
trigger: ["blur", "change"],
},
],
- name: [
- {
- required: true,
- message: "璇疯緭鍏ュ憳宸ョ紪鐮�",
- trigger: ["blur", "change"],
- },
- ],
- produceAheadDay: [
+ guaranteedWages: [
{
required: false,
message: "璇疯緭鍏�",
@@ -99,12 +93,14 @@
formInfo() {
if (this.islook) {
this.form = {
- isCore: "",
- id: "",
+ workName: '',
+ isGuaranteed: true,
+ guaranteedWages: null,
+ salaryPlansName:'',
};
this.$nextTick(()=>{
this.$refs["form"].resetFields();
- if (this.editRow.id) {
+ if (this.editRow.type=='edit') {
this.form = JSON.parse(JSON.stringify(this.editRow));
}
})
@@ -126,35 +122,27 @@
callback();
}
},
- cancelMethod() {
+ cancelMethod(val) {
this.$refs["form"].resetFields();
this.islook = false;
+ if(val){
+ this.$emit('refresh')
+ }
},
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let form = JSON.parse(JSON.stringify(this.form));
- if (this.editRow.type == "add") {
- getDeleteFollowRecord(form).then((res) => {
+ saveWorkTypeInfo(form).then((res) => {
if (res.code == 200) {
this.$message({
- message: "娣诲姞鎴愬姛锛�",
+ message: this.editRow.type == "add"?"娣诲姞鎴愬姛锛�":"缂栬緫鎴愬姛锛�",
type: "success",
});
- this.cancelMethod();
+ this.cancelMethod(true);
}
});
- } else {
- getDeleteFollowRecord(form).then((res) => {
- if (res.code == 200) {
- this.$message({
- message: "缂栬緫鎴愬姛锛�",
- type: "success",
- });
- this.cancelMethod();
- }
- });
- }
+
} else {
console.log('error submit!!');
return false;
diff --git a/src/views/employeeManage/workKindManage/index.vue b/src/views/employeeManage/workKindManage/index.vue
index e3c2390..614c384 100644
--- a/src/views/employeeManage/workKindManage/index.vue
+++ b/src/views/employeeManage/workKindManage/index.vue
@@ -30,7 +30,7 @@
<el-table-column label="鎿嶄綔" width="90" fixed="right">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">缂栬緫</el-button>
- <el-button @click="delClick(scope.row.id)" type="text" size="small">鍒犻櫎</el-button>
+ <el-button @click="delClick(scope.row)" type="text" size="small">鍒犻櫎</el-button>
</template>
</el-table-column>
</template>
@@ -41,12 +41,12 @@
</div>
</div>
</div>
- <AddWorkKind ref="addWorkKind" :editRow="editRow" @shutdown="shutdown" />
+ <AddWorkKind ref="addWorkKind" :editRow="editRow" @refresh="shutdown" />
</div>
</template>
<script>
-import { getFollowRecordList, getDeleteFollowRecord } from "@/api/employeeManage/employeeInfo.js"
+import { getWorkTypeList, deleteWorkTypeInfo } from "@/api/employeeManage/employeeInfo.js"
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
import AddWorkKind from "@/views/employeeManage/workKindManage/components/AddWorkKind"
export default {
@@ -65,13 +65,13 @@
editRow: {
title: "鏂板缓",
},
- search_map: {},
+ keyWord: '',
tableColumn: [
- { label: "宸ョ鍚嶇О", prop: "topic", min: 120, default: true }, // 涓婚
- { label: "淇濆簳宸ヨ祫(鍏�/澶�)", prop: "client_name", min: 180, }, // 瀹㈡埛鍚嶇О
- { label: "钖祫鏂规", prop: "contact_name", min: 130, }, // 鑱旂郴浜哄鍚�
- { label: "娣诲姞鏃堕棿", prop: "client_status", width: 130 }, // 瀹㈡埛鐘舵��
- { label: "娣诲姞浜�", prop: "contact_information_name", min: 100 }, // 鑱旂郴鏂瑰紡
+ { label: "宸ョ鍚嶇О", prop: "workName", min: 120, default: true }, // 涓婚
+ { label: "淇濆簳宸ヨ祫(鍏�/澶�)", prop: "guaranteedWages", min: 180, }, // 瀹㈡埛鍚嶇О
+ { label: "钖祫鏂规", prop: "salaryPlansName", min: 130, }, // 鑱旂郴浜哄鍚�
+ { label: "娣诲姞鏃堕棿", prop: "createTime", width: 130 }, // 瀹㈡埛鐘舵��
+ { label: "娣诲姞浜�", prop: "addPeople", min: 100 }, // 鑱旂郴鏂瑰紡
],
showCol: [
"宸ョ鍚嶇О",
@@ -84,7 +84,7 @@
},
created() {
this.setTable()
- this.getData(this.search_map)
+ this.getData(this.keyWord)
},
computed: {
},
@@ -120,28 +120,29 @@
// 璇锋眰鏁版嵁
async getData() {
this.loading = true
- await getFollowRecordList({
- search_map: this.search_map,
+ await getWorkTypeList({
+ keyWord: this.keyWord,
page: this.pagerOptions.currPage,
pageSize: this.pagerOptions.pageSize
})
.then((res) => {
console.log(res)
if (res.code === 200) {
- if (res.data.list && res.data.list.length > 0) {
- const list = res.data.list.map((item) => {
+ if (res.data && res.data.length > 0) {
+ const list = res.data.map((item) => {
+ let salaryPlansName=''
+ if(item.salaryPlans){
+ for(let i in item.$confirmsalaryPlans){
+ salaryPlansName=salaryPlansName+'+'+item.salaryPlans[i].name
+ }
+ }
return {
...item,
- client_name: item.client.name,
- contact_name: item.contact.name,
- client_status: item.client_status.name,
- phone: item.contact.phone,
- member_name: item.member.username,
- contact_information_name: item.contact_information.name
+ salaryPlansName:salaryPlansName,
}
})
this.tableList.tableInfomation = list || []
- this.pagerOptions.totalCount = res.data.count
+ this.pagerOptions.totalCount = res.total
} else {
this.tableList.tableInfomation = []
}
@@ -158,11 +159,12 @@
},
// 鎼滅储
onFilterSearch(searchText) {
- this.search_map.client_name = searchText ?? ""
+ this.keyWord = searchText ?? ""
this.pagerOptions.currPage = 1
this.getData()
},
shutdown() {
+ this.pagerOptions.currPage = 1
this.getData();
},
// 鏂板缓
@@ -173,18 +175,18 @@
// 缂栬緫
handleClick(row) {
let config=JSON.parse(JSON.stringify(row));
- this.editRow = { ...config, title:'缂栬緫',type:'add' }
+ this.editRow = { ...config, title:'缂栬緫',type:'edit',id:row.ID, }
this.$refs.addWorkKind.islook = true;
},
// 鍒犻櫎
- delClick(id) {
+ delClick(row) {
this.$confirm("鏄惁纭鍒犻櫎?", "璀﹀憡", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
type: "warning"
})
.then(() => {
- getDeleteFollowRecord({ ids: [id] }).then((response) => {
+ deleteWorkTypeInfo({ id: row.ID }).then((response) => {
if (response.code === 200) {
this.$message.success("鍒犻櫎鎴愬姛")
this.getData()
--
Gitblit v1.8.0