|
@@ -276,7 +276,8 @@
|
|
|
<template #default="{ row, $index }">
|
|
|
<el-form-item :prop="'costControlDetailList.' + $index + '.costType'" :rules="rules.costType" :inline-message="true"
|
|
|
class="margin-b-0">
|
|
|
- <el-select v-model="row.costType" placeholder="请选择" style="width: 100%" filterable :disabled="isDisabled">
|
|
|
+ <el-select v-model="row.costType" placeholder="请选择" style="width: 100%" filterable :disabled="isDisabled"
|
|
|
+ @change="()=>handleGetRemark($index)">
|
|
|
<el-option v-for="item in expenseType" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -286,16 +287,21 @@
|
|
|
<template #default="{ row, $index }">
|
|
|
<el-form-item :prop="'costControlDetailList.' + $index + '.brushingTime'" :rules="rules.brushingTime" :inline-message="true"
|
|
|
class="margin-b-0" v-if="row.costType=='1'">
|
|
|
- <el-date-picker v-model="row.brushingTime" type="date" placeholder="请选择" style="width: 100%" value-format="YYYY-MM-DD"
|
|
|
+ <el-date-picker v-model="row.brushingTime" type="date" placeholder="刷单开始时间" style="width: 100%" value-format="YYYY-MM-DD"
|
|
|
+ :disabled="isDisabled" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item :prop="'costControlDetailList.' + $index + '.brushingEndTime'" :rules="rules.brushingEndTime" :inline-message="true"
|
|
|
+ class="margin-b-0" v-if="row.costType=='1'">
|
|
|
+ <el-date-picker v-model="row.brushingEndTime" type="date" placeholder="刷单结束时间" style="width: 100%" value-format="YYYY-MM-DD"
|
|
|
:disabled="isDisabled" />
|
|
|
</el-form-item>
|
|
|
<el-form-item :prop="'costControlDetailList.' + $index + '.promotionFeeType'" :rules="rules.promotionFeeType" :inline-message="true"
|
|
|
- class="margin-b-0" v-else-if="row.costType=='2'">
|
|
|
+ class="margin-b-0" v-if="row.costType=='2'">
|
|
|
<el-select v-model="row.promotionFeeType" placeholder="请选择" style="width: 100%" filterable :disabled="isDisabled">
|
|
|
<el-option v-for="item in promotionFeeType" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <div v-else>-</div>
|
|
|
+
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="currentPayableDeductionBefore" label="本期应付(抵扣前)" width="140"
|
|
@@ -399,7 +405,7 @@
|
|
|
@change="(val)=>changeAccountSubjectsId(val,$index)" /> -->
|
|
|
|
|
|
<el-select v-model="row.accountSubjectsId" :placeholder="'请选择'" style="width: 100%" filterable
|
|
|
- @change="(val)=>changeAccountSubjectsId(val,$index)">
|
|
|
+ @change="(val)=>changeAccountSubjectsId(val,$index)" :disabled="!isHaveAccount || !isHaveFinance">
|
|
|
<el-option v-for="item in accountSubjectsList" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -430,14 +436,15 @@
|
|
|
:style="{ marginBottom:row.subjectsCalculateItemNameList.length > index+1 ? '10px' : '' }">
|
|
|
<el-tree-select v-model="row.submitMapData[key]" :data="selectDataMap[key]" check-strictly node-key="deptId"
|
|
|
:props="defaultPropsDept" :placeholder="'请选择'+key" style="width:100%" filterable
|
|
|
- v-if="['核算中心', '部门' ].includes(key)" @change="(val)=>getLabelData(val,key,$index)" />
|
|
|
+ v-if="['核算中心', '部门' ].includes(key)" @change="(val)=>getLabelData(val,key,$index)"
|
|
|
+ :disabled="!isHaveAccount || !isHaveFinance" />
|
|
|
<div v-else-if="['客户'].includes(key)">
|
|
|
- <el-button type="primary" @click="handleOpenSelectCustomer($index)" plain v-if="getAccountSubjectsId"
|
|
|
- style="margin-bottom:10px">选择客户</el-button>
|
|
|
+ <el-button type="primary" @click="handleOpenSelectCustomer($index)" plain v-if="getAccountSubjectsId" style="margin-bottom:10px"
|
|
|
+ :disabled="!isHaveAccount || !isHaveFinance">选择客户</el-button>
|
|
|
<el-input v-model="row.customerName" placeholder="请选择客户" disabled></el-input>
|
|
|
</div>
|
|
|
<el-select v-model="row.submitMapData[key]" :placeholder="'请选择'+key" style="width: 100%" filterable v-else
|
|
|
- @change="(val)=>getLabelData(val,key,$index)">
|
|
|
+ @change="(val)=>getLabelData(val,key,$index)" :disabled="!isHaveAccount || !isHaveFinance">
|
|
|
<el-option v-for="item in selectDataMap[key]" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
</el-select>
|
|
|
</div>
|
|
@@ -449,7 +456,7 @@
|
|
|
<div style="width: 100%">
|
|
|
<el-form-item :prop="'costControlDetailList.' + $index + '.money'" :rules="rules.money" :inline-message="true" class="margin-b-0">
|
|
|
<el-input-number onmousewheel="return false;" v-model="row.money" placeholder=" " style="width: 100%" :precision="2"
|
|
|
- :controls="false" :min="0" />
|
|
|
+ :controls="false" :min="0" :disabled="!isHaveAccount || !isHaveFinance" />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -883,7 +890,10 @@ const formConfig = computed(() => {
|
|
|
changeShroffAccount(val);
|
|
|
},
|
|
|
disabled: !isHaveFinance.value,
|
|
|
- isShow: isShowAtt("paymentAccountId", "mainObj"),
|
|
|
+ isShow:
|
|
|
+ isShowAtt("paymentAccountId", "mainObj") &&
|
|
|
+ formData.data.isPublicTransfer &&
|
|
|
+ formData.data.isPublicTransfer == "1",
|
|
|
},
|
|
|
{
|
|
|
type: "input",
|
|
@@ -892,7 +902,10 @@ const formConfig = computed(() => {
|
|
|
placeholder: "请输入开户行",
|
|
|
itemWidth: 25,
|
|
|
disabled: !isHaveFinance.value,
|
|
|
- isShow: isShowAtt("paymentAccountId", "mainObj"),
|
|
|
+ isShow:
|
|
|
+ isShowAtt("paymentAccountId", "mainObj") &&
|
|
|
+ formData.data.isPublicTransfer &&
|
|
|
+ formData.data.isPublicTransfer == "1",
|
|
|
},
|
|
|
{
|
|
|
type: "input",
|
|
@@ -901,7 +914,10 @@ const formConfig = computed(() => {
|
|
|
placeholder: "请输入开户名",
|
|
|
itemWidth: 25,
|
|
|
disabled: !isHaveFinance.value,
|
|
|
- isShow: isShowAtt("paymentAccountId", "mainObj"),
|
|
|
+ isShow:
|
|
|
+ isShowAtt("paymentAccountId", "mainObj") &&
|
|
|
+ formData.data.isPublicTransfer &&
|
|
|
+ formData.data.isPublicTransfer == "1",
|
|
|
},
|
|
|
{
|
|
|
type: "input",
|
|
@@ -910,7 +926,10 @@ const formConfig = computed(() => {
|
|
|
placeholder: "请输入账号",
|
|
|
itemWidth: 25,
|
|
|
disabled: !isHaveFinance.value,
|
|
|
- isShow: isShowAtt("paymentAccountId", "mainObj"),
|
|
|
+ isShow:
|
|
|
+ isShowAtt("paymentAccountId", "mainObj") &&
|
|
|
+ formData.data.isPublicTransfer &&
|
|
|
+ formData.data.isPublicTransfer == "1",
|
|
|
},
|
|
|
{
|
|
|
type: "title",
|
|
@@ -924,7 +943,8 @@ const formConfig = computed(() => {
|
|
|
label: "开户行",
|
|
|
placeholder: "请输入开户行",
|
|
|
itemWidth: 25,
|
|
|
- disabled: isDisabled.value,
|
|
|
+ // disabled: isDisabled.value,
|
|
|
+ disabled: true,
|
|
|
isShow: getIsShowData("accountBank"),
|
|
|
},
|
|
|
{
|
|
@@ -933,7 +953,8 @@ const formConfig = computed(() => {
|
|
|
label: "开户名",
|
|
|
placeholder: "请输入开户名",
|
|
|
itemWidth: 25,
|
|
|
- disabled: isDisabled.value,
|
|
|
+ // disabled: isDisabled.value,
|
|
|
+ disabled: true,
|
|
|
// isShow: isShowAtt("accountName", "mainObj"),
|
|
|
isShow: getIsShowData("accountName"),
|
|
|
},
|
|
@@ -943,7 +964,8 @@ const formConfig = computed(() => {
|
|
|
label: "账号",
|
|
|
placeholder: "请输入账号",
|
|
|
itemWidth: 25,
|
|
|
- disabled: isDisabled.value,
|
|
|
+ // disabled: isDisabled.value,
|
|
|
+ disabled: true,
|
|
|
// isShow: isShowAtt("accountNumber", "mainObj"),
|
|
|
isShow: getIsShowData("accountNumber"),
|
|
|
},
|
|
@@ -1043,7 +1065,10 @@ const rules = ref({
|
|
|
supplierId: [{ required: true, message: "请选择供应商", trigger: "change" }],
|
|
|
costType: [{ required: true, message: "请选择费用类型", trigger: "change" }],
|
|
|
brushingTime: [
|
|
|
- { required: true, message: "请选择刷单时间", trigger: "change" },
|
|
|
+ { required: true, message: "请选择刷单开始时间", trigger: "change" },
|
|
|
+ ],
|
|
|
+ brushingEndTime: [
|
|
|
+ { required: true, message: "请选择刷单结束时间", trigger: "change" },
|
|
|
],
|
|
|
promotionFeeType: [
|
|
|
{ required: true, message: "请选择推广费类别", trigger: "change" },
|
|
@@ -1498,6 +1523,17 @@ const handleChangeMoney = (val, index, att) => {
|
|
|
? row.currentPrepaidTax
|
|
|
: row.currentPrepaid;
|
|
|
} else if (currentCostTypeData.value.name.indexOf("快递费付款") != -1) {
|
|
|
+ if (formData.data.isPublicTransfer == "1") {
|
|
|
+ if (row.balancePrepaidTax < row.deductionPrepaidTax) {
|
|
|
+ row.deductionPrepaidTax = 0;
|
|
|
+ return proxy.msgTip("抵扣预付款不可大于结存预付款");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (row.balancePrepaid < row.deductionPrepaid) {
|
|
|
+ row.deductionPrepaid = 0;
|
|
|
+ return proxy.msgTip("抵扣预付款不可大于结存预付款");
|
|
|
+ }
|
|
|
+ }
|
|
|
row.currentPayable =
|
|
|
formData.data.isPublicTransfer == "1"
|
|
|
? Number(
|
|
@@ -1770,6 +1806,7 @@ const getBtnDisabled = () => {
|
|
|
|
|
|
const handleGetRemark = (index) => {
|
|
|
let row = formData.data.costControlDetailList[index];
|
|
|
+ let label = row.submitMapLabelData["职员"] || "";
|
|
|
let money = 0;
|
|
|
money = parseFloat(Number(row.currentPayable)).toFixed(2);
|
|
|
// formData.data.costControlDetailList[
|
|
@@ -1786,19 +1823,20 @@ const handleGetRemark = (index) => {
|
|
|
} else if (currentCostTypeData.value.name.indexOf("备用金") != -1) {
|
|
|
formData.data.costControlDetailList[
|
|
|
index
|
|
|
- ].remark = `支付${row.applyRemark}备用金${money}`;
|
|
|
+ ].remark = `支付${label}备用金${money}`;
|
|
|
} else if (currentCostTypeData.value.name.indexOf("借款") != -1) {
|
|
|
formData.data.costControlDetailList[
|
|
|
index
|
|
|
- ].remark = `支付${row.applyRemark}借款${money}`;
|
|
|
+ ].remark = `支付${label}借款${money}`;
|
|
|
} else if (currentCostTypeData.value.name.indexOf("快递") != -1) {
|
|
|
formData.data.costControlDetailList[
|
|
|
index
|
|
|
].remark = `支付${row.businessName}${currentCostTypeData.value.name}${money}`;
|
|
|
} else if (currentCostTypeData.value.name.indexOf("店铺") != -1) {
|
|
|
+ let label = proxy.dictKeyValue(row.costType, expenseType.value);
|
|
|
formData.data.costControlDetailList[
|
|
|
index
|
|
|
- ].remark = `支付${row.businessName}${currentCostTypeData.value.name}${money}`;
|
|
|
+ ].remark = `支付${row.businessName}${label}${money}`;
|
|
|
} else if (currentCostTypeData.value.name.indexOf("采购") != -1) {
|
|
|
formData.data.costControlDetailList[
|
|
|
index
|
|
@@ -1827,6 +1865,7 @@ const clickAdd = () => {
|
|
|
subjectsCalculateItemNameList: subjectsCalculateItemNameList.value,
|
|
|
submitMapData: {},
|
|
|
submitMapLabelData: {},
|
|
|
+ submitMapCodeData: {},
|
|
|
logisticsCompanyId: "",
|
|
|
invoiceTaxPoint: "",
|
|
|
currentPayable: null,
|
|
@@ -1865,6 +1904,7 @@ const clickAdd = () => {
|
|
|
subjectsCalculateItemNameList: subjectsCalculateItemNameList.value,
|
|
|
submitMapData: {},
|
|
|
submitMapLabelData: {},
|
|
|
+ submitMapCodeData: {},
|
|
|
logisticsCompanyId: "",
|
|
|
invoiceTaxPoint: "",
|
|
|
currentPayable: null,
|
|
@@ -1935,12 +1975,17 @@ const getLabelData = (val, key, index) => {
|
|
|
if (current) {
|
|
|
formData.data.costControlDetailList[index].submitMapLabelData[key] =
|
|
|
current.deptName;
|
|
|
+ formData.data.costControlDetailList[index].submitMapCodeData[key] =
|
|
|
+ current.jdSubjectCode;
|
|
|
}
|
|
|
} else {
|
|
|
let current = data.find((x) => x.value == val);
|
|
|
if (current) {
|
|
|
formData.data.costControlDetailList[index].submitMapLabelData[key] =
|
|
|
current.label;
|
|
|
+ formData.data.costControlDetailList[index].submitMapCodeData[key] =
|
|
|
+ current.jdSubjectCode;
|
|
|
+ handleGetRemark(index);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -2073,7 +2118,7 @@ const handleSubmit = async (isStag = false) => {
|
|
|
for (let i = 0; i < formData.data.costControlDetailList.length; i++) {
|
|
|
const row = formData.data.costControlDetailList[i];
|
|
|
let calculateItemList = [];
|
|
|
- let calculateItemStr = row.accountSubjectsNames + " - ";
|
|
|
+ let calculateItemStr = "";
|
|
|
if (
|
|
|
row.subjectsCalculateItemNameList &&
|
|
|
row.subjectsCalculateItemNameList.length > 0
|
|
@@ -2081,13 +2126,22 @@ const handleSubmit = async (isStag = false) => {
|
|
|
for (let j = 0; j < row.subjectsCalculateItemNameList.length; j++) {
|
|
|
const key = row.subjectsCalculateItemNameList[j];
|
|
|
if (row.submitMapData[key]) {
|
|
|
+ row["calculateItemType" + (j + 1 + "")] = key;
|
|
|
+ row["calculateItemName" + (j + 1 + "")] =
|
|
|
+ row.submitMapLabelData[key];
|
|
|
calculateItemList.push({
|
|
|
type: key,
|
|
|
businessId: row.submitMapData[key],
|
|
|
+ businessName: row.submitMapLabelData[key],
|
|
|
+ businessCode: row.submitMapCodeData[key],
|
|
|
});
|
|
|
calculateItemStr +=
|
|
|
+ key +
|
|
|
+ "---" +
|
|
|
+ row.submitMapCodeData[key] +
|
|
|
+ "---" +
|
|
|
row.submitMapLabelData[key] +
|
|
|
- (j < row.subjectsCalculateItemNameList.length - 1 ? " - " : "");
|
|
|
+ (j < row.subjectsCalculateItemNameList.length - 1 ? "||" : "");
|
|
|
}
|
|
|
}
|
|
|
}
|