|
@@ -0,0 +1,854 @@
|
|
|
+<template>
|
|
|
+ <el-dialog
|
|
|
+ :title="title"
|
|
|
+ :visible.sync="showDialog"
|
|
|
+ width="80%"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ @close="handleClose"
|
|
|
+ >
|
|
|
+ <el-form
|
|
|
+ ref="form"
|
|
|
+ :model="form"
|
|
|
+ label-width="110px"
|
|
|
+ >
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="业务类型" prop="">
|
|
|
+ <el-select
|
|
|
+ placeholder="请选择原业务类型"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ style="width: 100%"
|
|
|
+ :disabled="isDisabled"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(dict, index) in billTypeList"
|
|
|
+ :key="index.dictValue"
|
|
|
+ :label="dict.dictLabel"
|
|
|
+ :value="dict.dictValue"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="客户名称">
|
|
|
+ <el-select
|
|
|
+ placeholder="请选择客户名称"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ style="width: 100%"
|
|
|
+ :disabled="isDisabled"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(dict, index) in fMblnoOptions"
|
|
|
+ :key="index.fId"
|
|
|
+ :label="dict.fName"
|
|
|
+ :value="dict.fId"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="系统编码" prop="">
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入系统编码"
|
|
|
+ size="small"
|
|
|
+ style="width: 100%"
|
|
|
+ :disabled="isDisabled"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="提单号" prop="">
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入提单号"
|
|
|
+ size="small"
|
|
|
+ style="width: 100%"
|
|
|
+ :disabled="isDisabled"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="业务日期" prop="">
|
|
|
+ <el-date-picker
|
|
|
+ type="daterange"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ clearable
|
|
|
+ style="width: 100%"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ :disabled="isDisabled"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="仓库" prop="">
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入仓库"
|
|
|
+ size="small"
|
|
|
+ style="width: 100%"
|
|
|
+ :disabled="isDisabled"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="品名" prop="">
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入品名"
|
|
|
+ size="small"
|
|
|
+ style="width: 100%"
|
|
|
+ :disabled="isDisabled"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <div style="display: flex;justify-content: flex-end">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ v-if="!isDisabled"
|
|
|
+ >查询</el-button>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+ <el-collapse v-model="collapselist">
|
|
|
+ <el-collapse-item :name="1">
|
|
|
+ <template slot="title">
|
|
|
+ <span style="font-size: 16px; font-weight: bolder; margin-left: 5px"
|
|
|
+ >原业务费用信息</span>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <el-row :gutter="10" style="padding-bottom: 10px">
|
|
|
+ <div style="display: flex;justify-content: flex-end">
|
|
|
+ <div style="margin: 0 12px">
|
|
|
+ <el-button
|
|
|
+ icon="el-icon-setting"
|
|
|
+ size="mini"
|
|
|
+ circle
|
|
|
+ @click="showSetting = !showSetting"
|
|
|
+ ></el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-dialog title="自定义列显示" append-to-body :visible.sync="showSetting" width="700px">
|
|
|
+ <div>配置排序列数据(拖动调整顺序)</div>
|
|
|
+ <div style="margin-left: 17px">
|
|
|
+ <el-checkbox
|
|
|
+ v-model="allCheck"
|
|
|
+ label="全选"
|
|
|
+ @change="allChecked"
|
|
|
+ ></el-checkbox>
|
|
|
+ </div>
|
|
|
+ <div style="padding: 4px; display: flex; justify-content: center">
|
|
|
+ <draggable
|
|
|
+ v-model="setRowList"
|
|
|
+ group="site"
|
|
|
+ animation="300"
|
|
|
+ @start="onStart"
|
|
|
+ @end="onEnd"
|
|
|
+ handle=".indraggable"
|
|
|
+ >
|
|
|
+ <transition-group>
|
|
|
+ <div
|
|
|
+ v-for="item in setRowList"
|
|
|
+ :key="item.surface"
|
|
|
+ class="listStyle"
|
|
|
+ >
|
|
|
+ <div style="width: 500px" class="indraggable">
|
|
|
+ <div class="progress" :style="{ width: item.width + 'px' }">
|
|
|
+ <el-checkbox
|
|
|
+ :label="item.name"
|
|
|
+ v-model="item.checked"
|
|
|
+ :true-label="0"
|
|
|
+ :false-label="1"
|
|
|
+ >{{ item.name }}
|
|
|
+ </el-checkbox>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-input-number
|
|
|
+ v-model.number="item.width"
|
|
|
+ controls-position="right"
|
|
|
+ :min="1"
|
|
|
+ :max="500"
|
|
|
+ size="mini"
|
|
|
+ ></el-input-number>
|
|
|
+ </div>
|
|
|
+ </transition-group>
|
|
|
+ </draggable>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="showSetting = false">取 消</el-button>
|
|
|
+ <el-button @click="delRow" type="danger">重 置</el-button>
|
|
|
+ <el-button type="primary" @click="save()">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <el-table :data="feesList" style="width: 100%">
|
|
|
+ <el-table-column
|
|
|
+ v-for="(item, index) in getRowList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.name"
|
|
|
+ :width="item.width"
|
|
|
+ :prop="item.label"
|
|
|
+ align="center"
|
|
|
+ sortable
|
|
|
+ :fixed="item.fixed"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span id="span1" v-if="item.label == 'fCorpid'">
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.fCorpid"
|
|
|
+ placeholder="请输入客户名称"
|
|
|
+ :clearable="true"
|
|
|
+ filterable
|
|
|
+ size="mini"
|
|
|
+ :disabled="true"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(dict, index) in fMblnoOptions"
|
|
|
+ :key="index.fId"
|
|
|
+ :label="dict.fName"
|
|
|
+ :value="dict.fId"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </span>
|
|
|
+ <span v-else-if="item.label == 'fFeeid'">
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.fFeeid"
|
|
|
+ filterable
|
|
|
+ :disabled="true"
|
|
|
+ remote
|
|
|
+ placeholder="费用名称"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(dict, index) in fCNameOptions"
|
|
|
+ :key="index.fId"
|
|
|
+ :label="dict.fName"
|
|
|
+ :value="dict.fId"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </span>
|
|
|
+ <span v-else-if="item.label == 'fDc'">
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.fDc"
|
|
|
+ placeholder="请选择"
|
|
|
+ :disabled="true"
|
|
|
+ >
|
|
|
+ <el-option label="收" value="D"></el-option>
|
|
|
+ <el-option label="付" value="C"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </span>
|
|
|
+ <span v-else-if="item.label == 'fFeeunitid'">
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.fFeeunitid"
|
|
|
+ placeholder="请选择计费单位"
|
|
|
+ :disabled="true"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="dict in jFeetunitOptions"
|
|
|
+ :key="dict.dictValue"
|
|
|
+ :label="dict.dictLabel"
|
|
|
+ :value="dict.dictValue"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </span>
|
|
|
+ <span v-else-if="item.label == 'fBillingQty'">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.fBillingQty"
|
|
|
+ :disabled="true"
|
|
|
+ placeholder="请输入计费数量"
|
|
|
+ @input="total(scope.row)"
|
|
|
+ v-input-limit="2"
|
|
|
+ ></el-input>
|
|
|
+ </span>
|
|
|
+ <span v-else-if="item.label == 'fUnitprice'">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.fUnitprice"
|
|
|
+ :disabled="true"
|
|
|
+ placeholder="请输入单价"
|
|
|
+ @input="total(scope.row)"
|
|
|
+ v-input-limit="2"
|
|
|
+ ></el-input>
|
|
|
+ </span>
|
|
|
+ <span v-else-if="item.label == 'fCurrency'">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.fCurrency"
|
|
|
+ :disabled="true"
|
|
|
+ placeholder="请输入币种"
|
|
|
+ ></el-input>
|
|
|
+ </span>
|
|
|
+ <span v-else-if="item.label == 'fExrate'">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.fExrate"
|
|
|
+ :disabled="true"
|
|
|
+ placeholder="请输入汇率"
|
|
|
+ ></el-input>
|
|
|
+ </span>
|
|
|
+ <span v-else-if="item.label == 'fAmount'">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.fAmount"
|
|
|
+ :disabled="true"
|
|
|
+ placeholder="请输入金额"
|
|
|
+ ></el-input>
|
|
|
+ </span>
|
|
|
+ <span v-else-if="item.label == 'fTaxrate'">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.fTaxrate"
|
|
|
+ :disabled="true"
|
|
|
+ placeholder="请输入税率"
|
|
|
+ ></el-input>
|
|
|
+ </span>
|
|
|
+ <span v-else-if="item.label == 'remarks'">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.remarks"
|
|
|
+ :disabled="true"
|
|
|
+ placeholder="请输入备注"
|
|
|
+ ></el-input>
|
|
|
+ </span>
|
|
|
+ <span v-else-if="item.label == 'actId'">
|
|
|
+ <span v-if="scope.row.actId == 1080">费用确认</span>
|
|
|
+ <span v-if="scope.row.actId == 1090">追加费用</span>
|
|
|
+ <span v-if="scope.row.actId == 1100">费用变更</span>
|
|
|
+ </span>
|
|
|
+ <span v-else>{{ scope.row[item.label] }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="操作"
|
|
|
+ align="center"
|
|
|
+ class-name="small-padding fixed-width"
|
|
|
+ fixed="right"
|
|
|
+ width="100px"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-circle-plus"
|
|
|
+ @click.native.prevent="change(scope.row)"
|
|
|
+ >导入</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-collapse-item>
|
|
|
+
|
|
|
+ <el-collapse-item :name="2">
|
|
|
+ <template slot="title">
|
|
|
+ <span style="font-size: 16px; font-weight: bolder; margin-left: 5px"
|
|
|
+ >更改费用信息</span>
|
|
|
+ </template>
|
|
|
+ <div>
|
|
|
+ <div style="display: flex; justify-content: space-between; margin: 10px 0">
|
|
|
+ <div>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ icon="el-icon-plus"
|
|
|
+ size="mini"
|
|
|
+ >保 存</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-table :data="formfeesList" style="width: 100%">
|
|
|
+ <el-table-column
|
|
|
+ prop="fCorpid"
|
|
|
+ label="结算单位"
|
|
|
+ align="center"
|
|
|
+ width="180"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.fCorpid"
|
|
|
+ placeholder="请输入计算单位"
|
|
|
+ :clearable="true"
|
|
|
+ filterable
|
|
|
+ size="mini"
|
|
|
+ style="width: 160px"
|
|
|
+ :disabled="disabledtwo"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(dict, index) in fMblnoOptions"
|
|
|
+ :key="index.fId"
|
|
|
+ :label="dict.fName"
|
|
|
+ :value="dict.fId"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="fFeeid"
|
|
|
+ label="费用名称"
|
|
|
+ align="center"
|
|
|
+ width="120"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.fFeeid"
|
|
|
+ filterable
|
|
|
+ :disabled="disabledtwo"
|
|
|
+ remote
|
|
|
+ placeholder="费用名称"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(dict, index) in fCNameOptions"
|
|
|
+ :key="index.fId"
|
|
|
+ :label="dict.fName"
|
|
|
+ :value="dict.fId"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="fDc" label="收付" align="center" width="100">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.fDc"
|
|
|
+ placeholder="请选择"
|
|
|
+ :disabled="disabledtwo"
|
|
|
+ >
|
|
|
+ <el-option label="收" value="D"></el-option>
|
|
|
+ <el-option label="付" value="C"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="fFeeunitid"
|
|
|
+ label="计费单位"
|
|
|
+ align="center"
|
|
|
+ width="100"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.fFeeunitid"
|
|
|
+ placeholder="请选择计费单位"
|
|
|
+ :disabled="disabledtwo"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="dict in jFeetunitOptions"
|
|
|
+ :key="dict.dictValue"
|
|
|
+ :label="dict.dictLabel"
|
|
|
+ :value="dict.dictValue"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="fBillingQty"
|
|
|
+ label="计费数量"
|
|
|
+ align="center"
|
|
|
+ width="100"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.fBillingQty"
|
|
|
+ :disabled="disabledtwo"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
|
|
|
+ @input="total(scope.row)"
|
|
|
+ ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="fUnitprice"
|
|
|
+ label="单价"
|
|
|
+ align="center"
|
|
|
+ width="100"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.fUnitprice"
|
|
|
+ :disabled="disabledtwo"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
|
|
|
+ @input="total(scope.row)"
|
|
|
+ ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="fCurrency"
|
|
|
+ label="币种"
|
|
|
+ align="center"
|
|
|
+ width="100">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.fCurrency"
|
|
|
+ :disabled="disabledtwo"
|
|
|
+ placeholder="请输入内容"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="fExrate" label="汇率" align="center" width="100">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.fExrate"
|
|
|
+ :disabled="disabledtwo"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="fAmount" label="金额" align="center" width="100">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.fAmount"
|
|
|
+ :disabled="disabledtwo"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="fTaxrate"
|
|
|
+ label="税率"
|
|
|
+ align="center"
|
|
|
+ width="100"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.fTaxrate"
|
|
|
+ :disabled="disabledtwo"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="remarks" label="费用来源" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.actId == 1080">费用确认</span>
|
|
|
+ <span v-if="scope.row.actId == 1090">追加费用</span>
|
|
|
+ <span v-if="scope.row.actId == 1100">费用变更</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="remarks" label="录入人" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="remarks" label="录入日期" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="remarks" label="审核人" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="remarks" label="审核日期" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="remarks" label="备注" align="center" width="180">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.remarks"
|
|
|
+ :disabled="disabledtwo"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="操作"
|
|
|
+ align="center"
|
|
|
+ class-name="small-padding fixed-width"
|
|
|
+ fixed="right"
|
|
|
+ width="140px"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ :disabled="scope.row.fBillstatus === 6"
|
|
|
+ @click.native.prevent="deleteRow(scope,scope.$index)"
|
|
|
+ >删除</el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ :disabled="scope.row.fBillstatus === 6"
|
|
|
+ v-if="scope.row.fId"
|
|
|
+ @click.native.prevent="changerequest(scope)"
|
|
|
+ >请核</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-collapse-item>
|
|
|
+ </el-collapse>
|
|
|
+
|
|
|
+ <span slot="footer">
|
|
|
+ <el-button
|
|
|
+ type="success"
|
|
|
+ @click="submitAllowChanges"
|
|
|
+ v-hasPermi="['fleet:vehicleStatus:edit']"
|
|
|
+ >修 改</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ v-hasPermi="['fleet:vehicleStatus:edit']"
|
|
|
+ >保 存</el-button>
|
|
|
+ <el-button @click="showDialog = false;disabledtwo = true">取 消</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { listCorps } from "@/api/basicdata/corps";
|
|
|
+import {listFees} from "@/api/basicdata/fees";
|
|
|
+import { addSet, resetModule, select } from '@/api/system/set';
|
|
|
+import Cookies from 'js-cookie';
|
|
|
+import draggable from "vuedraggable";
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: "AddOrUpdate",
|
|
|
+ props: {
|
|
|
+ addOrUpdateVisible: {
|
|
|
+ type: Boolean,
|
|
|
+ default: false,
|
|
|
+ },
|
|
|
+ title: {
|
|
|
+ type: String,
|
|
|
+ required: ''
|
|
|
+ },
|
|
|
+ form: Object,
|
|
|
+ // 原业务费用信息表
|
|
|
+ feesList: {
|
|
|
+ type: Array,
|
|
|
+ default: () => [{fCorpid: 156},{fCorpid: 166}],
|
|
|
+ },
|
|
|
+ // 更改费用信息
|
|
|
+ formfeesList: {
|
|
|
+ type: Array,
|
|
|
+ default: () => [],
|
|
|
+ },
|
|
|
+ // 新增FALSE,查看/跳转TRUE
|
|
|
+ isDisabled: {
|
|
|
+ type: Boolean
|
|
|
+ }
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ draggable,
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ // 控制弹出框显示隐藏
|
|
|
+ showDialog: false,
|
|
|
+ // 表单
|
|
|
+ form: {},
|
|
|
+ // 折叠面板激活
|
|
|
+ collapselist: [1, 2],
|
|
|
+ billTypeList: [],
|
|
|
+ fMblnoOptions: [],
|
|
|
+ tableDate: [
|
|
|
+ {
|
|
|
+ surface: "1",
|
|
|
+ label: "fCorpid",
|
|
|
+ name: "结算单位",
|
|
|
+ checked: 0,
|
|
|
+ width: 150,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "2",
|
|
|
+ label: "fFeeid",
|
|
|
+ name: "费用名称",
|
|
|
+ checked: 0,
|
|
|
+ width: 120,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "3",
|
|
|
+ label: "fDc",
|
|
|
+ name: "收付",
|
|
|
+ checked: 0,
|
|
|
+ width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "4",
|
|
|
+ label: "fFeeunitid",
|
|
|
+ name: "计费单位",
|
|
|
+ checked: 0,
|
|
|
+ width: 120,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "5",
|
|
|
+ label: "fBillingQty",
|
|
|
+ name: "计费数量",
|
|
|
+ checked: 0,
|
|
|
+ width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "6",
|
|
|
+ label: "fUnitprice",
|
|
|
+ name: "单价",
|
|
|
+ checked: 0,
|
|
|
+ width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "7",
|
|
|
+ label: "fCurrency",
|
|
|
+ name: "币种",
|
|
|
+ checked: 0,
|
|
|
+ width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "8",
|
|
|
+ label: "fExrate",
|
|
|
+ name: "汇率",
|
|
|
+ checked: 0,
|
|
|
+ width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "9",
|
|
|
+ label: "fAmount",
|
|
|
+ name: "金额",
|
|
|
+ checked: 0,
|
|
|
+ width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "10",
|
|
|
+ label: "fTaxrate",
|
|
|
+ name: "税率",
|
|
|
+ checked: 0,
|
|
|
+ width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "11",
|
|
|
+ label: "remarks",
|
|
|
+ name: "备注",
|
|
|
+ checked: 0,
|
|
|
+ width: 150,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "12",
|
|
|
+ label: "actId",
|
|
|
+ name: "费用来源",
|
|
|
+ checked: 0,
|
|
|
+ width: 100,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ setRowList: [],
|
|
|
+ getRowList: [],
|
|
|
+ // 自定义列弹窗显示
|
|
|
+ showSetting: false,
|
|
|
+ //自定义列宽
|
|
|
+ allCheck: false,
|
|
|
+ drag: false,
|
|
|
+ fCNameOptions: [],
|
|
|
+ jFeetunitOptions: [],
|
|
|
+ disabledtwo: false,
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.setRowList = this.tableDate;
|
|
|
+ this.getRowList = this.tableDate;
|
|
|
+ this.getDicts("data_billtype_type").then((response) => {
|
|
|
+ console.log(response)
|
|
|
+ this.billTypeList = response.data;
|
|
|
+ });
|
|
|
+ this.getDicts("data_unitfees").then((response) => {
|
|
|
+ if (response.data) {
|
|
|
+ this.jFeetunitOptions = response.data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ listCorps().then((response) => {
|
|
|
+ this.fMblnoOptions = response.rows;
|
|
|
+ });
|
|
|
+ listFees().then((response) => {
|
|
|
+ this.fCNameOptions = response.rows;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ addOrUpdateVisible(oldVal, newWal) {
|
|
|
+ this.showDialog = this.addOrUpdateVisible;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 弹出框关闭后触发
|
|
|
+ handleClose() {
|
|
|
+ // 子组件调用父组件方法,并传递参数
|
|
|
+ this.disabledtwo = true
|
|
|
+ this.$emit("changeShow", "false");
|
|
|
+ this.cntrIdList.forEach((item) => (item.noOption = false));
|
|
|
+ this.collapses = [];
|
|
|
+ },
|
|
|
+ //变更按钮
|
|
|
+ change(row){
|
|
|
+ console.log(row)
|
|
|
+ let list = JSON.parse(JSON.stringify(row))
|
|
|
+ list.fId = ''
|
|
|
+ list.fBillstatus = ''
|
|
|
+ list.actId = 1100
|
|
|
+ this.formfeesList.push(list)
|
|
|
+ // for (let item in this.formfeesList){
|
|
|
+ // if (scope.row.fId === this.formfeesList[item].fId) {
|
|
|
+ // this.$message({
|
|
|
+ // showClose: true,
|
|
|
+ // message: '已有相同单据',
|
|
|
+ // type: 'error'
|
|
|
+ // });
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ },
|
|
|
+ //內容删除
|
|
|
+ deleteRow(rows,index) {
|
|
|
+ if (rows.row.fId){
|
|
|
+ deleteList(rows.row.fId).then(res => {
|
|
|
+ this.formfeesList.splice(index, 1);
|
|
|
+ })
|
|
|
+ }else {
|
|
|
+ this.formfeesList.splice(index, 1);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //修改
|
|
|
+ submitAllowChanges() {
|
|
|
+ this.msgSuccess("允许修改");
|
|
|
+ this.disabledtwo = false
|
|
|
+ },
|
|
|
+
|
|
|
+ //列设置全选
|
|
|
+ allChecked() {
|
|
|
+ if (this.allCheck == true) {
|
|
|
+ this.setRowList.map((e) => {
|
|
|
+ return (e.checked = 0);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.setRowList.map((e) => {
|
|
|
+ return (e.checked = 1);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //开始拖拽事件
|
|
|
+ onStart() {
|
|
|
+ this.drag = true;
|
|
|
+ },
|
|
|
+ //拖拽结束事件
|
|
|
+ onEnd() {
|
|
|
+ this.drag = false;
|
|
|
+ },
|
|
|
+ //重置列表
|
|
|
+ delRow() {
|
|
|
+ this.data = {
|
|
|
+ tableName: "费用变更",
|
|
|
+ userId: Cookies.get("userName"),
|
|
|
+ };
|
|
|
+ resetModule(this.data).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.showSetting = false;
|
|
|
+ this.setRowList = this.tableDate;
|
|
|
+ console.log(this.setRowList)
|
|
|
+ this.getRowList = this.tableDate;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //保存列设置
|
|
|
+ save() {
|
|
|
+ this.showSetting = false;
|
|
|
+ this.data = {
|
|
|
+ tableName: "船舶信息",
|
|
|
+ userId: Cookies.get("userName"),
|
|
|
+ sysTableSetList: this.setRowList,
|
|
|
+ };
|
|
|
+ addSet(this.data).then((res) => {
|
|
|
+ this.getRowList = this.setRowList.filter((e) => e.checked == 0);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ total(row) {
|
|
|
+ if (row.fBillingQty && row.fUnitprice) {
|
|
|
+ this.$set(row, "fAmount", (Number(row.fBillingQty) * Number(row.fUnitprice)).toFixed(2));
|
|
|
+ } else {
|
|
|
+ this.$set(row, "fAmount", 0);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+
|
|
|
+</style>
|