采收记录完善,结束完成,新增农产品种植,页面样式优化
2 files modified
10 files added
| New file |
| | |
| | | import request from '@/router/axios'; |
| | | |
| | | export const getList = (current, size, params) => { |
| | | return request({ |
| | | url: '/api/recovery/page', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | } |
| | | }) |
| | | } |
| | | export const remove = (ids) => { |
| | | return request({ |
| | | url: '/api/recovery/remove', |
| | | method: 'post', |
| | | params: { |
| | | ids, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const save = (row) => { |
| | | return request({ |
| | | url: '/api/recovery/save', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | | |
| | | export const update = (row) => { |
| | | return request({ |
| | | url: '/api/recovery/update', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | | |
| | | export const getDetail = (id) => { |
| | | return request({ |
| | | url: '/api/recovery/detail', |
| | | method: 'get', |
| | | params: { |
| | | id |
| | | } |
| | | }) |
| | | } |
| New file |
| | |
| | | <template> |
| | | <el-dialog |
| | | :title="title" |
| | | :modal-append-to-body="false" |
| | | :append-to-body="true" |
| | | :close-on-click-modal="false" |
| | | width="60%" |
| | | :visible.sync="visible" |
| | | > |
| | | <avue-form ref="form" v-model="form" :option="option" @submit="submit"> |
| | | </avue-form> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | 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"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | title:"采收/捕捞", |
| | | form: {}, |
| | | option: { |
| | | emptyBtn: false, |
| | | submitText: "保存", |
| | | gutter: 30, |
| | | column: [ |
| | | { |
| | | label: "采收品种", |
| | | prop: "strainId", |
| | | span: 12, |
| | | type: "tree", |
| | | dicData: [], |
| | | props: { |
| | | label: "strainName", |
| | | value: "id" |
| | | }, |
| | | labelWidth: 145, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入采收品种", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | disabled:true, |
| | | }, |
| | | { |
| | | label: "采收地块", |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | prop: "landId", |
| | | type:"tree", |
| | | dicData: [], |
| | | props: { |
| | | label: "landName", |
| | | value: "id" |
| | | }, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择采收地块", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "采收重量", |
| | | prop: "weight", |
| | | tip: '公斤', |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | controls:false, |
| | | type:'number', |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入采收重量 公斤", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "作业方式", |
| | | prop: "jobWay", |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | type: "select", |
| | | value:"0", |
| | | dicData:[ |
| | | { |
| | | label:"人工", |
| | | value:"0" |
| | | }, |
| | | { |
| | | label:"机械", |
| | | value:"1" |
| | | }, |
| | | ], |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择作业方式", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "采收时间", |
| | | prop: "time", |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | type: "datetime", |
| | | format: "yyyy-MM-dd HH:mm", |
| | | valueFormat: "yyyy-MM-dd HH:mm", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择采收时间", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | // { |
| | | // label: "采收产品", |
| | | // prop: "farmArea", |
| | | // span: 12, |
| | | // labelWidth: 145, |
| | | // width: 110, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请输入采收产品", |
| | | // trigger: "click", |
| | | // }, |
| | | // ], |
| | | // }, |
| | | { |
| | | label: "操作人", |
| | | prop: "operator", |
| | | type: "tree", |
| | | dicData: [], |
| | | props: { |
| | | label: "realName", |
| | | value: "id", |
| | | }, |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入操作人", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | 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: "remark", |
| | | span: 24, |
| | | type:"textarea", |
| | | labelWidth: 145, |
| | | width: 110, |
| | | rules: [ |
| | | { |
| | | required: false, |
| | | message: "请输入备注", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | visible: false, |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapState({ |
| | | userInfo: (state) => state.user.userInfo, |
| | | }), |
| | | }, |
| | | methods: { |
| | | //计算当前时间 |
| | | getNowTime(){ |
| | | var date = new Date(); |
| | | //年 getFullYear():四位数字返回年份 |
| | | var year = date.getFullYear(); //getFullYear()代替getYear() |
| | | //月 getMonth():0 ~ 11 |
| | | var month = date.getMonth() + 1; |
| | | //日 getDate():(1 ~ 31) |
| | | var day = date.getDate(); |
| | | //时 getHours():(0 ~ 23) |
| | | var hour = date.getHours(); |
| | | //分 getMinutes(): (0 ~ 59) |
| | | var minute = date.getMinutes(); |
| | | //秒 getSeconds():(0 ~ 59) |
| | | var second = date.getSeconds(); |
| | | //赋值 |
| | | this.form['time'] = year + '-' |
| | | + this.addZero(month) + '-' |
| | | + this.addZero(day) + ' ' |
| | | + this.addZero(hour) + ':' |
| | | + this.addZero(minute); |
| | | }, |
| | | //小于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:'' |
| | | }; |
| | | this.form['operator'] = this.userInfo.user_id; |
| | | //计算当前时间 |
| | | this.getNowTime(); |
| | | this.visible = true; |
| | | var that = this; |
| | | //获取农地数据 |
| | | getLandList(this.userInfo.user_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; |
| | | } |
| | | }); |
| | | |
| | | //获取操作人 |
| | | const user = { |
| | | tenantId: this.userInfo.tenant_id, |
| | | }; |
| | | getUserList(user).then((res) => { |
| | | if (res.data.code == 200) { |
| | | var operatorcolumn = that.findObject(that.option.column, "operator"); |
| | | 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; |
| | | } |
| | | }) |
| | | }, |
| | | // 表单提交 |
| | | submit(row,loading,done) { |
| | | var that = this; |
| | | row.time = row.time + ":00"; |
| | | save(row).then( |
| | | () => { |
| | | this.$refs.form.resetFields(); |
| | | that.visible = false; |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, |
| | | (error) => { |
| | | done(); |
| | | window.console.log(error); |
| | | } |
| | | ); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | <div class="farm-title">农场概览</div> |
| | | <div class="statis"> |
| | | <div class="echarts-statis"> |
| | | <div id="alarmTypeProEcharts"></div> |
| | | <div class="alarmTypeTotal"> |
| | | <div class="numAlarmType"> |
| | | <span>{{ alarmTypeTotal }}</span> |
| | | </div> |
| | | <div class="textAlarmType"><span>地块使用率</span></div> |
| | | </div> |
| | | <el-progress |
| | | type="circle" |
| | | :percentage="100" |
| | | :stroke-width="15" |
| | | :width="150" |
| | | ></el-progress> |
| | | </div> |
| | | <div class="avue-statis"> |
| | | <avue-data-display :option="option"></avue-data-display> |
| | |
| | | <div class="title">当前种养品种</div> |
| | | <div class="content"> |
| | | <div class="farm" v-for="(item, index) in farmPlanList" :key="index"> |
| | | <div class="farm-img"><img :src="item.url" class="img"/></div> |
| | | <div class="cai">{{item.strainName}}</div> |
| | | <div class="farm-img"><img :src="item.url" class="img" /></div> |
| | | <div class="cai">{{ item.strainName }}</div> |
| | | <div class="area">种植面积:371.13亩</div> |
| | | <div class="btn"> |
| | | <el-button plain size="small" @click="recovery(item)">采收</el-button> |
| | | <el-button plain size="small">结束</el-button> |
| | | <el-button plain size="small" @click="recovery(item)" |
| | | >采收</el-button |
| | | > |
| | | <el-button plain size="small" @click="over(item.id)" |
| | | >结束</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="title">生产管理</div> |
| | | <div class="btn"> |
| | | <div class="production-button"> |
| | | <div class="button"> |
| | | <img src="" class="img" /> |
| | | <div class="button" style="background-color: #f1fae6" @click="land"> |
| | | <div class="btn-img" style="background-color: #91CD4D"> |
| | | <img src="../../../public/img/wel/land.png" class="img" /> |
| | | </div> |
| | | <div class="text">圈地</div> |
| | | </div> |
| | | <div class="button"> |
| | | <img src="" class="img" /> |
| | | <div class="button" style="background-color: #edf9fe" @click="plant"> |
| | | <div class="btn-img" style="background-color: #40C4FF"> |
| | | <img src="../../../public/img/wel/plant.png" class="img" /> |
| | | </div> |
| | | <div class="text">添加种养品种</div> |
| | | </div> |
| | | </div> |
| | | <div class="production-button"> |
| | | <div class="button"> |
| | | <img src="" class="img" /> |
| | | <div class="button" style="background-color: #fbf0e9" @click="farming"> |
| | | <div class="btn-img" style="background-color: #FFAC92"> |
| | | <img src="../../../public/img/wel/farming.png" class="img" /> |
| | | </div> |
| | | <div class="text">农事操作</div> |
| | | </div> |
| | | <div class="button"> |
| | | <img src="" class="img" /> |
| | | <div class="button" style="background-color: #ebf1fd" @click="stock"> |
| | | <div class="btn-img" style="background-color: #80A6FA"> |
| | | <img src="../../../public/img/wel/nongzi.png" class="img" /> |
| | | </div> |
| | | <div class="text">农资入库</div> |
| | | </div> |
| | | </div> |
| | | <div class="production-button"> |
| | | <div class="button"> |
| | | <img src="" class="img" /> |
| | | <div class="button" style="background-color: #eefaf1"> |
| | | <div class="btn-img" style="background-color: #96DBAA"> |
| | | <img src="../../../public/img/wel/xiaosou.png" class="img" /> |
| | | </div> |
| | | <div class="text">销售农产品</div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="title">农资库存</div> |
| | | </div> |
| | | </div> |
| | | <!-- 弹窗, 新增 / 修改 --> |
| | | <!-- 弹窗, 采收 --> |
| | | <recovery v-if="recoveryVisible" ref="recovery"></recovery> |
| | | <!-- 圈地 --> |
| | | <land v-if="landVisible" ref="land"></land> |
| | | <!-- 种养品 --> |
| | | <plant v-if="plantVisible" ref="plant" @refreshOnLoad="onLoad"></plant> |
| | | <!-- 农事操作 --> |
| | | <farming v-if="farmingVisible" ref="farming"></farming> |
| | | <!-- 农资入库 --> |
| | | <stock v-if="stockVisible" ref="stock"></stock> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapGetters } from "vuex"; |
| | | import { getList } from "@/api/farmplant/farmplant"; |
| | | import { getList, update } from "@/api/farmplant/farmplant"; |
| | | import recovery from "./recovery.vue"; |
| | | import land from "./land.vue"; |
| | | import plant from "./plant.vue"; |
| | | import farming from "./farming.vue"; |
| | | import stock from "./stock.vue"; |
| | | export default { |
| | | components: { |
| | | recovery, |
| | | land, |
| | | plant, |
| | | farming, |
| | | stock |
| | | }, |
| | | name: "wel", |
| | | data() { |
| | | return { |
| | | farmPlanList: [], |
| | | recoveryVisible: false, |
| | | landVisible: false, |
| | | plantVisible: false, |
| | | farmingVisible: false, |
| | | stockVisible: false, |
| | | option: { |
| | | span: 8, |
| | | data: [ |
| | |
| | | }, |
| | | created() { |
| | | //地块使用率统计 |
| | | // this.getAlarmTypeProEcharts(); |
| | | this.onLoad(); |
| | | }, |
| | | methods: { |
| | |
| | | }); |
| | | }, |
| | | //采收 |
| | | recovery(data){ |
| | | recovery(data) { |
| | | this.recoveryVisible = true; |
| | | this.$nextTick(() => { |
| | | this.$refs.recovery.init(data); |
| | | }); |
| | | }, |
| | | //预警类型占比统计 |
| | | getAlarmTypeProEcharts(data) { |
| | | // selAlarmDayAveragePro(data).then((res) => { |
| | | // var that = this; |
| | | // //计算总和 |
| | | // var data = []; |
| | | // var startDate = this.dateTime[0]; |
| | | // var endDate = this.dateTime[1]; |
| | | // data.push( |
| | | // { value: res.data.data[0], name: "一键求助" }, |
| | | // { value: res.data.data[1], name: "违禁品" }, |
| | | // { value: res.data.data[2], name: "红色健康码" }, |
| | | // { value: res.data.data[3], name: "体温异常" } |
| | | // ); |
| | | // let echarts = require("echarts"); |
| | | // let myChart = echarts.init( |
| | | // document.getElementById("alarmTypeProEcharts") |
| | | // ); |
| | | // myChart.on("click", function (params) { |
| | | // var data = []; |
| | | // if (params.name == "一键求助") { |
| | | // data.push({ |
| | | // startTime: startDate, |
| | | // endTime: endDate, |
| | | // waringType: "紧急求救", |
| | | // }); |
| | | // window.parent.handleStartAlarm(data); |
| | | // } |
| | | // if (params.name == "违禁品") { |
| | | // data.push({ |
| | | // startTime: startDate, |
| | | // endTime: endDate, |
| | | // decisioDiagramResult: "contraband", |
| | | // }); |
| | | // window.parent.handleStartParcelKind(data); |
| | | // } |
| | | // if (params.name == "红色健康码") { |
| | | // data.push({ |
| | | // startTime: startDate, |
| | | // endTime: endDate, |
| | | // type: 3, |
| | | // }); |
| | | // window.parent.handleStartHealthcode(data); |
| | | // } |
| | | // if (params.name == "体温异常") { |
| | | // data.push({ |
| | | // startTime: startDate, |
| | | // endTime: endDate, |
| | | // status: 1, |
| | | // }); |
| | | // window.parent.handleStartAnimalHeat(data); |
| | | // } |
| | | // }); |
| | | // var colors = ["#FF9836", "#3fa1ff", "#F34A4A", "#8058A5"]; |
| | | // let option = { |
| | | // color: colors, |
| | | // title: { |
| | | // textStyle: { |
| | | // fontWeight: "normal", |
| | | // fontSize: 16, |
| | | // color: "#000", |
| | | // }, |
| | | // left: "1%", |
| | | // top: 25, |
| | | // textAlign: "left", |
| | | // text: "预警类型占比", |
| | | // }, |
| | | // tooltip: { |
| | | // trigger: "item", |
| | | // }, |
| | | // grid: { |
| | | // left: "1%", |
| | | // right: "10%", |
| | | // bottom: "5%", |
| | | // top: "25%", |
| | | // containLabel: true, |
| | | // }, |
| | | // series: [ |
| | | // { |
| | | // type: "pie", |
| | | // radius: ["43%", "60%"], |
| | | // center: ["45%", "53%"], |
| | | // avoidLabelOverlap: false, |
| | | // label: { |
| | | // show: false, |
| | | // position: "center", |
| | | // }, |
| | | // labelLine: { |
| | | // show: false, |
| | | // }, |
| | | // data: data, |
| | | // }, |
| | | // ], |
| | | // }; |
| | | // myChart.setOption(option); |
| | | // //建议加上以下这一行代码,不加的效果图如下(当浏览器窗口缩小的时候)。超过了div的界限(红色边框) |
| | | // window.addEventListener("resize", function () { |
| | | // myChart.resize(); |
| | | // }); |
| | | // }); |
| | | //结束种植 |
| | | 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; |
| | | this.$nextTick(() => { |
| | | this.$refs.land.init(); |
| | | }); |
| | | }, |
| | | //种植 |
| | | plant() { |
| | | this.plantVisible = true; |
| | | this.$nextTick(() => { |
| | | this.$refs.plant.init(); |
| | | }); |
| | | }, |
| | | //农事操作 |
| | | farming() { |
| | | this.farmingVisible = true; |
| | | this.$nextTick(() => { |
| | | this.$refs.farming.init(); |
| | | }); |
| | | }, |
| | | //农资入库 |
| | | stock() { |
| | | this.stockVisible = true; |
| | | this.$nextTick(() => { |
| | | this.$refs.stock.init(); |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | height: 170px; |
| | | line-height: 170px; |
| | | margin: 0 auto; |
| | | margin-left: 50px; |
| | | text-align: center; |
| | | padding-top: 30px; |
| | | } |
| | | |
| | | .avue-statis { |
| | |
| | | .farm { |
| | | width: 150px; |
| | | height: 180px; |
| | | background-color: rgb(240, 230, 230); |
| | | background-color: #F7F9FB; |
| | | border-radius: 5px; |
| | | margin-left: 20px; |
| | | |
| | |
| | | margin: 0 auto; |
| | | text-align: center; |
| | | |
| | | .img{ |
| | | .img { |
| | | width: 50px; |
| | | height: 50px; |
| | | border-radius: 100px; |
| | |
| | | line-height: 50px; |
| | | align-content: center; |
| | | justify-content: center; |
| | | background-color: aqua; |
| | | border-radius: 3px; |
| | | cursor: pointer; |
| | | |
| | | .img { |
| | | width: 20px; |
| | | height: 20px; |
| | | background-color: antiquewhite; |
| | | .btn-img{ |
| | | height: 25px; |
| | | line-height: 25px; |
| | | margin-top: 12px; |
| | | border-radius: 3px; |
| | | |
| | | |
| | | .img { |
| | | width: 25px; |
| | | height: 25px; |
| | | z-index: 999; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | .text { |
| | | font-size: 14px; |
| | | margin-left: 5px; |
| New file |
| | |
| | | <template> |
| | | <el-dialog |
| | | :title="title" |
| | | :modal-append-to-body="false" |
| | | :append-to-body="true" |
| | | :close-on-click-modal="false" |
| | | width="60%" |
| | | :visible.sync="visible" |
| | | > |
| | | <avue-form ref="form" v-model="form" :option="option" @submit="submit"> |
| | | </avue-form> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | 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"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | title:"采收/捕捞", |
| | | form: {}, |
| | | option: { |
| | | emptyBtn: false, |
| | | submitText: "保存", |
| | | gutter: 30, |
| | | column: [ |
| | | { |
| | | label: "采收品种", |
| | | prop: "strainId", |
| | | span: 12, |
| | | type: "tree", |
| | | dicData: [], |
| | | props: { |
| | | label: "strainName", |
| | | value: "id" |
| | | }, |
| | | labelWidth: 145, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入采收品种", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | disabled:true, |
| | | }, |
| | | { |
| | | label: "采收地块", |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | prop: "landId", |
| | | type:"tree", |
| | | dicData: [], |
| | | props: { |
| | | label: "landName", |
| | | value: "id" |
| | | }, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择采收地块", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "采收重量", |
| | | prop: "weight", |
| | | tip: '公斤', |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | controls:false, |
| | | type:'number', |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入采收重量 公斤", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "作业方式", |
| | | prop: "jobWay", |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | type: "select", |
| | | value:"0", |
| | | dicData:[ |
| | | { |
| | | label:"人工", |
| | | value:"0" |
| | | }, |
| | | { |
| | | label:"机械", |
| | | value:"1" |
| | | }, |
| | | ], |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择作业方式", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "采收时间", |
| | | prop: "time", |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | type: "datetime", |
| | | format: "yyyy-MM-dd HH:mm", |
| | | valueFormat: "yyyy-MM-dd HH:mm", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择采收时间", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | // { |
| | | // label: "采收产品", |
| | | // prop: "farmArea", |
| | | // span: 12, |
| | | // labelWidth: 145, |
| | | // width: 110, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请输入采收产品", |
| | | // trigger: "click", |
| | | // }, |
| | | // ], |
| | | // }, |
| | | { |
| | | label: "操作人", |
| | | prop: "operator", |
| | | type: "tree", |
| | | dicData: [], |
| | | props: { |
| | | label: "realName", |
| | | value: "id", |
| | | }, |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入操作人", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | 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: "remark", |
| | | span: 24, |
| | | type:"textarea", |
| | | labelWidth: 145, |
| | | width: 110, |
| | | rules: [ |
| | | { |
| | | required: false, |
| | | message: "请输入备注", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | visible: false, |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapState({ |
| | | userInfo: (state) => state.user.userInfo, |
| | | }), |
| | | }, |
| | | methods: { |
| | | //计算当前时间 |
| | | getNowTime(){ |
| | | var date = new Date(); |
| | | //年 getFullYear():四位数字返回年份 |
| | | var year = date.getFullYear(); //getFullYear()代替getYear() |
| | | //月 getMonth():0 ~ 11 |
| | | var month = date.getMonth() + 1; |
| | | //日 getDate():(1 ~ 31) |
| | | var day = date.getDate(); |
| | | //时 getHours():(0 ~ 23) |
| | | var hour = date.getHours(); |
| | | //分 getMinutes(): (0 ~ 59) |
| | | var minute = date.getMinutes(); |
| | | //秒 getSeconds():(0 ~ 59) |
| | | var second = date.getSeconds(); |
| | | //赋值 |
| | | this.form['time'] = year + '-' |
| | | + this.addZero(month) + '-' |
| | | + this.addZero(day) + ' ' |
| | | + this.addZero(hour) + ':' |
| | | + this.addZero(minute); |
| | | }, |
| | | //小于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:'' |
| | | }; |
| | | this.form['operator'] = this.userInfo.user_id; |
| | | //计算当前时间 |
| | | this.getNowTime(); |
| | | this.visible = true; |
| | | var that = this; |
| | | //获取农地数据 |
| | | getLandList(this.userInfo.user_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; |
| | | } |
| | | }); |
| | | |
| | | //获取操作人 |
| | | const user = { |
| | | tenantId: this.userInfo.tenant_id, |
| | | }; |
| | | getUserList(user).then((res) => { |
| | | if (res.data.code == 200) { |
| | | var operatorcolumn = that.findObject(that.option.column, "operator"); |
| | | 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; |
| | | } |
| | | }) |
| | | }, |
| | | // 表单提交 |
| | | submit(row,loading,done) { |
| | | var that = this; |
| | | row.time = row.time + ":00"; |
| | | save(row).then( |
| | | () => { |
| | | this.$refs.form.resetFields(); |
| | | that.visible = false; |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, |
| | | (error) => { |
| | | done(); |
| | | window.console.log(error); |
| | | } |
| | | ); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| New file |
| | |
| | | <template> |
| | | <el-dialog |
| | | :title="title" |
| | | :modal-append-to-body="false" |
| | | :append-to-body="true" |
| | | :close-on-click-modal="false" |
| | | width="60%" |
| | | :visible.sync="visible" |
| | | > |
| | | <avue-form ref="form" v-model="form" :option="option" @submit="submit"> |
| | | </avue-form> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { mapState } from "vuex"; |
| | | import { getLandList } from "@/api/land/land"; |
| | | import { getStrainList } from "@/api/farmplant/strain"; |
| | | import { save } from "@/api/farmplant/farmplant"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | title:"添加种养品种", |
| | | form: {}, |
| | | option: { |
| | | emptyBtn: false, |
| | | submitText: "保存", |
| | | gutter: 30, |
| | | column: [ |
| | | { |
| | | label: "种养品", |
| | | prop: "strainId", |
| | | labelWidth:110, |
| | | type:"tree", |
| | | dicData: [], |
| | | props: { |
| | | label: "strainName", |
| | | value: "id" |
| | | }, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择种养品", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "品种", |
| | | prop: "varieties", |
| | | labelWidth:110, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入种养品名称", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "种养品图片", |
| | | prop: "url", |
| | | type: "upload", |
| | | listType: "picture-img", |
| | | width: 100, |
| | | labelWidth:110, |
| | | display:false, |
| | | }, |
| | | { |
| | | label: "所属地块", |
| | | prop: "landId", |
| | | type:"tree", |
| | | dicData: [], |
| | | props: { |
| | | label: "landName", |
| | | value: "id" |
| | | }, |
| | | labelWidth:110, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择所属地块", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "种植标准", |
| | | prop: "plant", |
| | | labelWidth:110, |
| | | type: "select", |
| | | value:"3", |
| | | dicData:[ |
| | | { |
| | | label:"有机", |
| | | value:"0" |
| | | }, |
| | | { |
| | | label:"绿色", |
| | | value:"1" |
| | | }, |
| | | { |
| | | label:"无公害", |
| | | value:"2" |
| | | }, |
| | | { |
| | | label:"普通", |
| | | value:"3" |
| | | }, |
| | | ], |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择种植标准", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "种植方式", |
| | | prop: "plantingWay", |
| | | type: "select", |
| | | labelWidth:110, |
| | | value:"0", |
| | | dicData:[ |
| | | { |
| | | label:"移栽", |
| | | value:"0" |
| | | }, |
| | | { |
| | | label:"直播", |
| | | value:"1" |
| | | }, |
| | | ], |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择种植方式", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "作业方式", |
| | | prop: "jobWay", |
| | | labelWidth:110, |
| | | value:"0", |
| | | type: "select", |
| | | dicData:[ |
| | | { |
| | | label:"人工", |
| | | value:"0" |
| | | }, |
| | | { |
| | | label:"机械", |
| | | value:"1" |
| | | }, |
| | | ], |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入作业方式", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "移栽时间", |
| | | prop: "transplanTime", |
| | | type: "date", |
| | | format: "yyyy-MM-dd", |
| | | valueFormat: "yyyy-MM-dd", |
| | | labelWidth:110, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择移栽时间", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "预计采收时间", |
| | | prop: "recoveryTime", |
| | | type: "date", |
| | | format: "yyyy-MM-dd", |
| | | valueFormat: "yyyy-MM-dd", |
| | | hide:true, |
| | | labelWidth:110, |
| | | rules: [ |
| | | { |
| | | required: false, |
| | | message: "请选预计采收时间", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "预计亩产", |
| | | prop: "per", |
| | | labelWidth:110, |
| | | hide:true, |
| | | type:"number", |
| | | rules: [ |
| | | { |
| | | required: false, |
| | | message: "请输入预计亩产", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "株数", |
| | | prop: "plantNumber", |
| | | labelWidth:110, |
| | | type:"number", |
| | | hide:true, |
| | | rules: [ |
| | | { |
| | | required: false, |
| | | message: "请输入株数", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "株间距", |
| | | prop: "plantSpacing", |
| | | labelWidth:110, |
| | | type:"number", |
| | | hide:true, |
| | | rules: [ |
| | | { |
| | | required: false, |
| | | message: "请输入株间距", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | visible: false, |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapState({ |
| | | userInfo: (state) => state.user.userInfo, |
| | | }), |
| | | }, |
| | | methods: { |
| | | //计算当前时间 |
| | | getNowTime(){ |
| | | var date = new Date(); |
| | | //年 getFullYear():四位数字返回年份 |
| | | var year = date.getFullYear(); //getFullYear()代替getYear() |
| | | //月 getMonth():0 ~ 11 |
| | | var month = date.getMonth() + 1; |
| | | //日 getDate():(1 ~ 31) |
| | | var day = date.getDate(); |
| | | //时 getHours():(0 ~ 23) |
| | | var hour = date.getHours(); |
| | | //分 getMinutes(): (0 ~ 59) |
| | | var minute = date.getMinutes(); |
| | | //秒 getSeconds():(0 ~ 59) |
| | | var second = date.getSeconds(); |
| | | //赋值 |
| | | this.form['time'] = year + '-' |
| | | + this.addZero(month) + '-' |
| | | + this.addZero(day) + ' ' |
| | | + this.addZero(hour) + ':' |
| | | + this.addZero(minute); |
| | | }, |
| | | //小于10的拼接上0字符串 |
| | | addZero(s) { |
| | | return s < 10 ? ('0' + s) : s; |
| | | }, |
| | | //初始化 |
| | | init() { |
| | | this.form['operator'] = this.userInfo.user_id; |
| | | //计算当前时间 |
| | | this.getNowTime(); |
| | | this.visible = true; |
| | | var that = this; |
| | | //获取农地数据 |
| | | getLandList(this.userInfo.user_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; |
| | | } |
| | | }) |
| | | }, |
| | | // 表单提交 |
| | | submit(row,loading) { |
| | | var that = this; |
| | | row['farmType'] = 0; |
| | | row['createUser'] = this.userInfo.user_id; |
| | | save(row).then( |
| | | () => { |
| | | that.$emit("refreshOnLoad") |
| | | that.$refs.form.resetFields(); |
| | | that.visible = false; |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | window.console.log(error); |
| | | } |
| | | ); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | 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"; |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | column: [ |
| | | { |
| | | label: "采收品种", |
| | | prop: "farmName", |
| | | prop: "strainId", |
| | | span: 12, |
| | | type: "tree", |
| | | dicData: [], |
| | | props: { |
| | | label: "strainName", |
| | | value: "id" |
| | | }, |
| | | labelWidth: 145, |
| | | rules: [ |
| | | { |
| | |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | disabled:true, |
| | | }, |
| | | { |
| | | label: "采收地块", |
| | |
| | | }, |
| | | { |
| | | label: "采收重量", |
| | | prop: "farmArea", |
| | | prop: "weight", |
| | | tip: '公斤', |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | controls:false, |
| | | type:'number', |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入采收重量", |
| | | message: "请输入采收重量 公斤", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "采收产品", |
| | | prop: "farmArea", |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入采收产品", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | // { |
| | | // label: "采收产品", |
| | | // prop: "farmArea", |
| | | // span: 12, |
| | | // labelWidth: 145, |
| | | // width: 110, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请输入采收产品", |
| | | // trigger: "click", |
| | | // }, |
| | | // ], |
| | | // }, |
| | | { |
| | | label: "操作人", |
| | | prop: "operator", |
| | |
| | | }, |
| | | { |
| | | label: "产品等级", |
| | | prop: "leave", |
| | | prop: "leaves", |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | |
| | | }, |
| | | { |
| | | label: "备注", |
| | | prop: "farmArea", |
| | | prop: "remark", |
| | | span: 24, |
| | | type:"textarea", |
| | | labelWidth: 145, |
| | |
| | | }), |
| | | }, |
| | | methods: { |
| | | //计算当前时间 |
| | | getNowTime(){ |
| | | var date = new Date(); |
| | | //年 getFullYear():四位数字返回年份 |
| | | var year = date.getFullYear(); //getFullYear()代替getYear() |
| | | //月 getMonth():0 ~ 11 |
| | | var month = date.getMonth() + 1; |
| | | //日 getDate():(1 ~ 31) |
| | | var day = date.getDate(); |
| | | //时 getHours():(0 ~ 23) |
| | | var hour = date.getHours(); |
| | | //分 getMinutes(): (0 ~ 59) |
| | | var minute = date.getMinutes(); |
| | | //秒 getSeconds():(0 ~ 59) |
| | | var second = date.getSeconds(); |
| | | //赋值 |
| | | this.form['time'] = year + '-' |
| | | + this.addZero(month) + '-' |
| | | + this.addZero(day) + ' ' |
| | | + this.addZero(hour) + ':' |
| | | + this.addZero(minute); |
| | | }, |
| | | //小于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:'' |
| | | }; |
| | | this.form['operator'] = this.userInfo.user_id; |
| | | //计算当前时间 |
| | | this.getNowTime(); |
| | | this.visible = true; |
| | | var that = this; |
| | | //获取农地数据 |
| | |
| | | landIdcolumn.dicData = res.data.data; |
| | | } |
| | | }); |
| | | |
| | | //获取操作人 |
| | | const user = { |
| | | tenantId: this.userInfo.tenant_id, |
| | |
| | | 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; |
| | | } |
| | | }) |
| | | }, |
| | | // 表单提交 |
| | | dataFormSubmit() { |
| | | this.dataForm["userId"] = this.userInfo.id; |
| | | this.$refs["dataForm"].validate((valid) => { |
| | | }); |
| | | submit(row,loading,done) { |
| | | var that = this; |
| | | row.time = row.time + ":00"; |
| | | save(row).then( |
| | | () => { |
| | | this.$refs.form.resetFields(); |
| | | that.visible = false; |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, |
| | | (error) => { |
| | | done(); |
| | | window.console.log(error); |
| | | } |
| | | ); |
| | | }, |
| | | }, |
| | | }; |
| New file |
| | |
| | | <template> |
| | | <el-dialog |
| | | :title="title" |
| | | :modal-append-to-body="false" |
| | | :append-to-body="true" |
| | | :close-on-click-modal="false" |
| | | width="60%" |
| | | :visible.sync="visible" |
| | | > |
| | | <avue-form ref="form" v-model="form" :option="option" @submit="submit"> |
| | | </avue-form> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | 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"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | title:"采收/捕捞", |
| | | form: {}, |
| | | option: { |
| | | emptyBtn: false, |
| | | submitText: "保存", |
| | | gutter: 30, |
| | | column: [ |
| | | { |
| | | label: "采收品种", |
| | | prop: "strainId", |
| | | span: 12, |
| | | type: "tree", |
| | | dicData: [], |
| | | props: { |
| | | label: "strainName", |
| | | value: "id" |
| | | }, |
| | | labelWidth: 145, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入采收品种", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | disabled:true, |
| | | }, |
| | | { |
| | | label: "采收地块", |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | prop: "landId", |
| | | type:"tree", |
| | | dicData: [], |
| | | props: { |
| | | label: "landName", |
| | | value: "id" |
| | | }, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择采收地块", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "采收重量", |
| | | prop: "weight", |
| | | tip: '公斤', |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | controls:false, |
| | | type:'number', |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入采收重量 公斤", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "作业方式", |
| | | prop: "jobWay", |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | type: "select", |
| | | value:"0", |
| | | dicData:[ |
| | | { |
| | | label:"人工", |
| | | value:"0" |
| | | }, |
| | | { |
| | | label:"机械", |
| | | value:"1" |
| | | }, |
| | | ], |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择作业方式", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "采收时间", |
| | | prop: "time", |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | type: "datetime", |
| | | format: "yyyy-MM-dd HH:mm", |
| | | valueFormat: "yyyy-MM-dd HH:mm", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择采收时间", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | // { |
| | | // label: "采收产品", |
| | | // prop: "farmArea", |
| | | // span: 12, |
| | | // labelWidth: 145, |
| | | // width: 110, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请输入采收产品", |
| | | // trigger: "click", |
| | | // }, |
| | | // ], |
| | | // }, |
| | | { |
| | | label: "操作人", |
| | | prop: "operator", |
| | | type: "tree", |
| | | dicData: [], |
| | | props: { |
| | | label: "realName", |
| | | value: "id", |
| | | }, |
| | | span: 12, |
| | | labelWidth: 145, |
| | | width: 110, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入操作人", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | 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: "remark", |
| | | span: 24, |
| | | type:"textarea", |
| | | labelWidth: 145, |
| | | width: 110, |
| | | rules: [ |
| | | { |
| | | required: false, |
| | | message: "请输入备注", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | visible: false, |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapState({ |
| | | userInfo: (state) => state.user.userInfo, |
| | | }), |
| | | }, |
| | | methods: { |
| | | //计算当前时间 |
| | | getNowTime(){ |
| | | var date = new Date(); |
| | | //年 getFullYear():四位数字返回年份 |
| | | var year = date.getFullYear(); //getFullYear()代替getYear() |
| | | //月 getMonth():0 ~ 11 |
| | | var month = date.getMonth() + 1; |
| | | //日 getDate():(1 ~ 31) |
| | | var day = date.getDate(); |
| | | //时 getHours():(0 ~ 23) |
| | | var hour = date.getHours(); |
| | | //分 getMinutes(): (0 ~ 59) |
| | | var minute = date.getMinutes(); |
| | | //秒 getSeconds():(0 ~ 59) |
| | | var second = date.getSeconds(); |
| | | //赋值 |
| | | this.form['time'] = year + '-' |
| | | + this.addZero(month) + '-' |
| | | + this.addZero(day) + ' ' |
| | | + this.addZero(hour) + ':' |
| | | + this.addZero(minute); |
| | | }, |
| | | //小于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:'' |
| | | }; |
| | | this.form['operator'] = this.userInfo.user_id; |
| | | //计算当前时间 |
| | | this.getNowTime(); |
| | | this.visible = true; |
| | | var that = this; |
| | | //获取农地数据 |
| | | getLandList(this.userInfo.user_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; |
| | | } |
| | | }); |
| | | |
| | | //获取操作人 |
| | | const user = { |
| | | tenantId: this.userInfo.tenant_id, |
| | | }; |
| | | getUserList(user).then((res) => { |
| | | if (res.data.code == 200) { |
| | | var operatorcolumn = that.findObject(that.option.column, "operator"); |
| | | 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; |
| | | } |
| | | }) |
| | | }, |
| | | // 表单提交 |
| | | submit(row,loading,done) { |
| | | var that = this; |
| | | row.time = row.time + ":00"; |
| | | save(row).then( |
| | | () => { |
| | | this.$refs.form.resetFields(); |
| | | that.visible = false; |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, |
| | | (error) => { |
| | | done(); |
| | | window.console.log(error); |
| | | } |
| | | ); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |