|
@@ -0,0 +1,320 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <div class="header_title">栋舍管理</div>
|
|
|
+ <div class="house-manage">
|
|
|
+ <!-- 查询条件 -->
|
|
|
+ <div class="conditions">
|
|
|
+ <el-form ref="searchForm" inline :model="searchForm" size="mini" label-width="110px">
|
|
|
+ <el-form-item label="注册时间:" prop="registerTime" style="width: 310px">
|
|
|
+ <!-- <el-input v-model="searchForm.registerTime" placeholder=""></el-input> -->
|
|
|
+ <el-date-picker
|
|
|
+ v-model="searchForm.registerTime"
|
|
|
+ type="daterange"
|
|
|
+ placeholder="选择日期"
|
|
|
+ style="width: 200px"
|
|
|
+ value-format="yyyy-MM-dd">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="阶段:" prop="stage" style="width: 310px">
|
|
|
+ <el-select v-model="searchForm.stage" style="width: 178px;">
|
|
|
+ <el-option
|
|
|
+ v-for="item in stageList"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="栋舍:" prop="pigpenName" style="width: 310px">
|
|
|
+ <el-input v-model="searchForm.pigpenName"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item style="margin-left: 55px">
|
|
|
+ <el-button type="primary" @click="init">查询</el-button>
|
|
|
+ <el-button plain type="info" @click="resetForm('searchForm')">清空</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="chartDiv">
|
|
|
+ <div class="title">
|
|
|
+ <i class="el-icon-s-unfold"></i>
|
|
|
+ <span> 栋舍列表</span>
|
|
|
+ <el-button plain size="mini" class="button-margin">批量上传</el-button>
|
|
|
+ <el-button type="primary" plain size="mini" @click="handleAdd(1)">新增栋舍</el-button>
|
|
|
+ <el-button type="primary" plain size="mini" @click="handleAdd(2)">新增单元</el-button>
|
|
|
+ </div>
|
|
|
+ <div class="box_table">
|
|
|
+ <el-table
|
|
|
+ :data="tableData"
|
|
|
+ border
|
|
|
+ stripe
|
|
|
+ v-loading="dataListLoading"
|
|
|
+ style="width: 100%"
|
|
|
+ :header-cell-style="{'text-align':'center', 'background-color': '#F9FAFC', 'padding': '5px 0', 'color': '#666666'}"
|
|
|
+ :cell-style="{'text-align':'center', 'padding': '5px 0', 'cursor': 'pointer'}"
|
|
|
+ height="700"
|
|
|
+ row-key="id"
|
|
|
+ :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
|
|
|
+ <el-table-column
|
|
|
+ prop="pigpenName"
|
|
|
+ label="栋舍名">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="creatTime"
|
|
|
+ label="注册时间">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="阶段">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ stageList[scope.row.stage - 1].label }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="操作">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button type="text" size="small" @click="handleEdit(scope.row)">编辑</el-button>
|
|
|
+ <el-button type="text" size="small" @click="handleDelete(scope.row)">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <table-footer
|
|
|
+ :totals="totalPages"
|
|
|
+ :size="pageSize"
|
|
|
+ @sizeChange="sizeChange"
|
|
|
+ @pageChange="pageChange">
|
|
|
+ </table-footer>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <add-or-update-pigpen ref="pigpenEdit" @refreshData="init"></add-or-update-pigpen>
|
|
|
+ <add-or-update-unit ref="unitEdit" @refreshData="init"></add-or-update-unit>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+import TableFooter from "../../components/TableFooter"
|
|
|
+import addOrUpdatePigpen from './addOrUpdatePigpen.vue'
|
|
|
+import addOrUpdateUnit from './addOrUpdateUnit.vue'
|
|
|
+import {mapState} from 'vuex'
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ tableData: [],
|
|
|
+ stageList: [ // 阶段
|
|
|
+ {
|
|
|
+ value: 1,
|
|
|
+ label: '配怀'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 2,
|
|
|
+ label: '分娩'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 3,
|
|
|
+ label: '保育'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 4,
|
|
|
+ label: '育成育肥'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 5,
|
|
|
+ label: '空怀'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 6,
|
|
|
+ label: '后备母猪'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 7,
|
|
|
+ label: '公猪'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 8,
|
|
|
+ label: '病死猪场内收集'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 9,
|
|
|
+ label: '病死猪无害化'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ pigpenList: [ // 猪舍List
|
|
|
+ ],
|
|
|
+ searchForm: {
|
|
|
+ registerTime: '',
|
|
|
+ stage: '',
|
|
|
+ pigpenId: ''
|
|
|
+ },
|
|
|
+ pageSize: 20, // 表格显示条数
|
|
|
+ totalPages: 0, // 共 n 条数据
|
|
|
+ pageIndex: 1, // 表格当前页数
|
|
|
+ dataListLoading: true
|
|
|
+ }
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ TableFooter,
|
|
|
+ addOrUpdatePigpen,
|
|
|
+ addOrUpdateUnit
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapState(['baseUrl'])
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 初始化
|
|
|
+ init() {
|
|
|
+ this.$http({
|
|
|
+ url: this.$http.adornUrl(`${this.baseUrl}/manager/basepigpen/list`),
|
|
|
+ method: 'get',
|
|
|
+ params: this.$http.adornParams({
|
|
|
+ 'page': this.pageIndex,
|
|
|
+ 'limit': this.pageSize,
|
|
|
+ 'farmCode': '330703010000422'
|
|
|
+ }, false)
|
|
|
+ }).then(({data}) => {
|
|
|
+ if (data.code === 0) {
|
|
|
+ this.tableData = data.page.list
|
|
|
+ this.totalPages = data.page.totalCount
|
|
|
+ this.dataListLoading = false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 显示条数改变
|
|
|
+ sizeChange (val) {
|
|
|
+ this.pageSize = val
|
|
|
+ this.init()
|
|
|
+ },
|
|
|
+ // 页数改变
|
|
|
+ pageChange (val) {
|
|
|
+ this.pageIndex = val
|
|
|
+ this.init()
|
|
|
+ },
|
|
|
+ // 新增
|
|
|
+ handleAdd (type) {
|
|
|
+ if (type === 1) { // 猪舍
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.pigpenEdit.init()
|
|
|
+ })
|
|
|
+ } else if (type === 2) { // 单元
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.unitEdit.init()
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 编辑
|
|
|
+ handleEdit(row) {
|
|
|
+ if (row.type === 1) { // 猪舍
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.pigpenEdit.init(row)
|
|
|
+ })
|
|
|
+ } else if (row.type === 2) { // 单元
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.unitEdit.init(row)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 删除
|
|
|
+ handleDelete(row) {
|
|
|
+ let ids = [row.id]
|
|
|
+ this.$confirm(`确定删除名称为{${row.pigpenName}}的${row.type === 1? '栋舍': '单元'}?`, '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ this.$http({
|
|
|
+ url: this.$http.adornUrl(`${this.baseUrl}/manager/basepigpen/delete`),
|
|
|
+ method: 'post',
|
|
|
+ data: this.$http.adornData(ids, false)
|
|
|
+ }).then(result => {
|
|
|
+ if (result.data.code === 0) {
|
|
|
+ this.init()
|
|
|
+ this.$message({
|
|
|
+ message: `确定删除名称为{${row.pigpenName}}的${row.type === 1? '栋舍': '单元'}`,
|
|
|
+ type: 'success',
|
|
|
+ duration: 1000
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$confirm(result.data.msg, '删除失败', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.init()
|
|
|
+ },
|
|
|
+}
|
|
|
+</script>
|
|
|
+<style scoped>
|
|
|
+/* 标题 */
|
|
|
+.header_title {
|
|
|
+ height: 40px;
|
|
|
+ background-color: #F7F7F7;
|
|
|
+ border: 1px solid #ddd;
|
|
|
+ line-height: 40px;
|
|
|
+ color: #6FA8C8;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ padding-left: 20px;
|
|
|
+ position: fixed;
|
|
|
+ width: 1660px;
|
|
|
+ z-index: 1000;
|
|
|
+}
|
|
|
+
|
|
|
+.button-margin {
|
|
|
+ margin: 0 5px 0 20px;
|
|
|
+}
|
|
|
+
|
|
|
+/* 标题固定后对下面影响的消除 */
|
|
|
+.house-manage {
|
|
|
+ padding-top: 40px;
|
|
|
+}
|
|
|
+
|
|
|
+/** 选择条件 */
|
|
|
+.conditions {
|
|
|
+ /* width: 100%; */
|
|
|
+ background-color: #fff;
|
|
|
+ margin: 30px 0;
|
|
|
+ border: 1px solid #ddd;
|
|
|
+ padding: 20px;
|
|
|
+ padding-bottom: 10px;
|
|
|
+}
|
|
|
+
|
|
|
+/* 图表结构的大局 */
|
|
|
+.chartDiv {
|
|
|
+ /* margin: 10px; */
|
|
|
+ margin-top: 20px;
|
|
|
+ margin-left: 0;
|
|
|
+ border: 1px solid #ddd;
|
|
|
+ background-color: #fff;
|
|
|
+}
|
|
|
+
|
|
|
+.title {
|
|
|
+ background-color: rgba(243, 243, 243, 1);
|
|
|
+ height: 50px;
|
|
|
+ line-height: 50px;
|
|
|
+ padding-left: 50px;
|
|
|
+ font-size: 14px;
|
|
|
+ border-bottom: 1px solid #ddd;
|
|
|
+}
|
|
|
+
|
|
|
+.form_item {
|
|
|
+ width: 100%;
|
|
|
+ height: 60px;
|
|
|
+ background-color: #fff;
|
|
|
+ border-top: 1px solid #ddd;
|
|
|
+ border-bottom: 1px solid #ddd;
|
|
|
+ box-sizing: border-box;
|
|
|
+ padding: 15px;
|
|
|
+ margin-top: 15px;
|
|
|
+}
|
|
|
+.box_table {
|
|
|
+ width: 100%;
|
|
|
+ box-sizing: border-box;
|
|
|
+ margin-top: 15px;
|
|
|
+ padding-right: 10px;
|
|
|
+ position: relative;
|
|
|
+ /*padding: 10px;*/
|
|
|
+}
|
|
|
+</style>
|