智慧农业后台管理页面
guoshilong
2022-11-08 082613d446e29e4ec1c16bfaa52345106a498b23
src/views/farmplant/process.vue
@@ -28,11 +28,7 @@
                    <div class="cai">{{ item.processName }}</div>
                    <div class="area">
                        库存量:
                        <span>{{ item.productInventoryNum>10000?(item.productInventoryNum/10000).toFixed(2)+"万":item.productInventoryNum }}</span>公斤
                    </div>
                    <div class="area">
                        原材料:
                        <span>{{ item.strainName }}</span>
                        <span>{{ item.productInventoryNum }}</span>公斤
                    </div>
                        <div class="btn">
                            <el-button style="width: 65px;" plain size="small" @click="openWindow(0,item)">
@@ -43,12 +39,12 @@
                            </el-button>
                        </div>
                        <div class="btn">
                            <!-- <el-button style="width: 65px;" plain size="small" @click="openWindow(3,item)">
                                <span style="color: #5abf78">出库</span>
                            </el-button>
                            <el-button style="width: 65px;" plain size="small" @click="openWindow(2,item)">
                                加工
                            </el-button> -->
                        <el-button style="width: 65px;" plain size="small" @click="openWindow(3,item)">
                            <span style="color: #5abf78">出库</span>
                        </el-button>
                        <el-button style="width: 65px;" plain size="small" @click="openWindow(2,item)">
                            加工
                        </el-button>
                        </div>
                </div>
            </div>
@@ -113,7 +109,8 @@
                </template>
                <template slot="menuForm">
                    <div style="text-align: center">
                        <el-button style="width: 120px" type="success" plain @click="submitSole">销售</el-button>
                        <el-button style="width: 80px" plain @click="cleanData">取消</el-button>
                        <el-button style="width: 80px" type="success" plain @click="submitSole">销售</el-button>
                    </div>
                </template>
            </avue-form>
@@ -154,7 +151,7 @@
        </el-dialog>
        <!-- 加工产品 -->
        <el-dialog
            title="加工产品"
            title="加工产品加工"
            :modal-append-to-body="false"
            :append-to-body="true"
            :close-on-click-modal="false"
@@ -195,7 +192,7 @@
        </el-dialog>
        <!--出库-->
        <el-dialog
            title="出库产品"
            title="加工产品出库"
            :modal-append-to-body="false"
            :append-to-body="true"
            :close-on-click-modal="false"
@@ -211,7 +208,7 @@
                        <el-tag type="success">{{ formCK.name }}</el-tag>
                    </div>
                </template>
                <template slot-scope="{disabled,size}" slot="saleDestination">
                <!-- <template slot-scope="{disabled,size}" slot="saleDestination">
                    <div>
                        <el-cascader
                            style="width: 100%;"
@@ -222,7 +219,7 @@
                            v-model="saleDestination"
                        ></el-cascader>
                    </div>
                </template>
                </template> -->
                <template slot-scope="{disabled,size}" slot="saleNum">
                    <div style="margin-bottom: -20px">
                        <el-input type="number" placeholder="请输入出库数量" v-model="formCK.saleNum">
@@ -241,7 +238,7 @@
                <template slot="menuForm">
                    <div style="text-align: center">
                        <el-button style="width: 80px" plain @click="cleanCKData">取消</el-button>
                        <el-button style="width: 120px" type="success" plain @click="submitCK">出库</el-button>
                        <el-button style="width: 80px" type="success" plain @click="submitCK">出库</el-button>
                    </div>
                </template>
            </avue-form>
