王震
2023-11-09 5fbb3a044caaf458d949005acff62b5df0ca3ac0
Merge remote-tracking branch 'origin/master'
已修改3个文件
185 ■■■■ 文件已修改
src/views/quality/finishedProductInspection/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/rawMaterial/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/rawMaterial/rawMaterial-form.vue 169 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/finishedProductInspection/index.vue
@@ -178,7 +178,13 @@
                        text: '打印',
                        type: 'text',
                        size: 'small',
                        fun: this.showPrint
                        fun: this.showPrint,
                        show: {
                            val: [
                                '1',
                            ],
                            key: 'result'
                        }
                    },{
                        text: '作废',
                        type: 'text',
src/views/quality/rawMaterial/index.vue
@@ -214,7 +214,13 @@
                    text: '打印',
                    type: 'text',
                    size: 'small',
                    fun: this.previewFun
                    fun: this.previewFun,
                    show: {
                        val: [
                            '1',
                        ],
                        key: 'judgeState'
                    }
                },
                {
                    text: '作废',
src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -102,12 +102,14 @@
      <div class="rawMaterial-detail">
        <el-row style="width:100%;z-index: 10;height:50px;">
            <el-col :span="18">检验项目</el-col>
            <el-col :span="6">
                <div style="width:100%;text-align: right;">
                    <el-button v-if="dataForm.id==null" size="small" @click="clickAddLine()">添加检验项目</el-button>
                    <el-button v-if="resultVal==null || dataForm.id==null" size="small" @click="addTeatValueColumn()">添加检测值列</el-button>
                    <el-button v-if="resultVal==null || dataForm.id==null" size="small" @click="delTeatValueColumn()">删除检测值列</el-button>
                </div>
            <el-col :span="2">
              <el-button style="width:90%" v-if="dataForm.id==null" size="small" @click="clickAddLine()">添加检验项目</el-button>
            </el-col>
            <el-col :span="2">
              <el-button style="width:90%" v-if="resultVal==null || dataForm.id==null" size="small" @click="addTeatValueColumn()">添加检测值列</el-button>
            </el-col>
            <el-col :span="2">
              <el-button style="width:90%" v-if="resultVal==null || dataForm.id==null" size="small" @click="delTeatValueColumn()">删除检测值列</el-button>
            </el-col>
        </el-row>
        <el-row style="width:100%;">
@@ -157,22 +159,14 @@
                  <el-table-column prop="testValue" label="检测值" min-width="260" 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-col v-if="scope.row.itype === '1'">
                            <el-input :disabled="scope.row.deviceId == '' ||  (dataForm.id!=null&&resultVal!=null)"
                                v-model="scope.row.testValueList[index]"
                                placeholder="请输入检测值"></el-input>
                        </el-col>
                          <el-col v-else>
                              <el-select style="width: 100%;"
                              :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&resultVal!=null)"
                              v-model="scope.row.testValueList[index]" placeholder="请选择">
                                  <el-option v-for="item in dataVal" :key="item.value" :label="item.label"
                                      :value="item.value">
                                  </el-option>
                              </el-select>
                          </el-col>
                      <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="请先选择设备!" placement="top-start">
                          <el-select style="width:100%" allow-create filterable default-first-option
                          :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&resultVal!=null)"
                          v-model="scope.row.testValueList[index]"
                          placeholder="请输入或选择检测值" @change="updateTestValue(scope.row,scope.$index)">
                            <el-option label="是" value="是"/>
                            <el-option label="否" value="否"/>
                          </el-select>
                        </el-tooltip>
                      </div>
                    </template>
@@ -191,8 +185,8 @@
                  <el-table-column prop="note" label="检验描述" width="260" >
                    <template slot-scope="scope">
                      <div v-if="!scope.row.children">
                      <el-input :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.note" placeholder="检验描述"></el-input>
                    </div>
                        <el-input :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.note" placeholder="检验描述"></el-input>
                      </div>
                    </template>
                  </el-table-column>
                  <el-table-column fixed="right" v-if="dataForm.id != null" prop="testState" label="结论" min-width="150">
@@ -206,10 +200,11 @@
                  </el-table-column>
                  <el-table-column fixed="right" style="background-color: white;" v-if="dataForm.id == null" label="操作" width="150">
                    <template slot-scope="scope">
                      <div>
                          <el-button v-if="scope.row.father!=null" type="text"  @click="addChildren(scope.row)">添加项目</el-button>
                          <el-button v-else type="text" @click="delChildren(scope,scope.$index)">取消</el-button>
                      <div v-if="scope.row.father!=null">
                          <el-button type="text"  @click="addChildren(scope.row)">添加项目</el-button>
                          <el-button type="text" @click="delChildren(scope.row,scope.$index,true)">删除行</el-button>
                      </div>
                      <el-button v-else type="text" @click="delChildren(scope.row,scope.$index,false)">取消</el-button>
                    </template>
                  </el-table-column>
                </el-table>
@@ -275,21 +270,12 @@
  updateDeviceById, } from '@/api/quality/rawMaterial'
  import rawMaterialPartDialog from '@/views/common/rawMaterial-part'
