浏览代码

同步贸易,新增打印依赖

caojunjie 2 年之前
父节点
当前提交
4b2b5504c9

+ 8 - 0
package-lock.json

@@ -14379,6 +14379,14 @@
         "vue-style-loader": "^4.1.0"
       }
     },
+    "vue-print-nb": {
+      "version": "1.7.5",
+      "resolved": "https://registry.npmmirror.com/vue-print-nb/-/vue-print-nb-1.7.5.tgz",
+      "integrity": "sha512-iNbNyUVRWz0Ha1UTiCKxMPtHLUDGgNI8e8xmD3xqm9RlXIUeX9bT7DgNAfY8vPzqyFRHqGjxLI1rycKH366ziQ==",
+      "requires": {
+        "vue": "^2.6.11"
+      }
+    },
     "vue-router": {
       "version": "3.5.2",
       "resolved": "https://registry.nlark.com/vue-router/download/vue-router-3.5.2.tgz",

+ 1 - 0
package.json

@@ -32,6 +32,7 @@
     "vue": "^2.6.10",
     "vue-axios": "^2.1.2",
     "vue-i18n": "^8.7.0",
+    "vue-print-nb": "^1.7.5",
     "vue-router": "^3.0.1",
     "vue-text-format": "^1.2.6",
     "vuedraggable": "^2.24.3",

+ 16 - 0
src/api/purchasingManagement/inStock.js

@@ -109,3 +109,19 @@ export function scanningCodeAddPc(data) {
         params: data
     })
 }
+//批量打印数据
+export function receiptItemPrint(data) {
+    return request({
+        url: '/api/trade-purchase/woodHarvestingCloud/receiptItemPrint',
+        method: 'get',
+        params: data
+    })
+}
+//批量打印数据
+export function removeBatch(data) {
+    return request({
+        url: '/api/blade-purchase-sales/orderitems/remove',
+        method: 'post',
+        params: data
+    })
+}

+ 3 - 0
src/main.js

@@ -123,6 +123,9 @@ Vue.component('containerTitle', containerTitle);
 //自定义卡片
 import tradeCard from './components/trade-card/main.vue';
 Vue.component('tradeCard', tradeCard);
+//打印
+import Print from 'vue-print-nb'
+Vue.use(Print);
 //注册echarts图表
 import * as echarts from 'echarts';
 Vue.prototype.$echarts = echarts

+ 26 - 0
src/views/businessManagement/deliveryNotice/configuration/mainList.json

@@ -179,6 +179,32 @@
       "index": 16,
       "width": 100,
       "overHidden": true
+    },{
+      "label": "状态",
+      "prop": "deliveryStatus",
+      "search": true,
+      "type":"select",
+      "dicData": [
+        {
+          "label": "录入",
+          "value": "录入"
+        },
+        {
+          "label": "已收货",
+          "value": "已收货"
+        },
+        {
+          "label": "已发货",
+          "value": "已发货"
+        },
+        {
+          "label": "已到货",
+          "value": "已到货"
+        }
+      ],
+      "index": 16,
+      "width": 100,
+      "overHidden": true
     }
   ]
 }

+ 11 - 6
src/views/landTransportation/bulkCargo/detailPage.vue

@@ -865,12 +865,11 @@
       </avue-crud>
     </basic-container>
     </span>
-    <trade-card title="杂费明细"
-                v-if="roleName.indexOf('平台') !== -1 || roleName.indexOf('客户') !== -1 || roleName.indexOf('admin') !== -1 || roleName.indexOf('车队') !== -1">
+    <trade-card title="杂费明细" v-if="roleName.indexOf('平台') !== -1 || roleName.indexOf('客户') !== -1 || roleName.indexOf('admin') !== -1 || roleName.indexOf('车队') !== -1 || roleName.indexOf('散货经理') !== -1">
       <el-tabs v-model="activeIndex" @tab-click="handleSelect">
         <el-tab-pane
             label="应收" name="1"
