Browse Source

Merge remote-tracking branch 'origin/dev' into dev

zhangyihao 7 months ago
parent
commit
059cf047e1

+ 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
+  });
+}

+ 148 - 0
src/views/comprehensiveGuarantee/MaterialReserveManagement/InboundDetails.vue

@@ -0,0 +1,148 @@
+<template>
+  <div class="common-dialog">
+    <div class="common-dialog-content">
+      <div class="common-dialog-title-box">
+        <h3 class="common-dialog-title">查看详情</h3>
+      </div>
+      <div class="common-dialog-box">
+        <el-form ref="eventFormRef" :model="formData" :rules="rules" label-width="120px">
+          <el-form-item label="仓库编号:" prop="warehouse_number">
+            <el-input v-model="formData.warehouse_number" placeholder="请输入仓库编号" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="采购单号:" prop="purchase_order_id">
+            <el-input v-model="formData.purchase_order_id" placeholder="请输入采购单号" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="是否捐赠(是、否):" prop="is_donation">
+            <el-select v-model="formData.is_donation" placeholder="请选择是否捐赠">
+              <el-option label="是" value="是"></el-option>
+              <el-option label="否" value="否"></el-option>
+            </el-select>
+          </el-form-item>
+
+          <el-form-item label="运单号:" prop="tracking_number">
+            <el-input v-model="formData.tracking_number" placeholder="请输入运单号" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="捐赠人联系电话:" prop="donor_phone">
+            <el-input v-model="formData.donor_phone" placeholder="请输入捐赠人联系电话" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="捐赠人姓名:" prop="donor_name">
+            <el-input v-model="formData.donor_name" placeholder="请输入捐赠人姓名" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="审核人:" prop="auditor">
+            <el-input v-model="formData.auditor" placeholder="请输入审核人" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="企业名称:" prop="company_name">
+            <el-input v-model="formData.company_name" placeholder="请输入企业名称" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="企业编号:" prop="company_id">
+            <el-input v-model="formData.company_id" placeholder="请输入企业编号" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="分级信息:" prop="grade_info">
+            <el-input v-model="formData.grade_info" placeholder="请输入分级信息" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="类型(1_调拨入库、2_归还入库、3_回收入库):" prop="type">
+            <el-select v-model="formData.type" placeholder="请选择类型">
+              <el-option label="调拨入库" value="1"></el-option>
+              <el-option label="归还入库" value="2"></el-option>
+              <el-option label="回收入库" value="3"></el-option>
+            </el-select>
+          </el-form-item>
+
+          <el-form-item label="供应商名称:" prop="supplier_name">
+            <el-input v-model="formData.supplier_name" placeholder="请输入供应商名称" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="创建时间:" prop="create_time">
+            <el-date-picker v-model="formData.create_time" type="datetime" placeholder="请选择创建时间" style="width: 468px;"></el-date-picker>
+          </el-form-item>
+
+          <el-form-item label="备注:" prop="remarks">
+            <el-input v-model="formData.remarks" placeholder="请输入备注" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="供应商编号:" prop="supplier_id">
+            <el-input v-model="formData.supplier_id" placeholder="请输入供应商编号" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="完成时间:" prop="completion_time">
+            <el-date-picker v-model="formData.completion_time" type="datetime" placeholder="请选择完成时间" style="width: 468px;"></el-date-picker>
+          </el-form-item>
+
+          <el-form-item label="计划完成时间:" prop="planned_completion_time">
+            <el-date-picker v-model="formData.planned_completion_time" type="datetime" placeholder="请选择计划完成时间" style="width: 468px;"></el-date-picker>
+          </el-form-item>
+
+          <el-form-item label="仓库名称:" prop="warehouse_name">
+            <el-input v-model="formData.warehouse_name" placeholder="请输入仓库名称" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="库房名称:" prop="storage_room_name">
+            <el-input v-model="formData.storage_room_name" placeholder="请输入库房名称" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="入库单号:" prop="inbound_order_id">
+            <el-input v-model="formData.inbound_order_id" placeholder="请输入入库单号" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="新增时间:" prop="add_time">
+            <el-date-picker v-model="formData.add_time" type="datetime" placeholder="请选择新增时间" style="width: 468px;"></el-date-picker>
+          </el-form-item>
+        </el-form>
+        <div class="common-dialog-footer">
+          <el-button type="primary" @click="closeDialog">返回</el-button>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script setup lang="ts">
+import { ref, watch } from 'vue';
+
+const emits = defineEmits(['close']);
+const props = defineProps<{
+  eventId: string | number;
+}>();
+
+// 模拟的数据
+const formData = ref({
+  warehouse_number: 'WH001', // 仓库编号
+  purchase_order_id: 'PO123456', // 采购单号
+  is_donation: '否', // 是否捐赠(是、否)
+  tracking_number: 'TN789012', // 运单号
+  donor_phone: '13800138000', // 捐赠人联系电话
+  donor_name: '张三', // 捐赠人姓名
+  auditor: '李四', // 审核人
+  company_name: '某某企业有限公司', // 企业名称
+  company_id: 'ENT001', // 企业编号
+  grade_info: 'A级', // 分级信息
+  type: '1', // 类型(1_调拨入库、2_归还入库、3_回收入库)
+  supplier_name: '供应商甲', // 供应商名称
+  create_time: '2023-10-01T08:00:00Z', // 创建时间(ISO 8601格式)
+  remarks: '这是备注信息', // 备注
+  supplier_id: 'SPL001', // 供应商编号
+  completion_time: '2023-10-05T16:00:00Z', // 完成时间
+  planned_completion_time: '2023-10-04T16:00:00Z', // 计划完成时间
+  warehouse_name: '一号仓库', // 仓库名称
+  storage_room_name: 'A区库房', // 库房名称
+  inbound_order_id: 'IO765432', // 入库单号
+  add_time: '2023-09-30T10:00:00Z' // 新增时间
+});
+
+const closeDialog = () => {
+  emits('close');
+};
+</script>
+
+<style scoped></style>
+
+

