zouyu
2023-09-12 40f0147e880d83e8ffb341994ab37e9e712fccf9
src/components/view/standard-table/technology.vue
@@ -1,7 +1,159 @@
<template>
  <div class="standard">
    <div>
          <el-table :data="tableData" max-height="675" row-key="rowId" border
          @select-all="selectAll" @select="selectTr" ref="multipleTable"
          :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'left'}"
            @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="father" label="工序" sortable width="200px">
              <template slot-scope="scope">
                    <el-tag v-if="scope.row.children" type="primary">01</el-tag>
                    <span style="color: black">
                      {{ scope.row.father }}
                    </span>
            </template>
            </el-table-column>
            <el-table-column sortable label="工艺名称">
              <template slot-scope="scope">
                <el-tag type="success" v-if="!scope.row.children">02</el-tag>
                <span style="color: black">{{ scope.row.name  }}</span>
              </template>
            </el-table-column>
            <el-table-column prop="dg" label="设备组">
              <template slot-scope="scope">
                <div class="showDiv">
                  <span>{{scope.row.dg}}</span>
                  <div @click="showDialog">选择</div>
                </div>
              </template>
            </el-table-column>
            <el-table-column prop="pq" label="生产定额(个/天)">
              <template slot-scope="scope">
                  <el-input v-model="scope.row.pq"
                  v-if="scope.row.dg != null"
                  @blur="updatePq(scope.row)"
                  ></el-input>
              </template>
            </el-table-column>
          </el-table>
        </div>
        <el-dialog
          title="选择设备组"
          :visible.sync="deviceGroupDialog"
          width="30%">
          <span>这是一段信息</span>
          <span slot="footer" class="dialog-footer">
            <el-button type="primary" @click="deviceGroupDialog = false">确 定</el-button>
            <el-button @click="deviceGroupDialog = false">取 消</el-button>
          </span>
        </el-dialog>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        deviceGroupDialog:false,
        selects: [],
        isAllSelect:false,
      }
    },
    props:['tableData','tableType'],
    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);
          }
        });
      },
      // 表格树全部选中配置  结束
      showDialog(){
          this.deviceGroupDialog = true
      },
      updatePq(row){
        this.$axios.post(this.$api.url.technologyWrite,{
            id : row.id,
            productionQuota : row.pq
        }).then(res=>{
          this.$message.success(res.message);
        }).catch(error=>{
          this.$message.error(error.message);
        })
      },
    }
  }
</script>
<style scoped>
  .standard {
    width: 100%;
    height: 100%;
  }
  .standard .showDiv{
    cursor: pointer;
  }
  .standard .showDiv div{
    color:#407ab9;
    display: none;
  }
  .showDiv span{
    cursor: pointer;
    display: block;
    width: 100%;
  }
  .showDiv:hover span{
    display: none;
  }
  .showDiv:hover div{
    display: block;
  }
</style>
<style>
@@ -30,161 +182,14 @@
    overflow: auto;
  }
  .standard .el-table__body-wrapper {
  /* .standard .el-table__body-wrapper {
    height: 100%;
  }
  } */
  .standard .el-table__body {
  /* .standard .el-table__body {
    height: 100%;
  }
  } */
  .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){
    padding-left: 23px !important;
   }
</style>
<template>
  <div class="standard">
    <el-table :data="tableData" border style="width: 100%" @selection-change="handleSelectionChange" row-key="id"
      default-expand-all :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
      <el-table-column type="selection" width="50">
      </el-table-column>
      <el-table-column type="index" label="序号" width="78">
      </el-table-column>
      <el-table-column prop="date" label="项目" width="350">
        <template slot-scope="scope">
          <span> <el-tag size="mini" :type="scope.row.children? '':'success'" :style="{borderRadius: '40%',marginRight: '12px'}">{{ scope.row.children? '01':'02' }}</el-tag> {{scope.row.date}}</span>
        </template>
      </el-table-column>
      <el-table-column prop="name" label="单位" width="180">
      </el-table-column>
      <el-table-column prop="address" label="标准值">
      </el-table-column>
      <el-table-column prop="address" label="内控值">
      </el-table-column>
    </el-table>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        tableData: [{
          id: 1,
          date: '2016-05-02',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }, {
          id: 2,
          date: '2016-05-04',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1517 弄'
        }, {
          id: 3,
          date: '2016-05-01',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1519 弄',
          children: [{
              id: 31,
              date: '2016-05-01',
              name: '王小虎',
              address: '上海市普陀区金沙江路 1519 弄'
            }, {
              id: 32,
              date: '2016-05-01',
              name: '王小虎',
              address: '上海市普陀区金沙江路 1519 弄'
          }]
        }, {
          id: 4,
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        },{
          id: 5,
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        },
        {
          id: 6,
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        },
        {
          id: 7,
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        },
        {
          id: 8,
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        },
        {
          id: 9,
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        },
        {
          id: 10,
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        },
        {
          id: 11,
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        },
        {
          id: 12,
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        }
        ,{
          id: 13,
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        }
        ],
        tableData1: [{
          id: 1,
          date: '2016-05-02',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }, {
          id: 2,
          date: '2016-05-04',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1517 弄'
        }, {
          id: 3,
          date: '2016-05-01',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1519 弄',
          hasChildren: true
        }, {
          id: 4,
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        }],
        selects: []
      }
    },
    mounted() {},
    methods: {
      handleSelectionChange(val) {
        this.selects = val;
      }
    }
  }
</script>