From f13d1d01c3c3cbb075e63ae02be54bbb023c13d0 Mon Sep 17 00:00:00 2001 From: charles <981744753@qq.com> Date: 星期三, 24 七月 2024 16:50:22 +0800 Subject: [PATCH] feat:薪资薪酬核算模块 --- src/views/systemSetting/workshopManage/index.vue | 300 ++++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 200 insertions(+), 100 deletions(-) diff --git a/src/views/systemSetting/workshopManage/index.vue b/src/views/systemSetting/workshopManage/index.vue index 2864e5a..5869863 100644 --- a/src/views/systemSetting/workshopManage/index.vue +++ b/src/views/systemSetting/workshopManage/index.vue @@ -1,83 +1,114 @@ <template> <div class="silkStandardSetting-container"> <div class="filter-card"> - <CommonSearch :show-add="false" :amount-view="false" placeholder="璇疯緭鍏ュ叧閿瘝" @searchClick="onFilterSearch"> + <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="addBtnClick">鏂板</el-button> <el-button size="small" type="primary" @click="refreshClick">鍒锋柊</el-button> <el-button size="small" type="primary" @click="printClick">鎵撳嵃</el-button> </template> </CommonSearch> </div> <div class="body-card"> - <div> - <TableCommonView - :table-list="tableList" - @selTableCol="selTableCol" - @handleShow="handleShow" - @tableRowClick="tableRowClick" - > + <div class="list-view"> + <TableCommonView :table-list="tableList" + :selectClassRow="selectRow" + @selTableCol="selTableCol" + @tableRowClick="tableRowClick"> <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> - </template> </el-table-column> </template> </TableCommonView> </div> + <div class="btn-pager"> + <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> + </div> </div> - <AddWorkshop - ref="bomTypeDialog" - @handleConfirmSave="handleConfirmSave" - :workList="workList" - title="娣诲姞鑺傜偣绫诲瀷" - /> - <AddDataDictionaries - :editDiaConfig="editConfig" - /> + <div class="body-card1"> + <div class="bottom-tabs"> + <div + class="tab-pane" + @click="getTab(0)" + :style="{ + background: TabsIndex == 0 ? '#2a78fb' : '#F1F3F8', + color: TabsIndex == 0 ? '#fff' : '#666' + }" + > + 缁勫埆鍒楄〃 + </div> + <!--<div + class="tab-pane" + @click="getTab(1)" + :style="{background: TabsIndex == 1 ? '#2a78fb' : '#F1F3F8',color: TabsIndex == 1 ? '#fff' : '#666'}" + > + 鍗曟嵁杩芥函 + </div>--> + </div> + <div class="list-view"> + <TableCommonView :table-list="bottomTableList" + @selTableCol="selTableCol"> + <template slot="tableButton"> + </template> + </TableCommonView> + </div> + <div class="btn-pager"> + <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> + </div> + </div> + <!--<AddWorkshop ref="bomTypeDialog" @handleConfirmSave="handleConfirmSave" :workList="workList" title="娣诲姞鑺傜偣绫诲瀷" /> + <AddDataDictionaries :editDiaConfig="editConfig" />--> + <WorkshopDialog ref="workshopDialogRef" :edit-config="editConfig" @refresh="refresh"></WorkshopDialog> </div> </template> <script> import AddDataDictionaries from "@/views/systemSetting/workshopManage/components/addDialog.vue" -import { getWorkshopManageList,deleteWorkshopManage } from "@/api/systemSetting/workshopManage" +import { getWorkshopManageList, deleteWorkshopManage } from "@/api/systemSetting/workshopManage" import TableCommonView from '@/components/makepager/TableCommonView.vue' import AddWorkshop from '@/views/systemSetting/workshopManage/components/addWorkshop.vue' +import pageMixin from "@/components/makepager/pager/mixin/pageMixin" +import WorkshopDialog from '@/views/systemSetting/workshopManage/components/workshopDialog.vue' export default { name: "workshopManage", props: {}, - components: { TableCommonView,AddWorkshop,AddDataDictionaries }, - mixins: [], - computed: {}, + components: { TableCommonView, AddWorkshop, AddDataDictionaries,WorkshopDialog }, + mixins: [pageMixin], + computed: { + + }, data() { return { + selectRow:{}, + TabsIndex:0, + bottomTableList:{}, tableList: {}, - showCol: ["杞﹂棿", "缁勫埆", "寮�濮嬭溅鍙�", "缁撴潫杞﹀彿", "鍗婅溅鏍囧織", "澶囨敞"], + showCol: ["杞﹂棿", "缁勫埆", "寮�濮嬭溅鍙�", "缁撴潫杞﹀彿", "鏍囧織绫诲瀷", "澶囨敞"], tableColumn: [ // { label: "杞﹂棿", prop: "workshopNumber",iconRight:"el-icon-setting"}, - { label: "杞﹂棿", prop: "workshopNumber",}, + { label: "杞﹂棿", prop: "workshopName", }, { label: "缁勫埆", prop: "groupNumber", }, { label: "寮�濮嬭溅鍙�", prop: "startCarNumber" }, { label: "缁撴潫杞﹀彿", prop: "endCarNumber" }, - { label: "鍗婅溅鏍囧織", prop: "carFlag",isCallMethod: true, getCallMethod: this.getStatusCarFlag }, + { label: "鏍囧織绫诲瀷", prop: "carFlag", isCallMethod: true, getCallMethod: this.getStatusCarFlag }, { label: "澶囨敞", prop: "notes", }, ], // 绫诲瀷 workList: [], getDataParams: { - page: 1, - pageSize: 10, keyWord: '', }, - editConfig:{ - visible:false, - infomitton:{ - TabsIndex:0, - workshopId:null, + editConfig: { + visible: false, + infomitton: { + TabsIndex: 0, + workshopId: null, } }, } @@ -87,17 +118,22 @@ this.getData() }, methods: { + refresh(){ + this.getData(); + }, setTable() { - console.log(this.tableColumn,"鐪嬬湅") + const obj={ + selectIndex: true, + tableInfomation: [], + allcol: [], + showcol: this.showCol, + tableColumn: this.setColumnVisible(this.showCol, this.tableColumn) + }; // top 鏄庣粏鍗曞垪琛� - this.tableList = { - selectIndex: true, - tableInfomation: [], - allcol: [], - showcol: this.showCol, - tableColumn: this.setColumnVisible(this.showCol, this.tableColumn) - } - this.setTableList(this.tableList) + this.tableList = {...obj}; + this.bottomTableList={...obj}; + this.setTableList(this.tableList); + this.setTableList(this.bottomTableList); }, setColumnVisible(showCol, tableColumn) { return tableColumn.map((ele) => { @@ -109,7 +145,7 @@ }, setTableList(tableList) { tableList.allcol = tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label) - this.searchOptions = [] + this.searchOptions = []; for (let i = 0; i < tableList.tableColumn.length; i++) { const label = tableList.tableColumn[i].label const value = tableList.tableColumn[i].prop @@ -121,99 +157,121 @@ this.tableList.tableColumn = this.setColumnVisible(val, this.tableColumn) }, // 琛ㄦ牸琛岀偣鍑� - tableRowClick(row){ - console.log(row,"row") + tableRowClick(row) { + this.selectRow={...row}; + this.bottomTableList.tableInfomation=row.details||[]; }, // 鎼滅储 onFilterSearch(searchText) { - console.log(searchText,"鏄暐") - this.getDataParams.keyWord=searchText, - this.getData() + this.getDataParams.keyWord = searchText, + this.pagerOptions.currPage = 1; + this.getData() }, // 鏂板 addBtnClick() { - this.editConfig.infomitton=[] - this.editConfig.dialogTitle="鏂板" - this.editConfig.visible=true + this.editConfig.infomitton = { + carFlag:1, + workshop:{} + }; + this.editConfig.OperationType=1; + this.editConfig.title = "鏂板"; + this.editConfig.visible = true }, // 淇濆瓨 - saveBtnClick(){ + saveBtnClick() { }, // 鍒锋柊 - refreshClick() {}, - // 鎵撳嵃 - printClick() {}, - // 鍒犻櫎 - delBtnClick(){}, - // 缁勫埆 - handleShow(item){ - console.log(item,"item") - this.$refs.bomTypeDialog.editDialogVisible = true; + refreshClick() { + this.getDataParams.keyWord = ""; + this.pagerOptions.currPage = 1; + this.pagerOptions.pageSize = 15; + this.$refs.searchRef.searchInput = ""; + this.getData() }, + // 鎵撳嵃 + printClick() { }, + // 鍒犻櫎 + delBtnClick() { }, + // 缁勫埆 + /* handleShow() { + this.$refs.bomTypeDialog.editDialogVisible = true; + },*/ handleGetBomKindDictList() { // postGetBomKindDictList().then((res) => { // this.workList = res.data; // }); }, handleConfirmSave(data) { - console.log(data,"data") - // postSaveBomKindDict({ data: data }).then((res) => { - // if (res.code == 200) { - // this.$message({ - // message: "鎿嶄綔鎴愬姛锛�", - // type: "success", - // }); - // this.$refs.bomTypeDialog.editDialogVisible = false; - // this.handleGetBomKindDictList(); - // } - // }); + console.log(data); }, // 杞﹂棿鍒楄〃 async getData() { await getWorkshopManageList({ keyWord: this.getDataParams.keyWord, - page: this.getDataParams.page, - pageSize: this.getDataParams.pageSize, + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize, + type:1 }).then((res) => { this.tableList.tableInfomation = res.data - }) + this.pagerOptions.totalCount = res.total + if(res.data.length>0){ + this.bottomTableList.tableInfomation=res.data[0].details||[]; + } + }); }, getStatusCarFlag(val) { - if (val) { - return val == 1 ? '宸﹀崐杞�' : val == 2 ? '鍙冲崐杞�' : val == 3 ? '鍏ㄨ溅缁撴潫' : '--' - } else { - return "--"; - } + if(val===0){ + return '鍏ㄨ溅' + }else{ + return '鍗婅溅' + } }, - handleClick(row,type){ - console.log(row,"row") - if(type==="鏌ョ湅"){ - this.editConfig.infomitton=row - this.editConfig.infomitton.workshopId=row.ID - this.editConfig.dialogTitle=type - this.editConfig.visible=true - }else if(type==="淇敼"){ - this.editConfig.infomitton=row - this.editConfig.infomitton.workshopId=row.ID - this.editConfig.dialogTitle=type - this.editConfig.visible=true - }else if(type==="鍒犻櫎"){ - this.$confirm(`纭鍒犻櫎${row.name}鍚�?`, '鎻愮ず', { + handleClick(row, type) { + if (type !== "鍒犻櫎") { + this.editConfig.infomitton = { + ...row, + workshop:{ + workshopNumber:row.workshopNumber, + workshopName:row.workshopName + } + }; + this.editConfig.infomitton.workshopId = row.ID + this.editConfig.infomitton.workshopNumber = Number(this.editConfig.infomitton.workshopNumber) + this.editConfig.title = type; + if(type==='淇敼'){ + this.editConfig.OperationType=2 + }else{ + this.editConfig.OperationType=3 + } + this.editConfig.visible = true; + (row.details||[]).forEach((item,index)=>{ + if(index<row.details.length-1){ + item.noEdit=true; + }else{ + item.noEdit=false; + } + }); + this.$refs['workshopDialogRef'].initBottomTableList(row.details||[]); + } else if (type === "鍒犻櫎") { + this.$confirm(`纭鍒犻櫎鍚�?`, '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - deleteWorkshopManage({id:row.ID}).then((res)=>{ - if(res&&res.code===200){ - this.getData() + deleteWorkshopManage({ id: row.ID }).then((res) => { + if (res && res.code === 200) { this.$message({ type: 'success', message: '鍒犻櫎鎴愬姛!' }); + this.pagerOptions.currPage = 1; + this.getData() } }) - }) + }).catch(() => { + console.log("鍙栨秷鍒犻櫎") + }); } } } @@ -224,6 +282,7 @@ <style lang="scss" scoped> .silkStandardSetting-container { height: 100%; + .filter-card { margin: 20px 30px; height: 80px; @@ -233,11 +292,10 @@ border-radius: 4px; background-color: #fff; } - .body-card { + .body-card,.body-card1 { margin: 0 30px; background-color: #fff; padding: 10px 15px; - height: calc(100% - 180px); border-radius: 4px; .edit-save { display: flex; @@ -248,6 +306,7 @@ color: #5582f3; cursor: pointer; } + .edit-sace-label { margin-left: 10px; font-size: 14px; @@ -255,6 +314,47 @@ } } } + .body-card{ + height: calc(100% - 440px); + } + .body-card1{ + margin-top: -50px; + height: calc(100% - 500px); + .bottom-tabs { + height: 40px; + line-height: 40px; + background: white; + display: flex; + .tab-pane { + width: 100px; + margin-right: 20px; + font-size: 14px !important; + text-align: center; + cursor: pointer; + background: #2a78fb; + border-top-left-radius: 20px; + border-top-right-radius: 20px; + } + } + padding-bottom: 100px; + .btn-pager{ + position: relative; + top: -5px; + } + } +} + +.list-view { + height: calc(100% - 60px); + overflow: hidden; +} + +.btn-pager { + display: flex; + margin-top: 10px; + .page { + margin-left: auto; + } } </style> -- Gitblit v1.8.0