@@ -261,10 +258,19 @@
} from "@/api/sale/sale"
import {
    addjg
    submitProcessJG
} from "@/api/process/process"
import {
    submitProcess
} from "@/api/retrieval/retrieval"
import {
    selectInfo
} from "@/api/machining/machining"
import { mapGetters } from "vuex"
import { regionData } from 'element-china-area-data'
import fixed from "@/util/mathHandler"
import {limitNumLength} from "@/util/validate";
export default {
    data () {
@@ -278,8 +284,8 @@
            form: {
                name: "",
                proid: "",
                landId: "",
                strainId: "",
                // landId: "",
                // strainId: "",
                saleTime: "",
                saleNum: "",
                saleDestination: "",
@@ -288,7 +294,7 @@
                salePrice: "",
                createUser: "",
                saleBrand: "",
                processName:"",
                weight:"",
                type:"1",
@@ -297,8 +303,8 @@
            formCK: {
                name: "",
                proid: "",
                landId: "",
                strainId: "",
                // landId: "",
                // strainId: "",
                saleTime: "",
                saleNum: "",
                saleDestination: "",
@@ -307,14 +313,15 @@
                createUser: "",
                remarks: "",
                type:"1",
                processName:""
            },
            //损耗字段
            formKC: {
                name: "",
                proid: "",
                landId: "",
                strainId: "",
                // landId: "",
                // strainId: "",
                saleNum: "",
                remarks: "",
                lossTime: "",
@@ -326,15 +333,16 @@
            formJG: {
                name: "",
                proid: "",
                landId: "",
                strainId: "",
                // landId: "",
                // strainId: "",
                saleNum: "",
                processNum: "",
                remarks: "",
                reason: "0",
                saleTime: "",
                processName:""
                processName:"",
                parentId:"",
            },
            visible: false,
            visibleKC: false,
@@ -361,7 +369,7 @@
                            {
                                required: true,
                                message: "请输入产品",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
@@ -376,7 +384,7 @@
                            {
                                required: true,
                                message: "请选择销售时间",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
@@ -389,7 +397,7 @@
                            {
                                required: true,
                                message: "请输入销售数量",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
@@ -401,7 +409,7 @@
                            {
                                required: true,
                                message: "请选择销售去向",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
@@ -410,24 +418,32 @@
                        prop: "salePrice",
                        span: 24,
                        type: "number",
                        rules: [
                            {
                              required: true,
                              trigger: ["blur","change"],
                              validator:limitNumLength
                            },
                        ],
                    },
                    {
                        label: "品牌",
                        prop: "saleBrand",
                        span: 24,
                        maxlength:100,
                    },
                    {
                        label: "操作人",
                        prop: "name",
                        span: 24,
                        rules: [
                            {
                                required: true,
                                message: "请输入操作人",
                                trigger: "blur",
                            },
                        ],
                    },
                    // {
                    //     label: "操作人",
                    //     prop: "realName",
                    //     span: 24,
                    //     rules: [
                    //         {
                    //             required: true,
                    //             message: "请输入操作人",
                    //             trigger: ["blur","change"],
                    //         },
                    //     ],
                    // },
                ]
            },
            //库存损耗配置
@@ -445,7 +461,7 @@
                            {
                                required: true,
                                message: "请输入损耗品种",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
@@ -460,7 +476,7 @@
                            {
                                required: true,
                                message: "请选择损耗时间",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
@@ -473,7 +489,7 @@
                            {
                                required: true,
                                message: "请输入损耗数量",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
@@ -492,27 +508,28 @@
                            {
                                required: true,
                                message: "请选择损耗原因",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
                    {
                        label: "备注",
                        prop: "remarks",
                        maxlength:200,
                        span: 24,
                    },
                    {
                        label: "操作人",
                        prop: "name",
                        span: 24,
                        rules: [
                            {
                                required: true,
                                message: "请输入操作人",
                                trigger: "blur",
                            },
                        ],
                    },
                    // {
                    //     label: "操作人",
                    //     prop: "realName",
                    //     span: 24,
                    //     rules: [
                    //         {
                    //             required: true,
                    //             message: "请输入操作人",
                    //             trigger: ["blur","change"],
                    //         },
                    //     ],
                    // },
                ]
            },
            //加工配置
@@ -530,7 +547,7 @@
                            {
                                required: true,
                                message: "请输入加工品种",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
@@ -545,7 +562,7 @@
                            {
                                required: true,
                                message: "请选择加工时间",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
@@ -558,7 +575,7 @@
                            {
                                required: true,
                                message: "请输入加工数量",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
@@ -567,7 +584,14 @@
                        prop: "processId",
                        span: 24,
                        type: "tree",
                        dicUrl: "/api/machining/machining/selectInfo",
                        dicData:[],
                        // dicUrl: "/api/machining/machining/selectInfo",
                        // dicFormatter:(res)=>{
                        //     res = res.data.filter(e=>{
                        //         return e.processId != this.formJG.parentId
                        //     })
                        //     return res
                        // },
                        props: {
                            label: "processName",
                            value: "processId"
@@ -576,7 +600,7 @@
                            {
                                required: true,
                                message: "请输入加工产品",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
@@ -589,27 +613,28 @@
                            {
                                required: true,
                                message: "请输入产品数量",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
                    {
                        label: "备注",
                        prop: "remarks",
                        maxlength:200,
                        span: 24,
                    },
                    {
                        label: "操作人",
                        prop: "name",
                        span: 24,
                        rules: [
                            {
                                required: true,
                                message: "请输入操作人",
                                trigger: "blur",
                            },
                        ],
                    },
                    // {
                    //     label: "操作人",
                    //     prop: "realName",
                    //     span: 24,
                    //     rules: [
                    //         {
                    //             required: true,
                    //             message: "请输入操作人",
                    //             trigger: ["blur","change"],
                    //         },
                    //     ],
                    // },
                ]
            },
            //出库配置
@@ -619,15 +644,15 @@
                gutter: 30,
                column: [
                    {
                        label: "出库品种",
                        prop: "strainName",
                        label: "出库产品",
                        prop: "processName",
                        span: 24,
                        disabled: true,
                        rules: [
                            {
                                required: true,
                                message: "请输入出库品种",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
@@ -642,7 +667,7 @@
                            {
                                required: true,
                                message: "请选择出库时间",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
@@ -655,39 +680,59 @@
                            {
                                required: true,
                                message: "请输入出库数量",
                                trigger: "blur",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
                    // {
                    //     label: "出库去向",
                    //     prop: "saleDestination",
                    //     span: 24,
                    //     rules: [
                    //         {
                    //             required: true,
                    //             message: "请选择出库去向",
                    //             trigger: ["blur","change"],
                    //         },
                    //     ],
                    // },
                    {
                        label: "出库去向",
                        prop: "saleDestination",
                        prop: "saleDestination1",
                        span: 24,
                        type: "select",
                        // value: "0",
                        dicUrl:"/api/blade-system/dict-biz/dictionary?code=reDestination",
                        props: {
                            label: "dictValue",
                            value: "dictKey"
                        },
                        rules: [
                            {
                                required: true,
                                message: "请选择出库去向",
                                trigger: "blur",
                                message: "请选择损耗原因",
                                trigger: ["blur","change"],
                            },
                        ],
                    },
                    {
                        label: "备注",
                        prop: "remarks",
                        maxlength:200,
                        span: 24,
                    },
                    {
                        label: "操作人",
                        prop: "name",
                        span: 24,
                        rules: [
                            {
                                required: true,
                                message: "请输入操作人",
                                trigger: "blur",
                            },
                        ],
                    },
                    // {
                    //     label: "操作人",
                    //     prop: "realName",
                    //     span: 24,
                    //     rules: [
                    //         {
                    //             required: true,
                    //             message: "请输入操作人",
                    //             trigger: ["blur","change"],
                    //         },
                    //     ],
                    // },
                ]
            },
            selectionList: [],
@@ -718,8 +763,20 @@
                this.query ={}
                this.onLoad(this.page)
            }
        },
        'formJG.parentId':{
            handler(newName,oldName){
                const column = this.findObject(this.optionJG.column, "processId")
                selectInfo().then(res=>{
                    var data = res.data.data.filter(e=>{
                        return e.processId != newName
                    })
                    column.dicData = data
                })
            }
        }
    },
    },
    mounted () {
    },
    created () {
@@ -741,7 +798,7 @@
                            type: "warning",
                            message: "销售数量和销售价格不能为负数!"
                        })
                        done()
                        done()
                    }else{
                        insert(this.form).then(() => {
                            this.onLoad(this.page)
@@ -767,21 +824,30 @@
            var that = this
            this.$refs.form.validate((vaild, done) => {
                if (vaild) {
                    addjg(this.formJG).then(() => {
                        this.onLoad(this.page)
                        this.$message({
                            type: "success",
                            message: "操作成功!"
                        })
                        //提交完成,关闭窗口清空数据
                        that.cleanJGData()
                        done()
                    }, error => {
                        window.console.log(error)
                        //提交失败,关闭窗口清空数据
                        that.cleanJGData()
                        done()
                    this.formJG['farmId'] = this.$farmId
                  if(this.formJG.saleNum <0 || this.formJG.processNum<0){
                    this.$message({
                      type: "warning",
                      message: "加工数量和产品数量不能为负数!"
                    })
                    done()
                  }else {
                    submitProcessJG(this.formJG).then(() => {
                      this.onLoad(this.page)
                      this.$message({
                        type: "success",
                        message: "操作成功!"
                      })
                      //提交完成,关闭窗口清空数据
                      that.cleanJGData()
                      done()
                    }, error => {
                      window.console.log(error)
                      //提交失败,关闭窗口清空数据
                      that.cleanJGData()
                      done()
                    })
                  }
                }
            })
        },
@@ -816,29 +882,29 @@
                }
            })
        },
        //出库表单提交
        // submitCK () {
        //     var that = this
        //     this.$refs.form.validate((vaild, done) => {
        //         if (vaild) {
        //             addck(this.formCK).then(() => {
        //                 this.onLoad(this.page)
        //                 this.$message({
        //                     type: "success",
        //                     message: "操作成功!"
        //                 })
        //                 //提交完成,关闭窗口清空数据
        //                 that.cleanCKData()
        //                 done()
        //             }, error => {
        //                 window.console.log(error)
        //                 //提交失败,关闭窗口清空数据
        //                 that.cleanCKData()
        //                 done()
        //             })
        //         }
        //     })
        // },
        // 出库表单提交
        submitCK () {
            var that = this
            this.$refs.form.validate((vaild, done) => {
                if (vaild) {
                    submitProcess(this.formCK).then(() => {
                        this.onLoad(this.page)
                        this.$message({
                            type: "success",
                            message: "操作成功!"
                        })
                        //提交完成,关闭窗口清空数据
                        that.cleanCKData()
                        done()
                    }, error => {
                        window.console.log(error)
                        //提交失败,关闭窗口清空数据
                        that.cleanCKData()
                        done()
                    })
                }
            })
        },
        handleChange (value) {
            if (value != null) {
                this.form.saleDestination = value[0]
@@ -863,19 +929,19 @@
                this.form.createUser = this.userInfo.user_id
                this.form.weight = data.productInventoryNum
                this.form.proid = data.id
                this.form.landId = data.landId
                this.form.strainId = data.strainId
                // this.form.landId = data.landId
                // this.form.strainId = data.strainId
                this.form.strainName = data.strainName
                this.form.processName = data.processName
                this.visible = true
            } else if (index == 1) {    //库存损耗
            } else if (index == 1) {    //库存损耗
                this.formKC.name = this.userInfo.nick_name
                this.formKC.createUser = this.userInfo.user_id
                this.formKC.weight = data.productInventoryNum
                this.formKC.proid = data.id
                this.formKC.landId = data.landId
                this.formKC.strainId = data.strainId
                // this.formKC.landId = data.landId
                // this.formKC.strainId = data.strainId
                this.formKC.strainName = data.strainName
                this.formKC.processName = data.processName
@@ -885,23 +951,24 @@
                this.formJG.name = this.userInfo.nick_name
                this.formJG.createUser = this.userInfo.user_id
                this.formJG.proid = data.id
                this.formJG.landId = data.landId
                // this.formJG.landId = data.landId
                this.formJG.weight = data.productInventoryNum
                this.formJG.strainId = data.strainId
                // this.formJG.strainId = data.strainId
                this.formJG.strainName = data.strainName
                this.formKC.processName = data.processName
                this.formJG.processName = data.processName
                this.formJG.parentId = data.productId
                this.visibleJG = true
            }else if (index == 3) { //出库
                this.formCK.name = this.userInfo.nick_name
                this.formCK.createUser = this.userInfo.user_id
                this.formCK.weight = data.productInventoryNum
                this.formCK.proid = data.id
                this.formCK.landId = data.landId
                this.formCK.strainId = data.strainId
                // this.formCK.landId = data.landId
                // this.formCK.strainId = data.strainId
                this.formCK.strainName = data.strainName
                this.formKC.processName = data.processName
                this.formCK.processName = data.processName
                this.visibleCK = true
            }
        },
@@ -954,8 +1021,11 @@
                this.data = data.records.filter((e)=>{
                    return e.productInventoryNum != 0
                })
                this.data.forEach((e)=>{
                    e.productInventoryNum = fixed.fixedNum(e.productInventoryNum)
                })
                this.loading = false
                this.selectionClear()
                // this.selectionClear()
            })
        },
    },
@@ -985,7 +1055,7 @@
            .farm {
                width: 168px;
                height: 300px;
                height: 310px;
                /*height: 315px;*/
                background-color: #f7f9fb;
                border-radius: 5px;