小小儁爺
8 小时以前 f704c69aac5df70067eb82cfa09554810b08f591
src/views/basicSettings/meterPrice.vue
@@ -2,9 +2,36 @@
  <div>
    <div class="body" :style="{height:mainHeight+'px'}">
      <div class="bodyTopButtonGroup" style="justify-content: space-between">
        <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">新增</el-button>
        <el-button v-waves type="success" icon="el-icon-download" @click="$router.push('./../systemSetting/dataImport?fileCode=25')">导入</el-button>
      <div class="bodyTopButtonGroup" style="height: 47px;">
        <el-button
          v-if="buttoncodeArr.includes('Add')"
          v-waves
          type="primary"
          icon="el-icon-circle-plus-outline"
          @click="add('add')"
        >新增</el-button>
        <el-button
          v-if="buttoncodeArr.includes('Verify')"
          v-waves
          type="success"
          icon="el-icon-circle-check"
          @click="Verify(false)"
        >批量审核</el-button>
        <el-button
          v-if="buttoncodeArr.includes('NoVerify')"
          v-waves
          type="warning"
          icon="el-icon-circle-close"
          @click="NoVerify(false)"
        >批量反审核</el-button>
        <el-button
          v-if="buttoncodeArr.includes('InExcel')"
          v-waves
          type="success"
          icon="el-icon-download"
          @click="$router.push('./../systemSetting/dataImport?fileCode=25')"
        >导入</el-button>
      </div>
      <div class="bodyTopFormGroup">
@@ -130,46 +157,149 @@
          :header-cell-style="this.$headerCellStyle"
          :cell-style="this.$cellStyle"
          @sort-change="sortChange"
          @selection-change="handleSelectionChange"
        >
          <el-table-column
            v-for="item in tableColumnSettingsArray"
            v-if="item.show"
            :key="item.id"
            :sortable="item.sortable"
            :prop="item.prop"
            :min-width="item.minWidth"
            :label="item.label"
            :width="item.width"
            show-tooltip-when-overflow
            :fixed="item.fixed?(item.fixed==='left'?'left':'right'):false"
            type="selection"
            width="50"
            fixed
          />
          <el-table-column
            prop="rowNum"
            width="60"
            label="序号"
            fixed
          />
          <el-table-column
            prop="verifyuser"
            label="是否已审核"
            sortable="custom"
            width="120"
          >
            <template slot-scope="{row}">
              <div v-if="!row[item.prop]">/</div>
              <div v-else-if="item.prop==='eqp_value'||item.prop==='stand_value'">
                {{ row[item.prop] }} 秒
              </div>
              <div v-else>{{ row[item.prop] }}</div>
              <el-tag v-if="row.verifyuser" size="small" type="success">已审核</el-tag>
              <el-tag v-else size="small" type="danger">未审核</el-tag>
            </template>
          </el-table-column>
          <el-table-column
            prop="partcode"
            label="产品编码"
            sortable="custom"
            min-width="110"
          />
          <el-table-column
            prop="partname"
            label="产品名称"
            sortable="custom"
            min-width="110"
          />
          <el-table-column
            prop="partspec"
            label="产品规格"
            sortable="custom"
            min-width="110"
          />
          <el-table-column
            prop="stepname"
            label="工序名称"
            sortable="custom"
            width="110"
          />
          <el-table-column
            prop="unprice"
            label="计件单价"
            sortable="custom"
            width="110"
          />
          <el-table-column
            prop="verifyuser"
            label="审核人"
            sortable="custom"
            width="110"
          />
          <el-table-column
            prop="verifydate"
            label="审核日期"
            sortable="custom"
            width="160"
          />
          <el-table-column
            prop="lm_user"
            label="创建人员"
            sortable="custom"
            width="110"
          />
          <el-table-column
            prop="lm_date"
            label="创建时间"
            sortable="custom"
            width="160"
          />
          <!--          <el-table-column-->
          <!--            v-for="item in tableColumnSettingsArray"-->
          <!--            v-if="item.show"-->
          <!--            :key="item.id"-->
          <!--            :sortable="item.sortable"-->
          <!--            :prop="item.prop"-->
          <!--            :min-width="item.minWidth"-->
          <!--            :label="item.label"-->
          <!--            :width="item.width"-->
          <!--            show-tooltip-when-overflow-->
          <!--            :fixed="item.fixed?(item.fixed==='left'?'left':'right'):false"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              <div v-if="!row[item.prop]">/</div>-->
          <!--              <div v-else-if="item.prop==='eqp_value'||item.prop==='stand_value'">-->
          <!--                {{ row[item.prop] }} 秒-->
          <!--              </div>-->
          <!--              <div v-else>{{ row[item.prop] }}</div>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
          <el-table-column
            label="操作"
            fixed="right"
            width="120"
            width="160"
          >
            <template slot-scope="{row}">
              <div class="operationClass">
                <el-tooltip class="item" effect="dark" content="编辑" placement="top">
                  <i
                <el-button
                  v-if="buttoncodeArr.includes('Update')&&!row.verifyuser"
                  type="text"
                    :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 :style="{color:$store.state.settings.theme}" class="el-icon-delete" @click="del(row)" />
                </el-tooltip>
                >编辑</el-button>
                <!--                v-if="!buttoncodeArr.includes('Delete')"-->
                <el-button
                  v-if="buttoncodeArr.includes('Delete')&&!row.verifyuser"
                  type="text"
                  :style="{color: 'red'}"
                  @click="del(row)"
                >删除</el-button>
                <el-button
                  v-if="buttoncodeArr.includes('Verify')&&!row.verifyuser"
                  type="text"
                  :style="{color:$store.state.settings.theme}"
                  @click="Verify(true,row)"
                >审核</el-button>
                <el-button
                  v-if="buttoncodeArr.includes('NoVerify')&&row.verifyuser"
                  type="text"
                  :style="{color: 'red'}"
                  @click="NoVerify(true,row)"
                >反审核</el-button>
                <!--                <el-tooltip class="item" effect="dark" content="编辑" placement="top">-->
                <!--                  <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 :style="{color:$store.state.settings.theme}" class="el-icon-delete" @click="del(row)" />-->
                <!--                </el-tooltip>-->
              </div>
            </template>
          </el-table-column>
