Selaa lähdekoodia

完成销售管理

linan 4 vuotta sitten
vanhempi
commit
b5b9a22a5f

+ 1 - 1
src/api/production.js

@@ -14,7 +14,7 @@ export const reqShiftFieldList = (data) => ajax("post", "/farm-huyang/batchTrans
 export const reqAddShiftField = (data) => ajax("post", "/farm-huyang/batchTransfer/add", data)
 
 
-/* 调拨转舍  DieWeedOut*/
+/* 死淘管理  DieWeedOut*/
 export const reqDieWeedOutList = (data) => ajax("post", "/farm-huyang/culling/list", data)
 
 export const reqAddDieWeedOut = (data) => ajax("post", "/farm-huyang/culling/add", data)

+ 6 - 0
src/api/sell.js

@@ -0,0 +1,6 @@
+import { ajax } from "../sdk/ajax";
+
+/* 销售记录  SellLog*/
+export const reqSellLogList = (data) => ajax("post", "/farm-huyang/sale/list", data)
+
+export const reqAddSellLog = (data) => ajax("post", "/farm-huyang/sale/add", data)

+ 9 - 0
src/router/routes.js

@@ -51,6 +51,9 @@ import environmentMonitoring from '@/views/device/environmentMonitoring.vue'
 import video from '@/views/device/video.vue'
 import deviceFault from '@/views/device/deviceFault.vue'
 
+/* 销售管理 */
+import sellLog from '@/views/sell/sellLog.vue'
+
 
 
 
@@ -256,6 +259,12 @@ export default [
 				name: 'deviceFault',
 				component: deviceFault
 			},
+			/* 销售管理 */
+			{
+				path: 'sellLog',
+				name: 'sellLog',
+				component: sellLog
+			},
 
 			// 模板
 			{

+ 0 - 1
src/store/index.js

@@ -1,6 +1,5 @@
 import Vue from 'vue'
 import Vuex from 'vuex'
-// [ seedSheedSource, seedSheedLevel, seedSheedStatus ]
 import publicType from './publicType.js' // 公共的类型 
 import { reqWorkerList, reqBuildList } from "@/api/fileInfo.js";
 import { reqBasicsInfoList} from "@/api/material.js";

+ 1 - 75
src/store/publicType.js

@@ -102,80 +102,6 @@ const examiningReportType = [
     { label: "通过", value: 1 }
 ]
 
-// 羊产品类型
-const sheepProductType = [
-    '带骨羊前腿(A)',
-    '带骨羊前腿(AA)',
-    '带骨羊前腿(AAA)',
-    '羔羊肉卷(2500g/卷)',
-    '羔羊精卷(2500g/卷)',
-    '法式羊后腿',
-    '中式羊后腿',
-    '带骨羊后腿',
-    '羔羊肉砖',
-    '羔羊后腿肉卷',
-    '羔羊后腱骨',
-    '羔羊前腱骨',
-    '羔羊干棒骨',
-    '羔羊全排(A)',
-    '羔羊全排(AA)',
-    '羔羊全排(AAA)',
-    '羔羊龙骨',
-    '羊碎骨肉',
-    '罗肌肉',
-    '羊背筋',
-    '羊菲力(500g/包)',
-    '羊霖',
-    '羊颈排',
-    '羔羊半排',
-    '羊心',
-    '羊肺',
-    '羊肝',
-    '羔羊寸排(1000g/包)',
-    '方切后腿(240g/包)',
-    '腰油',
-    '膘油',
-    '羊鞭',
-    '废弃',
-    '肚油',
-    '羊宝',
-    '羊尾油',
-    '羊板筋',
-    '鞭根肉',
-    '羔羊后腿包(2500g/包)',
-    '羊尾芯',
-    '精致羊后腿包(2500g/包)',
-    '精致羊后腿卷(2500g/卷)',
-    '精致羊肉卷(2500g/卷)',
-    '十二肋法排(A)',
-    '十二肋法排(AA)',
-    '十二肋法排(AAA)',
-    '蝴蝶排(240g/包)',
-    '七肋法排',
-    '肋间肉',
-    '五分肉块',
-    '羊肉包(2500g/包)',
-    '羊油腰',
-    '羊蝎子(500g/包)',
-    '法式小切(500g/包)',
-    '单指排(500g/包)',
-    '羔羊寸排(500g/包)',
-    '前腿切片(500g/包)',
-    '羊胴体(剥皮)',
-    '羊胴体(烫毛)',
-    '羊头(带毛)',
-    '羊头(去毛)',
-    '羊蹄(带毛)',
-    '羊蹄(去毛)',
-    '羊皮',
-    '羊皮(次)',
-    '羊肥肠(2500g/包)',
-    '羊小肠',
-    '湖羊前半截',
-    '羊胴体分割',
-    '羊肚(毛肚)',
-    '羊肚(净肚)'
-]
 /* workerList 员工列表  动态获取了 在home.vue中获取了 */
 /* areaList 栋舍信息  动态获取了 在home.vue中获取了 */
 /* drugBasicsList 基础药品列表   动态获取了 在home.vue中获取了 */
@@ -187,7 +113,7 @@ const sheepProductType = [
 export default {
     seedSheedSource, seedSheedLevel, seedSheedStatus, seedColor, seedDensity,
     fetationStatus, estrusStatus, vaccineStyle, sheepType, cureStatus, periodOfValidityUnit
-    , drugStatus, harmlessConfirmStatus, examiningSheepType, examiningReportType, sheepProductType
+    , drugStatus, harmlessConfirmStatus, examiningSheepType, examiningReportType
 }
 
 

+ 1 - 3
src/views/Home/Home.vue

@@ -149,10 +149,8 @@ export default {
                 name: item.routerName
             });
         },
-        
-        
         onLogOut() {
-            this.$router.push('login')
+            this.$router.redirect('login')
         }
     }
 };

