86134
2023-11-07 000b6f8c42b1eb52a75d3fdf58a950a26bfe18f6
src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -75,12 +75,19 @@
                  </el-form-item>
                </el-col>
                <el-col :span="6">
                  <el-form-item  prop="projectName" label="项目名称">
                    <el-tooltip :disabled="dataForm.projectName==null" :content="dataForm.projectName">
                      <el-input v-model="dataForm.projectName" disabled ></el-input>
                    </el-tooltip>
                  </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="6">
                  <el-form-item label="报检日期" prop="createTime" v-if="dataForm.id!=null">
                      <el-input v-model="dataForm.createTime" disabled />
                  </el-form-item>
                </el-col>
            </el-row>
            <el-row>
              </el-col>
              <el-col :span="6">
                <el-form-item label="报检人" prop="createUser" v-if="dataForm.id!=null">
                      <el-input v-model="dataForm.createUser" disabled />
@@ -107,6 +114,16 @@
                :data="list" border style="width: 100%;" height="400">
                  <el-table-column type="index" label="序号" width="60">
                  </el-table-column>
                  <el-table-column prop="father" label="检验项目" width="260">
                    <template slot-scope="scope">
                      <el-input :disabled="dataForm.id != null" v-model="scope.row.father" placeholder="请输入检验项目"></el-input>
                    </template>
                  </el-table-column>
                  <el-table-column prop="note" label="检验描述" width="260">
                    <template slot-scope="scope">
                      <el-input :disabled="dataForm.id != null" v-model="scope.row.note" placeholder="检验描述"></el-input>
                    </template>
                  </el-table-column>
                  <el-table-column prop="name" label="项目" width="260">
                    <template slot-scope="scope">
                      <el-select v-if="projectList.length > 0" :disabled="dataForm.id != null" class="inline-input" v-model="scope.row.name"
@@ -117,6 +134,7 @@
                        placeholder="请输入项目名称"></el-input>
                    </template>
                  </el-table-column>
                  <el-table-column prop="unit" label="单位" width="260">
                    <template slot-scope="scope">
                      <el-input :disabled="dataForm.id != null" v-model="scope.row.unit" placeholder="请输入单位"></el-input>
@@ -128,25 +146,40 @@
                        placeholder="请输入标准值"></el-input>
                    </template>
                  </el-table-column>
                  <el-table-column prop="testValue" label="检测值" min-width="260" v-for="(item, index) in empiricalValueAdd"
                    :key="index">
                    <template slot-scope="scope">
                      <el-tooltip :disabled="scope.row.equipmentId != null" class="item" effect="dark" content="请先选择设备!"
                      <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="请先选择设备!"
                        placement="top-start">
                        <el-input :disabled="scope.row.equipmentId == null ||  (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.testValueList[index]"
                          @blur="updateTestValue(scope.row,index)" placeholder="请输入检测值"></el-input>
                      </el-tooltip>
                        <!-- <el-input :disabled="scope.row.equipmentId == null ||  (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.testValueList[index]"
                          @blur="updateTestValue(scope.row,index)" placeholder="请输入检测值"></el-input> -->
                        <el-autocomplete
                          style="width:100%"
                          :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&resultVal!=null)"
                          class="inline-input"
                          v-model="scope.row.testValueList[index]"
                          :fetch-suggestions="querySearch"
                          placeholder="请输入检测值"
                          @select="handleSelect"
                        ></el-autocomplete>
                        </el-tooltip>
                    </template>
                  </el-table-column>
                  <el-table-column prop="deviceName" label="试验设备" min-width="260">
                    <template slot-scope="scope">
                        <el-select :disabled="resultVal!=null && dataForm.id!=null" style="width:100%" 
                        v-model="scope.row.equipmentId" filterable @change="updateDevice(scope.row,scope.$index)">
                        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.number +'-'+ item.name"></el-option>
                            :key="index" :value="item.id" :label="item.code +'-'+ item.name"></el-option>
                        </el-select>
                    </template>
                  </el-table-column>
                  <el-table-column fixed="right" v-if="dataForm.id != null" prop="testState" label="结论" min-width="150">
                    <template slot-scope="scope">
                      <span v-if="scope.row.testState == 0" style="color:#F56C6C">不合格</span>
@@ -201,10 +234,6 @@
          <span>不合格数量:</span>
          <el-input type="number" v-model="unqualifiedNum" placeholder="请输入不合格数量"/>
        </el-col>
        <el-col>
          <span>实检数量:</span>
          <el-input type="number" placeholder="请输入实检数量" v-model="fiedNum"/>
        </el-col>
      </el-row>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 消</el-button>
@@ -224,13 +253,15 @@
  updateDeviceById, } from '@/api/quality/rawMaterial'
  import rawMaterialPartDialog from '@/views/common/rawMaterial-part'
