小小儁爺
2024-10-24 28364ccba63db45fa05bfea8dd8339e7bc91c35d
1.生产入库实现10%
已添加1个文件
已修改2个文件
840 ■■■■■ 文件已修改
src/api/WorkOrder.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/produce/productWarehouse.vue 816 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/WorkOrder.js
@@ -286,3 +286,21 @@
  })
}
// ç”Ÿäº§å…¥åº“条码补打
export function ProductInHouseLabCode(data) {
  return request({
    url: 'WorkOrder/ProductInHouseLabCode',
    method: 'get',
    params: data
  })
}
// ç”Ÿäº§å…¥åº“信息查询
export function ProductInHouseOrderSearch(data) {
  return request({
    url: 'WorkOrder/ProductInHouseOrderSearch',
    method: 'get',
    params: data
  })
}
src/router/index.js
@@ -488,6 +488,12 @@
        code: '0603',
        component: () => import('@/views/produce/reportVerify'),
        meta: { code: '0603', title: '报工审核', icon: '', keepAlive: true }
      }, {
        path: 'productWarehouse',
        name: 'productWarehouse',
        code: '0604',
        component: () => import('@/views/produce/productWarehouse'),
        meta: { code: '0604', title: '生产入库', icon: '', keepAlive: true }
      }
    ]
