From 6e7f226b03fb059971b76d875671e2b662f29f1f Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期三, 25 九月 2024 14:13:47 +0800
Subject: [PATCH] pre

---
 src/views/model/pre/dm/DmModuleForm.vue        |   24 -
 src/views/model/pre/item/MmPredictItemForm.vue |    0 
 /dev/null                                      |  182 ----------------
 src/views/model/pre/type/index.vue             |  151 +++++++++++++
 src/views/model/pre/dm/index.vue               |  129 +++++-----
 src/views/model/pre/item/index.vue             |  167 +++++++++------
 src/views/model/pre/type/ItemTypeForm.vue      |    0 
 7 files changed, 317 insertions(+), 336 deletions(-)

diff --git a/src/views/model/pre/dm/DmModuleForm.vue b/src/views/model/pre/dm/DmModuleForm.vue
index 93dcd9e..f52208a 100644
--- a/src/views/model/pre/dm/DmModuleForm.vue
+++ b/src/views/model/pre/dm/DmModuleForm.vue
@@ -22,24 +22,12 @@
       <el-row>
         <el-col :span="12">
           <el-form-item label="周期" prop="cycle">
-            <el-input v-model="formData.cycle" placeholder="请输入周期"/>
+            <el-input-number v-model="formData.cycle" :min="0" clearable controls-position="right" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="模块配置" prop="modulenavconfig">
             <el-input v-model="formData.modulenavconfig" placeholder="请输入模块配置"/>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="12">
-          <el-form-item label="预测时间" prop="predicttime">
-            <el-input v-model="formData.predicttime" placeholder="请输入预测时间"/>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="采集时间" prop="collecttime">
-            <el-input v-model="formData.collecttime" placeholder="请输入采集时间"/>
           </el-form-item>
         </el-col>
       </el-row>
@@ -65,10 +53,7 @@
   id: undefined,
   modulename: undefined,
   moduletype: undefined,
-  cycle: undefined,
-  modulenavconfig: undefined,
-  predicttime: undefined,
-  collecttime: undefined
+  cycle: undefined
 })
 const formRules = reactive({
   modulename: [{required: true, message: '名称不能为空', trigger: 'blur'}],
@@ -126,10 +111,7 @@
     id: undefined,
     modulename: undefined,
     moduletype: undefined,
-    cycle: undefined,
-    modulenavconfig: undefined,
-    predicttime: undefined,
-    collecttime: undefined
+    cycle: undefined
   }
   formRef.value?.resetFields()
 }
diff --git a/src/views/model/pre/dm/index.vue b/src/views/model/pre/dm/index.vue
index cc14b63..77ebac9 100644
--- a/src/views/model/pre/dm/index.vue
+++ b/src/views/model/pre/dm/index.vue
@@ -19,11 +19,11 @@
       </el-form-item>
       <el-form-item>
         <el-button @click="handleQuery">
-          <Icon icon="ep:search" class="mr-5px" />
+          <Icon icon="ep:search" class="mr-5px"/>
           搜索
         </el-button>
         <el-button @click="resetQuery">
-          <Icon icon="ep:refresh" class="mr-5px" />
+          <Icon icon="ep:refresh" class="mr-5px"/>
           重置
         </el-button>
         <el-button
@@ -32,7 +32,7 @@
           @click="openForm('create')"
           v-hasPermi="['model:pre-module:create']"
         >
-          <Icon icon="ep:plus" class="mr-5px" />
+          <Icon icon="ep:plus" class="mr-5px"/>
           新增
         </el-button>
       </el-form-item>
@@ -42,13 +42,12 @@
   <!-- 列表 -->
   <ContentWrap>
     <el-table v-loading="loading" :data="list">
-      <el-table-column label="名称" align="center" prop="modulename" />
-      <el-table-column label="类型" align="center" prop="moduletype" />
-      <el-table-column label="周期" align="center" prop="cycle" />
-      <el-table-column label="模块配置" align="center" prop="modulenavconfig" />
-      <el-table-column label="预测时间" align="center" prop="predicttime" />
-      <el-table-column label="采集时间" align="center" prop="collecttime" />
-
+      <el-table-column label="名称" header-align="center" align="left" min-width="100" prop="modulename"/>
+      <el-table-column label="类型" header-align="center" align="left" min-width="100" prop="moduletype"/>
+      <el-table-column label="周期" align="center" prop="cycle"/>
+      <el-table-column label="模块配置" align="center" prop="modulenavconfig"/>
+      <el-table-column label="预测时间" align="center" prop="predicttime"/>
+      <el-table-column label="采集时间" align="center" prop="collecttime"/>
       <el-table-column label="操作" align="center" min-width="110" fixed="right">
         <template #default="scope">
           <el-button
