liding
4 天以前 8f06fbf30772f2dd23a0ca7957d0f6d3db92c0e9
src/views/business/inspectionTask/components/InspectionWord.vue
@@ -48,13 +48,23 @@
                placeholder="请输入检测地点" size="small" style="width: 200px"
                @change="m => subOtherForm(m, 'detectionPlace')"></el-input>
            </el-form-item>
            <el-form-item v-if="isDirectTemplateOrder()" label="设备:">
            <el-form-item label="设备:">
              <el-select v-model="currentOtherForm.deviceIds" :disabled="state != 1" multiple filterable clearable
                size="small" placeholder="请选择设备" style="width: 360px"
                @change="m => subOtherForm(m, 'deviceIds')">
                <el-option v-for="device in deviceOptions" :key="device.id" :label="device.label"
                  :value="device.id" />
              </el-select>
            </el-form-item>
          </el-form>
          <el-form :inline="true" :model="currentOtherForm" class="form-inline template-panel__conclusion--divided"
            size="small" label-width="84px">
            <el-form-item label="检验结论:">
              <el-radio-group v-model="currentOtherForm.insResult" :disabled="state != 2"
                @change="m => subOtherForm(m, 'insResult')">
                <el-radio :label="1">合格</el-radio>
                <el-radio :label="0">不合格</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-form>
        </div>
@@ -458,7 +468,8 @@
        humidity: null,
        detectionTime: null,
        detectionPlace: null,
        deviceIds: []
        deviceIds: [],
        insResult: null
      }
    }
  },
@@ -504,16 +515,15 @@
            humidity: item.humidity != null ? item.humidity : null,
            detectionTime: item.detectionTime != null ? item.detectionTime : null,
            detectionPlace: item.detectionPlace != null ? item.detectionPlace : null,
            deviceIds: Array.isArray(item.deviceIds) ? [...item.deviceIds] : []
            deviceIds: Array.isArray(item.deviceIds) ? [...item.deviceIds] : [],
            insResult: item.insResult != null ? item.insResult : null
          })
        })
        if (this.typeSource == '1') {
          this.retestTag = '1'
        }
        this.getEquipOptions(1)
        if (this.sonLaboratory === '新聚') {
          this.loadDeviceOptions()
        }
        this.loadDeviceOptions()
        // 获取当前样品的检验项
        let list = await this.getCurrentProduct(this.currentSample.id, 0)
        if (list === undefined) {
@@ -1345,11 +1355,6 @@
        })
      }
    },
    // 新聚直接绑定模板的单据,设备按模板选择
    isDirectTemplateOrder() {
      return this.sonLaboratory === '新聚' && this.currentSample &&
        (this.currentSample.insProduct || []).some(product => product.templateRowIndex != null)
    },
    loadDeviceOptions() {
      search({ status: 0 }).then(res => {
        this.deviceOptions = (res.data || []).map(device => ({
@@ -1369,13 +1374,23 @@
    upInsReview(e) {
      if (e == 1) {
        // 通过
        // 每个模板都要有结论;全部合格才算整单合格
        const insResults = this.tableLists.map(
          item => (this.otherForm[item.templateId] || {}).insResult
        )
        const missingIndex = insResults.findIndex(result => result !== 0 && result !== 1)
        if (missingIndex > -1) {
          this.$message.error(`请选择「${this.tableLists[missingIndex].templateName}」的检验结论`)
          return
        }
        this.reviewLoading = true;
        verifyPlan({
          orderId: this.orderId,
          type: 1,
          laboratory: this.sonLaboratory,
          tell: null,
          userId: this.checkUser
          userId: this.checkUser,
          insResult: insResults.every(result => result === 1) ? 1 : 0
        }).then(res => {
          if (res.code === 200) {
            this.$message.success("操作成功")
@@ -1423,7 +1438,8 @@
          humidity: null,
          detectionTime: null,
          detectionPlace: null,
          deviceIds: []
          deviceIds: [],
          insResult: null
        })
      }
    },
@@ -1456,7 +1472,7 @@
        if (!form.humidity) missing.push(`请填写「${m.templateName}」的湿度`)
        if (!form.detectionTime) missing.push(`请选择「${m.templateName}」的检测时间`)
        if (!form.detectionPlace) missing.push(`请填写「${m.templateName}」的检测地点`)
        if (this.isDirectTemplateOrder() && (!form.deviceIds || form.deviceIds.length === 0)) {
        if (!form.deviceIds || form.deviceIds.length === 0) {
          missing.push(`请选择「${m.templateName}」的设备`)
        }
      })
@@ -1817,6 +1833,11 @@
  color: #606266;
}
.template-panel__conclusion--divided {
  border-top: 1px dashed #e4e7ed;
  padding-top: 12px;
}
.center {
  width: calc(100% - 40px);
  /* max-height: 580px; */