Selaa lähdekoodia

提交达沃特、统计

caojunjie 2 vuotta sitten
vanhempi
commit
eae7487782

+ 12 - 1
src/api/statisticAnalysis/AmtAmount.js

@@ -10,4 +10,15 @@ export const getList = (current, size, params) => {
       size
     }
   })
-}
+}
+export const detailedStatistics = (current, size, params,url) => {
+  return request({
+    url: `/api/blade-purchase-sales/exportOrder/${url}`,
+    method: 'get',
+    params: {
+      ...params,
+      current,
+      size
+    }
+  })
+}

+ 657 - 0
src/components/statisticsDetailed/index.vue

@@ -0,0 +1,657 @@
+<template>
+  <div>
+    <basic-container class="page-crad">
+      <avue-crud ref="crud" :option="option" :data="dataList" :page.sync="page" :search.sync="search"
+                 :cell-style="cellStyle" @search-change="searchChange" @current-change="currentChange"
+                 @size-change="sizeChange"
+                 @refresh-change="refreshChange" @on-load="onLoad" :table-loading="loading" @saveColumn="saveColumn"
+                 @resetColumn="resetColumn" @search-criteria-switch="searchCriteriaSwitch">
+        <template slot="menuLeft">
+          <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
+                     @click="backToList">返回列表
+          </el-button>
+        </template>
+      </avue-crud>
+    </basic-container>
+  </div>
+</template>
+
+<script>
+import {detailedStatistics} from "@/api/statisticAnalysis/AmtAmount"
+export default {
+  name: "index",
+  props: {
+    codeValue: Number,
+    search: Object,
+    url:String
+  },
+  data() {
+    return {
+      UConfiguration: {
+        multipleChoices: false,
+        multiple: false,
+        disabled: false,
+        searchShow: true,
+        collapseTags: false,
+        placeholder: '请点击右边按钮选择',
+        dicData: []
+      },
+      form: {},
+      dataList: [],
+      loading: false,
+      detailData: {},
+      page: {
+        pageSize: 20,
+        currentPage: 1,
+        total: 0,
+        pageSizes: [10, 20, 30, 40, 50, 100, 200, 300, 400, 500]
+      },
+      option: {},
+      optionBack: {},
+      "225.1": {
+        searchBtn:false,
+        searchShow: false,
+        align: "center",
+        searchMenuPosition: "right",
+        searchSpan: 8,
+        searchMenuSpan: 24,
+        searchLabelWidth: 100,
+        border: true,
+        index: true,
+        addBtn: false,
+        viewBtn: false,
+        editBtn: false,
+        delBtn: false,
+        searchIcon: true,
+        menu: false,
+        height: "auto",
+        summaryText: "合计",
+        showSummary: true,
+        sumColumnList: [{
+          name: "quantity",
+          type: "sum",
+          decimals: 0
+        }, {
+          name: "amount",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "actualQuantity",
+          type: "sum",
+          decimals: 0
+        }, {
+          name: "arrivalAmount",
+          type: "sum",
+          decimals: 2
+        }],
+        column: [{
+          label: '日期',
+          prop: 'createTime',
+          overHidden: true
+        }, {
+          label: '销售单号',
+          prop: 'orderNo',
+          overHidden: true
+        }, {
+          label: '数量',
+          prop: 'quantity',
+          overHidden: true
+        }, {
+          label: '金额',
+          prop: 'amount',
+          overHidden: true
+        }, {
+          label: '到货数量',
+          prop: 'actualQuantity',
+          overHidden: true
+        }, {
+          label: '到货金额',
+          prop: 'arrivalAmount',
+          overHidden: true
+        }]
+      },
+      "226.1": {
+        searchBtn:false,
+        searchShow: false,
+        align: "center",
+        searchMenuPosition: "right",
+        searchSpan: 8,
+        searchMenuSpan: 24,
+        searchLabelWidth: 100,
+        border: true,
+        index: true,
+        addBtn: false,
+        viewBtn: false,
+        editBtn: false,
+        delBtn: false,
+        searchIcon: true,
+        menu: false,
+        height: "auto",
+        summaryText: "合计",
+        showSummary: true,
+        sumColumnList: [{
+          name: "quantity",
+          type: "sum",
+          decimals: 0
+        }, {
+          name: "amount",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "actualQuantity",
+          type: "sum",
+          decimals: 0
+        }, {
+          name: "arrivalAmount",
+          type: "sum",
+          decimals: 2
+        }],
+        column: [{
+          label: '日期',
+          prop: 'createTime',
+          overHidden: true
+        }, {
+          label: '销售单号',
+          prop: 'orderNo',
+          overHidden: true
+        }, {
+          label: '数量',
+          prop: 'quantity',
+          overHidden: true
+        }, {
+          label: '金额',
+          prop: 'amount',
+          overHidden: true
+        }, {
+          label: '到货数量',
+          prop: 'actualQuantity',
+          overHidden: true
+        }, {
+          label: '到货金额',
+          prop: 'arrivalAmount',
+          overHidden: true
+        }]
+      },
+      "227.1": {
+        searchBtn:false,
+        searchShow: false,
+        align: "center",
+        searchMenuPosition: "right",
+        searchSpan: 8,
+        searchMenuSpan: 24,
+        searchLabelWidth: 100,
+        border: true,
+        index: true,
+        addBtn: false,
+        viewBtn: false,
+        editBtn: false,
+        delBtn: false,
+        searchIcon: true,
+        menu: false,
+        height: "auto",
+        summaryText: "合计",
+        showSummary: true,
+        sumColumnList: [{
+          name: "quantity",
+          type: "sum",
+          decimals: 0
+        }, {
+          name: "amount",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "actualQuantity",
+          type: "sum",
+          decimals: 0
+        }, {
+          name: "arrivalAmount",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "grossProfit",
+          type: "sum",
+          decimals: 2
+        }],
+        column: [{
+          label: '日期',
+          prop: 'createTime',
+          overHidden: true
+        }, {
+          label: '销售单号',
+          prop: 'orderNo',
+          overHidden: true
+        }, {
+          label: '数量',
+          prop: 'quantity',
+          overHidden: true
+        }, {
+          label: '金额',
+          prop: 'amount',
+          overHidden: true
+        }, {
+          label: '到货数量',
+          prop: 'actualQuantity',
+          overHidden: true
+        }, {
+          label: '到货金额',
+          prop: 'arrivalAmount',
+          overHidden: true
+        }, {
+          label: '毛利额',
+          prop: 'grossProfit',
+          overHidden: true
+        }]
+      },
+      "230.1": {
+        searchBtn:false,
+        searchShow: false,
+        align: "center",
+        searchMenuPosition: "right",
+        searchSpan: 8,
+        searchMenuSpan: 24,
+        searchLabelWidth: 100,
+        border: true,
+        index: true,
+        addBtn: false,
+        viewBtn: false,
+        editBtn: false,
+        delBtn: false,
+        searchIcon: true,
+        menu: false,
+        height: "auto",
+        summaryText: "合计",
+        showSummary: true,
+        sumColumnList: [{
+          name: "quantity",
+          type: "sum",
+          decimals: 0
+        }, {
+          name: "amount",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "actualQuantity",
+          type: "sum",
+          decimals: 0
+        }, {
+          name: "arrivalAmount",
+          type: "sum",
+          decimals: 2
+        }],
+        column: [{
+          label: '日期',
+          prop: 'createTime',
+          overHidden: true
+        }, {
+          label: '销售单号',
+          prop: 'orderNo',
+          overHidden: true
+        }, {
+          label: '数量',
+          prop: 'quantity',
+          overHidden: true
+        }, {
+          label: '金额',
+          prop: 'amount',
+          overHidden: true
+        }, {
+          label: '到货数量',
+          prop: 'actualQuantity',
+          overHidden: true
+        }, {
+          label: '到货金额',
+          prop: 'arrivalAmount',
+          overHidden: true
+        }]
+      },
+      "231.1": {
+        searchBtn:false,
+        searchShow: false,
+        align: "center",
+        searchMenuPosition: "right",
+        searchSpan: 8,
+        searchMenuSpan: 24,
+        searchLabelWidth: 100,
+        border: true,
+        index: true,
+        addBtn: false,
+        viewBtn: false,
+        editBtn: false,
+        delBtn: false,
+        searchIcon: true,
+        menu: false,
+        height: "auto",
+        summaryText: "合计",
+        showSummary: true,
+        sumColumnList: [{
+          name: "quantity",
+          type: "sum",
+          decimals: 0
+        }, {
+          name: "amount",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "actualQuantity",
+          type: "sum",
+          decimals: 0
+        }, {
+          name: "arrivalAmount",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "thisUsedProfit",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "netGrossProfit",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "predictOceanFreight",
+          type: "sum",
+          decimals: 2
+        }],
+        column: [{
+          label: '日期',
+          prop: 'createTime',
+          overHidden: true
+        }, {
+          label: '销售单号',
+          prop: 'orderNo',
+          overHidden: true
+        }, {
+          label: '数量',
+          prop: 'quantity',
+          overHidden: true
+        }, {
+          label: '金额',
+          prop: 'amount',
+          overHidden: true
+        }, {
+          label: '到货数量',
+          prop: 'actualQuantity',
+          overHidden: true
+        }, {
+          label: '到货金额',
+          prop: 'arrivalAmount',
+          overHidden: true
+        }, {
+          label: '返利',
+          prop: 'thisUsedProfit',
+          overHidden: true
+        }, {
+          label: '毛利额',
+          prop: 'netGrossProfit',
+          overHidden: true
+        }, {
+          label: '订单运费',
+          prop: 'predictOceanFreight',
+          overHidden: true
+        }]
+      },
+      "228.1": {
+        searchBtn:false,
+        searchShow: false,
+        align: "center",
+        searchMenuPosition: "right",
+        searchSpan: 8,
+        searchMenuSpan: 24,
+        searchLabelWidth: 100,
+        border: true,
+        index: true,
+        addBtn: false,
+        viewBtn: false,
+        editBtn: false,
+        delBtn: false,
+        searchIcon: true,
+        menu: false,
+        height: "auto",
+        summaryText: "合计",
+        showSummary: true,
+        sumColumnList: [{
+          name: "quantity",
+          type: "sum",
+          decimals: 0
+        }, {
+          name: "amount",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "actualQuantity",
+          type: "sum",
+          decimals: 0
+        }, {
+          name: "arrivalAmount",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "thisUsedProfit",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "netGrossProfit",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "predictOceanFreight",
+          type: "sum",
+          decimals: 2
+        }],
+        column: [{
+          label: '日期',
+          prop: 'createTime',
+          overHidden: true
+        }, {
+          label: '销售单号',
+          prop: 'orderNo',
+          overHidden: true
+        }, {
+          label: '数量',
+          prop: 'quantity',
+          overHidden: true
+        }, {
+          label: '金额',
+          prop: 'amount',
+          overHidden: true
+        }, {
+          label: '到货数量',
+          prop: 'actualQuantity',
+          overHidden: true
+        }, {
+          label: '到货金额',
+          prop: 'arrivalAmount',
+          overHidden: true
+        }, {
+          label: '返利',
+          prop: 'thisUsedProfit',
+          overHidden: true
+        }, {
+          label: '毛利额',
+          prop: 'netGrossProfit',
+          overHidden: true
+        }, {
+          label: '订单运费',
+          prop: 'predictOceanFreight',
+          overHidden: true
+        }]
+      },
+      "229.1": {
+        searchBtn:false,
+        searchShow: false,
+        align: "center",
+        searchMenuPosition: "right",
+        searchSpan: 8,
+        searchMenuSpan: 24,
+        searchLabelWidth: 100,
+        border: true,
+        index: true,
+        addBtn: false,
+        viewBtn: false,
+        editBtn: false,
+        delBtn: false,
+        searchIcon: true,
+        menu: false,
+        height: "auto",
+        summaryText: "合计",
+        showSummary: true,
+        sumColumnList: [{
+          name: "quantity",
+          type: "sum",
+          decimals: 0
+        }, {
+          name: "amount",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "actualQuantity",
+          type: "sum",
+          decimals: 0
+        }, {
+          name: "arrivalAmount",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "thisUsedProfit",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "netGrossProfit",
+          type: "sum",
+          decimals: 2
+        }, {
+          name: "predictOceanFreight",
+          type: "sum",
+          decimals: 2
+        }],
+        column: [{
+          label: '日期',
+          prop: 'createTime',
+          overHidden: true
+        }, {
+          label: '销售单号',
+          prop: 'orderNo',
+          overHidden: true
+        }, {
+          label: '数量',
+          prop: 'quantity',
+          overHidden: true
+        }, {
+          label: '金额',
+          prop: 'amount',
+          overHidden: true
+        }, {
+          label: '到货数量',
+          prop: 'actualQuantity',
+          overHidden: true
+        }, {
+          label: '到货金额',
+          prop: 'arrivalAmount',
+          overHidden: true
+        }, {
+          label: '返利',
+          prop: 'thisUsedProfit',
+          overHidden: true
+        }, {
+          label: '毛利额',
+          prop: 'netGrossProfit',
+          overHidden: true
+        }, {
+          label: '订单运费',
+          prop: 'predictOceanFreight',
+          overHidden: true
+        }]
+      }
+    };
+  },
+  async created() {
+    this.optionBack = this[this.codeValue]
+    this.option = await this.getColumnData(this.getColumnName(this.codeValue), this.optionBack);
+  },
+  activated() {
+    this.$nextTick(() => {
+      this.$refs.crud.refreshTable();
+    });
+  },
+  methods: {
+    getAllWorkDicts() {
+      this.getWorkDicts('brand').then(res => {
+        this.findObject(this.option.column, "brand").dicData =
+            res.data.data;
+      })
+    },
+    cellStyle() {
+      return "padding:0;height:40px;";
+    },
+    searchCriteriaSwitch(type) {
+      this.$refs.crud.doLayout();
+      this.$refs.crud.getTableHeight();
+    },
+    //点击搜索按钮触发
+    searchChange(params, done) {
+      this.page.currentPage = 1;
+      this.onLoad(this.page, params);
+      done();
+    },
+    refreshChange() {
+      this.onLoad(this.page, this.search);
+    },
+    currentChange(val) {
+      this.page.currentPage = val;
+    },
+    sizeChange(val) {
+      this.page.currentPage = 1;
+      this.page.pageSize = val;
+    },
+    onLoad(page, params = {}) {
+      let data = this.deepClone(Object.assign({}, params, this.search));
+      this.loading = true;
+      detailedStatistics(
+          page.currentPage,
+          page.pageSize,
+          Object.assign(data),this.url
+      ).then(res => {
+        this.dataList = res.data.data.records ? res.data.data.records : [];
+        this.page.total = res.data.data.total;
+      }).finally(() => {
+        this.loading = false;
+      });
+    },
+    backToList() {
+      this.$emit("backToList");
+    },
+    //列保存触发
+    async saveColumn() {
+      const inSave = await this.saveColumnData(this.getColumnName(this.codeValue), this.option);
+      if (inSave) {
+        this.$message.success("保存成功");
+        //关闭窗口
+        this.$refs.crud.$refs.dialogColumn.columnBox = false;
+      }
+    },
+    async resetColumn() {
+      this.option = this.optionBack;
+      const inSave = await this.delColumnData(this.getColumnName(this.codeValue), this.optionBack);
+      this.getAllWorkDicts()
+      if (inSave) {
+        this.$message.success("重置成功");
+        this.$refs.crud.$refs.dialogColumn.columnBox = false;
+      }
+    },
+  }
+};
+</script>
+
+<style scoped>
+.page-crad ::v-deep .basic-container__card {
+  height: 94.2vh;
+}
+
+::v-deep .el-table__expanded-cell[class*="cell"] {
+  padding: 0px;
+}
+
+.itemTable ::v-deep .el-table {
+  width: 100%;
+}
+</style>

