王震
2023-12-13 67da82f0b0c24df5f19bbfcfec63801d9ae902d8
src/views/quality/processconfiguration/index.vue
@@ -9,6 +9,7 @@
        :prelang="prelang"
        :options="options"
        :ajaxFun="ajaxFun"
        @queryParam="getQueryParam($event)"
        ref="processconfiguration"
      >
        <template #toolbar></template>
@@ -22,32 +23,48 @@
      <table></table>
    </basic-container>
    <div>
      <el-dialog title="最终处置意见" :visible.sync="dialogVisible" width="38%">
      <el-dialog title="最终处置意见" :visible.sync="dialogVisible" width="30%">
            <el-form label-width="120px">
                <div>
                    <el-form-item label="最终处置意见:">
                <div v-if="type === '原材料检验'">
                    <!-- <el-form-item label="最终处置意见:">
                        <el-input type="textarea" :rows="3" placeholder="请输入内容"  v-model="WayIdea" />
                    </el-form-item>
                    <!-- <el-checkbox-group v-model="checkList">
                      <el-checkbox label="返修"></el-checkbox>
                      <el-checkbox label="换货"></el-checkbox>
                      <el-checkbox label="退货"></el-checkbox>
                      <el-checkbox label="作废"></el-checkbox>
                      <el-checkbox label="让步接收"></el-checkbox>
                      <el-checkbox label="降级使用"></el-checkbox>
                    </el-checkbox-group> -->
                    </el-form-item> -->
                    <el-radio-group v-model="checkList">
                      <el-radio label="返修">返修</el-radio>
                      <el-radio label="换货">换货</el-radio>
                      <el-radio label="退货">退货</el-radio>
                      <el-radio label="作废">作废</el-radio>
                      <el-radio label="让步接受">让步接受</el-radio>
                      <el-radio label="让步接收">让步接收</el-radio>
                      <el-radio label="接收">接收</el-radio>
                    </el-radio-group>
                </div>
                <div v-if="type === '产品检验' ">
                    <el-radio-group v-model="checkList">
                      <el-radio label="返修">返修</el-radio>
                      <el-radio label="接收">接收</el-radio>
                      <el-radio label="降级使用">降级使用</el-radio> 
                      <el-radio label="报废">报废</el-radio>
                      <el-radio label="降为他用">降为他用</el-radio>
                    </el-radio-group>
                </div>
                <div v-if="type ===  '过程检验'">
                    <el-radio-group v-model="checkList">
                      <el-row>
                          <div style="padding: 20px;">
                          <el-radio label="返修">返修</el-radio>
                          <el-radio label="接收">接收</el-radio>
                          <el-radio label="降级使用">降级使用</el-radio>
                          <el-radio label="报废">报废</el-radio>
                          </div>
                          <div style="padding: 20px;">
                          <el-radio label="返工">返工</el-radio>
                          <el-radio label="降为他用">降为他用</el-radio>
                          </div>
                    </el-row>
                    </el-radio-group>
                </div>
            </el-form>
            <span slot="footer" >
                <el-button @click="dialogVisible = false">取 消</el-button>
                <el-button @click="WayCancel()">取 消</el-button>
                <el-button type="primary" @click="WaySure()">确 定</el-button>
            </span>
        </el-dialog>