src/views/produce/productWarehouse.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,816 @@
<template>
  <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>-->
      <!--      </div>-->
      <div
        class="bodyTopFormGroup"
        style="margin-top: 10px"
        :style="{height:(mainHeight-20)+'px'}"
      >
        <div style="display: flex;align-items: center">
          <i
            class="el-icon-s-operation"
            :style="{color:$store.state.settings.theme,fontSize:'14px'}"
          />
          <div style="font-size: 14px;margin-left: 5px;color: #a7a7a7">
            æŸ¥è¯¢é¡¹
          </div>
          <!--          <div v-if="!isPermission" style="font-size: 14px;margin-left: 10px;color: red">-->
          <!--            å½“前用户在ERP系统中不存在或未授权,无法入库提交-->
          <!--          </div>-->
        </div>
        <el-form
          ref="form"
          :model="form"
          label-width="100px"
          inline
          style="display: flex;"
        >
          <div class="elForm" style="display: flex;flex-direction: column;justify-content: flex-start">
            <div style="display: flex">
              <el-form-item label="生产车间" style=" display: flex;">
                <el-select
                  v-model="form.wkshopcode"
                  :popper-append-to-body="false"
                  filterable
                  style="width: 200px"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in WorkShopArr"
                    :key="item.torg_code"
                    :label="item.torg_name"
                    :value="item.torg_code"
                  />
                </el-select>
              </el-form-item>
              <el-form-item
                label="生产订单"
                style="display: flex;"
              >
                <el-input
                  v-model="form.erpordercode"
                  placeholder="请输入"
                  style="width: 200px"
                />
              </el-form-item>
              <el-form-item
                label="生产工单"
                style="display: flex;"
              >
                <el-input
                  v-model="form.mesordercode"
                  placeholder="请输入"
                  style="width: 200px"
                />
              </el-form-item>
              <el-form-item
                label="销售订单"
                style="display: flex;"
              >
                <el-input
                  v-model="form.saleOrderCode"
                  readonly
                  style="width: 200px"
                />
              </el-form-item>
            </div>
            <div style="display: flex">
              <el-form-item label="产品编码" style=" display: flex;">
                <el-input v-model="form.partcode" placeholder="请输入" style="width: 200px" />
              </el-form-item>
              <el-form-item label="产品名称" style=" display: flex;">
                <el-input v-model="form.partname" style="width: 200px" placeholder="请输入" />
              </el-form-item>
              <el-form-item label="产品规格" style=" display: flex;">
                <el-input v-model="form.partspec" style="width: 200px" placeholder="请输入" />
              </el-form-item>
            </div>
          </div>
          <div
            class="bodySearchReset"
          >
            <el-button type="primary" icon="el-icon-search" @click="getProductInHouseOrderSearch">查询</el-button>
            <el-button type="info" icon="el-icon-refresh" @click="reset">重置</el-button>
          </div>
        </el-form>
        <div style="display: flex;align-items: center">
          <i
            class="el-icon-s-operation"
            :style="{color:$store.state.settings.theme,fontSize:'14px'}"
          />
          <div style="font-size: 14px;margin-left: 5px;color: #a7a7a7">
            é€‰æ‹©é¡¹
          </div>
        </div>
        <el-form
          ref="form"
          :model="form"
          label-width="100px"
          inline
          style="display: flex;"
        >
          <div class="elForm" style="justify-content: flex-start">
            <el-form-item label="单据日期" style=" display: flex;">
              <el-date-picker
                v-model="form.lm_date"
                style="width: 200px"
                readonly
                type="date"
                placeholder="选择日期"
              />
            </el-form-item>
            <el-form-item label="单据编号" style=" display: flex;">
              <el-input
                v-model="form.hbillno"
                readonly
                placeholder="请输入"
                style="width: 200px"
              />
            </el-form-item>
            <el-form-item label="入库仓库" required style=" display: flex;">
              <el-select
                v-model="form.stockcode"
                :popper-append-to-body="false"
                filterable
                style="width: 200px"
                placeholder="请选择"
                @change="stockCodeChange"
              >
                <el-option
                  v-for="item in stockcodeArr"
                  :key="item.code"
                  :label="item.name"
                  :value="item.code"
                />
              </el-select>
            </el-form-item>
          </div>
          <div
            class="bodySearchReset"
            :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
          >
            <el-button
              type="primary"
              icon="el-icon-s-promotion"
              :disabled="$store.state.app.buttonIsDisabled"
              @click="submit"
            >入库提交
            </el-button>
            <!--            <el-button  type="info" icon="el-icon-refresh" @click="reset">重置</el-button>-->
          </div>
        </el-form>
        <div style="display: flex;align-items: center">
          <i
            class="el-icon-s-operation"
            :style="{color:$store.state.settings.theme,fontSize:'14px'}"
          />
          <div style="font-size: 14px;margin-left: 5px;color: #a7a7a7">
            ä¿¡æ¯æ 
          </div>
        </div>
        <div style="padding:0 10px;position: relative">
          <!--          <el-button-->
          <!--            -->
          <!--            type="primary"-->
          <!--            style="position: absolute;right: 10px;top: 10px;z-index: 10"-->
          <!--            icon="el-icon-s-promotion"-->
          <!--            @click=""-->
          <!--          >入库提交-->
          <!--          </el-button>-->
          <el-tabs style="margin-top: 10px;" @tab-click="tabClick">
            <el-tab-pane label="明细">
              <div class="elTableDiv" style="margin: 0 auto 10px;">
                <el-table
                  ref="tableDataRef"
                  class="tableFixed"
                  :data="tableDataDetail"
                  :height="(tableHeight-25)+'px'"
                  border
                  :row-class-name="tableRowClassName"
                  :style="{width: 100+'%',height:(tableHeight-25)+'px',}"
                  highlight-current-row
                  :header-cell-style="this.$headerCellStyle"
                  :cell-style="this.$cellStyle"
                  @selection-change="handleSelectionChange"
                >
                  <!--                  @cell-dblclick="cellDblclick"-->
                  <!--                  @cell-click="cellClick"-->
                  <el-table-column
                    type="selection"
                    width="50"
                    fixed
                  />
                  <el-table-column
                    type="index"
                    width="50"
                    fixed
                    label="序号"
                  />
                  <!--                  <el-table-column-->
                  <!--                    prop="stockcode"-->
                  <!--                    label="仓库"-->
                  <!--                    width="160"-->
                  <!--                    show-tooltip-when-overflow-->
                  <!--                  >-->
                  <!--                    <template slot-scope="{row}">-->
                  <!--                      <div>{{ row.stockcode ? stockcodeArr.find(i => i.code === row.stockcode).name : '/' }}</div>-->
                  <!--                      &lt;!&ndash;                      <div&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                        v-if="!(row.index === tabClickIndex && tabClickLabel === '仓库')"&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                      >&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                        {{ row.stockcode ? stockcodeArr.find(i => i.code === row.stockcode).name : '/' }}&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                      </div>&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                      <el-select&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                        v-if="row.index === tabClickIndex && tabClickLabel === '仓库'"&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                        v-model="row.stockcode"&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                        placeholder="请选择"&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                      >&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                        <el-option&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                          v-for="item in stockcodeArr"&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                          :key="item.code"&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                          :label="item.name"&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                          :value="item.code"&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                        />&ndash;&gt;-->
                  <!--                      &lt;!&ndash;                      </el-select>&ndash;&gt;-->
                  <!--                    </template>-->
                  <!--                  </el-table-column>-->
                  <!--                  <el-table-column-->
                  <!--                    prop="inbarcode"-->
                  <!--                    label="入库条码"-->
                  <!--                    width="160"-->
                  <!--                    show-tooltip-when-overflow-->
                  <!--                  />-->
                  <el-table-column
                    prop="stockcode"
                    label="入库仓库"
                    width="160"
                    show-tooltip-when-overflow
                  >
                    <template slot-scope="{row}">
                      <!--                      <div v-if="row.stockcode">{{ row.stockcode }}</div>-->
                      <!--                      <div v-else>/</div>-->
                      <el-select
                        v-model="row.stockcode"
                        placeholder="请选择"
                      >
                        <el-option
                          v-for="item in stockcodeArr"
                          :key="item.code"
                          :label="item.name"
                          :value="item.code"
                        />
                      </el-select>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="saleOrderCode"
                    label="销售单号"
                    width="160"
                    show-tooltip-when-overflow
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.saleOrderCode">{{ row.saleOrderCode }}</div>
                      <div v-else>/</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="m_po"
                    label="订单编号"
                    width="160"
                    show-tooltip-when-overflow
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.m_po">{{ row.m_po }}</div>
                      <div v-else>/</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="wo_code"
                    label="工单编号"
                    width="160"
                    show-tooltip-when-overflow
                  />
                  <el-table-column
                    prop="partcode"
                    label="产品编码"
                    width="160"
                    show-tooltip-when-overflow
                  />
                  <el-table-column
                    prop="partname"
                    label="产品名称"
                    width="160"
                    show-tooltip-when-overflow
                  />
                  <el-table-column
                    prop="partspec"
                    label="产品规格"
                    width="160"
                    show-tooltip-when-overflow
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.partspec">{{ row.partspec }}</div>
                      <div v-else>/</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="initname"
                    label="单位名称"
                    width="160"
                    show-tooltip-when-overflow
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.initname">{{ row.initname }}</div>
                      <div v-else>/</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="wkshp_name"
                    label="车间名称"
                    width="160"
                    show-tooltip-when-overflow
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.wkshp_name">{{ row.wkshp_name }}</div>
                      <div v-else>/</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="stepname"
                    label="工序名称"
                    width="160"
                    show-tooltip-when-overflow
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.stepname">{{ row.stepname }}</div>
                      <div v-else>/</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="qty"
                    label="订单数量"
                    min-width="95"
                    fixed="right"
                    show-tooltip-when-overflow
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.qty">{{ row.qty }}</div>
                      <div v-else>/</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="plan_qty"
                    label="工单数量"
                    min-width="95"
                    fixed="right"
                    show-tooltip-when-overflow
                  />
                  <el-table-column
                    prop="good_qty"
                    label="完工数量"
                    min-width="95"
                    fixed="right"
                    show-tooltip-when-overflow
                  />
                  <el-table-column
                    prop="inhouseqty"
                    label="已入库数量"
                    min-width="95"
                    fixed="right"
                    show-tooltip-when-overflow
                  />
                  <el-table-column
                    prop="stinhouseqty"
                    label="待入库数量"
                    min-width="130"
                    fixed="right"
                  >
                    <!--                    <template slot-scope="{row}">-->
                    <!--                      <el-input-number v-model="row.stinhouseqty" :min="0" :max="row.good_qty" size="small" />-->
                    <!--                    </template>-->
                  </el-table-column>
                </el-table>
              </div>
            </el-tab-pane>
            <el-tab-pane label="汇总">
              <div class="elTableDiv" style="margin: 0 auto 10px;">
                <el-table
                  ref="tableDataRef"
                  class="tableFixed"
                  :data="tableDataSummary"
                  :height="(tableHeight-25)+'px'"
                  border
                  :row-class-name="tableRowClassName2"
                  :style="{width: 100+'%',height:(tableHeight-25)+'px',}"
                  highlight-current-row
                  :header-cell-style="this.$headerCellStyle"
                  :cell-style="this.$cellStyle"
                >
                  <el-table-column
                    type="index"
                    width="50"
                    fixed
                    label="序号"
                  />
                  <!--                  <el-table-column-->
                  <!--                    prop="stockcode"-->
                  <!--                    label="仓库"-->
                  <!--                    width="110"-->
                  <!--                  >-->
                  <!--                    <template slot-scope="{row}">-->
                  <!--                      <div>{{ stockcodeArr.find(i => i.code === row.stockcode).name }}</div>-->
                  <!--                    </template>-->
                  <!--                  </el-table-column>-->
                  <!--                    <template slot-scope="{row}">-->
                  <!--                      <div v-if="row.stockname">{{ row.stockname }}</div>-->
                  <!--                      <div v-else>/</div>-->
                  <!--                    </template>-->
                  <!--                  </el-table-column>-->
                  <!--                  <el-table-column-->
                  <!--                    prop="inbarcode"-->
                  <!--                    label="入库条码"-->
                  <!--                    width="160"-->
                  <!--                    show-tooltip-when-overflow-->
                  <!--                  />-->
                  <!--                  <el-table-column-->
                  <!--                    prop="m_po"-->
                  <!--                    label="订单编号"-->
                  <!--                    width="160"-->
                  <!--                    show-tooltip-when-overflow-->
                  <!--                  >-->
                  <!--                    <template slot-scope="{row}">-->
                  <!--                      <div v-if="row.m_po">{{ row.m_po }}</div>-->
                  <!--                      <div v-else>/</div>-->
                  <!--                    </template>-->
                  <!--                  </el-table-column>-->
                  <!--                  <el-table-column-->
                  <!--                    prop="wo_code"-->
                  <!--                    label="工单编号"-->
                  <!--                    width="160"-->
                  <!--                    show-tooltip-when-overflow-->
                  <!--                  />-->
                  <el-table-column
                    prop="partcode"
                    label="产品编码"
                    min-width="160"
                    show-tooltip-when-overflow
                  />
                  <el-table-column
                    prop="partname"
                    label="产品名称"
                    min-width="160"
                    show-tooltip-when-overflow
                  />
                  <el-table-column
                    prop="partspec"
                    label="产品规格"
                    min-width="160"
                    show-tooltip-when-overflow
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.stockname">{{ row.stockname }}</div>
                      <div v-else>/</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="qty"
                    label="订单数量"
                    min-width="95"
                    show-tooltip-when-overflow
                  >
                    <template slot-scope="{row}">
                      <div v-if="row.qty">{{ row.qty }}</div>
                      <div v-else>/</div>
                    </template>
                  </el-table-column>
                  <!--                  <el-table-column-->
                  <!--                    prop="plan_qty"-->
                  <!--                    label="工单数量"-->
                  <!--                    min-width="95"-->
                  <!--                    fixed="right"-->
                  <!--                    show-tooltip-when-overflow-->
                  <!--                  />-->
                  <el-table-column
                    prop="good_qty"
                    label="完工数量"
                    min-width="95"
                    show-tooltip-when-overflow
                  />
                  <el-table-column
                    prop="inhouseqty"
                    label="已入库数量"
                    min-width="95"
                    show-tooltip-when-overflow
                  />
                  <el-table-column
                    prop="stinhouseqty"
                    label="可入库数量"
                    min-width="95"
                    show-tooltip-when-overflow
                  />
                </el-table>
              </div>
            </el-tab-pane>
          </el-tabs>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData'