+ 21 - 0
src/enums/column-name.js

@@ -812,24 +812,45 @@ const columnName = [{
   code: 225,
   name: '内贸-数量金额汇总'
 }, {
+  code: 225.1,
+  name: '内贸-数量金额汇总-明细'
+}, {
   code: 226,
   name: '内贸-发货客户统计'
 }, {
+  code: 226.1,
+  name: '内贸-发货客户统计-明细'
+}, {
   code: 227,
   name: '内贸-发货业务员统计'
 }, {
+  code: 227.1,
+  name: '内贸-发货业务员统计-明细'
+}, {
   code: 228,
   name: '内贸-业务员利润统计'
 }, {
+  code: 228.1,
+  name: '内贸-业务员利润统计-明细'
+}, {
   code: 229,
   name: '内贸-品牌利润对比统计'
 }, {
+  code: 229.1,
+  name: '内贸-品牌利润对比统计-明细'
+}, {
   code: 230,
   name: '内贸-发货规格统计'
 }, {
+  code: 230.1,
+  name: '内贸-发货规格统计-明细'
+}, {
   code: 231,
   name: '内贸-客户利润统计'
 }, {
+  code: 231.1,
+  name: '内贸-客户利润统计-明细'
+}, {
   code: 232,
   name: '供应商(Y)-资金往来'
 }, {

+ 13 - 0
src/router/views/index.js

@@ -2276,5 +2276,18 @@ export default [{
     },
     component: () => import( /* webpackChunkName: "views" */ '@/views/boxManagement/stockpilingManage/index')
   }]
+}, {
+  path: '/statisticAnalysis/profitStatistics/index',
+  component: Layout,
+  hidden: true,
+  children: [{
+    path: '/statisticAnalysis/profitStatistics/index',
+    name: '利润统计',
+    meta: {
+      i18n: '/statisticAnalysis/profitStatistics/index',
+      keepAlive: true,
+    },
+    component: () => import( /* webpackChunkName: "views" */ '@/views/statisticAnalysis/profitStatistics/index')
+  }]
 }
 ]

