linan 4 years ago
parent
commit
0e7fe72d1b

+ 57 - 0
src/api/meatTransport.js

@@ -0,0 +1,57 @@
+import { ajax } from "../sdk/ajax";
+/* 鲜肉储运 */
+
+// 胴体销售价 BodyPrice
+export const reqBodyPrice = () => ajax("post", "/farm-huyang/storeConfig/bodyPrice")
+
+export const reqSetBodyPrice = (data) => ajax("post", "/farm-huyang/storeConfig/setBodyPrice", data)
+
+
+// 胴体销售金额 BodyTurnover
+export const reqBodyTurnover = () => ajax("post", "/farm-huyang/storeConfig/bodyTurnover")
+
+export const reqSetBodyTurnover = (data) => ajax("post", "/farm-huyang/storeConfig/setBodyTurnover", data)
+// 季度销售金额 QuarterlyTurnover
+export const reqQuarterlyTurnover = () => ajax("post", "/farm-huyang/storeConfig/quarterlyTurnover")
+
+export const reqSetQuarterlyTurnover = (data) => ajax("post", "/farm-huyang/storeConfig/setQuarterlyTurnover", data)
+// 累计销售金额 TotalTurnover
+export const reqTotalTurnover = () => ajax("post", "/farm-huyang/storeConfig/totalTurnover")
+
+export const reqSetTotalTurnover = (data) => ajax("post", "/farm-huyang/storeConfig/setTotalTurnover", data)
+
+
+// 运输任务 Transport
+export const reqTransport = () => ajax("post", "/farm-huyang/storeConfig/transport")
+
+export const reqSetTransport = (data) => ajax("post", "/farm-huyang/storeConfig/setTransport", data)
+
+
+// 销售利润分析 Profit
+export const reqProfit = () => ajax("post", "/farm-huyang/storeConfig/profit")
+
+export const reqSetProfit = (data) => ajax("post", "/farm-huyang/storeConfig/setProfit", data)
+
+
+// 产品销售分析 Analyse
+export const reqAnalyse = () => ajax("post", "/farm-huyang/storeConfig/analyse")
+
+export const reqSetAnalyse = (data) => ajax("post", "/farm-huyang/storeConfig/setAnalyse", data)
+
+
+// 种羊销售金额 BreedingTurnover
+export const reqBreedingTurnover = () => ajax("post", "/farm-huyang/storeConfig/breedingTurnover")
+
+export const reqSetBreedingTurnover = (data) => ajax("post", "/farm-huyang/storeConfig/setBreedingTurnover", data)
+
+
+// 种羊销售价格 BreedingSale
+export const reqBreedingSale = () => ajax("post", "/farm-huyang/storeConfig/breedingSale")
+
+export const reqSetBreedingSale = (data) => ajax("post", "/farm-huyang/storeConfig/setBreedingSale", data)
+
+
+// 地区销量排行 AreaSale
+export const reqAreaSale = () => ajax("post", "/farm-huyang/storeConfig/areaSale")
+
+export const reqSetAreaSale = (data) => ajax("post", "/farm-huyang/storeConfig/setAreaSale", data)

+ 42 - 0
src/api/product.js

