From 544f30e28a3d8ea41e5ea8c0add2ce77c1b6fb1a Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期二, 07 五月 2024 17:48:31 +0800 Subject: [PATCH] 工种管理模块 编辑工种接口400的问题修改+增加如果启用不达标保底,则必须输入保底工资的逻辑 --- src/views/systemSetting/workshopManage/index.vue | 298 ++++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 193 insertions(+), 105 deletions(-) diff --git a/src/views/systemSetting/workshopManage/index.vue b/src/views/systemSetting/workshopManage/index.vue index e029789..5d500cf 100644 --- a/src/views/systemSetting/workshopManage/index.vue +++ b/src/views/systemSetting/workshopManage/index.vue @@ -1,153 +1,221 @@ <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="delBtnClick" >鍒犻櫎</el-button> --> - <el-button size="small" type="primary" @click="saveBtnClick" >淇濆瓨</el-button> - | - <!-- <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 class="edit-save"> - <div class="edit-save-icon" @click="editSaveClick"> - <i :class="isEdit ? 'el-icon-unlock' : 'el-icon-lock'"></i> - </div> - <div class="edit-sace-label">{{ isEdit ? "閿佸畾淇濆瓨" : "鐣岄潰璁捐" }}</div> - </div> --> - <div> - <SilkTableList - :detail-enter="isEdit" - :silk-table-list="silkTableList" - @inputContent="inputContent" - @addProjectClick="addBtnClick" - @clearupProject="clearupProject" - @deleteClick="clearupProject" - @addColumnClick="addColumnClick" - @clearupColumn="clearupColumn" - > - </SilkTableList> + <div class="list-view"> + <TableCommonView :table-list="tableList" @selTableCol="selTableCol" @handleShow="handleShow" + @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> </template> <script> -import SilkTableList from "@/views/systemSetting/workshopManage/components/silkTableList" +import AddDataDictionaries from "@/views/systemSetting/workshopManage/components/addDialog.vue" +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" export default { name: "workshopManage", props: {}, - components: { SilkTableList }, - mixins: [], + components: { TableCommonView, AddWorkshop, AddDataDictionaries }, + mixins: [pageMixin], computed: {}, data() { return { - isEdit: false, - silkTableList: {}, - tableData: [], + tableList: {}, + showCol: ["杞﹂棿", "缁勫埆", "寮�濮嬭溅鍙�", "缁撴潫杞﹀彿", "鍗婅溅鏍囧織", "澶囨敞"], tableColumn: [ - { label: "杞﹂棿", prop: "projectName", projectName: true }, - { label: "缁勫埆", prop: "start", inputFloat: true }, - { label: "寮�濮嬭溅鍙�", prop: "end", inputFloat: true }, - { label: "缁撴潫杞﹀彿", prop: "price1", inputFloat: true }, - { label: "鍗婅溅鏍囧織", prop: "projectName", projectName: true }, - { label: "澶囨敞", prop: "price2", inputFloat: true }, + // { label: "杞﹂棿", prop: "workshopNumber",iconRight:"el-icon-setting"}, + { label: "杞﹂棿", prop: "workshopName", }, + { label: "缁勫埆", prop: "groupNumber", }, + { label: "寮�濮嬭溅鍙�", prop: "startCarNumber" }, + { label: "缁撴潫杞﹀彿", prop: "endCarNumber" }, + { label: "鍗婅溅鏍囧織", prop: "carFlag", isCallMethod: true, getCallMethod: this.getStatusCarFlag }, + { label: "澶囨敞", prop: "notes", }, ], - columnNum: 0, - dataObj: { - projectName: "", - start: 0, - end: 0, - price1: 0, - price2: 0, - price3: 0 - } + // 绫诲瀷 + workList: [], + getDataParams: { + keyWord: '', + }, + editConfig: { + visible: false, + infomitton: { + TabsIndex: 0, + workshopId: null, + } + }, } }, created() { - this.setTableForm() + this.setTable() + this.getData() }, methods: { - setTableForm() { - this.silkTableList = { - tableData: this.tableData, - isReturn: false, - tableColumn: this.tableColumn + setTable() { + // top 鏄庣粏鍗曞垪琛� + this.tableList = { + selectIndex: true, + tableInfomation: [], + allcol: [], + showcol: this.showCol, + tableColumn: this.setColumnVisible(this.showCol, this.tableColumn) } + this.setTableList(this.tableList) + }, + setColumnVisible(showCol, tableColumn) { + return tableColumn.map((ele) => { + return { + ...ele, + isShowColumn: showCol.includes(ele.label) + } + }) + }, + setTableList(tableList) { + tableList.allcol = tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label) + this.searchOptions = [] + for (let i = 0; i < tableList.tableColumn.length; i++) { + const label = tableList.tableColumn[i].label + const value = tableList.tableColumn[i].prop + this.searchOptions.push({ value: value, label: label }) + } + }, + selTableCol(val) { + this.showcol = val + this.tableList.tableColumn = this.setColumnVisible(val, this.tableColumn) + }, + // 琛ㄦ牸琛岀偣鍑� + tableRowClick(row) { + console.log(row, "row") }, // 鎼滅储 onFilterSearch(searchText) { - console.log(searchText) + this.getDataParams.keyWord = searchText, + this.pagerOptions.currPage = 1; + this.getData() }, // 鏂板 addBtnClick() { - if(this.isEdit){ - this.$message.warning("璇峰厛淇濆瓨褰撳墠缂栬緫") - }else{ - this.isEdit = true - // array.splice(index, 0, item) - this.tableData.splice(0,0,{ - projectName: "", - start: 0, - end: 0, - price1: 0, - price2: 0, - price3: 0, - isAdd:true, - }) - } - - + this.editConfig.infomitton = {} + this.editConfig.dialogTitle = "鏂板" + this.editConfig.visible = true }, // 淇濆瓨 - saveBtnClick(){ - this.tableData.forEach((item)=>{ - item.isAdd=false - }) - this.isEdit = false + saveBtnClick() { + }, // 鍒锋柊 - refreshClick() {}, + refreshClick() { + this.getDataParams.keyWord = "" + this.pagerOptions.currPage = 1 + this.pagerOptions.pageSize = 15 + this.$refs.searchRef.searchInput = "" + this.getData() + }, // 鎵撳嵃 - printClick() {}, - // 鍒楄〃杈撳叆鍥炶皟 - inputContent(val, prop, row) { - console.log(val, prop, row,"鍒楄〃鎵撳嵃鍥炶皟") - }, + printClick() { }, // 鍒犻櫎 - clearupProject(data, index) { + delBtnClick() { }, + // 缁勫埆 + handleShow() { + this.$refs.bomTypeDialog.editDialogVisible = true; + }, + handleGetBomKindDictList() { + // postGetBomKindDictList().then((res) => { + // this.workList = res.data; + // }); + }, + handleConfirmSave(data) { console.log(data) - this.tableData.splice(index, 1) + // postSaveBomKindDict({ data: data }).then((res) => { + // if (res.code == 200) { + // this.$message({ + // message: "鎿嶄綔鎴愬姛锛�", + // type: "success", + // }); + // this.$refs.bomTypeDialog.editDialogVisible = false; + // this.handleGetBomKindDictList(); + // } + // }); }, - // 淇濆瓨缂栬緫鎸夐挳鍒囨崲 - editSaveClick() { - this.isEdit = !this.isEdit - }, - // 娣诲姞鍒� - addColumnClick() { - let propStr = "trends" + this.columnNum - this.tableColumn.splice(2, 0, { label: "", prop: propStr, inputFloat: true, addColumn: true }) - this.$set(this.dataObj, propStr, 0) - console.log(this.tableColumn) - this.silkTableList.tableColumn = this.tableColumn - this.columnNum += 1 - }, - // 鍒犻櫎鍒� - clearupColumn(prop) { - let currentIndex = 0 - this.tableColumn.map((item, index) => { - if (item.prop == prop) { - currentIndex = index - } + // 杞﹂棿鍒楄〃 + async getData() { + await getWorkshopManageList({ + keyWord: this.getDataParams.keyWord, + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize + }).then((res) => { + this.tableList.tableInfomation = res.data + this.pagerOptions.totalCount = res.total }) - this.tableColumn.splice(currentIndex, 1) - this.silkTableList.tableColumn = this.tableColumn - this.$delete(this.dataObj, prop) + }, + getStatusCarFlag(val) { + if (val) { + return val == 1 ? '宸﹀崐杞�' : val == 2 ? '鍙冲崐杞�' : val == 3 ? '鍏ㄨ溅缁撴潫' : '--' + } else { + return "--"; + } + }, + handleClick(row, type) { + if (type !== "鍒犻櫎") { + this.editConfig.infomitton = { + ...row, + workshop:{ + number:row.workshopNumber, + name:row.workshopName + } + } + this.editConfig.infomitton.workshopId = row.ID + this.editConfig.infomitton.workshopNumber = Number(this.editConfig.infomitton.workshopNumber) + this.editConfig.dialogTitle = type + this.editConfig.visible = true + } else if (type === "鍒犻櫎") { + this.$confirm(`纭鍒犻櫎鍚�?`, '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + 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("鍙栨秷鍒犻櫎") + }); + } } } } @@ -157,6 +225,7 @@ <style lang="scss" scoped> .silkStandardSetting-container { height: 100%; + .filter-card { margin: 20px 30px; height: 80px; @@ -166,21 +235,25 @@ border-radius: 4px; background-color: #fff; } + .body-card { margin: 0 30px; background-color: #fff; padding: 10px 15px; height: calc(100% - 180px); border-radius: 4px; + .edit-save { display: flex; align-items: center; margin-bottom: 10px; + .edit-save-icon { font-size: 24px; color: #5582f3; cursor: pointer; } + .edit-sace-label { margin-left: 10px; font-size: 14px; @@ -189,4 +262,19 @@ } } } + +.list-view { + height: calc(100% - 60px); + overflow: hidden; +} + +.btn-pager { + display: flex; + margin-top: 10px; + + .page { + margin-left: auto; + } +} </style> + -- Gitblit v1.8.0