From df8eea01fe73c519abe5c6f9b40b937391897080 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期四, 25 四月 2024 18:50:14 +0800
Subject: [PATCH] 考勤统计表头增加星期
---
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