@@ -30,3 +30,45 @@ export const reqSetWarehouseU = (data) => ajax("post", "/farm-huyang/screen/prod
 export const reqHeadSum = () => ajax("post", "/farm-huyang/screen/product-system/head-sum/get")
 
 export const reqSetHeadSum = (data) => ajax("post", "/farm-huyang/screen/product-system/head-sum/save", data)
+
+
+// 产品库存 ProductStock
+export const reqProductStock = () => ajax("post", "/farm-huyang/screen/product-system/product-stock/get")
+
+export const reqSetProductStock = (data) => ajax("post", "/farm-huyang/screen/product-system/product-stock/save", data)
+
+
+// 出库量排行 RankingDelivery
+export const reqRankingDelivery = () => ajax("post", "/farm-huyang/screen/product-system/ranking-delivery/get")
+
+export const reqSetRankingDelivery = (data) => ajax("post", "/farm-huyang/screen/product-system/ranking-delivery/save", data)
+
+
+// 客户购买排行 RankingCustomer
+export const reqRankingCustomer = () => ajax("post", "/farm-huyang/screen/product-system/ranking-customer/get")
+
+export const reqSetRankingCustomer = (data) => ajax("post", "/farm-huyang/screen/product-system/ranking-customer/save", data)
+
+
+// 历史出库量 HistoryStockOut
+export const reqHistoryStockOut = () => ajax("post", "/farm-huyang/screen/product-system/history-stock-out/get")
+
+export const reqSetHistoryStockOut = (data) => ajax("post", "/farm-huyang/screen/product-system/history-stock-out/save", data)
+
+
+// 历史入库量 HistoryStockIn
+export const reqHistoryStockIn = () => ajax("post", "/farm-huyang/screen/product-system/history-stock-in/get")
+
+export const reqSetHistoryStockIn = (data) => ajax("post", "/farm-huyang/screen/product-system/history-stock-in/save", data)
+
+
+// 出库申请记录 WarehouseOutRecord
+export const reqWarehouseOutRecord = () => ajax("post", "/farm-huyang/screen/product-system/warehouse-out-record/get")
+
+export const reqSetWarehouseOutRecord = (data) => ajax("post", "/farm-huyang/screen/product-system/warehouse-out-record/save", data)
+
+
+// 产品价格 ProductPrice
+export const reqProductPrice = () => ajax("post", "/farm-huyang/screen/product-system/product-price/get")
+
+export const reqSetProductPrice = (data) => ajax("post", "/farm-huyang/screen/product-system/product-price/save", data)

+ 1 - 1
src/components/formList/formList.vue

@@ -16,7 +16,7 @@
             style="margin:15px"
         >
             <div v-for="(S_item, S_index) in title" :key="S_index" class="cell">
-                <el-col :style="{width: titleWidth}" class="label">{{ title[S_index] || lable[S_index] }}:</el-col>
+                <el-col :style="{width: titleWidth}" class="label">{{ (title[S_index] || lable[S_index]) +index}}:</el-col>
                 <el-col :style="{width: inputWidth}">
                     <!-- <el-input v-model="value[lable[S_index]][index]"></el-input> -->
                     <el-input v-model="value[index][lable[S_index]]" :type="type" autosize></el-input>

+ 107 - 0
src/router/routes.js

@@ -37,6 +37,27 @@ import sheepSkin from '@/views/product/sheepSkin.vue'
 import sheepBlood from '@/views/product/sheepBlood.vue'
 import sheepMixed from '@/views/product/sheepMixed.vue'
 import warehouseUtilization from '@/views/product/warehouseUtilization.vue'
+import productStock from '@/views/product/productStock.vue'
+import rankingDelivery from '@/views/product/rankingDelivery.vue'
+import rankingCustomer from '@/views/product/rankingCustomer.vue'
+import historyStockOut from '@/views/product/historyStockOut.vue'
+import historyStockIn from '@/views/product/historyStockIn.vue'
+import warehouseOutRecord from '@/views/product/warehouseOutRecord.vue'
+import productPrice from '@/views/product/productPrice.vue'
+
+/* 鲜肉运输 */
+import bodyPrice from '@/views/meatTransport/bodyPrice.vue'
+import bodyTurnover from '@/views/meatTransport/bodyTurnover.vue'
+import quarterlyTurnover from '@/views/meatTransport/quarterlyTurnover.vue'
+import totalTurnover from '@/views/meatTransport/totalTurnover.vue'
+import transport from '@/views/meatTransport/transport.vue'
+import profit from '@/views/meatTransport/profit.vue'
+import analyse from '@/views/meatTransport/analyse.vue'
+import breedingTurnover from '@/views/meatTransport/breedingTurnover.vue'
+import breedingSale from '@/views/meatTransport/breedingSale.vue'
+import areaSale from '@/views/meatTransport/areaSale.vue'
+
+
 
 
 export default [
@@ -203,6 +224,92 @@ export default [
 				name: 'warehouseUtilization',
 				component: warehouseUtilization
 			},
+			{
+				path: 'productStock',
+				name: 'productStock',
+				component: productStock
+			},
+			{
+				path: 'rankingDelivery',
+				name: 'rankingDelivery',
+				component: rankingDelivery
+			},
+			{
+				path: 'rankingCustomer',
+				name: 'rankingCustomer',
+				component: rankingCustomer
+			},
+			{
+				path: 'historyStockOut',
+				name: 'historyStockOut',
+				component: historyStockOut
+			},
+			{
+				path: 'historyStockIn',
+				name: 'historyStockIn',
+				component: historyStockIn
+			},
+			{
+				path: 'warehouseOutRecord',
+				name: 'warehouseOutRecord',
+				component: warehouseOutRecord
+			},
+			{
+				path: 'productPrice',
+				name: 'productPrice',
+				component: productPrice
+			},
+			/* 鲜肉运输 */
+			{
+				path: 'bodyPrice',
+				name: 'bodyPrice',
+				component: bodyPrice
+			},
+			{
+				path: 'bodyTurnover',
+				name: 'bodyTurnover',
+				component: bodyTurnover
+			},
+			{
+				path: 'quarterlyTurnover',
+				name: 'quarterlyTurnover',
+				component: quarterlyTurnover
+			},
+			{
+				path: 'totalTurnover',
+				name: 'totalTurnover',
+				component: totalTurnover
+			},
+			{
+				path: 'profit',
+				name: 'profit',
+				component: profit
+			},
+			{
+				path: 'analyse',
+				name: 'analyse',
+				component: analyse
+			},
+			{
+				path: 'breedingTurnover',
+				name: 'breedingTurnover',
+				component: breedingTurnover
+			},
+			{
+				path: 'transport',
+				name: 'transport',
+				component: transport
+			},
+			{
+				path: 'breedingSale',
+				name: 'breedingSale',
+				component: breedingSale
+			},
+			{
+				path: 'areaSale',
+				name: 'areaSale',
+				component: areaSale
+			},
 		]
 	},
 ]

