From 58c4b6003ad6f9a96d53c944bedc09f6ec3f0910 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期日, 24 九月 2023 18:35:56 +0800
Subject: [PATCH] modified: src/assets/api/controller.js modified: src/components/view/sale.vue modified: src/components/view/standard.vue modified: src/main.js modified: src/view/index.vue
---
src/components/view/standard-table/material.vue | 132 ++++++++++++++++++++++++++++++++++++-------
1 files changed, 109 insertions(+), 23 deletions(-)
diff --git a/src/components/view/standard-table/material.vue b/src/components/view/standard-table/material.vue
index 7ae1a84..ab2c6ae 100644
--- a/src/components/view/standard-table/material.vue
+++ b/src/components/view/standard-table/material.vue
@@ -1,32 +1,33 @@
<template>
<div class="standard">
- <div>
- <el-table :data="tableData" max-height="675" style="width: 100%;margin-bottom: 20px;" row-key="rowId" border
+ <div style="width: 100%;height: 68vh;overflow-x: auto;">
+ <el-table :data="tableData" row-key="rowId" border height="calc(90vh - 200px)"
+ @select-all="selectAll" @select="selectTr" ref="multipleTable"
@selection-change="handleSelectionChange" default-expand-all
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
<el-table-column type="selection" width="55">
</el-table-column>
- <el-table-column type="index" width="50" label="搴忓彿">
+ <el-table-column type="index" width="60" label="搴忓彿">
</el-table-column>
- <el-table-column prop="father" label="宸ュ簭" sortable width="200px">
+ <el-table-column prop="father" label="宸ュ簭" width="200" :resizable="false">
<template slot-scope="scope">
- <el-tag v-if="scope.row.father != null" type="primary">01</el-tag>
+ <el-tag class="tag" v-if="scope.row.father != null" type="primary">01</el-tag>
<span style="color: #000000">
{{ scope.row.father }}
</span>
</template>
</el-table-column>
- <el-table-column prop="tname" sortable label="宸ヨ壓鍚嶇О">
+ <el-table-column prop="tname" label="宸ヨ壓鍚嶇О" width="200" :resizable="false">
<template slot-scope="scope">
- <el-tag type="success" v-if="scope.row.tname != null">02</el-tag>
- <span style="color: black">
+ <el-tag type="success" v-if="scope.row.tname != null" class="tag">02</el-tag>
+ <span style="color: #000000">
{{ scope.row.tname }}
</span>
</template>
</el-table-column>
- <el-table-column prop="mname" label="鏉愭枡鍚嶇О">
+ <el-table-column prop="mname" label="鏉愭枡鍚嶇О" width="200" :resizable="false">
<template slot-scope="scope">
- <el-tag type="info" color="#faf2ff" v-if="scope.row.mname != null">
+ <el-tag type="info" class="tag" color="#faf2ff" v-if="scope.row.mname != null">
<span style="color: #e1affb">03</span>
</el-tag>
<span>
@@ -34,11 +35,16 @@
</span>
</template>
</el-table-column>
- <el-table-column prop="specifications" label="瑙勬牸">
+ <el-table-column prop="specifications" label="瑙勬牸" :resizable="false">
</el-table-column>
- <el-table-column prop="unit" label="鍗曚綅">
+ <el-table-column prop="unit" label="鍗曚綅" :resizable="false">
</el-table-column>
- <el-table-column prop="num" label="鏁伴噺">
+ <el-table-column prop="num" label="鏁伴噺" :resizable="false">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.num"
+ v-if="scope.row.mname != null" size="small"
+ @blur="updateVal(scope.row)"></el-input>
+ </template>
</el-table-column>
</el-table>
</div>
@@ -50,20 +56,89 @@
data() {
return {
hasChildren:true,
- selects: []
+ selects: [],
+ isAllSelect:false,
+ deleteList:[],
}
},
props:['tableData','tableType'],
- created() {
- console.log(this.tableData,this.tableType)
- },
- mounted() {
-
- },
+ created() {},
+ mounted() {},
methods: {
+ updateVal(row){
+ this.$axios.post(this.$api.url.mBomWrite,{
+ id : row.id,
+ num : row.num
+ }).then(res=>{
+ this.$message.success(res.message);
+ }).catch(error=>{
+ this.$message.error(error.message);
+ })
+ },
+ // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆
+ // 鍏ㄩ��/鍙栨秷閫夋搷浣�
+ selectAll(val) {
+ this.isAllSelect = !this.isAllSelect;
+ let data = this.tableData;
+ this.toggleSelect(data, this.isAllSelect, "all");
+ },
+ //閫夋嫨鏌愯
+ selectTr(selection, row) {
+ this.$set(row, "isChecked", !row.isChecked);
+ this.$nextTick(() => {
+ this.isAllSelect = row.isChecked;
+ this.toggleSelect(row, row.isChecked, "tr");
+ });
+ },
+ //閫掑綊瀛愮骇
+ toggleSelect(data, flag, type) {
+ if (type === "all") {
+ if (data.length > 0) {
+ data.forEach((item) => {
+ this.toggleSelection(item, flag);
+ if (item.children && item.children.length > 0) {
+ this.toggleSelect(item.children, flag, type);
+ }
+ });
+ }
+ } else {
+ if (data.children && data.children.length > 0) {
+ data.children.forEach((item) => {
+ item.isChecked = !item.isChecked;
+ this.$refs.multipleTable.toggleRowSelection(item, flag);
+ this.toggleSelect(item, flag, type);
+ });
+ }
+ }
+ },
+ //鏀瑰彉閫変腑
+ toggleSelection(row, flag) {
+ this.$set(row, "isChecked", flag);
+ this.$nextTick(() => {
+ if (flag) {
+ this.$refs.multipleTable.toggleRowSelection(row, flag);
+ } else {
+ this.$refs.multipleTable.clearSelection();
+ }
+ });
+ },
handleSelectionChange(val) {
- this.selects = val;
+ this.deleteList = [];
+ val.forEach((v) => {
+ this.searchIdFun(v);
+ });
+ this.$emit("childData",this.deleteList);
+ },
+ //閫掑綊鏌ユ壘閫変腑鏁版嵁id
+ searchIdFun(data){
+ let obj = data;
+ if(obj.children != undefined){
+ this.searchIdFun(obj.children);
+ }else{
+ this.deleteList.push(obj.id);
}
+ },
+ // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆 缁撴潫
}
}
</script>
@@ -72,6 +147,17 @@
.standard {
width: 100%;
height: 100%;
+ }
+ .tag{
+ line-height:24px;
+ text-align:center;
+ width:36px;
+ height:24px;
+
+ border-radius:12px;
+ }
+ .tag:nth-child(1){
+ margin-left:20px;
}
</style>
<style>
@@ -107,8 +193,8 @@
.standard .el-table__body {
height: 100%;
}
- .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){
+ /* .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){
padding-left: 23px !important;
- }
+ } */
</style>
\ No newline at end of file
--
Gitblit v1.9.3