智慧农业后台管理页面
guoshilong
2022-07-21 ec06e967687ca61b7535383d69a819e4b81762ea
新增销售、损耗、出库记录表页面展示
4 files modified
3 files added
45081 ■■■■■ changed files
package-lock.json 44570 ●●●●● patch | view | raw | blame | history
package.json 122 ●●●● patch | view | raw | blame | history
src/api/retrieval/retrieval.js 12 ●●●●● patch | view | raw | blame | history
src/api/sale/sale.js 24 ●●●●● patch | view | raw | blame | history
src/views/farmplant/inventorylist.vue 117 ●●●●● patch | view | raw | blame | history
src/views/farmplant/retrievallist.vue 116 ●●●●● patch | view | raw | blame | history
src/views/farmplant/salelist.vue 120 ●●●●● patch | view | raw | blame | history
package-lock.json
Diff too large
package.json
@@ -1,59 +1,67 @@
{
    "name": "saber-admin",
    "version": "2.9.1",
    "private": true,
    "scripts": {
        "serve": "vue-cli-service serve",
        "build": "vue-cli-service build",
        "lint": "vue-cli-service lint",
        "analyz": "npm_config_report=true npm run build",
        "test:unit": "vue-cli-service test:unit",
        "test:e2e": "vue-cli-service test:e2e"
    },
    "dependencies": {
        "avue-plugin-ueditor": "^0.1.4",
        "axios": "^0.18.0",
        "babel-polyfill": "^6.26.0",
        "classlist-polyfill": "^1.2.0",
        "crypto-js": "^4.0.0",
        "echarts": "^5.0.2",
        "element-china-area-data": "^5.0.2",
        "element-ui": "^2.15.6",
        "jquery": "^3.6.0",
        "js-base64": "^2.5.1",
        "js-cookie": "^2.2.0",
        "js-md5": "^0.7.3",
        "mockjs": "^1.0.1-beta3",
        "node-gyp": "^5.0.6",
        "nprogress": "^0.2.0",
        "ol": "^6.5.0",
        "olcs": "^2.12.0",
        "portfinder": "^1.0.23",
        "script-loader": "^0.7.2",
        "vue": "^2.6.10",
        "vue-axios": "^2.1.2",
        "vue-i18n": "^8.7.0",
        "vue-router": "^3.0.1",
        "vuex": "^3.1.1"
    },
    "devDependencies": {
        "@vue/cli-plugin-babel": "^3.1.1",
        "@vue/cli-plugin-eslint": "^3.1.5",
        "@vue/cli-service": "^3.1.4",
        "chai": "^4.1.2",
        "node-sass": "^6.0.1",
        "sass-loader": "^10.0.5",
        "vue-template-compiler": "^2.5.17",
        "webpack-bundle-analyzer": "^3.0.3"
    },
    "lint-staged": {
        "*.js": [
            "vue-cli-service lint",
            "git add"
        ],
        "*.vue": [
            "vue-cli-service lint",
            "git add"
        ]
    }
  "name": "saber-admin",
  "version": "2.9.1",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "analyz": "npm_config_report=true npm run build",
    "test:unit": "vue-cli-service test:unit",
    "test:e2e": "vue-cli-service test:e2e"
  },
  "dependencies": {
    "avue-plugin-ueditor": "^0.1.4",
    "axios": "^0.18.0",
    "babel-polyfill": "^6.26.0",
    "classlist-polyfill": "^1.2.0",
    "crypto-js": "^4.0.0",
    "echarts": "^5.0.2",
    "element-china-area-data": "^5.0.2",
    "element-ui": "^2.15.6",
    "jquery": "^3.6.0",
    "js-base64": "^2.5.1",
    "js-cookie": "^2.2.0",
    "js-md5": "^0.7.3",
    "mockjs": "^1.0.1-beta3",
    "node-gyp": "^5.0.6",
    "nprogress": "^0.2.0",
    "ol": "^6.5.0",
    "olcs": "^2.12.0",
    "portfinder": "^1.0.23",
    "script-loader": "^0.7.2",
    "vue": "^2.6.10",
    "vue-axios": "^2.1.2",
    "vue-i18n": "^8.7.0",
    "vue-router": "^3.0.1",
    "vuex": "^3.1.1"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "^3.1.1",
    "@vue/cli-plugin-eslint": "^3.1.5",
    "@vue/cli-service": "^3.1.4",
    "chai": "^4.1.2",
    "node-sass": "^6.0.1",
    "sass-loader": "^10.0.5",
    "vue-template-compiler": "^2.5.17",
    "webpack-bundle-analyzer": "^3.0.3"
  },
  "lint-staged": {
    "*.js": [
      "vue-cli-service lint",
      "git add"
    ],
    "*.vue": [
      "vue-cli-service lint",
      "git add"
    ]
  },
  "description": "* BladeX是一个商业化软件,系列产品知识产权归**上海布雷德科技有限公司**独立所有\r * 您一旦开始复制、下载、安装或者使用本产品,即被视为完全理解并接受本协议的各项条款\r * 更多详情请看:[BladeX商业授权许可协议](/LICENSE)",
  "main": ".eslintrc.js",
  "repository": {
    "type": "git",
    "url": "http://guoshilong@s16s652780.51mypc.cn:49896/r/zhny_web.git"
  },
  "author": "",
  "license": "ISC"
}
src/api/retrieval/retrieval.js
@@ -12,6 +12,18 @@
  })
}
export const getPage = (current, size, params) => {
  return request({
    url: '/api/retrieval/retrieval/page',
    method: 'get',
    params: {
      ...params,
      current,
      size,
    }
  })
}
export const getDetail = (id) => {
  return request({
    url: '/api/retrieval/retrieval/detail',
src/api/sale/sale.js
@@ -12,6 +12,18 @@
  })
}
export const getPage = (current, size, params) => {
  return request({
    url: '/api/sale/sale/page',
    method: 'get',
    params: {
      ...params,
      current,
      size,
    }
  })
}
export const getDetail = (id) => {
  return request({
    url: '/api/sale/sale/detail',
@@ -40,6 +52,18 @@
  })
}
export const getInventoryPage = (current, size, params) => {
  return request({
    url: '/api/inventory/inventory/page',
    method: 'get',
    params: {
      ...params,
      current,
      size,
    }
  })
}
export const addKC = (row) => {
  return request({
    url: '/api/inventory/inventory/submit',
src/views/farmplant/inventorylist.vue
New file
@@ -0,0 +1,117 @@
<template>
        <avue-crud :option="option"
               :table-loading="loading"
               :data="data"
               ref="crud"
               v-model="form"
               :permission="permissionList"
               :before-open="beforeOpen"
               :page.sync="page"
               @current-change="currentChange"
               @size-change="sizeChange"
               @refresh-change="refreshChange"
               @on-load="onLoad">
    </avue-crud>
</template>
<script>
import {getInventoryPage} from "@/api/sale/sale"
export default {
    data(){
        return {
            visible: true,
            form: {},
            query: {},
            loading: true,
            excelBox: false,
            page: {
                pageSize: 10,
                currentPage: 1,
                total: 0,
            },
            selectionList: [],
            option: {
                tip: false,
                searchShow: true,
                searchMenuSpan: 6,
                height: 520,
                editBtn: false,
                addBtn: false,
                delBtn: true,
                viewBtn: true,
                menuWidth: 200,
                menuAlign: "center",
                align: "center",
                selection: false,
                showSummary: true,
                indexFixed: false,
                selectionFixed: false,
                expandFixed: false,
                menuFixed: false,
                menu: false,
                column:[
                    {
                        label: "品种名",
                        prop :"strainName",
                    },
                    {
                        label: "损耗数量",
                        prop :"saleNum",
                    },
                    {
                        label: "损耗原因",
                        prop :"reason",
                    },
                    {
                        label: "备注",
                        prop :"remarks",
                    },
                                        {
                        label:"损耗时间",
                        prop:"lossTime",
                    },
                ],
            },
            data:[],
        };
    },
    mounted(){
        this.initData();
    },
    methods: {
        initData(){
            getInventoryPage(this.page.currentPage,this.page.pageSize).then((res)=>{
                if(res.data.code == 200){
                    console.log(res)
                    this.data = res.data.data.records
                    this.page.total = res.data.data.total
                }
            })
        },
        currentChange(currentPage) {
            this.page.currentPage = currentPage;
        },
        sizeChange(pageSize) {
            this.page.pageSize = pageSize;
        },
        refreshChange() {
            this.onLoad(this.page, this.query);
        },
        onLoad(page, params = {}) {
            this.loading = true;
            getInventoryPage(page.currentPage,page.pageSize,Object.assign(params, this.query)).then((res)=>{
                if(res.data.code == 200){
                    this.data = res.data.data.records
                    this.page.total = res.data.data.total
                    this.loading = false;
                }
            })
      }
    }
}
</script>
<style>
</style>
src/views/farmplant/retrievallist.vue
New file
@@ -0,0 +1,116 @@
<template>
<avue-crud :option="option"
               :table-loading="loading"
               :data="data"
               ref="crud"
               v-model="form"
               :permission="permissionList"
               :before-open="beforeOpen"
               :page.sync="page"
               @current-change="currentChange"
               @size-change="sizeChange"
               @refresh-change="refreshChange"
               @on-load="onLoad">
    </avue-crud>
</template>
<script>
import {getPage} from "@/api/retrieval/retrieval"
export default {
    data(){
        return {
             visible: true,
            form: {},
            query: {},
            loading: true,
            excelBox: false,
            page: {
                pageSize: 10,
                currentPage: 1,
                total: 0,
            },
            selectionList: [],
            option: {
                tip: false,
                searchShow: true,
                searchMenuSpan: 6,
                height: 520,
                editBtn: false,
                addBtn: false,
                delBtn: true,
                viewBtn: true,
                menuWidth: 200,
                menuAlign: "center",
                align: "center",
                selection: false,
                showSummary: true,
                indexFixed: false,
                selectionFixed: false,
                expandFixed: false,
                menuFixed: false,
                menu: false,
                column:[
                    {
                        label: "品种",
                        prop :"strainName",
                    },
                    {
                        label: "出库数量",
                        prop :"saleNum",
                    },
                    {
                        label: "出库去向",
                        prop :"district",
                    },
                    {
                        label: "备注",
                        prop :"remarks",
                    },
                    {
                        label:"出库时间",
                        prop:"createTime",
                    },
                ],
            },
            data:[],
        };
    },
    mounted(){
        this.initData();
    },
    methods: {
        initData(){
            getPage(this.page.currentPage,this.page.pageSize).then((res)=>{
                if(res.data.code == 200){
                    this.data = res.data.data.records
                    this.page.total = res.data.data.total
                }
            })
        },
                currentChange(currentPage) {
            this.page.currentPage = currentPage;
        },
        sizeChange(pageSize) {
            this.page.pageSize = pageSize;
        },
        refreshChange() {
            this.onLoad(this.page, this.query);
        },
        onLoad(page, params = {}) {
            this.loading = true;
            getPage(page.currentPage,page.pageSize,Object.assign(params, this.query)).then((res)=>{
                if(res.data.code == 200){
                    this.data = res.data.data.records
                    this.page.total = res.data.data.total
                    this.loading = false;
                }
            })
      }
    }
}
</script>
<style>
</style>
src/views/farmplant/salelist.vue
New file
@@ -0,0 +1,120 @@
<template>
        <avue-crud :option="option"
               :table-loading="loading"
               :data="data"
               ref="crud"
               v-model="form"
               :permission="permissionList"
               :before-open="beforeOpen"
               :page.sync="page"
               @current-change="currentChange"
               @size-change="sizeChange"
               @refresh-change="refreshChange"
               @on-load="onLoad">
    </avue-crud>
</template>
<script>
import {getPage} from "@/api/sale/sale"
export default {
    data(){
        return {
            visible: true,
            form: {},
            query: {},
            loading: true,
            excelBox: false,
            page: {
                pageSize: 10,
                currentPage: 1,
                total: 0,
            },
            selectionList: [],
            option: {
                tip: false,
                searchShow: true,
                searchMenuSpan: 6,
                height: 520,
                editBtn: false,
                addBtn: false,
                delBtn: true,
                viewBtn: true,
                menuWidth: 200,
                menuAlign: "center",
                align: "center",
                selection: false,
                showSummary: true,
                indexFixed: false,
                selectionFixed: false,
                expandFixed: false,
                menuFixed: false,
                menu: false,
                column:[
                    {
                        label: "品种",
                        prop :"strainName",
                    },
                    {
                        label: "销售数量",
                        prop :"saleNum",
                    },
                    {
                        label: "销售地",
                        prop :"district",
                    },
                    {
                        label: "销售价格",
                        prop :"salePrice",
                    },
                    {
                        label: "品牌",
                        prop :"saleBrand",
                    },
                    {
                        label:"销售时间",
                        prop:"saleTime",
                    },
                ],
            },
            data:[],
        };
    },
    mounted(){
        this.initData();
    },
    methods: {
        initData(){
            getPage(this.page.currentPage,this.page.pageSize).then((res)=>{
                if(res.data.code == 200){
                    this.data = res.data.data.records
                    this.page.total = res.data.data.total
                }
            })
        },
        currentChange(currentPage) {
            this.page.currentPage = currentPage;
        },
        sizeChange(pageSize) {
            this.page.pageSize = pageSize;
        },
        refreshChange() {
            this.onLoad(this.page, this.query);
        },
        onLoad(page, params = {}) {
            this.loading = true;
            getPage(page.currentPage,page.pageSize,Object.assign(params, this.query)).then((res)=>{
                if(res.data.code == 200){
                    this.data = res.data.data.records
                    this.page.total = res.data.data.total
                    this.loading = false;
                }
            })
      }
    }
}
</script>
<style>
</style>