+ 163 - 2
src/views/comprehensiveGuarantee/MaterialReserveManagement/InboundManagement.vue

@@ -1,5 +1,166 @@
+<!--入库管理-->
 <template>
-  <!--入库管理-->
+  <div>
+    <div v-show="!addInboundState.show && !inboundDetailsState.show" class="app-container">
+      <div>
+        <transition name="fade">
+          <el-row :gutter="30" style="height: 50px">
+            <el-col :span="10">
+              <el-button type="primary" @click="handleAdd">新增出库</el-button>
+            </el-col>
+          </el-row>
+        </transition>
+        <el-table ref="multipleTable" v-loading="loading" :data="tableData" border :max-height="maxHeight" style="width: 96%">
+          <el-table-column label="仓库编号" align="center" prop="table_id" width="150" fixed show-overflow-tooltip/>
+          <el-table-column label="采购单号" align="center" prop="purchase_order_id" width="80" show-overflow-tooltip/>
+          <el-table-column label="是否捐赠(是、否)" align="center" prop="is_donation" width="80" show-overflow-tooltip/>
+          <el-table-column label="运单号" align="center" prop="tracking_number" width="80" show-overflow-tooltip/>
+          <el-table-column label="捐赠人联系电话" align="center" prop="donor_phone" width="120" show-overflow-tooltip/>
+          <el-table-column label="捐赠人姓名" align="center" prop="donor_name" width="120" show-overflow-tooltip/>
+          <el-table-column label="审核人" align="center" prop="auditor" width="120" show-overflow-tooltip/>
+          <el-table-column label="企业名称" align="center" prop="company_name" width="120" show-overflow-tooltip/>
+          <el-table-column label="企业编号" align="center" prop="company_id" width="120" show-overflow-tooltip/>
+          <el-table-column label="分级信息" align="center" prop="grade_info" width="120" show-overflow-tooltip/>
+          <el-table-column label="类型(1_调拨入库、2_归还入库、3_回收入库)" align="center" prop="type" width="150" show-overflow-tooltip/>
+          <el-table-column label="供应商名称" align="center" prop="supplier_name" width="120" show-overflow-tooltip/>
+          <el-table-column label="创建时间" align="center" prop="create_time" width="120" show-overflow-tooltip/>
+          <el-table-column label="备注" align="center" prop="remarks" width="120" show-overflow-tooltip/>
+          <el-table-column label="供应商编号" align="center" prop="supplier_id" width="120" show-overflow-tooltip/>
+          <el-table-column label="完成时间" align="center" prop="completion_time" width="120" show-overflow-tooltip/>
+          <el-table-column label="计划完成时间" align="center" prop="planned_completion_time" width="120" show-overflow-tooltip/>
+          <el-table-column label="仓库名称" align="center" prop="warehouse_name" width="120" show-overflow-tooltip/>
+          <el-table-column label="库房名称" align="center" prop="storage_room_name" width="120" show-overflow-tooltip/>
+          <el-table-column label="入库单号" align="center" prop="inbound_order_id" width="120" show-overflow-tooltip/>
+          <el-table-column label="新增时间" align="center" prop="add_time" width="120" show-overflow-tooltip/>
+          <el-table-column label="入库单" align="center" fixed="right" width="88" class-name="small-padding fixed-width"/>
+          <el-table-column label="操作" align="center" fixed="right" width="88" class-name="small-padding fixed-width">
+              <template #default="scope">
+                <el-button type="text" class="common-btn-text-primary" @click="handleWrite">查看</el-button>
+                <el-button type="text" class="common-btn-text-primary" @click="handleView">明细</el-button>
+              </template>
+          </el-table-column>
+        </el-table>
+        <pagination
+          v-show="total > 0"
+          v-model:page="queryParams.page"
+          v-model:limit="queryParams.pageSize"
+          :total="total"
+          @change-page="handlePaginationChange"
+        />
+      </div>
+    </div>
+    <addInbound v-if="addInboundState.show" @close="handleCancel" />
+    <InboundDetails v-if="inboundDetailsState.show" @close="handleCancel" />
+  </div>
 </template>