-            v-if="(roleName.indexOf('平台') !== -1 || roleName.indexOf('客户') !== -1 || roleName.indexOf('admin') !== -1) && !(roleName.indexOf('调度中心业务员') !== -1 || roleName.indexOf('调度中心经理') !== -1)"
+            v-if="(roleName.indexOf('平台') !== -1 || roleName.indexOf('客户') !== -1 || roleName.indexOf('admin') !== -1 || roleName.indexOf('散货经理') !== -1) && !(roleName.indexOf('调度中心业务员') !== -1 || roleName.indexOf('调度中心经理') !== -1)"
         ></el-tab-pane>
         <el-tab-pane
             label="应付" name="2"
@@ -1014,6 +1013,7 @@
         :basic="false"
         deleteUrl="/api/blade-client/common-file/remove"
         :data="orderFilesList"
+        :disabled="roleName.indexOf('散货经理') !== -1"
         display
         :enumerationValue="85.6"
     ></c-upload>
@@ -1132,6 +1132,12 @@ export default {
         if (this.roleName.indexOf('调度中心业务员') !== -1 || this.roleName.indexOf('调度中心经理') !== -1) {
           this.findObject(this.goodsOptionForm.column, 'freightCollect').display = false
         }
+        if (this.roleName.indexOf('散货经理') !== -1){
+          this.goodsForm.status = 5
+          this.goodsOptionFormC.disabled = true
+          this.goodsOptionForm.disabled = true
+          // this.goodsOptionFormTwo.disabled = true
+        }
       }
     }
   },
