zouyu
2023-12-26 032ddb30a8d9d884cc176a4a506580b4a1272586
src/views/quality/processInspect/processInspect-form.vue
@@ -31,6 +31,7 @@
                            </el-col>
                            <el-col :span="6">
                                <el-form-item label="产品名称:">
                                    <el-tooltip class="item" effect="dark" :content="processInspectVo.material">
                                    <el-select style="width: 100%" @change="changeOptionsSamplename"
                                        :disabled="processInspectVo.id != null" v-model="processInspectVo.material"
                                        size="small" placeholder="请选择产品名称">
@@ -38,6 +39,7 @@
                                            :label="item.material" :value="item.materialCode">
                                        </el-option>
                                    </el-select>
                                    </el-tooltip>
                                </el-form-item>
                            </el-col>
                            <el-col :span="6">
@@ -50,8 +52,10 @@
                        <el-row>
                            <el-col :span="6">
                                <el-form-item label="规格型号:">
                                    <el-tooltip class="item" effect="dark" :content="processInspectVo.specs">
                                    <el-input disabled v-model="processInspectVo.specs" 
                                        autocomplete="off" />
                                    </el-tooltip>
                                </el-form-item>
                            </el-col>
                        
@@ -100,13 +104,13 @@
                            default-expand-all style="width: 100%"
                            ref="table" 
                            :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
                            <el-table-column type="index" label="序号" width="60"></el-table-column>
                            <el-table-column label="项目" prop="father" width="240"></el-table-column>
                            <el-table-column prop="iname" label="指标" width="240"></el-table-column>
                            <el-table-column prop="iunit" label="单位" width="240"></el-table-column>
                            <el-table-column prop="required" label="标准值" width="240"></el-table-column>
                            <el-table-column type="index" label="序号" show-overflow-tooltip width="60"></el-table-column>
                            <el-table-column label="项目" prop="father" show-overflow-tooltip width="140"></el-table-column>
                            <el-table-column prop="iname" label="指标" show-overflow-tooltip width="140"></el-table-column>
                            <el-table-column prop="iunit" label="单位" show-overflow-tooltip width="140"></el-table-column>
                            <el-table-column prop="required" label="标准值" width="140"></el-table-column>
                            <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index"
                                label="检测值" width="240" style="text-align: center;">
                                label="检测值" width="140" style="text-align: center;">
                                <template slot-scope="scope">
                                    <el-col v-if="scope.row.itype === '1'">
                                        <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null"
@@ -132,21 +136,27 @@
                                    </el-col>
                                </template>
                            </el-table-column>
                            <el-table-column prop="deviceName" label="试验设备" min-width="250">
                            <el-table-column prop="deviceName" label="试验设备" min-width="200">
                                <template slot-scope="scope">
                                    <span v-if="resultVal != null && scope.row.iname != null"
                                        v-text="scope.row.ename"></span>
                                    <div v-else>
                                        <el-select style="width:100%" v-model="scope.row.eId" v-if="scope.row.iname != null"
                                        <el-select style="width:60%" v-model="scope.row.eId" v-if="scope.row.iname != null"
                                            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>
                                        </el-select>
                                        <el-button
                                    size="small"
                                    slot="append"
                                    icon="el-icon-full-screen"
                                    v-if="scope.row.iname != null"
                                    @click="codeDevice(scope.row,scope.$index)"></el-button>
                                    </div>
                                </template>
                            </el-table-column>
                            <el-table-column
                                label="检验描述" width="240" style="text-align: center;">
                            <el-table-column show-overflow-tooltip
                                label="检验描述" width="140" style="text-align: center;">
                                <template slot-scope="scope">
                                    <el-col>
                                        <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null"
@@ -182,8 +192,8 @@
                        <el-table border height="90" :data="inspectionResultForm"
                            :header-cell-style="{ textAlign: 'center', color: 'black', backgroundColor: '#fafafa' }"
                            :cell-style="{ textAlign: 'center' }">
                            <el-table-column prop="materialCode" label="物料编号"></el-table-column>
                            <el-table-column prop="material" label="物料名称"></el-table-column>
                            <el-table-column prop="materialCode" width="200" show-overflow-tooltip label="物料编号"></el-table-column>
                            <el-table-column prop="material" width="200" show-overflow-tooltip label="物料名称"></el-table-column>
                            <el-table-column prop="userName" label="检验员"></el-table-column>
                            <el-table-column prop="result" label="检验结论">
                                <template slot-scope="scope">
@@ -202,6 +212,18 @@
                </el-row>
            </div>
        </div>
        <el-dialog
  title="设备扫描"
  :visible.sync="deviceCode"
  width="60%">
  <div style="height: 100vh;width: 100%;">
    <qr-code-app ref="codeDeviceCompont" @ok="getDeviceResultInfo" @cancelCodeDialog="cancelDeviceCodeDialog"></qr-code-app>
  </div>
  <span slot="footer" class="dialog-footer">
    <el-button @click="deviceCode = false">取 消</el-button>
    <el-button type="primary" @click="deviceCode = false">确 定</el-button>
  </span>
</el-dialog>
    </div>
</template>
    
@@ -215,9 +237,16 @@
    updateProcessInspectsById,
} from '@/api/quality/processInspect'
import { selectDevice } from '@/api/quality/processInspect'
import qrCodeApp from '@/views/common/qrCodeApp'
export default {
    components:{
        qrCodeApp
    },
    data() {
        return {
            row: null,
            proIndex: 0,
            deviceCode: false,
            rules: {
                orderNumber: [{required:true,message:'订单号不能为空',trigger:'blur'}]
            },
@@ -273,6 +302,33 @@
        this.init()
    },
    methods: {
        cancelDeviceCodeDialog(){
        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=>{
          return item.id==id
        })[0]
        console.log(filterData);
        this.row.eId=Number(id)
        this.updateDevice(this.row)
        }else{
            this.$message({
          message: '未识别出二位码计量器具信息!',
          type: 'warning'
        });
        }
      },
      codeDevice(row,index){
        this.row=row
        console.log("row",row);
        this.deviceCode =true
        this.$refs.codeDeviceCompont.openCamera()
        this.proIndex=index
      },
        submitSave() {
            let pro = 0
            this.inspectionItems.forEach(item => {
@@ -436,7 +492,7 @@
                let isNumber = true
                for(var i=0;i<row.empiricalValueAddss.length;i++){
                    let val = row.empiricalValueAddss[i]
                    if(!/^[0-9]*[1-9][0-9]*$/.test(val)){
                    if(!/(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/.test(val)){
                        row.empiricalValueAddss[i] = null
                        _than.$message.error("请输入数字")
                        isNumber = false