+ 19 - 23
src/views/Home/mencCofig.js

@@ -149,31 +149,31 @@ export const menuData = [
             },
             {
                 optionName: '产品库存',
-                routerName: "test"
+                routerName: "productStock"
             },
             {
                 optionName: '出售量排行',
-                routerName: "test"
+                routerName: "rankingDelivery"
             },
             {
                 optionName: '客户购买排行',
-                routerName: "test"
+                routerName: "rankingCustomer"
             },
             {
                 optionName: '历史出库量',
-                routerName: "test"
+                routerName: "historyStockOut"
             },
             {
                 optionName: '历史入库量',
-                routerName: "test"
+                routerName: "historyStockIn"
             },
             {
                 optionName: '出库申请记录',
-                routerName: "test"
+                routerName: "warehouseOutRecord"
             },
             {
                 optionName: '价格',
-                routerName: "test"
+                routerName: "productPrice"
             }
         ]
     },
@@ -183,48 +183,44 @@ export const menuData = [
         disabled: false, // 是否禁用
         childList: [
             {
-                optionName: '主要信息',
-                routerName: "workerInfo"
-            },
-            {
                 optionName: '胴体销售价',
-                routerName: "firmInfo"
+                routerName: "bodyPrice"
             },
             {
                 optionName: '胴体销售金额',
-                routerName: "pastureInfo"
+                routerName: "bodyTurnover"
             },
             {
                 optionName: '季度销售额',
-                routerName: "areaInfo"
+                routerName: "quarterlyTurnover"
             },
             {
                 optionName: '累计销售金额',
-                routerName: "workerInfo"
+                routerName: "totalTurnover"
             },
             {
                 optionName: '运输任务',
-                routerName: "test"
+                routerName: "transport"
             },
             {
                 optionName: '销售利润分析',
-                routerName: "workerInfo"
+                routerName: "profit"
             },
             {
                 optionName: '产品销售分析',
-                routerName: "workerInfo"
+                routerName: "analyse"
             },
             {
-                optionName: '地区销量排行',
-                routerName: "workerInfo"
+                optionName: '种羊销售金额',
+                routerName: "breedingTurnover"
             },
             {
                 optionName: '种羊销售价格',
-                routerName: "workerInfo"
+                routerName: "breedingSale"
             },
             {
-                optionName: '生产追溯',
-                routerName: "workerInfo"
+                optionName: '地区销量排行',
+                routerName: "areaSale"
             }
         ]
     },

+ 2 - 2
src/views/breed/ageDistribute.vue

@@ -6,7 +6,7 @@
             <div class="left">
                 <el-form ref="form" :model="form" label-width="100px">
                     <el-form-item label="">
-                        <h4>种公羊</h4>
+                        <h2>种公羊</h2>
                     </el-form-item>
                     <el-form-item label="公羊一年龄">
                         <el-input v-model="form.maleAgeOne"></el-input>
@@ -25,7 +25,7 @@
             <div class="right">
                 <el-form ref="form" :model="form" label-width="100px">
                     <el-form-item label="">
-                        <h4>种母羊</h4>
+                        <h2>种母羊</h2>
                     </el-form-item>
                     <el-form-item label="母羊一年龄">
                         <el-input v-model="form.femaleAgeOne"></el-input>

+ 92 - 0
src/views/meatTransport/analyse.vue

