loulijun2021
2023-03-20 ed4da27a04e5c00dc2a457d9bdc92eacd38398a8
src/views/sbgl/bybz.vue
@@ -2,8 +2,8 @@
  <div>
    <div class="body" :style="{height:mainHeight+'px'}">
      <div class="bodyTopButtonGroup" style="justify-content: space-between">
        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>
        <el-button icon="el-icon-download" @click="upload">导入</el-button>
        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>
        <el-button v-waves icon="el-icon-download" @click="upload">导入</el-button>
      </div>
      <div class="bodyTopFormGroup">
@@ -12,10 +12,10 @@
          :model="form"
          label-width="100px"
          inline
          style="display: flex;justify-content: space-between"
          style="display: flex;"
        >
          <div class="elForm">
            <el-form-item label="标准编码" label-width="70px" style=" display: flex;">
            <el-form-item label="标准编码" style=" display: flex;">
              <el-input v-model="form.repairstandcode" placeholder="请输入" style="width: 200px" />
            </el-form-item>
            <el-form-item label="标准名称" style=" display: flex;">
@@ -25,9 +25,12 @@
              <el-input v-model="form.repairstanddescr" placeholder="请输入" style="width: 200px" />
            </el-form-item>
          </div>
          <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened?'5%':'10%'}">
            <el-button type="primary" icon="el-icon-search" @click="search">查询</el-button>
            <el-button type="info" icon="el-icon-refresh" @click="reset">重置</el-button>
          <div
            class="bodySearchReset"
            :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
          >
            <el-button v-waves type="primary" icon="el-icon-search" @click="search">查询</el-button>
            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">重置</el-button>
          </div>
        </el-form>
        <div
@@ -103,7 +106,7 @@
            show-tooltip-when-overflow
          >
            <template slot-scope="{row}">
              <i v-if="row.is_repaireqp==='Y'" class="el-icon-share" @click="checkeqpClick(row)" />
              <i v-if="row.is_repaireqp==='Y'" :style="{color:$store.state.settings.theme}" class="el-icon-share" @click="checkeqpClick(row)" />
              <i
                v-if="row.is_repaireqp==='N'"
                class="el-icon-share"
@@ -133,10 +136,10 @@
            <template slot-scope="{row}">
              <div class="operationClass">
                <el-tooltip class="item" effect="dark" content="编辑" placement="top">
                  <i class="el-icon-edit-outline" @click="edit('edit',row)" />
                  <i :style="{color:$store.state.settings.theme}" class="el-icon-edit-outline" @click="edit('edit',row)" />
                </el-tooltip>
                <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top">
                  <i class="el-icon-delete" @click="del(row)" />
                  <i :style="{color:$store.state.settings.theme}" class="el-icon-delete" @click="del(row)" />
                </el-tooltip>
              </div>
            </template>
@@ -156,6 +159,7 @@
    </div>
    <el-dialog
      v-el-drag-dialog
      :title="operation==='add'?'新增':'编辑'"
      :visible.sync="dialogVisible"
      width="800px"
@@ -165,7 +169,7 @@
    >
      <!--      @close="handleClose"-->
      <div>
        <i class="el-icon-s-operation" style="color:#42b983;margin: -20px 10px 20px 0" />设备保养标准信息:
        <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" style="margin: -20px 10px 20px 0" />设备保养标准信息:
      </div>
      <div style="margin: 0 30px;">
        <el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px">
@@ -195,10 +199,10 @@
        </el-form>
      </div>
      <div>
        <i class="el-icon-s-operation" style="color:#42b983;margin: -20px 10px 20px 0" />设备关联保养项信息:
        <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" style="margin: -20px 10px 20px 0" />设备关联保养项信息:
      </div>
      <div style="margin-bottom:10px">
        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="addRow">新增</el-button>
        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="addRow">新增</el-button>
      </div>
      <div class="elTableDiv">
        <el-table
@@ -300,11 +304,11 @@
          >
            <template slot-scope="{row}">
              <div class="operationClass">
                <el-button v-if="row.isVisible===0" type="text" @click="editRow(row)">编辑</el-button>
                <el-button v-if="row.isVisible===0" type="text" @click="delRow(row)">删除</el-button>
                <el-button v-if="row.isVisible===0" v-waves type="text" @click="editRow(row)">编辑</el-button>
                <el-button v-if="row.isVisible===0" v-waves type="text" @click="delRow(row)">删除</el-button>
                <el-button v-if="row.isVisible===1" type="text" @click="saveRow(row)">确认</el-button>
                <el-button v-if="row.isVisible===1" type="text" @click="cancelRow(row)">取消</el-button>
                <el-button v-if="row.isVisible===1" v-waves type="text" @click="saveRow(row)">确认</el-button>
                <el-button v-if="row.isVisible===1" v-waves type="text" @click="cancelRow(row)">取消</el-button>
              </div>
            </template>
          </el-table-column>