export default {
    // props:['currentRow'],
    computed:{},
    components:{
      rawMaterialPartDialog
    },
    data(){
        return{
            fiedNum: null,
            currentRow:[],
            userlist:[],
            unqualifiedNum: null,
            dialogVisible:false,
            resultVal: null,
@@ -249,13 +280,13 @@
                formTime: '',
                message: '',
                name: '',
                code: '88.118.1/A0487643',
                code: '88.118.1/A0498220',
                specs: '',
                unit: '',
                number: '',
                supplier: '',
                rawInsProducts: [{
                  equipmentId: 0,
                  deviceId: 0,
                  name: '',
                  required: '',
                  testValue: '',
@@ -274,6 +305,8 @@
            }],
            dataRule: {},
            deviceList: [],
            restaurants:[],
            whetherNot:'',
        }
    },
    beforeUpdate(){
@@ -290,16 +323,38 @@
      }
      this.init()
      this.getDeviceList()
      this.restaurants = this.loadAll();
      console.log(this.dataForm);
    },
    watch:{
      dialogVisible(newVal){
        if(newVal){
          this.unqualifiedNum = null
          this.fiedNum = null
        }
      }
      },
    },
    methods:{
      querySearch(queryString, cb) {
        var restaurants = this.restaurants;
        var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
        cb(results);
      },
      createFilter(queryString) {
          return (restaurant) => {
            return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
          };
        },
      loadAll(){
        return [
        {"value":"是"},
        {"value":"否"}
      ];},
      handleSelect(item) {
        console.log(item);
      },
      changeName(index,row){
        this.projectList.forEach(item=>{
          if(row.name == item.name){
@@ -319,7 +374,11 @@
          this.dataForm.supplier = param.supplier
          this.dataForm.number = param.number
          this.dataForm.message = param.message
          this.dataForm.projectName = param.projectName
          this.projectList = param.rawInsProducts == null ? [] : param.rawInsProducts
          param.rawInsProducts.forEach(o=>{
            this.clickAddLine(o)
          })
        }
      },
      queryCode(){
@@ -330,7 +389,7 @@
      },
      updateDevice(row,index){
        if(this.dataForm.id != null){
          updateDeviceById({equiomentId:row.equipmentId,rpId:row.rpId}).then(res=>{
          updateDeviceById({deviceId:row.deviceId,rpId:row.rpId}).then(res=>{
            this.list[index].testValue = ''
            this.list[index].testState = null
            this.list[index].testValueList = []
@@ -367,24 +426,24 @@
        let data = {
          id: this.dataForm.id,
          number: this.unqualifiedNum,
          toLocationNo: this.fiedNum
          // toLocationNo: this.fiedNum
        }
        updateRawInspectsById(data).then(res => {
          if(res.data.code == 0){
            sessionStorage.setItem("raw-resultVal-"+this.dataForm.id,res.data.data)
            this.$message.success("上报成功");
            this.dialogVisible = false
            this.checkTestState()
          }
        });
        this.checkTestState()
      },
      addTeatValueColumn(){
        this.empiricalValueAdd = this.empiricalValueAdd + 1;
      },
      // 添加行
      clickAddLine() {
      clickAddLine(row) {
        let obj = {
          equipmentId: null,
          deviceId: null,
          name: "",
          required: "",
          testValue: "",
@@ -392,6 +451,11 @@
          testState: null,
          testValueList: [],
        };
        if(row!=undefined){
          obj.name = row.name
          obj.unit = row.unit
          obj.required = row.required
        }
        this.list.push(obj);
      },
      // 删除行
@@ -413,7 +477,7 @@
          return
        }
        let obj = {
          equiomentId: row.equipmentId,
          deviceId: row.deviceId,
          rpId: row.rpId,
          testValue: row.testValueList.join(",")
        }
@@ -439,9 +503,9 @@
            this.dataForm.unit = data.runit
            this.dataForm.supplier = data.supplier
            this.dataForm.number = data.number
            this.dataForm.projectName = data.projectName
            this.dataForm.createTime = data.creatTime
            this.dataForm.createUser = data.createUser
            // this.dataForm.judgeState = data.judgeState
            let userNameList = []
            this.list = []
            data.children.forEach(item=>{
@@ -454,7 +518,7 @@
                }
              }
              this.list.push({
                equipmentId: item.equiomentId,
                deviceId: item.deviceId,
                deviceName: item.deviceName,
                name: item.rpName,
                required: item.required,
@@ -493,7 +557,7 @@
        })
      },
      getDeviceList(){
        selectDevice(null).then(res=>{
        selectDevice().then(res=>{
          this.deviceList = res.data.data
        })
      },