From f0614eae87c06eedf0b11070a9e3a1ad3289f974 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 08 Aug 2022 19:25:46 +0800
Subject: [PATCH] 结束种养可选择结束时间,首页结束种养按钮点击后列表
---
src/views/wel/index.vue | 57 ++-
src/views/farmplant/farmplant.vue | 86 +++++-
src/views/wel/over.vue | 592 +++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 693 insertions(+), 42 deletions(-)
diff --git a/src/views/farmplant/farmplant.vue b/src/views/farmplant/farmplant.vue
index 45d88d7..e583381 100644
--- a/src/views/farmplant/farmplant.vue
+++ b/src/views/farmplant/farmplant.vue
@@ -31,7 +31,30 @@
</template>
<template slot-scope="{ type, size, row }" slot="menu">
<el-button icon="el-icon-check" :size="size" :type="type" @click="recovery(row)">采 收</el-button>
- <el-button icon="el-icon-error" :size="size" :type="type" @click="over(row.id)">结 束</el-button>
+ <!-- <el-button icon="el-icon-error" :size="size" :type="type" @click="over(row.id)">结 束</el-button> -->
+ <el-button icon="el-icon-error" :size="size" :type="type" @click="getData(row)">结 束</el-button>
+
+ <el-dialog
+ title="确认结束种养"
+ :visible.sync="overVisible"
+ width="30%"
+ append-to-body="true">
+ <div class="block">
+ <span class="demonstration">结束时间</span>
+ <el-date-picker
+ v-model="endPlantTime"
+ type="date"
+ placeholder="选择日期"
+ value-format="yyyy-MM-dd"
+ align="center">
+ </el-date-picker>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="overVisible = false">取 消</el-button>
+ <el-button type="primary" @click="over">确 定</el-button>
+ </span>
+ </el-dialog>
+
<el-button
:type="type"
:size="size"
@@ -68,6 +91,7 @@
recoveryVisible: false,
detectionVisible: false,
visible: true,
+ overVisible:false,
form: {},
query: {},
loading: true,
@@ -422,6 +446,9 @@
],
},
data: [],
+ endPlantTime:"",
+ //结束种养时的传输数据
+ overData:""
}
},
watch: {
@@ -730,29 +757,48 @@
this.$refs.recovery.init(data)
})
},
+ // 结束种植
+ // over(id) {
+ // var that = this
+ // that.$confirm("确定结束当前种植的农产品?", {
+ // confirmButtonText: "确定",
+ // cancelButtonText: "取消",
+ // type: "warning",
+ // })
+ // .then(() => {
+ // const data = {
+ // id: id,
+ // status: 2,
+ // }
+ // return update(data)
+ // })
+ // .then(() => {
+ // that.onLoad(this.page, this.query)
+ // that.$message({
+ // type: "success",
+ // message: "操作成功!",
+ // })
+ // })
+ // },
//结束种植
- over (id) {
- var that = this
- that.$confirm("确定结束当前种植的农产品?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- const data = {
- id: id,
- status: 2,
+ over(){
+ this.overData.endPlantTime = this.endPlantTime
+ const data = {
+ id:this.overData.id,
+ status:2,
+ endPlantTime:this.overData.endPlantTime
+ }
+ update(data).then((res)=>{
+ if(res.data.code == 200){
+ this.onLoad(this.page, this.query)
}
- return update(data)
})
- .then(() => {
- that.onLoad(this.page, this.query)
- that.$message({
- type: "success",
- message: "操作成功!",
- })
- })
+ this.overVisible = false
},
+ getData(row){
+ this.overVisible = true
+ this.overData = row
+ }
},
};
</script>
diff --git a/src/views/wel/index.vue b/src/views/wel/index.vue
index 20fe223..16a1134 100644
--- a/src/views/wel/index.vue
+++ b/src/views/wel/index.vue
@@ -75,7 +75,8 @@
<el-button plain size="small" @click="recovery(item)">
<span style="color: #5abf78">采收</span>
</el-button>
- <el-button plain size="small" @click="over(item.id)">结束</el-button>
+ <!-- <el-button plain size="small" @click="over(item.id)">结束</el-button> -->
+ <el-button plain size="small" @click="over(item)">结束</el-button>
</div>
</div>
</div>
@@ -168,6 +169,8 @@
</div>
<!-- 弹窗, 采收 -->
<recovery v-if="recoveryVisible" ref="recovery" :farmDetail="farm"></recovery>
+ <!-- 弹窗,结束种养-->
+ <over v-if="overVisible" ref="over" :farmDetail="farm"></over>
<!-- 圈地 -->
<land v-if="landVisible" ref="land"></land>
<!-- 种养品 -->
@@ -187,6 +190,7 @@
import { StockCount } from "@/api/stock/stock"
import {getFarmList} from "@/api/farm/farm";
import recovery from "./recovery.vue"
+import over from "./over.vue"
import land from "./land.vue"
import plant from "./plant.vue"
import farming from "./farming.vue"
@@ -194,6 +198,7 @@
export default {
components: {
recovery,
+ over,
land,
plant,
farming,
@@ -213,6 +218,7 @@
farmingCount: 0,
farmPlanList: [],
recoveryVisible: false,
+ overVisible:false,
landVisible: false,
plantVisible: false,
farmingVisible: false,
@@ -321,29 +327,36 @@
this.$refs.recovery.init(data)
})
},
- //结束种植
- over (id) {
- var that = this
- this.$confirm("确定结束当前种植的农产品?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
+ //结束种养
+ over(data) {
+ this.overVisible = true
+ this.$nextTick(() => {
+ this.$refs.over.initData(data)
})
- .then(() => {
- const data = {
- id: id,
- status: 2,
- }
- return update(data)
- })
- .then(() => {
- that.onLoad()
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- })
},
+ //结束种植
+ // over (id) {
+ // var that = this
+ // this.$confirm("确定结束当前种植的农产品?", {
+ // confirmButtonText: "确定",
+ // cancelButtonText: "取消",
+ // type: "warning",
+ // })
+ // .then(() => {
+ // const data = {
+ // id: id,
+ // status: 2,
+ // }
+ // return update(data)
+ // })
+ // .then(() => {
+ // that.onLoad()
+ // this.$message({
+ // type: "success",
+ // message: "操作成功!",
+ // })
+ // })
+ // },
//圈地
land () {
this.landVisible = true
diff --git a/src/views/wel/over.vue b/src/views/wel/over.vue
new file mode 100644
index 0000000..7695e8a
--- /dev/null
+++ b/src/views/wel/over.vue
@@ -0,0 +1,592 @@
+<template>
+ <el-dialog
+ v-if="visible"
+ title="确认结束种养"
+ :visible.sync="visible"
+ width="80%"
+ :modal-append-to-body="false"
+ :append-to-body="true"
+ :close-on-click-modal="false"
+ destroy-on-close="true">
+
+ <avue-crud
+ :option="option"
+ :table-loading="loading"
+ :data="data"
+ :page.sync="page"
+ :permission="permissionList"
+ :before-open="beforeOpen"
+ v-model="form"
+ ref="crud"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @selection-change="selectionChange"
+ @current-change="currentChange"
+ @size-change="sizeChange"
+ @refresh-change="refreshChange"
+ >
+ <template slot-scope="{ type, size, row }" slot="menu">
+ <el-button icon="el-icon-error" :size="size" :type="type" @click="getData(row)">结 束</el-button>
+ <el-dialog
+ title="确认结束种养"
+ :visible.sync="overVisible"
+ width="30%"
+ append-to-body="true">
+ <div class="block">
+ <span class="demonstration">结束时间</span>
+ <el-date-picker
+ v-model="endPlantTime"
+ type="date"
+ placeholder="选择日期"
+ value-format="yyyy-MM-dd"
+ align="center">
+ </el-date-picker>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="overVisible = false">取 消</el-button>
+ <el-button type="primary" @click="over">确 定</el-button>
+ </span>
+ </el-dialog>
+ </template>
+ </avue-crud>
+ </el-dialog>
+</template>
+
+<script>
+import { getDetail, getList, update, remove, save } from "@/api/farmplant/farmplant"
+import { getStrainList } from "@/api/farmplant/strain"
+import { getLandList } from "@/api/land/land"
+import { mapGetters } from "vuex"
+import detection from "../farmplant/detection.vue"
+import recovery from "./recovery.vue"
+export default {
+ components: {
+ recovery,
+ detection
+ },
+ props: {
+ farmDetail:{
+ type:Object
+ }
+ },
+ data () {
+ return {
+ visible: true,
+ overVisible:false,
+ form: {},
+ query: {},
+ loading: true,
+ excelBox: false,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ selectionList: [],
+ landList: [],
+ landId: 0,
+ option: {
+ tip: false,
+ height: 520,
+ editBtn: false,
+ delBtn: false,
+ viewBtn: false,
+ header:false,
+ menuWidth: 100,
+ menuAlign: "center",
+ align: "center",
+ selection: true,
+ searchShow: true,
+ searchMenuSpan: 6,
+ indexFixed: false,
+ selectionFixed: false,
+ expandFixed: false,
+ menuFixed: false,
+ column: [
+ {
+ label: "种养品",
+ prop: "strainId",
+ hide: true,
+ labelWidth: 110,
+ type: "tree",
+ dicData: [],
+ props: {
+ label: "strainName",
+ value: "id"
+ },
+ rules: [
+ {
+ required: true,
+ message: "请选择种养品",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "种养品名称",
+ prop: "strainName",
+ search: true,
+ searchSpan: 5,
+ searchLabelWidth: 110,
+ display: false,
+ rules: [
+ {
+ required: true,
+ message: "请输入种养品",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "品种",
+ prop: "varieties",
+ // search:true,
+ // searchSpan:5,
+ labelWidth: 110,
+ rules: [
+ {
+ required: true,
+ message: "请输入种养品名称",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "种养品图片",
+ prop: "url",
+ type: "upload",
+ listType: "picture-img",
+ width: 100,
+ labelWidth: 110,
+ display: false,
+ },
+ {
+ label: "所属地块",
+ prop: "landName",
+ display: false,
+ },
+ {
+ label: "所属地块",
+ prop: "landId",
+ searchSpan: 4,
+ type: "tree",
+ hide: true,
+ dicData: [],
+ props: {
+ label: "landName",
+ value: "id"
+ },
+ labelWidth: 110,
+ change: (val) => {
+ this.landId = val.value
+ },
+ rules: [
+ {
+ required: true,
+ message: "请选择所属地块",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "种植标准",
+ prop: "plant",
+ // search:true,
+ // searchSpan:4,
+ labelWidth: 110,
+ type: "select",
+ dicData: [
+ {
+ label: "有机",
+ value: "0"
+ },
+ {
+ label: "绿色",
+ value: "1"
+ },
+ {
+ label: "无公害",
+ value: "2"
+ },
+ {
+ label: "普通",
+ value: "3"
+ },
+ ],
+ rules: [
+ {
+ required: true,
+ message: "请选择种植标准",
+ trigger: "blur",
+ },
+ ],
+ // display:false,
+ },
+ {
+ label: "种植方式",
+ prop: "plantingWay",
+ // search:true,
+ // searchSpan:4,
+ type: "select",
+ labelWidth: 110,
+ dicData: [
+ {
+ label: "移栽",
+ value: "0"
+ },
+ {
+ label: "直播",
+ value: "1"
+ },
+ ],
+ rules: [
+ {
+ required: true,
+ message: "请选择种植方式",
+ trigger: "blur",
+ },
+ ],
+ // display:false,
+ },
+ {
+ label: "作业方式",
+ prop: "jobWay",
+ // search:true,
+ // searchSpan:4,
+ labelWidth: 110,
+ type: "select",
+ dicData: [
+ {
+ label: "人工",
+ value: "0"
+ },
+ {
+ label: "机械",
+ value: "1"
+ },
+ ],
+ rules: [
+ {
+ required: true,
+ message: "请输入作业方式",
+ trigger: "blur",
+ },
+ ],
+ // display:false,
+ },
+ {
+ label: "移栽时间",
+ prop: "transplanTimeStart",
+ search:true,
+ searchValue:"",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ labelWidth: 110,
+ width:82,
+ hide:true,
+ rules: [
+ {
+ required: true,
+ message: "请选择移栽时间",
+ trigger: "blur",
+ },
+ ],
+ // display:false,
+ },
+ {
+ label: "移栽时间",
+ prop: "transplanTime",
+ searchValue:"",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ labelWidth: 110,
+ width:82,
+ rules: [
+ {
+ required: true,
+ message: "请选择移栽时间",
+ trigger: "blur",
+ },
+ ],
+ // display:false,
+ },
+ {
+ label: "预计采收时间",
+ prop: "recoveryTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ hide: true,
+ labelWidth: 110,
+ rules: [
+ {
+ required: false,
+ message: "请选预计采收时间",
+ trigger: "blur",
+ },
+ ],
+ // display:false,
+ },
+ {
+ label: "预计亩产",
+ prop: "per",
+ labelWidth: 110,
+ hide: true,
+ type: "number",
+ rules: [
+ {
+ required: false,
+ message: "请输入预计亩产",
+ trigger: "blur",
+ },
+ ],
+ // display:false,
+ },
+ {
+ label: "株数",
+ prop: "plantNumber",
+ labelWidth: 110,
+ type: "number",
+ hide: true,
+ rules: [
+ {
+ required: false,
+ message: "请输入株数",
+ trigger: "blur",
+ },
+ ],
+ // display:false,
+ },
+ {
+ label: "株间距",
+ prop: "plantSpacing",
+ labelWidth: 110,
+ type: "number",
+ hide: true,
+ rules: [
+ {
+ required: false,
+ message: "请输入株间距",
+ trigger: "blur",
+ },
+ ],
+ // display:false,
+ },
+ // {
+ // label: "投苗时间",
+ // prop: "seedingTime",
+ // type: "date",
+ // format: "yyyy-MM-dd",
+ // valueFormat: "yyyy-MM-dd",
+ // labelWidth:110,
+ // hide:true,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请选择投苗时间",
+ // trigger: "blur",
+ // },
+ // ],
+ // display:false,
+ // },
+ // {
+ // label: "养殖数量",
+ // prop: "breed",
+ // labelWidth:110,
+ // type:"number",
+ // hide:true,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请输入养殖数量",
+ // trigger: "blur",
+ // },
+ // ],
+ // display:false,
+ // },
+ {
+ label: "种植状态",
+ prop: "status",
+ searchValue:"1",
+ search: true,
+ searchSpan: 4,
+ labelWidth: 110,
+ type: "select",
+ dicData: [
+ {
+ label: "种植中",
+ value: "1"
+ },
+ {
+ label: "已结束",
+ value: "2"
+ },
+ ],
+ display: false,
+ },
+ ],
+ },
+ data: [],
+ endPlantTime:"",
+ //结束种养时的传输数据
+ overData:"",
+ strainId:"",
+ }
+ },
+ created () {
+ // this.initData()
+ },
+ computed: {
+ ...mapGetters(["permission", "userInfo"]),
+ // permissionList() {
+ // return {
+ // addBtn: this.vaildData(this.permission.social_add, true),
+ // viewBtn: this.vaildData(this.permission.social_view, false),
+ // delBtn: this.vaildData(this.permission.social_delete, false),
+ // editBtn: this.vaildData(this.permission.social_edit, false),
+ // };
+ // },
+ ids () {
+ let ids = []
+ this.selectionList.forEach((ele) => {
+ ids.push(ele.id)
+ })
+ return ids.join(",")
+ },
+ },
+ methods: {
+ //初始化数据
+ initData(data){
+ var that = this
+ this.strainId = data.strainId
+ that.visible = true;
+ var params={
+ status:"1"
+ }
+ this.onLoad(this.page,params)
+ //获取农地数据
+ getLandList(that.userInfo.dept_id).then((res) => {
+ if (res.data.code == 200) {
+ var landIdcolumn = that.findObject(that.option.column, "landId")
+ that.landList = res.data.data
+ landIdcolumn.dicData = res.data.data
+ }
+ })
+ //获取农产品数据
+ getStrainList(0).then((res) => {
+ if (res.data.code == 200) {
+ var strainId = that.findObject(that.option.column, "strainId")
+ strainId.dicData = res.data.data
+ }
+ })
+
+ },
+ searchReset () {
+ this.query = {}
+ this.onLoad(this.page)
+ },
+ searchChange (params, done) {
+ if(params.transplanTimeStart !=""){
+ params['transplanTimeEnd']=this.getEndDate(params.transplanTimeStart,1)
+ }
+ this.query = params
+ console.log(this.query)
+ this.page.currentPage = 1
+ this.onLoad(this.page, params)
+ this.query = {}
+ done()
+ },
+ selectionChange (list) {
+ this.selectionList = list
+ },
+ selectionClear () {
+ this.selectionList = []
+ this.$refs.crud.toggleSelection()
+ },
+ currentChange (currentPage) {
+ this.page.currentPage = currentPage
+ },
+ sizeChange (pageSize) {
+ this.page.pageSize = pageSize
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query)
+ },
+ onLoad (page, params = {}) {
+ var datas = this.$route.query.id
+ params.landId = datas
+ if (this.landId) {
+ params['landId'] = this.landId
+ }
+ params['tenantId'] = this.userInfo.tenant_id
+ params['deptId'] = this.userInfo.dept_id
+ params['farmId'] = this.farmDetail.id
+ params['strainId'] = this.strainId
+ this.loading = true
+ getList(
+ page.currentPage,
+ page.pageSize,
+ Object.assign(params, this.query)
+ ).then((res) => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.data = data.records
+ this.loading = false
+ this.selectionClear()
+ })
+ },
+ // 结束种植
+ // over(id) {
+ // var that = this
+ // that.$confirm("确定结束当前种植的农产品?", {
+ // confirmButtonText: "确定",
+ // cancelButtonText: "取消",
+ // type: "warning",
+ // })
+ // .then(() => {
+ // const data = {
+ // id: id,
+ // status: 2,
+ // }
+ // return update(data)
+ // })
+ // .then(() => {
+ // that.onLoad(this.page, this.query)
+ // that.$message({
+ // type: "success",
+ // message: "操作成功!",
+ // })
+ // })
+ // },
+ //结束种植
+ over(){
+ this.overData.endPlantTime = this.endPlantTime
+ const data = {
+ id:this.overData.id,
+ status:2,
+ endPlantTime:this.overData.endPlantTime
+ }
+ update(data).then((res)=>{
+ if(res.data.code == 200){
+ this.onLoad(this.page, this.query)
+ }
+ })
+ this.overVisible = false
+ },
+ getData(row){
+ this.overVisible = true
+ this.overData = row
+ },
+ getEndDate(date,num){
+ var array = date.split('-')
+ array[2]=array[2]-0+num
+ return array[0]+"-"+array[1]+"-"+array[2]
+ }
+ },
+};
+</script>
+
+<style>
+</style>
--
Gitblit v1.9.3