@@ -312,8 +316,9 @@
      </div>
      <span slot="footer" class="dialog-footer">
        <div class="footerButton">
          <el-button @click="dialogVisibleCancel">取 消</el-button>
          <el-button v-waves @click="dialogVisibleCancel">取 消</el-button>
          <el-button
            v-waves
            type="primary"
            :loading="$store.state.app.buttonIsDisabled"
            :disabled="$store.state.app.buttonIsDisabled"
@@ -325,6 +330,7 @@
    <!--    关联设备-->
    <el-dialog
      v-el-drag-dialog
      title="关联设备"
      :visible.sync="dialogVisibleEqp"
      width="800px"
@@ -337,39 +343,51 @@
      <!--      @opened="handleOpenedRoles"-->
      <div>
        <i class="el-icon-s-comment" style="color:#42b983;" /> 标准名称:{{ dialogFormEqp.name }}
        <i class="el-icon-s-comment" :style="{color:$store.state.settings.theme}" /> 标准名称:{{ dialogFormEqp.name }}
      </div>
      <el-divider />
      <div>
        <div style="margin-bottom:20px">
          <i class="el-icon-s-operation" style="color:#42b983;" /> 设备所属车间集合:
          <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 设备所属车间集合:
        </div>
        <div class="myCheckboxGroup">
          <div
            v-for="item in dialogFormEqp.eqpArr"
            :key="item.code"
            :style="{border:item.isSelected1?'1px solid #42b983':'1px solid #eee'}"
            :style="{border:item.isSelected1?'1px solid '+$store.state.settings.theme:'1px solid #eee'}"
            class="myCheckbox"
            @click="myCheckboxClick(item)"
          >
            <input
              class="myCheckboxInput"
              type="checkbox"
              :value="item.code"
              :name="item.name"
              :style="{color:item.isSelected2?'#42b983':'#fff'}"
              @click="myCheckboxInputClick(item)"
            >{{ item.name }}
            <!--            <input-->
            <!--              class="myCheckboxInput"-->
            <!--              type="checkbox"-->
            <!--              :value="item.code"-->
            <!--              :name="item.name"-->
            <!--              :style="{color:item.isSelected2?'#42b983':'#fff'}"-->
            <!--              @click="myCheckboxInputClick(item)"-->
            <!--            >{{ item.name }}-->
            <!--            父子点击事件不影响-->
            <!--            onClick="event.cancelBubble = true"-->
            <el-checkbox
              :key="item.code"
              v-model="item.isSelected2"
              class="myCheckboxInput"
              :value="item.code"
              :name="item.name"
              :label="item.name"
              :checked="item.isSelected2"
              @change="myCheckboxInputClick(item)"
            />
            <div class="myCheckboxInputLabel">{{ item.name }}</div>
          </div>
        </div>
      </div>
      <el-divider />
      <div>
        <div style="margin-bottom:20px">
          <i class="el-icon-s-operation" style="color:#42b983;" /> 设备信息:
          <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 设备信息:
        </div>
        <el-tree
          ref="epqTree"
@@ -377,7 +395,7 @@
          show-checkbox
          node-key="code"
          default-expand-all
          style="height: 300px"
          style="height: 320px;overflow: auto"
          :props="defaultPropsOfEqpTree"
          @check="checkBoxClick"
        />
@@ -386,8 +404,9 @@
      </div>
      <span slot="footer" class="dialog-footer">
        <div class="footerButton">
          <el-button @click="eqpDialogVisibleCancel">取 消</el-button>
          <el-button v-waves @click="eqpDialogVisibleCancel">取 消</el-button>
          <el-button
            v-waves
            type="primary"
            :loading="$store.state.app.buttonIsDisabled"
            :disabled="$store.state.app.buttonIsDisabled"
@@ -425,12 +444,15 @@
} from '@/api/sbgl'
import $ from 'jquery'
import { validateCode } from '@/utils/global'
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
export default {
  name: 'Zzjg',
  components: {
    Pagination, ImportPicker
  },
  directives: { elDragDialog, waves },
  data() {
    return {
      mainHeight: 0,
@@ -648,6 +670,10 @@
    },
    // 对话框确认
    dialogVisibleConfirm() {
      if (this.tableDataDialog.length === 0) {
        return this.$message.info('设备关联保养项信息不能为空!')
      }
      this.$refs.dialogForm.validate(valid => {
        if (valid) {
          this.$store.state.app.buttonIsDisabled = true
@@ -876,8 +902,8 @@
    },
    // 小盒子点击
    myCheckboxInputClick(val) {
      console.log(val)
      val.isSelected2 = !val.isSelected2
      // console.log(val)
      val.isSelected2 = !!val.isSelected2
      if (val.isSelected2) { // 从没选中到选中
        console.log('从没选中到选中')
        this.dialogFormEqp.eqpAll.forEach((item, index) => {
@@ -1054,12 +1080,21 @@
      margin: 10px 30px 0 0;
      border-radius: 5px;
      cursor: default;
      position: relative;
      .myCheckboxInput {
        margin: 1px 5px 0 0;
        cursor: pointer;
      }
      .myCheckboxInputLabel {
        position: absolute;
        left: 29px;
        padding: 5px;
        top: 6px;
        color: transparent;
      }
    }
    //.myCheckbox{