@@ -2181,12 +2187,11 @@ export default {
     };
   },
   async created() {
-    if (this.roleName.indexOf('调度中心业务员') === -1 || this.roleName.indexOf('调度中心经理') === -1) {
-      this.activeIndex = this.roleName.indexOf('调度中心业务员') === -1 ? '2' : this.roleName.indexOf('调度中心经理') === -1 ? '2' : '1'
+    if (this.roleName.indexOf('调度中心业务员') !== -1 || this.roleName.indexOf('调度中心经理') !== -1) {
+      this.activeIndex = this.roleName.indexOf('调度中心业务员') !== -1 ? '2' : this.roleName.indexOf('调度中心经理') !== -1 ? '2' : '1'
     } else {
       this.activeIndex = this.roleName.indexOf('车队') !== -1 ? '2' : '1'
     }
-    console.log(this.activeIndex)
     if (this.roleName.indexOf('客户') !== -1) {
       this.findObject(this.goodsOptionFormTwo.column, "freightPay").display = false
     }

+ 2 - 3
src/views/landTransportation/bulkCargo/index.vue

@@ -1,8 +1,7 @@
 <template>
   <div>
     <basic-container v-show="show">
-      <div class="home-container"
-           v-if="roleName.indexOf('平台') !== -1 || roleName.indexOf('客户') !== -1 || roleName.indexOf('administrator') !== -1 || roleName.indexOf('admin') !== -1">
+      <div class="home-container" v-if="roleName.indexOf('平台') !== -1 || roleName.indexOf('客户') !== -1 || roleName.indexOf('administrator') !== -1 || roleName.indexOf('admin') !== -1 || roleName.indexOf('散货经理') !== -1">
         <div style="display: flex;justify-content: center;">
           <div class="content">
             <div class="content-item" @click="handleClick('')">
@@ -1066,7 +1065,7 @@ export default {
     this.query = {
       arrivalTime: [defaultDate(4)[0] + ' 00:00:00',defaultDate(4)[1] + ' 23:59:59']
     }
-    if (this.roleName.indexOf('客户') !== -1 || this.roleName.indexOf('admin') !== -1) {
+    if (this.roleName.indexOf('客户') !== -1 || this.roleName.indexOf('admin') !== -1 || this.roleName.indexOf('散货经理') !== -1) {
       this.activeName = '0'
       this.optionList = this.optionListOne
     } else if (this.roleName.indexOf('平台') !== -1) {

+ 1 - 1
src/views/landTransportation/bulkReportAnalysis/index.vue

@@ -914,7 +914,7 @@ export default {
     }
   },
   async created() {
-    if (this.roleName.indexOf('客户') !== -1) {
+    if (this.roleName.indexOf('客户') !== -1 || this.roleName.indexOf('散货经理') !== -1) {
       this.optionList = this.optionListOne
     } else if (this.roleName.indexOf('平台') !== -1||this.roleName.indexOf('admin') !== -1) {
       this.optionList = this.optionListTwo

+ 69 - 16
src/views/landTransportation/reportAnalysis/index.vue

@@ -32,6 +32,9 @@
               row.billNo
             }}</span>
         </template>
+        <template slot="fleetShortName" slot-scope="{row,index}">
+          <span>{{row.fleetShortName}}</span>
+        </template>
         <template slot="corpShortNameSearch" slot-scope="{ row,index}">
           <crop-select
               v-model="row.corpId"
@@ -47,12 +50,6 @@
           <span class="el-button--text" style="cursor: pointer"
                 @click.stop="celJump(row,index)">{{ row.orderNo }}</span>
         </template>
-        <template slot-scope="{row}" slot="fleetIdSearch">
-          <crop-select
-              v-model="row.fleetId"
-              corpType="CD"
-          ></crop-select>
-        </template>
         <template slot-scope="{row,index}" slot="menu">
           <span v-if="row.extraAmountD>0">
             <el-button
@@ -487,7 +484,7 @@ export default {
       // })
       if (this.roleName.indexOf('车队') !== -1) {
         for (let item of this.goodsOptionCrud.column) {
-          if (item.prop === 'dispatchDeptName') return this.calculateHu()
+          if (item.prop === 'dispatchDept') return this.calculateHu()
         }
         this.goodsOptionCrud.column.push(
             {
@@ -515,7 +512,14 @@ export default {
               search: true,
               index: 9,
               overHidden: true,
-              prop: 'fleetShortName'
+              prop: 'fleetId',
+              type: 'select',
+              dicUrl: "/api/blade-client/corpsdesc/fleetList",
+              filterable: true,
+              props: {
+                label: "shortName",
+                value: "id"
+              }
             }, {
               label: '应付运费',
               overHidden: true,
@@ -582,7 +586,14 @@ export default {
               search: true,
               index: 9,
               overHidden: true,
-              prop: 'fleetShortName'
+              prop: 'fleetId',
+              type: 'select',
+              dicUrl: "/api/blade-client/corpsdesc/fleetList",
+              filterable: true,
+              props: {
+                label: "shortName",
+                value: "id"
+              }
             }, {
               label: '应付运费',
               overHidden: true,
@@ -679,7 +690,14 @@ export default {
             search: true,
             index: 9,
             overHidden: true,
-            prop: 'fleetShortName'
+            prop: 'fleetId',
+            type: 'select',
+            dicUrl: "/api/blade-client/corpsdesc/fleetList",
+            filterable: true,
+            props: {
+              label: "shortName",
+              value: "id"
+            }
           })
       return this.calculateHu()
     }
@@ -761,7 +779,14 @@ export default {
             search: true,
             index: 9,
             overHidden: true,
-            prop: 'fleetShortName'
+            prop: 'fleetId',
+            type: 'select',
+            dicUrl: "/api/blade-client/corpsdesc/fleetList",
+            filterable: true,
+            props: {
+              label: "shortName",
+              value: "id"
+            }
           })
       return this.calculateHu()
     }
@@ -910,7 +935,7 @@ export default {
         // })
         if (this.roleName.indexOf('车队') !== -1) {
           for (let item of this.goodsOptionCrud.column) {
-            if (item.prop === 'dispatchDeptName') return this.calculateHu()
+            if (item.prop === 'dispatchDept') return this.calculateHu()
           }
           this.goodsOptionCrud.column.push(
               {
@@ -938,7 +963,14 @@ export default {
                 search: true,
                 index: 9,
                 overHidden: true,
-                prop: 'fleetShortName'
+                prop: 'fleetId',
+                type: 'select',
+                dicUrl: "/api/blade-client/corpsdesc/fleetList",
+                filterable: true,
+                props: {
+                  label: "shortName",
+                  value: "id"
+                }
               }, {
                 label: '应付运费',
                 overHidden: true,
@@ -1005,7 +1037,14 @@ export default {
                 search: true,
                 index: 9,
                 overHidden: true,
-                prop: 'fleetShortName'
+                prop: 'fleetId',
+                type: 'select',
+                dicUrl: "/api/blade-client/corpsdesc/fleetList",
+                filterable: true,
+                props: {
+                  label: "shortName",
+                  value: "id"
+                }
               }, {
                 label: '应付运费',
                 overHidden: true,
@@ -1102,7 +1141,14 @@ export default {
               search: true,
               index: 9,
               overHidden: true,
-              prop: 'fleetShortName'
+              prop: 'fleetId',
+              type: 'select',
+              dicUrl: "/api/blade-client/corpsdesc/fleetList",
+              filterable: true,
+              props: {
+                label: "shortName",
+                value: "id"
+              }
             })
         return this.calculateHu()
       }
@@ -1184,7 +1230,14 @@ export default {
               search: true,
               index: 9,
               overHidden: true,
-              prop: 'fleetShortName'
+              prop: 'fleetId',
+              type: 'select',
+              dicUrl: "/api/blade-client/corpsdesc/fleetList",
+              filterable: true,
+              props: {
+                label: "shortName",
+                value: "id"
+              }
             })
         return this.calculateHu()
       }

+ 17 - 0
src/views/purchasingManagement/inStock/config/customerContact.json

@@ -11,6 +11,8 @@
   "menuWidth": 200,
   "refreshBtn": false,
   "indexSlot": true,
+  "selection": true,
+  "tip": false,
   "showSummary": true,
   "summaryText": "合计",
   "sumColumnList": [
@@ -320,6 +322,21 @@
       "overHidden": true,
       "cell": true,
       "width": 100
+    },{
+      "index": 25,
+      "prop": "printedBy",
+      "label": "打印人",
+      "overHidden": true,
+      "width": 120
+    },{
+      "index": 26,
+      "prop": "printedDate",
+      "label": "打印日期",
+      "type": "data",
+      "format": "yyyy-MM-dd",
+      "valueFormat": "yyyy-MM-dd",
+      "overHidden": true,
+      "width": 100
     }
   ]
 }

+ 125 - 11
src/views/purchasingManagement/inStock/detailsPage.vue

@@ -70,7 +70,7 @@
       </trade-card>
       <trade-card title="入库明细">
         <avue-crud ref="crud" :data="itemsVOList" :option="tableOption" @row-del="rowDel" @saveColumn="saveColumn"
-                   @resetColumn="resetColumn" :cell-style="cellStyle" @row-save="rowSave" @row-update="addUpdate">
+                   @resetColumn="resetColumn" :cell-style="cellStyle" @row-save="rowSave" @row-update="addUpdate" @selection-change="selectionChange">
           <template slot="menuLeft">
             <el-button type="primary" icon="el-icon-plus" size="small" :disabled="detailData.status == 1"
                        @click.stop="addRow">录入明细
@@ -79,12 +79,20 @@
             <el-button type="info" icon="el-icon-top" size="small" :disabled="detailData.status == 1&&form.id"
                        @click.stop="excelBox = true">导入
             </el-button>
-<!--            <el-button-->
-<!--                type="success"-->
-<!--                icon="el-icon-printer"-->
-<!--                size="small"-->
-<!--                @click.stop="dialogVisible = true">打印-->
-<!--            </el-button>-->
+            <el-button
+                type="success"
+                icon="el-icon-printer"
+                size="small"
+                :disabled="batchPrinting"
+                @click.stop="printStackCard()">批量打印{{batchPrinting}}
+            </el-button>
+            <el-button
+                type="danger"
+                icon="el-icon-printer"
+                size="small"
+                :disabled="batchDeletion"
+                @click.stop="batchDeleteDetails()">批量删除
+            </el-button>
           </template>
           <template slot="headerSerial">
             <el-button type="primary" icon="el-icon-plus" size="mini" @click.stop="addRow"
@@ -180,11 +188,45 @@
         append-to-body
         width="70%">
       <div id="printAll">
-        <div v-for="item in 1000">测试</div>
+        <div v-for="(item,index) in printList" :key="index" style="page-break-after:always">
+          <table align="center">
+            <tr>
+              <th colspan="5">垛卡</th>
+            </tr>
+            <tr>
+              <td>品名:</td>
+              <td>{{ item.cname }}</td>
+              <td>等级:</td>
+              <td>{{ item.grade }}</td>
+              <td rowspan="3">
+                <img style="width: 100px;height: 100px;" :src="item.qrCode" alt="">
+              </td>
+            </tr>
+            <tr>
+              <td>厚度:</td>
+              <td>{{ item.thickness }}</td>
+              <td>长度:</td>
+              <td>{{item.length}}</td>
+            </tr>
+            <tr>
+              <td>备注:</td>
+              <td colspan="3">{{ item.remarks }}</td>
+            </tr>
+            <tr>
+              <th>包号:</th>
+              <th colspan="5">{{item.billNo}}</th>
+            </tr>
+            <tr>
+              <td colspan="5">
+                <img style="width: 100%;height: 40px;margin: 0 auto" :src="item.oneCode" alt="">
+              </td>
+            </tr>
+          </table>
+        </div>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="dialogVisible = false">取 消</el-button>
-        <el-button type="primary">打 印</el-button>
+        <el-button type="primary" v-print="'#printAll'">打 印</el-button>
       </span>
     </el-dialog>
   </div>
@@ -200,7 +242,8 @@ import {
   getAllgoods,
   delItem,
   revokeWarehousing,
-  withdraw
+  withdraw,
+  receiptItemPrint, removeBatch
 } from "@/api/purchasingManagement/inStock";
 import tableOption from "./config/customerContact.json";
 import feeInfo from "@/components/fee-info/main";
@@ -219,7 +262,10 @@ export default {
       checkDialog: false,
       dialogVisible: false,
       subLoading: false,
+      batchPrinting:true,
+      batchDeletion:true,
       form: {},
+      printList:[],
       excelBox: false,
       excelOption: {
         submitBtn: false,
@@ -248,6 +294,7 @@ export default {
       excelForm: {},
       checkScheduleDialog: false,
       tableOption: {},
+      selectionList:[],
       option: {
         disabled: false,
         menuBtn: false,
@@ -395,11 +442,27 @@ export default {
             },
             span: 6
           }, {
+            label: "是否扫描",
+            prop: "isScanning",
+            minRows: 1,
+            span: 6,
+            type: "select",
+            value: "0",
+            dicData: [
+              {
+                label: "是",
+                value: "0"
+              }, {
+                label: "否",
+                value: "1"
+              }
+            ],
+          }, {
             label: "备注",
             prop: "orderRemark",
             type: "textarea",
             minRows: 1,
-            span: 24
+            span: 18
           },
         ]
       },
@@ -452,6 +515,54 @@ export default {
     this.getAllWorkDicts()
   },
   methods: {
+    batchDeleteDetails(){
+      let data = []
+      for (let item of this.selectionList){
+        data.push(item.id)
+      }
+      removeBatch({ids:data.join(",")}).then(res=>{
+      for(let item of data){
+        for (let i in this.itemsVOList){
+          if (item === this.itemsVOList[i].id){
+            this.itemsVOList.splice(i, 1);
+          }
+        }
+      }
+      })
+    },
+    printStackCard(){
+      let data = []
+      for (let item of this.selectionList){
+        data.push(item.id)
+      }
+      receiptItemPrint({ids:data.join(",")}).then(res=>{
+        this.printList = res.data.data
+        this.dialogVisible = true
+      })
+    },
+    selectionChange(list){
+      this.selectionList = list
+      if (this.selectionList.length === 0){
+        this.batchPrinting = true
+        this.batchDeletion = true
+      }
+      for(let item of this.selectionList){
+        if (item.isIssue == 0 || !item.isIssue) {
+          this.batchPrinting = true
+          break
+        }else {
+          this.batchPrinting = false
+        }
+      }
+      for(let item of this.selectionList){
+        if (item.isIssue > 0 || !item.id) {
+          this.batchDeletion = true
+          break
+        }else {
+          this.batchDeletion = false
+        }
+      }
+    },
     check() {
       this.checkData = this.$route.query.check
       this.checkDialog = true
@@ -1142,6 +1253,9 @@ export default {
         this.$nextTick(() => {
           this.$refs.crud.doLayout();
         });
+        this.tableOption.selectable = (row,index)=>{
+          return row.status == 0
+        }
         this.$message.success("重置成功");
         this.getAllWorkDicts()
         this.getStorage()

+ 5 - 4
src/views/salesManagement/outStock/detailsPage.vue

@@ -1200,15 +1200,16 @@ export default {
     },
     searchChange(params, done) {
       if (this.search.stockTime){
-        this.search.stockTimeStart = this.search.stockTime[0]
-        this.search.stockTimeEnd = this.search.stockTime[1]
+        params.stockTimeStart = this.search.stockTime[0]
+        params.stockTimeEnd = this.search.stockTime[1]
       }
-      this.onLoad(this.page, this.search);
+      delete params.stockTime
+      this.onLoad(this.page, params);
       done();
     },
     //商品查询
     onLoad(page, params = {}) {
-      let obj = this.deepClone(Object.assign(params, this.search));
+      let obj = this.deepClone(Object.assign(params));
       this.loading = true;
       scanningCodeAddPc({
         storageId: this.form.storageId,

+ 21 - 0
src/views/statisticAnalysis/packFeeRecon/index.vue

@@ -16,6 +16,9 @@
           </el-button> -->
           <el-button type="info" size="small" @click="outExport" icon="el-icon-download">导出</el-button>
         </template>
+        <template slot-scope="scope" slot="orderNo">
+          <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row, scope.index)">{{scope.row.orderNo}}</span>
+        </template>
         <template slot="brandSearch">
           <el-select v-model="search.brand" filterable clearable>
             <el-option v-for="(item, index) in brandOption" :key="index" :label="item.dictValue"
@@ -70,6 +73,16 @@ export default {
         // searchIcon: true,
         // searchIndex: 2,
         menu: false,
+        summaryText: "合计",
+        sumColumnList: [{
+          name: "quantity",
+          type: "sum",
+          decimals: 0
+        },{
+          name: "feesAmount",
+          type: "sum",
+          decimals: 2
+        }],
         column: [
           {
             label: '销售订单号',
@@ -133,6 +146,14 @@ export default {
     })
   },
   methods: {
+    //查看跳转页面
+    beforeOpenPage(row, index) {
+      this.$router.$avueRouter.closeTag("/businessManagement/salesOrder/index");
+      this.$router.push({
+        path: "/businessManagement/salesOrder/index",
+        query: { id: row.orderId }
+      });
+    },
     cellStyle() {
       return "padding:0;height:40px;";
     },

+ 36 - 0
src/views/statisticAnalysis/purchaseReconciliation/index.vue

@@ -11,6 +11,12 @@
           </el-button> -->
           <el-button type="info" size="small" @click="outExport" icon="el-icon-download">导出</el-button>
         </template>
+        <template slot-scope="scope" slot="orgOrderNo">
+          <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row, scope.index)">{{scope.row.orgOrderNo}}</span>
+        </template>
+        <template slot-scope="scope" slot="orderNo">
+          <span style="color: #409EFF;cursor: pointer" @click.stop="openPage(scope.row, scope.index)">{{scope.row.orderNo}}</span>
+        </template>
         <template slot="brandSearch">
           <el-select v-model="search.brand" filterable clearable>
             <el-option v-for="(item, index) in brandOption" :key="index" :label="item.dictValue"
@@ -68,6 +74,20 @@ export default {
         searchIcon: true,
         searchIndex: 2,
         menu: false,
+        summaryText: "合计",
+        sumColumnList: [{
+          name: "quantity",
+          type: "sum",
+          decimals: 0
+        },{
+          name: "orderAmount",
+          type: "sum",
+          decimals: 2
+        },{
+          name: "settlmentAmount",
+          type: "sum",
+          decimals: 2
+        }],
         column: [
           {
             label: "采购单号",
@@ -141,6 +161,22 @@ export default {
     })
   },
   methods: {
+    //查看跳转销售页面
+    beforeOpenPage(row, index) {
+      this.$router.$avueRouter.closeTag("/businessManagement/salesOrder/index");
+      this.$router.push({
+        path: "/businessManagement/salesOrder/index",
+        query: { id: row.orderId }
+      });
+    },
+    //查看跳转采购页面
+    openPage(row, index) {
+      this.$router.$avueRouter.closeTag("/businessManagement/purchaseOrder/index");
+      this.$router.push({
+        path: "/businessManagement/purchaseOrder/index",
+        query: { params: row.orderId }
+      });
+    },
     cellStyle() {
       return "padding:0;height:40px;";
     },

+ 1 - 5
src/views/statisticAnalysis/salesDetails/index.vue

@@ -65,16 +65,12 @@ export default {
         sumColumnList: [{
           name: "quantity",
           type: "sum",
-          decimals: 2
+          decimals: 0
         }, {
           name: "amount",
           type: "sum",
           decimals: 2
         }, {
-          name: "price",
-          type: "sum",
-          decimals: 2
-        }, {
           name: "settlmentAmount",
           type: "sum",
           decimals: 2

+ 51 - 15
src/views/statisticAnalysis/salesProfitN/index.vue

@@ -22,7 +22,9 @@
               :value="item.dictValue" />
           </el-select>
         </template>
-
+        <template slot-scope="scope" slot="corpName">
+          <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row, scope.index)">{{scope.row.corpName}}</span>
+        </template>
         <template slot-scope="{row}"
                   slot="source">
           <div style="text-align:center">
@@ -74,24 +76,50 @@ export default {
         sumColumnList: [{
           name: "quantity",
           type: "sum",
+          decimals: 0
+        },{
+          name: "amount",
+          type: "sum",
+          decimals: 2
+        },{
+          name: "specialOfferAmount",
+          type: "sum",
+          decimals: 2
+        },{
+          name: "nonSpecialOfferQuantity",
+          type: "sum",
+          decimals: 2
+        },{
+          name: "nonSpecialOfferAmount",
+          type: "sum",
+          decimals: 2
+        },{
+          name: "seventeenQuantity",
+          type: "sum",
+          decimals: 2
+        },{
+          name: "seventeenAmount",
+          type: "sum",
+          decimals: 2
+        },{
+          name: "purchaseAmount",
+          type: "sum",
+          decimals: 2
+        },{
+          name: "thisUsedProfit",
+          type: "sum",
+          decimals: 2
+        },{
+          name: "totalAmount",
+          type: "sum",
+          decimals: 2
+        },{
+          name: "grossProfit",
+          type: "sum",
           decimals: 2
         }],
         column: [
           {
-            label: "菜单图标",
-            prop: "source",
-            type: "icon",
-            slot: true,
-            iconList: iconList,
-            rules: [
-              {
-                required: true,
-                message: "请输入菜单图标",
-                trigger: "click"
-              }
-            ]
-          },
-          {
             label: "客户名称",
             prop: "corpName",
             overHidden: true,
@@ -218,6 +246,14 @@ export default {
     })
   },
   methods: {
+    //查看跳转页面
+    beforeOpenPage(row, index) {
+      this.$router.$avueRouter.closeTag("/businessManagement/salesOrder/index");
+      this.$router.push({
+        path: "/businessManagement/salesOrder/index",
+        query: { id: row.orderId }
+      });
+    },
     cellStyle() {
       return "padding:0;height:40px;";
     },

+ 6 - 0
src/views/statisticAnalysis/salesmanCommission/index.vue

@@ -74,6 +74,12 @@ export default {
         searchIcon: true,
         searchIndex: 2,
         menu: false,
+        summaryText: "合计",
+        sumColumnList: [{
+          name: "quantity",
+          type: "sum",
+          decimals: 0
+        }],
         column: [
           {
             label: "品牌",