spring
2025-03-06 f10537b9d15208e1851825691470fda54ff8e68a
完善能力范围
已修改2个文件
257 ■■■■ 文件已修改
src/api/structural/capability.js 148 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue 109 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/structural/capability.js
@@ -1,151 +1,151 @@
import request from '@/utils/request'
import request from "@/utils/request";
// 获取检验项目参数
export function selectItemParameterList(query) {
  return request({
    url: '/capacityScope/selectItemParameterList',
    method: 'get',
    params: query
  })
    url: "/capacityScope/selectItemParameterList",
    method: "get",
    params: query,
  });
}
// 获取检测对象
export function selectTestObjectList(query) {
  return request({
    url: '/capacityScope/selectTestObjectList',
    method: 'get',
    params: query
  })
    url: "/capacityScope/selectTestObjectList",
    method: "get",
    params: query,
  });
}
// 新增检验项目参数
export function addItemParameter(query) {
  return request({
    url: '/capacityScope/addItemParameter',
    method: 'post',
    data: query
  })
    url: "/capacityScope/addItemParameter",
    method: "post",
    data: query,
  });
}
// 删除检验项目参数
export function delItemParameter(query) {
  return request({
    url: '/capacityScope/delItemParameter',
    method: 'delete',
    params: query
  })
    url: "/capacityScope/delItemParameter",
    method: "delete",
    params: query,
  });
}
// 修改检验项目参数
export function upItemParameter(query) {
  return request({
    url: '/capacityScope/upItemParameter',
    method: 'post',
    data: query
  })
    url: "/capacityScope/upItemParameter",
    method: "post",
    data: query,
  });
}
// 获取检验对象树
export function getItemTree() {
  return request({
    url: '/capacityScope/getItemTree',
    method: 'get'
  })
    url: "/capacityScope/getItemTree",
    method: "get",
  });
}
// 新增检测对象
export function addTestObject(query) {
  return request({
    url: '/capacityScope/addTestObject',
    method: 'post',
    data: query
  })
    url: "/capacityScope/addTestObject",
    method: "post",
    data: query,
  });
}
// 删除检测对象
export function delTestObject(query) {
  return request({
    url: '/capacityScope/delTestObject',
    method: 'delete',
    params: query
  })
    url: "/capacityScope/delTestObject",
    method: "delete",
    params: query,
  });
}
// 修改检测对象
export function upTestObject(query) {
  return request({
    url: '/capacityScope/upTestObject',
    method: 'post',
    data: query
  })
    url: "/capacityScope/upTestObject",
    method: "post",
    data: query,
  });
}
// 查询检验对象的产品维护列表
export function selectProductListByObjectId(query) {
  return request({
    url: '/capacityScope/selectProductListByObjectId',
    method: 'get',
    params: query
  })
    url: "/capacityScope/selectProductListByObjectId",
    method: "get",
    params: query,
  });
}
// 新增产品
export function addProduct(query) {
  return request({
    url: '/capacityScope/addProduct',
    method: 'post',
    data: query
  })
    url: "/capacityScope/addProduct",
    method: "post",
    data: query,
  });
}
// 删除产品
export function delProduct(query) {
  return request({
    url: '/capacityScope/delProduct',
    method: 'delete',
    params: query
  })
    url: "/capacityScope/delProduct",
    method: "delete",
    params: query,
  });
}
// 修改产品
export function upProduct(query) {
  return request({
    url: '/capacityScope/upProduct',
    method: 'post',
    data: query
  })
    url: "/capacityScope/upProduct",
    method: "post",
    data: query,
  });
}
// 获取实验室名称
export function obtainItemParameterList() {
  return request({
    url: '/laboratoryScope/obtainItemParameterList',
    method: 'get',
  })
    url: "/laboratoryScope/obtainItemParameterList",
    method: "get",
  });
}
// 查询原始记录模板枚举
export function getStandardTemplate() {
  return request({
    url: '/StandardTemplate/getStandardTemplate',
    method: 'get',
  })
    url: "/StandardTemplate/getStandardTemplate",
    method: "get",
  });
}
// 根据产品id查询厂家密度绑定
export function selectSupplierDensityByProductId(query) {
  return request({
    url: '/productSupplierDensity/selectSupplierDensityByProductId',
    method: 'get',
    params: query
  })
    url: "/productSupplierDensity/selectSupplierDensityByProductId",
    method: "get",
    params: query,
  });
}
// 新增产品厂家密度绑定
export function addProductSupplierDensity(query) {
  return request({
    url: '/productSupplierDensity/addProductSupplierDensity',
    method: 'post',
    data: query
  })
    url: "/productSupplierDensity/addProductSupplierDensity",
    method: "post",
    data: query,
  });
}
// 修改产品厂家密度绑定
export function updateProductSupplierDensity(query) {
  return request({
    url: '/productSupplierDensity/updateProductSupplierDensity',
    method: 'post',
    data: query
  })
    url: "/productSupplierDensity/updateProductSupplierDensity",
    method: "post",
    data: query,
  });
}
// 删除产品厂家密度绑定
export function deleteProductSupplierDensity(query) {
  return request({
    url: '/productSupplierDensity/deleteProductSupplierDensity',
    method: 'delete',
    params: query
  })
    url: "/productSupplierDensity/deleteProductSupplierDensity",
    method: "delete",
    params: query,
  });
}
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,80 +100,72 @@
        <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>
        </el-row>
        <el-row>
          <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-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="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-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <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>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="检验项分类:" prop="inspectionItemClass">
              <el-input v-model="editForm.inspectionItemClass" clearable size="small"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="检验项分类EN:" prop="inspectionItemClassEn">
              <el-input v-model="editForm.inspectionItemClassEn" clearable size="small"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <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>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="条件:" prop="radiusList">
              <el-select v-model="editForm.radiusList" allow-create default-first-option filterable multiple
                         placeholder="请选择"
                         size="small"
              <el-select v-model="editForm.method" clearable 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>
                <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-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="收费标准(元/次):" prop="rates">
              <el-input v-model="editForm.rates" clearable size="small"></el-input>
            </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-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="closeDia">取 消</el-button>
