Qukatie 7 月之前
父節點
當前提交
c5f9c9a61a

+ 14 - 0
src/api/iosBasicData/bills.js

@@ -381,4 +381,18 @@ export const pleaseVerifyCostBatch = (data) => {
     method: 'get',
     params:data
   })
+}
+export const MktSlotQuotation = (data) => {
+  return request({
+    url: '/api/blade-los/mktslot/MktSlotQuotation',
+    method: 'get',
+    params:data
+  })
+}
+export const quotationImportBatch = (data) => {
+  return request({
+    url: '/api/blade-los/feecenter/quotationImportBatch',
+    method: 'get',
+    params:data
+  })
 }

+ 26 - 14
src/components/boxManagement/businessReports.vue

@@ -4,7 +4,7 @@
       :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" v-dialog-drag>
       <avue-crud :option="selecList.length || type ? optionBack : optionPrinting" :table-loading="loading" :data="data"
         :page.sync="page" :permission="permissionList" v-model="form" ref="crud" id="out-table"
-        :header-cell-class-name="headerClassName" :search.sync="query"  @search-change="searchChange"
+        :header-cell-class-name="headerClassName" :search.sync="query" @search-change="searchChange"
         @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange"
         @size-change="sizeChange" @refresh-change="refreshChange">
         <template slot-scope="scope" slot="menu">
@@ -12,17 +12,18 @@
             @click="reportsGetReportDatafun(scope.row.url, scope.row)">预览报表</el-link>
         </template>
         <template slot="curCode" slot-scope="{ row }">
-          <dic-select v-model="row.curCode" placeholder="币别" key="id" keyValue="key" label="code" :mockData="curCodeList"
-            :filterable="true" :activateCreated="false"></dic-select>
+          <dic-select v-model="row.curCode" placeholder="币别" key="id" keyValue="key" label="code"
+            :mockData="curCodeList" :filterable="true" :activateCreated="false"></dic-select>
         </template>
       </avue-crud>
     </el-dialog>
     <reportContainer ref="reportContainer"></reportContainer>
+    <mail-component ref="mailComponentRef" />
   </div>
 </template>
 
 <script>
-import { getList, getDetail, add, update, remove,printingUpdate } from "@/api/boxManagement/reports";
+import { getList, getDetail, add, update, remove, printingUpdate } from "@/api/boxManagement/reports";
 import { reportsGetReportData } from "@/api/boxManagement/reports";
 import { getUserApprovalList } from "@/api/approval/processConfig";
 import { mapGetters } from "vuex";
@@ -31,10 +32,12 @@ import { bbusinesstypeList } from "@/api/iosBasicData/bbusinesstype";
 import reportContainer from "@/views/iosBasicData/report-container/report-container.vue"
 import { getFeeCenterCorpIds } from "@/api/iosBasicData/feecenter";
 import dicSelect from "@/components/dicSelect/main";
