Qukatie 1 年間 前
コミット
133235ef1d

+ 33 - 0
src/api/iosBasicData/decisionAnalysis.js

@@ -0,0 +1,33 @@
+import request from '@/router/axios';
+
+export const getList = (current, size, params) => {
+  return request({
+    url: '/api/blade-los/statisticAnalysis/boxNumberProfitStatistics',
+    method: 'get',
+    params: {
+      ...params,
+      current,
+      size,
+    }
+  })
+}
+
+export const boxNumberProfitStatisticsSum = (data) => {
+  return request({
+    url: '/api/blade-los/statisticAnalysis/boxNumberProfitStatisticsSum',
+    method: 'get',
+    params: data
+  })
+}
+export const getCorp= (current, size, params) => {
+  return request({
+    url: '/api/blade-los/bcorps/listByType',
+    method: 'get',
+    params: {
+      ...params,
+      current,
+      size,
+    }
+  })
+}
+

+ 1 - 1
src/components/fee-info/main.vue

@@ -591,7 +591,7 @@ export default {
     //新增
     rowAdd() {
       // console.log(this.$parent.$data.form.corpId);
-      console.log(this.corpList.find(item => this.$parent.$data.form.corpId == item.id).cname);
+      // console.log(this.corpList.find(item => this.$parent.$data.form.corpId == item.id).cname);
       if (this.inCropId) {
         let corpName = ''
         if (!this.corpId) {

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

@@ -1739,6 +1739,12 @@ const columnName = [{
   },{
     code: 371,
     name: '轮胎商城-基础资料-费用信息-费用信息列表'
+  },{
+    code: 372,
+    name: '货运代理-决策分析-海运向量利润统计-海运向量利润统计列表'
+  },{
+    code: 373,
+    name: '货运代理-决策分析-向量横向统计-向量横向统计列表'
   }
 ]
 export const getColumnName = (key) => {

+ 3 - 0
src/views/exportTrade/customerInquiry/components/goodsInfo.vue

@@ -814,6 +814,9 @@ export default {
             if (!this.form.id) {
                 return this.$message.error("此单据没有提交记录,请先提交");
             }
+            if (!this.form.buyerId) {
+                return this.$message.error("采购员必填");
+            }
             this.$confirm("是否生成采购询价单?", {
                 confirmButtonText: "确定",
                 cancelButtonText: "取消",

+ 5 - 5
src/views/exportTrade/customerInquiry/index.vue

@@ -112,7 +112,7 @@ export default {
   data() {
     return {
       activeName: 'second',
-      tabType: 1,
+      tabType: 2,
       search: {
         businesDate: defaultDate()
       },
@@ -359,14 +359,14 @@ export default {
           orderEndDate: this.search.businesDate[1]
         };
       }
-      let data = this.deepClone(Object.assign(params, this.search));
-      delete data.businesDate;
-      delete data.dateValidity;
-      delete data.createTime;
       params = {
         ...params,
         tabType: this.tabType
       }
+      let data = this.deepClone(Object.assign(params, this.search));
+      delete data.businesDate;
+      delete data.dateValidity;
+      delete data.createTime;
       this.loading = true;
       this.dataList.forEach(item => {
         this.$refs.crud.toggleRowExpansion(item, false);

+ 75 - 88
src/views/exportTrade/invoice/index.vue

@@ -1,36 +1,20 @@
 <template>
   <div>
     <basic-container v-show="show" class="page-crad">
-      <avue-crud
-        ref="crud"
-        :option="option"
-        :data="dataList"
-        v-model="form"
-        :page.sync="page"
-        :search.sync="search"
-        :key="key"
-        @search-change="searchChange"
-        @current-change="currentChange"
-        @size-change="sizeChange"
-        @refresh-change="refreshChange"
-        @on-load="onLoad"
-        :table-loading="loading"
-        @saveColumn="saveColumn"
-        @resetColumn="resetColumn"
-        :summary-method="summaryMethod"
-        :cell-style="cellStyle"
-        @selection-change="selectionChange"
-        @expand-change="expandChange"
-        @search-criteria-switch="searchCriteriaSwitch"
-      >
-      <template slot-scope="{ row }" slot="expand">
-          <avue-crud
-            :data="row.itemData"
-            :option="itemOption"
-            :table-loading="row.itemLoading"
-            :cell-style="cellStyle"
-            class="itemTable"
-          ></avue-crud>
+      <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
+        <el-tab-pane label="待报关" name="first" />
+        <el-tab-pane label="待出运" name="second" />
+        <el-tab-pane label="待寄单" name="third" />
+        <el-tab-pane label="全部" name="fourth" />
+      </el-tabs>
+      <avue-crud ref="crud" :option="option" :data="dataList" v-model="form" :page.sync="page" :search.sync="search"
+        :key="key" @search-change="searchChange" @current-change="currentChange" @size-change="sizeChange"
+        @refresh-change="refreshChange" @on-load="onLoad" :table-loading="loading" @saveColumn="saveColumn"
+        @resetColumn="resetColumn" :summary-method="summaryMethod" :cell-style="cellStyle"
+        @selection-change="selectionChange" @expand-change="expandChange" @search-criteria-switch="searchCriteriaSwitch">
+        <template slot-scope="{ row }" slot="expand">
+          <avue-crud :data="row.itemData" :option="itemOption" :table-loading="row.itemLoading" :cell-style="cellStyle"
+            class="itemTable"></avue-crud>
         </template>
         <template slot-scope="{ row }" slot="salesCompany">
           <span>{{ row.salesCompanyName }}</span>
@@ -45,85 +29,68 @@
           <span>{{ row.createUserName }}</span>
         </template>
         <template slot-scope="scope" slot="corpId">
-          <span
-            style="color: #409EFF;cursor: pointer"
-            @click.stop="editOpen(scope.row, 1)"
-            >{{ scope.row.corpsName }}
+          <span style="color: #409EFF;cursor: pointer" @click.stop="editOpen(scope.row, 1)">{{ scope.row.corpsName }}
           </span>
         </template>
         <template slot-scope="scope" slot="orgOrderNo">
-          <span
-            style="color: #409EFF;cursor: pointer"
-            @click.stop="editOpen(scope.row, 1)"
-            >{{ scope.row.orgOrderNo }}
+          <span style="color: #409EFF;cursor: pointer" @click.stop="editOpen(scope.row, 1)">{{ scope.row.orgOrderNo }}
           </span>
         </template>
 
         <template slot="createTimeSearch">
-          <el-date-picker
-              v-model="search.createTime"
-              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']"
-          >
+          <el-date-picker v-model="search.createTime" 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']">
           </el-date-picker>
         </template>
         <template slot="portOfLoadSearch">
           <port-info v-model="search.portOfLoad" />
         </template>
         <template slot-scope="{ row }" slot="deliveryStatus">
-          <span v-for="item in $refs.crud.DIC.deliveryStatus" :style="{color: item.colour}" v-if="item.dictValue == row.deliveryStatus">{{row.deliveryStatus}}</span>
+          <span v-for="item in $refs.crud.DIC.deliveryStatus" :style="{ color: item.colour }"
+            v-if="item.dictValue == row.deliveryStatus">{{ row.deliveryStatus }}</span>
         </template>
         <template slot="portOfDestinationSearch">
           <port-info v-model="search.portOfDestination" />
         </template>
         <template slot="menuLeft">
-<!--          <el-button-->
-<!--            type="primary"-->
-<!--            icon="el-icon-plus"-->
-<!--            size="small"-->
-<!--            @click.stop="newAdd()"-->
-<!--            >创建单据-->
-<!--          </el-button>-->
-<!--          <el-button-->
-<!--            type="success"-->
-<!--            size="small"-->
-<!--            @click.stop="copyDoc()"-->
-<!--            :disabled="selectionList.length != 1"-->
-<!--            >复制单据</el-button-->
-<!--          >-->
+          <!--          <el-button-->
+          <!--            type="primary"-->
+          <!--            icon="el-icon-plus"-->
+          <!--            size="small"-->
+          <!--            @click.stop="newAdd()"-->
+          <!--            >创建单据-->
+          <!--          </el-button>-->
+          <!--          <el-button-->
+          <!--            type="success"-->
+          <!--            size="small"-->
+          <!--            @click.stop="copyDoc()"-->
+          <!--            :disabled="selectionList.length != 1"-->
+          <!--            >复制单据</el-button-->
+          <!--          >-->
           <el-button type="info" size="small">报表打印</el-button>
         </template>
         <template slot="corpIdSearch">
           <crop-select v-model="search.corpId" corpType="KH"></crop-select>
         </template>
         <template slot-scope="scope" slot="menu">
-<!--          <el-button-->
-<!--            type="text"-->
-<!--            icon="el-icon-delete"-->
-<!--            size="small"-->
-<!--            @click.stop="rowDel(scope.row, scope.index)"-->
-<!--            >删除-->
-<!--          </el-button>-->
+          <!--          <el-button-->
+          <!--            type="text"-->
+          <!--            icon="el-icon-delete"-->
+          <!--            size="small"-->
+          <!--            @click.stop="rowDel(scope.row, scope.index)"-->
+          <!--            >删除-->
+          <!--          </el-button>-->
           <el-button type="text" icon="el-icon-view" size="small" @click.stop="editOpen(scope.row, 1)">查看</el-button>
         </template>
       </avue-crud>
     </basic-container>
-    <detail-page
-      @goBack="goBack"
-      @copyOrder="copyOrder"
-      :detailData="detailData"
-      v-if="!show"
-    ></detail-page>
+    <detail-page @goBack="goBack" @copyOrder="copyOrder" :detailData="detailData" v-if="!show"></detail-page>
   </div>
 </template>
 
 <script>
 import option from "./config/mainList.json";
-import { getList, remove, gainUser,getGoodsInfo} from "@/api/basicData/invoice";
+import { getList, remove, gainUser, getGoodsInfo } from "@/api/basicData/invoice";
 import detailPage from "./detailsPage.vue";
 import { micrometerFormat, IntegerFormat } from "@/util/validate";
 import { defaultDate } from "@/util/date";
@@ -132,6 +99,8 @@ export default {
   name: "customerInformation",
   data() {
     return {
+      activeName: 'first',
+      tabType: 1,
       configuration2: {
         multipleChoices: false,
         multiple: false,
@@ -139,7 +108,7 @@ export default {
         placeholder: "请点击右边按钮选择",
         dicData: []
       },
-      key:0,
+      key: 0,
       search: {
         businessDate: defaultDate()
       },
@@ -203,11 +172,11 @@ export default {
       option: {},
       parentId: 0,
       dataList: [],
-       page: {
+      page: {
         pageSize: 20,
         currentPage: 1,
         total: 0,
-        pageSizes: [10,20,30,40,50, 100, 200, 300, 400, 500]
+        pageSizes: [10, 20, 30, 40, 50, 100, 200, 300, 400, 500]
       },
       show: true,
       detailData: {},
@@ -224,7 +193,7 @@ export default {
     gainUser().then(res => {
       this.findObject(this.option.column, "createUser").dicData = res.data.data;
     });
-    this.option.height = window.innerHeight - 210;
+    this.option.height = window.innerHeight - 260;
     this.key++
   },
   activated() {
@@ -244,6 +213,18 @@ export default {
     }
   },
   methods: {
+    handleClick(tab, event) {
+      if (this.activeName == 'first') {
+        this.tabType = 1
+      } else if (this.activeName == 'second') {
+        this.tabType = 2
+      } else if (this.activeName == 'third') {
+        this.tabType = 3
+      } else if (this.activeName == 'fourth') {
+        this.tabType = ''
+      }
+      this.onLoad(this.page, this.search);
+    },
     searchCriteriaSwitch(type) {
       if (type) {
         this.option.height = this.option.height - 191;
@@ -308,16 +289,16 @@ export default {
       if (params.businessDate) {
         params.businessStartDate = params.businessDate[0];
         params.businessEndDate = params.businessDate[1];
-      }else {
-          delete params.businessStartDate
-          delete params.businessEndDate
+      } else {
+        delete params.businessStartDate
+        delete params.businessEndDate
       }
       if (params.createTime) {
         params.createStartTime = params.createTime[0];
         params.createEndTime = params.createTime[1];
-      }else {
-          delete params.createStartTime
-          delete params.createEndTime
+      } else {
+        delete params.createStartTime
+        delete params.createEndTime
       }
       delete params.businessDate;
       delete params.createTime;
@@ -341,9 +322,13 @@ export default {
         };
         delete params.businessDate;
       }
+      params = {
+        ...params,
+        tabType: this.tabType
+      };
       this.loading = true;
       this.dataList.forEach(item => {
-      this.$refs.crud.toggleRowExpansion(item, false);
+        this.$refs.crud.toggleRowExpansion(item, false);
       });
       getList(page.currentPage, page.pageSize, params)
         .then(res => {
@@ -451,7 +436,7 @@ export default {
     }
   },
   watch: {
-    option: function() {
+    option: function () {
       this.search.businessDate = defaultDate();
     }
   }
@@ -462,9 +447,11 @@ export default {
 ::v-deep .select-component {
   display: flex;
 }
+
 .page-crad ::v-deep .basic-container__card {
   height: 94.2vh;
 }
+
 .itemTable ::v-deep .el-table {
   margin-left: 50px;
   width: 100%;

+ 2 - 1
src/views/exportTrade/salesContract/index.vue

@@ -130,10 +130,11 @@ export default {
     name: "customerInformation",
     data() {
         return {
+            
             dialogVisible: false,
             purchaseStatusList: [],
             activeName: 'second',
-            tabType: 1,
+            tabType: 2,
             search: {
                 // businesDate: defaultDate()
             },

+ 42 - 61
src/views/exportTrade/shippingInquiry/index.vue

@@ -1,31 +1,20 @@
 <template>
   <div>
     <basic-container v-show="show" class="page-crad">
-      <avue-crud
-        ref="crud"
-        :option="option"
-        :data="dataList"
-        v-model="form"
-        :page.sync="page"
-        :search.sync="search"
-        @search-change="searchChange"
-        @current-change="currentChange"
-        @size-change="sizeChange"
-        @refresh-change="refreshChange"
-        @on-load="onLoad"
-        @saveColumn="saveColumn"
-        @resetColumn="resetColumn"
-        :cell-style="cellStyle"
-        @search-criteria-switch="searchCriteriaSwitch"
-      >
+      <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
+        <el-tab-pane label="待确认" name="first" />
+        <el-tab-pane label="已确认" name="second" />
+        <el-tab-pane label="全部" name="fourth" />
+      </el-tabs>
+      <avue-crud ref="crud" :option="option" :data="dataList" v-model="form" :page.sync="page" :search.sync="search"
+        @search-change="searchChange" @current-change="currentChange" @size-change="sizeChange"
+        @refresh-change="refreshChange" @on-load="onLoad" @saveColumn="saveColumn" @resetColumn="resetColumn"
+        :cell-style="cellStyle" @search-criteria-switch="searchCriteriaSwitch" :table-loading="loading">
         <template slot="menuLeft">
           <el-button type="info" size="small">报表打印</el-button>
         </template>
         <template slot-scope="scope" slot="orderNo">
-          <span
-            style="color: #409EFF;cursor: pointer"
-            @click.stop="editOpen(scope.row, 1)"
-            >{{ scope.row.orderNo }}
+          <span style="color: #409EFF;cursor: pointer" @click.stop="editOpen(scope.row, 1)">{{ scope.row.orderNo }}
           </span>
         </template>
         <template slot="portOfLoadSearch">
@@ -35,60 +24,31 @@
           <port-info v-model="search.portOfDestination" />
         </template>
         <template slot="businesDateSearch">
-          <el-date-picker
-            v-model="search.businesDate"
-            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']"
-          >
+          <el-date-picker v-model="search.businesDate" 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']">
           </el-date-picker>
         </template>
         <template slot="plannedDeliveryDateSearch">
-          <el-date-picker
-            v-model="search.plannedDeliveryDate"
-            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']"
-          >
+          <el-date-picker v-model="search.plannedDeliveryDate" 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']">
           </el-date-picker>
         </template>
         <template slot="createTimeSearch">
-          <el-date-picker
-            v-model="search.createTime"
-            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']"
-          >
+          <el-date-picker v-model="search.createTime" 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']">
           </el-date-picker>
         </template>
         <template slot-scope="{ row }" slot="createUser">
           <span>{{ row.createUserName }}</span>
         </template>
         <template slot-scope="scope" slot="menu">
-          <el-button
-            type="text"
-            icon="el-icon-edit"
-            size="small"
-            @click.stop="editOpen(scope.row, 1)"
-            >编辑
+          <el-button type="text" icon="el-icon-edit" size="small" @click.stop="editOpen(scope.row, 1)">编辑
           </el-button>
         </template>
       </avue-crud>
     </basic-container>
-    <detail-page
-      @goBack="goBack"
-      :detailData="detailData"
-      v-if="!show"
-    ></detail-page>
+    <detail-page @goBack="goBack" :detailData="detailData" v-if="!show"></detail-page>
   </div>
 </template>
 
@@ -101,6 +61,8 @@ export default {
   name: "customerInformation",
   data() {
     return {
+      activeName: 'first',
+      tabType: 1,
       search: {},
       option: {},
       parentId: 0,
@@ -127,9 +89,19 @@ export default {
     gainUser().then(res => {
       this.findObject(this.option.column, "createUser").dicData = res.data.data;
     });
-    this.option.height = window.innerHeight - 210;
+    this.option.height = window.innerHeight - 260;
   },
   methods: {
+    handleClick(tab, event) {
+      if (this.activeName == 'first') {
+        this.tabType = 1
+      } else if (this.activeName == 'second') {
+        this.tabType = 2
+      } else if (this.activeName == 'fourth') {
+        this.tabType = ''
+      }
+      this.onLoad(this.page, this.search);
+    },
     searchCriteriaSwitch(type) {
       if (type) {
         this.option.height = this.option.height - 93;
@@ -186,10 +158,18 @@ export default {
         };
         delete params.businesDate;
       }
+      params = {
+        ...params,
+        tabType: this.tabType
+      };
+      this.loading = true
       getList(page.currentPage, page.pageSize, params).then(res => {
         this.dataList = res.data.data.records ? res.data.data.records : [];
         this.page.total = res.data.data.total;
-      });
+      })
+        .finally(() => {
+          this.loading = false
+        })
     },
     refreshChange() {
       this.onLoad(this.page, this.search);
@@ -232,6 +212,7 @@ export default {
 ::v-deep .select-component {
   display: flex;
 }
+
 .page-crad ::v-deep .basic-container__card {
   height: 94.2vh;
 }

+ 565 - 0
src/views/iosBasicData/decisionAnalysis/index.vue

@@ -0,0 +1,565 @@
+<template>
+    <basic-container>
+        <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" v-model="form"
+            ref="crud" id="out-table" :header-cell-class-name="headerClassName" @row-del="rowDel"
+            @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
+            @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
+            @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 372)"
+            @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 372)" @on-load="onLoad">
+            <template slot="menuLeft">
+                <el-button type="success" size="small" plain @click="Export">导出</el-button>
+            </template>
+            <template slot="header">
+                <avue-crud :data="commodityData" :table-loading="itemLoading" :option="itemOption"></avue-crud>
+            </template>
+        </avue-crud>
+    </basic-container>
+</template>
+  
+<script>
+import { getList, boxNumberProfitStatisticsSum} from "@/api/iosBasicData/decisionAnalysis";
+import { getToken } from "@/util/auth";
+import {defaultDate3} from "@/util/date";
+export default {
+    data() {
+        return {
+            form: {},
+            query: {
+            },
+            loading: false,
+            itemLoading: false,
+            page: {
+                pageSize: 20,
+                currentPage: 1,
+                total: 0
+            },
+            selectionList: [],
+            option: {},
+            optionBack: {
+                height: 'auto',
+                calcHeight: 30,
+                searchShow: true,
+                searchMenuSpan: 24,
+                border: true,
+                index: true,
+                addBtn: false,
+                menu: false,
+                searchIcon: true,
+                searchIndex: 3,
+                searchLabelWidth: "80",
+                column: [
+                    {
+                        label: "业务来源",
+                        prop: "srcType",
+                        search: true,
+                        type: 'select',
+                        filterable: true,
+                        dicUrl: '/api/blade-system/dict-biz/dictionary?code=src_type_los',
+                        hide: true,
+                        showColumn: false,
+                        overHidden: true,
+                        props: {
+                            label: "dictValue",
+                            value: "dictKey"
+                        },
+                    },
+                    {
+                        label: "委托人",
+                        prop: "corpCnName",
+                        type: 'select',
+                        search: true,
+                        filterable: true,
+                        remote: true,
+                        dicUrl: "/api/blade-los/bcorps/listByType?cnName={{key}}",
+                        props: {
+                            label: 'cnName',
+                            value: 'cnName',
+                            res: 'data.records'
+                        },
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "业务员",
+                        prop: "srcCnName",
+                        search: true,
+                        width: '100',
+                        overHidden: true,
+                        filterable: true,
+                        remote: true,
+                        type: "select",
+                        dicUrl: "/api/blade-user/page?size=20&current=1&account={{key}}",
+                        props: {
+                            label: "account",
+                            value: "account",
+                            res: 'data.records'
+                        }
+                    },
+                    {
+                        label: "单据编号",
+                        prop: "billNo",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "MB/L No",
+                        prop: "mblno",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "HB/L No",
+                        prop: "hblno",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "场站",
+                        prop: "cyCnName",
+                        search: true,
+                        width: '100',
+                        overHidden: true,
+                        filterable: true,
+                        remote: true,
+                        type: "select",
+                        dicUrl: "/api/blade-los/bcorps/listByType?status=0&current=1&size=10&corpTypeName=场站&cnName={{key}}",
+                        props: {
+                            label: "cnName",
+                            value: "cnName",
+                            res: 'data.records'
+                        }
+                    },
+                    {
+                        label: "船公司",
+                        prop: "carrierCnName",
+                        search: true,
+                        width: '100',
+                        overHidden: true,
+                        filterable: true,
+                        remote: true,
+                        type: "select",
+                        dicUrl: "/api/blade-los/bcorps/listByType?status=0&corpTypeName=船公司&current=1&size=10&cnName={{key}}",
+                        props: {
+                            label: "cnName",
+                            value: "cnName",
+                            res: 'data.records'
+                        }
+                    },
+                    {
+                        label: "开船日期",
+                        prop: "date",
+                        search: true,
+                        hide: true,
+                        showColumn: false,
+                        overHidden: true,
+                        searchProp: "etdList",
+                        type: "date",
+                        unlinkPanels: true,
+                        searchRange: true,
+                        format: "yyyy-MM-dd",
+                        valueFormat: "yyyy-MM-dd HH:mm:ss",
+                        searchDefaultTime: ["00:00:00", "23:59:59"],
+                    },
+                    {
+                        label: "航线",
+                        prop: "lineCnName",
+                        search: true,
+                        hide: true,
+                        showColumn: false,
+                        overHidden: true,
+                        filterable: true,
+                        remote: true,
+                        type: "select",
+                        dicUrl: "api/blade-los/blines/list?status=0&current=1&size=10&cnName={{key}}",
+                        props: {
+                            label: "cnName",
+                            value: "cnName",
+                            res: 'data.records'
+                        }
+                    },
+                    {
+                        label: "业务类型",
+                        prop: "businessType",
+                        search: true,
+                        hide: true,
+                        showColumn: false,
+                        overHidden: true,
+                        filterable: true,
+                        type: 'select',
+                        dicUrl: '/api/blade-system/dict-biz/dictionary?code=decisionAnalysis_business_type',
+                        props: {
+                            label: "dictValue",
+                            value: "dictKey"
+                        },
+                    },
+                    {
+                        label: "船名",
+                        prop: "vesselCnName",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "航次",
+                        prop: "voyageNo",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "目的港",
+                        prop: "podCnName",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "支付类型",
+                        prop: "hpaymode",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "ETD",
+                        prop: "etd",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "ETA",
+                        prop: "eta",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "Teu",
+                        prop: "teu",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "20",
+                        prop: "quantityV20",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "40",
+                        prop: "quantityV40",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "45",
+                        prop: "quantityV45",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "48",
+                        prop: "quantityV48",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "40Hc",
+                        prop: "quantityV40hc",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "件数",
+                        prop: "quantity",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "毛重",
+                        prop: "grossWeight",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "体积",
+                        prop: "measurement",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "人民币应收",
+                        prop: "amountDr",
+                        width: '120',
+                        overHidden: true,
+                    },
+                    {
+                        label: "人民币应付",
+                        prop: "amountCr",
+                        width: '120',
+                        overHidden: true,
+                    },
+                    {
+                        label: "人民币利润",
+                        prop: "amountProfit",
+                        width: '120',
+                        overHidden: true,
+                    },
+                    {
+                        label: "美金应收",
+                        prop: "amountDrUsd",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "美金应付",
+                        prop: "amountCrUsd",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "美金利润",
+                        prop: "amountProfitUsd",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "合计应收",
+                        prop: "amountDrLoc",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "合计应付",
+                        prop: "amountCrLoc",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "合计利润",
+                        prop: "amountProfitLoc",
+                        width: '100',
+                        overHidden: true,
+                    }
+                ]
+            },
+            data: [],
+            commodityData: [],
+            itemOption: {
+                border: true,
+                align: 'center',
+                header: false,
+                menu: false,
+                height: '90',
+                column: [
+                    {
+                        label: "20",
+                        prop: "quantityV20",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "40",
+                        prop: "quantityV40",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "45",
+                        prop: "quantityV45",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "48",
+                        prop: "quantityV48",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "40Hc",
+                        prop: "quantityV40hc",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "人民币应收",
+                        prop: "amountDr",
+                        width: '120',
+                        overHidden: true,
+                    },
+                    {
+                        label: "人民币应付",
+                        prop: "amountCr",
+                        width: '120',
+                        overHidden: true,
+                    },
+                    {
+                        label: "人民币利润",
+                        prop: "amountProfit",
+                        width: '120',
+                        overHidden: true,
+                    },
+                    {
+                        label: "美金应收",
+                        prop: "amountDrUsd",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "美金应付",
+                        prop: "amountCrUsd",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "美金利润",
+                        prop: "amountProfitUsd",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "合计应收",
+                        prop: "amountDrLoc",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "合计应付",
+                        prop: "amountCrLoc",
+                        width: '100',
+                        overHidden: true,
+                    },
+                    {
+                        label: "合计利润",
+                        prop: "amountProfitLoc",
+                        width: '100',
+                        overHidden: true,
+                    }
+                ]
+            },
+        };
+    },
+    async created() {
+        this.option = await this.getColumnData(this.getColumnName(372), this.optionBack)
+    },
+    methods: {
+        searchReset() {
+            this.query = this.$options.data.query;
+            this.onLoad(this.page);
+        },
+        // 搜索点击回调
+        searchChange(params, done) {
+            if (params.etdList) {
+                params = {
+                    ...params,
+                    dateStart: params.etdList[0],
+                    dateEnd: params.etdList[1],
+                }
+            }
+            this.query = params;
+            this.page.currentPage = 1;
+            console.log()
+            this.onLoad(this.page, params);
+            done();
+        },
+        selectionChange(list) {
+            this.selectionList = list;
+        },
+        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;
+            getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+                this.page.total = res.data.data.total;
+                this.data = res.data.data.records
+                this.getStatisticsSum(Object.assign(params, this.query))
+                this.$nextTick(() => {
+                    this.$refs.crud.doLayout()
+                    this.$refs.crud.dicInit()
+                })
+            }).finally(() => {
+                this.loading = false;
+            })
+        },
+        getStatisticsSum(params) {
+            this.itemLoading = true
+            boxNumberProfitStatisticsSum(params).then(res => {
+                this.commodityData = [res.data.data]
+            }).finally(() => {
+                this.itemLoading = false;
+            })
+        },
+        Export() {
+            const routeData = this.$router.resolve({
+                path: '/api/blade-los/statisticAnalysis/boxNumberProfitStatisticsExport',//跳转目标窗口的地址
+                query: {
+                    'Blade-Auth': getToken(),
+                    ...this.query
+                }
+            })
+            window.open(routeData.href.slice(1, routeData.href.length));
+        },
+        //自定义列保存
+        async saveColumnTwo(ref, option, optionBack, code) {
+            /**
+             * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
+             * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
+             * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
+             */
+            const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
+            if (inSave) {
+                this.$message.success("保存成功");
+                //关闭窗口
+                this.$refs[ref].$refs.dialogColumn.columnBox = false;
+            }
+        },
+        //自定义列重置
+        async resetColumnTwo(ref, option, optionBack, code) {
+            this[option] = this[optionBack];
+            const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
+            if (inSave) {
+                this.$message.success("重置成功");
+                this.$refs[ref].$refs.dialogColumn.columnBox = false;
+            }
+        },
+
+        // 更改表格颜色
+        headerClassName(tab) {
+            //颜色间隔
+            let back = ""
+            if (tab.columnIndex >= 0 && tab.column.level === 1) {
+                if (tab.columnIndex % 2 === 0) {
+                    back = "back-one"
+                } else if (tab.columnIndex % 2 === 1) {
+                    back = "back-two"
+                }
+            }
+            return back;
+        },
+    }
+};
+</script>
+  
+<style scoped>
+::v-deep#out-table .back-one {
+    background: #ecf5ff !important;
+    text-align: center;
+}
+
+::v-deep#out-table .back-two {
+    background: #ecf5ff !important;
+    text-align: center;
+}
+
+::v-deep .el-col-md-8 {
+    width: 24.33333%;
+}
+
+::v-deep.el-form-item {
+    margin-bottom: 0;
+}
+</style>
+  

+ 0 - 0
src/views/iosBasicData/horizontalStatistics/index.vue


+ 0 - 3
src/views/tirePartsMall/basicData/costInformation/index.vue

@@ -20,9 +20,6 @@
     detail,
     deleteDetails
   } from "@/api/tirePartsMall/basicData/warehouse";
-  import {
-    customerListAll
-  } from "@/api/tirePartsMall/basicData/warehouse";
   import {getUser} from "@/api/system/user";
   export default {
     name: "customerInformation",

+ 1 - 7
src/views/tirePartsMall/salesService/inStorage/index.vue

@@ -434,7 +434,7 @@ export default {
       // 获取业务对象
       corpsDescListAllfun(){
           corpsDescListAll({corpType:'KH'}).then(res=>{
-              this.findObject(this.option.column, "customerId").dicData = res.data.data
+              this.findObject(this.option.column, "customerName").dicData = res.data.data
           })
       },
     onLoad(page, params = {}) {
@@ -464,12 +464,6 @@ export default {
         if (res.data.data.records) {
           res.data.data.records.forEach(e => {
             e.itemLoading = true;
-              this.findObject(this.option.column, "customerId").dicData.map(item=>{
-                  if (e.customerId == item.id) {
-                      e.customerName = item.cname
-                  }
-              })
-
           });
         }
         this.dataList = res.data.data.records