-<script lang="ts"></script>
+<script setup lang="ts">
+import addInbound from "./addInbound.vue";
+import InboundDetails from "./InboundDetails.vue";
+import { ref,reactive, onMounted, onBeforeUnmount } from "vue";
+// 定义响应式变量
+const loading = ref(false);
+const maxHeight = ref(window.innerHeight * 0.8);
+const total = ref();
+// 处理窗口大小变化
+const handleResize = () => {
+  maxHeight.value = window.innerHeight * 0.8;
+};
+const queryParams = reactive({
+  page: '1',
+  pageSize: '10',
+});
+
+const tableData = [
+  {
+    table_id: 'WH001',
+    purchase_order_id: 'PO001',
+    is_donation: '是',
+    tracking_number: 'TN001',
+    donor_phone: '13800138000',
+    donor_name: '张三',
+    auditor: '李四',
+    company_name: '某企业有限公司',
+    company_id: 'CMP001',
+    grade_info: 'A级',
+    type: '1_调拨入库',
+    supplier_name: '供应商甲',
+    create_time: '2023-10-01 10:00:00',
+    remarks: '无备注',
+    supplier_id: 'SPL001',
+    completion_time: '2023-10-02 14:00:00',
+    planned_completion_time: '2023-10-02 12:00:00',
+    warehouse_name: '一号仓库',
+    storage_room_name: '一号库房',
+    inbound_order_id: 'IO001',
+    add_time: '2023-10-01 09:00:00'
+  },
+  {
+    table_id: 'WH002',
+    purchase_order_id: 'PO002',
+    is_donation: '否',
+    tracking_number: 'TN002',
+    donor_phone: '13900139000',
+    donor_name: '李五',
+    auditor: '王六',
+    company_name: '另一家企业有限公司',
+    company_id: 'CMP002',
+    grade_info: 'B级',
+    type: '2_归还入库',
+    supplier_name: '供应商乙',
+    create_time: '2023-10-02 11:00:00',
+    remarks: '紧急入库',
+    supplier_id: 'SPL002',
+    completion_time: '2023-10-03 10:00:00',
+    planned_completion_time: '2023-10-03 09:00:00',
+    warehouse_name: '二号仓库',
+    storage_room_name: '二号库房',
+    inbound_order_id: 'IO002',
+    add_time: '2023-10-02 10:00:00'
+  },
+  // 可以根据需要添加更多数据
+];
+
+const addInboundState = reactive({
+  show: false, // 初始化show为false
+});
+const inboundDetailsState = reactive({
+  show: false, // 初始化show为false
+});
+
+const handleAdd = () => {
+  addInboundState.show = true;
+};
+
+const upload = () => {
+  // 这里可能需要实现上传逻辑,暂时只是显示WriteForm作为示例
+  addInboundState.show = true;
+};
+
+const handleCancel = () => {
+  addInboundState.show = false;
+};
+
+const handleWrite = () => {
+  inboundDetailsState.show=true;
+};
+
+const handleView = () => {
+  inboundDetailsState.show=true;
+};
+
+const handlePaginationChange = (page: number) => {
+  queryParams.page = page;
+  // fetchTableData(); //
+};
+
+onMounted(() => {
+  window.addEventListener('resize', handleResize);
+});
+
+// 在组件卸载前移除窗口大小变化监听器
+onBeforeUnmount(() => {
+  window.removeEventListener('resize', handleResize);
+});
+</script>
+
 <style lang="scss" scoped></style>

