|
|
@@ -1,213 +1,472 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="3">
|
|
|
- <div class="disabledBox fontSize">
|
|
|
- <i class="el-icon-coin"></i>
|
|
|
- <span>应收费用</span>
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4">
|
|
|
- <el-switch
|
|
|
- v-model="value"
|
|
|
- active-color="#5972ef"
|
|
|
- active-text="审核应收费用"
|
|
|
- inactive-color="#949494">
|
|
|
- </el-switch>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <div class="disabledBox">
|
|
|
- <span style="font-size: 14px;margin-right: 5px">签单方式</span>
|
|
|
- <el-select v-model="value" placeholder="请选择" size="small" >
|
|
|
- <el-option
|
|
|
- v-for="item in options"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-button type="success" plain size="small">应收账单</el-button>
|
|
|
- <el-button type="primary" plain size="small">应付账单</el-button>
|
|
|
- <el-button type="primary" plain size="small">打印账单</el-button>
|
|
|
- <el-button type="success" plain size="small">应收模板</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <el-button type="success" size="small" @click="addDfun">新 增</el-button>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <div style="margin-top: 10px">
|
|
|
- <el-table
|
|
|
- :data="tableDataReceivable"
|
|
|
- @selection-change="handleSelectionChange"
|
|
|
- style="width: 100%">
|
|
|
- <el-table-column
|
|
|
- type="selection"
|
|
|
- fixed="left"
|
|
|
- width="55">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="corpCnName"
|
|
|
- label="单位" width="160px">
|
|
|
- <template slot-scope="{ row }">
|
|
|
- <search-query v-if="row.edit"
|
|
|
- :datalist="corpCnNameData"
|
|
|
- :selectValue="row.corpCnName"
|
|
|
- :filterable="true"
|
|
|
- :clearable="true"
|
|
|
- :remote="true"
|
|
|
- :buttonIf="false"
|
|
|
- :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
- @remoteMethod="getBcorpsListfun($event,'corpCnName')"
|
|
|
- @corpChange="corpChange($event,'corpCnName',row)" >
|
|
|
- </search-query>
|
|
|
- <span v-else>{{row.corpCnName}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="feeCnName"
|
|
|
- label="费用简称" width="160px">
|
|
|
- <template slot-scope="{ row }">
|
|
|
- <search-query v-if="row.edit"
|
|
|
- :datalist="feeCnNameData"
|
|
|
- :selectValue="row.feeCnName"
|
|
|
- :filterable="true"
|
|
|
- :clearable="true"
|
|
|
- :remote="true"
|
|
|
- :buttonIf="false"
|
|
|
- :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
- @remoteMethod="bfeesListfun($event,'feeCnName')"
|
|
|
- @corpChange="corpChange($event,'feeCnName',row)" >
|
|
|
- </search-query>
|
|
|
- <span v-else>{{row.feeCnName}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="cntrTypeCode"
|
|
|
- label="预付/到付" width="120px">
|
|
|
- <template slot-scope="{ row }">
|
|
|
- <el-select v-if="row.edit" v-model="row.cntrTypeCode" placeholder="请选择">
|
|
|
+ <!--<div>-->
|
|
|
+ <!-- <el-form :model="assemblyForm" ref="form" label-width="90px" class="demo-ruleForm">-->
|
|
|
+ <!-- <el-row>-->
|
|
|
+ <!-- <el-col :span="6">-->
|
|
|
+ <!-- </el-col>-->
|
|
|
+ <!-- </el-row>-->
|
|
|
+ <!-- </el-form>-->
|
|
|
+ <!--</div>-->
|
|
|
+
|
|
|
+
|
|
|
+ <el-card class="box-card">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="3">
|
|
|
+ <div class="disabledBox fontSize">
|
|
|
+ <i class="el-icon-coin"></i>
|
|
|
+ <span>应收费用</span>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-switch
|
|
|
+ v-model="value"
|
|
|
+ active-color="#5972ef"
|
|
|
+ active-text="审核应收费用"
|
|
|
+ inactive-color="#949494">
|
|
|
+ </el-switch>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <div class="disabledBox">
|
|
|
+ <span style="font-size: 14px;margin-right: 5px">签单方式</span>
|
|
|
+ <el-select v-model="value" placeholder="请选择" size="small" >
|
|
|
<el-option
|
|
|
- v-for="item in cntrTypeCodeData"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
+ v-for="item in issuetypefData"
|
|
|
+ :key="item.dictKey"
|
|
|
+ :label="item.dictValue"
|
|
|
+ :value="item.dictValue">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- <span v-else>{{row.cntrTypeCode}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="unitNo"
|
|
|
- label="计量单位" width="120px">
|
|
|
- <template slot-scope="{ row }">
|
|
|
- <search-query v-if="row.edit"
|
|
|
- :datalist="unitNoData"
|
|
|
- :selectValue="row.unitNo"
|
|
|
- :filterable="true"
|
|
|
- :clearable="true"
|
|
|
- :remote="true"
|
|
|
- :buttonIf="false"
|
|
|
- :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
- @remoteMethod="bfeesListfun($event,'unitNo')"
|
|
|
- @corpChange="corpChange($event,'unitNo',row)" >
|
|
|
- </search-query>
|
|
|
- <span v-else>{{row.unitNo}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="price"
|
|
|
- label="单价" width="120px">
|
|
|
- <template slot-scope="{ row }">
|
|
|
- <el-input v-if="row.edit" type="number" v-model="row.price" size="small"
|
|
|
- placeholder="请输入" @input="priceinputfun(row)"></el-input>
|
|
|
- <span v-else>{{row.price}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="quantity"
|
|
|
- label="数量" width="120px" >
|
|
|
- <template slot-scope="{ row }">
|
|
|
- <el-input v-if="row.edit" type="number" v-model="row.quantity" size="small"
|
|
|
- placeholder="请输入" @input="quantityinputfun(row)"></el-input>
|
|
|
- <span v-else>{{row.quantity}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="curCode"
|
|
|
- label="币种" width="120px">
|
|
|
- <template slot-scope="{ row }">
|
|
|
- <search-query v-if="row.edit"
|
|
|
- :datalist="curCodeData"
|
|
|
- :selectValue="row.curCode"
|
|
|
- :filterable="true"
|
|
|
- :clearable="true"
|
|
|
- :remote="true"
|
|
|
- :buttonIf="false"
|
|
|
- :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
- @remoteMethod="getRateListfun($event,'curCode')"
|
|
|
- @corpChange="corpChange($event,'curCode',row)" >
|
|
|
- </search-query>
|
|
|
- <span v-else>{{row.curCode}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="rmbAmount"
|
|
|
- label="RMB(含税)">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="usdAmount"
|
|
|
- label="USD(含税)">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="exrate"
|
|
|
- label="对RMB汇率">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="payplace"
|
|
|
- label="预付地址">
|
|
|
- <template slot-scope="{ row }">
|
|
|
- <el-input v-if="row.edit" v-model="row.payplace" size="small"
|
|
|
- placeholder="请输入" ></el-input>
|
|
|
- <span v-else>{{row.payplace}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="remarks"
|
|
|
- label="备注">
|
|
|
- <template slot-scope="{ row }">
|
|
|
- <el-input v-if="row.edit" v-model="row.remarks" size="small"
|
|
|
- placeholder="请输入" ></el-input>
|
|
|
- <span v-else>{{row.remarks}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- fixed="right"
|
|
|
- label="操作"
|
|
|
- width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button type="text" size="small">查看</el-button>
|
|
|
- <el-button type="text" size="small" @click="editDfun(scope.row,scope.$index)">编辑</el-button>
|
|
|
- <el-button type="text" size="small" @click="saveDfun(scope.row,scope.$index)">保存</el-button>
|
|
|
- <el-button type="text" size="small" @click="deleteDfun(scope.row,scope.$index)">删除</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-button type="success" plain size="small">应收账单</el-button>
|
|
|
+ <el-button type="primary" plain size="small">应付账单</el-button>
|
|
|
+ <el-button type="primary" plain size="small">打印账单</el-button>
|
|
|
+ <el-button type="success" plain size="small">应收模板</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="3">
|
|
|
+ <el-button type="success" size="small" @click="addDfun">新 增</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <div style="margin-top: 10px">
|
|
|
+ <el-table
|
|
|
+ :row-style="{height:'20px'}"
|
|
|
+ :cell-style="{padding:'0px'}"
|
|
|
+ :data="assemblyForm.feeCenterListD"
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
+ style="width: 100%">
|
|
|
+ <el-table-column
|
|
|
+ type="selection"
|
|
|
+ fixed="left"
|
|
|
+ width="55">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="corpCnName"
|
|
|
+ label="单位" width="160px">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <search-query v-if="row.edit"
|
|
|
+ :datalist="corpCnNameData"
|
|
|
+ :selectValue="row.corpCnName"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
+ @remoteMethod="getBcorpsListfun($event,'corpCnName')"
|
|
|
+ @corpChange="corpChange($event,'corpCnName',row)" >
|
|
|
+ </search-query>
|
|
|
+ <span v-else>{{row.corpCnName}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="feeCnName"
|
|
|
+ label="费用简称" width="160px">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <search-query v-if="row.edit"
|
|
|
+ :datalist="feeCnNameData"
|
|
|
+ :selectValue="row.feeCnName"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
+ @remoteMethod="bfeesListfun($event,'feeCnName')"
|
|
|
+ @corpChange="corpChange($event,'feeCnName',row)" >
|
|
|
+ </search-query>
|
|
|
+ <span v-else>{{row.feeCnName}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="paymode"
|
|
|
+ label="预付/到付" width="120px">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-select v-if="row.edit" v-model="row.paymode" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in paymodeData"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <span v-else>{{paymodefun(row.paymode)}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="unitNo"
|
|
|
+ label="计量单位" width="120px">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <search-query v-if="row.edit"
|
|
|
+ :datalist="unitNoData"
|
|
|
+ :selectValue="row.unitNo"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
+ @remoteMethod="bfeesListfun($event,'unitNo')"
|
|
|
+ @corpChange="corpChange($event,'unitNo',row)" >
|
|
|
+ </search-query>
|
|
|
+ <span v-else>{{row.unitNo}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="price"
|
|
|
+ label="单价" width="120px">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-input v-if="row.edit" type="number" v-model="row.price" size="small"
|
|
|
+ placeholder="请输入" @blur="priceinputfun($event,row)"></el-input>
|
|
|
+ <span v-else>{{row.price}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="quantity"
|
|
|
+ label="数量" width="120px" >
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-input v-if="row.edit" type="number" v-model="row.quantity" size="small"
|
|
|
+ placeholder="请输入" @blur="quantityinputfun(row)"></el-input>
|
|
|
+ <span v-else>{{row.quantity}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="curCode"
|
|
|
+ label="币种" width="120px">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <search-query v-if="row.edit"
|
|
|
+ :datalist="curCodeData"
|
|
|
+ :selectValue="row.curCode"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
+ @remoteMethod="getRateListfun($event,'curCode')"
|
|
|
+ @corpChange="corpChange($event,'curCode',row)" >
|
|
|
+ </search-query>
|
|
|
+ <span v-else>{{row.curCode}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="rmbAmount"
|
|
|
+ label="RMB(含税)">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="usdAmount"
|
|
|
+ label="USD(含税)">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="exrate"
|
|
|
+ label="对RMB汇率">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="payplace"
|
|
|
+ label="预付地址">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-input v-if="row.edit" v-model="row.payplace" size="small"
|
|
|
+ placeholder="请输入" ></el-input>
|
|
|
+ <span v-else>{{row.payplace}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="remarks"
|
|
|
+ label="备注">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-input v-if="row.edit" v-model="row.remarks" size="small"
|
|
|
+ placeholder="请输入" ></el-input>
|
|
|
+ <span v-else>{{row.remarks}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ fixed="right"
|
|
|
+ label="操作"
|
|
|
+ width="100">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button v-if="scope.row.edit" type="text" size="small" @click="saveDfun(scope.row,scope.$index)">保存</el-button>
|
|
|
+ <el-button v-else type="text" size="small" @click="editDfun(scope.row,scope.$index)">编辑</el-button>
|
|
|
+ <el-button type="text" size="small" @click="deleteDfun(scope.row,scope.$index)">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card class="box-card" style="margin: 20px 0">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="3">
|
|
|
+ <div class="disabledBox meetSize">
|
|
|
+ <i class="el-icon-coin"></i>
|
|
|
+ <span>应付费用</span>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-switch
|
|
|
+ v-model="value"
|
|
|
+ active-color="#5972ef"
|
|
|
+ active-text="审核应付费用"
|
|
|
+ inactive-color="#949494">
|
|
|
+ </el-switch>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <div class="disabledBox">
|
|
|
+ <!--<span style="font-size: 14px;margin-right: 5px">箱量</span>-->
|
|
|
+ <!--<el-select v-model="value" placeholder="请选择" size="small" >-->
|
|
|
+ <!-- <el-option-->
|
|
|
+ <!-- v-for="item in issuetypefData"-->
|
|
|
+ <!-- :key="item.dictKey"-->
|
|
|
+ <!-- :label="item.dictValue"-->
|
|
|
+ <!-- :value="item.dictValue">-->
|
|
|
+ <!-- </el-option>-->
|
|
|
+ <!--</el-select>-->
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-button type="success" plain size="small">应付模板</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="3">
|
|
|
+ <el-button type="success" size="small" @click="addCfun">新 增</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <div style="margin-top: 10px">
|
|
|
+ <el-table
|
|
|
+ :data="assemblyForm.feeCenterListC"
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
+ style="width: 100%">
|
|
|
+ <el-table-column
|
|
|
+ type="selection"
|
|
|
+ fixed="left"
|
|
|
+ width="55">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="corpCnName"
|
|
|
+ label="单位" width="160px">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <search-query v-if="row.edit"
|
|
|
+ :datalist="corpCnNameData"
|
|
|
+ :selectValue="row.corpCnName"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
+ @remoteMethod="getBcorpsListfun($event,'corpCnName')"
|
|
|
+ @corpChange="corpChange($event,'corpCnName',row)" >
|
|
|
+ </search-query>
|
|
|
+ <span v-else>{{row.corpCnName}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="feeCnName"
|
|
|
+ label="费用简称" width="160px">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <search-query v-if="row.edit"
|
|
|
+ :datalist="feeCnNameData"
|
|
|
+ :selectValue="row.feeCnName"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
+ @remoteMethod="bfeesListfun($event,'feeCnName')"
|
|
|
+ @corpChange="corpChange($event,'feeCnName',row)" >
|
|
|
+ </search-query>
|
|
|
+ <span v-else>{{row.feeCnName}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="paymode"
|
|
|
+ label="预付/到付" width="120px">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-select v-if="row.edit" v-model="row.paymode" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in paymodeData"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <span v-else>{{paymodefun(row.paymode)}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="unitNo"
|
|
|
+ label="计量单位" width="120px">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <search-query v-if="row.edit"
|
|
|
+ :datalist="unitNoData"
|
|
|
+ :selectValue="row.unitNo"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
+ @remoteMethod="bfeesListfun($event,'unitNo')"
|
|
|
+ @corpChange="corpChange($event,'unitNo',row)" >
|
|
|
+ </search-query>
|
|
|
+ <span v-else>{{row.unitNo}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="price"
|
|
|
+ label="单价" width="120px">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-input v-if="row.edit" type="number" v-model="row.price" size="small"
|
|
|
+ placeholder="请输入" @blur="priceinputfun($event,row)"></el-input>
|
|
|
+ <span v-else>{{row.price}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="quantity"
|
|
|
+ label="数量" width="120px" >
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-input v-if="row.edit" type="number" v-model="row.quantity" size="small"
|
|
|
+ placeholder="请输入" @blur="quantityinputfun(row)"></el-input>
|
|
|
+ <span v-else>{{row.quantity}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="curCode"
|
|
|
+ label="币种" width="120px">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <search-query v-if="row.edit"
|
|
|
+ :datalist="curCodeData"
|
|
|
+ :selectValue="row.curCode"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
+ @remoteMethod="getRateListfun($event,'curCode')"
|
|
|
+ @corpChange="corpChange($event,'curCode',row)" >
|
|
|
+ </search-query>
|
|
|
+ <span v-else>{{row.curCode}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="rmbAmount"
|
|
|
+ label="RMB(含税)">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="usdAmount"
|
|
|
+ label="USD(含税)">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="exrate"
|
|
|
+ label="对RMB汇率">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="payplace"
|
|
|
+ label="预付地址">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-input v-if="row.edit" v-model="row.payplace" size="small"
|
|
|
+ placeholder="请输入" ></el-input>
|
|
|
+ <span v-else>{{row.payplace}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="remarks"
|
|
|
+ label="备注">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-input v-if="row.edit" v-model="row.remarks" size="small"
|
|
|
+ placeholder="请输入" ></el-input>
|
|
|
+ <span v-else>{{row.remarks}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ fixed="right"
|
|
|
+ label="操作"
|
|
|
+ width="100">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button v-if="scope.row.edit" type="text" size="small" @click="saveCfun(scope.row,scope.$index)">保存</el-button>
|
|
|
+ <el-button v-else type="text" size="small" @click="editCfun(scope.row,scope.$index)">编辑</el-button>
|
|
|
+ <el-button type="text" size="small" @click="deleteDfun(scope.row,scope.$index)">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <div style="display: flex;align-items: center;justify-content: space-around">
|
|
|
+ <div style="width: 30%">
|
|
|
+ <el-card class="box-card">
|
|
|
+ <div class="bottomFlex">
|
|
|
+ <div class="bottomFlex-left">
|
|
|
+ <div class="bottomFlex-leftTop">
|
|
|
+ <div class="weightfont">¥</div>
|
|
|
+ <div class="fontText">人民币</div>
|
|
|
+ <div class="fontText">RMB</div>
|
|
|
+ </div>
|
|
|
+ <div class="bottomFlex-leftcont">
|
|
|
+ <div style="color: #81B337">
|
|
|
+ <div>应收</div>
|
|
|
+ <span class="weightnum">¥295665.55元</span>
|
|
|
+ </div>
|
|
|
+ <div style="color: #6BBCD1">
|
|
|
+ <div>应付</div>
|
|
|
+ <span class="weightnum">¥295665.55元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="height: 90px; border-right: 1px solid #cbcbcb"></div>
|
|
|
+ <div class="bottomFlex-right">
|
|
|
+ <div class="fontText positionText">利润</div>
|
|
|
+ <div class="weightnum">¥95665.55元</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ </div>
|
|
|
|
|
|
- <el-pagination
|
|
|
- background
|
|
|
- layout="prev, pager, next"
|
|
|
- :page-size="pageD.size"
|
|
|
- :current-page="pageD.current"
|
|
|
- :total="pageD.total"
|
|
|
- @size-change="DsizeChange"
|
|
|
- @current-change="DcurrentChange" >
|
|
|
- </el-pagination>
|
|
|
+ <div style="width: 30%">
|
|
|
+ <el-card class="box-card">
|
|
|
+ <div class="bottomFlex">
|
|
|
+ <div class="bottomFlex-left">
|
|
|
+ <div class="bottomFlex-leftTop">
|
|
|
+ <div class="weightfont">$</div>
|
|
|
+ <div class="fontText">美金</div>
|
|
|
+ <div class="fontText">USD</div>
|
|
|
+ </div>
|
|
|
+ <div class="bottomFlex-leftcont">
|
|
|
+ <div style="color: #81B337">
|
|
|
+ <div>应收</div>
|
|
|
+ <span class="weightnum">$295665.55元</span>
|
|
|
+ </div>
|
|
|
+ <div style="color: #6BBCD1">
|
|
|
+ <div>应付</div>
|
|
|
+ <span class="weightnum">$295665.55元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="height: 90px; border-right: 1px solid #cbcbcb"></div>
|
|
|
+ <div class="bottomFlex-right">
|
|
|
+ <div class="fontText positionText">利润</div>
|
|
|
+ <div class="weightnum">$95665.55元</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ </div>
|
|
|
|
|
|
</div>
|
|
|
</div>
|
|
|
+
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
@@ -216,25 +475,32 @@
|
|
|
import {bfeesList} from "@/api/iosBasicData/bfees";
|
|
|
import {getBunitsList} from "@/api/iosBasicData/bunits";
|
|
|
import {getRateList} from "@/api/iosBasicData/rateManagement";
|
|
|
- import {feecenterList, feecenterSubmit} from "@/api/iosBasicData/feecenter";
|
|
|
+ import {feecenterList, feecenterRemove, feecenterSubmit} from "@/api/iosBasicData/feecenter";
|
|
|
+ import {getWorkDicts} from "@/api/system/dictbiz";
|
|
|
|
|
|
export default {
|
|
|
components: {SearchQuery},
|
|
|
props:{
|
|
|
pid:{
|
|
|
|
|
|
+ },
|
|
|
+ assemblyForm:{
|
|
|
+ type:Object
|
|
|
}
|
|
|
},
|
|
|
data(){
|
|
|
return {
|
|
|
+ // 签单方式
|
|
|
+ issuetypefData:[],
|
|
|
value:'',
|
|
|
- tableDataReceivable:[],
|
|
|
+ feeCenterListD:[], // 收
|
|
|
+ feeCenterListC:[], // 付
|
|
|
// 客户数据
|
|
|
corpCnNameData:[],
|
|
|
// 费用数据
|
|
|
feeCnNameData:[],
|
|
|
// 预付到付数据
|
|
|
- cntrTypeCodeData:[
|
|
|
+ paymodeData:[
|
|
|
{
|
|
|
label:'预付',
|
|
|
value:'PP'
|
|
|
@@ -248,21 +514,14 @@
|
|
|
unitNoData:[],
|
|
|
// 币别数据
|
|
|
curCodeData:[],
|
|
|
- // 应收的分页
|
|
|
- pageD:{
|
|
|
- current:1,
|
|
|
- size:10,
|
|
|
- total:0
|
|
|
- },
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
- this.feecenterListfun()
|
|
|
-
|
|
|
this.getBcorpsListfun()
|
|
|
this.bfeesListfun()
|
|
|
this.getBunitsListfun()
|
|
|
this.getRateListfun()
|
|
|
+ this.getWorkDictsfun()
|
|
|
},
|
|
|
methods:{
|
|
|
// 应收新增
|
|
|
@@ -274,13 +533,32 @@
|
|
|
});
|
|
|
return
|
|
|
}
|
|
|
- this.tableDataReceivable.push({
|
|
|
+ this.assemblyForm.feeCenterListD.push({
|
|
|
+ edit:true
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 应付新增
|
|
|
+ addCfun(){
|
|
|
+ if (!this.pid) {
|
|
|
+ this.$message({
|
|
|
+ message: '请先保存数据之后才能添加',
|
|
|
+ type: 'warning'
|
|
|
+ });
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.assemblyForm.feeCenterListC.push({
|
|
|
edit:true
|
|
|
})
|
|
|
},
|
|
|
// 应收编辑
|
|
|
editDfun(row,index){
|
|
|
- this.tableDataReceivable[index].edit = false
|
|
|
+ this.$delete(this.assemblyForm.feeCenterListD[index], 'edit')
|
|
|
+ this.$set(this.assemblyForm.feeCenterListD[index],'edit',true)
|
|
|
+ },
|
|
|
+ // 应付编辑
|
|
|
+ editCfun(row,index){
|
|
|
+ this.$delete(this.assemblyForm.feeCenterListC[index], 'edit')
|
|
|
+ this.$set(this.assemblyForm.feeCenterListC[index],'edit',true)
|
|
|
},
|
|
|
// 应收保存
|
|
|
saveDfun(row,index){
|
|
|
@@ -288,11 +566,36 @@
|
|
|
row.dc = 'D'
|
|
|
row.pid = this.pid
|
|
|
row.sort = index
|
|
|
+ row.billType = this.assemblyForm.billType
|
|
|
+ row.billNo = this.assemblyForm.billNo
|
|
|
+ this.feecenterSubmitfun(row)
|
|
|
+ },
|
|
|
+ // 应付保存
|
|
|
+ saveCfun(row,index){
|
|
|
+ // 收付 D=收 C=付
|
|
|
+ row.dc = 'C'
|
|
|
+ row.pid = this.pid
|
|
|
+ row.sort = index
|
|
|
+ row.billType = this.assemblyForm.billType
|
|
|
+ row.billNo = this.assemblyForm.billNo
|
|
|
this.feecenterSubmitfun(row)
|
|
|
},
|
|
|
// 应收删除
|
|
|
deleteDfun(row,index) {
|
|
|
-
|
|
|
+ this.$confirm("确定将选择数据删除?", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(()=>{
|
|
|
+ // 删除接口
|
|
|
+ feecenterRemove(row.id).then(res=>{
|
|
|
+ this.$message({
|
|
|
+ type: "success",
|
|
|
+ message: "操作成功!"
|
|
|
+ });
|
|
|
+ this.$emit('billsDetailfun')
|
|
|
+ })
|
|
|
+ })
|
|
|
},
|
|
|
// 客户的回调
|
|
|
corpChange(value,name,row) {
|
|
|
@@ -334,8 +637,8 @@
|
|
|
|
|
|
},
|
|
|
// 单价
|
|
|
- priceinputfun(row){
|
|
|
- if (row.price <= 0) {
|
|
|
+ priceinputfun(value,row){
|
|
|
+ if (Number(value) <= 0) {
|
|
|
this.$message({
|
|
|
type: "warning",
|
|
|
message: "单价不能输入负数!"
|
|
|
@@ -343,6 +646,17 @@
|
|
|
return
|
|
|
}
|
|
|
this.$set(row,'amount',Number(row.price) * Number(row.quantity?row.quantity:0))
|
|
|
+ // 判断是否有币种
|
|
|
+ if (!row.curCode) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (row.curCode == 'CNY') {
|
|
|
+ this.$set(row,'rmbAmount',row.amount)
|
|
|
+ this.$set(row,'usdAmount','')
|
|
|
+ }else {
|
|
|
+ this.$set(row,'usdAmount',row.amount)
|
|
|
+ this.$set(row,'rmbAmount','')
|
|
|
+ }
|
|
|
},
|
|
|
// 数量
|
|
|
quantityinputfun(row) {
|
|
|
@@ -354,35 +668,28 @@
|
|
|
return
|
|
|
}
|
|
|
this.$set(row,'amount',Number(row.price?row.price:0) * Number(row.quantity))
|
|
|
- },
|
|
|
- // 获取列表数据
|
|
|
- feecenterListfun(){
|
|
|
- feecenterList(this.pageD.current,this.pageD.size,{pid:this.pid}).then(res=>{
|
|
|
- this.tableDataReceivable = res.data.data.records.map(item=>{
|
|
|
- if (item.curCode == 'CNY') {
|
|
|
- this.$set(item,'rmbAmount',item.amount)
|
|
|
- this.$set(item,'usdAmount','')
|
|
|
- }else {
|
|
|
- this.$set(item,'usdAmount',item.amount)
|
|
|
- this.$set(item,'rmbAmount','')
|
|
|
- }
|
|
|
- return item
|
|
|
- })
|
|
|
- })
|
|
|
+ // 判断是否有币种
|
|
|
+ if (!row.curCode) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (row.curCode == 'CNY') {
|
|
|
+ this.$set(row,'rmbAmount',row.amount)
|
|
|
+ this.$set(row,'usdAmount','')
|
|
|
+ }else {
|
|
|
+ this.$set(row,'usdAmount',row.amount)
|
|
|
+ this.$set(row,'rmbAmount','')
|
|
|
+ }
|
|
|
},
|
|
|
// 保存接口
|
|
|
feecenterSubmitfun(row){
|
|
|
feecenterSubmit(row).then(res=>{
|
|
|
- console.log(res,359)
|
|
|
+ this.$message({
|
|
|
+ type: "success",
|
|
|
+ message: "操作成功!"
|
|
|
+ });
|
|
|
+ this.$emit('billsDetailfun')
|
|
|
})
|
|
|
},
|
|
|
- // 应收分页
|
|
|
- DcurrentChange(e){
|
|
|
- console.log(e,'current')
|
|
|
- },
|
|
|
- DsizeChange(e){
|
|
|
- console.log(e,'size')
|
|
|
- },
|
|
|
// 获取客户数据
|
|
|
getBcorpsListfun(cnName){
|
|
|
getBcorpsList(1,10,{cnName}).then(res=>{
|
|
|
@@ -407,13 +714,27 @@
|
|
|
this.curCodeData = res.data.data.records
|
|
|
})
|
|
|
},
|
|
|
+ // 获取签单方式字典数据
|
|
|
+ getWorkDictsfun(){
|
|
|
+ getWorkDicts('issue_type_F').then(res=>{
|
|
|
+ this.issuetypefData = res.data.data
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 预付到付货物显示值
|
|
|
+ paymodefun(value){
|
|
|
+ for(let item of this.paymodeData) {
|
|
|
+ if (item.value == value) {
|
|
|
+ return item.label
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
|
|
|
|
|
|
},
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
-<style scoped>
|
|
|
+<style scoped lang="scss">
|
|
|
.disabledBox {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
@@ -422,4 +743,49 @@
|
|
|
font-size: 16px;
|
|
|
color: #81B337;
|
|
|
}
|
|
|
+ .meetSize {
|
|
|
+ font-size: 16px;
|
|
|
+ color: #54BCBD;
|
|
|
+ }
|
|
|
+ .bottomFlex {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-around;
|
|
|
+ .bottomFlex-left {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ .bottomFlex-leftTop {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ padding-right: 15px;
|
|
|
+ border-right: 1px solid #cbcbcb;
|
|
|
+ }
|
|
|
+ .bottomFlex-leftcont {
|
|
|
+ margin: 0 30px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .bottomFlex-right {
|
|
|
+ position: relative;
|
|
|
+ .positionText {
|
|
|
+ position: absolute;
|
|
|
+ top: -45px;
|
|
|
+ left: 50%;
|
|
|
+ transform: translateX(-50%);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .weightfont {
|
|
|
+ font-size: 20px;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ .weightnum {
|
|
|
+ font-size: 15px;
|
|
|
+ font-weight: 500;
|
|
|
+ }
|
|
|
+ .fontText {
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: 500;
|
|
|
+ margin: 3px 0;
|
|
|
+ }
|
|
|
</style>
|