@@ -301,10 +431,10 @@
<script>
import Pagination from '@/components/Pagination'
import {
  BeatRateSearch, DeleteBeatRate,
  BeatRateSearch, DeleteBeatRate, NoVerifyBeatRate,
  PartSelect,
  PartSelectRpute,
  RouteSelectStep, SaveBeatRate
  RouteSelectStep, SaveBeatRate, VerifyBeatRate
} from '@/api/basicSettings'
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
@@ -340,7 +470,17 @@
      tableData: [],
      tableColumnSettingsArray: [
        // { minWidth: 50, width: false, prop: 'id', label: 'id', id: 1, show: false, fixed: false, sortable: false }, // 隐藏列  show: false隐藏,true显示
        { minWidth: 25, width: 50, prop: 'rowNum', label: '序号', id: 2, show: true, fixed: 'left', sortable: false }, // custom
        { minWidth: 25, width: 50, prop: 'rowNum', label: '序号', id: 1, show: true, fixed: 'left', sortable: false }, // custom
        // {
        //   minWidth: false,
        //   width: 130,
        //   prop: 'verifyuser1',
        //   label: '是否已审核',
        //   id: 2,
        //   show: true,
        //   fixed: false,
        //   sortable: true
        // },
        {
          minWidth: 110,
          width: false,
@@ -419,8 +559,8 @@
          fixed: false,
          sortable: true
        }, {
          minWidth: 110,
          width: false,
          minWidth: false,
          width: 110,
          prop: 'stepname',
          label: '工序名称',
          id: 11,
@@ -429,8 +569,8 @@
          sortable: true
        },
        {
          minWidth: 110,
          width: false,
          minWidth: false,
          width: 110,
          prop: 'unprice',
          label: '计件单价',
          id: 12,
@@ -441,9 +581,29 @@
        {
          minWidth: false,
          width: 110,
          prop: 'verifyuser',
          label: '审核人',
          id: 13,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: false,
          width: 160,
          prop: 'verifydate',
          label: '审核日期',
          id: 14,
          show: true,
          fixed: false,
          sortable: true
        },
        {
          minWidth: false,
          width: 110,
          prop: 'lm_user',
          label: '创建人员',
          id: 13,
          id: 15,
          show: true,
          fixed: false,
          sortable: true
@@ -453,7 +613,7 @@
          width: 160,
          prop: 'lm_date',
          label: '创建时间',
          id: 14,
          id: 16,
          show: true,
          fixed: false,
          sortable: true
@@ -479,7 +639,11 @@
      editPartName: '', // 编辑时产品名称
      editRouteName: '', // 编辑时工艺路线名称
      editStepName: '', // 编辑时加工工序名称
      operation: ''
      operation: '',
      buttoncodeArr: [],
      multipleSelection: []
    }
  },
@@ -491,6 +655,9 @@
  },
  created() {
    this.handleRequest()
    console.log(this.$route.meta.buttoncode)
    this.buttoncodeArr = this.$route.meta.buttoncode.split(',')
  },
  mounted() {
    window.addEventListener('resize', this.getHeight)
@@ -632,6 +799,73 @@
        this.$message.info('已取消删除')
      })
    },
    // 审核
    Verify(boolean, row) {
      this.$confirm('是否确认审核?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        if (boolean) {
          VerifyBeatRate([row.id]).then(res => {
            if (res.code === '200') {
              this.$message.success('审核成功!')
              if (this.form.page > 1 && this.tableData.length === 1) {
                this.form.page--
              }
              this.getBeatRateSearch()
            }
          })
        } else {
          VerifyBeatRate(this.multipleSelection.filter(i => !i.verifyuser).map(i => i.id)).then(res => {
            if (res.code === '200') {
              this.$message.success('审核成功!')
              if (this.form.page > 1 && this.tableData.length === 1) {
                this.form.page--
              }
              this.getBeatRateSearch()
            }
          })
        }
      }).catch(() => {
        this.$message.info('已取消审核')
      })
    },
    // 反审核
    NoVerify(boolean, row) {
      this.$confirm('是否确认反审核?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        if (boolean) {
          NoVerifyBeatRate([row.id]).then(res => {
            if (res.code === '200') {
              this.$message.success('反审核成功!')
              if (this.form.page > 1 && this.tableData.length === 1) {
                this.form.page--
              }
              this.getBeatRateSearch()
            }
          })
        } else {
          NoVerifyBeatRate(this.multipleSelection.filter(i => i.verifyuser).map(i => i.id)).then(res => {
            if (res.code === '200') {
              this.$message.success('反审核成功!')
              if (this.form.page > 1 && this.tableData.length === 1) {
                this.form.page--
              }
              this.getBeatRateSearch()
            }
          })
        }
      }).catch(() => {
        this.$message.info('已取消反审核')
      })
    },
    handleSelectionChange(val) {
      this.multipleSelection = val
    },
    // 对话框关闭事件
    handleClose() {
      this.dialogForm.partcode = ''