From b48f2db5147b301e64213600391176b205baef94 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期五, 28 二月 2025 17:34:17 +0800
Subject: [PATCH] 归档配置

---
 src/views/data/arc/ArcData.vue        |   12 
 src/api/data/arc/data.ts              |    2 
 src/views/data/arc/index.vue          |  307 +++++++++++++++++++------------------
 src/api/data/arc/index.ts             |   13 
 src/views/data/arc/ArcSettingForm.vue |  119 +++++++++-----
 5 files changed, 244 insertions(+), 209 deletions(-)

diff --git a/src/api/data/arc/data.ts b/src/api/data/arc/data.ts
index 418ba74..a8f77ef 100644
--- a/src/api/data/arc/data.ts
+++ b/src/api/data/arc/data.ts
@@ -16,5 +16,5 @@
 
 // 查询ArcSetting列表
 export const getPage = (params: ArcDataPageReqVO) => {
-  return request.get({ url: '/data/da/arc/dataPage', params })
+  return request.get({ url: '/data/arc/data/page', params })
 }
diff --git a/src/api/data/arc/index.ts b/src/api/data/arc/index.ts
index 2ac6cc9..d6d369b 100644
--- a/src/api/data/arc/index.ts
+++ b/src/api/data/arc/index.ts
@@ -6,7 +6,8 @@
   type: string,
   point: string,
   calculate: string,
-  isEnable: string
+  sort: number,
+  isEnable: number
 }
 
 export interface ArcSettingPageReqVO extends PageParam {
@@ -16,25 +17,25 @@
 
 // 查询ArcSetting列表
 export const getArcSettingPage = (params: ArcSettingPageReqVO) => {
-  return request.get({ url: '/data/da/arc/page', params })
+  return request.get({ url: '/data/arc/setting/page', params })
 }
 
 // 查询ArcSetting详情
 export const getArcSetting = (id: number) => {
-  return request.get({ url: `/data/da/arc/info/${id}`})
+  return request.get({ url: `/data/arc/setting/info/${id}`})
 }
 
 // 新增ArcSetting
 export const createArcSetting = (data: ArcSettingVO) => {
-  return request.post({ url: '/data/da/arc/create', data })
+  return request.post({ url: '/data/arc/setting/create', data })
 }
 
 // 修改ArcSetting
 export const updateArcSetting = (data: ArcSettingVO) => {
-  return request.put({ url: '/data/da/arc/update', data })
+  return request.put({ url: '/data/arc/setting/update', data })
 }
 
 // 删除ArcSetting
 export const deleteArcSetting = (id: number) => {
-  return request.delete({ url: '/data/da/arc/delete?id=' + id })
+  return request.delete({ url: '/data/arc/setting/delete?id=' + id })
 }
diff --git a/src/views/data/arc/ArcData.vue b/src/views/data/arc/ArcData.vue
index 3e769da..31400a9 100644
--- a/src/views/data/arc/ArcData.vue
+++ b/src/views/data/arc/ArcData.vue
@@ -1,7 +1,7 @@
 <template>
   <el-drawer
     v-model="drawer"
-    size="60%"
+    size="50%"
     title="归档数据"
     :direction="direction"
     :before-close="handleClose"
@@ -21,7 +21,7 @@
             format="YYYY-MM-DD HH:mm:00"
             value-format="YYYY-MM-DD HH:mm:00"
             type="datetime"
-            :clearable="false"
+            :clearable="true"
             placeholder="选择日期时间"/>
         </el-form-item>
         <el-form-item label="结束时间">
@@ -30,7 +30,7 @@
             format="YYYY-MM-DD HH:mm:00"
             value-format="YYYY-MM-DD HH:mm:00"
             type="datetime"
-            :clearable="false"
+            :clearable="true"
             placeholder="选择日期时间"/>
         </el-form-item>
         <el-form-item>
@@ -42,7 +42,7 @@
     <ContentWrap>
       <el-table v-loading="loading" :data="list">
         <el-table-column
-          prop="value"
+          prop="arcValue"
           label="数据值"
           header-align="center"
           align="center"
@@ -93,7 +93,7 @@
     pageSize: 10,
     arcId:undefined,
     startTime: undefined,
-    endTime: getYMDHM0(new Date()),
+    endTime: undefined
   })
   const queryFormRef = ref() // 搜索的表单
   const exportLoading = ref(false) // 导出的加载中
@@ -139,7 +139,7 @@
     queryParams.pageSize = 10
     queryParams.arcId = ''
     queryParams.startTime = ''
