Browse Source

货代单证中心 2023-12-08

caojunjie 1 year ago
parent
commit
2b3543bd19

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

@@ -134,3 +134,43 @@ export const billsRevokeCheckBills = (data) => {
     data: data
   })
 }
+// 单证中心 详情
+export const reportslogDetail = (id) => {
+  return request({
+    url: '/api/blade-los/reportslog/detail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}
+// 单证中心列表
+export const reportslogList = (current, size, params) => {
+  return request({
+    url: '/api/blade-los/reportslog/list',
+    method: 'get',
+    params: {
+      ...params,
+      current,
+      size,
+    }
+  })
+}
+// 单证中心保存
+export const reportslogSubmit = (row) => {
+  return request({
+    url: '/api/blade-los/reportslog/submit',
+    method: 'post',
+    data: row
+  })
+}
+// 单证中心 删除
+export const reportslogRemove = (ids) => {
+  return request({
+    url: '/api/blade-los/reportslog/remove',
+    method: 'post',
+    params: {
+      ids,
+    }
+  })
+}

+ 0 - 8
src/api/iosBasicData/reports.js

@@ -56,11 +56,3 @@ export const reportsGetReportData = (row) => {
     params: row
   })
 }
-// 保存打印记录接口
-export const reportslogSubmit = (row) => {
-  return request({
-    url: '/api/blade-los/reportslog/submit',
-    method: 'post',
-    data: row
-  })
-}

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

@@ -1402,6 +1402,14 @@ const columnName = [{
   },
   {
     code: 312,
+    name: '货运代理-海运出口-报表管理'
+  },
+  {
+    code: 312.0,
+    name: '货运代理-海运出口-报表纯列表'
+  },
+  {
+    code: 312.1,
     name: '货运代理-海运出口-单证中心'
   },
   {

+ 1 - 13
src/views/approveDataH/index.vue

@@ -53,11 +53,6 @@
       </check-schedule>
     </el-dialog>
 
-      <!--<el-dialog append-to-body title="修改数据" class="el-dialogDeep" :visible.sync="checkDialog" width="50%"-->
-      <!--           :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" v-dialog-drag>-->
-      <!--    1231312321-->
-      <!--</el-dialog>-->
-
     <el-dialog append-to-body title="审批" class="el-dialogDeep" :visible.sync="checkDialog" width="50%"
       :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" v-dialog-drag>
       <check :checkData="checkData" :checkDetail="true" :idList="idList" @operationType="operationTypeFFSQ"
@@ -86,7 +81,7 @@ import {corpsDescListAll} from "../../api/tirePartsMall/salesManagement/saleOrde
 
 import reportContainerlos from "@/views/iosBasicData/report-container/report-container-los.vue"
 import {finstlbillsDetail} from "../../api/iosBasicData/finstlbills";
-import {reportsGetReportData, reportslogSubmit} from "@/api/iosBasicData/reports";
+import {reportsGetReportData} from "@/api/iosBasicData/reports";
 
 let previousRouterName = "";
 let checkRefresh = "";
@@ -268,13 +263,6 @@ export default {
         // printButton.events.add('PrintReport', handlePrintReport);
       console.log("加载成功完成!");
     },
-      // 保存打印记录接口
-      reportslogSubmitfun(){
-          // reportlist
-          reportslogSubmit().then(res=>{
-              console.log(res,267)
-          })
-      },
       // 报表的按钮
       createViewerButtons (viewer){
           viewer.jsObject.collections.images['myClose.png'] =

+ 306 - 0
src/views/iosBasicData/SeafreightExportF/bills/assembly/DocumentCenter.vue

@@ -0,0 +1,306 @@
+<template>
+    <div>
+        <el-row>
+            <el-col :span="5">
+                <el-scrollbar>
+                    <basic-container>
+                        <avue-tree :option="treeOption" :data="feesTypeData" @node-click="nodeClick">
+                            <template slot="addBtn">
+                                <el-tooltip class="item" effect="dark" content="新建分类" placement="top">
+                                    <i class="el-icon-setting" style="font-size:18px;line-height: 30px;width: 20px;padding: 0 10px;"
+                                       @click="corpTypeVisible = true"></i>
+                                </el-tooltip>
+                            </template>
+                        </avue-tree>
+                    </basic-container>
+                </el-scrollbar>
+            </el-col>
+            <el-col :span="19">
+                <basic-container>
+                    <avue-crud :option="documentOption" :table-loading="loading" :data="documentData" :page.sync="documentPage" :search.sync="documentSearch"
+                               id="out-table" :header-cell-class-name="headerClassName"
+                               :before-open="beforeOpen" v-model="form" ref="documentCrud" @search-change="searchChange"
+                               @search-reset="searchReset" @refresh-change="refreshChange" @on-load="reportslogListfun"
+                               @resetColumn="resetColumnTwo('documentCrud', 'documentOption', 'documentOptionBack', 312.1)"
+                               @saveColumn="saveColumnTwo('documentCrud', 'documentOption', 'documentOptionBack', 312.1)" >
+                        <template slot="menuLeft">
+                            <el-button type="primary" size="small" icon="el-icon-plus" @click="addbtnfun()">新增单证
+                            </el-button>
+                        </template>
+                    </avue-crud>
+                </basic-container>
+            </el-col>
+        </el-row>
+
+        <!--类别弹窗-->
+        <el-dialog title="类别" :visible.sync="corpTypeVisible" append-to-body width="60%" :before-close="corpTypeClose">
+            <div>
+                <bbusinesstype></bbusinesstype>
+            </div>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="corpTypeVisible = false">取 消</el-button>
+                <el-button type="primary" @click="corpTypeVisible = false">确 定</el-button>
+            </span>
+        </el-dialog>
+
+        <!--报表列表弹窗-->
+        <el-dialog title="单证" :visible.sync="reportVisible" append-to-body width="70%" :before-close="corpTypeClose">
+            <div>
+                <reportforms-list ref="reportformsList" @reportRadio="reportRadio"></reportforms-list>
+            </div>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="reportVisible = false">取 消</el-button>
+                <el-button type="primary" @click="reportConfirm" >确 定</el-button>
+            </span>
+        </el-dialog>
+
+        <!--添加编辑弹窗-->
+        <el-dialog title="单证" :visible.sync="documentVisible" append-to-body width="60%" :before-close="corpTypeClose">
+            <Dispatch-Notice :documentForm="documentForm"></Dispatch-Notice>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="documentVisible = false">取 消</el-button>
+                <el-button type="primary" @click="documentSubmit">确 定</el-button>
+            </span>
+        </el-dialog>
+
+    </div>
+</template>
+
+<script>
+import {reportslogList, reportslogSubmit} from "@/api/iosBasicData/bills";
+    import {bbusinesstypeList} from "@/api/iosBasicData/bbusinesstype";
+    import bbusinesstype from "@/views/iosBasicData/bbusinesstype/index.vue";
+import reportformsList from "@/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsList.vue";
+import DispatchNotice from '@/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsFrame/DispatchNotice.vue'
+
+    export default {
+        components: {reportformsList, bbusinesstype,DispatchNotice},
+        data(){
+            return {
+                reportVisible:false, // 报表列表数据
+                documentVisible:false, // 单证添加编辑弹窗
+                documentForm:{}, // 添加编辑弹窗的数据
+                corpTypeVisible:false,
+                // 左侧配置项
+                treeOption: {
+                    nodeKey: "id",
+                    // lazy: true,
+                    addBtn: false,
+                    menu: false,
+                    size: "small",
+                    props: {
+                        labelText: "标题",
+                        label: "cnName",
+                        value: "value",
+                        children: "children"
+                    }
+                },
+                feesTypeData:[], // 左侧获取的数据
+                documentOption:{},
+                documentOptionBack: {
+                    dialogDrag: true,
+                    height: 'auto',
+                    calcHeight: 30,
+                    tip: false,
+                    searchShow: true,
+                    searchMenuSpan: 6,
+                    border: true,
+                    index: true,
+                    selection: true,
+                    dialogClickModal: false,
+                    menuWidth:260,
+                    addBtn:false,
+                    viewBtn: true,
+                    delBtn:false,
+                    editBtn:false,
+                    column: [
+                        {
+                            label: "报表编码",
+                            prop: "reportsCode",
+                            overHidden:true,
+                        },
+                        {
+                            label: "备注",
+                            prop: "remarks",
+                            overHidden:true,
+                        },
+                    ]
+                },
+                documentSearch:{},
+                documentPage:{
+                    pageSize: 10,
+                    currentPage: 1,
+                    total: 0,
+                    pageSizes: [10, 20, 30, 40, 50, 100, 200, 300, 400, 500]
+                },
+                query: {},
+                documentData:[],
+                loading:false,
+                businesstypeData:{}, // 左侧选择的数据
+                reportForms:{}, // 报表列表选择的数据
+
+            }
+        },
+        props:{
+            assemblyForm:{
+                type:Object,
+                default:{}
+            }
+        },
+        async created() {
+            this.documentOption = await this.getColumnData(this.getColumnName(312.1), this.documentOptionBack);
+            this.bbusinesstypeListfun()
+        },
+        methods:{
+            // 新建单证按钮
+            addbtnfun(){
+                if(!this.businesstypeData.id){
+                    this.$message.warning("请先选择报表类型");
+                    return
+                }
+                // 打开报表选择框
+                this.reportVisible = true
+                let page = {
+                    pageSize: 10,
+                    currentPage: 1,
+                    total: 0
+                }
+                this.$nextTick(()=>{
+                    this.$refs.reportformsList.onLoad(page,{businessType:this.businesstypeData.code})
+                })
+            },
+            // 报表弹窗的单选
+            reportRadio(val){
+                this.reportForms = val
+            },
+            // 报表弹窗的确认
+            reportConfirm(){
+                if (!this.reportForms.id){
+                    this.$message.warning("请选择一条报表");
+                    return
+                }
+                this.documentVisible = true
+            },
+            // 单证弹窗的确认按钮
+            documentSubmit(){
+                // 打印时间
+                // printTime
+                let obj = {
+                    remarks:this.assemblyForm.remarks,
+                    businessType:this.assemblyForm.businessType,
+                    billId:this.assemblyForm.billId,
+                    billNo:this.assemblyForm.billNo,
+                    mblno:this.assemblyForm.mblno,
+                    hblno:this.assemblyForm.hblno,
+                    reportsCode:this.reportForms.code,
+                    groupCode:this.reportForms.groupCode,
+                    printContent:JSON.stringify(this.documentForm),
+                }
+                console.log(obj,204)
+                return
+                reportslogSubmit().then(res=>{
+                    console.log(res,151)
+                })
+                this.documentVisible = false
+            },
+            // 左侧筛选
+            nodeClick(data) {
+                this.businesstypeData = data
+            },
+            // 左侧数据获取
+            bbusinesstypeListfun(){
+                bbusinesstypeList(1,20).then(res=>{
+                    this.feesTypeData = res.data.data.records
+                })
+            },
+            // 类别弹窗关闭
+            corpTypeClose(done) {
+                this.$confirm('确认关闭?')
+                    .then(_ => {
+                        done();
+                    })
+                    .catch(_ => { });
+            },
+            // 点击搜索触发
+            searchChange(params, done){
+                this.query = params;
+                this.documentPage.currentPage = 1;
+                this.reportslogListfun(this.documentPage, params);
+                done();
+            },
+            // 清空搜索回调方法
+            searchReset(){
+                this.query = {};
+                this.reportslogListfun(this.documentPage);
+            },
+            // 点击刷新按钮
+            refreshChange(){
+                this.reportslogListfun(this.documentPage, this.query);
+            },
+            // 打开前的回调
+            beforeOpen(done, type) {
+                // 编辑和查看
+                if (["edit", "view"].includes(type)) {
+
+                }
+            },
+            // 单证中心数据获取
+            reportslogListfun(documentPage, params = {}){
+                this.loading = true;
+                reportslogList(documentPage.currentPage, documentPage.pageSize, Object.assign(params, this.query)).then(res=>{
+                    const data = res.data.data;
+                    this.documentPage.total = data.total;
+                    this.documentData = data.records;
+                    this.loading = false;
+                })
+            },
+            //自定义列保存
+            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;
+}
+
+::v-deep#out-table .back-two {
+    background: #ecf5ff !important;
+}
+</style>

+ 12 - 1
src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue

@@ -456,7 +456,18 @@
             width="70%"
             :before-close="handleClose">
             <div>
-                123131
+                <el-form :model="assemblyForm" ref="form" label-width="90px" style="margin-bottom: 4px" class="demo-ruleForm">
+                    <el-row>
+                        <el-col :span="12">
+                            <el-form-item label="客户名称" prop="corpCnName" >
+                                <el-input type="age" style="width: 100%;" v-model="assemblyForm.corpCnName"
+                                          size="small" autocomplete="off"
+                                          disabled
+                                          clearable placeholder="客户名称" ></el-input>
+                            </el-form-item>
+                        </el-col>
+                    </el-row>
+                </el-form>
             </div>
         </el-dialog>
     </div>

+ 65 - 0
src/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsFrame/DispatchNotice.vue

@@ -0,0 +1,65 @@
+<template>
+    <div>
+        <el-form :model="documentForm" ref="form" label-width="90px" style="margin-bottom: 4px" class="demo-ruleForm">
+            <el-form-item label="TO:" prop="corpCnName" >
+                <el-input type="age" style="width: 100%;" v-model="documentForm.TO"
+                          size="small" autocomplete="off" clearable placeholder="TO" >
+                </el-input>
+            </el-form-item>
+            <el-form-item label="CC:" prop="corpCnName" >
+                <el-input type="age" style="width: 100%;" v-model="documentForm.CC"
+                          size="small" autocomplete="off" clearable placeholder="CC" >
+                </el-input>
+            </el-form-item>
+            <el-form-item label="FM:" prop="corpCnName" >
+                <el-input type="age" style="width: 100%;" v-model="documentForm.FM"
+                          size="small" autocomplete="off" clearable placeholder="FM" >
+                </el-input>
+            </el-form-item>
+            <el-form-item label="提单号码:" prop="corpCnName" >
+                <el-input type="age" style="width: 100%;" v-model="documentForm.FM"
+                          size="small" autocomplete="off" clearable placeholder="提单号码" >
+                </el-input>
+                <el-input type="age" style="width: 100%;" v-model="documentForm.FM"
+                          size="small" autocomplete="off" clearable placeholder="提单号码" >
+                </el-input>
+            </el-form-item>
+            <el-form-item label="船名/航次:" prop="corpCnName" >
+                <!--<el-row>-->
+                <!--    <el-col></el-col>-->
+                <!--</el-row>-->
+                <el-input type="age" style="width: 100%;" v-model="documentForm.FM"
+                          size="small" autocomplete="off" clearable placeholder="船名/航次" >
+                </el-input>
+                <el-input type="age" style="width: 40%;" v-model="documentForm.FM"
+                          size="small" autocomplete="off" clearable placeholder="提单号码" >
+                </el-input>
+            </el-form-item>
+
+        </el-form>
+    </div>
+</template>
+
+<script>
+    export default {
+        data() {
+            return {}
+        },
+        props:{
+            documentForm:{
+                type:Object,
+                default:{}
+            }
+        },
+        methods:{
+
+        }
+
+    }
+</script>
+
+<style scoped>
+::v-deep.el-form-item {
+    margin-bottom: 0;
+}
+</style>

+ 234 - 0
src/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsList.vue

@@ -0,0 +1,234 @@
+<template>
+    <div>
+        <avue-crud :option="option"
+                   :table-loading="loading"
+                   :data="data"
+                   :page.sync="page"
+                   ref="crud"
+                   id="out-table"
+                   @current-row-change="handleCurrentRowChange"
+                   :header-cell-class-name="headerClassName"
+                   @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 312.0)"
+                   @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 312.0)"
+                   @search-change="searchChange"
+                   @search-reset="searchReset"
+                   @refresh-change="refreshChange">
+        </avue-crud>
+        <!--@on-load="onLoad"-->
+    </div>
+</template>
+
+<script>
+    import {getList} from "@/api/iosBasicData/reports";
+    import {getUserApprovalList} from "@/api/approval/processConfig";
+    import {bbusinesstypeList} from "@/api/iosBasicData/bbusinesstype";
+
+    export default {
+        data(){
+            return {
+                option: {},
+                optionBack: {
+                    height:'auto',
+                    calcHeight: 30,
+                    tip: false,
+                    searchShow: true,
+                    searchMenuSpan: 6,
+                    border: true,
+                    index: true,
+                    selection: false, // 多选
+                    highlightCurrentRow:true, // 单选
+                    dialogClickModal: false,
+                    addBtn:false,
+                    viewBtn:false,
+                    delBtn:false,
+                    editBtn:false,
+                    menu:false,
+                    column: [
+                        {
+                            label: "业务类型",
+                            prop: "businessType",
+                            type: 'select',
+                            dicData:[],
+                            props: {
+                                label: "cnName",
+                                value: "code"
+                            },
+                            rules: [{
+                                required: true,
+                                message: "请输入业务类型",
+                                trigger: "blur"
+                            }]
+                        },
+                        {
+                            label: "类别",
+                            prop: "classifyCode",
+                            rules: [{
+                                required: true,
+                                message: "请输入类别",
+                                trigger: "blur"
+                            }]
+                        },
+                        {
+                            label: "组别",
+                            prop: "groupCode",
+                            rules: [{
+                                required: true,
+                                message: "请输入组别",
+                                trigger: "blur"
+                            }]
+                        },
+                        {
+                            label: "报表编码",
+                            prop: "code",
+                            search:true,
+                            rules: [{
+                                required: true,
+                                message: "请输入报表编码",
+                                trigger: "blur"
+                            }]
+                        },
+                        {
+                            label: "中文名称",
+                            prop: "cnName",
+                            search:true,
+                            rules: [{
+                                required: true,
+                                message: "请输入中文名称",
+                                trigger: "blur"
+                            }]
+                        },
+                        {
+                            label: "英文名称",
+                            prop: "enName"
+                        },
+                        {
+                            label: "报表格式",
+                            prop: "content",
+                            rules: [{
+                                required: true,
+                                message: "请输入报表格式",
+                                trigger: "blur"
+                            }]
+                        },
+                        {
+                            label: "授权用户",
+                            prop: "authorizedUsersId",
+                            // hide: true,
+                            overHidden:true,
+                            formslot:true,
+                            type:'tree',
+                            dicUrl: "/api/blade-user/userList",
+                            multiple: true,
+                            props: {
+                                label: "realName",
+                                value: "id"
+                            },
+                            dicData:[],
+                            rules: [{
+                                required: true,
+                                message: "请选择授权用户",
+                                trigger: "blur"
+                            }]
+                        },
+                        {
+                            label: "备注",
+                            prop: "remarks"
+                        },
+                    ]
+                },
+                query: {},
+                loading: true,
+                page: {
+                    pageSize: 10,
+                    currentPage: 1,
+                    total: 0
+                },
+                data:[]
+            }
+        },
+        async created() {
+            this.option = await this.getColumnData(this.getColumnName(312.0), this.optionBack);
+            getUserApprovalList().then(res=>{
+                this.findObject(this.option.column, "authorizedUsersId").dicData = res.data.data
+            })
+            // 获取业务类型
+            bbusinesstypeList(1,20).then(res=>{
+                this.findObject(this.option.column, "businessType").dicData = res.data.data.records
+            })
+        },
+        methods:{
+            // 单选
+            handleCurrentRowChange(val){
+                this.$emit('reportRadio',val)
+            },
+            searchChange(params, done) {
+                this.query = params;
+                this.page.currentPage = 1;
+                this.onLoad(this.page, params);
+                done();
+            },
+            searchReset() {
+                this.query = {};
+                this.onLoad(this.page);
+            },
+            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 => {
+                    const data = res.data.data;
+                    this.page.total = data.total;
+                    this.data = data.records
+                    this.loading = false;
+                });
+            },
+            //自定义列保存
+            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;
+}
+
+::v-deep#out-table .back-two {
+    background: #ecf5ff !important;
+}
+</style>