@@ -191,6 +185,7 @@
  upItemParameter
} from "@/api/structural/capability";
import {selectStandardMethods} from "@/api/standard/standardLibrary";
import { optionselect } from "@/api/system/dict/type";
export default {
  name: "EditForm",
@@ -225,8 +220,7 @@
        inspectionItemClass: '', // 检验项分类
        inspectionItemClassEn: '', // 检验项分类EN
        method: '', // 试验方法
        radiusList: [], // 条件
        rates: '', // 条件
        dic: '', //字典类型
      },
      sampleList: [], // 检验对象下拉框
      laboratoryList: [], // 场所下拉框
@@ -234,7 +228,6 @@
      dicList: [], // 字典类型下拉框
      templateIdList: [], // 原始记录模板下拉框
      methodList: [], // 试验方法下拉框
      radiusListList: [], // 条件下拉框
      itemParameterData: {
        cascaderField: {
          sample: {
@@ -262,8 +255,11 @@
          { required: true, message: '请选择原始记录模板', trigger: 'change' }
        ]
      },
      operationType: ''
      operationType: '',
    }
  },
  mounted() {
    this.getDicList()
  },
  // 方法集合
  methods: {
@@ -298,14 +294,12 @@
            inspectionItemClass: '', // 检验项分类
            inspectionItemClassEn: '', // 检验项分类EN
            method: '', // 试验方法
            radiusList: [], // 条件
            rates: '', // 条件
          dic: '', //字典类型
        }
        this.resetForm('editForm')
      } else {
        this.editForm = this.HaveJson(row)
        this.editForm.sample = JSON.parse(this.editForm.sample)
        this.editForm.radiusList = JSON.parse(this.editForm.radiusList)
        this.editForm.method = JSON.parse(this.editForm.method)
      }
    },
@@ -317,11 +311,6 @@
          let obj = this.HaveJson(this.editForm)
          obj.method = JSON.stringify(obj.method)
          obj.sample = JSON.stringify(obj.sample)
          if (obj.radiusList?.length > 0) {
            obj.radiusList = JSON.stringify(obj.radiusList)
          } else {
            obj.radiusList = null
          }
          if(obj.id){
            // 修改
            upItemParameter(obj).then(res => {
@@ -425,6 +414,16 @@
        this.templateIdList = data
      })
    },
    getDicList() {
      optionselect().then(res => {
        this.dicList = res.data.map(m => {
          return {
            value: m.dictType,
            label: m.dictName
          }
        })
      })
    }
  },
}
</script>