智慧农业后台管理页面
Administrator
2022-06-01 00a2a8e080d0822529c8b09fc5029ac6519fda16
src/views/wel/farming.vue
@@ -17,12 +17,12 @@
import { mapState } from "vuex";
import { getLandList } from "@/api/land/land";
import { getUserList } from "@/api/system/user";
import { getStrainList } from "@/api/farmplant/strain";
import { save } from "@/api/farmplant/recovery";
import { selectStockFa } from "@/api/stockfactory/stockfactory";
import { save } from "@/api/farm/farmingrecord";
export default {
  data() {
    return {
      title:"采收/捕捞",
      title:"农事操作",
      form: {},
      option: {
        emptyBtn: false,
@@ -30,119 +30,119 @@
        gutter: 30,
        column: [
          {
            label: "采收品种",
            label: "农事类型",
            prop: "type",
            type: "select",
            labelWidth: 110,
            dicUrl: "/api/blade-system/dict-biz/dictionary?code=farmingType",
            props: {
              label: "dictValue",
              value: "dictKey",
            },
            rules: [
              {
                required: true,
                message: "请选择农事类型",
                trigger: "blur",
              },
            ],
          },
          {
            label: "所属地块",
            prop: "landId",
            type: "tree",
            dicData: [],
            props: {
              label: "landName",
              value: "id",
            },
            cascader: ["strainId"],
            labelWidth: 110,
            rules: [
              {
                required: true,
                message: "请选择所属地块",
                trigger: "blur",
              },
            ],
          },
          {
            label: "农产品",
            prop: "strainId",
            span: 12,
            type: "tree",
            dicData: [],
            props: {
              label: "strainName",
              value: "id"
              value: "id",
            },
            labelWidth: 145,
            dicUrl: `/api/farmPlant/strain-tree?landId={{key}}`,
            labelWidth: 110,
            rules: [
              {
                required: true,
                message: "请输入采收品种",
                message: "请选择农产品",
                trigger: "blur",
              },
            ],
            disabled:true,
          },
          {
            label: "采收地块",
            span: 12,
            labelWidth: 145,
            width: 110,
            prop: "landId",
            type:"tree",
            label: "农资",
            prop: "stockId",
            type: "tree",
            dicData: [],
            props: {
              label: "landName",
              value: "id"
              label: "dictValue",
              value: "dictKey",
            },
            labelWidth: 110,
            rules: [
              {
                required: true,
                message: "请选择采收地块",
                trigger: "click",
                message: "请选择农资",
                trigger: "blur",
              },
            ],
          },
          {
            label: "采收重量",
            prop: "weight",
            tip: '公斤',
            span: 12,
            labelWidth: 145,
            width: 110,
            controls:false,
            type:'number',
            rules: [
              {
                required: true,
                message: "请输入采收重量 公斤",
                trigger: "click",
              },
            ],
            display: false,
          },
          {
            label: "作业方式",
            prop: "jobWay",
            span: 12,
            labelWidth: 145,
            width: 110,
            labelWidth: 110,
            type: "select",
            value:"0",
            dicData:[
            value:'0',
            dicData: [
              {
                label:"人工",
                value:"0"
                label: "人工",
                value: "0",
              },
              {
                label:"机械",
                value:"1"
                label: "机械",
                value: "1",
              },
            ],
            rules: [
              {
                required: true,
                message: "请选择作业方式",
                trigger: "click",
                message: "请输入作业方式",
                trigger: "blur",
              },
            ],
          },
          {
            label: "采收时间",
            label: "农事操作时间",
            prop: "time",
            span: 12,
            labelWidth: 145,
            width: 110,
            type: "datetime",
            format: "yyyy-MM-dd HH:mm",
            valueFormat: "yyyy-MM-dd HH:mm",
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            labelWidth: 110,
            rules: [
              {
                required: true,
                message: "请选择采收时间",
                trigger: "click",
                message: "请选择农事操作时间",
                trigger: "blur",
              },
            ],
          },
          // {
          //   label: "采收产品",
          //   prop: "farmArea",
          //   span: 12,
          //   labelWidth: 145,
          //   width: 110,
          //   rules: [
          //     {
          //       required: true,
          //       message: "请输入采收产品",
          //       trigger: "click",
          //     },
          //   ],
          // },
          {
            label: "操作人",
            prop: "operator",
@@ -152,67 +152,46 @@
              label: "realName",
              value: "id",
            },
            span: 12,
            labelWidth: 145,
            width: 110,
            labelWidth: 110,
            rules: [
              {
                required: true,
                message: "请输入操作人",
                trigger: "click",
                required: false,
                message: "请选择操作人",
                trigger: "blur",
              },
            ],
          },
          {
            label: "产品等级",
            prop: "leaves",
            span: 12,
            labelWidth: 145,
            width: 110,
            value:"0",
            type: "select",
            dicData:[
              {
                label:"一等品",
                value:"0"
              },
              {
                label:"二等品",
                value:"1"
              },
              {
                label:"三等品",
                value:"2"
              },
              {
                label:"四等品",
                value:"3"
              },
              {
                label:"五等品",
                value:"4"
              },
            ],
            rules: [
              {
                required: true,
                message: "请输入产品等级",
                trigger: "click",
              },
            ],
            label: "农事照片",
            prop: "tp",
            type: "upload",
            labelWidth: 110,
            dataType: "string",
            span: 24,
            limit: 5,
            listType: "picture-card",
            tip: "建议上传手机横屏拍摄的照片,宽高比16:9,最多上传5张",
            canvasOption: {
              text: "",
              ratio: 1.0,
            },
            propsHttp: {
              res: "data",
              url: "url"
            },
            action: "/api/blade-resource/oss/endpoint/put-files"
          },
          {
            label: "备注",
            prop: "remark",
            prop: "remarks",
            type: "textarea",
            span: 24,
            type:"textarea",
            labelWidth: 145,
            width: 110,
            labelWidth: 110,
            rules: [
              {
                required: false,
                message: "请输入备注",
                trigger: "click",
                trigger: "blur",
              },
            ],
          },
@@ -225,6 +204,19 @@
    ...mapState({
      userInfo: (state) => state.user.userInfo,
    }),
  },
  watch: {
    "form.type": {
      handler(val) {
        var stockIdcolumn = this.findObject(this.option.column, "stockId");
        if (val === "0" || val == 4 || val == 5 || val == 8 || val == 9) {
          stockIdcolumn.display = true;
        } else {
          stockIdcolumn.display = false;
        }
      },
      immediate: true,
    },
  },
  methods: {
    //计算当前时间
@@ -246,25 +238,14 @@
        this.form['time'] = year + '-' 
                          + this.addZero(month) + '-' 
                          + this.addZero(day) + ' ' 
                          + this.addZero(hour) + ':'
                          + this.addZero(minute);
                          + this.addZero(hour);
    },
    //小于10的拼接上0字符串
    addZero(s) {
      return s < 10 ? ('0' + s) : s;
    },
    //初始化
    init(data) {
      this.form = {
        farmPlantId:data.id,
        strainId:data.strainId,
        landId:data.landId,
        weight:data.weight,
        leaves:'0',
        jobWay:data.jobWay,
        operator:data.operator,
        remark:''
      };
    init() {
      this.form['operator'] = this.userInfo.user_id;
      //计算当前时间
      this.getNowTime();
@@ -278,7 +259,6 @@
          landIdcolumn.dicData = res.data.data;
        }
      });
      //获取操作人
      const user = {
        tenantId: this.userInfo.tenant_id,
@@ -289,27 +269,26 @@
          operatorcolumn.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;
          }
      })
      //获取农资
      selectStockFa().then((res) => {
        if (res.data.code == 200) {
          var stockIdcolumn = that.findObject(that.option.column, "stockId");
          stockIdcolumn.dicData = res.data.data;
        }
      });
    },
    // 表单提交
    submit(row,loading,done) {
    submit(row,done) {
      var that = this;
      row.time = row.time + ":00";
      save(row).then(
        () => {
          this.$refs.form.resetFields();
          that.$refs.form.resetFields();
          that.visible = false;
          this.$message({
            type: "success",
            message: "操作成功!",
          });
           done();
          done();
        },
        (error) => {
          done();