@@ -0,0 +1,92 @@
+<template>
+    <!-- analyse -->
+    <div class="Analyse">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">温湿度曲线</h2>
+        <formList
+            v-model="list"
+            :title="['时间','上周','本周']"
+            inputWidth="150px"
+            titleWidth="100px"
+        ></formList>
+        <el-button style="margin-left:610px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+import { reqAnalyse, reqSetAnalyse } from "@/api/meatTransport.js";
+export default {
+    name: "Analyse",
+    data() {
+        return {
+            list: [
+                {
+                    time: "",
+                    lastWeek: "",
+                    thisWeek: ""
+                }
+            ]
+        };
+    },
+    created() {
+        this.getAnalyse();
+    },
+    methods: {
+        onSubmit() {
+            let time = [];
+            let lastWeek = [];
+            let thisWeek = [];
+            this.list.forEach(item => {
+                time.push(item.time);
+                lastWeek.push(item.lastWeek);
+                thisWeek.push(item.thisWeek);
+            });
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetAnalyse({
+                    time: time.join(","),
+                    lastWeek: lastWeek.join(","),
+                    thisWeek: thisWeek.join(",")
+                })
+                    .then(res => {
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.$message.success("更新成功!");
+                            this.getAnalyse();
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getAnalyse() {
+            reqAnalyse()
+                .then(res => {
+                    let arr2 = res.conf["lastWeek"].split(",");
+                    let arr3 = res.conf["thisWeek"].split(",");
+                    this.list = [];
+                    res.conf["time"].split(",").forEach((item, i) => {
+                        this.list.push({
+                            time: item,
+                            lastWeek: arr2[i],
+                            thisWeek: arr3[i]
+                        });
+                    });
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.Analyse {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 70 - 0
src/views/meatTransport/areaSale.vue

@@ -0,0 +1,70 @@
+<template>
+    <!-- areaSale -->
+    <div class="AreaSale">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">地区销量排行</h2>
+        <formList v-model="list" :title="['地区','销量']" inputWidth="300px" titleWidth="150px"></formList>
+        <el-button style="margin-left:810px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+import { reqAreaSale, reqSetAreaSale } from "@/api/meatTransport.js";
+export default {
+    name: "AreaSale",
+    data() {
+        return {
+            list: [{ area: "" , number: ""}]
+        };
+    },
+    created() {
+        this.getAreaSale();
+    },
+    methods: {
+        onSubmit() {
+            let area = [];
+            let number = [];
+            this.list.forEach(item => {
+                area.push(item.area);
+                number.push(item.number);
+            });
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetAreaSale({ area: area.join(","), number: number.join(",") })
+                    .then(res => {
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.getAreaSale();
+                            this.$message.success("更新成功!");
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getAreaSale() {
+            reqAreaSale()
+                .then(res => {
+                    let arr2 = res.conf['number'].split(",")
+                    this.list = [];
+                    res.conf['area'].split(",").forEach((item, i) => {
+                        this.list.push({ 'area': item , 'number': arr2[i]});
+                    });
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.AreaSale {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 70 - 0
src/views/meatTransport/bodyPrice.vue

@@ -0,0 +1,70 @@
+<template>
+    <!-- bodyPrice -->
+    <div class="BodyPrice">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">胴体销售价</h2>
+        <formList v-model="list" :title="['时间','价格(万元)']" inputWidth="300px" titleWidth="150px"></formList>
+        <el-button style="margin-left:810px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+import { reqBodyPrice, reqSetBodyPrice } from "@/api/meatTransport.js";
+export default {
+    name: "BodyPrice",
+    data() {
+        return {
+            list: [{ time: "" , price: ""}]
+        };
+    },
+    created() {
+        this.getBodyPrice();
+    },
+    methods: {
+        onSubmit() {
+            let time = [];
+            let price = [];
+            this.list.forEach(item => {
+                time.push(item.time);
+                price.push(item.price);
+            });
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetBodyPrice({ time: time.join(","), price: price.join(",") })
+                    .then(res => {
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.getBodyPrice();
+                            this.$message.success("更新成功!");
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getBodyPrice() {
+            reqBodyPrice()
+                .then(res => {
+                    let arr2 = res.conf['price'].split(",")
+                    this.list = [];
+                    res.conf['time'].split(",").forEach((item, i) => {
+                        this.list.push({ 'time': item , 'price': arr2[i]});
+                    });
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.BodyPrice {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 70 - 0
src/views/meatTransport/bodyTurnover.vue

@@ -0,0 +1,70 @@
+<template>
+    <!-- bodyTurnover -->
+    <div class="BodyTurnover">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">胴体销售价</h2>
+        <formList v-model="list" :title="['时间','价格(万元)']" inputWidth="300px" titleWidth="150px"></formList>
+        <el-button style="margin-left:810px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+import { reqBodyTurnover, reqSetBodyTurnover } from "@/api/meatTransport.js";
+export default {
+    name: "BodyTurnover",
+    data() {
+        return {
+            list: [{ time: "" , turnover: ""}]
+        };
+    },
+    created() {
+        this.getBodyTurnover();
+    },
+    methods: {
+        onSubmit() {
+            let time = [];
+            let turnover = [];
+            this.list.forEach(item => {
+                time.push(item.time);
+                turnover.push(item.turnover);
+            });
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetBodyTurnover({ time: time.join(","), turnover: turnover.join(",") })
+                    .then(res => {
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.getBodyTurnover();
+                            this.$message.success("更新成功!");
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getBodyTurnover() {
+            reqBodyTurnover()
+                .then(res => {
+                    let arr2 = res.conf['turnover'].split(",")
+                    this.list = [];
+                    res.conf['time'].split(",").forEach((item, i) => {
+                        this.list.push({ 'time': item , 'turnover': arr2[i]});
+                    });
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.BodyTurnover {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 70 - 0
src/views/meatTransport/breedingSale.vue

@@ -0,0 +1,70 @@
+<template>
+    <!-- breedingSale -->
+    <div class="BreedingSale">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">种羊销售价格</h2>
+        <formList v-model="list" :title="['时间','价格']" inputWidth="300px" titleWidth="150px"></formList>
+        <el-button style="margin-left:810px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+import { reqBreedingSale, reqSetBreedingSale } from "@/api/meatTransport.js";
+export default {
+    name: "BreedingSale",
+    data() {
+        return {
+            list: [{ time: "" , price: ""}]
+        };
+    },
+    created() {
+        this.getBreedingSale();
+    },
+    methods: {
+        onSubmit() {
+            let time = [];
+            let price = [];
+            this.list.forEach(item => {
+                time.push(item.time);
+                price.push(item.price);
+            });
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetBreedingSale({ time: time.join(","), price: price.join(",") })
+                    .then(res => {
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.getBreedingSale();
+                            this.$message.success("更新成功!");
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getBreedingSale() {
+            reqBreedingSale()
+                .then(res => {
+                    let arr2 = res.conf['price'].split(",")
+                    this.list = [];
+                    res.conf['time'].split(",").forEach((item, i) => {
+                        this.list.push({ 'time': item , 'price': arr2[i]});
+                    });
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.BreedingSale {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 71 - 0
src/views/meatTransport/breedingTurnover.vue

@@ -0,0 +1,71 @@
+<template>
+    <!-- breedingTurnover -->
+    <div class="BreedingTurnover">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">种羊销售金额</h2>
+        <formList v-model="list" :title="['时间','金额']" inputWidth="300px" titleWidth="150px"></formList>
+        <el-button style="margin-left:810px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+
+import { reqBreedingTurnover, reqSetBreedingTurnover } from "@/api/meatTransport.js";
+export default {
+    name: "BreedingTurnover",
+    data() {
+        return {
+            list: [{ time: "" , turnover: ""}]
+        };
+    },
+    created() {
+        this.getBreedingTurnover();
+    },
+    methods: {
+        onSubmit() {
+            let time = [];
+            let turnover = [];
+            this.list.forEach(item => {
+                time.push(item.time);
+                turnover.push(item.turnover);
+            });
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetBreedingTurnover({ time: time.join(","), turnover: turnover.join(",") })
+                    .then(res => {
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.getBreedingTurnover();
+                            this.$message.success("更新成功!");
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getBreedingTurnover() {
+            reqBreedingTurnover()
+                .then(res => {
+                    let arr2 = res.conf['turnover'].split(",")
+                    this.list = [];
+                    res.conf['time'].split(",").forEach((item, i) => {
+                        this.list.push({ 'time': item , 'turnover': arr2[i]});
+                    });
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.BreedingTurnover {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 70 - 0
src/views/meatTransport/profit.vue

@@ -0,0 +1,70 @@
+<template>
+    <!-- profit -->
+    <div class="Profit">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">销售利润分析</h2>
+        <formList v-model="list" :title="['时间','值(%)']" inputWidth="300px" titleWidth="150px"></formList>
+        <el-button style="margin-left:810px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+import { reqProfit, reqSetProfit } from "@/api/meatTransport.js";
+export default {
+    name: "Profit",
+    data() {
+        return {
+            list: [{ time: "" , rating: ""}]
+        };
+    },
+    created() {
+        this.getProfit();
+    },
+    methods: {
+        onSubmit() {
+            let time = [];
+            let rating = [];
+            this.list.forEach(item => {
+                time.push(item.time);
+                rating.push(item.rating);
+            });
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetProfit({ time: time.join(","), rating: rating.join(",") })
+                    .then(res => {
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.getProfit();
+                            this.$message.success("更新成功!");
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getProfit() {
+            reqProfit()
+                .then(res => {
+                    let arr2 = res.conf['rating'].split(",")
+                    this.list = [];
+                    res.conf['time'].split(",").forEach((item, i) => {
+                        this.list.push({ 'time': item , 'rating': arr2[i]});
+                    });
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.Profit {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 98 - 0
src/views/meatTransport/quarterlyTurnover.vue

@@ -0,0 +1,98 @@
+<template>
+    <!-- quarterlyTurnover -->
+    <div class="QuarterlyTurnover">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">季度销售金额</h2>
+        <formList
+            v-model="list"
+            :title="['时间','胴体','分割','直销']"
+            inputWidth="150px"
+            titleWidth="100px"
+        ></formList>
+        <el-button style="margin-left:610px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+import { reqQuarterlyTurnover, reqSetQuarterlyTurnover } from "@/api/meatTransport.js";
+export default {
+    name: "QuarterlyTurnover",
+    data() {
+        return {
+            list: [
+                {
+                    time: "",
+                    body: "",
+                    part: "",
+                    direct: ""
+                }
+            ]
+        };
+    },
+    created() {
+        this.getQuarterlyTurnover();
+    },
+    methods: {
+        onSubmit() {
+            let time = [];
+            let body = [];
+            let part = [];
+            let direct = [];
+            this.list.forEach(item => {
+                time.push(item.time);
+                body.push(item.body);
+                part.push(item.part);
+                direct.push(item.direct);
+            });
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetQuarterlyTurnover({
+                    time: time.join(","),
+                    body: body.join(","),
+                    part: part.join(","),
+                    direct: direct.join(",")
+                })
+                    .then(res => {
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.$message.success("更新成功!");
+                            this.getQuarterlyTurnover();
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getQuarterlyTurnover() {
+            reqQuarterlyTurnover()
+                .then(res => {
+                    let arr2 = res.conf["body"].split(",");
+                    let arr3 = res.conf["part"].split(",");
+                    let arr4 = res.conf["direct"].split(",");
+                    this.list = [];
+                    res.conf["time"].split(",").forEach((item, i) => {
+                        this.list.push({
+                            time: item,
+                            body: arr2[i],
+                            part: arr3[i],
+                            direct: arr4[i],
+                        });
+                    });
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.QuarterlyTurnover {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 81 - 0
src/views/meatTransport/totalTurnover.vue

@@ -0,0 +1,81 @@
+<template>
+    <div class="TotalTurnover">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">种羊等级分布</h2>
+        <div class="left">
+            <el-form ref="form" :model="form" label-width="120px">
+                <el-form-item label="累计销售金额">
+                    <el-input v-model="form.total"></el-input>
+                </el-form-item>
+                <el-form-item label="本月销售额">
+                    <el-input v-model="form.month"></el-input>
+                </el-form-item>
+                <el-form-item label="上月销售额">
+                    <el-input v-model="form.last"></el-input>
+                </el-form-item>
+                <el-form-item label="较上月(%)">
+                    <el-input v-model="form.rise"></el-input>
+                </el-form-item>
+                <el-form-item>
+                    <el-button style="margin-left:60%" type="primary" @click="onSubmit">更新信息</el-button>
+                </el-form-item>
+            </el-form>
+        </div>
+    </div>
+</template>
+
+<script>
+import { reqTotalTurnover, reqSetTotalTurnover } from "@/api/meatTransport.js";
+export default {
+    name: "TotalTurnover",
+    data() {
+        return {
+            form: {
+                total: "",
+                month: "",
+                last: "",
+                rise: ""
+            }
+        };
+    },
+    created() {
+        this.getTotalTurnover();
+    },
+    methods: {
+        onSubmit() {
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetTotalTurnover(this.form)
+                    .then(res => {
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.getTotalTurnover();
+                            this.$message.success("更新成功!");
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getTotalTurnover() {
+            reqTotalTurnover()
+                .then(res => {
+                    this.form = res.conf;
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.TotalTurnover {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 70 - 0
src/views/meatTransport/transport.vue

@@ -0,0 +1,70 @@
+<template>
+    <!-- transport -->
+    <div class="Transport">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">运输任务</h2>
+        <formList v-model="list" :title="['状态','数量']" inputWidth="300px" titleWidth="150px"></formList>
+        <el-button style="margin-left:810px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+import { reqTransport, reqSetTransport } from "@/api/meatTransport.js";
+export default {
+    name: "Transport",
+    data() {
+        return {
+            list: [{ status: "" , number: ""}]
+        };
+    },
+    created() {
+        this.getTransport();
+    },
+    methods: {
+        onSubmit() {
+            let status = [];
+            let number = [];
+            this.list.forEach(item => {
+                status.push(item.status);
+                number.push(item.number);
+            });
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetTransport({ status: status.join(","), number: number.join(",") })
+                    .then(res => {
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.getTransport();
+                            this.$message.success("更新成功!");
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getTransport() {
+            reqTransport()
+                .then(res => {
+                    let arr2 = res.conf['number'].split(",")
+                    this.list = [];
+                    res.conf['status'].split(",").forEach((item, i) => {
+                        this.list.push({ 'status': item , 'number': arr2[i]});
+                    });
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.Transport {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 73 - 0
src/views/product/historyStockIn.vue

@@ -0,0 +1,73 @@
+<template>
+    <!-- historyStockIn -->
+    <div class="HistoryStockIn">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">历史入库量</h2>
+        <formList v-model="list" :title="['时间','数量']" inputWidth="200px"></formList>
+        <el-button style="margin-left:510px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+import { reqHistoryStockIn, reqSetHistoryStockIn } from "@/api/product.js";
+export default {
+    name: "HistoryStockIn",
+    data() {
+        return {
+            id: '-1',
+            list: [{ keyList: "" , valueList: ""}]
+        };
+    },
+    created() {
+        this.getHistoryStockIn();
+    },
+    methods: {
+        onSubmit() {
+            let keyList = [];
+            let valueList = [];
+            this.list.forEach(item => {
+                keyList.push(item.keyList);
+                valueList.push(item.valueList);
+            });
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetHistoryStockIn({id: this.id, keyList: keyList.toString(), valueList: valueList.toString()})
+                    .then(res => {
+                        console.log(res);
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.getHistoryStockIn();
+                            this.$message.success("更新成功!");
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getHistoryStockIn() {
+            reqHistoryStockIn()
+                .then(res => {
+                    this.id = res.id
+                    let arr2 = res.conf['valueList']
+                    this.list = [];
+                    res.conf['keyList'].forEach((item, i) => {
+                        this.list.push({ 'keyList': item , 'valueList': arr2[i]});
+                    });
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.HistoryStockIn {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 73 - 0
src/views/product/historyStockOut.vue

@@ -0,0 +1,73 @@
+<template>
+    <!-- historyStockOut -->
+    <div class="HistoryStockOut">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">历史出库量</h2>
+        <formList v-model="list" :title="['时间','数量']" inputWidth="200px"></formList>
+        <el-button style="margin-left:510px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+import { reqHistoryStockOut, reqSetHistoryStockOut } from "@/api/product.js";
+export default {
+    name: "HistoryStockOut",
+    data() {
+        return {
+            id: '-1',
+            list: [{ keyList: "" , valueList: ""}]
+        };
+    },
+    created() {
+        this.getHistoryStockOut();
+    },
+    methods: {
+        onSubmit() {
+            let keyList = [];
+            let valueList = [];
+            this.list.forEach(item => {
+                keyList.push(item.keyList);
+                valueList.push(item.valueList);
+            });
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetHistoryStockOut({id: this.id, keyList: keyList.toString(), valueList: valueList.toString()})
+                    .then(res => {
+                        console.log(res);
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.getHistoryStockOut();
+                            this.$message.success("更新成功!");
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getHistoryStockOut() {
+            reqHistoryStockOut()
+                .then(res => {
+                    this.id = res.id
+                    let arr2 = res.conf['valueList']
+                    this.list = [];
+                    res.conf['keyList'].forEach((item, i) => {
+                        this.list.push({ 'keyList': item , 'valueList': arr2[i]});
+                    });
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.HistoryStockOut {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 65 - 0
src/views/product/productPrice.vue

@@ -0,0 +1,65 @@
+<template>
+    <!-- productPrice -->
+    <div class="ProductPrice">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">产品价格</h2>
+        <formList v-model="list" :title="['产品名','价格', '库存']" inputWidth="200px"></formList>
+        <el-button style="margin-left:510px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+import { reqProductPrice, reqSetProductPrice } from "@/api/product.js";
+export default {
+    name: "ProductPrice",
+    data() {
+        return {
+            id: '-1',
+            list: [{ productName: "" , price: "", stock: ""}]
+        };
+    },
+    created() {
+        this.getProductPrice();
+    },
+    methods: {
+        onSubmit() {
+            console.log({id: this.id, jsonList: JSON.stringify(this.list)})
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetProductPrice({id: this.id, jsonList: JSON.stringify(this.list)})
+                    .then(res => {
+                        console.log(res);
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.getProductPrice();
+                            this.$message.success("更新成功!");
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getProductPrice() {
+            reqProductPrice()
+                .then(res => {
+                    this.id = res.id
+                    console.log(res)
+                    this.list = JSON.parse(res.conf.jsonList)
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.ProductPrice {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 73 - 0
src/views/product/productStock.vue

@@ -0,0 +1,73 @@
+<template>
+    <!-- productStock -->
+    <div class="ProductStock">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">产品库存</h2>
+        <formList v-model="list" :title="['产品名','数量']" inputWidth="200px"></formList>
+        <el-button style="margin-left:510px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+import { reqProductStock, reqSetProductStock } from "@/api/product.js";
+export default {
+    name: "ProductStock",
+    data() {
+        return {
+            id: '-1',
+            list: [{ keyList: "" , valueList: ""}]
+        };
+    },
+    created() {
+        this.getProductStock();
+    },
+    methods: {
+        onSubmit() {
+            let keyList = [];
+            let valueList = [];
+            this.list.forEach(item => {
+                keyList.push(item.keyList);
+                valueList.push(item.valueList);
+            });
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetProductStock({id: this.id, keyList: keyList.toString(), valueList: valueList.toString()})
+                    .then(res => {
+                        console.log(res);
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.getProductStock();
+                            this.$message.success("更新成功!");
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getProductStock() {
+            reqProductStock()
+                .then(res => {
+                    this.id = res.id
+                    let arr2 = res.conf['valueList']
+                    this.list = [];
+                    res.conf['keyList'].forEach((item, i) => {
+                        this.list.push({ 'keyList': item , 'valueList': arr2[i]});
+                    });
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.ProductStock {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 73 - 0
src/views/product/rankingCustomer.vue

@@ -0,0 +1,73 @@
+<template>
+    <!-- rankingCustomer -->
+    <div class="RankingCustomer">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">客户购买排行</h2>
+        <formList v-model="list" :title="['客户名','数量']" inputWidth="200px"></formList>
+        <el-button style="margin-left:510px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+import { reqRankingCustomer, reqSetRankingCustomer } from "@/api/product.js";
+export default {
+    name: "RankingCustomer",
+    data() {
+        return {
+            id: '-1',
+            list: [{ keyList: "" , valueList: ""}]
+        };
+    },
+    created() {
+        this.getRankingCustomer();
+    },
+    methods: {
+        onSubmit() {
+            let keyList = [];
+            let valueList = [];
+            this.list.forEach(item => {
+                keyList.push(item.keyList);
+                valueList.push(item.valueList);
+            });
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetRankingCustomer({id: this.id, keyList: keyList.toString(), valueList: valueList.toString()})
+                    .then(res => {
+                        console.log(res);
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.getRankingCustomer();
+                            this.$message.success("更新成功!");
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getRankingCustomer() {
+            reqRankingCustomer()
+                .then(res => {
+                    this.id = res.id
+                    let arr2 = res.conf['valueList']
+                    this.list = [];
+                    res.conf['keyList'].forEach((item, i) => {
+                        this.list.push({ 'keyList': item , 'valueList': arr2[i]});
+                    });
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.RankingCustomer {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 73 - 0
src/views/product/rankingDelivery.vue

@@ -0,0 +1,73 @@
+<template>
+    <!-- rankingDelivery -->
+    <div class="RankingDelivery">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">出库量排行</h2>
+        <formList v-model="list" :title="['产品名','数量']" inputWidth="200px"></formList>
+        <el-button style="margin-left:510px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+import { reqRankingDelivery, reqSetRankingDelivery } from "@/api/product.js";
+export default {
+    name: "RankingDelivery",
+    data() {
+        return {
+            id: '-1',
+            list: [{ keyList: "" , valueList: ""}]
+        };
+    },
+    created() {
+        this.getRankingDelivery();
+    },
+    methods: {
+        onSubmit() {
+            let keyList = [];
+            let valueList = [];
+            this.list.forEach(item => {
+                keyList.push(item.keyList);
+                valueList.push(item.valueList);
+            });
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetRankingDelivery({id: this.id, keyList: keyList.toString(), valueList: valueList.toString()})
+                    .then(res => {
+                        console.log(res);
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.getRankingDelivery();
+                            this.$message.success("更新成功!");
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getRankingDelivery() {
+            reqRankingDelivery()
+                .then(res => {
+                    this.id = res.id
+                    let arr2 = res.conf['valueList']
+                    this.list = [];
+                    res.conf['keyList'].forEach((item, i) => {
+                        this.list.push({ 'keyList': item , 'valueList': arr2[i]});
+                    });
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.RankingDelivery {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>

+ 70 - 0
src/views/product/warehouseOutRecord.vue

@@ -0,0 +1,70 @@
+<template>
+    <!-- warehouseOutRecord -->
+    <div class="WarehouseOutRecord">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">出库申请记录</h2>
+        <formList v-model="list" :title="['记录信息']" type="textarea" inputWidth="500px"></formList>
+        <el-button style="margin-left:510px" type="primary" @click="onSubmit">更新信息</el-button>
+    </div>
+</template>
+
+<script>
+import { reqWarehouseOutRecord, reqSetWarehouseOutRecord } from "@/api/product.js";
+export default {
+    name: "WarehouseOutRecord",
+    data() {
+        return {
+            id: '-1',
+            list: [{ dataList: ""}]
+        };
+    },
+    created() {
+        this.getWarehouseOutRecord();
+    },
+    methods: {
+        onSubmit() {
+            let dataList = [];
+            this.list.forEach(item => {
+                dataList.push(item.dataList);
+            });
+            this.$confirm("确定更新信息?").then(() => {
+                reqSetWarehouseOutRecord({id: this.id, dataList: dataList.toString()})
+                    .then(res => {
+                        console.log(res);
+                        if (res.errCode) {
+                            this.$message.error(res.errMsg);
+                        } else {
+                            this.getWarehouseOutRecord();
+                            this.$message.success("更新成功!");
+                        }
+                    })
+                    .catch(err => {
+                        console.log(err);
+                        this.$message.error("更新失败!");
+                    });
+            });
+        },
+        getWarehouseOutRecord() {
+            reqWarehouseOutRecord()
+                .then(res => {
+                    this.id = res.id
+                    this.list = [];
+                    res.conf['dataList'].forEach((item, i) => {
+                        this.list.push({ 'dataList': item });
+                    });
+                })
+                .catch(err => {
+                    console.error(err);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+.WarehouseOutRecord {
+    .left {
+        width: 400px;
+        margin-left: 50px;
+    }
+}
+</style>