import { ProductInHouseOrderSearch } from '@/api/WorkOrder'
import { TSecLocaTree } from '@/api/basicSettings'
export default {
  name: 'ProductWarehouse',
  components: {},
  data() {
    return {
      mainHeight: 0,
      tableHeight: 0,
      form: {
        hbillno: '', // å…¥åº“单号
        // incbit: '', // æµæ°´å·
        documentType: 'Y', // å•据类型
        saleordercode: '', // é”€å”®å•号
        wkshopcode: '', // ç”Ÿäº§è½¦é—´
        erpordercode: '', // è®¢å•编号
        mesordercode: '', // å·¥å•编号
        partcode: '', // äº§å“ç¼–码
        partname: '', // äº§å“åç§°
        partspec: '', // è§„格型号
        saleOrderCode: '', // é”€å”®è®¢å•
        stockcode: '' // å…¥åº“仓库
      },
      tableDataDetail: [], // æ˜Žç»†è¡¨
      multipleSelection: [],
      stockcodeArr: [], // å…¥åº“仓库数组
      WorkShopArr: [], // ç”Ÿäº§è½¦é—´æ•°ç»„
      tabClickIndex: null, // ç‚¹å‡»çš„单元格
      tabClickLabel: '', // å½“前点击的列名
      tableDataSummary: [] // æ±‡æ€»è¡¨
    }
  },
  watch: {},
  created() {
  },
  mounted() {
    window.addEventListener('resize', this.getHeight)
    this.getHeight()
    this.getPrentOrganizationNoCompany()
    this.getTSecLocaTree()
    this.getProductInHouseOrderSearch()
  },
  methods: {
    // èŽ·å–ä»“åº“ä¿¡æ¯
    async getTSecLocaTree() {
      const { data: res } = await TSecLocaTree()
      this.stockcodeArr = res.filter(i => i.depth === 0)// å±‚级为0的  æ˜¯ä»“库
    },
    // èŽ·å–è½¦é—´ä¿¡æ¯
    async getPrentOrganizationNoCompany() {
      const { data: res } = await PrentOrganizationNoCompany()
      this.WorkShopArr = res
    },
    // èŽ·å–å¤§åˆ—è¡¨æŸ¥è¯¢
    async getProductInHouseOrderSearch() {
      const data = {
        saleordercode: this.form.saleordercode, // é”€å”®å•号
        wkshopcode: this.form.wkshopcode, // ç”Ÿäº§è½¦é—´
        erpordercode: this.form.erpordercode, // è®¢å•编号
        mesordercode: this.form.mesordercode, // å·¥å•编号
        partcode: this.form.partcode, // äº§å“ç¼–码
        partname: this.form.partname, // äº§å“åç§°
        partspec: this.form.partspec // è§„格型号
      }
      const { data: res } = await ProductInHouseOrderSearch(data)
      this.tableDataDetail = res
    },
    // å…¥åº“仓库值改变时
    stockCodeChange() {
    },
    // é¡µç­¾åˆ‡æ¢
    tabClick() {
    },
    // å¤é€‰æ¡†åˆ‡æ¢
    handleSelectionChange() {
    },
    // é€’交
    submit() {
    },
    // é‡ç½®
    reset() {
      this.form.saleordercode = '' // é”€å”®å•号
      this.form.wkshopcode = '' // ç”Ÿäº§è½¦é—´
      this.form.erpordercode = ''// è®¢å•编号
      this.form.mesordercode = ''// å·¥å•编号
      this.form.partcode = ''// äº§å“ç¼–码
      this.form.partname = '' // äº§å“åç§°
      this.form.partspec = '' // è§„格型号
    },
    // èŽ·å–é¡µé¢é«˜åº¦
    getHeight() {
      this.$nextTick(() => {
        this.mainHeight = window.innerHeight - 85
        this.tableHeight = this.mainHeight - 255
        this.$refs.tableDataRef.doLayout()
      })
    },
    tableRowClassName({ row, rowIndex }) {
      // æŠŠæ¯ä¸€è¡Œçš„索引放进row
      row.index = rowIndex
      return 'custom-row'
    },
    tableRowClassName2({ row, rowIndex }) {
      return 'custom-row'
    }
  }
}
</script>
<!--公共页面样式-->
<style lang="scss" scoped>
$main_color: #42b983;
::v-deep .el-range__icon {
  line-height: 28px !important;
}
::v-deep .el-range-separator {
  line-height: 28px !important;
}
::v-deep .el-range-input {
  font-size: 14px;
}
::v-deep .el-range-separator {
  display: flex;
  justify-content: center;
  align-items: center;
}
::v-deep .el-button--text {
  font-size: 14px;
  cursor: pointer;
}
.el-icon-share, .el-icon-delete, .el-icon-edit-outline {
  color: $main_color;
  cursor: pointer;
}
.el-icon-edit-outline {
  margin-right: 15px;
}
::v-deep .el-button--primary, .el-button--default, .el-button--info {
  height: 34px;
  display: flex;
  align-items: center;
  padding: 0 15px;
}
::v-deep .el-button--primary {
  //background-color: $main_color !important;
}
::v-deep .el-button--default {
  background-color: #f8f8fa;
  border: none;
}
::v-deep .el-input__inner {
  height: 34px;
  line-height: 34px;
  //color: #a7a7a7;
}
::v-deep .el-dialog__body {
  padding: 20px 100px !important;
}
::v-deep .dialogVisibleRoles .el-dialog__body {
  padding: 20px 20px !important;
}
::v-deep .importPickerClass .el-dialog__body {
  padding: 20px 20px !important;
}
::v-deep .el-dialog__footer {
  display: flex;
  justify-content: flex-end;
}
::v-deep .el-table .caret-wrapper {
  transform: scale(0.8);
}
::v-deep .cell {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
::v-deep .el-table::before {
  height: 0;
}
::v-deep .el-table__body-wrapper {
  background-color: #f8f8fa;
}
::v-deep .el-table__body .el-table__row.hover-row td {
  background-color: #eaecef;
}
::v-deep .el-form--inline .el-form-item__label {
  color: #a7a7a7;
}
.body ::v-deep .el-divider {
  border: 1px solid #eee;
  width: 99%;
  margin: 10px auto;
}
.body ::v-deep .el-form-item {
  margin-bottom: 0;
}
.userDialogVisible ::v-deep .el-form-item {
  margin-bottom: 0;
}
::v-deep .el-select__caret {
  display: flex;
  align-items: center;
  justify-content: center;
}
.tableFixed {
  ::v-deep .el-table__fixed-right {
    height: 100% !important;
  }
  ::v-deep .el-table__fixed {
    height: 100% !important;
  }
}
::v-deep .el-tabs__item {
  padding-right: 0;
}
</style>
<style>
.el-table .custom-row {
  background: #f8f8fa;
}
</style>