+ 1 - 0
src/util/columnSetting.js

@@ -41,3 +41,4 @@ export async function delColumnData(columnKey, option) {
     return false
   }
 }
+

+ 35 - 5
src/views/purchase/rubberStock/config/mainList.json

@@ -6,7 +6,7 @@
   "lazy": true,
   "tip": false,
   "searchShow": true,
-  "height": "auto",
+  "height": "100%",
   "searchMenuPosition": "right",
   "searchSpan": 8,
   "searchMenuSpan":16,
@@ -26,7 +26,17 @@
   "summaryText": "合计",
   "sumColumnList": [
     {
-      "name": "surplusRouteQuantity",
+      "name": "contractWeightC",
+      "type": "sum",
+      "decimals": 6
+    },
+    {
+      "name": "stockWeight",
+      "type": "sum",
+      "decimals": 6
+    },
+    {
+      "name": "contractWeightX",
       "type": "sum",
       "decimals": 6
     }
@@ -60,7 +70,7 @@
       "width": 120
     },
     {
-      "label": "采购合同日期",
+      "label": "合同日期",
       "prop": "businesDate",
       "overHidden": true,
       "search": true,
@@ -101,6 +111,13 @@
       "width": 120
     },
     {
+      "label": "采购合同重量",
+      "prop": "contractWeightC",
+      "overHidden": true,
+      "index": 7.1,
+      "width": 120
+    },
+    {
       "label": "付款情况",
       "prop": "balanceAmountC",
       "overHidden": true,
@@ -155,6 +172,13 @@
       "index": 14
     },
     {
+      "label": "销售合同重量",
+      "prop": "contractWeightX",
+      "overHidden": true,
+      "width": 150,
+      "index": 14.1
+    },
+    {
       "label": "收款情况",
       "prop": "balanceAmountX",
       "overHidden": true,
@@ -162,10 +186,9 @@
       "width": 150
     },
     {
-      "label": "业务结束日期",
+      "label": "销售合同日期",
       "prop": "plannedDeliveryDateX",
       "overHidden": true,
-      "search": true,
       "searchSpan": 8,
       "index": 16,
       "format": "yyyy-MM-dd",
@@ -204,6 +227,13 @@
       "width": 150
     },
     {
+      "label": "库存重量",
+      "prop": "stockWeight",
+      "overHidden": true,
+      "index": 22.1,
+      "width": 150
+    },
+    {
       "label": "匹配状态",
       "prop": "rubberDistinguish",
       "overHidden": true,

+ 62 - 15
src/views/purchase/rubberStock/index.vue

@@ -8,10 +8,11 @@
       <template slot="corpIdCSearch">
         <crop-select v-model="search.corpIdC" corpType="GYS"></crop-select>
       </template>
-      <template slot-scope="{ row }"  slot="corpIdC">
-        <span>
-          {{row.corpNameC}}
-        </span>
+      <template slot-scope="scope" slot="corpIdC">
+        <span style="color: #409EFF;cursor: pointer" @click.stop="jumpOpen(scope.row,0)">{{ scope.row.corpNameC }}</span>
+      </template>
+      <template slot-scope="scope" slot="belongToCorpIdX">
+        <span style="color: #409EFF;cursor: pointer" @click.stop="jumpOpen(scope.row,1)">{{ scope.row.belongToCorpNameX }}</span>
       </template>
       <template slot="corpIdXSearch">
         <crop-select v-model="search.corpIdX" corpType="KH"></crop-select>
@@ -22,7 +23,7 @@
         </span>
       </template>
       <template slot="itemIdCSearch">
-        <el-select v-model="search.itemIdC" placeholder="请选择" size="small">
+        <el-select v-model="search.itemIdC" placeholder="请选择" size="small" clearable>
           <el-option v-for="item in goodsoptions" :key="item.id" :label="item.cname" :value="item.id">
           </el-option>
         </el-select>
@@ -61,11 +62,6 @@
           :default-time="['00:00:00', '23:59:59']">
         </el-date-picker>
       </template>
-      <template slot-scope="{ row }"  slot="belongToCorpIdX">
-        <span>
-          {{row.belongToCorpNameX}}
-        </span>
-      </template>
       <template slot="salesNameSearch">
         <user-com v-model="search.salesName"></user-com>
       </template>
@@ -132,6 +128,56 @@ export default {
     addReceipt(row) {
 
     },
+    //跳转打开
+    jumpOpen(row,type){
+      if (type === 0){
+        if (eval("(this.$store.getters.entranceCgStatus)")) {
+          this.$alert(
+              "" +
+              "采购订单" +
+              "页面已存在,请关闭" +
+              "采购订单" +
+              "页面再进行操作",
+              "温馨提示",
+              {
+                confirmButtonText: "确定",
+                type: "warning",
+                callback: action => { }
+              }
+          );
+        }else {
+          this.$router.push({
+            path: "/purchase/contract/index",
+            query: {
+              params: row.idC
+            },
+          });
+        }
+      }else if (type === 1) {
+        if (eval("(this.$store.getters.entranceXsStatus)")) {
+          this.$alert(
+              "" +
+              "销售订单" +
+              "页面已存在,请关闭" +
+              "销售订单" +
+              "页面再进行操作",
+              "温馨提示",
+              {
+                confirmButtonText: "确定",
+                type: "warning",
+                callback: action => { }
+              }
+          );
+        }else {
+          this.$router.push({
+            path: "/salesManagement/salesContract/index",
+            query: {
+              params: row.idX
+            },
+          });
+        }
+      }
+    },
     //编辑打开
     editOpen(row, status) {
 
@@ -211,11 +257,12 @@ export default {
         });
     },
     searchCriteriaSwitch(type) {
-      if (type) {
-        this.option.height = this.option.height - 138
-      } else {
-        this.option.height = this.option.height + 138
-      }
+      // if (type) {
+      //   this.option.height = this.option.height - 138
+      // } else {
+      //   this.option.height = this.option.height + 138
+      // }
+      this.$refs.crud.doLayout();
       this.$refs.crud.getTableHeight()
     },
     cellStyle() {

+ 20 - 2
src/views/statisticAnalysis/AmtAmount/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <basic-container class="page-crad">
+    <basic-container class="page-crad" v-if="show">
       <avue-crud ref="crud" :option="option" :data="dataList" :page.sync="page" :search.sync="search"
         :cell-style="cellStyle" @search-change="searchChange" @current-change="currentChange" @size-change="sizeChange"
         @refresh-change="refreshChange" @on-load="onLoad" :table-loading="loading" @saveColumn="saveColumn"
@@ -9,12 +9,21 @@
           <el-button type="info" size="small" @click="outExport">导出
           </el-button>
         </template>
+        <template v-for="item in 12" :slot="`quantity${item}`" slot-scope="scope">
+          <span style="color: #409EFF;cursor: pointer" @click.stop="detOpen(scope.row,item)">{{ scope.row[`quantity${item}`] }}</span>
+        </template>
         <template slot="statusSearch">
           <el-radio v-model="search.status" label="1">是</el-radio>
           <el-radio v-model="search.status" label="0">否</el-radio>
         </template>
       </avue-crud>
     </basic-container>
+    <statistics-detailed
+        v-else
+        :codeValue="225.1"
+        @backToList="show = true"
+        :search="{...search,month:month}"
+        url="totalSummaryItem"></statistics-detailed>
   </div>
 </template>
 
@@ -22,10 +31,14 @@
 import { getToken } from "@/util/auth";
 import { getList } from "@/api/statisticAnalysis/AmtAmount"
 import { defaultDate4 } from "@/util/date";
+import statisticsDetailed from "@/components/statisticsDetailed/index.vue";
 export default {
   name: "index",
+  components:{statisticsDetailed},
   data() {
     return {
+      month:1,
+      show:true,
       UConfiguration: {
         multipleChoices: false,
         multiple: false,
@@ -462,7 +475,12 @@ export default {
         `/api/blade-purchase-sales/exportOrder/totalSummaryExport?${this.website.tokenHeader
         }=${getToken()}&year=${params.year ? params.year : ''}&brand=${params.brand ? params.brand : ''}&status=${params.status ? params.status : ''}`
       );
-    }
+    },
+    //打开明细
+    detOpen(row,item){
+      this.month = item
+      this.show = false
+    },
   }
 };
 </script>

+ 19 - 1
src/views/statisticAnalysis/brandProfit/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <basic-container class="page-crad">
+    <basic-container class="page-crad" v-if="show">
       <avue-crud ref="crud" :option="option" :data="dataList" :page.sync="page" :search.sync="search"
         :cell-style="cellStyle" @search-change="searchChange" @current-change="currentChange" @size-change="sizeChange"
         @refresh-change="refreshChange" @on-load="onLoad" :table-loading="loading" @saveColumn="saveColumn"
@@ -32,8 +32,17 @@
         <template slot="grossProfitRate" slot-scope="{ row, index }">
           <span>{{ Number(row.grossProfitRate ? row.grossProfitRate : 0).toFixed(2) }}</span>
         </template>
+        <template slot="quantity" slot-scope="scope">
+          <span style="color: #409EFF;cursor: pointer" @click.stop="detOpen(scope.row)">{{ scope.row.quantity}}</span>
+        </template>
       </avue-crud>
     </basic-container>
+    <statistics-detailed
+        v-else
+        :codeValue="229.1"
+        @backToList="show = true"
+        :search="{...search,brand:this.brand}"
+        url="brandProfitItem"></statistics-detailed>
   </div>
 </template>
 
@@ -42,10 +51,14 @@ import { getToken } from "@/util/auth";
 import { getList } from "@/api/statisticAnalysis/brandProfit"
 import { gainUser } from "@/api/basicData/customerInquiry";
 import { defaultDate5 } from "@/util/date";
+import statisticsDetailed from "@/components/statisticsDetailed/index.vue";
 export default {
   name: "index",
+  components:{statisticsDetailed},
   data() {
     return {
+      show:true,
+      brand:'',
       UConfiguration: {
         multipleChoices: false,
         multiple: false,
@@ -238,6 +251,11 @@ export default {
     cellStyle() {
       return "padding:0;height:40px;";
     },
+    //打开明细
+    detOpen(row){
+      this.brand = row.brand
+      this.show = false
+    },
     searchCriteriaSwitch(type) {
       if (type) {
         this.option.height = this.option.height - 46;

+ 19 - 1
src/views/statisticAnalysis/customerDelivery/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <basic-container class="page-crad">
+    <basic-container class="page-crad" v-if="show">
       <avue-crud ref="crud" :option="option" :data="dataList" :page.sync="page" :search.sync="search"
         :cell-style="cellStyle" @search-change="searchChange" @current-change="currentChange" @size-change="sizeChange"
         @refresh-change="refreshChange" @on-load="onLoad" :table-loading="loading" @saveColumn="saveColumn"
@@ -12,6 +12,9 @@
         <template slot="corpNameSearch">
           <crop-select v-model="search.corpName" corpType="KH" :zhKey="true"></crop-select>
         </template>
+        <template slot="quantity" slot-scope="scope">
+          <span style="color: #409EFF;cursor: pointer" @click.stop="detOpen(scope.row)">{{ scope.row.quantity}}</span>
+        </template>
         <template slot="dateSearch">
           <el-date-picker v-model="search.date" type="daterange" start-placeholder="开始日期" end-placeholder="结束日期"
             format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" :default-time="['00:00:00', '23:59:59']">
@@ -19,6 +22,12 @@
         </template>
       </avue-crud>
     </basic-container>
+    <statistics-detailed
+        v-else
+        :codeValue="226.1"
+        @backToList="show = true"
+        :search="{...search,corpName:this.corpName}"
+        url="corpStatisticsItem"></statistics-detailed>
   </div>
 </template>
 
@@ -27,10 +36,14 @@ import { getToken } from "@/util/auth";
 import { getList } from "@/api/statisticAnalysis/customerDelivery"
 import { gainUser } from "@/api/basicData/customerInquiry";
 import { defaultDate5 } from "@/util/date";
+import statisticsDetailed from "@/components/statisticsDetailed/index.vue";
 export default {
   name: "index",
+  components:{statisticsDetailed},
   data() {
     return {
+      corpName:'',
+      show:true,
       UConfiguration: {
         multipleChoices: false,
         multiple: false,
@@ -243,6 +256,11 @@ export default {
     },
     editOpen(row) {
     },
+    //打开明细
+    detOpen(row){
+      this.corpName = row.corpName
+      this.show = false
+    },
     outExport() {
       let params = { ...this.search }
       if (params.date && params.date.length > 0) {

+ 19 - 1
src/views/statisticAnalysis/customerProfit/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <basic-container class="page-crad">
+    <basic-container class="page-crad" v-if="show">
       <avue-crud ref="crud" :option="option" :data="dataList" :page.sync="page" :search.sync="search"
         :cell-style="cellStyle" @search-change="searchChange" @current-change="currentChange" @size-change="sizeChange"
         @refresh-change="refreshChange" @on-load="onLoad" :table-loading="loading" @saveColumn="saveColumn"
@@ -29,8 +29,17 @@
         <template slot="purchaseAmount" slot-scope="{ row, index }">
           <span>{{ Number(row.purchaseAmount ? row.purchaseAmount : 0).toFixed(2) }}</span>
         </template>
+        <template slot="quantity" slot-scope="scope">
+          <span style="color: #409EFF;cursor: pointer" @click.stop="detOpen(scope.row)">{{ scope.row.quantity}}</span>
+        </template>
       </avue-crud>
     </basic-container>
+    <statistics-detailed
+        v-else
+        :codeValue="231.1"
+        @backToList="show = true"
+        :search="{...search,corpName:this.corpName}"
+        url="customerProfitItem"></statistics-detailed>
   </div>
 </template>
 
@@ -39,10 +48,14 @@ import { getToken } from "@/util/auth";
 import { getList } from "@/api/statisticAnalysis/customerProfit"
 import { defaultDate5 } from "@/util/date";
 import { gainUser } from "@/api/basicData/customerInquiry";
+import statisticsDetailed from "@/components/statisticsDetailed/index.vue";
 export default {
   name: "index",
+  components:{statisticsDetailed},
   data() {
     return {
+      show:true,
+      corpName:'',
       UConfiguration: {
         multipleChoices: false,
         multiple: false,
@@ -229,6 +242,11 @@ export default {
     cellStyle() {
       return "padding:0;height:40px;";
     },
+    //打开明细
+    detOpen(row){
+      this.corpName = row.corpName
+      this.show = false
+    },
     searchCriteriaSwitch(type) {
       if (type) {
         this.option.height = this.option.height - 46;

+ 6 - 6
src/views/statisticAnalysis/profitStatistics/index.vue

@@ -186,12 +186,12 @@ export default {
       return "padding:0;height:40px;";
     },
     searchCriteriaSwitch(type) {
-      if (type) {
-        this.option.height = this.option.height - 46;
-      } else {
-        this.option.height = this.option.height + 46;
-      }
-      this.$refs.crud.myTable.doLayout();
+      // if (type) {
+      //   this.option.height = this.option.height - 46;
+      // } else {
+      //   this.option.height = this.option.height + 46;
+      // }
+      this.$refs.crud.doLayout();
       this.$refs.crud.getTableHeight();
     },
     //点击搜索按钮触发

+ 19 - 1
src/views/statisticAnalysis/salesmanDelivery/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <basic-container class="page-crad">
+    <basic-container class="page-crad" v-if="show">
       <avue-crud ref="crud" :option="option" :data="dataList" :page.sync="page" :search.sync="search"
         :cell-style="cellStyle" @search-change="searchChange" @current-change="currentChange" @size-change="sizeChange"
         @refresh-change="refreshChange" @on-load="onLoad" :table-loading="loading" @saveColumn="saveColumn"
@@ -9,6 +9,9 @@
           <el-button type="info" size="small" @click="outExport">导出
           </el-button>
         </template>
+        <template slot="quantity" slot-scope="scope">
+          <span style="color: #409EFF;cursor: pointer" @click.stop="detOpen(scope.row)">{{ scope.row.quantity}}</span>
+        </template>
         <template slot="dateSearch">
           <el-date-picker v-model="search.date" type="daterange" start-placeholder="开始日期" end-placeholder="结束日期"
             format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" :default-time="['00:00:00', '23:59:59']">
@@ -16,6 +19,12 @@
         </template>
       </avue-crud>
     </basic-container>
+    <statistics-detailed
+        v-else
+        :codeValue="227.1"
+        @backToList="show = true"
+        :search="{...search,chargeMember:this.chargeMember}"
+        url="salesmanStatisticsItem"></statistics-detailed>
   </div>
 </template>
 
@@ -24,10 +33,14 @@ import { getToken } from "@/util/auth";
 import { getList } from "@/api/statisticAnalysis/salesmanDelivery"
 import { gainUser } from "@/api/basicData/customerInquiry";
 import { defaultDate5 } from "@/util/date";
+import statisticsDetailed from "@/components/statisticsDetailed/index.vue";
 export default {
   name: "index",
+  components:{statisticsDetailed},
   data() {
     return {
+      show:true,
+      chargeMember:'',
       UConfiguration: {
         multipleChoices: false,
         multiple: false,
@@ -238,6 +251,11 @@ export default {
     },
     editOpen(row) {
     },
+    //打开明细
+    detOpen(row){
+      this.chargeMember = row.chargeMember
+      this.show = false
+    },
     outExport() {
       let params = { ...this.search }
       if (params.date && params.date.length > 0) {

+ 19 - 1
src/views/statisticAnalysis/salesmanProfit/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <basic-container class="page-crad">
+    <basic-container class="page-crad" v-if="show">
       <avue-crud ref="crud" :option="option" :data="dataList" :page.sync="page" :search.sync="search"
         :cell-style="cellStyle" @search-change="searchChange" @current-change="currentChange" @size-change="sizeChange"
         @refresh-change="refreshChange" @on-load="onLoad" :table-loading="loading" @saveColumn="saveColumn"
@@ -26,8 +26,17 @@
         <template slot="purchaseAmount" slot-scope="{ row, index }">
           <span>{{ Number(row.purchaseAmount ? row.purchaseAmount : 0).toFixed(2) }}</span>
         </template>
+        <template slot="quantity" slot-scope="scope">
+          <span style="color: #409EFF;cursor: pointer" @click.stop="detOpen(scope.row)">{{ scope.row.quantity}}</span>
+        </template>
       </avue-crud>
     </basic-container>
+    <statistics-detailed
+        v-else
+        :codeValue="228.1"
+        @backToList="show = true"
+        :search="{...search,chargeMember:this.chargeMember}"
+        url="salesmanProfitItem"></statistics-detailed>
   </div>
 </template>
 
@@ -36,10 +45,14 @@ import { getToken } from "@/util/auth";
 import { getList } from "@/api/statisticAnalysis/salesmanProfit"
 import { defaultDate5 } from "@/util/date";
 import { gainUser } from "@/api/basicData/customerInquiry";
+import statisticsDetailed from "@/components/statisticsDetailed/index.vue";
 export default {
   name: "index",
+  components:{statisticsDetailed},
   data() {
     return {
+      show:true,
+      chargeMember:'',
       UConfiguration: {
         multipleChoices: false,
         multiple: false,
@@ -236,6 +249,11 @@ export default {
     cellStyle() {
       return "padding:0;height:40px;";
     },
+    //打开明细
+    detOpen(row){
+      this.chargeMember = row.chargeMember
+      this.show = false
+    },
     searchCriteriaSwitch(type) {
       if (type) {
         this.option.height = this.option.height - 46;

+ 19 - 1
src/views/statisticAnalysis/specificationsDelivery/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <basic-container class="page-crad">
+    <basic-container class="page-crad" v-if="show">
       <avue-crud ref="crud" :option="option" :data="dataList" :page.sync="page" :search.sync="search"
         :cell-style="cellStyle" @search-change="searchChange" @current-change="currentChange" @size-change="sizeChange"
         @refresh-change="refreshChange" @on-load="onLoad" :table-loading="loading" @saveColumn="saveColumn"
@@ -9,6 +9,9 @@
           <el-button type="info" size="small" @click="outExport">导出
           </el-button>
         </template>
+        <template slot="quantity" slot-scope="scope">
+          <span style="color: #409EFF;cursor: pointer" @click.stop="detOpen(scope.row)">{{ scope.row.quantity}}</span>
+        </template>
         <template slot="dateSearch">
           <el-date-picker v-model="search.date" type="daterange" start-placeholder="开始日期" end-placeholder="结束日期"
             format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" :default-time="['00:00:00', '23:59:59']">
@@ -22,6 +25,12 @@
         </template>
       </avue-crud>
     </basic-container>
+    <statistics-detailed
+        v-else
+        :codeValue="230.1"
+        @backToList="show = true"
+        :search="{...search,typeNo:this.typeNo}"
+        url="specificationsProfitItem"></statistics-detailed>
   </div>
 </template>
 
@@ -30,10 +39,14 @@ import { getToken } from "@/util/auth";
 import { getList } from "@/api/statisticAnalysis/specificationsDelivery"
 import { gainUser } from "@/api/basicData/customerInquiry";
 import { defaultDate5 } from "@/util/date";
+import statisticsDetailed from "@/components/statisticsDetailed/index.vue";
 export default {
   name: "index",
+  components:{statisticsDetailed},
   data() {
     return {
+      show:true,
+      typeNo:'',
       UConfiguration: {
         multipleChoices: false,
         multiple: false,
@@ -261,6 +274,11 @@ export default {
     },
     editOpen(row) {
     },
+    //打开明细
+    detOpen(row){
+      this.typeNo = row.typeNo
+      this.show = false
+    },
     outExport() {
       let params = { ...this.search }
       if (params.date && params.date.length > 0) {