智慧农业后台管理页面
guoshilong
2022-11-08 082613d446e29e4ec1c16bfaa52345106a498b23
src/views/wel/plant.vue
@@ -15,10 +15,12 @@
<script>
import { mapState } from "vuex";
import { getLandList } from "@/api/land/land";
import { getLandList,getLandListNoPage } from "@/api/land/land";
import { getStrainList } from "@/api/farmplant/strain";
import { save } from "@/api/farmplant/farmplant";
import { save,getList } from "@/api/farmplant/farmplant";
import { getFarmList } from "../../api/farm/farm";
import {limitNumInt} from "@/util/validate";
export default {
  data() {
    return {
@@ -30,7 +32,7 @@
        gutter: 30,
        column: [
          {
            label: "种养品",
            label: "种类",
            prop: "strainId",
            labelWidth:110,
            type:"tree",
@@ -43,7 +45,7 @@
              {
                required: true,
                message: "请选择种养品",
                trigger: "blur",
                trigger: ["blur","change"],
              },
            ],
          },
@@ -51,16 +53,10 @@
            label: "品种",
            prop: "varieties",
            labelWidth:110,
            rules: [
              {
                required: true,
                message: "请输入种养品名称",
                trigger: "blur",
              },
            ],
            maxlength:40,
          },
          {
            label: "种养品图片",
            label: "品种图片",
            prop: "url",
            type: "upload",
            listType: "picture-img",
@@ -82,7 +78,7 @@
              {
                required: true,
                message: "请选择所属地块",
                trigger: "blur",
                trigger: ["blur","change"],
              },
            ],
          },
@@ -91,7 +87,7 @@
            prop: "plant",
            labelWidth:110,
            type: "select",
            value:"3",
            // value:"3",
            dicData:[
              {
                label:"有机",
@@ -114,7 +110,7 @@
              {
                required: true,
                message: "请选择种植标准",
                trigger: "blur",
                trigger: ["blur","change"],
              },
            ],
          },
@@ -123,7 +119,7 @@
            prop: "plantingWay",
            type: "select",
            labelWidth:110,
            value:"0",
            // value:"0",
            dicData:[
              {
                label:"移栽",
@@ -142,48 +138,7 @@
              {
                required: true,
                message: "请选择种植方式",
                trigger: "blur",
              },
            ],
          },
          {
            label: "所属移栽农场",
            prop: "farmId",
            type: "tree",
            display:true,
            dicData: [],
            props: {
              label: "farmName",
              value: "id",
            },
            cascader: ["otherLandId"],
            labelWidth: 110,
            rules: [
              {
                required: true,
                message: "请选择所属农场",
                trigger: "blur",
              },
            ],
          },
          {
            label: "所属移栽地块",
            prop: "otherLandId",
            // span: 7,
            type: "tree",
            display:true,
            dicData: [],
            props: {
              label: "landName",
              value: "id",
            },
            dicUrl: `/api/land/land/getLandList?farmId={{key}}`,
            labelWidth: 110,
            rules: [
              {
                required: true,
                message: "请选择农产品",
                trigger: "blur",
                trigger: ["blur","change"],
              },
            ],
          },
@@ -191,7 +146,7 @@
            label: "作业方式",
            prop: "jobWay",
            labelWidth:110,
            value:"0",
            // value:"0",
            type: "select",
            dicData:[
              {
@@ -207,9 +162,36 @@
              {
                required: true,
                message: "请输入作业方式",
                trigger: "blur",
                trigger: ["blur","change"],
              },
            ],
          },
          {
            label: "秧苗来源基地",
            prop: "farmId",
            type: "tree",
            display:true,
            dicData: [],
            props: {
              label: "farmName",
              value: "id",
            },
            cascader: ["otherLandId"],
            labelWidth: 110,
          },
          {
            label: "秧苗来源地块",
            prop: "otherLandId",
            // span: 7,
            type: "tree",
            display:true,
            dicData: [],
            props: {
              label: "landName",
              value: "id",
            },
            dicUrl: `/api/land/land/getLandList?farmId={{key}}`,
            labelWidth: 110,
          },
          {
            label: "种植时间",
@@ -222,7 +204,7 @@
              {
                required: true,
                message: "请选择种植时间",
                trigger: "blur",
                trigger: ["blur","change"],
              },
            ],
          },
