123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969 |
- <template>
- <div class="tenant">
- <byTable
- :hideTable="true"
- :hidePagination="true"
- :source="sourceList.data"
- :pagination="sourceList.pagination"
- :config="config"
- :statConfig="statConfig"
- :loading="loading"
- :selectConfig="selectConfig"
- highlight-current-row
- :action-list="[
- {
- text: '默认汇率',
- action: () => openModal(),
- },
- ]"
- @get-list="getList"
- >
- </byTable>
- <div
- style="padding: 0 20px 20px 20px; background-color: white"
- v-if="rateStatus"
- >
- <el-table :data="sourceList.data">
- <el-table-column label="合同编号" prop="code" width="160" fixed />
- <el-table-column
- label="客户名称"
- prop="customerName"
- min-width="200"
- fixed
- />
- <el-table-column label="业务员" prop="userName" width="140" fixed />
- <el-table-column label="合同金额" width="140">
- <template #default="{ row }">
- <div>{{ row.currency }} {{ row.amount }}</div>
- </template>
- </el-table-column>
- <el-table-column label="应付货款" width="140">
- <template #default="{ row }">
- <div>
- <span v-if="row.otherSumAmount">{{ row.otherSumAmount }}</span>
- <span v-else>{{ row.ehsdSumAmount }}</span>
- </div>
- </template>
- </el-table-column>
- <el-table-column label="税率" width="140">
- <template #default="{ row }">
- <div>13%</div>
- </template>
- </el-table-column>
- <el-table-column
- label="应退税金额"
- prop="refundableAmount"
- width="140"
- />
- <el-table-column label="包材金额" width="140">
- <template #default="{ row }">
- <div>{{ row.peritectoidAmount }}</div>
- </template>
- </el-table-column>
- <el-table-column label="配件金额" width="140">
- <template #default="{ row }">
- <div>{{ row.accessoriesAmount }}</div>
- </template>
- </el-table-column>
- <el-table-column label="拖车费" width="140">
- <template #default="{ row }">
- <div>{{ row.trailerFee }}</div>
- </template>
- </el-table-column>
- <el-table-column label="报关费" width="140">
- <template #default="{ row }">
- <div>{{ row.customsFee }}</div>
- </template>
- </el-table-column>
- <el-table-column label="代理费" width="140">
- <template #default="{ row }">
- <div>{{ row.agencyFee }}</div>
- </template>
- </el-table-column>
- <el-table-column label="港杂费" width="140">
- <template #default="{ row }">
- <div>{{ row.portMixedFee }}</div>
- </template>
- </el-table-column>
- <el-table-column label="验货红包" width="140">
- <template #default="{ row }">
- <div>
- {{ row.inspectionRedPack }}
- </div>
- </template>
- </el-table-column>
- <el-table-column label="佣金" width="140">
- <template #default="{ row }">
- <div>{{ row.commission }}</div>
- </template>
- </el-table-column>
- <el-table-column label="其他" width="140">
- <template #default="{ row }">
- <div>{{ row.other }}</div>
- </template>
- </el-table-column>
- <el-table-column label="收入总计" prop="incomeAmount" width="140" />
- <el-table-column
- label="支出总计"
- prop="expenditureAmount"
- width="140"
- />
- <el-table-column label="毛利率" width="140">
- <template #default="{ row }">
- <div>{{ parseFloat(row.grossRate).toFixed(2) }}%</div>
- </template>
- </el-table-column>
- <el-table-column label="毛利" prop="gross" width="140" />
- <el-table-column label="操作" align="center" width="160" fixed="right">
- <template #default="{ row }">
- <div>
- <el-button type="primary" @click="changeExchangeRate(row)" link
- >汇率</el-button
- >
- <el-button type="primary" @click="changeBudget(row)" link
- >预算</el-button
- >
- </div>
- </template>
- </el-table-column>
- </el-table>
- <el-row style="padding: 20px" justify="end" type="flex">
- <el-pagination
- background
- layout="total, sizes, prev, pager, next, jumper"
- :current-page="sourceList.pagination.pageNum"
- :page-size="sourceList.pagination.pageSize"
- :total="sourceList.pagination.total"
- @size-change="handleSizeChange"
- @current-change="handlePageChange"
- />
- </el-row>
- </div>
- <el-dialog
- title="默认汇率"
- v-if="dialogVisible"
- v-model="dialogVisible"
- width="600"
- >
- <byForm
- :formConfig="formConfig"
- :formOption="formOption"
- v-model="formData.data"
- :rules="rules"
- ref="submit"
- >
- <template #currencyList>
- <el-table
- :data="formData.data.list"
- style="width: 100%"
- v-loading="loadingDialog"
- >
- <el-table-column label="币种">
- <template #default="{ row }">
- <div>{{ dictValueLabel(row.type, accountCurrency) }}</div>
- </template>
- </el-table-column>
- <el-table-column label="兑 CHY 汇率">
- <template #default="{ row, $index }">
- <el-form-item
- :prop="'list.' + $index + '.rate'"
- :rules="rules.rate"
- :inline-message="true"
- >
- <el-input-number
- onmousewheel="return false;"
- v-model="row.rate"
- placeholder="请输入兑 CHY 汇率"
- style="width: 100%"
- :precision="6"
- :controls="false"
- :min="0"
- />
- </el-form-item>
- </template>
- </el-table-column>
- </el-table>
- </template>
- </byForm>
- <template #footer>
- <el-button @click="dialogVisible = false" size="large">取 消</el-button>
- <el-button type="primary" @click="submitForm()" size="large"
- >确 定</el-button
- >
- </template>
- </el-dialog>
- <el-dialog
- title="调整汇率"
- v-if="openChange"
- v-model="openChange"
- width="600"
- >
- <byForm
- :formConfig="formChangeConfig"
- :formOption="formOption"
- v-model="formChangeData.data"
- :rules="rules"
- ref="change"
- >
- <template #currencyList>
- <el-table
- :data="formChangeData.data.list"
- style="width: 100%"
- v-loading="loadingDialog"
- >
- <el-table-column label="币种">
- <template #default="{ row }">
- <div>{{ dictValueLabel(row.type, accountCurrency) }}</div>
- </template>
- </el-table-column>
- <el-table-column label="兑 CHY 汇率">
- <template #default="{ row, $index }">
- <el-form-item
- :prop="'list.' + $index + '.rate'"
- :rules="rules.rate"
- :inline-message="true"
- >
- <el-input-number
- onmousewheel="return false;"
- v-model="row.rate"
- placeholder="请输入兑 CHY 汇率"
- style="width: 100%"
- :precision="6"
- :controls="false"
- :min="0"
- />
- </el-form-item>
- </template>
- </el-table-column>
- </el-table>
- </template>
- </byForm>
- <template #footer>
- <el-button @click="openChange = false" size="large">取 消</el-button>
- <el-button type="primary" @click="submitChangeForm()" size="large"
- >确 定</el-button
- >
- </template>
- </el-dialog>
- <el-dialog title="预算" v-if="openBudget" v-model="openBudget" width="400">
- <byForm
- :formConfig="formBudgetConfig"
- :formOption="formOption"
- v-model="formBudgetData.data"
- ref="budget"
- >
- <template #budgetMoney>
- <div style="width: 100%">
- <el-form-item label="拖车费" prop="trailerFee">
- <el-input
- v-model="formBudgetData.data.trailerFee"
- placeholder="请输入拖车费"
- class="input-with-select"
- >
- <template #prepend>
- <el-select
- v-model="formBudgetData.data.trailerFeeCurrency"
- placeholder="请选择货币"
- style="width: 115px"
- disabled
- >
- <el-option
- v-for="(item, index) in accountCurrency"
- :key="index"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </template>
- </el-input>
- </el-form-item>
- <el-form-item
- label="报关费"
- prop="customsFee"
- style="margin-top: 20px"
- >
- <el-input
- v-model="formBudgetData.data.customsFee"
- placeholder="请输入报关费"
- class="input-with-select"
- >
- <template #prepend>
- <el-select
- v-model="formBudgetData.data.customsFeeCurrency"
- placeholder="请选择货币"
- style="width: 115px"
- disabled
- >
- <el-option
- v-for="(item, index) in accountCurrency"
- :key="index"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </template>
- </el-input>
- </el-form-item>
- <el-form-item
- label="代理费"
- prop="agencyFee"
- style="margin-top: 20px"
- >
- <el-input
- v-model="formBudgetData.data.agencyFee"
- placeholder="请输入代理费"
- class="input-with-select"
- >
- <template #prepend>
- <el-select
- v-model="formBudgetData.data.agencyFeeCurrency"
- placeholder="请选择货币"
- style="width: 115px"
- disabled
- >
- <el-option
- v-for="(item, index) in accountCurrency"
- :key="index"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </template>
- </el-input>
- </el-form-item>
- <el-form-item
- label="港杂费"
- prop="portMixedFee"
- style="margin-top: 20px"
- >
- <el-input
- v-model="formBudgetData.data.portMixedFee"
- placeholder="请输入港杂费"
- class="input-with-select"
- >
- <template #prepend>
- <el-select
- v-model="formBudgetData.data.portMixedFeeCurrency"
- placeholder="请选择货币"
- style="width: 115px"
- disabled
- >
- <el-option
- v-for="(item, index) in accountCurrency"
- :key="index"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </template>
- </el-input>
- </el-form-item>
- <el-form-item
- label="验货红包"
- prop="inspectionRedPack"
- style="margin-top: 20px"
- >
- <el-input
- v-model="formBudgetData.data.inspectionRedPack"
- placeholder="请输入验货红包"
- class="input-with-select"
- >
- <template #prepend>
- <el-select
- v-model="formBudgetData.data.inspectionRedPackCurrency"
- placeholder="请选择货币"
- style="width: 115px"
- disabled
- >
- <el-option
- v-for="(item, index) in accountCurrency"
- :key="index"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </template>
- </el-input>
- </el-form-item>
- <el-form-item
- label="佣金"
- prop="commission"
- style="margin-top: 20px"
- >
- <el-input
- v-model="formBudgetData.data.commission"
- placeholder="请输入佣金"
- class="input-with-select"
- >
- <template #prepend>
- <el-select
- v-model="formBudgetData.data.commissionCurrency"
- placeholder="请选择货币"
- style="width: 115px"
- disabled
- >
- <el-option
- v-for="(item, index) in accountCurrency"
- :key="index"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </template>
- </el-input>
- </el-form-item>
- <el-form-item label="其他" prop="other" style="margin-top: 20px">
- <el-input
- v-model="formBudgetData.data.other"
- placeholder="请输入其他"
- class="input-with-select"
- >
- <template #prepend>
- <el-select
- v-model="formBudgetData.data.otherCurrency"
- placeholder="请选择货币"
- style="width: 115px"
- disabled
- >
- <el-option
- v-for="(item, index) in accountCurrency"
- :key="index"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </template>
- </el-input>
- </el-form-item>
- </div>
- </template>
- </byForm>
- <template #footer>
- <el-button @click="openBudget = false" size="large">取 消</el-button>
- <el-button type="primary" @click="submitBudgetForm()" size="large"
- >确 定</el-button
- >
- </template>
- </el-dialog>
- </div>
- </template>
- <script setup>
- import { computed, ref } from "vue";
- import byTable from "@/components/byTable/index";
- import byForm from "@/components/byForm/index";
- import useUserStore from "@/store/modules/user";
- import { ElMessage } from "element-plus";
- const { proxy } = getCurrentInstance();
- const accountCurrency = ref([]);
- const userList = ref([]);
- const sourceList = ref({
- data: [],
- pagination: {
- total: 0,
- pageNum: 1,
- pageSize: 10,
- keyword: "",
- userId: "",
- },
- });
- const loading = ref(false);
- const selectConfig = computed(() => {
- return [
- {
- label: "业务员",
- prop: "userId",
- data: userList.value,
- },
- ];
- });
- const config = computed(() => {
- return [];
- });
- const headerData = ref({});
- const statConfig = computed(() => [
- {
- label: "统计",
- data: [
- //一个卡牌多数据配置
- {
- label: "订单统计(CNY)",
- type: 2,
- data: [
- {
- label: "销售总金额",
- num: proxy.moneyFormat(headerData.value.contractSumAmount, 2),
- color: "#C280FF",
- },
- {
- label: "采购总金额",
- num: proxy.moneyFormat(headerData.value.purchaseSumAmount, 2),
- color: "#C280FF",
- },
- ],
- },
- {
- label: "收入统计(CNY)",
- type: 3,
- data: [
- {
- label: "应退税",
- num: proxy.moneyFormat(headerData.value.taxReturnMoneySumAmount, 2),
- color: "#FF9315",
- },
- ],
- },
- {
- label: "支出统计(CNY)",
- type: 5,
- data: [
- {
- label: "包材金额",
- num: proxy.moneyFormat(headerData.value.peritectoidSumAmount, 2),
- color: "#FF6F67",
- },
- {
- label: "配件金额",
- num: proxy.moneyFormat(headerData.value.accessoriesSumAmount, 2),
- color: "#FF6F67",
- },
- {
- label: "拖车费",
- num: proxy.moneyFormat(headerData.value.trailerFeeSumAmount, 2),
- color: "#FF6F67",
- },
- {
- label: "报关费",
- num: proxy.moneyFormat(headerData.value.customsFeeSumAmount, 2),
- color: "#FF6F67",
- },
- {
- label: "代理费",
- num: proxy.moneyFormat(headerData.value.agencyFeeSumAmount, 2),
- color: "#FF6F67",
- },
- {
- label: "港杂费",
- num: proxy.moneyFormat(headerData.value.portMixedFeeSumAmount, 2),
- color: "#FF6F67",
- },
- {
- label: "验货红包",
- num: proxy.moneyFormat(
- headerData.value.inspectionRedPackSumAmount,
- 2
- ),
- color: "#FF6F67",
- },
- {
- label: "佣金",
- num: proxy.moneyFormat(headerData.value.commissionSumAmount, 2),
- color: "#FF6F67",
- },
- {
- label: "其他",
- num: proxy.moneyFormat(headerData.value.otherSumAmount, 2),
- color: "#FF6F67",
- },
- ],
- },
- {
- label: "收支统计(CNY)",
- type: 1,
- data: [
- {
- label: "总收入",
- num: proxy.moneyFormat(headerData.value.totalIncomeSumAmount, 2),
- color: "#0084ff",
- },
- {
- label: "总支出",
- num: proxy.moneyFormat(headerData.value.totalExpensesSumAmount, 2),
- color: "#0084ff",
- },
- {
- label: "总毛利",
- num: proxy.moneyFormat(headerData.value.grossProfitSum, 2),
- color: "#0084ff",
- },
- {
- label: "毛利率",
- num: headerData.value.grossProfitMargin + " %",
- color: "#0084ff",
- },
- ],
- },
- ],
- },
- ]);
- const getDict = () => {
- proxy
- .post("/dictTenantData/page", {
- pageNum: 1,
- pageSize: 999,
- dictCode: "account_currency",
- tenantId: useUserStore().user.tenantId,
- })
- .then((res) => {
- if (res.rows && res.rows.length > 0) {
- accountCurrency.value = res.rows.map((item) => {
- return {
- label: item.dictValue,
- value: item.dictKey,
- };
- });
- judgeRate();
- } else {
- ElMessage("请先添加货币");
- }
- });
- proxy
- .get("/tenantUser/list", {
- pageNum: 1,
- pageSize: 10000,
- tenantId: useUserStore().user.tenantId,
- })
- .then((res) => {
- userList.value = res.rows.map((item) => {
- return {
- label: item.nickName,
- value: item.userId,
- };
- });
- });
- };
- const getList = async (req) => {
- sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
- loading.value = true;
- proxy
- .post("/contract/getProfitBudgetPage", sourceList.value.pagination)
- .then((res) => {
- sourceList.value.data = res.rows;
- sourceList.value.pagination.total = res.total;
- setTimeout(() => {
- loading.value = false;
- }, 200);
- });
- proxy
- .post("/contract/getProfitBudgetHeadStatistic", sourceList.value.pagination)
- .then((res) => {
- headerData.value = res;
- });
- };
- const rateStatus = ref(false);
- const judgeRate = () => {
- proxy.post("/currencyRate/list", {}).then(
- (res) => {
- if (res && res.length > 0) {
- for (let i = 0; i < accountCurrency.value.length; i++) {
- let currencyStatus = true;
- for (let j = 0; j < res.length; j++) {
- if (accountCurrency.value[i].value === res[j].type) {
- currencyStatus = false;
- break;
- }
- }
- if (currencyStatus) {
- return ElMessage("请先完成默认汇率的配置");
- }
- }
- rateStatus.value = true;
- getList();
- } else {
- ElMessage("请先完成默认汇率的配置");
- }
- },
- (err) => {
- console.log(err);
- ElMessage("请先完成默认汇率的配置");
- }
- );
- };
- getDict();
- const handleSizeChange = (val) => {
- sourceList.value.pagination.pageNum = 1;
- sourceList.value.pagination.pageSize = val;
- getList();
- };
- const handlePageChange = (val) => {
- sourceList.value.pagination.pageNum = val;
- getList();
- };
- const dialogVisible = ref(false);
- const loadingDialog = ref(false);
- const submit = ref(null);
- const formOption = reactive({
- inline: true,
- labelWidth: 100,
- itemWidth: 100,
- rules: [],
- });
- const formData = reactive({
- data: {
- list: [],
- },
- });
- const formConfig = computed(() => {
- return [
- {
- type: "slot",
- prop: "currencyList",
- slotName: "currencyList",
- label: "",
- },
- ];
- });
- const rules = ref({
- rate: [{ required: true, message: "请输入兑 CHY 汇率", trigger: "blur" }],
- });
- const openModal = () => {
- if (accountCurrency.value && accountCurrency.value.length > 0) {
- formData.data = {
- list: accountCurrency.value.map((item) => {
- return {
- id: "",
- type: item.value,
- rate: 1,
- };
- }),
- };
- } else {
- formData.data = {
- list: [],
- };
- }
- loadingDialog.value = true;
- dialogVisible.value = true;
- proxy.post("/currencyRate/list", {}).then(
- (res) => {
- if (res && res.length > 0 && formData.data.list.length > 0) {
- formData.data.list = formData.data.list.map((item) => {
- for (let i = 0; i < res.length; i++) {
- if (item.type === res[i].type) {
- item.id = res[i].id;
- item.rate = res[i].rate;
- break;
- }
- }
- return {
- ...item,
- };
- });
- }
- loadingDialog.value = false;
- },
- (err) => {
- console.log(err);
- loadingDialog.value = false;
- }
- );
- };
- const submitForm = () => {
- submit.value.handleSubmit(() => {
- loadingDialog.value = true;
- proxy.post("/currencyRate/edit", formData.data.list).then(
- () => {
- ElMessage({
- message: "保存成功",
- type: "success",
- });
- dialogVisible.value = false;
- rateStatus.value = true;
- getList();
- },
- (err) => {
- console.log(err);
- loadingDialog.value = false;
- }
- );
- });
- };
- const openChange = ref(false);
- const change = ref(null);
- const formChangeData = reactive({
- data: {
- list: [],
- },
- });
- const formChangeConfig = computed(() => {
- return [
- {
- type: "slot",
- prop: "currencyList",
- slotName: "currencyList",
- label: "",
- },
- ];
- });
- const changeExchangeRate = (row) => {
- formChangeData.data = {
- id: row.contractId,
- list: [],
- };
- if (accountCurrency.value && accountCurrency.value.length > 0) {
- formChangeData.data.list = accountCurrency.value.map((item) => {
- return {
- type: item.value,
- rate: 1,
- };
- });
- }
- loadingDialog.value = true;
- openChange.value = true;
- if (row.currencyRateJson) {
- let currencyRateJson = JSON.parse(row.currencyRateJson);
- formChangeData.data.list = formChangeData.data.list.map((item) => {
- for (let i = 0; i < currencyRateJson.length; i++) {
- if (item.type === currencyRateJson[i].type) {
- item.rate = currencyRateJson[i].rate;
- break;
- }
- }
- return {
- ...item,
- };
- });
- loadingDialog.value = false;
- } else {
- proxy.post("/currencyRate/list", {}).then(
- (res) => {
- if (res && res.length > 0 && formChangeData.data.list.length > 0) {
- formChangeData.data.list = formChangeData.data.list.map((item) => {
- for (let i = 0; i < res.length; i++) {
- if (item.type === res[i].type) {
- item.rate = res[i].rate;
- break;
- }
- }
- return {
- ...item,
- };
- });
- }
- loadingDialog.value = false;
- },
- (err) => {
- console.log(err);
- loadingDialog.value = false;
- }
- );
- }
- };
- const submitChangeForm = () => {
- change.value.handleSubmit(() => {
- loadingDialog.value = true;
- let data = {};
- data.id = formChangeData.data.id;
- data.currencyRateJson = JSON.stringify(formChangeData.data.list);
- proxy.post("/contract/edit", data).then(
- () => {
- ElMessage({
- message: "保存成功",
- type: "success",
- });
- openChange.value = false;
- getList();
- },
- (err) => {
- console.log(err);
- loadingDialog.value = false;
- }
- );
- });
- };
- const openBudget = ref(false);
- const budget = ref(null);
- const formBudgetData = reactive({
- data: {},
- });
- const formBudgetConfig = computed(() => {
- return [
- {
- type: "title",
- title: "合同信息",
- label: "",
- },
- {
- type: "input",
- prop: "code",
- label: "合同编号",
- itemType: "text",
- disabled: true,
- },
- {
- type: "input",
- prop: "customerName",
- label: "客户名称",
- itemType: "text",
- disabled: true,
- },
- {
- type: "input",
- prop: "userName",
- label: "业务员",
- itemType: "text",
- disabled: true,
- },
- {
- type: "title",
- title: "预算金额",
- label: "",
- },
- {
- type: "slot",
- slotName: "budgetMoney",
- label: "",
- },
- ];
- });
- const changeBudget = (row) => {
- let currency = "CNY";
- if (accountCurrency.value && accountCurrency.value.length > 0) {
- currency = accountCurrency.value[0].value;
- }
- formBudgetData.data = {
- contractId: row.contractId,
- code: row.code,
- customerName: row.customerName,
- userName: row.userName,
- trailerFeeCurrency: currency,
- trailerFee: row.trailerFee,
- customsFeeCurrency: currency,
- customsFee: row.customsFee,
- agencyFeeCurrency: currency,
- agencyFee: row.agencyFee,
- portMixedFeeCurrency: currency,
- portMixedFee: row.portMixedFee,
- inspectionRedPackCurrency: currency,
- inspectionRedPack: row.inspectionRedPack,
- commissionCurrency: currency,
- commission: row.commission,
- otherCurrency: currency,
- other: row.other,
- };
- openBudget.value = true;
- };
- const submitBudgetForm = () => {
- proxy.post("/contractBudget/budget", formBudgetData.data).then(() => {
- ElMessage({
- message: "保存成功",
- type: "success",
- });
- openBudget.value = false;
- getList();
- });
- };
- </script>
- <style lang="scss" scoped>
- .tenant {
- padding: 20px;
- }
- ::v-deep(.el-input-number .el-input__inner) {
- text-align: left;
- }
- </style>
|