|
@@ -1485,6 +1485,12 @@
|
|
|
>作业费协议</el-button
|
|
|
>
|
|
|
<el-button
|
|
|
+ size="small"
|
|
|
+ type="primary"
|
|
|
+ @click="feesConfirm"
|
|
|
+ v-if="isShowFeesConfirm == 0"
|
|
|
+ >费用确认单</el-button>
|
|
|
+ <el-button
|
|
|
type="primary"
|
|
|
size="small"
|
|
|
v-if="browseStatus"
|
|
@@ -1875,10 +1881,17 @@
|
|
|
type="info"
|
|
|
size="small"
|
|
|
@click.prevent="printCr"
|
|
|
+ v-if="isShowInvoice == 0"
|
|
|
>请款单
|
|
|
</el-button
|
|
|
>
|
|
|
<el-button
|
|
|
+ size="small"
|
|
|
+ type="primary"
|
|
|
+ @click="feesCrConfirm"
|
|
|
+ v-if="isShowFeesConfirm == 0"
|
|
|
+ >费用确认单</el-button>
|
|
|
+ <el-button
|
|
|
type="primary"
|
|
|
size="small"
|
|
|
v-if="browseStatus"
|
|
@@ -3232,6 +3245,220 @@
|
|
|
<el-button @click="print_Cr = false" size="mini">取消 </el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
+
|
|
|
+ <!-- 费用确认单-->
|
|
|
+ <el-dialog
|
|
|
+ :visible.sync="print_fyqr"
|
|
|
+ width="70%"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :modal="false"
|
|
|
+ >
|
|
|
+ <div id="print_fyqr" class="print-div">
|
|
|
+ <div
|
|
|
+ class="print-title"
|
|
|
+ style="
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ font-size: 24px;
|
|
|
+ margin-bottom: 5px;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ {{ company }}
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ style="
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ margin-bottom: 5px;
|
|
|
+ ">
|
|
|
+ <div style="font-size: 18px">费用确认</div>
|
|
|
+ </div>
|
|
|
+ <div style="display: flex;justify-content: space-between;">
|
|
|
+ <div>
|
|
|
+ <div>业务编号:{{ form.fBillno }}</div>
|
|
|
+ <div>客户名称:{{ form.fCorpidName }}</div>
|
|
|
+ <div>提单号:{{ form.fBillno }}</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div>制单日期:{{ form.createTime | fBsdateFormat }}</div>
|
|
|
+ <div>仓库名称:{{ form.fWarehouseid | warehouseFormat(warehouseOptions) }}</div>
|
|
|
+ <div>箱型/箱量:{{ form.fCntval }}</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div>制单人:{{ form.createBy }}</div>
|
|
|
+ <div>打印日期:{{ nowTime | fBsdateFormat }}</div>
|
|
|
+ <div>品名:{{ form.fProductName }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="print_table" style="display: flex">
|
|
|
+ <table
|
|
|
+ border="0"
|
|
|
+ cellspacing="0"
|
|
|
+ cellpadding="0"
|
|
|
+ style="width: 100%; line-height: 30px"
|
|
|
+ >
|
|
|
+ <tr>
|
|
|
+ <td>序号</td>
|
|
|
+ <td>费用项目</td>
|
|
|
+ <td>计价单位</td>
|
|
|
+ <td>数量</td>
|
|
|
+ <td>单价</td>
|
|
|
+ <td>是否含税</td>
|
|
|
+ <td>税率</td>
|
|
|
+ <td>不含税金额</td>
|
|
|
+ <td>税额</td>
|
|
|
+ <td>应收金额</td>
|
|
|
+ <td>备注</td>
|
|
|
+ </tr>
|
|
|
+ <tr v-for="(item, index) in Collectionoptionss" :key="index">
|
|
|
+ <td>{{ index + 1 }}</td>
|
|
|
+ <td>{{ item.fFeeid | fFeetFormat(fDNameOptions) }}</td>
|
|
|
+ <td>{{ item.fFeeUnitid | fFeetUnitFormat(fFeetUnitOptions) }}</td>
|
|
|
+ <td>{{ item.fQty }}</td>
|
|
|
+ <td>{{ item.fUnitprice }}</td>
|
|
|
+ <td>{{ item.fTaxrate != 0? '√': '×' }}</td>
|
|
|
+ <td>{{ item.fTaxrate }}</td>
|
|
|
+ <td>{{ item.exclTax }}</td>
|
|
|
+ <td>{{ item.taxAmount }}</td>
|
|
|
+ <td>{{ item.fAmount }}</td>
|
|
|
+ <td>{{ item.remark }}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">合计</td>
|
|
|
+ <td>{{ allExclTax }}</td>
|
|
|
+ <td>{{ allTaxAmount }}</td>
|
|
|
+ <td>{{ allDrAmount }}</td>
|
|
|
+ <td></td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ <div>人民币汇款路径:</div>
|
|
|
+ <div>公司名称:{{ company }}</div>
|
|
|
+ <div>纳税人识别号:{{ Identifier }}</div>
|
|
|
+ <div>地址:{{ address }}</div>
|
|
|
+ <div>电话:{{ phone }}</div>
|
|
|
+ <div>开户行:{{ bank }}</div>
|
|
|
+ <div>银行账户:{{ bankAccount }}</div>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="
|
|
|
+ addprint('fyqrd');
|
|
|
+ print_fyqr = false;
|
|
|
+ "
|
|
|
+ >打印
|
|
|
+ </el-button>
|
|
|
+ <el-button @click="print_fyqr = false">取消 </el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 费用确认单(付费)-->
|
|
|
+ <el-dialog
|
|
|
+ :visible.sync="print_Crfyqr"
|
|
|
+ width="70%"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :modal="false"
|
|
|
+ >
|
|
|
+ <div id="print_Crfyqr" class="print-div">
|
|
|
+ <div
|
|
|
+ class="print-title"
|
|
|
+ style="
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ font-size: 28px;
|
|
|
+ margin-bottom: 5px;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ {{ company }}
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ style="
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ margin-bottom: 5px;
|
|
|
+ ">
|
|
|
+ <div style="font-size: 24px;">费用确认</div>
|
|
|
+ </div>
|
|
|
+ <div style="display: flex;justify-content: space-between;">
|
|
|
+ <div>
|
|
|
+ <div>业务编号:{{ form.fBillno }}</div>
|
|
|
+ <div>客户名称:{{ form.fCorpidName }}</div>
|
|
|
+ <div>提单号:{{ form.fBillno }}</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div>制单日期:{{ form.createTime | fBsdateFormat }}</div>
|
|
|
+ <div>仓库名称:{{ form.fWarehouseid | warehouseFormat(warehouseOptions) }}</div>
|
|
|
+ <div>箱型/箱量:{{ form.fCntval }}</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div>制单人:{{ form.createBy }}</div>
|
|
|
+ <div>打印日期:{{ nowTime | fBsdateFormat }}</div>
|
|
|
+ {{form.fGoodsid}}
|
|
|
+ <div>品名:{{ form.fProductName }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="print_table" style="display: flex">
|
|
|
+ <table
|
|
|
+ border="0"
|
|
|
+ cellspacing="0"
|
|
|
+ cellpadding="0"
|
|
|
+ style="width: 100%; line-height: 30px"
|
|
|
+ >
|
|
|
+ <tr>
|
|
|
+ <td>序号</td>
|
|
|
+ <td>费用项目</td>
|
|
|
+ <td>计价单位</td>
|
|
|
+ <td>数量</td>
|
|
|
+ <td>单价</td>
|
|
|
+ <td>是否含税</td>
|
|
|
+ <td>税率</td>
|
|
|
+ <td>不含税金额</td>
|
|
|
+ <td>税额</td>
|
|
|
+ <td>应收金额</td>
|
|
|
+ <td>备注</td>
|
|
|
+ </tr>
|
|
|
+ <tr v-for="(item, index) in PrintingCrlist" :key="index">
|
|
|
+ <td>{{ index + 1 }}</td>
|
|
|
+ <td>{{ item.fFeeid | fFeetFormat(fCNameOptions) }}</td>
|
|
|
+ <td>{{ item.fFeeUnitid | fFeetUnitFormat(fFeetUnitOptions) }}</td>
|
|
|
+ <td>{{ item.fQty }}</td>
|
|
|
+ <td>{{ item.fUnitprice }}</td>
|
|
|
+ <td>{{ item.fTaxrate != 0? '√': '×' }}</td>
|
|
|
+ <td>{{ item.fTaxrate }}</td>
|
|
|
+ <td>{{ item.exclTax }}</td>
|
|
|
+ <td>{{ item.taxAmount }}</td>
|
|
|
+ <td>{{ item.fAmount }}</td>
|
|
|
+ <td>{{ item.remark }}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">合计</td>
|
|
|
+ <td>{{ allExclTax }}</td>
|
|
|
+ <td>{{ allTaxAmount }}</td>
|
|
|
+ <td>{{ allDrAmount }}</td>
|
|
|
+ <td></td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ <div>人民币汇款路径:</div>
|
|
|
+ <div>公司名称:{{ company }}</div>
|
|
|
+ <div>纳税人识别号:{{ Identifier }}</div>
|
|
|
+ <div>地址:{{ address }}</div>
|
|
|
+ <div>电话:{{ phone }}</div>
|
|
|
+ <div>开户行:{{ bank }}</div>
|
|
|
+ <div>银行账户:{{ bankAccount }}</div>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="
|
|
|
+ addprint('Crfyqrd');
|
|
|
+ print_Crfyqr = false;
|
|
|
+ "
|
|
|
+ >打印
|
|
|
+ </el-button>
|
|
|
+ <el-button @click="print_Crfyqr = false">取消 </el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -3762,6 +3989,30 @@ export default {
|
|
|
allCrfQty: 0,
|
|
|
// Cr打印弹窗是否开启
|
|
|
print_Cr: false,
|
|
|
+ // 税额总数
|
|
|
+ allTaxAmount: 0,
|
|
|
+ // 不含税金额总数
|
|
|
+ allExclTax: 0,
|
|
|
+ // 收款金额合计
|
|
|
+ allDrAmount: 0,
|
|
|
+ print_fyqr: false,
|
|
|
+ activeName: 'searchList',
|
|
|
+ // 识别号
|
|
|
+ Identifier: '',
|
|
|
+ // 地址
|
|
|
+ address: '',
|
|
|
+ // 电话
|
|
|
+ phone: '',
|
|
|
+ // 开户行
|
|
|
+ bank: '',
|
|
|
+ // 银行账户
|
|
|
+ bankAccount: '',
|
|
|
+ nowTime: null,
|
|
|
+ print_Crfyqr: false,
|
|
|
+ // 是否启用请款单
|
|
|
+ isShowInvoice: null,
|
|
|
+ // 是否启用费用确认单
|
|
|
+ isShowFeesConfirm: null,
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -3806,6 +4057,27 @@ export default {
|
|
|
this.detailsHidden2 = true;
|
|
|
}
|
|
|
});
|
|
|
+ this.getConfigKey("taxpayer.identification.number").then((response) => {
|
|
|
+ this.Identifier = response.msg;
|
|
|
+ });
|
|
|
+ this.getConfigKey("print.address").then((response) => {
|
|
|
+ this.address = response.msg;
|
|
|
+ });
|
|
|
+ this.getConfigKey("print.phone").then((response) => {
|
|
|
+ this.phone = response.msg;
|
|
|
+ });
|
|
|
+ this.getConfigKey("print.bank").then((response) => {
|
|
|
+ this.bank = response.msg;
|
|
|
+ });
|
|
|
+ this.getConfigKey("print.bank.account").then((response) => {
|
|
|
+ this.bankAccount = response.msg;
|
|
|
+ });
|
|
|
+ this.getConfigKey("warehouse.show.invoice").then((response) => {
|
|
|
+ this.isShowInvoice = response.msg;
|
|
|
+ });
|
|
|
+ this.getConfigKey("warehouse.show.feesConfirm").then((response) => {
|
|
|
+ this.isShowFeesConfirm = response.msg;
|
|
|
+ });
|
|
|
listWarehousesss({ fStatus: 0, delFlag: 0 }).then((response) => {
|
|
|
this.warehouseOptions = response.rows;
|
|
|
});
|
|
@@ -3900,6 +4172,24 @@ export default {
|
|
|
});
|
|
|
return name;
|
|
|
},
|
|
|
+ warehouseFormat(row, warehouseOptions) {
|
|
|
+ let warehouse;
|
|
|
+ warehouseOptions.map((e) => {
|
|
|
+ if (row == e.fId) {
|
|
|
+ warehouse = e.fName;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return warehouse;
|
|
|
+ },
|
|
|
+ fFeetUnitFormat(row, fFeetUnitOptions) {
|
|
|
+ let name;
|
|
|
+ fFeetUnitOptions.map((e) => {
|
|
|
+ if (row == e.dictValue) {
|
|
|
+ name = e.dictLabel;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return name;
|
|
|
+ },
|
|
|
},
|
|
|
methods: {
|
|
|
init() {
|
|
@@ -5900,6 +6190,20 @@ export default {
|
|
|
style: style, // 亦可使用引入的外部css;
|
|
|
scanStyles: false,
|
|
|
});
|
|
|
+ }else if (status == 'fyqrd') {
|
|
|
+ print({
|
|
|
+ printable: "print_fyqr",
|
|
|
+ type: "html",
|
|
|
+ style: style, // 亦可使用引入的外部css;
|
|
|
+ scanStyles: false,
|
|
|
+ });
|
|
|
+ }else if (status == 'Crfyqrd') {
|
|
|
+ print({
|
|
|
+ printable: "print_Crfyqr",
|
|
|
+ type: "html",
|
|
|
+ style: style, // 亦可使用引入的外部css;
|
|
|
+ scanStyles: false,
|
|
|
+ });
|
|
|
}
|
|
|
else{
|
|
|
print({
|
|
@@ -6019,6 +6323,113 @@ export default {
|
|
|
this.$set(this.form, 'fTel', res.data.fTel)
|
|
|
})
|
|
|
},
|
|
|
+ // 打印费用确认单准备
|
|
|
+ feesConfirm() {
|
|
|
+ if (this.Collectionoptionss.length > 0) {
|
|
|
+ for (let item in this.Collectionoptionss) {
|
|
|
+ if (!this.Collectionoptionss[item].fId) {
|
|
|
+ return this.$message.error("请先保存!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (this.CntrTable.length > 0) {
|
|
|
+ let arr = [];
|
|
|
+ this.CntrTable.map((e) => {
|
|
|
+ this.cntrList.map((item) => {
|
|
|
+ if (item.fId == e.fCntrid) {
|
|
|
+ arr.push(item.fName + "X" + e.fCntrcount);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ arr = [...new Set(arr)];
|
|
|
+ this.form.fCntval = arr.join(",");
|
|
|
+ } else {
|
|
|
+ this.form.fCntval = null;
|
|
|
+ }
|
|
|
+ this.allTaxAmount = 0;
|
|
|
+ this.allExclTax = 0;
|
|
|
+ this.allDrAmount = 0;
|
|
|
+ this.Collectionoptionss.forEach(item => {
|
|
|
+ // 税额
|
|
|
+ this.$set(item, 'taxAmount', Number(item.fAmount) / (1 + Number(Number(item.fTaxrate) / 100)))
|
|
|
+ item.taxAmount = item.taxAmount.toSuperFixed(2)
|
|
|
+ // 不含税金额
|
|
|
+ this.$set(item, 'exclTax', Number(item.fAmount) - Number(item.taxAmount))
|
|
|
+ item.exclTax = item.exclTax.toSuperFixed(2)
|
|
|
+ this.allTaxAmount = Number(this.allTaxAmount) + Number(item.taxAmount)
|
|
|
+ this.allExclTax = Number(this.allExclTax) + Number(item.exclTax)
|
|
|
+ this.allDrAmount = Number(this.allDrAmount) + Number(item.fAmount)
|
|
|
+ this.allTaxAmount = this.allTaxAmount.toSuperFixed(2)
|
|
|
+ this.allExclTax = this.allExclTax.toSuperFixed(2)
|
|
|
+ this.allDrAmount = this.allDrAmount.toSuperFixed(2)
|
|
|
+ })
|
|
|
+ this.nowTime = new Date().toLocaleDateString()
|
|
|
+ for (let corp in this.fMblnoOptions) {
|
|
|
+ if (this.form.fCorpid === this.fMblnoOptions[corp].fId) {
|
|
|
+ this.$set(
|
|
|
+ this.form,
|
|
|
+ "fCorpidName",
|
|
|
+ this.fMblnoOptions[corp].fName
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.print_fyqr = true;
|
|
|
+ } else {
|
|
|
+ this.$message.error("请选择需要打印的明细!");
|
|
|
+ }
|
|
|
+ },
|
|
|
+ feesCrConfirm() {
|
|
|
+ if (this.PrintingCrlist.length > 0) {
|
|
|
+ for (let item in this.PrintingCrlist) {
|
|
|
+ if (!this.PrintingCrlist[item].fId) {
|
|
|
+ return this.$message.error("请先保存!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (this.CntrTable.length > 0) {
|
|
|
+ let arr = [];
|
|
|
+ this.CntrTable.map((e) => {
|
|
|
+ this.cntrList.map((item) => {
|
|
|
+ if (item.fId == e.fCntrid) {
|
|
|
+ arr.push(item.fName + "X" + e.fCntrcount);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ arr = [...new Set(arr)];
|
|
|
+ this.form.fCntval = arr.join(",");
|
|
|
+ } else {
|
|
|
+ this.form.fCntval = null;
|
|
|
+ }
|
|
|
+ this.allTaxAmount = 0;
|
|
|
+ this.allExclTax = 0;
|
|
|
+ this.allDrAmount = 0;
|
|
|
+ this.PrintingCrlist.forEach(item => {
|
|
|
+ // 税额
|
|
|
+ this.$set(item, 'taxAmount', Number(item.fAmount) / (1 + Number(Number(item.fTaxrate) / 100)))
|
|
|
+ item.taxAmount = item.taxAmount.toSuperFixed(2)
|
|
|
+ // 不含税金额
|
|
|
+ this.$set(item, 'exclTax', Number(item.fAmount) - Number(item.taxAmount))
|
|
|
+ item.exclTax = item.exclTax.toSuperFixed(2)
|
|
|
+ this.allTaxAmount = Number(this.allTaxAmount) + Number(item.taxAmount)
|
|
|
+ this.allExclTax = Number(this.allExclTax) + Number(item.exclTax)
|
|
|
+ this.allDrAmount = Number(this.allDrAmount) + Number(item.fAmount)
|
|
|
+ this.allTaxAmount = this.allTaxAmount.toSuperFixed(2)
|
|
|
+ this.allExclTax = this.allExclTax.toSuperFixed(2)
|
|
|
+ this.allDrAmount = this.allDrAmount.toSuperFixed(2)
|
|
|
+ })
|
|
|
+ this.nowTime = new Date().toLocaleDateString()
|
|
|
+ for (let corp in this.fMblnoOptions) {
|
|
|
+ if (this.form.fCorpid === this.fMblnoOptions[corp].fId) {
|
|
|
+ this.$set(
|
|
|
+ this.form,
|
|
|
+ "fCorpidName",
|
|
|
+ this.fMblnoOptions[corp].fName
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.print_Crfyqr = true;
|
|
|
+ } else {
|
|
|
+ this.$message.error("请选择需要打印的明细!");
|
|
|
+ }
|
|
|
+ },
|
|
|
},
|
|
|
watch: {
|
|
|
// 监听 addOrUpdateVisible 改变
|