Ver Fonte

数据档案管理

hmm há 7 meses atrás
pai
commit
904dfd1eaf

+ 17 - 0
src/api/dataFilling/fileManagement.ts

@@ -0,0 +1,17 @@
+import request from '@/utils/request';
+// 列表
+export function fillList(data) {
+  return request({
+    url: '/api/dataFilling/reports_by_creator',
+    method: 'post',
+    data: data
+  });
+}
+// 查询详情
+export function fillDetail(data) {
+  return request({
+    url: '/api/dataFilling/submission_status',
+    method: 'post',
+    data: data
+  });
+}

+ 4 - 3
src/views/dataFilling/dossierDetail.vue

@@ -8,7 +8,7 @@
             <p class="report-period">【填报周期】:{{ detailData.start }} 至 {{ detailData.end }}</p>
           </el-col>
           <el-col :span="1.5">
-            <el-button type="primary" @click="exportToExcel()"> 导出表格 </el-button>
+            <el-button type="primary" @click="exportToExcel()"> 收取 </el-button>
           </el-col>
           <el-col :span="1.5">
             <el-button type="danger" @click="handleReturn()"> 返回 </el-button>
@@ -35,6 +35,7 @@
 import { ref, onMounted } from 'vue';
 import { ElTable, ElButton, ElCol, ElRow, ElTableColumn } from 'element-plus';
 import * as XLSX from 'xlsx';
+import {fillDetail} from "@/api/dataFilling/fileManagement";
 
 const emits = defineEmits(['close']);
 const detailData = ref({
@@ -43,11 +44,11 @@ const detailData = ref({
   end: '2024-10-15 18:00:00'
 });
 
-const editableHeaders = ref(['时间', '地点', '损坏程度', '救援人员', '物资']);
+const editableHeaders = ref<Array<{label:string;prop:string}>>([]);
 const tableData = ref([]);
 
 onMounted(() => {
-  loadFromLocalStorage();
+  // loadFromLocalStorage();
   addDefaultRow();
 });
 

+ 41 - 35
src/views/dataFilling/fileManagement.vue

@@ -8,7 +8,7 @@
               <el-row :gutter="20">
                 <el-col :span="6">
                   <el-form-item label="字段名称:" prop="table_name" label-width="auto">
-                    <el-input v-model="queryParams.field_name" placeholder="请输入内容"></el-input>
+                    <el-input v-model="queryParams.field_comment" placeholder="请输入内容"></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :span="6">
@@ -21,13 +21,20 @@
         </transition>
         <!-- 表格组件 -->
         <el-table ref="multipleTable" v-loading="loading" :data="tableData" @selection-change="handleSelectionChange">
-          <el-table-column label="序号" align="center" prop="table_id" />
+          <el-table-column label="序号" align="center" prop="report_id" />
           <el-table-column label="表格名称" align="center" prop="table_name" />
-          <el-table-column label="收取时间" align="center" prop="collect_time" />
-          <el-table-column label="收取状态" align="center" prop="collect_status" />
+          <el-table-column label="收取时间" align="center" prop="collection_time" />
+          <el-table-column label="收取状态" align="center" prop="collection_status">
+            <template #default="scope">
+              <div>
+                <span v-if="Number(scope.row.collection_status) === 0">待收取</span>
+                <span v-else>已收取</span>
+              </div>
+            </template>
+          </el-table-column>
           <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
             <template #default="scope">
-              <el-text v-if="scope.row.collect_status === '收取'" class="common-btn-text-primary" @click="handleWrite(scope.row)">收取</el-text>
+              <el-text v-if="scope.row.collection_status === '0'" class="common-btn-text-primary" @click="handleWrite(scope.row)">收取</el-text>
               <el-text class="common-btn-text-primary" @click="handleView(scope.row)">详情</el-text>
             </template>
           </el-table-column>
@@ -36,12 +43,13 @@
       </div>
     </div>
     <!--  <WriteForm v-if="writeFormState.show" :event-id="writeFormState.eventId" @close="handleCancel" />-->
-    <dossierDetail v-if="dossierDetailState.show" :event-id="dossierDetailState.eventId" @close="handleCancel" />
+    <dossierDetail v-if="dossierDetailState.show" :event-id="dossierDetailState.eventId" :table-name="dossierDetailState.table_name" @close="handleCancel" />
   </div>
 </template>
 <script setup lang="ts">
 import dossierDetail from "@/views/dataFilling/dossierDetail.vue";
 import {onMounted, reactive, ref} from "vue";
+import {fillList} from "@/api/dataFilling/fileManagement";
 
 const loading = ref(true);
 const showSearch = ref(true);
@@ -51,11 +59,12 @@ const single = ref(true);
 const total = ref(0);
 const tableData = ref([]);
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
+
 const initFormData = reactive({
-  table_id: '',
+  report_id: '',
   table_name: '',
-  collect_time: '',
-  collect_status: ''
+  collection_time: '',
+  collection_status: ''
 });
 
 const data = reactive({
@@ -64,31 +73,25 @@ const data = reactive({
     page: 1,
     pageSize: 10,
     field_name: '',
+    creator_id: '',
+    field_comment: ''
   }
 });
 
 const { queryParams, form } = toRefs(data);
 
-const staticData = [
-  {
-    table_id: 1,
-    table_name: '旅游景点数据表单',
-    collect_time: '2024-10-15',
-    collect_status: '待填报'
-  },
-  {
-    table_id: 2,
-    table_name: '非煤矿山数据表单',
-    collect_time: '2024-10-16',
-    collect_status: '待填报'
-  },
-  {
-    table_id: 3,
-    table_name: '专家数据表单',
-    collect_time: '2024-10-17',
-    collect_status: '收取'
-  }
-];
+const fetchFillList = () => {
+  loading.value = true;
+  fillList(queryParams.value)
+    .then((res) => {
+      tableData.value = res.data;
+      total.value = res.total;
+    })
+    .finally(() => {
+      loading.value = false;
+    });
+};
+
 const handleQuery = () => {
   queryParams.value.page = 1;
   fetchWorkrData();
@@ -100,26 +103,29 @@ const resetQuery = () => {
 const handleSelectionChange = (selection) => {
   ids.value = selection.map((item) => item.id);
 };
-//需要改动,这里的功能是收取
+//收取
 const handleWrite = (row) => {
   if (row) {
-    writeFormState.eventId = row.id;
+    // writeFormState.eventId = row.report_id;
     writeFormState.show = true;
   }
 };
+// 详情
 const handleView = (row) => {
   if (row) {
-    dossierDetailState.eventId = row.id;
+    dossierDetailState.eventId = row.report_id;
+    dossierDetailState.table_name = row.table_name;
     dossierDetailState.show = true;
   }
 };
 let dossierDetailState = reactive({
   show: false,
-  eventId: ''
+  eventId: '',
+  table_name:''
 });
 onMounted(() => {
-  tableData.value = staticData;
-  total.value = staticData.length;
+  // debugger
+  fetchFillList();
   loading.value = false;
 });
 </script>