ysy 2 年 前
コミット
e58da67bbb

+ 14 - 0
src/api/warehousing/index.js

@@ -0,0 +1,14 @@
+import request from '@/utils/request';
+
+/**
+ * 列表
+ */
+export async function getList (data) {
+  const res = await request.get('/mes/applystorage/page', {
+    params: data
+  });
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}

+ 91 - 0
src/views/warehousing/components/search.vue

@@ -0,0 +1,91 @@
+<!-- 搜索表单 -->
+<template>
+    <el-form label-width="90px" class="ele-form-search" @keyup.enter.native="search" @submit.native.prevent>
+        <el-row :gutter="15">
+            <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+                <el-form-item label="工单Id:">
+                    <el-input clearable v-model="where.workOrderId" placeholder="请输入" />
+                </el-form-item>
+            </el-col>
+
+            <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+                <el-form-item label="仓库名称:">
+                    <el-input clearable v-model="where.warehouseName" placeholder="请输入" />
+                </el-form-item>
+            </el-col>
+
+            <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+                <el-form-item label="物品名称:">
+                    <el-input clearable v-model="where.categoryName" placeholder="请输入" />
+                </el-form-item>
+            </el-col>
+
+
+
+
+
+
+            <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+                <el-form-item label-width="0px">
+                    <el-button type="primary" icon="el-icon-search" class="ele-btn-icon" @click="search">
+                        查询
+                    </el-button>
+                    <el-button @click="reset" icon="el-icon-refresh-left" type="primary">重置</el-button>
+                </el-form-item>
+            </el-col>
+        </el-row>
+    </el-form>
+</template>
+  
+<script>
+
+export default {
+    props: [],
+    data() {
+        // 默认表单数据
+        const defaultWhere = {
+            workOrderId: '',
+            warehouseName: '',
+            categoryName: ''
+
+
+        };
+        return {
+            // 表单数据
+            where: { ...defaultWhere },
+       
+        };
+    },
+    computed: {
+        // 是否开启响应式布局
+        styleResponsive() {
+            return this.$store.state.theme.styleResponsive;
+        }
+    },
+    watch: {},
+    created() {
+
+    },
+    methods: {
+        /* 搜索 */
+        search() {
+            this.$emit('search', this.where);
+        },
+        /*  重置 */
+        reset() {
+            this.where = { ...this.defaultWhere };
+            this.search();
+        },
+
+
+    }
+};
+</script>
+<style lang="scss" scoped>
+.ele-form-actions {
+    display: flex;
+    align-items: center;
+    justify-content: flex-end;
+}
+</style>
+  

+ 170 - 0
src/views/warehousing/index.vue

@@ -0,0 +1,170 @@
+<template>
+    <div class="ele-body">
+        <el-card shadow="never" v-loading="loading">
+            <search @search="reload" ref="searchRef"> </search>
+
+            <!-- 数据表格 -->
+            <ele-pro-table ref="table" :columns="columns" :datasource="datasource" cache-key="workOrderTable">
+
+
+
+                <template v-slot:totalCount="{ row }">
+                    {{ row.totalCount }} {{ row.measuringUnit }}
+                </template>
+
+
+                <template v-slot:totalPackage="{ row }">
+                    {{ row.totalPackage }}
+                </template>
+
+
+                <template v-slot:totalWeight="{ row }">
+                    {{ row.totalWeight }} {{ row.weightUnit }}
+                </template>
+
+
+
+                <template v-slot:approvalStatus="{ row }">
+                    <span :class="{ 'ele-text-danger': row.approvalStatus == 2 }">
+                        {{ statusFormatter(row.approvalStatus) }}
+                    </span>
+                </template>
+
+
+            </ele-pro-table>
+        </el-card>
+
+
+    </div>
+</template>
+  
+<script>
+import { getList } from '@/api/warehousing/index.js';
+
+import search from './components/search.vue';
+export default {
+    components: {
+        search
+    },
+    data() {
+        return {
+
+            loading: false,
+
+
+
+            statusOpt: [
+                { label: '未提交', value: 0 },
+                { label: '审核中', value: 1 },
+                { label: '审核通过', value: 2 },
+                { label: '审核不通过', value: 3 },
+
+            ]
+        };
+    },
+    computed: {
+        // 表格列配置
+        columns() {
+            return [
+                {
+                    columnKey: 'index',
+                    label: '序号',
+                    type: 'index',
+                    width: 55,
+                    align: 'center',
+                    showOverflowTooltip: true,
+                    fixed: 'left'
+                },
+                {
+                    prop: 'workOrderId',
+                    label: '工单id',
+                    align: 'center',
+                    minWidth: 110
+                },
+                {
+                    prop: 'warehouseName',
+                    label: '仓库名称	',
+                    align: 'center'
+                },
+
+                {
+                    prop: 'categoryLevelName',
+                    label: '物品分类名称',
+                    align: 'center'
+                },
+                {
+                    prop: 'categoryName',
+                    label: '物品名称',
+                    align: 'center'
+                },
+                {
+                    slot: 'totalCount',
+                    label: '总数量',
+                    align: 'center'
+                },
+
+                {
+                    slot: 'totalPackage',
+                    label: '总包装',
+                    align: 'center'
+                },
+
+                {
+                    slot: 'totalWeight',
+                    label: '总重量',
+                    align: 'center'
+                },
+
+
+
+                {
+                    prop: 'createTime',
+                    label: '创建时间',
+                    align: 'center',
+                    showOverflowTooltip: true,
+                    minWidth: 110
+                },
+                {
+                    slot: 'approvalStatus',
+                    label: '状态',
+                    align: 'center',
+
+                },
+
+
+
+            ];
+        }
+    },
+    created() {
+
+    },
+    methods: {
+        statusFormatter(status) {
+            const obj = this.statusOpt.find((i) => i.value == status);
+            return obj && obj.label;
+        },
+        /* 表格数据源 */
+        datasource({ page, limit, where }) {
+
+            return getList({
+                pageNum: page,
+                size: limit,
+                ...where
+            });
+        },
+
+
+
+        /* 刷新表格 */
+        reload(where) {
+            this.$nextTick(() => {
+                this.$refs.table.reload({ page: 1, where });
+            });
+        }
+    }
+};
+</script>
+  
+<style lang="scss" scoped></style>
+  

+ 1 - 2
vue.config.js

@@ -32,8 +32,7 @@ module.exports = {
       // 当我们的本地的请求 有/api的时候,就会代理我们的请求地址向另外一个服务器发出请求
       '/api': {
         // target: 'http://124.71.68.31:50001',
-        target: 'http://192.168.1.139:18086',
-        // target: 'http://192.168.1.132:18086',
+        target: 'http://192.168.1.125:18086',
 
 
         changeOrigin: true, // 只有这个值为true的情况下 才表示开启跨域