export default {
    // props:['currentRow'],
    computed:{},
    components:{
      rawMaterialPartDialog
    },
    data(){
        return{
          dataVal: [{
                label: '是',
                value: '是'
            }, {
                label: '否',
                value: '否'
            }],
          // componentData:{},
            userdata:[],
            currentRow:[],
            userlist:[],
@@ -337,7 +323,6 @@
            }],
            dataRule: {},
            deviceList: [],
            restaurants:[],
        }
    },
    beforeUpdate(){
@@ -354,7 +339,6 @@
      }
      this.init()
      this.getDeviceList()
      this.restaurants = this.loadAll();
    },
    watch:{
      dialogVisible(newVal){
@@ -364,24 +348,6 @@
      },
    },
    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){
@@ -441,10 +407,16 @@
          sessionStorage.setItem("raw-resultVal-"+this.dataForm.id,resultVal)
      },
      showDialog(){
        let pro = this.list.filter(item => {
          return item.testState == 0;
        let size = 0 //不合格项目数量
        this.list.forEach(item=>{
          if(item.children){
            let num = item.children.filter(e=>{
              return e.testState == 0
            }).length
            size+=num
          }
        })
        if (pro.length > 0) {
        if (size > 0) {
          this.dialogVisible = true
        }else{
          this.submitSave()
@@ -455,46 +427,52 @@
        let data = {
          id: this.dataForm.id,
          number: this.unqualifiedNum,
          // 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(row) {
        console.log(row);
        let ele = {
            father: row.father?row.father:null,
            iid: Math.random(),
            children:[]
        }
        if(row){
          let userNameList = []
          row.children.forEach(item => {
              item.iid = Math.random()
              ele.children.push({
                deviceId: null,
                deviceName: null,
                iid: Math.random(),
                required: item.required?item.required:null,
                rpId: null,
                name: item.name?item.name:null,
                unit: item.unit?item.unit:null,
                userName: null,
                testValue: null,
                testValueList: [],
                note: null,
                testState: null
              })
              let arr = []
              item.testValue = ''
              item.testValueList= []
              if (item.userName) {
                userNameList.push(item.userName)
              }
              if (item.inspectionValue) {
                  arr = item.inspectionValue.split(",")
              }
              item.empiricalValueAddss = arr
              if (arr.length > this.empiricalValueAdd) {
                  this.empiricalValueAdd = arr.length
              }
            this.list.push(row)
            this.list.push(ele)
          })
        }else{
          let ele = {
            father: '',
            iid: Math.random(),
            children:[{
          ele.push({
              deviceId: null,
              deviceName: null,
              iid: Math.random(),
@@ -507,8 +485,7 @@
              testValueList: [],
              note: null,
              testState: null
            }]
          }
            })
          this.list.push(ele)
        }
@@ -524,13 +501,16 @@
        }
      },
      updateTestValue(row,index){
        if(row.rpId == null || row.testValueList[index]==null){
        console.log(row);
        if(row.rpId == null){
          return
        }
        let val = row.testValueList.join(",");
        let obj = {
          deviceId: row.deviceId,
          rpId: row.rpId,
          testValue: row.testValueList.join(",")
          testValue: val,
          note: row.note
        }
        updateRawInsProduct(obj).then(res=>{
          if(res.data.code === 0){
@@ -546,7 +526,6 @@
      init(){
        if(this.dataForm.id){
          getObj(this.dataForm.id).then(res=>{
            console.log(res);
            let data = res.data.data
            this.dataForm.name = data.name
            this.dataForm.formTime = data.formTime
@@ -570,7 +549,9 @@
                    ele.iid = Math.random()
                    ele.father = item.rpFather
                    item.children.forEach(obj => {
                      console.log(obj);
                      if(obj.userName){
                        userNameList.push(obj.userName)
                      }
                      let arr= []
                      if(obj.testValue){
                        arr = obj.testValue.split(",")
@@ -607,10 +588,22 @@
          this.conclusionTable = []
        }
      },
       // 删除子项目
       delChildren(scope,index) {
        console.log(scope,index);
      // 删除子项目
      delChildren(row,index,isParent) {
        if(isParent){
          let parentIndex = this.list.findIndex(el =>{
            return el.iid == row.iid
          })
          this.list.splice(parentIndex,1)
        }else{
          let i = this.list.findIndex(el =>{
            return el.children.find(ele => ele.iid == row.iid)
          })
          let childrenIndex = this.list[i].children.findIndex(el =>{
            return el.iid == row.iid
          })
          this.list[i].children.splice(childrenIndex,1)
        }
      },
      //添加子项目
      addChildren(row){
@@ -632,12 +625,8 @@
        row.children.push(obj)
      },
      save(){
        console.log(this.dataForm);
        let data = this.dataForm
        console.log(data);
        console.log(this.list);
        data.rawInsProducts = this.list
        console.log('=====>');
        addRawInspects(data).then(res=>{
            this.$message.success("保存成功")
            this.$router.go(-1)