|
@@ -1,5 +1,160 @@
|
|
|
+<!--仓库信息管理-->
|
|
|
<template>
|
|
|
- <!--仓库管理-->
|
|
|
+ <div>
|
|
|
+ <div v-show="!addGodownState.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="warehouse_name" width="80" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="状态" align="center" prop="status" width="80" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="联系人" align="center" prop="contact_person" width="80" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="联系电话" align="center" prop="contact_phone" width="80" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="联系地址" align="center" prop="contact_address" 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="creation_time" width="120" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="更新时间" align="center" prop="update_time" width="120" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="创建人" align="center" prop="creator" width="120" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="创建人账号" align="center" prop="creator_account" width="120" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="更新人" align="center" prop="updater" width="120" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="类型" align="center" prop="type" width="120" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="等级" align="center" prop="grade" width="120" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="物资保管部门编号" align="center" prop="material_department_id" width="120" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="物资保管部门名称" align="center" prop="material_department_name" width="120" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="地区" align="center" prop="region" width="120" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="经度" align="center" prop="longitude" width="120" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="纬度" align="center" prop="latitude" width="120" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="占地面积(平方米)" align="center" prop="area_square_meters" width="120" show-overflow-tooltip/>
|
|
|
+ <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>
|
|
|
+ <addGodownManagement v-if="addGodownState.show" @close="handleCancel" />
|
|
|
+ <outboundDetails v-if="outboundDetailsState.show" @close="handleCancel" />
|
|
|
+ </div>
|
|
|
</template>
|
|
|
-<script lang="ts"></script>
|
|
|
+<script setup lang="ts">
|
|
|
+import addGodownManagement from "./addGodownManagement.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',
|
|
|
+ warehouse_name: '一号仓库',
|
|
|
+ status: '已出库',
|
|
|
+ contact_person: '张三',
|
|
|
+ contact_phone: '13800138000',
|
|
|
+ contact_address: '北京市朝阳区XXX街道XXX号',
|
|
|
+ remarks: '无',
|
|
|
+ creation_time: '2023-10-01 10:00:00',
|
|
|
+ update_time: '2023-10-01 10:15:00',
|
|
|
+ creator: '李四',
|
|
|
+ creator_account: 'li4@example.com',
|
|
|
+ updater: '王五',
|
|
|
+ type: '普通',
|
|
|
+ grade: '一级',
|
|
|
+ material_department_id: 'MD001',
|
|
|
+ material_department_name: '物资保管一部',
|
|
|
+ region: '华北',
|
|
|
+ longitude: '116.404',
|
|
|
+ latitude: '39.915',
|
|
|
+ area_square_meters: '500',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ table_id: 'KD002',
|
|
|
+ warehouse_name: '二号仓库',
|
|
|
+ status: '处理中',
|
|
|
+ contact_person: '李四',
|
|
|
+ contact_phone: '13800138001',
|
|
|
+ contact_address: '上海市徐汇区XXX街道XXX号',
|
|
|
+ remarks: '急需',
|
|
|
+ creation_time: '2023-10-02 12:00:00',
|
|
|
+ update_time: '2023-10-02 12:30:00',
|
|
|
+ creator: '赵六',
|
|
|
+ creator_account: 'zhao6@example.com',
|
|
|
+ updater: '孙七',
|
|
|
+ type: '特殊',
|
|
|
+ grade: '二级',
|
|
|
+ material_department_id: 'MD002',
|
|
|
+ material_department_name: '物资保管二部',
|
|
|
+ region: '华东',
|
|
|
+ longitude: '121.474',
|
|
|
+ latitude: '31.231',
|
|
|
+ area_square_meters: '800',
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
+const addGodownState = reactive({
|
|
|
+ show: false, // 初始化show为false
|
|
|
+});
|
|
|
+const outboundDetailsState = reactive({
|
|
|
+ show: false, // 初始化show为false
|
|
|
+});
|
|
|
+
|
|
|
+const handleAdd = () => {
|
|
|
+ addGodownState.show = true;
|
|
|
+};
|
|
|
+
|
|
|
+const upload = () => {
|
|
|
+ // 这里可能需要实现上传逻辑,暂时只是显示WriteForm作为示例
|
|
|
+ addGodownState.show = true;
|
|
|
+};
|
|
|
+
|
|
|
+const handleCancel = () => {
|
|
|
+ addGodownState.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>
|