|
@@ -8,11 +8,39 @@
|
|
|
:model="dataForm"
|
|
|
@keyup.enter.native="getDataList()"
|
|
|
size="mini">
|
|
|
- <el-form-item style="width: 500px">
|
|
|
+ <el-form-item style="width: 140px">
|
|
|
+ <el-select
|
|
|
+ v-model="dataForm.pigstyId"
|
|
|
+ placeholder="猪舍"
|
|
|
+ style="width: 100%"
|
|
|
+ @change="pigstyChange">
|
|
|
+ <el-option
|
|
|
+ v-for="item in phSelectedList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.number"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item style="width: 140px">
|
|
|
+ <el-select
|
|
|
+ v-model="dataForm.unitId"
|
|
|
+ placeholder="单元"
|
|
|
+ style="width: 100%"
|
|
|
+ @change="ifPigsty">
|
|
|
+ <el-option
|
|
|
+ v-for="item in unitSelectedList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.number"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item style="width: 180px">
|
|
|
<el-input
|
|
|
v-model="dataForm.key"
|
|
|
- placeholder="请输入栏期编号/猪舍/牧场"
|
|
|
- clearable style="width: 500px">
|
|
|
+ placeholder="栏期编号"
|
|
|
+ clearable>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
@@ -69,10 +97,16 @@
|
|
|
label="栏期编号">
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
- prop="phNumber"
|
|
|
+ prop="pigstyName"
|
|
|
header-align="center"
|
|
|
align="center"
|
|
|
- label="所属猪舍">
|
|
|
+ label="猪舍">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="unitName"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ label="单元">
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
fixed="right"
|
|
@@ -110,9 +144,17 @@
|
|
|
: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" :rules="dataRule">
|
|
|
- <el-form-item label="所属牧场" prop="farmId">
|
|
|
+ @close="cancel"
|
|
|
+ width="600px">
|
|
|
+ <el-form
|
|
|
+ :model="form"
|
|
|
+ ref="form"
|
|
|
+ @keyup.enter.native="formSubmit()"
|
|
|
+ label-width="80px"
|
|
|
+ :rules="dataRule"
|
|
|
+ size="mini"
|
|
|
+ style="margin-left: 20px;width: 500px">
|
|
|
+ <!-- <el-form-item label="所属牧场" prop="farmId">
|
|
|
<el-select v-model="form.farmId" placeholder="请选择所属牧场" @change="getPasture" style="width: 100%">
|
|
|
<el-option
|
|
|
v-for="item in farmList"
|
|
@@ -121,9 +163,13 @@
|
|
|
:value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="所属猪舍" prop="pigstyId">
|
|
|
- <el-select v-model="form.pigstyId" placeholder="请选择所属猪舍" @change="getPigsty" style="width: 100%">
|
|
|
+ </el-form-item> -->
|
|
|
+ <el-form-item label="猪舍" prop="pigstyId">
|
|
|
+ <el-select
|
|
|
+ v-model="form.pigstyId"
|
|
|
+ placeholder="请选择所属猪舍"
|
|
|
+ style="width: 100%"
|
|
|
+ @change="pigstyChange">
|
|
|
<el-option
|
|
|
v-for="item in phSelectedList"
|
|
|
:key="item.id"
|
|
@@ -132,13 +178,27 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="栏期编号" prop="number">
|
|
|
- <el-input v-model="form.number" placeholder="请输入栏期编号"></el-input>
|
|
|
+ <el-form-item label="单元" prop="unitId">
|
|
|
+ <el-select
|
|
|
+ v-model="form.unitId"
|
|
|
+ placeholder="单元"
|
|
|
+ style="width: 100%"
|
|
|
+ @change="ifUnit">
|
|
|
+ <el-option
|
|
|
+ v-for="item in unitSelectedList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.number"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="this.form.id" label="栏期" prop="number">
|
|
|
+ <el-input v-model="form.number"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="cancel">关闭</el-button>
|
|
|
- <el-button type="primary" @click="formSubmit()">确定</el-button>
|
|
|
+ <el-button size="small" @click="cancel">关闭</el-button>
|
|
|
+ <el-button size="small" type="primary" @click="formSubmit()">确定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
@@ -158,7 +218,7 @@ export default {
|
|
|
id: '',
|
|
|
number: '',
|
|
|
phNumber: '',
|
|
|
- name: '',
|
|
|
+ name: ''
|
|
|
}
|
|
|
],
|
|
|
pageIndex: 1,
|
|
@@ -169,24 +229,26 @@ export default {
|
|
|
visible: false,
|
|
|
form: {
|
|
|
id: '',
|
|
|
+ pigstyId: '',
|
|
|
number: '',
|
|
|
- farmId: '',
|
|
|
- pigstyId: ''
|
|
|
+ unitId: ''
|
|
|
},
|
|
|
- farmList: [], // 牧场list
|
|
|
+ pigstyList: [], // 猪舍list
|
|
|
pighouseList: [], // 猪舍list
|
|
|
phSelectedList: [], // 选择过牧场后的猪舍list
|
|
|
+ unitList: [],
|
|
|
+ unitSelectedList: [],
|
|
|
dataRule: {
|
|
|
- farmId: [
|
|
|
- { required: true, message: '所属牧场不能为空', trigger: 'blur' }
|
|
|
- ],
|
|
|
pigstyId: [
|
|
|
{ required: true, message: '所属猪舍不能为空', trigger: 'blur' }
|
|
|
],
|
|
|
number: [
|
|
|
- { required: true, message: '单元编号不能为空', trigger: ['blur', 'change'] }
|
|
|
+ { required: true, message: '栏期编号不能为空', trigger: ['blur', 'change'] }
|
|
|
// TODO: 栏期编号长度校验
|
|
|
// TODO: 栏期编号正则校验
|
|
|
+ ],
|
|
|
+ unitId: [
|
|
|
+ { required: true, message: '单元编号不能为空', trigger: ['blur', 'change'] }
|
|
|
]
|
|
|
}
|
|
|
}
|
|
@@ -200,49 +262,34 @@ export default {
|
|
|
this.dataListLoading = true
|
|
|
this.$http({
|
|
|
url: this.$http.adornUrl('/management/period/list'),
|
|
|
- method: 'post',
|
|
|
+ method: 'get',
|
|
|
params: this.$http.adornParams({
|
|
|
page: 1,
|
|
|
limit: 10,
|
|
|
- keywords: this.dataForm.key
|
|
|
+ keyword: this.dataForm.key || undefined,
|
|
|
+ pigstyId: this.dataForm.pigstyId || undefined,
|
|
|
+ unitId: this.dataForm.unitId || undefined
|
|
|
})
|
|
|
}).then(async ({ data }) => {
|
|
|
- // 获取所有牧场
|
|
|
- let farmResult = await this.$http({
|
|
|
- url: this.$http.adornUrl('/management/farm/findAll'),
|
|
|
- method: 'get',
|
|
|
- params: this.$http.adornParams({})
|
|
|
- })
|
|
|
- farmResult.data.all && (this.farmList = farmResult.data.all)
|
|
|
// 获取所有猪舍
|
|
|
let pighouseResult = await this.$http({
|
|
|
url: this.$http.adornUrl('/management/pigsty/findAll'),
|
|
|
method: 'get',
|
|
|
params: this.$http.adornParams({})
|
|
|
})
|
|
|
- pighouseResult.data.all && (this.pighouseList = pighouseResult.data.all)
|
|
|
+ pighouseResult.data.all && (this.pigstyList = pighouseResult.data.all)
|
|
|
+ this.phSelectedList = this.pigstyList
|
|
|
+ // 获取所有单元
|
|
|
+ let unitResult = await this.$http({
|
|
|
+ url: this.$http.adornUrl('/management/unit/findAll'),
|
|
|
+ method: 'get',
|
|
|
+ params: this.$http.adornParams({})
|
|
|
+ })
|
|
|
+ unitResult.data.all && (this.unitList = unitResult.data.all)
|
|
|
+ this.unitSelectedList = this.unitList
|
|
|
if (data && data.code === 0) {
|
|
|
this.dataList = data.page.list
|
|
|
this.totalPage = data.page.totalCount
|
|
|
- // 牧场对应
|
|
|
- this.dataList.forEach(item => {
|
|
|
- for (let farm of this.farmList) {
|
|
|
- if (item.farmId === farm.id) {
|
|
|
- item.name = farm.name
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- // 猪舍对应
|
|
|
- this.dataList.forEach(item => {
|
|
|
- for (let pighouse of this.pighouseList) {
|
|
|
- if (item.pigstyId === pighouse.id) {
|
|
|
- item.phNumber = pighouse.number
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- this.phSelectedList = this.pighouseList
|
|
|
} else {
|
|
|
this.dataList = []
|
|
|
this.totalPage = 0
|
|
@@ -253,6 +300,8 @@ export default {
|
|
|
// 清空查询内容
|
|
|
clearAll () {
|
|
|
this.dataForm.key = ''
|
|
|
+ this.dataForm.pigstyId = ''
|
|
|
+ this.dataForm.unitId = ''
|
|
|
},
|
|
|
// 每页数
|
|
|
sizeChangeHandle (val) {
|
|
@@ -265,46 +314,66 @@ export default {
|
|
|
this.pageIndex = val
|
|
|
this.getDataList()
|
|
|
},
|
|
|
- // 获取到了牧场 → 限制猪舍
|
|
|
- getPasture (val) {
|
|
|
- this.phSelectedList = []
|
|
|
- this.pighouseList.forEach(item => {
|
|
|
- if (item.farmId === val) {
|
|
|
- this.phSelectedList.push(item)
|
|
|
- }
|
|
|
- });
|
|
|
- // 如果已有选中的猪舍,且该猪舍不属于该牧场,则清空猪舍选择
|
|
|
- let i;
|
|
|
- for (i = 0; i < this.phSelectedList.length; i++) {
|
|
|
- let item = this.phSelectedList[i];
|
|
|
- if (item.id === this.form.pigstyId) {
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
- if (i === this.phSelectedList.length) {
|
|
|
- this.form.pigstyId = ''
|
|
|
+ // 根据栋舍选择限制单元和栏期
|
|
|
+ pigstyChange (val) {
|
|
|
+ this.unitSelectedList = this.unitList.filter(item => item.pigstyId === val)
|
|
|
+ console.log(this.unitSelectedList);
|
|
|
+ // this.periodSelectedList = this.periodList.filter(item => item.pigstyId === val)
|
|
|
+ },
|
|
|
+ // 需要先选择猪舍,才能选择单元或栏期
|
|
|
+ ifPigsty () {
|
|
|
+ if (!this.dataForm.pigstyId) {
|
|
|
+ this.$message.error('请先选择猪舍')
|
|
|
+ this.dataForm.unitId = ''
|
|
|
}
|
|
|
},
|
|
|
- // 获取到猪舍
|
|
|
- getPigsty (val) {
|
|
|
- // → 反向确定牧场
|
|
|
- for (let item of this.pighouseList) {
|
|
|
- if (item.id === val) {
|
|
|
- this.form.farmId = item.farmId
|
|
|
- break
|
|
|
- }
|
|
|
+ // 新增时,需要先选择猪舍,才能选择单元或栏期
|
|
|
+ ifUnit() {
|
|
|
+ if (!this.form.pigstyId) {
|
|
|
+ this.$message.error('请先选择猪舍')
|
|
|
+ this.form.unitId = ''
|
|
|
}
|
|
|
- // → 先获取猪舍,没有确定牧场的情况下,限制猪舍
|
|
|
- this.phSelectedList = []
|
|
|
- this.pighouseList.forEach(item => {
|
|
|
- if (item.farmId === this.form.farmId) {
|
|
|
- this.phSelectedList.push(item)
|
|
|
- }
|
|
|
- });
|
|
|
},
|
|
|
- // 新增 or 修改单元
|
|
|
+ // // 获取到了牧场 → 限制猪舍
|
|
|
+ // getPasture (val) {
|
|
|
+ // this.phSelectedList = []
|
|
|
+ // this.pighouseList.forEach(item => {
|
|
|
+ // if (item.farmId === val) {
|
|
|
+ // this.phSelectedList.push(item)
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // // 如果已有选中的猪舍,且该猪舍不属于该牧场,则清空猪舍选择
|
|
|
+ // let i;
|
|
|
+ // for (i = 0; i < this.phSelectedList.length; i++) {
|
|
|
+ // let item = this.phSelectedList[i];
|
|
|
+ // if (item.id === this.form.pigstyId) {
|
|
|
+ // break
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // if (i === this.phSelectedList.length) {
|
|
|
+ // this.form.pigstyId = ''
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ // // 获取到猪舍
|
|
|
+ // getPigsty (val) {
|
|
|
+ // // → 反向确定牧场
|
|
|
+ // for (let item of this.pighouseList) {
|
|
|
+ // if (item.id === val) {
|
|
|
+ // this.form.farmId = item.farmId
|
|
|
+ // break
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // // → 先获取猪舍,没有确定牧场的情况下,限制猪舍
|
|
|
+ // this.phSelectedList = []
|
|
|
+ // this.pighouseList.forEach(item => {
|
|
|
+ // if (item.farmId === this.form.farmId) {
|
|
|
+ // this.phSelectedList.push(item)
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // },
|
|
|
+ // 新增 or 修改
|
|
|
addOrUpdateHandle (row) {
|
|
|
- // 显示牧场新增 or 修改面板
|
|
|
+ // 显示新增 or 修改
|
|
|
this.visible = true
|
|
|
if (row) {
|
|
|
this.form.id = row.id
|
|
@@ -312,25 +381,27 @@ export default {
|
|
|
this.form[key] = row[key]
|
|
|
}
|
|
|
}
|
|
|
+ this.phSelectedList = this.pigstyList
|
|
|
+ this.unitSelectedList = this.unitList
|
|
|
// 解决猪舍、牧场已删除,但该页面仍不变问题
|
|
|
- this.$http({
|
|
|
- url: this.$http.adornUrl("/management/farm/findAll"),
|
|
|
- method: "get",
|
|
|
- params: this.$http.adornParams({})
|
|
|
- }).then(async ({ data }) => {
|
|
|
- if (data && data.code === 0) {
|
|
|
- this.farmList = data.all
|
|
|
- // 获取猪舍
|
|
|
- let pighouseResult = await this.$http({
|
|
|
- url: this.$http.adornUrl('/management/pigsty/findAll'),
|
|
|
- method: 'get',
|
|
|
- params: this.$http.adornParams({})
|
|
|
- })
|
|
|
- pighouseResult.data.all && (this.pighouseList = pighouseResult.data.all)
|
|
|
- this.phSelectedList = this.pighouseList
|
|
|
- console.log(this.pighouseList);
|
|
|
- }
|
|
|
- })
|
|
|
+ // this.$http({
|
|
|
+ // url: this.$http.adornUrl("/management/farm/findAll"),
|
|
|
+ // method: "get",
|
|
|
+ // params: this.$http.adornParams({})
|
|
|
+ // }).then(async ({ data }) => {
|
|
|
+ // if (data && data.code === 0) {
|
|
|
+ // this.farmList = data.all
|
|
|
+ // // 获取猪舍
|
|
|
+ // let pighouseResult = await this.$http({
|
|
|
+ // url: this.$http.adornUrl('/management/pigsty/findAll'),
|
|
|
+ // method: 'get',
|
|
|
+ // params: this.$http.adornParams({})
|
|
|
+ // })
|
|
|
+ // pighouseResult.data.all && (this.pighouseList = pighouseResult.data.all)
|
|
|
+ // this.phSelectedList = this.pighouseList
|
|
|
+ // console.log(this.pighouseList);
|
|
|
+ // }
|
|
|
+ // })
|
|
|
},
|
|
|
// 选择n个牧场
|
|
|
selectionChangeHandle (val) {
|
|
@@ -381,24 +452,22 @@ export default {
|
|
|
formSubmit () {
|
|
|
if (this.form.id) {
|
|
|
/** 修改 */
|
|
|
- // 输入是否完整
|
|
|
- if (!this.confirmComplete()) {
|
|
|
- return
|
|
|
- }
|
|
|
- // 输入是否合法
|
|
|
- if (!this.confirmInput()) {
|
|
|
- return
|
|
|
- }
|
|
|
+ this.$refs['form'].validate((valid) => {
|
|
|
+ if (!valid) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ })
|
|
|
// 进行修改操作
|
|
|
this.$http({
|
|
|
url: this.$http.adornUrl('/management/period/update'),
|
|
|
method: 'post',
|
|
|
data: this.$http.adornData({
|
|
|
id: this.form.id,
|
|
|
- number: this.form.number,
|
|
|
- farmId: this.form.farmId,
|
|
|
- pigstyId: this.form.pigstyId
|
|
|
- })
|
|
|
+ farmId: parseInt(this.$cookie.get('formFarmId')),
|
|
|
+ pigstyId: this.form.pigstyId,
|
|
|
+ unitId: this.form.unitId,
|
|
|
+ number: this.form.number
|
|
|
+ }, false)
|
|
|
}).then(result => {
|
|
|
if (result.data.code === 0) {
|
|
|
this.resetForm();
|
|
@@ -419,28 +488,25 @@ export default {
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
- this.$message.error('修改栏期信息失败');
|
|
|
+ this.$message.error(result.datanmsg);
|
|
|
}
|
|
|
})
|
|
|
} else {
|
|
|
/** 新增 */
|
|
|
- // 输入是否完整
|
|
|
- if (!this.confirmComplete(1)) {
|
|
|
- return
|
|
|
- }
|
|
|
- // 输入是否合法
|
|
|
- if (!this.confirmInput()) {
|
|
|
- return
|
|
|
- }
|
|
|
+ this.$refs['form'].validate((valid) => {
|
|
|
+ if (!valid) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ })
|
|
|
// 进行新增操作
|
|
|
this.$http({
|
|
|
url: this.$http.adornUrl('/management/period/save'),
|
|
|
method: 'post',
|
|
|
data: this.$http.adornData({
|
|
|
- number: this.form.number,
|
|
|
- farmId: this.form.farmId,
|
|
|
+ farmId:parseInt(this.$cookie.get('formFarmId')),
|
|
|
+ unitId: this.form.unitId,
|
|
|
pigstyId: this.form.pigstyId
|
|
|
- })
|
|
|
+ }, false)
|
|
|
}).then(result => {
|
|
|
if (result.data.code === 0) {
|
|
|
// 新增pageIndex的修正
|
|
@@ -465,7 +531,7 @@ export default {
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
- this.$message.error('添加失败');
|
|
|
+ this.$message.error(result.data.msg);
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -535,14 +601,16 @@ export default {
|
|
|
},
|
|
|
getchange (val) {
|
|
|
console.log(val);
|
|
|
- },
|
|
|
- // 变色
|
|
|
- tableRowClassName({row, rowIndex}) {
|
|
|
- console.log(row);
|
|
|
- if (rowIndex%2 === 0) {
|
|
|
- return 'warning-row';
|
|
|
+ }
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ 'dataForm.pigstyId': {
|
|
|
+ handler(newValue, oldValue) {
|
|
|
+ if (oldValue) {
|
|
|
+ this.dataForm.unitId = ''
|
|
|
+ this.dataForm.periodId = ''
|
|
|
+ }
|
|
|
}
|
|
|
- return '';
|
|
|
}
|
|
|
}
|
|
|
}
|