linan 4 роки тому
батько
коміт
dcc21172ad
2 змінених файлів з 151 додано та 56 видалено
  1. 1 3
      src/api/production.js
  2. 150 53
      src/views/production/batch.vue

+ 1 - 3
src/api/production.js

@@ -4,7 +4,5 @@ import { ajax } from "../sdk/ajax";
 /* 批次管理  Batch*/
 export const reqBatchList = (data) => ajax("post", "/farm-huyang/batch/list", data)
 
-export const reqAddBatch = (data) => ajax("post", "/farm-huyang/semen/create", data)
-
-export const reqDelBatch = (id) => ajax("post", "/farm-huyang/semen/delete", {id})
+export const reqAddBatch = (data) => ajax("post", "/farm-huyang/batch/create", data)
 

+ 150 - 53
src/views/production/batch.vue

@@ -1,26 +1,32 @@
 <template>
-    <div class="collectSeedLog">
+    <div class="Batch">
         <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-col :span="4" v-show="btnFlag==1">
                     <el-input v-model="search" placeholder="请输入"></el-input>
                 </el-col>
-                <el-col :span="4">
+                <el-col :span="14" v-show="btnFlag==1">
                     <el-button type="primary" @click="getBatchList">查找</el-button>
                 </el-col>
+                <el-col :span="4" v-show="btnFlag==2">
+                    <el-input v-model="search_2" placeholder="请输入"></el-input>
+                </el-col>
+                <el-col :span="14" v-show="btnFlag==2">
+                    <el-button type="primary" @click="getSeedSheepList">查找</el-button>
+                </el-col>
+
                 <el-col :span="4">
-                    <el-button type="primary" @click="add">新增</el-button>
+                    <el-button-group>
+                        <el-button :type="btnFlag==1?'primary':''" @click="onBtn(1)">批次记录</el-button>
+                        <el-button :type="btnFlag==2?'primary':''" @click="onBtn(2)">批次生成</el-button>
+                    </el-button-group>
                 </el-col>
             </el-row>
         </header>
         <section>
-            <article class="table">
-                <el-table
-                    :data="tableData"
-                    tooltip-effect="dark"
-                    style="width: 100%"
-                >
+            <article v-show="btnFlag==1">
+                <el-table :data="tableData" tooltip-effect="dark" style="width: 100%">
                     <el-table-column prop="id" label="序号"></el-table-column>
                     <el-table-column prop="batchNo" label="批次编码"></el-table-column>
                     <el-table-column prop="created" label="生成时间"></el-table-column>
@@ -31,14 +37,16 @@
                     <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['feeder']">{{ `${item.name}(${item.position})` }}</span>
+                                <span
+                                    v-if="item.id == scope.row['feeder']"
+                                >{{ `${item.name}(${item.position})` }}</span>
                             </div>
                         </template>
                     </el-table-column>
                 </el-table>
 
-                <el-row type="flex" justify="end">
-                    <el-col :span="8" class="pagination">
+                <el-row type="flex" justify="end" style="margin-top: 20px">
+                    <el-col :span="8">
                         <el-pagination
                             @current-change="pageChange"
                             background
@@ -48,15 +56,76 @@
                     </el-col>
                 </el-row>
             </article>
+
+            <article v-show="btnFlag==2">
+                <el-table
+                    :data="tableData_2"
+                    tooltip-effect="dark"
+                    style="width: 100%"
+                    @selection-change="handleSelectionChange"
+                >
+                    <el-table-column type="selection" width="55"></el-table-column>
+                    <el-table-column prop="id" label="种母羊编码" width="100"></el-table-column>
+                    <el-table-column prop="entryTime" label="入场时间" width="200"></el-table-column>
+                    <el-table-column prop="dayOfAge" label="入场日龄"></el-table-column>
+                    <el-table-column label="种羊来源">
+                        <template v-slot="scope">
+                            <div v-for="item in $store.state['seedSheedSource']" :key="item.value">
+                                <span v-if="item.value == scope.row['source']">{{ item.label }}</span>
+                            </div>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="position" label="当前位置"></el-table-column>
+                    <el-table-column label="当前状态">
+                        <template v-slot="scope">
+                            <div v-for="item in $store.state['seedSheedStatus']" :key="item.value">
+                                <span v-if="item.value == scope.row['status']">{{ item.label }}</span>
+                            </div>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="cost" label="成本价格(元)"></el-table-column>
+                    <el-table-column prop="weight" label="体重(kg)"></el-table-column>
+                    <el-table-column prop="feederName" label="饲养员">
+                        <template v-slot="scope">
+                            <div v-for="item in $store.state['workerList']" :key="item.value">
+                                <span
+                                    v-if="item.id == scope.row['feeder']"
+                                >{{ `${item.name}(${item.position})` }}</span>
+                            </div>
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="等级评级">
+                        <template v-slot="scope">
+                            <div v-for="item in $store.state['seedSheedLevel']" :key="item.value">
+                                <span v-if="item.value == scope.row['level']">{{ item.label }}</span>
+                            </div>
+                        </template>
+                    </el-table-column>
+                </el-table>
+
+                <el-row type="flex" justify="end" style="margin-top: 20px">
+                    <el-col :span="14">
+                        <el-button type="primary" plain @click="add">
+                            生产批次
+                            <i class="el-icon-arrow-right el-icon--right"></i>
+                        </el-button>
+                    </el-col>
+                    <el-col :span="8">
+                        <el-pagination
+                            @current-change="pageChange_2"
+                            background
+                            layout="prev, pager, next"
+                            :page-count="Number(totalPages_2)"
+                        ></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="addBatch" :model="formData" :rules="rules" label-width="140px">
-                        <el-form-item label="种公羊编号">
-                            <el-input v-model="formData.sheepIds"></el-input>
-                        </el-form-item>
                         <el-form-item label="操作人">
                             <el-select v-model="formData.feeder" filterable placeholder="请选择">
                                 <el-option