+ 151 - 2
src/views/comprehensiveGuarantee/MaterialReserveManagement/TypesMaterialsManagement.vue

@@ -1,6 +1,155 @@
+<!--物资种类管理-->
 <template>
-  <!--物资种类管理-->
+  <div>
+    <div v-show="!addOutboundState.show && !outboundDetailsState.show" class="app-container">
+      <div>
+        <transition name="fade">
+          <el-row :gutter="30" style="height: 50px">
+            <el-col :span="10">
+              <el-button type="primary" @click="handleAdd">新增出库</el-button>
+              <el-button type="primary" @click="handleAdd">数据导入</el-button>
+            </el-col>
+          </el-row>
+        </transition>
+        <el-table ref="multipleTable" v-loading="loading" :data="tableData" border :max-height="maxHeight" style="width: 96%">
+          <el-table-column label="出库单号" align="center" prop="table_id" fixed show-overflow-tooltip/>
+          <el-table-column label="仓库名称" align="center" prop="table_name" show-overflow-tooltip/>
+          <el-table-column label="物资类别id" align="center" prop="material_category_id"  show-overflow-tooltip/>
+          <el-table-column label="父类id" align="center" prop="parent_category_id" show-overflow-tooltip/>
+          <el-table-column label="物资类别名称" align="center" prop="material_category_name" show-overflow-tooltip/>
+          <el-table-column label="物资类别等级" align="center" prop="material_category_level" show-overflow-tooltip/>
+          <el-table-column label="排序" align="center" prop="sort_order" show-overflow-tooltip/>
+          <el-table-column label="显示状态(0隐藏 1显示)" align="center" prop="display_status" show-overflow-tooltip/>
+          <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
+            <template #default="scope">
+              <el-button type="text" class="common-btn-text-primary" @click="handleWrite">查看</el-button>
+              <el-button type="text" class="common-btn-text-primary" @click="handleView">明细</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination
+          v-show="total > 0"
+          v-model:page="queryParams.page"
+          v-model:limit="queryParams.pageSize"
+          :total="total"
+          @change-page="handlePaginationChange"
+        />
+      </div>
+    </div>
+    <addOutbound v-if="addOutboundState.show" @close="handleCancel" />
+    <outboundDetails v-if="outboundDetailsState.show" @close="handleCancel" />
+  </div>
 </template>