@@ -238,7 +220,7 @@
              {
                required: false,
                message: "请选预计采收时间",
                trigger: "blur",
                trigger: ["blur","change"],
              },
            ],
          },
@@ -251,8 +233,8 @@
            rules: [
              {
                required: false,
                message: "请输入预计亩产",
                trigger: "blur",
                trigger: ["blur","change"],
                validator: limitNumInt
              },
            ],
          },
@@ -265,8 +247,8 @@
            rules: [
              {
                required: false,
                message: "请输入株数",
                trigger: "blur",
                trigger: ["blur","change"],
                validator: limitNumInt
              },
            ],
          },
@@ -279,8 +261,8 @@
            rules: [
              {
                required: false,
                message: "请输入株间距",
                trigger: "blur",
                trigger: ["blur","change"],
                validator: limitNumInt
              },
            ],
          },
@@ -296,21 +278,34 @@
    }),
  },
  watch: {
  "form.plantingWay": {
    "form.plantingWay": {
      handler(val) {
        console.log("plantingWay",val)
        var farmColumn = this.findObject(this.option.column,"farmId")
        var landColumn = this.findObject(this.option.column,"otherLandId")
        if(val != 0 ){
          farmColumn.display = false
          landColumn.display = false
        }else{
          this.form.farmId = this.$farmId
          farmColumn.display = true
          landColumn.display = true
        }
      },
      immediate: true,
    },
    "$farmId":{
      handler(val){
        this.form.farmId = this.$farmId
        //获取农地数据
        getLandList(this.$farmId).then((res)=>{
            if(res.data.code==200){
              var landIdcolumn = this.findObject(this.option.column,"landId");
              this.landList = res.data.data;
              landIdcolumn.dicData = res.data.data;
            }
        })
      }
    }
  },
  methods: {
    //计算当前时间
@@ -329,7 +324,7 @@
        //秒 getSeconds():(0 ~ 59)
        var second = date.getSeconds();
        //赋值
        this.form['time'] = year + '-'
        this.form['transplanTime'] = year + '-'
                          + this.addZero(month) + '-'
                          + this.addZero(day) + ' '
                          + this.addZero(hour) + ':'
@@ -340,12 +335,39 @@
      return s < 10 ? ('0' + s) : s;
    },
    //初始化
    init() {
    init(item) {
      var that = this;
      that.visible = true;
      if (that.$refs.form){
        that.$refs.form.resetForm()
      }
      this.form['operator'] = this.userInfo.user_id;
      //计算当前时间
      this.getNowTime();
      this.visible = true;
      var that = this;
      var strainColumn = that.findObject(that.option.column,"strainId");
      var otherLandColumn = that.findObject(that.option.column,"otherLandId");
      if(item.strainId){
        that.form.strainId = item.strainId
        strainColumn.disabled = true
      }else{
        strainColumn.disabled = false
        that.form.farmId = that.$farmId
      }
      var params = {}
        params['tenantId'] = this.userInfo.tenant_id
        params['farmId'] = this.$farmId
        params['strainId'] = item.strainId
        // params['plantingWay'] = "2"
        getLandListNoPage(params).then((res)=>{
          var landArr = []
          res.data.data.forEach(e => {
            landArr.push({
              id:e.landId,
              landName:e.landName
            })
          });
          otherLandColumn.dicData = landArr
        })
      //获取农地数据
      getLandList(this.$farmId).then((res)=>{
          if(res.data.code==200){