spring
2025-03-19 379ad4226bc5a3ad175635b5c40e6bf5b68e4069
src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue
@@ -30,9 +30,8 @@
          <el-col :span="12">
            <el-form-item label="检验对象:" prop="sample">
              <el-cascader v-model="editForm.sample" :options="itemParameterData.cascaderField.sample.tree"
                           :props="{value:'name',label:'name',checkStrictly: true, multiple: true}"
                           :show-all-levels="false"  clearable
                           filterable placeholder="请选择" size="small" style="width: 100%;"></el-cascader>
                :props="{ value: 'name', label: 'name', checkStrictly: true, multiple: true }" :show-all-levels="false"
                clearable filterable placeholder="请选择" size="small" style="width: 100%;"></el-cascader>
            </el-form-item>
          </el-col>
          <el-col :span="12">
@@ -45,14 +44,16 @@
          <el-col :span="12">
            <el-form-item label="场所:" prop="laboratory">
              <el-select v-model="editForm.laboratory" clearable placeholder="请选择" size="small" style="width: 100%">
                <el-option v-for="item in laboratoryList" :key="item.label" :label="item.label" :value="item.label"></el-option>
                <el-option v-for="item in laboratoryList" :key="item.label" :label="item.label"
                  :value="item.label"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="试验室:" prop="sonLaboratory">
              <el-select v-model="editForm.sonLaboratory" clearable placeholder="请选择" size="small" style="width: 100%">
                <el-option v-for="item in dict.type.sys_sub_lab" :key="item.value" :label="item.label" :value="item.value"></el-option>
                <el-option v-for="item in dict.type.sys_sub_lab" :key="item.value" :label="item.label"
                  :value="item.value"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
@@ -73,7 +74,8 @@
          <el-col :span="12">
            <el-form-item label="计量单位:" prop="unit">
              <el-select v-model="editForm.unit" clearable placeholder="请选择" size="small" style="width: 100%">
                <el-option v-for="item in dict.type.sys_unit" :key="item.value" :label="item.label" :value="item.value"></el-option>
                <el-option v-for="item in dict.type.sys_unit" :key="item.value" :label="item.label"
                  :value="item.value"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
@@ -98,15 +100,19 @@
        <el-row>
          <el-col :span="12">
            <el-form-item label="检验项类型:" prop="inspectionItemType">
              <el-select v-model="editForm.inspectionItemType" clearable placeholder="请选择" size="small" style="width: 100%">
                <el-option v-for="item in dict.type.inspection_item_type" :key="item.value" :label="item.label" :value="item.value"></el-option>
              <el-select v-model="editForm.inspectionItemType" clearable placeholder="请选择" size="small"
                style="width: 100%">
                <el-option v-for="item in dict.type.inspection_item_type" :key="item.value" :label="item.label"
                  :value="item.value"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="检验值类型:" prop="inspectionValueType">
              <el-select v-model="editForm.inspectionValueType" clearable placeholder="请选择" size="small" style="width: 100%">
                <el-option v-for="item in dict.type.inspection_value_type" :key="item.value" :label="item.label" :value="item.value"></el-option>
              <el-select v-model="editForm.inspectionValueType" clearable placeholder="请选择" size="small"
                style="width: 100%">
                <el-option v-for="item in dict.type.inspection_value_type" :key="item.value" :label="item.label"
                  :value="item.value"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
@@ -115,14 +121,16 @@
          <el-col :span="12">
            <el-form-item label="特殊标识:" prop="bsm">
              <el-select v-model="editForm.bsm" clearable placeholder="请选择" size="small" style="width: 100%">
                <el-option v-for="item in dict.type.inspection_bsm" :key="item.value" :label="item.label" :value="item.value"></el-option>
                <el-option v-for="item in dict.type.inspection_bsm" :key="item.value" :label="item.label"
                  :value="item.value"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="原始记录模板:" prop="templateId">
              <el-select v-model="editForm.templateId" clearable placeholder="请选择" size="small" style="width: 100%">
                <el-option v-for="item in templateIdList" :key="item.value" :label="item.label" :value="item.value"></el-option>
                <el-option v-for="item in templateIdList" :key="item.value" :label="item.label"
                  :value="item.value"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
@@ -142,18 +150,19 @@
        <el-row>
          <el-col :span="12">
            <el-form-item label="试验方法:" prop="method">
              <el-select v-model="editForm.method" clearable multiple placeholder="请选择" size="small" style="width: 100%">
                <el-option v-for="item in methodList" :key="item.value" :label="item.label" :value="item.label"></el-option>
              <el-select v-model="editForm.method" clearable multiple placeholder="请选择" size="small"
                style="width: 100%">
                <el-option v-for="item in methodList" :key="item.value" :label="item.label"
                  :value="item.label"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="条件:" prop="radiusList">
            <el-form-item label="试验条件:" prop="radiusList">
              <el-select v-model="editForm.radiusList" allow-create default-first-option filterable multiple
                         placeholder="请选择"
                         size="small"
                         style="width: 100%">
                <el-option v-for="item in radiusListList" :key="item.value" :label="item.label" :value="item.value"></el-option>
                placeholder="请选择" size="small" style="width: 100%">
                <el-option v-for="item in radiusListList" :key="item.value" :label="item.label"
                  :value="item.value"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
@@ -165,13 +174,13 @@
            </el-form-item>
          </el-col>
        </el-row>