-<script lang="ts">
+<script setup lang="ts">
+import addOutbound from "./addOutbound.vue";
+import outboundDetails from "./outboundDetails.vue";
+import { ref,reactive, onMounted, onBeforeUnmount } from "vue";
+// 定义响应式变量
+const loading = ref(false);
+const maxHeight = ref(window.innerHeight * 0.8);
+const total = ref();
+// 处理窗口大小变化
+const handleResize = () => {
+  maxHeight.value = window.innerHeight * 0.8;
+};
+const queryParams = reactive({
+  page: '1',
+  pageSize: '10',
+});
+
+const tableData = [
+  {
+    table_id: 'KD001',
+    table_name: '仓库A',
+    material_category_id: 'MC001',
+    parent_category_id: 'PC001',
+    material_category_name: '电子设备',
+    material_category_level: 1,
+    sort_order: 1,
+    display_status: 1,
+  },
+  {
+    table_id: 'KD002',
+    table_name: '仓库B',
+    material_category_id: 'MC002',
+    parent_category_id: 'PC002',
+    material_category_name: '办公用品',
+    material_category_level: 2,
+    sort_order: 2,
+    display_status: 0,
+  },
+  {
+    table_id: 'KD003',
+    table_name: '仓库C',
+    material_category_id: 'MC003',
+    parent_category_id: 'PC001',
+    material_category_name: '家具',
+    material_category_level: 1,
+    sort_order: 3,
+    display_status: 1,
+  },
+  {
+    table_id: 'KD004',
+    table_name: '仓库D',
+    material_category_id: 'MC004',
+    parent_category_id: 'PC003',
+    material_category_name: '清洁用品',
+    material_category_level: 3,
+    sort_order: 4,
+    display_status: 1,
+  },
+  {
+    table_id: 'KD005',
+    table_name: '仓库E',
+    material_category_id: 'MC005',
+    parent_category_id: 'PC002',
+    material_category_name: '文具',
+    material_category_level: 2,
+    sort_order: 5,
+    display_status: 0,
+  }
+];
+
+const addOutboundState = reactive({
+  show: false, // 初始化show为false
+});
+const outboundDetailsState = reactive({
+  show: false, // 初始化show为false
+});
+
+const handleAdd = () => {
+  addOutboundState.show = true;
+};
+
+const upload = () => {
+  // 这里可能需要实现上传逻辑,暂时只是显示WriteForm作为示例
+  addOutboundState.show = true;
+};
+
+const handleCancel = () => {
+  addOutboundState.show = false;
+};
+
+const handleWrite = () => {
+  outboundDetailsState.show=true;
+};
+
+const handleView = () => {
+  outboundDetailsState.show=true;
+};
+
+const handlePaginationChange = (page: number) => {
+  queryParams.page = page;
+  // fetchTableData(); //
+};
+
+onMounted(() => {
+  window.addEventListener('resize', handleResize);
+});
+
+// 在组件卸载前移除窗口大小变化监听器
+onBeforeUnmount(() => {
+  window.removeEventListener('resize', handleResize);
+});
 </script>
 <style lang="scss" scoped></style>

+ 171 - 0
src/views/comprehensiveGuarantee/MaterialReserveManagement/addInbound.vue