@@ -80,7 +79,7 @@
   </ContentWrap>
 
   <!-- 表单弹窗:添加/修改 -->
-  <DmModuleForm ref="formRef" @success="getList" />
+  <DmModuleForm ref="formRef" @success="getList"/>
 
 </template>
 <script lang="ts" setup>
@@ -89,66 +88,66 @@
 
 defineOptions({name: 'DataDmModule'})
 
-  const message = useMessage() // 消息弹窗
-  const {t} = useI18n() // 国际化
+const message = useMessage() // 消息弹窗
+const {t} = useI18n() // 国际化
 
-  const loading = ref(true) // 列表的加载中
-  const total = ref(0) // 列表的总页数
-  const list = ref([]) // 列表的数据
-  const queryParams = reactive({
-    pageNo: 1,
-    pageSize: 10,
-    modulename: undefined,
-  })
-  const queryFormRef = ref() // 搜索的表单
-  const exportLoading = ref(false) // 导出的加载中
+const loading = ref(true) // 列表的加载中
+const total = ref(0) // 列表的总页数
+const list = ref([]) // 列表的数据
+const queryParams = reactive({
+  pageNo: 1,
+  pageSize: 10,
+  modulename: undefined,
+})
+const queryFormRef = ref() // 搜索的表单
+const exportLoading = ref(false) // 导出的加载中
 