@@ -56,19 +73,26 @@
</template>
<script>
import { UnqualifiedList,pullInsUnapi,AuditSuggestion
import {
  UnqualifiedList,
  pullInsUnapi,
  AuditSuggestion,
  exportData
} from '@/api/quality/unqualifiedprocess'
import TableForm from './table-form'
import { mapGetters } from 'vuex'
// import { remote } from '@/api/admin/dict'
import { transform } from '@/util/fileTransform'
import ttable from '@/views/common/ztt-table.vue'
export default {
  data() {
    return {
      queryParam: {},
      checkList: "",
      WayIdea:'',
      // WayIdea:'',
      UserId:{},
      ajaxFun: UnqualifiedList,
      type:'',
      ajaxFun: UnqualifiedList,pullInsUnapi,AuditSuggestion,
      addOrUpdateVisible: false,
      multipleSelection: [],
      typeOptions: [],
@@ -90,6 +114,7 @@
        multiSelect: true, //
        seqNo: true,
        isShowHide: true, // 是否显示显影按钮
        isRefresh: true, // 是否显示刷新按钮
        isSearch: true, // 高级查询按钮
        defaultOrderBy: { column: 'createTime', direction: 'desc' }
      },
@@ -135,7 +160,7 @@
          {
            minWidth: '140',
            prop: 'materialCode',
            label: '产品编号',
            label: '零件号',
            isTrue: true,
            isSearch: true,
            searchInfoType: 'text',
@@ -238,44 +263,14 @@
          //     return this.processModeOptions
          //   }
          // },
          //发起人
            // {
            //   minWidth: '200',
            //   prop: 'originator',
            //   label: '发起人',
            //   sort: true,
            //   isTrue: true,
            //   isSearch: true,
            //   searchInfoType: 'text'
            // },
          // 审核人
          // {
          //   minWidth: '140',
          //   prop: 'examiner',
          //   label: '审核人',
          //   sort: true,
          //   isTrue: true,
          //   isSearch: true,
          //   searchInfoType: 'text'
          // },
          // 处理人
          // {
          //   minWidth: '120',
          //   prop: 'handler',
          //   label: '处理人',
          //   sort: true,
          //   isTrue: true,
          //   isSearch: true,
          //   searchInfoType: 'text'
          // },
        
        ],
        toolbar: [
          {
            text: '导出',
            type: 'primary',
            // fun: this.addOrUpdateHandle
          },
          // {
          //   text: '导出',
          //   type: 'primary',
          //   fun: this.handleExport
          // },
        ],
        operator: [
          // {
@@ -304,7 +299,7 @@
          minWidth: 100
        }
      },
      materialType: [{label:'原材料检验',value:'原材料检验'},{label:'过程检验',value:'过程检验'},{label:'质量检验',value:'质量检验'}],
      materialType: [{label:'原材料检验',value:'原材料检验'},{label:'过程检验',value:'过程检验'},{label:'产品检验',value:'产品检验'},{label:'包装检验',value:'包装检验'}],
      StateList: [{label:'全部',value:''},{label:'已提交审核',value:'1'},{label:'待处理',value:'0'},{label:'已处理',value:'2'}],
      insStateList: [{label:'其他',value:''},{label:'瑕疵',value:'1'}],
    }
@@ -315,33 +310,64 @@
  },
  computed: {
    ...mapGetters(['permissions'])
  },
  created() {
    // this.getType()
  },
  methods: {
    getQueryParam(data){
      this.queryParam = data
    },
    handleExport(){
      exportData(this.queryParam).then(res=>{
          this.downloadFun(res)
      }).catch(error=>{
          console.log(error);
      })
    },
    downloadFun(result){
        if(result == null || result == undefined){
            return;
        }
        var nameList = result.headers['content-disposition'];
        nameList = decodeURI(nameList);
        var fileName = nameList.split('=')[1];
        const blob = new Blob([result.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
        const downloadElement = document.createElement('a') // 新建一个DOM节点
        const href = window.URL.createObjectURL(blob) // 创建下载的链接
        downloadElement.href = href
        downloadElement.download = fileName // 下载后文件名
        document.body.appendChild(downloadElement) // 将新增的节点挂载到页面上
        downloadElement.click() // 点击下载
        document.body.removeChild(downloadElement) // 下载完成移除元素
        window.URL.revokeObjectURL(href)
    },
    //审核结果
    AuditResult(row){
      this.UserId = row.id
      this.type = row.type
      this.dialogVisible = true;
    },
    WayCancel(){
      this.dialogVisible = false
      this.checkList = null
      this.WayIdea = null
    },
    WaySure(){
      // console.log(this.checkList);
      // this.aa = this.checkList.join(',')
      // console.log(this.aa);
      // console.log(this.checkList);
      AuditSuggestion({id:this.UserId,way:this.checkList}).then(
        res =>{
          this.checkList = null
          this.WayIdea = null
          this.$refs.processconfiguration.refreshData()
          ;})
      this.dialogVisible = false
    },
    //提交审核
   Submitreview(row){
      console.log(row.id);
       pullInsUnapi({id:row.id}).then(res =>{
        console.log(res);
        this.$refs.processconfiguration.refreshData()
       })
    },
   
@@ -367,23 +393,9 @@
            return "<span style='color:#34BD66;'></span>"
        }
    }, 
    // materialTypeList(row, column, cellValue){
    //         if(cellValue != undefined || cellValue != null){
    //             if(cellValue == 原材料检验){
    //                 return "<span style='color:#E84738;'>原材料检验</span>"
    //             }
    //             if(cellValue == 过程检验){
    //               return "<span style='color:#34BD66;'>过程检验</span>"
    //             }
    //             if(cellValue == 质量检验){
    //               return "<span style='color:#34BD66;'>质量检验</span>"
    //             }
    //         }
    //     },
    // 获取数据列表
    getData() {
      this.$refs.processconfiguration.getDataList()
      // this.$refs.processconfiguration.getDataList()
    },
    handleSelectionChange(val) {
      // 多行选中