houzhongjian
9 天以前 eeddc808a8d6428bfd1c2d6e21e4a71f5e9bdbef
Merge remote-tracking branch 'origin/master'
已修改10个文件
115 ■■■■ 文件已修改
src/api/data/da/point/index.ts 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/model/mpk/project.ts 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/model/pre/item/index.ts 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/data/point/DaPointForm.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/model/mpk/file/index.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/model/mpk/project/ProjectPackage.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/model/mpk/project/index.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/model/pre/item/index.vue 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/model/sche/model/ScheduleModelForm.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/model/sche/model/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/data/da/point/index.ts
@@ -34,6 +34,11 @@
  return request.get({ url: '/data/da/point/list', params })
}
// 查询DaPoint simpleList
export const getPointSimpleList = (params: DaPointPageReqVO) => {
  return request.get({ url: '/data/da/point/simple-list', params })
}
// 查询DaPoint详情
export const getDaPoint = (id: number) => {
  return request.get({ url: `/data/da/point/info/${id}`})
src/api/model/mpk/project.ts
@@ -1,6 +1,6 @@
import request from '@/config/axios'
export const getPage = async (params: PageParam) => {
export const getPage = async (params) => {
  return await request.get({ url: '/model/mpk/project/page', params })
}
@@ -21,13 +21,14 @@
}
export const packageProject = (params) => {
  return request.download({ url: '/model/mpk/file/packageModel', params })
  // 超时时间两分钟
  return request.download({ url: '/model/mpk/file/packageModel', params, timeout: 2 * 60 * 1000 })
}
export const list = () => {
  return request.get({ url: '/model/mpk/project/list'})
}
export const getProjectModel = async (params: PageParam) => {
export const getProjectModel = async (params) => {
  return await request.get({ url: '/model/mpk/project/getProjectModel', params })
}
src/api/model/pre/item/index.ts
@@ -69,6 +69,8 @@
export interface MmPredictItemPageReqVO extends PageParam {
  itemno?: string,
  itemname?: string,
  itemtypeid?: string,
  modulename?: string,
}
// 查询MmPredictItem列表
src/views/data/point/DaPointForm.vue
@@ -292,7 +292,7 @@
              filterable
              placeholder="请选择">
              <el-option
                v-for="(item, index) in pointList"
                v-for="(item, index) in pointList2"
                :key="index"
                :label="item.pointName"
                :value="item.pointNo"/>
@@ -326,6 +326,7 @@
import * as DaPoint from '@/api/data/da/point'
import * as TagApi from '@/api/data/channel/tag'
import {DICT_TYPE, getDictOptions, getIntDictOptions} from "@/utils/dict";
import {getPointSimpleList} from "@/api/data/da/point";
defineOptions({name: 'DataDaPointForm'})
@@ -343,6 +344,13 @@
}])
const queryParams = reactive({
  pointTypes: "MEASURE,CONSTANT",
})
const pointList2 = ref([{
  pointName: '',
  pointNo: ''
}])
const queryParams2 = reactive({
  pointTypes: "MEASURE,CONSTANT,CALCULATE",
})
const operatorList = ref(['+', '-', '*', '/', '&', '|', '!', '>', '<'])
const formData = ref({
@@ -405,6 +413,7 @@
  resetForm()
  getSourceOption()
  getPointList()
  getPointList2()
  // 修改时,设置数据
  if (id) {
    formLoading.value = true
@@ -574,7 +583,11 @@
}
const getPointList = async () => {
  pointList.value = await DaPoint.getPointList(queryParams)
  pointList.value = await DaPoint.getPointSimpleList(queryParams)
}
const getPointList2 = async () => {
  pointList2.value = await DaPoint.getPointSimpleList(queryParams2)
}
const getInfo = async (id) => {
src/views/model/mpk/file/index.vue
@@ -24,10 +24,18 @@
          label-width="68px"
          @submit.prevent
        >
          <el-form-item label="模型名称" prop="pyName">
          <el-form-item label="模型名称" prop="pyChineseName">
            <el-input
              v-model="queryParams.pyChineseName"
              placeholder="请输入模型名称"
              clearable
              class="!w-240px"
            />
          </el-form-item>
          <el-form-item label="模型文件" prop="pyName">
            <el-input
              v-model="queryParams.pyName"
              placeholder="请输入模型名称"
              placeholder="请输入模型文件名称"
              clearable
              class="!w-240px"
            />
@@ -59,8 +67,8 @@
          :data="list"
          row-key="id"
        >
          <el-table-column prop="pyChineseName" label="模型名称" header-align="center" align="center" min-width="100" />
          <el-table-column prop="pyName" label="模型文件" header-align="center" align="center" min-width="300"/>
          <el-table-column prop="pyChineseName" label="模型名称" header-align="center" align="left" min-width="100" />
          <el-table-column prop="pyName" label="模型文件" header-align="center" align="left" min-width="300"/>
          <el-table-column prop="pyType" label="模型类型" :formatter="(r,c,v) => getDictLabel(DICT_TYPE.MODEL_TYPE,v)"/>
          <el-table-column prop="menuName" label="所属菜单" min-width="120px"/>
          <el-table-column prop="groupName" label="所属组" min-width="120px"/>
@@ -148,6 +156,7 @@
  const queryParams = reactive({
    page: 1,
    limit: 10,
    pyChineseName: '',
    pyName: '',
    label: ''
  })
src/views/model/mpk/project/ProjectPackage.vue
@@ -57,17 +57,15 @@
    projectId: undefined,
    projectName: undefined,
    projectCode: undefined,
    ids: undefined,
    version: undefined,
  })
  /** 打开弹窗 */
  const open = async (projectId,projectName,projectCode,ids) => {
  const open = async (projectId,projectName,projectCode) => {
    dialogVisible.value = true
    formData.projectId = projectId
    formData.projectName = projectName
    formData.projectCode = projectCode
    formData.ids = ids
    formData.log = undefined
    formData.version = 'V'
  }
src/views/model/mpk/project/index.vue
@@ -133,6 +133,7 @@
  import ProjectForm from './ProjectForm.vue'
  import ProjectPackage from './ProjectPackage.vue'
  import RelevanceModel from './ProjectPackageModelDialog.vue'
  import * as projectApi from "@/api/model/mpk/project";
  defineOptions({name: 'MpkProject'})
@@ -165,7 +166,7 @@
  const handleCommand = (command: string, row) => {
    switch (command) {
      case 'packageModel':
        packageModel(row.id, row.projectName, row.projectCode, row.models)
        packageModel(row.id, row.projectName, row.projectCode)
        break
      default:
        break
@@ -174,13 +175,14 @@
  //打包
  const projectPackageRef = ref();
  const packageModel = (projectId, projectName, projectCode, models) => {
    let ids = models.map(e => e.id);
    if (ids && ids.length > 0) {
      projectPackageRef.value.open(projectId, projectName, projectCode, ids.join(","));
    } else {
  const packageModel = async (projectId, projectName, projectCode) => {
    //校验是否关联模型
    const data = await projectApi.getProjectModel({page: 1, pageSize: 1, projectId: projectId})
    if (data.total === 0) {
      message.error("请先为项目添加模型!")
      return
    }
    projectPackageRef.value.open(projectId, projectName, projectCode);
  }
  /** 搜索按钮操作 */
src/views/model/pre/item/index.vue
@@ -27,6 +27,28 @@
          class="!w-240px"
        />
      </el-form-item>
      <el-form-item label="类型" prop="itemtypeid">
        <el-select
          v-model="queryParams.itemtypeid"
          placeholder="请选择"
          clearable
          class="!w-240px">
          <el-option
            v-for="item in itemTypeList"
            :key="item.id"
            :label="item.itemtypename"
            :value="item.id"/>
        </el-select>
      </el-form-item>
      <el-form-item label="管网名称" prop="modulename">
        <el-input
          v-model="queryParams.modulename"
          placeholder="请输入管网名称"
          clearable
          @keyup.enter="handleQuery"
          class="!w-240px"
        />
      </el-form-item>
      <el-form-item>
        <el-button @click="handleQuery">
          <Icon icon="ep:search" class="mr-5px"/>
@@ -66,16 +88,7 @@
          <dict-tag :type="DICT_TYPE.PRED_GRANULARITY" :value="scope.row.granularity" />
        </template>
      </el-table-column>
      <el-table-column label="是否融合" align="center" prop="isfuse">
        <template #default="scope">
          <dict-tag :type="DICT_TYPE.COM_IS_INT" :value="scope.row.isfuse" />
        </template>
      </el-table-column>
      <el-table-column label="是否检查" align="center" prop="workchecked">
        <template #default="scope">
          <dict-tag :type="DICT_TYPE.COM_IS_INT" :value="scope.row.workchecked" />
        </template>
      </el-table-column>
      <el-table-column label="管网名称" align="center" prop="modulename" />
      <el-table-column label="是否启用" align="center" prop="status">
        <template #default="scope">
          <dict-tag :type="DICT_TYPE.COM_IS_INT" :value="scope.row.status" />
@@ -131,6 +144,7 @@
<script lang="ts" setup>
import MmPredictItemForm from './MmPredictItemForm.vue'
import MmPredictItemChart from './MmPredictItemChart.vue'
import * as MmItemType from '@/api/model/pre/type'
import * as MmPredictItem from '@/api/model/pre/item'
import {DICT_TYPE} from "@/utils/dict";
@@ -139,6 +153,7 @@
const message = useMessage() // 消息弹窗
const {t} = useI18n() // 国际化
const itemTypeList = ref([])
const loading = ref(true) // 列表的加载中
const total = ref(0) // 列表的总页数
const list = ref([]) // 列表的数据
@@ -147,6 +162,8 @@
  pageSize: 10,
  itemno: undefined,
  itemname: undefined,
  itemtypeid: undefined,
  modulename: undefined,
})
const isList = ref([
  {
@@ -213,5 +230,7 @@
/** 初始化 **/
onMounted(async () => {
  await getList()
  // 获取预测项类型列表
  itemTypeList.value = await MmItemType.getItemTypeList()
})
</script>
src/views/model/sche/model/ScheduleModelForm.vue
@@ -57,7 +57,7 @@
      <el-row>
        <el-col :span="12">
          <el-form-item label="模型名称" prop="modelName">
            <el-input v-model="formData.modelName" placeholder="请输入模型名称" :disabled="true" />
            <el-input v-model="formData.modelName" placeholder="请输入模型名称"/>
          </el-form-item>
        </el-col>
        <el-col :span="12">
src/views/model/sche/model/index.vue
@@ -52,8 +52,12 @@
  <ContentWrap>
    <el-table v-loading="loading" :data="list">
      <el-table-column label="模型编号" align="center" prop="modelCode" min-width="100"/>
      <el-table-column label="模型名称" align="center" prop="modelName" min-width="100"/>
      <el-table-column label="模型类型" align="center" prop="modelType" min-width="100"/>
      <el-table-column label="模型名称" header-align="center" align="left" prop="modelName" min-width="100"/>
      <el-table-column label="模型类型" align="center" prop="modelType" min-width="100">
        <template #default="scope">
          <dict-tag :type="DICT_TYPE.SCHE_MODEL_TYPE" :value="scope.row.modelType" />
        </template>
      </el-table-column>
      <el-table-column label="类名" header-align="center" align="left" prop="className" min-width="200"/>
      <el-table-column label="方法名" align="center" prop="methodName" min-width="100"/>
      <el-table-column label="参数数量" align="center" prop="portLength" min-width="100"/>