|
@@ -7,7 +7,7 @@
|
|
|
<el-form-item>
|
|
|
<el-input
|
|
|
v-model="dataForm.key"
|
|
|
- placeholder="关键字"
|
|
|
+ placeholder="年猪耳标/栏期/单元/猪舍"
|
|
|
clearable>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
@@ -22,10 +22,14 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<el-table
|
|
|
+ height="670"
|
|
|
:data="dataList"
|
|
|
@selection-change="selectionChangeHandle"
|
|
|
v-loading="dataListLoading"
|
|
|
- style="width: 100%">
|
|
|
+ style="width: 100%"
|
|
|
+ @expand-change="expandChange"
|
|
|
+ ref="table"
|
|
|
+ :row-class-name="tableRowClassName">
|
|
|
<el-table-column
|
|
|
type="selection"
|
|
|
header-align="center"
|
|
@@ -34,34 +38,135 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column type="expand">
|
|
|
<template slot-scope="props">
|
|
|
- <el-form label-position="left" inline class="demo-table-expand">
|
|
|
- <el-form-item label="耳标">
|
|
|
- <span>{{ props.row.eartag }}</span>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="年龄">
|
|
|
- <span>{{ props.row.dayAge }}天</span>
|
|
|
+ <el-form label-position="right" inline class="demo-table-expand">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="耳标">
|
|
|
+ <span>{{ props.row.eartag }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="年龄">
|
|
|
+ <span>{{ props.row.dayAge }}天</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="健康状况">
|
|
|
+ <span>{{ props.row.healthStatus? '健康': '不健康' }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="体重">
|
|
|
+ <span>{{ props.row.weight }}千克</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="品种">
|
|
|
+ <span>{{ props.row.breed }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="去向">
|
|
|
+ <span>{{ props.row.whereDidYouGo }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="所属单元">
|
|
|
+ <span>{{ props.row.unitNumber }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="所属猪舍">
|
|
|
+ <span>{{ props.row.phNumber }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-form-item label="所属牧场">
|
|
|
+ <span>{{ props.row.name }}</span>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="健康状况">
|
|
|
+ <!-- 三列保留 -->
|
|
|
+ <!-- <el-row>
|
|
|
+ <el-col span="8">
|
|
|
+ <el-form-item label="耳标">
|
|
|
+ <span>{{ props.row.eartag }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col span="8">
|
|
|
+ <el-form-item label="年龄">
|
|
|
+ <span>{{ props.row.dayAge }}天</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col span="8">
|
|
|
+ <el-form-item label="健康状况">
|
|
|
+ <span>{{ props.row.healthStatus? '健康': '不健康' }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+
|
|
|
+ <el-col span="8">
|
|
|
+ <el-form-item label="体重">
|
|
|
+ <span>{{ props.row.weight }}千克</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col span="8">
|
|
|
+ <el-form-item label="品种">
|
|
|
+ <span>{{ props.row.breed }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col span="8">
|
|
|
+ <el-form-item label="去向">
|
|
|
+ <span>{{ props.row.whereDidYouGo }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col span="8">
|
|
|
+ <el-form-item label="所属单元">
|
|
|
+ <span>{{ props.row.unitNumber }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col span="8">
|
|
|
+ <el-form-item label="所属猪舍">
|
|
|
+ <span>{{ props.row.phNumber }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col span="8">
|
|
|
+ <el-form-item label="所属牧场">
|
|
|
+ <span>{{ props.row.name }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row> -->
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <!-- <el-form-item label="健康状况">
|
|
|
<span>{{ props.row.healthStatus? '健康': '不健康' }}</span>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="体重">
|
|
|
+ </el-form-item> -->
|
|
|
+ <!-- <el-form-item label="体重">
|
|
|
<span>{{ props.row.weight }}千克</span>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="品种">
|
|
|
+ </el-form-item> -->
|
|
|
+ <!-- <el-form-item label="品种">
|
|
|
<span>{{ props.row.breed }}</span>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="去向">
|
|
|
+ </el-form-item> -->
|
|
|
+ <!-- <el-form-item label="去向">
|
|
|
<span>{{ props.row.whereDidYouGo }}</span>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="所属单元">
|
|
|
+ </el-form-item> -->
|
|
|
+ <!-- <el-form-item label="所属单元">
|
|
|
<span>{{ props.row.unitNumber }}</span>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="所属猪舍">
|
|
|
+ </el-form-item> -->
|
|
|
+ <!-- <el-form-item label="所属猪舍">
|
|
|
<span>{{ props.row.phNumber }}</span>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="所属牧场">
|
|
|
+ </el-form-item> -->
|
|
|
+ <!-- <el-form-item label="所属牧场">
|
|
|
<span>{{ props.row.name }}</span>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
</el-form>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -106,14 +211,26 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
+ <div class="block">
|
|
|
+ <el-pagination
|
|
|
+ @size-change="sizeChangeHandle"
|
|
|
+ @current-change="currentChangeHandle"
|
|
|
+ :current-page="pageIndex"
|
|
|
+ :page-sizes="[10, 20, 30, 50, 100]"
|
|
|
+ :page-size="pageSize"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total="totalPage">
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
<el-dialog
|
|
|
:title="!form.id ? '新增' : '修改'"
|
|
|
:close-on-click-modal="false"
|
|
|
:visible.sync="visible"
|
|
|
- @close="cancel">
|
|
|
- <el-form :model="form" ref="form" @keyup.enter.native="formSubmit()" label-width="80px">
|
|
|
- <el-form-item label="所属牧场">
|
|
|
- <el-select v-model="form.pastureId" placeholder="请选择所属牧场" @change="getPasture" ref="pasture">
|
|
|
+ @close="cancel"
|
|
|
+ style="width: 50%; margin: auto">
|
|
|
+ <el-form :model="form" :rules="dataRule" ref="form" @keyup.enter.native="formSubmit()" label-width="80px" size="mini" style="padding: 0 60px 0 40px">
|
|
|
+ <el-form-item label="所属牧场" prop="pastureId">
|
|
|
+ <el-select v-model="form.pastureId" placeholder="请选择所属牧场" @change="getPasture" ref="pasture" style="width: 100%">
|
|
|
<el-option
|
|
|
v-for="item in pastureList"
|
|
|
:key="item.id"
|
|
@@ -122,8 +239,8 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="所属猪舍">
|
|
|
- <el-select v-model="form.pigstyId" placeholder="请选择所属猪舍" @change="getPigsty">
|
|
|
+ <el-form-item label="所属猪舍" prop="pigstyId">
|
|
|
+ <el-select v-model="form.pigstyId" placeholder="请选择所属猪舍" @change="getPigsty" style="width: 100%">
|
|
|
<el-option
|
|
|
v-for="item in phSelectedList"
|
|
|
:key="item.id"
|
|
@@ -132,8 +249,8 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="单元编号">
|
|
|
- <el-select v-model="form.unitId" placeholder="请选择所属单元" @change="getUnit">
|
|
|
+ <el-form-item label="单元编号" prop="unitId">
|
|
|
+ <el-select v-model="form.unitId" placeholder="请选择所属单元" @change="getUnit" style="width: 100%">
|
|
|
<el-option
|
|
|
v-for="item in unSelectedList"
|
|
|
:key="item.id"
|
|
@@ -142,8 +259,8 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="栏期编号">
|
|
|
- <el-select v-model="form.periodId" placeholder="请选择所属栏期" @change="getPeriod">
|
|
|
+ <el-form-item label="栏期编号" prop="periodId">
|
|
|
+ <el-select v-model="form.periodId" placeholder="请选择所属栏期" @change="getPeriod" style="width: 100%">
|
|
|
<el-option
|
|
|
v-for="item in peSelectedList"
|
|
|
:key="item.id"
|
|
@@ -152,11 +269,11 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="耳标">
|
|
|
- <el-input v-model="form.eartag" placeholder="请输入耳标"></el-input>
|
|
|
+ <el-form-item label="耳标" prop="eartag">
|
|
|
+ <el-input v-model="form.eartag" placeholder="请输入耳标" style="width: 100%"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="性别">
|
|
|
- <el-select v-model="form.sex" placeholder="请选择性别">
|
|
|
+ <el-form-item label="性别" prop="sex">
|
|
|
+ <el-select v-model="form.sex" placeholder="请选择性别" style="width: 100%">
|
|
|
<el-option
|
|
|
v-for="item in sex"
|
|
|
:key="item.label"
|
|
@@ -165,21 +282,22 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="出生日期">
|
|
|
+ <el-form-item label="出生日期" prop="birthday">
|
|
|
<el-date-picker
|
|
|
v-model="form.birthday"
|
|
|
type="date"
|
|
|
value-format="yyyy-MM-dd"
|
|
|
placeholder="请选择出生日期"
|
|
|
- @change="changeBirth">
|
|
|
+ @change="changeBirth"
|
|
|
+ style="width: 100%">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="年龄">
|
|
|
- <!-- <el-input v-model="form.dayAge" placeholder="请输入年龄(天)"></el-input> -->
|
|
|
+ <!-- <el-form-item label="年龄">
|
|
|
+ <el-input v-model="form.dayAge" placeholder="请输入年龄(天)"></el-input>
|
|
|
<el-input-number v-model="form.dayAge" :step="1" :max="10000000000" :min="0" @change="changeDay"></el-input-number> 天
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="健康状况">
|
|
|
- <el-select v-model="form.healthStatus" placeholder="请选择健康状况">
|
|
|
+ </el-form-item> -->
|
|
|
+ <el-form-item label="健康状况" prop="healthStatus">
|
|
|
+ <el-select v-model="form.healthStatus" placeholder="请选择健康状况" style="width: 100%">
|
|
|
<el-option
|
|
|
v-for="item in health"
|
|
|
:key="item.label"
|
|
@@ -188,19 +306,19 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="体重">
|
|
|
- <el-input-number v-model="form.weight" :step="0.01" :max="1000000" :min="0"></el-input-number> 千克
|
|
|
+ <el-form-item label="体重" prop="weight">
|
|
|
+ <el-input-number v-model="form.weight" :step="0.01" :max="1000000" :min="0" style="width: 85%"></el-input-number> 千克
|
|
|
<!-- <el-input v-model="form.weight" placeholder="请输入体重(千克)"></el-input> -->
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="品种">
|
|
|
- <el-input v-model="form.breed" placeholder="请输入品种"></el-input>
|
|
|
+ <el-form-item label="品种" prop="breed">
|
|
|
+ <el-input v-model="form.breed" placeholder="请输入品种" style="width: 100%"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="去向">
|
|
|
+ <!-- <el-form-item label="去向">
|
|
|
<el-input v-model="form.whereDidYouGo" placeholder="请输入去向"></el-input>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
</el-form>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="cancel">取消</el-button>
|
|
|
+ <el-button @click="cancel">关闭</el-button>
|
|
|
<el-button type="primary" @click="formSubmit()">确定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
@@ -261,7 +379,36 @@ export default {
|
|
|
value: '母',
|
|
|
label: '母'
|
|
|
}
|
|
|
- ]
|
|
|
+ ],
|
|
|
+ row: {},
|
|
|
+ dataRule: {
|
|
|
+ pastureId: [
|
|
|
+ { required: true, message: '牧场不能为空', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ pigstyId: [
|
|
|
+ { required: true, message: '猪舍不能为空', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ unitId: [
|
|
|
+ { required: true, message: '单元不能为空', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ periodId: [
|
|
|
+ { required: true, message: '栏期不能为空', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ eartag: [
|
|
|
+ { required: true, message: '耳标不能为空', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ sex: [
|
|
|
+ { required: true, message: '性别不能为空', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ birthday: [
|
|
|
+ { required: true, message: '出生日期不能为空', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ healthStatus: [],
|
|
|
+ weight: [],
|
|
|
+ breed: [
|
|
|
+ { required: true, message: '品种不能为空', trigger: 'blur' }
|
|
|
+ ]
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
mounted () {
|
|
@@ -275,8 +422,8 @@ export default {
|
|
|
url: this.$http.adornUrl('/management/yearpigbase/list'),
|
|
|
method: 'post',
|
|
|
params: this.$http.adornParams({
|
|
|
- page: 1,
|
|
|
- limit: 10,
|
|
|
+ page: this.pageIndex,
|
|
|
+ limit: this.pageSize,
|
|
|
keywords: this.dataForm.key
|
|
|
})
|
|
|
}).then(async ({ data }) => {
|
|
@@ -367,6 +514,21 @@ export default {
|
|
|
this.pageIndex = val
|
|
|
this.getDataList()
|
|
|
},
|
|
|
+ // 展开年猪具体信息,关闭另外的具体信息
|
|
|
+ expandChange (val) {
|
|
|
+ if (val !== this.row) {
|
|
|
+ this.$refs.table.toggleRowExpansion(this.row, false)
|
|
|
+ this.row = val
|
|
|
+ }
|
|
|
+ console.log(val);
|
|
|
+ },
|
|
|
+ // 变色
|
|
|
+ tableRowClassName({row, rowIndex}) {
|
|
|
+ if (rowIndex%2 === 0) {
|
|
|
+ return 'warning-row';
|
|
|
+ }
|
|
|
+ return '';
|
|
|
+ },
|
|
|
// 获取出生日期
|
|
|
changeBirth (val) {
|
|
|
let birth = new Date(val)
|
|
@@ -613,10 +775,10 @@ export default {
|
|
|
formSubmit () {
|
|
|
if (this.form.id) {
|
|
|
// 修改
|
|
|
- // 输入是否完整
|
|
|
- if (!this.confirmComplete()) {
|
|
|
- return
|
|
|
- }
|
|
|
+ // // 输入是否完整
|
|
|
+ // if (!this.confirmComplete()) {
|
|
|
+ // return
|
|
|
+ // }
|
|
|
// 输入是否合法
|
|
|
if (!this.confirmInput()) {
|
|
|
return
|
|
@@ -670,10 +832,11 @@ export default {
|
|
|
})
|
|
|
} else {
|
|
|
// 新增
|
|
|
+ console.log(this.form);
|
|
|
// 输入是否完整
|
|
|
- if (!this.confirmComplete(1)) {
|
|
|
- return
|
|
|
- }
|
|
|
+ // if (!this.confirmComplete(1)) {
|
|
|
+ // return
|
|
|
+ // }
|
|
|
// 输入是否合法
|
|
|
if (!this.confirmInput()) {
|
|
|
return
|
|
@@ -704,7 +867,7 @@ export default {
|
|
|
let pages = Math.ceil(this.totalPage / this.pageSize)
|
|
|
this.pageIndex = this.pageIndex < pages? pages: this.pageIndex
|
|
|
this.resetForm()
|
|
|
- this.visible = false;
|
|
|
+ // this.visible = false;
|
|
|
this.$message({
|
|
|
message: '成功添加年猪',
|
|
|
type: 'success',
|
|
@@ -794,9 +957,10 @@ export default {
|
|
|
},
|
|
|
// 清空form
|
|
|
resetForm () {
|
|
|
- for (let i in this.form) {
|
|
|
- this.form[i] = ''
|
|
|
- }
|
|
|
+ // for (let i in this.form) {
|
|
|
+ // this.form[i] = ''
|
|
|
+ // }
|
|
|
+ this.form.eartag = ''
|
|
|
this.getDataList()
|
|
|
},
|
|
|
// 取消
|
|
@@ -821,4 +985,7 @@ export default {
|
|
|
margin-bottom: 0;
|
|
|
width: 80%;
|
|
|
}
|
|
|
+.el-table .warning-row {
|
|
|
+ background: #f0f9ed;
|
|
|
+}
|
|
|
</style>
|