-  /** 查询列表 */
-  const getList = async () => {
-    loading.value = true
-    try {
-      const page = await DmModule.getDmModulePage(queryParams)
-      list.value = page.list
-      total.value = page.total
-    } finally {
-      loading.value = false
-    }
+/** 查询列表 */
+const getList = async () => {
+  loading.value = true
+  try {
+    const page = await DmModule.getDmModulePage(queryParams)
+    list.value = page.list
+    total.value = page.total
+  } finally {
+    loading.value = false
   }
+}
 
-  /** 搜索按钮操作 */
-  const handleQuery = () => {
-    queryParams.pageNo = 1
-    getList()
-  }
+/** 搜索按钮操作 */
+const handleQuery = () => {
+  queryParams.pageNo = 1
+  getList()
+}
 
-  /** 重置按钮操作 */
-  const resetQuery = () => {
-    queryFormRef.value.resetFields()
-    handleQuery()
-  }
+/** 重置按钮操作 */
+const resetQuery = () => {
+  queryFormRef.value.resetFields()
+  handleQuery()
+}
 
-  /** 添加/修改操作 */
-  const formRef = ref()
-  const openForm = (type: string, id?: number) => {
-    formRef.value.open(type, id)
-  }
+/** 添加/修改操作 */
+const formRef = ref()
+const openForm = (type: string, id?: number) => {
+  formRef.value.open(type, id)
+}
 
-  /** 删除按钮操作 */
-  const handleDelete = async (id: number) => {
-    try {
-      // 删除的二次确认
-      await message.delConfirm()
-      // 发起删除
-      await DmModule.deleteDmModule(id)
-      message.success(t('common.delSuccess'))
-      // 刷新列表
-      await getList()
-    } catch {
-    }
-  }
-
-  /** 初始化 **/
-  onMounted(async () => {
+/** 删除按钮操作 */
+const handleDelete = async (id: number) => {
+  try {
+    // 删除的二次确认
+    await message.delConfirm()
+    // 发起删除
+    await DmModule.deleteDmModule(id)
+    message.success(t('common.delSuccess'))
+    // 刷新列表
     await getList()
-  })
+  } catch {
+  }
+}
+
+/** 初始化 **/
+onMounted(async () => {
+  await getList()
+})
 </script>
diff --git a/src/views/model/pre/predict/MmPredictItemForm.vue b/src/views/model/pre/item/MmPredictItemForm.vue
similarity index 100%
rename from src/views/model/pre/predict/MmPredictItemForm.vue
rename to src/views/model/pre/item/MmPredictItemForm.vue
diff --git a/src/views/model/pre/item/index.vue b/src/views/model/pre/item/index.vue
index 99562f7..84cac42 100644
--- a/src/views/model/pre/item/index.vue
+++ b/src/views/model/pre/item/index.vue
@@ -8,10 +8,19 @@
       :inline="true"
       label-width="68px"
     >
-      <el-form-item label="名称" prop="itemtypename">
+      <el-form-item label="编号" prop="itemno">
         <el-input
-          v-model="queryParams.itemtypename"
-          placeholder="请输入名称"
+          v-model="queryParams.itemno"
+          placeholder="请输入编号"
+          clearable
+          @keyup.enter="handleQuery"
+          class="!w-240px"
+        />
+      </el-form-item>
+      <el-form-item label="预测项名" prop="itemname">
+        <el-input
+          v-model="queryParams.itemname"
+          placeholder="请输入预测项名"
           clearable
           @keyup.enter="handleQuery"
           class="!w-240px"
@@ -19,11 +28,11 @@
       </el-form-item>
       <el-form-item>
         <el-button @click="handleQuery">
-          <Icon icon="ep:search" class="mr-5px" />
+          <Icon icon="ep:search" class="mr-5px"/>
           搜索
         </el-button>
         <el-button @click="resetQuery">
-          <Icon icon="ep:refresh" class="mr-5px" />
+          <Icon icon="ep:refresh" class="mr-5px"/>
           重置
         </el-button>
         <el-button
@@ -32,7 +41,7 @@
           @click="openForm('create')"
           v-hasPermi="['model:pre-item:create']"
         >
-          <Icon icon="ep:plus" class="mr-5px" />
+          <Icon icon="ep:plus" class="mr-5px"/>
           新增
         </el-button>
       </el-form-item>
@@ -42,16 +51,28 @@
   <!-- 列表 -->
   <ContentWrap>
     <el-table v-loading="loading" :data="list">
-      <el-table-column label="名称" align="center" prop="itemtypename" />
-      <el-table-column label="类名" align="center" prop="itemclasstype" />
-      <el-table-column label="程序集" align="center" prop="assemblyname" />
+      <el-table-column label="编号" align="center" prop="itemno"/>
+      <el-table-column label="预测项名" align="center" prop="itemname"/>
+      <!--      <el-table-column label="类型ID" align="center" prop="itemtypeid" />-->
+      <el-table-column label="类型名称" align="center" prop="itemtypename"/>
+      <el-table-column label="粒度" align="center" prop="granularity"/>
+      <el-table-column label="是否融合" align="center" prop="isfuse"/>
+      <el-table-column label="是否检查" align="center" prop="workchecked"/>
+      <!--      <el-table-column label="模块ID" align="center" prop="moduleid" />-->
+      <!--      <el-table-column label="排序" align="center" prop="itemorder" />-->
+      <el-table-column label="是否启用" align="center" prop="status"/>
+      <!--      <el-table-column label="类别ID" align="center" prop="categoryid" />-->
+      <!--      <el-table-column label="数据点ID" align="center" prop="pointid" />-->
+      <el-table-column label="数据点名称" align="center" prop="tagname"/>
+      <!--      <el-table-column label="存放表ID" align="center" prop="resulttableid" />-->
+      <el-table-column label="存放表" align="center" prop="tablename"/>
 
       <el-table-column label="操作" align="center" min-width="110" fixed="right">
         <template #default="scope">
           <el-button
             link
             type="primary"
-            @click="openForm('update', scope.row.id)"
+            @click="openForm('update', scope.row.id, scope.row.itemtypename)"
             v-hasPermi="['model:pre-item:update']"
           >
             编辑
@@ -77,75 +98,85 @@
   </ContentWrap>
 
   <!-- 表单弹窗:添加/修改 -->
-  <MmItemTypeForm ref="formRef" @success="getList" />
+  <MmPredictItemForm ref="formRef" @success="getList"/>
 
 </template>
 <script lang="ts" setup>
-import MmItemTypeForm from './ItemTypeForm.vue'
-import * as MmItemType from '@/api/model/pre/item'
+import MmPredictItemForm from './MmPredictItemForm.vue'
+import * as MmPredictItem from '@/api/model/pre/predict'
 
-defineOptions({name: 'DataMmItemType'})
+defineOptions({name: 'DataMmPredictItem'})
 
-  const message = useMessage() // 消息弹窗
-  const {t} = useI18n() // 国际化
+const message = useMessage() // 消息弹窗
+const {t} = useI18n() // 国际化
 
-  const loading = ref(true) // 列表的加载中
-  const total = ref(0) // 列表的总页数
-  const list = ref([]) // 列表的数据
-  const queryParams = reactive({
-    pageNo: 1,
-    pageSize: 10,
-    itemtypename: undefined,
-  })
-  const queryFormRef = ref() // 搜索的表单
-  const exportLoading = ref(false) // 导出的加载中
+const loading = ref(true) // 列表的加载中
+const total = ref(0) // 列表的总页数
+const list = ref([]) // 列表的数据
+const queryParams = reactive({
+  pageNo: 1,
+  pageSize: 10,
+  itemno: undefined,
+  itemname: undefined,
+})
+const isList = ref([
+  {
+    code: 0,
+    name: '否'
+  },
+  {
+    code: 1,
+    name: '是'
+  }])
+const queryFormRef = ref() // 搜索的表单
+const exportLoading = ref(false) // 导出的加载中
 
-  /** 查询列表 */
-  const getList = async () => {
-    loading.value = true
-    try {
-      const page = await MmItemType.getMmItemTypePage(queryParams)
-      list.value = page.list
-      total.value = page.total
-    } finally {
-      loading.value = false
-    }
+/** 查询列表 */
+const getList = async () => {
+  loading.value = true
+  try {
+    const page = await MmPredictItem.getMmPredictItemPage(queryParams)
+    list.value = page.list
+    total.value = page.total
+  } finally {
+    loading.value = false
   }
+}
 
-  /** 搜索按钮操作 */
-  const handleQuery = () => {
-    queryParams.pageNo = 1
-    getList()
-  }
+/** 搜索按钮操作 */
+const handleQuery = () => {
+  queryParams.pageNo = 1
+  getList()
+}
 
-  /** 重置按钮操作 */
-  const resetQuery = () => {
-    queryFormRef.value.resetFields()
-    handleQuery()
-  }
+/** 重置按钮操作 */
+const resetQuery = () => {
+  queryFormRef.value.resetFields()
+  handleQuery()
+}
 
-  /** 添加/修改操作 */
-  const formRef = ref()
-  const openForm = (type: string, id?: number) => {
-    formRef.value.open(type, id)
-  }
+/** 添加/修改操作 */
+const formRef = ref()
+const openForm = (type: string, id?: number, itemtypename?: string) => {
+  formRef.value.open(type, id, itemtypename)
+}
 
-  /** 删除按钮操作 */
-  const handleDelete = async (id: number) => {
-    try {
-      // 删除的二次确认
-      await message.delConfirm()
-      // 发起删除
-      await MmItemType.deleteMmItemType(id)
-      message.success(t('common.delSuccess'))
-      // 刷新列表
-      await getList()
-    } catch {
-    }
-  }
-
-  /** 初始化 **/
-  onMounted(async () => {
+/** 删除按钮操作 */
+const handleDelete = async (id: number) => {
+  try {
+    // 删除的二次确认
+    await message.delConfirm()
+    // 发起删除
+    await MmPredictItem.deleteMmPredictItem(id)
+    message.success(t('common.delSuccess'))
+    // 刷新列表
     await getList()
-  })
+  } catch {
+  }
+}
+
+/** 初始化 **/
+onMounted(async () => {
+  await getList()
+})
 </script>
diff --git a/src/views/model/pre/predict/index.vue b/src/views/model/pre/predict/index.vue
deleted file mode 100644
index 9157fad..0000000
--- a/src/views/model/pre/predict/index.vue
+++ /dev/null
@@ -1,182 +0,0 @@
-<template>
-  <!-- 搜索 -->
-  <ContentWrap>
-    <el-form
-      class="-mb-15px"
-      :model="queryParams"
-      ref="queryFormRef"
-      :inline="true"
-      label-width="68px"
-    >
-      <el-form-item label="编号" prop="itemno">
-        <el-input
-          v-model="queryParams.itemno"
-          placeholder="请输入编号"
-          clearable
-          @keyup.enter="handleQuery"
-          class="!w-240px"
-        />
-      </el-form-item>
-      <el-form-item label="预测项名" prop="itemname">
-        <el-input
-          v-model="queryParams.itemname"
-          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"/>
-          搜索
-        </el-button>
-        <el-button @click="resetQuery">
-          <Icon icon="ep:refresh" class="mr-5px"/>
-          重置
-        </el-button>
-        <el-button
-          type="primary"
-          plain
-          @click="openForm('create')"
-          v-hasPermi="['model:pre-predict:create']"
-        >
-          <Icon icon="ep:plus" class="mr-5px"/>
-          新增
-        </el-button>
-      </el-form-item>
-    </el-form>
-  </ContentWrap>
-
-  <!-- 列表 -->
-  <ContentWrap>
-    <el-table v-loading="loading" :data="list">
-      <el-table-column label="编号" align="center" prop="itemno"/>
-      <el-table-column label="预测项名" align="center" prop="itemname"/>
-      <!--      <el-table-column label="类型ID" align="center" prop="itemtypeid" />-->
-      <el-table-column label="类型名称" align="center" prop="itemtypename"/>
-      <el-table-column label="粒度" align="center" prop="granularity"/>
-      <el-table-column label="是否融合" align="center" prop="isfuse"/>
-      <el-table-column label="是否检查" align="center" prop="workchecked"/>
-      <!--      <el-table-column label="模块ID" align="center" prop="moduleid" />-->
-      <!--      <el-table-column label="排序" align="center" prop="itemorder" />-->
-      <el-table-column label="是否启用" align="center" prop="status"/>
-      <!--      <el-table-column label="类别ID" align="center" prop="categoryid" />-->
-      <!--      <el-table-column label="数据点ID" align="center" prop="pointid" />-->
-      <el-table-column label="数据点名称" align="center" prop="tagname"/>
-      <!--      <el-table-column label="存放表ID" align="center" prop="resulttableid" />-->
-      <el-table-column label="存放表" align="center" prop="tablename"/>
-
-      <el-table-column label="操作" align="center" min-width="110" fixed="right">
-        <template #default="scope">
-          <el-button
-            link
-            type="primary"
-            @click="openForm('update', scope.row.id, scope.row.itemtypename)"
-            v-hasPermi="['model:pre-predict:update']"
-          >
-            编辑
-          </el-button>
-          <el-button
-            link
-            type="danger"
-            @click="handleDelete(scope.row.id)"
-            v-hasPermi="['model:pre-predict:delete']"
-          >
-            删除
-          </el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    <!-- 分页 -->
-    <Pagination
-      :total="total"
-      v-model:page="queryParams.pageNo"
-      v-model:limit="queryParams.pageSize"
-      @pagination="getList"
-    />
-  </ContentWrap>
-
-  <!-- 表单弹窗:添加/修改 -->
-  <MmPredictItemForm ref="formRef" @success="getList"/>
-
-</template>
-<script lang="ts" setup>
-import MmPredictItemForm from './MmPredictItemForm.vue'
-import * as MmPredictItem from '@/api/model/pre/predict'
-
-defineOptions({name: 'DataMmPredictItem'})
-
-const message = useMessage() // 消息弹窗
-const {t} = useI18n() // 国际化
-
-const loading = ref(true) // 列表的加载中
-const total = ref(0) // 列表的总页数
-const list = ref([]) // 列表的数据
-const queryParams = reactive({
-  pageNo: 1,
-  pageSize: 10,
-  itemno: undefined,
-  itemname: undefined,
-})
-const isList = ref([
-  {
-    code: 0,
-    name: '否'
-  },
-  {
-    code: 1,
-    name: '是'
-  }])
-const queryFormRef = ref() // 搜索的表单
-const exportLoading = ref(false) // 导出的加载中
-
-/** 查询列表 */
-const getList = async () => {
-  loading.value = true
-  try {
-    const page = await MmPredictItem.getMmPredictItemPage(queryParams)
-    list.value = page.list
-    total.value = page.total
-  } finally {
-    loading.value = false
-  }
-}
-
-/** 搜索按钮操作 */
-const handleQuery = () => {
-  queryParams.pageNo = 1
-  getList()
-}
-
-/** 重置按钮操作 */
-const resetQuery = () => {
-  queryFormRef.value.resetFields()
-  handleQuery()
-}
-
-/** 添加/修改操作 */
-const formRef = ref()
-const openForm = (type: string, id?: number, itemtypename?: string) => {
-  formRef.value.open(type, id, itemtypename)
-}
-
-/** 删除按钮操作 */
-const handleDelete = async (id: number) => {
-  try {
-    // 删除的二次确认
-    await message.delConfirm()
-    // 发起删除
-    await MmPredictItem.deleteMmPredictItem(id)
-    message.success(t('common.delSuccess'))
-    // 刷新列表
-    await getList()
-  } catch {
-  }
-}
-
-/** 初始化 **/
-onMounted(async () => {
-  await getList()
-})
-</script>
diff --git a/src/views/model/pre/item/ItemTypeForm.vue b/src/views/model/pre/type/ItemTypeForm.vue
similarity index 100%
rename from src/views/model/pre/item/ItemTypeForm.vue
rename to src/views/model/pre/type/ItemTypeForm.vue
diff --git a/src/views/model/pre/type/index.vue b/src/views/model/pre/type/index.vue
new file mode 100644
index 0000000..39d8216
--- /dev/null
+++ b/src/views/model/pre/type/index.vue
@@ -0,0 +1,151 @@
+<template>
+  <!-- 搜索 -->
+  <ContentWrap>
+    <el-form
+      class="-mb-15px"
+      :model="queryParams"
+      ref="queryFormRef"
+      :inline="true"
+      label-width="68px"
+    >
+      <el-form-item label="名称" prop="itemtypename">
+        <el-input
+          v-model="queryParams.itemtypename"
+          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" />
+          搜索
+        </el-button>
+        <el-button @click="resetQuery">
+          <Icon icon="ep:refresh" class="mr-5px" />
+          重置
+        </el-button>
+        <el-button
+          type="primary"
+          plain
+          @click="openForm('create')"
+          v-hasPermi="['model:pre-type:create']"
+        >
+          <Icon icon="ep:plus" class="mr-5px" />
+          新增
+        </el-button>
+      </el-form-item>
+    </el-form>
+  </ContentWrap>
+
+  <!-- 列表 -->
+  <ContentWrap>
+    <el-table v-loading="loading" :data="list">
+      <el-table-column label="名称" header-align="center" align="left" min-width="100" prop="itemtypename" />
+      <el-table-column label="类名" header-align="center" align="left" min-width="300" prop="itemclasstype" />
+      <el-table-column label="程序集" header-align="center" align="left" min-width="300" prop="assemblyname" />
+
+      <el-table-column label="操作" align="center" min-width="110" fixed="right">
+        <template #default="scope">
+          <el-button
+            link
+            type="primary"
+            @click="openForm('update', scope.row.id)"
+            v-hasPermi="['model:pre-type:update']"
+          >
+            编辑
+          </el-button>
+          <el-button
+            link
+            type="danger"
+            @click="handleDelete(scope.row.id)"
+            v-hasPermi="['model:pre-type:delete']"
+          >
+            删除
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <!-- 分页 -->
+    <Pagination
+      :total="total"
+      v-model:page="queryParams.pageNo"
+      v-model:limit="queryParams.pageSize"
+      @pagination="getList"
+    />
+  </ContentWrap>
+
+  <!-- 表单弹窗:添加/修改 -->
+  <MmItemTypeForm ref="formRef" @success="getList" />
+
+</template>
+<script lang="ts" setup>
+import MmItemTypeForm from './ItemTypeForm.vue'
+import * as MmItemType from '@/api/model/pre/item'
+
+defineOptions({name: 'DataMmItemType'})
+
+  const message = useMessage() // 消息弹窗
+  const {t} = useI18n() // 国际化
+
+  const loading = ref(true) // 列表的加载中
+  const total = ref(0) // 列表的总页数
+  const list = ref([]) // 列表的数据
+  const queryParams = reactive({
+    pageNo: 1,
+    pageSize: 10,
+    itemtypename: undefined,
+  })
+  const queryFormRef = ref() // 搜索的表单
+  const exportLoading = ref(false) // 导出的加载中
+
+  /** 查询列表 */
+  const getList = async () => {
+    loading.value = true
+    try {
+      const page = await MmItemType.getMmItemTypePage(queryParams)
+      list.value = page.list
+      total.value = page.total
+    } finally {
+      loading.value = false
+    }
+  }
+
+  /** 搜索按钮操作 */
+  const handleQuery = () => {
+    queryParams.pageNo = 1
+    getList()
+  }
+
+  /** 重置按钮操作 */
+  const resetQuery = () => {
+    queryFormRef.value.resetFields()
+    handleQuery()
+  }
+
+  /** 添加/修改操作 */
+  const formRef = ref()
+  const openForm = (type: string, id?: number) => {
+    formRef.value.open(type, id)
+  }
+
+  /** 删除按钮操作 */
+  const handleDelete = async (id: number) => {
+    try {
+      // 删除的二次确认
+      await message.delConfirm()
+      // 发起删除
+      await MmItemType.deleteMmItemType(id)
+      message.success(t('common.delSuccess'))
+      // 刷新列表
+      await getList()
+    } catch {
+    }
+  }
+
+  /** 初始化 **/
+  onMounted(async () => {
+    await getList()
+  })
+</script>

--
Gitblit v1.9.3