-    queryParams.endTime = getYMDHM0(new Date())
+    queryParams.endTime = ''
   }
 
   const handleClose = (done: () => void) => {
diff --git a/src/views/data/arc/ArcSettingForm.vue b/src/views/data/arc/ArcSettingForm.vue
index 740e1f1..bd5293f 100644
--- a/src/views/data/arc/ArcSettingForm.vue
+++ b/src/views/data/arc/ArcSettingForm.vue
@@ -7,24 +7,55 @@
       :rules="formRules"
       label-width="120px"
     >
-      <el-form-item label="名称" prop="name">
-        <el-input v-model="formData.name" placeholder="请输入归档名称" />
-      </el-form-item>
-      <el-form-item label="归档周期" prop="type">
-        <el-select
-          v-model="formData.type"
-          clearable
-          placeholder="请选择归档周期"
-        >
-          <el-option
-            v-for="dict in getDictOptions(DICT_TYPE.ARC_TYPE)"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
-      <el-form-item label="归档点位" prop="point">
+      <el-row>
+        <el-col :span="12">
+          <el-form-item label="编码" prop="code">
+            <el-input v-model="formData.code" placeholder="请输入编码" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="名称" prop="name">
+            <el-input v-model="formData.name" placeholder="请输入名称" />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="12">
+          <el-form-item label="归档周期" prop="type">
+            <el-select
+              v-model="formData.type"
+              clearable
+              placeholder="请选择归档周期"
+            >
+              <el-option
+                v-for="dict in getDictOptions(DICT_TYPE.ARC_TYPE)"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="计算方法" prop="calculate">
+            <el-select
+              v-model="formData.calculate"
+              clearable
+              placeholder="请选择计算方法"
+            >
+              <el-option
+                v-for="dict in getDictOptions(DICT_TYPE.ARC_CALCULATE_TYPE)"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="12">
+          <el-form-item label="归档点位" prop="point">
             <el-select
               v-model="formData.point"
               filterable
@@ -35,35 +66,25 @@
                 :label="item.pointName"
                 :value="item.pointNo"/>
             </el-select>
-      </el-form-item>
-      <el-form-item label="计算方法" prop="calculate">
-        <el-select
-          v-model="formData.calculate"
-          clearable
-          placeholder="请选择计算方法"
-        >
-          <el-option
-            v-for="dict in getDictOptions(DICT_TYPE.ARC_CALCULATE_TYPE)"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
-      <el-form-item label="是否启用" prop="isEnable">
-        <el-select
-          v-model="formData.isEnable"
-          clearable
-          placeholder="请选择是否启用"
-        >
-          <el-option
-            v-for="dict in getIntDictOptions(DICT_TYPE.COM_IS_INT)"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="是否启用" prop="isEnable">
+            <el-select
+              v-model="formData.isEnable"
+              clearable
+              placeholder="请选择是否启用"
+            >
+              <el-option
+                v-for="dict in getIntDictOptions(DICT_TYPE.COM_IS_INT)"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
     </el-form>
     <template #footer>
       <el-button :disabled="formLoading" type="primary" @click="submitForm">确 定</el-button>
@@ -87,13 +108,16 @@
   const formType = ref('') // 表单的类型:create - 新增;update - 修改
   const formData = ref({
     id: undefined,
+    code: undefined,
     name: undefined,
     type: undefined,
     point: undefined,
     calculate: undefined,
+    sort: 1,
     isEnable: 1
   })
   const formRules = reactive({
+    code: [{ required: true, message: '编码不能为空', trigger: 'blur' }],
     name: [{ required: true, message: '名称不能为空', trigger: 'blur' }],
     type: [{ required: true, message: '归档周期不能为空', trigger: 'blur' }],
     point: [{ required: true, message: '归档点位不能为空', trigger: 'blur' }],
@@ -162,6 +186,7 @@
       type: undefined,
       point: undefined,
       calculate: undefined,
+      sort: 1,
       isEnable: 1
     }
     formRef.value?.resetFields()
diff --git a/src/views/data/arc/index.vue b/src/views/data/arc/index.vue
index 922ae9e..637097c 100644
--- a/src/views/data/arc/index.vue
+++ b/src/views/data/arc/index.vue
@@ -1,167 +1,176 @@
 <template>
-    <!-- 搜索 -->
-    <ContentWrap>
-        <el-form
-                class="-mb-15px"
-                :model="queryParams"
-                ref="queryFormRef"
-                :inline="true"
-                label-width="68px"
-        >
-            <el-form-item label="名称" prop="name">
-                <el-input
-                        v-model="queryParams.name"
-                        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')"
-                >
-                    <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="name"/>
-            <el-table-column label="归档周期" align="center" prop="type"/>
-            <el-table-column label="归档点位" align="center" prop="point"/>
-            <el-table-column label="计算方法" align="center" prop="calculate"/>
-            <el-table-column label="是否启用" align="center" prop="isEnable"/>
-            <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)"
-                    >
-                        编辑
-                    </el-button>
-                    <el-button
-                            link
-                            type="primary"
-                            @click="openArcData(scope.row.id)"
-                    >
-                        历史值
-                    </el-button>
-                    <el-button
-                            link
-                            type="danger"
-                            @click="handleDelete(scope.row.id)"
-                    >
-                        删除
-                    </el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-        <!-- 分页 -->
-        <Pagination
-                :total="total"
-                v-model:page="queryParams.pageNo"
-                v-model:limit="queryParams.pageSize"
-                @pagination="getList"
+  <!-- 搜索 -->
+  <ContentWrap>
+    <el-form
+      class="-mb-15px"
+      :model="queryParams"
+      ref="queryFormRef"
+      :inline="true"
+      label-width="68px"
+    >
+      <el-form-item label="名称" prop="name">
+        <el-input
+          v-model="queryParams.name"
+          placeholder="请输入名称"
+          clearable
+          @keyup.enter="handleQuery"
+          class="!w-240px"
         />
-    </ContentWrap>
+      </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="['data:arc:create']"
+        >
+          <Icon icon="ep:plus" class="mr-5px"/>
+          新增
+        </el-button>
+      </el-form-item>
+    </el-form>
+  </ContentWrap>
 
-    <!-- 表单弹窗:添加/修改 -->
-    <ArcSettingForm ref="formRef" @success="getList"/>
+  <!-- 列表 -->
+  <ContentWrap>
+    <el-table v-loading="loading" :data="list">
+      <el-table-column label="编码" align="center" prop="code"/>
+      <el-table-column label="名称" align="center" prop="name"/>
+      <el-table-column label="归档周期" align="center" prop="type"/>
+      <el-table-column label="归档点位" align="center" prop="point"/>
+      <el-table-column label="计算方法" align="center" prop="calculate"/>
+      <el-table-column label="是否启用" align="center" prop="isEnable">
+        <template #default="scope">
+          <el-tag v-if="scope.row.isEnable === 1" size="small">是</el-tag>
+          <el-tag v-else size="small" type="danger">否</el-tag>
+        </template>
+      </el-table-column>
+      <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="['data:arc:update']"
+          >
+            编辑
+          </el-button>
+          <el-button
+            link
+            type="primary"
+            @click="openArcData(scope.row.id)"
+          >
+            历史值
+          </el-button>
+          <el-button
+            link
+            type="danger"
+            @click="handleDelete(scope.row.id)"
+            v-hasPermi="['data:arc: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>
 
-    <!-- 历史值弹窗 -->
-    <ArcData ref="dataRef"/>
+  <!-- 表单弹窗:添加/修改 -->
+  <ArcSettingForm ref="formRef" @success="getList"/>
+
+  <!-- 历史值弹窗 -->
+  <ArcData ref="dataRef"/>
 
 </template>
 <script lang="ts" setup>
-    import * as ArcSetting from '@/api/data/arc/index'
-    import ArcSettingForm from './ArcSettingForm.vue'
-    import ArcData from './ArcData.vue'
+import * as ArcSetting from '@/api/data/arc/index'
+import ArcSettingForm from './ArcSettingForm.vue'
+import ArcData from './ArcData.vue'
 
-    defineOptions({name: 'DataArc'})
+defineOptions({name: 'DataArc'})
 
-    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,
-        name: undefined,
-        type: 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,
+  name: undefined,
+  type: undefined
+})
+const queryFormRef = ref() // 搜索的表单
+const exportLoading = ref(false) // 导出的加载中
 
