From bcb82edd902b2e45c8da004cbf86e203ea496fa8 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期二, 23 四月 2024 15:02:23 +0800 Subject: [PATCH] 机台管理模块 修改员工为下拉搜索的交互样式+列表联调+添加机台联调+编辑机台联调+ --- src/api/productManage/silkRegisterForm.js | 2 src/views/employeeSalary/apprenticeshipManage/components/addDialog.vue | 8 + src/views/employeeSalary/machineManage/index.vue | 134 +++++++++++++++++++++++++-------- src/api/employeeSalary/machineManage.js | 34 ++++++++ src/api/systemSetting/workshopManage.js | 4 src/views/employeeManage/employeeInfo/components/AddEmployee.vue | 24 +++--- src/views/employeeSalary/apprenticeshipManage/index.vue | 2 7 files changed, 155 insertions(+), 53 deletions(-) diff --git a/src/api/employeeSalary/machineManage.js b/src/api/employeeSalary/machineManage.js new file mode 100644 index 0000000..71d4fb9 --- /dev/null +++ b/src/api/employeeSalary/machineManage.js @@ -0,0 +1,34 @@ +import request from "@/common/untils/request.js" + +// 鏈哄彴鍒楄〃 +export function getWorkerPositionList(data) { + return request({ + url: "/api-jl/v1/workerPosition/getWorkerPositionList", + method: "post", + data + }) +} +// 鍒犻櫎鏈哄彴 +export function deleteWorkerPositionInfo(data) { + return request({ + url: "/api-jl/v1/workerPosition/deleteWorkerPositionInfo/"+data.id, + method: "delete", + data + }) +} +// 娣诲姞鏈哄彴 +export function createWorkerPositionInfo(data) { + return request({ + url: "/api-jl/v1/workerPosition/createWorkerPositionInfo", + method: "post", + data + }) +} +// 鏇存柊鏈哄彴 +export function updateWorkerPositionInfo(data) { + return request({ + url: "/api-jl/v1/workerPosition/updateWorkerPositionInfo", + method: "post", + data + }) +} \ No newline at end of file diff --git a/src/api/productManage/silkRegisterForm.js b/src/api/productManage/silkRegisterForm.js index e687d4a..093d698 100644 --- a/src/api/productManage/silkRegisterForm.js +++ b/src/api/productManage/silkRegisterForm.js @@ -44,7 +44,7 @@ export function getWorkshopManageList(data) { return request({ url: "/api-jl/v1/system/getWorkshopManageList", - method: "get", + method: "post", data }) } diff --git a/src/api/systemSetting/workshopManage.js b/src/api/systemSetting/workshopManage.js index 8faffae..3e13e70 100644 --- a/src/api/systemSetting/workshopManage.js +++ b/src/api/systemSetting/workshopManage.js @@ -3,8 +3,8 @@ // 杞﹂棿鍒楄〃 export function getWorkshopManageList(data) { return request({ - url: "/api-jl/v1/system/getWorkshopManageList?page="+ data.page+"&pageSize="+data.pageSize+"&keyWord="+data.keyWord, - method: "get", + url: "/api-jl/v1/system/getWorkshopManageList", + method: "post", data }) } diff --git a/src/views/employeeManage/employeeInfo/components/AddEmployee.vue b/src/views/employeeManage/employeeInfo/components/AddEmployee.vue index 8583b95..576d73c 100644 --- a/src/views/employeeManage/employeeInfo/components/AddEmployee.vue +++ b/src/views/employeeManage/employeeInfo/components/AddEmployee.vue @@ -19,7 +19,7 @@ </el-date-picker> </el-form-item> <el-form-item label="杞﹂棿锛�" prop="shopNameObj"> - <el-select v-model="form.shopNameObj" filterable placeholder="璇烽�夋嫨" style="width: 100%" @change='getGroupNumber'> + <el-select v-model="form.shopNameObj" filterable placeholder="璇烽�夋嫨" style="width: 100%" @change="getGroupNumber(false,'shopNameObj')"> <el-option v-for="item in shopList" :key="item.number" :label="item.name" :value="{ value: item.number, label: item.name }"> @@ -27,7 +27,10 @@ </el-select> </el-form-item> <el-form-item label="缁勫埆锛�" prop="groupNumber"> - <el-select v-model="form.groupNumber" filterable placeholder="璇烽�夋嫨" style="width: 100%"> + <el-select v-model="form.groupNumber" filterable + placeholder="璇峰厛閫夋嫨杞﹂棿" + no-data-text="璇峰厛閫夋嫨杞﹂棿" + style="width: 100%"> <el-option v-for="item in groupNumberList" :key="item" :label="item" :value="item"> </el-option> </el-select> @@ -144,7 +147,10 @@ }) } }, - getGroupNumber(val){ + getGroupNumber(val,name){ + if (name == "shopNameObj") { + this.form.groupNumber='' + } // shopName if(this.form.shopNameObj.value){ //缁勫埆 @@ -156,21 +162,15 @@ 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='' + this.form.groupNumber='' } }); }else{ - this.workshopGroupList =[] + this.groupNumberList =[] } }, getSelectDataList() { diff --git a/src/views/employeeSalary/apprenticeshipManage/components/addDialog.vue b/src/views/employeeSalary/apprenticeshipManage/components/addDialog.vue index 0cdae53..f3bafa5 100644 --- a/src/views/employeeSalary/apprenticeshipManage/components/addDialog.vue +++ b/src/views/employeeSalary/apprenticeshipManage/components/addDialog.vue @@ -2,7 +2,7 @@ <div class="add_wordshop"> <el-dialog :visible.sync="islook" - width="40rem" + width="38rem" @close="cancelMethod"> <div slot="title" class="tac drawerHeader">{{ editRow.title }}浜哄憳</div> <el-form label-position="right" label-width="120px" style="width: 100%;" :model="form" :rules="rules" ref="form" > @@ -187,8 +187,10 @@ </script> <style scoped lang="scss"> -::v-deep .el-form-item__content{ - width: 70% !important; +.el-form{ + margin-bottom:50px; + width:94%; + margin: 0 auto; } ::v-deep{ .el-form{ diff --git a/src/views/employeeSalary/apprenticeshipManage/index.vue b/src/views/employeeSalary/apprenticeshipManage/index.vue index 7380815..0cedec9 100644 --- a/src/views/employeeSalary/apprenticeshipManage/index.vue +++ b/src/views/employeeSalary/apprenticeshipManage/index.vue @@ -4,7 +4,7 @@ <CommonSearch ref="searchRef" :show-add="false" :amount-view="false" placeholder="璇疯緭鍏ュ叧閿瘝" @searchClick="onFilterSearch"> <template slot="leftButton"> <el-button size="small" type="primary" @click="addBtnClick" >鏂板</el-button> - <el-button size="small" type="primary" @click="exportClick">瀵煎叆</el-button> + <!-- <el-button size="small" type="primary" @click="exportClick">瀵煎叆</el-button> --> </template> </CommonSearch> </div> diff --git a/src/views/employeeSalary/machineManage/index.vue b/src/views/employeeSalary/machineManage/index.vue index 69fc85b..f3099c5 100644 --- a/src/views/employeeSalary/machineManage/index.vue +++ b/src/views/employeeSalary/machineManage/index.vue @@ -4,8 +4,7 @@ <CommonSearch ref="searchRef" :show-add="false" :amount-view="false" placeholder="璇疯緭鍏ュ叧閿瘝" @searchClick="onFilterSearch"> <template slot="leftButton"> <el-button size="small" type="primary" @click="addBtnClick" >鏂板</el-button> - <el-button size="small" type="primary" @click="refreshClick">鍒锋柊</el-button> - <el-button size="small" type="primary" @click="printClick">鎵撳嵃</el-button> + <!-- <el-button size="small" type="primary" @click="exportClick">瀵煎叆</el-button> --> </template> </CommonSearch> </div> @@ -14,15 +13,13 @@ <TableCommonView :table-list="tableList" @selTableCol="selTableCol" - @handleShow="handleShow" @tableRowClick="tableRowClick" > <template slot="tableButton"> - <el-table-column label="鎿嶄綔" width="180"> + <el-table-column label="鎿嶄綔" width="160" fixed='right'> <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="delClick(scope.row)" type="text" size="small">鍒犻櫎</el-button> </template> </el-table-column> @@ -30,7 +27,8 @@ </TableCommonView> </div> <AddDialog - :editDiaConfig="editConfig" + ref="add" + :editRow="editRow" @refresh="refreshClick" /> <div class="btn-pager"> <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> @@ -40,8 +38,11 @@ </template> <script> +import { getWorkerPositionList, deleteWorkerPositionInfo } from "@/api/employeeSalary/machineManage.js" import AddDialog from "@/views/employeeSalary/machineManage/components/addDialog.vue" import pageMixin from "@/components/makepager/pager/mixin/pageMixin" +import Date from "@/api/date"; +const { formatDate2 } = Date; export default { name: "machineManage", props: {}, @@ -51,23 +52,20 @@ data() { return { tableList: {}, - showCol: ["杞﹂棿", "缁勫埆", "寮�濮嬭溅鍙�", "缁撴潫杞﹀彿", "鍗婅溅鏍囧織", "澶囨敞"], + showCol: ["鏃ユ湡", "宸ョ", "鍛樺伐缂栫爜", "鍛樺伐濮撳悕", "杞﹂棿", "缁勫埆", "鏈哄彴鍙�", "娣诲姞鏃堕棿", "娣诲姞浜�"], tableColumn: [ - // { label: "杞﹂棿", prop: "workshopNumber",iconRight:"el-icon-setting"}, - { label: "杞﹂棿", prop: "workshopNumber",}, - { label: "缁勫埆", prop: "groupNumber", }, - { label: "寮�濮嬭溅鍙�", prop: "startCarNumber" }, - { label: "缁撴潫杞﹀彿", prop: "endCarNumber" }, - { label: "鍗婅溅鏍囧織", prop: "carFlag",isCallMethod: true, getCallMethod: this.getStatusCarFlag }, - { label: "澶囨敞", prop: "notes", }, + { label: "鏃ユ湡", prop: "date",min:180}, + { label: "宸ョ", prop: "workType",min:110 }, + { label: "鍛樺伐缂栫爜", prop: "workerId",min:110 }, + { label: "鍛樺伐濮撳悕", prop: "name",min:110 }, + { label: "杞﹂棿", prop: "workshopName",min:110 }, + { label: "缁勫埆", prop: "workshopGroup",min:110 }, + { label: "鏈哄彴鍙�", prop: "workerPosition",min:110 }, + { label: "娣诲姞鏃堕棿", prop: "created_at",min:120 }, + { label: "娣诲姞浜�", prop: "creator",min:110 }, ], - editConfig:{ - visible:false, - infomitton:{ - TabsIndex:0, - workshopId:null, - } - }, + editRow:{}, + loading: false, getDataParams: { keyWord: '', }, @@ -75,6 +73,7 @@ }, created() { this.setTable() + this.getData(this.getDataParams.keyWord) }, methods: { setTable() { @@ -109,30 +108,97 @@ this.showcol = val this.tableList.tableColumn = this.setColumnVisible(val, this.tableColumn) }, + // 璇锋眰鏁版嵁 + async getData() { + this.loading = true + await getWorkerPositionList({ + keyword:this.getDataParams.keyWord, + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize + }) + .then((res) => { + if (res.code === 200) { + if (res.data) { + const list = res.data.map(item=>{ + return { + ...item, + date:item.StartDate?item.StartDate+'/'+item.EndDate:'', + workType:item.worker?item.worker.workType:'', + name:item.worker?item.worker.name:'', + workerPosition:item.startWorkerPosition?item.startWorkerPosition+'-'+item.endWorkerPosition:'', + created_at:item.CreatedAt?formatDate2(item.CreatedAt).split(' ')[0]:'' + } + }) + 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={} - this.editConfig.dialogTitle="鏂板" - this.editConfig.visible=true + this.editRow = { title:'鏂板缓',type:'add' } + this.$refs.add.islook = true; }, // 鎼滅储 onFilterSearch(searchText) { this.getDataParams.keyWord = searchText, - this.getData() + this.pagerOptions.currPage = 1 + this.getData() }, // 鍒锋柊 refreshClick() { - this.getDataParams.keyWord = "" - this.pagerOptions.currPage = 1 - this.pagerOptions.pageSize = 15 - // this.$refs.searchRef.searchInput = "" this.getData() }, // 鎵撳嵃 - printClick() { }, - // 缁勫埆 - handleShow() { - + exportClick() { }, + // 缂栬緫 + handleClick(row) { + let config=JSON.parse(JSON.stringify(row)); + this.editRow = { + ...config, + title:'缂栬緫', + type:'edit', + id:config.ID, + date:config.StartDate?[config.StartDate,config.EndDate]:[], + workshopObj:{ + value:config.workshop, + label:config.workshopName, + }, + name:config.worker?config.worker.name:'', + workerPosition:{ + value:config.startWorkerPosition?config.startWorkerPosition+'-'+config.endWorkerPosition:'', + label:config.startWorkerPosition?config.startWorkerPosition+'-'+config.endWorkerPosition:'', + }, + } + this.$refs.add.islook = true; + }, + // 鍒犻櫎 + delClick(row) { + this.$confirm("鏄惁纭鍒犻櫎?", "璀﹀憡", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + deleteWorkerPositionInfo({ id: row.ID }).then((response) => { + if (response.code === 200) { + this.$message.success("鍒犻櫎鎴愬姛") + this.getData() + } + }) + }) + .catch(() => {}) }, // 琛ㄦ牸琛岀偣鍑� tableRowClick(row) { -- Gitblit v1.8.0