|
@@ -42,10 +42,13 @@
|
|
|
<span>{{ props.row.dayAge }}天</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="健康状况">
|
|
|
- <span>{{ props.row.healthStatus }}</span>
|
|
|
+ <span>{{ props.row.healthStatus? '健康': '不健康' }}</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="体重">
|
|
|
- <span>{{ props.row.weight }}</span>
|
|
|
+ <span>{{ props.row.weight }}千克</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="品种">
|
|
|
+ <span>{{ props.row.variety }}</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="去向">
|
|
|
<span>{{ props.row.whereDidYouGo }}</span>
|
|
@@ -100,9 +103,10 @@
|
|
|
<el-dialog
|
|
|
:title="!form.id ? '新增' : '修改'"
|
|
|
:close-on-click-modal="false"
|
|
|
- :visible.sync="visible">
|
|
|
+ :visible.sync="visible"
|
|
|
+ @close="cancel">
|
|
|
<el-form :model="form" ref="form" @keyup.enter.native="formSubmit()" label-width="80px">
|
|
|
- <el-form-item label="所属牧场" prop="name">
|
|
|
+ <el-form-item label="所属牧场">
|
|
|
<el-select v-model="form.pastureId" placeholder="请选择所属牧场" @change="getPasture" ref="pasture">
|
|
|
<el-option
|
|
|
v-for="item in pastureList"
|
|
@@ -112,7 +116,7 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="所属猪舍" prop="number">
|
|
|
+ <el-form-item label="所属猪舍">
|
|
|
<el-select v-model="form.pigstyId" placeholder="请选择所属猪舍" @change="getPigsty">
|
|
|
<el-option
|
|
|
v-for="item in phSelectedList"
|
|
@@ -122,12 +126,45 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="单元序号" prop="id">
|
|
|
- <el-input v-model="form.number" placeholder="请输入单元序号"></el-input>
|
|
|
+ <el-form-item label="单元序号">
|
|
|
+ <!-- <el-input v-model="form.number" placeholder="请输入单元序号"></el-input> -->
|
|
|
+ <el-select v-model="form.unitId" placeholder="请选择所属单元" @change="getUnit">
|
|
|
+ <el-option
|
|
|
+ v-for="item in unSelectedList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.number"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="耳标">
|
|
|
+ <el-input v-model="form.eartag" placeholder="请输入耳标"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="年龄">
|
|
|
+ <el-input v-model="form.dayAge" placeholder="请输入年龄(天)"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="健康状况">
|
|
|
+ <el-select v-model="form.healthStatus" placeholder="请输入健康状况">
|
|
|
+ <el-option
|
|
|
+ v-for="item in health"
|
|
|
+ :key="item.label"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="体重">
|
|
|
+ <el-input v-model="form.weight" placeholder="请输入体重(千克)"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="品种">
|
|
|
+ <el-input v-model="form.variety" placeholder="请输入去向"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="去向">
|
|
|
+ <el-input v-model="form.whereDidYouGo" placeholder="请输入去向"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="visible = false">取消</el-button>
|
|
|
+ <el-button @click="cancel">取消</el-button>
|
|
|
<el-button type="primary" @click="formSubmit()">确定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
@@ -140,14 +177,7 @@ export default {
|
|
|
dataForm: {
|
|
|
key: ''
|
|
|
},
|
|
|
- dataList: [
|
|
|
- {
|
|
|
- id: '',
|
|
|
- number: '',
|
|
|
- phNumber: '',
|
|
|
- name: '',
|
|
|
- }
|
|
|
- ],
|
|
|
+ dataList: [],
|
|
|
pageIndex: 1,
|
|
|
pageSize: 10,
|
|
|
totalPage: 0,
|
|
@@ -156,14 +186,29 @@ export default {
|
|
|
visible: false,
|
|
|
form: {
|
|
|
id: '',
|
|
|
- number: '',
|
|
|
- pastureId: '',
|
|
|
- pigstyId: ''
|
|
|
+ unitId: '',
|
|
|
+ weight: '',
|
|
|
+ whereDidYouGo: '',
|
|
|
+ dayAge: '',
|
|
|
+ eartag: '',
|
|
|
+ healthStatus: '',
|
|
|
+ variety: ''
|
|
|
},
|
|
|
pastureList: [], // 牧场list
|
|
|
pighouseList: [], // 猪舍list
|
|
|
phSelectedList: [], // 选择过牧场后的猪舍list
|
|
|
- unitList: [] // 单元list
|
|
|
+ unitList: [], // 单元list
|
|
|
+ unSelectedList: [], // 选择过后的单元list
|
|
|
+ health: [
|
|
|
+ {
|
|
|
+ value: true,
|
|
|
+ label: '健康'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: false,
|
|
|
+ label: '不健康'
|
|
|
+ }
|
|
|
+ ]
|
|
|
}
|
|
|
},
|
|
|
mounted () {
|
|
@@ -202,6 +247,7 @@ export default {
|
|
|
this.dataList.forEach(item => {
|
|
|
for (let unit of this.unitList) {
|
|
|
if (item.unitId === unit.id) {
|
|
|
+ item.number = unit.number
|
|
|
item.pastureId = unit.pastureId
|
|
|
item.pigstyId = unit.pigstyId
|
|
|
break
|
|
@@ -226,7 +272,9 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
+ // 初始化时,选择后的与未选择的list相同
|
|
|
this.phSelectedList = this.pighouseList
|
|
|
+ this.unSelectedList = this.unitList
|
|
|
} else {
|
|
|
this.dataList = []
|
|
|
this.totalPage = 0
|
|
@@ -245,9 +293,10 @@ export default {
|
|
|
this.pageIndex = val
|
|
|
this.getDataList()
|
|
|
},
|
|
|
- // 获取到了牧场 → 限制猪舍
|
|
|
+ // 获取到了牧场 → 猪舍 + 单元处理
|
|
|
getPasture (val) {
|
|
|
- console.log(val);
|
|
|
+ /** 关于猪舍 */
|
|
|
+ // → 限制猪舍
|
|
|
this.phSelectedList = []
|
|
|
this.pighouseList.forEach(item => {
|
|
|
if (item.pastureId === val) {
|
|
@@ -265,15 +314,85 @@ export default {
|
|
|
if (i === this.phSelectedList.length) {
|
|
|
this.form.pigstyId = ''
|
|
|
}
|
|
|
+ /** 关于单元 */
|
|
|
+ // → 限制单元
|
|
|
+ this.unSelectedList = []
|
|
|
+ this.unitList.forEach(item => {
|
|
|
+ if (item.pastureId === val) {
|
|
|
+ this.unSelectedList.push(item)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // 如果已有选中的单元,且该猪舍不属于该牧场,则清空单元选择
|
|
|
+ let j;
|
|
|
+ for (j = 0; j < this.unSelectedList.length; j++) {
|
|
|
+ let item = this.unSelectedList[j];
|
|
|
+ if (item.id === this.form.pastureId) {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (j === this.unSelectedList.length) {
|
|
|
+ this.form.unitId = ''
|
|
|
+ }
|
|
|
},
|
|
|
- // 获取到猪舍 → 反向确定牧场
|
|
|
+ // 获取到猪舍 → 牧场 + 猪舍自身 + 单元处理
|
|
|
getPigsty (val) {
|
|
|
+ // → 反向确定牧场
|
|
|
for (let item of this.pighouseList) {
|
|
|
if (item.id === val) {
|
|
|
this.form.pastureId = item.pastureId
|
|
|
break
|
|
|
}
|
|
|
}
|
|
|
+ // → 先获取猪舍,没有确定牧场的情况下,限制猪舍自身
|
|
|
+ this.phSelectedList = []
|
|
|
+ this.pighouseList.forEach(item => {
|
|
|
+ if (item.pastureId === this.form.pastureId) {
|
|
|
+ this.phSelectedList.push(item)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ /** 关于单元 */
|
|
|
+ // → 限制单元
|
|
|
+ this.unSelectedList = []
|
|
|
+ this.unitList.forEach(item => {
|
|
|
+ if (item.pigstyId === val) {
|
|
|
+ this.unSelectedList.push(item)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // 如果已有选中的单元,且该猪舍不属于该牧场,则清空单元选择
|
|
|
+ let j;
|
|
|
+ for (j = 0; j < this.unSelectedList.length; j++) {
|
|
|
+ let item = this.unSelectedList[j];
|
|
|
+ if (item.id === this.form.pastureId) {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (j === this.unSelectedList.length) {
|
|
|
+ this.form.unitId = ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 获取到了单元 → 牧场 + 猪舍 + 单元自身处理
|
|
|
+ getUnit (val) {
|
|
|
+ // → 反向确定牧场 + 牧场
|
|
|
+ for (let item of this.unSelectedList) {
|
|
|
+ if (item.id === val) {
|
|
|
+ this.form.pastureId = item.pastureId
|
|
|
+ this.form.pigstyId = item.pigstyId
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // → 先获取单元,在没有确定牧场+猪舍的情况下,限制猪舍
|
|
|
+ this.phSelectedList = []
|
|
|
+ this.pighouseList.forEach(item => {
|
|
|
+ if (item.pastureId === this.form.pastureId) {
|
|
|
+ this.phSelectedList.push(item)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // → 先获取单元,在没有确定牧场+猪舍的情况下,限制单元自身
|
|
|
+ this.unSelectedList = []
|
|
|
+ this.unitList.forEach(item => {
|
|
|
+ if (item.pigstyId === this.form.pigstyId) {
|
|
|
+ this.unSelectedList.push(item)
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
// 新增 or 修改单元
|
|
|
addOrUpdateHandle (row) {
|
|
@@ -293,7 +412,7 @@ export default {
|
|
|
},
|
|
|
// 删除n个牧场
|
|
|
deleteHandle (id) {
|
|
|
- this.$confirm(`确定删除牧场?`, '提示', {
|
|
|
+ this.$confirm(`确定删除年猪?`, '提示', {
|
|
|
confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|
|
@@ -306,21 +425,20 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
this.$http({
|
|
|
- url: this.$http.adornUrl('/management/unit/delete'),
|
|
|
+ url: this.$http.adornUrl('/management/yearpigbase/delete'),
|
|
|
method: 'post',
|
|
|
data: this.$http.adornData(this.selectionDataList, false)
|
|
|
}).then(result => {
|
|
|
- console.log(result);
|
|
|
if (result.data.code === 0) {
|
|
|
this.getDataList()
|
|
|
this.resetForm()
|
|
|
this.$message({
|
|
|
- message: '成功删除牧场',
|
|
|
+ message: '成功删除年猪',
|
|
|
type: 'success',
|
|
|
duration: 1000
|
|
|
})
|
|
|
} else {
|
|
|
- this.$message.error('删除牧场失败');
|
|
|
+ this.$message.error('删除年猪失败');
|
|
|
}
|
|
|
this.selectionDataList = []
|
|
|
})
|
|
@@ -329,32 +447,34 @@ export default {
|
|
|
formSubmit () {
|
|
|
if (this.form.id) {
|
|
|
// 修改
|
|
|
- console.log(this.form);
|
|
|
- if (this.form.number && this.form.pastureId) {
|
|
|
+ if (this.confirmInput()) {
|
|
|
// 进行修改操作
|
|
|
this.$http({
|
|
|
- url: this.$http.adornUrl('/management/unit/update'),
|
|
|
+ url: this.$http.adornUrl('/management/yearpigbase/update'),
|
|
|
method: 'post',
|
|
|
data: this.$http.adornData({
|
|
|
id: this.form.id,
|
|
|
- number: this.form.number,
|
|
|
- pastureId: this.form.pastureId,
|
|
|
- pigstyId: this.form.pigstyId
|
|
|
+ unitId: this.form.unitId,
|
|
|
+ dayAge: parseInt(this.form.dayAge),
|
|
|
+ eartag: this.form.eartag,
|
|
|
+ healthStatus: this.form.healthStatus,
|
|
|
+ weight: parseInt(this.form.weight),
|
|
|
+ whereDidYouGo: this.form.whereDidYouGo,
|
|
|
+ variety: this.form.variety
|
|
|
})
|
|
|
}).then(result => {
|
|
|
if (result.data.code === 0) {
|
|
|
- this.getDataList()
|
|
|
- this.resetForm()
|
|
|
+ this.resetForm();
|
|
|
+ this.visible = false;
|
|
|
this.$message({
|
|
|
- message: '成功修改单元信息',
|
|
|
+ message: '成功修改年猪信息',
|
|
|
type: 'success',
|
|
|
duration: 1000
|
|
|
})
|
|
|
} else {
|
|
|
- this.$message.error('修改牧场信息失败');
|
|
|
+ this.$message.error('修改年猪信息失败');
|
|
|
}
|
|
|
})
|
|
|
- this.visible = false
|
|
|
} else {
|
|
|
// 请输入完整
|
|
|
this.$confirm(`请输入完整`, '提示', {
|
|
@@ -365,33 +485,37 @@ export default {
|
|
|
return
|
|
|
}).catch(() => {})
|
|
|
}
|
|
|
- console.log(this.form);
|
|
|
} else {
|
|
|
// 新增
|
|
|
- if (this.form.number && this.form.pastureId) {
|
|
|
+ if (this.confirmInput(1)) {
|
|
|
// 进行新增操作
|
|
|
+ console.log('进行新增操作');
|
|
|
this.$http({
|
|
|
- url: this.$http.adornUrl('/management/unit/save'),
|
|
|
+ url: this.$http.adornUrl('/management/yearpigbase/save'),
|
|
|
method: 'post',
|
|
|
data: this.$http.adornData({
|
|
|
- number: this.form.number,
|
|
|
- pastureId: this.form.pastureId,
|
|
|
- pigstyId: this.form.pigstyId
|
|
|
+ unitId: this.form.unitId,
|
|
|
+ dayAge: parseInt(this.form.dayAge),
|
|
|
+ eartag: this.form.eartag,
|
|
|
+ healthStatus: this.form.healthStatus,
|
|
|
+ weight: parseInt(this.form.weight),
|
|
|
+ whereDidYouGo: this.form.whereDidYouGo,
|
|
|
+ variety: this.form.variety
|
|
|
})
|
|
|
}).then(result => {
|
|
|
+ console.log(result);
|
|
|
if (result.data.code === 0) {
|
|
|
- this.getDataList()
|
|
|
+ this.resetForm();
|
|
|
+ this.visible = false;
|
|
|
this.$message({
|
|
|
- message: '成功添加单元',
|
|
|
+ message: '成功添加年猪',
|
|
|
type: 'success',
|
|
|
duration: 1000
|
|
|
})
|
|
|
} else {
|
|
|
- this.$message.error('添加单元失败');
|
|
|
+ this.$message.error('添加年猪失败');
|
|
|
}
|
|
|
- this.resetForm()
|
|
|
})
|
|
|
- this.visible = false
|
|
|
} else {
|
|
|
// 请输入完整
|
|
|
this.$confirm(`请输入完整`, '提示', {
|
|
@@ -404,12 +528,30 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
+ // 判断新增/修改时是否输入完整
|
|
|
+ confirmInput (val) {
|
|
|
+ console.log('判断是否输入完整');
|
|
|
+ console.log(val);
|
|
|
+ val && (delete this.form.id, delete this.form.deleted, delete this.form.fosterStatus, delete this.form.gmtCreate, delete this.form.gmtModified, delete this.form.name, delete this.form.number, delete this.form.phNumber)
|
|
|
+ console.log(this.form);
|
|
|
+ for (let i in this.form) {
|
|
|
+ if (!this.form[i].toString()) {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true
|
|
|
+ },
|
|
|
// 清空form
|
|
|
resetForm () {
|
|
|
- this.form.id = ''
|
|
|
- this.form.number = ''
|
|
|
- this.form.pastureId = ''
|
|
|
- this.form.pigstyId = ''
|
|
|
+ for (let i in this.form) {
|
|
|
+ this.form[i] = ''
|
|
|
+ }
|
|
|
+ this.getDataList()
|
|
|
+ },
|
|
|
+ // 取消
|
|
|
+ cancel () {
|
|
|
+ this.visible = false
|
|
|
+ this.resetForm()
|
|
|
}
|
|
|
}
|
|
|
}
|