From 1a874fa5f58c97c2cb8b3f38a1a089268f4bf124 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期一, 11 九月 2023 18:05:52 +0800
Subject: [PATCH] modified: src/assets/api/controller.js deleted: src/components/view/standard-table/bom.vue modified: src/components/view/standard-table/material.vue new file: src/components/view/standard-table/product.vue modified: src/components/view/standard-table/target.vue modified: src/components/view/standard-table/technology.vue modified: src/components/view/standard.vue
---
src/components/view/standard-table/target.vue | 86 ++++++++++++++++++++++++++++++++++++++-----
1 files changed, 76 insertions(+), 10 deletions(-)
diff --git a/src/components/view/standard-table/target.vue b/src/components/view/standard-table/target.vue
index 7dcfe2a..f07c292 100644
--- a/src/components/view/standard-table/target.vue
+++ b/src/components/view/standard-table/target.vue
@@ -1,14 +1,15 @@
<template>
<div class="standard">
<div>
- <el-table ref="table" :data="tableData" row-key="rowId" border max-height="675"
+ <el-table ref="multipleTable" :data="tableData" row-key="rowId" border max-height="675"
+ @select-all="selectAll" @select="selectTr"
@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="60" label="搴忓彿"></el-table-column>
<el-table-column prop="tfather" label="宸ュ簭">
<template slot-scope="scope">
- <el-tag type="primay" v-if="scope.row.tfather != null">01</el-tag>
+ <el-tag type="primary" v-if="scope.row.tfather != null">01</el-tag>
<span>{{scope.row.tfather}}</span>
</template>
</el-table-column>
@@ -27,8 +28,20 @@
</template>
</el-table-column>
<el-table-column prop="unit" label="鍗曚綅"></el-table-column>
- <el-table-column prop="internal" label="鍐呮帶鍊�"></el-table-column>
- <el-table-column prop="required" label="鏍囧噯鍊�"></el-table-column>
+ <el-table-column prop="internal" label="鍐呮帶鍊�">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.internal"
+ v-if="scope.row.internal != null"
+ @blur="updateVal(scope.row)"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="required" label="鏍囧噯鍊�">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.required"
+ v-if="scope.row.required != null"
+ @blur="updateVal(scope.row)"></el-input>
+ </template>
+ </el-table-column>
</el-table>
</div>
</div>
@@ -45,21 +58,74 @@
created() {},
mounted() {},
methods: {
+ // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆
+ // 鍏ㄩ��/鍙栨秷閫夋搷浣�
+ 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);
+ });
+ }
+ }
+ },
+ handleSelectionChange(val) {
+ this.deleteList = [];
+ val.forEach((v) => {
+ if (v.id !== undefined) {
+ this.deleteList.push(v.id);
+ }
+ });
+ },
+ // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆 缁撴潫
+ updateVal(row){
+ this.$axios.post(this.$api.url.productWrite,{
+ id : row.pid,
+ internal : row.internal,
+ required : row.required
+ }).then(res=>{
+ this.$message.success(res.message);
+ }).catch(error=>{
+ this.$message.error(error.message);
+ })
+ },
handleSelectionChange(val) {
this.selects = val;
},
- aaaa(){
- console.log("aaaaa----",this.targetData);
- }
}
}
</script>
<style scoped>
.expand-button {
- cursor: pointer;
- color: #1890ff;
-}
+ cursor: pointer;
+ color: #1890ff;
+ }
.standard {
width: 100%;
height: 100%;
--
Gitblit v1.9.3