+ 14 - 100
src/views/iosBasicData/SeafreightExportF/bills/assembly/reports.vue

@@ -68,7 +68,7 @@
   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"
 
   export default {
@@ -112,107 +112,15 @@
           selection: true,
           dialogClickModal: false,
           column: [
-            // {
-            //   label: "主键",
-            //   prop: "id",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入主键",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "分公司 Id",
-            //   prop: "branchId",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入分公司 Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "创建人 Id",
-            //   prop: "createUser",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入创建人 Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "创建人",
-            //   prop: "createUserName",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入创建人",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "创建部门 Id",
-            //   prop: "createDept",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入创建部门 Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "创建部门",
-            //   prop: "createDeptName",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入创建部门",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "创建时间",
-            //   prop: "createTime",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入创建时间",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "修改人 Id",
-            //   prop: "updateUser",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入修改人 Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "修改人",
-            //   prop: "updateUserName",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入修改人",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "修改时间",
-            //   prop: "updateTime",
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入修改时间",
-            //     trigger: "blur"
-            //   }]
-            // },
             {
               label: "业务类型",
               prop: "businessType",
               type: 'select',
-              dicData:[{
-                label:'海运出口',
-                value:'SE'
-              },{
-                label:'海运进口',
-                value:'SI'
-              }],
+              dicData:[],
+              props: {
+                 label: "cnName",
+                 value: "code"
+              },
               rules: [{
                 required: true,
                 message: "请输入业务类型",
@@ -340,6 +248,10 @@
       getUserApprovalList().then(res=>{
         this.findObject(this.option.column, "authorizedUsersId").dicData = res.data.data
       })
+        // 获取业务类型
+        bbusinesstypeList(1,20).then(res=>{
+            this.findObject(this.option.column, "businessType").dicData = res.data.data.records
+        })
     },
     computed: {
       ...mapGetters(["permission"]),
@@ -1042,6 +954,7 @@
 
         // userButtonPrint.prepend(printBtn) // 在 printBtn 节点里最前面增加一个子级节点
 
+
         let that=this
           // 关闭按钮的监听点击
         closeBtn.action = function() {
@@ -1050,9 +963,10 @@
           that.$refs.reportContainer.hideContainer()
         }
 
-          // // 打印按钮监听
+          // // // 打印按钮监听
           // printBtn.action = (e)=>{
-          //
+          //     console.log('打印')
+          //     window.print()
           // }
 
       },

+ 21 - 8
src/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue

@@ -8,12 +8,20 @@
                 </el-button>
             </div>
             <div class="add-customer-btn">
-                <el-button  size="small" type="" style="margin-right: 8px"
-                            :loading="saveLoading" >预 览
-                </el-button>
-                <el-button  size="small" type="warning" style="margin-right: 8px"
-                            :loading="saveLoading" >打 印
-                </el-button>
+                <!--<el-popover-->
+                <!--    placement="bottom-end"-->
+                <!--    width="100"-->
+                <!--    trigger="hover">-->
+                <!--    <div>-->
+
+                <!--    </div>-->
+                <!--    <el-button slot="reference" size="small" style="margin-right: 8px"-->
+                <!--                :loading="saveLoading" >预 览-->
+                <!--    </el-button>-->
+                <!--</el-popover>-->
+                <!--<el-button  size="small" type="warning" style="margin-right: 8px"-->
+                <!--            :loading="saveLoading" >打 印-->
+                <!--</el-button>-->
                 <el-button size="small" type="success" :disabled="!form.id" v-if="form.status == 0"
                            @click.stop="DocumentApproval">单据请核
                 </el-button>
@@ -207,7 +215,7 @@
                                     <el-tab-pane label="MB/L信息" name="third">
                                         <mbinformation :assemblyForm="form" :detailData="detailData"></mbinformation>
                                     </el-tab-pane>
-                                    <el-tab-pane label="单证中心" name="fourth">
+                                    <el-tab-pane label="报表管理" name="fourth">
                                       <reports :id="form.id" :disabled="detailData.seeDisabled"></reports>
                                     </el-tab-pane>
                                     <el-tab-pane label="EDI CODE" name="sixth">
@@ -233,6 +241,9 @@
                                 :data="billsListAllData"
                                 @billsListAllfun="billsListAllfun(this.form.id)"></Split-list>
                 </el-tab-pane>
+                <el-tab-pane label="单证中心" name="dz">
+                    <document-center :assemblyForm="form"></document-center>
+                </el-tab-pane>
             </el-tabs>
         </div>
 
@@ -276,6 +287,7 @@ import {
 import {dateFormat} from "@/util/date";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
 import {getBvesselsList} from "@/api/iosBasicData/bvessels";
+import DocumentCenter from "@/views/iosBasicData/SeafreightExportF/bills/assembly/DocumentCenter.vue";
     export default {
         components:{
             checkSchedule,
@@ -291,7 +303,8 @@ import {getBvesselsList} from "@/api/iosBasicData/bvessels";
             bcorps,
             bcorpstypedefine,
             SplitList,
-            TreeSelect
+            TreeSelect,
+            DocumentCenter
         },
         props:{
             detailData: {

+ 1 - 1
src/views/tirePartsMall/inventory/index.vue

@@ -209,7 +209,7 @@ export default {
             overHidden: true,
             width: 100
           }, {
-            label: '是否显示库存',
+            label: '是否显示库存',
             prop: "whether",
             overHidden: true,
             search: true,

+ 189 - 154
src/views/tirePartsMall/salesManagement/Inventory/index.vue

@@ -75,139 +75,158 @@ export default {
         border: true,
         menu: false,
         column: [
-          {
-            label: '轮胎名称',
-            prop: 'goodsId',
-            width: 200,
-            disabled: false,
-            remote: true,
-            overHidden: true,
-            type: 'select',
-            // dicData: [],
-            props: {
-              label: 'cname',
-              value: 'id'
-            },
-            dicUrl: "/api/blade-sales-part/goodsDesc/goodsListAll"
-          }, {
-            label: '数量',
-            prop: 'goodsNum',
-            overHidden: true,
-            disabled: false,
-            width: 100,
-            rules: [{
-              required: true,
-              message: " ",
-              trigger: "blur"
+            {
+                label: '轮胎名称',
+                prop: 'goodsId',
+                width: 200,
+                disabled: false,
+                remote: true,
+                hide:true,
+                overHidden: true,
+                type: 'select',
+                // dicData: [],
+                props: {
+                    label: 'cname',
+                    value: 'id'
+                },
+                // dicUrl: '/api/blade-sales-part/goodsDesc/goodsListAll?cname={{key}}'
+                dicUrl: "/api/blade-sales-part/goodsDesc/goodsListAll?cname={{key}}&enableOrNot=1"
+                // dicUrl: "/api/blade-sales-part/goodsDesc/goodsListXs?cname={{key}}"
+            },{
+                label: '轮胎名称',
+                prop: 'goodsName',
+                width: 200,
+                disabled: false,
+                remote: true,
+                overHidden: true,
             }, {
-              validator: (rule, value, callback) => {
-                console.log(this.formContacts.inventory);
-                if (value < 0) {
-                  callback(new Error("数量不能小于0"));
-                } else {
-                  callback();
-                }
-              },
-              trigger: "blur"
-            }]
-          },
-          {
-            label: '价格',
-            prop: 'price',
-            overHidden: true,
-            width: 100,
-            disabled: false,
-            rules: [{
-              required: true,
-              message: " ",
-              trigger: "blur"
+                label: '轮胎编码',
+                prop: 'goodsNo',
+                overHidden: true,
+                disabled: false,
+                width: 100
             }, {
-              validator: (rule, value, callback) => {
-                if (value < 0) {
-                  callback(new Error("价格不能小于0"));
-                } else {
-                  callback();
-                }
-              },
-              trigger: "blur"
-            }]
-          },
-          {
-            label: '库存',
-            prop: 'inventory',
-            overHidden: true,
-            hide: true,
-            width: 100
-          }, {
-            label: '批次号',
-            prop: 'dot',
-            type: "select",
-            disabled: true,
-            allowCreate: true,
-            filterable: true,
-            dicData: [],
-            props: {
-              label: "dot",
-              value: "dot"
+                label: '花纹',
+                prop: 'pattern',
+                overHidden: true,
+                disabled: false,
+                width: 100
+            }, {
+                label: '批次号',
+                prop: 'dot',
+                cell:true,
+                width:120,
+                type: "select",
+                disabled: true,
+                allowCreate: true,
+                filterable: true,
+                dicData: [],
+                props: {
+                    label: "dot",
+                    value: "dot"
+                },
+                dicUrl: "/api/blade-sales-part/stockDesc/dotList",
+                overHidden: true,
+            },{
+                label: '库存单价',
+                prop: 'costprie',
+                overHidden: true,
+                width: 100,
+                disabled: false,
+            }, {
+                label: '账面数量',
+                prop: 'inventory',
+                overHidden: true,
+                disabled: false,
+                width: 100,
+            },{
+                label: '账面金额',
+                prop: 'price',
+                overHidden: true,
+                width: 100,
+                disabled: false,
+                cell:true,
+                rules: [{
+                    required: true,
+                    message: " ",
+                    trigger: "blur"
+                }, {
+                    validator: (rule, value, callback) => {
+                        if (value < 0) {
+                            callback(new Error("价格不能小于0"));
+                        } else {
+                            callback();
+                        }
+                    },
+                    trigger: "blur"
+                }]
             },
-            dicUrl: "/api/blade-sales-part/stockDesc/dotList",
-            overHidden: true,
-          }, {
-            label: '轮胎编码',
-            prop: 'goodsNo',
-            overHidden: true,
-            disabled: false,
-            width: 100
-          },
-          // {
-          //   label: '品牌',
-          //   prop: 'brandId',
-          //   disabled: false,
-          //   width: 100,
-          //   overHidden: true,
-          //   type: 'select',
-          //   props: {
-          //     label: 'cname',
-          //     value: 'id'
-          //   },
-          //   dicUrl: '/api/blade-sales-part/brandDesc/listAll?type=PP'
-          // },
-          {
-            label: '品牌',
-            prop: 'brandName',
-            overHidden: true,
-            disabled: false,
-            width: 100
-          },
-          {
-            label: '规格型号',
-            prop: 'propertyName',
-            overHidden: true,
-            disabled: false,
-            width: 100
-          }, {
-            label: '花纹',
-            prop: 'pattern',
-            overHidden: true,
-            disabled: false,
-            width: 100
-          }, {
-            label: '轮胎描述',
-            prop: 'goodsDescription',
-            disabled: false,
-            overHidden: true,
-            width: 100
-          },
-          {
-            label: '收货数量',
-            prop: 'sendNum',
-            disabled: false,
-            overHidden: true,
-            width: 100,
-            disabled: true,
-            editDisplay: false,
-            addDisplay: false
-          }
+            {
+                label: '实际数量',
+                prop: 'sendNum',
+                overHidden: true,
+                disabled: false,
+                cell:true,
+                width: 100,
+                rules: [{
+                    required: true,
+                    message: " ",
+                    trigger: "blur"
+                }, {
+                    validator: (rule, value, callback) => {
+                        console.log(this.formContacts.inventory);
+                        if (value < 0) {
+                            callback(new Error("数量不能小于0"));
+                        } else {
+                            callback();
+                        }
+                    },
+                    trigger: "blur"
+                }]
+            },
+            {
+                label: '实际金额',
+                prop: 'subTotalMoney',
+                overHidden: true,
+                width: 100,
+                disabled: false,
+                cell:true,
+                rules: [{
+                    required: true,
+                    message: " ",
+                    trigger: "blur"
+                }, {
+                    validator: (rule, value, callback) => {
+                        if (value < 0) {
+                            callback(new Error("价格不能小于0"));
+                        } else {
+                            callback();
+                        }
+                    },
+                    trigger: "blur"
+                }]
+            },
+            {
+                label: '盈亏数量',
+                prop: 'profitLossNum',
+                overHidden: true,
+                disabled: false,
+                width: 100
+            },
+            {
+                label: '盈亏金额',
+                prop: 'profitLossAmount',
+                overHidden: true,
+                width: 100,
+                disabled: false,
+            },
+            {
+                label: '备注',
+                prop: "remarks",
+                overHidden: true,
+                width: 100,
+                disabled: false,
+            }
         ]
       },
       option: {},
@@ -241,9 +260,25 @@ export default {
           name: 'totalMoney',
           type: 'sum',
           decimals: 2
-        },],
+        }, {
+            name: 'goodsTotalShipNum',
+            type: 'sum',
+            decimals: 0
+        },{
+            name: 'salesAmount',
+            type: 'sum',
+            decimals: 2
+        },{
+            name: 'profitLossNum',
+            type: 'sum',
+            decimals: 0
+        },{
+            name: 'profitLossAmount',
+            type: 'sum',
+            decimals: 2
+        }],
         column: [{
-          label: '采购单号',
+          label: '盘点单号',
           prop: "ordNo",
           search: true,
           overHidden: true,
@@ -316,28 +351,28 @@ export default {
             value: "dictKey"
           }
         },
-        {
-          label: '结算状态',
-          prop: "actualPaymentStatus",
-          searchProp:'actualPaymentType',
-          search: true,
-          overHidden: true,
-          type: 'select',
-          dicData: [
-            {
-              label: "待付款",
-              value: 1,
-            },
-            {
-              label: "已付款",
-              value: 2,
-            },
-            {
-              label: "尾款",
-              value: 3,
-            }
-          ],
-        },
+        // {
+        //   label: '结算状态',
+        //   prop: "actualPaymentStatus",
+        //   searchProp:'actualPaymentType',
+        //   search: true,
+        //   overHidden: true,
+        //   type: 'select',
+        //   dicData: [
+        //     {
+        //       label: "待付款",
+        //       value: 1,
+        //     },
+        //     {
+        //       label: "已付款",
+        //       value: 2,
+        //     },
+        //     {
+        //       label: "尾款",
+        //       value: 3,
+        //     }
+        //   ],
+        // },
         {
           label: "制单人",
           prop: "createUserName",