+ 13 - 0
src/views/Home/mencCofig.js

@@ -237,6 +237,19 @@ export const menuData = [
         ]
     },
     {
+        optionName: "销售管理",
+        iconClassName: "el-icon-sell",
+        index: '8',
+        disabled: false,
+        childList: [
+            {
+                optionName: '销售记录',
+                index: '8-1',
+                routerName: "sellLog"
+            }
+        ]
+    },
+    {
         optionName: "开发用模板",
         iconClassName: "el-icon-menu",
         index: '100',

+ 221 - 0
src/views/sell/sellLog.vue

@@ -0,0 +1,221 @@
+<template>
+    <div class="SellLog">
+        <h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">销售记录</h2>
+        <header id="header">
+            <el-row type="flex" :gutter="20">
+                <el-col :span="4">
+                    <el-input v-model="search" placeholder="请输入"></el-input>
+                </el-col>
+                <el-col :span="4">
+                    <el-button type="primary" @click="getSellLogList">查找</el-button>
+                </el-col>
+                <el-col :span="4">
+                    <el-button type="primary" @click="add">新增</el-button>
+                </el-col>
+            </el-row>
+        </header>
+        <section>
+            <article class="table">
+                <el-table
+                    :data="tableData"
+                    tooltip-effect="dark"
+                    style="width: 100%"
+                >
+                    <el-table-column prop="id" label="序号" width="100"></el-table-column>
+                    <el-table-column prop="saleNo" label="销售单号"></el-table-column>
+                    <el-table-column label="销售时间">
+                        <template v-slot="scope">
+                            <span>{{ scope.row['saleTime'].substr(0,10) }}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="saleBatch" label="销售批次"></el-table-column>
+                    <el-table-column prop="number" label="销售数量"></el-table-column>
+                    <el-table-column prop="weight" label="销售重量(kg)"></el-table-column>
+                    <el-table-column prop="price" label="销售价格(元)"></el-table-column>
+                    <el-table-column label="经办人">
+                        <template v-slot="scope">
+                            <div v-for="item in $store.state['workerList']" :key="item.value">
+                                <span v-if="item.id == scope.row['opeUser']">{{ `${item.name}(${item.position})` }}</span>
+                            </div>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="buyer" label="购买人"></el-table-column>
+                    <el-table-column prop="remark" label="备注"></el-table-column>
+                </el-table>
+
+                <el-row type="flex" justify="end">
+                    <el-col :span="8" class="pagination">
+                        <el-pagination
+                            @current-change="pageChange"
+                            background
+                            layout="prev, pager, next"
+                            :page-count="Number(totalPages)"
+                        ></el-pagination>
+                    </el-col>
+                </el-row>
+            </article>
+        </section>
+
+        <el-dialog title="新增/编辑" :visible.sync="isShow" width="40%">
+            <el-row type="flex">
+                <el-col :span="20">
+                    <el-form ref="addSellLog" :model="formData" :rules="rules" label-width="140px">
+                        <el-form-item label="销售单号">
+                            <el-input v-model="formData.saleNo"></el-input>
+                        </el-form-item>
+                        <el-form-item label="销售时间">
+                            <el-date-picker
+                                v-model="formData.saleTime"
+                                type="date"
+                                value-format="yyyy-MM-dd HH:mm:ss"
+                                placeholder="选择日期"
+                            ></el-date-picker>
+                        </el-form-item>
+                        <el-form-item label="销售批次">
+                            <el-input v-model="formData.saleBatch"></el-input>
+                        </el-form-item>
+                        <el-form-item label="销售数量">
+                            <el-input v-model.number="formData.number"></el-input>
+                        </el-form-item>
+                        <el-form-item label="销售重量(kg)">
+                            <el-input v-model="formData.weight"></el-input>
+                        </el-form-item>
+                        <el-form-item label="销售价格(元)">
+                            <el-input v-model="formData.price"></el-input>
+                        </el-form-item>
+                        <el-form-item label="经办人">
+                            <el-select v-model="formData.opeUser" filterable placeholder="请选择">
+                                <el-option
+                                    v-for="item in $store.state['workerList']"
+                                    :key="item.id"
+                                    :label="`${item.name}(${item.position})`"
+                                    :value="item.id"
+                                ></el-option>
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item label="购买人">
+                            <el-input v-model="formData.buyer"></el-input>
+                        </el-form-item>
+                        <el-form-item label="销售金额(元)">
+                            <el-input v-model="formData.sum"></el-input>
+                        </el-form-item>
+                        <el-form-item label="备注">
+                            <el-input type="textarea" autosize v-model="formData.remark"></el-input>
+                        </el-form-item>
+                        <el-form-item>
+                            <el-button @click="isShow=false">取 消</el-button>
+                            <el-button type="primary" @click="submitForm('addSellLog')">保 存</el-button>
+                        </el-form-item>
+                    </el-form>
+                </el-col>
+            </el-row>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+import {
+    reqSellLogList,
+    reqAddSellLog
+} from "@/api/sell.js";
+
+const pageSize = 10;
+const rules = {};
+
+export default {
+    name: "SellLog",
+    data() {
+        let _this = this
+        return {
+            search: "",
+            pageNum: 1,
+            tableData: [],
+            totalPages: 0,
+            isShow: false,
+            formData: {
+                saleNo: "20200814001",
+                saleTime: this.$moment().format('YYYY-MM-DD HH:mm:ss'),
+                saleBatch: "12380",
+                number: 4,
+                weight: 204.8,
+                price: 65,
+                opeUser: null,
+                buyer: "乔一飞",
+                sum: 0.00,
+                remark: "备注"
+            },
+            rules
+        };
+    },
+    created() {
+        // 调拨转舍列表
+        this.getSellLogList();
+    },
+    watch: {
+        'formData.weight'(v, ov) {
+            this.formData.sum = (v * this.formData.price).toFixed(2)
+        },
+        'formData.price'(v, ov) {
+            this.formData.sum = (this.formData.weight * v).toFixed(2)
+        }
+    },
+    methods: {
+        submitForm(formName) {
+            this.$refs[formName].validate(valid => {
+                if (valid) {
+                    reqAddSellLog(this.formData)
+                        .then(res => {
+                            // 调拨转舍列表
+                            this.getSellLogList();
+                            this.$message.success("成功!");
+                            // this.isShow = false
+                        })
+                        .catch(err => {
+                            console.log(err);
+                            this.$message.error("失败!");
+                        });
+                } else {
+                    return false;
+                }
+            });
+        },
+        // 调拨转舍列表
+        getSellLogList() {
+            reqSellLogList({
+                searchStr: this.search,
+                pageSize,
+                pageNum: this.pageNum
+            })
+                .then(res => {
+                    this.tableData = res.content;
+                    this.totalPages = res.totalPages;
+                })
+                .catch(err => {
+                    console.log(err);
+                });
+        },
+        add() {
+            this.isShow = true;
+            // 有id是update 没id是add
+            delete this.formData.id;
+        },
+        pageChange(p) {
+            console.log(p);
+            this.pageNum = p;
+            // 调拨转舍列表
+            this.getSellLogList();
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+#header {
+    margin-bottom: 15px;
+}
+.table {
+    .pagination {
+        margin-top: 20px;
+    }
+}
+</style>