@@ -79,34 +148,39 @@
 </template>
 
 <script>
-import {
-    reqBatchList,
-    reqAddBatch,
-    reqDelBatch
-} from "@/api/production.js";
+import { reqBatchList, reqAddBatch } from "@/api/production.js";
+import { reqSeedSheepList } from "@/api/breed.js";
 
 const pageSize = 10;
 const rules = {};
 
 export default {
-    name: "collectSeedLog",
+    name: "Batch",
     data() {
         return {
+            btnFlag: 1,
             search: "",
+            search_2: "",
             pageNum: 1,
+            pageNum_2: 1,
             tableData: [],
+            tableData_2: [],
             totalPages: 0,
+            totalPages_2: 0,
             isShow: false,
             formData: {
-                sheepIds: "12,123,568,454,456",
+                sheepIds: "",
                 feeder: null
             },
+            multipleSelection: [],
             rules
         };
     },
     created() {
-        // 入库管理列表
+        // 批次列表
         this.getBatchList();
+        // 获取种羊档案列表
+        this.getSeedSheepList();
     },
     methods: {
         submitForm(formName) {
@@ -114,10 +188,14 @@ export default {
                 if (valid) {
                     reqAddBatch(this.formData)
                         .then(res => {
-                            // 入库管理列表
+                            // 批次列表
                             this.getBatchList();
+                            // 获取种羊档案列表
+                            this.getSeedSheepList();
                             this.$message.success("成功!");
-                            // this.isShow = false
+                            // 清空选项
+                            this.toggleSelection();
+                            this.isShow = false;
                         })
                         .catch(err => {
                             console.log(err);
@@ -128,7 +206,7 @@ export default {
                 }
             });
         },
-        // 入库管理列表
+        // 批次列表
         getBatchList() {
             reqBatchList({
                 searchStr: this.search,
@@ -143,37 +221,61 @@ export default {
                     console.log(err);
                 });
         },
-        add() {
-            this.isShow = true;
-            // 有id是update 没id是add
-            delete this.formData.id;
-        },
-        edit(row) {
-            this.formData = row;
-            this.isShow = true;
-        },
-        del(row) {
-            reqDelBatch(row.id)
+        // 获取种羊档案列表
+        getSeedSheepList() {
+            reqSeedSheepList({
+                searchStr: this.search_2,
+                pageSize,
+                pageNum: this.pageNum_2
+            })
                 .then(res => {
-                    // 入库管理列表
-                    this.getBatchList();
-                    if (res.code == "success") {
-                        this.$message.success(res.msg);
-                    }
-                    if (res.errCode == "delete failed") {
-                        this.$message.error(res.errMsg);
-                    }
+                    this.tableData_2 = res.content;
+                    this.totalPages_2 = res.totalPages;
                 })
                 .catch(err => {
                     console.log(err);
-                    this.$message.error("删除失败!");
                 });
         },
+        handleSelectionChange(val) {
+            this.multipleSelection = val;
+        },
+        // 选项选择
+        toggleSelection(rows) {
+            if (rows) {
+                rows.forEach(row => {
+                    this.$refs.multipleTable.toggleRowSelection(row);
+                });
+            } else {
+                this.$refs.multipleTable.clearSelection();
+            }
+        },
+        // 创建批次
+        add() {
+            if (this.multipleSelection.length <= 0) {
+                this.$message.warning("请选择羊");
+                return;
+            }
+            this.formData.sheepIds = this.multipleSelection
+                .map(item => item.id)
+                .toString();
+            this.isShow = true;
+            // 有id是update 没id是add
+            delete this.formData.id;
+        },
+        onBtn(v) {
+            this.btnFlag = v;
+        },
         pageChange(p) {
             console.log(p);
             this.pageNum = p;
-            // 入库管理列表
+            // 批次列表
             this.getBatchList();
+        },
+        pageChange_2(p) {
+            console.log(p);
+            this.pageNum_2 = p;
+            // 获取种羊档案列表
+            this.getSeedSheepList();
         }
     }
 };
@@ -183,9 +285,4 @@ export default {
 #header {
     margin-bottom: 15px;
 }
-.table {
-    .pagination {
-        margin-top: 20px;
-    }
-}
 </style>