|
@@ -14,7 +14,7 @@
|
|
|
>
|
|
|
<template slot="menuLeft">
|
|
|
<el-tabs v-model="activeName" @tab-click="tabHandle">
|
|
|
- <el-tab-pane label="应收" name="first" :key="'first'">
|
|
|
+ <el-tab-pane label="应收" name="first" :key="'first'">
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="应付" name="second" :key="'second'">
|
|
|
</el-tab-pane>
|
|
@@ -33,23 +33,17 @@
|
|
|
size="small"
|
|
|
@click.stop="billingDetails('收费')"
|
|
|
:loading="buttonLoading"
|
|
|
- :disabled="
|
|
|
- (financeDisabled && disabled) || selectionList.length == 0
|
|
|
- "
|
|
|
+ :disabled="(financeDisabled && disabled) || selectionList.length == 0"
|
|
|
v-if="selectTab === 1"
|
|
|
- >生成账单</el-button
|
|
|
- >
|
|
|
+ >生成账单</el-button>
|
|
|
<el-button
|
|
|
type="warning"
|
|
|
size="small"
|
|
|
@click.stop="billingDetails('申请')"
|
|
|
:loading="buttonLoading"
|
|
|
- :disabled="
|
|
|
- (financeDisabled && disabled) || selectionList.length == 0
|
|
|
- "
|
|
|
+ :disabled="(financeDisabled && disabled) || selectionList.length == 0"
|
|
|
v-if="selectTab === 2"
|
|
|
- >申请付费</el-button
|
|
|
- >
|
|
|
+ >申请付费</el-button>
|
|
|
</template>
|
|
|
<template slot="menu" slot-scope="{ row, index }">
|
|
|
<el-button
|
|
@@ -78,17 +72,16 @@
|
|
|
v-model="row.corpId"
|
|
|
:cropIndex="index"
|
|
|
@getCorpData="getCorpData"
|
|
|
- :treeType="optionType"
|
|
|
corpType="KG"
|
|
|
></crop-select>
|
|
|
<span v-else>{{ row.corpName }}</span>
|
|
|
</template>
|
|
|
- <template slot="feeName" slot-scope="{ row }">
|
|
|
+ <template slot="feeName" slot-scope="{ row}">
|
|
|
<span v-if="row.$cellEdit" class="required_fields">*</span>
|
|
|
<breakdown-select
|
|
|
v-if="row.$cellEdit"
|
|
|
v-model="row.itemId"
|
|
|
- @selectValue="value => selectValue(value, row)"
|
|
|
+ @selectValue="(value) => selectValue(value,row)"
|
|
|
:configuration="breakConfiguration"
|
|
|
>
|
|
|
</breakdown-select>
|
|
@@ -105,7 +98,7 @@
|
|
|
clearable
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="(item, index) in billNoList"
|
|
|
+ v-for="(item,index) in billNoList"
|
|
|
:key="index"
|
|
|
:label="item"
|
|
|
:value="item"
|
|
@@ -256,10 +249,7 @@ import { isPercentage, micrometerFormat, IntegerFormat } from "@/util/validate";
|
|
|
import cropDialog from "@/components/crop-dialog/main";
|
|
|
import _ from "lodash";
|
|
|
import ApplyPayment from "../finance/applyPayment";
|
|
|
-import {
|
|
|
- applyLoan,
|
|
|
- paymentApply
|
|
|
-} from "@/api/financialManagement/paymentRequest";
|
|
|
+import {applyLoan,paymentApply} from "@/api/financialManagement/paymentRequest";
|
|
|
import { contrastList } from "@/util/contrastData";
|
|
|
import { allCropList } from "@/api/basicData/customerInformation";
|
|
|
import { getCustomerCode, getCustomerName } from "@/enums/management-type";
|
|
@@ -271,7 +261,7 @@ export default {
|
|
|
option: option,
|
|
|
feeOption: {},
|
|
|
feeDialog: false,
|
|
|
- buttonLoading: false,
|
|
|
+ buttonLoading:false,
|
|
|
treeOption: {
|
|
|
nodeKey: "id",
|
|
|
lazy: true,
|
|
@@ -312,26 +302,26 @@ export default {
|
|
|
selectionList: [],
|
|
|
reData: null,
|
|
|
currencyList: [],
|
|
|
- unitList: [],
|
|
|
- breakConfiguration: {
|
|
|
- multipleChoices: false,
|
|
|
- multiple: false,
|
|
|
- disabled: false,
|
|
|
- searchShow: true,
|
|
|
- collapseTags: false,
|
|
|
- clearable: true,
|
|
|
- placeholder: "请点击右边按钮选择",
|
|
|
- dicData: []
|
|
|
+ unitList:[],
|
|
|
+ breakConfiguration:{
|
|
|
+ multipleChoices:false,
|
|
|
+ multiple:false,
|
|
|
+ disabled:false,
|
|
|
+ searchShow:true,
|
|
|
+ collapseTags:false,
|
|
|
+ clearable:true,
|
|
|
+ placeholder:'请点击右边按钮选择',
|
|
|
+ dicData:[]
|
|
|
},
|
|
|
- allData: [],
|
|
|
- data_one: [],
|
|
|
- data_two: [],
|
|
|
- selectTab: 1,
|
|
|
- activeName: "first",
|
|
|
- enableName: "first",
|
|
|
- tab1: true,
|
|
|
- tab2: false,
|
|
|
- corpList: []
|
|
|
+ allData:[],
|
|
|
+ data_one:[],
|
|
|
+ data_two:[],
|
|
|
+ selectTab:1,
|
|
|
+ activeName:"first",
|
|
|
+ enableName:"first",
|
|
|
+ tab1:true,
|
|
|
+ tab2:false,
|
|
|
+ corpList: [],
|
|
|
};
|
|
|
},
|
|
|
props: {
|
|
@@ -347,7 +337,7 @@ export default {
|
|
|
billUrl: {
|
|
|
type: String
|
|
|
},
|
|
|
- optionType: {
|
|
|
+ optionType:{
|
|
|
type: String
|
|
|
},
|
|
|
itemType: {
|
|
@@ -355,18 +345,18 @@ export default {
|
|
|
},
|
|
|
srcType: {
|
|
|
type: Number,
|
|
|
- default: 2
|
|
|
+ default: 2,
|
|
|
},
|
|
|
corpId: {
|
|
|
type: String
|
|
|
},
|
|
|
- billNoList: {
|
|
|
- type: Array
|
|
|
+ billNoList:{
|
|
|
+ type:Array
|
|
|
},
|
|
|
financeDisabled: {
|
|
|
type: Boolean,
|
|
|
default: true
|
|
|
- }
|
|
|
+ },
|
|
|
},
|
|
|
filters: {
|
|
|
isPercentage(val) {
|
|
@@ -380,26 +370,26 @@ export default {
|
|
|
},
|
|
|
IntegerFormat(num) {
|
|
|
return IntegerFormat(num);
|
|
|
- }
|
|
|
+ },
|
|
|
},
|
|
|
async created() {
|
|
|
this.feeOption = await this.getColumnData(
|
|
|
this.getColumnName(33),
|
|
|
feeOption
|
|
|
);
|
|
|
- if (this.$store.getters.userInfo.tenant_id === "888390") {
|
|
|
- this.feeOption.column.forEach(item => {
|
|
|
- if (item.prop === "billNo") {
|
|
|
- item.hide = false;
|
|
|
+ if(this.$store.getters.userInfo.tenant_id === '888390'){
|
|
|
+ this.feeOption.column.forEach(item =>{
|
|
|
+ if(item.prop === 'billNo'){
|
|
|
+ item.hide = false
|
|
|
}
|
|
|
- });
|
|
|
+ })
|
|
|
}
|
|
|
this.getWorkDicts("currency").then(res => {
|
|
|
this.currencyList = res.data.data;
|
|
|
});
|
|
|
- this.getWorkDicts("unit").then(res => {
|
|
|
- this.unitList = res.data.data;
|
|
|
- });
|
|
|
+ this.getWorkDicts("unit").then(res =>{
|
|
|
+ this.unitList = res.data.data
|
|
|
+ })
|
|
|
allCropList({
|
|
|
corpType: getCustomerCode("KG")
|
|
|
}).then(res => {
|
|
@@ -411,46 +401,46 @@ export default {
|
|
|
ApplyPayment
|
|
|
},
|
|
|
watch: {
|
|
|
- orderFeesList(newVla, oldVal) {
|
|
|
- if (newVla !== oldVal) {
|
|
|
- this.allData = newVla;
|
|
|
- this.data_one = newVla.filter(item => item.feesType === 1); //应收
|
|
|
- this.data_two = newVla.filter(item => item.feesType === 2); //应付
|
|
|
+ 'orderFeesList'(newVla,oldVal){
|
|
|
+ if(newVla !== oldVal){
|
|
|
+ this.allData = newVla
|
|
|
+ this.data_one = newVla.filter(item => item.feesType === 1) //应收
|
|
|
+ this.data_two = newVla.filter(item => item.feesType === 2) //应付
|
|
|
if (this.selectTab === 1) {
|
|
|
- this.feeData = this.data_one;
|
|
|
+ this.feeData = this.data_one
|
|
|
} else {
|
|
|
- this.feeData = this.data_two;
|
|
|
+ this.feeData = this.data_two
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- activeName(newVla, oldVal) {
|
|
|
- if (newVla !== oldVal) {
|
|
|
- if (newVla === "first") {
|
|
|
+ 'activeName'(newVla,oldVal){
|
|
|
+ if(newVla !== oldVal){
|
|
|
+ if(newVla === "first"){
|
|
|
this.tab1 = true;
|
|
|
this.tab2 = false;
|
|
|
|
|
|
- this.data_two = this.feeData;
|
|
|
+ this.data_two = this.feeData
|
|
|
|
|
|
- this.selectTab = 1;
|
|
|
- this.feeData = this.data_one;
|
|
|
- } else {
|
|
|
+ this.selectTab = 1
|
|
|
+ this.feeData = this.data_one
|
|
|
+ }else{
|
|
|
this.tab1 = false;
|
|
|
this.tab2 = true;
|
|
|
|
|
|
- this.data_one = this.feeData;
|
|
|
+ this.data_one = this.feeData
|
|
|
|
|
|
- this.selectTab = 2;
|
|
|
- this.feeData = this.data_two;
|
|
|
+ this.selectTab = 2
|
|
|
+ this.feeData = this.data_two
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ },
|
|
|
},
|
|
|
methods: {
|
|
|
//选择费用
|
|
|
- selectValue(value, row) {
|
|
|
- this.$set(row, "feeName", value.cname);
|
|
|
- this.$set(row, "ename", value.ename);
|
|
|
- this.currencyChange(row);
|
|
|
+ selectValue(value,row){
|
|
|
+ this.$set(row,"feeName",value.cname)
|
|
|
+ this.$set(row,"ename",value.ename)
|
|
|
+ this.currencyChange(row)
|
|
|
},
|
|
|
//选择应收应付
|
|
|
// handleClick(tab){
|
|
@@ -480,26 +470,26 @@ export default {
|
|
|
itemId: null,
|
|
|
corpId: row.id,
|
|
|
corpName: row.name,
|
|
|
- ename: null,
|
|
|
+ ename:null,
|
|
|
feeName: null,
|
|
|
price: null,
|
|
|
unit: null,
|
|
|
quantity: null,
|
|
|
amount: null,
|
|
|
- currency: "CNY",
|
|
|
+ currency:'CNY',
|
|
|
exchangeRate: 1,
|
|
|
remarks: null,
|
|
|
$cellEdit: true,
|
|
|
- feesType: this.selectTab
|
|
|
+ feesType:this.selectTab
|
|
|
});
|
|
|
},
|
|
|
//带出汇率
|
|
|
- currencyChange(row) {
|
|
|
- this.currencyList.forEach(item => {
|
|
|
- if (item.dictValue === row.currency) {
|
|
|
- this.$set(row, "exchangeRate", item.remark);
|
|
|
+ currencyChange(row){
|
|
|
+ this.currencyList.forEach(item =>{
|
|
|
+ if(item.dictValue === row.currency){
|
|
|
+ this.$set(row,"exchangeRate",item.remark)
|
|
|
}
|
|
|
- });
|
|
|
+ })
|
|
|
},
|
|
|
rowDel(row, index) {
|
|
|
this.$confirm("确定删除数据?", {
|
|
@@ -526,7 +516,7 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
getCorpData(row) {
|
|
|
- console.log(row);
|
|
|
+ console.log(row)
|
|
|
this.feeData[row.index].corpName = row.cname;
|
|
|
},
|
|
|
countChange(row) {
|
|
@@ -575,23 +565,17 @@ export default {
|
|
|
},
|
|
|
//新增
|
|
|
rowAdd() {
|
|
|
- if (this.optionType == "CK") {
|
|
|
- this.$refs.feeCrud.rowCellAdd({});
|
|
|
- } else {
|
|
|
- if (this.optionType != "CK") {
|
|
|
- if (!this.corpId) return this.$message.error("请选择往来单位");
|
|
|
- }
|
|
|
- if (this.$store.getters.userInfo.tenant_id === "888390") {
|
|
|
- this.$emit("getBillNo");
|
|
|
- }
|
|
|
- let corpName = this.corpList.find(item => this.corpId == item.id).cname;
|
|
|
- const params = {
|
|
|
- feesType: this.selectTab,
|
|
|
- corpId: this.corpId,
|
|
|
- corpName: corpName
|
|
|
- };
|
|
|
- this.$refs.feeCrud.rowCellAdd(params);
|
|
|
+ if (!this.corpId) return this.$message.error('请选择往来单位')
|
|
|
+ if(this.$store.getters.userInfo.tenant_id === '888390'){
|
|
|
+ this.$emit("getBillNo")
|
|
|
+ }
|
|
|
+ let corpName = this.corpList.find(item => this.corpId == item.id).cname
|
|
|
+ const params = {
|
|
|
+ feesType:this.selectTab,
|
|
|
+ corpId: this.corpId,
|
|
|
+ corpName: corpName
|
|
|
}
|
|
|
+ this.$refs.feeCrud.rowCellAdd(params);
|
|
|
},
|
|
|
onLoad(page) {
|
|
|
this.loading = true;
|
|
@@ -662,116 +646,110 @@ export default {
|
|
|
quantity: 0,
|
|
|
amount: 0,
|
|
|
remarks: null,
|
|
|
- $cellEdit: true
|
|
|
+ $cellEdit: true,
|
|
|
});
|
|
|
});
|
|
|
}
|
|
|
this.feeDialog = false;
|
|
|
},
|
|
|
submitData() {
|
|
|
- let list = [];
|
|
|
+ let list = []
|
|
|
//保存时 将所出的tab页数据赋值到相应 data上
|
|
|
- if (this.selectTab === 1) {
|
|
|
- this.data_one = this.feeData;
|
|
|
- } else {
|
|
|
- this.data_two = this.feeData;
|
|
|
+ if(this.selectTab === 1){
|
|
|
+ this.data_one = this.feeData
|
|
|
+ }else{
|
|
|
+ this.data_two = this.feeData
|
|
|
}
|
|
|
- list.push(...this.data_one, ...this.data_two);
|
|
|
- return list;
|
|
|
+ list.push(...this.data_one,...this.data_two)
|
|
|
+ return list
|
|
|
},
|
|
|
|
|
|
- billingDetails(type) {
|
|
|
+ billingDetails(type){
|
|
|
//查看是否改动过数据
|
|
|
- this.$emit("beforeFinance", this.submitData(), params => {
|
|
|
- if (params.valid) {
|
|
|
- for (let i = 0; i < this.selectionList.length; i++) {
|
|
|
- if (this.selectionList[i].corpId != this.selectionList[0].corpId) {
|
|
|
- return this.$message.error("批量操作结算单位必须一致");
|
|
|
+ this.$emit("beforeFinance",this.submitData(),(params)=>{
|
|
|
+ if(params.valid){
|
|
|
+ for(let i=0;i<this.selectionList.length;i++){
|
|
|
+ if(this.selectionList[i].corpId != this.selectionList[0].corpId){
|
|
|
+ return this.$message.error('批量操作结算单位必须一致')
|
|
|
}
|
|
|
- if (this.selectionList[i].isCheck == 1) {
|
|
|
- return this.$message.error(
|
|
|
- "选中的数据已" + type + ",请勿重复操作!"
|
|
|
- );
|
|
|
+ if(this.selectionList[i].isCheck == 1){
|
|
|
+ return this.$message.error("选中的数据已"+type+",请勿重复操作!")
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- this.selectionList.map(item => {
|
|
|
+ this.selectionList.map(item =>{
|
|
|
// item.url = this.billUrl
|
|
|
- item.srcOrderno = params.srcOrderno;
|
|
|
- item.srcParentId = params.parentId;
|
|
|
- item.corpsName = item.corpName;
|
|
|
- item.srcFeesId = item.id;
|
|
|
- item.costType = item.itemId;
|
|
|
- item.itemType = this.itemType;
|
|
|
- item.optionType = this.optionType;
|
|
|
- item.srcType = this.srcType; //费用明细申请
|
|
|
- item.tradeType = this.optionType;
|
|
|
- });
|
|
|
+ item.srcOrderno = params.srcOrderno
|
|
|
+ item.srcParentId = params.parentId
|
|
|
+ item.corpsName = item.corpName
|
|
|
+ item.srcFeesId = item.id
|
|
|
+ item.costType = item.itemId
|
|
|
+ item.itemType = this.itemType
|
|
|
+ item.optionType = this.optionType
|
|
|
+ item.srcType = this.srcType //费用明细申请
|
|
|
+ item.tradeType = this.optionType
|
|
|
+ })
|
|
|
let data = {
|
|
|
billType: type,
|
|
|
- itemsList: this.selectionList
|
|
|
- };
|
|
|
- if (type === "申请") {
|
|
|
+ itemsList : this.selectionList,
|
|
|
+ }
|
|
|
+ if(type === '申请'){
|
|
|
this.$confirm("您确定申请付费吗?", "提示", {
|
|
|
confirmButtonText: "确定",
|
|
|
cancelButtonText: "取消",
|
|
|
- type: "warning"
|
|
|
- }).then(() => {
|
|
|
- this.buttonLoading = true;
|
|
|
+ type: "warning",
|
|
|
+ }).then(()=>{
|
|
|
+ this.buttonLoading = true
|
|
|
|
|
|
- data.checkType = "ffsq";
|
|
|
- data.url = "/financialManagement/paymentRequest/index";
|
|
|
- data.pageStatus = "this.$store.getters.pqStatus";
|
|
|
- data.pageLabel = "付费申请";
|
|
|
+ data.checkType = 'ffsq'
|
|
|
+ data.url = '/financialManagement/paymentRequest/index'
|
|
|
+ data.pageStatus = 'this.$store.getters.pqStatus'
|
|
|
+ data.pageLabel = '付费申请'
|
|
|
|
|
|
- applyLoan(data)
|
|
|
- .then(res => {
|
|
|
- if (res.data.success) {
|
|
|
- this.$message.success("操作成功!");
|
|
|
- this.$emit("afterFinance");
|
|
|
- //跳转付费申请页面
|
|
|
- // if(this.$store.getters.pqStatus){
|
|
|
- // this.$alert("无法自动跳转,因为付费申请页面已存在!", "温馨提示", {
|
|
|
- // confirmButtonText: "确定",
|
|
|
- // type: 'warning',
|
|
|
- // callback: action => {
|
|
|
- // }
|
|
|
- // });
|
|
|
- // }else{
|
|
|
- // //关闭一下存在的列表页 跳转
|
|
|
- // this.$router.$avueRouter.closeTag('/financialManagement/paymentRequest/index');
|
|
|
- // this.$router.push({
|
|
|
- // path: "/financialManagement/paymentRequest/index",
|
|
|
- // query: {params: res.data.data.id},
|
|
|
- // });
|
|
|
- // }
|
|
|
- }
|
|
|
- })
|
|
|
- .finally(() => {
|
|
|
- this.buttonLoading = false;
|
|
|
- });
|
|
|
- });
|
|
|
- } else {
|
|
|
+ applyLoan(data).then(res=>{
|
|
|
+ if(res.data.success){
|
|
|
+ this.$message.success("操作成功!")
|
|
|
+ this.$emit("afterFinance")
|
|
|
+ //跳转付费申请页面
|
|
|
+ // if(this.$store.getters.pqStatus){
|
|
|
+ // this.$alert("无法自动跳转,因为付费申请页面已存在!", "温馨提示", {
|
|
|
+ // confirmButtonText: "确定",
|
|
|
+ // type: 'warning',
|
|
|
+ // callback: action => {
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // }else{
|
|
|
+ // //关闭一下存在的列表页 跳转
|
|
|
+ // this.$router.$avueRouter.closeTag('/financialManagement/paymentRequest/index');
|
|
|
+ // this.$router.push({
|
|
|
+ // path: "/financialManagement/paymentRequest/index",
|
|
|
+ // query: {params: res.data.data.id},
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ }
|
|
|
+ }).finally(()=>{
|
|
|
+ this.buttonLoading = false
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }else{
|
|
|
this.$confirm("您确定生成账单吗?", "提示", {
|
|
|
confirmButtonText: "确定",
|
|
|
cancelButtonText: "取消",
|
|
|
- type: "warning"
|
|
|
- }).then(() => {
|
|
|
- this.buttonLoading = true;
|
|
|
- paymentApply(data)
|
|
|
- .then(res => {
|
|
|
- if (res.data.success) {
|
|
|
- this.$message.success("操作成功!");
|
|
|
- this.$emit("afterFinance");
|
|
|
- }
|
|
|
- })
|
|
|
- .finally(() => {
|
|
|
- this.buttonLoading = false;
|
|
|
- });
|
|
|
- });
|
|
|
+ type: "warning",
|
|
|
+ }).then(()=>{
|
|
|
+ this.buttonLoading = true
|
|
|
+ paymentApply(data).then(res=>{
|
|
|
+ if(res.data.success){
|
|
|
+ this.$message.success("操作成功!")
|
|
|
+ this.$emit("afterFinance")
|
|
|
+ }
|
|
|
+ }).finally(()=>{
|
|
|
+ this.buttonLoading = false
|
|
|
+ })
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
- });
|
|
|
+ })
|
|
|
},
|
|
|
summaryMethod({ columns, data }) {
|
|
|
const sums = [];
|
|
@@ -824,15 +802,15 @@ export default {
|
|
|
tabHandle(data) {
|
|
|
// if (data.name == this.enableName) return
|
|
|
// this.enableName = data.name
|
|
|
- }
|
|
|
- }
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
-.required_fields {
|
|
|
- color: #f56c6c;
|
|
|
- display: inline-block;
|
|
|
- width: 7%;
|
|
|
-}
|
|
|
+ .required_fields{
|
|
|
+ color: #F56C6C;
|
|
|
+ display:inline-block;
|
|
|
+ width: 7%
|
|
|
+ }
|
|
|
</style>
|