zouyu
2024-03-08 e7751b3399787843964f9bcfa5461194df0f7c22
src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -177,30 +177,21 @@
                      <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">
                            <el-dropdown>
                            <el-input placeholder="检测值"/>
                            <i style="line-height: normal;padding: 10px 7px;" class="el-icon-arrow-down el-icon--right"></i>
                            <el-dropdown-menu slot="dropdown">
                                <el-dropdown-item>黄金糕</el-dropdown-item>
                                <el-dropdown-item>狮子头</el-dropdown-item>
                                <el-dropdown-item>螺蛳粉</el-dropdown-item>
                                <el-dropdown-item>双皮奶</el-dropdown-item>
                                <el-dropdown-item>蚵仔煎</el-dropdown-item>
                            </el-dropdown-menu>
                            </el-dropdown>
                            <!-- <el-autocomplete clearable
                            :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&(resultVal!=null && resultVal!=''))"
                            @blur.stop="changeState(scope.row,scope.$index)"
                            @select="changeState(scope.row,scope.$index)"
                            v-model="scope.row.testValueList[index]"
                            :fetch-suggestions="querySearch"
                            placeholder="请输入或选择检测值" >
                            <i style="line-height: normal;padding: 10px 7px;" class="el-icon-arrow-down" slot="suffix"></i>
                            <template slot-scope="{ item }">
                                <div>{{ item.value }}</div>
                            </template>
                            </el-autocomplete> -->
                            <!-- :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" -->
                            <!-- @blur.stop="changeState(scope.row)" -->
                            <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="请先选择设备!" placement="top-start">
                                <el-autocomplete clearable
                                cache="false"
                                ref="testValueInput"
                                @input="$nextTick(()=>{checkTestValues(scope.row)})"
                                @blur="$nextTick(()=>{changeState(scope.row)})"
                                v-model="scope.row.testValueList[index]"
                                :fetch-suggestions="querySearch"
                                placeholder="请输入或选择检测值" >
                                <template slot-scope="{ item }">
                                    <div>{{ item.value }}</div>
                                </template>
                                </el-autocomplete>
                            </el-tooltip>
                          </div>
                        </template>
@@ -225,7 +216,7 @@
                      <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 && resultVal!=''))" v-model="scope.row.note" placeholder="检验描述"></el-input>
                            <el-input @blur="changeState(scope.row)" :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" v-model="scope.row.note" placeholder="检验描述"></el-input>
                          </div>
                        </template>
                      </el-table-column>
@@ -415,11 +406,12 @@
  import rawMaterialPartDialog from '@/views/common/rawMaterial-part'
  import { getStore } from '@/util/store'
  import qrCodeApp from '@/views/common/qrCodeApp'
  import transformImage from '@/util/fileTransform'
  import testValueSelect from './testValue-select'
  export default {
  components:{
    rawMaterialPartDialog,
    qrCodeApp
    qrCodeApp,
    testValueSelect
  },
    computed:{},
    data(){
@@ -748,7 +740,7 @@
              required: null,
              rpId: null,
              name: null,
              unit: 'mm',
              unit: '',
              userName: null,
              testValue: '',
              testValueList: [],
@@ -891,27 +883,32 @@
        console.log(e,e.target.tabIndex);
        console.log(e.target.value);
      },
      changeState(row, index) {
        this.$nextTick(()=>{
            if(row){
                let isTrue = true
                for(var i=0;i<row.testValueList.length;i++){
                    let val = row.testValueList[i]
                    if(!['是','否'].includes(val)){
                        let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/
                        if(!reg.test(val)){
                          row.testValueList = ''
                          this.$message.error("请输入6位数字或选择是否")
                          isTrue = false
                      }
      checkTestValues(row){
        if(row){
              let isTrue = true
              for(var i=0;i<row.testValueList.length;i++){
                  let val = row.testValueList[i]
                  if(val != '' && val != null){
                      if(!['是','否'].includes(val)){
                          let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/
                          if(!reg.test(val)){
                            row.testValueList[i] = null
                            this.$message.error("请输入6位数字或选择是否")
                            isTrue = false
                        }
                    }
                  }
                }
                if(!isTrue){
                    return
                }
            }
            console.log(row.testValueList.join(","));
            return
              }
              if(!isTrue){
                  return
              }
          }
      },
      changeState(row) {
          console.log("更新--》",row.testValueList[0]);
          return
          this.$nextTick(()=>{
            if (row.rpId != null && row.rpId != '') {
                let val = row.testValueList.join(",")
                if (val === undefined || val === '' || val === null) {
@@ -1205,6 +1202,13 @@
  border: 1px solid #e4e7ed;
  border-bottom: none;
}
.dropdown{
    position: relative;
    right: 30px;
    top: 5px;
    color: #C0C4CC;
    font-size: 14px;
}
@media (max-width: 767px) {
  .pad-addcol-btn{
    font-size:12px;