王震
2023-12-26 09d9c957b47c488c4b25c3a14c82ea71623be670
src/views/technology/document/index.vue
@@ -11,29 +11,6 @@
        ref="documentTable"
      >
        <template #toolbar>
          <!-- <el-button type="primary" :loading="ifsSynsLoading" @click="syncIfs"
            >ERP同步</el-button
          > -->
          <el-button v-if="permissions.technology_document_add"
          type="primary" @click="addOrUpdateHandle">新增</el-button>
          <el-button @click="() => {this.changeState('accept')}"
          :disabled="uniqueStateArr.includes(['01draft', '03accepted', '04reject'])"
          v-if="permissions.technology_document_accept">批准</el-button>
          <el-button @click="() => {this.changeState('reject')}"
          :disabled="uniqueStateArr.includes(['01draft', '03accepted', '04reject'])"
          v-if="permissions.technology_document_reject">拒绝</el-button>
          <el-button @click="() => {this.changeState('cancel')}"
          :disabled="uniqueStateArr.includes(['01draft', '03accepted', '04reject'])"
          v-if="permissions.technology_document_cancel">撤销</el-button>
          <el-button
            type="primary"
            @click="deleteBatch"
            v-if="permissions.technology_document_del"
            >批量删除</el-button
          >
          <!-- <el-button
            type="primary"
            @click="bindTestStandard"
@@ -102,7 +79,6 @@
  data() {
    return {
      ids: [],
      uniqueStateArr: [],
      ajaxFun: fetchList,
      multipleSelection: [],
      isShowQuery: false,
@@ -337,41 +313,8 @@
            searchInfoType: 'datetimerange'
          }
        ],
        toolbar: [
          // {
          //   text: '复制',
          //   fun: this.copyDocument,
          //   disabled: false,
          //   permitArr: []
          // },
          /*,
          {
            text: '海缆OA',
            fun: () => {
              this.approveHandle(0)
            },
            disabled: false,
            permitArr: ['01draft', '04reject'],
            loading: false
          },
          {
            text: '陆缆OA',
            fun: () => {
              this.approveHandle(1)
            },
            disabled: false,
            permitArr: ['01draft', '04reject'],
            loading: false
          },
          {
            text: '导出word',
            type: 'primary',
            fun: this.exportWord,
            disabled: false,
            permitArr: []
          } */
        ],
        operator: [],
        toolbar: [],
        operator: null,
        operatorConfig: {
          fixed: 'right',
          label: '操作',
@@ -441,10 +384,51 @@
  activated() {
    this.getData()
  },
  created() {
    this.getBomTypeDbOptions()
  created() {
    if(this.permissions.technology_document_add){
      this.table.toolbar.push({
        text: '新增',
        type: 'primary',
        disabled: false,
        fun: ()=>{this.addOrUpdateHandle()},
        permitArr: [],
      })
    }
    if(this.permissions.technology_document_accept){
      this.table.toolbar.push({
        text: '批准',
        disabled: true,
        fun: ()=>{this.changeState('accept')},
        permitArr: ['01draft', '03accepted', '04reject'],
      })
    }
    if(this.permissions.technology_document_reject){
      this.table.toolbar.push({
        text: '拒绝',
        disabled: true,
        fun: () => {this.changeState('reject')},
        permitArr: ['01draft', '03accepted', '04reject'],
      })
    }
    if(this.permissions.technology_document_cancel){
      this.table.toolbar.push({
        text: '撤销',
        disabled: true,
        fun: ()=>{this.changeState('cancel')},
        permitArr: ['01draft', '03accepted', '04reject'],
      })
    }
    if (this.permissions.technology_document_del) {
      this.table.operator.push({
      this.table.toolbar.push({
        text: '批量删除',
        type: 'primary',
        disabled: false,
        fun: ()=>{this.deleteBatch()},
        permitArr: [],
      })
    }
    if (this.permissions.technology_document_del) {
      this.table.operator = [{
        text: '删除',
        type: 'text',
        size: 'small',
@@ -453,18 +437,19 @@
          val: ['01draft'],
          key: 'state'
        }
      })
    } else {
      this.table.operator.push({
        text: '删除',
        type: 'text',
        size: 'small',
        fun: this.deleteHandle,
        show: {
          val: [],
          key: 'state'
        }
      })
      }]
    }
    this.getBomTypeDbOptions()
  },
  watch:{
    multipleSelection(newVal){
      if(newVal.length==0){
        this.table.toolbar.forEach(ele=>{
          if(ele.text=='拒绝' || ele.text=='批准' || ele.text=='撤销'){
            ele.disabled = true
          }
        })
      }
    }
  },
  methods: {
@@ -518,10 +503,6 @@
    },
    // 删除
    deleteHandle(row) {
      if(!this.permissions.technology_document_del){
        this.$message.error("该角色没有操作权限")
        return
      }
      this.$confirm('是否确认删除工艺文件编号:' + row.number + '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
@@ -577,22 +558,21 @@
          uniqueStateArr.push(stateArr[i])
        }
      }
      this.uniqueStateArr = uniqueStateArr
      // 循环表头按钮,判断每个按钮的permitArr是否完全包含选中状态,若完全包含,则按钮亮,否则按钮灰
      // var toolbar = this.table.toolbar
      // for (var j = 0; j < toolbar.length; j++) {
      //   if (
      //     uniqueStateArr.every((val) =>
      //       toolbar[j].permitArr.length <= 0
      //         ? true
      //         : toolbar[j].permitArr.includes(val)
      //     )
      //   ) {
      //     toolbar[j].disabled = false
      //   } else {
      //     toolbar[j].disabled = true
      //   }
      // }
      var toolbar = this.table.toolbar
      for (var j = 0; j < toolbar.length; j++) {
        if (
          uniqueStateArr.every((val) =>
            toolbar[j].permitArr.length <= 0
              ? true
              : toolbar[j].permitArr.includes(val)
          )
        ) {
          toolbar[j].disabled = false
        } else {
          toolbar[j].disabled = true
        }
      }
      // 将选中记录赋值给multipleSelection
      this.multipleSelection = val
    },