王震
2023-12-29 b3cdb967634dddba8a88bca2550f7e07c9ac262c
src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -28,16 +28,16 @@
            </el-col>
              <el-col :span="6">
                <el-form-item label="零件号" prop="code">
                <el-input v-model="dataForm.code" disabled>
                <el-input v-model="dataForm.code">
                  <el-button
                    slot="append"
                    icon="el-icon-search"
                    :disabled="resultVal!=null && dataForm.id!=null"
                    :disabled="resultVal!=null"
                    @click="queryCode"></el-button>
                    <el-button
                    slot="append"
                    icon="el-icon-full-screen"
                    :disabled="resultVal!=null && dataForm.id!=null"
                    :disabled="resultVal!=null"
                    @click="Turnonthecamera"></el-button>
                </el-input>
                </el-form-item>
@@ -114,15 +114,15 @@
      <div>
        <el-tabs class="rawMaterial-detail" @tab-click="tabsClick">
          <el-tab-pane label="检验项目">
            <el-row style="width:100%;z-index: 10;height:50px;">
                <el-col :xs="12" :lg="18"></el-col>
                <el-col :xs="4" :lg="2" style="text-align: right;">
            <el-row style="width:100%;z-index: 10;height:50px;" v-if="resultVal==null">
                <el-col :sm="15" :lg="18"></el-col>
                <el-col :sm="3" :lg="2" style="text-align: right;">
                  <el-button v-if="dataForm.id==null" size="small" @click="clickAddLine()">添加检验项目</el-button>
                </el-col>
                <el-col :xs="4" :lg="2" style="text-align: right;">
                <el-col :sm="3" :lg="2" style="text-align: right;">
                  <el-button class="pad-addcol-btn" v-if="resultVal==null || dataForm.id==null" size="small" @click="addTeatValueColumn()">添加检测值列</el-button>
                </el-col>
                <el-col :xs="4" :lg="2" style="text-align: right;">
                <el-col :sm="3" :lg="2" style="text-align: right;">
                  <el-button v-if="resultVal==null || dataForm.id==null" size="small" @click="delTeatValueColumn()">删除检测值列</el-button>
                </el-col>
            </el-row>
@@ -141,12 +141,12 @@
                    :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
                      <el-table-column type="index" label="序号" width="60">
                      </el-table-column>
                      <el-table-column prop="father" label="检验项目" width="260">
                      <el-table-column prop="father" label="检验项目" width="160">
                        <template slot-scope="scope">
                          <el-input v-if="scope.row.children" style="width:90%" :disabled="dataForm.id!=null" v-model="scope.row.father" placeholder="请输入检验项目"></el-input>
                        </template>
                      </el-table-column>
                      <el-table-column prop="name" label="项目" width="260">
                      <el-table-column prop="name" label="项目" width="160">
                        <template slot-scope="scope">
                        <div v-if="!scope.row.children">
                          <el-input class="inline-input" :disabled="dataForm.id!=null" v-model="scope.row.name"
@@ -154,7 +154,7 @@
                      </div>
                          </template>
                      </el-table-column>
                      <el-table-column prop="unit" label="单位" width="260">
                      <el-table-column prop="unit" label="单位" width="160">
                        <template slot-scope="scope">
                        <div v-if="!scope.row.children">
                          <el-input :disabled="dataForm.id != null" v-model="scope.row.unit" placeholder="请输入单位"></el-input>
@@ -162,7 +162,7 @@
                        </template>
    
                      </el-table-column>
                      <el-table-column prop="required" label="标准值" width="260">
                      <el-table-column prop="required" label="标准值" width="160">
                        <template slot-scope="scope">
                          <div v-if="!scope.row.children">
                          <el-input :disabled="dataForm.id != null" v-model="scope.row.required"
@@ -170,7 +170,7 @@
                          </div>
                        </template>
                      </el-table-column>
                      <el-table-column prop="testValue" label="检测值" min-width="260" v-for="(item,index) in empiricalValueAdd" :key="index">
                      <el-table-column prop="testValue" label="检测值" min-width="160" v-for="(item,index) in empiricalValueAdd" :key="index">
                        <template slot-scope="scope">
                          <div v-if="!scope.row.children">
                          <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="请先选择设备!" placement="top-start">
@@ -186,10 +186,10 @@
                          </div>
                        </template>
                      </el-table-column>
                      <el-table-column prop="deviceName" label="试验设备" min-width="260">
                      <el-table-column prop="deviceName" label="试验设备" min-width="200">
                        <template slot-scope="scope">
                          <div v-if="!scope.row.children">
                            <el-select ref="" :disabled="dataForm!=null && resultVal!=null" style="width:80%"
                            <el-select ref="" :disabled="dataForm!=null && resultVal!=null" style="width:60%"
                            v-model="scope.row.deviceId" filterable @change="updateDevice(scope.row,scope.$index)">
                                <el-option v-for="(item,index) in deviceList"
                                :key="index" :value="item.id" :label="item.code +'-'+ item.name"></el-option>
@@ -203,7 +203,7 @@
                          </div>
                        </template>
                      </el-table-column>
                      <el-table-column prop="note" label="检验描述" width="260" >
                      <el-table-column prop="note" label="检验描述" width="160" >
                        <template slot-scope="scope">
                          <div v-if="!scope.row.children">
                            <el-input @blur="changeState(scope.row, scope.$index)" :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.note" placeholder="检验描述"></el-input>