-    /** 查询列表 */
-    const getList = async () => {
-        loading.value = true
-        try {
-            const page = await ArcSetting.getArcSettingPage(queryParams)
-            list.value = page.list
-            total.value = page.total
-        } finally {
-            loading.value = false
-        }
-    }
+/** 查询列表 */
+const getList = async () => {
+  loading.value = true
+  try {
+    const page = await ArcSetting.getArcSettingPage(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 dataRef = ref()
-    const openArcData = (id?: string) => {
-      dataRef.value.open(id)
-    }
+/** 历史操作 */
+const dataRef = ref()
+const openArcData = (id?: string) => {
+  dataRef.value.open(id)
+}
 
-    /** 删除按钮操作 */
-    const handleDelete = async (id: number) => {
-        try {
-            // 删除的二次确认
-            await message.delConfirm()
-            // 发起删除
-            await ArcSetting.deleteArcSetting(id)
-            message.success(t('common.delSuccess'))
-            // 刷新列表
-            await getList()
-        } catch {
-        }
-    }
+/** 删除按钮操作 */
+const handleDelete = async (id: number) => {
+  try {
+    // 删除的二次确认
+    await message.delConfirm()
+    // 发起删除
+    await ArcSetting.deleteArcSetting(id)
+    message.success(t('common.delSuccess'))
+    // 刷新列表
+    await getList()
+  } catch {
+  }
+}
 
-    /** 初始化 **/
-    onMounted(async () => {
-        await getList()
-    })
+/** 初始化 **/
+onMounted(async () => {
+  await getList()
+})
 </script>

--
Gitblit v1.9.3