@@ -0,0 +1,171 @@
+<template>
+  <div  class="common-dialog">
+    <div class="common-dialog-content">
+      <div class="common-dialog-title-box">
+        <i class="common-dialog-title-icon" />
+        <div>新增出库单</div>
+      </div>
+      <div class="common-dialog-box">
+        <el-form ref="eventFormRef" :model="form" :rules="rules" label-width="120px">
+          <el-form-item label="仓库编号:" prop="warehouse_number">
+            <el-input v-model="form.warehouse_number" placeholder="请输入仓库编号" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="采购单号:" prop="purchase_order_id">
+            <el-input v-model="form.purchase_order_id" placeholder="请输入采购单号" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="是否捐赠(是、否):" prop="is_donation">
+            <el-select v-model="form.is_donation" placeholder="请选择是否捐赠">
+              <el-option label="是" value="是"></el-option>
+              <el-option label="否" value="否"></el-option>
+            </el-select>
+          </el-form-item>
+
+          <el-form-item label="运单号:" prop="tracking_number">
+            <el-input v-model="form.tracking_number" placeholder="请输入运单号" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="捐赠人联系电话:" prop="donor_phone">
+            <el-input v-model="form.donor_phone" placeholder="请输入捐赠人联系电话" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="捐赠人姓名:" prop="donor_name">
+            <el-input v-model="form.donor_name" placeholder="请输入捐赠人姓名" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="审核人:" prop="auditor">
+            <el-input v-model="form.auditor" placeholder="请输入审核人" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="企业名称:" prop="company_name">
+            <el-input v-model="form.company_name" placeholder="请输入企业名称" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="企业编号:" prop="company_id">
+            <el-input v-model="form.company_id" placeholder="请输入企业编号" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="分级信息:" prop="grade_info">
+            <el-input v-model="form.grade_info" placeholder="请输入分级信息" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="类型(1_调拨入库、2_归还入库、3_回收入库):" prop="type">
+            <el-select v-model="form.type" placeholder="请选择类型">
+              <el-option label="调拨入库" value="1"></el-option>
+              <el-option label="归还入库" value="2"></el-option>
+              <el-option label="回收入库" value="3"></el-option>
+            </el-select>
+          </el-form-item>
+
+          <el-form-item label="供应商名称:" prop="supplier_name">
+            <el-input v-model="form.supplier_name" placeholder="请输入供应商名称" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="创建时间:" prop="create_time">
+            <el-date-picker v-model="form.create_time" type="datetime" placeholder="请选择创建时间" style="width: 468px;"></el-date-picker>
+          </el-form-item>
+
+          <el-form-item label="备注:" prop="remarks">
+            <el-input v-model="form.remarks" placeholder="请输入备注" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="供应商编号:" prop="supplier_id">
+            <el-input v-model="form.supplier_id" placeholder="请输入供应商编号" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="完成时间:" prop="completion_time">
+            <el-date-picker v-model="form.completion_time" type="datetime" placeholder="请选择完成时间" style="width: 468px;"></el-date-picker>
+          </el-form-item>
+
+          <el-form-item label="计划完成时间:" prop="planned_completion_time">
+            <el-date-picker v-model="form.planned_completion_time" type="datetime" placeholder="请选择计划完成时间" style="width: 468px;"></el-date-picker>
+          </el-form-item>
+
+          <el-form-item label="仓库名称:" prop="warehouse_name">
+            <el-input v-model="form.warehouse_name" placeholder="请输入仓库名称" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="库房名称:" prop="storage_room_name">
+            <el-input v-model="form.storage_room_name" placeholder="请输入库房名称" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="入库单号:" prop="inbound_order_id">
+            <el-input v-model="form.inbound_order_id" placeholder="请输入入库单号" style="width: 468px;" />
+          </el-form-item>
+
+          <el-form-item label="新增时间:" prop="add_time">
+            <el-date-picker v-model="form.add_time" type="datetime" placeholder="请选择新增时间" style="width: 468px;"></el-date-picker>
+          </el-form-item>
+        </el-form>
+        <div class="common-dialog-footer">
+          <el-button @click="closeDialog">取消</el-button>
+          <el-button :loading="buttonLoading" type="primary" @click="submitForm">确定</el-button>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+<script setup lang="ts">
+import { ref, reactive, toRefs } from 'vue';
+const emits = defineEmits(['close']);
+const buttonLoading = ref(false);
+// 表单初始数据
+const initFormData = {
+  warehouse_number: 'WH001', // 仓库编号
+  purchase_order_id: 'PO123456', // 采购单号
+  is_donation: '否', // 是否捐赠(是、否)
+  tracking_number: 'TN789012', // 运单号
+  donor_phone: '13800138000', // 捐赠人联系电话
+  donor_name: '张三', // 捐赠人姓名
+  auditor: '李四', // 审核人
+  company_name: '某某企业有限公司', // 企业名称
+  company_id: 'ENT001', // 企业编号
+  grade_info: 'A级', // 分级信息
+  type: '1', // 类型(1_调拨入库、2_归还入库、3_回收入库)
+  supplier_name: '供应商甲', // 供应商名称
+  create_time: '2023-10-01T08:00:00Z', // 创建时间(ISO 8601格式)
+  remarks: '这是备注信息', // 备注
+  supplier_id: 'SPL001', // 供应商编号
+  completion_time: '2023-10-05T16:00:00Z', // 完成时间
+  planned_completion_time: '2023-10-04T16:00:00Z', // 计划完成时间
+  warehouse_name: '一号仓库', // 仓库名称
+  storage_room_name: 'A区库房', // 库房名称
+  inbound_order_id: 'IO765432', // 入库单号
+  add_time: '2023-09-30T10:00:00Z' // 新增时间
+};
+
+// 表单数据
+const data = reactive({
+  form: { ...initFormData },
+  rules: {
+    event_title: [{ required: true, message: '事件标题不能为空', trigger: 'blur' }],
+    event_type: [{ required: true, message: '事件类型不能为空', trigger: 'blur' }],
+    event_level: [{ required: true, message: '事件等级不能为空', trigger: 'blur' }],
+    event_status: [{ required: true, message: '事件状态不能为空', trigger: 'blur' }],
+    address: [{ required: true, message: '事件地点不能为空', trigger: 'blur' }],
+    event_time: [{ required: true, message: '事发时间不能为空', trigger: 'blur' }],
+    report_time: [{ required: true, message: '上报时间不能为空', trigger: 'blur' }],
+    event_source: [{ required: true, message: '事件来源不能为空', trigger: 'blur' }],
+    event_description: [{ required: true, message: '事件描述不能为空', trigger: 'blur' }],
+    contact: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }]
+  }
+});
+
+const { form, rules } = toRefs(data);
+
+const closeDialog = () => {
+  emits('close');
+};
+const submitForm = () => {
+}
+</script>
+
+<style lang="scss" scoped>
+.flex {
+  display: flex;
+  span {
+    white-space: nowrap;
+  }
+}
+</style>

+ 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>