@@ -241,6 +241,7 @@
              element-loading-text="请稍等,文件上传中"
            >
              <el-upload
                :disabled="dataForm.rawInsNo==null || resultVal!=null"
                drag
                ref="upload"
                action="/mes/rawInsProduct/upload"
@@ -263,6 +264,7 @@
              <el-table-column
                prop="rawInsNo"
                align="center"
                width="120"
                label="原材料检验编号"
                show-overflow-tooltip
              ></el-table-column>
@@ -318,8 +320,8 @@
            <el-table border height="90" :data="conclusionTable" ref="conclusion" v-model="conclusion"
            :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}"
            :cell-style="{textAlign:'center'}">
                <el-table-column prop="code" label="物料编号"></el-table-column>
                <el-table-column prop="name" label="物料名称"></el-table-column>
                <el-table-column prop="code" width="150" show-overflow-tooltip label="物料编号"></el-table-column>
                <el-table-column prop="name" width="150" show-overflow-tooltip label="物料名称"></el-table-column>
                <el-table-column prop="userName" label="检验员"></el-table-column>
                <el-table-column prop="judgeState" label="检验结论">
                  <template slot-scope="scope">
@@ -388,11 +390,13 @@
  updateRawInsProduct,
  updateRawInspectsById,
  getProcessConfigFiles,
  downloadProcessConfigFile,
  deleteProcessConfigFile,
  updateDeviceById, chooseIFS} from '@/api/quality/rawMaterial'
  import rawMaterialPartDialog from '@/views/common/rawMaterial-part'
  import { getStore } from '@/util/store'
  import qrCodeApp from '@/views/common/qrCodeApp'
  import transformImage from '@/util/fileTransform'
  export default {
  components:{
    rawMaterialPartDialog,
@@ -491,6 +495,10 @@
    methods:{
      tabsClick(tab,even){
        if(tab.index == 1){
          if(this.dataForm.rawInsNo==null){
            this.$message.error("请先保存原材料检验信息")
            return
          }
            this.getConfigFiles();
        }
      },
@@ -504,11 +512,11 @@
        })
      },
      downloadProcessConfigFile(row) {
        // downloadProcessConfigFile(
        //   row.fileName,
        //   row.bucketName,
        //   row.originalFileName
        // )
        downloadProcessConfigFile({
            bucket: row.bucketName,
            fileName: row.fileName,
            originalFileName: row.originalFileName
        })
      },
      delProcessConfigFile(row) {
          this.$confirm('是否删除该附件', '提示', {
@@ -516,13 +524,11 @@
            cancelButtonText: '取消',
            type: 'warning',
            closeOnClickModal: false
          }).then(function() {
            return deleteProcessConfigFile(row.id)
          }).then((data) => {
            this.getConfigFiles()
          })
            .then(function() {
              return deleteProcessConfigFile(row.id)
            })
            .then((data) => {
              this.getConfigFiles()
            })
      },
      submitUpload() {
        this.paramData.rawInsNo = this.dataForm.rawInsNo
@@ -537,7 +543,6 @@
        this.deviceCode = false
      },
      getDeviceResultInfo(val){
        console.log("扫描后数据",val);
        let id=val.split("id@")[1]
        if(id!=undefined&&id!=''&&id!=null){
          let filterData=this.deviceList.filter(item=>{
@@ -563,19 +568,18 @@
      getResultInfo(data){
        if(!data.includes("part_no")){
          this.$message({
          message: '未识别出二位码零件信息!',
          message: '未识别出二维码零件信息!',
          type: 'warning'
        });
        }
        let obj=JSON.parse(data)
        let info={"code":obj["part_no"]}
        console.log("值",info);
        if(info.code!=undefined&&info.code!=''){
          this.paramObj = info
          this.showPart = true
        }else{
          this.$message({
          message: '未识别出二位码零件信息!',
          message: '未识别出二维码零件信息!',
          type: 'warning'
        });
        }
@@ -585,9 +589,9 @@
      },
       // 打开相机
      Turnonthecamera() {
        this.qrcode = true
        this.$refs.codeCompont.openCamera()
    },
          this.qrcode = true
          this.$refs.codeCompont.openCamera()
      },
      // 确认回调
      selectPart(param, nodePart, index) {
        if (typeof param !== 'undefined') {
@@ -824,16 +828,22 @@
                    this.list.push(ele)
                }}
            })
            let rVal = '1'
            let rVal = ''
            let passNum = 0
            let unPassNum = 0
            this.list.forEach(item=>{
                if(item.children){
                  item.children.forEach(ele=>{
                    if(ele.testState == 0){
                      rVal = '0'
                      unPassNum += 1
                    }
                    if(ele.testState == 1){
                      passNum+=1
                    }
                  })
                }
            })
            rVal = (passNum+unPassNum)>0 ? unPassNum>0 ? '0' :'1' : ''
            this.conclusionTable = [{
              code: data.code,
              name: data.name,
@@ -970,7 +980,7 @@
.rawMaterial-basic {
  background-color: #fff;
  height: 155px;
  height: 170px;
  display: flex;
  flex-wrap: wrap;
  padding: 10px 20px;