智慧农业后台管理页面
guoshilong
2022-11-08 082613d446e29e4ec1c16bfaa52345106a498b23
src/views/task/task.vue
@@ -27,10 +27,11 @@
                   @click="handleDelete">删 除
        </el-button>
      </template>
      <template slot-scope="{ type, size, row }" slot="menu">
      <template slot-scope="{ type, size, row}" slot="menu">
        <el-button
          icon="el-icon-circle-plus-outline"
          @click="chuli(row)"
          v-show="row.status"
          :size="size"
          :type="type"
        >处理
@@ -67,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: {},
@@ -96,14 +110,20 @@
        selection: true,
        dialogClickModal: false,
        gradeBoxVisible: false,
        disabled:false,
        refreshBtn:false,
        columnBtn:false,
        searchShowBtn:false,
        menuWidth:300,
        column: [
          {
            label: "任务名称",
            prop: "taskName",
            maxlength:200,
            rules: [{
              required: true,
              message: "请输入任务名称",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -119,7 +139,7 @@
            rules: [{
              required: true,
              message: "请输入地块",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -131,7 +151,7 @@
            rules: [{
              required: true,
              message: "请输入截止时间",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -146,7 +166,7 @@
            rules: [{
              required: true,
              message: "请输入负责人",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -154,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)
            }
          },
          {
@@ -169,8 +190,13 @@
            hide: true,
            span: 6,
            type: "number",
            labelWidth: 110,
            // labelWidth: 110,
            display: false,
            rules:[{
              require:false,
              trigger: ["blur","change"],
              validator: validateNum
            }]
          },
          {
            label: "拍照照片",
@@ -191,6 +217,7 @@
            row: true,
          },
          {
            editDisplay: false,
            label: "任务状态",
            addDisplay: false,
            type: "select",
@@ -219,7 +246,7 @@
            rules: [{
              required: true,
              message: "请输入任务说明",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -252,6 +279,7 @@
            prop: "remark",
            type: "textarea",
            span: 24,
            maxlength:200,
          },
        ]
      },
@@ -266,6 +294,7 @@
        viewBtn: true,
        selection: true,
        dialogClickModal: false,
        emptyBtn:false,
        column: [
          {
            label: "任务名称",
@@ -303,7 +332,7 @@
            rules: [{
              required: true,
              message: "请输入负责人",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -317,7 +346,7 @@
            rules: [{
              required: true,
              message: "请输入截止时间",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -333,7 +362,7 @@
              value: "id"
            },
            change: function (value) {
              console.log(value.value)
              // console.log(value.value)
            }
          },
          {
@@ -341,7 +370,7 @@
            prop: "stockNum",
            hide: true,
            disabled: true,
            span: 6,
            span: 7,
            type: "number",
            labelWidth: 110,
          },
@@ -392,6 +421,7 @@
            editDisplay: false,
            prop: "remark",
            type: "textarea",
            maxlength:200,
            span: 23,
          },
        ]
@@ -411,12 +441,14 @@
          {
            label: "任务名称",
            prop: "taskName",
            maxlength:200,
            disabled: true,
          },
          {
            label: "任务说明",
            prop: "taskExplain",
            type: "textarea",
            maxlength:200,
            span: 23,
            disabled: true,
          },
@@ -444,7 +476,7 @@
            rules: [{
              required: true,
              message: "请输入负责人",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -458,7 +490,7 @@
            rules: [{
              required: true,
              message: "请输入截止时间",
              trigger: "blur"
              trigger: ["blur","change"]
            }]
          },
          {
@@ -474,7 +506,7 @@
              value: "stock_id1"
            },
            change: function (value) {
              console.log(value.value)
              // console.log(value.value)
            }
          },
          {
@@ -489,6 +521,7 @@
          {
            label: "拍照照片",
            prop: "type",
            value:"1",
            span: 6,
            disabled: true,
            type: "switch",
@@ -535,6 +568,7 @@
            editDisplay: false,
            prop: "remark",
            type: "textarea",
            maxlength:200,
            span: 23,
          },
        ]
@@ -548,7 +582,7 @@
    this.initData();
  },
  computed: {
    ...mapGetters(["permission", "userInfo"]),
    ...mapGetters(["permission", "userInfo","$farmId"]),
    permissionList() {
      return {
        addBtn: this.vaildData(this.permission.task_add, false),
@@ -568,7 +602,6 @@
  watch: {
    "form.stockId": {
      handler(val) {
        console.log(val)
        var stockIdcolumn = this.findObject(this.option.column, "stockNum");
        if (val != "") {
          stockIdcolumn.display = true;
@@ -578,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);
@@ -616,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){
@@ -650,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({
@@ -702,10 +776,16 @@
        });
    },
    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;
        });
        if(type=="edit"){
          this.form.status==0?this.option.disabled=true:this.option.disabled=false
        }
      }
      done();
    },
@@ -737,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;