<!--        <el-col :span="12">-->
<!--          <el-form-item label="字典类型:" prop="dic">-->
<!--            <el-select v-model="editForm.dic" clearable placeholder="请选择" size="small" style="width: 100%">-->
<!--              <el-option v-for="item in dicList" :key="item.value" :label="item.label" :value="item.value"></el-option>-->
<!--            </el-select>-->
<!--          </el-form-item>-->
<!--        </el-col>-->
        <!--        <el-col :span="12">-->
        <!--          <el-form-item label="字典类型:" prop="dic">-->
        <!--            <el-select v-model="editForm.dic" clearable placeholder="请选择" size="small" style="width: 100%">-->
        <!--              <el-option v-for="item in dicList" :key="item.value" :label="item.label" :value="item.value"></el-option>-->
        <!--            </el-select>-->
        <!--          </el-form-item>-->
        <!--        </el-col>-->
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="closeDia">取 消</el-button>
@@ -190,7 +199,7 @@
  obtainItemParameterList,
  upItemParameter
} from "@/api/structural/capability";
import {selectStandardMethods} from "@/api/structural/standardMethod";
import { selectStandardMethods } from "@/api/structural/standardMethod";
export default {
  name: "EditForm",
@@ -267,7 +276,7 @@
  },
  // 方法集合
  methods: {
    openDia (type, row) {
    openDia(type, row) {
      this.operationType = type
      this.editFormDia = true
      this.obtainItemParameterList() // 场所类型
@@ -277,29 +286,29 @@
      if (type === 'add') {
        this.editForm = {
          inspectionItem: '', // 检验项
            inspectionItemEn: '', // 检验项EN
            inspectionItemSubclass: '', // 检验子项
            inspectionItemSubclassEn: '', // 检验子项EN
            sample: [], // 检验对象
            price: '', // 单价
            laboratory: '', // 场所
            sonLaboratory: '', // 试验室
            askTell: '', // 要求描述
            ask: '', // 要求值
            unit: '', // 计量单位
            manHour: '', // 工时
            manDay: '', // 预计时间
            manHourGroup: '', // 工时分组
            inspectionItemType: '', // 检验项类型
            inspectionValueType: '', // 检验值类型
            dic: '', // 字典类型
            bsm: '', // 特殊标识
            templateId: '', // 原始记录模板
            inspectionItemClass: '', // 检验项分类
            inspectionItemClassEn: '', // 检验项分类EN
            method: '', // 试验方法
            radiusList: [], // 条件
            rates: '', // 条件
          inspectionItemEn: '', // 检验项EN
          inspectionItemSubclass: '', // 检验子项
          inspectionItemSubclassEn: '', // 检验子项EN
          sample: [], // 检验对象
          price: '', // 单价
          laboratory: '', // 场所
          sonLaboratory: '', // 试验室
          askTell: '', // 要求描述
          ask: '', // 要求值
          unit: '', // 计量单位
          manHour: '', // 工时
          manDay: '', // 预计时间
          manHourGroup: '', // 工时分组
          inspectionItemType: '', // 检验项类型
          inspectionValueType: '', // 检验值类型
          dic: '', // 字典类型
          bsm: '', // 特殊标识
          templateId: '', // 原始记录模板
          inspectionItemClass: '', // 检验项分类
          inspectionItemClassEn: '', // 检验项分类EN
          method: '', // 试验方法
          radiusList: [], // 条件
          rates: '', // 条件
        }
        this.resetForm('editForm')
      } else {
@@ -310,7 +319,7 @@
      }
    },
    // 提交编辑
    handleEdit () {
    handleEdit() {
      this.$refs.editForm.validate(valid => {
        if (valid) {
          this.editLoad = true
@@ -322,7 +331,7 @@
          } else {
            obj.radiusList = null
          }
          if(obj.id){
          if (obj.id) {
            // 修改
            upItemParameter(obj).then(res => {
              this.editLoad = false
@@ -335,7 +344,7 @@
            }).catch(e => {
              this.editLoad = false
            })
          }else{
          } else {
            // 新增
            addItemParameter(obj).then(res => {
              this.editLoad = false
@@ -353,31 +362,31 @@
      })
    },
    // 关闭弹框
    closeDia () {
    closeDia() {
      this.editFormDia = false
      this.resetForm("editForm");
    },
    selectTestObjectByName() {
      getItemTree().then(res => {
        if (res.data.length > 0) {
          res.data.forEach(a=>{
          res.data.forEach(a => {
            this.cascaderFieldData(a)
          })
          this.itemParameterData.cascaderField.sample.tree = res.data
        }
      })
    },
    cascaderFieldData(val){
      if(val.children === undefined) {
    cascaderFieldData(val) {
      if (val.children === undefined) {
        return
      }else if(val.children.length==0){
      } else if (val.children.length == 0) {
        val.label = val.name
        val.value = val.id
        delete val.children
      }else{
      } else {
        val.label = val.name
        val.value = val.id
        val.children.forEach(a=>{
        val.children.forEach(a => {
          a.label = a.name
          a.value = a.id
          this.cascaderFieldData(a)
@@ -387,28 +396,28 @@
    getSelectStandardMethods() {
      selectStandardMethods().then(res => {
        let data = []
          if (res.data.length > 0) {
            res.data.forEach(a => {
              data.push({
                label: a.code,
                value: a.id,
              })
        if (res.data.length > 0) {
          res.data.forEach(a => {
            data.push({
              label: a.code,
              value: a.id,
            })
            this.methodList = data
          }
          })
          this.methodList = data
        }
      })
    },
    obtainItemParameterList() {
      obtainItemParameterList().then(res => {
        let data = []
          if (res.data.length > 0) {
            res.data.forEach(a => {
              data.push({
                label: a.laboratoryName,
                value: a.id
              })
        if (res.data.length > 0) {
          res.data.forEach(a => {
            data.push({
              label: a.laboratoryName,
              value: a.id
            })
          }
          })
        }
        this.laboratoryList = data
      })
    },