智慧农业后台管理页面
guoshilong
2022-11-08 082613d446e29e4ec1c16bfaa52345106a498b23
src/views/task/task.vue
@@ -68,9 +68,22 @@
import {getList, getDetail, add, update, remove, updatechuli} from "@/api/task/task";
import {mapGetters} from "vuex";
import {getLandList} from "@/api/land/land";
import {selectStockFa} from "@/api/stockfactory/stockfactory";
export default {
  data() {
    const validateNum = (rule, value, callback) => {
      if (!/^[1-9]\d*$/.test(value)) {
        callback(new Error("请输入正整数"));
      } else {
        if (value>9999){
          callback(new Error("限制为9999以内"));
        }else {
          callback();
        }
      }
    };
    return {
      form: {},
      query: {},
@@ -101,14 +114,16 @@
        refreshBtn:false,
        columnBtn:false,
        searchShowBtn:false,
        menuWidth:300,
        column: [
          {
            label: "任务名称",
            prop: "taskName",
            maxlength:200,
            rules: [{
              required: true,
              message: "请输入任务名称",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -124,7 +139,7 @@
            rules: [{
              required: true,
              message: "请输入地块",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -136,7 +151,7 @@
            rules: [{
              required: true,
              message: "请输入截止时间",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -151,7 +166,7 @@
            rules: [{
              required: true,
              message: "请输入负责人",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -159,13 +174,14 @@
            prop: "stockId",
            hide: true,
            type: "tree",
            dicUrl: `/api/soldr/soldr/selectSol`,
            dicData:[],
            // dicUrl: `/api/soldr/soldr/selectSol`,
            props: {
              label: "spn",
              value: "id"
            },
            change: function (value) {
              console.log(value.value)
              // console.log(value.value)
            }
          },
          {
@@ -174,8 +190,13 @@
            hide: true,
            span: 6,
            type: "number",
            labelWidth: 110,
            // labelWidth: 110,
            display: false,
            rules:[{
              require:false,
              trigger: ["blur","change"],
              validator: validateNum
            }]
          },
          {
            label: "拍照照片",
@@ -196,6 +217,7 @@
            row: true,
          },
          {
            editDisplay: false,
            label: "任务状态",
            addDisplay: false,
            type: "select",
@@ -224,7 +246,7 @@
            rules: [{
              required: true,
              message: "请输入任务说明",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -257,6 +279,7 @@
            prop: "remark",
            type: "textarea",
            span: 24,
            maxlength:200,
          },
        ]
      },
@@ -271,6 +294,7 @@
        viewBtn: true,
        selection: true,
        dialogClickModal: false,
        emptyBtn:false,
        column: [
          {
            label: "任务名称",
@@ -308,7 +332,7 @@
            rules: [{
              required: true,
              message: "请输入负责人",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -322,7 +346,7 @@
            rules: [{
              required: true,
              message: "请输入截止时间",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -338,7 +362,7 @@
              value: "id"
            },
            change: function (value) {
              console.log(value.value)
              // console.log(value.value)
            }
          },
          {
@@ -346,7 +370,7 @@
            prop: "stockNum",
            hide: true,
            disabled: true,
            span: 6,
            span: 7,
            type: "number",
            labelWidth: 110,
          },
@@ -397,6 +421,7 @@
            editDisplay: false,
            prop: "remark",
            type: "textarea",
            maxlength:200,
            span: 23,
          },
        ]
@@ -416,12 +441,14 @@
          {
            label: "任务名称",
            prop: "taskName",
            maxlength:200,
            disabled: true,
          },
          {
            label: "任务说明",
            prop: "taskExplain",
            type: "textarea",
            maxlength:200,
            span: 23,
            disabled: true,
          },
@@ -449,7 +476,7 @@
            rules: [{
              required: true,
              message: "请输入负责人",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -463,7 +490,7 @@
            rules: [{
              required: true,
              message: "请输入截止时间",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -479,7 +506,7 @@
              value: "stock_id1"
            },
            change: function (value) {
              console.log(value.value)
              // console.log(value.value)
            }
          },
          {
@@ -494,6 +521,7 @@
          {
            label: "拍照照片",
            prop: "type",
            value:"1",
            span: 6,
            disabled: true,
            type: "switch",
@@ -540,6 +568,7 @@
            editDisplay: false,
            prop: "remark",
            type: "textarea",
            maxlength:200,
            span: 23,
          },
        ]
@@ -553,7 +582,7 @@
    this.initData();
  },
  computed: {
    ...mapGetters(["permission", "userInfo"]),
    ...mapGetters(["permission", "userInfo","$farmId"]),
    permissionList() {
      return {
        addBtn: this.vaildData(this.permission.task_add, false),
@@ -573,7 +602,6 @@
  watch: {
    "form.stockId": {
      handler(val) {
        console.log(val)
        var stockIdcolumn = this.findObject(this.option.column, "stockNum");
        if (val != "") {
          stockIdcolumn.display = true;
@@ -583,11 +611,26 @@
      },
      immediate: true,
    },
    '$farmId':{
      handler (newName, oldName) {
          this.getLandList()
          this.getSoldrList()
          this.query={}
          this.onLoad(this.page)
      }
    }
  },
  methods: {
    //入库
    //处理
    submitR(row, done, loading) {
      var that = this;
      if(row.type == "0"){
        if(row.tp == ""){
          that.$message.warning("请上传照片")
          done()
          return
        }
      }
      updatechuli(row).then(
        () => {
          that.onLoad(this.page);
@@ -621,22 +664,40 @@
        type: row.type
      };
      if (row.type === "0") {
        var tp = this.findObject(this.optionchuli.column, "tp");
      var tp = this.findObject(this.optionchuli.column, "tp");
      if (row.type == "0") {
        tp.display = true;
      }else {
        tp.display = false
      }
      this.gradeBoxVisiblechuli = true;
    },
    initData() {
      this.getLandList()
      this.getSoldrList()
    },
    getLandList(){
      var that = this;
      //获取农地数据
      getLandList(this.userInfo.dept_id).then((res) => {
      getLandList(this.$farmId).then((res) => {
        if (res.data.code == 200) {
          var landIdcolumn = that.findObject(that.option.column, "landId");
          var landIdColumnChuli = that.findObject(that.optionchuli.column,"landId")
          that.landList = res.data.data;
          landIdcolumn.dicData = res.data.data;
          landIdColumnChuli.dicData = res.data.data
        }
      })
    },
    getSoldrList(){
      var that = this;
      //获取农资
      selectStockFa(this.$farmId).then((res) => {
        if (res.data.code == 200) {
          var stockIdcolumn = that.findObject(that.option.column, "stockId");
          stockIdcolumn.dicData = res.data.data;
        }
      });
    },
    rowSave(row, done, loading) {
      if(row.tp.length<=0){
@@ -655,6 +716,14 @@
      });
    },
    rowUpdate(row, index, done, loading) {
      if(row.stockNum<0){
        this.$message({
          type: "warning",
          message: "农资量不能为负数!"
        });
        done();
        return
      }
      update(row).then(() => {
        this.onLoad(this.page);
        this.$message({
@@ -707,6 +776,9 @@
        });
    },
    beforeOpen(done, type) {
      if(["add"].includes(type)){
        this.option.disabled=false
      }
      if (["edit", "view"].includes(type)) {
        getDetail(this.form.id).then(res => {
          this.form = res.data.data;
@@ -745,6 +817,7 @@
    },
    onLoad(page, params = {}) {
      this.loading = true;
      params["farmId"] = this.$farmId
      getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
        const data = res.data.data;
        this.page.total = data.total;