+import mailComponent from "@/components/iosbasic-data/mail-component.vue";
 export default {
   components: {
     dicSelect,
-    reportContainer
+    reportContainer,
+    mailComponent
   },
   props: {
     id: {
@@ -119,14 +122,14 @@ export default {
         delBtn: false,
         editBtn: false,
         menuWidth: '100',
-        header:false,
+        header: false,
         // menu:false,
         column: [
-        // {
-        //     label: "币别",
-        //     prop: "curCode",
-        //     overHidden: true,
-        //   },
+          // {
+          //     label: "币别",
+          //     prop: "curCode",
+          //     overHidden: true,
+          //   },
           {
             label: "客户名称",
             prop: "cnName",
@@ -600,7 +603,7 @@ export default {
     },
     // 打印报表获取数据
     reportsGetReportDatafun(url, row) {
-      printingUpdate({id:this.id})
+      printingUpdate({ id: this.id })
       let obj = {}
       if (this.selecList.length || this.type) {
         obj = {
@@ -627,6 +630,13 @@ export default {
         }
       })
     },
+        testMail(e) {
+      console.info('eeeeeeeeeeeeeeeeeeee----', e)
+      this.$refs.mailComponentRef.dialogVisible = true
+      this.$refs.mailComponentRef.formData.attachments = e.fileName
+      this.$refs.mailComponentRef.formData.fileType = e.formatName
+      this.$refs.mailComponentRef.formData.fileContent = e.data
+    },
     // 预览报表
     handleReportPreview(url, row) {
       Stimulsoft.Base.StiLicense.key = '6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHn0s4gy0Fr5YoUZ9V00Y0igCSFQzwEqYBh/N77k4f0fWXTHW5rqeBNLkaurJDenJ9o97TyqHs9HfvINK18Uwzsc/bG01Rq+x3H3Rf+g7AY92gvWmp7VA2Uxa30Q97f61siWz2dE5kdBVcCnSFzC6awE74JzDcJMj8OuxplqB1CYcpoPcOjKy1PiATlC3UsBaLEXsok1xxtRMQ283r282tkh8XQitsxtTczAJBxijuJNfziYhci2jResWXK51ygOOEbVAxmpflujkJ8oEVHkOA/CjX6bGx05pNZ6oSIu9H8deF94MyqIwcdeirCe60GbIQByQtLimfxbIZnO35X3fs/94av0ODfELqrQEpLrpU6FNeHttvlMc5UVrT4K+8lPbqR8Hq0PFWmFrbVIYSi7tAVFMMe2D1C59NWyLu3AkrD3No7YhLVh7LV0Tttr/8FrcZ8xirBPcMZCIGrRIesrHxOsZH2V8t/t0GXCnLLAWX+TNvdNXkB8cF2y9ZXf1enI064yE5dwMs2fQ0yOUG/xornE'
@@ -649,7 +659,9 @@ export default {
       options.toolbar.showParametersButton = true // 显示参数按钮
       options.appearance.bookmarksPrint = true // 书签打印
       // options.toolbar.showPrintButton = false // 打印按钮是否显示   下面直接自定义控制打印弹窗是否开启
-
+      options.toolbar.showSendEmailButton = true // 显示发送邮件按钮
+      options.email.showEmailDialog = false
+      options.email.showExportDialog = false
       // printDestination 参数:用于指定报表打印的目标位置,可以是打印机、PDF 文件或者直接打印到浏览器等。
       // Stimulsoft.Viewer.StiPrintDestination.Direct:表示直接打印到打印机,即将报表内容直接发送至打印机进行打印。
       // 通过设置不同的 printDestination 参数,你可以控制报表打印的行为,例如是直接打印到打印机,还是生成 PDF 文件,或者直接在浏览器中预览打印内容等。
@@ -658,7 +670,7 @@ export default {
       options.appearance.htmlRenderMode = Stimulsoft.Report.Export.StiHtmlExportMode.Table
       // 是创建一个 Stimulsoft 报表查看器的实例的代码
       let viewer = new Stimulsoft.Viewer.StiViewer(options, 'StiViewer', false)
-
+      viewer.onEmailReport = this.testMail
       // 报表
       console.log("创建一个报表实例");
       let report = new window.Stimulsoft.Report.StiReport();

+ 19 - 8
src/components/boxManagement/reports.vue

@@ -40,21 +40,23 @@
       </avue-crud>
     </el-dialog>
     <reportContainer ref="reportContainer"></reportContainer>
-
+    <mail-component ref="mailComponentRef" />
   </div>
 </template>
 
 <script>
-import { getList, reportsDetail, add, update, reportsRemove,printingUpdate } from "@/api/boxManagement/reports";
+import { getList, reportsDetail, add, update, reportsRemove, printingUpdate } from "@/api/boxManagement/reports";
 import { getUserApprovalList } from "@/api/approval/processConfig";
 import { mapGetters } from "vuex";
 import { billsDetail } from '@/api/iosBasicData/bills'
 import { bbusinesstypeList } from "@/api/iosBasicData/bbusinesstype";
 import reportContainer from "@/views/iosBasicData/report-container/report-container.vue"
 import { reportsGetReportData } from "@/api/boxManagement/reports";
+import mailComponent from "@/components/iosbasic-data/mail-component.vue";
 export default {
   components: {
-    reportContainer
+    reportContainer,
+    mailComponent
   },
   props: {
     assemblyForm: {
@@ -616,9 +618,16 @@ export default {
         () => { },
       )
     },
+    testMail(e) {
+      console.info('eeeeeeeeeeeeeeeeeeee----', e)
+      this.$refs.mailComponentRef.dialogVisible = true
+      this.$refs.mailComponentRef.formData.attachments = e.fileName
+      this.$refs.mailComponentRef.formData.fileType = e.formatName
+      this.$refs.mailComponentRef.formData.fileContent = e.data
+    },
     // 预览报表
     handleReportPreview(url, row) {
-      printingUpdate({id:this.id})
+      printingUpdate({ id: this.id })
       console.log(row, 698)
       Stimulsoft.Base.StiLicense.key = '6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHn0s4gy0Fr5YoUZ9V00Y0igCSFQzwEqYBh/N77k4f0fWXTHW5rqeBNLkaurJDenJ9o97TyqHs9HfvINK18Uwzsc/bG01Rq+x3H3Rf+g7AY92gvWmp7VA2Uxa30Q97f61siWz2dE5kdBVcCnSFzC6awE74JzDcJMj8OuxplqB1CYcpoPcOjKy1PiATlC3UsBaLEXsok1xxtRMQ283r282tkh8XQitsxtTczAJBxijuJNfziYhci2jResWXK51ygOOEbVAxmpflujkJ8oEVHkOA/CjX6bGx05pNZ6oSIu9H8deF94MyqIwcdeirCe60GbIQByQtLimfxbIZnO35X3fs/94av0ODfELqrQEpLrpU6FNeHttvlMc5UVrT4K+8lPbqR8Hq0PFWmFrbVIYSi7tAVFMMe2D1C59NWyLu3AkrD3No7YhLVh7LV0Tttr/8FrcZ8xirBPcMZCIGrRIesrHxOsZH2V8t/t0GXCnLLAWX+TNvdNXkB8cF2y9ZXf1enI064yE5dwMs2fQ0yOUG/xornE'
       // Stimulsoft.Base.StiLicense.Key = '6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHkcgIvwL0jnpsDqRpWg5FI5kt2G7A0tYIcUygBh1sPs7plofUOqPB1a4HBIXJB621mau2oiAIj+ysU7gKUXfjn/D5BocmduNB+ZMiDGPxFrAp3PoD0nYNkkWh8r7gBZ1v/JZSXGE3bQDrCQCNSy6mgby+iFAMV8/PuZ1z77U+Xz3fkpbm6MYQXYp3cQooLGLUti7k1TFWrnawT0iEEDJ2iRcU9wLqn2g9UiWesEZtKwI/UmEI2T7nv5NbgV+CHguu6QU4WWzFpIgW+3LUnKCT/vCDY+ymzgycw9A9+HFSzARiPzgOaAuQYrFDpzhXV+ZeX31AxWlnzjDWqpfluygSNPtGul5gyNt2CEoJD1Yom0VN9fvRonYsMsimkFFx2AwyVpPcs+JfVBtpPbTcZscnzUdmiIvxv8Gcin6sNSibM6in/uUKFt3bVgW/XeMYa7MLGF53kvBSwi78poUDigA2n12SmghLR0AHxyEDIgZGOTbNI33GWu7ZsPBeUdGu55R8w='
@@ -640,7 +649,9 @@ export default {
       options.toolbar.showParametersButton = true // 显示参数按钮
       options.appearance.bookmarksPrint = true // 书签打印
       // options.toolbar.showPrintButton = false // 打印按钮是否显示   下面直接自定义控制打印弹窗是否开启
-
+      options.toolbar.showSendEmailButton = true // 显示发送邮件按钮
+      options.email.showEmailDialog = false
+      options.email.showExportDialog = false
       // printDestination 参数:用于指定报表打印的目标位置,可以是打印机、PDF 文件或者直接打印到浏览器等。
       // Stimulsoft.Viewer.StiPrintDestination.Direct:表示直接打印到打印机,即将报表内容直接发送至打印机进行打印。
       // 通过设置不同的 printDestination 参数,你可以控制报表打印的行为,例如是直接打印到打印机,还是生成 PDF 文件,或者直接在浏览器中预览打印内容等。
@@ -649,7 +660,7 @@ export default {
       options.appearance.htmlRenderMode = Stimulsoft.Report.Export.StiHtmlExportMode.Table
       // 是创建一个 Stimulsoft 报表查看器的实例的代码
       let viewer = new Stimulsoft.Viewer.StiViewer(options, 'StiViewer', false)
-
+      viewer.onEmailReport = this.testMail
 
       // 报表
       console.log("创建一个报表实例");
@@ -1002,9 +1013,9 @@ export default {
         }
         this.$refs.crud.rowEdit(scope.row, scope.$index);
       } else if (type == 3) {
-        console.log(this.businessValue,123456)
+        console.log(this.businessValue, 123456)
         this.bbDisabled = false;
-        this.$set(this.form,"businessType",this.businessValue)
+        this.$set(this.form, "businessType", this.businessValue)
         this.$refs.crud.rowAdd();
       }
     },

+ 172 - 0
src/views/iosBasicData/SeafreightExportF/bills/assembly/freightRate.vue

@@ -0,0 +1,172 @@
+<template>
+    <div>
+        <el-dialog title="提取运价" :visible.sync="dialogVisible" append-to-body width="60%" :before-close="handleClose">
+            <avue-crud v-if="dialogVisible" :option="option" :table-loading="loading" :data="data" ref="crud"
+                id="out-table" :header-cell-class-name="headerClassName" @on-load="onLoad">
+            </avue-crud>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="dialogVisible = false">取 消</el-button>
+                <el-button type="primary" @click="submit">确 定</el-button>
+            </span>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+import { MktSlotQuotation } from "@/api/iosBasicData/bills";
+export default {
+    props: {
+    },
+    data() {
+        return {
+            data: [],
+            dialogVisible: false,
+            loading: false,
+            option: {
+                height: 500,
+                calcHeight: 30,
+                border: true,
+                index: true,
+                addBtn: false,
+                viewBtn: false,
+                delBtn: false,
+                editBtn: false,
+                menu:false,
+                header:false,
+                column: [
+                    {
+                        label: "船公司",
+                        prop: "billNo",
+                        width: "160",
+                        overHidden: true,
+                    },
+                    {
+                        label: "开船日期",
+                        prop: "billDate",
+                        width: "160",
+                        overHidden: true,
+                    },
+                    {
+                        label: "起运港",
+                        prop: "corpCnName",
+                        width: "160",
+                        overHidden: true,
+                    },
+                    {
+                        label: "目的港",
+                        prop: "corpEnName",
+                        width: "160",
+                        overHidden: true,
+                    },
+                    {
+                        label: "20GP",
+                        prop: "mblno",
+                        width: "160",
+                        overHidden: true,
+                    },
+                    {
+                        label: "40GP",
+                        prop: "hblno",
+                        width: "160",
+                        overHidden: true,
+                    },
+                    {
+                        label: "40HC",
+                        prop: "marks",
+                        width: "160",
+                        overHidden: true,
+                    },
+                    {
+                        label: "20GP(COST)",
+                        prop: "quantity",
+                        width: "100",
+                        overHidden: true,
+                    },
+                    {
+                        label: "40GP(COST)",
+                        prop: "packingUnit",
+                        width: "100",
+                        overHidden: true,
+                    },
+                    {
+                        label: "40HC(COST)",
+                        prop: "grossWeight",
+                        width: "100",
+                        overHidden: true,
+                    }
+                ]
+            },
+        }
+    },
+    async created() {
+        // this.option = await this.getColumnData(this.getColumnName(309.6), this.optionBack);
+    },
+    methods: {
+        openDialog(val) {
+            this.dialogVisible = true
+            let obj = {
+                ...val
+            }
+            this.loading = true
+            MktSlotQuotation(obj).then(res => {
+                this.data = res.data.data
+            }).finally(() => {
+                this.loading = false
+            })
+        },
+        //自定义列保存
+        async saveColumn(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;
+                this.searchReset()
+            }
+        },
+        //自定义列重置
+        async resetColumn(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;
+    padding: 4px 0;
+}
+
+::v-deep#out-table .back-two {
+    background: #ecf5ff !important;
+    text-align: center;
+    padding: 4px 0;
+}
+</style>

+ 108 - 91
src/views/iosBasicData/SeafreightExportF/bills/index.vue

@@ -47,6 +47,8 @@
                         v-if="roleName.indexOf('admin') >= 0 || roleName.indexOf('应付修改') >= 0 || roleName.indexOf('应付查看') >= 0"
                         type="primary" plain size="small" @click="costSubmit"
                         :disabled="!selectionList.length">提取成本</el-button>
+                    <el-button type="success" plain size="small" @click="freightRateSubmit"
+                        :disabled="!selectionList.length">提取运价</el-button>
                     <el-button
                         v-if="roleName.indexOf('admin') >= 0 || roleName.indexOf('应收修改') >= 0 || roleName.indexOf('应收查看') >= 0"
                         type="primary" size="small" @click="pleaseVerify('D')" :disabled="!selectionList.length">提交收
@@ -328,6 +330,7 @@
             </span>
         </el-dialog>
         <extraction-cost ref="extractionCost" />
+        <freight-rate ref="freightRate"></freight-rate>
     </div>
 </template>
 
@@ -354,6 +357,7 @@ import SplitList from "@/views/iosBasicData/SeafreightExportF/bills/assembly/Spl
 import { getWorkDicts } from "@/api/system/dictbiz";
 import { dateFormat, defaultDate } from "@/util/date";
 import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
+import freightRate from "@/views/iosBasicData/SeafreightExportF/bills/assembly/freightRate.vue";
 import { editypesList } from "@/api/iosBasicData/editypes";
 import { getBvesselsList } from "@/api/iosBasicData/bvessels";
 import {
@@ -374,7 +378,8 @@ export default {
         feesTemplateItems,
         billsDetails,
         SplitList,
-        extractionCost
+        extractionCost,
+        freightRate
     },
     data() {
         return {
@@ -628,12 +633,12 @@ export default {
                         span: 6,
                         searchOrder: 1.1
                     },
-/*                    {
-                        label: "客户英文",
-                        prop: "corpEnName",
-                        width: "160",
-                        overHidden: true
-                    },*/
+                    /*                    {
+                                            label: "客户英文",
+                                            prop: "corpEnName",
+                                            width: "160",
+                                            overHidden: true
+                                        },*/
                     {
                         label: '箱属',
                         prop: 'boxBelongsTo',
@@ -651,12 +656,12 @@ export default {
                         searchOrder: 2
                     },
 
-/*                    {
-                        label: "M/PayMode",
-                        prop: "mpaymode",
-                        width: "100",
-                        overHidden: true
-                    },*/
+                    /*                    {
+                                            label: "M/PayMode",
+                                            prop: "mpaymode",
+                                            width: "100",
+                                            overHidden: true
+                                        },*/
                     {
                         label: "HB/L NO",
                         prop: "hblno",
@@ -666,12 +671,12 @@ export default {
                         span: 6,
                         searchOrder: 3
                     },
-/*                    {
-                       label: "H/PayMode",
-                        prop: "hpaymode",
-                        width: "100",
-                        overHidden: true
-                    },*/
+                    /*                    {
+                                           label: "H/PayMode",
+                                            prop: "hpaymode",
+                                            width: "100",
+                                            overHidden: true
+                                        },*/
                     {
                         label: "主业务编号",
                         prop: "masterBillNo",
@@ -707,7 +712,7 @@ export default {
                         ],
                         overHidden: true
                     },
-                      {
+                    {
                         label: "单据编号",
                         prop: "billNo",
                         width: "160",
@@ -1004,22 +1009,22 @@ export default {
                         span: 6,
                         searchOrder: 15
                     },
-/*                    {
-                        label: "装箱方式",
-                        prop: "loadType",
-                        type: "select",
-                        dicData: [
-                            {
-                                label: "整箱",
-                                value: "FCL"
-                            },
-                            {
-                                label: "拼箱",
-                                value: "LCL"
-                            }
-                        ],
-                        overHidden: true
-                    },*/
+                    /*                    {
+                                            label: "装箱方式",
+                                            prop: "loadType",
+                                            type: "select",
+                                            dicData: [
+                                                {
+                                                    label: "整箱",
+                                                    value: "FCL"
+                                                },
+                                                {
+                                                    label: "拼箱",
+                                                    value: "LCL"
+                                                }
+                                            ],
+                                            overHidden: true
+                                        },*/
                     {
                         label: "货物类别",
                         prop: "cargoType",
@@ -1040,22 +1045,22 @@ export default {
                         ],
                         overHidden: true
                     },
-/*                    {
-                        label: "创建部门",
-                        prop: "createDeptName",
-                        width: "120",
-                        overHidden: true,
-                        type: "tree",
-                        dicUrl: "/api/blade-system/dept/tree",
-                        props: {
-                            label: "title",
-                            value: "title",
-                            children: "children"
-                        },
-                        search: true,
-                        span: 6,
-                        searchOrder: 16
-                    },*/
+                    /*                    {
+                                            label: "创建部门",
+                                            prop: "createDeptName",
+                                            width: "120",
+                                            overHidden: true,
+                                            type: "tree",
+                                            dicUrl: "/api/blade-system/dept/tree",
+                                            props: {
+                                                label: "title",
+                                                value: "title",
+                                                children: "children"
+                                            },
+                                            search: true,
+                                            span: 6,
+                                            searchOrder: 16
+                                        },*/
                     {
                         label: "订舱代理",
                         prop: "bookingAgentCnName",
@@ -1115,12 +1120,12 @@ export default {
                         width: "120",
                         overHidden: true
                     },
-/*                    {
-                        label: "净重 (KGM)",
-                        prop: "netWeight",
-                        width: "120",
-                        overHidden: true
-                    },*/
+                    /*                    {
+                                            label: "净重 (KGM)",
+                                            prop: "netWeight",
+                                            width: "120",
+                                            overHidden: true
+                                        },*/
                     {
                         label: "体积 (CBM)",
                         prop: "measurement",
@@ -1341,22 +1346,22 @@ export default {
                             value: "dictKey"
                         }
                     },
-/*                    {
-                        label: "客户OP",
-                        prop: "operatorName",
-                        width: 140,
-                        overHidden: true,
-                        search: true,
-                        type: "select",
-                        filterable: true,
-                        remote: true,
-                        dicUrl: "/api/blade-los/bcorpsattn/list?cname={{key}}",
-                        props: {
-                            label: "cname",
-                            value: "cname",
-                            res: "data.records"
-                        }
-                    },*/
+                    /*                    {
+                                            label: "客户OP",
+                                            prop: "operatorName",
+                                            width: 140,
+                                            overHidden: true,
+                                            search: true,
+                                            type: "select",
+                                            filterable: true,
+                                            remote: true,
+                                            dicUrl: "/api/blade-los/bcorpsattn/list?cname={{key}}",
+                                            props: {
+                                                label: "cname",
+                                                value: "cname",
+                                                res: "data.records"
+                                            }
+                                        },*/
                     // {
                     //   label: "进项发票状态",
                     //   prop: "invoiceCrStatusDescr",
@@ -1402,23 +1407,23 @@ export default {
                     //       width:"160",
                     //       overHidden:true,
                     //   },
-  /*                  {
-                        label: "edi发送状态",
-                        prop: "ediStatus",
-                        type: "select",
-                        dicData: [
-                            {
-                                label: "未发送",
-                                value: "0"
-                            },
-                            {
-                                label: "已发送",
-                                value: "1"
-                            }
-                        ],
-                        width: "100",
-                        overHidden: true
-                    },*/
+                    /*                  {
+                                          label: "edi发送状态",
+                                          prop: "ediStatus",
+                                          type: "select",
+                                          dicData: [
+                                              {
+                                                  label: "未发送",
+                                                  value: "0"
+                                              },
+                                              {
+                                                  label: "已发送",
+                                                  value: "1"
+                                              }
+                                          ],
+                                          width: "100",
+                                          overHidden: true
+                                      },*/
                     {
                         label: "业务状态",
                         prop: "billStatus",
@@ -1659,6 +1664,18 @@ export default {
         }
     },
     methods: {
+        freightRateSubmit() {
+            // for (let item of this.selectionList) {
+               
+            // }
+            let obj={
+                 polId:this.selectionList[0].polId,
+                 podId:this.selectionList[0].podId,
+                 actualShippingCompanyId:this.selectionList[0].carrierId,
+                 etd:this.selectionList[0].etd,
+            }
+            this.$refs.freightRate.openDialog(obj)
+        },
         costSubmit() {
             let podId = []
             let destinationId = []

+ 20 - 15
src/views/iosBasicData/businessCenter/mkt&slot/detailsPage.vue

@@ -7,6 +7,11 @@
         </el-button>
       </div>
       <div class="add-customer-btn">
+        <el-button size="small" style="margin-right: 8px" :disabled="!form.id" @click="$refs.print.openDialog()">预 览
+        </el-button>
+        <el-button v-if="roleName.indexOf('admin') != -1" size="small" style="margin-right: 8px" :disabled="!form.id"
+          @click="$refs.report.openDialog()">报表设计
+        </el-button>
         <el-button class="el-button--small-yh" style="margin-left: 6px;" type="primary" size="small" v-if="editButton"
           :disabled="showLock || !(roleName.indexOf('admin') != -1 || roleName.indexOf('允许修改他人业务') != -1 || saberUserInfo.user_id == form.createUser)"
           @click="inEdit">编 辑
@@ -69,8 +74,7 @@
           <template slot="menuLeft">
             <el-button type="danger" plain size="small" :disabled="editDisabled || selectionList.length == 0"
               @click="allClick('批量删除')">批量删除</el-button>
-            <el-button type="success" size="small" :disabled="!form.id"
-              @click="allClick('提取运价')">提取运价</el-button>
+            <el-button type="success" size="small" :disabled="!form.id" @click="allClick('提取运价')">提取运价</el-button>
             <el-button type="primary" size="small" @click="allClick('生成报价')"
               :disabled="editDisabled || selectionList.length == 0">生成报价</el-button>
             <el-button type="danger" size="small" @click="allClick('撤销报价')"
@@ -108,7 +112,8 @@
         </avue-form>
       </trade-card>
     </div>
-    <reports :id="form.id" :assemblyForm="form" businessValue="MYDL" ref="report"></reports>
+    <business-reports :id="form.id" :itemIds="itemIds" ref="print" businessValue="BJZX" :type="true"></business-reports>
+    <reports :id="form.id" :assemblyForm="form" businessValue="BJZX" ref="report"></reports>
     <!--审核弹窗-->
     <el-dialog append-to-body title="审批进度" class="el-dialogDeep" :visible.sync="checkScheduleDialog" width="40%"
       :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" v-dialog-drag>
@@ -135,8 +140,8 @@ import {
 } from "@/api/iosBasicData/businessCenter/mkt&slot.js";
 import dicSelect from "@/components/dicSelect/main";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
-import businessReports from "@/components/tradeAgency/businessReports.vue";
-import reports from "@/components/tradeAgency/reports.vue";
+import businessReports from "@/components/boxManagement/businessReports.vue";
+import reports from "@/components/boxManagement/reports.vue";
 import { getToken } from "@/util/auth";
 import _ from "lodash";
 import { Header } from "element-ui";
@@ -186,11 +191,11 @@ export default {
             format: "yyyy-MM-dd",
             valueFormat: "yyyy-MM-dd HH:mm:ss",
             disabled: false,
-              rules: [{
-                  required: true,
-                  message: " ",
-                  trigger: "blur"
-              }]
+            rules: [{
+              required: true,
+              message: " ",
+              trigger: "blur"
+            }]
           },
           {
             label: '有效日期止',
@@ -199,11 +204,11 @@ export default {
             format: "yyyy-MM-dd",
             valueFormat: "yyyy-MM-dd HH:mm:ss",
             disabled: false,
-              rules: [{
-                  required: true,
-                  message: " ",
-                  trigger: "blur"
-              }]
+            rules: [{
+              required: true,
+              message: " ",
+              trigger: "blur"
+            }]
           },
           {
             label: '航线',