|
|
@@ -0,0 +1,898 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <div class="customer-head">
|
|
|
+ <div class="customer-back">
|
|
|
+ <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
|
|
|
+ @click="goBack()">返回列表
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ <div class="add-customer-btn">
|
|
|
+ <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">编 辑
|
|
|
+ </el-button>
|
|
|
+ <el-button class="el-button--small-yh" v-else style="margin-left: 6px;" type="primary" size="small"
|
|
|
+ :disabled="isSaveBtn" @click="submit">保 存
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="margin-top: 50px">
|
|
|
+ <trade-card title="基础信息">
|
|
|
+ <avue-form :option="optionForm" v-model="form" ref="form">
|
|
|
+ </avue-form>
|
|
|
+ </trade-card>
|
|
|
+ <trade-card title="费用明细">
|
|
|
+ <el-card
|
|
|
+ v-show="roleName.indexOf('admin') != -1 || roleName.indexOf('应付修改') != -1 ? true : roleName.indexOf('应付查看') != -1"
|
|
|
+ class="box-card" style="margin: 2px 0">
|
|
|
+ <avue-crud :option="feedOption" :data="feeCenterListD" id="out-table" ref="crud2"
|
|
|
+ :header-cell-class-name="headerClassName" :row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }"
|
|
|
+ @selection-change="feedChange" @row-update="rowUpdate"
|
|
|
+ @resetColumn="resetColumn('crud2', 'feedOption', 'feedOptionBack', 485)"
|
|
|
+ @saveColumn="saveColumn('crud2', 'feedOption', 'feedOptionBack', 485)">
|
|
|
+ <template slot="menuLeft">
|
|
|
+ <div style="display: inline-block;margin-right: 20px" class="disabledBox fontSize">
|
|
|
+ <i class="el-icon-coin"></i>
|
|
|
+ <span>应收费用</span>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template slot="remarks" slot-scope="{ row }">
|
|
|
+ <el-input v-model="row.remarks" placeholder="请输入 备注" size="small" style="width: 100%;"></el-input>
|
|
|
+ </template>
|
|
|
+ </avue-crud>
|
|
|
+ </el-card>
|
|
|
+ <el-card
|
|
|
+ v-show="roleName.indexOf('admin') != -1 || roleName.indexOf('应付修改') != -1 ? true : roleName.indexOf('应付查看') != -1"
|
|
|
+ class="box-card" style="margin: 2px 0">
|
|
|
+ <avue-crud :option="feecOption" :data="feeCenterListC" id="out-table" ref="crud3"
|
|
|
+ :header-cell-class-name="headerClassName" :row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }"
|
|
|
+ @selection-change="feecChange" @row-update="rowUpdate"
|
|
|
+ @resetColumn="resetColumn('crud3', 'feecOption', 'feecOptionBack', 486)"
|
|
|
+ @saveColumn="saveColumn('crud3', 'feecOption', 'feecOptionBack', 486)">
|
|
|
+ <template slot="menuLeft">
|
|
|
+ <div style="display: inline-block;margin-right: 20px" class="disabledBox meetSize">
|
|
|
+ <i class="el-icon-coin"></i>
|
|
|
+ <span>应付费用</span>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </avue-crud>
|
|
|
+ </el-card>
|
|
|
+ <!-- <avue-crud id="out-table" class="box-card" :header-cell-class-name="headerClassName" ref="crud4"
|
|
|
+ :row-style="{ height: '16px' }" :cell-style="{ padding: '0px' }" :option="sumOption"
|
|
|
+ :data="sumData"></avue-crud>
|
|
|
+ <div
|
|
|
+ v-if="roleName.indexOf('admin') != -1 || roleName.indexOf('利润查看') != -1 || ((roleName.indexOf('应收修改') != -1 || roleName.indexOf('应收查看') != -1) && (roleName.indexOf('应付修改') != -1 || roleName.indexOf('应付查看') != -1))"
|
|
|
+ style="display: flex;align-items: center;justify-content: space-around">
|
|
|
+ <div style="width: 30%">
|
|
|
+ <div style="display: flex;align-items: center;justify-content: space-around">
|
|
|
+ <div>
|
|
|
+ <div style="color: #81B337">
|
|
|
+ <span>应收:</span>
|
|
|
+ <span class="weightnum">¥{{ form.amountD ? form.amountD : 0 }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div style="color: #6BBCD1">
|
|
|
+ <span>应付:</span>
|
|
|
+ <span class="weightnum">¥{{ form.amountC ? form.amountC : 0 }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="bottomFlex">
|
|
|
+ <span>利润</span>
|
|
|
+ <span>¥{{ form.profit ? form.profit : 0 }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="width: 30%">
|
|
|
+ <div style="display: flex;align-items: center;justify-content: space-around">
|
|
|
+ <div>
|
|
|
+ <div style="color: #81B337">
|
|
|
+ <span>应收:</span>
|
|
|
+ <span class="weightnum">${{ form.amountDUsd ? form.amountDUsd : 0 }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div style="color: #6BBCD1">
|
|
|
+ <span>应付:</span>
|
|
|
+ <span class="weightnum">${{ form.amountCUsd ? form.amountCUsd : 0 }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="bottomFlex">
|
|
|
+ <span>利润</span>
|
|
|
+ <span>${{ form.profitUsd ? form.profitUsd : 0 }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="width: 30%">
|
|
|
+ <div style="display: flex;align-items: center;justify-content: space-around">
|
|
|
+ <div>
|
|
|
+ <div style="color: #81B337">
|
|
|
+ <span>应收:</span>
|
|
|
+ <span class="weightnum">¥{{ form.totalAmountD ? form.totalAmountD : 0 }}元</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div style="color: #6BBCD1">
|
|
|
+ <span>应付:</span>
|
|
|
+ <span class="weightnum">¥{{ form.totalAmountC ? form.totalAmountC : 0 }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="bottomFlex">
|
|
|
+ <span>利润</span>
|
|
|
+ <span>¥{{ form.totalProfit ? form.totalProfit : 0 }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div> -->
|
|
|
+ </trade-card>
|
|
|
+ </div>
|
|
|
+ <business-reports :id="form.id" :itemIds="itemIds" ref="print" businessValue="MYDL" :type="true"></business-reports>
|
|
|
+ <business-reports :id="form.id" :itemIds="itemCIds" ref="printC" businessValue="MYDL" classifyCode="费用"
|
|
|
+ groupCode="应付" :selecList="selectionfeecList"></business-reports>
|
|
|
+ <reports :id="form.id" :assemblyForm="form" businessValue="MYDL" ref="report"></reports>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import {
|
|
|
+ detail,
|
|
|
+ submit
|
|
|
+} from "@/api/iosBasicData/feeApplication.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 { dateFormat } from "@/util/date";
|
|
|
+import { bcurrencyGetExrate } from "@/api/iosBasicData/rateManagement";
|
|
|
+import { getToken } from "@/util/auth";
|
|
|
+import _ from "lodash";
|
|
|
+import { Header } from "element-ui";
|
|
|
+export default {
|
|
|
+ name: "detailsPage",
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ CNYSUM: 0,
|
|
|
+ USDSUM: 0,
|
|
|
+ sumData: [],
|
|
|
+ sumOption: {
|
|
|
+ border: true,
|
|
|
+ align: 'center',
|
|
|
+ menuAlign: 'center',
|
|
|
+ menu: false,
|
|
|
+ header: false,
|
|
|
+ addBtn: false,
|
|
|
+ // height: '100px',
|
|
|
+ column: [
|
|
|
+ {
|
|
|
+ label: '客户',
|
|
|
+ prop: 'corpCnName',
|
|
|
+ overHidden: true,
|
|
|
+ }, {
|
|
|
+ label: 'RMB应收',
|
|
|
+ prop: 'rmbD',
|
|
|
+ overHidden: true,
|
|
|
+ }, {
|
|
|
+ label: 'RMB应付',
|
|
|
+ prop: 'rmbC',
|
|
|
+ overHidden: true,
|
|
|
+ }, {
|
|
|
+ label: 'USD应收',
|
|
|
+ prop: 'usdD',
|
|
|
+ overHidden: true,
|
|
|
+ }, {
|
|
|
+ label: 'USD应付',
|
|
|
+ prop: 'usdC',
|
|
|
+ overHidden: true,
|
|
|
+ }, {
|
|
|
+ label: '合计应收',
|
|
|
+ prop: 'sumD',
|
|
|
+ overHidden: true,
|
|
|
+ }, {
|
|
|
+ label: '合计应付',
|
|
|
+ prop: 'sumC',
|
|
|
+ overHidden: true,
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ itemCIds: null,
|
|
|
+ feeType: null,
|
|
|
+ selectionList: [],
|
|
|
+ selectionfeedList: [],
|
|
|
+ selectionfeecList: [],
|
|
|
+ checkId: '', // 审核需要的id
|
|
|
+ batchNo: '',
|
|
|
+ checkScheduleDialog: false, // 审核弹窗
|
|
|
+ editButton: false,
|
|
|
+ editDisabled: false,
|
|
|
+ form: {
|
|
|
+ feeCenterList: [],
|
|
|
+ },
|
|
|
+ oldForm: {},
|
|
|
+ optionForm: {
|
|
|
+ menuBtn: false,
|
|
|
+ span: 6,
|
|
|
+ disabled: false,
|
|
|
+ labelWidth: 100,
|
|
|
+ column: [
|
|
|
+ {
|
|
|
+ label: '客户',
|
|
|
+ prop: 'corpCnName',
|
|
|
+ disabled: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '来源类型',
|
|
|
+ prop: 'srcType',
|
|
|
+ disabled: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '来源系统号',
|
|
|
+ prop: 'srcNo',
|
|
|
+ disabled: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '来源提单号',
|
|
|
+ prop: 'srcMblno',
|
|
|
+ disabled: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '来源放箱号',
|
|
|
+ prop: 'srcContainerNumber',
|
|
|
+ disabled: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '来源合同号',
|
|
|
+ prop: 'srcContractNo',
|
|
|
+ disabled: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '业务日期',
|
|
|
+ prop: 'srcBusDate',
|
|
|
+ disabled: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '结算单位',
|
|
|
+ prop: 'purchaseCompanyName',
|
|
|
+ disabled: true,
|
|
|
+ type: "date",
|
|
|
+ format: "yyyy-MM-dd",
|
|
|
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '审核状态',
|
|
|
+ prop: 'status',
|
|
|
+ disabled: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '备注',
|
|
|
+ prop: 'remarks',
|
|
|
+ type: 'textarea',
|
|
|
+ minRows: 2,
|
|
|
+ span: 18
|
|
|
+ }]
|
|
|
+ },
|
|
|
+ optionForm2: {
|
|
|
+ menuBtn: false,
|
|
|
+ span: 5,
|
|
|
+ disabled: true,
|
|
|
+ labelWidth: 100,
|
|
|
+ column: [
|
|
|
+ {
|
|
|
+ label: '系统号',
|
|
|
+ prop: 'sysNo',
|
|
|
+ disabled: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '制单人',
|
|
|
+ prop: "createUserName",
|
|
|
+ disabled: true,
|
|
|
+ span: 4,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '制单日期',
|
|
|
+ prop: "createTime",
|
|
|
+ disabled: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '修改人',
|
|
|
+ prop: "updateUserName",
|
|
|
+ disabled: true,
|
|
|
+ span: 4,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '修改日期',
|
|
|
+ prop: "updateTime",
|
|
|
+ disabled: true,
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ feedOption: {},
|
|
|
+ feedOptionBack: {
|
|
|
+ // height: 'auto',
|
|
|
+ calcHeight: 30,
|
|
|
+ menuWidth: 60,
|
|
|
+ tip: false,
|
|
|
+ border: true,
|
|
|
+ addBtn: false,
|
|
|
+ viewBtn: false,
|
|
|
+ editBtn: false,
|
|
|
+ delBtn: false,
|
|
|
+ refreshBtn: false,
|
|
|
+ selection: true,
|
|
|
+ align: 'center',
|
|
|
+ menu: false,
|
|
|
+ index: true,
|
|
|
+ summaryText: "合计",
|
|
|
+ showSummary: true,
|
|
|
+ sumColumnList: [
|
|
|
+ {
|
|
|
+ name: 'amount',
|
|
|
+ type: 'sum',
|
|
|
+ decimals: 2
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'amountLoc',
|
|
|
+ type: 'sum',
|
|
|
+ decimals: 2
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ column: [
|
|
|
+ {
|
|
|
+ label: "类别",
|
|
|
+ prop: "billType",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ cell: true,
|
|
|
+ slot: true,
|
|
|
+ formslot: true,
|
|
|
+ rules: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请选择类别',
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "收费对象",
|
|
|
+ prop: "corpCnName",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ cell: true,
|
|
|
+ slot: true,
|
|
|
+ formslot: true,
|
|
|
+ rules: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请选择付费对象',
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "箱号",
|
|
|
+ prop: "cntrNo",
|
|
|
+ width: 140,
|
|
|
+ cell: true,
|
|
|
+ slot: true,
|
|
|
+ formslot: true,
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "费用名称",
|
|
|
+ prop: "feeCnName",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ cell: true,
|
|
|
+ slot: true,
|
|
|
+ formslot: true,
|
|
|
+ rules: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请选择费用名称',
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "计量单位",
|
|
|
+ prop: "unitNo",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ cell: true,
|
|
|
+ slot: true,
|
|
|
+ formslot: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "币别",
|
|
|
+ prop: "curCode",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ cell: true,
|
|
|
+ slot: true,
|
|
|
+ formslot: true,
|
|
|
+ rules: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请选择币别',
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "汇率",
|
|
|
+ prop: "exrate",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ cell: true,
|
|
|
+ slot: true,
|
|
|
+ formslot: true
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ label: "单价",
|
|
|
+ prop: "price",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ cell: true,
|
|
|
+ slot: true,
|
|
|
+ formslot: true,
|
|
|
+ rules: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请输入单价',
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "数量",
|
|
|
+ prop: "quantity",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ cell: true,
|
|
|
+ slot: true,
|
|
|
+ formslot: true,
|
|
|
+ rules: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请输入数量',
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "金额",
|
|
|
+ prop: "amount",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "外币金额",
|
|
|
+ prop: "amountLoc",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "制单人",
|
|
|
+ prop: "createUserName",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "制单日期",
|
|
|
+ prop: "createTime",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "修改人",
|
|
|
+ prop: "updateUserName",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "修改日期",
|
|
|
+ prop: "updateTime",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "备注",
|
|
|
+ prop: "remarks",
|
|
|
+ cell: true,
|
|
|
+ width: "120",
|
|
|
+ overHidden: true
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ feecOption: {},
|
|
|
+ feecOptionBack: {
|
|
|
+ // height: 'auto',
|
|
|
+ calcHeight: 30,
|
|
|
+ menuWidth: 60,
|
|
|
+ tip: false,
|
|
|
+ border: true,
|
|
|
+ addBtn: false,
|
|
|
+ viewBtn: false,
|
|
|
+ editBtn: false,
|
|
|
+ delBtn: false,
|
|
|
+ refreshBtn: false,
|
|
|
+ selection: true,
|
|
|
+ align: 'center',
|
|
|
+ menu: false,
|
|
|
+ index: true,
|
|
|
+ summaryText: "合计",
|
|
|
+ showSummary: true,
|
|
|
+ sumColumnList: [
|
|
|
+ {
|
|
|
+ name: 'amount',
|
|
|
+ type: 'sum',
|
|
|
+ decimals: 2
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'amountLoc',
|
|
|
+ type: 'sum',
|
|
|
+ decimals: 2
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ column: [
|
|
|
+ {
|
|
|
+ label: "类别",
|
|
|
+ prop: "billType",
|
|
|
+ width: 100,
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "付费对象",
|
|
|
+ prop: "corpCnName",
|
|
|
+ width: 100,
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "箱号",
|
|
|
+ prop: "cntrNo",
|
|
|
+ width: 140,
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "费用名称",
|
|
|
+ prop: "feeCnName",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "计量单位",
|
|
|
+ prop: "unitNo",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "币别",
|
|
|
+ prop: "curCode",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "汇率",
|
|
|
+ prop: "exrate",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ label: "单价",
|
|
|
+ prop: "price",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "数量",
|
|
|
+ prop: "quantity",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "金额",
|
|
|
+ prop: "amount",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "外币金额",
|
|
|
+ prop: "amountLoc",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "制单人",
|
|
|
+ prop: "createUserName",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "制单日期",
|
|
|
+ prop: "createTime",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "修改人",
|
|
|
+ prop: "updateUserName",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "修改日期",
|
|
|
+ prop: "updateTime",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "备注",
|
|
|
+ prop: "remarks",
|
|
|
+ cell: true,
|
|
|
+ width: "120",
|
|
|
+ overHidden: true
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ feeCenterListD: [],
|
|
|
+ feeCenterListC: [],
|
|
|
+ roleName: [],
|
|
|
+ }
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ dicSelect
|
|
|
+ },
|
|
|
+ props: {
|
|
|
+ detailData: Object
|
|
|
+ },
|
|
|
+ async created() {
|
|
|
+ this.roleName = localStorage.getItem('roleName').split(',')
|
|
|
+ this.feedOption = await this.getColumnData(this.getColumnName(485), this.feedOptionBack);
|
|
|
+ this.feecOption = await this.getColumnData(this.getColumnName(486), this.feecOptionBack);
|
|
|
+ if (this.detailData.id) {
|
|
|
+ this.getDetail(this.detailData.id)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ getDetail(id) {
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: '加载中',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(255,255,255,0.7)'
|
|
|
+ });
|
|
|
+ detail({ id: id }).then(res => {
|
|
|
+ this.feeCenterListD = res.data.data.feeCenterList.filter(item => item.dc == "D")
|
|
|
+ this.feeCenterListC = res.data.data.feeCenterList.filter(item => item.dc == "C")
|
|
|
+ this.form = res.data.data
|
|
|
+ this.updateFormKey = new Date().getTime()
|
|
|
+ }).finally(() => {
|
|
|
+ loading.close()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ inEdit() {
|
|
|
+ this.editButton = false
|
|
|
+ },
|
|
|
+ submit(type) {
|
|
|
+ this.$refs["form"].validate((valid, done) => {
|
|
|
+ done();
|
|
|
+ if (valid) {
|
|
|
+ for (let row of this.form.tradingBoxItemsList) {
|
|
|
+ if (!row.code || !row.boxType || !row.boxBelongsTo || !row.boxCategory || !row.boxStatus || !row.boxCondition || !row.amount || !row.currency || !row.exrate || !row.stationCname || !row.status) {
|
|
|
+ this.$refs.crud.rowCell(row, row.$index)
|
|
|
+ return this.$message.error("请完善箱明细信息");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (let row of this.feeCenterListD) {
|
|
|
+ if (!row.billType || !row.corpCnName || !row.feeCnName || !row.curCode || !row.price || !row.quantity) {
|
|
|
+ this.$refs.crud2.rowCell(row, row.$index)
|
|
|
+ return this.$message.error("请完善应收费用明细");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (let row of this.feeCenterListC) {
|
|
|
+ if (!row.billType || !row.corpCnName || !row.feeCnName || !row.curCode || !row.price || !row.quantity) {
|
|
|
+ this.$refs.crud3.rowCell(row, row.$index)
|
|
|
+ return this.$message.error("请完善应付费用明细");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.form.feeCenterList = [...this.feeCenterListD, ...this.feeCenterListC]
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: '加载中',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(255,255,255,0.7)'
|
|
|
+ });
|
|
|
+ submit(this.form).then(res => {
|
|
|
+ this.$message.success("保存成功");
|
|
|
+ this.getDetail(res.data.data.id)
|
|
|
+ }).finally(() => {
|
|
|
+ loading.close();
|
|
|
+ })
|
|
|
+
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //自定义列保存
|
|
|
+ async saveColumn(ref, option, optionBack, code) {
|
|
|
+ const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
|
|
|
+ if (inSave) {
|
|
|
+ this.$message.success("保存成功");
|
|
|
+ //关闭窗口
|
|
|
+ this.$refs[ref].$refs.dialogColumn.columnBox = false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //自定义列重置
|
|
|
+ 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;
|
|
|
+ },
|
|
|
+ goBack(type) {
|
|
|
+ this.$emit("goBack");
|
|
|
+ },
|
|
|
+ getSum() {
|
|
|
+ let sumArr = []
|
|
|
+ let corpArr = []
|
|
|
+ let newArr = []
|
|
|
+ this.sumData = []
|
|
|
+ sumArr = this.feeCenterListD.concat(this.feeCenterListC)
|
|
|
+ sumArr.forEach(e => {
|
|
|
+ if (e.shortName) {
|
|
|
+ corpArr.push(e.shortName)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ newArr = [... new Set(corpArr)]
|
|
|
+ newArr.forEach(e => {
|
|
|
+ let rmbD = 0
|
|
|
+ let rmbC = 0
|
|
|
+ let usdD = 0
|
|
|
+ let usdC = 0
|
|
|
+ let sumD = 0
|
|
|
+ let sumC = 0
|
|
|
+ sumArr.forEach(item => {
|
|
|
+ if (e == item.shortName) {
|
|
|
+ if (item.curCode == 'CNY' && item.dc == 'D') {
|
|
|
+ rmbD += Number(item.amount)
|
|
|
+ sumD += Number(item.amount)
|
|
|
+ }
|
|
|
+ if (item.curCode == 'CNY' && item.dc == 'C') {
|
|
|
+ rmbC += Number(item.amount)
|
|
|
+ sumC += Number(item.amount)
|
|
|
+ }
|
|
|
+ if (item.curCode == 'USD' && item.dc == 'D') {
|
|
|
+ usdD += Number(item.amountLoc)
|
|
|
+ sumD += Number(item.amountLoc) * Number(item.exrate)
|
|
|
+ }
|
|
|
+ if (item.curCode == 'USD' && item.dc == 'C') {
|
|
|
+ usdC += Number(item.amountLoc)
|
|
|
+ sumC += Number(item.amountLoc) * Number(item.exrate)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.sumData.push({
|
|
|
+ corpCnName: e,
|
|
|
+ rmbD: _.round(rmbD, 2),
|
|
|
+ rmbC: _.round(rmbC, 2),
|
|
|
+ usdD: _.round(usdD, 2),
|
|
|
+ usdC: _.round(usdC, 2),
|
|
|
+ sumD: _.round(sumD, 2),
|
|
|
+ sumC: _.round(sumC, 2)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ // 监听业务类型 如果不是分单 可以编辑分单号
|
|
|
+ // 'feeCenterListD': {
|
|
|
+ // // 执行方法
|
|
|
+ // handler(oldValue, newValue) {
|
|
|
+ // this.getSum()
|
|
|
+ // },
|
|
|
+ // deep: true, // 深度监听
|
|
|
+ // immediate: true // 第一次改变就执行
|
|
|
+ // },
|
|
|
+ // 监听箱信息数据 箱信息中有温度 自动切换 冻货
|
|
|
+ // 'feeCenterListC': {
|
|
|
+ // // 执行方法
|
|
|
+ // handler(oldValue, newValue) {
|
|
|
+ // this.getSum()
|
|
|
+ // },
|
|
|
+ // deep: true, // 深度监听
|
|
|
+ // immediate: true // 第一次改变就执行,
|
|
|
+ // }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+::v-deep .el-form-item__error {
|
|
|
+ display: none !important;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .el-form-item {
|
|
|
+ margin-bottom: 8px !important;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .el-table .cell {
|
|
|
+ padding: 0 2px !important;
|
|
|
+
|
|
|
+ .el-form-item {
|
|
|
+ margin-bottom: 0px !important;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .avue-crud .el-table .el-form-item__label {
|
|
|
+ left: -1px;
|
|
|
+}
|
|
|
+
|
|
|
+// ::v-deep#out-table .back-one {
|
|
|
+// background: #ecf5ff !important;
|
|
|
+// }
|
|
|
+
|
|
|
+// ::v-deep#out-table .back-two {
|
|
|
+// background: #ecf5ff !important;
|
|
|
+// }
|
|
|
+
|
|
|
+::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;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+::v-deep .el-table--small td,
|
|
|
+.el-table--small th {
|
|
|
+ padding: 2px !important;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .el-card__body {
|
|
|
+ padding: 3px 10px;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .box-card .el-card__body {
|
|
|
+ padding: 4px !important;
|
|
|
+}
|
|
|
+
|
|
|
+.disabledBox {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+}
|
|
|
+
|
|
|
+.meetSize {
|
|
|
+ font-size: 16px;
|
|
|
+ color: #54BCBD;
|
|
|
+}
|
|
|
+
|
|
|
+.fontSize {
|
|
|
+ font-size: 16px;
|
|
|
+ color: #81B337;
|
|
|
+}
|
|
|
+</style>
|